Вирусы и средства борьбы с ними

         

Контрольные вопросы


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



Методические указания к лабораторной работе


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

Приведем определение вируса согласно ГОСТ P 51198-98

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

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

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



Основные пути проникновения в систему и активации


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

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

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

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

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

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

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


Сочетание этих двух технологий приводит к появлению следующих типов вирусов.

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

Рассматривая современные вирусные угрозы необходимо отметить, что более 90% процентов вирусных угроз в последнее время связаны с червями. Наиболее многочисленную группу в этом классе вредоносных программ составляют почтовые черви. Интернет-черви также являются заметным явлением, но не столько из-за количества, сколько из-за качества: эпидемии, вызванные Интернет-червями зачастую отличаются высокой скоростью распространения и большими масштабами. IRC и P2P черви встречаются достаточно редко, чаще IRC и P2P служат альтернативными каналами распространения для почтовых и Интернет-червей. Распространение через LAN также используется преимущественно как дополнительный способ распространения.

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

Для активации необходимо активное участие пользователяДля активации участие пользователя не требуется вовсе либо достаточно лишь пассивного участия

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


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

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

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

Создают исполняемый файл с расширением .exe с произвольным именем или именем очень похожим на имя системных файлов Windows. В некоторых червях могут использоваться технологии присущие вирусам, в таком случае черви инфицируют уже существующий файл приложения (например WSOCK32.DLL) или заменяют его на свой файл (например I-Worm.MTX записывает одну из своих процедур в файл WSOCK32.DLL таким образом, что она перехватывает отсылку данных в Интернет (процедура send). В результате червь в зараженной библиотеке WSOCK32.DLL получал управление каждый раз, когда данные отправляются в Интернет).Кроме этого, вместе с добавлением в систему исполняемых файлов, в ряде случаев черви помещают в систему файлы библиотек, которые обычно выполняют функции Backdoor компонентов (например один из клонов червя MyDoom - I-Worm.Mydoom.aa создавал системном каталоге Windows файл tcp5424.dll, являющийся Backdoor-компонентом и регистрировал его в системном реестре: HKCR\CLSID\{E6FB5E20-DE35-11CF-9C87-00AA005127ED}\InProcServer32 {Default} = "%SysDir%\tcp5424.dll")Вредоносная программа может вносить изменения в системные файлы win.ini и system.ini. Например Email-Worm.Win32.Toil при установке в заражаемой системе копирует себя в папку Windows со случайным именем и записывает в файл system.ini следующие значения: [boot] shell=Explorer.exe %имя червя%



что обеспечивает ему автозапуск при каждой перезагрузке Windows (но только под Win9x/Me).

Email-Worm.Win32.Atak.h в процессе инсталляции копирует себя с именем dec25.exe в системный каталог Windows и модифицирует файл win.ini для своего последующего запуска - добавляет полный путь к файлу dec25.exe в ключ run секции [windows]:

[windows] run=%SystemDir%\dec25.exe)

Следует так же отметить, что в файле system.ini кроме секции [boot] вредоносные программы могут использовать секцию [Drivers]

Вредоносные программы могут вносить изменения в следующие ветки реестра: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion в ключи Run, RunOnce, RunOnceEx, RunServices, RunServicesOnce - для того чтобы система запускала созданные червем файлыHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion в ключ Run.

Например, Email-Worm.Win32.Bagle.ax после запуска копирует себя в системный каталог Windows, после чего регистрирует в реестре скопированный файл: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run "Sysformat"="%System%\sysformat.exe

HKEY_CLASSES_ROOT\exefile\shell\open\command

Например вирус I-Worm.Navidad. вносил следующие изменения:

HKEY_CLASSES_ROOT\exefile\shell\open\command {Default} = %SystemDir%\wintask.exe %1 %*)

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

HKEY_CLASSES_ROOT\txtfile\shell\open\command

Например Email-Worm.Win32.LovGate.ad изменяет ключ системного реестра HKCR\txtfile\shell\open\command {default}="Update_OB.exe %1", таким образом, чтобы при открытии текстовых файлов получать управление.



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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WOW\bootHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\WinLogonHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ServicesHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed ComponentsHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug




Сетевые черви


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

В зависимости от путей проникновения в операционную систему черви делятся на:

Почтовые черви (Mail-Worm) - черви, распространяющиеся в формате сообщений электронной почтыIM черви (IM-Worm) - черви, использующие Интернет-пейджерыP2P черви (P2P-Worm) - черви, распространяющееся при помощи пиринговых (peer-to-peer) файлообменных сетейСетевые черви (Net-Worm) - прочие сетевые черви, среди которых имеет смысл дополнительно выделить Интернет-черви и LAN-черви Интернет черви - черви, использующие для распространения протоколы Интернет. Преимущественно этот тип червей распространяется с использованием неправильной обработки некоторыми приложениями базовых пакетов стека протоколов tcp/ipLAN черви - черви, распространяющиеся по протоколам локальных сетей



Трояны


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

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

