DoS-атаки – одна із масштабних загроз інформаційній безпеці у сучасному інтернеті. Існують десятки ботнетів, які зловмисники здають у найм для проведення подібних атак.
Вчені з університету Сан-Дієго провели дослідження того, наскільки використання проксі допомагає знизити негативний ефект від DoS-атак – ми представляємо до вашої уваги основні тези цієї роботи.
Проксі як інструмент боротьби з DoS
Подібні експерименти періодично проводять дослідники з різних країн, але їхня загальна проблема полягає у нестачі ресурсів для моделювання атак, наближених до реальності. Тести на невеликих стендах не дозволяють відповісти на питання про те, наскільки успішно проксі протидіятимуть атаці у складних мережах, які параметри відіграють ключову роль у здатності мінімізувати збитки тощо.
Для експерименту вчені створили модель типового веб-програми – наприклад, сервісу електронної комерції. Воно працює за допомогою кластера серверів, користувачі розподілені за різними географічними локаціями та використовують для доступу до сервісу інтернет. У цій моделі інтернет є засобом комунікації сервісу та користувачів – так працюють веб-сервіси від пошукових систем до інструментів онлайн-банкінгу.
DoS-атаки унеможливлюють нормальну взаємодію сервісу та користувачів. Існує два типи DoS: атаки на рівні програми та на рівні інфраструктури. В останньому випадку зловмисники атакують безпосередньо мережу та хости, на яких працює сервіс (наприклад, забивають flood-трафіком всю пропускну спроможність мережі). У разі атаки на рівні програми, метою зловмисника виступає інтерфейс взаємодії з користувачами – для цього вони надсилають величезну кількість запитів з метою досягнення падіння програми. Цей експеримент стосувався атак на рівні інфраструктури.
Проксі-мережі – один із інструментів мінімізації збитків від DoS-атак. У разі використання проксі, всі запити від користувача до сервісу та відповіді на них передаються не безпосередньо, а через проміжні сервери. І користувач, і програма «не бачать» один одного безпосередньо, їм доступні лише адреси проксі. У результаті атакувати програму безпосередньо неможливо. На межі мережі розташовані так звані edge proxy – зовнішні проксі з доступними IP-адресами, підключення спочатку йде до них.
Для того, щоб успішно протистояти DoS-атаці, проксі-мережа повинна мати дві ключові можливості. По-перше, така проміжна мережа має відігравати роль посередника, тобто «достукатися» до програми можна лише через неї. Це унеможливить пряму атаку на сервіс. По-друге, проксі-мережа повинна мати можливість надати користувачам можливість, як і раніше, взаємодіяти з додатком, навіть у ході атаки.
Інфраструктура експерименту
У ході дослідження використовувалися чотири ключові компоненти:
Симуляція проводилася серед MicroGrid – вона може використовуватися для симуляцій мереж із 20 тисячами маршрутизаторів, що можна порівняти з мережами операторів Tier-1.
Типова мережа Trinoo складається з набору скомпрометованих хостів, на яких запущено демон програми. Також є контрольний софт для контролю мережі та напрямки DoS-атак. Отримавши список IP-адрес, демон Trinoo посилає UDP-пакети до цілей у заданий час.
У ході експерименту використовувалися два кластери. Симулятор MicroGrid працював у кластері Xeon Linux із 16 вузлів (сервери 2.4GHz з 1 гігабайтом пам'яті на кожній машині), з'єднані через 1 Gbps Ethernet концентратор. Інші програмні компоненти розташовувалися в кластері з 24 вузлів (450MHz PII Linux-cthdths з 1 Гб пам'яті на кожній машині), об'єднаних 100Mbps Ethernet-концентратором. Два кластери з'єднувалися каналом 1Gbps.
Проксі мережа розміщена в пулі з 1000 хостів. Edge-проксі поступово розподілені по всьому пулу ресурсів. Проксі для роботи з програмою розміщені на хостах, які знаходяться ближче до його інфраструктури. Інші проксі рівномірно розподілені між граничними проксі та проксі для програми.
Мережа для симуляції
Для вивчення ефективності проксі як інструмент протидії DoS-атаці, дослідники заміряли продуктивність роботи програми за різних сценаріїв зовнішніх впливів. Загалом у проксі-мережі було 192 проксі (64 з них граничні). Для проведення атаки було створено мережу Trinoo, що включає 100 демонів. Кожен з демонів мав канал на 100Mbps. Це відповідає ботнету із 10 тисяч домашніх роутерів.
Вимірювався вплив DoS-атаки на додаток та проксі-мережа. В експериментальній конфігурації у програми був інтернет канал на 250Mbps, а у кожного прикордонного проксі - на 100Mbps.
результати експерименту
За результатами аналізу виявилося, що атака на 250Mbps значно збільшує час відгуку програми (приблизно в десять разів), у результаті користуватися ним ставати неможливо. Однак при використанні проксі-мережі, атака не робить значного впливу на швидкодію і не погіршує досвід користувача. Так відбувається тому, що прикордонні проксі розмивають ефект від атаки, а загальний обсяг ресурсів проксі-мережі вищий, ніж у самої програми.
За статистикою, якщо потужність атаки не перевищує 6.0Gbps (при тому, що загальна пропускна здатність каналів прикордонних проксі всього 6.4Gbps), то 95% користувачів не відчувають відчутного зниження продуктивності. При цьому у випадку дуже потужної атаки, що перевищує 6.4Gbps, навіть використання проксі-мережі не дозволило б уникнути деградації рівня сервісу кінцевих користувачів.
У разі концентрованих атак, коли їх потужність концентрується на випадковому наборі прикордонних проксі. У цьому випадку атака забиває частину проксі-мережі, тому значна частина користувачів помітить падіння продуктивності.
Висновки
Результати експерименту говорять про те, що проксі-мережі можуть покращувати швидкодію TCP-додатків та забезпечувати звичний рівень сервісу для користувачів, навіть у разі DoS-атак. Згідно з отриманими даними, проксі мережі виявляються ефективним способом мінімізації наслідків атак, понад 90% користувачів під час експерименту не відчули зниження якості роботи сервісу. Крім того, дослідники з'ясували, що при збільшенні розміру проксі мережі масштаб DoS-атак, які вона здатна винести, збільшується практично лінійно. Тому чим більша мережа, тим ефективніше вона боротиметься з DoS.