Найти в Дзене
Журнал "Лучик"

Вирусы. Сказочка для взрослых

Расскажу-ка я вам, ребятушки, сказку интересную.

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

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

Вы, случайно, не читали книжку «Понедельник начинается в субботу» братьев Стругацких? Тоже, кстати, сказка. Написана она в 1964 году. Описан в ней Институт Чародейства и Волшебства, в котором работают самые настоящие маги и волшебники. Которые умеют останавливать время, проходить сквозь стены, усмирять джиннов и драконов, а также сотворять из воздуха какао и бутерброды с колбасой. Но при этом ни один из магистров не умеет «общаться» с компьютером! И для работы на институтский компьютер «Алдан» волшебники заманивают молодого программиста Сашу Привалова. Им проще Сашу научить колдовству, чем самим научиться программировать, представляете? А так оно и было в те далёкие годы. Программирование было тайным искусством, уделом избранных...

-2

Само собой, управлять огромным компьютером в одиночку, да ещё и круглые сутки напролёт, невозможно. Так что в подчинении у «царя» математика-программиста было сразу несколько «слуг». Называли их по-всякому: лаборант-программист, оператор ЭВМ (электронно-вычислительных машин то есть), кодировщик... Эти «слуги в белых халатах» день и ночь заправляли перфокарты и перфоленты в перфораторы, переставляли катушки с магнитными лентами, а также «вбивали» программы и данные для расчётов. Хотите понять, на что это было похоже? Да легко: возьмите в библиотеке «Четырёхзначные математические таблицы» Брадиса и перенаберите оттуда хотя бы одну страничку в Open Office Calc или MS Excel. И чтобы без ошибок!

-3

Работа эта была довольно простой, однако занудной и мало оплачиваемой вдобавок. Сохранился анекдот о том, как (в те же самые 60-е годы) один американский старшеклассник подрабатывал чисткой птичьих клеток в виварии медицинского колледжа за доллар в час. Узнав о том, что знакомый студент зарабатывает по полтора доллара в час в качестве оператора местного компьютера, школьник за выходные выучил инструкцию и перехватил эту работу у студента, запросив на пол-доллара меньше! По деньгам выходило то же самое, но хотя бы не нюхать каждый день птичье «гуано» – уже хорошо...

Между прочим, реалии тех лет сохранились в современном языке! Рассказывают, что как-то раз неопытный оператор во время расшифровки перфоленты принял за дырку случайно попавшую в перфоратор и раздавленную мошку, мелкое насекомое. Число оператор записал неверно (вместо знака «плюс» там получился знак «минус»), в программе «поселилась» ошибка, а в итоге прямо на старте пришлось взорвать ракету, стоившую десятки миллионов долларов. С тех пор ошибку в компьютерной программе стали называть знакомым сейчас всем английским словом «баг» («bug», то есть «насекомое, клоп, вирус, блоха»). А процесс отладки программы – словом «дебаггинг» («debugging», буквально «избавление от блох», «лечение от вирусов»).

О! А вот, собственно, и прозвучало впервые слово «вирус». Компьютерный вирус – это и будет главный герой нашей сказки. В наши дни компьютерные вирусы всем привычны: «ой, а у меня что-то комп начал тормозить, наверное, там много вирусов!». Или: «а ты знаешь какой-нибудь хороший бесплатный антивирус, я свой системник проверить хочу». Или: «я тут вирус поймал, висит неубиваемый баннер на полэкрана, у тебя нет знакомого, чтобы умел такие штуки лечить?». Однако в давние-стародавние времена никаких компьютерных вирусов не было. Вообще. Откуда же они взялись?

Ещё раз вспоминаем «компьютерное царство» тогдашних лет: есть главный «маг и чародей» (в организациях побогаче – два чародея), то есть математик-программист. Опытный, умный, настоящий «цифровой волк». Тот самый, который принимает от заказчиков задачи, создаёт математическую модель и составляет программу. А есть зелёные «салажата», часто вообще студенты и старшеклассники, то есть лаборанты и операторы, которые всё это «вбивают» в машину, «снимают» результаты, меняют ленты и вообще следят за работой компьютера: «Видишь эту лампочку? Если не горит, то всё нормально. А если вдруг загорится красным, то щёлкни сперва вот этим тумблером, а потом сразу звони мне, ясно? А если она замигает, то сейчас будет взрыв трансформатора, так что прячься под стол и зови на помощь!» – примерно так «дедушка» программист «накручивал» молоденького оператора на первое ночное дежурство по ВЦ...

