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

Классификация вирусов

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

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

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

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

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

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

Легко заметить, что определение в ГОСТ практически полностью повторяет определение Е. Касперского.

Эти два определения в большой степени повторяют определение Ф. Коэна или уточнение, предложенное Д. Чессом и С. Вайтом, что позволяет распространить на них (определения) вывод о невозможности создать алгоритм, обнаруживающий все такие программы или даже все «инкарнации» одного из вирусов. Тем не менее, на практике оказывается, что все известные вирусы могут быть обнаружены антивирусными программами. Результат достигается, в частности, ещё и за счёт того, что повреждённые или неудачные экземпляры вирусов, неспособные к созданию и внедрению своих копий, обнаруживаются и классифицируются наравне со всеми остальными «полноценными» вирусами. Следовательно, с практической точки зрения, т.е. с точки зрения алгоритмов поиска, способность к размножению вовсе не является обязательной для причисления программы к вирусам.

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

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

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

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

5.1.1. Вирусы

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

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

1. Проникновение на компьютер.

2. Активация вируса.

3. Поиск объектов для заражения.

4. Подготовка вирусных копий.

5. Внедрение вирусных копий.

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

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

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

1. Загрузочные вирусы – вирусы, заражающие загрузочные сектора постоянных и сменных носителей.

Примеры. Вредоносная программа Virus.Boot.Snow.a записывает свой код в MBR жёсткого диска или в загрузочные сектора дискет. При этом оригинальные загрузочные сектора шифруются вирусом. После получения управления вирус остаётся в памяти компьютера (резидентность) и перехватывает прерывания INT 10h, 1Ch и 13h. Иногда вирус проявляет себя визуальным эффектом – на экране компьютера начинает падать снег.

Другой загрузочный вирус Virus.Boot.DiskFiller также заражает MBR винчестеры или загрузочные сектора дискет, остаётся в памяти и перехватывает прерывания – INT 13h, 1Ch и 21h. При этом, заражая дискеты, вирус форматирует дополнительную дорожку с номером 40 или 80 (в зависимости от объёма дискеты он может иметь 40 либо 80 дорожек с номерами 0–39 или 0–79 соответственно). Именно на эту нестандартную дорожку вне поля обычной видимости вирус записывает свой код, добавляя в загрузочный сектор лишь небольшой фрагмент – головную часть вируса.

При заражении винчестера Virus.Boot.DiskFiller располагает свой код непосредственно за MBR, а в самом MBR меняет ссылку на активный загрузочный сектор, указывая адрес сектора, где он расположен.

2. Файловые вирусы – вирусы, заражающие файлы. Эта группа дополнительно делится на три в зависимости от среды, в которой выполняется код.

Собственно файловые вирусы – те, которые непосредственно работают с ресурсами операционной системы.



Примеры . Самый известный файловый вирус этой группы – Virus.Win9x.CIH, известный также как «Чернобыль». Имея небольшой размер – около 1 Кб, – вирус заражает PE-файлы (Portable Executable) на компьютерах под управлением операционных систем Windows 95/98 таким образом, что размер заражённых файлов не меняется. Для достижения этого эффекта вирус ищет в файлах «пустые» участки, возникающие из-за выравнивания начала каждой секции файла под кратные значения байт. После получения управления вирус перехватывает IFS API, отслеживая вызовы функции обращения к файлам и заражая исполняемые файлы. 26 апреля срабатывает деструктивная функция вируса, которая заключается в стирании Flash BIOS и начальных секторов жёстких дисков. Результатом является неспособность компьютера загружаться вообще (в случае успешной попытки стереть Flash BIOS) либо потеря данных на всех жёстких дисках компьютера.

Из последних вредоносных программ, обладающих вирусной функциональностью, можно отметить Email-Worm.Win32.Bagle.p (а также его модификации.q и.r). Являясь в первую очередь червем с основным каналом распространения через электронную почту, Bagle.p содержит также функцию заражения EXE-файлов путём дописывания в их конец полиморфного кода вируса.

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

Примеры. Одними из наиболее разрушительных макровирусов являются представители семейства Macro.Word97.Thus. Эти вирусы содержат три процедуры Document_Open, Document_Close и Document_New, которыми подменяет стандартные макросы, выполняющиеся при открытии, закрытии и создании документа, тем самым обеспечивая заражение других документов. 13 декабря срабатывает деструктивная функция вируса – он удаляет все файлы на диске C:, включая каталоги и подкаталоги.

Модификация Macro.Word97.Thus.aa, кроме указанных действий, при открытии каждого заражённого документа выбирает на локальном диске случайный файл и шифрует первые 32 байта этого файла, постепенно приводя систему в неработоспособное состояние.

Макровирусы способны заражать не только документы Microsoft Word и Excel. Существуют вредоносные программы, ориентированные и на другие типы документов: Macro.Visio.Radiant заражает файлы известной программы для построения диаграмм – Visio, Virus.Acad.Pobresito – документы AutoCAD, Macro.AmiPro.Green – документы популярного раньше текстового процессора Ami Pro.

Скрипт-вирусы – вирусы, исполняемые в среде определённой командной оболочки: раньше – bat -файлы в командной оболочке DOS , сейчас чаще VBS и JS -скрипты в командной оболочке Windows Scripting Host (WSH ).

Примеры. Virus.VBS.Sling написан на языке VBScript (Visual Basic Script). При запуске он ищет файлы с расширениями.VBS или.VBE и заражает их. При наступлении 16 июня или июля вирус при запуске удаляет все файлы с расширениями.VBS и.VBE, включая самого себя.

