Давайте по очереди рассмотрим эти две проблемы.
Во время работы
Рациональному хакеру легче избежать этой опасности, чем злонамеренному разрушителю системы. Дело в том, что, если Юнец Джо напишет программу, которая тайно переформатирует жесткий диск, в то время как лампочки жесткого диска будут непрерывно зажигаться, на экране должно происходить нечто, способное отвлечь внимание пользователя. Юнцу Джо следует с умом соорудить некий не интерактивный "тайм-киллер", который будет развлекать пользователя на протяжении всего времени, которое понадобится для форматирования диска или для уничтожения файлов. Это может быть порнографическая картинка (возможно, дополненная цифровыми звуковыми эффектами: "О! О, детка! М-м-м..."), или цифровая музыкальная партитура; программа может также посылать графическое изображение на принтер. Между тем ваши быстродействующие "троянские кони" ("спринтеры") будут в срочном порядке делать свое дело.
Никогда не допускайте вашу программу на жесткий диск (или любое периферийное устройство), если системный оператор не сможет увидеть причины для этого. В то время как "троянский конь" будет заниматься своим делом, на экране должно быть сообщение, дезинформирующее оператора о работе программы. Например, если "лошадка" спрятана в игре, она должна посылать на экран сообщение вроде: "Сохранение вашего последнего счета...", тогда как на самом деле программа будет копаться в пользовательских файлах доступа (или делать что-то еще, на ваше усмотрение). Не забудьте о том, что попутно программа действительно обязана сохранить новое количество очков пользователя, а общее время ее работы должно быть весьма кратким. Как только "троянский конь" закончит работу, программе следует стереть с экрана сообщение; это позволит убедиться в том, что работа программы с жестким диском не вызвала подозрений. Если будет возможность, сотрите сообщение с экрана посреди работы "троянского коня", чтобы создать иллюзию очень малого времени обращения к жесткому диску.
Другой способ незаметно добраться до диска состоит в том, чтобы в начале работы программы выдать на экран нечто типа:
AutoCheck Virus Detection Program v1.3 (c)opyright 1992 Paul Bradley Ascs.
Scanning file FILENAME.1 for viruses..... Scanning file FILENAME.2 for viruses...
А тем временем "троянский конь" будет "проверять" жесткий диск компьютера на пароли!
В качестве FILENAME.1, FILENAME.2 и т. д. можно вставить имена программ и файлов данных, которые были загружены вместе с приложением. Замечательным штрихом будет не мгновенное, а постепенное появление на экране скобок (...) после каждого обращения к жесткому диску, дабы создать впечатление, что программа действительно проверяет файлы на вирусы.
"Прикрыть" деятельность "троянского коня" (в соответствующих обстоятельствах) можно также с помощью сообщений типа: открытие файла данных, чтение данных, сохранение выбора перед выходом,
Загрузка текста
Сообщения всегда должны соответствовать тому, что в действительности происходит в видимой части программы.
"Троянские кони", выполняющие функции BBS (такие, как изменение паролей), должны, если возможно, делать это путем прямого доступа к диску, не используя программу BBS. Это позволит вам обойти любые защитные протоколы и распечатки подозрительных действий.
До и после
Системные операторы, администраторы систем и даже обычные пользователи стали теперь осторожнее относиться к пересылке файлов. Они, как минимум, опасаются вирусов, и изучают программы перед тем, как их использовать, более тщательно, чем когда бы то ни было раньше.
Это означает, что они будут проверять ваши подгруженные программы на вирусы с помощью сканера. Такая проверка практически неизбежна, но бояться нечего, так как существующие программы проверки на вирусы не смогут обнаружить вашего "троянского коня" ни в одном из законных файлов. Вам следует опасаться только того, что системный оператор или менеджер станет собственноручно изучать ваши подгруженные программы в поисках нецензурных слов или ошибок.
Как и в предыдущем случае, сознательным разрушителям и системным вандалам придется труднее, чем вам. У них есть текст, который им придется прятать внутри своих программ. Например, всем известен вирус, или логическая бомба, которая вопит "GOTCHA!!" ("Попался!"), когда записывается поверх таблицы размещения файлов. Существующие программы ищут в файлах именно подобные веши. Даже если у оператора не имеется соответствующей программы, но он достаточно наблюдателен, разрушительское "GOTCHA!!" будет замечено еще до того, как программа начнет работать.