Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3204

.pdf
Скачиваний:
9
Добавлен:
15.11.2022
Размер:
3.44 Mб
Скачать

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

1990 г.:

на территории Болгарии появился первый вирусный сервер – BBS, с которого любой желающий мог скачивать «живые» тела компьютерных вирусов;

первая антивирусная программа, распространяемая на коммерческой основе, – Norton Antivirus 1.0;

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

1992 г.:

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

1995 г.:

официально распространенный корпорацией Microsoft дистрибутив операционной системы Windows 95 beta оказался заражен вирусом Form;

первый вирус Snoopy для операционных систем семейства UNIX, распространяющийся «в дикой природе». Самый первый UNIX-вирус был создан Фредом Коэном, но использовался лишь для научных экспериментов. Интересно, что вирус Snoopy является одновременно первым вирусом с опубликованным исходным текстом;

первый макровирус Concept, заражающий документы

Microsoft Word. 1996 г.:

первые вирусы для Windows 95 и OS/2. 1997 г.:

первые (не считая вируса Морриса) сетевые вирусы.

171

1998 г.:

первый мультиплатформенный вирус Cross, способный заражать файлы двух принципиально различных форматов:

документы Microsoft Word и базы данных Microsoft Access;

первые полиморфные вирусы для Windows 95; первые почтовые вирусы;

эпидемия вируса «Чернобыль» – самая разрушительная вирусная эпидемия за всю историю компьютерной техники. В результате этой эпидемии более 100 тыс. компьютеров по всему миру получили физические неисправности. Интересно, что автор этого вируса, тайваньский студент Чень Иньхао, был найден, но не понес наказания, поскольку по законам Тайваня того времени

написание компьютерных вирусов не являлось уголовным преступлением;

первые Java-вирусы; первые HTML-вирусы. 2003 г.:

эпидемия сетевого вируса MSBlast – самая масштабная вирусная эпидемия за всю историю. Поражено более 25 млн компьютеров;

по данным аналитической компании Trend Micro, суммарный ущерб от компьютерных вирусов за год по всему миру превысил 55 млрд долл. США.

Проблема вирусов стала по-настоящему серьезной с середины 1980-х гг., во времена операционной системы MSDOS. В архитектуре MS-DOS полностью отсутствует подсистема безопасности. Поскольку исполняемые файлы, системные объекты в оперативной памяти, boot-секторы логических дисков не защищены никакими средствами, то данная операционная система особенно уязвима от воздействия вредоносных программ, и в частности вирусов.

Различные программные продукты третьих фирм (диспетчеры дисков, антивирусные мониторы) не были способны эффективно противодействовать вирусам в операционной системе MS-DOS, разработчиками вирусов были

172

найдены различные способы обхода таких средств.

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

С появлением операционных систем Windows 95 и Windows NT большинство DOS-вирусов устарело, поскольку изменилась архитектура операционной системы и появился новый формат 32-разрядных исполняемых файлов. Резидентные DOS-вирусы теперь могли существовать только в пределах виртуальной DOS-машины. При заражении исполняемых файлов DOS-вирусы используют интерфейс системных прерываний int 13h, int 2lb. и др. В Windows, начиная с версий 95 и NT 3.1, некоторые из этих функций заблокированы, поэтому большинство DOS-вирусов не могут функционировать в многозадачном режиме.

Это привело к появлению специализированных вирусов для 32-разрядных версий Windows. Однако в операционных системах семейства Windows NT вирусам противостоит подсистема безопасности, которая значительно снижает эффективность их распространения. Подсистема разграничения доступа Windows NT в условиях соблюдения адекватной политики безопасности приводит к тому, что атаке вирусов могут быть подвергнуты только файлы пользователя, запустившего зараженную программу. Если отсутствуют грубые ошибки администрирования и правильно настроен системный аудит, то в Windows NT традиционные Win32Bnpycbi быстро обнаруживаются и не способны эффективно распространяться.

Новый скачок в развитии компьютерных вирусов связан

173

с появлением макросов в электронных документах Microsoft Office. Средства Visual Basic обладают развитыми функциональными возможностями, которые с успехом используются макровирусами. Особенно широкое распространение макровирусов вызвано ростом популярности глобальной сети Интернет.

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

Разработчики Microsoft Office предприняли попытку защититься от несанкционированного выполнения макросов. В компонентах популярного пакета Microsoft Office 97 (Word, Excel, PowerPoint) защита от вирусов в макросах реализована в виде выдачи предупреждения при открытии электронного документа. Пользователю предлагается разрешить выполнение макросов или отключить их. В последнем случае документ будет доступен только на чтение. Защита от вирусов в макросах включается в настройках компонентов Microsoft Office. Этой опции настроек соответствует некоторое значение реестра Windows, которое может быть изменено программно, и тем самым отключена защита от макровирусов.

Например, в Microsoft Word 97 опции защиты от макровирусов соответствует значение

EnableMacroVirusProtection ключа ETKEY_ CURRENT_USER\Software\Microsoft\Office\8.0\Word\Options.

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

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

174

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

Большинство компьютерных вирусов практически безобидны, однако среди них встречаются весьма опасные экземпляры. Так, время от времени отмечаются случаи использования сетевых вирусов для организации распределенных атак, направленных на отказ в обслуживании пользователей некоторой системы (DDOS-атак). Десятки и сотни тысяч копий вируса в заданный момент времени одновременно обращаются к заданному интернет-серверу и «заваливают» его шквалом запросов. Самым известным примером такой атаки является атака сервера Windows Update, осуществленная вирусом MSBlast.

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

Большинство вирусов создаются молодыми (16 – 25 лет) людьми, реализующими посредством написания вируса потребность в самоутверждении. Хорошее представление о типичном портрете вирусописателя дает фотография Джеффри Ли Парсона (рис. 2.5), автора вируса MSBlast. В (это не оригинальный MSBlast, а всего лишь подражание, притом не слишком умелое). Джеффри Ли Парсон был приговорен к 18 месяцам тюрьмы облегченного режима и 10 последующим

175

месяцам исправительных работ.

Рис. 2.5. Джеффри Ли Парсон

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

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

иотлажен.

2.Наличие подготовительной стадии скрытой работы

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

3.Минимальное число демаскирующих эффектов. Если

176

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

4.Сохранение корректной работы зараженных систем.

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

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

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

177

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

7.Защита от повторного заражения. Алгоритмы вируса должны предусматривать защиту от многократного заражения одного и того же файла или (для сетевых вирусов) одной и той же операционной системы.

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

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

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

2.Корректная работа в условиях совместного использования файлов. В многозадачных операционных системах для доступа процессов к разделяемым файлам используется механизм блокировок (file sharing). Как правило,

178

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

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

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

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

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

179

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

Список требований к компьютерным вирусам может быть уточнен применительно к конкретной операционной системе.

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

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

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

180

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]