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

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

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

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

И СРЕДСТВА

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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.

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

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

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

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

В статье 273 Уголовного кодекса РФ под вредоносными программами понимаются программы для ЭВМ или изменения в существующих программах, «заведомо приводящие к несанкционированному уничтожению, блокированию, модификации либо копированию информации, нарушению работы ЭВМ, системы ЭВМ или их сети».

Корпорация Microsoft применяет термин malware, определяя его следующим образом: «malware - это сокращение от malicious software, обычно используемое как общепринятый термин для обозначения любого программного обеспечения, специально созданного для того, чтобы причинять ущерб отдельному компьютеру, серверу, или компьютерной сети независимо от того, является ли оно вирусом, шпионской программой и т. д.».

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

  • программно-аппаратному обеспечению атакуемого нарушителем компьютера (сети);
  • данным пользователя компьютера;
  • самому пользователю компьютера (косвенно);
  • пользователям других компьютеров (опосредованно).

Конкретный ущерб пользователям и (или) владельцам компьютерных систем и сетей может заключаться в следующем:

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

К признакам вредоносных программ можно отнести следующее:

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

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

По наличию материальной выгоды вредоносное программное обеспечение (ПО) может быть разделено на:

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

По цели разработки вредоносные программы могут быть разделены на:

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

В последнее время наблюдается криминализация индустрии создания вредоносных программ, выражающаяся в следующем:

  • похищении конфиденциальной информации (коммерческой тайны, персональных данных);
  • создании зомби-сетей («ботнет»), предназначенных для рассылки спама, распределенных атак с вызовом отказа в обслуживании (DDoS-атак), внедрения троянских прокси-серверов;
  • шифровании пользовательской информации с последующим шантажом и требованием выкупа;
  • атаках на антивирусные продукты;
  • так называемом флашинге (постоянном отказе в обслуживании - Permanent Denial of Service - PDoS).

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

Компании, специализирующиеся на вопросах компьютерной и сетевой безопасности, обращают внимание на новый тип угроз - так называемый постоянный отказ от обслуживания (РОоБ). Новый вид атак получил и другое название - флашинг (рЫа5Ып§). Потенциально он способен нанести системе гораздо больше вреда, чем любой другой вид сетевой вредоносной активности, поскольку направлен на вывод из строя компьютерного оборудования. РОоБ-атаки более эффективны и при этом дешевле, чем традиционные виды атак, при которых хакер пытается установить на системе жертвы вредоносное ПО. При флашинге целью атаки становятся программы во флэш-памяти ВЮБ и драйверы устройств, которые, будучи повреждены, нарушают работу устройств и потенциально способны вывести их из строя физически.

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

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

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

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

Эффективная работа «зомби»-сети определяется тремя составляющими, из которых она условно состоит:

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

Примерами противодействия вредоносных программ установленному у пользователя антивирусному программному обеспечению являются:

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

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

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

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

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

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

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

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

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

К вредоносным программам (иногда также называемым разрушающими программными воздействиями) принято относить компьютерные вирусы и программные закладки. Впервые термин компьютерный вирус ввел в употребление специалист из США Ф. Коэн в 1984 г. «Классическим» компьютерным вирусом называют автономно функционирующую программу, обладающую одновременно тремя свойствами:

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

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

  • при заражении доступных для пользователя сетевых дисков вирус проник в файлы, расположенные на этих сетевых ресурсах;
  • вирус скопировал себя на съемный носитель или заразил файлы на нем;
  • пользователь отослал электронное письмо с зараженным вирусом вложением.

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

Загрузочные вирусы заражают главный загрузочный сектор жесткого диска (Master Boot record - MBR) или загрузочный сектор раздела жесткого диска, системной дискеты или загрузочного компакт-диска (Boot Record - BR), подменяя находящиеся в них программы начальной загрузки и загрузки операционной системы своим кодом. Исходное содержимое этих секторов при этом сохраняется в одном из свободных секторов диска или непосредственно в теле вируса.

