хозяину Октопуса. Связь с программой осуществлялась посредством команд, посылаемых в виде обычных писем по электронной почте — Октопус имел функции почтового клиента, и обмен информацией должен был осуществляться через анонимные почтовые серверы.
Сама мысль возникла очень давно, еще после прочтения последних пяти книг «Хроник Амбера» Роджера Желязного. Написать программу по принципу Колеса-Призрака для Интернета, казалось весьма заманчивой мыслью. Октопус Алекса оказался не столько безумной идеей, сколько бесконечно сложной и трудной задачей. Постепенно пришлось от многих задумок отказаться, замысел упростить и отработать только ряд основных функций.
Дело в том, что находящиеся в Интернете многочисленные поисковые машины имеют фиксированные адреса и располагаются каждая на своем конкретном сервере, рыская повсюду посредством личных роботов-поисковиков. Но Алексу хотелось не этого. Его целью была переползающая по Сети постоянно меняющая место, скрытная, способная к маскировке от защитных программ система поиска заданной информации. Программу Октопус пришлось наделить элементами искусственного интеллекта, способностью к примитивным оценкам и обработке информации из встреченных ею баз данных. Программа могла «учиться» — сохранять в собственной базе данных наиболее ценную, для собственного выживания, информацию. Снабдить программу способностью к самовосстановлению в случае частичного повреждения, оказалось довольно просто. Самокопирование программы в определенных обстоятельствах вообще не представляло трудностей. Это уже давно делали многочисленные вирусы и сетевые черви, алгоритмы которых были хорошо известны. По идее, эта программа должна была эволюционировать, но не «по Дарвину», а по «Ламарку» — используя полезные данные, вносить изменения в основной код. В тело программы был помещен заархивированный код ее основных модулей и библиотек. Была написана функция регенерации, на случай потери того или иного модуля. Внутренний архив периодически переписывался и обновлялся. Способность к адаптации пришлось напрямую увязать с возможностью самопереписывания и самомодернизации некоторых программных модулей. Нерабочие и поврежденные модули автоматически восстанавливались самим Октопусом. Однако окончательного, желаемого эффекта Алекс, как ему казалось, так до конца и не достиг, хотя на написание всего перечисленного у него ушло несколько лет.
Осталось ещё окончательно доработать функции перехода в другие сети. Выпросив на неделю у знакомых необходимое оборудование, Алекс на свободном столе смонтировал вторую мини-сеть, состоящую всего из двух компьютеров. Эта временная карликовая сеть была соединена с основной локальной сетью Института полноценным шлюзом и нормальным, хотя и коротким, каналом связи. В день испытаний Алекс физически отсоединил институтскую сеть от информационного канала в Интернет, и подключил на его место канал карликовой сети. Отсутствие связи в течение одного дня он заранее объяснил профилактическими работами. Надо было проверить ряд функций почти готовой, но не совсем отлаженной программы. Не особенно беспокоясь, Алекс запустил Октопуса в институтскую локальную сеть, а поскольку выход в Интернет в этот день отсутствовал, он не боялся утечки. Позже Алекс хотел вычистить Октопуса из сети, на что имелась заранее подготовленная программа-киллер. В этот день он доводил до ума ряд функций, дописывал и переписывал некоторые куски программы, постепенно исправляя шероховатости и недочеты. Он снова вычищал, и снова выпускал Октопуса, пока уже поздно вечером, когда почти все ушли, он не добился желаемого результата. Убедившись, что Октопус, как надо проходит в микро-сеть и обратно, Алекс запустил киллера, в последний раз вычистил живого Октопуса из микро-сети и локальной сети Института. Затем он отключил микро-сеть, восстановил связь с Интернетом и ушел домой.
Все это происходило в конце января прошлого года. Потом Алекс решил, что у него ничего не выходит, занялся другими делами и очень долго не мог вернуться к своему проекту.
Немного почесав затылок, Алекс решил все восстановить, вернее, откомпилировать программу заново. Начал с основного программного модуля. Работал он под Виндами, вызвав окно командной строки, он быстро набил и запустил строку для строчного компилятора и нажал Enter. Алекс думал, что скоро увидит знакомый файл — octopus.exe. Но сразу после окончания процесса, компьютер завис. Алекс нажал Ctrl-Alt- Del, чтобы выбрать зависшую программу и нажать кнопку завершения задачи. Но вместо появления окна «Завершение работы программы», машина немедленно стала перезагружаться. Перезагружался компьютер, как заметил Алекс, намного дольше обычного, а после загрузки он не нашел не только octopus.exe, но и никаких исходников для этой программы. Исчезли все файлы по проекту Октопус. А их было много. Еще там был исходный текст для программы-киллера — убийцы для Октопуса, он тоже исчез. Корзина, естественно, была пуста.
Еще не веря до конца в то, что случилось, Алекс опять перегрузил машину, запустив только «голый» командный процессор. Еще оставалась надежда восстановить файлы при помощи нортоновских утилит или прямого редактирования диска. Просмотр кодов на диске показал, что все эти файлы, хотя и легко восстановимы, но никакой полезной информации не несут. Причем первоначальный объем, и время создания, остались без изменений, только весь такой файл, вместо исходных текстов, содержит «мусор» — мешанину из случайных символов.
Как потом выяснил Алекс, в тот день, когда он отключал Институт от Интернета, один продвинутый юзер, принес из дома модем. Не желая терять ни одного дня, он по телефонной линии подключился к Интернету через своего домашнего провайдера. Таким образом, локальная сеть, с бродящим по ней недоделанным Октопусом, получила неконтролируемый выход в Интернет. Неохраняемую дыру, через которую могло пролезть, всё что угодно.
Тут Алекс написал короткое электронное письмо-команду, и отправил его по адресу, которым уже давным-давно не пользовался:
To return the assembled new information
Письмо вернулось практически мгновенно, но с некоторым добавлением:
The further dialogues are inadmissible
> To return the assembled new information
Больше этот адрес не отвечал. Это был адрес Октопуса. Алекс еще и еще писал по этому адресу — ответа не было — письма куда-то пропадали и вообще не возвращались.
В тот день Алекс еще долго и неподвижно сидел, тупо уставившись в экран монитора. Он, наконец, окончательно осознал мысль, которая крутилась в его голове, не давая ему покоя последние полтора месяца. Октопус освоился в Сети, занялся сбором информации, самосовершенствованием и, похоже, стал оказывать воздействие на окружающую его среду. Возможно, он взаимодействует с уже имеющимся программным обеспечением, с какими-то другими неизвестными программами, что дает дополнительный эффект. Так он устраняет ненужные и опасные с его точки зрения файлы. При помощи несанкционированного доступа к информации и выведения из строя электронных систем управления контролирует компьютерное обеспечение мобильной связи и системы энергоснабжения. С помощью сотовых телефонов и, возможно, подключенных к Сети компьютеров, манипулирует сознанием людей средствами психозондирования или нейролигвистического программирования, и таким образом, осуществляет устранение или временное выведение из строя чем-либо мешающих ему индивидуумов. Антивирусные программы пока ничего не замечают. И, наконец, последнее. Контроль над программой Октопус вероятно, уже окончательно утрачен.
Совершенно расстроенный, Алекс отправился к Валентине.
Это был как раз их день.
19
В конце одного из долгих рабочих дней Алекс просматривал в Интернете архив сводок происшествий за тот месяц, что провалялся в больнице с травмами. На одном из новостных порталов его внимание привлекла следующая заметка: