Внимание, Мошенник!
Пользователь был уличен в мошенничестве. Мы не рекомендуем совершать сделки с ним!
Пользователь был уличен в мошенничестве. Мы не рекомендуем совершать сделки с ним!
DoS-атака (атака типа «отказ в обслуживании», от англ. Denial of Service) — атака на вычислительную систему с целью довести её до отказа, то есть , создание таких условий, при которых легальные (правомерные) пользователи системы не могут получить доступ к предоставляемым системным ресурсам (серверам), либо этот доступ затруднён. Отказ «вражеской» системы может быть и шагом к овладению системой (если в нештатной ситуации ПО выдаёт какую-либо критическую информацию — например, версию, часть программного кода и т.д.). Но чаще это мера экономического давления: простой службы, приносящей доход, счета от провайдера и меры по уходу от атаки ощутимо бьют «цель» по карману.
Если атака выполняется одновременно с большого числа компьютеров, говорят о DDoS-атаке (от англ. Distributed Denial of Service, распределённая атака типа «отказ в обслуживании»). В некоторых случаях к фактической DDoS-атаке приводит непреднамеренное действие, например, размещение на популярном интернет-ресурсе ссылки на сайт, размещённый на не очень производительном сервере (слэшдот-эффект). Большой наплыв пользователей приводит к превышению допустимой нагрузки на сервер и, следовательно.........
Виды DoS-атак
Существуют различные причины, из-за которых может возникнуть DoS-условие:
Ошибка в программном коде, приводящая к обращению к неиспользуемому фрагменту адресного пространства, выполнению недопустимой инструкции или другой необрабатываемой исключительной ситуации, когда происходит аварийное завершение программы-сервера — серверной программы. Классическим примером является обращение по нулевому (англ. null) адресу.
Недостаточная проверка данных пользователя, приводящая к бесконечному либо длительному циклу или повышенному длительному потреблению процессорных ресурсов (вплоть до исчерпания процессорных ресурсов) либо выделению большого объёма оперативной памяти (вплоть до исчерпания доступной памяти).
Флуд (англ. flood — «наводнение», «переполнение») — атака, связанная с большим количеством обычно бессмысленных или сформированных в неправильном формате запросов к компьютерной системе или сетевому оборудованию, имеющая своей целью или приведшая к отказу в работе системы из-за исчерпания системных ресурсов — процессора, памяти или каналов связи.
Атака второго рода — атака, которая стремится вызвать ложное срабатывание системы защиты и таким образом привести к недоступности ресурса.
Если атака (обычно флуд) производится одновременно с большого количества IP-адресов — с нескольких рассредоточенных в сети компьютеров — то в этом случае она называется распределённой атакой на отказ в обслуживании (DDoS).
[править]
Эксплуатация ошибок
Основная статья: Эксплойт
Эксплойтом называют программу, фрагмент программного кода или последовательность программных команд, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на киберсистему. Из эксплойтов, ведущих к DoS-атаке, но непригодных, например, для захвата контроля над «вражеской» системой, наиболее известны WinNuke и Ping of death (Пинг смерти).
[править]
Флуд
О флуде как нарушении сетевого этикета см. Флуд.
Флудом называют огромный поток бессмысленных запросов с разных компьютеров с целью занять «вражескую» систему (процессор, ОЗУ или канал связи) работой и этим временно вывести её из строя. Понятие «DDoS-атака» практически равносильно понятию «флуд», и в обиходе и тот, и другой часто взаимозаменяемы («зафлудить сервер» = «заDDoS’ить сервер»).
Для создания флуда могут применяться как обычные сетевые утилиты вроде ping (этим известно, например, интернет-сообщество «Упячка»), так и особые программы. Возможность DDoS’а часто «зашивают» в ботнеты. Если на сайте с высокой посещаемостью будет обнаружена уязвимость типа «межсайтовый скриптинг» или возможность включения картинок с других ресурсов, этот сайт также можно применить для DDoS-атаки.
[править]
Флуд канала связи и TCP-подсистемы
Любой компьютер, имеющий связь с внешним миром по протоколу TCP/IP, подвержен таким типам флуда:
SYN-флуд — при данном виде флуд-атаки на атакуемый узел направляется большое количество SYN-пакетов по протоколу TCP (запросов на открытие соединения). При этом на атакуемом компьютере через короткое время исчерпывается количество доступных для открытия пакетов (программных сетевых гнезд, портов), и сервер перестаёт отвечать.
UDP-флуд — этот тип флуда атакует не компьютер-цель, а его канал связи. Провайдеры резонно предполагают, что UDP-пакеты надо доставить первыми, а TCP могут подождать. Большим количеством UDP-пакетов разного размера забивают канал связи, и сервер, работающий по протоколу TCP, перестаёт отвечать.
ICMP-флуд — то же самое, но с помощью ICMP-пакетов.
[править]
Флуд прикладного уровня
Многие службы устроены так, что небольшим запросом можно вызвать большой расход вычислительных мощностей на сервере. В таком случае атакуется не канал связи или TCP-подсистема, а непосредственно служба (сервис) — флудом подобных «больных» запросов. Например, веб-серверы уязвимы для HTTP-флуда, — для выведения веб-сервера из строя может применяться как простейшее GET /, так и сложный запрос в базу данных наподобие GET /index.php?search=.
[править]
Выявление DoS-атак
Существует мнение, что специальные средства для выявления DoS-атак не требуются, поскольку факт DoS-атаки невозможно не заметить. Во многих случаях это действительно так. Однако достаточно часто наблюдались удачные DoS-атаки, которые были замечены жертвами лишь спустя 2-3 суток. Бывало, что негативные последствия атаки (флуд-атаки) выливались в излишние расходы на оплату избыточного Internet-трафика, что выяснялось лишь при получении счёта от Internet-провайдера. Кроме того, многие методы обнаружения атак неэффективны вблизи объекта атаки, но эффективны на сетевых магистральных каналах. В таком случае целесообразно ставить системы обнаружения именно там, а не ждать, пока пользователь, подвергшийся атаке, сам её заметит и обратится за помощью. К тому же для эффективного противодействия DoS-атакам необходимо знать тип, характер и другие характеристики DoS-атак, а оперативно получить эти сведения как раз и позволяют системы обнаружения.
Методы обнаружения DoS-атак можно разделить на несколько больших групп:
сигнатурные — основанные на качественном анализе трафика.
статистические — основанные на количественном анализе трафика.
гибридные (комбинированные) — сочетающие в себе достоинства обоих вышеназванных методов
Защита от DoS-атак
Но, как я уже упоминал, против DoS-атаки нельзя защититься на 100%. От самого лучшего танка ничего не останется, если в него попасть баллистической ракетой. Но сколько стоит ракета — и сколько танк.
captcha.ru[1]
Меры противодействия DoS-атакам можно разделить на пассивные и активные, а также на превентивные и реакционные.
Ниже приведён краткий перечень основных методов.
Предотвращение. Профилактика причин, побуждающих тех или иных лиц организовывать и предпринять DoS-атаки. (Очень часто кибератаки вообще являются следствиями личных обид, политических, религиозных и иных разногласий, провоцирующего поведения жертвы и т.п.)
Фильтрация и блэкхолинг. Блокирование трафика, исходящего от атакующих машин. Эффективность этих методов снижается по мере приближения к объекту атаки и повышается по мере приближения к атакующей машине.
Обратный DDOS - перенаправление трафика, используемого для атаки, на атакующего.
Устранение уязвимостей. Не работает против флуд-атак, для которых «уязвимостью» является конечность тех или иных системных ресурсов.
Наращивание ресурсов. Абсолютной защиты, естественно, не дает, но является хорошим фоном для применения других видов защиты от DoS-атак.
Рассредоточение. Построение распределённых и дублирование систем, которые не прекратят обслуживать пользователей, даже если некоторые их элементы станут недоступны из-за DoS-атаки.
Уклонение. Увод непосредственной цели атаки (доменного имени или IP-адреса) подальше от других ресурсов, которые часто также подвергаются воздействию вместе с непосредственной целью атаки.
Активные ответные меры. Воздействие на источники, организатора или центр управления атакой, как техногенными, так и организационно-правовыми средствами.
Использование оборудования для отражения DoS-атак. Например, DefensePro® (Radware), SecureSphere® (Imperva), Периметр (МФИ Софт), Arbor Peakflow®, Riorey, Impletec iCore и от других производителей.
Приобретение сервиса по защите от DoS-атак. Актуально в случае превышения флудом пропускной способности сетевого канала.
Вы все наверное слышали о получившей последнее время огромную распространенность DDoS атаке (Distributed Denial Of Service Attack), и в этой статье я хотел бы поведать вам именно о ней. При помощи этой атаки пали крупнейшие и известнейшие компании, такие как Yahoo!, eBay, Buy.com, Amazon.com, CNN.com и целый ряд менее известных.
Последствие такой атаки является невозможность соединения пользователя с сервером на котором выложен тот или иной сайт. Особенностью этой атаки является то, что атакуются обычно очень мощные сервера, базирующиеся на мощных компьютерах и обладающие каналом.
Технология DDoS атак подразумевает метод грубой силы - вы тем или иным способом пытаетесь "забить" канал, открывая максимально возможное количество соединений на тот или иной сервис. Также вы может посылать большое количество определенного типа пакетов на хост, и тем самым попытаться вывести из строя стоящую на нем ОС. Как правило, в таком случае система на том хосте не успевает обработать все пакеты, происходит переполнение буфера и ОС перегружается или виснет.
Собственно отказ в обслуживании является типовой атакой и исследован достаточно подробно. Сущность DoS-атаки заключается в том, чтобы лишить пользователей какого-либо сервиса или службы возможности обратиться к этому сервису. Технически это можно осуществить несколькими способами. Вот некоторые из них:
путем перегрузки сети за счет передачи "мусора" и другого паразитного трафика, препятствуя тем самым передаче законного сетевого трафика;
путем прямого разрушения связи между двумя машинами, таким образом предотвращается доступ к службе;
путем лишения доступа к службе конкретного пользователя ( как правило, за счет лишения этого пользователя привилегий доступа );
наконец, путем прямого выведения сервиса из строя ( когда сам сервис полностью доступен, но выполнять свои функции он не может ).
Здесь перечислены не все возможные варианты возникновения отказа в обслуживании. Тем более, что типовая атака отказа в обслуживании может использоваться и как компонент многоступенчатой атаки. Незаконное использование ресурсов также может привести к отказу в обслуживании. К примеру если хацкер использует анонимную FTP (File Transfer Protocol) область закидывая туда много всякой инфы, программного обеспечения и всякого другого мусора, потребляя этим место на сервере и забивая трафик. В итоге, можно так загрузить ftp-сервер, что тот станет недоступен легальным пользователям. Недавно наткнулся на интересную статейку по "убиванию" SMTP (Simple Mail Transfer Protocol), так что люди придумывают все более интересные способы DoS-атак.
DDoS-это не инструмент взлома системы! Распределенные инструментальные средства DoS-это средства, прежде всего, несанкционированного проникновения. Они не эксплуатируют уязвимость защиты, но могут демонстрировать то, какое количество трафика главный компьютер может или не может обрабатывать. Инструментарий DDoS использовался долгое время профессиональными консультантами защиты для испытания устойчивости систем к внешним воздействиям. Прежде чем появились программные средства для распределенных DOS-атак, существовали коммерческие "закрытые" программы, способные управлять распределенными пересылками пакетов с множества машин на один определенный адрес с тем, чтобы определить, сколько трафика сеть может обрабатывать, видеть, должна ли пропускная способность адресатов быть улучшена или, если пропускная способность сети удовлетворительна, насколько надежно будет функционировать сеть при данной загрузке.
Итак, изначально программное обеспечение DDoS использовалось для загрузки сети в экспериментальных целях. Обычно перегрузка достигалась путем посылки бессмысленных пакетов в количестве большем, чем-то, которое сеть может обрабатывать. При дальнейшей разработке инструментария DDoS оказалось, что наиболее эффективной оказывается пересылка пакетов, имеющих ошибочную структуру. Особенно ( для случая Интернета ) так называемых ICMP- пакетов (Internet control messaging protocol). Эти пакеты предназначены для управления конфигурацией сети. В случае, если подобный пакет оказывается ошибочным, обычно довольно большое время тратится на его обработку и, после принятия решения о его ошибочности, на возврат пакета посылающему. То есть, по сравнению с обычным сетевым пакетом, возрастает как время обработки пакета, так и общий трафик сети. Позднее этот же подход стал использоваться и при удаленных DDoS-атаках на серверы жертв. Только инструментарий DDoS использовался уже не с целью анализа устойчивости системы к внешним нагрузкам, а с целью вызвать именно отказ в обслуживании.
В основе распределенной DDoS-атаки лежит установка огромного количества серверов DoS на различных компьютерах. Они будут ждать команды от центрального клиента. В определенный момент времени центральный клиент посылает на все серверы сообщение, содержащее инструкцию посылать как можно большее количество трафика одному адресату. Центральный клиент распределяет работу по посылке пакетов адресату среди всех доступных серверов DoS, поэтому DDoS и называется распределенной атакой.
После триумфального шествия по Интернету троянов, можно говорить о том, что DoS-сервер может работать незаметно для пользователя. То есть ваш компьютер может участвовать в распределенной DoS-атаке, а вы даже не будете об этом подозревать.
Главной особенностью DDoS-атаки является то, что для нее нет слишком мощного компьютера- жертвы. Для сервера любой мощности всегда можно подобрать нужное количество участвующих в атаке компьютеров, которые "затопят" атакуемый сервер своими пакетами. Кстати, большинство Интернет-червей, распространяющих свое тело посредством электронной почты, также являются средством DDoS-атаки, выводящей из строя почтовые серверы. Печальный опыт червя Мориссона и вируса Melissa свидетельствует: вывести из строя можно почтовый сервер любой мощности.
Второй особенностью DDoS-атаки является крайне затрудненная локализация злоумышленников. Мало того, что атака идет со множества адресов (что затрудняет противодействие путем простого блокирования исходящего с этих адресов трафика), эти адреса вполне могут принадлежать ничего не подозревающим пользователям. Злоумышленника можно отследить лишь по сообщению о начале атаки, а путь этого сообщения проследить не так-то легко. Во вся ком случае, по прошествии месяца хацкеры, предпринявшие упоминавшиеся выше атаки, так и не были обнаружены.
Наконец, третьей, не менее грозной, особенностью DDoS-атаки является относительная простота использования распределенного инструментария. Алгоритм DDoS широко известен. Например, немецким хацкером "Микстер" была написана программа Tribe Flood Network, которую можно использовать для проведения атак типа DDoS. С использованием готового программного обеспечения распределенную атаку может организовать группа лиц, имеющая весьма слабое представление о внутренней организации вычислительных систем и действующая лишь из хулиганских побуждений.
На данный момент нет так таковой защиты от этого рода атак. Некоторые сервера просто блокируют ICMP пакеты передача которых продолжается в течение нескольких часов, но и это не слишком помогает. Новые методы способны обойти и такую защиту. К примеру Stream посылает ложные пакеты TCP/IP, которые обычный маршрутизатор переадресует на сервер назначения. Пакеты могут быть скомпонованы так, чтобы занять драгоценное машинное время еще до выявления их злонамеренности. Их очень трудно выявить и отфильтровать.
Низкокачественное написание скриптов часто влияет на безопасность системы в целом. Существует возможности использования уязвимостей в Perl-скриптах для доступа к файлам вне пределах файловой системы веб-сервера или выполнения несанкционированных команд.
Атака "Посредник" (Man in the Middle)
Главной целью атаки является перенаправление трафика между двумя машинами. Это нужно для перехвата, модификации или уничтожения данных, которыми обмениваются системы. Эта атака, скорее концептуальная, нежели практическая. Существует множество типов атак, реализующих принцип "Посредника" , например "посредник" в DNS, использующая подмену DNS для перенаправления трафика между веб-сервером и клиентом. Недавно созданы программы для перенаправления SSH-трафика.
Отказ в обслуживании
Название этих атак хорошо отражает их суть, поскольку результатом данных атак является недоступность того или иного сервиса (определенного приложения) или целевой машины. Мы рассмотрим два типа отказа в обслуживании: один, основанный на ошибке в приложении, и другой, основанный на плохой реализации или уязвимости протокола.
Атаки, основанные на IP-фрагментации
Данная атака направлена на оборудование, находящееся за защитой IP фильтрующего оборудования. Для ее реализации злоумышленники используют два разных метода: "микрофрагменты" (Tiny Fragments) и "перекрытие фрагментов" (Fragment Overlapping). Эти атаки становятся достоянием истории, поскольку современные межсетевые экраны давно успешно с ними справляются.
Отказ в обслуживании приложения
Если уязвимости приложения ведут к возможности получения контроля над машиной (например, с помощью переполнения буфера), они также могут вести к отказу в обслуживании. Приложение станет недоступным либо из-за нехватки ресурсов, либо из-за аварийного завершения.
Сетевой отказ в обслуживании
Существует несколько типов атак "отказ в обслуживании", основывающихся на особенностях стека протоколов TCP/IP.
SYN-наводнение
Мы уже рассматривали механизм установления TCP-соединения (механизм тройного квитирования). SYN-наводнение использует этот механизм. Как вы помните, есть три состояния: посылка SYN-пакета, получение пакета SYN-ACK и посылка ACK-пакета. Идея атаки состоит в создании большого количества не до конца установленных TCP-соединений. Для реализации этого, злоумышленник посылает множество запросов на установление соединения (пакеты, с выставленным флагом SYN), целевая машина отвечает пакетами SYN-ACK. Злоумышленник же не завершает процесс установки соединения, а оставляет их в полу-открытом состоянии. Следовательно, для каждого полученного SYN-пакета сервер выделяет ресурсы и вскоре они исчерпываются. В результате, новые соединения не могут быть открыты. Этот тип отказа в обслуживании направлен только на целевую машину.
Для реализации атаки SYN-наводнения злоумышленник может использовать программу synk4, передавая ей в качестве параметра целевой хост, порт и случайный адрес источника. Последнее затрудняет определение машины злоумышленника.
UDP-наводнение
Этот тип атаки "отказ в обслуживании" использует бессеансовый режим протокола UDP. Злоумышленник генерирует большое количество UDP-пакетов ("шторм UDP-пакетов") направленных на одну или две машины. В результате происходит перегрузка сети и целевых машин. Эффективность данной атаки особенно высокая, поскольку UDP-трафик приоритетнее TCP-трафика. В протоколе TCP есть механизмы предотвращения перегрузок, если подтверждения приема пакетов приходят с значительной задержкой, передающая сторона замедляет скорость передачи TCP-пакетов. В протоколе UDP такой механизм отсутствует, и после начала атаки, UDP-трафик быстро захватит всю доступную полосу пропускания, и TCP-трафику останется лишь малая ее часть.
Наиболее известный пример UDP-наводнения это атака на сервис chargen. Реализация этой атаки проста: достаточно установить связь между сервисами chargen на одной машине и сервисом echo на другой. Сервис chargen генерирует символы, а сервис echo дублирует полученные данные. Злоумышленник посылает UDP-пакеты на порт 19 (chargen) одной из машин-жертв, подделывая IP-адрес и порт источника. В данном случае, портом источника будет UDP-порт 7 (echo). Атака UDP-наводнение приводит к перегрузке сети на отрезке между двумя машинами. В результате, пострадать может вся сеть.
Пакетная фрагментация
Отказ в обслуживании, достигаемый с помощью пакетной фрагментации использует уязвимости некоторых стеков TCP/IP, связанных с дефрагментацией пакетов (сборкой IP-фрагментов).
Известная атака, использующая этот подход -- это Teardrop. Фрагментарное смещение второго сегмента меньше размера первого сегмента. Это означает, что при сборке фрагментов первый сегмент должен будет содержать данные второго сегмента, происходит перекрытие фрагментов. Во время сборки таких пакетов, некоторые системы не могут обработать сложившуюся ситуацию, что приводит к отказу в обслуживании. Существуют разные варианты этой атаки, например bonk, boink и newtear. Атака отказ в обслуживании "пинг смерти" использует некорректную обработку ICMP-фрагментов, посылая больше данных, чем максимальный размер IP-пакета. Разные типы атак "отказ в обслуживании" ведут к отказам целевой системы.
Smurfing
Данная атака использует ICMP-протокол. При посылке ping-пакета (сообщение ICMP ECHO) по широковещательному адресу (например, 10.255.255.255), он доставляется каждой машине в этой сети. Принцип атаки заключается в посылке пакета ICMP ECHO REQUEST с адресом-источником машины-жертвы. Злоумышленник шлет постоянный поток ping-пакетов по сетевому широковещательному адресу. Все машины, получив запрос, отвечают источнику пакетом ICMP ECHO REPLY. Соответственно, размер ответного потока пакетов возрастает в пропорциональное количеству хостов число раз. В результате, вся сеть подвергается отказу в обслуживании из-за перегрузки
Если атака выполняется одновременно с большого числа компьютеров, говорят о DDoS-атаке (от англ. Distributed Denial of Service, распределённая атака типа «отказ в обслуживании»). В некоторых случаях к фактической DDoS-атаке приводит непреднамеренное действие, например, размещение на популярном интернет-ресурсе ссылки на сайт, размещённый на не очень производительном сервере (слэшдот-эффект). Большой наплыв пользователей приводит к превышению допустимой нагрузки на сервер и, следовательно.........
Существуют различные причины, из-за которых может возникнуть DoS-условие:
Ошибка в программном коде, приводящая к обращению к неиспользуемому фрагменту адресного пространства, выполнению недопустимой инструкции или другой необрабатываемой исключительной ситуации, когда происходит аварийное завершение программы-сервера — серверной программы. Классическим примером является обращение по нулевому (англ. null) адресу.
Недостаточная проверка данных пользователя, приводящая к бесконечному либо длительному циклу или повышенному длительному потреблению процессорных ресурсов (вплоть до исчерпания процессорных ресурсов) либо выделению большого объёма оперативной памяти (вплоть до исчерпания доступной памяти).
Флуд (англ. flood — «наводнение», «переполнение») — атака, связанная с большим количеством обычно бессмысленных или сформированных в неправильном формате запросов к компьютерной системе или сетевому оборудованию, имеющая своей целью или приведшая к отказу в работе системы из-за исчерпания системных ресурсов — процессора, памяти или каналов связи.
Атака второго рода — атака, которая стремится вызвать ложное срабатывание системы защиты и таким образом привести к недоступности ресурса.
Если атака (обычно флуд) производится одновременно с большого количества IP-адресов — с нескольких рассредоточенных в сети компьютеров — то в этом случае она называется распределённой атакой на отказ в обслуживании (DDoS).
[править]
Эксплуатация ошибок
Основная статья: Эксплойт
Эксплойтом называют программу, фрагмент программного кода или последовательность программных команд, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на киберсистему. Из эксплойтов, ведущих к DoS-атаке, но непригодных, например, для захвата контроля над «вражеской» системой, наиболее известны WinNuke и Ping of death (Пинг смерти).
[править]
Флуд
О флуде как нарушении сетевого этикета см. Флуд.
Флудом называют огромный поток бессмысленных запросов с разных компьютеров с целью занять «вражескую» систему (процессор, ОЗУ или канал связи) работой и этим временно вывести её из строя. Понятие «DDoS-атака» практически равносильно понятию «флуд», и в обиходе и тот, и другой часто взаимозаменяемы («зафлудить сервер» = «заDDoS’ить сервер»).
Для создания флуда могут применяться как обычные сетевые утилиты вроде ping (этим известно, например, интернет-сообщество «Упячка»), так и особые программы. Возможность DDoS’а часто «зашивают» в ботнеты. Если на сайте с высокой посещаемостью будет обнаружена уязвимость типа «межсайтовый скриптинг» или возможность включения картинок с других ресурсов, этот сайт также можно применить для DDoS-атаки.
[править]
Флуд канала связи и TCP-подсистемы
Любой компьютер, имеющий связь с внешним миром по протоколу TCP/IP, подвержен таким типам флуда:
SYN-флуд — при данном виде флуд-атаки на атакуемый узел направляется большое количество SYN-пакетов по протоколу TCP (запросов на открытие соединения). При этом на атакуемом компьютере через короткое время исчерпывается количество доступных для открытия пакетов (программных сетевых гнезд, портов), и сервер перестаёт отвечать.
UDP-флуд — этот тип флуда атакует не компьютер-цель, а его канал связи. Провайдеры резонно предполагают, что UDP-пакеты надо доставить первыми, а TCP могут подождать. Большим количеством UDP-пакетов разного размера забивают канал связи, и сервер, работающий по протоколу TCP, перестаёт отвечать.
ICMP-флуд — то же самое, но с помощью ICMP-пакетов.
[править]
Флуд прикладного уровня
Многие службы устроены так, что небольшим запросом можно вызвать большой расход вычислительных мощностей на сервере. В таком случае атакуется не канал связи или TCP-подсистема, а непосредственно служба (сервис) — флудом подобных «больных» запросов. Например, веб-серверы уязвимы для HTTP-флуда, — для выведения веб-сервера из строя может применяться как простейшее GET /, так и сложный запрос в базу данных наподобие GET /index.php?search=.
[править]
Выявление DoS-атак
Существует мнение, что специальные средства для выявления DoS-атак не требуются, поскольку факт DoS-атаки невозможно не заметить. Во многих случаях это действительно так. Однако достаточно часто наблюдались удачные DoS-атаки, которые были замечены жертвами лишь спустя 2-3 суток. Бывало, что негативные последствия атаки (флуд-атаки) выливались в излишние расходы на оплату избыточного Internet-трафика, что выяснялось лишь при получении счёта от Internet-провайдера. Кроме того, многие методы обнаружения атак неэффективны вблизи объекта атаки, но эффективны на сетевых магистральных каналах. В таком случае целесообразно ставить системы обнаружения именно там, а не ждать, пока пользователь, подвергшийся атаке, сам её заметит и обратится за помощью. К тому же для эффективного противодействия DoS-атакам необходимо знать тип, характер и другие характеристики DoS-атак, а оперативно получить эти сведения как раз и позволяют системы обнаружения.
Методы обнаружения DoS-атак можно разделить на несколько больших групп:
сигнатурные — основанные на качественном анализе трафика.
статистические — основанные на количественном анализе трафика.
гибридные (комбинированные) — сочетающие в себе достоинства обоих вышеназванных методов
Защита от DoS-атак
Но, как я уже упоминал, против DoS-атаки нельзя защититься на 100%. От самого лучшего танка ничего не останется, если в него попасть баллистической ракетой. Но сколько стоит ракета — и сколько танк.
captcha.ru[1]
Меры противодействия DoS-атакам можно разделить на пассивные и активные, а также на превентивные и реакционные.
Ниже приведён краткий перечень основных методов.
Предотвращение. Профилактика причин, побуждающих тех или иных лиц организовывать и предпринять DoS-атаки. (Очень часто кибератаки вообще являются следствиями личных обид, политических, религиозных и иных разногласий, провоцирующего поведения жертвы и т.п.)
Фильтрация и блэкхолинг. Блокирование трафика, исходящего от атакующих машин. Эффективность этих методов снижается по мере приближения к объекту атаки и повышается по мере приближения к атакующей машине.
Обратный DDOS - перенаправление трафика, используемого для атаки, на атакующего.
Устранение уязвимостей. Не работает против флуд-атак, для которых «уязвимостью» является конечность тех или иных системных ресурсов.
Наращивание ресурсов. Абсолютной защиты, естественно, не дает, но является хорошим фоном для применения других видов защиты от DoS-атак.
Рассредоточение. Построение распределённых и дублирование систем, которые не прекратят обслуживать пользователей, даже если некоторые их элементы станут недоступны из-за DoS-атаки.
Уклонение. Увод непосредственной цели атаки (доменного имени или IP-адреса) подальше от других ресурсов, которые часто также подвергаются воздействию вместе с непосредственной целью атаки.
Активные ответные меры. Воздействие на источники, организатора или центр управления атакой, как техногенными, так и организационно-правовыми средствами.
Использование оборудования для отражения DoS-атак. Например, DefensePro® (Radware), SecureSphere® (Imperva), Периметр (МФИ Софт), Arbor Peakflow®, Riorey, Impletec iCore и от других производителей.
Приобретение сервиса по защите от DoS-атак. Актуально в случае превышения флудом пропускной способности сетевого канала.
Вы все наверное слышали о получившей последнее время огромную распространенность DDoS атаке (Distributed Denial Of Service Attack), и в этой статье я хотел бы поведать вам именно о ней. При помощи этой атаки пали крупнейшие и известнейшие компании, такие как Yahoo!, eBay, Buy.com, Amazon.com, CNN.com и целый ряд менее известных.
Последствие такой атаки является невозможность соединения пользователя с сервером на котором выложен тот или иной сайт. Особенностью этой атаки является то, что атакуются обычно очень мощные сервера, базирующиеся на мощных компьютерах и обладающие каналом.
Технология DDoS атак подразумевает метод грубой силы - вы тем или иным способом пытаетесь "забить" канал, открывая максимально возможное количество соединений на тот или иной сервис. Также вы может посылать большое количество определенного типа пакетов на хост, и тем самым попытаться вывести из строя стоящую на нем ОС. Как правило, в таком случае система на том хосте не успевает обработать все пакеты, происходит переполнение буфера и ОС перегружается или виснет.
Собственно отказ в обслуживании является типовой атакой и исследован достаточно подробно. Сущность DoS-атаки заключается в том, чтобы лишить пользователей какого-либо сервиса или службы возможности обратиться к этому сервису. Технически это можно осуществить несколькими способами. Вот некоторые из них:
путем перегрузки сети за счет передачи "мусора" и другого паразитного трафика, препятствуя тем самым передаче законного сетевого трафика;
путем прямого разрушения связи между двумя машинами, таким образом предотвращается доступ к службе;
путем лишения доступа к службе конкретного пользователя ( как правило, за счет лишения этого пользователя привилегий доступа );
наконец, путем прямого выведения сервиса из строя ( когда сам сервис полностью доступен, но выполнять свои функции он не может ).
Здесь перечислены не все возможные варианты возникновения отказа в обслуживании. Тем более, что типовая атака отказа в обслуживании может использоваться и как компонент многоступенчатой атаки. Незаконное использование ресурсов также может привести к отказу в обслуживании. К примеру если хацкер использует анонимную FTP (File Transfer Protocol) область закидывая туда много всякой инфы, программного обеспечения и всякого другого мусора, потребляя этим место на сервере и забивая трафик. В итоге, можно так загрузить ftp-сервер, что тот станет недоступен легальным пользователям. Недавно наткнулся на интересную статейку по "убиванию" SMTP (Simple Mail Transfer Protocol), так что люди придумывают все более интересные способы DoS-атак.
DDoS-это не инструмент взлома системы! Распределенные инструментальные средства DoS-это средства, прежде всего, несанкционированного проникновения. Они не эксплуатируют уязвимость защиты, но могут демонстрировать то, какое количество трафика главный компьютер может или не может обрабатывать. Инструментарий DDoS использовался долгое время профессиональными консультантами защиты для испытания устойчивости систем к внешним воздействиям. Прежде чем появились программные средства для распределенных DOS-атак, существовали коммерческие "закрытые" программы, способные управлять распределенными пересылками пакетов с множества машин на один определенный адрес с тем, чтобы определить, сколько трафика сеть может обрабатывать, видеть, должна ли пропускная способность адресатов быть улучшена или, если пропускная способность сети удовлетворительна, насколько надежно будет функционировать сеть при данной загрузке.
Итак, изначально программное обеспечение DDoS использовалось для загрузки сети в экспериментальных целях. Обычно перегрузка достигалась путем посылки бессмысленных пакетов в количестве большем, чем-то, которое сеть может обрабатывать. При дальнейшей разработке инструментария DDoS оказалось, что наиболее эффективной оказывается пересылка пакетов, имеющих ошибочную структуру. Особенно ( для случая Интернета ) так называемых ICMP- пакетов (Internet control messaging protocol). Эти пакеты предназначены для управления конфигурацией сети. В случае, если подобный пакет оказывается ошибочным, обычно довольно большое время тратится на его обработку и, после принятия решения о его ошибочности, на возврат пакета посылающему. То есть, по сравнению с обычным сетевым пакетом, возрастает как время обработки пакета, так и общий трафик сети. Позднее этот же подход стал использоваться и при удаленных DDoS-атаках на серверы жертв. Только инструментарий DDoS использовался уже не с целью анализа устойчивости системы к внешним нагрузкам, а с целью вызвать именно отказ в обслуживании.
В основе распределенной DDoS-атаки лежит установка огромного количества серверов DoS на различных компьютерах. Они будут ждать команды от центрального клиента. В определенный момент времени центральный клиент посылает на все серверы сообщение, содержащее инструкцию посылать как можно большее количество трафика одному адресату. Центральный клиент распределяет работу по посылке пакетов адресату среди всех доступных серверов DoS, поэтому DDoS и называется распределенной атакой.
После триумфального шествия по Интернету троянов, можно говорить о том, что DoS-сервер может работать незаметно для пользователя. То есть ваш компьютер может участвовать в распределенной DoS-атаке, а вы даже не будете об этом подозревать.
Главной особенностью DDoS-атаки является то, что для нее нет слишком мощного компьютера- жертвы. Для сервера любой мощности всегда можно подобрать нужное количество участвующих в атаке компьютеров, которые "затопят" атакуемый сервер своими пакетами. Кстати, большинство Интернет-червей, распространяющих свое тело посредством электронной почты, также являются средством DDoS-атаки, выводящей из строя почтовые серверы. Печальный опыт червя Мориссона и вируса Melissa свидетельствует: вывести из строя можно почтовый сервер любой мощности.
Второй особенностью DDoS-атаки является крайне затрудненная локализация злоумышленников. Мало того, что атака идет со множества адресов (что затрудняет противодействие путем простого блокирования исходящего с этих адресов трафика), эти адреса вполне могут принадлежать ничего не подозревающим пользователям. Злоумышленника можно отследить лишь по сообщению о начале атаки, а путь этого сообщения проследить не так-то легко. Во вся ком случае, по прошествии месяца хацкеры, предпринявшие упоминавшиеся выше атаки, так и не были обнаружены.
Наконец, третьей, не менее грозной, особенностью DDoS-атаки является относительная простота использования распределенного инструментария. Алгоритм DDoS широко известен. Например, немецким хацкером "Микстер" была написана программа Tribe Flood Network, которую можно использовать для проведения атак типа DDoS. С использованием готового программного обеспечения распределенную атаку может организовать группа лиц, имеющая весьма слабое представление о внутренней организации вычислительных систем и действующая лишь из хулиганских побуждений.
На данный момент нет так таковой защиты от этого рода атак. Некоторые сервера просто блокируют ICMP пакеты передача которых продолжается в течение нескольких часов, но и это не слишком помогает. Новые методы способны обойти и такую защиту. К примеру Stream посылает ложные пакеты TCP/IP, которые обычный маршрутизатор переадресует на сервер назначения. Пакеты могут быть скомпонованы так, чтобы занять драгоценное машинное время еще до выявления их злонамеренности. Их очень трудно выявить и отфильтровать.
Низкокачественное написание скриптов часто влияет на безопасность системы в целом. Существует возможности использования уязвимостей в Perl-скриптах для доступа к файлам вне пределах файловой системы веб-сервера или выполнения несанкционированных команд.
Атака "Посредник" (Man in the Middle)
Главной целью атаки является перенаправление трафика между двумя машинами. Это нужно для перехвата, модификации или уничтожения данных, которыми обмениваются системы. Эта атака, скорее концептуальная, нежели практическая. Существует множество типов атак, реализующих принцип "Посредника" , например "посредник" в DNS, использующая подмену DNS для перенаправления трафика между веб-сервером и клиентом. Недавно созданы программы для перенаправления SSH-трафика.
Отказ в обслуживании
Название этих атак хорошо отражает их суть, поскольку результатом данных атак является недоступность того или иного сервиса (определенного приложения) или целевой машины. Мы рассмотрим два типа отказа в обслуживании: один, основанный на ошибке в приложении, и другой, основанный на плохой реализации или уязвимости протокола.
Атаки, основанные на IP-фрагментации
Данная атака направлена на оборудование, находящееся за защитой IP фильтрующего оборудования. Для ее реализации злоумышленники используют два разных метода: "микрофрагменты" (Tiny Fragments) и "перекрытие фрагментов" (Fragment Overlapping). Эти атаки становятся достоянием истории, поскольку современные межсетевые экраны давно успешно с ними справляются.
Отказ в обслуживании приложения
Если уязвимости приложения ведут к возможности получения контроля над машиной (например, с помощью переполнения буфера), они также могут вести к отказу в обслуживании. Приложение станет недоступным либо из-за нехватки ресурсов, либо из-за аварийного завершения.
Сетевой отказ в обслуживании
Существует несколько типов атак "отказ в обслуживании", основывающихся на особенностях стека протоколов TCP/IP.
SYN-наводнение
Мы уже рассматривали механизм установления TCP-соединения (механизм тройного квитирования). SYN-наводнение использует этот механизм. Как вы помните, есть три состояния: посылка SYN-пакета, получение пакета SYN-ACK и посылка ACK-пакета. Идея атаки состоит в создании большого количества не до конца установленных TCP-соединений. Для реализации этого, злоумышленник посылает множество запросов на установление соединения (пакеты, с выставленным флагом SYN), целевая машина отвечает пакетами SYN-ACK. Злоумышленник же не завершает процесс установки соединения, а оставляет их в полу-открытом состоянии. Следовательно, для каждого полученного SYN-пакета сервер выделяет ресурсы и вскоре они исчерпываются. В результате, новые соединения не могут быть открыты. Этот тип отказа в обслуживании направлен только на целевую машину.
Для реализации атаки SYN-наводнения злоумышленник может использовать программу synk4, передавая ей в качестве параметра целевой хост, порт и случайный адрес источника. Последнее затрудняет определение машины злоумышленника.
UDP-наводнение
Этот тип атаки "отказ в обслуживании" использует бессеансовый режим протокола UDP. Злоумышленник генерирует большое количество UDP-пакетов ("шторм UDP-пакетов") направленных на одну или две машины. В результате происходит перегрузка сети и целевых машин. Эффективность данной атаки особенно высокая, поскольку UDP-трафик приоритетнее TCP-трафика. В протоколе TCP есть механизмы предотвращения перегрузок, если подтверждения приема пакетов приходят с значительной задержкой, передающая сторона замедляет скорость передачи TCP-пакетов. В протоколе UDP такой механизм отсутствует, и после начала атаки, UDP-трафик быстро захватит всю доступную полосу пропускания, и TCP-трафику останется лишь малая ее часть.
Наиболее известный пример UDP-наводнения это атака на сервис chargen. Реализация этой атаки проста: достаточно установить связь между сервисами chargen на одной машине и сервисом echo на другой. Сервис chargen генерирует символы, а сервис echo дублирует полученные данные. Злоумышленник посылает UDP-пакеты на порт 19 (chargen) одной из машин-жертв, подделывая IP-адрес и порт источника. В данном случае, портом источника будет UDP-порт 7 (echo). Атака UDP-наводнение приводит к перегрузке сети на отрезке между двумя машинами. В результате, пострадать может вся сеть.
Пакетная фрагментация
Отказ в обслуживании, достигаемый с помощью пакетной фрагментации использует уязвимости некоторых стеков TCP/IP, связанных с дефрагментацией пакетов (сборкой IP-фрагментов).
Известная атака, использующая этот подход -- это Teardrop. Фрагментарное смещение второго сегмента меньше размера первого сегмента. Это означает, что при сборке фрагментов первый сегмент должен будет содержать данные второго сегмента, происходит перекрытие фрагментов. Во время сборки таких пакетов, некоторые системы не могут обработать сложившуюся ситуацию, что приводит к отказу в обслуживании. Существуют разные варианты этой атаки, например bonk, boink и newtear. Атака отказ в обслуживании "пинг смерти" использует некорректную обработку ICMP-фрагментов, посылая больше данных, чем максимальный размер IP-пакета. Разные типы атак "отказ в обслуживании" ведут к отказам целевой системы.
Smurfing
Данная атака использует ICMP-протокол. При посылке ping-пакета (сообщение ICMP ECHO) по широковещательному адресу (например, 10.255.255.255), он доставляется каждой машине в этой сети. Принцип атаки заключается в посылке пакета ICMP ECHO REQUEST с адресом-источником машины-жертвы. Злоумышленник шлет постоянный поток ping-пакетов по сетевому широковещательному адресу. Все машины, получив запрос, отвечают источнику пакетом ICMP ECHO REPLY. Соответственно, размер ответного потока пакетов возрастает в пропорциональное количеству хостов число раз. В результате, вся сеть подвергается отказу в обслуживании из-за перегрузки