Джон Маркоф - Хакеры (takedown)
В отчете для встречи гарвардских однокашников на 25-летие выпуска Моррис написал: «Давным-давно я дал себе слово, что научусь читать по-гречески, узнаю, как движутся планеты по своим орбитам и как расшифровать секретные коды. И я очень близко подошел к тому, чтобы выполнить все три обещания». На четвертом десятке он самоучкой выучил древнегреческий. Одним из проектов Bell Labs, которому он посвятил почти год, была программа расчета планетарных орбит. Но третья цель оказалось ближе всего к его работой.
В 1964 году Боб одним из первых в Bell Labs поставил дома терминал. Его модем работал с мучительно медленной скоростью 135 бит/сек, раз в 10 медленней, чем самые медленные из распространенных сегодня модемов. Процесс получения и передачи информации оставлял достаточно времени для того, чтобы пойти выпить чашечку кофе, прежде чем модем снова заурчит.
Сам терминал, IBM 2741, выглядел как здоровенное устройство с печатным механизмом типа «ромашки». Печатное устройство, возвышалось на пьедестале, набитом электроникой. Потом появился терминал немного побыстрее, Teletype Model 37, уродливая штуковина размером с полстола. В терминале Teletype, под клавишами, находилось механическое кодирующее устройство типа сетки из стерженьков, которая преобразовывала нажатия клавиш в двоичные сигналы, через модем поступающие на центральный компьютер Bell Labs. Всем сотрудникам Bell, у кого стояли терминалы, пришлось чертовски близко познакомиться с ремонтником. Каждый его визит заканчивался смазыванием кодирующего механизма; когда терминалом после этого пользовались, свежее машинное масло часто капало пользователю на ноги.
В начале 60-х годов компьютерная защита еще не представляла проблемы – достаточно было запирать двери. Впервые она стала предметом обсуждения в связи с появлением многопользовательских компьютеров, работавших в режиме разделения времени. Люди впервые задумались о совместном использовании компьютерной мощности. С распространением разделения времени возникла необходимость учета и каких-то механизмов защиты от несанкционированного доступа.
Система Multics была одной из первых операционных систем режима мультидоступа, в которой серьезное внимание уделялось защите. Главной задачей Multics, совместного проекта МГГ, Bell Labs и General Electric, было сделать мультидоступ коммерчески реализуемым. В идеале Multics должна была стать инструментом, возможности которого далеко превосходят возможности существующих коммерческих систем разделения времени.
У первых хакеров (которые сами себя так окрестили) из МГГ, которым претила компьютерная защита и прочие штучки, препятствующие совместному пользованию информацией и свободному доступу к компьютерам, с самого начала был зуб на Multics. Они частенько пытались найти управу на эту систему, и временами им это удавалось.
В конечном счете усовершенствование Multics дошло до той точки, где система становится слишком громоздкой. Как много лет спустя опишет это Моррис, «продолжать ее совершенствовать было все равно, что пинками катить дохлого кита по пляжу». В начале 196? года Bell Labs вышли из работы над проектом, после чего Multics была реализована на вычислительных машинах фирмы Honeywell Computer Systems и устанавливалась в качестве операционной системы на компьютерах Министерства обороны.
Однако в 70-е годы «команды тигров» – группы специалистов, испытывающих защиту компьютеров Министерства обороны, в ходе скрупулезных тестов все-таки взломали Multics. Тигры даже взломали журнал доступа, модифицировав его так, что не осталось следов проникновения в компьютер. Экспериментальный компьютерный взлом как способ совершенствования защиты широко использовался людьми, работавшими в этой области. У «тигров» был доступ, как минимум ограниченный, к машине-мишени. Это одно дело. Но вот как быть с теми, кто мечтает взломать компьютер, не имея санкционированного доступа? Боб Моррис и Кен Томпсон, еще один талантливый компьютерщик из Bell Labs, постоянно размышляли над этой перспективой. Первым делом взломщик, разумеется, должен узнать, с каких телефонных номеров осуществляется вход в компьютер, вероятно, используя программу поиска, которая последовательно будет набирать все возможные номера. Спустя 10 лет для двенадцатилетних хакеров стало обычным делом писать для этого программы наподобие тех, что они видели в фильме «Военные игры». Если хакерский модем обнаруживал другой компьютер, подавая сигнал высоким писком, следующим шагом было подключиться и идентифицировать себя, сообщив зарегистрированное имя и пароль. Если у хакера не было никакой внутренней информации, то войти с правильным паролем было самым трудным. Но как только он подключался, то мог, в зависимости от уровня полученных привилегий, хозяйничать в других компьютерах сети.
Интерес Боба к компьютерной защите рос параллельно разработке системы UNIX, преемнице Multics. Само название UNIX говорило о многом. В то время как Multics была сложной и ее название подразумевало предоставление вычислительных и информационных услуг в мультиплексном режиме, название UNIX подразумевало простоту и однородность вычислительного оборудования. UNIX возникла как ответ на Multics, ее разрабатывали для небольших компьютеров. Пользователям она полюбилась по двум простым причинам: ее гибкость позволяла им перекраивать ее, подгоняя под потребности любой программы, с которой они работали, и, во-вторых, она могла работать на разных компьютерных платформах. Последующие версии этой системы незначительно усложнялись по мере того, как прибавлялись новые возможности, но каждая новая редакция UNIX сохраняла верность принципам простоты. UNIX принесла славу нескольким программистам Bell Labs и стала неотъемлемой принадлежностью университетов и исследовательских центров всего мира.
Команда разработчиков UNIX состояла из двух программистов – Кена Томпсона и Денниса Ритчи – и их окружения. Работа Боба над UNIX включала математические функции ПО. Что-нибудь простенькое, типа запроса «Который час?», влекло за собой вычисления. Но его основной вклад состоял в создании кодирующего алгоритма, процедуры, которая превращала некодифицированный текст файла в закодированный текст.
Когда Боб написал программу crypt, его влюбленность в тайнопись стала еще сильнее. Теория чисел, которой он в свое время занимался, включала изучение простых чисел и генерирование случайных чисел. Криптография – это естественное дополнение к теории чисел, поскольку требует превращения текста в код путем манипулирования символами. Но для того чтобы стать незаурядным шифровальщиком, нужны еще и навыки лингвиста, отменная интуиция и недюжинное воображение. Все это у Боба было. Кроме того, он умел разглядеть бреши там, где остальные видели монолитную стену.