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


Слово «бот» – это сокращение от слова «робот». Бот представляет собой фрагмент кода, который выполняет некоторую функциональность для своего хозяина, являющегося автором этого кода. Боты (bot) являются разновидностью вредоносных программ, они установлены на тысячах компьютеров. Компьютер, на котором установлен бот, называют зомби (zombie). Бот получает команды от своего хозяина и заставляет зараженный компьютер выполнять их. Такими командами может быть рассылка спама, вирусов или проведение атак. Злоумышленник предпочитает выполнять такие действия с использованием ботов, а не своего компьютера, поскольку это позволяет ему избежать обнаружения и идентификации.

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

Хозяин этой ботсети управляет входящими в нее системами удаленно, как правило, посредством протокола IRC (Internet Relay Chat).

Основные шаги создания и использования ботсетей приведены ниже:

  1. Хакер различными способами направляет потенциальным жертвам вредоносный код, который содержит в себе программное обеспечение бота.
  2. После успешной установки на системе жертвы, бот устанавливает контакт с управляющим сервером ботсети, связываясь с ним через IRC или специальный веб-сервер, в соответствии с тем, что указано в его коде. После этого управляющий сервер берет на себя управление новым ботом.
  3. Спамер платит хакеру за использование систем его ботсети, хакер передает на управляющий сервер соответствующие команды, а управляющий сервер, в свою очередь, дает команду всем зараженным системам, входящим в ботсеть, рассылать спам.
Спамеры используют этот метод потому, что это значительно повышает вероятность достижения их сообщениями получателей, в обход установленных у них спам-фильтров, т.к. такие сообщения будут отправляться не с одного адреса, который быстро будет заблокирован или добавлен во все «черные списки», а со множества реальных адресов владельцев взломанных компьютеров.

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

Традиционное антивирусное программное обеспечение использует сигнатуры для обнаружения вредоносного кода. Сигнатуры – это «отпечатки пальцев» вредоносного кода, созданные производителем антивирусного программного обеспечения. Сигнатура представляет собой фрагменты кода, извлеченные из самого вируса. Антивирусная программа сканирует файлы, сообщения электронной почты и другие данные, проходящие через определенные , и сравнивает их со своей базой вирусных сигнатур. При выявлении совпадений, антивирусная программа выполняет заранее настроенное действие, которым может быть отправка зараженного файла в карантин, попытка «вылечить» файл (удалить вирус), отображение окна с предупреждением для пользователя и/или запись события в .

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

ПРИМЕЧАНИЕ . Червь Slammer появился в 2003 году. Он использовал уязвимость в СУБД Microsoft SQL Server 2000, позволяющую провести и вызвать отказ в обслуживании. По некоторым оценкам Slammer нанес ущерб на сумму свыше 1 млрд. долларов.
Поскольку новые вредоносные программы создаются ежедневно, производителям антивирусного программного обеспечения трудно не отставать. Технология использования вирусных сигнатур позволяет обнаруживать вирусы, которые уже были выявлены, и для которых была создана сигнатура. Но в связи с тем, что вирусописатели очень плодовиты, а многие вирусы могут изменять свой код, очень важно, чтобы антивирусное программное обеспечение имело и другие механизмы, позволяющие обнаружить вредоносный код.

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

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

ПРИМЕЧАНИЕ . Бездисковые рабочие станции так же уязвимы для вирусов, несмотря на отсутствие у них жесткого диска и полноценной операционной системы. Они могут быть заражены вирусами, которые загружаются и живут в памяти. Такие системы могут быть перезагружены дистанционно (удаленная перезагрузка), чтобы очистить память и вернуть ее в исходное состояние, т.е. вирус кратковременно живет в такой системе.
Некоторые антивирусные продукты создают искусственную среду, называемую виртуальной машиной или песочницей, и позволяют некоторой части подозрительного кода выполниться в защищенной среде. Это дает антивирусной программе возможность увидеть код в действий, что дает гораздо больше информации для принятия решения, является ли он вредоносным или нет.
ПРИМЕЧАНИЕ . Виртуальную машину или песочницу иногда называют буфером эмуляции (emulation buffer). Это то же самое, что защищенный сегмент памяти, поэтому даже если код действительно окажется вредоносным, система все равно останется в безопасности.
Анализ информации о части кода называется статическим анализом , если выполняется запуск части кода на виртуальной машине, это называется динамическим анализом . Оба этих метода считаются эвристическими методами обнаружения.
Вакцинация. Другой подход, который использовали некоторые антивирусные программы, называется вакцинацией (immunization). Продукты с этой функциональностью вносили изменения в файлы и области диска, чтобы они выглядели так, как будто уже были инфицированы. При этом вирус может решить, что файл (диск) уже заражен и не будет вносить никаких дополнительных изменений, перейдя к следующему файлу.
Программа вакцинации, как правило, нацелена на конкретный вирус, поскольку каждый из них по-разному проверяет факт заражения и ищет в файле (на диске) разные данные (сигнатуры). Однако число вирусов и другого вредоносного программного обеспечения постоянно растет, растет и количество файлов, которые необходимо защищать, поэтому такой подход в настоящее время не применим на практике в большинстве случаев, и производители антивирусов больше его не используют.
В настоящее время, даже с учетом всех этих сложных и эффективных подходов, нет стопроцентой гарантии эффективности антивирусных средств, поскольку вирусописатели очень хитры. Это постоянная игра в кошки-мышки, которая продолжается каждый день. Антивирусная индустрия находит новый способ обнаружения вредоносных программ, а вирусописатели на следующей неделе находят, как обойти этот новый способ. Это заставляет производителей антивирусных средств постоянно увеличивать интеллектуальность своих продуктов, а пользователям приходится ежегодно покупать их новые версии.

