Выбрать главу
Современные разрушительные программы

Для программного обеспечения, призванного причинять неприятности, 1999 год стал переломным. Различные типы – вирусы, черви и троянские кони – слились и перемешались. И стали в результате еще более опасными. Новизна состояла не в автоматической пересылке разрушительных программ по электронной почте – до этого были Christma exec в 1987 году (через систему электронной почты PROFS (Professional Office System, профессиональная офисная система)) и ShareFun в 1997 году, – но 1999 год стал первым годом, когда распространяющиеся по электронной почте «вредные» программы смогли заразить крупные зоны Интернета. Новые типы этих программ игнорировали средства корпоративной защиты и тонеллировали сквозь брандмауэры. Это действительно значительный шаг.

Вирус продолжает существовать, если он воспроизводится на новых компьютерах. До Интернета компьютеры сообщались в основном при помощи гибких дисков. Следовательно, большинство вирусов передавались при помощи дискет, и лишь изредка через электронные доски объявлений (bulletin board system, BBS).

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

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

И в-третьих, при таком способе распространения вирусов антивирусные программы справляются со своей задачей. Написать программу, блокирующую известные опасные программы, в общем, не сложно. Она будет работать по принципу сканирующего поиска кода, характерного для вируса (так называемых сигнатур). Найдя зараженный участок, программа автоматически удалит вирус и вернет все в нормальное состояние. Процедура удаления уникальна для каждого вируса, но разработать ее сравнительно нетрудно. Антивирусные программы включают десятки тысяч сигнатур, каждая из которых характерна для определенного вируса. Компании выпускают новые программы в тот же день, как узнают о новом вирусе. И при условии, что вирус распространяется медленно, такая защита работает. Ежемесячно происходит автоматическое обновление большинства антивирусных программ. До 1999 года такая защита была вполне удовлетворительна.

Все изменилось с распространением электронной почты. 1999 год принес нам макровирус Melissa для Microsoft Word и червя Worm.ExploreZip, a 2000 год – червя ILOVEYOU и массу его разновидностей, не говоря обо всем остальном. Разрушительные программы такого типа размножаются по электронной почте и используют ее особенности. Эти программы отправляют себя по почте людям, с которыми переписывается хозяин инфицированного компьютера, обманом заставляя получателей открыть или запустить их. В таком случае процесс распространения вирусов занимает не недели и не месяцы, а считанные секунды.

Антивирусные компании по мере возможности выпускают усовершенствованные версии программ, которые умеют ловить определенные вирусы, но если вирус может заразить 10 миллионов компьютеров в течение нескольких часов (так оценивают скорость распространения ILOVEYOU), то прежде, чем его удастся зафиксировать, он вызывает множество повреждений. А что если вирус постарается «спрятаться», чтобы его код не обнаружили в течение нескольких дней? Что, если червь нацелен на конкретную машину и удаляет свой код из всех компьютеров, у которых идентификатор пользователя не соответствует заданному? Сколько времени потребовалось бы на то, чтобы его обнаружить? Что, если этот червь отправляет по электронной почте в анонимный почтовый ящик копию регистрационного имени пользователя (в большинстве случаев содержащего пароль) и лишь затем самоуничтожается? Что, если такой код способен автоматически обновляться? Что, если он автоматически зашифровывает свои распространяющиеся копии при помощи системы PGP? А если он видоизменяется и ускользает от антивирусных программ? Или неделями прячется в системе? Даже минутные размышления на эту тему заставляют нас нарисовать себе довольно жуткую картину.