Сокрытие информации
Идея этой статьи и часть материалов были предложены Виталием Невзоровым (http://www.nevzorov.net/). Она долго доходила "до кондиции", много раз откладывалась, но все-таки была закончена. Конечно, охватить все просто невозможно, но некоторое направление указать, я думаю, удалось...
Вопросы защиты информации всегда стояли перед человечеством очень остро. Ведь информация - это власть и деньги. Поэтому люди стремятся запереть ценные данные под огромное количество надежных замков, зашифровать ее самыми криптостойкими шифрами. С появлением компьютеров львиная доля всех данных стала храниться именно на них. Раньше, когда ЭВМ были большими, занимали целые этажи различных НИИ и лабораторий и были уделом избранных, все было гораздо проще. Но теперь, когда персональные компьютеры появились буквально в каждом доме и ни одна организация не может без них обойтись, вопросы защиты информации принимают первоочередное значение. Появились даже специальные отделы и службы по обеспечению компьютерной безопасности. И не важно, что вы собираетесь защищать: технологию изготовления новейшего реактивного двигателя от конкурентов, "черную" кассу от налоговой или свежескачанную из Интернета порнушку от младшего братишки или родителей ;) - принципы защиты одни и те же.
В этой статье я не буду пытаться рассматривать вопросы запрещения доступа к компьютеру. Это отдельная очень серьезная и громадная тема для разговора, которой посвящены целые сайты. Да и далеко не всегда есть возможность ограничить доступ посторонних лиц к компьютеру. Рассказать хотелось бы о некоторых приемах, позволяющих спрятать информацию самыми простыми методами так, что далеко не каждый квалифицированный специалист сможет ее найти.
Сперва хотелось бы разграничить информацию на непосредственно сами данные и на скрытый запуск различных программ. И в первую очередь хотелось бы остановиться именно на данных.
Вначале надо осознать, что самая лучшая защита, это когда ищущий даже не догадывается о том, что что-то спрятано.
Так что файл типа "financial documents.zip", будь он даже очень хорошо защищен паролями, может так сильно заинтересовать определенный круг специалистов, что его могут взломать либо, наняв специалистов, либо, поговорив с Вами так, что Вы и сами быстро вспомните пароль. Так что после архивирования документ переименовывается во что-нибудь нейтральное типа "nvidia", "sound32", "mem32", "sys32", "kbrd32" и т.п., изменяется расширение на dll и переносится в каталог Windows\System. Вы много знаете парней, которые с точностью могут сказать назначение каждой dll в Windows\System? Да туда кроме уж совсем на системе тронутых (типа меня) никто не лазит!
К сожалению, большинство архиваторов позволяют просматривать список файлов даже без знания пароля архива (насколько я знаю, только AIN не позволяет смотреть список файлов без пароля). Используйте двойную архивацию: архивируйте с паролем, затем архив вновь архивируйте с паролем - теперь никто не сможет так просто посмотреть список файлов.
Архиватор ZIP в начале архива всегда ставит "PK" как первые байты, наряду с изменением имени на DLL, поменяйте эти байты на "MZ" - теперь очень редкие программы смогут распознать этот файл как архив даже по внутренней структуре (к сожалению не все программы!).
По поводу программ для бухгалтерии - Вы ведете двойную бухгалтерию? У вас есть программа для этого и она поддерживает ее? Этого явно недостаточно! Ведь "там" сидят не дураки, с вами могут "поговорить" и вы расскажите все про нее и дадите пароли/логины для второй бухгалтерии... Вам надо иметь тройную! Вторая будет содержать лишь небольшие, но явные "ошибки", и есть большой шанс, что, найдя вторую бухгалтерию, никто не будет искать дальше, да и давить будет куда сложнее...
Все описанные выше методы не требуют специальных программ и позволяют обойтись только стандартными способами. Если это кажется вам не достаточно надежным, то можно обратиться к различным утилитам, позволяющим шифровать и скрывать данные, коих немало на просторах всемирной паутины.
Сперва обратим свой взор на программы, просто шифрующие данные. Если взять любой файл с архивом, а затем еще зашифровать любой из этих программ (ссылки на которые я дам ниже), то файл превратится в абсолютно неудобоваримую штуку, распознать в которой какие-то данные будет под силу единицам (что, кстати, совершенно не факт). При шифровании применяются различные алгоритмы: одни более стойкие, другие менее. Важен итог - распознать в получившемся файле сам факт сокрытия данных практически невозможно, особенно в сочетании с комплексным применением других советов. Воспользоваться для этих целей можно следующими программами (вторая и четвертая ссылки у меня не заработали, но может быть вам повезет больше):
Figa 2.01w (478Kb) http://htmls.chat.ru/
Cryptext v3.3 (175Kb) ftp://ftp.funet.fi/pub/cript/utilities/file/cryptext.zip
Maybe Next Time 1.4 (360Kb) http://www.seekwood.com/pub/mnt.zip
Mozart 3.2 (64Kb) http://fox.free-hosting.lt/
Следующая программа для людей особо озабоченных в сокрытии различной информации. Небольшая утилита с названием S-Tools позволяет присоединять к графическим и музыкальным файлам другие файлы. Принцип ее работы основан на возможности добавлять дополнительную информацию к некоторым файлам (GIF, BMP, WAV). При этом происходит незначительное изменение цвета или звука, которое человеческий глаз или ухо просто не в состоянии заметить. На взгляд, две картинки ничем не отличаются одна от другой, но реально, к одной "приклеен" небольшой файлик и заметить это нет никакой возможности. Конечно, таким способом вам не удастся запихнуть в небольшую картинку базу данных на пару сотен мегабайт, но небольшой архивчик спрятать вполне реально.
ftp://ftp.kiae.su/pub/windows/crypto/s-tools4.zip
ftp://ftp.thur.de/pub/software/stegano/s-tools4.zip
Теперь хотелось бы рассмотреть вопрос скрытого запуска программ. Несколько небольших поучительных и забавных примеров поможет лучше понять, зачем вообще это нужно и как это делается.
Не так давно ко мне обратился один человек с вопросом: какой-то сайт посвященный халяве и заработку в сети постоянно менял домашнюю страницу в браузере на свою.
Приятного в этом мало, а сталкиваться с этим приходится постоянно. Я даже написал небольшую статью о способах загрузки таких "паразитов" (Если поселился незванный гость...). Методы маскировки таких программ в системе там были затронуты совсем немного, а тут хотелось бы остановиться на этом подробнее. Так вот, найти программу, меняющую домашнюю страницу ему никак не удавалось. Когда он выслал мне экспортированный кусочек реестра с разделом Run, первое что бросилось в глаза - параметр winlogon, запускающий winlogon.js из каталога шрифтов Windows. В каталоге шрифтов никаких Ява-скриптов быть не может! Но если смотреть не очень внимательно, то вполне можно пропустить вроде бы системную программу, запускаемую из системного каталога. Причем, в FONTS пользователи заглядывают гораздо реже, чем в System. Отсюда мораль - программы, пытающиеся запуститься незаметно, стараются маскироваться под системные приложения, поэтому именно на них надо обращать внимание в первую очередь и тщательно разбираться что это за программа, откуда она запускается, что делает.
Вот еще один случай: в бытность работы своей на одном заводе несколько лет назад, наше бюро получило задание от начальства установить на компьютерах программу, логирующую все действия, людей работающих за ними. Начальству очень не хотелось, чтобы программисты в рабочее время играли в игрушки и занимались посторонними делами. Оно не могло понять, что игры - неотъемлемая часть работы любого программиста :). Для этих целей было взята программа StatWin, которая и сама по себе довольно неплохо шифруется в системе, а в сочетании с установкой на сетевом диске, да закапыванием автозапуска в самые дебри реестра, заметить ее аккуратную работу было очень сложно. И она тихо-мирно проработала несколько месяцев, пока дикая случайность не позволила ее обнаружить (подвела именно установка на сетевой диск). Я скромно умолчу о скандале, поднявшемся после этого, но начальство было очень опечалено последующими событиями :). Однако, любопытен сам факт того, что десятки программистов на протяжении нескольких месяцев не замечали тотальной слежки! А это далеко не обычные пользователи, которых обмануть гораздо легче.
А вот случай как обманули меня самого (вместе со всем бюро, где я работал). Один умелец установил на компьютер с доступом к интернет программу HookDump, ведущую логи по нажатию клавиш (благо на заводе царил полный бардак и все кому не лень имели доступ к этому компьютеру). В течение полугода он спокойно узнавал все пароли к заводскому логину в интернет и пользовался им без зазрения совести. Программа была установлена в каталог Windows, переименована в какое-то безобидное имя и запускалась при каждой загрузке компьютера через Win.ini. Опять-таки, только случайность позволила заметить работу программы и поймать нарушителя.
Уже после того, как вышла рассылка, анонсирующая статью, получил письмо с дополнительной информацией о способе, позволяющем незаметно для пользователя править реестр. Спасибо, Mike! Это лишнее свидетельство того, что выдумка человеческая просто безгранична и к любому делу надо подходить творчески :).
"А делается это так: в автозагрузке прописывается стандартный regedit, а ему в качестве параметра передается файлик, допустим, со стартовой странице ИЕ. Лично я в первый раз после 3-х кратной смены стартовой страницы минут 10 смотрел на список автозагрузки, в которой остался лишь трэй, раскладка клавы и регэдит, и думал: "Кто же?" (Согласен достаточно 5 секунд, но инерция мышления). Способ хорош тем, что сам регэдит и версия и контрольная сумма и путь остается родным, и я на все это посмотрел, и лишиь во вторую очередь обратил внимание на левый параметр."
Примерно аналогичными способами действуют и все трояны, клавиатурные шпионы и аналогичные им программы. Они шифруются под обычные системные приложения, запускаются из системных папок, умело прячут все "хвосты". Так что если вам надо запускать незаметно какую-то программу, то приведенные примеры вполне могут натолкнуть на какие-то идеи. Главное не бойтесь фантазировать, ну и глубокие знания функционирования системы вовсе не покажутся лишними.
"А как с этим бороться?" - спросите вы.Тяжело. Надо знать, какие утилиты запускаются на вашем компьютере, какие системные программы стартуют при каждой загрузке Windows и с подозрением относиться к каждому неизвестному приложению. Во имя Ctrl'a, Alt'a и святого Delete'a.
© 2003 К. Тарасов, И. Чеботарев