За мытьем стен и потолка о ванили я как-то забыл. Между тем, она быстро выкипела. Результат — почерневшая кастрюля. Второй раз я дал маху, и даже третий, если считать мокрый пол.
Что же делать? Задобрить. Испеку пирожки. Так, в холодильнике взять тесто, припасенное с вечера, и плюхнуть на противень. Теперь поставить печь на 375, как раз, чтобы подрумянить. Пирожки соскользнули с противня и упали на дно печи, где превратилась в золу.
И вот входит Марта, вдыхает, бросает взгляд на потолок и стонет: «Не-е-т!»
— Извини…
— Я же тебе сказала…
— Извини, извини, извини…
— Но я же сказала…
Звонок в дверь. Входит Стив Уайт и с британским апломбом произносит: «Послушай, дружище, у тебя что, шинный завод рядом?»
Глава 47
Хакер лег на дно на весь март и начало апреля. Иногда он появлялся ненадолго, чтобы держать свои задания в списке активных. Кажется, он больше не интересовался поисками путей в другие компьютеры и уж вовсе игнорировал новые файлы СОИНЕТ, которые я подготовил. Что с парнем? Если он арестован, то должен исчезнуть, а если занят чем-то другим, то почему тогда то появляется, то исчезает?
Четырнадцатого апреля я работал со своим ЮНИКСом, как вдруг заметил, что в систему вошел Марв Атчли. Странно. Марв сейчас наверху, треплется с программистами. Я зашел в его закуток и посмотрел на терминал. Даже не включен. Кто же использует его задание? Я бегом побежал в комнату к сетевой машине и увидел, что кто-то вошел в нашу систему через порт сети Тимнет.
Я позвонил в Тимнет и Стив быстро проверил линию. «Это из Ганновера. Ты уверен, что это не хакер?»
— Трудно сказать. Я тебе сразу перезвоню.
Преодолев четыре лестничных пролета, я заглянул в конференц-зал. Марв Атчли был здесь и вел оживленную беседу с двадцатью пятью программистами.
Когда я вернулся назад, псевдо-Марв уже отключился. Но ведь он вошел в систему без всяких фокусов, как я успел заметить. Иначе бы сработала моя сигнализация. Кто бы это ни был, он знал пароль Марва.
После окончания собрания я показал распечатку Марву.
— А черт его знает, кто это такой. Я точно никому не давал свой пароль.
— Когда ты последний раз менял его?
— Несколько недель назад.
— Какой у тебя пароль?
— Мессия. Я поменяю его прямо сейчас.
Как же, черт побери, этот хакер добрался до пароля Марва? Я бы заметил, если бы он внедрил троянского коня. Может, он просто угадал слово «мессия»?
Все пароли хранятся зашифрованными. Можно облазить весь компьютер и нигде не обнаружишь слово «Мессия». Оно там зашифровано в виде «пЗкузнуиеве». Не существовало никакого способа восстановить исходный пароль. Но можно попытаться угадать. Допустим, хакер подключился под именем Марв, а затем попробовал пароль «Абажур». Система говорит: «неправильно». Если хакер достаточно упрям, он попробует еще раз с паролем «Абонемент». Опять безуспешно. Дальше и дальше по словарю, наконец, дошел до слова «Мессия» — двери открыты, вход свободен.
На каждую попытку уходит пара секунд. Он устанет бить по клавишам задолго до конца словаря. Такой метод угадывания паролей «в лоб» годится лишь для компьютеров, к которым невозможно подступиться другим способом. Но однажды я заметил, как хакер копировал файл с нашими паролями в свой компьютер. Каким же образом он мог воспользоваться списком с зашифрованными паролями?
В ЮНИКСе для шифрования паролей используется несекретная программа. Любой может иметь копию — ее распространяют через электронные доски объявлений. ЮНИКС стоит на сотнях тысячах машин во всем мире, так что засекретить ее невозможно. Программа шифрования ЮНИКСа работает строго в одном направлении: она переводит английские фразы в тарабарщину. Вам не удастся выполнить обратное действие: перевести зашифрованные пароли в английские фразы.
Однако при помощи этой программы можно зашифровать любое слово в словаре. Значит, сначала шифруем весь словарь. Теперь совсем просто — нужно сравнить результат с содержимым файла паролей. Похоже, именно так хакер и угадывал пароли.
Он запросто мог у себя в Ганновере слово за словом обработать этой программой весь словарь и получить список всех английских слов в зашифрованном виде. Процедура могла выглядеть следующим образом.
«Абажур» зашифровался как «ви4зксвлсфз». Совпадает это с «пЗкузнуиеве»? Нет, — тогда далее, пробовать следующее слово из словаря.
«Абонемент» шифруется как «ззолегсклг8». Опять не совпадает с «пЗкузнуиеве». Идем далее, к следующему слову.
В конце концов программа обнаружит, что слово «Мессия» шифруется как «пЗкузнуиеве». Когда выпадет «совпало», программа распечатывает найденное слово. Причем этот способ работает только тогда, когда в качестве паролей употребляются правильные английские слова.