После заражения MBR, являющегося первым сектором нулевой головки нулевого цилиндра жесткого диска, вирус получает управление сразу по завершении работы процедуры проверки оборудования (POST), программы BIOS Setup (если она была вызвана пользователем), процедур BIOS и его расширений. Получив управление, загрузочный вирус выполняет следующие действия:

  • 1) копирование своего кода в конец оперативной памяти компьютера, уменьшая тем самым размер ее свободной части;
  • 2) переопределение «на себя» нескольких прерываний BIOS, в основном связанных с обращением к дискам;
  • 3) загрузку в оперативную память компьютера истинной программы начальной загрузки, в функции которой входит просмотр таблицы разделов жесткого диска, определение активного раздела, загрузка и передача управления программе загрузки операционной системы активного раздела;
  • 4) передачу управления истинной программе начальной загрузки.

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

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

Файловые вирусы заражают файлы различных типов:

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

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

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

Вирусы в программных файлах при заражении изменяют их заголовок таким образом, что после загрузки программы в оперативную память управление передается коду вируса. Например, переносимый формат исполнимого файла операционных систем Windows и OS/2 (Portable Executable - РЕ) имеет следующую структуру:

  • 1) заголовок в формате операционной системы MS-DOS;
  • 2) код программы реального режима процессора, которая получает управление при попытке запуска приложения Windows в среде операционной системы MS-DOS;
  • 3) заголовок РЕ-файла;
  • 4) дополнительный (опциональный) заголовок РЕ-файла;
  • 5) заголовки и тела всех сегментов приложения (кода программы, ее статических данных, экспортируемых программой данных, импортируемых программой данных, отладочной информации и др.).

Раздел, содержащий опциональный заголовок РЕ-файла, включает в себя поле, содержащее адрес точки входа приложения. Непосредственно перед точкой входа в сегменте кода приложения размещается таблица адресов импортируемых из других модулей функций (Import Address Table - IAT), которая заполняется действительными адресами во время загрузки исполнимого кода в адресное пространство процесса.

При заражении вирусом программного файла адрес точки входа приложения изменяется таким образом, чтобы указывать на начало кода вируса и обеспечивать автоматическое получение им управления при загрузке программного файла. Возможна также модификация модулей ядра операционной системы (например, kernel32.dll) для перехвата вызовов некоторых системных функций (например, CreateProcess, CreateFile, ReadFile, WriteFile, CloseHandle) для заражения других файлов.

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

При запуске зараженного файла управление получает код вируса, который:

  • 1) устанавливает в оперативной памяти свой резидентный модуль, который в дальнейшем будет перехватывать все обращения к зараженному диску;
  • 2) загружает исходный программный файл и передает ему управление.

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

Вирусы в файлах документов, созданных, например, программами пакета Microsoft Office, распространяются с помощью включенных в них макросов (процедур на языке программирования Visual Basic for Applications - VBA). Поэтому такие вирусы иногда называют вирусами в макросах или просто макровирусами.

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

Примерами автоматически выполняющихся макросов, связанных с определенными событиями обработки документа Microsoft Word, являются:

  • AutoExec (автоматически выполняется при запуске текстового процессора Microsoft Word, если находится в файле шаблонов normal.dot или в файле подпапки Startup папки Microsoft Office);
  • AutoNew (автоматически получает управление при создании нового документа);
  • AutoOpen (автоматически выполняется при открытии документа);
  • AutoClose (автоматически выполняется при закрытии документа);
  • Auto Exit (автоматически получает управление при завершении работы текстового процессора Microsoft Word).

В табличном процессоре Microsoft Excel поддерживается только часть из автоматически выполняемых макросов, причем имена этих макросов слегка изменены - Auto_open и Auto_close.

В текстовом процессоре Microsoft Word определены также макросы, которые автоматически получают управление при вызове пользователем одной из стандартных команд - File Save (Файл | Сохранить), FileSaveAs (Файл | Сохранить как), Tools- Macro (Сервис | Макрос | Макросы), ToolsCustomize (Сервис | | Настройка) и т. д.

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

Любой макрос (в том числе и автоматически выполняемый) из отдельного документа может быть записан в файл шаблонов normal.dot (и наоборот) и тем самым стать доступным при редактировании любого документа Microsoft Word. Запись макроса в файл normal.dot может быть осуществлена с помощью стандартной макрокоманды MacroCopy (WordBasic), метода Organi- zerCopy объекта Application или методов Сору стандартных объектов Organizer (Microsoft Word) и Sheets (Microsoft Excel).