Virus.WinHLP.Pluma.a – вирус, заражающий файлы помощи Windows. При открытии заражённого файла помощи выполняется вирусный скрипт, который, используя нетривиальный метод (по сути, уязвимость в обработке скриптов), запускает на выполнение уже как обычный файл Windows определённую строку кода, содержащегося в скрипте. Запущенный код производит поиск файлов справки на диске и внедряет в их область System скрипт автозапуска.

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

Отдельно стоит отметить тот факт, что вирусы, рассчитанные для работы в среде определённой ОС или приложения, оказываются неработоспособными в среде других ОС и приложений. Поэтому как отдельный атрибут вируса выделяется среда, в которой он способен выполняться. Для файловых вирусов это DOS , Windows , Linux , MacOS , OS /2. Для макровирусов – Word , Excel , PowerPoint , Office . Иногда вирусу требуется для корректной работы какая-то определённая версия ОС или приложения, тогда атрибут указывается более узко: Win9x , Excel97 .

На стадии поиска объектов для заражения встречается два способа поведения вирусов.

1. Получив управление, вирус производит разовый поиск жертв, после чего передаёт управление ассоциированному с ним объекту (заражённому объекту).

Пример. Обычно при освоении новой платформы сначала появляются вирусы именно этого типа. Так было при появлении вирусов под DOS , под Windows 9x, под Windows NT , под Linux .

Например, таким вирусом является Virus.Multi.Pelf.2132 – один из немногих представителей мультиплатформенных вирусов. Этот вирус способен заражать как PE -файлы, так и файлы в формате ELF (формат исполняемых файлов под Linux ). При запуске вирус производит в текущем (под обеими операционными системами) и вышестоящих каталогах (под Windows ) файлов заражаемых форматов (PE и ELF ), определяя действительный формат файла по его структуре. После заражения найденных файлов вирус завершает работу и возвращает управление запущенному файлу.

2. Получив управление, вирус так или иначе остаётся в памяти и производит поиск жертв непрерывно, до завершения работы среды, в которой он выполняется.

Пример. Virus.DOS.Anarchy.6093 также является мультиплатформенным в том смысле, что он способен заражать DOS COM - и EXE -файлы, а также документы Microsoft Word 6/7. При этом вирус может активироваться при запуске как в среде DOS , так и в среде Windows 95. После запуска вирус перехватывает прерывание INT 21h, а в среде Windows дополнительно вносит изменения в драйвер VMM32.VXD (Virtual Memory Manager ) с целью перехвата обращений к файлам. При запуске или открытии COM -, EXE и DOC -файла вирус заражает его. Помимо этого, в файловом варианте вирус является полиморфным (см. ниже), и в любом варианте обладает stealth -функциональностью (см. ниже).

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

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

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

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

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

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

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

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

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

- метаморфный вирус – вирус, применяющий метаморфизм ко всему своему телу для создания новых копий;

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

Полиморфные вирусы можно делить на классы по уровню полиморфизма.

Пик популярности полиморфных вирусов пришёлся на времена DOS , тем не менее, и позднее полиморфизм использовался во множестве вирусов, продолжает использоваться полиморфизм и сегодня.

Примеры. Упомянутый выше Email-Worm.Win32.Bagle.p является полиморфным вирусом.

Одним из наиболее сложных и относительно поздних полиморфных вирусов является Virus.Win32.Etap . При заражении файла вирус перестраивает и шифрует собственный код, записывает его в одну из секций заражаемого файла, после чего ищет в коде файла вызов функции ExitProcess и заменяет его на вызов вирусного кода. Таким образом, вирус получает управление не перед выполнением исходного кода заражённого файла, а после него.

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

Внедрение вирусного кода непосредственно в заражаемый объект;

Замена объекта на вирусную копию. Замещаемый объект, как правило, переименовывается.

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

Пример. Один из немногих почтовых червей, распространяющихся по почтовой книге The Bat ! – Email-Worm.Win32.Stator.a , помимо всего прочего заражает некоторые файлы Windows по принципу вируса-компаньона. В частности, к заражаемым файлам относятся: mplayer.exe , winhlp32.exe , notepad.exe , control.exe , scanregw.exe . При заражении файлы переименовываются в расширение.VXD , а вирус создаёт свои копии под оригинальными именами заражаемых файлов. После получения управления вирус запускает соответствующий переименованный оригинальный файл.

В качестве варианта второго метода во времена DOS применялся следующий приём. При наборе имени исполняемого файла без указания расширения, DOS ищет по порядку сперва BAT , затем COM и в конце концов EXE -файл. Соответственно, вирусная копия создавалась в одном каталоге с EXE -файлом, дублируя его имя и принимая расширение COM . Таким образом, при попытке запустить данный EXE -файл без явного указания расширения сначала запускался вирус.

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

5.1.2. Черви

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

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

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

1) проникновение в систему;

2) активация;

3) поиск «жертв»;

4) подготовка копий;

5) распространение копий.

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

Стадия 4 – Подготовка копий – практически ничем не отличается от аналогичной стадии в процессе размножения вирусов. Сказанное о подготовке копий вирусов без изменений применимо и к червям.

На этапе проникновения в систему черви делятся преимущественно по типам используемых протоколов:

- сетевые черви – черви, использующие для распространения протоколы Интернета и локальных сетей. Обычно этот тип червей распространяется с использованием неправильной обработки некоторыми приложениями базовых пакетов стека протоколов tcp /ip;

