Організація ефективних атак за часом за допомогою HTTP/2 та WPA3

Нова методика злому долає проблему «джиттера мережі», яка може впливати на успішність атак сторонніми каналами.

Організація ефективних атак за часом за допомогою HTTP/2 та WPA3

Нова методика, розроблена дослідниками Левенського університету (Бельгія) та Нью-Йоркського університету в Абу-Дабі, показала, що зловмисники можуть використати особливості мережевих протоколів для організації витоків конфіденційної інформації.

Ця методика під назвою Timeless Timing Attacks, продемонстрована цього року на конференції Usenix, використовує особливості обробки мережними протоколами запитів, що одночасно виконуються, для усунення однієї з проблем віддалених атак за часом по сторонніх каналах.

Проблеми віддалених атак за часом

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

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

Це стає проблемою при атаці таких віддалених систем, як веб-сервери, тому що затримка в мережі (джиттер) призводить до розкиду часу відгуку, що ускладнює обчислення часу обробки.

У процесі віддалених атак за часом нападники зазвичай відправляють кожну команду кілька разів і виконують статистичний аналіз часу відгуку, щоб знизити вплив джиттера мережі. Але цей спосіб корисний лише певною мірою.

«Чим менша різниця часу, тим більше потрібно запитів, і на певному етапі обчислення стає неможливим», — розповідає дослідник систем захисту даних та головний автор статті про новий вид атак Том Ван Гьотем.

«Позачасова» атака за часом

Розроблена Гетемом та його колегами методика виконує віддалені атаки за часом таким чином, що вони зводять нанівець вплив джиттера мережі.

Принцип, що лежить в основі позачасової атаки за часом, простий: потрібно зробити так, щоб запити потрапляли на сервер у однаковий час, а не передавалися послідовно.

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

«Основна перевага позачасових атак за часом полягає в тому, що вони набагато точніші, тому потрібно менше запитів. Це дозволяє атакуючому розпізнавати розбіжності у часі виконання аж до 100 нс», - каже Ван Гьотем.

Мінімальна різниця часу, що спостерігалася дослідниками при традиційній атаці часу через Інтернет, становила 10 мкс, тобто в 100 разів більше, ніж при атаці одночасними запитами.

Як забезпечується одночасність

"Одночасність ми забезпечуємо, поміщаючи обидва запити в один мережевий пакет", - пояснює Ван Гьотем. "На практиці реалізація в основному залежить від мережевого протоколу".

Для надсилання одночасних запитів дослідники використовують можливості різних мережевих протоколів.

Наприклад, HTTP/2, який швидко стає для веб-серверів стандартом де-факто, підтримує "мультиплексування запитів" - функцію, що дозволяє клієнту відправляти по одному TCP-з'єднанню кілька запитів паралельно.

"У випадку HTTP/2 нам потрібно просто зробити так, щоб обидва запити були поміщені в один пакет (наприклад, записавши обидва в сокет одночасно)". Однак така методика має свої тонкощі. Наприклад, у більшості мереж доставки контенту типу Cloudflare, що забезпечує контентом більшу частину Інтернету, з'єднання між прикордонними серверами та сайтом виконується за протоколом HTTP/1.1, який не підтримує мультиплексування запитів.

Хоча це і знижує ефективність позачасової атаки, вони все одно залишаються точнішими, ніж класичні віддалені атаки за часом, тому що усувають джиттер між атакуючим та прикордонним CDN-сервером.

У разі протоколів, які не підтримують мультиплексування запитів, атакуючі можуть використовувати проміжний мережевий протокол, який інкапсулює запити.

Дослідники показали, як позачасова атака за часом працює у мережі Tor. У цьому випадку атакуючий інкапсулює множинні запити в клітинці Tor - зашифрованому пакеті, що передається між вузлами мережі Tor в єдиних TCP-пакетах.

"Оскільки ланцюг Tor для onion-сервісів проходить весь шлях до сервера, ми можемо гарантувати, що запити прибудуть одночасно", - говорить Ван Гьотем.

Позачасові атаки на практиці

У своїй статті дослідники вивчили позачасові атаки у трьох різних ситуаціях.

При прямих атаках за часом зловмисник безпосередньо підключається до сервера і намагається організувати виток секретної інформації, пов'язаної з додатком.

"Оскільки при створенні більшості веб-додатків не враховується те, що атаки за часом можуть бути дуже практичними і точними, ми вважаємо, що багато веб-сайтів вразливі до таких атак", - розповідає Ван Ґетен.

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

Атакуючі використовували цю схему для експлуатації вразливості програми виплати премій за баги HackerOne і витягли таку інформацію, як ключові слова, використані в конфіденційних звітах про неусунені вразливості.

«Я шукав випадки, коли атака за часом раніше була зафіксована, але не вважалася ефективною. Про баг HackerOne вже повідомлялося принаймні три рази (ідентифікатори багів: 350432, 348168 и 4701), але його не усунули, тому що вважалося, що цю атаку неможливо використати. Тоді я створив простий внутрішній дослідницький проект із позачасовими атаками за часом.

У той час вона все ще залишалася дуже неоптимізованою, тому що ми продовжували розбиратися з подробицями атаки, але вона виявилася досить точною (на моєму домашньому WiFi-підключенні мені вдалося досягти дуже точних результатів)».

Дослідники також спробували провести невчасні атаки на WiFi-протокол WPA3.

Один із співавторів статті Маті Ванхоф раніше вже виявив потенційний витік за часом у протоколі підтвердження з'єднання WPA3. Але час або був надто маленьким для використання на високопродуктивних пристроях, або його не можна було використовувати проти серверів.

"За допомогою нового виду позачасових атак за часом ми продемонстрували, що насправді можна використовувати authentication handshake (EAP-pwd) проти серверів, навіть якщо на них працює потужне обладнання", - пояснює Ван Гьотем.

Ідеальний момент

У своїй статті дослідники навели рекомендації щодо захисту серверів від позачасових атак, наприклад, обмеження виконання постійним часом та додаванням випадкової затримки. Для реалізації практичних засобів захисту проти прямих атак за часом, які мало впливали на роботу мережі, потрібні подальші дослідження.

"Ми вважаємо, що ця галузь досліджень знаходиться на дуже ранніх етапах розвитку і вимагає набагато глибшого вивчення", - говорить Ван Гьотем.

У майбутніх дослідженнях можна буде вивчити інші методики, які зловмисники могли б використовувати для виконання одночасних атак за часом, інші протоколи та проміжні мережеві шари, на які можуть здійснюватися атаки, а також оцінити вразливість популярних веб-сайтів, які дозволяють проводити такі дослідження за умовами програми пошуку багів.

Назва «позачасна» була обрана, «бо за цих атак ми не використовували жодної (абсолютної) інформації про час», — пояснює Ван Гьотем.

«Крім того, «позачасними» їх можна вважати і тому, що (віддалені) атаки за часом використовуються вже давно, і, судячи з наших досліджень, ситуація буде лише гіршою».


Повний текст доповіді з Usenix знаходиться тут.

На правах реклами

Потужні VDS із захистом від DDoS-атак та новітнім залізом. Все це про наші епічні сервери. Максимальна конфігурація – 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe.

Організація ефективних атак за часом за допомогою HTTP/2 та WPA3

Джерело: habr.com

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