Для манипулирования файлами, размещенными во внешней памяти компьютера, в макросах могут использоваться стандартные макрокоманды Open (открытие существующего или создание нового файла), SetAttr (изменение атрибутов файла), Name (переименование файла или папки), Get (чтение данных из открытого файла), Put (запись данных в открытый файл), Seek (изменение текущей позиции записи или чтения из файла), Close (закрытие файла), Kill (удаление файла), RmDir (удаление папки), MkDir (создание новой папки), ChDir (изменение текущей папки) и др.

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

Таким образом, язык программирования VBA вполне может быть использован авторами макровирусов для создания весьма опасного кода. Простейший макровирус в документе Microsoft Word заражает остальные файлы документов следующим образом:

  • 1) при открытии зараженного документа управление получает содержащийся в нем макрос с кодом вируса;
  • 2) вирус помещает в файл шаблонов normal.dot другие макросы со своим кодом (например, FileOpen, FileSaveAs и FileSave);
  • 3) вирус устанавливает в реестре Windows и (или) в инициа- лизационном файле Microsoft Word соответствующий флаг о произведенном заражении;
  • 4) при последующем запуске Microsoft Word первым открываемым файлом фактически является уже зараженный файл шаблонов normal.dot, что позволяет коду вируса автоматически получать управление, а заражение других файлов документов может происходить при их сохранении с помощью стандартных команд Microsoft Word.

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

Размещение кода макровируса внутри документа Microsoft Office можно указать достаточно схематично, так как формат файлов документов весьма сложен и содержит последовательность блоков данных различных форматов, объединяемых между собой с помощью большого количества служебных данных. Особенностью макровирусов является и то, что они могут заражать файлы документов на компьютерах различных платформ, а не только IBM PC. Заражение будет возможно, если на компьютере будут установлены офисные программы, полностью совместимые с программами из пакета Microsoft Office.

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

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

Заражение файла шаблонов normal.dot - не единственный способ распространения макровирусов на компьютере пользователя. Возможно также заражение файлов дополнительных шаблонов, размещенных в папке Startup внутри папки Microsoft Office. Еще один способ заражения файлов документов пользователя макровирусами состоит в их внедрении в файлы надстроек над Microsoft Word, размещающихся в папке Addins папки Microsoft Office. Макровирусы, не помещающие свой код в общий шаблон normal.dot, можно отнести к группе нерезидентных вирусов. Эти макровирусы для заражения других файлов либо применяют стандартные макрокоманды для работы с файлами и папками языка VBA, либо используют список последних редактированных пользователем файлов, который содержится в подменю «Файл» программы Microsoft Word и других программ пакета Microsoft Office.

В табличном процессоре Microsoft Excel не используется файл шаблонов normal.dot, поэтому для заражения других файлов документов пользователей используются файлы из папки Startup. Особенностью макровирусов, заражающих файлы электронных таблиц Excel, является то, что для их написания может использоваться не только язык программирования VBA, но и язык макрокоманд «старых» версий Microsoft Excel, поддержка которого обеспечена и в более поздних версиях этого табличного процессора.

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

Известны комбинированные вирусы, которые могут заражать и базы данных Microsoft Access, и документы Microsoft Word. Подобный вирус состоит из двух основных частей, каждая из которых заражает файлы документов «своего» типа (.doc или.mdb). Но обе части такого вируса способны переносить свой код из одного приложения Microsoft Office в другое. При переносе кода вируса из Microsoft Access в папке Startup создается зараженный файл дополнительных шаблонов (.dot-файл), а при переносе кода вируса из Microsoft Word - зараженный файл базы данных Access, который передается в качестве параметра запускаемому кодом вируса приложению Microsoft Access (msaccess.exe).

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

По мнению некоторых экспертов, службу INF/Autorun в ОС Windows можно считать главной брешью в безопасности компьютерных систем. В отличие от пересылки зараженных программ по электронной почте в этом случае даже грамотный пользователь практически не способен предотвратить заражение, ведь достаточно просто вставить зараженное устройство в разъем USB, и процесс становится уже необратимым. Единственной профилактикой может быть отключение автозапуска, что рекомендуют делать даже эксперты по безопасности из самой компании Microsoft.

Можно сказать, что в каком-то смысле распространение вирусов на USB-накопителях является возвращением к истокам создания вирусов, когда Интернета еще не существовало. Тогда вирусы распространялись от компьютера к компьютеру с помощью дискет.

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

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

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

  • червь содержится в самом тексте письма и запускается, когда пользователь просто открывает сообщение (или оно открывается в панели предварительного просмотра в окне почтового клиента) (письмо в этом случае представляет собой текст на языке, содержащем сценарий с кодом червя);
  • червь использует «дыры» (бреши, уязвимости) в системах безопасности операционных систем и других программ (например, почтовых).

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

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

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

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

Большинство известных червей распространяется в виде файлов: вложение в электронное письмо, ссылка на зараженный файл на каком-либо Web- или FTP-pecypce в ICQ- и IRC-сооб- щениях, файл в каталоге обмена P2P и т. д. Некоторые черви (так называемые «бесфайловые» или «пакетные» черви) распространяются в виде сетевых пакетов, проникая непосредственно в память компьютера и активизируя свой код.

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

На рис. 4.1 приведены данные, показывающие распределение компьютерных вирусов (virus) и различных категорий сетевых червей (worm) в 2008 г. (по данным Лаборатории Касперского).

Рис. 4.1.

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

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

В настоящее время внутри класса «троянских» программ специалисты Лаборатории Касперского выделяют три основные группы поведений:

  • Backdoor (предоставление нарушителю возможности удаленного администрирования зараженного компьютера), Trojan-Downloader (доставка на компьютер пользователя других вредоносных программ), Trojan-PSW (перехват паролей), Trojan (прочие «троянские» программы), наиболее распространенные «троянские» программы;
  • Trojan-Spy (шпионские программы), Trojan-Dropper (инсталляторы других вредоносных программ);
  • Trojan-Proxy («троянские» прокси-серверы), Trojan-Clicker (Интернет-кликеры), Rootkit (скрывающие свое присутствие в компьютерной системе), Trojan-DDoS (программы для участия в распределенных атаках с вызовом отказа в обслуживании), Trojan-SMS («мобильные троянцы», являются самой актуальной угрозой для мобильных устройств).

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

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

К потенциально опасным программам относятся программы классов RiskWare (легально распространяемые потенциально опасные программы), Porn Ware (программы для показа информации порнографического характера) и AdWare (рекламное программное обеспечение).

К классу программ RiskWare относятся легальные программы (некоторые из них свободно продаются и широко используются в легальных целях), которые тем не менее в руках нарушителя способны причинить вред пользователю и его данным. В таких программах можно обнаружить легальные утилиты удаленного администрирования, программы-клиенты IRC, программы для автодозвона («дайлеры», dialer), программы для скачивания («да- унлоадеры», downloader), мониторы любой активности (monitor), утилиты для работы с паролями, а также многочисленные Интернет-серверы служб FTP, Web, Proxy и Telnet.

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

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

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

Рекламное программное обеспечение (Adware, Advware, Spyware, Browser Hijackers) предназначено для показа рекламных сообщений (чаще всего в виде графических баннеров) и перенаправления поисковых запросов на рекламные Web-страницы. За исключением показа рекламы подобные программы, как правило, никак не проявляют своего присутствия в системе. Обычно у Adware-программ нет процедуры деинсталляции.

  • путем встраивания рекламных компонентов в бесплатное и условно-бесплатное программное обеспечение (freeware, shareware);
  • путем несанкционированной установки рекламных компонентов при посещении пользователем «зараженных» Web- страниц.

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

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

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

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

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

Распределение программ классов RiskWare и PornWare по поведениям можно представить в виде круговой диаграммы (рис. 4.2, по данным Лаборатории Касперского).

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


Рис. 4.2.

Porn-Dialers самостоятельно (без уведомления пользователя) осуществляют телефонные соединения с premium-номерами, что зачастую приводит к судебным разбирательствам между абонентами и их телефонными компаниями.

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

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

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

