Методы и средства защиты от вредоносных программ и несанкционированного копирования информации. Антивирусное по Методы защиты от вирусов

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

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

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

И СРЕДСТВА

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

сравнения с реально подсчитанными значениями. Если информация о файле, записанная в базе данных, не совпадает с реальными значениями, то 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.

И профилактики - предотвращения заражения (модификации) файлов или операционной системы вредоносным ом.

Методы защиты от вирусов [ | ]

Для защиты от вирусов используют три группы методов :

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

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

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

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

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

Лжеантивирусы [ | ]

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

Специальные антивирусы [ | ]

В ноябре 2014 года международная правозащитная организация Amnesty International выпустила антивирусную программу Detect , предназначенную для выявления вредоносного ПО, распространяемого государственными учреждениями для слежки за гражданскими активистами и политическими оппонентами. Антивирус, по заявлению создателей, выполняет более глубокое сканирование жёсткого диска, нежели обычные антивирусы .

Эффективность антивирусов [ | ]

Аналитическая компания Imperva в рамках проекта Hacker Intelligence Initiative опубликовала интересное исследование , которое показывает малую эффективность большинства антивирусов в реальных условиях.

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

Вопрос в том, насколько эффективными являются антивирусы против самых актуальных угроз. Чтобы ответить на этот вопрос, компания Imperva и студенты Тель-Авивского университета раздобыли на российских подпольных форумах 82 образца самого свежего вредоносного ПО - и проверили его по базе VirusTotal, то есть против 42 антивирусных движков. Результат оказался плачевным.

  1. Эффективность антивирусов против только что скомпилированных зловредов оказалась менее 5 %. Это вполне логичный результат, поскольку создатели вирусов обязательно тестируют их по базе VirusTotal.
  2. От появления вируса до начала его распознавания антивирусами проходит до четырёх недель. Такой показатель достигается «элитными» антивирусами, а у остальных антивирусов срок может доходить до 9-12 месяцев. Например, в начале исследования 9 февраля 2012 года был проверен свежей образец фальшивого инсталлятора Google Chrome. После окончания исследования 17 ноября 2012 года его определяли только 23 из 42 антивирусов.
  3. У антивирусов с самым высоким процентом определения зловредов присутствует также высокий процент ложных срабатываний.
  4. Хотя исследование сложно назвать объективным, ибо выборка зловредов была слишком маленькой, но можно предположить, что антивирусы совершенно непригодны против свежих киберугроз.

Классификации антивирусных программ [ | ]

Антивирусные программы подразделяются по исполнению (средствам блокирования) на:

  • программные;
  • программно-аппаратные.

По признаку размещения в оперативной памяти выделяют:

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

По виду (способу) защиты от вирусов различают:

В соответствии с нормативным правовым актом ФСТЭК России «Требования в области технического регулирования к продукции, используемой в целях защиты сведений, составляющих государственную тайну или относимых к охраняемой в соответствии с законодательством Российской Федерации иной информации ограниченного доступа (требования к средствам антивирусной защиты)» (утв. приказом ФСТЭК России от 20 марта 2012 г. № 28) выделяют следующие типы средств антивирусной защиты:

  • тип «А» - средства антивирусной защиты (компоненты средств антивирусной защиты), предназначенные для централизованного администрирования средствами антивирусной защиты, установленными на компонентах информационных систем (серверах, автоматизированных рабочих местах);
  • тип «Б» - средства антивирусной защиты (компоненты средств антивирусной защиты), предназначенные для применения на серверах информационных систем;
  • тип «В» - средства антивирусной защиты (компоненты средств антивирусной защиты), предназначенные для применения на автоматизированных рабочих местах информационных систем;
  • тип «Г» - средства антивирусной защиты (компоненты средств антивирусной защиты), предназначенные для применения на автономных автоматизированных рабочих местах.

Средства антивирусной защиты типа «А» не применяются в информационных системах самостоятельно и предназначены для использования только совместно со средствами антивирусной защиты типов «Б» и (или) «В».

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

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

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

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

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

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

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

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

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