Противодействие антивирусным программам

Одновременное использование технологий внедрения и методов социальной инженерии

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

Например, почтовый червь Mimail распространялся как вложение в электронное письмо. Для того чтобы пользователь обратил внимание на письмо, в него вставлялся специально оформленный текст, а для запуска копии червя из вложенного в письмо ZIP-архива — уязвимость в браузере Internet Explorer. В результате при открытии файла из архива червь создавал на диске свою копию и запускал её на исполнение без каких либо системных предупреждений или дополнительных действий пользователя. Кстати, этот червь был одним из первых, предназначенных для воровства персональной информации пользователей интернет-кошельков системы e-gold.

Другим примером является рассылка спама с темой «Привет» и текстом «Посмотри, что про тебя пишут». За текстом следовала ссылка на некую веб-страницу. При анализе выяснилось, что данная веб-страница содержит скрипт-программу, которая, пользуясь еще одной уязвимостью в Internet Explorer, загружает на компьютер пользователя троянскую программу LdPinch, предназначенную для воровства различных паролей.

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

Упаковка и шифрование кода. Значительная часть (если не большинство) современных компьютерных червей и троянских программ упакованы или зашифрованы тем или иным способом. Более того, компьютерным андеграундом создаются специально для этого предназначенные утилиты упаковки и шифровки. Например, вредоносными оказались абсолютно все встретившиеся в интернете файлы, обработанные утилитами CryptExe, Exeref, PolyCrypt и некоторыми другими.

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

Мутация кода. Разбавление троянского кода «мусорными» инструкциями. В результате функционал троянской программы сохраняется, но значительно меняется её «внешний вид». Периодически встречаются случаи, когда мутация кода происходит в режиме реального времени — при каждом скачивании троянской программы с заражённого веб-сайта. Т.е. все или значительная часть попадающих с такого сайта на компьютеры образцы троянца — разные. Примером применения этой технологии является почтовый червь Warezov, несколько версий которого вызвали значительные эпидемии во второй половине 2006 г.

Скрытие своего присутствия. Так называемые «руткит-технологии» (от англ. «rootkit»), обычно используемые в троянских программах. Осуществляется перехват и подмена системных функций, благодаря которым зараженный файл не виден ни штатными средствами операционной системы, ни антивирусными программами. Иногда также скрываются ветки реестра, в которых регистрируется копия троянца, и другие системные области компьютера. Данные технологии активно используются, например, троянцем-бэкдором HacDef.

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

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

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

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

4. Класифікація шкідливих програм

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

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

Первые попытки упорядочить процесс классификации были предприняты еще в начале 90-х годов прошлого века, в рамках альянса антивирусных специалистов CARO (Computer AntiVirus Researcher's Organization). Альянсом был создан документ «CARO malware naming scheme», который на какой-то период стал стандартом для индустрии.

Но со временем стремительное развитие вредоносных программ, появление новых платформ и рост числа антивирусных компаний привели к тому, что эта схема фактически перестала использоваться (см., например, статью Весселина Бончева «Current Status of the CARO Malware Naming Scheme»). Ещё более важной причиной отказа от неё стали существенные отличия в технологиях детектирования каждой антивирусной компании и, как следствие, невозможность унификации результатов проверки разными антивирусными программами.

Периодически предпринимаются попытки выработать новую общую классификацию детектируемых антивирусными программами объектов, однако они, по большей части, остаются безуспешными. Последним значительным проектом подобного рода было создание организации CME (Common Malware Enumeration), которая присваивает одинаковым детектируемым объектам единый уникальный идентификатор.

 

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