Противодействие вредоносным программам. Способы проникновения вредоносных программ в систему. Методы защиты от вирусов

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

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

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

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

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

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

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

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

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

Упаковка и шифрование кода. Значительная часть (если не большинство) современных компьютерных червей и троянских программ упакованы или зашифрованы тем или иным способом. Более того, компьютерным андеграундом создаются специально для этого предназначенные утилиты упаковки и шифровки. Например, вредоносными оказались абсолютно все встретившиеся в интернете файлы, обработанные утилитами 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), которая присваивает одинаковым детектируемым объектам единый уникальный идентификатор.

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

В.В. Киселев, В.А. Ярош

кандидат технических наук

ПРОТИВОДЕЙСТВИЕ ВРЕДОНОСНЫМ ПРОГРАММАМ: СПОСОБЫ

И СРЕДСТВА

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

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

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

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

путем выполнения операций сравнения текущих параметров вычислительного процесса в защищенной информационной системе с заранее известными эталонными величинами.

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

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

В основу реализации структурно-независимых механизмов идентификации вредоносных программ в защищенных информационных системах положены способы их детектирования с помощью профессиональных пакетов антивирусных средств. Основными методами при этом являются:

сканирование;

эвристическое сканирование;

СЯС-сканирование;

антивирусный мониторинг;

иммунизация.

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

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

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

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

Некоторые антивирусные средства для обнаружения вредоносных программ реализуют алгоритмы, основанные на подсчете контрольных сумм (СЯС-сумм) для всех хранимых на носителях файлов и системных секторов. Информация о контрольных суммах, а также данные о длине файлов, даты их последней модификации и т.д. сводится в базу данных и используется при последующих запусках СЯС-сканеров для

сравнения с реально подсчитанными значениями. Если информация о файле, записанная в базе данных, не совпадает с реальными значениями, то CRC-сканеры сигнализируют о воздействии вредоносной программы. Анализ алгоритмов CRC-сканирования показывает, что наилучшие возможности по обнаружению вредоносных программ имеют CRC-сканеры, использующие так называемые «антистелс»-алгоритмы. Однако у этого типа антивирусов есть принципиальный недостаток, состоящий в том, что CRC-сканеры не способны обнаружить вредоносную программу в момент ее появления в системе, а делают это лишь через некоторое время, уже после того, как вредоносная программа стала реализовывать свои функции. CRC-сканеры не могут детектировать вредоносную программу в новых файлах, например в электронной почте, на дискетах, в файлах, восстанавливаемых из файлов типа «backup» или при распаковке файлов из архива), поскольку в их базах данных отсутствует информация об этих файлах. Более того, периодически появляются вредоносные программы, которые используют эту «слабость» CRC-сканеров, заражают только вновь создаваемые файлы и остаются, таким образом, невидимыми для CRC-сканеров.

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

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

Иммунизаторы - это программы, имитирующие заражение файлов вредоносными программами. Иммунизаторы делятся на два типа: иммунизаторы, осуществляющие контроль собственного тела, и иммунизаторы, блокирующие заражение определенным типом вредоносной программы. Первые обычно записываются в конец файлов (по принципу файлового вируса) и при запуске файла каждый раз проверяют его на изменение. Недостатком таких иммунизаторов является неспособность детектировать заражение вредоносной программой, использующей «стелс»-алгоритм. Второй тип иммунизации защищает элементы компьютерных сетей от поражения вирусом определенного вида. Файлы на дисках модифицируются таким образом, что вирус воспринимает их как уже зараженные. Для защиты от вредоносных программ с механизмами резидентного вируса в память компьютера заносится программа, имитирующая копию вируса: при попытке вредоносной программы внедриться в файлы иммунизатор сообщает ей о том, что файлы уже заражены.

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

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

Таблица 1

Наименование антивирусного средства Механизм

Сканирова- ние Эвристическое сканирование CRC - сканирование Мониторинг Иммуниза- ция

ADINF («Диалог- Наука») +

DrWeb («Диалог- Наука») + +

AVP («Лаборатория Касперского») + +

Norton AntiVirus (Norton Inc.) + +

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

перехват управления путем передачи ложного запроса базовому модулю операционной системы на обслуживание функций прерываний по выполнению программ (шаг 1);

восстановление исходного вида программы, в которую внедрена вредоносная программа (шаг 2);

инфицирование оперативной памяти компьютера (шаг 3);

выполнение вредоносных функций по противоправному манипулированию информацией (шаг 4);

возврат управления основной программе (шаг 5).

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

