На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

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

Объяснений, что такое компьютерный вирус, можно привести
несколько. Самое простое — бытовое объяснение для простого челове­ка, который ни разу в жизни компьютера не видел, но знает, что он есть, и что в нем водятся Вирусы. Такое объяснение дается довольно
легко, чего нельзя сказать о втором объяснении, рассчитанном на спе-
ПавелЛомакин,ДаниэльШрейн
циалиста в области программ. Нам пока не представляется возмож­ным дать точное определение компьютерного вируса и провести чет­кую грань между программами по принципу — невирус».
Объяснение первое
Объяснение будет дано на примере клерка, работающего исклю­чительно с бумагами. Идею первого объяснения позаимствуем у Д. Н. Лозинского.
Представим себе аккуратного клерка, который приходит на ра­боту к себе в контору и каждый день обнаруживает у себя на столе стопку листов бумаги со списком заданий, которые он должен выпол­нить за рабочий день. Клерк берет верхний лист, читает указания на­чальства, пунктуально их выполняет, выбрасывает «отработанный»
лист в мусорное ведро и переходит к следующему листу. Предполо­жим, что некий злоумышленник тайком прокрадывается в контору и иодкладывает в стопку бумаг лист, на котором написано следующее:
«Переписать этот лист два раза и положить копии в стопку зада­ний соседей».
Что сделает клерк? Дважды перепишет положит его сосе-
дям на стол, уничтожит оригинал и перейдет к выполнению следующего листа из стопки, т. е. продолжит выполнять свою настоя­щую работу. Что сделают соседи, являясь такими же аккуратными клерками, обнаружив новое задание? То же, что и первый: перепишут его по два раза и раздадут другим клеркам. Итого, в конторе бродят уже четыре копии первоначального документа, которые и дальше бу­дут копироваться и раздаваться на другие столы.
Примерно так же работает и компьютерный вирус, только стоп­ками бумаг-указаний являются программы, а клерком — компьютер. Так же, как и клерк, компьютер аккуратно выполняет все команды программы (листы заданий), начиная с первой. Если же первая коман­да звучит как «скопируй меня в две другие программы», то компьютер так и сделает — и команда-вирус попадает в две другие программы. Когда компьютер перейдет к выполнению других «зараженных» программ, вирус тем же способом будет расходиться все дальше и дальше по всему компьютеру.
В приведенном выше примере про клерка и его контору лист-ви­рус не проверяет, заражена очередная папка заданий или нет. В этом случае к концу рабочего дня контора будет завалена такими копиями, а клерки только и будут, что переписывать один и тот же текст и раз­давать его соседям — ведь первый клерк сделает две копии, очередные жертвы вируса — уже четыре, затем 8, 16, 32, 64 и т. д., т. е. количество
копий каждый раз будет увеличиваться в два раза.
Если клерк на переписывание одного листа тратит 30 секунд и еще 30 секунд на раздачу копий, то через час по конторе будет «бро­дить» более 1. ООО. ООО. ООО. ООО. ООО. ООО копий вируса! Скорее всего, конечно же, не хватит бумаги и распространение вируса будет оста­новлено по столь банальной причине.
Как это ни смешно (хотя участникам этого инцидента было сов­сем не смешно), именно такой случай произошел в 1988 году в Амери­ке: несколько глобальных сетей передачи информации оказались пе­реполненными копиями сетевого вируса (вирус Морриса), который рассылал себя от компьютера к компьютеру. Поэтому «правильные» вирусы делают так:
«Переписать этот лист два раза и положить копии в стопку зада­ний соседей, если у них еще нет этого листа».
Проблема решена — «перенаселения» нет, но каждая стопка со­держит по копии вируса, при этом клерки еще успевают справляться и с обычной работой.
«А как же уничтожение данных?» — спросит хорошо эрудиро­ванный человек, Все очень просто — достаточно дописать на лист при­мерно следующее:
1. Переписать этот лист два раза и положить копии в стопку за­даний если у них еще нет этого листа.
2. Посмотреть на календарь — если сегодня пятница, попавшая на 13-е число, выкинуть все документы в мусорную
Примерно это и выполняетхорошо известный вирус «Jerasaiem» (другое название — «Time»).
Кстати, на примере клерка очень хорошо видно, почему в боль­шинстве случаев нельзя точно определить, откуда в компьютере появился вирус. Все клерки имеют одинаковые (с точностью до почер­ка) КОПИИ, но оригинал-то с почерком злоумышленника уже давно в корзине!
Вот такое простое объяснение работы вируса. Плюс к нему хоте­лось бы привести две аксиомы, которые, как это ни странно, не для всех являются очевидными.
Во-первых, вирусы не возникают сами собой — их создают очень злые и нехорошие программисты-хакеры и рассылают затем по сети передачи данных или подкидывают на компьютеры знакомых. Вирус не может сам собой появиться на вашем компьютере — либо его под­сунули на дискетах или даже на компакт-диске, либо вы его случайно скачали из компьютерной сети передачи данных, либо вирус жил у вас
в компьютере с самого начала, либо (что самое ужасное) программист-хакер живет у вас в доме.
Во-вторых: компьютерные вирусы заражают только компьютер и ничего больше, поэтому не надо бояться — через клавиатуру и мышь они не передаются.
Определение второе
Первые исследования саморазмножающихся искусственных конструкций проводились в середине нынешнего столетия. В работах фон Неймана, Винера и других авторов дано определение и проведен математический анализ конечных автоматов, в том числе и самовос­производящихся. Термин «компьютерный вирус» появился позднее — официально считается, что его впервые употребил сотрудник Ле-хайского университета (США) Ф. Коэн в 1984 году на 7-й конферен­ции по безопасности информации, проходившей в США. С тех пор прошло немало времени, острота проблемы вирусов многократно воз­росла, однако строгого определения, что же такое компьютерный ви­рус, так и не дано, несмотря на то, что попытки дать такое определение предпринимались неоднократно.
Основная трудность, возникающая при попытках дать строгое определение вируса, заключается в том, что практически все отличи­тельные черты вируса (внедрение в другие объекты, скрытность, по­тенциальная опасность и проч.) либо присущи другим программам, которые никоим образом вирусами не являются, либо существуют ви­русы, которые не содержат указанных выше отличительных черт (за
исключением возможности распространения).
Например, если в качестве отличительной характеристики виру­са принимается скрытность, то легко привести пример вируса, не скрывающего своего распространения. Такой вирус перед заражением любого файла выводит сообщение, гласящее, что в компьютере нахо­дится вирус и этот вирус готов поразить очередной файл, затем выво­дит имя этого файла и запрашивает разрешение пользователя на внед­рение вируса в файл.
Если в качестве отличительной черты вируса приводится воз­можность уничтожения им программ и данных на дисках, то в качест­ве контрпримера к данной отличительной черте можно привести де­сятки совершенно безобидных вирусов, которые, кроме своего распро­странения, ничем больше не отличаются.
Основная же особенность компьютерных вирусов -- возмож­ность их самопроизвольного внедрения в различные объекты опера-
ционной системы — присуща многим программам, которые не являют­ся вирусами. Например, самая распространенная операционная систе­ма MS-DOS имеет в себе все необходимое, чтобы самопроизвольно ус­танавливаться на uc-DOS'obckhc диски. Для этого достаточно на загрузочный флоппи-диск, содержащий DOS, записать файл AUTOEXEC. BAT следующего содержания:
SYS А: COPY  *. * SYS В:
COPY * В:\
SYS С:
COPY *.   * 'С:\
| - .
Модифицированная таким образом DOS сама станет самым настоящим вирусом с точки зрения практически любого существую­щего определения компьютерного вируса.
Таким образом, первой из причин, не позволяющих дать точное определение вирусу, является невозможность однозначно выделить от­личительные признаки, которые соответствовали бы только вирусам.
Второй же трудностью, возникающей при формулировке опре­деления компьютерного вируса, является то, что данное определение
должно быть привязано к конкретной операционной системе, в кото­рой этот вирус распространяется. Например, теоретически могут су­ществовать операционные в которых наличие вируса просто невозможно. Таким примером может служить система, где запрещено создавать и изменять области выполняемого кода, т. е. запрещено из­менять объекты, которые либо уже выполняются, либо могут выпол­няться системой при каких-либо условиях.
Поэтому представляется возможным сформулировать только
обязательное условие для того, чтобы некоторая последовательность выполняемого кода являлась вирусом.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика