Опубликован: 16.10.2006 | Доступ: свободный | Студентов: 2181 / 313 | Оценка: 4.44 / 4.23 | Длительность: 26:41:00
Лекция 2:

Удаление, повреждение и отказ в доступе к данным

ПРОБЛЕМА. Исследование вируса W32.Simile

Данное исследование базируется на данных компании Symantec Corp., (© 2001). Вирус W32.Simile заражал исполняемые фалы в папках на всех жестких дисках компьютера-жертвы и на любых удаленных устройствах, с которыми взаимодействовал этот компьютер. Вирус не представлял серьезной опасности, однако в определенные дни осуществлялось отображение сообщений.

Вирус содержал строку " Metaphor v1 by The Mental Driller/29A ". Эта строка отображалась 17 мая, июня, сентября и декабря после запуска инфицированного исполняемого файла. 14 мая на всех компьютерах с поддержкой шрифта Hebrew отображалось сообщение " Free Palestine!".

Предполагалось, что W32.Simile изначально распространился через электронную почту. После заражения компьютера в интрасети W32.Simile заражал и веб-сервер IIS, если зараженный компьютер содержал диск, связанный с веб-сервером. Вирус W32.Simile мог проникнуть на веб-сервер через интернет, если зараженная программа выполнялась на сервере после ее внедрения через переполнение буфера.

Данный вирус являлся полиморфным и использовал в своих действиях методы скрытия точки входа. Другими словами, вирус записывал себя в случайное место и осуществлял шифрование строки с целью повышения сложности обнаружения. При своем запуске вирус перестраивался для изменения характерных признаков. Происходило как сокращение, так и увеличение объема кода вируса для предотвращения неконтролируемого роста, присущего другим метаморфическим вирусам. Вирус содержал множество тестов для предотвращения заражения файлов, предназначенных для захвата вируса.

После модификации вирус осуществлял поиск файлов .exe в текущей папке, а затем во всех папках на фиксированных и удаленных дисках. Как правило, он заражал исполняемые файлы Win32, имеющиеся в системе и написанные на языке C, и воздействовал, в основном, на файлы операционной системы.

Особенности червей. Червь по своей природе аналогичен вирусу. Иногда термин "червь" используется по отношению к вирусу, так как некоторые вирусы используют механизмы распространения, присущие червям. Тем не менее, с технической точки зрения червь отличается от вируса, так как первый представляет собой самодостаточную программу, а не программу, присоединенную к другой программе. Кроме этого, в отличие от вирусов, которые скрываются во вложениях электронной почты и запускаются пользователем при открытии вложения, атака червей представляет собой полностью автоматизированную процедуру. После успешного проникновения в систему они полностью устанавливают и загружают самих себя, выполняя эти действия в рамках атаки, а затем осуществляют автоматическое самораспространение.

Полностью автоматизированные черви наносят огромный ущерб за малый промежуток времени. Червь Code Red, чей механизм распространения осуществлял рассеянное сканирование для определения уязвимых серверов IIS, стал примером того, насколько разрушительны последствия успешных действий червя. Черви распространяются экспоненциально, так как одна жертва распространяет вирус на несколько других, каждая из которых, в свою очередь, выполняет то же самое. На рисунке 2.5 показан график, предоставленный Ассоциацией анализа данных интернета (CAIDA.org), на котором показано распространение червя Code Red более чем на 350 000 серверов за 13 часов.

Червь является независимой программой, и ему свойственны действия по самосохранению. Эффективным методом самосохранения является скрытие. Разработчики червей пытаются маскировать черви под легальные процессы, выполняющиеся в системе компьютера. По этой причине файлы, добавляемые червями в систему компьютера, имеют обычные, не "режущие" взгляд имена (например, MS Windows содержит огромное количество файлов с расширениями .vxb, .vxd и т.д.). В иных случаях файлы червей заменяют собой легальные исполняемые файлы, что вовсе создает впечатление о неизменности набора файлов в системе.

Создатель червя усложняет процесс его устранения требованием более высоких привилегий, нежели уровень пользователя компьютера, на котором червь был установлен.

