Кремль и "КГБ" на защите информации

Kremlin 2.21, copyright датирован 1997 годом, компания-производитель представлена в Интернет по Web-адресу - http://www.mach5.com/, E-mail kremlin@mach5.com.

"Кремль" - это комплексный программный общего назначения продукт, нацеленный на защиту пользовательских данных на локальном компьютере и защиту от некоторых типовых хакерских атак. Двух российских организаций американцы боятся больше всего: "русской мафии" и КГБ. Россия, прославившись в Соединенных Штатах Америки за две перманентно присущие ей вещи, дала основу для столь грозного названия. Компания Mach5 Software расположена на Флориде, и, видно, Кремль, как незыблемая цитадель "красного влияния" и КГБ, направляемого Кремлем, должен внушать американскому обывателю мысль об основательности и непробиваемости криптофайлов, формируемых на выходе программы. Зашифрованные программным продуктом файлы имеют расширение *.kgb, отсюда эти и другие параллели, не раз возникающие при работе с пакетом. Основная утилита программного комплекса выполнена, по аналогии с самим "КГБ", в виде "стража", работающего в фоновом режиме, который показывает свое присутствие иконкой в подносе и предоставляет свой сервис в момент запуска и выключения Windows.

Программный пакет имеет защиту от нелегального копирования, которая реализована не серьезно и снимается занесением "нужного" регистрационного номера или блокируется введением строки в системном реестре Windows.

Kremlin добавляет в контекстное меню проводника опцию Encrypt, что позволяет выбирать для зашифровки папки или отдельные файлы, с возможностью вызова меню настроек Kremlin. Опция Secure Delete также добавлена в контекстное меню проводника по умолчанию и позволяет выбирать папки или отдельные файлы для полного невосстановимого удаления.

На поверхность "рабочего стола" Windows добавляются иконки "Kremlin Secure Recycle Bin" и "Kremlin Encrypt". Для активизации функций этих иконок необходимо перетащить мышью из проводника папку или файл и опустить на одну из них.

Основные настройки:

1. Encrypt (шифрование) - на этой странице предлагается выбор криптоалгоритма из шести доступных в зарегистрированной версии или одного NewDes в демо-версии. Есть опция сжатия данных перед зашифровкой. Это позволит уменьшить размер выходного зашифрованного файла и усилить стойкость к взлому. По умолчанию не сжимает файлы с расширениями zip, arj, rar, jpg, pgp, kgb, mp2, mp3 и со многими другими. Полный список расширений, пропускаемых при сжатии, можно увидеть в разделе реестра HKEY_CURRENT_USER\ Software\ Mach5 Software\ Kremlin\ Encrypt\ NoCompress. Опция CBC mode - для дополнительного перемежения шифрующихся блоков, усиливающая криптостойкость для блочных шифров. Опция включения/выключения "звездочек" при введении пароля, видимо, создана для тех, кто забывает введенный пароль или пальцами не попадает на нужную клавишу с первого раза.

2. Decrypt (зашифровка). Есть также опция включения/выключения "звездочек" при введении пароля. Есть опция расшифровки всех вложенных в контейнер зашифрованных файлов, а также автоматической перезаписи наверх файлов с одинаковыми именами.

3. Secure Delete (безопасное удаление). Здесь предлагается включение напоминаний о необратимом удалении информации "Кремлем", удалении опции "безопасного удаления" в контекстном меню проводника. Предлагается возможность выбора количества перезаписей мест, где размещались критичные участки памяти или файлы на жестком диске. По умолчанию выставляется значение 4. DOD (Департамент защиты) считает, что трех перезаписей будет достаточно для того, чтобы стертую информацию невозможно было восстановить по "плавающим" битам. Однократной перезаписи достаточно для того, чтобы такие утилиты, как UnErase, не могли восстановить недавно удаленные файлы. Так что, если вы не собираетесь противостоять технологически вооруженным "до зубов" спецслужбам, одного прохода по очищаемым местам будет вполне достаточно.

4. AutoCrypt (автоматическая зашифровка) создана для выбора каталогов или файлов для автоматической зашифровки/расшифровки данных при старте или закрытия Windows. Данные помещаются в контейнер - файл с расширением kgb, хранящий закрытую информацию. Это удобно тем, что нет необходимости в перестройке структуры хранения критичных данных, которая необходима при использовании виртуальных контейнеров, организуемых программами вроде BestCrypt, просто помечаются каталоги, хранящие документы или файлы с данными бухгалтерского учета - и все. Опция "Logoff" дает выбор действия после зашифровки: либо выключение компьютера, либо перезагрузка, либо завершение сеанса текущего пользователя.

