DDoS в разрезе Размахнин Сергей Александрович Хакер, номер #094, стр. 094-082-2 специалистов по безопасности по обе стороны сетевых баррикад. За примерами «страшных историй» далеко ходить не надо. Ноябрь 2002, семь из тринадцати корневых dns-серверов всемирной паутины выведены и строя спланированной Dos-атакой. Август 2003, серверы Osirusoft крупнейшего хранилища IP-адресов были отключены после большого количества распределенных на них Dos-атак (данная служба занималась ведением динамического списка IP-адресов, замеченных в спаме). Сентябрь 2005, американский подросток укладывает сеть интернет-магазинов, причиненные им убытки оцениваются в 1,5 миллиона долларов. Сейчас открой любой баг-трек, раздел новостей. Что? Опять? Снова? Да как же они это делают? Немного теории. Извини, но без нее никуда. Атаку на отказ в обслуживании можно провести тремя способами: 1) используя уязвимости в программном обеспечении; 2) посылая сетевой трафик на атакуемую систему, превышающий ее пропускную способность; 3) захватывая критические системные ресурсы атакуемой системы: процессорное время и память. Рассмотрим каждый из способов более подробно. Первый способ состоит в том, чтобы, используя уязвимости (ошибки) в программном или аппаратном обеспечении системы, нарушить ее работу. Вспомни land, ping-death. Такой способ самый легкий. Он не требует больших вычислительных и сетевых ресурсов нападающего, однако подобные атаки предполагают использование уязвимостей, что само по себе усложняет задачу, ведь сегодня уязвимость в атакуемой системе есть, а завтра она может быть устранена. Поэтому на сегодняшний день более популярны второй и третий способы, которым и уделяется основное внимание в данной статье. При втором способе атакующий посылает системе большое количество сетевого трафика. В результате того, что атакуемая система, оказывается, перегружена сетевым трафиком, она не может выделять свой сетевой ресурс легитимным пользователям, и эти пользователи не могут пользоваться ее услугами. Третий способ состоит в том, чтобы навязать атакуемому серверу действия, расходующие его системные ресурсы: процессорное время или память (то, что для него критично). Это могут быть многократные запросы на выполнение трудоемких операций с базами данных или запросы на выделение памяти под процессы, которые не будут использоваться. Рассмотрим более подробно разновидности атак, использующие второй и третий способы. За ошибки в архитектуре приходится дорого расплачиваться. Атак, основанных на протоколе TCP, больше всего (их целых три): TCP flood, TCP SYN Flood и reflection SYN flood. TCP SYN Flood Вдохни поглубже. Коротко об этой атаке не расскажешь. Она не сложная, нет. Просто в свое время была допущена ошибка в проектировании всего транспортного протокола TCP. Расплачиваться за нее пришлось долго и большой кровью. Ты спросишь, в чем ошибка? Не торопись, сейчас все поймешь сам. Давай вспомним, что происходит при установлении TCP-соединения согласно стандарту RFC-793. Происходит так называемое трехуровневое рукопожатие: |