- почтовые черви – черви, распространяющиеся в формате сообщений электронной почты;

- IRC-черви – черви, распространяющиеся по каналам IRC (Internet Relay Chat );

- P2P-черви – черви, распространяющиеся при помощи пиринговых (peer-to-peer ) файлообменных сетей;

- IM-черви – черви, использующие для распространения системы мгновенного обмена сообщениями (IM , Instant Messenger ICQ , MSN Messenger , AIM и др.).

Примеры. Классическими сетевыми червями являются представители семейства Net-Worm.Win32.Sasser . Эти черви используют уязвимость в службе LSASS Microsoft Windows . При размножении червь запускает FTP -службу на TCP -порту 5554, после чего выбирает IP -адрес для атаки и отсылает запрос на порт 445 по этому адресу, проверяя, запущена ли служба LSASS . Если атакуемый компьютер отвечает на запрос, червь посылает на этот же порт эксплойт уязвимости в службе LSASS , в результате успешного выполнения которого на удалённом компьютере запускается командная оболочка на TCP -порту 9996. Через эту оболочку червь удалённо выполняет загрузку копии червя по протоколу FTP с запущенного ранее сервера и удалённо же запускает себя, завершая процесс проникновения и активации.

В качестве примера почтового червя можно рассмотреть Email-Worm.Win32.Zafi.d . Заражённое сообщение включает в себя выбираемые из некоторого списка тему и текст, содержанием которых является поздравление с праздником (большая часть – с Рождеством) и предложение ознакомиться с поздравительной открыткой во вложении. Поздравления могут быть на разных языках. Имя находящегося во вложении файла червя состоит из слова postcard на языке, соответствующем поздравлению, и произвольного набора символов. Расширение файла червя случайным образом выбирается из списка.BAT , .COM , .EXE , .PIF , .ZIP . Для рассылки червь использует адреса электронной почты, найденные на заражённом компьютере. Чтобы получить управление, червь должен быть запущен пользователем.

IRC-Worm.Win32.Golember.a является, как следует из названия, IRC -червем. При запуске он сохраняет себя в каталоге Windows под именем trlmsn.exe и добавляет в раздел автозапуска реестра Windows параметр со строкой запуска этого файла. Кроме этого, червь сохраняет на диск свою копию в виде архива Janey2002.zip и файл-изображение Janey.jpg . Затем червь подключается к произвольным IRC -каналам под различными именами и начинает слать определённые текстовые строки, имитируя активность обычного пользователя. Параллельно всем пользователям этих каналов отсылается заархивированная копия червя.

Функциональностью распространения через P2P -каналы обладают многие сетевые и почтовые черви. Например, Email-Worm.Win32.Netsky.q для размножения через файлообменные сети ищет на локальном диске каталоги, содержащие названия наиболее популярных сетей или же слово «shared », после чего кладёт в эти каталоги свои копии под различными названиями.

IM -черви редко пересылают зараженные файлы непосредственно между клиентами. Вместо этого они рассылают ссылки на заражённые веб-страницы. Так, червь IM-Worm.Win32.Kelvir.k посылает через MSN Messenger сообщения, содержащие текст «its you » и ссылку «http://www. malignancy.us//pictures.php?email= », по указанному в которой адресу расположен файл червя.

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

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

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

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

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

Отличие в этих подходах глубже, чем может показаться на первый взгляд. Активация сетевого червя без участия пользователя всегда означает, что червь использует бреши в безопасности программного обеспечения компьютера. Это приводит к очень быстрому распространению червя внутри корпоративной сети с большим числом станций, существенно увеличивает загрузку каналов связи и может полностью парализовать сеть. Именно этот метод активации использовали черви Lovesan и Sasser . В результате вызванной таким сетевым червем эпидемии используемая брешь закрывается администраторами либо пользователями, и по мере уменьшения компьютеров с открытой брешью эпидемия завершается. Для повторения эпидемии разработчикам вирусов приходится эксплуатировать другую брешь. В итоге эпидемии, вызванные активными червями, существеннее влияют на работу сети в целом, однако случаются значительно реже, чем эпидемии пассивных сетевых червей. Обязательной мерой защиты от таких эпидемий является своевременная установка заплат безопасности. Отметим также, что особенно уязвимыми для этого типа червей являются операционные системы с заложенными возможностями удалённого управления или запуска программ – это семейство Microsoft Windows NT /2000/XP /2003.

Пример. Уязвимость в службе LSASS , впервые использованная в черве MyDoom в начале 2004 г., продолжала успешно применяться и спустя полтора года. Так, Net-Worm.Win32.Mytob.be, обнаруженный в июне 2005 г., всё ещё использовал эту уязвимость как один из способов распространения в дополнение к распространению через электронную почту.

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

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

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

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

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

Точно так же интернет-черви сканируют диапазон IP -адресов в поисках уязвимых компьютеров, а P2P черви кладут свои копии в общедоступные каталоги клиентов пиринговых сетей. Некоторые черви способны эксплуатировать списки контактов интернет-пейджеров, таких как ICQ , AIM , MSN Messenger , Yahoo ! Messenger и др.

Сказанное ранее о подготовке копий для распространения вирусов применимо и для червей.

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

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

5.1.3. Трояны

Приведём интуитивное определение троянской программы, или трояна.

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

В силу отсутствия у троянов функций размножения и распространения их жизненный цикл крайне короток – всего три стадии:

Проникновение на компьютер;

Активация;

Выполнение заложенных функций.

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

Задачу проникновения на компьютер пользователя трояны решают обычно одним из двух следующих методов.

1. Маскировка – троян выдаёт себя за полезное приложение, которое пользователь самостоятельно загружает из Интернет и запускает. Иногда пользователь исключается из этого процесса за счёт размещения на web -странице специального скрипта, который, используя дыры в браузере, автоматически инициирует загрузку и запуск трояна.

Пример. Trojan.SymbOS.Hobble.a является архивом для операционной системы Symbian (SIS -архивом). При этом он маскируется под антивирус Symantec и носит имя symantec.sis . После запуска на смартфоне троян подменяет оригинальный файл оболочки FExplorer.app на повреждённый. В результате при следующей загрузке операционной системы большинство функций смартфона оказываются недоступными.

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

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

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

Пример. Используя backdoor -функционал червей семейства Bagle , автор червя проводил скрытую инсталляцию трояна SpamTool.Win32. Small.b , который собирал и отсылал на определённый адрес электронной почты, имевшийся в файлах на заражённом компьютере.

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

Пример. Известный в прошлом червь Email-Worm.Win32.Klez.h при заражении компьютера также запускал на нём вирус Virus.Win32.Elkern.c . Зачем это было сделано, сказать тяжело, поскольку вирус сам по себе, кроме заражения и связанных с ошибками в коде вредоносных проявлений (явно выраженных вредоносных процедур в нём нет), никаких действий не выполняет, т.е. не является «усилением» червя в каком бы то ни было смысле.

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

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

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

Пример. В прошлом, буквально пару лет назад ещё встречались клавиатурные шпионы, которые фиксировали все нажатия клавиш и записывали их в отдельный файл. Trojan-Spy.Win32.Small.b , например, в бесконечном цикле считывал коды нажимаемых клавиш и сохранял их в файле C:\SYS .

Современные программы-шпионы оптимизированы для сбора информации, передаваемой пользователем в Интернет, поскольку среди этих данных могут встречаться логины и пароли к банковским счетам, PIN -коды кредитных карт и прочая конфиденциальная информация, относящаяся к финансовой деятельности пользователя. Trojan-Spy.Win32.Agent.fa отслеживает открытые окна Internet Explorer и сохраняет информацию с посещаемых пользователем сайтов, ввод клавиатуры в специально созданный файл servms.dll в системном каталоге Windows .

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

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

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

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

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

Пример. В последнее время backdoor -функционал стал характерной чертой червей. Например, Email-Worm.Win32.Bagle.at использует порт 81 для получения удалённых команд или загрузки троянов, расширяющих функционал червя.

Есть и отдельные трояны типа backdoor . Троян Backdoor.win32. Wootbot.gen использует IRC -канал для получения команд от «хозяина». По команде троян может загружать и запускать на выполнение другие программы, сканировать другие компьютеры на наличие уязвимостей и устанавливать себя на компьютеры через обнаруженные уязвимости.

- Анонимные smtp-сервера и прокси – трояны, выполняющие функции почтовых серверов или прокси и использующиеся в первом случае для спам-рассылок, а во втором – для заметания следов хакерами.

Пример. Трояны из семейства Trojan-Proxy.Win32.Mitglieder распространяются с различными версиями червей Bagle . Троян запускается червем, открывает на компьютере порт и отправляет автору вируса информацию об IP -адресе заражённого компьютера. После этого компьютер может использоваться для рассылки спама.

- утилиты дозвона – сравнительно новый тип троянов, представляющий собой утилиты dial-up доступа в Интернет через дорогие почтовые службы. Такие трояны прописываются в системе как утилиты дозвона по умолчанию и влекут за собой огромные счета за пользование Интернетом.

Пример. Trojan.Win32.Dialer.a при запуске осуществляет дозвон в Интернет через платные почтовые службы. Никаких других действий не производит, в том числе не создаёт ключей в реестре, т.е. даже не регистрируется в качестве стандартной программы дозвона и не обеспечивает автозапуск.

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

Пример. Trojan-Clicker.JS.Pretty обычно содержится в html -стра-ницах. Он открывает дополнительные окна с определёнными веб-стра-ницами и обновляет их с заданным интервалом.

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

Пример. Virus.Win9x.CIH , Macro.Word97.Thus.

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

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

- DDoS атаки – благодаря массовости, черви могут эффективно использоваться для реализации распределённых атак на отказ в обслуживании (DDoS атак). В разгар эпидемии, когда заражёнными являются миллионы и даже десятки миллионов компьютеров, обращение всех инфицированных систем к определённому интернет-ресурсу приводит к полному блокированию этого ресурса. Так, во время атаки червя MyDoom сайт компании SCO был недоступен в течение месяца. Примеры: Net-Worm.Win32.CodeRed.a – не совсем удачная атака на www.whitehouse.gov , Email-Worm.Win32.Mydoom.a – удачная атака на www.sco.com.

- Потеря данных – более характерное для вирусов, чем для троянов и червей, поведение, связанное с намеренным уничтожением определённых данных на компьютере пользователя. Примеры: Virus.Win9x.CIH – удаление стартовых секторов дисков и содержимого Flash BIOS; Macro.Word97.Thus – удаление всех файлов на диске C :; Email-Worm.Win32.Mydoom.e – удаление файлов с определёнными расширениями в зависимости от показателя счётчика случайных чисел.

- Нарушение работы ПО – также более свойственная вирусам черта. Из-за ошибок в коде вируса заражённые приложения могут работать с ошибками или не работать вовсе. Пример: Net-Worm.Win32.Sasser.a – перезагрузка заражённого компьютера.

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