5. Kremlin Sentry ("страж Кремля"). Здесь пользователю предоставляется возможность внести запланированное событие по "зачистке" системы от "ненужных" и способных выдать "компромат" файлов и следов работы за компьютером. На выбор предоставляется либо действия по закрытии Windows, либо запуск "очистки" в определенный день месяца, недели или времени суток. "Кремль" предлагает по умолчанию при инсталляции проводить "охоту" в полночь (видимо, еще один намек авторов программы на "черные вороны", разъезжавшие ночами в 37-ом году и "искоренявшие скверну"...). Далее выделяется сгенерированное событие в списке и по нажатию кнопки "Properties" дается выбор времени или ситуации возникновения события. После назначения времени нажимается кнопка "Options" и происходит доступ к тонким настройкам "зачистки" системы.

6. Зачистка системы. Возможностей по очистке, предлагаемых "Стражем Кремля", я не встречал ни у одной программы, поэтому их описание вынесено отдельным параграфом. "Standard Wipe" - предлагается стандартное неразрушающее удаление остаточной информации со свободного места ("wipe free space"). Здесь осуществляется выбор дискового устройства для зачистки. "Thorough Wipe" - тщательное неразрушающее удаление остаточной информации со свободного места и мест между физическим концом файла и концом, содержащего последнюю запись, кластера. Также предлагается выбор дискового устройства.

Физическая и логическая длины файлов редко равны. Операционная система всегда записывает файлы, размещая содержимое в целое число кластеров (т.н. физическая длина файла или фактически занимаемое место на диске). Размер кластера равен целому числу секторов, стандартный размер которых 512 байт и меняется в зависимости от объема диска, типа таблицы размещения файлов (FAT) и т.п. С этим связаны, во-первых, неизбежные потери дискового пространства, во-вторых, место в последнем кластере между логической и физической остается нетронутым, что оставляет хакеру лазейку для частичного восстановления информации.

"Do not wipe..." - или не удалять остаточную информацию на диске вообще. Отдельная опция позволяет установить неразрушающее удаление информации не только на свободном месте диска, но информации, остающейся в виртуальной памяти (своп-файл).

Своп-файл, файл с расширением .swp, создаваемый и используемый операционной системой как логическое продолжение ОЗУ и после закрытия сеанса оставляющий в себе массу "интересной" информации о работе пользователя. Можно просмотреть из "режима эмуляции MS-DOS обычным Viewer-ом.

Далее идет опция очистки истории работы с браузерами и операционной системой. По нажатию кнопки "Details" дается доступ к очистке содержимого меню "Run" - списка программ, запускавшихся через меню "Run", "Document" - списка последних документов, с которыми работал пользователь, "Find Files" - списка файлов, поиск которых велся, "Find Computer" - списка компьютеров в сети, на которые делался запрос на поиск, "Internet Explorer history", "Netscape history" - истории посещений в Интернет (списка адресов, посещавшихся пользователем и сохраняющихся браузерами по умолчанию), "Last User at Logon" - имя пользователя, зарегистрировавшегося в системе последний раз.

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

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

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

7. "Страж" Системы

Kremlin Sentry ("страж") - это основная утилита программного комплекса, также ведающая настройками системы. Стартует из группы "автозапуска" (Startup), занимая чуть меньше 6 мегабайт в оперативной памяти. "Страж" активизируется перед запуском и закрытием Windows. При старте Windows предлагает расшифровку данных, помещенных в "AutoCrypt", при закрытии сеанса - зашифровку информации и "зачистку" дисков и истории. В остальное время страж ведает доступом к настройкам.

Несколько слов о происходящих при этом системных процессах:

%-4Чтобы реализовать подобные функции, необходимо либо проводить мониторинг мультиплексного прерывания 2F/16 и отлавливать подфункции (05 - начало запуска windows, 08 - окончание запуска, 09 - начало закрытия windows-системы, 06 - готовность к выходу из windows) и вклиниваться между этими системными процессами, осуществляя свои сервисы, либо отлавливать системные сообщения WM_QUERYENDSESSION и WM_ENDSESSION. Сообщение WM_QUERYENDSESSION посылается, когда пользователь выбирает "Завершение работы...", закрывая текущий сеанс Windows, или когда Windows-приложение вызывает функцию ExitWindows для завершения сеанса Windows.

%-3 Сообщение WM_ENDSESSION возвращается назад приложению, пославшему WM_QUERYENDSESSION после того, как Windows обработала ответы активных приложений на запрос WM_QUERYENDSESSION, которые должны ответить "согласием" (TRUE или не нулем) на возможность завершения работы Windows. В Windows 95 и NT есть отличия в реализации обработки этих системных сообщений.

