Суббота, 2024-05-18, 9:12 AM
SITE LOGO
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

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

Наш опрос
Какой сотовой компанией вы пользуетесь?
Всего ответов: 212

Главная » Статьи » Компьютерные Вирусы. » Все о нем и немного о.

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

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

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

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

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

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

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

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

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

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

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

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

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

Подобную инструкцию выполняет хорошо известный вирус Jerusalem (другое название —Time).

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

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

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

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

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

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

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

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

SYS А:

COPY *.* А:\ SYS В:

COPY *.* В:\

SYS С:

COPY *.* C:\

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

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

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

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

Обязательное (необходимое) свойство компьютерного вируса —

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

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

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

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

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

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

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

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

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

Если бы, конечно, автором КОН был не безызвестный программист, а, скажем, Symantec, или Sierra, или даже сама Microsoft, то никто бы и не посмел назвать это вирусом...

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

Да?.. Да!

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

Таким образом, были приведены два живых примера.

1. Невирус — вирус.

2. Вирус — невирус.

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

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

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

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

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

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

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

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

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

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

Скрытность:

а — вирусы КОН, VirDem, Macro.Word. Polite и некоторые другие информируют пользователя о своем присутствии и размножении;

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

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

а — безобидные вирусы типа Yankee, которые прекрасно живут в DOS, Windows З.х, Win95, NT и никому не мешают;

б — старые версии Norton Disk Doctor на диске с длинными именами файлов.

Запуск NDD в этом случае превращает Disk Doctor в Disk Destroyer.

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

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

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

Категория: Все о нем и немного о. | Добавил: Asanlake (2007-02-06)
Просмотров: 2029 | Рейтинг: 3.5/2 |
Форма входа

Поиск

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Copyright MyCorp © 2024 Создать бесплатный сайт с uCoz