Наличие деструктивных действий вовсе не является обязательным критерием для классификации программного кода как вирусного. Следует также отметить, что одним только процессом саморазмножения вирус способен причинить колоссальный ущерб. Наиболее яркий пример – Net-Worm.Win32.Slammer .

5.1.4. Угрозы безопасности информации

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

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

Для каждой угрозы существует несколько способов её реализации со стороны вирусов.

Угроза нарушения конфиденциальности:

Кража информации и её распространение с помощью штатных средств связи либо скрытых каналов передачи: Email-Worm.Win32.Sircam – рассылал вместе с вирусными копиями произвольные документы, найденные на заражённом компьютере;

Кража паролей доступа, ключей шифрования и пр.: любые трояны, крадущие пароли, Trojan-PSW.Win32.LdPinch.gen ;

Удалённое управление: Backdoor.Win32.NetBus , Email-Worm.Win32. Bagle (backdoor -функциональность).

Угроза нарушения целостности:

Модификация посредством уничтожения либо шифрации (удаление некоторых типов документов): Virus.DOS.OneHalf – шифрование содержимого диска, Virus.Win32.Gpcode.f – шифрует файлы с определёнными расширениями, после чего самоуничтожается, оставляя рядом с зашифрованными файлами координаты для связи по вопросам расшифровки файлов;

Модификация путём низкоуровневого уничтожения носителя (форматирование носителя, уничтожение таблиц распределения файлов): Virus.MSWord.Melissa.w – 25 декабря форматирует диск C :.

Угроза нарушения доступности:

Любая деятельность, результатом которой является невозможность доступа к информации; различные звуковые и визуальные эффекты: Email-Worm.Win32.Bagle.p – блокирование доступа к сайтам антивирусных компаний;

Вывод компьютера из строя путём уничтожения либо порчи критических составляющих (уничтожение Flash BIOS ): Virus.Win9x.CIH – порча Flash BIOS.

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

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

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

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

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

Дерево классификации вредоносных программ

Система классификации «Лаборатории Касперского» четко описывает каждый обнаруженный объект и назначает конкретное местоположение в дереве классификации, показанном ниже на диаграмме «Дерево классификации»:

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

Многофункциональные вредоносные программы

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

Например. Существует вредоносная программа, которая занимается сбором адресов электронной почты на зараженном компьютере без ведома пользователя. При этом она распространяется как в виде вложений электронной почты, так и в виде файлов через сети P2P. Тогда программу можно классифицировать и как Email-Worm , и как P2P-Worm или Trojan-Mailfinder . Чтобы избежать такой путаницы применяется набор правил, которые позволяют однозначно классифицировать вредоносную программу по конкретному поведению, независимо от второстепенных свойств. Правила применяются только к вредоносным программам и не учитывают Adware, Riskware, Pornware и другие объекты, обнаруживаемые проактивной защитой (которые обозначаются префиксом PDM:) или эвристическим анализатором (в этом случае используется префикс HEUR:).

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

Правило, согласно которому выбирается поведение с максимальным уровнем опасности, применяется только ктроянским программам , вирусам и червям . К вредоносным утилитам оно не применяется.

Несколько функций с одинаковым уровнем опасности

Если вредоносная программа имеет несколько функций с одинаковым уровнем опасности (таких как Trojan-Ransom, Trojan-ArcBomb, Trojan-Clicker, Trojan-DDoS, Trojan-Downloader, Trojan-Dropper, Trojan-IM, Trojan-Notifier, Trojan-Proxy, Trojan-SMS, Trojan-Spy, Trojan-Mailfinder, Trojan-GameThief, Trojan-PSW или Trojan-Banker), она классифицируется как троянская программа.

Если у вредоносной программы есть несколько функций с одинаковым уровнем опасности, таких как IM-Worm, P2P-Worm или IRC-Worm, она классифицируется как червь.

Защитите свои устройства и данные от всех видов вредоносных программ.

По материалам сайта kaspersky.ru

    Речь пойдет о простейших способах нейтрализации вирусов, в частности, блокирующих рабочий стол пользователя Windows 7 (семейство вирусов Trojan.Winlock). Подобные вирусы отличаются тем, что не скрывают своего присутствия в системе, а наоборот, демонстрируют его, максимально затрудняя выполнение каких-либо действий, кроме ввода специального "кода разблокировки", для получения которого, якобы, требуется перечислить некоторую сумму злоумышленникам через отправку СМС или пополнение счета мобильного телефона через платежный терминал. Цель здесь одна - заставить пользователя платить, причем иногда довольно приличные деньги. На экран выводится окно с грозным предупреждением о блокировке компьютера за использование нелицензионного программного обеспечения или посещение нежелательных сайтов, и еще что-то в этом роде, как правило, чтобы напугать пользователя. Кроме этого, вирус не позволяет выполнить какие либо действия в рабочей среде Windows - блокирует нажатие специальных комбинаций клавиш для вызова меню кнопки "Пуск", команды "Выполнить" , диспетчера задач и т.п. Указатель мышки невозможно переместить за пределы окна вируса. Как правило, эта же картина наблюдается и при загрузке Windows в безопасном режиме. Ситуация кажется безвыходной, особенно если нет другого компьютера, возможности загрузки в другой операционной системе, или со сменного носителя (LIVE CD, ERD Commander, антивирусный сканер). Но, тем не менее, выход в подавляющем большинстве случаев есть.

    Новые технологии, реализованные в Windows Vista / Windows 7 значительно затруднили внедрение и взятие системы под полный контроль вредоносными программами, а также предоставили пользователям дополнительные возможности относительно просто от них избавиться, даже не имея антивирусного программного обеспечения (ПО). Речь идет о возможности загрузки системы в безопасном режиме с поддержкой командной строки и запуска из нее программных средств контроля и восстановления. Очевидно, по привычке, из-за довольно убогой реализации этого режима в предшествующих версиях операционных систем семейства Windows, многие пользователи просто им не пользуются. А зря. В командной строке Windows 7 нет привычного рабочего стола (который может быть заблокирован вирусом), но есть возможность запустить большинство программ - редактор реестра, диспетчер задач, утилиту восстановления системы и т.п.

