Реалізація DDIO у чіпах Intel допускає мережеву атаку щодо визначення натискань клавіш у сеансі SSH

Група дослідників з Амстердамського вільного університету та Швейцарської вищої технічної школи Цюріха розробила техніку мережевої атаки NetCAT (Network Cache ATtack), що дозволяє, застосовуючи методи аналізу даних по стороннім каналам, віддалено визначати клавіші, що натискаються користувачем у процесі сеансу SSH. Проблема проявляється лише на серверах, у яких застосовуються технології RDMA (Remote direct memory access) та DDIO (Data-Direct I/O).

Компанія Intel вважає, Що атаку складно реалізувати на практиці, так як вона вимагає доступу атакуючого до локальної мережі, стерильних умов та організації зв'язку хостів з використанням технологій RDMA та DDIO, які зазвичай застосовуються в ізольованих мережах, наприклад, в яких працюють обчислювальні кластери. Проблемі надано незначний рівень небезпеки (CVSS 2.6, CVE-2019-11184) і дана рекомендація не включати DDIO і RDMA в локальних мережах, в яких не забезпечений периметр безпеки і допускається підключення клієнтів, що не заслуговують на довіру. DDIO застосовується у серверних процесорах Intel, починаючи з 2012 року (Intel Xeon E5, E7 та SP). Системи на базі процесорів AMD та інших виробників не схильні до проблеми, тому що не підтримують збереження переданих по мережі даних в кеші CPU.

Застосовуваний для атаки метод нагадує вразливість.Throwhammer«, що дозволяє змінювати вміст окремих бітів у ОЗП через маніпуляцію з мережевими пакетами у системах із RDMA. Нова проблема є наслідком роботи з мінімізації затримок при застосуванні механізму DDIO, що забезпечує пряму взаємодію мережевої карти та інших периферійних пристроїв з кешем процесора (у процесі обробки пакетів мережної карти дані зберігаються в кеш і витягуються з кешу, без звернення до пам'яті).

Завдяки DDIO в кеш процесора потрапляють навіть дані, згенеровані в процесі шкідливої ​​мережевої активності. Атака NetCAT відштовхується від того, що мережні карти активно кешують дані, а швидкість обробки пакетів у сучасних локальних мережах достатня для того, щоб впливати на заповнення кешу та визначати наявність або відсутність даних у кеші через аналіз затримок під час передачі даних.

Під час використання інтерактивних сеансів, наприклад через SSH, мережевий пакет відправляється безпосередньо після натискання клавіші, тобто. затримки між пакетами корелюють із затримками між натисканнями клавіш. Використовуючи методи статистичного аналізу та враховуючи, що затримки між натисканнями зазвичай залежать від положення клавіші на клавіатурі, можна з певною ймовірністю відтворювати інформацію, що вводиться. Наприклад, більшість людей зазвичай набирають "s" після "a" значно швидше, ніж "g" після "s".

Інформація, що осідає в процесорному кеші, дозволяє судити про точний час пакетів, відправлених мережевою картою при обробці таких з'єднань як SSH. Генеруючи певний потік трафіку, атакуючий може визначити момент появи нових даних у кеші, пов'язаних з певною активністю в системі. Для аналізу вмісту кешу використовується метод Prime+Probe, Який передбачає заповнення кешу еталонним набором значень і вимірювання часу доступу до них при повторному заповненні для визначення змін.

Реалізація DDIO у чіпах Intel допускає мережеву атаку щодо визначення натискань клавіш у сеансі SSH

Не виключається застосування запропонованої техніки для визначення не тільки натискання клавіш, але й інших типів конфіденційних даних, що осідають в кеші CPU. Потенційно атака може бути проведена при відключенні RDMA, але без RDMA її ефективність знижується, а виконання істотно ускладнюється. Також можливе використання DDIO для організації прихованого каналу зв'язку, застосовуваного передачі даних після компрометації сервера в обхід систем для забезпечення безпеки.

Джерело: opennet.ru

Додати коментар або відгук