Как и вирус, червь может мутировать и изменять свой внешний вид, чтобы всегда быть на шаг впереди своих противников. Такие программы, как VBS Worm Generator (доступна в интернете), значительно упрощают создание мутированных версий ранее созданных червей. Ущерб, наносимый мутирующим червем, огромен, о чем свидетельствуют факты, приведенные ниже.

Червь Code Red распространился более чем на 350 000 серверов за 13 часов

увеличить изображение
Рис. 2.5. Червь Code Red распространился более чем на 350 000 серверов за 13 часов
ПРОБЛЕМА. Исследование червя Nimda

Это исследование основано на данных отчета "Nimda Incident Report" института SANS (© 2001). В сентябре 2001 г. червь под названием Nimda атаковал веб-сайты Microsoft IIS и вызвал отказ в обслуживании на тысячах сайтов.

Nimda серьезно нарушил целостность и безопасность атакованных систем, что позволило злоумышленникам завладеть полными привилегиями администраторов компьютеров-жертв, получить доступ ко всей файловой системе и внести бесчисленные изменения в системные файлы и настройки реестра.

Червь распространял сам себя на новые компьютеры посредством четырех отдельных механизмов.

  • Червь сканировал интернет на предмет веб-серверов и использовал их уязвимые места для получения контроля над жертвой, включая уязвимые места "IIS/Personal Web Services Extended Unicode Directory Traversal Vulnerability", "IIS/PWS Escaped Character Decoding Command Execution Vulnerability" и "черные ходы", оставленных червем Code Red II (см. далее). После получения контроля над жертвой – сервером IIS/PWS – червь через протокол FTP передавал свой код с атакующего компьютера на следующую жертву.
  • Червь осуществлял сбор адресов электронной почты из адресной книги Windows, папок с входящими и исходящими сообщениями, а также из локальных файлов HTML/HTM и отправлял себя по всем адресам во вложении к сообщению электронной почты в виде файла readme.exe.
  • Если червю удавалось заразить веб-сервер, он использовал службу HTTP для распространения себя на клиентов, просматривающих страницы этого веб-сервера. После инфицирования сервера-жертвы червь создавал свою копию в виде файла REAMDE.EML и осуществлял прохождение по дереву каталогов в поиске связанных с интернетом файлов с расширением .HTML, .HTM и .ASP. Каждый раз, когда червь находил файл с веб-содержимым, он присоединял к файлу фрагмент кода JavaScript. Код JavaScript вызывал принудительную загрузку файла README.EML на компьютер любого пользователя, просматривающего файл через браузер.
  • Червь поддерживал работу в сети и распространялся через открытые общие файловые ресурсы. Он копировал себя во все каталоги, включая каталоги в общем сетевом расположении, для которых пользователь имел разрешение на запись. Червь осуществлял поиск исполняемых файлов на устройствах общего доступа и присоединял себя к каждому из них. Зараженным становился всякий узел, с которого осуществлялся доступ к общему сетевому расположению и загружался один из этих файлов.

Механизмы распространения на серверы IIS, описанные выше, требуют сканирования интернета инфицированной системой на предмет поиска уязвимых серверов IIS. Данный червь осуществлял заражение своих соседей по IP-адресу. Он выбирал узлы с идентичной первой или второй частью (имеется в виду адрес с идентичным значением в крайних правых полях, например, xxx.xxx.654.3210). Это действие приводило к массовой сетевой активности на сайтах с несколькими зараженными системами. В частности, можно было наблюдать эффект переполнения протокола ARP в зависимости от топологии сети жертвы.

Червь вносил бесчисленное множество изменений в файловую систему жертвы, включая создание большого числа копий самого себя под различными именами. В некоторых случаях создавалось столько копий червя, что оказывалось занятым все пространство жесткого диска. Именами файлов червя являлись Admin.dll, Load.exe, MMC.EXE, readme.exe, Riched20.dll и MEP*.TMP.EXE.

Действие червя зависело от операционной системы жертвы, от имени файла, под видом которого выполнялся червь, а также от параметров командной строки, использованных при выполнении программы. При заражении жертвы червь Nimda открывал общий доступ через сеть к каждому локальному диску. В операционных системах Windows 95/98/Me доступ открывался без всякого пароля. В системах Windows NT/2000 пользователю Guest присваивалось разрешение на доступ ко всем общим ресурсам, причем он добавлялся в группу пользователей Администратор. Червь сводил к нулю всю защиту общих сетевых ресурсов в системах Windows NT/2000.

