Відмова в обслуговуванні (dos) »особистий блог suvan`a, присвячений безпеці linux

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

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

Якщо інший користувач або інша програма спробують створити процес, вони отримають відмову - Can not create fork (Не можна створити процес). Якщо ж буде заповнена вся віртуальна пам'ять (фізична + підкачка), то самі розумієте, що станеться.

Третій найбільш характерний приклад DoS-атаки - це перевантаження каналу сервера, коли пропускна смуга може звузитися практично до нуля. Один комп'ютер не може переповнити канал сервера, тому для цього використовуються розподілені атаки (DDoS). Так, за допомогою DDoS-атаки були успішно атаковані компанії Yahoo! і eBay.

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

Найпримітивнішою формою такої атаки є пінг-флуд (ping flood), коли жертва «бомбардується» ICMP-запит echo, звужуючи пропускну смугу в обох напрямках і перевантажуючи стек TCP / IP, оскільки машина постійно відповідає на ICMP-запити.

Наші сервери не будуть перевантажені луна-запитами, якщо на машині встановлено брандмауер, і на них не доведеться відповідати, але канал від провайдера до брандмауера, де вони будуть відсікатися, все одно буде «бомбардувати» луна-пакетами. Тому блокування ICMP-пакет на брандмауері - це не дуже ефективне рішення. Якщо наш канал від провайдера до брандмауера буде повністю перевантажений ICMP-пакет, то весь вхідний трафік теж буде блокований.

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

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

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

Зловмиснику потрібно «зафлуділі» канал жертви - канал якої-небудь компанії. Як правило, корпоративна мережа підключається до Інтернету по виділеній лінії (пропускна смуга як мінімум 2 Мб / с). А у звичайного користувача в розпорядженні тільки коммутируемое (dial-up) або DSL-з'єднання.

У першому випадку теоретичний максимум складає 56 Кбіт / с, а в другому - як правило, 64 Кбіт / с, 128 Кбіт / с або 256 Кбіт / с. Як бачите, пропускна смуга атакуючого значно менше смуги жертви, тому безпосередньо зі свого комп'ютера зловмисник атакувати жертву не буде: немає сенсу, адже більше ніж 256 Кбіт / с він відправити не зможе, а це не покриє навіть і половину (1 Мб) каналу жертви .

Єдине, що може зробити зловмисник зі свого комп'ютера, це управляти розподіленої DoS-атакою. Він розмістить модулі розподіленої атаки на скомпрометованих машинах, підключених до Інтернету з високошвидкісного каналу, а зі свого комп'ютера лише відправить команду модулів про початок атаки. Якщо одна машина може породити 100 Кбіт / с трафіку, то скільки трафіку буде створено 10 або 20 машинами!

Ще записи по темі