Що таке NetCAT та як захиститися від цієї атаки
NetCAT демонструє, що атаки на мережевий кеш сторонніми каналами є реальною загрозою. Атаки на кеш зазвичай використовуються для витоку конфіденційної інформації у локальних налаштуваннях (наприклад, від віртуальної машини, керованої зловмисником, до віртуальної машини жертви, які ділять кеш процесора на хмарній платформі). NetCAT доводить, що ця загроза поширюється на недовірених клієнтів через мережу, котрі можуть створити витік чутливої інформації, такої як натискання клавіш під час SSH-сесії з віддаленими серверами без локального доступу. Основною причиною цієї вразливості є функція процесорів Intel під назвою DDIO, що надає мережевим пристроям та іншим периферійним пристроям доступ до кешу CPU. NetCAT свідчить, що функція, призначена для оптимізації продуктивності у швидких мережах, несе серйозні наслідки для безпеки, піддаючи сервери, що знаходяться в локальних ненадійних мережах, віддаленим атакам сторонніми каналами.
Intel погодились з тим, що це значна вразливість та рекомендує своїм користувачам «обмежувати прямий доступ з ненадійних мереж, коли ввімкнено DDIO та RDMA». Це означає, що в ненадійних мережевих середовищах DDIO та / або RDMA повинні бути відключені для забезпечення безпеки. Наскільки відомо, це вперше, коли такий великий постачальник обладнання, як Intel застерігає своїх користувачів від використання функції центрального процесора в ненадійних локальних мережах.
Дослідники повідомили Intel про знайдену вразливість ще у червні, але лише 10.09 компанія опублікувала рекомендації для захисту від NetCAT.
Що таке DDIO?
Data-Direct I / O (DDIO) – це технологія підвищення продуктивності останніх процесорів Intel-серверного класу (ввімкнена за умовчуванням в родинах процесорів Intel Xeon E5, E7, і SP). Замість того, щоб читати/писати з/у повільну пам’ять, DDIO дозволяє периферійним пристроям читати/писати з/у швидкий кеш (останнього рівня) – іншими словами ця технологія дозволяє розвантажувати мережеву карту від даних, що одержуються або відправляються шляхом запису їх в кеш CPU, де може зберігатися і оброблятися більше інформації зі швидкістю, що перевищує швидкість ОЗУ. DDIO була спеціально представлена для підвищення продуктивності серверних додатків у швидких мережах.
Область кешу DDIO не є виділеною або зарезервованою у кеші CPU, але виділення записів статично обмежено частиною кешу, щоб уникнути збиття, спричиненого сплесками вводу-виводу або неспоживаними потоками даних. На малюнку нижче показана різниця між прямим доступом до кеша DСA (помаранчевий) та прямим доступом до пам’яті DMA (синій). Крім цього, доступні рядки кешування розподілу записів для прямого доступу до кеша позначені помаранчевим кольором, інші – позначені зеленим кольором.

NetCAT
Дослідники амстердамського університету представили перший аналіз безпеки DDIO. На основі цього аналізу було винайдено NetCAT – першу мережеву кеш-атаку на кеш-пам’ять останнього рівня процесора віддаленої машини. NetCAT доводить, що ця атака може порушити конфіденційність сеансу SSH з третьої машини без будь-якого шкідливого програмного забезпечення, що працює на віддаленому сервері чи клієнті. Машина-зловмисник робить це, лише надсилаючи мережеві пакети на віддалений сервер.
Якщо бути точнішим, NetCAT дає можливість викрасти інформацію про час приходу окремих мережевих пакетів з SSH-сесії, використовуючи сторонній канал віддаленого кешу.
Чим це може бути корисним? Під час інтерактивної SSH-сесії, щоразу, коли ви натискаєте клавішу, відразу передаються мережеві пакети. Як результат, кожен раз, коли жертва набирає символ у зашифрованому сеансі SSH на вашій консолі, NetCAT може викрасти час події, викрадаючи час прибуття відповідного мережевого пакету. Зараз користувачі мають чіткі схеми введення тексту. Наприклад, введення “s” відразу після “a” швидше, ніж введення “g” після “s”. Як результат, NetCAT може здійснити статистичний аналіз часу синхронізації пакетів, що відомо як атака синхронізованого натискання клавіш, щоб викрити те, що ви вводите в приватному сеансі SSH.

В цій атаці використовується той факт, що сервер додатків, з ввімкненою технологією DDIO, має спільну кеш-пам’ять останнього рівня між ядрами процесора та мережевою картою. Для спрощення атаки, подібної до Throwhammer, науковці покладались на технологію віддаленого прямого доступу до пам’яті (Remote Direct Memory Access). RDMA дозволяє NetCAT контролювати відносне розташування пам’яті мережевих пакетів на цільовому сервері.
На малюнку нижче зображено цільову топологію, яка є загальною у центрах обробки даних.

Зловмисник управляє машиною, яка спілкується через RDMA з сервером додатків, що підтримує DDIO, а також посилає мережеві запити клієнта-жертви. NetCAT показує, що зловмисники можуть успішно шпигувати за віддаленими серверними периферійними пристроями, такими як мережеві карти, щоб викрасти дані жертви через мережу.