Клавиатурные шпионы (Trojan-SPY) - трояны, постоянно находящиеся в памяти и сохраняющие все данные поступающие от клавиатуры с целью последующей передачи этих данных злоумышленнику. Обычно таким образом злоумышленник пытается узнать пароли или другую конфиденциальную информациюПохитители паролей (Trojan-PSW) - трояны, также предназначенные для получения паролей, но не использующие слежение за клавиатурой. Обычно в таких троянах реализованы способы извлечения паролей из файлов, в которых эти пароли хранятся различными приложениямиУтилиты удаленного управления (Backdoor) - трояны, обеспечивающие полный удаленный контроль над компьютером пользователя. Существуют легальные утилиты такого же свойства, но они отличаются тем, что сообщают о своем назначении при установке или же снабжены документацией, в которой описаны их функции. Троянские утилиты удаленного управления, напротив, никак не выдают своего реального назначения, так что пользователь и не подозревает о том, что его компьютер подконтролен злоумышленнику. Наиболее популярная утилита удаленного управления - Back OrificeАнонимные smtp-сервера и прокси (Trojan-Proxy) - трояны, выполняющие функции почтовых серверов или прокси и использующиеся в первом случае для спам-рассылок, а во втором для заметания следов хакерамиМодификаторы настроек браузера (Trojan-Cliker) - трояны, которые меняют стартовую страницу в браузере, страницу поиска или еще какие-либо настройки, для организации несанкционированных обращений к Интернет-ресурсамИнсталляторы прочих вредоносных программ (Trojan-Dropper) - трояны, представляющие возможность злоумышленнику производить скрытую установку других программЗагрузчики вредоносных программ (Trojan Downloader) - трояны, предназначенные для загрузки на компьютер-жертву новых версий вредоносных программ, или рекламных системУведомители об успешной атаке (Trojan-Notifier) - трояны данного типа предназначены для сообщения своему "хозяину" о зараженном компьютере"Бомбы" в архивах (ARCBomb) - трояны, представляющие собой архивы, специально оформленные таким образом, чтобы вызывать нештатное поведение архиваторов при попытке разархивировать данные - зависание или существенное замедление работы компьютера, заполнение диска большим количеством "пустых" данныхЛогические бомбы - чаще не столько трояны, сколько троянские составляющие червей и вирусов, суть работы которых состоит в том, чтобы при определенных условиях (дата, время суток, действия пользователя, команда извне) произвести определенное действие: например, уничтожение данныхУтилиты дозвона - сравнительно новый тип троянов, представляющий собой утилиты dial-up доступа в Интернет через платные почтовые службы. Такие трояны прописываются в системе как утилиты дозвона по умолчанию и влекут за собой крупные счета за пользование Интернетом



Устранение последствий заражения


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

    Анализ и выявление с помощью Диспетчера задач Windows подозрительных процессовАнализ открытых портов с помощью команды NetstatВыгрузка подозрительных процессовАнализ реестра с помощью утилиты Regedit.exe в выше перечисленных ветках и ключахВосстановление и правка ключей реестраПоиск инфицированных файлов по имени на основе данных анализа процессов операционной системы и данных анализа реестраУдаления или замена инфицированных файловПерегрузка системы

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

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



Вирусы


К вирусам относятся:

Загрузочные вирусы - вирусы, заражающие загрузочные сектора постоянных и сменных носителейФайловые вирусы - вирусы, заражающие файлыМакровирусы - вирусы, написанные на языке макрокоманд и исполняемые в среде какого-либо приложения. В подавляющем большинстве случаев речь идет о макросах в документах 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.



и проанализируйте список запущенных процессов,


    Запустите Диспетчер задач Windows и проанализируйте список запущенных процессов, нагрузку, которую они оказывают на ЦП. Запишите в протокол лабораторной работы название подозрительных процессов. Объясните, на основании чего были сделаны такие выводы.Используя Диспетчер задач Windows выгрузите подозрительные процессы.Запустите интерфейс командной строки Windows. Ознакомьтесь с ключами команды netstat. Получите статистку текущих сетевых подключений Вашего компьютера с параметрами отображение всех подключений и ожидающих портов, отображение последовательности компонентов участвующих в создании подключения, отображение исполняемого файла, участвующего в создании каждого подключения, или слушающего порт. Сохраните статистику в файл с названием netstat.log. Запишите протокол лабораторной работы формат команды для этого действия. Проанализирует данные netstat.log. Запишите в протокол лабораторной работы подозрительные открытые порты и приложения их использующие. Объясните, на основании чего были сделаны такие выводы.Запустите утилиту работы с реестром Windows. Проанализируйте содержимое перечисленных в теоретической части веток и ключей реестра.При необходимости внесите изменения в параметры ключей с целью удалить подозрительные записи, созданные вредоносной программой. Запишите в протокол лабораторной работы все внесенные изменения.Проанализируйте содержание файла win.ini на предмет подозрительных записей. При необходимости внесите корректировки в файл win.ini. Запишите в протокол лабораторной работы вносимые корректировки.Проанализируйте файл system.ini на предмет подозрительных записей. При необходимости внесите корректировки в файл system.ini. Запишите в протокол лабораторной работы вносимые корректировкиИспользуя стандартные средства поиска, найдите файлы, которые порождали подозрительные процессы и удалите их. Запишите в протокол лабораторной работы имена этих файлов.Перегрузите компьютер, выполните пункты 1-6, чтобы убедиться, что удаление вредоносной программы прошло успешно, в оперативной памяти нет подозрительных процессов, ключи реестра не изменились, на компьютере отсутствуют подозрительно открытые порты.


Жизненный цикл вредоносных программ


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

    Активация вирусаПоиск объектов для зараженияПодготовка вирусных копийВнедрение вирусных копий

Так же как для вирусов, жизненный цикл червей можно разделить на определенные стадии:

    Проникновение в системуАктивацияПоиск "жертв"Подготовка копийРаспространение копий

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

    Проникновение на компьютерАктивацияВыполнение заложенных функций

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