Программа учета – это системная программа. Чтобы влезть в нее или обойти, нужно либо быть менеджером, либо исхитриться получить право привилегированного доступа к операционной системе. Но как получить это право? Самое простое – войти в компьютер с паролем менеджера системы. Наш пароль не менялся месяцами, но вряд ли кто-то проболтался. Чужаку же никогда его не разгадать: «вайверн» – мифологический крылатый дракон. Но даже если вы и придуритесь под менеджера системы, то вряд ли будете валять дурака с системой учета. Она слишком туманна и, к тому же, плохо задокументирована. Хотя и работает. Стоп! Наша доморощенная программа работает, как надо. Кто-то добавил нового пользователя, не обращаясь к ней. Может, этот кто-то не подозревал о ее существовании. Чужак не знает о наших маленьких хитростях. А наши менеджеры системы и операторы на них собаку съели. Джо Свентеку наверняка все известно. А как насчет чужака – хакера?
У слова «хакер» два разных значения. Приличные люди, компьютерные волшебники, способные заставить работать любую программу. Это не обычные инженеры-программисты, добросовестно отрабатывающие свои сорок часов в неделю, а фанаты, не отходящие от терминала, пока компьютер полностью не удовлетворит их любопытство. Хакер отождествляет себя с компьютером и знает его как самого себя. Именно таким меня считают астрономы: «Клифф не столько астроном, сколько хакер!» (Программистский народец, конечно, придерживается иной точки зрения: «Клифф не силен в программировании, зато какой астроном!» Еще в аспирантуре я понял, что лучше всего оставить каждую сторону при своем мнении). Но в общепринятом смысле хакер – это компьютерный взломщик[1 - Каким же словом лучше назвать компьютерного взломщика? Компьютерные волшебники старой закалки гордятся, когда их называют хакерами, и презирают проходимцев, присвоивших это имя. При общении по сетям они называют этих хулиганов века электроники не иначе как кракерами (от англ, cracker – хлопушка) и киберпанками. В Нидерландах существует специальный термин «computervredebreuk», что буквально означает «нарушение компьютерного мира». Хотите знать мое мнение? Такого варвара, как компьютерный взломщик, я могу обозвать только непарламентарно: «злодей», «негодяй» и «свинья».]. В 1982 году, когда группа студентов использовала терминалы, модемы и телефонные линии междугородней связи для взлома Компьютеров в Лос Аламосе и в Колумбийском Медицинском Центре, всей околокомпьютерной публике стало известно об уязвимости сетевых систем.
Частенько до меня доходят слухи о вторжении в чью-то систему; жертвами обычно оказываются университеты, а виновниками – студенты или подростки. «Способные студенты вломились в компьютер, хранящий совершенно секретные сведения». Обычно такие шалости не причиняют существенного вреда и списываются на хакерские проказы. Могли бы события, показанные в фильме «Военные игры», произойти в действительности – мог бы хакер-подросток взломать пентагоновский компьютер и спровоцировать войну? Сомневаюсь. Нетрудно напакостить в университетском компьютере в котором напрочь отсутствует система защиты. В конце концов, коллеги редко запирают двери друг от друга. А вот военные системы – другое дело. Попасть в них так же трудно, как и на военные базы. И даже проникнув в военный компьютер, войну не развяжешь. Такие решения, я думаю, принимаются не компьютером.
Машины лаборатории Лоуренса в Беркли не оборудованы какой-то особенной системой защиты, но от нас требуют держать чужаков подальше и пресекать злоупотребления. Мы не боимся, что сломают нашу систему, а просто не хотим, чтобы наше финансовое агентство и департамент энергетики наехали на нас. Если они потребуют выкрасить компьютеры в защитный цвет, то закажем кисти.
Чтобы не лишать счастья общения с компьютером наших друзей-ученых, обитающих по соседству, мы завели несколько учетных записей для гостей. Зная гостевые учетное имя и пароль, любой может пользоваться компьютером, пока на счет за машинное время не набежит несколько долларов. Хакер запросто может проникнуть в систему – дверь широко открыта. Однако много он не наработает – время ограничено примерно одной минутой. И все же, можно успеть полазить по системе, считать несколько файлов общего доступа и выяснить, кто еще подключился. Мы полагали, что небольшая брешь в системе защиты окупается прочими удобствами.
Осмысливая происходящее, я пришел к выводу, что здесь вряд ли пахнет хакерством. Кому интересна физика частиц? Большинство наших ученых просто сомлеют от счастья, если кто со стороны удосужится прочитать их опусы. Хакеру здесь просто нечего ловить – у нас нет ни суперкомпьютеров, ни тайн сексуальной индустрии, ни других секретных сведений.
За пятьдесят миль отсюда располагалась Лоуренсовская Ливерморская Лаборатория, выполнявшая секретные работы по разработке ядерных бомб и проекту Звездных Войн. Вот где непаханое поле для хакера! Но не подключенные ни к одной из сетей ливерморские компьютеры не допускали никакого внешнего доступа: полная изоляция.
Если кто-то вломится в нашу систему, что он сможет натворить? Ну, считать файлы общего доступа. Многие из наших ученых хранят в них свои данные, там же находится большая часть программного обеспечения. Хотя они и называются файлами общего доступа, чужак не может лазить по ним. Некоторые данные защищены законами о частной собственности или авторских правах, например, наша библиотека программ или программа обработки слов. Другие базы данных тоже не предназначены для широкого использования: списки адресов сотрудников лаборатории и незавершенные отчеты по текущим работам. Все это, правда, вряд ли может стать объектом охоты, поэтому ни о каком засекречивании сроду речи не было. Меня не трогает, если кто-то из гостей-пользователей узнает чей-то телефонный номер. Есть проблема посерьезнее: может ли чужак стать суперпользователем?
Чтобы одновременно удовлетворить потребности около сотни пользователей, операционная система разделяет аппаратные ресурсы (как многоквартирный дом разделяется на отдельные квартиры). Жизнь в каждой квартире течет независимо от соседей. Один квартиросъемщик смотрит телевизор, другой болтает по телефону, а третий моет посуду. И все это одновременно. Необходимые для этого средства – электроэнергия, телефонная связь и вода – предоставляются комплексом коммунального обслуживания. И каждый квартиросъемщик ворчит по поводу плохого обслуживания и непомерной квартплаты. Так же компьютеры: один пользователь может решать задачу, другой – слать сообщение по электронной почте, а третий – рисовать картинки. Компьютерные ресурсы предоставляются системным программным обеспечением и операционной системой; и каждый пользователь нудит о ненадежности программ, путанице в документации и высоких расценках на машинное время.
Чтобы никто не совал нос в чужие дела, в двери каждой квартиры имеется замок, а у каждого квартиросъемщика – ключ. Нельзя зайти в чужую квартиру без ключа. Если стены толстые, то возня одного соседа не докучает другому. Право на «частную жизнь» в компьютере обеспечивает операционная система. Нельзя забраться в чужую область памяти, не зная пароля. И если операционная система позаботится о правильном распределении ресурсов, то пользовательские программы не будут мешать друг другу.
Но стены домов не такие толстые, чтобы голоса подвыпивших приятелей соседа не будили меня. А мой компьютер взбрыкивает, если одновременно на нем работает больше сотни человек. Как дому нужен управляющий, так и нашим компьютерам необходим менеджер системы, или суперпользователь. У управляющего есть специальный ключ-отмычка, которым он может открыть дверь в любую квартиру. Менеджер может прочитать или изменить в компьютере любую программу или данные, обойти защиту операционной системы и орудовать в компьютере на всю катушку. Такая власть необходима для обслуживания системного программного обеспечения («Разберись с редактором!»), для регулировки быстродействия системы («Что-то сегодня ни шатко, ни валко») и для того, чтобы люди могли выполнять свои задания («Эй, выдай Барбаре отчетец»). Привилегированные пользователи учатся ступать осторожно. Они не могут особо напортить, если их привилегии распространяются только на чтение файла. Но лицензия суперпользователя позволяет вносить изменения в любую часть системы – от его плюх не увернешься! Суперпользователь всемогущ. Когда наступает момент перехода на зимнее время, он переводит системные часы. Новый дисковый накопитель? Только он может поставить нужный драйвер. В различных операционных системах программисты с привилегированным доступом называются по-разному: суперпользователь, корень, менеджер системы. Их пароли и учетные имена ревниво скрываются от посторонних.
А что, если чужак-хакер получит в нашей системе привилегированный статус? Понятно, тогда он может открыть учетную запись для нового пользователя. Хакер, обладающий привилегиями суперпользователя, мог бы держать в заложниках кого угодно. Имея отмычку к системе, он мог бы вырубить ее, когда вздумается, или заставить валять дурака. Он мог бы читать, записывать или изменять любые данные в памяти компьютера. Ни один пользовательский файл не был бы закрыт для него. Системные файлы тоже были бы у его ног – он мог бы читать сообщения электронной почты до их доставки. Он мог бы даже изменить содержимое файлов учета, чтобы замести следы.
Лектор монотонно бубнил о гравитационных волнах. Внезапно я проснулся. Я все понял! Я подождал, пока слушатели задавали вопросы, сам что-то спросил, вскочил на велосипед и помчался в Лабораторию Лоуренса в Беркли. Хакер-суперпользователь! Кто-то вломился в нашу систему, завладел ключом-отмычкой, присвоил себе привилегии и превратился в суперпользователя. Но кто? Как? Когда? И, самое главное, зачем?
Глава 3
От Калифорнийского Университета до Лаборатории Беркли всего четверть мили, но склон холма, по которому проходит Циклотрон Роуд, настолько крут, что на велосипеде это расстояние можно покрыть лишь за пятнадцать минут. На моей развалине не нашлось нужной передачи, поэтому последние несколько сотен футов я почти полз на коленях. Наш компьютерный центр пристроился между тремя ускорителями частиц: 184-дюймовым циклотроном (на котором Эрнест Лоуренс впервые получил миллиграмм чистого, способного к расщеплению урана), Беватроном (при помощи которого был открыт антипротон), и Хайлаком (местом рождения полудюжины новых элементов).
Теперь эти ускорители уже устарели: их мегаэлектронвольты – вчерашний день, а бал правят гигаэлектронвольтные ускорители со встречными пучками. На наших старушках уже не получишь Нобелевскую премию, однако ученые по полгода ждут свидания с ними. Изучать на них ядерные частицы и исследовать новые формы материи с экзотическими названиями (например, кварк-глуонные плазмы или пионовые конденсаты) – одно удовольствие. А когда физикам не надо проводить свои эксперименты, потоки частиц используются медиками и биологами, в частности, для исследований в области терапии раковых заболеваний.
В разгар работ по Манхэттенскому проекту во время Второй мировой войны Лоуренсовские циклотроны были единственным средством измерения сечений реакций ядерного взаимодействия и взаимодействия урановых атомов. Естественно, лаборатория была окутана завесой секретности: она служила прототипом заводов по производству атомных бомб.
В 50-е годы все работы лаборатории Лоуренса в Беркли оставались засекреченными, пока Эдвард Теллер не основал Лоуренсовскую Ливерморскую Лабораторию, расположенную в часе езды отсюда. Все секретные работы были переданы в Ливермор, а несекретные – остались в Беркли. Может быть, специально, чтобы запутать врагов, обе лаборатории получили имя первого нобелевского лауреата из Калифорнии. Кроме того, обе они занимались исследованиями в области физики и финансировались Комиссией по атомной энергии – детищем Министерства Энергетики. Это почти все, что было у них общего. Для работы в лаборатории Беркли не нужен специальный допуск: здесь не проводились закрытые работы, да и военные контракты на горизонте не маячили. Ливермор, напротив, являлся центром разработки ядерных бомб и лазерного оружия по программе Звездных Войн. Неподходящее местечко для длинноволосого бывшего хиппи. Если лаборатория Беркли едва сводила концы с концами за счет ассигнований на науку и нерегулярных субсидий из университетских фондов, то Ливерморская – постоянно разрасталась. С момента создания Теллером водородной бомбы для всех проводимых в Ливерморе секретных исследований всегда находились средства.
В Беркли больше не велось работ по щедро финансируемым военным программам. Наградой за это была открытость. Нас тянуло к изучению любопытных явлений, и мы всегда могли публиковать результаты. Ускорители наши казались детскими игрушками по сравнению с чудищами швейцарского ЦЕРНа или расположенной в Иллинойсе Лаборатории Ферми. Но они давали громадное количество информации, которую приходилось обрабатывать на солидных компьютерах. Мы с гордостью смотрели на физиков, анализирующих на наших компьютерах информацию, полученную на других ускорителях.
По вычислительной мощности ливерморские компьютеры казались гигантами по сравнению с нашими (самые большие, самые быстрые и самые дорогие Крэи). Они помогали выяснить, что происходит в первые наносекунды термоядерного взрыва.
Из-за закрытости исследований большая часть ливерморских компьютеров была изолирована. У них было также несколько несекретных систем для обычных научных расчетов. Но все, что касалось секретных работ – не для простого смертного. Невозможно было также ввести извне данные в ливерморскую систему. Например, разработчик взрывателей для ядерных бомб, пользующийся засекреченными компьютерами, должен был являться в лабораторию собственной персоной с магнитной лентой подмышкой. Он не мог пользоваться ни одной из сетей, пересекающих страну вдоль и поперек, не мог подключаться и гонять свою программу с домашнего терминала. Такова цена жизни в засекреченном мире.
Хотя по вычислительной мощности наши компьютеры были несравнимы с ливерморскими, они вовсе не были увальнями. Наш ВАКС – быстродействующий, удобный и популярный среди физиков компьютер. Нам не было нужды изобретать собственные операционные системы – мы купили готовую – VMS фирмы ДЕК – и содрали в университете ЮНИКС. Наши компьютеры можно было включать в какую угодно сеть и обеспечивать доступ к ним из любой точки земного шара. Когда в полночь решение задачи вдруг начинает вырисовываться, то я спокойно набираю телефон лабораторного компьютера с домашнего терминала, а не кручу педали велосипеда вверх по склону.
Но в данный момент я все же крутил педали и мчался на работу, мучаясь вопросом: «Неужели хакер?» Этим можно было объяснить все казусы с системой учета. Если бы чужак подобрал ключи к операционной системе и затребовал привилегии суперпользователя, то он мог бы по своему выбору стирать учетные записи. Или, еще хуже, мог начать калечить другие компьютеры. Я поставил велосипед и побежал через лабиринт кабинетиков. Было далеко за пять и основной народ уже сидел по домам. Что же делать, если кто-то лазает по системе? Ну, можно послать по подозрительному адресу электронную почту: «Эй, вы вправду Джо Свентек?» Можно заблокировать доступ Джо к компьютеру и посмотреть, что будет. От размышлений о хакерстве меня отвлекла лежащая на столе записка: астрономической группе необходимо знать, насколько ухудшится качество получаемых с телескопа изображений, если снизить требования к зеркалам. Это обещало вечер программных моделей. Хотя официально я больше с телескопами не работал, но слаб человек… И я вывел все графики.
На следующее утро я бурно доложил Дэйву Клэвлэнду: «Даю голову на отсечение, это хакер.» Дэйв сел, закрыл глаза и произнес: «Да, голову, оно конечно…»
Я почти слышал его мысли. Дэйв никогда не затягивал гайки в системе защиты, полагая, что физикам это не понравится и они поищут другое местечко. Он держал систему открытой, посвящая все время улучшению программ, а не навешиванию замков. Неужели кто-то злоупотребил его доверием?
Моим новым боссом был Марв Атчли. Тихий и чувствительный, Марв не мог держать народ в узде и распустил всю группу. Марк был полной противоположностью Рою Керту. В свои пятьдесят пять Рой выглядел как Родней Дангерфилд в роли профессора колледжа. Он занимался физикой в лучших традициях Лоуренсовской лаборатории, сталкивая между собой протоны и антипротоны и разглядывая оставшийся после этого мусор. Рой обращался со студентами и персоналом, как со своими частицами и античастицами: выстраивал их в очередь, накачивал и затем выстреливал ими в неподвижные объекты. Для исследований ему требовались большие вычислительные мощности – в лаборатории происходили миллионы событий всякий раз, когда включался ускоритель. Долгие задержки и долгие извинения настроили его против компьютерщиков, поэтому когда я стучал в дверь, то убеждал себя, что буду говорить только о квантовой физике и уж никак не о компьютерах. Мы с Дэйвом могли предугадать реакцию Роя на возникшую проблему: «Какого черта оставляете двери открытыми?»
Да, реакцию босса можно предугадать, но как на нее ответить? Первое, что пришло в голову Дэйву – это заблокировать чертов доступ и забыть обо всем. Мне же казалось, что следует попугать этого хулигана: пригрозить вызвать родителей. Вламывается-то, скорее всего, какой-нибудь студентишка из ближайшего университета. Но мы не были до конца уверены, что к нам вообще кто-то вламывается. Да, это объясняло некоторые неполадки в системе учета – кто-то узнает пароль менеджера системы, подключается к нашей машине, вводит нового пользователя и сует нос в учетную систему. Но зачем пользоваться новым именем, если уже есть доступ к системе на правах менеджера?
Наш начальничек не любит плохих новостей, но все же ему пришлось, тяжело вздохнув, встретиться с нами во время обеда. У нас не было прямых доказательств хакерства – просто логические умозаключения, выведенные из обстоятельств: налицо банальная ошибка в системе учета. Если была попытка взлома, то неизвестно, как далеко она зашла. Не знаем мы также, кто взломщик. Рой Керт оборвал нас сразу же: «Почему я должен терять из-за вас время? Вы еще ничего не знаете. Разберитесь и представьте доказательства.»
Итак, как же разоблачить хакера? Найти хулигана, использующего атрибуты доступа Свентека, и проследить за его подключениями. Я провел весь четверг, беря на карандаш всех, кто подключался к компьютеру. Даже написал программу, заставляющую пищать мой терминал в начале каждого сеанса связи. Я не мог знать, что делает каждый пользователь, но я мог видеть его имя. Каждые две минуты мой терминал взвизгивал, и я смотрел, кто подключился. Вот несколько моих приятелей-астрономов, работающих над научным отчетом, вот аспиранты, корпящие над своими диссертациями. Больше всего подключалось чужаков, и я спрашивал себя: «Как определить, кто из них может быть хакером?»
В этот день в 12–33 подключился Свентек. Я почувствовал, как в мою кровь обильными порциями поступает адреналин. Затем – полный упадок сил, когда он исчез. Единственное, что осталось – это идентификатор его терминала: он использовал терминальный порт tt23. Задача – определить физические провода, соответствующие логическому имени tt23. Терминалам нашей лаборатории и модемам, подключаемым через телефонные линии, присвоены метки «tt», а сетевым подключениям – «nt». До меня дошло, что подключался этот парень либо из лаборатории, либо по телефонному каналу через модем. Теоретически можно было проследить всю цепочку – от компьютера до человека на противоположном конце. Но чтобы проверить все и всех, потребовалось бы месяцев шесть. Первоочередной задачей было выявить подключения из здания. Я подозревал, что использовался модем, связанный по телефонному каналу, но нельзя исключать и вход в компьютер из лаборатории. За несколько лет было подсоединено добрых пять сотен терминалов, и только Поль Мюррей во всем этом разбирался. К счастью, доморощенные схемы соединений были задокументированы лучше доморощенных программ.
Поль, один из наших аппаратчиков, как одинокий волк скрывался в логове из проводов. За панелью одного устройства он подсоединял детектор частиц к локальной системе Этернет. Эта система образует электронные конвейеры, объединяющие сотни малых вычислительных машин. Несколько миль оранжевого этернетовского кабеля, извиваясь как змея, пролегало по всей лаборатории. Поль знал каждый его дюйм. Когда я появился, он припаивал какой-то провод и встретил меня потоком отборной ругани. Он отказался помочь, пока я не представлю официального подтверждения, что мне действительно нужны схемы соединений. О, черт! Аппаратчики никогда не интересуются программистскими проблемами, а сами программисты в аппаратуре – ни бум-бум. Но я-то паять умел, поэтому взял его запасной паяльник и через две минуты, дуя на обожженные пальцы, выслушал скупую похвалу. Наконец, он выбрался из клубка этернетовских кабелей и показал мне все коммутационное хозяйство лаборатории. Здесь были телефоны, системы внутренней связи, радиоаппаратура и компьютеры, и все это – в переплетении кабелей, проводов, волоконно-оптических линий. Подозрительный порт tt23 входил в эту комнату, и вторичный компьютер подключал его к одному из тысячи возможных терминалов. Любому, кто наберет номер лаборатории, произвольным образом назначался какой-нибудь юниксовский порт. В следующий раз, когда я увижу что-то подозрительное, я должен буду сломя голову нестись к коммутатору и определять соединение, исследуя вторичный компьютер. Если соединение будет разорвано до того, как я успею, то, считайте, ничего не вышло. И даже в случае успеха я смогу лишь определить пару проводов, идущих в лабораторию. До хакера еще далеко.
По счастливому стечению обстоятельств дневное подключение не прошло бесследно. Поль набирал статистику о том, сколько человек использовало коммутатор. Случайно он записал номера портов для всех подключений за последний месяц. Так как я знал время, когда Свентек использовал порт tt23, то можно было выяснить, как он подключался. Распечатка статистики показала, что сеанс, начавшийся в 12–33, длился одну минуту, а темп передачи данных составлял 1200 Бод. Это уже кое-что. Темп передачи – это скорость, с какой данные передаются по проводу. 1200 Бод – это 120 символов в секунду, т. е. несколько страниц текста в минуту. Подключаемые к телефонной линии модемы работают именно с темпом 1200 Бод. А для терминалов лаборатории используются более высокие значения – 9600 или даже 19200 Бод. Только человек, связывающийся с компьютером через модем по телефону, вынужден гонять свои данные через такую тонкую соломинку. Но именно анонимность и удобство телефонной связи наиболее привлекательны для посторонних пользователей. Так! Концы начинают сходиться. Я еще не мог доказать, что с системой балуется хакер, но уже видел, что кто-то подключается к ней через телефонный канал и использует атрибуты доступа Свентека.
Конечно, подключение с темпом передачи 1200 Бод – еще не доказательство факта хакерства. Все это неубедительно для босса. Я должен найти явное свидетельство хакерства. Но как?
Рой Керт однажды показал мне детектор частиц высоких энергий, подсоединенный к Беватрону: они зафиксировали огромное количество взаимодействий на субатомном уровне, которые в 99,99 процентах случаев можно было объяснить, применяя законы физики. Если потратить время, исследуя след каждой частицы, то можно прийти к заключению, что вообще-то все частицы подчиняются известным физическим законам и что открытие не состоялось. Другой подход – отбросить все объяснимые взаимодействия и заняться только теми, которые не подчиняются каноническим правилам. Астрономы – дальние родственники физиков – действуют аналогично. Успех им приносит изучение аномалий – квазаров, пульсаров, гравитационных линз – всего, что не укладывается в рамки построенных моделей. Знание статистики распределения кратеров на Меркурии позволяет вычислить, с какой частотой эта планета подвергалась бомбардировке на ранних стадиях развития солнечной системы. Но обратите внимание на несколько кратеров, пересекаемых скрепами и кряжами, и вы узнаете, как сжималась планета в процессе охлаждения в первый миллиард лет. Собирайте информацию и отбрасывайте все ожидаемое. Все, что осталось – предмет для размышлений.
Так, теперь попробуем применить все эти рассуждения и вычислить нежданного гостя. На моем столе стоял терминал, кроме того, я мог позаимствовать еще парочку. Предположим, что я пытаюсь контролировать все пути, ведущие в компьютерный центр. В систему входит примерно пятьсот линий подключения. Большая их часть работает с темпом передачи 9600 Бод, что соответствует приблизительно ста пятидесяти словам в секунду. Если одновременно работает половина линий, то мне придется читать свыше десяти тысяч страниц каждую минуту. Да, так ничего не выйдет.
Но быстродействующие линии связаны только с лабораторными терминалами. Мы уже отследили одно подозрительное подключение с темпом передачи 1200 Бод. Таких линий гораздо меньше и работают они намного медленнее. Пятьдесят линий с темпом 1200 Бод дадут сто страниц текста в минуту – все еще слишком быстро, чтобы можно было читать с экрана. Я не могу одновременно наблюдать за работой пятидесяти человек, но могу сделать распечатки всех интерактивных сеансов связи и потом прочесть. Кроме того, распечатка – уже доказательство, что некто вмешивается в работу системы; если же не обнаружится ничего подозрительного, то можно будет поставить точку. Тогда мне нужно будет фиксировать каждое подключение с темпом передачи 1200 Бод. Технически это вряд ли возможно, поскольку я не знаю, по какому телефону будет подключаться хакер: придется контролировать примерно четыре дюжины каналов. И еще меня беспокоит этическая сторона. Имею ли я право следить за потоками информации, проходящими через наши каналы? Моя подружка Марта как раз заканчивала юридический колледж. За пиццей мы говорили на тему привлечения к ответственности взломщиков компьютеров. Я поинтересовался, будут ли проблемы, если я «прослушаю» потоки чужих данных.
– Значит, так, – невнятно проговорила она, пытаясь жевать и объяснять одновременно, – ты – не фараон, поэтому тебе не нужен ордер на обыск. Худшее, что тебя ждет – это обвинение в нарушении прав личности. Вряд ли люди, подключающиеся к компьютеру через телефонный канал, будут требовать, чтобы владелец системы не заглядывал к ним через плечо. Поэтому слушай на здоровье.
С чистой совестью я начал создание системы контроля. У нас пятьдесят линий с темпом передачи 1200 Бод. Хакер может воспользоваться любой из них. У меня не было оборудования, чтобы регистрировать информационные потоки.
Но есть простой способ зафиксировать хакерскую активность: так переделать операционную систему, чтобы при любом подозрительном подключении сама система фиксировала бы каждое нажатие клавиши на клавиатуре. Чертовски соблазнительно. Все, что потребуется – добавить несколько строк в программу «демон».
Демоны – это программы, копирующие данные из внешнего мира в операционную систему – глаза и уши ЮНИКСа. (Древнегреческие демоны – низшие божества – что-то среднее между богами и людьми. В этом смысле мои демоны были чем-то средним между богоподобной операционной системой и низшим миром, в котором живут диски и терминалы.) Я могу раскурочить демона и устроить этакий тройник: символы, введенные с клавиатуры хакера, будут одновременно поступать и в операционную систему, и на принтер. Просто и элегантно.
Вэйн напутствовал меня: «Если ты напортачишь, то развалишь всю систему. Превратишь ее в кучу навоза – и ройся потом. Только и радости, что увидишь на распечатке „Аварийное прерывание ядра“. Потом не рыдай у меня на плече!» Тут подскочил Дэйв: «Сынок, если твой хакер хоть что-то петрит в ЮНИКСе, то он просто обязан заметить изменения в демонах!»
Убедительно. Любой дока-программист заметит изменения в операционной системе. Как только хакер почует контроль, он превратит наши базы данных в груду мусора и слиняет. Перехваты следует производить так, чтобы их никто не засек. Невидимая и неслышимая слежка – вот что надо.
Может быть, просто записать поступающую по телефонным каналам информацию на магнитную ленту? Нет, магнитофоны не годятся, слишком много хлопот. Запись придется воспроизводить, когда хакер уже отключится. И, наконец, где я найду пятьдесят магнитофонов?! Единственный участок тракта, где можно перехватить поток данных – между модемом и компьютером. Модемы преобразуют телефонные гудки в электрические импульсы, понятные для наших компьютеров и демонов. Модемные шины представляют собой плоские двадцатипятипроводные кабели, проложенные под фальшполом коммутатора. К ним можно подключить принтер или персональный компьютер, регистрирующий каждый передаваемый через шины символ.
Потребуется всего-то пятьдесят телетайпов, принтеров и портативных компьютеров. Несколько телетайпов достать легко – обратиться в отдел снабжения. Портативные терминалы можно выклянчить у Дэйва, Вэйна и остальных ребят. В пятницу вечером мы подняли из коммутаторной дюжину мониторов. Остальные тридцать можно заполучить, когда все уйдут. Я бродил среди столов секретарш, заимствуя персональные терминалы. В понедельник, конечно, будет скандальчик, но легче после извиниться, чем сперва добиться.
Уставленный четырьмя дюжинами стареньких телетайпов и портативных терминалов пол воплощал ночной кошмар компьютерщика. Я дремал среди всего этого и мурлыкал колыбельную принтерам и компьютерам. Каждый из них перехватывал данные на отдельном канале, и всякий раз, когда кто-то подключался, я вздрагивал от треска телетайпов. Каждые полчаса один из мониторов сообщал, что кончилась бумага или дисковое пространство, поэтому мне приходилось устанавливать новый рулон и перезагружаться.
В субботу утром я проснулся оттого, что Рой Керт тряс меня за плечо: «Ну, где же твой хакер?» Запах от меня шел, как от козла: я все еще был в спальном мешке. Я глупо моргал и бормотал, что надо просмотреть пятьдесят стопок распечаток.
Он фыркнул: «Ну, прежде, чем погрузишь свой нос в эти бумаги, верни принтеры. Ты, как маньяк, таскал оборудование. Думаешь, здесь твой личный огород?»
С осоловелыми глазами я поволок принтеры законным владельцам. На первых сорока девяти не было ничего интересного. Из пятидесятого свисало восемьдесят футов распечатки. Ночью некто пытался пробраться через дыру в операционной системе.
Глава 4
Хакер лазал по нашей системе три часа. Втайне мой Декрайтер записал весь сеанс на восьмидесяти футах бумаги. Зафиксирована была каждая команда, каждая ошибка набора с клавиатуры и все реакции компьютера. Этот принтер контролировал телефонный канал из Тимнета. Я не знал, что несколько наших линий с темпом передачи 1200 Бод не связаны с модемами, а идут из Тимнета – телекоммуникационной компании, обеспечивающей компьютерную связь по всему миру.