Удаление вируса с помощью отката системы на точку восстановления

    Вирус - это обычная программа, и если даже она находится на жестком диске компьютера, но не имеет возможности автоматически стартовать при загрузке системы и регистрации пользователя, то она так же безобидна, как, например, обычный текстовый файл. Если решить проблему блокировки автоматического запуска вредоносной программы, то задачу избавления от вредоносного ПО можно считать выполненной. Основной способ автоматического запуска, используемый вирусами - это специально созданные записи в реестре, создаваемые при внедрении в систему. Если удалить эти записи - вирус можно считать обезвреженным. Самый простой способ - это выполнить восстановление системы по данным контрольной точки. Контрольная точка - это копия важных системных файлов, хранящаяся в специальном каталоге ("System Volume Information") и содержащих, кроме всего прочего, копии файлов системного реестра Windows. Выполнение отката системы на точку восстановления, дата создания которой предшествует вирусному заражению, позволяет получить состояние системного реестра без тех записей, которые сделаны внедрившимся вирусом и тем самым, исключить его автоматический старт, т.е. избавиться от заражения даже без использования антивирусного ПО. Таким способом можно просто и быстро избавиться от заражения системы большинством вирусов, в том числе и тех, что выполняют блокировку рабочего стола Windows. Естественно, вирус-блокировщик, использующий например, модификацию загрузочных секторов жесткого диска (вирус MBRLock) таким способом удален быть не может, поскольку откат системы на точку восстановления не затрагивает загрузочные записи дисков, да и загрузить Windows в безопасном режиме с поддержкой командной строки не удастся, поскольку вирус загружается еще до загрузчика Windows . Для избавления от такого заражения придется выполнять загрузку с другого носителя и восстанавливать зараженные загрузочные записи. Но подобных вирусов относительно немного и в большинстве случаев, избавиться от заразы можно откатом системы на точку восстановления.

1. В самом начале загрузки нажать кнопку F8 . На экране отобразится меню загрузчика Windows, с возможными вариантами загрузки системы

2. Выбрать вариант загрузки Windows - "Безопасный режим с поддержкой командной строки"

После завершения загрузки и регистрации пользователя вместо привычного рабочего стола Windows, будет отображаться окно командного процессора cmd.exe

3. Запустить средство "Восстановление системы", для чего в командной строке нужно набрать rstrui.exe и нажать ENTER .

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

После выбора точки восстановления Windows, можно посмотреть список затрагиваемых программ при откате системы:

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

После нажатия на кнопку "Готово" начнется процесс восстановления системы. По его завершению будет выполнена перезагрузка Windows.

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

Удаление вируса без отката системы на точку восстановления

    Возможна ситуация, когда в системе отсутствуют, по разным причинам, данные точек восстановления, процедура восстановления завершилась с ошибкой, или откат не дал положительного результата. В таком случае, можно воспользоваться диагностической утилитой Конфигурирования системы MSCONFIG.EXE . Как и в предыдущем случае, нужно выполнить загрузку Windows в безопасном режиме с поддержкой командной строки и в окне интерпретатора командной строки cmd.exe набрать msconfig.exe и нажать ENTER

На вкладке "Общие" можно выбрать следующие режимы запуска Windows:

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

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

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

Замечу, что вероятность заражения системы вирусом, который инсталлирован в качестве системной службы, при стандартных настройках безопасности в среде Windows Vista / Windows 7, очень невелика, и следы вируса придется искать в списке автоматически запускающихся программ пользователей (вкладка "Автозагрузка").

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

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

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

chkdsk C: /F - выполнить проверку диска C: с исправлением обнаруженных ошибок (ключ /F)

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

Устранение возможности запуска вируса с помощью редактора реестра.

    Для запуска редактора реестра, как и в предыдущем случае, нужно выполнить загрузку Windows в безопасном режиме с поддержкой командной строки, в окне интерпретатора командной строки набрать regedit.exe и нажать ENTER     Windows 7, при стандартных настройках безопасности системы, защищена от многих методов запуска вредоносных программ, применявшихся для предыдущих версий операционных систем от Майкрософт. Установка вирусами своих драйверов и служб, перенастройка службы WINLOGON с подключением собственных исполняемых модулей, исправление ключей реестра, имеющих отношение ко всем пользователям и т.п - все эти методы в среде Windows 7 либо не работают, либо требуют настолько серьезных трудозатрат, что практически не встречаются. Как правило, изменения в реестре, обеспечивающие запуск вируса, выполняются только в контексте разрешений, существующих для текущего пользователя, т.е. в разделе HKEY_CURRENT_USER