-4

По странному совпадению именно в эту ночь та самая лампочка вдруг начинала мигать. А наутро весь ВЦ ржал и потешался над рассказом вахтёра про то, как он среди ночи услышал тонкие вопли о помощи из машинного зала, где и нашёл зелёного от страха парнишку-оператора, сидящего под столом... Придумывались и другие розыгрыши. Скажем, дежурит оператор у терминала, всё в порядке, он заваривает себе чаю послаще и покрепче... Вдруг цифры и буквы с экрана (а дисплеи тогда были маленькие, чёрно-зелёные, и «картинки» показывать не умели, только буквы и цифры) исчезают. Потом появляется надпись: «Я тоже чаю хочу!». Оператор в панике жмёт на кнопки клавиатуры. На дисплее надпись меняется: «Ты не на кнопки жми, ты мне чаю дай!». Бедняга-оператор совершенно теряется. Что делать? Отключить питание? Перезапустить процесс? Но там же идёт «расчётка» для какого-то министерства, это же заново всё начинать придётся, начальство голову оторвёт... И вот он уже в панике звонит программисту: «У меня компьютер чаю просит! Что мне делать?!». Программист сонно отвечает: «А ты набери на клавиатуре слово ЧАЙ». И точно – тут же всё в норме, все данные снова на экране, процесс идёт, как ни в чём не бывало...

-5

Само собой, такие «программы-шутки», «программы-приколы» нужно было писать так хитро, чтобы оператор ничего не заподозрил. Например, «маскировать» их под обычные командные файлы. То есть «салага», сам того не зная, выполняя совершенно рутинную процедуру, запускал тем самым программу-шутку. Начинал тикать таймер, и спустя какое-то время заложенная «бомбочка» «взрывалась» – бабах! – сюрприз, сюрприз!

Шли годы. Компьютеры становились мощнее, меньше, их становилось всё больше. Они стали доступны «простым смертным» – появились люди, которых сейчас принято называть «обычными пользователями». Это дало новый мощный толчок спрятанным программам-приколам. Раньше опытный программист подшучивал над неопытным – но у того всё-таки были хоть какие-то знания! А тут такой шикарный «объект насмешек» – мало что понимающий «юзер», «ламер», «чайник», который только и умеет что сообщения по электронной почте слать-принимать (между прочим, электронная почта появилась на свет в 1965 году). Набирает, скажем, девушка-секретарша электронное сообщение на клавиатуре. И вдруг у неё изображение на экране переворачивается «вверх ногами»! Или вентилятор начинает страшно громко выть, а неожиданно оживший принтер «сам по себе» печатает: «В вашем компьютере обнаружена вода. Запущена система просушки!». У юзера волосы дыбом и вообще истерика, а программисты «рóфлят», то есть катаются по полу от смеха.

Впрочем, были у программистов и другие развлечения, более серьёзные. Программисты – они же тоже люди, ничто человеческое им не чуждо. В том числе очень хочется посоревноваться друг с другом, похвастаться своим искусством, уровнем мастерства. А как это сделать? Не играть же с компьютером, пардон, в шашки-шахматы на «кто больше выиграет партий»? Скучно. И вот – ещё в далёком 1961 году! – появляется «игра для программистов», которая называется «Дарвин» (а ещё «Война в памяти» или «Кодовые войны»). Почему «Дарвин»? Потому что в этой игре каждому участнику нужно было написать маленькую программу – «организм». Эти программы загружались в память компьютера по случайным адресам и запускались, начинали работать. Целью каждой программы было уничтожить программу-конкурента, захватить всю память. Чей «организм» захватит всю память компьютера и уничтожит все остальные «организмы», тот и побеждал.

-6

Игра Darwin 4081 для приставки Sega
Игра Darwin 4081 для приставки Sega