Для сканирования сети червь запускал до двухсот нитей (подпроцессов). Это действие вызывало значительную загрузку зараженного компьютера и всей сети. ARP, генерируемые сканирующей системой, или запросы DNS, генерируемые системой, отправляющей червь Nimda в сообщениях электронной почты, вызывали ошибки, выглядевшие как явные DoS-атаки. Дальнейший анализ с помощью дизассемблера показал, что червь Nimda повторно входил в фазу распространения через электронную почту каждые десять дней.

Особенности "троянских коней". "Троянский конь" представляет собой программу, размещаемую на компьютере, который предполагается использовать в дальнейшем. Термин, взятый из греческой мифологии, означает подаренного городу Троя гигантского коня, внутри которого находились греческие солдаты, атаковавшие город. Такая аналогия очень удачна, так как "троянские кони", в основном, используются для осуществления атаки на взлом с целью оставить "открытые двери" в систему, либо устанавливаются после успешного взлома в качестве "черных ходов", которые позволят хакеру вновь проникнуть в систему.

"Троянское кони" могут физически устанавливаться изнутри сети (опять мы имеем дело с внутренней угрозой), через электронную почту или веб-страницу, легкомысленно открытую получателем. Все это похоже на атаки с использованием вирусов, не правда ли? Другими словами, сообщение электронной почты или веб-страница, внедряющая "троянского коня", содержит вирус или червь с определенным типом действия (троянскую программу). Однако вирус наносит ущерб, как правило, сразу после первого запуска программы. Что касается "троянских коней",то они скрытно находятся в системе на протяжении некоторого времени, пока не представится возможность для нанесения удара.

Независимо от способа доставки, если не обнаружить и не удалить "троянского коня", он будет оставаться на компьютере до тех пор, пока не удалит себя сам, или пока хакер не решит, что "троянский конь" ему больше не нужен. Пока "троянский конь" присутствует в системе жертвы, он находится в полном распоряжении хакера.

"Троянские кони" используются самыми различными способами. Некоторые из них являются одноразовыми вредоносными программами, настроенными на удаление в определенное время. Другие выполняют функции, упрощающие выполнение задуманных действий хакера, такие программы называются агентами.

Одним из распространенных типов агентов является прослушивающая программа (sniffer), отслеживающая сообщения электронной почты, сетевые пакеты, клавиатуры, память компьютера и другие компоненты системы. Другой распространенный агент носит название Remote Access Trojan (RAT). RAT позволяет хакеру захватить управление компьютером или сервером и удаленно выполнять команды. Многие из программ "троянский конь", известные в хакерских кругах, комбинируют элементы снифферов и возможностей RAT.

При осуществлении атаки с помощью "троянского коня" такая комбинация используется довольно часто. Роль сниффера заключается в выявлении идентификаторов и паролей входа в систему. Он записывает нажимаемые пользователями клавиши или пакеты, отправляемые компьютером в сеть. Механизм записи зависит от типа прослушивающей программы. Сниффер может записывать данные в журнал, который потом просматривается хакером. В этот момент используется компонент атаки, реализующий удаленный контроль. RAT будет служить "черным ходом" для входа и просмотра файла журнала. Если на компьютере жертвы нет "черного хода", прослушивающая программа отправит журнал по электронной почте. В любом случае, просмотрев журнал, хакер найдет нужную для себя информацию.

При использовании инструментов, принятых в хакерском сообществе, суровой реальностью атаки с помощью "троянского коня" является то, что хакер, ответственный за конкретную атаку, является не единственным человеком, который использует "троянского коня" после его загрузки на компьютер-жертву. Хакерские средства настроены на работу с определенными портами. Из этого следует, что сканер портов может обнаружить уже размещенных в системах удаленно контролируемых "троянских коней". Всякий пользователь, выявивший присутствие "троянского коня", сможет получить доступ ко всем ресурсам, раскрываемым данной программой, даже если она была размещена на компьютере другим хакером.