Выбрать главу

Это подействовало. Я всегда удивлялся насчет этого "\х". Как там могла оказаться такая вредоносная вещь? Я не могу представить себе программиста, намеренно вставившего ее, разве что он собирался досадить нелегальным пользователям своей программы. Возможно, это была какая-то лазейка, не сработавшая должным образом. Возможно, если бы я повнимательнее изучил программу, то понял бы, что это значит.

Вполне возможно также, что дефект был вставлен в программу тем человеком, который дал оператору копию программного обеспечения, или тем, который сделал первую пиратскую копию, или еще кем-либо из этой цепочки. Пиратское программное обеспечение так быстро распространяется по стране и по всему миру, что буквально тысячи людей могли бы добавить этот дефект с "\х" и распространять программу дальше в таком виде. Эй, у вас еще не появилось никаких идей по этому поводу? У меня они уже есть!

Можно либо написать собственную программу для BBS, или изменить уже существующую, добавив некоторые секретные свойства, такие как выход в DOS, или любую другую лазейку на ваше усмотрение. Можно добавить строку, которая будет обнаруживать при вводе наиболее сложные и необычные управляющие коды и присуждать таким пользователям наивысший уровень доступа к системе.

Метод, похожий на эту тактику, - написать или изменить терминальную программу, которую вы дадите пользователю. Когда она примет внутренний код во время соединения с вашей BBS, вы получите доступ к вызывающему компьютеру. Например, вызывая вашу BBS, пользователь запускает вашу специальную терминальную программу. BBS должна послать на модем вызывавшего пользователя код, который позволит вам разгуливать по жесткому диску данного пользователя. Чтобы сделать свое присутствие незаметным, лучше всего входить во время передачи какого-нибудь длинного файла или, если скорость передачи модема невысока, в перерывах между его работой. Пока вы исследуете диски удаленного пользователя, терминальная программа может продолжать делать вид, что принимает данные.

PRODIGY, графически ориентированной интерактивной службе онлайн, летом 1991 года было предъявлено обвинение в занятиях подобными вещами. Пользователи обнаруживали свои личные данные, спрятанные внутри программного обеспечения, которое использовалось для вызова PRODIGY. После жалоб пользователей на грубое нарушение их прав главный вице-президент PRODIGY выслал оскорбленным утилиту, предназначенную для удаления несущественных данных из терминального программного обеспечения службы. В сопроводительном письме он без тени раскаяния заявлял:

Как мы уже утверждали публично и сообщали онлайн, программное обеспечение PRODIGY не считывает, не собирает, а также не перелает компании службы PRODIGY никакую информацию либо данные, не имеющие прямого отношения к вашему использованию службы. Мы хотим заверить вас, что продолжим работу над обеспечением безопасности личных данных всех наших участников.

Может, они и не делают ничего такого - но вы-то ведь можете!

Несколько лет назад группа предприимчивых хакеров распространила доморощенную терминальную программу с дефектом для компьютеров Macintosh. Программа предлагала пользователям удобную опцию, позволяющую хранить пароли и другие процедуры входа на дискете, чтобы можно было не бояться их забыть. Информация хранилась в зашифрованной форме на спрятанной части дискеты. Через несколько занесенных туда паролей и телефонных номеров программа "портилась". Хакеры надеялись, что пользователи отошлют дискеты обратно, и в результате у них окажется богатый выбор входной информации.

Но на деле все оказалось не так, как задумывалось. Это PRODIGY может отмахнуться от вопросов пользователей благодаря своему уникальному графическому интерфейсу. А пока вам не удалось разработать в своей терминальной программе нечто подобное, нечего и мечтать о том, что пользователи возьмут на себя труд инсталлировать и изучать вашу программу, в то время как они уже знакомы с одной или несколькими коммерческими пакетами. Примерно такая судьба и постигла эту группу хакеров. Вначале их терминальная программа вызвала большой интерес (они свободно распространяли ее), но ни у кого не возникло желания ее использовать. Проблема была в том, что хакеры отдали программу в руки опытных пользователей, которые уже были близко знакомы, по крайней мере, с одной коммерческой программой. Хакерский терминальный пакет никому не понадобился, и великая идея с треском провалилась.

Что касается той первой идеи - изменить BBS, включив в нее лазейки, это действительно возможно. Всегда найдутся люди, желающие установить свою BBS, или те, кто хочет приобрести новое программное обеспечение. Проблема распространения здесь имеет меньшее значение, нежели проблема программирования - особенно учитывая тот факт, что вам придется не только вставлять программу для лазейки, но и, для достижения лучших результатов, придумать способ, как спрятать эту программу от любопытных глаз.

"Троянские кони"

Для хакера обычно не составляет большого труда начинить BBS какой-либо версией программы типа "троянский конь". Хакер пишет программу, предназначенную для выполнения какой-нибудь интересной функции, например, запуска игры или вывода на экран привлекательных картинок. В программе спрятаны инструкции для прочтения файлов паролей BBS, или выполнения другой скрытой операции. Затем хакер подзагружает программу в BBS и - внимание, это важно! - надеется, что системный оператор запустит программу.

Для написания "троянского коня" вам понадобится достать копию программы BBS, чтобы точно знать, каковы будут ваши тайные инструкции. Иначе как же вы узнаете, в какие файлы следует заглядывать и в каком секторе диска находится нужная информация?

Какие действия, помимо секретных, могут выполнять "троянские кони"? Вот несколько предложений:

Можно тайно перепрограммировать саму BBS так, чтобы в ней оказалась лазейка. Если программа BBS написана на интерпретируемом языке, "троянский конь" может добавлять несколько строк, которые дадут вам операторский доступ при вводе определенного кодового слова. Именно так и произошло с популярной электронной доской объявлений Commodore 64, написанной на Бейсике.

Вы можете запрограммировать "троянскую лошадку" так, что она будет заглядывать в файл, содержащий пароли, и каким-либо образом пересылать содержащиеся в нем данные обратно к вам. Во многих BBS существует секция текстовых файлов. Можно сделать так, что ваша программа будет зашифровывать пароли, добираясь до них, а затем присоединять в конец одного из текстовых файлов. Затем вам останется только загрузиться, просмотреть файлы, взять закодированные пароли и расшифровать их. Другие люди, читая текстовые файлы в режиме онлайн, примут случайно расположенные на первый взгляд символы за помехи в линии передачи или безвредное искажение файла.

Другой способ отправить себе информацию о паролях состоит в использовании функции электронной почты BBS. Дабы избежать подозрений (системные операторы обожают читать электронную почту, которую пользователи посылают друг другу), вам следует, опять же, закодировать информацию и включить ее в какую-либо другую порцию электронной почты.

"Троянский конь" может содержать приближенную версию какой-либо ключевой части самой программы BBS. Затем "лошадка" извлекает искомый кусок и копирует его поверх легальной версии, записанной на диске.

Как скрыть деятельность "Троянских коней"

Когда вы загружаете в систему программу, содержащую "троянского коня", вам следует иметь в виду два момента: Вашу "лошадку" могут обнаружить в процессе ее работы. Ее могут обнаружить либо до, либо после прогона.

Давайте по очереди рассмотрим эти две проблемы.

Во время работы