Книги

Яйцо кукушки. История разоблачения легендарного хакера

22
18
20
22
24
26
28
30

— Мы наблюдали работу человека, никогда не пользовавшегося ЮНИКС-Беркли.

Он глубоко вздохнул и прошептал: «Неуч.»

Вэйна совершенно не интересовал ЮНИКС. Кроме того, он чувствовал, что хакер ничего не мог почерпнуть из файла паролей: «Послушайте, совершенно невероятно, чтобы хакер мог что-нибудь расшифровать. Единственно, что он может узнать — наши имена. К чему беспокоиться?»

Поразмыслим… Пароли — это краеугольный камень системы защиты больших вычислительных машин. Персональные компьютеры не нуждаются в паролях: здесь только один пользователь. Каждый, сидящий за клавиатурой, имеет доступ к любой программе. Но когда десять или двадцать человек одновременно используют одну и ту же систему, необходимы гарантии, что сидящий за терминалом человек — не самозванец. Пароли, как и электронная подпись, удостоверяют подлинность транзакции. Работа автоматических машин для подсчета голосов, пользование телефонными кредитными карточками, работа систем перевода электронных денег и даже некоторых телефонных автоответчиков зависит от паролей. «Срисовав» пароли или научившись их подделывать, хакер может создать подложное состояние, пользоваться бесплатно разного рода услугами или покрывать чеки при отсутствии средств на счету. Когда деньги хранятся в несгораемых шкафах, то медвежатники подбирают комбинацию к замку. Теперь, когда средства защиты — это просто биты в памяти компьютера, взломщики охотятся за паролями. Если на компьютере работают пятьдесят или сто пользователей, можно просто хранить пароли в отдельном файле. При подключении надо всего лишь запросить пароль и сравнить его с находящимся в файле образцом. Если вокруг друзья — проблем не возникает. Но как сделать, чтобы кто-нибудь украдкой не заглянул в файл паролей? Ну, надо установить такую защиту, чтобы прочесть его могла только операционная система.

Даже если защитить файл паролей, следует учитывать, что через определенные промежутки времени со всех файлов на магнитные ленты снимаются копии возобновления. Даже программист-новичок может прочесть эти ленты на другом компьютере и вывести содержимое файла. Сама по себе защита файла безопасности не обеспечивает. В 1975 году Боб Моррис и Фред Грамп из лаборатории Белл разработали способ защиты паролей, работающий даже при отсутствии защиты файлов. Они использовали шифрование. Если взять, например, пароль «cradle», то компьютер не ограничится простой записью его в файл. ЮНИКС преобразует буквы пароля в шифрограмму: «pn6eewersyq». В файле хранится результат шифрования, а не исходный текст пароля. Файл паролей ЮНИКСа может выглядеть примерно так:

Aaron: fnqs24kcvs

Blacker: anvpqwOxcsr

Blatz: pn6yywersyq

Goldman: mwe785jcy12

Henderson: rp2d9c149b7

Каждому учетному имени соответствует зашифрованный пароль. Вэйн прав, кража файла паролей не даст ничего, кроме списка фамилий.

Компьютерная программа, преобразующая слово «cradle» в последовательность символов «pn6yywersyq», основана на алгоритме мышеловки: «легко зашифровать и трудно расшифровать». Когда Салли Блатц подключается к системе, она вводит с клавиатуры свое учетное имя — Blatz и пароль — cradle. Система преобразует пароль в последовательность pn6yywersyq и сравнивает эту последовательность с содержимым файла паролей. Если они не совпадают, то Салли выкидывают из компьютера. Сравнивается не сам исходный текст пароля, а результат его шифрования. Надежность охраны паролей зависит от надежности функции «мышеловки». Функции мышеловки — это математические капканы: можно выполнить преобразование только в прямом направлении, а не в обратном. Они быстро преобразуют текст в шифр. К этим замкам нельзя подобрать ключи — невозможно заставить работать алгоритм в обратном направлении. Наши мышеловки строятся в соответствии со стандартом шифрования данных (Data Encryption Standard — DES), разработанным фирмой ИБМ и Агентством Национальной Безопасности. До нас дошли слухи, что электронные привидения АНБ ослабили требования этого стандарта. Они «стреножили» его так, чтобы сами они могли «раскалывать» шифрограммы, а простые смертные — нет. Мы также слышали, что существует тщательно скрываемый способ, при помощи которого ребята из АНБ могут раскрывать код и читать зашифрованные сообщения, а никто другой не может.

Криптографическая DES-программа в нашем ЮНИКСе — это программа общего доступа. Баловаться с ней может каждый. АНБ проанализировала ее сильные и слабые стороны, но отчет засекретила. Случайно до нас дошли слухи, что кто-то раскрыл шифр, но они не подтвердились. Пока АНБ не опубликует результаты анализа стандарта шифрования данных, нам не остается ничего другого, как полагать, что наш способ шифрования достаточно надежен.

Вэйн и я наблюдали, как хакер вломился и «украл» наш файл паролей. Теперь он знал имена нескольких сотен научных работников. Он мог с таким же успехом украсть и телефонную книгу — по крайней мере, там есть и адреса. Если только у него дома не стоит Крей, то он не сможет заставить «Мышеловку» работать в обратном направлении, поэтому наши пароли — в безопасности.

Вэйн беспокоился: «Может, парень наткнулся на способ заставить функцию мышеловки работать в обратном направлении. Давай перестрахуемся и сменим наиболее важные пароли.» Мне нечего было возразить. Системный пароль не менялся уже почти два года; он был свидетелем найма и увольнения многих людей. Против смены моего пароля я не возражал; для большей гарантии я использовал на каждом компьютере другой пароль. Если хакер ухитрится узнать мой пароль для компьютера ЮНИКС-4, то все равно не будет знать пароля для остальных.

Прежде, чем отправиться домой, я еще раз просмотрел распечатку вчерашнего сеанса. Зарылся в десять страничек, в которых был ключ к личности хакера, к его адресу и намерениям. Но очень многое не сходилось: мы проследили его связь, идущую через Тимнет в Окленд, штат Калифорния. Дэйв не верит, что он из Беркли. Он скопировал наш файл паролей, но шифрование превратило его в тарабарщину. Что же он делал с зашифрованными паролями?

Это немного напоминало астрономию. Мы наблюдали явление и по некоторым признакам пытались объяснить событие. Правда, астрономы спокойно собирают информацию, замерев под телескопом. Здесь информация появляется спорадически и поступает от неизвестного источника. Вместо термодинамики и оптики я должен теперь разобраться в криптографии и операционных системах. Однако, физическая связь между нашей системой и удаленным терминалом существует. Применив законы физики, можно понять, что происходит. Физика! Вот где ключ. Зафиксируйте наблюдения. Примените физические принципы. Размышляйте, но доверяйте только доказанному. Подойдите к задаче как к физической проблеме.

Пора записать это в дневник.

Глава 8

В среду, 10 сентября, в 7-51 утра хакер опять появился в нашей системе и проработал шесть минут. Достаточно, чтобы вызвать на моем терминале сигнал тревоги, но мало, чтобы принять меры. Эту ночь я провел дома: «Не вылезать из лаборатории пять дней — вполне достаточно», — сказала Марта.