Для того, чтобы продемонстрировать простейший механизм блокировки рабочего стола с использованием подмены оболочки пользователя (shell) и невозможности использования утилиты MSCONFIG для обнаружения и удаления вируса можно провести следующий эксперимент - вместо вируса самостоятельно подправить данные реестра, чтобы вместо рабочего стола получить, например, командную строку. Привычный рабочий стол создается проводником Windows (программа Explorer.exe ) запускаемым в качестве оболочки пользователя. Это обеспечивается значениями параметра Shell в разделах реестра

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon - для всех пользователей.
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon - для текущего пользователя.

Параметр Shell представляет собой строку с именем программы, которая будет использоваться в качестве оболочки при входе пользователя в систему. Обычно в разделе для текущего пользователя (HKEY_CURRENT_USER или сокращенно - HKCU) параметр Shell отсутствует и используется значение из раздела реестра для всех пользователей (HKEY_LOCAL_MACHINE\ или в сокращенном виде - HKLM)

Так выглядит раздел реестра HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon при стандартной установке Windows 7

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

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

Если, в продолжение эксперимента, запустить утилиту msconfig , то можно убедиться, что в списках автоматически запускаемых программ cmd.exe в качестве оболочки пользователя отсутствует. Откат системы, естественно, позволит вернуть исходное состояние реестра и избавиться от автоматического старта вируса, но если он по каким-либо причинам, невозможен - остается только прямое редактирование реестра. Для возврата к стандартному рабочему столу достаточно удалить параметр Shell , или изменить его значение с "cmd.exe" на "explorer.exe" и выполнить перерегистрацию пользователя (выйти из системы и снова войти) или перезагрузку. Редактирование реестра можно выполнить, запустив из командной строки редактор реестра regedit.exe или воспользоваться консольной утилитой REG.EXE . Пример командной строки для удаления параметра Shell:

REG delete "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell

Приведенный пример с подменой оболочки пользователя, на сегодняшний день является одним из наиболее распространенных приемов, используемых вирусами в среде операционной системы Windows 7 . Довольно высокий уровень безопасности при стандартных настройках системы не позволяет вредоносным программам получать доступ к разделам реестра, которые использовались для заражения в Windows XP и более ранних версий. Даже если текущий пользователь является членом группы "Администраторы", доступ к подавляющему количеству параметров реестра, используемых для заражения, требует запуск программы от имени администратора. Именно по этой причине вредоносные программы модифицируют ключи реестра, доступ к которым разрешен текущему пользователю (раздел HKCU . . .) Второй важный фактор - сложность реализации записи файлов программ в системные каталоги. Именно по этой причине большинство вирусов в среде Windows 7 используют запуск исполняемых файлов (.exe) из каталога временных файлов (Temp) текущего пользователя. При анализе точек автоматического запуска программ в реестре, в первую очередь нужно обращать внимание на программы, находящиеся в каталоге временных файлов. Обычно это каталог C:\USERS\имя пользователя\AppData\Local\Temp . Точный путь каталога временных файлов можно посмотреть через панель управления в свойствах системы - "Переменные среды". Или в командной строке:

set temp
или
echo %temp%

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

Для получения полного списка возможных точек автоматического запуска удобно использовать специальную программу Autoruns из пакета SysinternalsSuite.

Простейшие способы удаления блокировщиков семейства MBRLock

Вредоносные программы могут получить контроль над компьютером не только при заражении операционной системы, но и при модификации записей загрузочных секторов диска, с которого выполняется загрузка. Вирус выполняет подмену данных загрузочного сектора активного раздела своим программным кодом так, чтобы вместо Windows выполнялась загрузка простой программы, которая бы выводила на экран сообщение вымогателя, требующее денег для жуликов. Поскольку вирус получает управление еще до загрузки системы, обойти его можно только одним способом - загрузиться с другого носителя (CD/DVD, внешнего диска, и т.п.) в любой операционной системе, где имеется возможность восстановления программного кода загрузочных секторов. Самый простой способ - воспользоваться Live CD / Live USB, как правило, бесплатно предоставляемыми пользователям большинством антивирусных компаний (Dr Web Live CD, Kaspersky Rescue Disk, Avast! Rescue Disk и т.п.) Кроме восстановления загрузочных секторов, данные продукты могут выполнить еще и проверку файловой системы на наличие вредоносных программ с удалением или лечением зараженных файлов. Если нет возможности использовать данный способ, то можно обойтись и простой загрузкой любой версии Windows PE (установочный диск, диск аварийного восстановления ERD Commander), позволяющей восстановить нормальную загрузку системы. Обычно достаточно даже простой возможности получить доступ к командной строке и выполнить команду:

bootsect /nt60 /mbr буква системного диска:

bootsect /nt60 /mbr E:> - восстановить загрузочные секторы диска E: Здесь должна быть буква того диска, который используется в качестве устройства загрузки поврежденной вирусом системы.

Или для Windows, предшествующих Windows Vista

bootsect /nt52 /mbr буква системного диска:

Утилита bootsect.exe может находиться не только в системных каталогах, но и на любом съемном носителе, может выполняться в среде любой операционной системы семейства Windows и позволяет восстановить программный код загрузочных секторов, не затрагивая таблицу разделов и файловую систему. Ключ /mbr, как правило, не нужен, поскольку восстанавливает программный код главной загрузочной записи MBR, которую вирусы не модифицируют (возможно - пока не модифицируют).

Вирусы-шифровальщики и новые проблемы спасения пользовательских данных.

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

Восстановление данных из теневых копий томов - о теневом копировании и возможности восстановления файлов из теневых копий томов.