Наиболее целесообразной формой обнаружения действий вредоносных программ, соответствующих шагам 1, 2 и 3, является:

1) сравнение последовательности выполняемых контрольных точек в программе с эталонной (контрольная функция типа 1);

2) анализ начала файла на наличие кодов команды перехода или кода, не соответствующего реальному адресу ее запуска, относящийся к типу контрольных операций проверки соответствия данных области значений (контрольная операция типа 1);

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

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

Для контроля выполнения вредоносных функций (шаг 4) целесообразно использовать систему контрольных проверок, контролирующих как выполнение отдельных операций, так и реализацию целых функций ПО по обработке и передаче информации в защищенных информационных системах. При этом проверка операций обработки и передачи информации в ПМ осуществляется операциями контроля, а проверка функций обработки - функциями контроля, реализуемыми отдельными модулями контроля. Основными операциями контроля являются:

проверка соответствия данных области значений (контрольная операция типа 1); проверка предельных значений входных данных, промежуточных и выходных результатов (контрольная операция типа 2);

проверка времени выполнения ПМ (контрольная операция типа 3); проверка периодичности выдачи результатов или периодичности выполнения ПМ (контрольная операция типа 4);

проверка соответствия данных их типам (контрольная операция типа 5); проверка формата записей данных требуемым шаблонам (контрольная операция типа 6).

К числу основных функций контроля относятся:

проверка получаемых результатов путем обработки другим методом (контрольная функция типа 2);

проверка результатов путем получения из них исходных данных обратной обработкой (контрольная функция типа 3);

проверка расчетных значений некоторых признаков получаемых результатов (число записей, объемы массивов и т.д.) с их текущими значениями (контрольная функция типа 4);

проверка текущих значений полей данных в записях и массивах путем сравнения результатов выполнения математических операций над ними с заранее вычисленными условиями (контрольная функция типа 5);

проверка текущих значений результатов обработки со значениями математически или логически связанных с ними величин (контрольная функция типа 6);

проверка смысловых соотношений между результатами обработки (контрольная функция типа 7).

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

Наиболее целесообразной формой контроля действий вредоносной программы на шаге возврата управления основной программе (шаг 5) является, как и на шаге перехвата управления (шаг 1), сравнение последовательности выполняемых контрольных точек в программе с эталонной (контрольная функция типа 1), выполняемой компонентами операционной системы.

Обобщенные результаты рассмотренного анализа способов обнаружения воздействий вредоносных программ приводятся в таблице 2.

Таблица 2

Шаг действия

вредоносной Форма контроля Уровень контроля

программы

1 Контрольная функция типа 1 Системный

2 Контрольная операция типа 1 Системный

3 Контрольная операция типа 1 Системный

4 Контрольные операции типа 1-6 Контрольные функции типа 2-7 Прикладной

5 Контрольная функция типа 1 Системный

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

ЛИТЕРАТУРА

1. Козлов В.Е. Теория и практика борьбы с компьютерной преступностью /

В.Е. Козлов. - М.: Горячая линия - Телеком, 2002.- 176 с.

2. Касперски К. Техника сетевых атак. Приемы противодействия / К. Касперски. - М.: Солон-Р, 2001.- 397 с.

3. Сердюк В. А. Перспективные технологии обнаружения информационных атак / В.А. Сердюк // Системы безопасности.- 2002.- № 5(47).- С. 96-97.

4. Антимонов С.Г. Интеллектуальные противостояния по линии фронта Вирус-антивирус // Информация и безопасность: материалы межрегиональной научно-практ. конф.- Информация и безопасность.- Выпуск 2.- Воронеж: ВГТУ, 2002.- С. 39-46.

5. Распределенный антивирусный контроль как способ противодействия вредоносным программам в автоматизированных информационных системах / С. В. Скрыль и др. // Радиосистемы.- Вып. 37 «Радиотехнические и информационные системы охраны и безопасности».- Радиотехника.- 1999.- №6.- С. 27-30.

6. Минаев В.А. Принципы организации противодействия вредоносным программам в информационно-телекоммуникационных системах на основе оптимизации их функционирования / В. А. Минаев, С.В. Скрыль // Радиосистемы.- Вып. 47 «Радиотехнические и информационные системы охраны и безопасности».- Радиотехника.- 2000.- №9.- С. 71-72.

7. Лозинский Д.Н. Информационная безопасность. Проблема нового тысячелетия / Д.Н. Лозинский, Е.В. Плескач // Системы безопасности.- 2002.- № 4(46).- С. 13.

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

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

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

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

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

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: