Жизненный цикл вредоносных программ
Методические указания к лабораторной работе
Определения компьютерного вируса - исторически проблемный вопрос, поскольку достаточно сложно дать четкое определение вируса, очертив при этом свойства, присущие только вирусам и не характерные для других программ. Наоборот, давая жесткое определение вируса как программы, обладающей определенными свойствами практически сразу же можно найти пример вируса, таковыми свойствами не обладающего.
Приведем определение вируса согласно ГОСТ P 51198-98
Вирус - программа, способная создавать свои копии (необязательно совпадающие с оригиналом) и внедрять их в файлы, системные области компьютера, компьютерных сетей, а также осуществлять иные деструктивные действия. При этом копии сохраняют способность дальнейшего распространения. Компьютерный вирус относится к вредоносным программам
Еще одна проблема, связанная с определением компьютерного вируса кроется в том, что сегодня под вирусом чаще всего понимается не "традиционный" вирус, а практически любая вредоносная программа. Это приводит к путанице в терминологии, осложненной еще и тем, что сегодня практически любой антивирус способен выявлять все типы вредоносных программ, таким образом ассоциация "вредоносная программа-вирус" становится все более устойчивой.
Вредоносная программа - компьютерная программа или переносной код, предназначенный для реализации угроз информации, хранящейся в компьютерной системе (КС), либо для скрытого нецелевого использования ресурсов КС, либо иного воздействия, препятствующего нормальному функционированию КС. К вредоносным программам относятся компьютерные вирусы, трояны, сетевые черви и др.
Вирусы
К вирусам относятся:
· Загрузочные вирусы - вирусы, заражающие загрузочные сектора постоянных и сменных носителей
· Файловые вирусы - вирусы, заражающие файлы
· Макровирусы - вирусы, написанные на языке макрокоманд и исполняемые в среде какого-либо приложения. В подавляющем большинстве случаев речь идет о макросах в документах Microsoft Office
· Скрипт-вирусы - вирусы, исполняемые в среде определенной командной оболочки: раньше - bat-файлы в командной оболочке DOS, сейчас чаще VBS- и Java-скрипты в командной оболочке Windows Scripting Host (WSH)
Отдельно стоит сказать пару слов о макровирусах. Большинство электронных документов создаются и обрабатываются в формате MS Office, инструмент VBA (Visual Basic for Application), который можно использовать для создания макровирусов поставляется вместе с приложением MS Office. Такое положение дел приводит к тому, что на сегодняшний день макровирусы - наиболее часто встречающийся тип вирусов. Однако борьба с ними не вызывает особых проблем и сводится к изучению тела вредоносного макроса с помощью того же VBA на предмет выполняемых операций, контролю стартовых макросов AutoOpen, AutoClose, AutoSave, глобальных макросов FileOpen, FileSaveAs, FileSave, FileClose и ряда стандартных операций, таких как вызов API-функций, выполнения команд Shell и т. д. Процедура лечение макровирусов сводится к удалению тела макроса из документов и шаблонов MS Office.
Сетевые черви
Червь (сетевой червь) - тип вредоносных программ, распространяющихся по сетевым каналам, способных к автономному преодолению систем защиты автоматизированных и компьютерных систем, а также к созданию и дальнейшему распространению своих копий, не всегда совпадающих с оригиналом, осуществлению иного вредоносного воздействия
В зависимости от путей проникновения в операционную систему черви делятся на:
· Почтовые черви (Mail-Worm) - черви, распространяющиеся в формате сообщений электронной почты
· IM черви (IM-Worm) - черви, использующие Интернет-пейджеры
· P2P черви (P2P-Worm) - черви, распространяющееся при помощи пиринговых (peer-to-peer) файлообменных сетей
· Сетевые черви (Net-Worm) - прочие сетевые черви, среди которых имеет смысл дополнительно выделить Интернет-черви и LAN-черви
· Интернет черви - черви, использующие для распространения протоколы Интернет. Преимущественно этот тип червей распространяется с использованием неправильной обработки некоторыми приложениями базовых пакетов стека протоколов tcp/ip
· LAN черви - черви, распространяющиеся по протоколам локальных сетей
Трояны
Троян (троянский конь) - тип вредоносных программ, основной целью которых является вредоносное воздействие по отношению к компьютерной системе. Трояны отличаются отсутствием механизма создания собственных копий
Некоторые трояны способны к автономному преодолению систем защиты КС, с целью проникновения и заражения системы. В общем случае, троян попадает в систему вместе с вирусом либо червем, в результате неосмотрительных действий пользователя или же активных действий злоумышленника. Наиболее распространены следующие виды троянов:
· Клавиатурные шпионы (Trojan-SPY) - трояны, постоянно находящиеся в памяти и сохраняющие все данные поступающие от клавиатуры с целью последующей передачи этих данных злоумышленнику. Обычно таким образом злоумышленник пытается узнать пароли или другую конфиденциальную информацию
· Похитители паролей (Trojan-PSW) - трояны, также предназначенные для получения паролей, но не использующие слежение за клавиатурой. Обычно в таких троянах реализованы способы извлечения паролей из файлов, в которых эти пароли хранятся различными приложениями
· Утилиты удаленного управления (Backdoor) - трояны, обеспечивающие полный удаленный контроль над компьютером пользователя. Существуют легальные утилиты такого же свойства, но они отличаются тем, что сообщают о своем назначении при установке или же снабжены документацией, в которой описаны их функции. Троянские утилиты удаленного управления, напротив, никак не выдают своего реального назначения, так что пользователь и не подозревает о том, что его компьютер подконтролен злоумышленнику. Наиболее популярная утилита удаленного управления - Back Orifice
· Анонимные smtp-сервера и прокси (Trojan-Proxy) - трояны, выполняющие функции почтовых серверов или прокси и использующиеся в первом случае для спам-рассылок, а во втором для заметания следов хакерами
· Модификаторы настроек браузера (Trojan-Cliker) - трояны, которые меняют стартовую страницу в браузере, страницу поиска или еще какие-либо настройки, для организации несанкционированных обращений к Интернет-ресурсам
· Инсталляторы прочих вредоносных программ (Trojan-Dropper) - трояны, представляющие возможность злоумышленнику производить скрытую установку других программ
· Загрузчики вредоносных программ (Trojan Downloader) - трояны, предназначенные для загрузки на компьютер-жертву новых версий вредоносных программ, или рекламных систем
· Уведомители об успешной атаке (Trojan-Notifier) - трояны данного типа предназначены для сообщения своему "хозяину" о зараженном компьютере
· "Бомбы" в архивах (ARCBomb) - трояны, представляющие собой архивы, специально оформленные таким образом, чтобы вызывать нештатное поведение архиваторов при попытке разархивировать данные - зависание или существенное замедление работы компьютера, заполнение диска большим количеством "пустых" данных
· Логические бомбы - чаще не столько трояны, сколько троянские составляющие червей и вирусов, суть работы которых состоит в том, чтобы при определенных условиях (дата, время суток, действия пользователя, команда извне) произвести определенное действие: например, уничтожение данных
· Утилиты дозвона - сравнительно новый тип троянов, представляющий собой утилиты dial-up доступа в Интернет через платные почтовые службы. Такие трояны прописываются в системе как утилиты дозвона по умолчанию и влекут за собой крупные счета за пользование Интернетом
Жизненный цикл вредоносных программ
Процесс размножения вирусов может быть условно разделен на несколько стадий:
1. Активация вируса
2. Поиск объектов для заражения
3. Подготовка вирусных копий
4. Внедрение вирусных копий
Так же как для вирусов, жизненный цикл червей можно разделить на определенные стадии:
1. Проникновение в систему
2. Активация
3. Поиск "жертв"
4. Подготовка копий
5. Распространение копий
У троянов вследствие отсутствия функций размножения и распространения, их жизненный цикл меньше чем у вирусов - всего три стадии:
1. Проникновение на компьютер
2. Активация
3. Выполнение заложенных функций
Это, само собой, не означает малого времени жизни троянов. Напротив, троян может незаметно находиться в памяти компьютера длительное время, никак не выдавая своего присутствия, до тех пор, пока не выполнит свою вредоносную функцию будет обнаружен антивирусными средствами.