Тем ребятам, которые увлекаются программированием в наши дни, может быть довольно сложно понять, как вообще можно написать программу, которая отыскивает и уничтожает внутри памяти компьютера другую программу. Современные программы работают под управлением «надсмотрщика», «над-программы», то есть операционной системы (Windows или Unix), и пишутся на языках высокого уровня – это может быть пайтон, си-шарп, джава и так далее. В те годы программы грузились в память компьютера «напрямую», «без присмотра» операционной системы, и писались на компьютерном языке низкого уровня – ассемблере. Это было сложно, но невероятно интересно, потому что позволяло вытворять с компьютером «всё, что угодно». В частности, такие программы в памяти могли «прятаться», то есть модифицировать свой код, и самокопироваться, то есть создавать собственные копии для того, чтобы а) захватить как можно больше памяти и б) не проиграть, если вдруг один из экземпляров «организма» будет уничтожен соперником.

Программисты играли, соревновались, оттачивали мастерство, и всё было чудесно. Однако кое-кому наработанные «в игре» навыки хотелось применить и «по-настоящему». В результате в 1971 году появился первый в мире компьютерный вирус – то есть программа, способная копировать сама себя и «размножаться» безгранично внутри настоящей компьютерной файловой системы или реальной компьютерной сети. Первоначально эти программы были совершенно безобидны, это были всё те же самые «приколы программистов», «поймай меня, если сможешь!». Вирус, скажем, выводил на экран шутливое сообщение или картинку, после чего самоуничтожался.

Первый компьютерный вирус Creeper выводил на экран такое сообщение
Первый компьютерный вирус Creeper выводил на экран такое сообщение

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

Кем были авторы таких вирусов? Иногда это были обычные преступники (только умеющие хорошо программировать), жаждавшие получить много лёгких денег. Занимались такими вирусами и военные (что естественно) и различные корпорации (например, для промышленного шпионажа). Однако часто это были просто озлобленные, отчаявшиеся люди, талантливые одиночки, стремящиеся «нагадить и отомстить всем подряд» – провалившие экзамены старшеклассники и студенты, уволенные сотрудники компаний, иногда даже религиозные фанатики. Персональные компьютеры становились всё доступнее, их постепенно объединили в колоссального масштаба мировую сеть – Интернет. И вредоносные вирусы могли гулять по свету, размножаться уже практически безгранично, нанося колоссальный ущерб. Скажем, вирус (технически правильнее говорить «червь», но это уже профессиональные тонкости) под названием Mydoom, попавший во всемирную паутину в 2004 году, нанёс ущерба на 38 миллиардов долларов США (с учётом инфляции это около 3 триллионов рублей на сегодняшний день).

-9

Напоследок расскажем про один из самых интересных полумифических вирусов-легенд 90-х годов – компьютерную игру-стрелялку «Вирус», которую называли ещё «Русской рулеткой для ПК». Авторы этой программы сразу честно предупреждали, что эта программа может уничтожить все файлы пользователя на компьютере. Если пользователь соглашался, игра сканировала жёсткий диск и превращала его в виртуальный трёхмерный лабиринт. Далее компьютер на время игры заражался самыми настоящими вирусами, которые «атаковали» и медленно повреждали данные – причём они отображались внутри игры в виде «врагов». Однако если пользователь, играя в игру, быстро бегал по лабиринту, отражал атаки, расстреливал монстров и грамотно защищал свои файлы, ничего страшного не происходило. Само собой, сперва это было довольно просто, но с каждым уровнем монстров становилось всё больше и больше, они действовали всё быстрее и быстрее... В общем, такая вот весёлая стрелялочка, в которой при проигрыше вместо «смерти игрока» (виртуальной) умирал компьютер игрока (уже по настоящему). Крайне забавный способ пощекотать себе нервы, не находите?

Любопытная сказка получилась? Ведь как мило всё начиналось – умные программисты, желающие доказать друг другу свои «класс» и «крутизну». Милые невинные шутки над новичками внутри небольшого, но дружного коллектива. Чистая наука, исследования, поиск пределов возможного, романтика непознанного. А потом вдруг это «нечто» неожиданно и нечаянно оказывается за стенами лабораторий, попадает в большой суровый мир и неожиданно наносит огромный вред, иногда непоправимый... И справиться с вырвавшимся из бутылки джинном может оказаться непросто – или даже вообще невозможно...

Читать дальше:
Как появились первые компьютерные вирусы

Дедушка компьютерных вирусов Роберт Моррис
Дедушка компьютерных вирусов Роберт Моррис

Сказки
3041 интересуется