1988 года студент Корнелловского университета Роберт Моррис запустил на
компьютере Массачусетского технологического института программу-червь, которая
передавала свой код с машины на машину, используя ошибки в системе UNIX на
компьютерах VAX и Sun. В течение 6 часов были поражены 6000 компьютеров, в том
числе Станфордского университета, Массачусетского технологического института,
университета Беркли и многих других. Кроме того, были поражены компьютеры
Исследовательского института НАСА и Национальной лаборатории Лоуренса в
Ливерморе – объекты, на которых проводятся самые секретные стратегические
исследования и разработки. Червь представлял собой программу из 4000 строк на
языке "С" и входном языке командного интерпретатора системы UNIX. Следует
отметить, что вирус только распространялся по сети и не совершал каких-либо
разрушающих действий. Однако это стало ясно только на этапе анализа его кода, а
пока вирус распространялся, в вычислительных центрах царила настоящая паника.
Тысячи компьютеров были остановлены, ущерб составил многие миллионы долларов.
2. Классификация вирусов
Известные программные вирусы можно классифицировать по следующим признакам:
среде обитания;
способу заражения среды обитания;
воздействию;
особенностям алгоритма.
В зависимости от среды обитания вирусы можно разделить на:
сетевые;
файловые;
загрузочные;
файлово-загрузочные.
Сетевые вирусы распространяются по различным компьютерным сетям. К сетевым
относятся вирусы, которые для своего распространения активно используют
протоколы и возможности локальных и глобальных сетей. Основным принципом работы
сетевого вируса является возможность самостоятельно передать свой код на
удаленный сервер или рабочую станцию. “Полноценные” сетевые вирусы при этом
обладают еще и возможностью запустить на выполнение свой код на удаленном
компьютере или, по крайней мере, “подтолкнуть” пользователя к запуску
зараженного файла.
Бытует ошибочное мнение, что сетевым является любой вирус, распространяющийся в
компьютерной сети. Но в таком случае практически все вирусы были бы сетевыми,
даже наиболее примитивные из них: ведь самый обычный нерезидентный вирус при
заражении файлов не разбирается - сетевой (удаленный) это диск или локальный. В
результате такой вирус способен заражать файлы в пределах сети, но отнести его к
сетевым вирусам никак нельзя.
Наибольшую известность приобрели сетевые вирусы конца 1980-х, их также называют
сетевыми червями (worms). К ним относятся вирус Морриса, вирусы “Cristmas Tree”
и “Wank Worm&”. Для своего распространения они использовали ошибки и
недокументированные функции глобальных сетей того времени - вирусы передавали
свои копии с сервера на сервер и запускали их на выполнение. В случае с вирусов
Морриса эпидемия захватила аж несколько глобальных сетей в США.
Сетевые вирусы прошлого распространялись в компьютерной сети и, как правило, так
же как и компаньон-вирусы, не изменяли файлы или сектора на дисках. Они
проникали в память компьютера из компьютерной сети, вычисляли сетевые адреса
других компьютеров и рассылали по этим адресам свои копии. Этивирусы иногда
также создавали рабочие файлы на дисках системы, но могли вообще не обращаться к
ресурсам компьютера (за исключением оперативной памяти).
После нескольких эпидемий сетевых вирусов ошибки в сетевых протоколах и
программном обеспечении были исправлены, а “задние двери” закрыты. В результате
за песледние десять лет не было зафиксировано ни одного случая заражения сетевым
вирусом, как, впрочем, не появилось и ни одного нового сетевого вируса.
Вновь проблема сетевых вирусов возникла лишь в начале 1997-го года с появлением
вирусов “Macro.Word.ShareFun” и “Win.Homer”. Первый из них использует
возможности электронной почты Microsoft Mail - он создает новое письмо,
содержащее зараженный файл-документ (“ShareFun” является макро-вирусом), затем
выбирает из списка адресов MS-Mail три случайных адреса и рассылает по ним
зараженное письмо. Поскольку многие пользователи устанавливают параметры MS-Mail
таким образом, что при получении письма автоматически запускается MS Word, то
вирус “автоматически” внедряется в компьютер адресата зараженного письма.
Этот вирус иллюстрирует первый тип современного сетевого вируса, которые
объединяют возможности встроенного в Word/Excel языка Basic, протоколы и
особенности электронной почты и функции авто-запуска, необходимые для
распространения вируса.
Второй вирус (“Homer”) использует для своего распространения протокол FTP (File
Trabsfer Protocol) и передает свою копию на удаленный ftp-сервер в каталог
Incoming. Поскольку сетевой протокол FTP исключает возможность запуска файла на
удаленнов сервере, этот вирус можно охарактеризовать как “полу-сетевой”, однако
это реальный пример возможностей вирусов по использованию современных сетевых
протоколов и поражению глобальных сетей.
Файловые вирусы внедряются главным образом в исполняемые модули, т. е. в файлы,
имеющие расширения COM и EXE. Они могут внедряться и в другие типы файлов, но,
как правило, записанные в таких файлах, они никогда не получают управление и,
следовательно, теряют способность к размножению. В отличие от загрузочных
вирусов, которые практически всегда резидентны, файловые вирусы не обязательно
резидентны. Областью обитания файловых вирусов являются файлы. Если файловый
вирус не резидентный, то при запуске инфицированного исполняемого файла вирус
записывает свой код в тело программного файла таким образом, что при запуске
программы вирус первым получает управление. Произведя некоторые действия, вирус
передает управление зараженной программе. При запуске вирус сканирует локальные
диски компьютера и сетевые каталоги в поисках нового объекта для заражения.
После того как подходящий программный файл будет найден, вирус записывает в него
свой код, чтобы получить управление при запуске этого файла.
Если файловый вирус резидентный, то он установится в память и получит
возможность заражать файлы и проявлять прочие способности не только во время
работы зараженного файла.
Относительно новой разновидностью файлового вируса является макрокомандный
вирус, распространяющийся с документами офисных приложений, таких как Microsoft
Word for Windows или Microsoft Excel for Windows.
Документы офисных приложений содержат в себе не только текст и графические
изображения, но и макрокоманды, которые представляют собой ничто иное, как
программы. Эти программы составляются на языке, напоминающем Бейсик. Вирус может
изменять существующие макрокоманды и добавлять новые, внедряя свое тело в файл
документа.
Механизм распространения макрокомандных вирусов основан на том, что существуют
макрокоманды, которые запускаются при открывании документа для редактирования
или при выполнении других операций. Разработчик макрокомандного вируса берет
файл с именем, например, readme.doc, и записывает в него одну или несколько
вирусных макрокоманд, например, вирусную макрокоманду с именем AutoExec. Когда
пользователь открывает такой файл при помощи текстового процессора Microsoft
Word for Windows, эта макрокоманда будет автоматически запущена на выполнение.
При этом вирус получит управление и может заразить другие документы, хранящиеся
на дисках. Если вирусная макрокоманда имеет имя FileSaveAs, то распространение
вируса будет происходить при сохранении документа.
Для предотвращения заражения макрокомандными вирусами необходимо перед
просмотром или редактированием проверять новые файлы документов с помощью
антивирусных программ, способных искать такие вирусы.
Загрузочные вирусы.
Вторая большая группа вирусов - это так называемые загрузочные вирусы.
Распространение и активизация этих вирусов происходит в момент загрузки
операционной системы, еще до того, как пользователь успел запустить какую-либо
антивирусную программу.
Сразу после включения электропитания компьютера начинает работать программа
инициализации, записанная в ПЗУ базовой системы ввода/вывода BIOS. Эта программа
проверяет оперативную память и другие устройства компьютера, а затем передает
управление программе начальной загрузки, которая также находится в BIOS.
Программа начальной загрузки пытается прочитать в оперативную память содержимое
самого первого сектора нулевой дорожки жесткого диска, в котором находится
главная загрузочная запись Master Boot Record (MBR), либо содержимое самого
первого сектора нулевой дорожки дискеты, вставленной в устройство A:. Этот
сектор содержит загрузочную запись Boot Record (BR).
Существует две возможности загрузить операционную систему - с жесткого диска или
с дискеты.
При загрузке с жесткого диска в память по фиксированному адресу читается
содержимое главной загрузочной записи. Эта запись представляет собой программу,
задачей которой является загрузка операционной системы с логического диска.
Загрузчик, расположенный в главной загрузочной записи MBR просматривает таблицу
разделов диска Partition Table, которая находится в том же секторе диска, что и
сама запись MBR. После того как в этой таблице будет найден раздел, отмеченный
как активный, выполняется чтение самого первого сектора этого раздела в
оперативную память, - сектора загрузочной записи BR. В этом секторе находится
еще один загрузчик.
Задачей загрузчика BR является считывание в оперативную память стартовых модулей
операционной системы и передача им управления. Способ загрузки зависит от
операционной системы, поэтому каждая операционная система имеет свой собственный
загрузчик BR.
Загрузка с дискеты происходит проще, так как формат дискеты в точности
соответствует формату логического диска. Самый первый сектор нулевой дорожки
дискеты содержит загрузочную запись BR, которая читается в память. После чтения
ей передается управление.
Дискеты могут быть системными и несистемными.
Системную дискету MS-DOS можно подготовить при помощи команды format, указав ей
параметр /s, либо при помощи команды sys. И в том, и в другом случае в первый
сектор нулевой дорожки дискеты записывается программа начальной загрузки MS-DOS.
Если же дискета была отформатирована командой format без параметра /s, она будет
несистемной. Тем не менее, в первый сектор нулевой дорожки дискеты все равно
записывается программа, единственным назначением которой является вывод
сообщения о необходимости вставить в НГМД системную дискету.
Данное обстоятельство - присутствие загрузочной записи на несистемной дискете -
играет важную роль при распространении загрузочных вирусов.
Загрузка операционной системы является многоступенчатым процессом, ход которого
зависит от разных обстоятельств. В этом процессе задействовано три программы,
которые служат объектом нападения загрузочных вирусов:
главная загрузочная запись;
загрузочная запись на логическом диске;
загрузочная запись на дискете.
Вирусы могут заменять некоторые или все перечисленные выше объекты, встраивая в
них свое тело и сохраняя содержимое оригинального загрузочного сектора в
каком-либо более или менее подходящем для этого месте на диске компьютера. В
результате при включении компьютера программа загрузки, расположенная в BIOS,
загружает в память вирусный код и передает ему управление. Дальнейшая загрузка
операционной системы происходит под контролем вируса, что затрудняет, а в
некоторых случаях и исключает его обнаружение антивирусными программами.
Загрузочные вирусы заражают загрузочный (boot) сектор флоппи-диска и boot-сектор
или Master Boot Record (MBR) винчестера. Принцип действия загрузочных вирусов
основан на алгоритмах запуска операционной системы при включении или
перезагрузке компьютера - после необходимых тестов установленного оборудования
(памяти, дисков и т.д.) программа системной загрузки считывает первый физический
сектор загрузочного диска (A:, C: или CD-ROM в зависимости от параметров,
установленных в BIOS Setup) и передает на него управление.
Файлово–загрузочные вирусы. Существует большое количество сочетаний - например,
файлово-загрузочные вирусы, заражающие как файлы, так и загрузочные сектора
дисков. Такие вирусы, как правило, имеют довольно сложный алгоритм работы, часто
применяют оригинальные методы проникновения в систему, используют стелс и
полиморфик-технологии.
По способу заражения среды обитания вирусы делятся на две группы:
резидентные
нерезидентные.
Под термином "резидентность" (DOS'овский термин TSR - Terminate and Stay
Resident) понимается способность вирусов оставлять свои копии в системной
памяти, перехватывать некоторые события (например, обращения к файлам или
дискам) и вызывать при этом процедуры заражения обнаруженных объектов (файлов и
секторов). Таким образом, резидентные вирусы активны не только в момент работы
зараженной программы, но и после того, как программа закончила свою работу.
Резидентные копии таких вирусов остаются жизнеспособными вплоть до очередной
перезагрузки, даже если на диске уничтожены все зараженные файлы. Часто от таких
вирусов невозможно избавиться восстановлением всек копий файлов с дистрибутивных
дисков или backup-копий. Резидентная копия вируса остается активной и заражает
вновь создаваемые файлы. То же верно и для загрузочных вирусов — форматирование
диска при наличии в памяти резидентного вируса не всегда вылечивает диск,
поскольку многие резидентные вирусы заражает диск повторно после того, как он
отформатирован.
Нерезидентные вирусы, напротив, активны довольно непродолжительное время —
только в момент запуска зараженной программы. Для своего распространения они
ищут на диске незараженные файлы и записываются в них. После того, как код
вируса передает управление программе-носителю, влияние вируса на работу
операционной системы сводится к нулю вплоть до очередного запуска какой-либо
зараженной программы. Поэтому файлы, зараженные нерезидентными вирусами
значительно проще удалить с диска и при этом не позволить вирусу заразить их
повторно.
По степени воздействия вирусы можно разделить на следующие виды:неопасные, не
мешающие работе компьютера, но уменьшающие объем свободной оперативной памяти и
памяти на дисках, действия таких вирусов проявляются в каких-либо графических
или звуковых эффектахопасные вирусы, которые могут привести к различным
нарушениям в работе компьютера очень опасные, воздействие которых может привести
к потере программ, уничтожению данных, стиранию информации в системных областях
диска.
По особенностям алгоритма вирусы трудно классифицировать из-за большого
разнообразия. Простейшие вирусы - паразитические, они изменяют содержимое файлов
и секторов диска и могут быть достаточно легко обнаружены и уничтожены.
Вирусы-репликаторы, называемые червями, которые распространяются по компьютерным
сетям, вычисляют адреса сетевых компьютеров и записывают по этим адресам свои
копии. Вирусы-невидимки, называемые стелс-вирусами, которые очень трудно
обнаружить и обезвредить, так как они перехватывают обращения операционной
системы к пораженным файлам и секторам дисков и подставляют вместо своего тела
незараженные участки диска. Наиболее трудно обнаружить вирусы-мутанты
(полиморфные вирусы), содержащие алгоритмы шифровки-расшифровки, благодаря
которым копии одного и того же вируса не имеют ни одной повторяющейся цепочки
байтов. Имеются и так называемые квазивирусные или “троянские” программы,
которые хотя и не способны к самораспространению, но очень опасны, так как,
маскируясь под полезную программу, разрушают загрузочный сектор и файловую
систему дисков.
Макровирусы.
Весьма оригинальный класс вирусов (хотя вирусами в полном смысле этого слова их
даже нельзя назвать), заражающий документы, в которых предусмотрено выполнение
макрокоманд. При открытии таких документов вначале исполняются макрокоманды
(специальные программы высокого уровня), содержащиеся в этом документе, -
макровирус как раз и представляет собой такую макрокоманду. Таким образом, как
только будет открыт зараженный документ, вирус получит управление и совершит все
вредные действия (в частности, найдет и заразит еще не зараженные документы).
Полиморфные вирусы.
Этот вид компьютерных вирусов представляется на сегодняшний день наиболее
опасным.
Полиморфные вирусы - вирусы, модифицирующие свой код в зараженных программах
таким образом, что два экземпляра одного и того же вируса могут не совпадать ни
в одном бите.
Такие вирусы не только шифруют свой код, используя различные пути шифрования, но
и содержат код генерации шифровщика и расшифровщика, что отличает их от обычных
шифровальных вирусов, которые также могут шифровать участки своего кода, но
имеют при этом постоянный код шифровальщика и расшифровщика.
Полиморфные вирусы - это вирусы с самомодифицирующимися расшифровщиками. Цель
такого шифрования: сделать невозможным проанализировать код вируса с помощью
обычного дизассемблирования, даже имея зараженный и оригинальный файлы. Этот код
зашифрован и представляет собой бессмысленный набор команд. Расшифровка
производится самим вирусом уже непосредственно во время выполнения. При этом
возможны варианты: он может расшифровать себя всего сразу, а может выполнить
такую расшифровку в ходе работы, может вновь шифровать уже отработавшие участки.
Все это делается ради затруднения анализа кода вируса.
Стелс-вирусы.
В ходе проверки компьютера антивирусные программы считывают данные - файлы и
системные области с жестких дисков и дискет, пользуясь средствами операционной
системы и базовой системы ввода/вывода BIOS. Ряд вирусов, после запуска
оставляют в оперативной памяти компьютера специальные модули, перехватывающие
обращение программ к дисковой подсистеме компьютера. Если такой модуль
обнаруживает, что программа пытается прочитать зараженный файл или системную
область диска, он на ходу подменяет читаемые данные, как будто вируса на диске
нет.
Стелс-вирусы обманывают антивирусные программы и в результате остаются
незамеченными. Тем не менее, существует простой способ отключить механизм
маскировки стелс-вирусов. Достаточно загрузить компьютер с не зараженной
системной дискеты и сразу, не запуская других программ с диска компьютера
(которые также могут оказаться зараженными), проверить компьютер антивирусной
программой.
При загрузке с системной дискеты вирус не может получить управление и установить
в оперативной памяти резидентный модуль, реализующий стелс-механизм.
Антивирусная программа сможет прочитать информацию, действительно записанную на
диске, и легко обнаружит вирус.
Системная дискета для антивирусного контроля должна быть подготовлена заранее.
Кроме системных файлов, на нее следует записать антивирусные программы.
Вирусы-призраки.
Вирусы-призраки маскируются с помощью другого механизма. Эти вирусы постоянно
модифицируют себя таким образом, что не содержат одинаковых фрагментов. Такие
вирусы хранят свое тело в закодированном виде и постоянно меняют параметры этой
кодировки. Стартовая же часть, занимающаяся декодированием непосредственно
самого тела, может генерироваться весьма сложным способом. При переносе вируса
данного типа с компьютера на компьютер код вируса изменяется таким образом, что
уже не имеет ничего общего со своим предыдущим вариантом. А часть вирусов может
самомодифицироваться и в пределах одного компьютера. Обнаружение таких вирусов
весьма затруднено, хотя часть антивирусных программ пытается находить их по
участкам кода, характерным для стартовой части.
Компаньон – вирусы.
Компаньон - вирусы (companion) - это вирусы, не изменяющие файлы. Алгоритм
работы этих вирусов состоит в том, что они создают для EXE-файлов
файлы-спутники, имеющие то же самое имя, но с расширением .COM, например, для
файла XCOPY.EXE создается файл XCOPY.COM. Вирус записывается в COM-файл и никак
не изменяет EXE-файл. При запуске такого файла DOS первым обнаружит и выполнит
COM-файл, т.е. вирус, который затем запустит и EXE-файл.
Вирусы-“черви”.
Вирусы –“черви” (worm) - вирусы, которые распространяются в компьютерной сети и,
так же как и компаньон - вирусы, не изменяют файлы или сектора на дисках. Они
проникают в память компьютера из компьютерной сети, вычисляют сетевые адреса
других компьютеров и рассылают по этим адресам свои копии. Такие вирусы иногда
создают рабочие файлы на дисках системы, но могут вообще не обращаться к
ресурсам компьютера (за исключением оперативной памяти). К счастью, в
вычислительных сетях IBM-компьютеров такие вирусы пока не завелись.
Студенческие вирусы.
Студенческие вирусы являются самыми примитивными и элементарными, потому что эти
вирусы пишутся ради забавы или от нечего делать студентами, которые только что
научились их писать и решили попробовать свои силы. Но также есть исключения,
например такой вирус как “Чернобыль” написан самым обычным студентом. Но такие
исключения очень редки.
Троянские кони, программные закладки и сетевые черви.
Троянский конь – это программа, содержащая в себе некоторую разрушающую функцию,
которая активизируется при наступлении некоторого условия срабатывания. Обычно
такие программы маскируются под какие-нибудь полезные утилиты. Вирусы могут
нести в себе троянских коней или "троянизировать" другие программы – вносить в
них разрушающие функции.
“Троянские кони” представляют собой программы, реализующие помимо функций,
описанных в документации, и некоторые другие функции, связанные с нарушением
безопасности и деструктивными действиями. Отмечены случаи создания таких
программ с целью облегчения распространения вирусов. Списки таких программ
широко публикуются в зарубежной печати. Обычно они маскируются под игровые или
развлекательные программы и наносят вред под красивые картинки или музыку.
Программные закладки также содержат некоторую функцию, наносящую ущерб ВС, но
эта функция, наоборот, старается быть как можно незаметнее, т.к. чем дольше
программа не будет вызывать подозрений, тем дольше закладка сможет работать.
В качестве примера приведем возможные деструктивные функции, реализуемые
“троянскими конями” и программными закладками:
1. Уничтожение информации. Конкретный выбор объектов и способов уничтожения
зависит только от фантазии автора такой программы и возможностей ОС. Эта функция
является общей для троянских коней и закладок.
2. Перехват и передача информации. В качестве примера можно привести реализацию
закладки для выделения паролей, набираемых на клавиатуре.
3. Целенаправленная модификация кода программы, интересующей нарушителя. Как
правило, это программы, реализующие функции безопасности и защиты.
Если вирусы и “троянские кони” наносят ущерб посредством лавинообразного
саморазмножения или явного разрушения, то основная функция вирусов типа “червь”,
действующих в компьютерных сетях, – взлом атакуемой системы, т.е. преодоление
защиты с целью нарушения безопасности и целостности.
В более 80% компьютерных преступлений, расследуемых ФБР, "взломщики" проникают в
атакуемую систему через глобальную сеть Internet. Когда такая попытка удается,
будущее компании, на создание которой ушли годы, может быть поставлено под
угрозу за какие-то секунды.
Этот процесс может быть автоматизирован с помощью вируса, называемого сетевой
червь.
Червями называют вирусы, которые распространяются по глобальным сетям, поражая
целые системы, а не отдельные программы. Это самый опасный вид вирусов, так как
объектами нападения в этом случае становятся информационные системы
государственного масштаба. С появлением глобальной сети Internet этот вид
нарушения безопасности представляет наибольшую угрозу, т. к. ему в любой момент
может подвергнуться любой из 40 миллионов компьютеров, подключенных к этой сети.
Признаки появления вирусов.
При заражении компьютера вирусом важно его обнаружить. Для этого следует знать
об основных признаках проявления вирусов. К ним можно отнести следующие:
прекращение работы или неправильная работа ранее успешно функционировавших
программ;
медленная работа компьютера;
невозможность загрузки операционной системы;
исчезновение файлов и каталогов или искажение их содержимого;
изменение даты и времени модификации файлов;
изменение размеров файлов;
неожиданное значительное увеличение количества файлов на диске;
существенное уменьшение размера свободной оперативной памяти;
вывод на экран непредусмотренных сообщений или изображений;
подача непредусмотренных звуковых сигналов;
частые зависания и сбои в работе компьютера.
Следует отметить, что вышеперечисленные явления необязательно вызываются
присутствием вируса, а могут быть следствием других причин. Поэтому всегда
затруднена правильная диагностика состояния компьютера.
... вирус Christmas tree. К 1980-м годам число активных вирусов измерялось уже сотнями. А появление и распространение персональных компьютеров породило настоящую эпидемию – счёт вирусов пошёл на тысячи. Правда, термин «компьютерный вирус» появился только в 1984 году: впервые его использовал в своём докладе на конференции по информационной безопасности сотрудник Лехайского Университета США Ф. Коэн. ...
... антивирусные программы, позволяющие выявлять вирусы, позволяющие выявлять вирусы, лечить заражённые файлы и диски, обнаруживать и предотвращать подозрительные(характерные для вирусов ) действия. Разумеется, антивирусные программы надо применять наряду с регулярным резервированием данных и использованием профилактических мер, позволяющих уменьшить вероятность заражения вирусом. 7.1. Виды ...
... контрпримера к данной отличительной черте можно привести десятки совершенно безобидных вирусов, которые кроме своего распространения ничем больше не отличаются. Основная же особенность компьютерных вирусов - возможность их самопроизвольного внедрения в различные объекты операционной системы - присуща многим программам, которые не являются вирусами. Например, самая распространенная операционная ...
... - вать программы test.com и test.exe. Вот их исходные тексты на языке Assembler. test.com cseg segment assume cs:cseg, ds:cseg, ss:cseg org -lOOh Start: db 1249 dup (OFAh,90h,OFBh,OF8h) 1 60 Методы борьбы с вирусами mov ah,4Ch int 21h cseg ends End Start test.exe cseg segment assume cs:cseg, ds:cseg Start: db 1000 dup (OFAh,90h,OFBh,OF8h) mov ah,4Ch int 21h cseg ends sseg ...
0 комментариев