К таким программам относятся вирусные мистификаторы (Hoax) и ложные антивирусные программы (FraudTool), «хакерские» программы для «взлома» удаленных компьютеров (Exploit, HackTool), конструкторы и упаковщики вредоносных программ (Constructor, VirTool, Packed), программы для рассылки спама и атак «засорения» (SpamTool, IM-Flooder, Flooder), программы для введения пользователя в заблуждение (BadJoke).

Основной разновидностью FraudTool являются так называемые rogue-antivirus - программы, выдающие себя за полноценные антивирусные средства. После своей установки на компьютере они обязательно «находят» какой-нибудь вирус, даже на абсолютно «чистой» компьютерной системе, и предлагают купить свою платную версию для «лечения». Помимо прямого обмана пользователей, эти программы содержат в себе и функцию AdWare. Фактически это настоящее мошенничество, основанное на страхе пользователей перед вредоносными программами.

Хакерские утилиты категорий Exploit и HackTool предназначены для проникновения в удаленные компьютеры с целью дальнейшего управления ими (используя методы троянских программ типа «backdoor») или для внедрения во взломанную систему других вредоносных программ. Хакерские утилиты типа «exploit» при этом используют уязвимости в операционных системах или приложениях, установленных на атакуемом компьютере.

Конструкторы вирусов и «троянских» программ - это утилиты, предназначенные для изготовления новых компьютерных вирусов и «троянцев». Известны конструкторы вирусов для DOS, Windows и макровирусов. Они позволяют генерировать исходные тексты вирусов, объектные модули и (или) непосредственно зараженные файлы.

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

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

К программам категорий Bad-Joke и Hoax («злым шуткам») относятся программы, которые не причиняют компьютеру какого-либо прямого вреда, однако выводят сообщения о том, что такой вред уже причинен, либо будет причинен при каких-либо условиях, либо предупреждают пользователя о несуществующей опасности. К «злым шуткам» относятся, например, программы, которые выводят пользователю сообщения о форматировании жесткого диска (хотя никакого форматирования на самом деле не происходит), обнаруживают вирусы в не- зараженных файлах, выводят странные вирусоподобные сообщения и т. д.

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

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

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

Основными чертами этой модели являются следующие:

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

По аналогии с известным термином Web 2.0 новое поколение вредоносных программ можно назвать MalWare 2.0.

Техника скрытия присутствия в системе (руткиты) станет применяться не только в троянских программах, но и в файловых вирусах. Таким образом, произойдет как бы возвращение к временам операционной системы MS-DOS, когда существовали резидентные стелс-вирусы. Это является логичным развитием методов противодействия антивирусным программам. Вредоносные программы теперь стремятся «выжить» в системе даже после своего обнаружения.

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

Один из наиболее ярких примеров реализации технологии буткитов - vbootkit. Упрощенная последовательность действий vbootkit выглядит так. После включения питания компьютера и выполнения программ BIOS активизируется код Vbootkit (с CD или другого устройства). Затем выполняются программа начальной загрузки из MBR и загрузчик ОС Windows Vista, после этого управление передается ядру этой операционной системы.

Как только vbootkit получит контроль над системой, он вызывает прерывание BIOS 13, затем производит поиск сигнатур для ОС Windows Vista. После их обнаружения он начинает модификацию Windows Vista, одновременно скрывая себя (размещая свой код небольшими кусками в различных областях оперативной памяти). Эти модификации включают в себя обход таких средств защиты, как проверка электронных цифровых подписей, контрольных хеш-значений, а также выполнение определенных действий для сохранения своего контроля над системой во время как первой, так и второй фазы процесса загрузки.

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

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

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

Еще одной связанной с социальными сетями проблемой могут стать XSSPHPSQL-aTaKH. В отличие от фишинга, в основе которого лежат исключительно мошеннические методы и методы социальной инженерии, эти атаки используют ошибки и уязвимости самих сервисов Web 2.0 и могут затронуть даже весьма грамотных пользователей. Целью нарушителей и в этом случае являются персональные данные пользователей, которые нужны для создания некоторых баз и списков для проведения последующих атак «традиционными» способами.

Основными факторами, обеспечивающими одновременный интерес пользователей и хакеров к сервисам Web 2.0, являются:

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

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

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

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

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


 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!