Компьютерные вирусы. 9
- Компьютерные вирусы
- История возникновения компьютерных вирусов
Мнений по поводу даты рождения первого компьютерного вируса очень много. Мне доподлинно известно только одно: на машине Беббиджа его не было, а на Univac 1108 и IBM-360/370 они уже были (“Pervading Animal” и “Christmas tree”). Таким образом, первый вирус появился где-то в самом начале 70-х или даже в конце 60-х годов, хотя “вирусом” его никто еще не называл. На этом разговор о вымерших ископаемых предлагаю считать завершенным.
Начало пути
Поговорим о новейшей истории: “Brain”, “Vienna”, “Cascade” и далее. Те, кто начал работать на IBM-PC аж в середине 80-х, еще не забыли повальную эпидемию этих вирусов в 1987-89 годах. Буквы сыпались на экранах, а толпы пользователей неслись к специалистам по ремонту дисплеев (сейчас все наоборот: винчестер сдох от старости, а валят на неизвестный передовой науке вирус). Затем компьютер заиграл чужеземный гимн “Yankee Doodle”, но чинить динамики уже никто не бросился - очень быстро разобрались, что это - вирус, да не один, а целый десяток.
Так вирусы начали заражать файлы. Вирус “Brain” и скачущий по экрану шарик вируса “ Ping-pong” ознаменовали победу вируса и над Boot-сектором. Все это очень не нравилось пользователям IBM-PC, и - появились противоядия. Первым попавшимся мне антивирусом был отечественный ANTI-KOT: это легендарный Олег Котик выпустил в свет первые версии своей программы, которая уничтожала целых 4 (четыре) вируса (американский SCAN появился у нас в стране несколько позднее). Кстати, всем, кто до сих пор сохранил копию этого антивируса, предлагаю немедленно ее стереть (да простит меня Олег Котик!) как программу вредную и ничего, кроме траты лишних нервов и ненужных телефонных звонков, не приносящую. К сожалению, ANTI-KOT определяет вирус “ Time” (“Иерусалимский”) по комбинации “MsDos” в конце файла, а некоторые другие антивирусы эти самые буквы аккуратно прицепляют ко всем файлам с расширением COM или EXE.
Следует обратить внимание на то, что истории завоевания вирусами России и Запада различаются между собой. Первым вирусом, стремительно распространившимся на Западе был загрузочный вирус “ Brain”, и только потом появились файловые вирусы “ Vienna” и “ Cascade”. В России же наоборот, сначала появились файловые вирусы, а годом позже - загрузочные.
Время шло, вирусы плодились. Все они были чем-то похожи друг на друга, лезли в память, цеплялись к файлам и секторам, периодически убивали файлы, дискеты и винчестеры. Одним из первых “откровений” стал вирус “ Frodo.4096” - первый из известных мне файловых вирусов-невидимок (стелс). Этот вирус перехватывал INT 21h и, при обращении через DOS к зараженным файлам, изменял информацию таким образом, что файл появлялся перед пользователем в незараженном виде. Но это была только надстройка вируса над MS-DOS. Не прошло и года, как электронные тараканы полезли внутрь ядра DOS (вирус-невидимка “ Beast.512”). Идея невидимости продолжала приносить свой плоды и далее: летом 1991 года пронесся, кося компьютеры как бубонная чума, вирус “ Dir_II”. “Да-a-a!” сказали все, кто в нем копался.
Но бороться с невидимками было довольно просто: почистил RAM - и будь спокоен, ищи гада и лечи его на здоровье. Побольше хлопот доставляли самошифрующиеся вирусы, которые иногда встречались в очередных поступлениях в коллекции. Ведь для их идентификации и удаления приходилось писать специальные подпрограммы, отлаживать их. Но на это никто тогда не обращал внимания, пока... Пока не появились вирусы нового поколения, те, которые носят название полиморфик-вирусы. Эти вирусы используют другой подход к невидимости: они шифруются (в большинстве случаев), а в расшифровщике используют команды, которые могут не повторяться при заражении различных файлов.
Полиморфизм - мутация вирусов
Первый
полиморфик-вирус появился в начале
90-х кодов - “ Chameleon”, но по-настоящему
серьезной проблема полиморфик-вирусов
стала лишь год спустя - в апреле
1991-го, когда практически весь мир
был охвачен эпидемией
Популярность
идеи самошифрующихся полиморфик-
К счастью, первый MtE-вирус не попал в “живую природу” и не вызвал эпидемии, а разработчики антивирусных программ, соответственно, имели некоторый запас времени для подготовки к отражению новой напасти.
Всего
год спустя производство полиморфик-вирусов
становится уже “ремеслом”, и в
1993 году произошел их “обвал”. В
поступающих в коллекцию
Вот
далеко не полный список тех из них,
которые можно назвать
Bootache, CivilWar (четыре версии), Crusher, Dudley, Fly, Freddy, Ginger, Grog, Haifa, Moctezuma (две версии), MVF, Necros, Nukehard, PcFly (три версии), Predator, Satanbug, Sandra, Shoker, Todor, Tremor, Trigger, Uruguay (восемь версий).
Для обнаружения этих вирусов приходится использовать специальные методы, к которым можно отнести эмуляцию выполнения кода вируса, математические алгоритмы восстановления участков кода и данных в вирусе и т.д. К не-стопроцентным полиморфикам (т.е. которые шифруют себя, но в расшифровщике вируса всегда существуют постоянные байты) можно отнести еще десяток новых вирусов:
Basilisk, Daemaen, Invisible (две версии), Mirea (несколько версий), Rasek (три версии), Sarov, Scoundrel, Seat, Silly, Simulation.
Однако и они требуют расшифровки кода для их детектирования и восстановления пораженных объектов, поскольку длина постоянного кода в рассшифровщике этих вирусов слишком мала.
Параллельно
с полиморфик-врусами
MTE 0.90 (Mutation Engine), четыре различные версии TPE (Trident Polymorphic Engine), NED (Nuke Encryption Device), DAME (Dark Angel's Multiple Encryptor)
С тех пор новые полиморфные генераторы появлялись по несколько штук в год, и приводить их полный список вряд ли имеет смысл.
Автоматизация производства и конструкторы вирусов
Лень - движущая сила прогресса. Эта народная мудрость не нуждается в комментариях. Но только в середине 1992 года прогресс в виде автоматизации производства дошел и до вирусов. Пятого июля 1992 года объявлен к выпуску в свет первый конструктор вирусного кода для IBM-PC совместимых компьютеров - пакет VCL ( Virus Creation Laboratory) версии 1.00.
Этот
конструктор позволяет
И все сразу стало значительно проще: захотел напакостить ближнему - садись за VCL и, за 10-15 минут настрогав 30-40 разных вирусов, запусти их на неприятельском компьютере(ах). Каждому компьютеру - отдельный вирус!
Дальше - больше. 27 июля появилась первая версия конструктора PS-MPC ( Phalcon/Skism Mass-Produced Code Generator). Этот конструктор не содержит в себе оконного интерфейса и генерирует исходные тексты вирусов по файлу конфигурации. Этот файл содержит в себе описание вируса: тип поражаемых файлов (COM или EXE); резидентность (PS-MPC создает также и резидентные вирусы, чего не позволяет конструктор VCL); способ инсталляции резидентной копии вируса; возможность использования самошифрования; возможность поражения COMMAND.COM и массу другой полезной информации.
На основе PS-MPC был создан конструктор G2 ( Phalcon/Skism's G2 0.70 beta), который поддерживает файлы конфигурации стандарта PS-MPC, однако при генерации вируса использует большее количество вариантов кодирования одних и тех же функций.
Имеющаяся у меня версия G2 помечена первым января 1993 года. Видимо, новогоднюю ночь авторы G2 провели за компьютерами. Лучше бы они вместо этого попили шампанского, хотя одно другому не мешает.
Итак, каким же образом повлияли конструкторы вирусов на электронную фауну? В коллекции вирусов, которая хранится на моем “складе”, количество “сконструированных” вирусов следующее:
на базе VCL и G2 - по несколько сотен;
на базе PS-MPC - более тысячи.
Так проявилась еще одна тенденция в развитии компьютерных вирусов: все большую часть в коллекциях начинают занимать “сконструированные” вирусы, а в ряды их авторов начинают вливаться откровенно ленивые люди, которые сводят творческую и уважаемую профессию вирусописания к весьма заурядному ремеслу.
За пределы DOS
Год 1992-й принес больше, чем полиморфик-вирусы и вирус-конструкторы. В конце этого года появился первый вирус для Windows, открывший, таким образом, новую страницу в истории вирусописания. Небольшого размера (менее 1K), совершенно безвредный и нерезидентный вирус вполне грамотно заражал выполняемые файлы нового формата Windows (NewEXE) и своим появлением пробил для вирусов окно в мир Windows.
Через
некоторое время появились
В
том же 1993 году появилась и первая
попытка написать вирус, работающий
в защищенном режиме процессора Intel386.
Это был загрузочный вирус
“ PMBS”, названный так по строке текста
внутри его кода. При загрузке с
зараженного диска вирус
Эта неудачная попытка написать вирус-супервизор так и оставалась единственной известной вплоть до весны 1997 года, когда один московский умелец выпустил вирус “ PM.Wanderer” - вполне “удачную” реализацию вируса, работающего в защищенном режиме.
Пока непонятно, станут ли в дальнейшем вирусы-супервизоры действительной проблемой для пользователей и разработчиков антивирусных программ. Скорее всего нет, так как такие вирусы должны “засыпать” на время работы новых операционных систем (Windows, Win95/NT, OS/2), что позволяет их (вирусы) легко обнаружить и удалить. Однако полноценный вирус-супервизор, использующий технологию “стелс” может принести немало неприятностей пользователям “чистой” DOS, ведь обнаружить такой стелс-вирус под DOS не представляется возможным.
Эпидемия макро-вируса
Год
1995-й, август. Все прогрессивное
Честно говоря, это был не первый вирус, заражающий документы Word. До этого момента антивирусные фирмы уже имели на руках первый опытный образец вируса, который переписывал себя из документа в документ. Однако никто не обратил серьезного внимания на этот не вполне удачный эксперимент. В результате практически все антивирусные фирмы оказались не готовыми к последующему развитию событий - эпидемии макро-вируса - и начали спешно предпринимать полу-меры. Например, несколько фирм практически одновременно выпустили в свет документы-антивирусы, действовавшие примерно по тем же принципам, что и вирус, однако уничтожавшие его вместо размножения.
Кстати, спешно пришлось править антивирусную литературу - ведь она раньше на вопрос “Можно ли заразить компьютер при чтении файла?” отвечала “Однозначно - нет!” и приводила длинные доказательства этого.
А вирус, получивший к тому времени имя “ Concept”, продолжал победное движение по планете. Появившись скорее всего в каком-то из подразделений фирмы Microsoft, “Concept” в мгновение ока завладел тысячами (если не миллионами) компьютеров. Это неудивительно, ведь передача текстов в формате MS Word стала де-факто одним из стандартов, а для того, чтобы заразиться вирусом, требуется всего-лишь открыть зараженный документ, и все остальные документы, редактируемые в зараженном Word'e также оказываются зараженными. В результате, получив по Internet зараженный файл и прочитав его, пользователь, не зная того сам, оказывался “разносчиком заразы”, и вся его переписка (если, конечно же она велась при помощи MS Word) также оказывалась зараженной! Таким образом, возможность заражения MS Word, помноженная на скорость Internet, стала одной из самых серьезных проблем за всю историю существования вирусов.
Не прошло и года, как летом 1996-го года появился вирус “ Laroux” (“Лару”), заражающий таблицы MS Excel. Как и в случае с вирусом “Concept”, новый макро-вирус был обнаружен “в природе” практически одновременно в разных фирмах. Кстати, в 1997 году этот вирус стал причиной эпидемии в Москве.
В том же 1996 году появились первые конструкторы макро-вирусов, а в начале 1997 года появились первые полиморфик-макро-вирусы для MS-Word и первые вирусы для MS Office97. Плюс к тому непрерывно росло число разнообразных макро-вирусов, достигшее нескольких сотен к лету 1997-го.
Открыв
новую страницу в августе 1995-го, опираясь
на весь опыт, накопленный
- Компьютерные вирусы
Компьютерным вирусом называется программа (некоторая совокупность выполняемого кода/инструкций), которая способна создавать свои копии (не обязательно полностью совпадающие с оригиналом) и внедрять их в различные объекты/ресурсы компьютерных систем, сетей и т.д. без ведома пользователя. При этом копии сохраняют способность дальнейшего распространения.
Сейчас применяются персональные компьютеры, в которых пользователь имеет свободный доступ ко всем ресурсам машины. Именно это открыло возможность для опасности, которая получила название компьютерного вируса.
Что такое компьютерный вирус? Формальное определение этого понятия до сих пор не придумано, и есть серьезные сомнения, что оно вообще может быть дано. Многочисленные попытки дать «современное» определение вируса не привели к успеху. Поэтому мы ограничимся рассмотрением некоторых свойств компьютерных вирусов, которые позволяют говорить о них как о некотором определенном классе программ.
Прежде всего, вирус - это программа. Такое простое утверждение само по себе способно развеять множество легенд о необыкновенных возможностях компьютерных вирусов. Вирус может перевернуть изображение на вашем мониторе, но не может перевернуть сам монитор. К легендам о вирусах-убийцах, «уничтожающих операторов посредством вывода на экран смертельной цветовой гаммы 25-м кадром» также не стоит относиться серьезно. К сожалению, некоторые авторитетные издания время от времени публикуют «самые свежие новости с компьютерных фронтов», которые при ближайшем рассмотрении оказываются следствием не вполне ясного понимания предмета.
Вирус - программа, обладающая способностью к самовоспроизведению. Такая способность является единственным средством, присущим всем типам вирусов. Но не только вирусы способны к самовоспроизведению. Любая операционная система и еще множество программ способны создавать собственные копии. Копии же вируса не только не обязаны полностью совпадать с оригиналом, но, и могут вообще с ним не совпадать!
Вирус не может существовать в «полной изоляции»: сегодня нельзя представить себе вирус, который не использует код других программ, информацию о файловой структуре или даже просто имена других программ. Причина понятна: вирус должен каким-нибудь способом обеспечить передачу себе управления.
- Классификация компьютерных вирусов
1) по среде обитания вируса;
По среде обитания вирусы можно разделить на сетевые, файловые и загрузочные. Сетевые вирусы распространяются по компьютерной сети, файловые внедряются в выполняемые файлы, загрузочные - в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий системный загрузчик винчестера (Master Boot Record).
2) по способу заражения среды обитания;
Способы заражения делятся на резидентный и нерезидентный. Резидентный вирус при инфицировании компьютера оставляет в оперативной памяти свою резидентную часть, которая затем перехватывает обращение операционной системы к объектам заражения и внедряется в них. Нерезидентные вирусы не заражают память компьютера и являются активными ограниченное время.
3) по деструктивным возможностям
По деструктивным возможностям вирусы можно разделить на:
- безвредные, т.е. никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения);
- неопасные, влияние которых ограничивается уменьшением свободной памяти на диске и графическими, звуковыми и пр. эффектами;
4) по особенностям алгоритма вируса.
По особенностям алгоритма можно выделить следующие группы вирусов:
- компаньон-вирусы (companion) - это вирусы, не изменяющие файлы.
- вирусы-“черви”
(worm) - вирусы, которые распространяются
в компьютерной сети и, так же как и компаньон-вирусы,
не изменяют файлы или сектора на дисках.
Они проникают в память компьютера из
компьютерной сети, вычисляют сетевые
адреса других компьютеров и рассылают
по этим адресам свои копии. Такие вирусы
иногда создают рабочие файлы на дисках
системы, но могут вообще не обращаться
к ресурсам компьютера (за исключением
оперативной памяти).
В настоящее время известно более 5000 программных вирусов, их можно классифицировать по следующим признакам:
- среде обитания
- способу заражения среды обитания
- воздействию
- особенностям алгоритма
В зависимости от среды обитания вирусы можно разделить на сетевые, файловые, загрузочные и файлово-загрузочные. Сетевые вирусы распространяются по различным компьютерным сетям. Файловые вирусы внедряются главным образом в исполняемые модули, т. е. в файлы, имеющие расширения COM и EXE. Файловые вирусы могут внедряться и в другие типы файлов, но, как правило, записанные в таких файлах, они никогда не получают управление и, следовательно, теряют способность к размножению. Загрузочные вирусы внедряются в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий программу загрузки системного диска (Master Boot Re-cord). Файлово-загрузочные вирусы заражают как файлы, так и загрузочные сектора дисков.
По способу заражения вирусы делятся на резидентные и нерезидентные. Резидентный вирус при заражении (инфицировании) компьютера оставляет в оперативной памяти свою резидентную часть, которая потом перехватывает обращение операционной системы к объектам заражения (файлам, загрузочным секторам дисков и т. п.) и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения или перезагрузки компьютера. Нерезидентные вирусы не заражают память компьютера и являются активными ограниченное время.
По степени воздействия вирусы можно разделить на следующие виды:
- неопасные, не мешающие работе компьютера, но уменьшающие объем свободной оперативной памяти и памяти на дисках, действия таких вирусов проявляются в каких-либо графических или звуковых эффектах
- опасные вирусы, которые могут привести к различным нарушениям в работе компьютера
- очень опасные, воздействие которых может привести к потере программ, уничтожению данных, стиранию информации в системных областях диска.
По особенностям алгоритма вирусы трудно классифицировать из-за большого разнообразия. Простейшие вирусы - паразитические, они изменяют содержимое файлов и секторов диска и могут быть достаточно легко обнаружены и уничтожены. Можно отметить вирусы-репликаторы, называемые червями, которые распространяются по компьютерным сетям, вычисляют адреса сетевых компьютеров и записывают по этим адресам свои копии.
Известны вирусы-невидимки, называемые стелс-вирусами, которые очень трудно обнаружить и обезвредить, так как они перехватывают обращения операционной системы к пораженным файлам и секторам дисков и подставляют вместо своего тела незараженные участки диска. Наиболее трудно обнаружить вирусы-мутанты, содержащие алгоритмы шифровки-расшифровки, благодаря которым копии одного и того же вируса не имеют ни одной повторяющейся цепочки байтов. Имеются и так называемые квазивирусные или «троянские» программы, которые хотя и не способны к самораспространению, но очень опасны, так как, маскируясь под полезную программу, разрушают загрузочный сектор и файловую систему дисков.
Теперь поподробнее о некоторых из этих групп.
Загрузочные вирусы
Рассмотрим схему функционирования очень простого загрузочного вируса, заражающего дискеты.
Что происходит, когда вы включаете компьютер? Первым делом управление передается программе начальной загрузки, которая хранится в постоянно запоминающем устройстве (ПЗУ) т.е. ПНЗ ПЗУ.
Эта
программа тестирует
Всякая дискета размечена на т.н. секторы и дорожки. Секторы объединяются в кластеры, но это для нас несущественно.
Среди секторов есть несколько служебных, используемых операционной системой для собственных нужд (в этих секторах не могут размещаться ваши данные). Среди служебных секторов нас интересует сектор начальной загрузки (boot-sector).
В секторе начальной загрузки хранится информация о дискете - количество поверхностей, количество дорожек, количество секторов и пр. Но нас сейчас интересует не эта информация, а небольшая программа начальной загрузки (ПНЗ), которая должна загрузить саму операционную систему и передать ей управление.
Таким образом, нормальная схема начальной загрузки следующая:
ПНЗ (ПЗУ) - ПНЗ (диск) - СИСТЕМА
Теперь рассмотрим вирус. В загрузочных вирусах выделяют две части: голову и т.н. хвост. Хвост может быть пустым.
Пусть у вас имеются чистая дискета и зараженный компьютер, под которым мы понимаем компьютер с активным резидентным вирусом. Как только этот вирус обнаружит, что в дисководе появилась подходящая жертва - в нашем случае не защищенная от записи и еще не зараженная дискета, он приступает к заражению. Заражая дискету, вирус производит следующие действия:
- выделяет некоторую область диска и помечает ее как недоступную операционной системе, это можно сделать по-разному, в простейшем и традиционном случае занятые вирусом секторы помечаются как сбойные (bad)
- копирует в выделенную область диска свой хвост и оригинальный (здоровый) загрузочный сектор
- замещает программу начальной загрузки в загрузочном секторе (настоящем) своей головой
- организует цепочку передачи управления согласно схеме.
Таким образом, голова вируса теперь первой получает управление, вирус устанавливается в память и передает управление оригинальному загрузочному сектору. В цепочке

- Компьютерные вирусы
- Компьютерные вирусы
- Компьютерные вирусы
- Компьютерные вирусы
- Компьютерные вирусы
- Компьютерные вирусы
- Компьютерные вирусы
- Компьютерное обучение - "Новые технологии": использование интернет-ресурсов на уроках английского языка
- Компьютерное пиратство
- Компьютерное пиратство
- Компьютерное программное обеспечение, предназначенное для управления проектами
- Компьютерные 2d и 3d иллюстрации свойств геометрических фигур и тел при изучении геометрии в школе
- Компьютерные вирусы
- Компьютерные вирусы