Recuva - использоваие бесплатной программы Recuva от Piriform для восстановления удаленных файлов, и файлов из теневых копий томов.

С появлением вирусов шифровальщиков нового поколения, проблема сохранности пользовательских данных стала значительно острее. Вирусы не только выполняют шифрование документов, архивов, фото, видео и прочих файлов, но и делают все возможное, чтобы не допустить хотя бы частичное восстановление данных пострадавшим от заражения пользователем. Так, например, вирусы-шифровальщики выполняют попытку удаления теневых копий томов с помощью команды vssadmin , что при отключенном контроле учетных записей (UAC), происходит незаметно и гарантированно приводит к невозможности восстановления предыдущих копий файлов или использования программного обеспечения, позволяющего извлекать данные из теневых копий (Recuva, стандартные средства Windows и т.п.). С учетом применения алгоритмов стойкого шифрования, восстановление зашифрованных данных, даже частичное, становится очень непростой задачей, посильной разве что для профессионалам в данной области. На сегодняшний день, существует пожалуй единственный способ обезопасить себя от полной потери данных - это использовать автоматическое резервное копирование с хранением копий в недоступном для вирусов месте или использовать программное обеспечения типа "машина времени", позволяющее создавать мгновенные копии файловой системы (снимки) и выполнять откат на их содержимое в любой момент времени. Такое программное обеспечение не использует стандартную файловую систему, имеет свой собственный загрузчик и средства управления, работающие автономно, без необходимости загрузки Windows, что не позволяет вредоносным программам полностью взять под контроль средства восстановления файловой системы. Кроме того, это ПО практически не влияет на быстродействие Windows. Примером такого ПО могут быть некоторые коммерческие продукты компании Horizon DataSys и бесплатные Comodo Time Machine и Rollback RX Home

Comodo Time Machine - отдельная статья о Comodo Time Machine и ссылки для скачивания бесплатной версии.

Rollback Rx Home - отдельная статья о Rollback Rx Home Edition компании Horizon DataSys и ссылки для скачивания бесплатной версии.

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

    регламентацию проведения работ на ПЭВМ;

    применение программных средств защиты;

    использование специальных аппаратных средств защиты.

При этом количество уровней защиты зависит от ценности информации, которая обрабатывается на ПЭВМ.

Для защиты от компьютерных вирусов в настоящее время используются следующие методы.

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

Входной контроль. Проверка всех поступающих программ детекторами, а также проверка длин и контрольных сумм вновь поступающих программ на соответствие значениям, указанным в документации. Большинство известных файловых и бутовых вирусов можно выявить на этапе входного контроля. Для этой цели используетсябатарея детекторов (несколько последовательно запускаемых программ). Набор детекторов достаточно широк, и постоянно пополняется по мере появления новых вирусов. Однако при этом могут быть обнаружены не все вирусы, а только распознаваемые детектором. Следующим элементом входного контроля является контекстный поиск в файлах слов и сообщений, которые могут принадлежать вирусу (например,Virus,COMMAND.COM,Killи т.д.). Подозрительным является отсутствие в последних 2-3 килобайтах файла текстовых строк - это может быть признаком вируса, который шифрует свое тело.

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

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

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

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

Сегментация . Предполагает разбиение магнитного диска на ряд логических томов (разделов), часть из которых имеет статус READ_ONLY (только чтение). В данных разделах хранятся выполняемые программы и системные файлы. Базы данных должны храниться в других секторах, отдельно от выполняемых программ. Важным профилактическим средством в борьбе с файловыми вирусами является исключение значительной части загрузочных модулей из сферы их досягаемости. Этот метод называется сегментацией и основан на разделении магнитного диска (винчестера) с помощью специального драйвера, обеспечивающего присвоение отдельным логическим томам атрибута READ_ONLY (только чтение), а также поддерживающего схемы парольного доступа. При этом в защищенные от записи разделы диска помещаются исполняемые программы и системные утилиты, а также системы управления базами данных и трансляторы, т.е. компоненты ПО, наиболее подверженные опасности заражения. В качестве такого драйвера целесообразно использовать программы типаADVANCEDDISKMANAGER(программа для форматирования и подготовки жесткого диска), которая не только позволяет разбить диск на разделы, но и организовать доступ к ним с помощью паролей. Количество используемых логических томов и их размеры зависят от решаемых задач и объема винчестера. Рекомендуется использовать 3 - 4 логических тома, причем на системном диске, с которого выполняется загрузка, следует оставить минимальное количество файлов (системные файлы, командный процессор, а также программы - ловушки).

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

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

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

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

    входной контроль новых программ;

    сегментация информации на магнитном диске;

    защита операционной системы от заражения;

    систематический контроль целостности информации.

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

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

Кроме того, для защиты операционной системы может применяться нестандартный командный процессор (например, командный процессор 4DOS, разработанный фирмой J.P.Software), который более устойчив к заражению. Размещение рабочей копии командного процессора на виртуальном диске позволяет использовать его в качестве программы-ловушки. Для этого может использоваться специальная программа, которая периодически контролирует целостность командного процессора, и информирует о ее нарушении. Это позволяет организовать раннее обнаружение факта вирусной атаки.

В качестве альтернативы MS DOS было разработано несколько операционных систем, которые являются более устойчивыми к заражению. Из них следует отметить DR DOS и Hi DOS. Любая из этих систем более «вирусоустойчива», чем MS DOS. При этом, чем сложнее и опаснее вирус, тем меньше вероятность, что он будет работать на альтернативной операционной системе.

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

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

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

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

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

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