%-2

Используемые криптоалгоритмы

Степени криптостойкости в сопровождающей программный комплекс спецификации оцениваются по десятибалльной шкале, где 0 баллов - низшая стойкость, 10 баллов - наивысшая.

1. NewDES - разрабатывался как замена DES. Разработан Робертом Скоттом. Длина ключа - 128 бит. На поверку шифр не оправдал возлагавшихся на него надежд, так как не устоял перед криптоатаками. Оцениваемая криптостойкость - 3 балла. Доступен в зарегистрированной и незарегистрированной демо-версии.

2. Blowfish - высокоскоростной блочный шифр. Длина ключа, реализованная в программном комплексе, - до 448 бит. Автор криптоалгоритма - Брюс Шнайер. Криптостойкость - 10 баллов. Криптоатаки против этого шифра не известны. Доступен в зарегистрированной версии.

3. CAST - высокоскоростной блочный шифр, название - это аббревиатура из имен авторов (Карлисл Адамс и Стаффорд Таверес). Алгоритмически близок к Blowfish. Показательно, что этот же шифр рекомендован по умолчанию в PGP. Реализованная длина ключа - 128 бит. Криптостойкость - 10 баллов. Доступен в зарегистрированной версии.

4. IDEA - низкоскоростной блочный шифр, разработанный в Цюрихе, Швейцария. Авторы: Ксуедзя Лай и Джеймс Массей. Использовался в первой версии PGP и предлагается для использования до сих пор Филиппом Циммерманном. Реализованная в программе длина ключа - 128 бит. Оцениваемая криптостойкость - 10 баллов. Криптоатаки против этого шифроалгоритма не известны. Доступен в зарегистрированной версии.

5. RC4 - потоковый криптоалгоритм и самый быстрый из всех используемых в программе. Широко используется для обеспечения безопасности финансовых транзакций в Интернет. Патент на криптоалгоритм принадлежит RSA и является предметом коммерческой тайны. По утверждению авторов "Кремля", исходники кода идентичного RC4 были анонимно опубликованы в 1994 году. Длина ключа не ограничена. Криптостойкость - 10 баллов. Криптоатаки против этого шифра не известны. Доступен в зарегистрированной версии.

6. Safer SK-128 - низкоскоростной шифр, разработанный Робертом Массеем по заказу корпорации Сайлинк (Cylink). Реализованная в программе длина ключа - 128 бит, отсюда и название криптоалгоритма. Оцениваемая криптостойкость - 10 баллов. Криптоатаки против этого шифроалгоритма не известны. Однако Брюс Шнайер, автор труда "Прикладная криптография" и алгоритма Blowfish, не рекомендует использование Safer, потому что корпорация Cylink запятнала себя и тем самым скомпрометировала сотрудничеством с АНБ - Агентством национальной безопасности США, американской спецслужбой, ведающей взломом шифров и тотальным электронным шпионажем по всему миру. Доступен в зарегистрированной версии.

7. SHA1 (Secure Hash Algorithm) - для предотвращения атаки перебором по словарю на зашифрованные данные, этот алгоритм формирует 160-битную хэш-функцию, используя 64-битную псевдослучайную "затравку". Криптоалгоритмы с фиксированной длиной ключа, вроде Safer или IDEA, обрезают схэшированную длину ключа до использующейся в алгоритмах длины, заданной при их реализации.

Необходимо напомнить об аккуратном наборе пароля для зашифровки, особенно при повторном наборе. Если пароль утерян, данные невозможно восстановить даже теоретически. И второе: при смене криптоалгоритма все содержимое из файла-контейнера лучше расшифровать и зашифровать повторно. Система не всегда корректно распознает пароли при смене шифра, когда не все содержимое расшифровывается по умолчанию и присутствуют файлы зашифрованные разными криптоалгоритмами.

P.S. "Снаружи мило, а внутри гнило". Несмотря на обилие защитных функций, программный продукт выполнен без учета жестких требований, предъявляемых к программам подобного назначения. Если "Кремль" использовать без комплекса вспомогательных утилит-ревизоров, то он "разваливается" от простых хакерских атак. Основное правило построения компьютерных криптосистем гласит о том, что "данные находятся в безопасности пока они зашифрованы". При зашифровке или расшифровке информации наступает масса тонких моментов, которые должно было бы предотвратить... Не стану описывать способы компрометации этой шифросистемы. Не хотелось бы убивать последнюю надежду пользователей. На "Кремль" и "КГБ"...

Black Prince


Компьютерная газета. Статья была опубликована в номере 32 за 1999 год в рубрике разное :: мелочи жизни

©1997-2024 Компьютерная газета