Следующим этапом эволюции антивирусного программного обеспечения называют поведенческие блокираторы (behavior blocker). Антивирусное программное обеспечение, выполняющее блокировку на основе поведения, фактически позволяет подозрительному коду выполняться в незащищенной операционной системе и следит за его взаимодействием с операционной системой, обращая внимание на подозрительные действия. В частности, антивирусное программное обеспечение следит за следующими видами действий:

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

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

ПРИМЕЧАНИЕ . Эвристический анализ и блокирование на основе поведения считаются проактивными методами, они могут обнаруживать новые вредоносные программы, иногда называемые атаками «нулевого дня». Обнаружение вредоносного кода на основе сигнатур не может выявить новые вредоносные программы.
Большинство антивирусных программ, используют сочетание всех этих технологий, чтобы обеспечить максимальную защиту, насколько это возможно. Отдельные решения по противодействию вредоносному программному обеспечению показаны на Рисунке 9-20.

Рисунок 9-20. Произволители антивирусного программного обеспечения используют различные методы обнаружения вредоносного кода



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

Эффективное распознавание спама стало настоящей наукой. Один из используемых методов называется Байесовской фильтрацией (Bayesian filtering). Много лет назад, господин по имени Томас Байес (математик) разработал эффективный способ предсказания вероятности происхождения каких-либо событий с помощью математики. Теорема Байеса позволяет определить вероятность того, что произошло какое-либо событие при наличии лишь косвенных тому подтверждений (данных), которые могут быть неточны. Концептуально это не так уж трудно понять. Если вы трижды ударились головой о кирпичную стену и каждый раз падали, вы можете сделать вывод, что и дальнейшие попытки приведут к тем же болезненным результатам. Более интересно, когда эта логика применяется к действиям, содержащим намного больше переменных. Например, как работает спам-фильтр, который не пропускает к вам письма с предложением купить виагру, но при этом не препятствует доставке почты от вашего друга, который очень интересуется этим препаратом и пишет вам сообщения о его свойствах и воздействии на организм? Фильтр Байеса применяет статистическое моделирование к словам, из которых состоят сообщения электронной почты. Над этими словами выполняются математические формулы, позволяющие в полной мере понять их отношение друг к другу. Фильтр Байеса выполняет частотный анализ каждого слова, а затем оценивает сообщение как целое, чтобы определить, спам это или нет.

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

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

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

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

  • На каждую рабочую станцию, сервер, коммуникатор, смартфон должно быть установлено антивирусное программное обеспечение.
  • Для каждого из этих устройств должен быть реализован способ автоматического обновления антивирусных сигнатур, который должен быть включен и настроен на каждом устройстве.
  • У пользователя не должно быть возможности отключить антивирусное программное обеспечение.
  • Должен быть заранее разработан и спланирован процесс удаления вирусов, должно быть определено и назначено контактное лицо, на случай выявления вредоносного кода.
  • Все внешние диски (USB-накопители и т.п.) должны сканироваться автоматически.
  • Должны сканироваться файлы резервных копий.
  • Должен проводиться ежегодный пересмотр антивирусных политик и процедур.
  • Используемое антивирусное программное обеспечение должно обеспечивать защиту от загрузочных вирусов.
  • Антивирусное сканирование должно независимо выполняться на шлюзе и на каждом отдельном устройстве.
  • Антивирусное сканирование должно выполняться автоматически по расписанию. Не нужно расчитывать на то, что пользователи будут запускать сканирование вручную.
  • Критичные системы должны быть физически защищены таким образом, чтобы локальная установка на них вредоносного программного обеспечения была невозможна.
Поскольку вредоносное программное обеспечение может нанести многомиллионный ущерб (в виде операционных расходов, потери производительности), многие компании устанавливают антивирусные решения на всех точках входа в сеть. Антивирусный сканер может быть интегрирован в программное обеспечение почтового сервера, или . Такой антивирусный сканер проверяет весь входящий трафик на наличие в нем вредоносного кода, чтобы обнаружить и остановить его заранее, еще до того, как он попадет во внутреннюю сеть. Продукты, реализующие такую функциональность, могут сканировать трафик SMTP, HTTP, FTP, а также, возможно, и других протоколов. Но важно понимать, что такой продукт следит только за одним или двумя протоколами, а не за всем входящим трафиком. Это является одной из причин, по которой на каждом сервере и рабочей станции также должно быть установлено антивирусное программное обеспечение.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то