Способы проникновения вредоносных программ в систему
Необходимой для вирусописателей и кибер-преступников задачей является внедрение вируса, червя или троянской программы в компьютер-жертву или мобильный телефон. Достигается эта цель различными способами, которые делятся на две основные категории:
социальная инженерия (также употребляется термин «социальный инжиниринг» — калька с английского «social engineering»);
технические приёмы внедрения вредоносного кода в заражаемую систему без ведома пользователя.
Часто эти способы используются одновременно. При этом так же часто используются специальные меры по противодействию антивирусным программам.
Социальная инженерия
Методы социальной инженерии тем или иным способом заставляют пользователя запустить заражённый файл или открыть ссылку на заражённый веб-сайт. Эти методы применяются не только многочисленными почтовыми червями, но и другими видами вредоносного программного обеспечения.
Задача хакеров и вирусописателей — привлечь внимание пользователя к заражённому файлу (или HTTP-ссылке на заражённый файл), заинтересовать пользователя, заставить его кликнуть по файлу (или по ссылке на файл). «Классикой жанра» является нашумевший в мае 2000 года почтовый червь LoveLetter, до сих пор сохраняющий лидерство по масштабу нанесённого финансового ущерба, согласно данным от Computer Economics. Сообщение, которое червь выводил на экран, выглядело следующим образом:
На признание «I LOVE YOU» среагировали очень многие, и в результате почтовые сервера больших компаний не выдержали нагрузки — червь рассылал свои копии по всем контактам из адресной книги при каждом открытии вложенного VBS-файла.
Почтовый червь Mydoom, «рванувший» в интернете в январе 2004 г., использовал тексты, имитирующие технические сообщения почтового сервера.
Стоит также упомянуть червь Swen, который выдавал себя за сообщение от компании Microsoft и маскировался под патч, устраняющий ряд новых уязвимостей в Windows (неудивительно, что многие пользователи поддались на призыв установить «очередную заплатку от Microsoft»).
Случаются и казусы, один из которых произошел в ноябре 2005. В одной из версий червя Sober сообщалось, что немецкая криминальная полиция расследует случаи посещения нелегальных веб-сайтов. Это письмо попало к любителю детской порнографии, который принял его за официальное письмо, — и послушно сдался властям.
В последнее время особую популярность приобрели не файлы, вложенные в письмо, а ссылки на файлы, расположенные на заражённом сайте. Потенциальной жертве отправляется сообщение — почтовое, через ICQ или другой пейджер, реже — через интернет-чаты IRC (в случае мобильных вирусов обычным способом доставки служит SMS-сообщение). Сообщение содержит какой-либо привлекательный текст, заставляющий ничего не подозревающего пользователя кликнуть на ссылку. Данный способ проникновения в компьютеры-жертвы на сегодняшний день является самым популярным и действенным, поскольку позволяет обходить бдительные антивирусные фильтры на почтовых серверах.
Используются также возможности файлообменных сетей (P2P-сети). Червь или троянская программа выкладывается в P2P-сеть под разнообразными «вкусными» названиями, например:
AIM & AOL Password Hacker.exe
Microsoft CD Key Generator.exe
PornStar3D.exe
play station emulator crack.exe
В поиске новых программ пользователи P2P-сетей натыкаются на эти имена, скачивают файлы и запускают их на выполнение.
Также достаточно популярны «разводки», когда жертве подсовывают бесплатную утилиту или инструкцию по взлому различных платёжных систем. Например, предлагают получить бесплатный доступ к интернету или сотовому оператору, скачать генератор номеров кредитных карт, увеличить сумму денег в персональном интернет-кошельке и т.п. Естественно, что пострадавшие от подобного мошенничества вряд ли будут обращаться в правоохранительные органы (ведь, по сути, они сами пытались заработать мошенническим способом), и интернет-преступники вовсю этим пользуются.
Необычный способ «разводки» использовал неизвестный злоумышленник из России в 2005-2006 годах. Троянская программа рассылалась на адреса, обнаруженные на веб-сайте job.ru, специализирующемся на трудоустройстве и поиске персонала. Некоторые из тех, кто публиковал там свои резюме, получали якобы предложение о работе с вложенным в письмо файлом, который предлагалось открыть и ознакомиться с его содержимым. Файл был, естественно, троянской программой. Интересно также то, что атака производилась в основном на корпоративные почтовые адреса. Расчёт, видимо, строился на том, что сотрудники компаний вряд ли будут сообщать об источнике заражения. Так оно и произошло — специалисты «Лаборатории Касперского» более полугода не могли получить внятной информации о методе проникновения троянской программы в компьютеры пользователей.
Бывают и довольно экзотические случаи, например, письмо с вложенным документом, в котором клиента банка просят подтвердить (вернее — сообщить) свои коды доступа — распечатать документ, заполнить прилагаемую форму и затем отправить её по факсу на указанный в письме телефонный номер.
Другой необычный случай доставки шпионской программы «на дом» произошел в Японии осенью 2005. Некие злоумышленники разослали заражённые троянским шпионом CD-диски на домашние адреса (город, улица, дом) клиентов одного из японских банков. При этом использовалась информация из заранее украденной клиентской базы этого самого банка.
Технологии внедрения
Эти технологии используются злоумышленниками для внедрения в систему вредоносного кода скрытно, не привлекая внимания владельца компьютера. Осуществляется это через уязвимости в системе безопасности операционных систем и в программном обеспечении. Наличие уязвимостей позволяет изготовленному злоумышленником сетевому червю или троянской программе проникнуть в компьютер-жертву и самостоятельно запустить себя на исполнение.
Уязвимости являются, по сути, ошибками в коде или в логике работы различных программ. Современные операционные системы и приложения имеют сложную структуру и обширный функционал, и избежать ошибок при их проектировании и разработке просто невозможно. Этим и пользуются вирусописатели и компьютерные злоумышленники.
Уязвимостями в почтовых клиентах Outlook пользовались почтовые черви Nimda и Aliz. Для того чтобы запустить файл червя, достаточно было открыть заражённое письмо или просто навести на него курсор в окне предварительного просмотра.
Также вредоносные программы активно использовали уязвимости в сетевых компонентах операционных систем. Для своего распространения такими уязвимостями пользовались черви CodeRed, Sasser, Slammer, Lovesan (Blaster) и многие другие черви, работающие под ОС Windows. Под удар попали и Linux-системы — черви Ramen и Slapper проникали на компьютеры через уязвимости в этой операционной среде и приложениях для неё.
В последние годы одним из наиболее популярных способов заражения стало внедрение вредоносного кода через веб-страницы. При этом часто используются уязвимости в интернет-браузерах. На веб-страницу помещается заражённый файл и скрипт-программа, которая использует уязвимость в браузере. При заходе пользователя на заражённую страницу срабатывает скрипт-программа, которая через уязвимость закачивает заражённый файл на компьютер и запускает его там на выполнение. В результате для заражения большого числа компьютеров достаточно заманить как можно большее число пользователей на такую веб-страницу. Это достигается различными способами, например, рассылкой спама с указанием адреса страницы, рассылкой аналогичных сообщений через интернет-пейджеры, иногда для этого используют даже поисковые машины. На заражённой странице размещается разнообразный текст, который рано или поздно обсчитывается поисковыми машинами — и ссылка на эту страницу оказывается в списке других страниц в результатах поиска.
Отдельным классом стоят троянские программы, которые предназначены для скачивания и запуска других троянских программ. Обычно эти троянцы, которые имеют очень небольшой размер, тем или иным образом (например, используя очередную уязвимость в системе) «подсовываются» на компьютер-жертву, а затем уже самостоятельно выкачивают из интернета и устанавливают в систему другие вредоносные компоненты. Часто такие троянские программы меняют настройки браузера на самые небезопасные, чтобы «облегчить дорогу» другим троянцам.
Уязвимости, о которых становятся известно, достаточно оперативно исправляются компаниями-разработчиками, однако постоянно появляется информация о новых уязвимостях, которые тут же начинают использоваться многочисленными хакерами и вирусописателями. Многие троянские «боты» используют новые уязвимости для увеличения своей численности, а новые ошибки в Microsoft Office тут же начинают применяться для внедрения в компьютеры очередных троянских программ. При этом, к сожалению, имеет место тенденция сокращения временного промежутка между появлением информации об очередной уязвимости и началом её использования червями и троянцами. В результате компании-производители уязвимого программного обеспечения и разработчики антивирусных программ оказываются в ситуации цейтнота. Первым необходимо максимально быстро исправить ошибку, протестировать результат (обычно называемый «заплаткой», «патчем») и разослать его пользователям, а вторым — немедленно выпустить средство детектирования и блокирования объектов (файлов, сетевых пакетов), использующих уязвимость.
Одновременное использование технологий внедрения и методов социальной инженерии
Достаточно часто компьютерными злоумышленниками используются сразу оба метода. Метод социальной инженерии — для привлечения внимания потенциальной жертвы, а технический — для увеличения вероятности проникновения заражённого объекта в систему.
Например, почтовый червь Mimail распространялся как вложение в электронное письмо. Для того чтобы пользователь обратил внимание на письмо, в него вставлялся специально оформленный текст, а для запуска копии червя из вложенного в письмо ZIP-архива — уязвимость в браузере Internet Explorer. В результате при открытии файла из архива червь создавал на диске свою копию и запускал её на исполнение без каких либо системных предупреждений или дополнительных действий пользователя. Кстати, этот червь был одним из первых, предназначенных для воровства персональной информации пользователей интернет-кошельков системы e-gold.
Другим примером является рассылка спама с темой «Привет» и текстом «Посмотри, что про тебя пишут». За текстом следовала ссылка на некую веб-страницу. При анализе выяснилось, что данная веб-страница содержит скрипт-программу, которая, пользуясь еще одной уязвимостью в Internet Explorer, загружает на компьютер пользователя троянскую программу LdPinch, предназначенную для воровства различных паролей.
Противодействие антивирусным программам
Поскольку цель компьютерных злоумышленников — внедрить вредоносный код в компьютеры-жертвы, то для этого им необходимо не только вынудить пользователя запустить заражённый файл или проникнуть в систему через какую-либо уязвимость, но и незаметно проскочить мимо установленного антивирусного фильтра. Поэтому не удивительно, что злоумышленники целенаправленно борются с антивирусными программами. Используемые ими технические приёмы весьма разнообразны, но чаще всего встречаются следующие:
Упаковка и шифрование кода. Значительная часть (если не большинство) современных компьютерных червей и троянских программ упакованы или зашифрованы тем или иным способом. Более того, компьютерным андеграундом создаются специально для этого предназначенные утилиты упаковки и шифровки. Например, вредоносными оказались абсолютно все встретившиеся в интернете файлы, обработанные утилитами CryptExe, Exeref, PolyCrypt и некоторыми другими.
Для детектирования подобных червей и троянцев антивирусным программам приходится либо добавлять новые методы распаковки и расшифровки, либо добавлять сигнатуры на каждый образец вредоносной программы, что снижает качество детектирования, поскольку не всегда все возможные образцы модифицированного кода оказываются в руках антивирусной компании.
Мутация кода. Разбавление троянского кода «мусорными» инструкциями. В результате функционал троянской программы сохраняется, но значительно меняется её «внешний вид». Периодически встречаются случаи, когда мутация кода происходит в режиме реального времени — при каждом скачивании троянской программы с заражённого веб-сайта. Т.е. все или значительная часть попадающих с такого сайта на компьютеры образцы троянца — разные. Примером применения этой технологии является почтовый червь Warezov, несколько версий которого вызвали значительные эпидемии во второй половине 2006 г.
Скрытие своего присутствия. Так называемые «руткит-технологии» (от англ. «rootkit»), обычно используемые в троянских программах. Осуществляется перехват и подмена системных функций, благодаря которым зараженный файл не виден ни штатными средствами операционной системы, ни антивирусными программами. Иногда также скрываются ветки реестра, в которых регистрируется копия троянца, и другие системные области компьютера. Данные технологии активно используются, например, троянцем-бэкдором HacDef.
Остановка работы антивируса и системы получения обновлений антивирусных баз (апдейтов). Многие троянские программы и сетевые черви предпринимают специальные действия против антивирусных программ — ищут их в списке активных приложений и пытаются остановить их работу, портят антивирусные базы данных, блокируют получение обновлений и т.п. Антивирусным программам приходится защищать себя адекватными способами — следить за целостностью баз данных, прятать от троянцев свои процессы и т.п.
Скрытие своего кода на веб-сайтах. Адреса веб-страниц, на которых присутствуют троянские файлы, рано или поздно становятся известны антивирусным компаниям. Естественно, что подобные страницы попадают под пристальное внимание антивирусных аналитиков — содержимое страницы периодически скачивается, новые версии троянских программ заносятся в антивирусные обновления. Для противодействия этому веб-страница модифицируется специальным образом — если запрос идёт с адреса антивирусной компании, то скачивается какой-нибудь нетроянский файл вместо троянского.
Атака количеством. Генерация и распространение в интернете большого количества новых версий троянских программ за короткий промежуток времени. В результате антивирусные компании оказываются «завалены» новыми образцами, на анализ которых требуется время, что даёт злоумышленному коду дополнительный шанс для успешного внедрения в компьютеры.
Эти и другие методы используются компьютерным андеграундом для противодействия антивирусным программам. При этом активность киберпреступников растёт год за годом, и сейчас можно говорить о настоящей «гонке технологий», которая развернулась между антивирусной индустрией и индустрией вирусной. Одновременно растёт количество хакеров-индивидуалов и преступных групп, а также их профессионализм. Всё это вместе значительно увеличивает сложность и объём работы, необходимой антивирусным компаниям для разработки средств защиты достаточного уровня.
Электронная почта
Электронная почта остается одним из основных источников проникновения в корпоративную сеть вредоносных программ. Можно выделить несколько основных способов применения электронной почты в качестве средства переноса вредоносной программы:
рассылка вредоносных программ «в чистом виде» — в этом случае вредоносное ПО является вложением в письмо и его автоматический запуск не предусмотрен. Запуск вредоносной программы осуществляет сам пользователь, для чего нередко в письме применяются элементы социальной инженерии. Вложенный malware необязательно является исполняемым файлом — часто встречаются вредоносные скрипты, например Worm.Win32.Feebs, которые рассылаются по почте в виде HTA?файлов, содержащих зашифрованный скрипт, который загружает исполняемый файл из Интернета;
вредоносная программа с измененным расширением — этот метод отличается от предыдущего тем, что вложенный в письмо исполняемый файл имеет двойное расширение, например Document.doc.pif. В данном случае пробелы применяются для маскировки реального расширения файла и их количество может варьироваться от 10-15 до сотни. Более оригинальный метод маскировки состоит в применении расширения *.com — в результате вложенный файл может ошибочно рассматриваться пользователем как ссылка на сайт, например www.playboy.com пользователь, вероятнее всего, посчитает ссылкой на сайт, а не вложенным файлом с именем www.playboy и расширением *.com;
вредоносная программа в архиве — архивация является дополнительным уровнем защиты от антивирусных сканеров, причем архив может быть умышленно поврежден (но не настолько, чтобы из него нельзя было извлечь вредоносный файл) или зашифрован с паролем. В случае защиты архива паролем последний размещается в теле письма в виде текста или картинки — подобный прием, к примеру, применялся в почтовом черве Bagle. Запуск вредоносной программы в данном случае возможен исключительно по причине любопытства пользователя, которому для этого необходимо вручную ввести пароль и затем запустить извлеченный файл;
письмо в html-формате с эксплойтом для запуска вложенной вредоносной программы — в настоящее время такие почтовые вирусы встречаются редко, но в 2001-2003 годах они были широко распространены (типичные примеры — Email-Worm.Win32.Avron, Email-Worm.Win32.BadtransII, Net-Worm.Win32.Nimda);
письмо со ссылкой на вредоносный объект.
Письма со ссылкой на вредоносный объект получили в последнее время широкое распространение, поэтому данный метод заслуживает более детального рассмотрения. Он основан на том, что в письме отсутствует вредоносный код, а следовательно, почтовый антивирус не может его детектировать и блокировать пересылку письма. Текст письма подготавливается по методам социальной инженерии и нацелен на то, чтобы убедить пользователя открыть находящуюся в теле письма ссылку. Типичные примеры — маскировка под поздравительную открытку (рис. 1).
Рис. 1. «Поздравительная открытка»
На рисунке показана весьма грубая подделка: хорошо видно, что письмо пришло с какого-то непонятного адреса, да и ссылка с IP-адресом вместо имени сайта не внушает доверия. Тем не менее, по статистике автора, на таких письмах «попадаются» тысячи пользователей. Более качественный вариант поддельного сообщения о поздравительной открытке показан на рис. 2.
Рис. 2. Более качественная поддельная открытка
В данном случае распознать фальшивку гораздо сложнее: визуально письмо действительно пришло от службы postcard.ru и ссылка на страницу-открытку ведет на этот сайт. В данном случае обман основан на том, что письмо имеет формат html и ссылка выполнена стандартным тэгом <a>. Как известно, оформление ссылки при помощи этого тэга имеет вид:
<a href=”URL ресурса”>текстовое описание</a>
Текстовое описание может быть произвольным, так как оно никак не связано с открываемым URL. Поэтому в данном письме текстовое описание ссылки — www.postcard.ru/card.php?4295358104, а реальная ссылка указывает на совершенно иной ресурс. Данный прием элементарно реализуется и легко вводит пользователя в заблуждение.
Размещенная в подобных письмах ссылка может быть трех видов:
ссылка ведет непосредственно на исполняемый файл вредоносной программы — это простейший случай. При открытии данной ссылки пользователь получит запрос о том, что делать с файлом по данной ссылке: сохранить или запустить. Выбор «запустить» приводит к запуску вредоносного кода и поражению ПК. Практика показывает, что пользователи обычно не задумываются об опасности. Наиболее свежим примером является вредоносная программа Virus.VBS.Agent.c, которая уничтожает файлы на диске (собственно, из-за этого она и причислена к категории Virus) и распространяет себя путем рассылки по электронной почте «поздравительных открыток» со ссылкой на свой исполняемый файл, размещенный непосредственно на сайте разработчика вируса. Большое количество пострадавших от данного вируса пользователей — наглядный пример эффективности этого метода;
ссылка на сайт, замаскированный под сайт легитимной программы. Типичный пример — программы для «взлома» сотовых провайдеров и почтовых ящиков, у которых зачастую имеется домашняя страничка, правдоподобная документация и инсталляционный пакет;
ссылка ведет на html-страницу с эксплойтом. Это распространенный вариант (во время написания статьи автор зафиксировал настоящую эпидемию подобных писем), и он опаснее прямой ссылки на исполняемый файл, так как подобную ссылку очень сложно обнаружить по протоколам прокси-сервера и заблокировать. В случае успешного выполнения эксплойт выполняет загрузку вредоносного кода, причем в результате на пораженный компьютер может быть установлено более десяти вредоносных программ. Обычный набор: почтовые черви, ворующая пароли троянская программе, набор троянских программ класса Trojan-Spy и Trojan-Proxy.
Меры защиты от распространяемых по электронной почте вредоносных программ достаточно очевидны. Как минимум, требуется установить антивирус на почтовом сервере (или при выборе хостера обратить внимание на предлагаемую им антивирусную защиту почты). Кроме того, стоит провести еще ряд мероприятий:
объяснить пользователям, чем опасно открытие вложенных в письма программ и находящихся в них ссылок. Очень полезно научить пользователей определять реальный URL ссылок;
при наличии технической возможности блокировать отправку и прием писем с вложенными исполняемыми файлами и зашифрованными архивами. В «Смоленскэнерго», к примеру, подобная блокировка действует уже длительное время и показала свою высокую эффективность (при этом блокируемые письма помещаются в карантин и могут быть извлечены администратором);
установить фильтры для блокировки писем по содержанию и поддерживать их в актуальном состоянии. Такие фильтры эффективны против писем, содержащих ссылки на вредоносные программы, — обычно их несложно отфильтровать по ключевым словам типа Animated card или postcard. Побочный эффект — блокировка реальных поздравительных открыток и аналогичных писем, компромиссное решение — установка такого фильтра в антиспам-системы и маркировка писем в качестве спама.
Интернет
По количеству расследованных инцидентов Интернет также является одним из основных источников проникновения вредоносных программ в сеть. Можно выделить несколько основных способов, широко используемых злоумышленниками:
всевозможные крэки и генераторы серийных номеров — статистика показывает, что в ходе поиска ключа или крэка на хакерских сайтах вероятность поражения компьютера вредоносными программами весьма велика. Причем такая программа может быть загружена в архиве с крэком или получена в ходе работы с сайтом в результате деятельности эксплойтов и вредоносных скриптов на хакерских сайтах. Контрмеры — блокировка доступа к хакерским сайтам на уровне прокси-сервера и запрет их посещения на уровне политики безопасности и иных руководящих документов фирмы;
взломанные легитимные сайты — согласно статистике, в последнее время взломы сайтов участились и ведутся по типовым схемам. В html-код страниц зараженного сайта внедряется небольшой код — обычно ведущий на страницу с эксплойтом тэг IFRAME или зашифрованный скрипт, тем или иным способом переадресующий пользователя на зараженный сайт (возможна динамическая вставка тэга IFRAME в тело страницы, перенаправление на страницу-эксплойт и т.п.). Главная опасность заключается в том, что взлом сайта невозможно предсказать и соответственно очень сложно защитить от него пользователя (рис. 3).
Рис. 3. Код эксплойта, добавленный к концу HTML-страницы
взломанного сайта
Как видно на рисунке, код эксплойта добавлен в конец html-страницы автоматическими средствами и представляет собой зашифрованный скрипт. Шифровка скрипта является мерой защиты от исследования, но основное ее назначение — защита от сигнатурного детектирования. В более сложных случаях хакерские вставки могут размещаться в коде страницы, что затрудняет их обнаружение.
Защита от эксплойтов в web-страницах сводится к оперативной установке обновлений операционной системы и браузера. Кроме того, неплохие результаты дает запуск браузера с минимально возможными привилегиями, что может существенно снизить ущерб в случае срабатывания эксплойта.
Флэш-носители
Носители такого вида в настоящее время очень широко применяются — это флэш-диски и флэш-карты, HDD-диски с USB-интерфейсом, сотовые телефоны, фотоаппараты, диктофоны. Распространение данных устройств приводит к увеличению количества вредоносных программ, использующих данные носители в качестве средства переноса. Можно выделить три базовых способа заражения флэш-диска:
создание в корне диска файла autorun.inf для запуска вредоносной программы и размещение ее в любом месте на диске (необязательно в корне диска). Работа autorun.inf на флэш-диске идентична работе подобного файла на CD-ROM, соответственно при подключении или открытии диска в проводнике производится запуск вредоносной программы;
создание в корне диска или в существующих на диске папках файлов, которые своими именами и иконками напоминают файлы или папки. Автором был проделан опыт: на флэш-дисках участвовавших в эксперименте пользователей был помещен безобидный исполняемый файл с иконкой, визуально неотличимой от иконки папки, и с именем MP3. Опыт показал, что пользователи немедленно проявили интерес к новой папке и решили посмотреть ее содержимое, осуществив двойной клик мышью на «папке», что привело к запуску исполняемого файла;
использование принципа «вирус-компаньон». По сути данный метод идентичен предыдущему, но в этом случае вредоносная программа создает множество своих копий, причем их имена совпадают с именами имеющихся на флэш-диске файлов или папок.
Методики защиты от распространения вредоносных программ на флэш-носителях довольно просты:
на компьютерах пользователей следует установить антивирусную защиту с монитором, проверяющим файлы в режиме реального времени;
эффективной мерой защиты является отключение автозапуска;
на стратегически важных ПК хорошей мерой безопасности является блокирование возможности использования флэш-носителей. Блокировка может осуществляться механически (отключением USB-портов и их опечатыванием) и логически при помощи специального ПО;
написание локальных политик безопасности, блокирующих запуск приложений с флэш-диска.
Ноутбуки и КПК
Мобильные компьютеры являются еще одним средством переноса для вредоносных программ. Типичная ситуация — использование ноутбука в командировке, когда он, как правило, подключается к чужой сети. В ходе работы может произойти заражение ноутбука, чаще всего сетевым червем. Когда зараженный ноутбук подключается к «родной» сети, возможно заражение находящихся в ней ПК. Защититься от этого сложно, комплекс мер по обеспечению безопасности можно свести к следующему:
установка на ноутбук антивируса и брандмауэра с обязательным периодическим контролем их работоспособности со стороны администратора;
проверка ноутбука перед его подключением к сети, правда данная операция не всегда возможна технически, требует больших временных затрат и снижает мобильность пользователя;
создание особой «гостевой» подсети для ноутбуков и принятие мер по защите основной ЛВС от данной подсети.