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

Вместо введения

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

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

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

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

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

От издательства

Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты [email protected] (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.

Глава 1
Защищенность компьютеров: мифы и реальность

История возникновения компьютерных вирусов

Что такое вирус

Разновидности компьютерных вирусов

Вирусные мистификации

Что за зверь – троянский конь?

Новаторские подходы хакеров – руткиты (rootkits)

Уязвимости программ и хакерские технологии

1.1. История возникновения компьютерных вирусов

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

К сожалению, история умалчивает о многих фактах, связанных с зарождением компьютерного вредительства, но кое-что все-таки дошло до наших дней. Декабрь 1949 года можно считать началом возникновения компьютерных вирусов. Именно тогда в Илинойсском университете Джон фон Нейман читал серию лекций «Теория и организация сложных автоматов», которая и легла в основу теории самовоспроизводящихся автоматов. Однако это была теория. Первым действующим вирусом можно назвать игру Darwin (http://www.cs.dartmouth.edu/~doug/darwin.pdf ), которую изобрели в 1961 году сотрудники компании Bell Telephone Laboratories В. А. Высотский, Х. Д. Макилрой и Р. Моррис.

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

Следующий этап – самоперемещающаяся программа Creeper, созданная в начале 1970-х годов сотрудником компании BBN Бобом Томасом для подсистемы RSEXEC с целью продемонстрировать возможность самопроизвольного перемещения программ между компьютерами. Creeper не приносил вреда: предыдущая копия уничтожалась, а вирус перемещался на следующий компьютер.

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

В 1970 году произошло еще одно знаковое событие. В мае в журнале Venture был опубликован фантастический рассказ Грегори Бенфорда, в котором было приведено одно из первых описаний вирусных и антивирусных программ – Virus и Vaccine. Через два года в фантастическом романе «Когда Харли был год» Дэвида Герролда были описаны программы, захватывающие системы подобно червям. Сам термин «червь» был впервые использован в романе Джона Браннера «На шоковой волне», опубликованном в 1975 году.

Термин «компьютерный вирус» был впервые использован в 1973 году в фантастическом фильме Westworld. Данное словосочетание употреблялось в значении, привычном для современного человека, – «вредоносная программа, внедрившаяся в компьютерную систему».

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

В 1980-х годах компьютеры значительно подешевели и их количество увеличилось. Кроме того, машины стали более производительными, а энтузиастов, получивших к ним доступ, стало намного больше.

Неудивительно, что это десятилетие стало более богатым на события в компьютерном мире. Были проведены эксперименты по созданию самовоспроизводящихся программ и программ-червей; появились программы Elk Cloner и Virus, которые считаются первыми компьютерными вирусами. Если раньше экспериментальные образцы никогда не покидали компьютеры, на которых они запускались, то новые программы были обнаружены «на свободе» – на компьютерах вне лаборатории.

Дальнейшее развитие событий напоминало лавину. В 1987 году появился первый вирус, заражающий IBM PC-совместимые компьютеры под управлением MS-DOS, – Brain. Этот вирус был достаточно безвредным: его действие заключалось в изменении метки на дискетах в 360 Кбайт. Brain был написан двумя пакистанскими программистами, владельцами компании Brain Computer Services (отсюда и название вируса), исключительно в рекламных целях, но на его основе были созданы менее миролюбивые особи. В том же 1987 году появился Jerusalem («иерусалимский вирус»), запрограммированный на удаление зараженных файлов по пятницам 13-го. Первые его версии содержали ошибку, благодаря которой он повторно действовал на уже зараженные файлы. В последующих версиях ошибка была исправлена.

Хотя к тому времени уже появились материалы, посвященные безопасности информации, все это воспринималось не более чем игрушкой, экспериментом. Прозрение наступило неожиданно, когда эта «игрушка» перестала повиноваться и повела себя как разумный организм, заражающий все на своем пути. Это произошло 2 ноября 1988 года, когда студент Корнельского университета Роберт Моррис-младший запустил программу-червь, которая сохранилась в истории под именем своего разработчика. Червь Морриса стал первым сетевым червем, успешно распространившимся «на свободе», и одной из первых известных программ, эксплуатирующих такую уязвимость, как переполнение буфера.

За каких-то полтора часа вредителю удалось заразить около 6 тыс. машин. Произошедшее повергло общественность в шок: вирусы гуляли по Сети и ранее, но заразить каждый десятый компьютер до сих пор не удавалось никому. Срочно были пересмотрены требования к безопасности систем и созданы институты вроде CERT (Computer Emergency Response Team – команда по ответам на непредвиденные компьютерные ситуации), которые стали заниматься безопасностью компьютеров и давать рекомендации по устранению вирусов.

Компьютеры становились все доступнее. Со временем большинство платформ и операционных систем унифицировалось, на рынке стали преобладать Intel-совместимые компьютеры, которые работали под управлением операционной системы, разработанной компанией Microsoft. Дальнейшие события развивались с огромной скоростью. В 1991 году появился полиморфный вирус, видоизменявший свое тело. Операционная система Windows 95 была практически готова, и ее beta-версию разослали 160 тестерам. Все диски оказались зараженными загрузочным вирусом Form, и только один тестер не поленился проверить диск антивирусом. В пресс-релизе, посвященном выходу принципиально новой операционной системы, было сказано, что она полностью защищена от вирусов всех типов. Через несколько месяцев эти заявления были разнесены в пух и прах неожиданным подарком – первым макровирусом , представлявшим собой не привычный исполняемый файл, а сценарий, который заражал документы Microsoft Word. В течение месяца макровирус Сoncept облетел вокруг земного шара, внедрился в компьютеры пользователей Microsoft Word и парализовал работу десятков компаний по всему миру.

Примечание

На сегодняшний момент известно около 100 модификаций вируса Сoncept.

В январе 1996 года появился первый вирус для операционной системы Windows 95 – Win95.Boza, а резидентный вирус Win95.Punch, появившийся позже, окончательно подорвал доверие пользователей к Windows 95. В марте этого же года началась первая эпидемия вируса Win.Tentacle, написанного для Windows 3.0/3.1. Он заразил компьютерную сеть в нескольких учреждениях Франции. До этого все Windows-вирусы хранились только в коллекциях и электронных журналах вирусописателей, на свободе гуляли лишь написанные для MS-DOS загрузочные и макровирусы. В этом же году был пойман макровирус Laroux, написанный для Microsoft Excel.

В 1997 году на свет появились новые виды вирусов – FTP– и mIRC-черви, в июне 1998 года – вирус Win95.CIH. Этот вирус активизировался 26 апреля (впервые – в 1999 году) и уничтожал информацию на жестком диске, записывая на него мусор. Кроме того, он перезаписывал Flash BIOS, если переключатель находился в положении, разрешающем запись, и выводил из строя материнскую плату.

Примечание

Эпидемия вируса Win95.CIH, также известного как «Чернобыль» и поразившего компьютеры 26 апреля 1999 года, была на тот момент самой разрушительной.

Червь I love you, выпущенный на Филиппинах в мае 2000 года, нанес владельцам компьютеров ущерб на сумму, по некоторым оценкам превышающую $10 млрд. Следующий червь, вошедший в историю как Code Red, за 14 часов сумел заразить более 300 тыс. компьютеров, подключенных к Интернету. После них были и другие, часто – первые в определенной категории. Например, Nimda (слово admin, прочитанное наоборот), многовекторный червь, распространялся сразу несколькими способами, включая «черные ходы», оставленные другими червями. MyDoom был признан самым быстрым червем, распространяющимся по электронной почте.

До этого большая часть вирусов была написана на языке низкого уровня – ассемблере, позволявшем создать небольшой оптимизированный вирус. Автором червя AnnaKournikova, который поразил Интернет в феврале 2001 года, оказался голландский студент, который вообще не умел программировать, даже на таком простом языке, как Basic.

Сегодня общие годовые потери всех коммерческих организаций от действий вирусов могут сравниться с бюджетом небольшой страны, и эта сумма каждый год удваивается. Заявления некоторых специалистов по безопасности свидетельствуют о серьезности проблемы. По сведениям главы технологического департамента компании MessgeLabs (http://www.messagelabs.com/ ) Алекса Шипа, в 1999 году фиксировалось в среднем по одному новому вирусу в час, в 2000 году эта цифра составляла уже по одной программе каждые три минуты, а в 2004 году это время сократилось до нескольких секунд. По данным СанктПетербургской антивирусной лаборатории И. Данилова (ООО «СалД»), только за март 2007 года в антивирусную базу добавлено более 7 тыс. записей.

Игра Darwin продолжается…

1.2. Что такое вирус

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

Внимание!

Главная особенность любого вируса – умение самопроизвольно размножаться и распространяться без участия пользователя.

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

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

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

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

В начальный период существования вредоносных программ были популярны вирусы-шутки, которые мешали работе пользователей. Деструктивные особи практически не встречались. Например, такие программы просили дополнительной памяти («пирожка» и т. п.), и экран блокировался, пока пользователь не вводил с клавиатуры нужное слово (иногда его нужно было угадать). Лично я сталкивался с вирусом, который при обнулении счетчика не давал запустить приложение Microsoft Word с 18:00 до 09:00, мотивируя это тем, что работать нужно в рабочее время. Были и курьезы. Например, вирус, который выводил на экран сообщение вроде: «Нажмите одновременно L + A + M + E + R + F1 + Alt ». Пользователь нажимал, после чего появлялось сообщение о том, что таблица разделов стерта с жесткого диска и загружена в оперативную память и если пользователь отпустит хотя бы одну клавишу, то со своей информацией он может проститься, а если просидит так ровно час, то все будет в порядке. Через час оказывалось, что это была шутка. Ничего себе шуточки…

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

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

1.3. Разновидности компьютерных вирусов

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

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

По среде обитания. Первая классификация относится к среде, в которой «живет» вирус.

Первые вирусы, которые были популярны до массового распространения Интернета, – файловые . Их еще называют традиционными . Сегодня известны программы, заражающие все типы исполняемых файлов в любой операционной системе. Например, в Windows опасности подвергаются в первую очередь исполняемые файлы с расширениями EXE, COM и MSI, драйверы (SYS), командные файлы (BAT) и динамические библиотеки (DLL). C механизмом заражения такими вирусами и их распространением вы познакомились в предыдущем разделе.

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

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

Классическим примером сетевого вируса является червь Морриса, рассмотренный в разделе 1.1.

Наибольшую распространенность получили сетевые черви, использующие электронную почту, интернет-пейджеры, локальные и файлообменные (P2P) сети, IRC-сети и сети обмена данными между мобильными устройствами. Некоторые сетевые черви, например W32.Slammer или Sapphire, использующий уязвимость Microsoft SQL Server 2000, могут не оставлять на жестком диске никаких следов, хранясь только в оперативной памяти. Благодаря способности активно распространяться и работать на зараженных компьютерах без использования файлов подобные вирусы наиболее опасны. Они существуют исключительно в системной памяти, а на другие компьютеры передаются в виде пакетов данных. Первое время антивирусное программное обеспечение не было способно бороться с такими бестелесными вредителями.

Внимание!

Сетевые и почтовые вирусы наиболее опасны, так как способны за короткое время заразить большое количество систем.

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

Например, червь Melissa отсылал себя сразу после активизации только по первым 50 адресам, а I Love You использовал все записанные в адресной книге почтовые адреса, что обеспечило ему высокую скорость распространения. Другой тип червя – сценарий KakWorm, который после прочтения зараженного письма не рассылался, а прикреплялся к каждому посланию, отправляемому пользователем. При этом на новом компьютере вредоносное приложение либо выполнялось автоматически, используя уязвимости в почтовой программе, либо различными способами подталкивало пользователя к своему запуску. Зараженное письмо может прийти со знакомого адреса, и пользователь, скорее всего, откроет его. Могут применяться различные ухищрения. Например, вирус AnnaKournikova приглашал посмотреть фотографии известной теннисистки Анны Курниковой: любопытство чаще всего брало верх над осторожностью, и пользователи запускали прикрепленный к письму исполняемый файл.

Совет

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

Очень часто встречаются вирусы смешанного типа – почтово-сетевые . В таком случае их обычно называют просто сетевыми. Яркий пример – сетевой червь Mytob.c, который в марте 2005 года пересылался в виде вложений в электронные письма и использовал для своего распространения уязвимость в сервисе LSASS Microsoft Windows.

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

Макровирусы являются программами, написанными на макросах – последовательностях команд, используемых в некоторых системах обработки данных, например текстовых редакторах и электронных таблицах. Возможности макроязыков в таких системах позволяют вирусу переносить свой код в другие файлы, заражая их. Наибольшее распространение получили макровирусы для Microsoft Word и Excel. Такой вирус активизируется при открытии зараженного документа и переносится на компьютер, как правило, внедряясь в шаблон Обычный (файл Normal.dot ). После этого каждый сохраняемый документ заражается вирусом, а когда другие пользователи открывают его, их компьютеры также инфицируются. Существуют также макровирусы, заражающие базы данных Microsoft Access.

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

По алгоритму работы. Например, существуют резидентные и нерезидентные вирусы.

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

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

Примечание

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

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

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

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

Сегодня для маскировки своего присутствия в системе вирусы используют руткит-технологии (о них будет рассказано позже). Вирусы можно подразделить также по следующим критериям:

Типу операционной системы (Windows, Unix, Linux, MS-DOS, Java);

Деструктивной возможности (от безвредных, просто мешающих работе, до крайне опасных);

Языку, на котором написан вирус (ассемблер, язык сценариев и др.).

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

Каждый вирус имеет собственное имя. Вы слышите его, когда узнаете об очередной эпидемии. Откуда берется имя? Обнаружив новый вирус, антивирусные компании дают ему имена в соответствии с классификациями, принятыми в каждой конкретной компании, причем классификация у каждой фирмы своя. Посмотрите сами: например, Worm.Win32.Nuf – это то же самое, что Net-Worm.Win32.Mytob.c. Часто название дается по некоторым внешним признакам:

По месту обнаружения вируса (Jerusalem);

Методу подачи пользователю (AnnaKournikova);

Эффекту (Black Friday).

Бывает так, что вирус несколько раз переименовывают. Например, это касается «иерусалимского вируса». Изначально его назвали по месту обнаружения – Israeli, затем решили, что это название слишком антисемитское, и заменили его на «1813» (по размеру вируса), при этом параллельно использовалось другое имя – IDF (Israeli Defence Forces), и только через некоторое время вирус назвали Jerusalem.

Кстати

Самым маленьким по размеру вирусом считается Repus (Win95.с) – всего 156 байт (существуют, однако, и более тяжеловесные модификации, вплоть до 256 байт). Для уменьшения размера этого вируса используются различные программные хитрости и уловки; вреда он не приносит, и все программы работают без проблем. При этом есть как резидентные, так и нерезидентные представители Repus (Win95.с). Помимо малого размера, Repus стал первым вирусом, использующим для своего размножения кэш-память Windows. Он ищет в кэш-блоках заголовки файлов, записывается в них и устанавливает для блоков атрибут dirty, который дает системе команду сохранить его на диск. Подобная методика позволяет даже нерезидентному варианту распространяться со скоростью резидентного вируса.

Одним из самых интересных является вирус I-Worm.Hybris (Vecna), получивший в июле 2002 года четвертую категорию опасности. Он распространяется посредством электронной почты. В первую очередь этот вирус заражает системный файл wsock32.dll , получая доступ ко всему интернет-трафику, а затем рассылает себя по полученным таким образом почтовым адресам. Самое интересное, что этот вирус может самостоятельно обновляться через Интернет, скачивая с новостной конференции alt.comp.virus плагины, дающие ему новые возможности.

Количество сигнатур в антивирусных базах многих производителей уже перевалило 400-тысячную отметку и постоянно растет.

Вирусы. Мифы и реальность

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

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

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

– файловые вирусы, которые внедряются в исполняемые файлы (СОМ, ЕХЕ, SYS, BAT, DLL);

– загрузочные, которые внедряются в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий системный загрузчик винчестера (Master Boot Record);

– макровирусы, которые внедряются в системы, использующие при работе так называемые макросы (например, Microsoft Word или Microsoft Excel).

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

Классификация вирусов по способам заражения.

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

– Нерезидентные вирусы – не заражают память компьютера и являются активными лишь ограниченное время.

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

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

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

– опасные – вирусы, которые могут привести к серьезным сбоям в работе;

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

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

– «Компаньон»-вирусы – алгоритм их работы состоит в том, что они создают для EXE-файлов файлы-спутники, имеющие то же самое имя, но с расширением СОМ. При запуске такого файла MS-DOS первым обнаружит и выполнит СОМ-файл, то есть вирус, который затем запустит и ЕХЕ-файл.

– Вирусы-«черви» (worm) – вариант «компаньон»-вирусов. «Черви» не связывают свои копии с какими-то файлами. Они создают свои копии на дисках и в папках дисков, никаким образом не изменяя других файлов и не используя сом-ехе-прием, описанный выше.

– «Студенческие» – крайне примитивные вирусы, часто нерезидентные и содержащие большое количество ошибок.

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

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

– Макровирусы – вирусы этого семейства используют возможности макроязыков (таких как Word Basic), встроенных в системы обработки данных (текстовые редакторы, электронные таблицы и т. д.). В настоящее время широко распространены макровирусы, заражающие документы текстового редактора Microsoft Word и электронные таблицы Microsoft Excel.

– Сетевые вирусы (сетевые «черви») – вирусы, которые распространяются в компьютерной сети и, как «компаньон»-вирусы, не изменяют файлы или секторы на дисках. Они проникают в память компьютера из компьютерной сети, вычисляют сетевые адреса других компьютеров и рассылают по этим адресам свои копии. Такие вирусы иногда создают рабочие файлы на дисках системы, но могут вообще не обращаться к ресурсам компьютера (за исключением оперативной памяти).

Пути заражения

Самые популярные способы заражения следующие.

– Через Интернет, так называемым «добровольным» cпособом: когда пользователь скачивает что-либо из Сети. Очень часто под безобидным ускорителем браузера может сидеть самый настоящий WIN95. CIH (WIN95. CIH, или «Чернобыль», перепрошивает BIOS компьютера).

– Через Интернет методом «навязывания»: из-за неграмотной настройки обозревателя вам предлагают (в лучшем случае) загрузить JavaScript, ActiveX и т. д. как подписанный элемент. Результатом такой загрузки могут стать открытые порты (порт – канал взаимодействия между двумя или более компьютерами) для дальнейшей атаки, удаления данных или кражи файлов. Дело в том, что в состав веб-страниц входят не только текст, графика, музыка и анимация (то есть данные), но и активное содержимое, которое включает в себя апплеты Java и элементы ActiveX. Так вот, данные объекты являются программным кодом, выполняющимся на компьютере пользователя. Что мешает злонамеренному пользователю написать такой код, который бы форматировал диск? Конечно же, настройки безопасности Internet Explorer. Поэтому в настройках безопасности интернет-обозревателя необходимо отключить загрузку неподписанных элементов ActiveX и использование элементов ActiveX, непомеченных как безопасные, а еще лучше установить высокий уровень безопасности.

Вирус из Интернета может проникнуть на ваш компьютер совершенно самомстоятельно – для этого достаточно быть подключенным к Сети. По этому механизму распространяется широко известный MSBlast, а также ряд других. Вот один из примеров алгоритма распространения посредством брешей в системе: используя брешь в службе DCOM RPC, «червь» проверяет 135-й порт машин, висящих в сети. При благоприятных результатах проверки открывается порт 4444 для ожидания последующих команд. Далее открывается порт 69 UDP, после чего на компьютер «червь» загружает файл носителя. Поэтому необходимо, чтобы в операционную систему были загружены новые обновления, иначе «черви» могут стать последним кодом, который она обработает.

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

– Через дискету или компакт-диск – также довольно распространенный способ заражения. По статистике пользователи проверяют дискеты чаще, чем диски, если не сказать более: компакт-диски обычно не проверяют вообще. Однако именно пиратские диски (никто не будет отрицать, что таких у нас большинство) играют значительную роль в распространении вирусов. Почему, когда вирус «Чернобыль» пронесся над Европой и Азией, оказалось, что инфицированы около миллиона машин, а в США – всего 10000? Потому, что он распространялся через нелегальное программное обеспечение, скопированное на компакт-диски. Поэтому возьмите за правило проверять съемные диски антивирусной программой и регулярно обновляйте антивирусные базы.

Иногда вирус может быть замаскирован под joke-программу, имитирующую вирус, хотя и Kaspersky 5.0, и Panda Platinum определяют его как самый настоящий вирус. Изобретательность создателя вируса в этом случае не знает границ: название такой «шутки» может быть: Not virus! Joke! Убедиться в объективности антивирусной проверки можно, лишь дизассемблировав подобную программу. Иногда вирусы могут находиться даже в программном коде антивируса.

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

Основное большинство вирусов – программы по сути безобидные, ограничивающие поле своей деятельности текстовыми, звуковыми и видеоэффектами. Написанные любителями, они в большинстве своем содержат ошибки программного кода, что не позволяет им в полной мере наносить вред. Помимо такой распространенной неприятности, как, например, форматирование системного диска, вирусы могут наносить ущерб аппаратной составляющей, выжигать люминофор монитора и даже влиять на здоровье (нашумевший вирус 777). Вы, наверное, уже слышали, что вирусы заражают преимущественно EXE– и COM-файлы. Так было до недавнего времени. На сегодняшний день инфицированными документами, созданными в Office, никого не удивишь. Совсем недавно были зарегистрированы случаи распространения вирусов через файлы формата JPEG.

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

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


Все ведущие антивирусные компании имеют собственные страницы, посвященные мистификациям. И информацию можно найти на сайте Вирусной энциклопедии (http://www.viruslist.com/ ), Symantec (http://www.symantec.com/avcenter/index.html ) и McAfee (http://vil.mcafee.com/hoax.asp ).

И, конечно же, не забывайте о Google – на то он и поисковик, чтобы все знать!

1.5. Что за зверь – троянский конь?

Практически ни один разговор о компьютерных вирусах не обходится без термина «троянская программа», или «троянец». Чем это приложение отличается от вируса, каково его назначение и чем оно опасно? К этой категории относятся программы, выполняющие несанкционированные действия без ведома пользователя. По характеру действия троянец напоминает вирус: он может красть персональную информацию (прежде всего файлы паролей и почтовые базы), перехватывать данные, введенные с клавиатуры, реже – уничтожать важную информацию или нарушать работоспособность компьютера. Троянская программа может применяться для использования ресурсов компьютера, на котором она запущена, в неблаговидных или преступных целях: рассылки вирусов и спама, проведения DDOS-атак (Distributed Denial of Service – распределенных атак, направленных на нарушение работы сетевых сервисов).

Это могут делать и вирусы. Отличие заключается в том, что часто внешне троянец выглядит как вполне нормальная программа, выполняющая полезные функции. Однако у нее есть и «вторая жизнь», о которой пользователь не догадывается, так как часть функций приложения скрыты. Троянская программа отличается от вируса неспособностью к самораспространению: она не может сама копироваться на другие компьютеры, ничего не уничтожает и не изменяет в компьютере пользователя (кроме функций, которые нужны для ее запуска). Троян может прокрасться к ничего не подозревающему пользователю под видом ускорителя Интернета, очистителя дискового пространства, видеокодека, плагина к проигрывателю Winamp или исполняемого файла, имеющего двойное расширение.

Примечание

Хотя, в отличие от вируса, троянец не способен к саморазмножению, от этого он не становится менее опасным.

В последнем случае может прийти письмо с просьбой посмотреть фотографию и прикрепленным файлом вроде superfoto.bmp.exe (как вариант, после BMP может быть большое количество пробелов, чтобы пользователь ничего не заподозрил). В итоге получатель сам устанавливает вредоносную программу. Отсюда произошло название таких приложений: вспомните, как ахейцы захватили Трою. Город был хорошо укреплен, ахейцы долго не могли его взять и обманули защитников. Для жителей Трои конь был символом мира, и ахейцы, якобы для примирения, построили деревянную статую коня, внутрь которой посадили своих лучших воинов. Ничего не подозревающие троянцы затащили подарок в город, а ночью ахейцы вылезли из статуи, обезвредили стражу и открыли ворота, впустив основные силы.

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

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

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

Отдельно следует упомянуть Trojan-Downloader и Trojan-Dropper, которые используются для установки на компьютеры троянских, рекламных (adware) или порнографических (pornware) программ. Кроме того, троянцы часто используются для создания троянских прокси-серверов или даже целых зомбисетей для рассылки спама или вирусов.

Как определить, что в системе поселилась троянская программа? Во-первых, согласитесь, странно, когда только что установленный плагин к Winamp не обнаруживается в списке. Во-вторых, при инсталляции трояна может быть выведено сообщение, причем как об успешном окончании установки (вроде Internet Exsplorer already patched ), так и, наоборот, говорящее о том, что утилита не установлена, потому что системная библиотека несовместима с версией программы либо архив поврежден. Возможно, будут также выведены рекомендации по устранению ошибки. После долгих мучений пользователь вряд ли получит ожидаемый результат, скорее всего, оставит все попытки и будет пребывать в уверенности, что это полезная программа, которая просто не запустилась по непонятным причинам. Троянец тем временем пропишется в автозапуске. Например, в Windows необходимо быть внимательным к следующим веткам реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runservices

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunservicesOnce

Возможно помещение ярлыка трояна в папку (это встречается очень редко, так как присутствие вредоносной программы в этой папке легко обнаружить) или запись в файлы autoexec.bat , win.ini , system.ini . Часто разработчики принимают меры, чтобы трояна не было видно в окне Диспетчер задач , выводимом нажатием сочетания клавиш Ctrl+Alt+Delete . Наиболее сложные троянские программы умеют самостоятельно обновляться через Интернет, прятаться от антивирусов и расшифровывать файлы паролей. Управлять троянцем можно несколькими способами – от прямого подключения к компьютеру до проверки определенного сетевого ресурса, на который хозяин посылает e-mail, ICQ и IRC-команды.

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

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

1.6. Новаторские подходы хакеров – руткиты (rootkits)

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

Руткиты представляют собой более продвинутый вариант троянских коней. Некоторые антивирусные компании не разделяют руткиты и троянцы, относя их к одной категории зловредных программ. Однако троян прячется на компьютере, обычно маскируясь под известную программу (например, Spymaster выдавает себя за приложение MSN Messenger), а руткиты используют для маскировки более продвинутые методы, внедряясь глубоко в систему.

Изначально словом «руткит» обозначался набор инструментов, позволяющий злоумышленнику возвращаться во взломанную систему таким образом, чтобы системный администратор не мог его видеть, а система – регистрировать. Долгое время руткиты были привилегией Unix-систем, но, как известно, хорошие идеи просто так не пропадают, и в конце ХХ века стали массово появляться руткиты, предназначенные для Microsoft Windows. О руткитах заговорили, только когда на их использовании в своих продуктах была поймана фирма Sony. Сегодня эксперты предсказывают бум этой технологии, и в ближайшие два-три года ожидается массовый рост количества руткитов – вплоть до 700 % в год. Самое печальное, что их будут использовать не только злоумышленники: руткиты станут массово применяться в коммерческих продуктах, в первую очередь для защиты от пиратства. Например, недавно было объявлено, что компания Microsoft создала руткит, обнаружить который невозможно. Не исключено, что это изобретение встретится в новых версиях Windows.

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

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

Системы, работающие на уровне ядра (Kernel Level, или KLT);

Системы, функционирующие на пользовательском уровне (User Level).

Первый известный руткит для системы Windows, NT Rootkit, был написан в 1999 году экспертом в области безопасности Грегом Хоглундом в виде драйвера уровня ядра. Он скрывал все файлы и процессы, в имени которых встречалось сочетание _root , перехватывал информацию, набираемую на клавиатуре, и использовал другие способы маскировки.

Самым известным на сегодня руткитом является Hacker Defender. Эта программа работает в режиме пользователя и маскируется за счет перехвата некоторых API. Hacker Defender может обрабатывать сетевой трафик до того, как он будет передан приложению, то есть любая программа, работающая в сети, может быть использована для взаимодействия со взломщиком. Руткит умеет скрывать файлы и процессы, записи в реестре и открытые порты и может неправильно показывать количество свободного места на диске. Он прописывается в автозагрузку, оставляя для себя черный вход, и прослушивает все открытые и разрешенные брандмауэром порты на предмет 256-битного ключа, который укажет, какой порт использовать для управления. Hacker Defender перехватывает функции запуска новых процессов, что позволяет ему заражать все программы, запускаемые пользователем. Он полиморфен: для шифрования исполняемых файлов руткита обычно используется утилита Morphine.

Примечание

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

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

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

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

Любопытный способ защиты использует червь Feebs. Для борьбы с антивирусами, антируткитами и другими утилитами, пытающимися уничтожить его, он выставляет приманку – замаскированный процесс, не видимый на вкладке Процессы в окне Диспетчера задач . Любое приложение, которое попытается обратиться к этому процессу, уничтожается. Программа может устанавливаться как дополнительный модуль к браузеру Internet Explorer, изменяющий его функциональность. Стандартные средства контроля автозапуска типа msconfig не видят эти параметры, а применение дополнительных утилит для изучения системы требует от пользователя определенной квалификации, поэтому единственный действительно надежный способ уничтожить такую программу – отформатировать жесткий диск и заново установить операционную систему.

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

1.7. Уязвимости программ и хакерские технологии

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

Можно выделить три причины проникновения вирусов:

Ошибки при разработке программного обеспечения;

Ошибки в настройках;

Воздействие на пользователя (социальный инжиниринг).

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

Переполнение буфера

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

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

В материале «Википедии» (http://ru.wikipedia.org ) дано следующее определение данной уязвимости: «Переполнение буфера – это явление, возникающее, когда компьютерная программа записывает данные за пределами выделенного в памяти буфера».

В «Новом словаре хакера» Эрика С. Рэймонда сказано, что «переполнение буфера – это то, что с неизбежностью происходит при попытке засунуть в буфер больше, чем тот может переварить».

Представьте следующую ситуацию. Функция изменения пароля может воспринять пароль длиной не более 256 символов. Чаще всего никто не пользуется паролями длиннее 8–10 символов, поэтому разработчики не предусмотрели проверку строки ввода данных. При попытке ввести более 256 символов, если за данными находился адрес возврата функции, он будет перезаписан и в лучшем случае выполнение программы завершится с ошибкой. Хакеру, обнаружившему такой уязвимый участок, остается подставить в качестве адреса возврата правильный адрес, что переведет управление в любую точку программы на его выбор. В результате может быть выполнен любой произвольный код, который хакер поместил в указанную область памяти, с привилегиями, с которыми выполняется текущая программа.

Подобные ошибки в программном обеспечении находят чуть ли не ежедневно, но не всегда и не сразу устраняют. Для примера можно просмотреть статистику на специализированных сайтах. Согласно данным Secunia (http://secunia.com ) в Microsoft Windows XP Professional не устранено 30 из 201 уязвимостей, обнаруженных с 2003 по начало 2008 года, хотя имеющих статус highly critical (предельно опасный), которые позволяют удаленно выполнить код (то есть фактически получить доступ к системе), в этом списке уже нет. В среднем обнаруживается три-четыре уязвимости в месяц.

В Internet Explorer 7 не устранено 7 из 21 найденной уязвимости, и некоторые из них имеют статус highly critical. В среднем в месяц обнаруживается одна-две уязвимости. Если учесть все уязвимости, при которых можно удаленно выполнить код в системе, можно сделать вывод, что с этим браузером вообще опасно выходить в Интернет. Internet Explorer позволяет выполнение кода при обработке HTML Help ActiveX, файлов HTA, SWF, ZIP, BMP и JPEG, архивов FTP, Cookies, тега IFRAME и всплывающих окон, то есть для проникновения в систему троянца достаточно зайти на сайт и просмотреть/сохранить рисунки или архив ZIP.

Внимание!

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

В операционной системе Windows код Internet Explorer используют и многие другие приложения (почтовый клиент Outlook Express, Проигрыватель Windows Media и др.), отчего увеличивается вероятность поражения. Например, существует JPEG-эксплоит, который использует ошибку в системной библиотеке, возникающую при обработке графических JPEG-файлов. Эта ошибка позволяет заразить компьютер через любую программу – Outlook Еxpress или любой другой почтовый клиент, показывающий JPEG-картинки.

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

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

Давайте посмотрим, что на сегодня можно сказать о самом известном из бесплатных браузеров – Mozilla Firefox 2. В нем обнаружено 19 уязвимостей, из которых не устранено четыре. Самая опасная из них имеет статус less critical (ниже критического). Использовав эти уязвимости, получить полное управление компьютером невозможно, злоумышленник может лишь раскрыть некоторую системную информацию, поэтому следует признать, что положение этого браузера лучше, чем Internet Explorer.

Таким образом, оптимальным решением будет использование альтернативных приложений. Вместо Internet Explorer для серфинга можно применять, например, Mozilla Firefox, вместо Outlook Еxpress – The Bat! и т. д. У этих программ ситуация с безопасностью лучше.

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

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

На борьбу с данной уязвимостью направлены такие утилиты, как, например, Stack-Guard. Первоначально она была разработана для Unix-систем, но в настоящее время ее аналог используется в Microsoft Visual Studio.NET и ProPolice компании IBM. В продуктах компании Microsoft, Windows XP SP2 и Server 2003 SP1 используется технология DEP (Data Execution Protection – защита от выполнения данных), которая делает секцию данных и стек неисполняемыми, что должно предотвращать подобный тип атак.

В некоторых процессорах Intel и AMD имеется специальный бит: в Intel – XD (eXecute Disable – запрет выполнения), в AMD – NX (No eXecute – нет выполнения), позволяющий аппаратно реализовать поддержку DEP.

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

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

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

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

Неправильная настройка программ

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

Примечание

MIME – Мultipurpose Internet Мail Extension – почтовый стандарт Интернета: кодирование в одном сообщении текстовой и нетекстовой информации (графики, архивов и пр.) для передачи по электронной почте.

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

Если вы предпочитаете использовать для серфинга Internet Explorer, установите высокий уровень безопасности. Для этого выполните команду меню Сервис > Свойства обозревателя , в появившемся окне перейдите на вкладку Безопасность , выберите категорию Интернет , в нижней части окна нажмите кнопку Другой , в открывшемся окне Параметры безопасности выберите из списка На уровень пункт Высокий и нажмите кнопку OK .

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

Червь Lovesan использовал уязвимость в сервисе Microsoft RPC (Remote Procedure Call – удаленное выполнение команд). И хотя эта уязвимость устранена, если служба DCOM (Distributed Component Object Model – модель распределенных компонентных объектов) вам не нужна, лучше отключить ее, а заодно и остальные ненужные сервисы. Чтобы проверить список запущенных служб, следует выполнить команду меню Пуск > Выполнить и в окне Запуск программы ввести cmd . В появившемся окне командной строки введите команду net start . На рис. 1.1 показан пример списка работающих служб.


Рис. 1.1. Вывод списка запущенных служб


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

В Интернете существует достаточное количество руководств, подробно описывающих назначение системных служб Windows. Одно из них можно найти по адресу http://www.oszone.net/display.php?id=2357 . Желательно отключить нулевую сессию (Null Session), позволяющую подключиться к системе, основанной на Windows NT, без ввода имени пользователя и пароля. При включенной нулевой сессии анонимный пользователь может получить большое количество информации о конфигурации системы, которую сможет использовать в дальнейших действиях (список ресурсов, предоставленных для общего доступа, список пользователей, рабочих групп и т. д.). Открытый 139-й порт относится к категории серьезных уязвимостей. Чтобы отключить нулевую сессию, необходимо выполнить команду меню Пуск > Выполнить и набрать в строке Открыть команду regedit . В разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa для Windows 2000/XP/2003 нужно задать параметру restrictanonymous значение 2 (тип – REG_DWORD ), для Windows NT3.5/NT4.0 – значение 1 . Для Windows 2000/XP/2003 в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver нужно задать для параметра RestrictNullSessionAccess значение 1 (тип параметра – REG_DWORD ), а для Windows NT3.5/NT4.0 это можно сделать в разделе системного реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters . Если таких параметров нет, их необходимо создать.

После внесения изменений требуется перезагрузка компьютера.

Следует также запретить скрытые ресурсы C$, D$, ADMIN$. Для этого проще использовать специализированные утилиты. Например, программа LanSafety позволяет сделать это одним щелчком (рис. 1.2).

Рис. 1.2. Рабочее окно программы LanSafety


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

Ранние версии Microsoft Word и Microsoft Ехсеl вместе с открытием документа автоматически запускали сценарии, написанные на языке Visual Вasic for Аррlication, что приводило к заражению компьютера макровирусами. Последние версии этих приложений запрашивают у пользователя подтверждение запуска сценариев.

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

Социальный инжиниринг

Среди специалистов по информационной безопасности распространено мнение, что компьютерная защита – это постоянная борьба с глупостью пользователей и интеллектом хакеров. Отсюда следует, что наиболее уязвимое звено в защите – человек. Существуют и системные уязвимости, которые становятся источником массовых эпидемий (достаточно вспомнить червь Lovsan aka W32. Blaster, использовавший уязвимость в RPC DCOM). Здесь, к сожалению, пользователь бессилен, и бороться с этим можно либо постоянно устанавливая всевозможные заплатки, либо сменив операционную систему на более безопасную, а от последствий действий пользователя порой не спасет ничто.

Внимание!

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

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

Недостаточную подготовку;

Желание выделиться;

Тягу мгновенно разбогатеть или получить что-то даром;

Жалость и милосердие;

Желание посмотреть «интересные» картинки;

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

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

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

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

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

Операционная система не всегда способна правильно выдать информацию о запускаемом файле. По умолчанию Microsoft Windows не показывает зарегистрированные расширения имен. В результате имя файла foto.jpg.ехе будет показано как foto.jpg . Для маскировки реального расширения применяется двойное расширение вроде xxx.jpg.exe (в данном случае может помочь то, что некоторые почтовые серверы отказываются пропускать исполняемые файлы) или добавляется большое количество пробелов, из-за чего имя файла отображается не полностью.

Совет

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

Значки – это отдельная тема. Большинство пользователей до сих пор думают, что запускаемую программу определяет значок. Щелкнув на значке с изображением калькулятора, они ожидают, что запустится именно калькулятор, а не какой-нибудь W32.Bagle-А. Этим пользуются злоумышленники: высылают файл с двойным расширением типа creditcard.doc.exe и значком, обычно используемым для документов Microsoft Word. Второе расширение чаще всего скрыто, и пользователь не сомневается, что по почте пришел именно текстовый документ.

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

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

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

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

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

Нет ни одного человека в мире, кто не рискует стать объектом вирусной атаки (вне зависимости от того, насколько мощный у него антивирус). Поэтому, чем больше вы будете знать, тем лучше.

25. Самым первым компьютерным вирусом был Creeper, обнаруженный в компьютерной сети ARPANET, предшественницы Интернета в начале 1970-ых годов. Это была экспериментальная самоперемещающаяся программа, написанная в 1971 году Бобом Томасом (Bob Thomas), сотрудником компании BBN Technologies.


24. В настоящее время существует 3 основные категории вредоносных ПО: вирусы, черви и трояны ("троянский конь"). Хотя их поведение отличается друг от друга, все они построены на одних и тех же исходных командах и компьютерной логике.


23. Типичный создатель вредоносного ПО - человек мужского пола в возрасте от 14 до 25 лет. Пока известно лишь о нескольких создателях вирусных программ женского пола.


22. Почти 70% создателей вирусов работают по контракту на организованные преступные группировки.


21. Макровирус и сетевой червь Melissa (март 1999 года) был настолько мощным, что заставил корпорацию Microsoft и другие крупные компании отключить свои системы электронной почты до его полного уничтожения. Вирус Melissa побил все рекорды по скорости распространения.


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


19. Согласно Отчёту службы разведки по обеспечению безопасности Microsoft и организации Consumer Reports, 40% домохозяйств США страдают от компьютерных вирусов.


18. Amazon.com является самой эксплуатируемой целью для фишинговых атак. За ним идут Apple и eBay.


17. Наиболее высокий риск подвергнуться атаке компьютерными вирусами - у США, за ними следует Россия.


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

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


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


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


13. Самым разрушительным компьютерным вирусом всех времён стал почтовый червь MyDoom. Он причинил ущерб в размере $38 млрд. Он быстро распространялся, заражал открытые сети и каждый компьютер с доступом к ним. В 2004 году этот вирус заразил 25% всех электронных писем.


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


11. Вы не заразите компьютер вирусом, лишь прочтя электронное письмо. Вредоносная программа активируется только при открытии ссылки или заражённого приложения к письму.


10. По имеющимся оценкам, до 90% электронных писем содержат вредоносное ПО.


9. К 1990 году было известно порядка 50 компьютерных вирусов. В конце 1990-ых количество вирусов резко возросло до 48.000.


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


7. Около 32% всех компьютеров в мире (то есть почти каждый третий компьютер) заражены какой-нибудь вредоносной программой.


6. Чтобы обнаружить свои уязвимые места, Facebook платит $500 каждому, кто сможет взломать систему.


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


4. Вирусы можно писать на разных языках программирования, включая язык ассамблера, сценарные языки (например, Visual Basic или Perl), Java и языки макропрограммирования (например, язык VBA).


3. Один из трёх основных видов вредоносных ПО - "троянский конь" - получил своё название из древнегреческой истории о деревянной лошади, которую использовали для того, чтобы помочь греческим войскам незаметно проникнуть в Трою.


2. Созданный филиппинскими программистами Реонелом Рамонесом (Reonel Ramones) и Онелом де Гузманом (Onel de Guzman) в 2000 году, компьютерный вирус, известный как ILOVEYOU или LoveLetter, стал самым разрушительным вирусом в мире (попав в Книгу рекордов Гиннесса). По подсчётам, вирус заразил более 3 млн компьютеров по всему миру.


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

3. Кто и почему пишет вирусы?

4. История компьютерных вирусов - от древности до наших дней

4.1. Немного археологии

4.2. Начало пути

4.5. За пределы DOS

4.6. Эпидемия макро-вируса

4.7. Хронология событий

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

6. Перспективы: что будет завтра и послезавтра

6.1. Что будет завтра?

6.2. Что будет послезавтра?

Введение

Компьютерные вирусы. Что это такое и как с этим бороться? На эту тему написаны десятки книг и сотни статей, борьбой с компьютерными вирусами профессионально занимаются сотни (или тысячи) специалистов в десятках (а может быть, сотнях) компаний. Казалось бы, тема эта не настолько сложна и актуальна, чтобы быть объектом такого пристального внимания. Однако это не так. Компьютерные вирусы были и остаются одной из наиболее распространенных причин потери информации. Известны случаи, когда вирусы блокировали работу организаций и предприятий. Более того, несколько лет назад был зафиксирован случай, когда компьютерный вирус стал причиной гибели человека - в одном из госпиталей Нидерландов пациент получил летальную дозу морфия по той причине, что компьютер был заражен вирусом и выдавал неверную информацию.

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

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

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

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

Довольно неприятным моментом является также опережающая работа Российского компьютерного "андеграунда": только за два года было выпущено более десятка электронных номеров журнала вирусописателей "Infected Voice", появилось несколько станций BBS и WWW-страниц, ориентированные на распространение вирусов и сопутствующей информации.

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

Стоит мне что-нибудь проглотить, как тут же

происходит что-нибудь интересное. Посмотрим, что

будет на этот раз!

Льюис Керрол. "Алиса в стране чудес"

1. Феномен компьютерных вирусов

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

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

20-е столетие также является одним из самых противоречивых, принесших истории человечества немало парадоксов, основной из которых, как мне кажется, является отношение человека к природе. Перестав жить в дружбе с природой, победив ее и доказав себе, что легко может ее уничтожить, человек вдруг понял, что погибнет и сам, - и поменялись роли в драме "Человек-Природа". Раньше человек защищал себя от природы, теперь же он все больше и больше защищает природу от самого себя. Другим феноменом 20-го века является отношение человека к религии. Став технократом, человек не перестал верить в Бога (или его аналогов). Более того, появились и окрепли другие религии.

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

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

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

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

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

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

А вот борьба с компьютерными вирусами является борьбой человека с человеческим же разумом (в некотором смысле тоже проявлением природных сил, хотя на этот счет имеется более одного мнения). Эта борьба является борьбой умов, поскольку задачи, стоящие перед вирусологами, ставят такие же люди. Они придумывают новый вирус - а нам с ним разбираться. Затем они придумывают вирус, в котором разобраться очень тяжело - но мы с ним разбираемся. И сейчас наверняка где-то сидит за компьютером парень, который не глупее меня, страдающий над очередным монстром, в котором мне придется разбираться целую неделю, а потом еще одну неделю отлаживать алгоритм антивируса. Кстати, чем не эволюция живых организмов?

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

Так что же такое компьютерный вирус?

На горе лежит дискета

У неё запорчен бут

Через дырочку в конверте

Её вирусы грызут

(Народный фольклор)

2. Что такое компьютерный вирус

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

2.1. Объяснение для домохозяйки

Объяснение будет дано на примере клерка, работающего исключительно с бумагами. Идея такого объяснения принадлежит Д.Н.Лозинскому, одному из известнейших "докторов".

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

"Переписать этот лист два раза и положить копии в стопку заданий соседей"

Что сделает клерк? Дважды перепишет лист, положит его соседям на стол, уничтожит оригинал и перейдет к выполнению второго листа из стопки, т.е. продолжит выполнять свою настоящую работу. Что сделают соседи, являясь такими же аккуратными клерками, обнаружив новое задание? То же, что и первый: перепишут его по два раза и раздадут другим клеркам. Итого, в конторе бродят уже четыре копии первоначального документа, которые и дальше будут копироваться и раздаваться на другие столы.

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

В приведенном выше примере про клерка и его контору лист-вирус не проверяет, заражена очередная папка заданий или нет. В этом случае к концу рабочего дня контора будет завалена такими копиями, а клерки только и будут что переписывать один и тот же текст и раздавать его соседям - ведь первый клерк сделает две копии, очередные жертвы вируса - уже четыре, затем 8, 16, 32, 64 и т.д., т.е. количество копий каждый раз будет увеличиваться в два раза.

Если клерк на переписывание одного листа тратит 30 секунд и еще 30 секунд на раздачу копий, то через час по конторе будет "бродить" более 1.000.000.000.000.000.000 копий вируса! Скорее всего, конечно же, не хватит бумаги, и распространение вируса будет остановлено по столь банальной причине.

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

"Переписать этот лист два раза и положить копии в стопку заданий соседей, если у них еще нет этого листа".

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

"А как же уничтожение данных?" - спросит хорошо эрудированная домохозяйка. Все очень просто - достаточно дописать на лист примерно следующее:

"1. Переписать этот лист два раза и положить копии в стопку заданий соседей, если у них еще нет этого листа.

2. Посмотреть на календарь - если сегодня пятница, попавшая на 13-е число, выкинуть все документы в мусорную корзину"

Примерно это и выполняет хорошо известный вирус "Jerusalem" (другое название - "Time").

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

Вот такое простое объяснение работы вируса. Плюс к нему хотелось бы привести две аксиомы, которые, как это ни странно, не для всех являются очевидными:

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

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

2.2. Попытка дать "нормальное" определение

Первые исследования саморазмножающихся искусственных конструкций проводились в середине нынешнего столетия. В работах фон Неймана, Винера и других авторов дано определение и проведен математический анализ конечных автоматов, в том числе и самовоспроизводящихся. Термин "компьютерный вирус" появился позднее - официально считается, что его впервые употребил сотрудник Лехайского университета (США) Ф.Коэн в 1984 г. на 7-й конференции по безопасности информации, проходившей в США. С тех пор прошло немало времени, острота проблемы вирусов многократно возросла, однако строгого определения, что же такое компьютерный вирус, так и не дано, несмотря на то, что попытки дать такое определение предпринимались неоднократно.

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

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

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

Основная же особенность компьютерных вирусов - возможность их самопроизвольного внедрения в различные объекты операционной системы - присуща многим программам, которые не являются вирусами. Например, самая распространенная операционная система MS-DOS имеет в себе все необходимое, чтобы самопроизвольно устанавливаться на не-DOS"овские диски. Для этого достаточно на загрузочный флоппи-диск, содержащий DOS, записать файл AUTOEXEC.BAT следующего содержания:

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

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

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

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

ОБЯЗАТЕЛЬНЫМ (НЕОБХОДИМЫМ) СВОЙСТВОМ КОМПЬЮТЕРНОГО ВИРУСА является возможность создавать свои дубликаты (не обязательно совпадающие с оригиналом) и внедрять их в вычислительные сети и/или файлы, системные области компьютера и прочие выполняемые объекты. При этом дубликаты сохраняют способность к дальнейшему распространению.

Следует отметить, что это условие не является достаточным (т.е. окончательным), поскольку следуя вышеприведенному примеру операционная система MS-DOS удовлетворяет данному свойству, но вирусом, скорее всего, не является.

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

Вот два примера: вирус KOH и программа ALREADY.COM.

Пример 1. Есть... вирус? утилита? с названием KOH. Эта программа шифрует/расшифровывает диски только по запросу пользователя. Выполнена она в виде загрузочной дискеты - boot-cектор содержит bootstrap loader KOH, а где-то в других секторах лежит основной код KOH. При загрузке с дискеты KOH задает пользователю вопрос типа: "А можно, я сам себя установлю на винчестер?" (если он уже на винчестере, то спрашивает то же самое про дискету). При утвердительном ответе KOH переносит себя с диска на диск.

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

Затем KOH выводит текст о своих hot-keys ("горячие" клавиши), по которым он шифрует/расшифровывает диски - спрашивает пароль, читает сектора, шифрует их и делает недоступными, если не знать пароля. Есть у него, кстати, ключ деинсталляции, по коему он сам себя с диска убирает (расшифровав, естественно, все, что было зашифровано).

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

И все-бы было ничего, и никто бы эту утилиту по имени KOH вирусом не обозвал, но только bootstrap loader у этого KOH практически на 100% совпадает с довольно "популярным" вирусом "Havoc" ("StealthBoot")... "и все - и крышка празднику". Вирус! И официальное название есть - "StealthBoot.KOH".

Пример 2. Есть некая программа ALREADY.COM, которая сама себя копирует в разные подкаталоги на диске в зависимости от системной даты. Вирус? Конечно да - типичный вирус-червь, сам себя расползающий по дискам (включая сетевые). Да?.. Да!

"Вы играли - но не угадали ни одной буквы!" Hе вирус это, как оказалось, а компонента от какого-то софтвера. Однако если этот файл выдернуть из этого софтвера, то ведет он себя как типичный вирус.

Итого были приведены два живых примера:

1. не-вирус - вирус

2. вирус - не-вирус

Внимательный читатель, который не прочь поспорить, может возразить:

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

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

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

Вирус KOH является программой, шифрующей диски по паролю, вводимому пользователем. _Все_ свои действия KOH комментирует на экране и спрашивает разрешения пользователя. Плюс к тому имеет деинсталлятор - расшифровывает диски и удаляет с них свой код. Однако все равно - вирус!

Если в случае с ALREADY.COM привлечь субъективные критерии (полезна/не полезна, входит в комплект/самостоятельна и т.п.), то, возможно, это и не стоит называть вирусом/червяком. Hо стоит ли привлекать эти самые субъективные критерии?

А какие могут быть объективные критерии вируса? Саморазмножение, скрытность и деструктивные свойства? Но ведь на каждый объективный критерий можно привести два контрпримера - a) пример вируса, не подходящего под критерий, и b) пример не-вируса, подходящего под критерий:

Саморазмножение:

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

2. MS-DOS и вариации на тему SYS+COPY.

Скрытность:

1. Вирусы "KOH", "VirDem", "Macro.Word.Polite" и некоторые другие информируют пользователя о своем присутствии и размножении.

2. Сколько примерно (с точностью до десятка) драйверов сидит под стандартной Windows95 ? Скрытно сидит, между прочим.

Деструктивные свойства:

1. Безобидные вирусы, типа "Yankee", которые прекрасно живут в DOS, Windows 3.x, Win95, NT и ничего никуда не гадят.

2. Старые версии Norton Disk Doctor"а на диске с длинными именами файлов. Запуск NDD в этом случае превращает Disk Doctor"а в Disk Destroyer"а.

Посему тема "нормального" определения компьютерного вируса остается открытой. Есть только несколько точных вех: например, файл COMMAND.COM вирусом не является, а печально известная программа с текстом "Dis is one half" является стопроцентным вирусом ("OneHalf"). Все, что лежит между ними, может как оказаться вирусом, так и нет.

Не горячитесь, Шура, - вы еще не отсидели за прошлое дело.

из Жванецкого

3. Кто и почему пишет вирусы?

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

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

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

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

Став старше и опытнее, но так и не повзрослев, многие из подобных вирусописателей попадают в третью, наиболее опасную группу, которая создает и запускает в мир "профессиональные" вирусы. Эти очень тщательно продуманные и отлаженные программы создаются профессиональными, часто очень талантливыми программистами. Такие вирусы нередко используют достаточно оригинальные алгоритмы, недокументированные и мало кому известные способы проникновения в системные области данных. "Профессиональные" вирусы часто выполнены по технологии "стелс" и(или) являются полиморфик-вирусами, заражают не только файлы, но и загрузочные сектора дисков, а иногда и выполняемые файлы Windows и OS/2.

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

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

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

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

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

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

Тяжела и неказиста

Жизнь простого программиста

(Народный фольклор)

Нет предела нашему интегралу.

(Народная мудрость)

4. История компьютерных вирусов - от древности до наших дней

4.1. Немного археологии

Мнений по поводу даты рождения первого компьютерного вируса очень много. Мне доподлинно известно только одно: на машине Беббиджа его не было, а на Univac 1108 и IBM-360/370 они уже были ("Pervading Animal" и "Christmas tree"). Таким образом, первый вирус появился где-то в самом начале 70-х или даже в конце 60-х годов, хотя "вирусом" его никто еще не называл. На этом разговор о вымерших ископаемых предлагаю считать завершенным.

4.2. Начало пути

Поговорим о новейшей истории: "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 - и будь спокоен, ищи гада и лечи его на здоровье. Побольше хлопот доставляли самошифрующиеся вирусы, которые иногда встречались в очередных поступлениях в коллекции. Ведь для их идентификации и удаления приходилось писать специальные подпрограммы, отлаживать их. Но на это никто тогда не обращал внимания, пока... Пока не появились вирусы нового поколения, те, которые носят название полиморфик-вирусы. Эти вирусы используют другой подход к невидимости: они шифруются (в большинстве случаев), а в расшифровщике используют команды, которые могут не повторяться при заражении различных файлов.

4.3. Полиморфизм - мутация вирусов

Первый полиморфик-вирус появился в начале 90-х кодов - "Chameleon", но по-настоящему серьезной проблема полиморфик-вирусов стала лишь год спустя - в апреле 1991-го, когда практически весь мир был охвачен эпидемией полиморфик-вируса "Tequila" (насколько мне известно, эта эпидемия практически не затронула Россию, а первая Российская эпидемия, вызванная полиморфик-вирусом, произошла аж три года спустя - год 1994, это был вирус "Phantom1").

Популярность идеи самошифрующихся полиморфик-вирусов вылилась в появление генераторов полиморфик-кода - в начале 1992 появляется знаменитый вирус "Dedicated", базирующийся на первом известном полиморфик-генераторе MtE и открывший серию MtE-вирусов, а через довольно короткое время появляется и сам полиморфик-генератор. Представляет он из себя объектный модуль (OBJ-файл), и теперь для того чтобы из самого обычного нешифрованного вируса получить полиморфик-мутанта достаточно лишь слинковать их объектные модули - OBJ-файл полиморфик-генератора и OBJ-файлом вируса. Теперь автору вируса, если он желает создать настоящий полиморфик-вирус, не придется корпеть над кодами собственного за/расшифровщика. При желании он может подключить к своему вирусу полиморфик-генератор и вызывать его из кодов вируса.

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

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

Вот далеко не полный список тех из них, которые можно назвать стопроцентно полиморфичными (конец 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.

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

Параллельно с полиморфик-врусами развиваются полиморфик-генераторы. Появляется несколько новых, использующих более сложные методы генерации полиморфик-кода, они распространяются по станциям BBS в виде архивов, содержащих объектные модули, документацию и примеры использования. В конце 1993 года было известно уже семь генераторов полиморфик-кода. Это:

MTE 0.90 (Mutation Engine), четыре различные версии TPE (Trident Polymorphic Engine), NED (Nuke Encryption Device), DAME (Dark Angel"s Multiple Encryptor)

С тех пор новые полиморфные генераторы появлялись по несколько штук в год, и приводить их полный список вряд ли имеет смысл.

4.4. Автоматизация производства и конструкторы вирусов

Лень - движущая сила прогресса. Эта народная мудрость не нуждается в комментариях. Но только в середине 1992 года прогресс в виде автоматизации производства дошел и до вирусов. Пятого июля 1992 года объявлен к выпуску в свет первый конструктор вирусного кода для IBM-PC совместимых компьютеров - пакет VCL (Virus Creation Laboratory) версии 1.00.

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

И все сразу стало значительно проще: захотел напакостить ближнему - садись за 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 - более тысячи.

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

4.5. За пределы DOS

Год 1992-й принес больше, чем полиморфик-вирусы и вирус-конструкторы. В конце этого года появился первый вирус для Windows, открывший, таким образом, новую страницу в истории вирусописания. Небольшого размера (менее 1K), совершенно безвредный и нерезидентный вирус вполне грамотно заражал выполняемые файлы нового формата Windows (NewEXE) и своим появлением пробил для вирусов окно в мир Windows.

Через некоторое время появились вирусы для OS/2, а в январе 1996 - и первый вирус для Windows95. На сегодняшний день не проходит и недели без появления новых вирусов, заражающих не-DOS системы, и, видимо, проблема не-DOS вирусов в скором времени выйдет на первый план, перекрыв проблему DOS-вирусов. Скорее всего, это произойдет эквивалентно постепенному умиранию DOS и распространению новых операционных систем и программ для них. Коль скоро все существующие DOS-приложения будут замещены их аналогами для Windows, Win95 и OS/2, проблема DOS-вирусов сойдет на нет и оставит после себя лишь теоретический интерес для компьютерного социума.

В том же 1993 году появилась и первая попытка написать вирус, работающий в защищенном режиме процессора Intel386. Это был загрузочный вирус "PMBS", названный так по строке текста внутри его кода. При загрузке с зараженного диска вирус переходил в защищенный режим, устанавливал себя как супервизор системы и затем загружал DOS в режиме виртуального окна V86. К счастью, вирус этот оказался "не жильцом" - его второе поколение напрочь отказывалось размножаться по причине нескольких ошибок в коде вируса. К тому же он "завешивал" систему, если какая-либо из программ пыталась выйти за пределы V86, например, определить наличие расширенной памяти.

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

Пока непонятно, станут ли в дальнейшем вирусы-супервизоры действительной проблемой для пользователей и разработчиков антивирусных программ. Скорее всего нет, так как такие вирусы должны "засыпать" на время работы новых операционных систем (Windows, Win95/NT, OS/2), что позволяет их (вирусы) легко обнаружить и удалить. Однако полноценный вирус-супервизор, использующий технологию "стелс" может принести немало неприятностей пользователям "чистой" DOS, ведь обнаружить такой стелс-вирус под DOS не представляется возможным.

4.6. Эпидемия макро-вируса

Год 1995-й, август. Все прогрессивное человечество, компания Microsoft и Билл Гейтс лично празднуют выход новой операционной системы Windows95. На фоне шумного торжества практически незамеченным прошло сообщение о появлении вируса, использующего принципиально новые методы заражения, вируса, заражающего документы Microsoft Word.

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

4.7. Хронология событий

Пора перейти к более детальному описанию событий. Начнем с самого начала.

конец 1960 - начало 1970-х

На мейнфреймах этого времени периодически появлялись программы, которые получили название "кролик" (the rabbit). Эти программы клонировали себя, занимали системные ресурсы и таким образом снижали производительность системы. Скорее всего "кролики" не передавались от системы к системе и являлись сугубо местными явлениями - ошибками или шалостями системных программистов, обслуживавших компьютер. Первый же инцидент, который смело можно назвать эпидемией "компьютерного вируса", произошел на системе Univax 1108. Вирус, получивший название "Pervading Animal", дописывал себя к выполняемым файлам - делал практически то же самое, что тысячи современных компьютерных вирусов.

первая половина 1970-х

Под операционную систему Tenex создан вирус "The Creeper", использовавший для своего распространения глобальные компьютерные сети. Вирус был в состоянии самостоятельно войти в сеть через модем и передать свою копию удаленной системе. Для борьбы с этим вирусом была создана программа "The Reeper" - первая известная антивирусная программа.

Начало 1980-х

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

Эпидемия загрузочного вируса "Elk Cloner" на компьютерах Apple II. Вирус записывался в загрузочные сектора дискет, к которым шло обращение. Проявлял он себя весьма многосторонне - переворачивал экран, заставлял мигать текст на экране и выводил разнообразные сообщения.

Пандемия первого IBM-PC вируса "Brain". Вирус, заражающий 360Kб дискеты, практически мгновенно разошелся по всему миру. Причиной такого "успеха" являлась скорее всего неготовность компьютерного общества к встрече с таким явлением, как компьютерный вирус.

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

Интересно, что вирус "Brain" являлся также и первым стелс-вирусом - при попытке чтения зараженного сектора он "подставлял" его незараженный оригинал.

В том же 1986 году программист по имени Ральф Бюргер (Ralf Burger) обнаружил, что программа может делать собственные копии путем добавления своего кода к выполняемым DOS-файлам. Его первый вирус, названный "VirDem", демонстрировал эту возможность. Этот вирус был проанонсирован в декабре 1986 на форуме компьютерного "андеграунда" - хакеров, специализировавшихся в то время на взломе VAX/VMS-систем (Chaos Computer Club in Hamburg).

Появление вируса "Vienna". Копия этого вируса попадает в руки все того же Ральфа Бюргера, который дизассемблирует вирус и помещает результат в свою книгу "Computer Viruses: A High Tech Desease" (русский аналог - "Пишем вирус и антивирус" г. Хижняка). Книга Бюргера популяризовала идею написания вирусов, объясняла как это происходит и служила таким образом толчком к написанию сотен или даже тысяч компьютерных вирусов, частично использовавших идеи из этой книги.

В том же году независимо друг от друга появляется еще несколько вирусов для IBM-PC. Это знаменитые в прошлом "Lehigh", заражающий только COMMAND.COM, "Suriv-1" (другое название - "April1st"), заражающий COM-файлы, "Suriv-2", заражающий (впервые) EXE-файлы, и "Suriv-3", заражающий как COM-, так и EXE-файлы. Появляются также несколько загрузочных вирусов ("Yale" в США, "Stoned" в Новой Зеландии и "PingPong" в Италии) и первый самошифрующийся файловый вирус "Cascade".

Не остались в стороне и не-IBM-компьютеры: было обнаружено несколько вирусов для Apple Macintosh, Commodore Amiga и Atari ST.

В декабре 1987 произошла первая известная повальная эпидемия сетевого вируса "Cristmas Tree", написанного на языке REXX и распространявшего себя в операционной среде VM/CMS. 9-го декабря вирус был запущен в сеть Bitnet в одном из университетов Западной Германии, проник через шлюз в European Academic Research Network (EARN) и затем - в сеть IBM VNet. Через четыре дня (13 декабря) вирус парализовал сеть - она была забита его копиями (см. пример про клерка несколькими страницами выше). При запуске вирус выводил на экран изображение новогодней (вернее, рождественской) елочки и рассылал свои копии всем пользователям сети, чьи адреса присутствовали в соответствующих системных файлах NAMES и NETLOG.

В пятницу 13-го мая 1988-го года сразу несколько фирм и университетов нескольких стран мира "познакомились" с вирусом "Jerusalem" - в этот день вирус уничтожал файлы при их запуске. Это, пожалуй, один из первых MS-DOS-вирусов, ставший причиной настоящей пандемии - сообщения о зараженных компьютерах поступали из Европы, Америки и Ближнего Востока. Название, кстати, вирус получил по месту одного из инцидентов - университета в Иерусалиме.

Вместе с несколькими другими вирусами ("Cascade", "Stoned", "Vienna"), вирус "Jerusalem" распространился по тысячам компьютеров, оставаясь незамеченным - антивирусные программы еще не были распространены в то время так же широко как сегодня, а многие пользователи и даже профессионалы еще не верили в существование компьютерных вирусов. Показателен тот факт, что в том же году компьютерный гуру и человек-легенда Питер Нортон высказался против существования вирусов. Он объявил их несуществующим мифом и сравнил со сказками о крокодилах, живущих в канализации Нью-Йорка. Этот казус, однако, не помешал фирме Symantec через некоторое время начать собственный антивирусный проект - Norton Anti-Virus.

Начали появляться заведомо ложные сообщения о компьютерных вирусах, никакой реальной информации не содержащие, но вносившие панику в стройные ряды компьютерных пользователей. Одна из первых таких "злых шуток" (современный термин - "virus hoax") принадлежит некому Mike RoChenle (псевдоним похож на "Microchannel"), который разослал на станции BBS большое количество сообщений о якобы существующем вирусе, который передается от модема к модему и использует для этого скорость 2400 бод. Как это ни смешно, многие пользоватеили отказались от стандарта тех дней 2400 и снизили скорость своих модемов до 1200 бод. Подобные "hoax"-ы появляются и сейчас. Наиболее известны на сегодняшний день - GoodTimes и Aol4Free.

Ноябрь 1988: повальная эпидемия сетевого вируса Морриса (другое название - Internet Worm). Вирус заразил более 6000 компьютерных систем в США (включая NASA Research Institute) и практически парализовал их работу. По причине ошибки в коде вируса он, как и вирус-червь "Cristmas Tree", неограниченно рассылал свои копии по другим компьютьерам сети и, таким образом, полностью забрал под себя ее ресурсы. Общие убытки от вируса Морриса были оценены в 96 миллионов долларов.

Вирус использовал для своего размножения ошибки в операционной системе Unix для VAX и Sun Microsystems. Помимо ошибок в Unix вирус использовал несколько других оригинальных идей, например, подбор паролей пользователей. Подробнее об этом вирусе и связанным с ним инцидентом можно прочитать в достаточно подробной и интересной статье Игоря Моисеева в журнале КомпьютерПресс, 1991, N8,9.

Декабрь 1988: сезон вирусов-червей продолжается, на этот раз в сети DECNet. Вирус-червь HI.COM выводил на экран изображение елочки и извещал пользователей, что им следует "stop computing and have a good time at home!!!"

Появляются новые антивирусные программы, например, Dr.Solomon"s Anti-Virus Toolkit, являющийся на сегодняшний день одним из самых мощных антивирусов.

Появляются новые вирусы - "Datacrime", "FuManchu" и целые семейства - "Vacsina" и "Yankee". Первый имел крайне опасное проявление - с 13 октября по 31 декабря он форматировал винчестер. Этот вирус вырвался "на свободу" и вызвал повальную истерию в средствах массовой информации в Голландии и Великобритании.

Сентябрь 1989: на рынок выходит еще одна антивирусная программа - IBM Anti-Virus.

Октябрь 1989: в сети DECNet зафиксирована еще одна эпидемия вируса-червя - "WANK Worm".

Декабрь 1989: инцидент с "троянским конем" "Aids". Было разослано 20.000 его копий на дискетах, помеченных как "AIDS Information Diskette Version 2.0". После 90 загрузок системы "троянец" шифровал имена всех файлов на диске, делал их невидимыми (атрибут "hidden") и оставлял на диске только один читаемый файл - счет на 189 долларов, который следовало послать по адресу PO Box 7, Panama. Автор "троянца" был пойман и приговорен к тюремному заключению.

Следует отметить тот факт, что 1989 год являлся началом повальной эпидемии компьютерных вирусов в России - все те же вирусы "Cascade", "Jerusalem" и "Vienna" заполонили компьютеры российских пользователей. К счастью, российские программисты довольно быстро разобрались с принципами их работы и практически сразу появилось несколько отечественных противоядий-антивирусов.

Мое первое знакомство с вирусом (это был вирус "Cascade") произошло в октябре 1989 года - вирус оказался обнаруженным на моем рабочем компьютере. Именно это и послужило толчком для моей профессиональной переориентации на создание программ-антивирусов. Кстати, тот первый вирус я вылечил популярной в те времена антивирусной программой ANTI-KOT Олега Котика. Месяцем позже второй инцидент (вирус "Vacsina") был закрыт при помощи первой версии моего антивируса -V (который несколькими годами позже был переименован в AVP - AntiViral Toolkit Pro). К концу 1989 года на просторах России паслось уже около десятка вирусов (перечислены в порядке их появления): две версии "Cascade", несколько вирусов "Vacsina" и "Yankee", "Jerusalem", "Vienna", "Eddie", "PingPong".

Этот год принес несколько довольно заметных событий. Первым из них является появление первых полиморфик-вирусов "Chameleon" (другое название - "V2P1", "V2P2" и "V2P6"). До этого момента антивирусные программы для поиска вирусов пользовались так называемыми "масками" - кусками вирусного кода. После появления вирусов "Chameleon" разработчики антивирусных программ были вынуждены искать другие методы их обнаружения.

Вторым событием являлось появление болгарского "завода по производству вирусов": огромное количество новых вирусов имели болгарское происхождение. Это были целые семейства вирусов "Murphy", "Nomenclatura", "Beast" (или "512", "Number-of-Beast"), новые модификации вируса "Eddie" и др. Особенную активность проявлял некто Dark Avenger, выпускавший в год по несколько новых вирусов, использовавших принципиально новые алгоритмы заражения и скрытия себя в системе. В Болгарии же впервые появлась и первая BBS, ориентированная на обмен вирусами и информацией для вирусописателей.

В июле 1990 произошел инцидент с компьютерным журналом PC Today (Великобретания). Он содержал флоппи-диск, зараженный вирусом "DiskKiller". Было продано более 50.000 копий журнала.

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

Появились и первые известные мне отечественные вирусы: "Peterburg", "Voronezh" и ростовский "LoveChild".

Популяция компьютерных вирусов непрерывно растет, достигая уже нескольких сотен. Растет и антивирусная активность: сразу два софтверных монстра (Symantec и Central Point) выпускают собственные антивирусные программы - Norton Anti-Virus и Central Point Anti-Virus. Следом появляются менее известные антивирусы от Xtree и Fifth Generation.

В апреле разразилась настоящая эпидемия файлово-загрузочного полиморфик-вируса "Tequila", а в сентябре подобная же "история" произошла с вирусом "Amoeba". Россию эти события практически не затронули.

Лето 1991: эпидемия вируса "Dir_II", использовавшего принципиально новые способы заражения файлов (link-вирус).

В целом, год 1991 был достаточно спокойным - этакое затишье перед бурей, разразившейся в 1992-м.

Вирусы для не-IBM-PC и не-MS-DOS практически забыты: "дыры" в глобальных сетях закрыти, ошибки исправлены, и сетевые вирусы-черви потеряли возможность для распространения. Все большую и большую значимость начинают приобретать файловые, загрузочные и файлово-загрузочные вирусы для наиболее распространенной операционной системы (MS-DOS) на самом популярном компьютере (IBM-PC). Количество вирусов растет в геометрической прогрессии, различные инциденты с вирусами происходят чуть ли не ежедневно. Развиваются различные антивирусные программы, выходят десятки кних и несколько регулярных журналов, посвященных вирусам. На этом фоне выделяются несколько основных моментов:

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

Март 1992: эпидемия вируса "Michelangelo" ("March6") и связанная с этим истерия. Наверное, это первый известный случай, когда антивирусные компании раздували шумиху вокруг вируса не для того, чтобы защитить пользователей от какой-либо опасности, а для того, чтобы привлечь внимание к своему продукту, т.е. в целях извлечения коммерческой выгоды. Так одна американская антивирусная компания заявила, что 6-го марта будет разрушена информация более чем на пяти миллионах компьютеров. В результате поднявшейся после этого шумихи прибыли различных антивирусных фирм поднялись в несколько раз, а от вируса в дейтсвительности пострадали всего около 10.000 машин.

Июль 1992: появление первых конструкторов вирусов VCL и PS-MPC, которые увеличили и без того немаленький поток новых вирусов и, как и MtE в своей области, подтолкнули вирусописателей к созданию других, более мощных конструкторов.

Конец 1992: первый вирус для Windows, заражающий выполняемые файлы этой операционной системы, открыл новую страницу в вирусописательстве.

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

"PMBS", работающий в защищенном режиме процессора Intel 80386.

"Strange" (или "Hmm") - сольное выступление на тему "стелс-вирус", однако выполненное на уровне аппаратных прерываний INT 0Dh и INT 76h.

"Shadowgard" и "Carbuncle", значительно расширившие диапазон алгоритмов компаньон-вирусов;

"Emmie", "Metallica", "Bomber", "Uruguay" и "Cruncher" - использование принципиально новых приемов "спрятывания" своего кода в зараженных файлах.

Весной 1993 Microsoft выпустил свой собственный антивирус MSAV, основой которого послужил CPAV от Central Point.

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

В начале года в Великобритании появились два крайне сложных полиморфик-вируса - "SMEG.Pathogen" и "SMEG.Queeg" (до сих пор не все антивирусные программы в состоянии достичь 100%-го результата при их детектировании). Автор вирусов помещал зараженные файлы на станции BBS, что явилось причиной настоящей эпидемии и паники в средствах массовой информации.

Еще одну волну паники вызвало сообщение о якобы существующем вирусе "GoodTimes", распространяющем себя по сети Интернет и заражающем компьютер при получении электронной почты. Накакого такого вируса на самом деле не существовало, однако через некоторое время появился обычный DOS-вирус с текстом "Good Times", вирус этот получил название "GT-Spoof".

Активизируются правоохранительные органы: летом 1994 автор SMEG был "вычислен" и арестован. Примерно в то же самое время в той же Великобритании арестована целая группа вирусописателей, называвшая себя ARCV (Assotiation for Really Cruel Viruses). Некоторое время спустя еще один автор вирусов был арестован в Норвегии.

Появляются несколько новых достаточно необычных вирусов:

Январь 1994: "Shifter" - первый вирус, заражающий объектные модули (OBJ-файлы). "Phantom1" - эпидемия первого полиморфик-вируса в Москве.

Апрель 1994: "SrcVir" - семейство вирусов, заражающих исходные тексты программ (C и Pascal).

Июнь 1994: "OneHalf" - начало повальной эпидемии вируса, до сих пор являющегося самым популярным вирусом в России.

Сентябрь 1994: "3APA3A" - эпидемия файлово-загрузочного вируса, использующего крайне необычный способ внедрения в MS-DOS. Ни один антивирус не оказался готовым к встрече с подобного типа монстром.

В 1994 году (весна) перестал существовать один из антивирусных лидеров того времени - Central Point. Он был приобретен фирмой Симантек, которая до того уже успела "проглотить" несколько небольших фирм, занимавшихся антивирусными разработками - Peter Norton Computing, Certus International и Fifth Generation Systems.

Ничего действительно заметного в области DOS-вирусами не произошло, хотя появляется несколько достаточно сложных вирусов-монстров типа "NightFall", "Nostradamus", "Nutcracker" и таких забавных вирусов, как "двуполый" вирус "RMNS" и BAT-вирус "Winstart". Широкое распространение получили вирусы "ByWay" и "DieHard2" - сообщения о зараженных компьютерах были получены практически со всего мира.

Февраль 1995: произошел инцидент с Microsoft: на диске, содержащем демонстрационную версию Windows95, обнаружен вирус "Form". Копии этого диска Microsoft разослал бета-тестерам, один из которых не поленился проверить диск на вирусы.

Весна 1995: анонсирован альянс двух антивирусных компаний - ESaSS (ThunderBYTE anti-virus) и Norman Data Defence (Norman Virus Control). Эти компании, выпускающие достаточно сильные антивирусы, объединили усилия и приступили к разработке единой антивирусной системы.

Август 1995: один из поворотных моментов в истории вирусов и антивирусов: в "живом виде" обнаружен первый вирус для Microsoft Word ("Concept"). Буквально за месяц вирус "облетел" весь земной шар, заполонил компьютеры пользователей MS-Word и прочно занял первое место в статистических исследованиях, проводимых различными компьютерными изданиями.

Январь 1996: два достаточно заметных события - появился первый вирус для Windows95 ("Win95.Boza") и эпидемия крайне сложного полиморфик-вируса "Zhengxi" в Санкт-Петербурге.

Март 1996: первая эпидемия вируса для Windows 3.x. Его имя - "Win.Tentacle". Этот вирус заразил компьютерную сеть в госпитале и нескольких других учреждениях во Франции. Интересность этого события состояла в том, что это был ПЕРВЫЙ Windows-вирус, вырвавшийся на свободу. До той поры (насколько мне известно) все Windows-вирусы жили только в коллекциях и электронных журналах вирусописателей, а в "живом виде" встречались только загрузочные, DOS- и Macro-вирусы.

Июнь 1996: "OS2.AEP" - первый вирус для OS/2, корректно заражающий EXE-файлы этой операционной системы. До этого в OS/2 встречались только вирусы, которые записывались вместо файла, уничтожая его или действуя методом "компаньон".

Июль 1996: "Laroux" - первый вирус для Microsoft Excel, к тому же пойманный в "живом виде" (практически одновременно в двух нефтедобывающих компаниях на Аляске и в ЮАР). Как и у MS-Word-вирусов, принцип действия "Laroux" основывается на наличии в файлах так называемых макросов - программ на языке Basic. Такие программы могут быть включены в электронные таблицы Excel так же, как и в документы MS-Word. Как оказалось, встроенный в Excel язык Basic также позволяет создавать вирусы. Этот же вирус в апреле 1997 стал причиной эпидемии в компьютерных фирмах Москвы.

Декабрь 1996: "Win95.Punch" - первый "резидентный" вирус для Win95. Загружается в систему как VxD-драйвер, перехватывает обращения к файлам и заражает их.

В целом год 1996 можно считать началом широкомасштабного наступления компьютерного андеграунда на операционную систему Windows32 (Windows95 и Windows NT) и на приложения Microsoft Office. За этот и следующий год появилось несколько десятков вирусов для Windows95/NT и несколько сотен макро-вирусов. Во многих их них вирусописатели применяли совершенно новые приемы и методы заражения, добавляли стелс- и полиморфик-механизмы и т.п. Таким образом компьютерные вирусы вышли на новый виток своего развития - на уровень 32-битных операционных систем. За два года вирусы для Windows32 повторили примерно все те же стадии, что ровно 10 лет до того прошли DOS-вирусы, однако на совершенно новом технологическом уровне.

Февраль 1997: "Linux.Bliss" - первый вирус для Linux (разновидность юникса). Так вирусы заняли еще одну "биологическую" нишу.

Февраль-апрель 1997: Макро-вирусы перебрались и в Office97. Первые из них оказались всего лишь "отконвертированными" в новый формат макро-вирусами для Word 6/7, однако практически сразу появились вирусы, ориентированные только на документы Office97.

Март 1997: "ShareFun" - макро-вирус, поражающий MS Word 6/7. Для своего размножения использует не только стандартные возможности MS Word, но также рассылает свои копии по электронной почте MS-Mail.

Апрель 1997: "Homer" - первый сетевой вирус-червь, использующий для своего размножения File Transfer Protocol (ftp).

Июнь 1997: Появление первого самошифрующегося вируса для Windows95. Вирус, имеющий российское происхождение, был разослан на несколько BBS в Москве, что стало причиной эпидемии.

Ноябрь 1997: Вирус "Esperanto". Попытка создания (к счастью, неудачная) многоплатформенного вируса, который работает не только под DOS и Windows, но в состоянии заражать и файлы Mac OS (Макинтош).

Декабрь 1997: появилась новая форма вируса - черви mIRC. Оказалось, что наиболее популярная утилита Windows IRC (Internet Relay Chat), известная как mIRC, содержала "дыру", позволяющую вирусным скриптам передавать себя по IRC-каналам. В очередной версии IRC дыра была закрыта, и mIRC-черви канули в лету.

Основным антивирусным событием в 1997 году стало, конечно же, отделение антивирусного подразделения фирмы КАМИ в независимую компанию "Лаборатория Касперского", зарекомендовавшую себя на сегодняшний день как признанный технический лидер антивирусной индустрии. Начиная с 1994 года основной продукт компании - антивирусный сканер AntiViral Toolkit Pro (AVP) - стабильно показывает высокие результаты в многочисленных тестах, проводимых различными тестовыми лабораториями всего мира. Отделение в независимую компанию позволило по началу небольшой группе разработчиков стать первой по значимости антивирусной компанией на отечественном рынке и достаточно заметной фигурой на ринке мировом. За короткие сроки были разработаны и выпущены версии для практически всех популярных платформ, предложены новые антивирусные решения, создана сеть международной дистрибуции и технической поддрежки.

В октябре 1997 года было подписано соглашение о лицензировании технологий AVP финской компанией DataFellows для использования в своей новой разработке FSAV (F-Secure Anti-Virus). До этого компания DataFellows была известна как производитель антивируса F-PROT.

Год 1997 также заметен по нескольким скандалам, разразившимся между основными производителями антивирусов в США и Европе. В начале года фирма McAfee объявила о том, что ее специалисты обнаружили "закладку" в программах одного из своих основных конкурентов - в антивирусе фирмы Dr.Solomon. Заявление от McAfee гласило, что если антивирус Dr.Solomon при сканировании обнаруживает несколько вирусов различных типов, то дальнейшая его работа происходит в усиленном режима. То есть если в обычных условиях на незараженных компьютерах антивирус от Dr.Solomon работает в обычном режиме, то при тестировании коллекций вирусов переключается в усиленный режим (по терминологии McAfee "cheat mode" - "режим обмана"), позволяющий детектировать вирусы, невидимые для Dr.Solomon при сканировании в обычном режиме. В результате при тестировании на незараженных дисках антивирус от Dr.Solomon показывает хорошие скоростные результаты, а при тестировании вирусных коллекций показывает неплохие результаты детектирования.

Через некоторое время Dr.Solomon нанес ответный удар, пришедшийся на некорректно построенную рекламную кампанию McAfee. Конкретно претензии предъявлялись тексту "The Number One Choice Worldwide. No Wonder The Doctor"s Left Town". Одновременно с этим компания McAfee вела юридические тяжбы с другой антивирусной компанией Trend Micro по поводу нарушения патента на технологию сканирования данных, передаваемых по Интернет и электронной почте. В этот же конфликт c Trend Micro оказалась втянута фирма Symantec. Затем Symantec предъявил иск McAfee по обвинению в использовании кодов Symantec в продуктах McAfee. Ну и т.д.

Закончился год еще одним заметным событием, связанным с именем McAfee: фирмы McAfee Associates и Network General объявили об объединении в единую компанию Network Assotiates и о позиционировании усилий не только в области антивирусных защит, но и в разработке универсальных систем компьютерной безопасности, шифрования и сетевого администрирования. Начиная с этого момента вирусной и антивирусной истории McAfee следует читать как NAI.

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

Начало года: Эпидемия целого семейства вирусов "Win32.HLLP.DeTroie", не только заражающих выполняемые файлы Windows32, но и способные передать своему "хозяину" информацию о зараженном компьютере. По причине использования специфических библиотек, присутствующих только во французской версии Windows, эпидемия затронула только франко-говорящие страны.

Февраль 1998: обнаружен еще один тип вируса, заражающий таблицы Excel - "Excel4.Paix" (или "Formula.Paix"). Данный тип макро-вируса для своего внедрения в таблицы Excel использует не обычную для вирусов область макросов, а формулы, которые, как оказалось, также могут содержать саморазмножающийся код.

Февраль-март 1998: "Win95.HPS" и "Win95.Marburg" - первые полиморфные Windows32-вирусы, обнаруженные к тому же "в живом виде". Разработчикам антивирусных программ пришлось спешно адаптировать к новым условиям методики детектирования полиморфных вирусов, рассчитанных до того только на DOS-вирусы.

Март 1998: "AccessiV" - первый вирус для Microsoft Access. Причиной шумихи, как это было с вирусами "Word.Concept" и "Excel.Laroux", он не стал, поскольку все уже привыкли к тому, что приложения MS Office падают одно за другим.

Март 1998: Макро-вирус "Cross" - первый вирус, заражающий два различных приложения MS Office: Access и Word. Следом за ним появились еще несколько макро-вирусов, переносящих свой код из одного Office-проложения в другое.

Май 1998: вирус "RedTeam". Заражает EXE-файлы Windows, рассылает зараженные файлы при помощи электронной почты Eudora.

Июнь: эпидемия вируса "Win95.CIH", ставшая сначала массовой, затем глобальной, а затем повальной - сообщения о заражении компьютерных сетей и домашних персональных компьютеров исчислялись сотнями, если не тысячами. Начало эпидемии зарегистрировано на Тайване, где неизвестный хакер заслал зараженные файлы в местные Интернет-конференции. Оттуда вирус пробрался в США, где по недосмотру зараженными оказались сразу несколько популярных Web-серверов - они распространяли зараженные вирусом игровые программы. Скорее всего, именно эти зараженные файлы на игровых серверах и послужили причиной повальной эпидемии вируса, не ослабевавшей в течении всего года. По результатам рейтингов "популярности" вирус "подвинул" таких вирусных суперзвезд, как "Word.CAP" и "Excel.Laroux". Следует обратить внимание также на опасное проявление вируса: в зависимости от текущей даты вирус стирал Flash BIOS, что в некоторых случаях могло привести к необходимости замены материнской платы.

Август 1998: появление нашумевшего "BackOrifice" ("Backdoor.BO") - утилиты скрытого (хакерского) администрирования удаленных компьютеров и сетей. Следом за "BackOrifice" появились несколько других аналогичных программ: "NetBus", "Phase" и прочие.

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

Произошли также заметные перестановки в антивирусном мире. В мае 1998 компании Symantec и IBM объявили об объединении своих усилий на антивирусном фронте: совместный продукт при этом распространяется фирмой Symantec под той же маркой Norton Anti-Virus, а IBM Anti-Virus (IBMAV) прекращает свое существование. На это моментально отреагировали основные конкуренты: Dr.Solomon и NAI (ранее - McAfee) тут же выпустили пресс-релизы с предложениями о льготном опдейте бывших пользователей IBMAV своими собственными антивирусами.

Не прошло и месяца, как прекратил свое существование и сам Dr.Solomon. Он был куплен компанией NAI (McAfee) за 640 миллионов долларов путем обмена акций. Данное событие вызвало шок в антивирусном мире: конфликт между двумя крупнейшими игроками антивирусного бизнеса закончился куплей/продажей, в результате которой с рынка исчез один из наиболее заметных и технологически сильных производителей антивирусного программного обеспеечения.

Все на свете должно происходть медленно и

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

чтобы человек был грустен и растерян.

(Венедикт Ерофеев. "Москва - Петушки")

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

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

" среда обитания;

" операционная система (OC);

" особенности алгоритма работы;

" деструктивные возможности.

По СРЕДЕ ОБИТАНИЯ вирусы можно разделить на:

" файловые;

" загрузочные;

" сетевые.

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

Загрузочные вирусы записывают себя либо в загрузочный сектор диска (boot-сектор), либо в сектор, содержащий системный загрузчик винчестера (Master Boot Record), либо меняют указатель на активный boot-сектор.

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

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

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

Заражаемая ОПЕРАЦИОННАЯ СИСТЕМА (вернее, ОС, объекты которой подвержены заражению) является вторым уровнем деления вирусов на классы. Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких OS - DOS, Windows, Win95/NT, OS/2 и т.д. Макро-вирусы заражают файлы форматов Word, Excel, Office97. Загрузочные вирусы также ориентированы на конкретные форматы расположения системных данных в загрузочных секторах дисков.

Среди ОСОБЕННОСТЕЙ АЛГОРИТМА РАБОТЫ вирусов выделяются следующие пункты:

" резидентность;

" использование стелс-алгоритмов;

" самошифрование и полиморфичность;

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

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

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

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

Использование СТЕЛС-алгоритмов позволяет вирусам полностью или частично скрыть себя в системе. Наиболее распространенным стелс-алгоритмом является перехват запросов OC на чтение/запись зараженных объектов. Стелс-вирусы при этом либо временно лечат их, либо "подставляют" вместо себя незараженные участки информации. В случае макро-вирусов наиболее популярный способ - запрет вызовов меню просмотра макросов. Один из первых файловых стелс-вирусов - вирус "Frodo", первый загрузочный стелс-вирус - "Brain".

САМОШИФРОВАНИЕ и ПОЛИМОРФИЧНОСТЬ используются практически всеми типами вирусов для того, чтобы максимально усложнить процедуру детектирования вируса. Полиморфик-вирусы (polymorphic) - это достаточно труднообнаружимые вирусы, не имеющие сигнатур, т.е. не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфик-вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика.

Различные НЕСТАНДАРТНЫЕ ПРИЕМЫ часто используются в вирусах для того, чтобы как можно глубже спрятать себя в ядре OC (как это делает вирус "3APA3A"), защитить от обнаружения свою резидентную копию (вирусы "TPVO", "Trout2"), затруднить лечение от вируса (например, поместив свою копию в Flash-BIOS) и т.д.

По ДЕСТРУКТИВНЫМ ВОЗМОЖНОСТЯМ вирусы можно разделить на:

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

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

" опасные вирусы, которые могут привести к серьезным сбоям в работе компьютера;

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

Но даже если в алгоритме вируса не найдено ветвей, наносящих ущерб системе, этот вирус нельзя с полной уверенностью назвать безвредным, так как проникновение его в компьютер может вызвать непредсказуемые и порой катастрофические последствия. Ведь вирус, как и всякая программа, имеет ошибки, в результате которых могут быть испорчены как файлы, так и сектора дисков (например, вполне безобидный на первый взгляд вирус "DenZuk" довольно корректно работает с 360K дискетами, но может уничтожить информацию на дискетах большего объема). До сих пор попадаются вирусы, определяющие "COM или EXE" не по внутреннему формату файла, а по его расширению. Естественно, что при несовпадении формата и расширения имени файл после заражения оказывается неработоспособным. Возможно также "заклинивание" резидентного вируса и системы при использовании новых версий DOS, при работе в Windows или с другими мощными программными системами. И так далее.

6. Перспективы: что будет завтра и послезавтра

6.1. Что будет завтра?

Чего ожидать от компьютерного андеграунда в последующие годы? Скорее всего основными проблемами останутся: 1) полиморфик-DOS-вирусы, к которым добавятся проблемы полиморфизма в макро-вирусах и вирусах для Windows и OS/2; 2) макро-вирусы, которые будут находить все новые и новые приемы заражения и скрытия своего кода в системе; 3) сетевые вирусы, использующие для своего распространения протоколы и команды компьютерных сетей.

Пункт 3) находится пока только на самой ранней стадии - вирусы делают первые робкие попытки самостоятельно распространять свой код по MS Mail и пользуясь ftp, однако все еще впереди.

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

6.2. Что будет послезавтра?

Что будет послезавтра и как долго вообще будут существовать вирусы? Для того, чтобы ответить на этот вопрос следует определить, где и при каких условиях водятся вирусы.

Основная питательная среда для массового распространения вируса в ЭВМ, на мой взгляд, обязана содержать следующие необходимые компоненты:

" незащищенность операционной системы (ОС);

" наличие разнообразной и довольно полной документации по OC и "железу";

" широкое распространение этой ОС и этого "железа".

Следует отметить, что понятие операционной системы достаточно растяжимое. Например, для макро-вирусов операционной системой являются редакторы Word и Excel, поскольку именно редакторы, а не Windows предоставляют макро-вирусам (т.е. программам на Бейсике) необходимые ресурсы и функции.

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

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

Ну а по поводу широкого распространения ОС как необходимого условия для вирусного нашествия и говорить надоело: на 1000 программистов только 100 способны написать вирус, на эту сотню приходится один, который эту идею доведет до завершения. Теперь полученную пропорцию умножаем на число тысяч программистов - и получаем результат: с одной стороны 15.000 или даже 20.000 полностью IBM-совместимых вирусов, с другой - несколько сот вирусов для Apple-Macintosh. Такое же несоответствие пропорций наблюдается и в сравнении общего количества вирусов для Windows (несколько десятков) и для OS/2 (несколько штук).

Приведенным выше трем условиям "расцвета" компьютерных вирусов удовлетворяют сразу несколько OS (включая редакторы), производимых фирмой Microsoft (DOS, Windows, Win95/NT и Word, Excel, Office97), что дает благодатную почву для существования самых разнообразных файловых и макро-вирусов. Удовлетворяют приведенным условиям также и стандарты разбиения жестких дисков. Результат - разнообразные варианты загрузочных вирусов, поражающих систему в момент ее загрузки.

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

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

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

Компьютерные вирусы - миф и реальность?

Понравилось? Отблагодарите, пожалуйста, нас! Для Вас это бесплатно, а нам - большая помощь! Добавьте наш сайт в свою социальную сеть: