Способы проникновения вредоносных программ в систему

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

  • социальная инженерия (также употребляется термин «социальный инжиниринг» — калька с английского «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.

Остановка работы антивируса и системы получения обновлений антивирусных баз (апдейтов). Многие троянские программы и сетевые черви предпринимают специальные действия против антивирусных программ — ищут их в списке активных приложений и пытаются остановить их работу, портят антивирусные базы данных, блокируют получение обновлений и т.п. Антивирусным программам приходится защищать себя адекватными способами — следить за целостностью баз данных, прятать от троянцев свои процессы и т.п.

Скрытие своего кода на веб-сайтах. Адреса веб-страниц, на которых присутствуют троянские файлы, рано или поздно становятся известны антивирусным компаниям. Естественно, что подобные страницы попадают под пристальное внимание антивирусных аналитиков — содержимое страницы периодически скачивается, новые версии троянских программ заносятся в антивирусные обновления. Для противодействия этому веб-страница модифицируется специальным образом — если запрос идёт с адреса антивирусной компании, то скачивается какой-нибудь нетроянский файл вместо троянского.

Атака количеством. Генерация и распространение в интернете большого количества новых версий троянских программ за короткий промежуток времени. В результате антивирусные компании оказываются «завалены» новыми образцами, на анализ которых требуется время, что даёт злоумышленному коду дополнительный шанс для успешного внедрения в компьютеры.

Эти и другие методы используются компьютерным андеграундом для противодействия антивирусным программам. При этом активность киберпреступников растёт год за годом, и сейчас можно говорить о настоящей «гонке технологий», которая развернулась между антивирусной индустрией и индустрией вирусной. Одновременно растёт количество хакеров-индивидуалов и преступных групп, а также их профессионализм. Всё это вместе значительно увеличивает сложность и объём работы, необходимой антивирусным компаниям для разработки средств защиты достаточного уровня.