- •1.3.1.2. По цели. С точки зрения защиты, атаки можно рассматривать, как направленные на конкретные составляющие безопасности - конфиденциальность, целостность и доступность.
- •1.3.1.3. По характеру взаимодействия с жертвой. Относительно характера взаимодействия злоумышленника с системой все удаленные атаки можно разделить на "интерактивные" и "безусловные".
- •I am in a harry, I promise you will love it! Attachment: gone.Scr
- •1.3.3.2. Отказ в обслуживании
- •1.3.3.3. Маскировка
- •1.3.3.4. Атаки на маршрутизацию
- •1.3.3.5. Атаки на серверы: cgi и http
- •1.3.3.6. Атаки на клиентов: ActiveX, Java и другие
- •1.3.3.7. Переполнение буфера.
I am in a harry, I promise you will love it! Attachment: gone.Scr
Когда присоединенный файл запускается, он имитирует работу программы-заставки с выдачей сообщения об ошибке. Тем временем код копирует себя
В СИСТеМНЫЙ Каталог Windows C:\WINDOWS\SYSTEM32\scr.exe ИЛИ
с: \wiNNT\SYSTEM32\scr.exe и изменяет реестр для запуска кода после перезагрузки.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\ C:%WINDIR%\SYSTEM\gone.scr=C:\%WINDIR\SYSTEM\gone.scr
Вирус распространяет себя, высылая электронное письмо по списку адресной книги MS Outlook и направляя файл по списку пользователей ICQ.
Дополнительно вирус ищет и останавливает процессы, связанные с известными антивирусными пакетами и программами по безопасности, и пытается удалить исполняемые файлы этих программ. Если удаление сразу не получается, то вирус создает файл wininit.ini, который производит удаление при перезафузке.
1.3.3.2. Отказ в обслуживании
Атаки на отказ в обслуживании (англ. deny-of-service — DoS) являются одними из самых распространенных. Это связано с тем, что они сводятся к выведению информационного объекта из строя, а не к получению какого-либо вида несанкционированного доступа к нему. Действительно, наиболее примитивный вариант подобной атаки — разрыв сетевого кабеля или физическое разрушение сетевого устройства — не требует от злоумышленника серьезной технической квалификации. Несмотря на некую крайность, тем не менее этот пример хорошо демонстрирует сущность атак: приведение в неработоспособное состояние устройства приема/передачи либо приведение канала передачи информации в состояние невозможности транспортировки данных, т. е. возможны два основных направления реализации подобных атак.
П Критическая часть информационного объекта, отвечающая за обеспечение доступа к информации, разрушается или приводится в неработоспособное состояние. Ситуация требует дополнительного вмешательства администратора для восстановления работы.
D Некий контейнер приема/передачи информации подвергается запредельной нагрузке, превышающей его пропускную способность, и не может функционировать до тех пор, пока нагрузка не вернется к нормальной. Ситуация может не требовать дополнительного вмешательства, если такая нагрузка не приводит к повреждению или разрушению контейнера.
Другая классификация атак на отказ в обслуживании носит более подробный технический характер.
СЗ Перегрузка пропускной способности сети. Атакующий генерирует такое количество сетевого графика, которое полностью занимает возможности данного сетевого соединения.
О Перегрузка системного процессора. Атакующий создает вычислительные задания для атакуемого узла, которые превосходят возможности процессорной обработки.
СЭ Занятие возможных портов. Атакующий устанавливает соединения с имеющимися портами таким образом, что занимает все имеющиеся открытые порты и допустимое количество соединений на порт.
П Перерасход системных ресурсов (памяти, процессорного времени). Атакующий генерирует либо огромное количество данных, сохраняемых в системной памяти, либо большое количество запросов, на обработку которых уходит практически все процессорное время системы. Этот класс атак опасен тем, что может быть выполнен на каком-нибудь другом (более уязвимом) сервисе этого же компьютера, а приведет в итоге к неработоспособности всех служб.
Соответственно, согласно этой классификации природа атак на отказ в обслуживании разделяется:
П на формирование некоего специального, возможно, некорректного, запроса информационному объекту, обработка которого приведет к выводу объекта из строя;
О генерирование ненормально большого количества корректных данных, с обработкой которых не справятся либо канал передачи информации, либо устройство (объект) приема/передачи информации.
Первый вид атак связан с определенной технической и интеллектуальной работой злоумышленника, которая заключается в поиске уязвимого параметра информационного объекта, который может быть подвергнут нападению. Такой вид атак наиболее непредсказуем при реализации в первый раз, однако после того как он становится известен производителю, выпускается соответствующее обновление, которое, будучи установленным на объект, решает проблему с данной атакой (по крайней мере на данном объекте), т. е. после установки такого обновления можно с высокой степенью вероятности утверждать, что данная атака больше не достигнет успешного результата.
Второй вид атак не требует специальной подготовки и может быть осуществлен даже случайно. Например, когда пользователь посылает письмо большого объема (атака типа mailbomb) или большое количество писем (атака типа spam), он может серьезно блокировать работу корпоративного почтового сервиса. Такие атаки при соответствующей квалификации администратора легко обнаруживаются и обычно устраняются путем выдачи устройству приема/передачи инструкций по запрету обработки информации от источника атаки.
Так было до тех пор, пока не появился новый вид атак на отказ в обслуживании — распределенный отказ в обслуживании (англ. distributed deny-of-service — DDoS). 0 ней стоит рассказать подробнее.
Сама атака состоит из нескольких частей. В подготовительной части атаки хост потенциальной жертвы не принимает участия. Злоумышленник набирает некое количество хостов — промежуточных жертв, на которых размещает некое профаммное обеспечение, вообще говоря, троянскую программу. Способ доставки троянской программы здесь не рассматривается, это может быть и вирус, и обычное письмо с вложением: главная задача злоумышленника на данном этапе — это набрать количество, вне зависимости от того, кто конкретно это будет. После размещения достаточно большого количества программ, в определенное время или по дополнительной команде промежуточные жертвы (которые называются в терминах данной атаки зомби) начинают посылать запросы собственно на основную цель атаки, выполняя таким образом функции инструмента атаки злоумышленника. Запросы на хост-жертву либо представляют из себя реальные корректные запросы от клиентов хоста (например, от браузеров — веб-серверу), либо очень похожи на них таким образом, что атакуемый хост не может отличить ложные запросы от реальных и вынужден расходовать время на их обработку. То, что запросы приходят не от одного источника, затрудняет идентификацию их, как атаки. Большинство рекомендаций по противодействию такой атаке сводятся к увеличению производительности атакуемого хоста путем приостановки на нем второстепенных сервисов и процессов. Также, если возможно по какому-либо параметру отделить ложные запросы от запросов реальных клиентов, необходимо установить соответствующий фильтр на обработку запросов хостом.
( Замечание ^
Описания указанных атак взяты из бюллетеней CERT, однако исследования проведенные другими экспертами в [Медведовский] показывают, что не все такие атаки несут заявленную опасность. Наша задача рассказать о многообразии и природе порождения атак, даже если они представляют не практическую, а скорее теоретическую опасность. На наш взгляд, специалисту по безопасности опыт подобного изучения будет полезен в любом случае (хотя бы потому, что вопросы по подобным атакам входят в тесты на экзаменах по информационной безопасности.
Приведем примеры некоторых известных атак.
Атака Ping смерти (Ping-of-death), декабрь 1996. Атака производится на сервис стека сетевых протоколов, отвечающего за работу с протоколом ICMP, частью которого является утилита Ping. Превышение стандартной длины сетевого пакета (в данном случае 65 536 байт) может привести к тому, что соответствующий сервис выйдет из строя и операционная система даст сбой (зависание или перезагрузку). Формирование такого пакета может осуществляться, например, стандартной командой ping операционной системы с указанием в качестве цели адреса хоста-жертвы и размера посылаемого пакета, превышающего стандартный.
Атака потоком SYN запросов (англ. SYN flood), сентябрь 1996. Атака основана на специфике функционирования процесса установления соединения протокола TCP. Для установления соединения с сервером клиент посылает серверу запрос SYN, сервер отвечает подтверждением готовности к установке соединения SYN-ACK и ожидает от клиента согласия на соединение АСК, при получении которого соединение считается установленным и можно передавать данные. Однако, если клиент не ответил пакетом АСК, соединение считается полуоткрытым, и сервер, в зависимости от конфигурации, некоторое время ждет сообщения от клиента. Обычно, если время ожидания указано достаточно большим (а ведь количество соединений, которое может быть установлено с сервером одновременно, — это конечное число), то в такой ситуации может быть достигнуто состояние, когда сервер не может больше принимать запросы на соединение и оказывается фактически недоступным. По истечении установленного времени ожидания, полуоткрытое соединение ликвидируется, однако, если злоумышленник посылает SYN-запросы быстрее, чем истекают тайм-ауты фальшивых соединений, то сервер останется недоступным до тех пор, пока SYN-поток не прекратится. Для некоторых систем переполнение списка текущих соединений может привести к зависанию операционной системы.
Атака обычно сопровождается также и подменой IP-адреса отправителя SYN-запроса — каждый раз в пакет помещается в новое произвольное значение адреса, с тем чтобы на сервере нельзя было предотвратить атаку установкой ограничений на количество одновременных соединений с одного IP-адреса.
Атака SYN-flood опасна по следующим причинам:
П потенциально она непреодолима, так как неразрывно связана с идеологией протокола TCP (полумерами могут быть только повышение производительности серверов, увеличение их служебных буферов, и, как следствие, количества поддерживаемых одновременно соединений, а также сокращение времени ожидания ответа клиента до предельно возможной разумной величины — например, 0,2—3 с—в зависимости от характера сетевых маршрутов к клиентам);
П у довольно большой части серверов для создания подобного потока достаточно модемного соединения (30—40 Кбит/с) от злоумышленника, несмотря на то, что сам сервер может быть подключен к Интернету качественным каналом пропускной способностью в несколько Мбит/с.
Атака Smurf. Для полного понимания технического механизма атаки необходимо знание принципов функционирования протокола ICMP (Internet Control Message Protocol — Протокол Управляющих Сообщений Интернета). Не углубляясь в технические подробности, укажем, что одной из функций протокола является выяснение, доступен ли для работы удаленный хост. Выяснение производится выполнением команды операционной системы ping, которая формирует пакет запроса (ICMP echo) с указанием адреса удаленного хоста и обратного адреса, куда присылать ответ. Если удаленный хост получают такой запрос и в состоянии его обработать, он посылает в ответ на обратный адрес пакет подтверждения (ICMP echo reply). Протокол допускает широковещательную рассылку запроса, когда сразу все хосты подсети получают запрос на доступность. Этой возможностью и воспользовались злоумышленники. Атака состояла из трех частей. В первой части (рис. 11.2) атакующий формирует широковещательные запросы на несколько подсетей, однако при этом вместо обратного адреса указывает не свой сетевой адрес, а адрес хоста-жертвы. На втором этапе шлюз промежуточной подсети получает запрос хостам подсети и, если на шлюзе не установлена фильтрация широковещательного ICMP-трафика, то шлюз направляет запросы хостам подсети. Уже в этот момент данная промежуточная подсеть может испытать проблемы с пропускной способностью, когда все работающие хосты подсети направят ответ на запрос по обратному адресу, принадлежащему жертве.
На третьем этапе (рис. 11.3) хост-жертва получит множественные ответы на запросы, которые он не посылал. При достаточном количестве запрошенных подсетей с большим количеством хостов в них, подобный поток ответов приведет к тому, что хост-жертва будет выведен из рабочего состояния.
Разновидностью подобной атаки можно назвать атаку Fraggle, основанную на специфике работы протокола UDP. Стандартный, но редко используемый отладочный сервис chargen (character generation — создание потока символов) функционирует следующим образом — при установке соединения с хостом по UDP-порту 19, хост начинает генерировать непрерывный поток данных. Указав в качестве обратного адреса сетевой адрес жертвы, возможно вызвать перебои в работе сети.