Емельянова Н.З., Партыка Т.Л., Попов И.И. - Защита информации в персональном компьютере (Профессиональное образование) - 2009
.pdfОкончание табл. 2.2
I Признак I |
Тип вируса |
Пояснения |
|
|
Компаньон-виру- |
Вирусы, не изменяющие файлы. Алгоритм работы этих вирусов |
|
j сы (companion) |
состоит в том, что они создают для ехе-ф айлов файлы-спутни |
|
|
|
|
ки, имеющие то же самое имя, но другое расширение |
|
|
«Черви» (worm) |
Распространяются в компьютерной сети и, так же, как и ком - |
!| |
|
|
I паньон-вирусы, не изменяют файлы или секторы на дисках. Они |
! |
|
|
проникают в память компьютера из компьютерной сети, вычис |
|
|
|
ляют сетевые адреса других компьютеров и рассылают по этим |
|
|
|
адресам свои копии |
|
|
«Паразитические» |
Вирусы, которые при распространении своих копий обязательно ! |
|
|
|
изменяют содержимое дисковых секторов или файлов. В эту |
|
|
|
группу относятся все вирусы, которые не являются «червями» |
|
|
|
или «компаньонами» |
|
I «Студенческие» |
Примитивные вирусы, часто нерезидентные и содержащие боль |
|
|
|
|
шое число ошибок |
|
|
«Стелс»-вирусы |
Представляют собой весьма совершенные программы, которые |
|
|
(вирусы-невидим- |
перехватывают обращения ОС к пораженным файлам или секто |
|
|
ки, stealth) |
рам дисков и «подставляют» вместо себя незараженные участки |
|
|
|
информации. Кроме этого, такие вирусы при обращении к фай |
|
|
|
л а м используют достаточно оригинальные алгоритмы, позво |
|
|
|
ляющие «обманывать» резидентные антивирусные мониторы |
|
і Полиморфиче- |
Самошифрующиеся или вирусы-призраки (polymorphic) — труд- |
|
|
! ские вирусы |
нообнаруживаемые вирусы, не имеющие сигнатур, т. е. не со |
|
|
|
|
держащие ни одного постоянного участка кода. В большинстве |
|
|
|
случаев два образца одного и того ж е полиморфик-вируса не |
|
|
|
будут иметь ни одного совпадения. Это достигается шифровани |
|
|
|
ем основного тела вируса и модификациями программы -рас |
|
|
|
шифровщика |
|
Макровирусы |
Используют возможности макроязыков, встроенных в системы |
|
|
|
|
обработки данных (текстовые редакторы, электронные таблицы |
|
|
|
и т. д.). Наиболее распространены макровирусы, заражающие |
|
|
|
текстовые документы редактора M icrosoft Word |
|
Основными путями проникновения вирусов в компьютер яв ляются съемные диски (гибкие и лазерные), а также компьютер ные сети. Заражение жесткого диска вирусами может произойти при загрузке программы с дискеты, содержащей вирус. Такое за ражение может быть и случайным, например, если дискету не вынули из дисковода а: и перезагрузили компьютер, при этом дискета может быть и не системной. Заразить дискету гораздо проще. На нее вирус может попасть, даже если дискету просто
вставить в дисковод зараженного компьютера и, например, про читать ее оглавление.
Важно заметить, что вирусы постепенно становятся редко стью по сравнению с троянскими программами или шпион ским ПО, так как они коммерчески малоэффективны для авторов злонамеренных программ. Таким образом, термин «вирус» зачас тую неверно используется для других типов заражений. В настоя щее время он постепенно выходит из употребления, и на смену ему приходит более точный термин «злонамеренное ПО» (ЗПС). Если компьютер заражен вирусом, необходимо восстановить за раженные файлы в их исходное состояние, т. е. очистить их с по мощью антивирусной программы. Примеры вирусов: OneHalf, Tenga и Yankee Doodle.
Рассмотрим более подробно некоторые из этих типов виру
сов.
Загрузочные вирусы. Известные на сегодня загрузочные виру сы заражают загрузочный (boot) сектор гибкого диска и boot-сектор или Master Boot Record (MBR) НЖМД. Принцип действия загрузочных вирусов основан на алгоритмах запуска операционной системы при включении или перезагрузке компь ютера — после необходимых тестов установленного оборудова ния (памяти, дисков и т. д.) программа системной загрузки счи тывает первый физический сектор загрузочного диска (а:, с: или CD-ROM в зависимости от установок BIOS) и передает на него управление.
При заражении дисков загрузочные вирусы «подставляют» свой код вместо какой-либо программы, получающей управление при загрузке системы. Принцип заражения, таким образом, та ков — вирус «заставляет» систему при перезапуске отдать управ ление не оригинальному коду загрузчика, а коду вируса.
Заражение дискет производится единственным известным способом — вирус записывает свой код вместо оригинального кода boot-сектора дискеты. НЖМД может заражаться тремя спо собами — вирус записывается либо вместо кода MBR, либо вме сто кода boot-сектора загрузочного диска (обычно диска с :), либо модифицирует адрес активного boot-сектора в таблице разделов диска (Disk Partition Table), расположенной в MBR НЖМД.
При инфицировании диска вирус в большинстве случаев пе реносит оригинальный boot-сектор (или MBR) в другую область диска (например, в первый свободный сектор). Если длина ви руса больше длины сектора, то в заражаемый сектор помещается
первая часть вируса, остальные части размещаются в других сек торах (например, в первых свободных).
Файловые вирусы. По способу заражения файлов эти вирусы образуют следующие классы:
•перезаписывающие (overwriting);
•паразитические (parasitic);
•вирусы-компаньоны (companion);
•вирусы-ссылки (link);
•вирусы, заражающие объектные модули (obj);
•вирусы, заражающие библиотеки компиляторов (lib);
•вирусы, заражающие исходные тексты программ.
П е р е з а п и с ы в а ю щ и е . Данный метод заражения является наиболее простым, поскольку вирус записывает свой код вместо кода заражаемого файла, уничтожая его содержимое. Естествен но, что после этого файл не восстанавливается. Такие вирусы очень быстро обнаруживают себя, поскольку могут возникнуть серьезные нарушения в работе операционной системы и прило жений.
П а р а з и т и ч е с к и е . К этой группе относятся все файловые вирусы, которые при распространении своих копий обязательно изменяют содержимое заражаемых файлов, оставляя сами файлы при этом полностью или частично работоспособными. Основ ными типами таких вирусов являются вирусы, размещающиеся в начало (prepending), в конец (appending) и в середину файла (inserting). В свою очередь, внедрение вирусов в середину фай лов происходит различными методами — путем переноса части файла в его конец или копирования вирусного кода в область заведомо неиспользуемых данных файла (саѵку-вирусы).
В н е д р е н и е в и р у с а в н а ч а л о ф а й л а . Известны два способа внедрения паразитического файлового вируса в начало файла. Первый заключается в том, что вирус переписывает нача ло заражаемого файла в его конец, а сам помещается на освобо дившееся место. При заражении файла вторым способом вирус дописывает заражаемый файл к своему телу. Таким образом, при запуске зараженного файла управление получает код вируса. При этом вирусы, чтобы сохранить работоспособность програм мы, либо лечат зараженный файл, повторно запускают его, ждут окончания его работы и снова размещаются в его начало (иногда для этого используется временный файл, в котором сохраняется обезвреженный файл), либо восстанавливают код программы в
памяти компьютера и настраивают необходимые адреса в ее теле (т. е. выполняют функции ОС).
В н е д р е н и е в и р у с а в конец файла. Наиболее распро страненным способом внедрения вируса в файл является дописы вание вируса в его конец. При этом вирус изменяет начало файла таким образом, что первыми выполняемыми командами програм мы, содержащейся в файле, являются команды вируса. Для того чтобы получить управление при старте файла, вирус корректирует стартовый адрес программы (адрес точки входа). Для этого вирус производит необходимые изменения в заголовке файла.
В н е д р е н и е в и р у с а в с е р е д и н у файла. Существует несколько путей внедрения вируса в середину файла. В наибо лее простом случае вирус перемещает участок файла в его ко нец или «раздвигает» файл и записывает свой код в освободив шееся пространство. Некоторые вирусы при этом сжимают пе реносимый блок файла так, что длина файла при заражении не изменяется. Вторым является метод «cavity», при котором вирус записывается в заведомо неиспользуемые области файла. Вирус может быть скопирован в незадействованные области заголовка ехе-файла, в промежутки между секциями ехе-файлов или в область текстовых сообщений популярных компиляторов. Су ществуют вирусы, заражающие только те файлы, которые со держат блоки, заполненные каким-либо постоянным кодом, при этом вирус записывает свой код вместо такого блока. Кро ме того, копирование вируса в середину файла может произой ти в результате ошибки вируса, и в этом случае файл может быть необратимо испорчен.
В и р у с ы без то ч ки в х о д а . Отдельно следует отметить довольно незначительную группу вирусов, не имеющих «точки входа» (ЕРО-вирусы — Entry Point Obscuring viruses). К ним от носятся вирусы, не изменяющие адрес точки старта в заголовке ехе-файлов. Такие вирусы записывают команду перехода на свой код в какое-либо место файла и получают управление не при запуске зараженного файла, а при вызове процедуры, содер жащей код передачи управления на тело вируса. Причем выпол няться эта процедура может крайне редко (например, при выво де сообщения о какой-либо специфической ошибке). В резуль тате вирус может долгое время находиться внутри файла и проявить себя только при некоторых ограниченных условиях. Перед тем как записать в середину файла команду перехода на свой код, вирусу необходимо выбрать «правильный» адрес в
файле — иначе зараженный файл может оказаться испорчен ным. Известны несколько способов, с помощью которых вирусы определяют такие адреса внутри файлов, например, поиск в файле последовательности стандартного кода заголовков проце дур языков программирования (C/Pascal), дизассемблирование кода файла или замена адресов импортируемых функций.
К о м п а н ь о н ы . К этой группе относятся вирусы, не изме няющие заражаемых файлов и алгоритм их работы состоит в том, что для заражаемого файла создается файл-двойник, при чем при запуске зараженного файла управление получает имен но этот двойник, т. е. вирус. При заражении вирус переимено вывает файл, запоминают его (для последующего запуска фай- ла-хозяина) и записывают свой код на диск под именем заражаемого файла. Например, файл notepad.exe переимено вывается в notepad.exd, а вирус записывается под именем notepad.exe. При запуске управление получает код вируса, ко торый затем запускает оригинальный notepad.
Возможно существование и других типов вирусов-компаньо- нов, использующих иные оригинальные идеи или особенности других операционных систем. Например, p a th -компаньоны, ко торые размешают свои копии в корневом каталоге Windows, ис пользуя тот факт, что этот каталог является первым в списке p ath , и файлы для запуска Windows в первую очередь будет ис кать именно здесь. Данным способом самозапуска пользуются
также многие |
к о м п ь ю т е р н ы е ч е р в и и т р о я н с к и е |
п р о г р а м м ы . |
|
Пр о ч и е |
с п о с о б ы з а р а же н ия . Существуют вирусы, |
которые не связывают свое присутствие с каким-либо выпол няемым файлом. При размножении они копируют свой код в какие-либо каталоги дисков в расчете на то, что эти новые ко пии будут когда-либо запущены пользователем. Иногда эти ви русы дают своим копиям «специальные» имена, чтобы подтолк нуть пользователя на их запуск — например, install.exe или winstart.bat.
Некоторые вирусы записывают свои копии в архивные фай лы (ar j, zip, гаг), а другие записывают команду запуска зара женного файла в bat-файлы.
Link-вирусы также не изменяют физического содержимого файлов, однако при запуске зараженного файла принуждают ОС выполнить вирусный код. Этой цели они достигают модифика цией необходимых полей файловой системы.
Автономные (вирусы-программы). Со временем вирусы, вне дряющие свой код в тело других программ, сдали свои позиции, во многом по той причине, что размеры вирусов выросли, а ук рыть код размером в сотни килобайт довольно сложно. В итоге «исполняемые» вирусы перестали маскироваться и превратились в независимые программы, не нуждающиеся в «хозяине-пере- носчике». Сразу же перед авторами вирусов возникла пробле ма — как заставить пользователей загрузить этот вирус и запус тить у себя на машине?
Программные вирусы, написанные для операционной систе мы Windows, обычно маскируются под разные утилиты, напри мер, под ключи к условно-бесплатных программам, мультиме дийные презентации, обновления для операционной системы или даже антивирусные программы. Большинство вирусов поль зователи запускают на своем компьютере самостоятельно.
Вирус способен атаковать компьютер даже в том случае, если его «тело» физически находится в другом месте. Например, один из самых «модных» вирусов 2003 г. — Blaster — был способен атаковать все компьютеры в локальной сети с одной-единствен- ной машины (рис. 2.2). Сканируя локальную сеть, программа обнаруживала бреши в защите каждого компьютера и самостоя тельно внедряла туда вредоносный код.
Оданные и выйаите из системы. Вое не сохраненные изменения будут
потеряны. Отключение системы вызвано NT AUTHO RITY\SYSTEMСистема завершает работу. Сохраните
Время до отклю •юния: 00:QO:А 2
; -Сюобщение — -------------------------
■Необходимо перез агрузигь Windows, поскольку произошла непредваденная остановка службы Удаленный вызов процедур (RPC)
Рис. 2.2. Сообщение вируса Blaster
Для борьбы с подобными вирусами одной антивирусной программы недостаточно и главным условием безопасности яв ляется обязательная и регулярная загрузка обновлений к Win dows (файлов-»заплаток», предназначенных для закрытия уже обнаруженных брешей в системе зашиты ОС).
Полиморфные вирусы — вирусы, модифицирующие свой код в зараженных программах таким образом, что два экземпляра од ного и того же вируса могут не совпадать ни в одном бите. П о л и м о р ф и з м (греч. коХѵ — много + греч. luopcprj — форма, внеш ний вид) — техника, предназначенная для затруднения поиска компьютерного вируса путем сканирования кода. Такие вирусы не только шифруют свой код, используя различные пути шифро вания, но и содержат код генерации шифровщика и расшифров щика, что отличает их от обычных шифровальных вирусов, кото рые также могут шифровать участки своего кода, но имеют при этом постоянный код шифровщика и расшифровщика.
Цель такого шифрования заключается в невозможности про анализировать его код с помощью обычного дизассемблирова ния. Этот код зашифрован и представляет собой бессмысленный набор команд. Расшифровка производится самим вирусом уже непосредственно во время выполнения. При этом возможны ва рианты: он может расшифровать себя всего сразу, а может вы полнить такую расшифровку «по ходу дела», может вновь шиф ровать уже отработавшие участки. Все это делается ради затруд нения анализа кода вируса. После появления полиморфизма антивирусные продукты, в свою очередь, также освоили новые приемы — э в р и с т и к у и э м у л я т о р ы кода.
Стелс-вирусы. В ходе проверки компьютера антивирусные программы считывают данные — файлы и системные области с жестких дисков и дискет, пользуясь средствами операционной системы и базовой системы ввода-вывода BIOS. Ряд вирусов после запуска оставляют в оперативной памяти компьютера специальные модули, перехватывающие обращение программ к дисковой подсистеме компьютера. Если такой модуль обнару живает, что программа пытается прочитать зараженный файл или системную область диска, он на ходу подменяет читаемые данные.
Стелс-вирусы обманывают антивирусные программы и в ре зультате остаются незамеченными. Тем не менее существует про стой способ отключить механизм маскировки стелс-вирусов. Достаточно загрузить компьютер с незараженной системной дис кеты и сразу, не запуская других программ с диска компьютера (которые также могут оказаться зараженными), проверить ком пьютер антивирусной программой.
При загрузке с системной дискеты вирус не может получить управление и установить в оперативной памяти резидентный
модуль, реализующий стелс-механизм. Антивирусная программа сможет прочитать информацию, действительно записанную на диске, и легко обнаружит вирус.
Макровирусы. В отличие от классических вирусов, эти пара зитируют не на исполняемых файлах, а на документах, подготов ленных в популярных программах из комплекта Microsoft Office. В текстовый редактор Microsoft Word и табличный редактор Microsoft Excel встроен собственный язык программирования — Visual Basic for Applications (VBA), предназначенный для созда ний специальных дополнений к редакторам — макросов. Эти макросы сохраняются в теле документов Microsoft Office и легко могут быть заменены вирусами. После открытия зараженного файла вирус активируется и заражает все документы Microsoft Office на НЖМД.
Одна из самых мощных атак макровирусов была зарегистри рована в марте 1999 г., когда вирус Melissa, созданный програм мистом Д. Смитом, за несколько часов распространился по всему миру. И хотя этот вирус был сравнительно безопасным (Melissa ограничивался тем, что заражал все существующие документы и рассылал свои копии лицам, внесенным в адресную книгу Microsoft Outlook), его появление заставило Microsoft срочно ос настить программы Microsoft Office защитой от запуска макросов. При открытии любого документа, содержащего встроенные мак росы, Word и Excel запрашивают подтверждение пользователя.
Скрипт-вирусы. Макровирусы являются одной из разновид ностей большого семейства вредоносных программ — скрипт-ви- русов. Их выделение связано с тем фактором, что именно макро вирусы положили начало всему этому семейству, к тому же виру сы, ориентированные на программы Microsoft Office, получили наибольшее распространение. Следует отметить также, что скрипт-вирусы являются подгруппой файловых вирусов и напи саны на различных скрипт-языках (VBS, JS, ВАТ, РНР и т. д.).
Общая черта скрипт-вирусов — это привязка к одному из «встроенных» языков программирования. Каждый вирус привя зан к конкретным изъянам в защите одной из программ Windows и представляет собой не самостоятельную программу, а набор инструкций, которые заставляют в общем-то безобидный «дви жок» программы совершать не свойственные ему разрушитель ные действия.
Большая часть скрипт-вирусов распространяется через элек тронную почту (такие вирусы чаще называют Internet-червями).
Пожалуй, ярчайшими представителями этого семейства являют ся вирусы LoveLetter и AnnaKournikova, атаки которых при шлись на сезон 2001—2002 гг. Оба этих вируса использовали один и тот же прием, основанный не столько на слабости защи ты операционной системы, сколько на неопытности пользовате лей. Хитрость создателей вируса проста — файл, который пока зался нам картинкой, имел двойное расширение, например,
AnnaKournikova.jpg .vbs.
Второе расширение является истинным типом файла, в то время как первое — часть его имени, а поскольку расширение vbs Windows хорошо знакомо, она прячет его от глаз пользова телей, оставляя на экране лишь имя AnnaKournikova. jpg.
Следует отметить, что в качестве вложения в письмо относи тельно безопасны только файлы типов txt, jpg, gif, tif, bmp,
mp3, wma.
К безусловно опасных типам файлов относятся: asx, bas, bat, cmd, com, cpl, crt, exe, inf, ins, js, msc, msi, pif, reg, vbs.
Кроме вирусов, к вредоносным программам принято отно сить также инструментальные средства, способствующие созда нию вирусов и укрытию их от средств антивирусной защиты.
PolyEngine — полиморфные генераторы. Полиморфные гене раторы не являются вирусами в прямом смысле этого слова, по скольку в их алгоритм не закладываются функции размножения, т. е. открытия, закрытия и записи в файлы, чтения и записи сек торов и т. д. Главной функцией подобного рода программ явля ется шифрование тела вируса и генерация соответствующего расшифровщика.
Обычно полиморфные генераторы распространяются их ав торами без ограничений в виде файла-архива. Основным фай лом в архиве любого генератора является объектный модуль, со держащий этот генератор. Во всех встречавшихся генераторах этот модуль содержит внешнюю (external) функцию — вызов программы генератора.
Constructor — конструкторы вирусов и троянских программ, или VirTools — это утилиты, предназначенные для изготовления новых компьютерных вирусов и «троянцев» и/или их изучения в хакерских целях. Известны конструкторы вирусов для DOS, Windows и макровирусов. Они позволяют генерировать исход ные тексты вирусов, объектные модули и/или непосредственно зараженные файлы.
Некоторые конструкторы снабжены стандартным оконным интерфейсом, где с помощью системы меню можно выбрать тип вируса, поражаемые объекты, наличие или отсутствие самошифровки, противодействие отладчику, внутренние текстовые стро ки, выбрать эффекты, сопровождающие работу вируса и т. п. Прочие конструкторы не имеют интерфейса и считывают ин формацию о типе вируса из конфигурационного файла.
FileCryptor, PolyCryptor — скрытие от антивирусных про грамм, хакерские утилиты, использующиеся для шифрования других вредоносных программ с целью скрытия их содержимого от антивирусной проверки.
VirTool — утилиты, предназначенные для облегчения напи сания компьютерных вирусов и для их изучения в хакерских целях.
Компьютерные черви
Компьютерный червь (computer worm) — саморазмножающаяся программа, использующая сеть для отправки своих копий на другие узлы (компьютерные терминалы сети), причем он мо жет делать это без какого-либо вмешательства пользователей. В отличие от вируса червь не нуждается в присоединении к ка- кой-либо другой программе. Черви почти всегда причиняют вред сети хотя бы тем, что увеличивают трафик, тогда как виру сы обычно повреждают или изменяют файлы на компьюте ре-мишени.
Первоначально многие черви были созданы только для рас пространения по сети и не пытались воздействовать на системы, через которые они проходят. Однако в дальнейшем ситуация из менилась. Наиболее типичным является случай, когда червь проделывает «черный ход» (backdoor или бэкдор) с целью «зом бировать» зараженный компьютер, поставив его под контроль автора червя. Черви Sobig и Mydoom являются такими примера ми. Созданный «черный ход» может быть использован другими вредоносными программами, в том числе червями. Примеры включают Doomjuice, который распространяется, используя чер ный ход, открытый червем Mydoom.
Большинство экспертов по безопасности считает всех червей вредоносными программами независимо от их действительного поведения и/или намерений их авторов.