Приложение А. Хакеровский фольклор Мы включили в это приложение несколько легенд и мифов, которые помогают понять значение тех или иных терминов нашего Словаря. Значение слова 'хак' Согласно хакеру MIT Филу Эгри, "никаких 69 различных значении слова 'hack' на самом деле никогда не существовало. Слово 'хак' имеет только одно значение, чрезвычайно тонкое и мудрое. К сожалению, очень трудно точно передать его значение, которое в определенной степени зависит от контекста. Аналогичные трудности возникают, когда речь заходит о значении некоторых других хакеровских словечек, самым известным из которых является слово 'random' - случайный". Для процесса хачинья всегда характерен момент творчества, поэтому независимо от того, хачится 'быстрая и грязная' (см. quick-and-dirty) заплатка или большая программа с тщательно продуманными деталями, которую без преувеличения можно назвать произведением искусства, - в любом случае у человека посвященного не может не вызывать восхищения ловкость и изобретательность решения. Важным, но уже вторичным значением слова 'хак' является 'талантливый розыгрыш с элементами творчества'. Хаки такого типа проще продемонстрировать на примерах, которые не имеют ничего общего с программированием. Конечно, встречаются хаки, которые в равной степени относятся и к программированию, и к 'творческим розыгрышам' (см. статьи нашего Словаря pseudo и kgbvax), но здесь мы хотим рассказать о нескольких чисто хакеровских розыгрышах. В 1961 году студенты Калтеха (Калифорнийского технологического института) в Пасадене схачили футбольный матч на приз 'Розового Мяча' (имеется в виду американский футбол). Один из студентов под видом журналиста взял интервью у главного режиссера этого матча со стороны Вашингтонского университета (непременной составной частью таких матчей являются 'живые картинки' - болельщикам на трибунах раздаются цветные платки и составленные режиссером и отпечатанные на специальных бланках сценарии, по которым в нужный момент поднимается платок нужного цвета; все платки вместе образуют какую-нибудь надпись, лозунг или динамическую картинку) и выпытал у него, как действуют такие сценарии и когда режиссер собирается обедать. Когда ничего не подозревающий режиссер отправился на обед, несколько студентов (они называли себя '14 дьяволов') с помощью отмычки проникли в его кабинет и выкрали оттуда чистый бланк, на котором пишется сценарий. С помощью принтера они сделали 2300 копий этого бланка и на следующий день еще раз воспользовались отмычкой и выкрали уже главный сценарий - несколько огромных плакатов, на которых были нарисованы нужные схемы, которые люди на трибунах должны будут 'рисовать' своими платками. Досконально изучив сценарий, студенты изготовили на приготовленных чистых бланках свой вариант трех 'живых картинок'. Взломав дверь в третий раз, они положили на место главный сценарий и подменили сценарии, которые предназначались людям на трибунах. В результате во время матча вместо ВАШИНГТОН на трибунах появлялась огромная надпись КАЛТЕХ, слово ГОЛОВОРЕЗЫ (прозвище студентов Вашингтонского университета) писалось в обратном порядке, т.е. сзади наперед, а вместо картинки с эмблемой Вашингтона на трибунах вспыхивала эмблема Калтеха (на эмблеме Калифорнийского института изображен бобр, как и на эмблеме MIT, между прочим). После матча состоялась пресс-конференция, на которой представитель преподавателей факультета атлетики Вашингтонского университета сказал: "Кто-то считает, что это гениально, а кто-то - что это просто безобразие". Представитель студентов Вашингтонского университета сказал: "Ничего страшного не произошло, но временами это было просто невероятно. Мы были очень удивлены". Сегодня эта история считается классическим хаком еще и по той причине, в частности, что замена порядка следования элементов в массиве на прямо противоположный является одним из принципов программирования. Еще одна история, рассказывающая о классическом хаке. 20 ноября 1982 года Массачусетский технологический институт (MIT) захачил футбольный матч между Гарвардом и Йелем. Сразу же после того как Гарвард забил второй гол в ворота Йеля в первом периоде, из-под земли рядом с сорокаметровой линией появился маленький черный шарик, поднялся в воздух и на глазах изумленной публики начал раздуваться. С каждой минутой он становился все больше и больше, и вскоре зрители и остолбеневшие игроки смогли увидеть, что на нем написано MIT. Когда диаметр шара достиг двух метров, тот с треском взорвался, испустив облако белого дыма. Позже газета Boston Globe писала: "Если вас интересует истина то в этой игре победителем вышел MIT". Этот трюк был тщательно спланирован и блестяще выполнен членами институтского братства Дельта Kama Эпсилон. Устройство состояло из метеорологического зонда, гидравлического фреонового толкателя, который выталкивал зонд из-под земли, и пылесоса, с помощью которого зонд заполняли газом. Студентам пришлось приходить на Гарвардский стадион между часом ночи и пятью утра восемь раз. Они нашли незадействованную сеть под напряжением 110 вольт, подсоединили к ней провод, который протянули под землей до самой сорокаметровой линии на футбольном поле, и там же закопали свой зонд. Когда подошло время, один из членов братства просто включил рубильник и тем самым замкнул цепь, а второй сунул вилку в розетку. В этом розыгрыше были налицо все характеристики правильного хака: неожиданность, публичность, зрелищность, примитивная технология и полная безопасность. Благодаря ручному управлению для розыгрыша удалось выбрать момент, когда игра была приостановлена (сразу после гола в американском футболе небольшая пауза, или сет офф), поэтому трюк никак не повлиял на конечный результат матча. Кроме того, студенты прикрепили к шару табличку, на которой крупными буквами было написано, что для зрителей шар не представляет собой никакой опасности и что в нем нет взрывчатки. Ректор Гарварда Дерек Бок так прокомментировал это происшествие: "В MIT традиционно собираются очень талантливые люди, и это еще один пример того, что традиция жива". А ректор MIT Пол Е.Грэй сказал: "Все обвинения в мой адрес, что я имел к этому событию какое-то отношение, абсолютно беспочвенны, хотя я очень бы хотел, чтобы это было правдой". Обе вышеизложенные истории абсолютно правдивы, и все желающие могут в этом убедиться, хотя многие другие хакеровские охотничьи истории, рассказываемые в MIT, должны классифицироваться как 'городской фольклор (термин принадлежит Яну Брунвенду; см. FOAF). Возможно, одной из самых известных таких 'охотничьих историй' является легенда о злосчастном трамвайном хаке, который заключался в том, что якобы студенты - будущие машиностроители термитной сваркой приварили трамвай к рельсам. Бесчисленные варианты этой истории рассказывают в MIT начиная с 40-х годов, и практически в каждой из них утверждается, что это было дело рук студентов MIT, за исключением одной-двух, где этот подвиг приписывается студентам из Университета Карнеги - Меллона. Брайен Лейбвиц долгое время собирал все выдуманные и невыдуманные истории о хаках студентов MIT; тех, кому это интересно, отсылаем к знаменитому сборнику The Journal of the Institute for Hacks, Tomfoolery, and Pranks MIT Museum, 1990 год; ISBN 0-917027-03-5). И напоследок мы приводим рассказ о классическом компьютерном хаке. Давным-давно, в середине 70-х годов, системщики группы сопровождения в фирме Motorola обнаружили сравнительно простой способ взламывания безопасности в системе с разделением времени CP-V фирмы Xerox. Обычная пользовательская программа в моменты, когда какая-то ее часть работала в режиме супервизора ('master'), на который не распространялась защита памяти, могла делать с системой что угодно. Например, она могла в таком режиме записать более высокое значение в собственный 'уровень привилегированности' (в обычном состоянии на это поле распространялась защита от записи), и после этого ей сам черт был не брат: она получала доступ ко всей файловой системе, могла ставить заплатки на код самой операционной системы и делать бесчисленное количество еще более интересных вещей. Короче говоря, дверь в амбар оставалась открытой. Motorola в соответствии с общепринятыми правилами тут же по официальным каналам сообщила об этом в Xerox как об 'ошибке первого уровня', что соответствует понятию 'баг, которого нужно было выловить еще вчера'. Более того, зная, что каждое сообщение об ошибке в системе заносится в Xerox в базу данных, где о ней могут прочитать все, кому не лень, Motorola пометила свое сообщение меткой 'баг в системе безопасности' и приложила всю необходимую документацию, описание способов, которыми можно воспроизвести эту ошибку, и т.д. Но ответственные за систему CP-V люди в Xerox мышей ловили плохо; возможно, они просто не поверили в серьезность проблемы или не было команды сверху заняться разработкой соответствующей заплатки и ее официальным распространением среди пользователей системы. Прошли месяцы. Программисты фирмы Motorola продолжали надоедать службе технического обслуживания Xerox, но все было бестолку. В конце концов они решили перейти к прямым действиям и продемонстрировать нерадивым чиновникам из Xerox, как легко взламывается и полностью выводится из строя защита в их системе. Для этого они изучили все листинги операционной системы и написали несколько дьявольских заплаток. Затем эти заплатки были встроены в пару программ, которые назывались 'Робин Гуд' и 'Монах Тук' и были построены как задания-привидения (в UNIX аналогичные процессы называются демонами): в нужный момент они взламывали защиту, устанавливали заплатки в мониторе, а затем начинали следить друг за другом на случай, если системный оператор вздумает выкинуть их из системы. В один прекрасный день системный оператор центральной инструментальной системы CP-V в El Segundo был весьма удивлен необычным поведением системы. С ней творилось что-то странное:  В процессе чтения с магнитной ленты магнитофон начинал вдруг перематывать ленту на начало и размонтировался.  Головки чтения-записи диска в бешеном темпе начинали двигаться туда-обратно, что в конечном счете приводило к тому, что дисководы начинали скакать по машинному залу.  Неожиданно заработал перфоратор, превращая засунутую в него перфокарту в кружевную карту, которая тут же в нем и застряла.  На консольном терминале начали появляться фальшивые язвительные сообщения от Робина Гуда к Монаху Туку и от Монаха Тука к Робину Гуду.  В перфосчитывателе Xerox имеются два отделения для прочитанных перфокарт, поэтому он может быть запрограммирован на складывание прочитанных карт в отделение А или в отделение Б, или в отделение А, но в последнем случае карты, прочитать которые оказалось невозможно, складывались в отделение Б. Одна из программ-привидений дописывала заплатку в драйвере перфосчитывателя, и после этого перфосчитыватель начинал выбрасывать прочитанные карты попеременно то в одно отделение, то в другое, поэтому после чтения колоды она делилась надвое. Операторам ничего не оставалось, как вручную пересортировывать карты и складывать их в нужной последовательности. Вполне естественно, что оператор вызвал разработчиков операционной системы. Те обнаружили в системе запущенные задания-привидения, выкинули их и... опять настало время удивляться. Как только был 'выброшен' Робин Гуд, на консоли появились следующие сообщения: ABO id1 id1: Монах Тук... На меня напали! Молись за спасение моей души! id1: Конец (задание выброшено из системы) id2: He беспокойся, друг Робин! Сейчас я обращу в бегство Ноттингемского Шерифа! id1: Спасибо, мой дорогой брат! Каждая из программ следила за статусом другой и в случае, если одну из программ выбрасывали из системы, вторая мгновенно запускала новую копию уничтоженной программы, поэтому эти программы можно было уничтожить только одновременно (что очень сложно) или же приходилось перезапускать систему. В конце концов системщики решились на последний вариант и тут же обнаружили, что разбойники запустились вместе с системой! Оказывается, одна из заплаток вставила их в файл загружаемого образа системы (или в файл ядра, как говорят в UNIXe) и добавила их к списку задач, запускаемых в процессе загрузки. И только после перезагрузки системы с чистой дистрибутивной ленты и после переустановки монитора непрошеных гостей удалось навсегда выгнать из системы. Сразу же после этого инцидента Xerox разослал всем пользователям своей системы нужные заплатки. Говорят, руководитель отдела технического обслуживания фирмы Xerox подавал жалобу на двух программистов фирмы Motorola, которые подозревались им как главные исполнители этого веселого розыгрыша. Мы ничего не можем сказать о том, наказали их или наградили у себя дома; история об этом умалчивает.