Хакинг и антихакинг (Данилов) - страница 7

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

В скором времени ранее никому не известные «лабораторные крысы», которые уничтожили программу-вирус, были приглашены для выступления на телевидении. После телевизионного интервью последовал «разбор полетов», проведенный должностными лицами из Национального института стандартов и технологии, Агентства оборонных коммуникаций, Министерства энергетики, Лаборатории баллистических исследований, Национальной лаборатории Лоуренса Ливермора, ЦРУ, ФБР и Национального центра компьютерной безопасности.

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

Червь Интернета был первым истинно сетевым червем (networking worm), теоретически способным разрушить большинство компьютерных систем, работающих под управлением операционной системы Unix. Более того, благодаря небольшой модификации, червь мог бы атаковать и системы, разработанные компанией Novell – единственным серьезным конкурентом Unix.

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

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

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

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