В 1971 году, когда интернет ещё не существовал, а компьютеры занимали целые комнаты, инженер по имени Боб Томас написал небольшую программу, которая умела самостоятельно перемещаться между машинами. Программа называлась Creeper, и именно её принято считать первым компьютерным вирусом в истории. Однако это определение требует оговорок — программа появилась за двенадцать лет до того, как само слово «вирус» применительно к программному обеспечению вошло в обиход.
Что такое ARPANET и почему он важен
Чтобы понять появление Creeper, нужно представлять себе среду, в которой он работал. ARPANET — Advanced Research Projects Agency Network — был создан в конце 1960-х годов при финансировании Министерства обороны США. Это была первая крупная сеть с коммутацией пакетов, связавшая компьютеры в университетах и исследовательских центрах по всей Америке.
К 1971 году сеть насчитывала около двадцати трёх узлов. Машины, соединённые ARPANET, работали под операционной системой TENEX на компьютерах DEC PDP-10. Именно эта среда — связанные сетью мощные по меркам эпохи машины — стала полигоном для первого эксперимента с самовоспроизводящимися программами.
Боб Томас и его эксперимент
Боб Томас работал программистом в компании BBN Technologies (Bolt Beranek and Newman) в Кембридже, штат Массачусетс. BBN играла ключевую роль в строительстве самого ARPANET и была одной из ведущих технологических компаний того времени.
Томас не преследовал злого умысла: он хотел проверить, возможно ли создать программу, которая будет самостоятельно перемещаться между компьютерами в сети. Его эксперимент был сугубо исследовательским. Результатом стал Creeper — программа, которая переходила с машины на машину по сети ARPANET и выводила на каждой из них сообщение: «I’M THE CREEPER: CATCH ME IF YOU CAN!» («Я — Крипер, поймай меня, если сможешь!»).
Creeper не был рассчитан на кражу данных или повреждение файлов. Он просто демонстрировал, что самовоспроизводящаяся программа в сети возможна.
Вирус или червь: почему это важно
Термин «вирус» появился применительно к программам лишь в 1983 году — его ввёл Фред Коэн, дав формальное определение компьютерному вирусу как программе, способной воспроизводиться, встраиваясь в другие программы. По этому строгому определению Creeper — не совсем вирус.
Во-первых, оригинальная версия Creeper, написанная Томасом, не размножалась: она не создавала копий себя, а перемещалась с одной машины на другую, удаляясь с предыдущей. Это ближе к поведению червя. Впрочем, Рэй Томлинсон — изобретатель электронной почты, также работавший в BBN, — позднее создал модифицированную версию Creeper, уже способную к самовоспроизведению и распространению по сети.
Во-вторых, само слово «вирус» не существовало в компьютерном контексте в 1971 году. Томас экспериментировал с самовоспроизводящимися программами задолго до того, как для таких явлений появился специальный язык. Называть Creeper вирусом ретроспективно — удобное упрощение, но не вполне точное.
Reaper: первый антивирус
Поскольку Creeper распространялся по сети и выводил своё объявление на всё новых машинах, его нужно было как-то остановить. Примерно в 1973 году появилась программа Reaper — первый в истории антивирус. По имеющимся данным, её также создали в BBN.
Reaper делал именно то, что следует из его названия: он перемещался по ARPANET в поисках Creeper и удалял его. Пара Creeper и Reaper стала своеобразной точкой отсчёта компьютерной безопасности — хотя ни одна из программ не создавалась с вредоносной целью.
Значение эксперимента
Creeper важен не как угроза — вредоносной цели у него не было. Его значение в другом: он показал, что программа может самостоятельно перемещаться по сети, и тем самым открыл концептуальный ящик Пандоры. Как только стало ясно, что такое возможно, стало ясно и то, что кто-то может однажды воспользоваться этой возможностью в деструктивных целях.
В 1971 году это был академический эксперимент в крошечной сети с двумя дюжинами узлов. Сегодня принципы, которые Томас исследовал ради любопытства, лежат в основе глобальной индустрии кибербезопасности стоимостью в сотни миллиардов долларов.
Читайте также: Как искусственный интеллект может использоваться в кибератаках
Creeper не был вредоносным и строго говоря не был «вирусом» в современном смысле. Но именно с него принято отсчитывать историю компьютерных угроз — как с первого доказательства того, что программный код способен жить и перемещаться в сети самостоятельно.