Http://staff.Washington.Edu/dittrich/misc/ddos/
http://packetstorm.securify.com/distributed/
иhttp://www.cert.org/advisories/CA-99-17-denial-of-service-tools.html.
Trin00 — одна из первых распространенных распределенных атак типа "отказ в обслуживании". В качестве базы для атаки выбранной жертвы используются узлы под управлением операционных систем Linux и Solaris. Управление демонами осуществляется по протоколу TCP. Взаимодействие между компонентами trin00 возможно только после предъявления соответствующего пароля, что не позволяет в случае обнаружения агента trin00 перехватить управление на себя или отдать команду на прекращение атаки. Адреса отправителя пакетов trin00 не изменяются, что дает возможность относительно легко обнаружить демонов. Для реализации атаки задействуется протокол UDP (атака UDP Bomb).
Tribe flood Network (TFN) — второе известное средство для реализации распределенных атак. В отличие от trin00 оно использует протокол ICMP для управления своими компонентами. Спектр реализуемых атак класса "отказ в обслуживании" в TFN шире, чем в trin00. Это и SYN Flood, и UDP Bomb, и ICMP Flood и, наконец, Smurf. Для затруднения обнаружения источников атаки адреса демонов могут быть изменены. Компоненты TFN работают под управлением ОС Linux и Solaris.
Средство Shaft появилось в ноябре 1999 года. Управление своими компонентами осуществляет через протоколы TCP и UDP. Последний протокол применяется для взаимодействия между мастером и демоном. Взаимодействие между компонентами Shaft требует предъявления пароля и защищенного режима, однако для шифрования команд применяется простой алгоритм так называемый "Шифр Цезаря". Спектр реализуемых атак относительно невелик — UDP Flood, SYN Flood и ICMP Flood.
Tribe Flood Network 2000 (TFN2K) — это "продвинутая" версия TFN, которая появилась в декабре 1999 года. В отличие от своего прототипа она использует алгоритм CAST-256 для шифрования управляющих команд между всеми своими компонентами. Для управления могут привлекаться протоколы TCP, UDP или ICMP. Для введения систем защиты в заблуждение TFN2K способна генерировать пакеты, направленные в сторону от цели атаки (так называемые "decoy packets"). Компоненты TFN2K работают под управление» ОС Linux, Solaris и Windows NT.
Stacheldraht — средство, объединяющее в себе возможности TFN и trin00. Для управления мастерами используется протокол TCP, а для контроля наш демонами — TCP или ICMP. Основные отличия Stacheldraht от своих "коллег" заключаются в возможности удаленного обновления своих компонент более новыми и в возможности обнаружения фильтрации согласно RFC 2267, затрудняющей подмену адресов сетевых пакетов. Для шифрования управляющих команд задействуется протокол Blowfish. Компоненты Stacheldraht работают под управлением ОС Linux и Solaris.
Программа Mstream во многом похожа на Shaft и использует протоколы TCP и UDP для взаимодействия между своими компонентами. При этом взаимодействие никак не шифруется, что облегчает задачу обнаружения передаваемых между демоном и мастером команд, однако для установления такого взаимодействия необходимо предъявить пароль (по умолчанию N7%diApf! или sex). Аналогично TFN в Mstream для затруднения обнаружения источников атаки могут быть изменены адреса демонов.
Trinity, как и многие другие средства организации распределенных атак, "зомбирует" узлы, работающие под управлением ОС Linux. Очень интересный способ управления компонентами Trinity применен разработчиками. В отличие от всех остальных средств DDoS агенты Trinity после инсталляции подключаются к определенным каналам IRC и ждут управляющих команд. Также управление может осуществляться и через ICQ.
Классификация атак
Существуют различные типы классификации атак. Например, деление на пассивные и активные, внешние и внутренние атаки, умышленные и неумышленные [Гайкович1-93]. Однако чтобы не запутать читателя большим разнообразием классификаций, мало применимых на практике, хотелось бы представить более "жизненную" классификацию [Меll1-99].
· Удаленное проникновение (remote penetration). Атаки, которые позволяют реализовать удаленное управление компьютером через сеть. Примером такой программы является NetBus или BackOrifice.
· Локальное проникновение (local penetration). Атака, приводящая к получению несанкционированного доступа к узлу, на котором она запущена. Примером такой программы является GetAdmin.
· Удаленный отказ в обслуживании (remote denial of service). Атаки, которые позволяют нарушить функционирование системы или перегрузить компьютер через Internet. Примером такой атаки является Teardrop или trin00.
· Локальный отказ в обслуживании (local denial of service). Атаки, позволяющие нарушить функционирование системы или перегрузить компьютер, на котором они реализуются. В качестве примера такой атаки можно привести враждебный апплет, который загружает центральный процессор бесконечным циклом, что приводит к невозможности обработки запросов других приложений.
· Сетевые сканеры (network scanners). Программы, которые анализируют топологию сети и обнаруживают сервисы, доступные для атаки. Примером такой программы можно назвать систему nmap.
· Сканеры уязвимостей (vulnerability scanners). Программы, осуществляющие поиск уязвимостей на узлах сети и которые могут быть использованы для реализации атак. Примеры: система SATAN или ShadowSecurityScanner.
· Взломщики паролей (password crackers). Программы, которые подбирают пароли пользователей. Примером взломщика паролей может служить L0phtCrack для Windows или Crack для Unix.
· Анализаторы протоколов (sniffers). Программы, которые "прослушивают" сетевой трафик. При помощи этих программ можно автоматически искать такую информацию, как идентификаторы и пароли пользователей, информацию о кредитных картах и т. д. Анализатором протоколов можно назвать Microsoft Network Monitor, NetXRay компании Network Associates или LanExplorer.
Компания Internet Security Systems, Inc. еще больше сократила число возможных категорий, доведя их до 5 [ISS1-00]:
· сбор информации (Information gathering);
· попытки несанкционированного доступа (Unauthorized access attempts);
· отказ в обслуживании (Denial of service);
· подозрительная активность (Suspicious activity);
· системные атаки (System attack).
Первые 4 категории относятся к удаленным атакам, а последняя — к локальным, т. е. реализуемым на атакуемом узле. Можно заметить, что в данную классификацию не попал целый класс так называемых "пассивных" атак. Помимо "прослушивания" трафика в эту категорию также попадают такие атаки, как "ложный DNS-сервер", "подмена ARP-сервера" [Медведовский1-99] и т. п. В дальнейшем основное внимание будет уделяться методам обнаружения именно активных атак.