Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Содержание
1. СОВРЕМЕННОЕ СОСТОЯНИЕ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ 3
Опасность информационных войн и кибератак 3
Компьютерные преступления 5
Вирусные атаки 5
Взлом парольной защиты операционных систем 7
Типовые способы удаленных атак на информацию в сети 7
Распределенные атаки на отказ от обслуживания 8
Методы сбора сведений для вторжения в сеть 9
Модель нарушителя безопасности информации 10
2. ПРОБЛЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ. Часть 1. 12
Характеристика угроз безопасности информации 13
Несанкционированный доступ к информации и его цели 16
Способы НСД к информации через технические средства 18
Проблемы защиты сети от перехвата пакетов сообщений 23
3. ПРОБЛЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ. Часть 2. 25
Вредоносное программное обеспечение 25
Вирусы 27
Шпионские программные закладки 40
4. ОСНОВНЫЕ ПУТИ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ИНФОРМАЦИИ 49
Концепция защиты информации 50
Стратегия и архитектура защиты информации 51
Политика безопасности информации 54
5. ПРАВИЛА ОРГАНИЗАЦИИ ЗАЩИТЫ ИНФОРМАЦИИ 60
Требования к безопасности компьютерных сетей в РФ 60
Виды обеспечения безопасности информации 63
Правовое обеспечение безопасности информации 64
Организационно-административное обеспечение безопасности информации 74
Инженерно-техническое обеспечение безопасности информации 80
6. ОПРЕДЕЛЕНИЕ СТЕПЕНИ ЗАЩИЩЕННОСТИ СЕТИ 82
Системы выявления атак на сеть 85
Программы обнаружения сетевых атак 91
Сканеры как средства проверки защиты сети 95
7. МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ ОТ НСД 98
Парольная защита операционных систем 102
Защита сети от НСД с помощью аппаратно-программных средств 105
8. МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ ОТ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 114
Антивирусное программное обеспечение 117
Практические методы и средства для защиты сети от вредоносных программ 125
Методы защиты от программных закладок 133
9. МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ ОТ УДАЛЕННЫХ АТАК 135
10. ВЕДЕНИЕ В КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ 148
Основные положения и определения криптографии 152
Обеспечение аутентичности, целостности и неоспоримости информации 154
Шифрование в компьютерной сети 155
Виды шифрования в сетевых каналах связи 155
Общая характеристика современных стандартов шифрования 157
11. ОРГАНИЗАЦИЯ КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ИНФОРМАЦИИ 159
Стандарт шифрования данных DES и его практическая реализация 159
Перспективный стандарт AES 172
Отечественный стандарт шифрования данных ГОСТ 28147-89 178
Режим простой замены 184
Режим гаммирования 185
Режим гаммирования с обратной связью 186
Режим выработки имитовставки 187
Система PGP — мировой стандарт доступности 189
Криптографические ключи 192
Выбор длины криптографического ключа 193
Способы генерации ключей 197
Хранение и обновление ключей 213
Продолжительность использования и уничтожение ключей 214
Протоколы распределения ключей 216
12. ЭЛЕКТРОННАЯ ПОЧТА 218
Принцип функционирования электронной почты 220
Сервисное обслуживание электронной почты 225
Способы информационной защиты электронной почты 226
13. ЭЛЕКТРОННАЯ ЦИФРОВАЯ ПОДПИСЬ 231
Процедура проверки подписи 237
14. КОМПЬЮТЕРНАЯ СТЕГАНОГРАФИЯ 244
Принципы построения компьютерной стеганографии 248
Анализ путей практической реализации компьютерной стеганографии 254
Методы компьютерной стеганографии 256
Особенности скрытой передачи аудиоинформации 260
ЛИТЕРАТУРА 268
1. СОВРЕМЕННОЕ СОСТОЯНИЕ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
Угрозы, исходящие от людей или предметов и причиняющие вред, можно разделить на следующие классы: внутренние или внешние и структурированные (против определенного объекта) или неструктурированные (объект угрозы не определен). Например, компьютерные вирусы классифицируются как «внешние неструктурированные угрозы».
Степень необходимой защиты во многом зависит от состояния ваших дел. Если ваша организация или компания является мишенью для политического давления, если вы входите в состав государственной или системообразующей инфраструктуры, распределяющей национальные энергетические ресурсы или обслуживающей национальные сети связи, то есть вероятность террористической электронной атаки на вашу организацию с применением разнообразных программных средств.
Если же речь идет об обычной организации по продажам и маркетингу, то вам придется побеспокоиться лишь о ваших сотрудниках, ворующих списки клиентов; о мошенниках, приобретающих товары по фальшивым кредитным карточкам, о конкурентах, проникающих в вашу сеть с целью получения доступа к прейскурантам, о хакерах, взламывающих ваш Web-сайт с целью вымогательства, и т. п.
Одним из значительных пробелов в системе безопасности является случай, когда руководители считают, что самыми широкими правами доступа к важным для компании данным обладают только они и их коллеги вместе с адвокатами и бухгалтерами, что является заблуждением. Доступом ко всем конфиденциальным материалам всех трех групп обладают системные администраторы. При этом, как правило, они не имеют долевого участия в прибылях компании или других «золотых наручников». Поэтому именно они представляют собой одну из самых больших потенциальных угроз для безопасности организации. Также большое внимание следует уделять и поставщикам услуг безопасности, особенно к тем, кто предлагает консультирование, планирование и администрирование.
Опасность информационных войн и кибератак
В результате идущей информатизации общества создается единое мировое информационное пространство, в рамках которого производится накопление, обработка, хранение и обмен информацией между субъектами этого пространства — людьми, организациями, государствами. Очевидно, что возможности быстрого обмена политической, экономической, научно-технической и другой информацией, применение новых технологий во всех сферах общественной жизни и особенно в производстве и управлении является несомненным благом. Однако информатизация тоже может стать источником серьезных проблем.
В военных доктринах разных стран мира все чаще обнаруживаются упоминания о программах развития электронного оружия и программного обеспечения специального назначения, а правительства некоторых государств активно финансируют разработку наступательных кибер-программ. Информационная война рассматривается в качестве возможной стратегической альтернативы в тех странах, где понимают, что при ведении боевых действий обычными средствами они явно уступают.
Объектом внимания становятся информационные системы (включая линии передач, обрабатывающие центры и человеческие факторы этих систем), а также информационные технологии, используемые в системах вооружений. Информационная война включает наступательные и оборонительные составляющие. Поскольку современная информационная война связана с вопросами использования информации и коммуникаций, то, проще говоря, это война за знания о себе и противниках.
Электронный удар, нанесенный по одной из важных стратегических целей (например, по центру управления перевозками или пункту распределения электроэнергии), по своим разрушительным последствиям может оказаться гораздо эффективнее применения оружия массового поражения.
Любая война, в том числе и информационная, ведется с использованием современного оружия. Информационное оружие принципиально отличается от всех других средств ведения войны тем, что с его помощью могут вестись (и уже ведутся) необъявленные и чаще всего невидимые миру войны и что объектами воздействия этого оружия являются гражданские институты общества и государства: экономические, политические, социальные и т. д.
Информационное оружие может использоваться с «электронными скоростями» при нападении и обороне. Оно базируется на самых передовых технологиях и призвано обеспечить разрешение военных конфликтов на ранней стадии, а также исключить применение сил общего назначения. Стратегия применения информационного оружия носит наступательный характер. Однако есть понимание собственной уязвимости, особенно гражданского сектора, поэтому проблемы защиты от такого оружия и информационного терроризма сегодня выходят на первый план. Последнее обстоятельство следует помнить руководству многих российских государственных и корпоративных сетей, которые уже активно работают в Internet и намерены подключаться к другим глобальным телекоммуникационным сетям.
К информационному оружию можно отнести средства уничтожения, искажения или хищения информационных массивов, средства преодоления систем защиты, ограничения допуска законных пользователей, дезорганизации работы аппаратуры и компьютерных систем в целом. Атакующим информационным оружием сегодня можно назвать:
– компьютерные вирусы, способные размножаться, внедряться в программы, передаваться по линиям связи, сетям передачи данных, выводить из строя системы управления и т. п.;
– логические бомбы — запрограммированные устройства, которые внедряют в информационно-управляющие центры военной или гражданской инфраструктуры, чтобы по сигналу или в установленное время привести их в действие;
– средства подавления информационного обмена в телекоммуникационных сетях, фальсификация информации в каналах государственного и военного управления;
– средства нейтрализации тестовых программ;
– ошибки различного рода, сознательно вводимые лазутчиками в программное обеспечение объекта.
Универсальность, скрытность, различие способов программно-аппаратной реализации, радикальность воздействия, возможность выбора времени и места применения, наконец, экономичность делают информационное оружие чрезвычайно опасным. При этом нет открытых данных о новейших методах ведения военных действий и вообще о принципиально новом оружии — информационном. Отсутствуют полные данные и о масштабах информационного терроризма, который в последние годы приобрел уже глобальный характер.
Разнообразие информационного оружия, форм и способов его воздействия, особенности появления и применения породили сложнейшие задачи защиты от него. Считается, что для предотвращения или нейтрализации последствий применения информационного оружия необходимо принять следующие меры:
– защита материально-технических объектов, составляющих физическую основу информационных ресурсов;
– обеспечение нормального и бесперебойного функционирования баз и банков данных;
– защита информации от несанкционированного доступа, ее искажения или уничтожения;
– сохранение качества информации (своевременности, точности, полноты и необходимой доступности).
Экономическую и научно-техническую политику подключения государства к мировым открытым сетям следует рассматривать через призму информационной безопасности. Будучи открытой, ориентированной на соблюдение законных прав граждан на информацию и интеллектуальную собственность, эта политика должна предусматривать защиту сетевого оборудования на территории страны от проникновения в него элементов информационного оружия. Это особенно важно сегодня, когда осуществляются массовые закупки зарубежных информационных технологий. Следует отчетливо представлять, что участие России в международных системах телекоммуникаций и информационного обмена невозможно без комплексного решения проблем информационной безопасности.
Необходимо помнить о защите национальных информационных ресурсов и сохранении конфиденциальности информационного обмена по мировым открытым сетям. Вполне вероятно, что на этой почве могут возникать политическая и экономическая конфронтация государств, новые кризисы в международных отношениях. Поэтому информационная безопасность, информационная война и информационное оружие оказываются в центре внимания.
Для администратора системы единственный способ обеспечить приемлемый уровень защиты — обладать информацией. Он просто обязан ежедневно просматривать специальные обзоры и новости в области защиты. Пока никто не в состоянии заменить человека по быстроте реакции на информационную атаку, и вложения в обучение и профессиональный рост администраторов защиты информации остаются наиболее эффективным средством противодействия информационным атакам.
Компьютерные преступления
Если проанализировать статистику компьютерной преступности, то картина получается мрачная. Урон, наносимый компьютерными преступлениями, сопоставим с доходами от незаконного оборота наркотиков и оружия. Только в США ежегодный ущерб, наносимый «электронными преступниками», составляет около 100 млрд. долларов. Высока вероятность того, что в недалеком будущем этот вид преступной деятельности по рентабельности, обороту денежных средств и количеству задействованных в нем людей превысит все другие виды незаконного бизнеса.
Количество компьютерных преступлений в кредитно-финансовой сфере постоянно возрастает. Например, онлайновые магазины фиксируют до 25% мошеннических платежных операций.
Усредненные показатели убытков от хищений с использованием электронных средств доступа только в США превышают 600 тыс. долларов. Это, по меньшей мере, в 6-7 раз больше среднестатистического ущерба от вооруженного ограбления банка.
Имеющая место своеобразная политика умалчивания объясняется нежеланием администраторов системы обсуждать с кем-либо подробности несанкционированного доступа в свои сети, чтобы не провоцировать повторения инцидентов и не раскрывать своих методов защиты, которые не всегда бывают действенны.
Сегодня угроза взлома компьютерных сетей исходит от трех категории компьютерных преступников, каждой из которых присущи свои методы: 1) лица, руководствующиеся соревновательными побуждениями и, как правило, не наносящие ущерба компьютерам, в которые им удалось проникнуть; 2) электронные «взломщики», которые специализируются на взломе программ в корыстных личных целях, как правило применяют готовые программы взлома, распространяемые по сети Internet; 3) компьютерные пираты — это высококлассные специалисты фирм и компаний, занимающиеся хищением информации по заказам конкурирующих фирм и даже иностранных спецслужб, практикующие также изъятие денежных средств с чужих банковских счетов.
Вирусные атаки
Компьютерные вирусы теперь способны делать то же, что и настоящие вирусы: переходить с одного объекта на другой, изменять способы атаки и мутировать, чтобы проскользнуть мимо выставленных против них защитных кордонов.
Между появлением новых компьютерных вирусов и их «лечением» поставщиками антивирусных средств проходит какое-то время. Поэтому необходимо знать, что случится, если новый не идентифицированный вирус попадает в вашу сеть, насколько быстро поможет антивирусное решение, скоро ли эта помощь достигнет всех клиентских настольных систем и как не допустить распространения такой заразы.
До широкого распространения Internet-вирусов было относительно немного, и они передавались преимущественно на дискетах. Вирусы достаточно просто было выявить и составить их список после того, как они проявили себя и нанесли вред. Если такой список содержал распознаваемые строки байт (сигнатуры) из программного кода, составляющего вирус, то любой файл (или загрузочный сектор) можно было достаточно быстро просмотреть на предмет наличия такой строки. В случае ее обнаружения файл с большой степенью вероятности содержал вирус.
Этот метод применяется и до сих пор. Проверка сигнатур вирусов пока является наилучшим способом защиты системы от вирусов. Конечно, такой подход означает, что кто-то где-то был успешно атакован вирусом, когда вирус был еще неизвестен. Это является серьезной причиной для беспокойства, потому что сегодня вирусы распространяются с электронной почтой, а не через дискеты, а электронная почта — гораздо более быстрое и надежное средство обмена информацией.
При распространении вирусов с помощью электронной почты тысячи компьютеров могут быть инфицированы за несколько часов, поэтому просто не остается времени на неспешное выяснение, что некий код действительно является вирусом, помещение его в следующий набор сигнатур вирусов и отправку с очередным обновлением антивирусного продукта.
Не все вирусы представляют опасность для данных, находящихся на зараженных машинах. Однако все больше опасных инфекций оказываются смертельными. Конечно, доля вирусов, намеренно уничтожающих данные, невелика, но общее их число растет отчасти потому, что писать вирусы стало намного проще.
Макровирусы, являющиеся текстовыми компонентами обычного офисного приложения (например, Microsoft Word), и которые инициируются автоматическими задачами внутри этих приложений, сегодня представляют серьезнейшую угрозу. Существуют также более сложные варианты — полиморфные и скрытые вирусы, которые мимикрируют, меняя свою внутреннюю структуру.
Помимо вирусов, очень опасны другие типы вредоносного программного обеспечения:
– троянские кони;
– черви;
– враждебные апплеты Java.
Троянский конь, представляет собой программу, которая на первый взгляд абсолютно безвредна, но имеет скрытую функцию, способную нанести вред компьютеру. Троянский конь обычного типа часто распространяется по электронной почте с целью скопировать пароль доступа компьютера, а затем пересылает украденные данные анонимному получателю.
Черви используют такие компьютерные ресурсы, как память и сетевая полоса пропускания, замедляя работу и компьютеров, и серверов. Кроме того, черви иногда удаляют данные и быстро распространяются по электронной почте.
Враждебные апплеты Java служат для захвата информации или наносят ущерб компьютерам пользователей, которые посещают Web-узлы конкурентов. Пользователь может стать жертвой таких программ, когда щелкает на ссылке, полученной им по электронной почте. Хотя до сих пор враждебные апплеты не наносили серьезного ущерба, именно от них в будущем стоит ждать самых страшных разрушений.
В настоящее время появились вирусы, способные не только распространятся в больших масштабах, но и отправлять во все концы света не только себя самого, но и произвольные части файлов, находящихся на жестком диске зараженного компьютера. А файлы эти могут быть любые, в том числе и те, которые вы бы не хотели показать посторонним.
Взлом парольной защиты операционных систем
Атаки на компьютерные системы не знают государственных границ. Идет постоянная виртуальная война, в ходе которой организованности системных администраторов противостоит изобретательность компьютерных взломщиков. Наиболее опасным при этом является взлом парольной защиты операционных систем, которые содержат системный файл с паролями пользователей сети.
Иногда злоумышленнику удается путем различных ухищрений получить в свое распоряжение файл с именами пользователей и их зашифрованными паролями. И тогда ему на помощь приходят специализированные программы, так называемые парольные взломщики.
Криптографические алгоритмы, применяемые для шифрования паролей пользователей в современных операционных системах, в подавляющем большинстве случаев являются слишком стойкими, чтобы можно было надеяться отыскать методы их дешифрования, которые окажутся более эффективными, чем тривиальный перебор возможных вариантов. Поэтому парольные взломщики иногда просто шифруют все пароли с использованием того же самого криптографического алгоритма, который применяется для их засекречивания в атакуемой операционной системе, и сравнивают результаты шифрования с тем, что записано в системном файле, содержащем шифрованные пароли ее пользователей. При этом в качестве вариантов паролей парольные взломщики используют символьные последовательности, автоматически генерируемые из некоторого набора символов.
Данный способ позволяет взломать все пароли, если они содержат только символы из данного набора и известно их представление в зашифрованном виде. Поскольку приходится перебирать очень много комбинаций, число которых растет экспоненциально с увеличением числа символов в исходном наборе, такие атаки парольной защиты операционной системы могут занимать слишком много времени. Однако хорошо известно, что большинство пользователей операционных систем не затрудняют себя выбором стойких паролей (т. е. таких, которые трудно узнать). Поэтому для более эффективного подбора паролей парольные взломщики обычно используют так называемые словари, представляющие собой заранее сформированный список слов, наиболее часто применяемых на практике в качестве паролей. На сегодняшний день в Internet существует несколько депозитариев словарей для парольных взломщиков.
Типовые способы удаленных атак на информацию в сети
Злоумышленники могут предпринимать удаленные атаки на компьютерные сети. Строятся такие атаки на основе знаний о протоколах, используемых в сети Internet. В результате успех атаки не зависит от того, какую именно программно-аппаратную платформу использует пользователь. Кроме того, существуют еще и внутренние атаки на информацию в компьютерных сетях.
За счет того, что все атаки построены на основе некоторого конечного числа базовых принципов работы сети Internet, становится возможным выделить типовые удаленные атаки и предложить некоторые типовые комплексы мер противодействия им.
Наиболее типовыми удаленными атаками на информацию в сети из-за несовершенства Internet-протоколов являются:
– анализ сетевого трафика сети;
– внедрение ложного объекта сети;
– внедрение ложного маршрута.
При анализе сетевого трафика используется уязвимость некоторых протоколов (например, таких как POP3 — протокол передачи сообщений электронной почты, или FTP — протокол передачи файлов), заключающаяся в том, что пароли и идентификаторы пользователей сети передаются в открытом, незашифрованном виде.
При внедрении ложного объекта используются уязвимости протокола ARP и системы разрешения доменных имен DNS. Используя эти уязвимости злоумышленник может перехватывать и модифицировать сетевой трафик таким образом, что при обращении пользователя к некоторому серверу, он будет автоматически перенаправляться на ложный "внедренному" сервер.
Изменение маршрута — не что иное, как внедрение атакующего ложного хоста. Даже если конечный объект будет истинным, маршрут можно построить таким образом, чтобы информация все равно проходила через ложный хост. Для изменения маршрута атакующему необходимо послать по сети специальные служебные сообщения. В результате успешного изменения маршрута атакующий получит полный контроль над потоком информации, которым обмениваются два объекта распределенной сети, и затем может перехватывать информацию, анализировать, модифицировать ее, а то и просто удалять.
Распределенные атаки на отказ от обслуживания
Атаки на отказ от обслуживания, нацеленные на конкретные Web-узлы, вызывают переполнение последних за счет преднамеренного направления на них Internet-трафика большого объема.
Распределенные атаки на отказ от обслуживания — DDoS (Distributed Denial of Service) — сравнительно новая разновидность компьютерных преступлений. Но распространяется она с пугающей скоростью.
При обычной сетевой атаке на отказ от обслуживания хакер использует инструментарий для посылки пакетов выбранной им системе. Эти пакеты должны вызвать переполнение и сбой на целевой системе и спровоцировать ее перезагрузку. Довольно часто адрес отправителя таких пакетов искажается, в силу чего обнаружить реальный источник атаки оказывается крайне трудно. Изменить адрес отправителя ничего не стоит, поскольку от жертвы не требуется ответных сообщений.
Организация атаки DDoS по-прежнему под силу одному хакеру, но эффект такой атаки значительно усиливается за счет использования нескольких атакующих серверов (агентов), которыми удаленно управляет хакер.
Основными источниками и объектами атак DDoS до сих пор были некоммерческие узлы. Большинство компаний имеют межсетевые экраны, которые помогают предотвратить проникновение на узлы с целью их использования для распределения агентов или в качестве хостов для самих агентов. Однако если межсетевой экран плохо сконфигурирован, это равносильно его отсутствию, поэтому сам факт установки экрана вовсе не гарантирует надежную защиту.
Если атака DDoS началась, остановить ее очень сложно. Пакеты, появляющиеся на вашем межсетевом экране, можно здесь блокировать, но они могут столь же легко и переполнить вход вашего Internet-соединения. Если адреса отправителей этих пакетов не были искажены, можно попытаться связаться с задействованными системами и попросить их отключить агентов.
Из-за огромного числа систем, вовлеченных в атаки DDoS, попытки прекратить эти атаки практически обречены на провал. Однако существуют превентивные меры, предпринимая которые можно вообще не допустить подобных нападений. Учитывая, что атаки начинаются с поиска тысяч уязвимых систем, подключенных к Internet, и последующим проникновением в них, обновление системы защиты таких систем может предотвратить проникновение и, как следствие, вывести такие системы из числа возможных агентов организации атаки.
Методы сбора сведений для вторжения в сеть
Для осуществления несанкционированного доступа в компьютерную сеть требуется, как правило, провести два подготовительных этапа:
собрать сведения о системе, используя различные методы;
выполнить пробные попытки войти в систему.
Многие владельцы систем часто не представляют, какую кропотливую подготовительную работу должен провести нарушитель чтобы проникнуть в ту или иную компьютерную систему. Поэтому они самонадеянно полагают: чтобы защитить файл, необходимо только указать для него пароль, и забывают, что любая информация о тех или иных слабых местах системы может помочь злоумышленнику найти лазейку и обойти пароль, получив доступ к файлу. Таким образом, информация становится легко доступной, если злоумышленник знает, где и что смотреть. Так, даже простая брошюра, описывающая возможности системы, может оказаться весьма полезной хакеру, который не знаком с системой, и может послужить ключом для вхождения в систему.
Следует учитывать, что в зависимости от профессионализма злоумышленника и поставленных им целей возможны различные направления сбора сведений:
подбор соучастников;
анализ периодических изданий, ведомственных бюллетеней, документации и распечаток;
перехват сообщений электронной почты;
подслушивание разговоров, телексов, телефонов;
перехват информации и электромагнитного излучения;
организация краж;
вымогательство и взятки.
Подбор соучастников требует большой и кропотливой работы. Он основан на подслушивании разговоров в барах, фойе отелей, ресторанах, такси, подключении к телефонам и телексам, изучении содержимого потерянных портфелей и документов. Иного полезную информацию можно извлечь, если предоставляется возможность подсесть к группе программистов, например, в баре. Этот способ часто используют репортеры и профессиональные агенты.
Хакеры могут почерпнуть много полезной информации из газет и других периодических изданий, телевизионных и радиопередач. Это один из наиболее эффективных и наименее рискованных путей получения конфиденциальной информации. Многочисленные фирмы все еще теряют информацию со своих компьютерных систем, ошибочно полагая, во-первых, что она не содержит конфиденциальной информации, и, во-вторых, что все черновые распечатки добросовестно уничтожаются.
Перехват сообщений электронной почты производится с помощью компьютера. Обычно для подключения к электронной почте используется бытовой компьютер с модемом, обеспечивающим телефонную связь.
Долгое время считалось, что о перехвате сообщений может идти речь лишь в связи с деятельностью военных или секретных служб. Благодаря тому, что число фирм, оснащенных вычислительной техникой, постоянно растет, перехват сообщений стал весьма реальной угрозой и для коммерческого мира. Спектр возможных перехватов весьма широк:
перехват устных сообщений с использованием радиопередатчиков, микрофонов и микроволновых устройств;
подслушивание сообщений, передаваемых по телефону, телексу и другим каналам передачи данных;
контроль за электромагнитным излучением от дисплеев;
перехват спутниковых или микроволновых передач.
Установкой радиопередатчиков, микрофонов и микроволновых устройств или прослушиванием линий связи обычно занимаются профессиональные хакеры, а также предприимчивые любители и специалисты по системам связи. В последнее время число случаев установки таких устройств возросло. Излюбленными точками бесконтрольного доступа являются телефонные линии.
Администраторы и менеджеры некоторых фирм имеют возможность брать работу домой или при необходимости связываться и передавать информацию по телефонным каналам в банк данных фирмы. Торговые агенты могут совершать сделки, используя терминалы в номерах отелей, или получать доступ к информации непосредственно из салона автомобиля. Это создает почву для кражи информации непосредственно в домах, автомобилях и отелях с целью вхождения в вычислительную систему.
Преступный мир традиционно играет на таких человеческих слабостях и несчастьях, как чрезмерное увлечение азартными играми, семейные неурядицы, трудноразрешимые финансовые проблемы, долги, оплата медицинских счетов и т. п. Часто посещая бары, казино, скачки, нанятые хакерами информаторы быстро выявляют людей, готовых идти на контакт. К сожалению, большинство фирм не предусматривает ни штата сотрудников по безопасности, ни каких-либо дисциплинарных процедур, чтобы обнаружить, помешать или снизить риск от действий служащих, попавших под влияние хакеров.
И наконец, получив необходимый объем предварительной информации, компьютерный хакер делает следующий шаг: вторгается в систему. Используемые при этом средства будут зависеть от количества информации, имеющейся в его распоряжении.
Модель нарушителя безопасности информации
Попытка получить несанкционированный доступ к компьютерным сетям с целью ознакомиться с ними, оставить записку, выполнить, уничтожить, изменить или похитить программу или иную информацию квалифицируется как компьютерное пиратство.
Удивительно мало фирм, где руководство верит в то, что их фирма может пострадать от хакеров, и еще меньше таких, где анализировались возможные угрозы и обеспечивалась защита компьютерных систем. Они не осознают серьезной опасности, исходящей от профессиональных программистов или обиженных руководителей, поскольку не понимают мотивов, которыми руководствуются эти люди при совершении компьютерных пиратств.
Для предотвращения возможных угроз фирмы должны не только обеспечить защиту операционных систем, программного обеспечения и контроль доступа, но и попытаться выявить категории нарушителей и те методы, которые они используют.
В зависимости от мотивов, целей и методов, действия нарушителей безопасности информации можно разделить на четыре категории:
– искатели приключений;
– идейные хакеры;
– хакеры-профессионалы;
– ненадежные (неблагополучные) сотрудники.
Искатель приключений, как правило, молод: очень часто это студент или старшеклассник, и у него редко имеется продуманный план атаки. Он выбирает цель случайным образом и обычно отступает, столкнувшись с трудностями. Найдя дыру в системе безопасности, он старается собрать закрытую информацию, но практически никогда не пытается ее тайно изменить. Своими победами такой искатель приключений делится только со своими близкими друзьями-коллегами.
Идейный хакер — это тот же искатель приключений, но более искусный. Он уже выбирает себе конкретные цели на основании своих убеждений. Его излюбленным видом атаки является изменение информационного наполнения Web-сервера или, в более редких случаях, блокирование работы атакуемого ресурса. По сравнению с искателем приключений, идейный хакер рассказывает об успешных; атаках гораздо более широкой аудитории.
Хакер-профессионал имеет четкий план действий и нацеливается на определенные ресурсы. Его атаки хорошо продуманы и обычно осуществляются в несколько этапов. Сначала он собирает предварительную информацию (тип ОС, предоставляемые сервисы и применяемые меры защиты). Затем он составляет план атаки с учетом собранных данных и подбирает (или даже разрабатывает) соответствующие инструменты. Далее, проведя атаку, он получает закрытую информацию, и, наконец, уничтожает все следы своих действий. Такой атакующий профессионал обычно хорошо финансируется и может работать в одиночку или в составе команды профессионалов.
Ненадежный (неблагополучный) сотрудник своими действиями может доставить столько же проблем (или даже больше), сколько промышленный шпион, к тому же его присутствие обычно сложнее обнаружить. Кроме того, ему приходится преодолевать не внешнюю защиту сети, а только, как правило, менее жесткую внутреннюю. Он не так изощрен в способах атаки, как промышленный шпион, и поэтому чаще допускает ошибки и тем самым может выдать свое присутствие. Однако в этом случае опасность его несанкционированного доступа к корпоративным данным много выше, чем любого другого злоумышленника.
Перечисленные категории нарушителей безопасности информации можно сгруппировать по их квалификации: начинающий (искатель приключений), специалист (идейный хакер, ненадежный сотрудник), профессионал (хакер-профессионал). А если с этими группами сопоставить мотивы нарушения безопасности и техническую оснащенность каждой группы, то можно получить обобщенную модель нарушителя безопасности информации, как это показано на рис. 1.5.
Нарушитель безопасности информации, как правило, являясь специалистом определенной квалификации, пытается узнать все о компьютерных системах и сетях и, в частности, о средствах их защиты. Поэтому модель нарушителя определяет:
– категории лиц, в числе которых может оказаться нарушитель;
– возможные цели нарушителя и их градации по степени важности и опасности;
– предположения о его квалификации;
– оценка его технической вооруженности;
– ограничения и предположения о характере его действий.
До недавнего времени вызывали беспокойство случаи, когда недовольные руководителем служащие, злоупотребляя своим положением, портили системы, допуская к ним посторонних или оставляя системы без присмотра в рабочем состоянии. Побудительными мотивами таких действий являются:
– реакция на выговор или замечание со стороны руководителя;
– недовольство тем, что фирма не оплатила сверхурочные часы работы;
– злой умысел в качестве, например, реванша с целью ослабить фирму как конкурента какой-либо вновь создаваемой фирмы.
Недовольный руководителем служащий создает одну из самых больших угроз вычислительным системам коллективного пользования. Это обусловлено еще и тем, что агентства по борьбе с хакерами с большей охотой обслуживают владельцев индивидуальных компьютеров.
Профессиональные хакеры — это компьютерные фанаты, прекрасно знающие вычислительную технику и системы связи. Они затратили массу времени на обдумывание способов проникновения в системы и еще больше, экспериментируя с самими системами. Для вхождения в систему профессионалы чаще всего используют некоторую систематику и эксперименты, а не рассчитывают на удачу или догадку. Их цель — выявить и преодолеть защиту, изучить возможности вычислительной установки и затем удалиться, утвердившись в возможности достижения своей цели. Благодаря высокой квалификации эти люди понимают, что степень риска мала, так как отсутствуют мотивы разрушения или хищения.
К категории хакеров-профессионалов обычно относят следующих лиц:
– входящих в преступные группировки, преследующие политические цели;
– стремящихся получить информацию в целях промышленного шпионажа;
– хакер или группировки хакеров, стремящихся к наживе.
Компьютерные махинации обычно тщательно спланированы и совершаются со знанием дела. Мотивом нарушений, как правило, служат большие деньги, которые можно было получить, практически не рискуя. Вообще профессиональные пираты стремятся свести риск к минимуму. Для этого они привлекают к соучастию работающих или недавно уволившихся с фирмы служащих, поскольку для постороннего риск быть обнаруженным при проникновении в банковские системы весьма велик.
Сегодня, когда Internet уже стучится в дверь каждого дома, хакеры становятся настоящим бедствием для государственных и корпоративных компьютерных сетей.
2. ПРОБЛЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ. Часть 1.
Концентрация информации в компьютерах заставляет одних все более усиливать поиски путей доступа к информации, а других, соответственно, усиливать контроль над ней в целях защиты. Национальная безопасность, юридические вопросы, частная тайна — все это требует усиления внутреннего контроля в правительственных и коммерческих организациях. Работы в этом направлении привели к появлению новой дисциплины — безопасность информации.
Специалист в области безопасности информации отвечает за разработку, реализацию и эксплуатацию системы обеспечения информационной безопасности, направленной на поддержание целостности, пригодности и конфиденциальности данных, накопленных в организации. В его функции входит обеспечение физической (технические средства, линии связи и удаленные компьютеры) и логической (сами данные, прикладные программы, операционная система) защиты информационных ресурсов.
Сложность создания системы защиты информации определяется тем, что данные могут быть похищены из компьютера, одновременно оставаясь на месте. Ценность некоторых данных заключается в обладании ими, а не в их уничтожении или изменении.
Обеспечение безопасности информации — дело дорогостоящее, и не столько из-за затрат на закупку или установку различных технических или программных средств, сколько из-за того, что трудно квалифицированно определить границы разумной безопасности и соответствующего поддержания системы в работоспособном состоянии.
Обеспечение безопасности информации в компьютерных сетях предполагает создание препятствий для любых несанкционированных попыток хищения или модификации данных, передаваемых в сети. При этом очень важно сохранить такие свойства информации, как:
– доступность;
– целостность;
– конфиденциальность.
Доступность информации — это ее свойство, характеризующее способность обеспечивать своевременный и беспрепятственный доступ пользователей к интересующей их информации.
Целостность информации заключается в ее существовании в неискаженном виде (неизменном по отношению к некоторому фиксированному ее состоянию).
Конфиденциальность — это свойство, указывающее на необходимость введения ограничений доступа к данной информации для определенного круга пользователей.
Проблема безопасности сети для нашей страны является очень важной и актуальной. Однако, в силу относительной новизны информационных технологий, а также того, что Internet, благодаря своей структуре, не требует высокой квалификации пользователей, сложилась довольно опасная ситуация, когда большинство работающих в Internet имеют весьма слабое представление о том, насколько опасной может оказаться эта работа.
Правовые, организационные и технические аспекты информатизации государственных и коммерческих структур находятся в неразрывной связи с обеспечением безопасности информационных ресурсов. Достижение баланса интересов личности, общества и государства в информационной сфере является краеугольным камнем национальных интересов России.
Характеристика угроз безопасности информации
Неправомерное искажение, фальсификация, уничтожение или разглашение конфиденциальной информации в любой сети может нанести серьезный, а иногда и непоправимый, материальный или моральный урон многим субъектам в процессе их взаимодействия. В этом случае весьма важным является обеспечение безопасности информации без ущерба для интересов тех, кому она предназначена.
Чтобы обеспечить гарантированную защиту информации в компьютерных системах обработки данных, нужно, прежде всего, сформулировать цели защиты информации и определить перечень необходимых мер, обеспечивающих защиту. А для этого необходимо в первую очередь рассмотреть и систематизировать все возможные факторы (угрозы), которые могут привести к потере или искажению исходной информации.
Одно из основных базовых понятий — это угроза безопасности компьютерной системы, т. е. потенциально возможное происшествие (преднамеренное или случайное), которое может оказать нежелательное воздействие на саму систему, а также на информацию, хранящуюся в ней.
Иными словами, под угрозой понимается событие (воздействие), которое в случае своей реализации становится причиной нарушения целостности информации, ее потери или замены. Угрозы могут быть как случайными, так и умышленными (преднамеренно создаваемыми).
К случайным угрозам относятся:
– ошибки обслуживающего персонала и пользователей;
– потеря информации, обусловленная неправильным хранением архивных данных;
– случайное уничтожение или изменение данных;
– сбои кабельной системы;
– перебои электропитания;
– сбои дисковых систем;
– сбои систем архивирования данных;
– сбои работы серверов, рабочих станций, сетевых карт и т. д.;
– некорректная работа программного обеспечения;
– изменение данных при ошибках в программном обеспечении;
– заражение системы компьютерными вирусами;
– несанкционированный доступ;
– случайное ознакомление с конфиденциальной информацией посторонних лиц.
Зачастую ущерб наносится не из-за чьего-то злого умысла, а просто по причине элементарных ошибок пользователей, которые случайно портят или удаляют данные, жизненно важные для системы. В связи с этим, помимо контроля доступа, необходимым элементом защиты информации в компьютерных сетях является разграничение полномочий пользователей. Кроме того, вероятность ошибок обслуживающего персонала и пользователей сети может быть значительно уменьшена, если их правильно обучать и, кроме того, периодически контролировать их действия со стороны, например, администратора безопасности сети.
Одними из трудно предсказуемых источников угроз информации являются аварии и стихийные бедствия. Но и в этих случаях сохранение информации можно обеспечить использованием различные средства.
Наиболее надежное средство предотвращения потерь информации при кратковременном отключении электроэнергии — установка источников бесперебойного питания (UPS). Также в некоторых случаях целесообразно установка станций резервного питания электричеством.
Основной, наиболее распространенный, метод защиты информации и оборудования от стихийных бедствий (пожаров, землетрясений, наводнений и т. п.) состоит в создании и хранении архивных копий данных, в том числе, в размещении некоторых сетевых устройств, например, серверов баз данных, в специальных защищенных помещениях, расположенных, как правило, в других зданиях, либо, реже, в другом районе города или в даже другом городе.
Особенностью компьютерной неосторожности является то, что безошибочных программ в принципе не бывает. Если проект практически в любой области техники можно выполнить с огромным запасом надежности, то в области программирования такая надежность весьма условна, а иногда почти не достижима. И это касается не только отдельных программ, но и целого ряда программных продуктов фирм, известных во всем мире.
Из-за недостатков в некоторых аппаратных и программных продуктах, связанных с обеспечением безопасности данных в сетях, хакеры в некоторых случаях могут захватывать личные ключи шифров пользователей или же использовать администраторские учетные записи, предусмотренные производителями по умолчанию, для получения доступа к интересующей закрытой информации..
На сегодняшний день дополнительно к тысячам уже известных вирусов появляется 100—150 новых вариантов вирусов ежемесячно. Наиболее распространенным методом защиты от вирусов до сих пор остается использование различных антивирусных программ.
Уровень указанных угроз в значительной мере снижается за счет повышения квалификации обслуживающего персонала и пользователей, а также надежности аппаратно-программных и технических средств.
Однако наиболее опасным источником угроз информации являются преднамеренные действия злоумышленников. Спектр их противоправных действий достаточно широк, а итогом их вмешательства в процесс взаимодействия пользователей сети является разглашение, фальсификация, незаконное тиражирование или уничтожение конфиденциальной информации.
Стандартность архитектурных принципов построения оборудования и программ обеспечивает сравнительно легкий доступ профессионала к информации, находящейся в персональном компьютере. Ограничение доступа к ПК путем введения кодов не гарантирует стопроцентную защиту информации.
Включить компьютер и снять код доступа к системе не вызывает особых затруднений: достаточно отключить аккумулятор на материнской плате. На некоторых моделях материнских плат для этого предусмотрен специальный переключатель. Также многие изготовители программы BIOS предусматривают коды, имеющие приоритет перед любыми пользовательскими, набрав которые можно получить доступ к системе. В крайнем случае можно украсть системный блок компьютера или извлечь жесткий диск и уже в спокойной обстановке получить доступ к необходимой информации.
К угрозам, преднамеренно создаваемым злоумышленником или группой лиц (умышленные угрозы) относятся:
– несанкционированный доступ к информации и сетевым ресурсам;
– раскрытие и модификация данных и программ, их копирование;
– раскрытие, модификация или подмена трафика вычислительной сети;
– разработка и распространение компьютерных вирусов, ввод в программное обеспечение логических бомб;
– кража магнитных носителей и расчетных документов;
– разрушение архивной информации или умышленное ее уничтожение;
– фальсификация сообщений, отказ от факта получения информации или изменение времени ее приема;
–
перехват и ознакомление с информацией, передаваемой по каналам связи, и т. п.
Второе базовое понятие — это уязвимость компьютерной системы, т. е. характеристика, которая делает возможным возникновение угрозы. При этом, чем уязвимее система, тем вероятнее успех удаленной атаки на нее.
Собственно атака на компьютерную систему — это поиск и использование злоумышленником уязвимости системы. Другими словами, атака — это реализация угрозы. Второе определение точнее, так как в общем случае система должна быть устойчива как к случайным, так и к преднамеренным враждебным воздействиям.
Можно выделить три основных вида угроз безопасности: угрозы раскрытия (нарушение конфиденциальности), целостности (нарушения целостности) и отказа в обслуживании (нарушение доступности).
Угроза раскрытия заключается в том, что информация становится известной тому, кому не следует ее знать. В терминах компьютерной безопасности угроза раскрытия имеет место всегда, когда получен доступ к некоторой конфиденциальной информации, хранящейся в вычислительной системе или передаваемой от одной системы к другой. Вместо слова «раскрытие» также используются термины «кража» или «утечка».
Раскрытие информации — это не только несанкционированное чтение ваших документов или электронной почты. Прежде всего, это перехват и расшифровка сетевых пакетов, другими словами, анализ трафика. Обычно с реализацией этой угрозы и начинается большинство серьезных атак. Реализуя данную угрозу взломщик способен выяснить пароли системы. А зная пароли, можно удаленно обращаться к системе без всяких дополнительных ухищрений, войти в нее с вашими правами и реализовать все остальные угрозы. Поэтому, даже если информацию не является конфиденциальной, она все равно нуждается в защите (угроза целостности).
Угроза нарушения целостности включает в себя любое изменение (модификацию или даже удаление) данных, хранящихся в вычислительной системе или передаваемых из одной системы в другую.
Угроза отказа в обслуживании возникает всякий раз, когда в результате некоторых действий блокируется доступ к некоторому ресурсу вычислительной системы. Реально блокирование может быть постоянным, чтобы запрашиваемый ресурс никогда не был получен, или вызвать только задержку запрашиваемого ресурса, но достаточно долгую для того, чтобы он снизил свою ценность для пользователя.
Например, работа большинства пользователей компьютерной сети может быть заблокирована в случае реализации угрозы отказа в обслуживании на систему авторизации, использующуюся для организации разграничения доступа к сетевым ресурсам.
Проблема информационной безопасности постоянно усугубляется процессами проникновения технических средств обработки и передачи данных практически во все сферы и, прежде всего в информационно-вычислительные системы. Десятилетие назад, когда компьютеры еще не были объединены в сети, единственной возможностью несанкционированного доступа к информации было знание пароля, который можно было получить от небрежного пользователя или подобрать. Именно несанкционированный доступ к компьютерам и информации, как правило, позволяет реализовать другие виды угроз.
Несанкционированный доступ к информации и его цели
Способ несанкционированного доступа (способ НСД) —совокупность приемов и порядок действий с целью получения (добывания) охраняемых сведений незаконным противоправным путем и обеспечения возможности воздействовать на эту информацию (например, подменить, уничтожить и т. п.).
Существующие в настоящее время способы НСД к информации многообразны: применение специальных технических устройств, использование недостатков вычислительных систем и получение секретных сведений о защищаемых данных, как показано на рис. 2.3. Более того, способы НСД связаны с особенностями источников конфиденциальной информации.
Как разнообразны источники, так и способы несанкционированного доступа к ним различны:
Не вдаваясь в сущность каждого способа, видно, что значительная их часть применима к таким источникам, как люди, технические средства обработки информации и документы. Другие, хотя и реже используемые (в смысле количества источников), никак нельзя отнести к менее опасным. Степень же опасности каждого способа НСД определяется, прежде всего, нанесенным ущербом.
Поскольку информация имеет цену, то уже сам факт получения информации злоумышленником приносит ему определенный доход, таким способом ослабляя возможности конкурента. Отсюда главная цель — получение информации о составе, состоянии и деятельности объекта конфиденциальных интересов для удовлетворения своих информационных потребностей.
Другая корыстная цель — изменение информации, циркулирующей на объекте конфиденциальных интересов. Такое действие может привести к дезинформации по определенным сферам деятельности, учетным данным, результатам решения некоторых задач. Однако отдельные ложные сведения не всегда могут дать положительный эффект. Кроме того, они просто могут раскрыть намерения злоумышленника провести модификацию или дезинформацию.
Самая опасная цель — уничтожение накопленных информационных массивов в документальной или магнитной форме и программных продуктов. Уничтожение — это противоправное действие, направленное на нанесение материального и информационного ущерба конкуренту со стороны злоумышленника.
Таким образом, злоумышленник преследует три цели:
– получить необходимую информацию в требуемом для конкурентной борьбы объеме и ассортименте;
– иметь возможность вносить изменения в информационные потоки конкурента в соответствии со своими интересами;
– нанести ущерб конкуренту путем уничтожения материала информационных ценностей.
Все перечисленные цели подразумевают получение доступа к определенной информации. За исключением обработки информации, получаемой из открытых источников, доступ этот носит негласный, а следовательно, несанкционированный характер.
Способы НСД к информации через технические средства
Каждая электронная система, содержащая в себе совокупность элементов, узлов и проводников, обладает источниками информационного сигнала и, естественно, каналами утечки конфиденциальной информации. Утечка информации через технические средства может происходить, например, за счет:
микрофонного эффекта элементов электронных схем;
магнитной составляющей поля электронных схем и устройств различного назначения и исполнения;
электромагнитного излучения низкой и высокой частоты;
возникновения паразитной генерации усилителей различного назначения;
наводок по цепям питания электронных систем;
наводок по цепям заземления электронных систем;
взаимного влияния проводов и линий связи;
высокочастотного навязывания мощных радиоэлектронных средств и систем;
подключения к волоконно-оптическим системам связи.
Каналы утечки информации и способы несанкционированного доступа к источникам конфиденциальной информации объективно взаимосвязаны. Каждому каналу соответствует определенный способ НСД.
Вариант взаимосвязи способов несанкционированного доступа к объектам и источникам охраняемой информации и каналов утечки конфиденциальной информации приведен в табл. 2.1.
Таблица 2. 1 . Взаимосвязь способов НСД и каналов утечки информации.
Способ несанкционированного доступа
Тип канала утечки информации
Визуальный
Акустический
Электромагнитный (магнитный, электрический)
Материально-вещественные
Подслушивание
+
+
Визуальное наблюдение
+
Хищение
+
+
Копирование
+
+
Подделка
+
+
Незаконное подключение
+
+
Перехват
+
+
Фотографирование
+
Итого по виду канала
2
3
6
3
Видно, что наиболее опасными являются электромагнитные каналы утечки информации.
Имея современные технические средства, любая информационная система может оперативно и в полном объеме удовлетворять информационные потребности пользователей. Чем больше средств, тем успешнее работает система. Однако любые технические средства по своей природе потенциально обладают техническими каналами утечки информации. Это расширяет возможности не только в плане использования их конкурентами в криминальных интересах, но и предоставляет дополнительные возможности по несанкционированному доступу к источникам конфиденциальной информации через технические средства информационных систем.
Противоправные действия злоумышленников, направленные на добывание информации, реализуются пассивными и активными способами. К пассивным можно отнести использование технических каналов утечки информации без непосредственного контакта или подключения к источнику информации. Эти способы ориентированы, как правило, только на получение информации. К активным относятся такие способы НСД, как незаконное подключение к каналам, проводам и линиям связи, высокочастотное навязывание, установка в технические средства микрофонных и телефонных радиозакладок, а также несанкционированный доступ к информации, отрабатываемой на ПК, ее копирование, модификация, хищение, визуальное наблюдение экранов и т. д.
Каналы связи, по которым передается компьютерная информация, подразделяются на:
проводные;
волоконно-оптические;
беспроводные (радиотехнические).
Наиболее часто для передачи информации применяются телефонные линии в качестве проводных линий связи. Это связано с тем, что большинство компьютеров используют для передачи данных модемы, подключенные к телефонной линии. При этом способы подслушивания линии, связывающей компьютеры, включают в себя:
- непосредственное подключение к телефонной линии:
o контактное — последовательное или параллельное (прямо на АТС или где-нибудь на линии между телефонным аппаратом и АТС);
o бесконтактное (индукционное) подключение к телефонной линии;
- помещение радиоретранслятора («жучка») на телефонной линии:
o последовательное включение;
o параллельное включение.
В основном эти способы применяются для прослушивания телефонных разговоров, по причине того, что прослушивание компьютерного обмена данными требует значительных затрат ресурсов на его расшифровку. Несмотря на это, в настоящее время появились системы перехвата факсовой и модемной связи, которые при использовании персонального компьютера со специальным программным обеспечением позволяют расшифровать информацию, перехваченную информацию.
Программисты иногда допускают ошибки в программах, которые не удается обнаружить в процессе отладки. Авторы больших сложных программ могут не заметить некоторых слабостей логики их работы. Обычно слабости все-таки выявляются при проверке, редактировании, отладке программы, но абсолютно избавиться от них невозможно. Кроме того, уязвимые места иногда обнаруживаются и в электронных цепях, особенно в системах связи и передачи данных. Все эти небрежности и ошибки приводят к появлению существенных «брешей» в системах защиты информации.
Бывает, что некто проникает в компьютерную систему, выдавая себя за законного пользователя. Системы, которые не обладают средствами аутентичной идентификации (например, по физиологическим характеристикам: по отпечаткам пальцев, по рисунку сетчатки глаза, голосу и т. п.), оказываются без защиты против этого приема. Самый простейший путь его осуществления — получение кодов и других идентифицирующих шифров законных пользователей. Это может производиться следующими способами:
– приобретением (обычно подкупом персонала) списка пользователей со всей необходимой информацией;
– обнаружением такого документа в организациях, где не налажен достаточный контроль за их хранением;
– подслушиванием через телефонные линии.
К уязвимым местам в вычислительных сетях относятся:
– применение компьютеров, не имеющих парольной защиты во время загрузки;
– использование совместных или легко вскрываемых паролей;
– хранение паролей в пакетных файлах и на дисках компьютеров;
– отсутствие установления подлинности пользователя в реальном масштабе времени;
– отсутствие или низкая эффективность систем идентификации и аутентификации пользователей;
– недостаточность физического контроля за сетевыми устройствами;
– отсутствие отключения терминала при многочисленных неудачных попытках установления сеанса связи, а также регистрации таких попыток;
– незащищенность модемов.
Для защиты компьютерных сетей или отдельных компьютеров от несанкционированного использования применяются три основных вида контроля доступа, основанных на:
– владении физическим ключом;
– личностных характеристиках пользователя;
– обладании специфической информацией.
Когда говорят о контроле доступа, основанном на владении физическим ключом, речь идет о предметах, принадлежащих пользователю: физическом ключе, магнитной карте, металлической пластинке причудливой формы, которую вставляют перед началом работы в щель распознавателя.
Для контроля доступа, основанного на личностных характеристиках пользователя, используются биометрические приборы, анализирующие специфические физические особенности пользователя (подпись, тембр голоса, отпечатки пальцев, рисунок линий на ладони или на сетчатке глаза и т. п.) и сравнивают их с теми, что находятся в памяти приборов.
Компьютерная защита этих двух видов может использоваться и для дистанционного управления доступом, хотя обычно к ней прибегают для ограничения доступа к компьютерному залу или отдельному кабинету — помещению, где находятся компьютеры.
Контроль доступа, основанный на обладании специфической информацией, наиболее распространен и характеризуется тем, что правом доступа обладают лишь те лица, которые способны продемонстрировать свое знание определенного секрета, обычно — пароля. Это самый простой и дешевый способ защиты любой компьютерной системы. Поскольку его использование не требует больших затрат времени, сил, а также памяти компьютера, то он применяется даже в тех компьютерах, которые вовсе не нуждаются в средствах защиты.
Кроме того, использование пароля дает пользователю ощущение психологического комфорта. Этот способ защиты широко используется в системах, уже защищенных другими средствами — магнитными картами или иными программными методами типа шифрования, — это в еще большей степени укрепляет защиту от несанкционированного доступа.
Пароли, как правило, рассматриваются в качестве ключей для входа в систему, но они используются и для других целей: блокирование записи на дисковод, в командах на шифрование данных, то есть во всех тех случаях, когда требуется твердая уверенность, что соответствующие действия будут производиться только законными владельцами или пользователями программного обеспечения.
Пароли можно подразделить на семь основных групп (рис. 2.1З):
– пароли, устанавливаемые пользователем;
– пароли, генерируемые системой;
– случайные коды доступа, генерируемые системой;
– полуслова;
– ключевые фразы;
– интерактивные последовательности типа «вопрос — ответ»;
Пароли первой группы применяются наиболее часто. Большинство таких паролей относятся к типу «выбери сам». Для более надежной защиты от несанкционированного доступа необходимо использовать достаточно длинный пароль, поэтому обычно система запрашивает пароль, содержащий не менее четырех-пяти букв. Существуют и другие меры, не позволяющие пользователю создать неудачный пароль. Например, система может настаивать на том, чтобы пароль включал в себя строчные и заглавные буквы вперемешку с цифрами; заведомо очевидные пароли, например Internet, ею отвергаются.
В разных операционных системах существует немало программ, которые просматривают файлы, содержащие пароли, анализируют пароли пользователей и определяют уровень их секретности. Неподходящие пароли заменяются или удаляются.
Представьте себе состояние человека, когда он впервые загружает компьютер, и компьютер просит его ввести собственный секретный пароль. Стоит запросу появиться на экране монитора, и человека посещает мысль о том, что надо немедленно что-то предпринимать. Не считая гениев и безнадежных тупиц, все люди, когда надо принимать быстрые решения, мыслят и действуют примерно одинаково. Им требуется время, чтобы начать мыслить творчески, поэтому начальные предположения и первые умозаключения в определенных группах людей оказываются одинаковыми. И пользователи выдают первое, что приходит им в голову. А в голову приходит то, что они видят или слышат в данный момент, либо то, что собираются сделать сразу же после загрузки. В такой ситуации пароль создается в спешке, а последующая его замена на более надежный происходит довольно редко. Таким образом, многие пароли, созданные пользователями, могут быть раскрыты достаточно быстро.
Пароли и коды, устанавливаемые системой, могут быть нескольких разновидностей. Системное программное обеспечение может использовать полностью случайную последовательность символов (вплоть до случайного выбора регистров, цифр, пунктуации длины) или же применять какие-либо ограничения в генерирующих процедурах. Компьютер может создавать пароли, случайным образом извлекая из списка обычных или ничего не значащих слов, созданных авторами программы, и образовать нечто вроде onah.foopn или ocar-back-treen.
Полуслова частично создаются пользователем, а частично — каким-либо случайным процессом. Это значит, что если даже пользователь придумает легко угадываемый пароль, например, «абзац», компьютер дополнит его какой-нибудь неразберихой, образовав более сложный пароль типа «абзац, Зю37».
Ключевые фразы хороши тем, что они длинные и их трудно угадать, зато легко запомнить. Фразы могут быть осмысленными, типа «мы были обеспокоены этим», или не иметь смысла — «ловящий рыбу нос». Следует заметить, что в программировании постепенно намечается тенденция к переходу на более широкое применение ключевых фраз.
К концепции ключевых фраз близка концепция кодового акронима, который эксперты по защите оценивают как короткую, но идеально безопасную форму пароля. В акрониме пользователь берет легко запоминающееся предложение, фразу, строчку из стихотворения и т.п., и использует первые буквы каждого слова в качестве пароля. Например, акронимами двух приведенных выше фраз являются «мбоэ» и «лрн». Подобные нововведения в теории паролей значительно затрудняют электронный шпионаж.
Интерактивные последовательности «вопрос — ответ», предлагают пользователю ответить на несколько вопросов, как правило, личного плана: «Девичья фамилия вашей матери?», «Ваш любимый цвет?» и т. д. В компьютере хранятся ответы на множество таких вопросов. При входе пользователя в систему компьютер сравнивает полученные ответы с «правильными». Системы с использованием «вопросов — ответов» склонны прерывать работу пользователя каждые десять минут, предлагая отвечать на вопросы, чтобы подтвердить его право пользоваться системой, В настоящее время такие пароли почти не используются. Когда их придумали, идея казалась неплохой, но раздражающие прерывания привели к тому, что данный метод практически исчез из обихода.
Итак, для того чтобы пароль оказался действительно надежным, он должен отвечать определенным требованиям:
– быть определенной длины;
– включать в себя как прописные, так и строчные буквы;
– включать в себя одну и более цифр;
– включать в себя один нецифровой и один неалфавитный символ.
Нужно обязательно соблюдать одно или несколько из этих правил.
Чем же отличается несанкционированный доступ к компьютерным сетям от такого же несанкционированного доступа к их сетевым ресурсам (рис. 2.14).
В первом случае некий субъект получает доступ на правах «законного» пользователя, используя различные уязвимые места сети.
Во втором случае несанкционированный доступ может произойти, в основном, по двум причинам: либо право доступа к ресурсам сети не определено должным образом, либо механизмы управления доступом и полномочиями недостаточно детализированы. Как правило, на практике довольно часто пользователям предоставляют более широкие права доступа к ресурсам сети, чем это необходимо, несмотря на ущерб безопасности информации.
К уязвимым местам доступа к ресурсам вычислительных сетей можно отнести:
– при назначении прав пользователей применение системных установок с недопустимо широким спектром полномочий;
– неправомерное использование полномочий администратора сети;
– неправильное использование механизма назначения полномочий для пользователей;
– использование компьютеров без механизма контроля доступа на уровне файлов;
– хранение данных без защиты или с недостаточным ее уровнем.
Проблемы защиты сети от перехвата пакетов сообщений
В настоящее время технология построения компьютерных сетей Ethernet стала самым распространенным решением обмена сообщениями между пользователями. Сети Ethernet завоевали огромную популярность благодаря высокой пропускной способности, простоте установки и приемлемой стоимости сетевого оборудования. Участки сетей, для которых скорости передачи данных 10 Мбит/с недостаточно, можно довольно легко модернизировать, чтобы повысить скорость до 100 Мбит/с (Fast Ethernet) или даже до 1 Гбит/с (Gigabit Ethernet).
Однако технология Ethernet не лишена существенных недостатков. Основной из них — передаваемая информация не защищена. Компьютеры, подключенные к сети Ethernet, оказываются в состоянии перехватывать информацию, адресованную своим соседям. Основная причина — принятый в сетях Ethernet так называемый широковещательный механизм обмена сообщениями.
Существуют два основных способа объединения компьютеров в сеть Ethernet.
В первом случае компьютеры соединяются при помощи коаксиального кабеля. Этот кабель черной змейкой вьется от компьютера к компьютеру, соединяясь с сетевыми адаптерами Т-образным разъемом. Такая топология на языке профессионалов называется сетью Ethernet 10Base2. Однако ее еще можно назвать сетью, в которой «все слышат всех». Любой компьютер, подключенный к сети, способен перехватывать данные, посылаемые по этой сети другим компьютером.
Во втором случае каждый компьютер соединен кабелем типа витая пара с отдельным портом центрального коммутирующего устройства — концентратора или коммутатора. В таких сетях, которые называются сетями Ethernet 10BaseT, компьютеры поделены на группы, именуемые доменами коллизий. Домены коллизий определяются портами концентратора или коммутатора, замкнутыми на общую шину. В результате коллизии возникают не между всеми компьютерами сети, а между теми из них, которые входят в один и тот же домен коллизий. За счет этого повышается пропускная способность всей сети.
Принятый в подавляющем большинстве Ethernet-сетей алгоритм передачи данных требует, чтобы каждый компьютер, подключенный к сети, непрерывного «прослушивал» весь без исключения сетевой трафик.
Как уже было сказано, сетевой адаптер каждого компьютера в сети Ethernet, как правило, «слышит» все, о чем «толкуют» между собой его соседи по сегменту этой сети. Но обрабатывает и помещает в свою локальную память он только те порции данных (так называемые кадры), которые содержат его уникальный сетевой адрес.
В дополнение к этому подавляющее большинство современных Ethernet-адаптеров допускают функционирование в особом режиме, называемом беспорядочным (promiscuous). При использовании данного режима адаптер копирует в локальную память компьютера все без исключения передаваемые по сети кадры данных.
Специализированные программы, переводящие сетевой адаптер в беспорядочный режим и собирающие весь трафик сети для последующего анализа, называются анализаторами протоколов или снифферами. Администраторы сетей широко применяют анализаторы протоколов для контроля за работой этих сетей и определения их перегруженных участков, отрицательно влияющих на скорость передачи данных. К сожалению, анализаторы протоколов используются и злоумышленниками, которые с их помощью могут перехватывать чужие пароли и другую конфиденциальную информацию.
Надо отметить, что анализаторы протоколов представляют серьезную опасность. Само присутствие в компьютерной сети анализатора протоколов указывает на то, что в ее защите имеется брешь. Установить анализатор протоколов мог посторонний человек, который проник в сеть извне (например, если сеть имеет выход в Internet). Но это могло быть и делом рук доморощенного злоумышленника, имеющего легальный доступ к сети.
Атаки на компьютеры при помощи анализаторов протоколов относятся к так называемым атакам второго уровня. Это означает, что компьютерный взломщик уже сумел проникнуть сквозь защитные барьеры сети и теперь стремится развить свой успех. При помощи анализатора протоколов он может попытаться перехватить регистрационные имена и пароли пользователей, их секретные финансовые данные (например, номера кредитных карточек) и конфиденциальные сообщения (к примеру, электронную почту). Имея в своем распоряжении достаточные ресурсы, компьютерный взломщик в принципе может перехватывать всю информацию, передаваемую по сети.
Наиболее частыми целями атак компьютерных взломщиков, осуществляемых с использованием анализаторов протоколов, становятся университеты. Хотя бы из-за огромного количества различных регистрационных имен и паролей, которые могут быть украдены в ходе такой атаки. Да и сами студенты отнюдь не брезгуют возможностями анализаторов протоколов.
На серверах в сети Internet есть множество анализаторов протоколов, которые отличаются лишь набором доступных функций. В настоящее время получили распространение 2 вида анализаторов:
– пассивные;
– активные.
Различие их состоит в том, что пассивные снифферы не производят модификацию перехватываемых пакетов.
Для выявления снифферов в программном обеспечении компьютера можно использовать то обстоятельство, что заложенная хакерская программа периодически сбрасывает накопленную информацию в один из почтовых ящиков, зарегистрированных на бесплатном сервере электронной почты.
3. ПРОБЛЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ. Часть 2.
Вредоносное программное обеспечение
Вредоносное программное обеспечение — это любая программа, написанная с целью нанесения ущерба или использования ресурсов атакуемого компьютера. Вредоносное программное обеспечение часто скрыто внутри обычных программ или замаскировано под них. В некоторых случаях оно само тиражируется на другие компьютеры по электронной почте или через инфицированные дискеты и CD. Одними из основных характеристик современных вирусных атак являются высокая скорость их распространения и частота появления новых атак.
О вредоносном программном обеспечении, подстерегающем доверчивых пользователей, широкая публика наслышана больше, чем о каких-либо других опасностях и повреждениях компьютерной техники. Это вирусы, черви, троянские кони, логические бомбы, зомби, программные закладки, модули считывания паролей—список можно продолжить. Вредоносное программное обеспечение различных типов использует весьма разнообразные методы воздействия на информацию, степень опасности такого рода программ тоже различна.
Бурное развитие информационных технологий привело к налаживанию международных связей, в том числе и межконтинентальных, к становлению внутри- и межгосударственных потоков информации, измеряемыми многими десятками терабайт в секунду.
Анализ развития компьютеризации на мировом уровне показывает, что число пользователей достигло 350 млн., начав свой отсчет практически от нулевой отметки в 1981 году.
В период с 1998 по 1999 год произошло резкое увеличение числа компьютерных атак, хотя около 98% всех пользователей применяли доступные средства защиты. Объяснить эту тенденцию можно тем, что Internet превратился в хорошо организованную систему с унифицированным программным обеспечением. Тем самым пользователи сети стали во многом зависеть от качества программного обеспечения, которое они используют для работы.
Рост числа несанкционированных проникновении в информационные ресурсы лучше всего прослеживается путем анализа взаимосвязи частоты инцидентов, с одной стороны, и уязвимостью программного обеспечения — с другой.
Инцидент — это группа атак, объединенных по таким характерным признакам, как время проведения атаки, средства атакующих, цель нападения и т. д.
Под термином уязвимость имеется в виду слабое место в программном обеспечении, которое может быть использовано злоумышленником в своих целях. Уязвимость программного обеспечения, как правило, обусловлена следующими ошибками:
– в программном обеспечении (уязвимость реализации);
– в конфигурации программного обеспечения (уязвимость конфигурации);
– не связанными напрямую с конкретным программным обеспечением (уязвимость проектирования).
Количество уязвимых мест в программном обеспечении во многом определяется степенью популярности продукта. В принципе, чем популярнее система и чем больше пользователей отдают ей предпочтение, тем сильнее стремление злоумышленников организовать атаку именно на эту систему.
Другой фактор, способствующий увеличению количества атак за последние годы, — резкое понижение требований к квалификации атакующего. Это объясняется тем, что большинство современных программ, реализующих ту или иную атаку, доступны в настоящий момент в Internet и, как правило, имеют простой и дружелюбный пользовательский интерфейс. Атакующему необходимо ввести лишь DNS-имя или IP-адрес компьютера-жертвы и нажать кнопку. При этом не требуется, чтобы злоумышленник имел представление о принципах работы механизмов, с помощью которых осуществляется атака.
Если во второй половине 80-х годов к наиболее популярным средствам атакующих относилось использование известных паролей и уже раскрытых уязвимых мест в системе безопасности, то сегодня к этому добавились средства, использующие недостатки в протоколах, средства анализа исходных текстов программ для выявления новых уязвимых мест, установка программ-анализаторов сетевого трафика, подмена IP-адреса источника нападения, атаки типа «отказ в обслуживании», средства автоматизированного сканирования сети, распределенные атаки и многие другие.
Суммарный ущерб от компьютерных атак в период с 1997 по 2000 год только в США составил 626 млн. долларов. Эти цифры позволяют говорить о том, что криминальная прослойка в «информационном обществе» состоялась и что обществу противостоит организованная преступность.
Миллионы людей путешествуют по сети, «перехватывая» то тут, то там разнообразные программы и другую полезную информацию. После чего они немедленно «опробуются в деле», ну а дальше… кому как повезет. В сети находятся гигабайты информации и неизвестно, сколько в ней вирусов (случайно попавших или намеренно «подсаженных»). И при этом приходится только удивляться беспечности тех, кто тщательно проверяет все «внешние» дискеты и диски, но даже и не задумывается, что вирусы могут присутствовать в программе и в документе, полученных из сети.
Еще не так давно вирусы распространялись только через дискеты. Они назывались вирусами загрузочного сектора, потому что попадали в компьютер с дисковода для гибких дисков. Тогда вирусная инфекция распространялась достаточно ограниченно и требовала намного больше времени, чем сейчас. Затем появились приложения типа Microsoft Outlook или Word, использующие макросы, что привело к возникновению множества макровирусов. Были созданы вирусы Мелисса, Чернобыль, программа Worm.Explore.Zip и другие вирусы массовой рассылки, распространявшиеся по электронной почте. Эти программы нанесли серьезный ущерб персональным компьютерам во всех странах мира.
На пользователей обрушился вирус, получивший название BubleBoy, которым можно заразить компьютер, всего лишь открыв свою электронную почту, поскольку он использовал язык описания сценариев Visual Basic. Вирусы по-прежнему остаются самой серьезной проблемой компьютерной защиты.
К середине 2001 года ущерб, нанесенный компьютерными вирусами, измеряется в 10,7 млрд долларов против 17,1 млрд в 2000 году и 12,1 млрд в 1999 году. По данным аналитиков, ущерб, нанесенный вирусом Code Red, оценивается в 2,6 млрд долларов, причем на работы по восстановлению компьютеров потрачено 1,1 млрд долларов, а на компенсацию производственных потерь — 1,5 млрд долларов. Вирус Sircam нанес ущерб в размере 1,035 млрд долларов, а вирус Love Bug — 8,7 млрд долларов. И потери от них продолжают расти, а ведь здесь перечислены лишь некоторые из распространенных вирусов.
Атаки на отказ от обслуживания обрушиваются на крупнейшие Web-узлы электронной коммерции. Они тоже инициированы вредоносным программным обеспечением, проникшим в сотни компьютеров, подключенных к Internet, причем владельцы этих систем о том и не подозревали.
Небольшие организации, специалисты и добровольцы предпринимают активные действия, чтобы каталогизировать вредоносное программное обеспечение, рассылают предупреждения и предлагают программное обеспечение, способное выявлять такие программы, определять их местонахождение и уничтожать. Новые вредоносные программы появляются каждый месяц, они создаются подпольными группами программистов, стремящихся испортить или украсть информацию, а иногда просто продемонстрировать свое техническое мастерство.
Рассмотрим более подробно, что же собой представляет вредоносное программное обеспечение и как оно себя проявляет.
Вирусы
Компьютерные вирусы — известный всем вид вредоносного программного обеспечения. Это программы, обладающие способностью к самовоспроизведению (размножению) в среде стандартной операционной системы путем включения в исполняемые или хранящиеся программы своей, возможно, модифицированной копии, способной к дальнейшему размножению. Указанное свойство присуще всем типам компьютерных вирусов. Кроме того, термин «способность к самовоспроизведению» надо трактовать широко. Различные экземпляры одного вируса не только не обязаны полностью совпадать, но могут даже не иметь ни одного одинакового байта (речь идет о так называемых полиморфных вирусах).
Свойство размножения вирусов само по себе, в принципе, не представляет опасности; размножение вирусов может привести, в основном, к заполнению пространства свободной памяти, увеличению хранящихся файлов и замедлению выполнения программ.
Но если подобный вирус начнет размножаться по сети, то в один прекрасный день эта сеть может быть полностью заблокирована. Например, в середине января 1999 года в сети Internet был обнаружен компьютерный червь, получивший прозвище Happy99.exe. Он не пытается разрушать файлы на зараженных компьютерах, зато без ведома жертвы рассылает электронные письма и объявления для телеконференций и способен не только снизить производительность сети, но даже вывести из строя корпоративный сервер электронной почты.
От опасного вируса СШ (Чернобыль), который активировался 26 апреля 1999 года, в день тринадцатой годовщины катастрофы на Чернобыльской АЭС, пострадало более 100 тыс. компьютеров только в России. По прогнозам Е, Касперского, руководителя антивирусного центра «Лаборатория Касперского», основные причины распространения вируса — нелегальное зараженное программное обеспечение.
Сами механизмы воспроизведения вирусов тоже могут быть весьма разнообразны. Эти программы незаметно присоединяются к другим исполняемым модулям. Они опасны тем, что» прежде чем нанести вред, на который они и запрограммированы, копируют себя в другие программные файлы. Таким образом, компьютерные вирусы заражают и воспроизводятся аналогично биологическим.
Считается, что сам термин «компьютерный вирус» впервые употребил сотрудник Лехайского университета (США) Ф.Коэн на конференции по безопасности информации в 1984 году. Прошли годы. И что же сегодня представляют собой компьютерные вирусы?
Существует формальная система, позволяющая классифицировать компьютерные вирусы и называть их так, чтобы избежать ситуации, когда один и тот же вирус имеет неузнаваемо разные имена в классификации разных разработчиков антивирусных программ. Однако еще нельзя говорить о полной унификации имен и характеристик вирусов.
Мы будем исходить из того, что обычному пользователю нет необходимости вникать во все тонкости функционирования вируса: объекты атаки, способы заражения, особенности проявления и пр. Но желательно знать, какими бывают вирусы, понимать общую схему их работы. Условно компьютерные вирусы можно подразделить на классы (рис. 2.17). Эта классификация объединяет, естественно, далеко не все возможные вирусы; в каждой категории встречаются экзотические варианты, которые не названы.
Жизненный цикл компьютерного вируса может включать следующие этапы:
– внедрение (инфицирование);
– инкубационный период;
– саморазмножение (репродуцирование);
– выполнение специальных функций;
– проявление.
Данные этапы не являются обязательными и могут иметь другую последовательность. Особую опасность представляет этап выполнения специальных функций, которые могут привести к катастрофическим последствиям.
Компьютерные вирусы могут неограниченное время храниться на дискетах и жестких дисках, а затем случайно или умышленно инфицировать компьютер при использовании зараженных файлов.
Вирус проникает в компьютер только при выполнении зараженной программы. Но если компьютер уже заражен, то практически любая операция на нем может привести к заражению программ и файлов, находящихся в памяти и на дискетах, вставленных в дисковод.
При наличии в памяти компьютера программы с телом вируса могут заражаться как выполняемые программы, так и хранящиеся на жестком диске и дискетах, а также файлы на дискетах при просмотре их каталогов, то есть происходит внедрение вируса.
Копия вируса вставляется в зараженную программу таким образом, чтобы при запуске зараженной программы вирус получил управление в первую очередь. Первым и обязательным действием вируса при выполнении инфицированной программы является саморазмножение. Этот этап может длиться вплоть до уничтожения вирусоносителя. Одновременно с внедрением или после некоторого промежутка времени определенного числа внедренных копий и т. д. вирус приступает к выполнению специальных функций, именуемых еще логическими бомбами, которые вводятся в программное обеспечение и срабатывают только при выполнении определенных условий, например, по совокупности даты и времени, и частично или полностью выводят из строя компьютерную систему.
Не следует думать, что логические бомбы — это экзотика, не свойственная нашему обществу. Логическая бомба, которая срабатывает по достижении определенного момента времени, получила названия временной бомбы. Она «взрывается» неожиданно, разрушая данные.
Кроме того, часть компьютерных вирусов имеет фазу проявления, которая сопровождается визуальными или звуковыми эффектами. Отдельные вирусы сообщают пользователю о заражении компьютера.
Существует способ внедрения в чужое программное обеспечение, именуемый троянским конем (Trojan Horse). Конечно, нельзя узнать, что думали жители Трои на другой день после того, как с радостными криками и песнями вкатили в город огромного деревянного коня — «подарок» от якобы побежденных ахейцев. Так же трудно порой бывает восстановить работоспособность компьютера, по «программному полю» которого «проскачут» такие кони. Действие программ-диверсантов заключается в тайном введении в атакуемую программу команд, выполняющих функции, не планируемые владельцем программы, но при этом сохранять и прежнюю работоспособность программы.
С помощью троянских программ преступники, например, отчисляют на свой счет определенную сумму с каждой банковской операции. В США получила распространение такая форма компьютерного вандализма, когда «троянский конь» разрушает через какое-то время все программы, хранящиеся в памяти компьютера.
Компьютерные программные тексты обычно чрезвычайно сложны. Они состоят из сотен, тысяч, а иногда и миллионов команд. Поэтому «троянский конь» из нескольких десятков команд вряд ли будет обнаружен, если, конечно, нет подозрений относительно его существования в программе, но даже и, предполагая его наличие, экспертам-программистам потребуется много дней и недель, чтобы найти троянца.
Есть еще одна разновидность «троянского коня». Ее особенность состоит в том, что в безобидно выглядящий кусок программы вставляются не команды, выполняющие «грязную» разрушительную работу, а команды, формирующие такие команды и после выполнения их уничтожающие. В этом случае программисту, пытающемуся найти «троянского коня», необходимо искать не его самого, а команды, его формирующие. Развивая эту идею, можно представить себе команды, которые создают другие команды и т. д. (сколь угодно раз), а в итоге, создающие «троянского коня».
Современная техническая литература, посвященная проблемам компьютерных вирусов, изобилует различными терминами, заимствованными из других отраслей науки и научно-фантастических книг, поэтому очень часто одни и те же вирусы имеют разное название.
Все известные вирусы можно разделить на классы по следующим признакам:
– среда обитания;
– способ заражения среды обитания;
– деструктивная возможность;
– особенности алгоритма вируса.
По среде обитания компьютерные вирусы можно разделить на загрузочные, файловые, файлово‑загрузочные и сетевые.
Загрузочные (бутовые) вирусы внедряются в загрузочный сектор диска (boot-сектор) или в сектор, содержащий системный загрузчик винчестера (Master Boot Record). Часто эти вирусы «всеядны»: они заражают и то, и другое.
Файловые вирусы — в простейшем случае такие вирусы, которые заражают исполняемые файлы. Если с загрузочными вирусами все более или менее ясно, то файловые вирусы — это гораздо менее определенное понятие. Достаточно, к примеру, сказать, что файловый вирус может вообще не модифицировать файл (вирусы-спутники и вирусы семейства Dir). Кроме того, к файловым относятся так называемые macro-вирусы. О них мы еще поговорим.
Помимо этого, существуют и их сочетания — например, файлово-загрузочные вирусы, заражающие файлы и загрузочные сектора дисков. Такие вирусы, как правило, работают по довольно сложным алгоритмам и часто применяют оригинальные методы проникновения в систему. Вирусов этого типа не очень много, но среди них встречаются чрезвычайно злобные экземпляры (например, известный вирус OneHalf).
Сетевые вирусы распространяются по компьютерной сети, заражая сотни и тысячи компьютеров. Варианты заражения вирусами представлены на рис. 2.18.
Вирусы могут размешаться в следующих системах и структурах:
– операционной системе, где они «сцепляются» с программами, расположенными в системной части дискеты или жесткого диска;
– библиотеках компиляторов для внедрения в программы, составляемые компиляторами;
– сетевых драйверах;
– «плохих» или специальных секторах жесткого диска;
– ПЗУ в качестве программно-технической закладки;
– структуре исполняемых программ или файловых программ.
Способ заражения среды обитания подразделяется на резидентный и нерезидентный.
Резидентный вирус при инфицировании компьютера оставляет в оперативной памяти свою резидентную часть, которая затем перехватывает обращение операционной системы к объектам заражения и внедряется в них. Происходит это следующим образом: резидентный вирус запрашивает у системы участок памяти и копирует себя в него. Он перехватывает прерывания, анализирует их и обеспечивает тем самым управление процессором компьютера. Если следующим этапом жизненного цикла вируса является инкубационный период, то вирус никак не проявляет себя в течение определенного промежутка времени или до достижения определенного числа подходящих объектов заражения. После этого наступает этап размножения. Обнаружив обращение к компонентам системы, пригодным для заражения, вирус активизирует процедуру копирования. Обычно эта процедура предусматривает проверку, не присутствует ли уже в объекте копия вируса (если копия присутствует, то объект уже заражен); отдельные вирусы проверяют номер версии и заражают объект, если их версия более новая. Если копии вируса нет, то он копируется из памяти в заражаемый объект с модификацией его первой команды. Объектами заражения в этом случае могут быть исполняемые программы на жестком диске и дискетах. Резидентные вирусы находятся в памяти и активны вплоть до выключения или перезагрузки компьютера.
Нерезидентные (транзитные) вирусы не заражают память компьютера и активны ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы тоже считаются нерезидентными.
Транзитные вирусы не остаются в памяти после выполнения зараженной программы. В этом случае вирус перед передачей управления исходной программе ищет еще не зараженный файл, пригодный для внедрения. Тогда выполнение специальных функций не всегда следует за этапом саморазмножения, чтобы успеть создать достаточное количество своих копий, прежде чем факт заражения будет обнаружен. Поэтому механизм выполнения специальных функций включается достаточно редко и вредные последствия вируса сначала могут быть незаметны. Когда же пользователь заметит изменения в работе компьютера, может оказаться, что вирусом поражены практически все файлы системы.
По деструктивным способностям вирусы можно разделить на:
– безвредные;
– неопасные;
– опасные;
– очень опасные.
Безвредные вирусы только уменьшают объем свободной памяти на диске в результате своего распространения, а больше никак не влияют на работу компьютера.
Влияние неопасных вирусов ограничивается также уменьшением свободной памяти на диске и дополнительно сопровождается графическими, звуковыми и другими эффектами.
Опасные вирусы приводят к серьезным сбоям в работе компьютера.
В результате работы очень опасных вирусов уничтожаются программы, данные, удаляется необходимая для работы компьютера информация, записанная в системных областях памяти. Особо опасны вирусы, прикрепляемые к объектной библиотеке какого-либо компилятора. Такие вирусы автоматически внедряются в любую программу, работающую с инфицированной библиотекой.
Известные в настоящее время вирусы могут выполнять следующие разрушительные функции:
– изменение данных в файлах;
– изменение данных, передаваемых через параллельные и последовательные порты;
– изменение назначенного диска (запись информации производится не на диск, указанный пользователем, а на диск, указанный вирусом);
– переименование файлов (не сообщая об этом пользователю);
– форматирование отдельных частей жесткого диска (дискеты) или даже всего диска (дискеты);
– уничтожение каталога диска;
– нарушение работоспособности операционной системы, в результате чего она не воспринимает внешних воздействий пользователя и требует перегрузку;
– снижение производительности из-за постоянного выполнения паразитных программ;
– отказ в выполнении определенной функции (например, блокировка клавиатуры, блокировка загрузки программы с защищенной от записи дискеты и т. д.);
– стирание информации, выводимой на экран дисплея и т. п.;
– «мелкие» повреждения данных (например, замена первых байтов каждого блока при записи, замена отдельных символов и т. д.), которые пользователь долго не может обнаружить.
Перечень специальных функций, выполняемых вирусами, практически пополняется с каждым новым видом вируса. Исследователи различают множество видов вирусов, по механизмам размножения и выполняемым специальным функциям. Среди этих видов существует много вариаций (штаммов), которые являются, как правило, результатом усовершенствования одним программистом вируса, созданного другим. Обычно легче модифицировать чужую программу, чем создать оригинальную собственную.
Но даже если в алгоритме вируса не найдено ветвей, наносящих ущерб системе, этот вирус нельзя с полной уверенностью назвать безвредным, так как проникновение его в компьютер может вызвать непредсказуемые, а порой и катастрофические, последствия. Ведь в вирусе, как и во всякой программе, встречаются ошибки, в результате которых могут быть испорчены как файлы, так и сектора дисков. Возможно также «заклинивание» резидентного вируса и системы при работе в новых версиях DOS, в Windows или в других мощных системах.
По особенностям алгоритма функционирования вирусов их можно подразделить на следующие группы:
– компаньон-вирусы (companion);
– вирусы-черви (worm);
– паразитические;
– студенческие;
– stealth-вирусы (вирусы-невидимки);
– полиморфик-вирусы (polymorphic);
– макро-вирусы.
Компаньон-вирусы (companion) представляют собой программы, не изменяющие файлы. Эти вирусы создают для ЕХЕ-файлов, находящихся в памяти компьютера, файлы-спутники, имеющие то же самое имя, но с расширением СОМ, например, для файла XCOPY.EXE создается файл XCOPY.COM. Вирус записывается в СОМ-файл и никак не изменяет ЕХЕ-файл. При запуске такого файла DOS первым обнаружит и выполнит СОМ -файл, то есть вирус, который затем запустит и ЕХЕ -файл.
Вирусы-черви распространяются в компьютерных сетях. Они, как и компаньон-вирусы, не изменяют файлы или секторы на дисках. Они проникают в память компьютера из компьютерной сети, вычисляют сетевые адреса других компьютеров и рассылают по этим адресам свои копии. Такие вирусы иногда создают рабочие файлы на дисках системы, но могут вообще не обращаться к ресурсам компьютера (за исключением оперативной памяти).
Паразитические вирусы при распространении своих копий обязательно изменяют содержимое дисковых секторов или файлов. К этой группе относятся все вирусы, которые не являются вирусами-червями или компаньон-вирусами.
Студенческие вирусы — это крайне примитивные вирусы, часто нерезидентные и содержащие большое число ошибок.
Stealth-вирусы, или вирусы-невидимки, представляют собой весьма совершенные программы, которые перехватывают обращения DOS к пораженным файлам или секторам дисков и «подставляют» вместо себя незараженные участки информации. Кроме этого, такие вирусы при обращении к файлам используют достаточно оригинальные алгоритмы, позволяющие обманывать резидентные антивирусные программы.
Способов маскировки вирусов существует великое множество, но все они основаны на перехвате вирусами прерываний BIOS и операционной системы. Перехватив прерывания, вирусы контролируют доступ к зараженным объектам. Например, при просмотре зараженного объекта они могут «подсунуть» вместо него здоровый. Кроме того, вирусы искажают информацию DOS (например, возвращают неверное значения длины файла, скрывая свое присутствие в нем). Для большинства антивирусных программ вирусы, использующие стелс-технологию, являются серьезной проблемой.
Полиморфик-вирусы — это достаточно трудно обнаруживаемые вирусы, не имеющие сигнатур, то есть не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфик-вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика.
Вирусы, шифрующие свой код, известны довольно давно. Однако сами процедуры дешифрования достаточно легко выявить, в частности, потому, что далеко не все авторы вирусов имеют достаточно знаний для написания собственных процедур шифрования и дешифрования, поэтому многие вирусы используют для этих целей один и тот же код. Теперь сканеры вирусов ищут определенные процедуры дешифрования. Хотя обнаружение такой процедуры еще ничего не говорит о том, какой именно вирус присутствует в зашифрованном виде, но уже сигнализирует о наличии вируса.
Поэтому последней уловкой злоумышленников становится полиморфизм. В прежние времена обнаружение вирусов было простым делом: каждый вирус создавал точную копию самого себя при тиражировании и инфицировании новых файлов и загрузочных секторов, поэтому антивирусным программам требовалось только знать последовательность байтов, составляющих вирус. Для каждого вируса специалисты выявляли уникальную последовательность байтов — его сигнатуру. Наличие такой сигнатуры служило высоконадежным индикатором присутствия нежелательного кода, что и заставило авторов вирусов попытаться скрывать любую последовательность байтов, способную выдать присутствие их творений. Они стали делать это посредствам шифрования вирусов.
Первые полиморфные вирусы Tequila и Maltese Amoeba появились в 1991 году. Все бы ничего, но в 1992 году автор, известный под псевдонимом Dark Avenger, написал своего рода комплект «Сделай сам» для мутационного механизма, который он сделал частью вируса Maltese Amoeba.
До 1992 года вирусописатели старались на самом деле зря. Совершенно ясно, что квалификация профессионалов в сфере антивирусной безопасности никак не ниже их собственной и, следовательно, все их многомесячные усилия стоили в крайнем случае лишних часов работы для специалистов. Ведь все зашифрованные вирусы обязательно содержали некий незашифрованный фрагмент: сам расшифровщик или некоторую его часть, по которым можно было построить сигнатуру данного вируса и затем уже бороться с ним обычными способами.
Ситуация изменилась, когда были придуманы алгоритмы, позволяющие не только шифровать код вируса, но и менять расшифровщики. Сама постановка такой задачи вопросов не вызывает: ясно, что можно построить различные расшифровщики. Суть в том, что этот процесс автоматизирован, и каждая новая копия вируса содержит новый расшифровщик, каждый бит которого может отличаться от битов расшифровщика породившей ее копии.
Некоторые вирусы (например, вирусы семейства Eddie, Murphy) используют часть функций полноценного вируса-невидимки. Обычно они перехватывают функции DOS FindFirst и FindNext и «уменьшают» размер зараженных файлов. Такой вирус невозможно определить по изменению размеров файлов, если, конечно, он резидентно находится в памяти. Программы, которые не используют указанные функции DQS (например, Norton Commander), а напрямую обращаются к содержимому секторов, хранящих каталог, показывают правильную длину зараженных файлов.
При инфицировании файла вирус может производить действия, маскирующие и ускоряющие его распространение.
К подобным действиям можно отнести обработку атрибута Read-only, снятие его перед заражением и последующее восстановление этого атрибута. Многие файловые вирусы считывают дату последней модификации файла и восстанавливают ее после заражения. Для маскировки своего распространения некоторые вирусы перехватывают прерывание DOS, возникающее при обращении к диску, защищенному от записи, и самостоятельно обрабатывают его. Поэтому среди особенностей алгоритма файлового вируса можно назвать наличие или отсутствие обработки и скорость его распространения. Скорость распространения файловых вирусов, заражающих файлы только при их запуске на выполнение, будет ниже, чем у вирусов, заражающих файлы при их открытии, переименовании, изменении их атрибутов и т. д. Некоторые вирусы при создании своей копии в оперативной памяти компьютера пытаются занять область памяти с самыми старшими адресами, разрушая временную часть командного интерпретатора COMMAND. COM. По окончании работы зараженной программы временная часть интерпретатора восстанавливается, при этом происходит открытие файла COMMAND.COM и его заражение, если вирус поражает файлы при их открытии.
Формально macro-вирусы являются файловыми вирусами, заражающими файлы некоторых систем обработки документов (например, Word for Windows, Excel for Windows и AmiPro). Указанные системы имеют встроенные макроязыки (Word Basic, Visual Basic). Эти языки обладают достаточными возможностями, чтобы производить практически все операции, необходимые вирусу. Имеются даже шифрованные и полиморфные macro-вирусы. Кроме того, все чаще стали встречаться вирусы, поражающие как документы, так и исполняемые файлы (иногда обычные ЕХЕ-файлы, иногда NewEXE, иногда и те, и другие). Инфицирующая способность таких вирусов крайне велика.
В настоящий момент более 90% macro-вирусов написаны для Word for Windows. Это без сомнения объясняется тем, что файлы данного текстового процессора фактически стали стандартом для текстовых документов. Самый первый macro-вирус (Word.Concept) также заражал DOC-файлы.
Большинство макро-вирусов имеют типичную структуру. Они начинаются с автоматически выполняющегося макроса, заражающего глобальный шаблон Normal.dot. Также в их состав входят некоторые макросы, которые заражают файлы при определенных действиях (File > Save As, File > Save и Tools > Macros). Документы заражаются при совершении над ними операций, то есть инфицируются уже при открытии.
Макрос — это программа, написанная на некотором языке, обычно используемая для автоматизации определенных процессов внутри приложений. В данном случае разговор пойдет о языках Visual Basic for Applications (VBA) и WordBasic (WB), которые применяет Microsoft в своих программах (в частности, Excel, Project и PowerPoint используют язык VBA, a WinWord — WB).
Макрос VBA представляет собой вызываемые процедуры. Они бывают двух типов:
– процедуры-подпрограммы;
– процедуры-функции.
Процедуры-подпрограммы могут выполняться непосредственно или вызываться из других макросов. Конечно, в документ можно вставить столько макросов, сколько нужно (или сколько хочется), ограничений на их количество нет. Набор макросов (процедур-подпрограмм и процедур-функций), входящих в документ, называется модулем VBA.
Язык VBA универсален, и тому есть несколько причин.
1. Этот язык прост в изучении и использовании. Поскольку он является языком визуального программирования, то ориентирован на события, а не на объекты. С его помощью без особых затрат времени очень легко создавать сложные модули.
2. Можно использовать большое количество предопределенных функций, облегчающих работу.
3. Имеются функции (или макросы), выполняющиеся автоматически, за счет чего упрощается написание процедур автокопирования и занесения в память, используемых стандартными DOS-вирусами,
Существуют функции, единые для всех версий языка VBA вне зависимости от используемого языка (английского, русского, испанского и т. д.). Таких специальных макросов 5, все они выполняются автоматически:
– AutoExec — активизируется при загрузке текстового процессора, но только в том случае, если он сохранен в шаблоне Normal.dot или в каталоге стандартных приложений;
– AutoNew — активизируется при создании нового документа;
– AutoOpen — активизируется при открытии существующего документа;
– AutoClose — активизируется при закрытии документа;
– AutoExit — активизируется при выходе из текстового процессора.
Процедура Save As использует технологию, во многом схожую с процедурой AutoExec. Она копирует макро-вирус в активный документ при его сохранении через команду File > SaveAs.
Существует несколько способов скрыть вирус или сделать его более эффективным. Например, можно создать специальный макрос, прячущий вирус, если меню Tools > Macro открывается для просмотра.
Макро-вирусы также могут включать внешние процедуры. Например, вирус Nuclear пытается откомпилировать и запустить внешний файл-разносчик вируса, некоторые троянские макросы форматируют винчестер при открытии документа.
Рассмотрим несколько подробнее, как действуют наиболее распространенные вирусы, их особенности, способы внедрения и осуществления разрушительных воздействий.
Начнем с вирусов, поражающих файлы с расширением СОМ (СОМ-файлы). Существует несколько способов внедрения таких вирусов.
Структура стандартного СОМ-файла (программы) предельно проста. Он содержит только код и данные программы, не имея даже заголовка. В начале СОМ-файла обычно находится команда безусловного перехода JMP, состоящая из трех байт. Благодаря простому строению СОМ-файла в него очень просто добавить тело вируса и затем указать его адрес в команде JMP.
После старта вирус ищет в текущем каталоге СОМ-файлы. После нахождения нужного файла тело вируса добавляется в конец этого файла, туда же переносится оригинальный адрес перехода по JMP, на место которого записывается адрес команды JMP для безусловного перехода на тело вируса.
После загрузки зараженного файла управление получает вирус. Закончив работу, он восстанавливает оригинальный адрес безусловного перехода JMP и передает управление программе, как это показано на рис. 2.19.
После того как вирус закончит свою работу, он восстанавливает в исходное состояние первые три байта программы (в памяти компьютера) и передает управление на начало программы. Далее, при запуске зараженного файла, управление сначала получает вирус, и только затем — исходная программа. Благодаря такой схеме работы рассматриваемый вирус может спокойно существовать, будучи «выпущенным на волю» один раз.
Кроме такого способа внедрения, существуют и другие способы внедрения СОМ-вирусов. Рассмотрим два варианта внедрения СОМ-вируса в начало файла:
1. Чтобы освободить место для себя, вирус переписывает начало программы в конец файла. После этого тело вируса записывается в начало файла, а небольшая его часть, обеспечивающая перенос вытесненного фрагмента программы, — в конец файла. При восстановлении первоначального вида программы тело вируса будет затерто, поэтому код вируса, восстанавливающий программу, должен находиться в безопасном месте, отдельно от основного тела вируса. Схема этого способа внедрения изображена на рис. 2.20.
При загрузке файла, зараженного таким способом, управление получит вирус (так как он находится в начале файла). По окончании работы вирус передает управление коду, переносящему вытесненную часть программы на прежнее место. После восстановления (в памяти, не в файле) первоначального вида программы, она запускается.
2. Второй вариант отличается от первого тем, что вирус, освобождая для себя место, сдвигает все тело программы, а не переносит ее часть в конец файла. Этот способ внедрения и схема работы вируса изображены на рис. 2.21.
После запуска зараженной программы, как и в предыдущем случае, управление получает вирус. Дальнейшая работа вируса отличается только тем, что часть вируса, восстанавливающая первоначальный вид программы, переносит все тело программы, а не только вытесненную часть.
Кроме указанных, существуют вирусы, не дописывающие часть своего тела в конец файла. К примеру, вирус может внедряться в середину файла. В этом случае алгоритм работы вируса является смесью алгоритмов, рассмотренных выше.
СОМ-файлы (небольшие программы, написанные, в основном, на языке Assembler) со временем устаревают, поэтому им на смену пришли пугающие своими размерами ЕХЕ-файлы. Появились и вирусы, умеющие эти файлы заражать.
По особенностям алгоритма, ЕХЕ-вирусы условно можно разделить на следующие группы:
– вирусы, замещающие программный код (Overwrite);
– вирусы-спутники (Companion);
– вирусы, внедряющиеся в программу (Parasitic).
Вирусы, замещающие программный код, уже стали раритетом: фактически вирусы данного вида давно мертвы. Изредка появляются еще такие вирусы, созданные на языке Assembler, но это, скорее, соревнование в написании самого маленького overwrite-вируса. Главный их недостаток — слишком грубая работа. Инфицированные ими программы не исполняются, так как вирус записывается поверх программного кода, не сохраняя его. При запуске вирус ищет очередную жертву (или жертвы), открывает найденный файл для редактирования и записывает свое тело в начало программы, не сохраняя оригинальный код. Инфицированные этими вирусами программы лечению не подлежат.
Вирусы-спутники получили такое название из-за алгоритма их размножения: для каждого инфицированного файла создается файл-спутник. Рассмотрим более подробно два типа вирусов этой группы, отличающихся методом заражения файлов:
– путем создания СОМ-файла спутника;
– путем переименования ЕХЕ-файла.
Инфицирование методом создания СОМ-файла спутника заключается в том, чтобы, не трогая файл (ЕХЕ-программу), создать свою — СОМ-файл с именем ЕХЕ-программы. Алгоритм работы такого вируса предельно прост, так как не нужны лишние действия: например, сохранение в теле вируса размера откомпилированного ЕХЕ-файла с вирусным кодом, считывание в буфер тела вируса, запуск файла, из которого вирус получил управление. Незачем даже хранить метку для определения инфицирования файла.
Для каждого инфицируемого ЕХЕ-файла в том же каталоге создается файл с вирусным кодом, имеющий такое же имя, что и ЕХЕ-файл, но с расширением СОМ. Вирус активируется, если при запуске программы в командной строке указано только имя исполняемого файла, без расширения. Дело в том, что DOS сначала ищет в текущем каталоге файл СОФАЙЛ с заданным именем. Если СОМ-файл с таким именем не найден, отыскивается одноименный ЕХЕ-файл. Если и он не найден, DOS попробует обнаружить файл с расширением ВАТ (командный). В случае отсутствия в текущем каталоге исполняемого файла с указанным именем поиск ведется во всех каталогах. Другими словами, когда пользователь хочет запустить программу и набирает в командной строке только ее имя (обычно так все и делают), первым управление получает вирус, код которого находится в СОМ-файле. Он создает СОМ-файл еще к одному или нескольким ЕХЕ-файлам (распространяется), а затем исполняет ЕХЕ-файл с именем, указанным в командной строке. Пользователь же думает, что работает только запущенная ЕХЕ-программа. Вирус-спутник обезвредить довольно просто — достаточно удалить СОМ-файл.
Инфицирование методом переименования ЕХЕ-файла несколько совершеннее предыдущего, т. к. для излечения от такого вируса нужно не просто удалить СОМ-файл с кодом вируса, а разыскать имя переименованного ЕХЕ-файла, содержащего инфицированную программу. Что же происходит?
Имя инфицируемого ЕХЕ-файла остается прежним, а расширение заменяется каким-либо другим, отличным от исполняемого (COM, EXE, BAT, DAT, OVL и др.). Затем на место ЕХЕ-файла копируется вирусный код. При запуске такой инфицированной программы управление получает вирусный код, находящийся в ЕХЕ-фай-ле. Инфицировав еще один или несколько ЕХЕ-файлов таким же образом, вирус возвращает оригинальному файлу исполняемое расширение (но не EXE, a COM, поскольку ЕХЕ-файл с таким именем занят вирусом), после чего исполняет его. Когда работа инфицированной программы закончена, ее запускаемому файлу возвращается расширение неисполняемого. Лечение файлов, зараженных вирусом этого типа, может быть затруднено, если вирус-спутник шифрует часть или все тело инфицируемого файла, а непосредственно перед исполнением его расшифровывает.
Вирусы, внедряющиеся в программу (Parasitic), — самые незаметные. Их код записывается в программы, что существенно затрудняет лечение зараженных файлов и дает этому вирусу много преимуществ перед всеми вышеописанными вирусами: на диске не появляются лишние файлы, нет забот с копированием и переименованием файлов. Рассмотрим методы внедрения ЕХЕ-вирусов в ЕХЕ-файл. Эти вирусы условно можно разделить на три категории, использующие:
– стандартное заражение ЕХЕ -файлов;
– сдвиг;
– перенос.
При стандартном заражении вирус внедряется в конец файла, изменяет заголовок так, чтобы после загрузки файла управление получил вирус. Действие такого вируса мало чем отличается от действия СОМ-вируса. Оно похоже на заражение СОМ-фай-лов, но вместо задания в коде перехода в начало вируса корректируется собственно адрес точки запуска программы. После окончания работы вирус берет из сохраненного заголовка оригинальный адрес запуска программы, прибавляет к его сегментному компоненту значение регистра DS или ES (полученное при старте вируса) и передает управление на полученный адрес.
Внедрение вируса способом сдвига основано на размещении вируса в начале файла со сдвигом кода программы. Механизм заражения такой: тело инфицируемой программы считывается в память, на ее место записывается код вируса, а на место последнего — код инфицируемой программы. Таким образом, код программы как бы «сдвигается» в файле на длину кода вируса. Отсюда и название способа — «способ сдвига». При запуске инфицированного файла вирус заражает еще один или несколько файлов. После этого он считывает в память код программы, записывает его в специально созданный на диске временный файл с расширением исполняемого файла (СОМ или ЕХЕ), и затем исполняет этот файл. Когда программа заканчивает работу, временный файл удаляется. Если при создании вируса не применялось дополнительных приемов защиты, то вылечить инфицированный файл очень просто. Для этого достаточно удалить код вируса в начале файла и программа снова будет работоспособной. Недостаток этого метода заключается в том, что нужно считывать в память весь код инфицируемой программы.
Способ заражения файлов методом переноса — самый совершенный из всех перечисленных. Вирусы, использующие для внедрения перенос, размножаются следующим образом. Из инфицируемой программы от начала файла считывается часть кода, по размеру равная длине вируса. На освободившееся место вписывается вирус, а оригинальное начало программы переносится в конец файла. Отсюда и название метода. После того как вирус инфицировал один или несколько файлов, он выполняет программу, из которой запустился. Для этого он считывает начало инфицированной программы, сохраненное в конце файла, и записывает его в начало файла, восстанавливая работоспособность программы. Затем вирус удаляет код начала программы из конца файла, восстанавливая оригинальную длину файла, и исполняет программу. После завершения программы вирус вновь записывает свой код в начало файла, а оригинальное начало программы — в конец. Этим методом могут быть инфицированы даже антивирусы, которые проверяют свой код на целостность, так как запускаемая вирусом программа имеет точно такой же код, как и до заражения.
Есть и другие варианты. Иногда, например, начало программы записывается в середину файла, а середина переносится в конец, чтобы еще сильнее все запутать. Преимущество данного метода над другими состоит в том, что инфицированная программа исполняется в том же виде, в каком она была до заражения: из файла с тем же именем и расширением, то есть программы, проверяющие себя на предмет заражения, не замечают вируса.
Недостаток данного метода проявляется при сбоях в работе компьютера. Если при исполнении инфицированной программы компьютер зависнет или произойдет перезагрузка системы, инфицированная программа окажется «чистой», без вируса.
Шпионские программные закладки
Главным условием правильного функционирования любой компьютерной системы является обеспечение защиты от вмешательства в процесс обработки информации тех программ, присутствие которых в компьютерной системе не обязательно.
По мере развития средств защиты компьютерных систем совершенствуются и средства нападения на них. Одной из самых больших угроз для этих систем является атака посредством использования программных закладок.
Программная закладка — это программа, скрытно внедренная в защищенную систему (или дописанный фрагмент пользовательской программы), позволяющая злоумышленнику путем модификации свойств системы защиты осуществлять несанкционированный доступ к ресурсам системы (в частности, к конфиденциальной информации). Если программная закладка написана грамотно, то после внедрения в систему обнаружить ее стандартными средствами администрирования практически невозможно, она может функционировать неограниченно долгое время, и злоумышленник, внедривший закладку, имеет практически неограниченный доступ к системным ресурсам. Деструктивные действия, осуществляемые программными закладками представлены на рис. 2.22.
Опасность программных закладок заключается в том, что они, являясь частью защищенной системы, способны принимать активные меры для маскировки своего присутствия в системе. При внедрении закладки в защищенной системе создается скрытый канал информационного обмена, который, как правило, остается незамеченным администратором системы в течение длительного времени. Практически все известные программные закладки, применявшиеся в разное время различными злоумышленниками, были выявлены либо из-за ошибок, допущенных при программировании закладки, либо чисто случайно.
Перспективным направлением является внедрение программных закладок. Их задачей может быть получение информации о паролях, кодовых комбинациях обрабатываемых данных, а также передача собранных сведений по заданному адресу в сети или по электронной почте. Эта угроза быстро может стать реальностью благодаря возможности «доставки» подобных программ в требуемый компьютер. Собственно способы те же, что и для компьютерных вирусов, да и сами закладки, по существу' являются вирусами. Классификация программных закладок в соответствии с методами их внедрения в компьютерную сеть представлена на рис. 2.23.
Известны основные механизмы проникновения закладок:
– непосредственное подключение;
– косвенное подключение.
Непосредственное подключение — передача вирусов через средства обмена, используемые в атакуемой системе. Внедрение закладок производится через наименее защищенные узлы системы либо установкой зараженного программного обеспечения.
Косвенное подключение — это проникновение в систему через подсистемы, не служащие ее основному предназначению (электропитание, стабилизация и т. д.). Один из приемов — внедрение вирусов путем подачи электромагнитных импульсов в схему питания. Над этим работают японцы и американцы.
Эксперты отмечают, что программные закладки можно достаточно эффективно применять в военных целях как активный элемент информационно-кибернетического противодействия. При этом они подчеркивают, что чем выше степень компьютеризации систем военного назначения, тем больше вероятность появления закладок. По мнению западных специалистов, программная закладка может быть реализована в виде нескольких команд и иметь
сложный механизм активизации, настроенный на условия реального боевого применения системы информационного оружия либо на строго определенную комбинацию входных данных. Закладка может быть включена в состав как общего программного обеспечения вычислительной установки, так и специальных (прикладных) программных средств.
Программные закладки разделяются на автоматические и управляемые. Первые, как правило, заранее настроены (прямо или косвенно) на условия реального боевого применения систем информационного оружия либо боевого управления, а вторые активизируются извне (например, посредством «электронной закладки»). Обнаружить программную закладку сложно, так как она может быть замаскирована.
В иностранной прессе в качестве иллюстрации такой ситуации приводится военный конфликт в Персидском заливе. Система ПВО Ирака оказалась заблокированной по неизвестной причине во время проведения операции «Буря в пустыне». В результате иракская сторона была вынуждена оставить без ответа бомбовые удары по своей территории. Несмотря на отсутствие исчерпывающей информации, многие иностранные специалисты высказывают предположение, что закупленные Ираком у Франции ЭВМ, входящие в комплекс технических средств системы ПВО, содержали специальные управляемые электронные закладки, блокировавшие работу вычислительной системы. Если они правильно оценивают события, это означает, что начался такой этап, когда при ведении боевых действий появилась возможность применять новое электронно-информационное оружие.
Шпионские программные закладки могут выполнять хотя бы одно из перечисленных ниже действий:
– вносить произвольные искажения в коды программ, находящихся в оперативной памяти компьютера (программная закладка первого типа);
– переносить данные из одних областей оперативной или внешней памяти компьютера в другие (программная закладка второго типа);
– искажать информацию, выводимую на внешние устройства или в канал связи, полученную в результате работы других программ (программная закладка третьего типа).
Программные закладки можно классифицировать и по методу их внедрения в компьютерную систему:
– программно-аппаратные закладки, ассоциированные с аппаратными средствами компьютера (их средой обитания, как правило, является BIOS — набор программ, записанных в виде машинного кода в ПЗУ);
– загрузочные закладки, связанные с программами начальной загрузки, которые располагаются в загрузочных секторах (из этих секторов в процессе выполнения начальной загрузки компьютер считывает программу, берущую на себя управление для последующей загрузки самой операционной системы);
– драйверные закладки, ассоциированные с драйверами (файлами, в которых содержится информация, необходимая операционной системе для управления подключенными к компьютеру периферийными устройствами);
– прикладные закладки в прикладном программном обеспечении общего назначения (текстовые редакторы, утилиты, антивирусные мониторы и программные оболочки);
– исполняемые закладки в исполняемых программных модулях, содержащих ее код (чаще всего эти модули представляют собой пакетные файлы, т. е, файлы, которые состоят из команд операционной системы, выполняемых одна за одной, как если бы их набирали на клавиатуре компьютера);
– закладки-имитаторы, интерфейс которых совпадает с интерфейсом некоторых служебных программ, требующих ввести конфиденциальную информацию (пароль, криптографический ключ, номер кредитной карточки);
– замаскированные закладки, которые маскируются под программные средства оптимизации работы компьютера (файловые архиваторы, дисковые дефрагментаторы) или под программы игрового и развлекательного назначения.
Все программные закладки (независимо от их назначения, метода внедрения в компьютерную систему, а также срока пребывания в оперативной памяти) имеют одну важную особенность: они обязательно выполняют операцию записи в оперативную или внешнюю память системы. Если бы они не делали этого, то не могли бы оказать никакого негативного влияния. Ясно, что для целенаправленного воздействия закладка должна выполнять и операцию чтения, иначе в ней может быть реализована только функция разрушения (например, удаление или замена информации в определенных секторах жесткого диска).
С учетом замечания о том, что программная закладка должна быть обязательно загружена в оперативную память компьютера, можно подразделить закладки на:
– резидентные;
– нерезидентные.
Резидентные закладки находятся в оперативной памяти постоянно, начиная с некоторого момента и до окончания сеанса работы компьютера, т. е. до его перезагрузки или до выключения питания.
Нерезидентные закладки попадают в оперативную память компьютера аналогично резидентным, однако, в отличие от резидентных, выгружаются по истечении некоторого времени или при выполнении каких-либо условий.
Иногда сам пользователь провоцирует запуск исполняемого файла, содержащего код программной закладки. Известен такой случай. Среди пользователей свободно распространялся набор из архивированных файлов. Для извлечения файлов из него требовалось вызвать специальную утилиту, которая запускается после указания ее имени в командной строке. Однако мало кто из пользователей замечал, что в полученном наборе файлов уже имелась программа с таким же именем и что запускалась именно она. Кроме разархивирования файлов, эта программная закладка дополнительно производила действия негативного характера.
Среди программистов популярны пословицы: «Каждая последняя ошибка в программе на самом деле является предпоследней» и «Если программа работает без ошибок, это — Hello world (простейшая программа, с которой начинается большинство учебников программирования)». Предполагать, что программное обеспечение системы защиты не содержит ошибок, наивно: ошибки, позволяющие злоумышленникам осуществлять НСД к ресурсам системы, время от времени обнаруживаются практически во всех системах защиты. И если такая ошибка в системе присутствует, злоумышленник может использовать ее для внедрения программной закладки. Известно множество примеров использования злоумышленниками подобных ошибок, в том числе и для внедрения программных закладок.
Даже если программное обеспечение системы защиты не содержит ошибок (что маловероятно), имеется реальная возможность внедрения программной закладки из-за неправильного проведения политики безопасности.
На самом деле указанный в сертификате класс защиты говорит всего лишь о верхнем уровне защищенности программ и данных. Даже если система защиты сертифицирована по некоторому классу, это вовсе не означает, что она надежно защищена от программных закладок. Практически все конфигурации защищенных компьютерных систем, реально используемые на практике, уязвимы для программных закладок.
Среди не очень опытных сетевых администраторов распространено мнение» что программные закладки опасны только для тех систем, в которых либо программное обеспечение содержит грубые ошибки, либо администраторы не способны поддерживать необходимую политику безопасности, которая включает в себя реализацию надежной защиты системы от НСД, в том числе к тем ее элементам, доступ к которым необходим для внедрения программной закладки. При этом считается, что если в организации используются только сертифицированные средства защиты и ее администраторы обладают высокой квалификацией, для сети этой организации программные закладки не представляют угрозы. Другими словами, если защитой информации занимаются умные люди, то закладок бояться нечего.
Но даже высококвалифицированные администраторы системы, как и все люди, иногда совершают ошибки, и хотя ошибки достаточно быстро обнаруживаются и устраняются, для того чтобы программная закладка внедрилась в систему, бывает достаточно и 5—10 мин.
Чтобы программная закладка могла что-нибудь сделать с другими программами или с данными, процессор должен приступить к исполнению команд, входящих в состав кода программной закладки. Это возможно только при одновременном соблюдении следующих условий:
– программная закладка должна попасть в оперативную память компьютера (если закладка относится к первому типу, то она должна быть загружена до начала работы программы, являющейся целью воздействия закладки, или во время работы этой программы);
– работа закладки, находящейся в оперативной памяти, начинается при выполнении активизирующих условий.
Существуют три основные группы деструктивных воздействий программных закладок:
– копирование информации (паролей, криптографических ключей, кодов доступа, конфиденциальных электронных документов), находящейся в оперативной или внешней памяти данной системы либо в памяти другой компьютерной системы, подключенной к ней через локальную или глобальную компьютерную сеть;
– изменение алгоритмов функционирования системных, прикладных и служебных программ (например, внесение изменений в программу разграничения доступа может привести к тому, что она разрешит вход в систему всем без исключения пользователям вне зависимости от правильности введенного пароля);
– навязывание определенных режимов работы (например, блокирование записи на диск при удалении информации, при этом информация, которую требуется удалить, не уничтожается и может быть впоследствии скопирована хакером).
Можно выделить следующие характерные модели воздействия программных закладок на компьютерную сеть:
– перехват (перехватчики паролей, клавиатурные шпионы и т. д.);
– искажение;
– уборка мусора;
– наблюдение и компрометация.
Обобщенная модель воздействия программных закладок на компьютерную сеть представлена на рис. 2.24.
В модели «перехват» программная закладка внедряется в ПЗУ, системное или прикладное программное обеспечение и сохраняет всю или выбранную информацию, вводимую с внешних устройств компьютерной системы или выводимую на эти устройства, в скрытой области памяти локальной или удаленной компьютерной системы. Объектом сохранения, например, могут служить символы, введенные с клавиатуры (все повторяемые два раза последовательности символов), или документы, распечатываемые на принтере.
Данная модель может быть двухступенчатой. На первом этапе сохраняются только имена или начала файлов. На втором этапе злоумышленник анализирует накопленные данные и выбирает конкретные объекты для следующей атаки.
В этой модели используются наиболее распространенные программные закладки, перехватывающие пароли пользователей операционных систем — перехватчики паролей. Перехватчики паролей были разработаны для операционных систем OS/370, MS DOS, Windows и UNIX. Внедренный в систему перехватчик паролей получает доступ к паролям, вводимым пользователями при входе в систему. Перехватив очередной пароль, закладка записывает его в специальный файл или в любое другое место, доступное злоумышленнику, внедрившему закладку. Все перехватчики паролей можно подразделить на три основных вида.
Перехватчики паролей первого вида действуют по следующему алгоритму. Злоумышленник запускает программу, которая имитирует приглашение для входа в систему, и ждет ввода. Когда пользователь1 вводит имя и пароль, закладка сохраняет их в доступном злоумышленнику месте, после чего ее работа завершается и злоумышленник выходит из системы (из большинства операционных систем можно выйти программным путем). По окончании работы закладки на экране появляется настоящее приглашение для входа пользователя в систему.
Пользователь, ставший жертвой закладки, видит, что он не вошел в систему, и что ему снова предлагается ввести имя и пароль. Пользователь предполагает, что при вводе пароля произошла ошибка, и вводит имя и пароль повторно. Он входит в систему и работает нормально. Некоторые закладки, функционирующие по данной схеме, перед завершением работы выдают на экран правдоподобное сообщение об ошибке, например: «Пароль введен неправильно. Попробуйте еще раз».
Основным достоинством этого класса перехватчиков паролей является то, что написание подобной программной закладки не требует от злоумышленника никакой специальной квалификации. Любой пользователь, умеющий программировать хотя бы на языке BASIC, может написать такую программу за считанные часы. Единственная проблема, которая может здесь возникнуть, заключается в программной реализации выхода пользователя из системы. Однако соответствующий системный вызов документирован для всех многопользовательских операционных систем. Если злоумышленник не поленится внимательно изучить документацию по операционной системе, то он решит данную проблему очень быстро.
Перехватчики паролей второго рода перехватывают все данные, вводимые с клавиатуры. Простейшие программные закладки этого типа просто сбрасывают данные на жесткий диск или в любое Другое место, доступное злоумышленнику.
Такие программы еще называются клавиатурными шпионами. В специальном текстовом файле они запоминают, какие клавиши были нажаты в ваше отсутствие. Текст, набранный на компьютере, в каком-нибудь бизнес-центре или Internet-кафе, может без особых проблем стать достоянием владельца такого компьютера. Подобные программы разработаны для разных операционных систем, они могут автоматически загружаться при включении компьютера и маскируются под резидентные антивирусы или еще что-нибудь полезное.
Более совершенные закладки анализируют перехваченные данные и отсеивают информацию, заведомо не имеющую отношения к паролям. Несколько таких закладок было написано в разное время для операционной системы MS DOS.
Эти закладки представляют собой резидентные программы, перехватывающие одно или несколько прерываний процессора, имеющих отношение к работе с клавиатурой. Информация о нажатой клавише и введенном символе, возвращаемая этими прерываниями, используется закладками для своих целей.
Любой русификатор клавиатуры, работающий в среде Windows, перехватывает всю информацию, вводимую пользователем с клавиатуры, в том числе и пароли. Несложно написать русификатор так, чтобы он, помимо своих основных функций, выполнял бы и функции перехватчика паролей. Написать программу локализации клавиатуры достаточно просто. Можно встроить перехватчик паролей в цепочку фильтров перед русификатором или после него, так что вся информация, вводимая с клавиатуры, проходит и через русификатор, и через перехватчик паролей. В этом случае задача написания программной закладки, перехватывающей пароли пользователей Windows, становится настолько простой, что не требуется специальная квалификация.
Если операционная система допускает переключение раскладки клавиатуры при вводе пароля, то для этой операционной системы можно написать перехватчик паролей второго рода.
К перехватчикам паролей третьего рода относятся программные закладки, полностью или частично подменяющие собой подсистему аутентификации операционной системы. Поскольку задача создания такой программной закладки гораздо сложнее, чем создание перехватчика паролей первого или второго рода, этот класс программных закладок появился совсем недавно.
Перехватчик паролей третьего рода может быть написан для любой многопользовательской операционной системы. Сложность создания такого перехватчика паролей зависит от сложности алгоритмов, реализуемых подсистемой аутентификации, сложности интерфейса между ее отдельными модулями, а также от степени документированности подсистемы аутентификации операционной системы.
В модели «искажение» программная закладка изменяет информацию, которая записывается в память компьютерной системы в результате работы программ, либо подавляет/инициирует возникновение ошибочных ситуаций в компьютерной системе. Можно выделить два типа искажений, использующих данную модель:
– статическое;
– динамическое.
Статическое искажение происходит всего один раз. При этом модифицируются параметры программной среды компьютерной системы, чтобы впоследствии в ней выполнялись нужные злоумышленнику действия. К статическому искажению относится, например, внесение изменений в файл AUTOEXEC.BAT операционной системы Windows 95/98, которые приводят к запуску заданной программы, прежде чем будут запущены все другие, перечисленные в этом файле.
Специалистам российского Федерального агентства правительственной связи и информации (ФАПСИ), например, удалось выявить при анализе одной из отечественных систем цифровой подписи интересное статистическое искажение. Злоумышленник (сотрудник отдела информации финансовой организации, в которой была внедрена данная система) исправил в ЕХЕ-модуле программы проверки правильности цифровой подписи символьную строку «ПОДПИСЬ НЕКОРРЕКТНА» на символьную строку «ПОДПИСЬ КОРРЕКТНА». В результате вообще перестали фиксироваться документы с неверными цифровыми подписями, и, следовательно, в электронные документы стало можно вносить произвольные изменения уже после их подписания электронной цифровой подписью.
Динамическое искажение заключается в изменении каких-либо параметров системных или прикладных процессов при помощи заранее активизированных закладок. Динамическое искажение можно условно разделить так:
– искажение на входе (когда на обработку попадает уже искаженный документ);
– искажение на выходе (когда искажается информация, отображаемая для восприятия человеком или предназначенная для работы других программ).
Практика применения цифровой подписи в системах автоматизированного документооборота показала, что именно программная реализация цифровой подписи особенно подвержена влиянию программных закладок типа «динамическое искажение», которые позволяют проводить фальшивые финансовые документы и вмешиваться в процесс разрешения споров по фактам неправомерного применения цифровой подписи. Например, в одной из программных реализаций широко известной криптосистемы PGP электронный документ, под которым требовалось поставить цифровую подпись, считывался блоками по 512 байт, причем процесс считывания считался завершенным, если в блоке данные занимали меньше 512 байт. Работа одной программной закладки, выявленной специалистами ФАПСИ, основывалась на навязывании длины файла. Эта закладка позволяла считывать только первые 512 байт документа, и в результате цифровая подпись определялась на основе этих 512 байт. Такая же схема действовала и при проверке поставленной под документом цифровой подписи. Следовательно, оставшаяся часть этого документа могла быть произвольным образом искажена, и цифровая подпись под ним продолжала оставаться «корректной».
Существуют следующие основные способы воздействия программных закладок на цифровую подпись:
– искажение входной информации (изменяется поступающий на подпись электронный документ);
– искажение результата проверки истинности цифровой подписи (вне зависимости от результатов работы программы цифровая подпись объявляется подлинной);
– навязывание длины электронного документа (программе цифровой подписи предъявляется документ меньшей длины, чем на самом деле, и в результате цифровая подпись ставится только под частью исходного документа);
– искажение программы цифровой подписи (вносятся изменения в исполняемый код программы с целью модификации алгоритма).
В рамках модели «искажение» также реализуются программные закладки, действие которых основывается на инициировании или подавлении сигнала о возникновении ошибочных ситуаций в компьютерной системе, т. е. тех, которые приводят к отличному от нормального завершению исполняемой программы (предписанного соответствующей документацией).
Для инициирования статической ошибки на устройствах хранения информации создается область, при обращении к которой (чтение, запись, форматирование и т. п.) возникает ошибка, что может затруднить или блокировать некоторые нежелательные для злоумышленника действия системных или прикладных программ (например, не позволять корректно уничтожить конфиденциальную информацию на жестком диске).
При инициировании динамической ошибки для некоторой операции генерируется ложная ошибка из числа тех ошибок, которые могут возникать при выполнении данной операции. Например, для блокирования приема или передачи информации в компьютерной системе может постоянно инициироваться ошибочная ситуация «МОДЕМ ЗАНЯТ». Или при прочтении первого блока информации длиной 512 байт может устанавливаться соответствующий флажок для того, чтобы не допустить прочтения второго и последующих блоков и в итоге подделать цифровую подпись.
Чтобы маскировать ошибочные ситуации, злоумышленники обычно используют подавление статической или динамической ошибки. Целью такого подавления часто является стремление блокировать нормальное функционирование компьютерной системы или желание заставить ее неправильно работать. Чрезвычайно важно, чтобы компьютерная система адекватно реагировала на возникновение всех без исключения ошибочных ситуаций, поскольку отсутствие должной реакции на любую ошибку эквивалентно ее подавлению и может быть использовано злоумышленником.
Известен случай успешной атаки пары аргентинских самолетов-торпедоносцев на английский эсминец «Шеффилд», закончившейся нанесением серьезных повреждений этому кораблю. Из-за ошибок в программном обеспечении установленная на нем система противовоздушной обороны не смогла выбрать цель, которую полагалось сбивать первой, поскольку атакующие самолеты летели слишком близко друг от друга.
Разновидностью искажения является также модель типа «троянский конь». В этом случае программная закладка встраивается в постоянно используемое программное обеспечение и по некоторому активизирующему событию вызывает возникновение сбойной ситуации в компьютерной системе. Тем самым достигаются сразу две цели: парализуется ее нормальное функционирование, а злоумышленник, получив доступ к компьютерной системе для устранения неполадок, сможет, например, извлечь из нее информацию, перехваченную другими программными закладками. В качестве активизирующего события обычно используется наступление определенного момента времени, сигнал из канала модемной связи или состояние некоторых счетчиков (например, счетчика количества запусков программы).
Следующая модель программных закладок называется «уборка мусора». Интересно, почему? Как известно, для хранения данных на внешних носителях прямого доступа выделяется несколько уровней иерархии: сектора, кластеры и файлы. Сектора являются единицами хранения информации на аппаратном уровне. Кластеры состоят из одного или нескольких подряд идущих секторов. Файл — это множество кластеров, связанных по определенному закону.
Работа с конфиденциальными электронными документами обычно сводится к последовательности следующих манипуляций с файлами:
– создание;
– хранение;
– коррекция;
– уничтожение.
Для защиты конфиденциальной информации обычно используется шифрование. Основная угроза исходит отнюдь не от использования нестойких алгоритмов шифрования и «плохих» криптографических ключей (как это может показаться на первый взгляд), а от обыкновенных текстовых редакторов и баз данных, применяемых для создания и коррекции конфиденциальных документов.
Дело в том, что подобные программные средства, как правило, в процессе функционирования создают в оперативной или внешней памяти компьютерной системы временные копии документов, с которыми они работают. Естественно, все эти временные файлы выпадают из поля зрения любых программ шифрования и могут быть использованы злоумышленником для того, чтобы составить представление о содержании хранимых в зашифрованном виде конфиденциальных документов.
Важно помнить и о том, что при записи отредактированной информации меньшего объема в тот же файл, где хранилась исходная информация до начала сеанса ее редактирования, образуются так называемые «хвостовые» кластеры, в которых эта исходная информация полностью сохраняется. И тогда «хвостовые» кластеры не только не подвергаются воздействию программ шифрования, но и остаются незатронутыми даже средствами гарантированного удаления информации. Конечно, рано или поздно информация из «хвостовых» кластеров затирается данными из других файлов, однако по оценкам специалистов ФАПСИ из «хвостовых» кластеров через сутки можно извлечь до 85%, а через десять суток — до 25—40% исходной информации.
Пользователям необходимо иметь в виду и то, что команда удаления файла (DEL) операционной системы DOS не изменяет содержания файла, и оно может быть в любой момент восстановлено, если поверх него еще не был записан другой файл. Распространенные средства гарантированного стирания файлов предварительно записывают на его место константы или случайные числа и только после этого удаляют файл стандартными средствами DOS. Однако даже такие мощные средства оказываются бессильными против программных закладок, которые нацелены на то, чтобы увеличить количество остающихся в виде «мусора» фрагментов конфиденциальной информации. Например, программная закладка может инициировать статическую ошибку, пометив один или несколько кластеров из цепочки, входящей в файл, меткой «СБОЙНЫЙ». В результате при удалении файла средствами операционной системы или средствами гарантированного уничтожения та его часть, которая размещена в сбойных кластерах, останется нетронутой и впоследствии может быть восстановлена с помощью стандартных утилит.
И, наконец, последняя модель — наблюдение и компрометация. Помимо перечисленных, существуют и другие модели воздействия программных закладок на компьютеры. В частности, при использовании модели типа «наблюдение» программная закладка встраивается в сетевое или телекоммуникационное программное обеспечение. Пользуясь тем, что подобное программное обеспечение всегда находится в активном состоянии, внедренная в него программная закладка может следить за всеми процессами обработки информации в компьютерной системе, а также устанавливать и удалять другие программные закладки.
Модель типа «компрометация» позволяет получать доступ к информации, перехваченной другими программными закладками. Например, инициируется постоянное обращение к такой информации, приводящее к росту соотношения сигнал/шум. А это, в свою очередь, значительно облегчает перехват побочных излучений данной компьютерной системы и позволяет эффективно выделять сигналы, сгенерированные закладкой типа «компрометация», из общего излучения, исходящего от оборудования.
4. ОСНОВНЫЕ ПУТИ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ИНФОРМАЦИИ
Наибольший интерес для злоумышленников представляют не одинокие пользователи, а корпоративные компьютерные сети. Именно в таких сетях содержится, во-первых, информация, утрата или несанкционированная модификация которой может привести к серьезным последствиям, а во-вторых, именно эта информация, как правило, интересует компьютерных взломщиков.
Защита корпоративных сетей отличается от защиты компьютеров домашних пользователей (хотя зашита индивидуальных рабочих станций — неотъемлемая часть защиты сетей). И прежде всего потому, что этим вопросом занимаются грамотные специалисты по компьютерной безопасности. К тому же основа системы безопасности корпоративной сети — достижение компромисса между удобством работы для конечных пользователей и требованиями, предъявляемыми техническими специалистами.
Компьютерную систему можно рассматривать с двух точек зрения: видеть в ней лишь пользователей на рабочих станциях, а можно учитывать только функционирование сетевой операционной системы. Можно считать компьютерной сетью и совокупность проходящих по проводам пакетов с информацией. Существует несколько уровней представления сети. Точно так же можно подходить и к проблеме сетевой безопасности — на разных уровнях. Соответственно, методы защиты будут разными для каждого уровня. Чем больше уровней защищено, тем надежнее защищена и система в целом.
Первый, самый очевидный и самый трудный на практике, путь — обучение персонала поведению, затрудняющему сетевую атаку. Это вовсе не так просто, как кажется на первый взгляд. Необходимо вводить ограничения на использование Internet, причем пользователи часто не представляют, чем эти ограничения обусловлены (у них нет такой квалификации), поэтому всячески пытаются нарушать существующие запреты. Тем более, что запреты должны быть четко сформулированы. Например, совет не использовать клиентские приложения с недостаточно защищенным протоколом обычный пользователь вряд ли поймет, а вот указание не запускать на своем компьютере ICQ поймет почти наверняка.
Безопасность информации компьютерных сетей достигается проведением единой политики защитных мероприятий, а также системой мер правового, организационного и инженерно-технического характера.
При разработке необходимого уровня защиты информации в сети производится учет взаимной ответственности персонала и руководства, соблюдения интересов личности и предприятия, взаимодействия с правоохранительными органами.
Обеспечение безопасности информации достигается правовыми, организационно-административными и инженерно-техническими мерами.
Концепция защиты информации
В условиях конкурентной борьбы сохранение ведущих позиций и привлечение новых клиентов возможно только при предоставлении большего количества услуг и сокращении времени обслуживания. Это достижимо лишь при обеспечении необходимого уровня автоматизации всех операций. В то же время благодаря применению вычислительной техники не только разрешаются возникающие проблемы, но и появляются новые, нетрадиционные угрозы, связанные с искажением или физическим уничтожением информации, возможностью случайной или умышленной модификации и опасностью несанкционированного получения информации лицами, для которых она не предназначена.
Анализ существующего положения дел показывает, что уровень мероприятий, предпринимаемых для защиты информации, как правило, ниже уровня автоматизации. Такое отставание может обернуться чрезвычайно серьезными последствиями.
Уязвимость информации в автоматизированных комплексах обусловлена большой концентрацией вычислительных ресурсов, их территориальной распределенностью, долговременным хранением большого объема данных на магнитных носителях, одновременным доступом к ресурсам многих пользователей. В этих условиях необходимость принятия мер защиты, наверное, не вызывает сомнений. Однако существуют трудности:
– на сегодняшний день нет единой теории защищенных систем;
– производители средств защиты в основном предлагают отдельные компоненты для решения частных задач, оставляя вопросы формирования системы защиты и совместимости этих средств на усмотрение потребителей;
– для обеспечения надежной защиты необходимо разрешить целый комплекс технических и организационных проблем и разработать соответствующую документацию.
Для преодоления вышеперечисленных трудностей необходима координация действий всех участников информационного процесса как на отдельном предприятии, так и на государственном уровне. Обеспечение информационной безопасности — достаточно серьезная задача, поэтому необходимо, прежде всего, разработать концепцию безопасности информации, где определить национальные и корпоративные интересы, принципы обеспечения и пути поддержания безопасности информации, а также сформулировать задачи по их реализации.
Концепция — официально принятая система взглядов на проблему информационной безопасности и пути ее решения с учетом современных тенденций. Она является методологической основой политики разработки практических мер по ее реализации. На базе сформулированных в концепции целей, задач и- возможных путей их решения формируются конкретные планы обеспечения информационной безопасности.
Стратегия и архитектура защиты информации
В основе комплекса мероприятий по информационной безопасности должна быть стратегия защиты информации. В ней определяются цели, критерии, принципы и процедуры, необходимые для построения надежной системы защиты. В хорошо разработанной стратегии должны найти отражение не только степень защиты, поиск брешей, места установки брандмауэров или proxy-серверов и т. п. В ней необходимо еще четко определить процедуры и способы их применения для того, чтобы гарантировать надежную защит.
Важнейшей особенностью общей стратегии информационной защиты является исследование системы безопасности. Можно выделить два основных направления:
– анализ средств защиты;
– определение факта вторжения.
На основе концепции безопасности информации разрабатываются стратегия безопасности информации и архитектура системы защиты информации (рис. 3.1). Следующий этап обобщенного подхода к обеспечению безопасности состоит в определении политики, содержание которой — наиболее рациональные средства и ресурсы, подходы и цели рассматриваемой задачи.
Разработку концепции защиты рекомендуется проводить в три этапа (рис. 3.2). На первом этапе должна быть четко определена целевая установка защиты, т. е. какие реальные ценности, производственные процессы, программы, массивы данных необходимо защищать. На этом этапе целесообразно дифференцировать по значимости отдельные объекты, требующие защиты.
На втором этапе должен быть проведен анализ преступных действий, которые потенциально могут быть совершены в отношении защищаемого объекта. Важно определить степень реальной опасности таких наиболее широко распространенных преступлений, как экономический шпионаж, терроризм, саботаж, кражи со взломом. Затем нужно проанализировать наиболее вероятные действия злоумышленников в отношении основных объектов, нуждающихся в защите.
Главной задачей третьего этапа является анализ обстановки, в том числе местных специфических условий, производственных процессов, уже установленных технических средств защиты.
Концепция защиты должна содержать перечень организационных, технических и других мер, которые обеспечивают максимальную безопасность при заданном остаточном риске и минимальные затраты на их реализацию.
Политика защиты — это общий документ, где перечисляются правила доступа, определяются пути реализации политики и описывается базовая архитектура среды защиты.
Сам по себе документ состоит из нескольких страниц текста. Он формирует основу физической архитектуры сети, а содержащаяся в нем информация определяет выбор продуктов защиты. При этом документ может и не включать списка необходимых закупок, но выбор конкретных компонентов после его составления должен быть очевидным.
Политика защиты выходит далеко за рамки простой идеи «не впускать злоумышленников». Это очень сложный документ, определяющий доступ к данным, характер серфинга в WWW, использование паролей или шифрования, отношение к вложениям в электронную почту, использование Java и ActiveX и многое другое. Он детализирует эти правила для отдельных лиц или групп. Нельзя забывать и об элементарной физической защите. Ведь если кто-нибудь может войти в серверную комнату и получить доступ к основному файловому серверу или выйти из офиса с резервными дискетами и дисками в кармане, то все остальные меры становятся попросту бессмысленными.
Конечно, политика не должна позволять чужакам проникнуть в сеть, но, кроме того, она должна устанавливать контроль и над потенциально нечистоплотными сотрудниками вашей организации. Девиз любого администратора системы защиты — «Никому не доверяй!».
На первом этапе разработки политики прежде всего необходимо определиться, каким пользователям какая информация и какие сервисы доступны, какова вероятность нанесения вреда и какая защита уже есть.
Кроме того, политика защиты должна диктовать иерархию прав доступа, т. е. пользователям следует предоставить доступ только к той информации, которая действительно нужна им для выполнения своей работы.
Политика защиты должна обязательно отражать следующее:
– контроль доступа (запрет на доступ пользователя к материалам, которыми ему не разрешено пользоваться);
– идентификацию и аутентификацию (использование паролей или других механизмов для проверки статуса пользователя);
– учет (запись всех действий пользователя в сети);
– контрольный журнал (журнал позволяет определить, когда и где произошло нарушение защиты);
– аккуратность (зашита от любых случайных нарушений);
– надежность (предотвращение монополизации ресурсов системы одним пользователем);
– обмен данными (защита всех коммуникаций).
Доступ определяется политикой в отношении брандмауэров: доступ к системным ресурсам и данным из сети можно описать на уровне операционной системы и при необходимости дополнить программами защиты независимых разработчиков.
Пароли могут быть самой ценной частью вашей среды защиты, но при неправильном использовании или обращении они могут стать ключом в вашу сеть. Политика правильного использования паролей особенно полезна при управлении временными бюджетами, чтобы кто-нибудь не воспользовался действительным паролем после того, как временные сотрудники или подрядчики завершили работу.
Некоторые операционные системы предлагают также такую возможность, как квалификация, т.е. вводят минимальный уровень трудности паролей. В этих системах администратор защиты может просто задать правило «Не использовать легко угадываемых паролей». Например, пароль, в котором указаны только имя и возраст пользователя, система не примет. Конечные же пользователи обычно выбирают самые простые пути. Если им приходится иметь дело со слишком большим числом паролей, они будут использовать один и тот же пароль или задавать легко запоминаемые пароли, или, хуже того, записывать их на листке и хранить в ящике стола.
Изобилие устройств защиты, брандмауэров, шлюзов и VPN (виртуальная частная сеть), а также растущий спрос на доступ к корпоративным данным со стороны сотрудников, партнеров и заказчиков, ведет к созданию сложной среды защиты, трудной для управления. Правила для многих из перечисленных устройств приходится часто задавать отдельно.
По мере того как крупные корпорации продолжают объединяться и поглощать более мелкие компании, среда защиты (и сеть в целом) все чаще принимает бессистемный характер. Когда это происходит, управлять правилами становится чрезвычайно трудно.
Брандмауэры (как аппаратные, так и программные) позволяют определить, кто имеет право доступа в вашу сеть извне. Все брандмауэры реализуют те или иные правила; разница состоит в уровне детализации и простоте использования, обеспечиваемой интерфейсом управления.
В идеале брандмауэр позволяет решить три задачи:
– задавать правила из интуитивно понятного графического интерфейса;
– управлять доступом вплоть до уровня индивидуальных файлов и объектов;
– группировать файлы и объекты для коллективного применения к ним правил в целях упрощения управления.
На сетевом уровне управлять защитой с помощью правил можно несколькими способами. Один из распространенных способов — с помощью адресации, когда пользователи приписываются к конкретной внутренней подсети для ограничения уровня их доступа. Фильтрация пакетов позволяет пропускать или блокировать пакеты в момент пересечения ими некоторых границ в зависимости от адреса отправителя или получателя.
Системы защиты функционируют на прикладном уровне; в этом случае системы или приложения, которым адресованы пакеты, запрашивают у пользователя пароль, проверяют его и затем предоставляют доступ в соответствии с предопределенными правилами.
Виртуальная частная сеть (VPN) по своей природе уже определяется некоторыми правилами (во всяком случае, так должно быть). VPN — это защищенный канал между несколькими офисами через общедоступную сеть, который представляет собой экономически выгодный способ связать друг с другом многочисленные филиалы, партнеров и заказчиков.
В простейшем случае сеть VPN связывает двух или более лиц или групп по защищенному соединению. В идеале организация этого соединения определяется совокупностью правил. Однако данная простейшая модель не учитывает необходимости контроля доступа: к чему будет иметь доступ удаленный пользователь после подключения к сети VPN?
Конечная цель сети VPN — введение строгих детализированных правил: с увеличением размеров сеть VPN требует более жесткого надзора, определения правил и их соблюдения.
Некоторые сети VPN предназначены не для замены брандмауэров, у которых есть свои правила, а, скорее, для их дополнения. В идеале правила для обеих систем должны быть согласованы. Правила VPN регламентируют в первую очередь, как пользователи могут подключиться к сети: уровень шифрования, использование паролей и другие зависящие от соединения факторы. Ничто не угрожает защите больше, чем активный код. Благодаря ActiveX и Java компьютерные программы получили возможность перемещаться по WWW, позволяя тем самым проделывать всевозможные полезные трюки, а также открывая возможность проводить опасные атаки на сеть.
Помимо введения ограничений на тип активного кода, политика защиты в отношении WWW может запрещать доступ из корпоративной сети к определенным IP-адресам. Часто причиной введения подобных ограничений являются не столько требования защиты, сколько политика в отношении персонала.
Тем не менее иногда запрещение доступа к определенным узлам бывает обусловлено соображениями защиты, в первую очередь это касается хакерских серверов, откуда сотрудник может непреднамеренно загрузить вредоносный апплет или почерпнуть информацию, которую он может использовать для атаки на сеть. Нужно постоянно помнить, что большинство атак совершается сотрудниками организации, так что предусмотрительность не помешает.
Политика защиты — это всего лишь бумажный документ. Для ее реализации и соблюдения требуется технология. Более того, как только политика будет разработана, ее предстоит воплотить в жизнь.
Один из простейших способов реализовать защиту — поручить заняться этим специализированной компании. К тому же, одна из самых грубых ошибок, совершаемых многими, состоит в том, что, разработав политику и купив оборудование, они на том и успокаиваются.
Систему защиты сначала надо правильно подключить, а потом ее необходимо регулярно пересматривать. Потребности, задачи и правила могут со временем измениться.
Если система не будет постоянно адаптироваться с учетом этих изменений, то в ней неизбежно появятся «дыры».
Большинство предложений сторонних услуг предусматривает предоставление заказчику интерфейса на базе WWW, откуда он может брать изменения. Несмотря на удобство, такой подход не обеспечивает всех необходимых средств контроля.
Важной частью создания политики защиты является планирование. Установив свои потребности до начала реализации и проанализировав их вплоть до уровня всех подразделений, вы сможете в результате создать гораздо лучший проект организации защиты, особенно в долгосрочной перспективе.
Определение политики ничего не дает, если она не соблюдается, впрочем, как ничего не дает и установка устройств защиты, если их оставляют без присмотра.
Защита — сложный и часто противоречивый процесс, реализация и управление которым осуществляется с помощью множества подчас слабо связанных между собой устройств и программ.
Политика безопасности информации
При разработке политики безопасности информации, в общем случае, первоначально определяют объекты, которые надо защитить, и их функции. Затем оценивают степень интереса потенциального противника к этим объектам, вероятные виды нападения и вызываемый ими ущерб. Наконец, определяют уязвимые для воздействия области, в которых имеющиеся средства противодействия не обеспечивают достаточной защиты. Для эффективной защиты нужно оценить каждый объект с точки зрения возможных угроз и видов нападения, потенциальной вероятности применения специальных инструментов, оружия и взрывчатых веществ. Особо важным допущением в этом процессе является предположение о том, что наиболее ценный для потенциального злоумышленника объект привлечет пристальное внимание злоумышленника и будет служить вероятной целью, против которой он использует основные силы. При этом разработка политики безопасности информации должна проводиться с учетом задач, решение которых обеспечит реальную защиту данного объекта (рис. 3.3).
Средства противодействия должны соответствовать концепции полной и эшелонированной защиты. Это означает, что их следует размещать на концентрических кругах, в центре которых находится объект защиты. В этом случае все возможные пути противника к любому объекту будут пересекать эшелонированную систему защиты. Каждый рубеж обороны организуется так, чтобы задержать нападающего на время, достаточное для принятия персоналом охраны ответных мер.
На заключительном этапе выбранные средства противодействия объединяют в соответствии с принятой концепцией защиты. Производится предварительная оценка начальной и ожидаемой общей стоимости жизненного цикла всей системы. В частности, следует учитывать возможные перемещения объектов, а также изменение требований в местах входа.
В том случае, когда внутри одного здания расположены объекты, требования к защите которых существенно различаются, здание делят на отсеки. Таким образом выделяют внутренние периметры внутри общего контролируемого пространства и создают внутренние защитные средства от несанкционированного доступа. Периметр обычно определяется физическими препятствиями, проход через которые контролируется электронным способом или с помощью специальных процедур, выполняемых сотрудниками охраны.
При защите группы зданий, имеющих общую границу или периметр, необходимо учитывать не только отдельный объект или здание, но и место их расположения. Обычно участки местности с большим количеством зданий имеют общие или частично совпадающие требования по обеспечению безопасности, а некоторые участки имеют ограждение по периметру и единую проходную. Организовав общий периметр, можно уменьшить количество защитных средств в каждом здании и установить их только для важных объектов, нападение на которые наиболее вероятно. Аналогичным образом, каждое строение или объект на участке оценивают с точки зрения их возможностей задержать нападающего.
Анализируя перечисленные требования, видим, что все они сводятся к исключению возможности неправомочного доступа к устройствам обработки и передачи информации, похищения носителей информации и саботажа.
Систему безопасности зданий и помещений и самих информационных средств целесообразно организовать в виде концентрических колец (стратегическое сердце в центре), размещая пункты контроля на переходах от одной зоны к другой (рис. 3.4). Что же касается контроля доступа в здания и помещения информационной службы, то основная мера — разделение и изоляция не только зданий и помещений, но и комплексов средств по их функциональному предназначению. Применяется как автоматическая, так и неавтоматическая система контроля доступа в здания и помещения. Система контроля может быть дополнена средствами наблюдения в дневное и ночное время (контроль за всеми входами без мертвых зон).
Зона 1. Внешняя зона безопасности КС. Обеспечение:
– физические препятствия (ограждение)
– проходные по периметру
– неавтоматическая система контроля допуска на территорию
Зона 2. Средняя зона безопасности КС. Обеспечение:
– пункты контроля с электронной защитой дверей
– видеонаблюдение
– исключение мертвых зон
Зона 3. Внутрення зона безопасности КС. Обеспечение:
– доступ к ПК сети только через контрольную систему
– биометрические системы идентификации
Рис. 3.4. Система безопасности компьютерной сети в здании
Выбор физических средств безопасности основывается на предварительном изучении важности объекта защиты, расходов на них и степени надежности системы контроля доступа (стоимость ненадежного предупреждения при реальном праве и стоимость надежного предупреждения при ложном праве), социальных аспектов и человеческих слабостей. В случае реализации кольцевой системы контроля доступа с высокой степенью безопасности возможно использование биометрической идентификации: отпечатков пальцев, ладоней, кровеносных сосудов сетчатки глаза или распознавание речи. Предусмотрен специальный режим допуска персонала, обслуживающего технические средства на договорной основе. Эти лица после идентификации допускаются на объект с сопровождающим лицом. Кроме того, для них точно устанавливается режим посещения, пространственные ограничения, время прибытия и убытия, характер выполняемой работы.
Наконец, по периметру здания устанавливают комплексное наблюдение с помощью системы различных датчиков определения вторжения. Эти датчики связаны с центральным постом охраны объекта и контролируют все возможные точки вторжения, особенно в нерабочее время.
Периодически следует проверять надежность физической защиты дверей, окон, крыши, вентиляционных отверстий и других выходов. В частности, проверяют сопротивляемость дверей против взлома (наличие и надежность заграждения, замков и пр.) и окон (доступность с внешней стороны, прочность рам, решеток). Наконец, убеждаются в защищенности воздухозаборников (решетки или выходов кондиционеров, вентиляторов и т. д.), особенно с учетом возможности реализации злонамеренных угроз.
Каждое помещение определяется как зона, которая имеет свою систему доступа в зависимости от важности находящегося в ней содержимого. Система допуска должна быть селективной, ранжированной по уровням в зависимости от важности лица или объекта. Система допуска может быть централизованной (управление разрешениями, планирование расписаний и календарных планов, письменные образцы допусков прибывающих и убывающих и т. д.). Контролировать доступ можно с помощью значков или жетонов.
Степень такого доступа может быть самой различной: от ложного права до полного доступа. Выбирают защиту в зависимости от возможностей ее организации. Можно организовать, например, визуальное наблюдение с помощью телевизионного контроля, подкрепленное с целью точного контроля временным графиком персонального доступа прибытия и убытия исполнителей. Самый жесткий контроль доступа в залы, где находится особо важная стратегическая информация, обеспечивается биометрическими методами. Можно создать дополнительную систему предупреждения вторжения в залы (в частности, в нерабочее время для залов без обслуживающего персонала).
Системы контроля нужно периодически проверять и постоянно поддерживать в рабочем состоянии. Для этого существуют специализированные подразделения и органы контроля.
Наконец, должно быть налажено информирование руководства и обучение персонала по различным вопросам предупреждения и контроля доступа на основе анализа результатов работы системы безопасности предприятия.
Обязательно нужно проверять систему доступа во вспомогательные помещения (помещение охраны, архивы, рабочие места анализа и программирования), в частности, наличие и адекватность системы контроля установленным требованиям.
Можно также предусмотреть различные способы защиты малогабаритного оборудования, таких как персональные компьютеры и средства физической защиты (ставни или надежные запоры, футляры для хранения, дополнительные платы логических запирающих устройств, кнопки включения сигнала тревоги под средствами обработки информации).
Подводя итоги вышесказанному, рассмотрим, как определяется политика безопасности информации при защите компьютерных сетей. Обычно для корпоративных сетей с большим количество пользователей составляется специальный документ, регламентирующий работу в сети, называемый «Политика безопасности».
Политика обычно состоит из двух частей: общих принципов и конкретных правил работы. Общие принципы определяют подход к безопасности в Internet. Правила же регламентируют, что разрешено, а что запрещено. Правила могут дополняться конкретными процедурами и различными руководствами.
Правда, существует и третий тип политики; его описание встречается в литературе по безопасности в Internet — технический подход-анализ, который помогает выполнять принципы и правила политики. Однако он слишком техничен и сложен для понимания руководством организации, поэтому не так широко используется, как политика. Тем не менее он обязателен при описании возможных решений, определяющих компромиссы политики.
Обычно политика безопасности регламентирует использование основных сервисов сети (электронную почту, WWW и т. п.), а также ставит в известность пользователей сети о тех правах доступа, какими они обладают, что обычно определяет и процедуру аутентификации пользователя.
К этому документу следует относиться со всей серьезностью. Все остальные стратегии защиты строятся на предположении, что правила политики безопасности неукоснительно соблюдаются. Политика безопасности вызывает и большинство нареканий со стороны пользователей, потому что в ней очевидным образом написано, что именно пользователю воспрещено. Рядовому пользователю может быть непонятен запрет, скажем, на использование служебного адреса электронной почты для личной переписки. Однако политика безопасности — это официальный документ, который составляется на основе, с одной стороны, производственной необходимости в сервисах, предоставляемых Internet, а с другой — на основе требований безопасности, сформулированных соответствующими специалистами-профессионалами.
Автоматизированный комплекс можно считать защищенным, если все операции выполняются в соответствии со строго определенными правилами (рис. 3.5), которые обеспечивают непосредственную защиту объектов, ресурсов и операций. Основу для формирования требований к защите составляет список угроз. Когда такие требования известны, могут быть определены соответствующие правила обеспечения защиты. Эти правила, в свою очередь, определяют необходимые функции и средства защиты. Чем строже требования к защите и больше соответствующих правил, тем эффективнее ее механизмы и тем более защищенным оказывается автоматизированный комплекс.
Из выше изложенного следует, что защита информации в компьютерной сети эффективнее в том случае, когда проектирование и реализация системы защиты происходит в три этапа:
– анализ риска;
– реализация политики безопасности;
– поддержка политики безопасности.
На первом этапе анализируются уязвимые элементы компьютерной сети, определяются и оцениваются угрозы и подбираются оптимальные средства защиты. Анализ риска заканчивается принятием политики безопасности. Политикой безопасности (Security Policy) называется комплекс взаимосвязанных мер, направленных на обеспечение высокого уровня безопасности. В теории защиты информации считается, что эти меры должны быть направлены на достижение следующего:
– конфиденциальность (засекреченная информация должна быть доступна только тому, кому она предназначена);
– целостность (информация, на основе которой принимаются решения, должна быть достоверной и полной, а также защищена от возможных непреднамеренных и злоумышленных искажений);
– готовность (информация и соответствующие автоматизированные службы должны быть доступны и в случае необходимости готовы к обслуживанию).
Уязвимость означает невыполнение хотя бы одного из этих свойств.
Для компьютерных сетей можно выделить следующие вероятные угрозы, которые необходимо учитывать при определении политики безопасности:
– несанкционированный доступ посторонних лиц, не принадлежащих к числу служащих, и ознакомление с хранимой конфиденциальной информацией;
– ознакомление своих служащих с информацией, к которой они не должны иметь доступа;
– несанкционированное копирование программ и данных;
– перехват и ознакомление с конфиденциальной информацией, передаваемой по каналам связи;
– кража магнитных носителей, содержащих конфиденциальную информацию;
– кража распечатанных документов;
– случайное или умышленное уничтожение информации;
– несанкционированная модификация служащими документов и баз данных;
– фальсификация сообщений, передаваемых по каналам связи;
– отказ от авторства сообщения, переданного по каналам связи;
– отказ от факта получения информации;
– навязывание ранее переданного сообщения;
– ошибки в работе обслуживающего персонала;
– разрушение файловой структуры из-за некорректной работы программ или аппаратных средств;
– разрушение информации, вызванное вирусными воздействиями;
– разрушение архивной информации, хранящейся на магнитных носителях;
– кража оборудования;
– ошибки в программном обеспечении;
– отключение электропитания;
– сбои оборудования.
Оценка вероятности появления данных угроз и ожидаемых размеров потерь — трудная задача. Еще сложнее определить требования к системе защиты. Политика безопасности должна определяться следующими мерами:
– идентификация, проверка подлинности и контроль доступа пользователей на объект, в помещения, к ресурсам автоматизированного комплекса;
– разделение полномочий пользователей, имеющих доступ к вычислительным ресурсам;
– регистрация и учет работы пользователей;
– регистрация попыток нарушения полномочий;
– шифрование конфиденциальной информации на основе криптографических алгоритмов высокой стойкости;
– применение цифровой подписи для передачи информации по каналам связи;
– обеспечение антивирусной защиты (в том числе и для борьбы с неизвестными вирусами) и восстановление информации, разрушенной вирусными воздействиями;
– контроль целостности программных средств и обрабатываемой информации;
– восстановление разрушенной архивной информации, даже при значительных потерях;
– наличие администратора (службы) защиты информации в системе;
– выработка и соблюдение необходимых организационных мер;
– применение технических средств, обеспечивающих бесперебойную работу оборудования.
Второй этап — реализация политики безопасности — начинается с проведения расчета финансовых затрат и выбора соответствующих средств для выполнения этих задач. При этом необходимо учесть такие факторы как бесконфликтность работы выбранных средств, репутация поставщиков средств защиты, возможность получения полной информации о механизмах защиты и предоставляемые гарантии. Кроме того, следует учитывать принципы, в которых отражены основные положения по безопасности информации:
– экономическая эффективность (стоимость средств защиты должна быть меньше, чем размеры возможного ущерба);
– минимум привилегий (каждый пользователь должен иметь минимальный набор привилегий, необходимый для работы);
– простота (защита будет тем более эффективной, чем легче пользователю с ней работать);
– отключение защиты (при нормальном функционировании зашита не должна отключаться, за исключением особых случаев, когда сотрудник со специальными полномочиями может иметь возможность отключить систему защиты);
– открытость проектирования и функционирования механизмов защиты (секретность проектирования и функционирования средств безопасности — не лучший подход к защите информации, т. к. специалисты, имеющие отношение к системе зашиты, должны полностью представлять себе принципы ее функционирования и в случае возникновения затруднительных ситуаций адекватно на них реагировать);
– независимость системы защиты от субъектов защиты (лица, занимавшиеся разработкой системы защиты, не должны быть в числе тех, кого эта система будет контролировать);
– всеобщий контроль (любые исключения из множества контролируемых субъектов и объектов защиты снижают защищенность автоматизированного комплекса);
– отчетность и подконтрольность (система защиты должна предоставлять достаточно доказательств, показывающих корректность ее работы);
– ответственность (личная ответственность лиц, занимающихся обеспечением безопасности информации);
– изоляция и разделение (объекты защиты целесообразно разделять на группы таким образом, чтобы нарушение защиты в одной из групп не влияло на безопасность других групп);
– отказ по умолчанию (если произошел сбой средств защиты и разработчики не предусмотрели такой ситуации, то доступ к вычислительным ресурсам должен быть запрещен);
– полнота и согласованность (система защиты должна быть полностью специфицирована, протестирована и согласована);
– параметризация (защита становится более эффективной и гибкой, если она допускает изменение своих параметров со стороны администратора);
– принцип враждебного окружения (система защиты должна проектироваться в расчете на враждебное окружение и предполагать, что пользователи имеют наихудшие намерения, что они будут совершать серьезные ошибки и искать пути обхода механизмов защиты);
– привлечение человека (наиболее важные и критические решения должны приниматься человеком, т. к. компьютерная система не может предусмотреть все возможные ситуации);
– отсутствие излишней информации о существовании механизмов защиты (существование механизмов защиты должно быть по возможности скрыто от пользователей, работа которых контролируется).
Поддержка политики безопасности — третий, наиболее важный, этап. Мероприятия, проводимые на данном этапе, требуют постоянного наблюдения за происходящими вторжениями в сеть злоумышленников, выявления «дыр» в системе защиты объекта информации, учета случаев несанкционированного доступа к конфиденциальным данным.
При этом основная ответственность за поддержание политики безопасности сети лежит на системном администраторе, который должен оперативно реагировать на все случаи взлома конкретной системы защиты, анализировать их и использовать необходимые аппаратные и программные средства защиты с учетом максимальной экономии финансовых средств.
5. ПРАВИЛА ОРГАНИЗАЦИИ ЗАЩИТЫ ИНФОРМАЦИИ
Требования к безопасности компьютерных сетей в РФ
Руководящие документы, относящиеся к области защиты информации для компьютерных сетей, разработаны Государственной технической комиссией при Президенте Российской Федерации. Требования всех этих документов обязательны для исполнения только в государственном секторе, либо коммерческими организациями, которые обрабатывают информацию, содержащую государственную тайну. Для остальных коммерческих структур документы носят рекомендательный характер.
Рассмотрим содержание одного из документов, отражающих требования по защите информации от несанкционированного доступа. Полное название документа — «Автоматизированные системы. Защита от несанкционированного доступа к информации. Классификация автоматизированных систем и требования по защите информации».
В этом документе приведена классификация автоматизированных систем на классы по условиям их функционирования с точки зрения защиты информации в целях разработки и применения обоснованных мер по достижению требуемого уровня безопасности.
Устанавливается девять классов защищенности (табл. 3.1), каждый из которых характеризуется определенной минимальной совокупностью требований по защите.
Классы подразделяются на три группы, отличающиеся особенностями обработки информации. В пределах каждой группы соблюдается иерархия требований по защите в зависимости от ценности (конфиденциальности) информации и, следовательно, иерархия классов защищенности. Рассмотрим показатели каждой из групп, начиная с последней.
Третья группа включает системы, в которых работает один пользователь, допущенный ко всей информации, размещенной на носителях одного уровня конфиденциальности. Группа содержит два класса — ЗБ и ЗА.
Таблица 3.1. Классы защищенности компьютерных сетей
Требования
Классы
ЗБ
ЗА
2Б
2А
1Д
1Г
1В
1Б
1А
К подсистеме управления доступом
Идентификация, проверка подлинности и контроль доступа субъектов:
- к системе
X
X
X
X
X
X
X
X
X
- к терминалам, ЭВМ, узлам сети ЭВМ, каналам связи, внешним устройствам ЭВМ
X
X
X
X
X
- к программам
—
—
—
X
—
X
X
X
X
- к томам, каталогам, файлам, записям
—
—
—
X
—
X
X
X
X
Управление потоками информации
—
—
—
X
—
—
X
X
X
К подсистеме регистрации и учета
Регистрация и учет:
- входа (выхода) субъектов в(из) системы (узла сети)
X
X
X
X
X
X
X
X
X
- выдачи печатных (графических) выходных документов
——
X
—
X
—
X
X
X
X
- запуска (завершения) программы и процессов (заданий, задач)
——
X
—
X
—
X
X
X
X
- доступа программ субъектов доступа к защищаемым файлам, включая их создание и удаление, передачу по линиям и каналам связи
X
X
X
X
X
- доступа программ субъектов доступа к терминалам, ЭВМ, узлам сети ЭВМ, каналам связи, внешним устройствам ЭВМ, программным томам, каталогам, файлам, записям, полям записей
X
X
X
X
X
- изменения полномочий субъектов доступа
——
——
—
—
—
—
X
X
X
- создаваемых защищаемых объектов доступа
——
—
—
X
—
—
X
X
X
Учет носителей информации
X
X
X
X
X
X
X
X
X
Очистка (обнуление, обезличивание) оперативной памяти и внешних накопителей
X
X
X
X
X
X
Сигнализация попыток нарушения защиты
—
—
—
—
—
X
X
X
X
К криптографической подсистеме
Шифрование конфиденциальной информации
—
—
—
—
—
—
X
X
X
Шифрование информации, принадлежащей различным субъектам доступа (группам субъектов) на разных ключах
X
Использование аттестованных (сертифицированных) криптографических средств
X
X
К подсистеме обеспечения целостности
Обеспечение целостности программных средств и обрабатываемой информации
X
X
X
X
X
X
X
X
X
Физическая охрана средств вычислительной техники и носителей информации
X
X
X
X
X
X
X
X
X
Наличие администратора (службы) защиты информации
__
__
__
X
___
X
X
X
Периодическое тестирование СЗИ
X
X
X
X
X
X
X
X
X
Наличие средств восстановления СЗИ
X
X
X
X
X
X
X
X
X
Использование сертифицированных средств защиты
~
X
X
X
X
X
Вторая группа включает системы, в которых пользователи имеют одинаковые нрава доступа ко всей информации, обрабатываемой и/или хранимой на носителях различного уровня конфиденциальности. Группа содержит два класса — 2Б и 2А.
Первая группа включает многопользовательские системы, в которых одновременно обрабатывается и/или хранится информация разных уровней конфиденциальности. Группа содержит пять классов — 1Д, 1Г, 1В, 1Б и 1А.
В общем плане защитные мероприятия охватывают 4 подсистемы:
– управления доступом;
– регистрации и учета;
– криптографической;
– обеспечения целостности.
Для присвоения класса защищенности система должна иметь:
– руководство администратора по системе;
– руководство пользователя;
– тестовую и конструкторскую документацию.
В качестве примера рассмотрим требования к подсистеме обеспечения целостности класса 2А.
Подсистема обеспечения целостности класса 2А должна обеспечивать целостность программных средств системы защиты информации от несанкционированного доступа, целостность обрабатываемой информации, а также неизменность программной среды. При этом:
– целесообразность проверяется при загрузке системы по наличию имен (идентификаторов) компонентов системы защиты информации;
– целостность программной среды обеспечивается отсутствием в системе средств разработки и отладки программ,
– физическая охрана средств (устройств и носителей информации) предусматривает постоянную охрану территории и здания, где размещается система, с помощью технических средств и специального персонала, использование строгого пропускного режима, специальное оборудование помещений;
– должен быть администратор (служба) защиты информации, ответственный за ведение, нормальное функционирование и контроль работы системы защиты информации от НСД;
– необходимо периодическое тестирование функций системы защиты информации от НСД при изменении программной среды и персонала системы с помощью тест-программ, имитирующих попытки НСД;
– должны быть в наличии средства восстановления защиты, предусматривающие ведение двух копий программных средств защиты, их периодическое обновление и контроль работоспособности;
– следует использовать сертифицированные средства защиты. Тщательный анализ таких требований позволит оценить реальную безопасность любой информационной системы с отнесением ее к определенному классу защищенности.
Виды обеспечения безопасности информации
Совсем недавно к интеллектуальным преступлениям можно было бы отнести незаконное копирование произведений и товарных знаков, присвоение авторства и т. п. В настоящее время в связи с широким распространением вычислительной техники и средств телекоммуникаций список таких преступлений значительно расширился. Они происходят теперь и в экономической сфере. А это высокорентабельный бизнес, который не считается ни со временем, ни с расстояниями, ни с границами, и доходы от него сравнимы с доходами от торговли оружием или наркотиками.
Компьютерные программы, конфиденциальная электронная информация, электронные деньги стали электронным товаром конца XX и начала XXI веков. До воплощения этого товара в материальную форму, в виде реального товара или денег, его утечка зачастую не обнаруживается, а следовательно, убытки от незаконного использования не явны и трудно определимы, хотя реальный ущерб может исчисляться астрономическими суммами.
Именно поэтому компьютерные преступления чрезвычайно многогранны и сложны. Объектами таких преступных посягательств могут быть сами технические средства (компьютеры и периферия) как материальные объекты или программное обеспечение и базы данных, для которых технические средства являются окружением.
В настоящее время компьютерные преступления чрезвычайно многообразны. Это несанкционированный доступ к информации, хранящейся в компьютере, ввод в программное обеспечение логических бомб, разработка и распространение компьютерных вирусов, хищение компьютерной информации, небрежность в разработке, изготовлении и эксплуатации программно-вычислительных комплексов, подделка компьютерной информации.
Все меры противодействия компьютерным преступлениям, непосредственно обеспечивающих безопасность информации, можно подразделить на:
• правовые;
• организационно-административные;
• инженерно-технические.
К правовым мерам следует отнести разработку норм, устанавливающих ответственность за компьютерные преступления, защиту авторских прав программистов, совершенствование уголовного и гражданского законодательства, а также судопроизводства. К ним относятся также вопросы общественного контроля за разработчиками компьютерных систем и принятие соответствующих международных договоров об ограничениях, если они влияют или могут повлиять на военные, экономические и социальные аспекты стран, заключающих соглашение. Только в последние годы появились работы по проблемам правовой борьбы с компьютерными преступлениями. А совсем недавно и отечественное законодательство встало на путь борьбы с компьютерной преступностью.
К организационно-административным мерам относятся охрана компьютерных систем, подбор персонала, исключение случаев ведения особо важных работ только одним человеком, наличие плана восстановления работоспособности центра после выхода его из строя, обслуживание вычислительного центра посторонней организацией или лицами, не заинтересованными в сокрытии фактов нарушения работы центра, универсальность средств защиты от всех пользователей (включая высшее руководство), возложение ответственности на лиц, которые должны обеспечить безопасность центра, выбор места расположения центра и т. п.
К инженерно-техническим мерам можно отнести защиту от несанкционированного доступа к компьютерной системе, резервирование важных компьютерных систем, обеспечение защиты от хищений и диверсий, резервное электропитание, разработку и реализацию специальных программных и аппаратных комплексов безопасности и многое другое.
Правовое обеспечение безопасности информации
Правовое обеспечение безопасности информации — это совокупность законодательных актов, нормативно-правовых документов, положений, инструкций, руководств, требования которых обязательны в системе защиты информации. Вопрос о правовом обеспечении безопасности информации в настоящее время активно прорабатывается как в практическом, так и в законотворческом плане.
В качестве инструментов для совершения компьютерных преступлений используются средства телекоммуникаций и вычислительной техники, программное обеспечение и интеллектуальные знания, а сферами их совершения являются не только компьютеры, глобальные и корпоративные сети (Internet/intranet), но и любые области, где используются современные высокопроизводительные средства информационных технологий, там, где обрабатываются большие объемы информации (например, статистические и финансовые институты).
В связи с этим деятельность любого учреждения нельзя представить без процесса получения самой разнообразной информации, ее обработки вручную или с использованием средств вычислительной техники, принятия на основе анализа информации каких-либо конкретных решений и передачи их по каналам связи.
Компьютер может выступать и как сам предмет посягательств, так и как инструмент, с помощью которого оно возможно. Если разделять два последних понятия, то термин «компьютерное преступление» как юридическая категория не имеет особого смысла. Если компьютер — только объект посягательства, то квалифицировать правонарушения можно по существующим нормам права. Если же компьютер только инструмент, то достаточен такой признак, как «применение технических средств». Возможно объединение указанных понятий, когда компьютер одновременно и инструмент, и предмет. В частности, к этой ситуации относится факт хищения машинной информации.
Если хищение информации связано с потерей материальных и финансовых ценностей, то этот факт можно квалифицировать как преступление. Также если с данным фактом связываются нарушения интересов национальной безопасности, авторства, то уголовная ответственность прямо предусмотрена в соответствии с законами РФ.
Правовое обеспечение безопасности информации любой страны содержит как международные, так и национальные правовые нормы. В нашей стране правовые или законодательные основы обеспечения безопасности компьютерных систем составляют Конституция РФ, Законы РФ, Кодексы, указы и другие нормативные акты, регулирующие отношения в области информации (рис. 3.6).
Предметами правового регулирования являются:
– правовой режим информации защиты информации;
– правовой статус участников правоотношений в процессах информатизации;
– порядок отношений субъектов с учетом их правового статуса на различных стадиях и уровнях процесса функционирования информационных структур и систем.
Законодательство по информационной безопасности можно представить как неотъемлемую часть всей системы законов Российской Федерации, в том числе:
– конституционное законодательство, куда нормы, касающиеся вопросов информатизации, входят как составные элементы;
– общие основные законы (о собственности, недрах, земле, правах граждан, гражданстве, налогах), которые включают нормы по вопросам информатизации;
– законы по организации управления, касающиеся отдельных структур хозяйства, экономики, системы государственных органов и определяющие их статус. Они включают отдельные нормы по вопросам информации. Наряду с общими вопросами информационного обеспечения деятельности конкретного органа эти нормы должны устанавливать обязанность органа по формированию и актуализации систем и массивов (банков) информации;
– специальные законы, полностью относящиеся к конкретным сферам отношений, отраслям хозяйства, процессам. В их число входят законы по информатизации — именно состав и содержание этих законов образуют специальное законодательство как основу правового обеспечения информатизации и защиту информации;
– подзаконные нормативные акты в области информатизации;
– правоохранительное законодательство РФ, содержащее нормы ответственности за правонарушения в области информатизации.
До недавнего времени, а именно до 1 января 1997 года — даты вступления в действие нового Уголовного Кодекса Российской Федерации (УК РФ) — в России отсутствовала возможность эффективной борьбы с компьютерными преступлениями. Несмотря на явную опасность, данные посягательства не считались противозаконными, то есть о них не упоминалось в уголовном законодательстве. Хотя еще до принятия нового УК в России была осознана необходимость правовой борьбы с компьютерной преступностью. Был принят ряд законов, которые внесли правовую определенность в процесс компьютеризации нашего общества вообще и проблему компьютерной преступности, в частности, и вместе с другими правовыми актами сформировали пакет документов, охватывающий несколько сотен нормативно-правовых актов (в настоящее время отношения в сфере информационной безопасности регулируются более чем 80 законами, иногда достаточно противоречивыми).
Специальное законодательство в области информатизации представляется совокупностью законов, часть из которых уже принята, а часть находится в разработке. Непосредственно законодательство России в области защиты информации и государственных секретов начало формироваться с 1991 года и включало до 1997 года десять основных законов:
– «О средствах массовой информации» (от 27.12.91 г. № 2124—1);
– «Патентный закон РФ» (от 23.09.92 г. № 3517—1);
– «О правовой охране топологий интегральных микросхем» (от 23.09.92 г. № 3526—1);
– «О правовой охране программ для электронных вычислительных машин и баз данных» (от 23.09.92 г. № 3523—1);
– «Основы законодательства об Архивном фонде РФ и архивах» (от 7.07.93 г. №5341—1);
– «Об авторском праве и смежных правах» (от 9.07.93 г. № 5351—1);
– «О государственной тайне» (от 21.07.93 г. № 5485—1);
– «Об обязательном экземпляре документов» (от 29.12.94 г. № 77—ФЗ);
– «О связи» (от 16.02.95 г. № 15—ФЗ);
– «Об информации, информатизации и защите информации» (от 20.02.95 г. № 24—ФЗ);
– «Об участии в международном информационном обмене» (от 5.06.% г. № 85—ФЗ).
Кроме этих законов, на первом этапе создания законодательства в этой области были изданы указы Президента Российской Федерации. Вот лишь некоторые из них:
– «О создании Государственной технической комиссии при Президенте Российской Федерации» (от 5.01.92 г. № 9);
– «Концепция правовой информатизации России» (от 23.04.93 г. № 477);
– «О дополнительных гарантиях прав граждан на информацию» (от 31.12.93 г. № 2334);
– «Об основах государственной политики в сфере информатизации» (от 20.01.94 г. № 170);
– «Вопросы защиты государственной тайны» (от 30.03.94 г. № 614);
– «О совершенствовании деятельности в области информатизации органов государственной власти Российской Федерации» (от 21.04.94 г. Na 361);
– «Вопросы деятельности Комитета при Президенте Российской Федерации по политике информатизации» (от 17.06.94 г. № 328);
– «О совершенствовании информационно-телекоммуникационного обеспечения органов государственной власти и порядке их взаимодействия при реализации государственной политики в сфере информатизации» (от 1.07.94 г. № 1390);
– «О мерах по соблюдению законности в области разработки, производства, шифрования информации» (от 3.04.95 г. № 334);
– «Перечень сведений, отнесенных к государственной тайне» (от 30.11.95 г. № 1203);
– «О мерах по упорядочиванию разработки, производства, реализации, приобретения в целях продажи, ввоза в Российскую Федерацию и вывоза за ее пределы, а также использования специальных технических средств, предназначенных для негласного получения информации» (от 9.01.96 г. № 21);
– «Перечень сведений конфиденциального характера» (от 6.03.97 г. № 188).
Во всех базовых законах определены цели, объекты, понятия и правовые основы защиты информации (информационных ресурсов). Рассмотрим несколько подробнее Закон РФ «Об информации, информатизации и защите информации», который призван обеспечить соблюдение конституционного права граждан на информацию, ее открытость и доступность, получение гражданами и организациями информации о деятельности органов законодательной, исполнительной и судебной власти и другой информации, представляющей общественный и личный интерес, а также содействовать обращению информации в обществе и развитию информатизации. В нем отражены такие вопросы, как порядок документирования информации и ее включение в информационные ресурсы, право собственности на информационные ресурсы, отнесение информации (информационных ресурсов) к категориям открытого и ограниченного доступа, определение механизмов и полномочий по доступу к информации, порядок правовой защиты информации, механизмы установления ответственности за нарушения в этой сфере и другие. В законе определены основные цели защиты информации:
– предотвращение утечки, хищения, искажения, подделки;
– обеспечение безопасности личности, общества, государства;
– предотвращение несанкционированных действий, направленных на уничтожение, искажение, блокирование информации;
– защита конституционных прав граждан на сохранение личной тайны и конфиденциальности персональных данных;
– сохранение государственной тайны, конфиденциальности документированной информации.
Согласно упомянутому закону защите подлежат сведения ограниченного доступа, а степень защиты определяет их собственник. При этом ответственность за выполнение защитных мер лежит не только на собственнике информации, но и на ее пользователе. Поэтому важно четко уяснить: информация, используемая в вашем учреждении, не принадлежит вам, но должна быть обязательно защищена. Причем защищается только документированная информация.
В соответствии с законом документированная информация с ограниченным доступом по условиям ее правового режима подразделяется на:
– государственную тайну (ст. 8);
– конфиденциальную информацию (ст. 10).
К государственной тайне относятся защищаемые государством сведения в области его военной, внешнеполитической, экономической, разведывательной, контрразведывательной и оперативно-розыскной деятельности, распространение которых может нанести ущерб Российской Федерации. Поскольку информацией этой категории владеет само государство, то, естественно, оно же само и выдвигает определенные требования к ее защите, а также контролирует их исполнение. Это оговаривается Законом Российской Федерации 1993 года «О государственной тайне». Нарушения именно этих требований влекут за собой применение санкций, предусмотренных Уголовным Кодексом РФ, по всей строгости законов.
Конфиденциальная информация — это документированная информация, правовой режим которой установлен специальными нормами действующего законодательства в области государственной, коммерческой, промышленной и другой общественной деятельности. Информацией этой категории владеют учреждения и организации, поэтому они вправе ею распоряжаться, а следовательно, и выбирать степень ее защиты. Правда, применить какие-либо санкции в случае нарушения конфиденциальности можно только после предварительного выполнения особых формальностей, оговоренных Гражданским кодексом Российской Федерации.
Суть этих формальностей (ст. 139 Гражданского кодекса РФ) заключается в следующем:
– информация должна иметь действительную или потенциальную коммерческую ценность и эти сведения не могут быть известны третьим лицам в силу каких-либо других условий;
– учреждение принимало определенные меры для исключения на законных основаниях свободного доступа к этой информации и охране ее конфиденциальности;
– все сотрудники, знакомые с этими сведениями, были официально предупреждены об их конфиденциальности.
Только в этом случае закон будет на вашей стороне и вы сможете потребовать возмещения убытков, понесенных от нарушения конфиденциальности информации.
Один из видов конфиденциальной информации — персональные конфиденциальные данные, которыми владеет каждый из нас, т. к. она касается нашей личной жизни. Однако, понимая степень значимости этой информации и ее роль в обеспечении безопасности личности, государство взяло ее под защиту и рассматривает как одну из своих важнейших задач. Правовая сторона этого вопроса на современном этапе еще недостаточно проработана. Только Закон «Об информации, информатизации и защите информации» относит эти сведения к категории конфиденциальных и требует их защиты наравне с информацией, составляющей государственную тайну.
Из всех многочисленных видов конфиденциальной информации в этом законе упомянуты лишь личная и семейная тайны, персональные данные, тайна переписки, телефонных, почтовых, телеграфных и иных сообщений. Однако уже в 1996 году в Федеральном Законе «Об участии в международном информационном обмене» (ст. 8) государственная тайна определяется как конфиденциальная информация. Эта путаница сохраняется во многих законах, где ссылки «на иные охраняемые секреты, иные охраняемые законом тайны» предполагают продолжение списка видов информации с ограниченным доступом.
В Указе Президента РФ от 6.03.97 г. № 188 предпринята попытка упорядочить перечень конфиденциальной информации. В нем утвержден перечень сведений «конфиденциального характера», где указаны 6 видов такой информации:
– персональные данные;
– тайна следствия и судопроизводства;
– служебная тайна;
– профессиональная тайна;
– коммерческая тайна;
– сведения о сущности изобретения, полезной модели или промышленного образца до официальной публикации информации о них.
В этих законах определены основные термины и понятия в области компьютерной информации (например, такие как компьютерная информация, программа для ЭВМ, ЭВМ, сеть ЭВМ, база данных и т. п.), регулируются вопросы ее распространения, охраны авторских прав, имущественные и неимущественные отношения, возникающие в связи с созданием, правовой охраной и использованием программного обеспечения и новых информационных технологий. Также раскрываются понятия информационной безопасности и международного информационного обмена. Кроме них, следует также упомянуть Указы Президента РФ, которые касаются, прежде всего, вопросов формирования государственной политики в сфере информатизации (включая организационные механизмы), создания системы правовой информации и информационно-правового сотрудничества с государствами СНГ, обеспечения информацией органов государственной власти, мер по защите информации (в частности, шифрования).
Все эти законы и подзаконные акты в достаточной степени регулировали вопросы охраны исключительных прав и частично защиту информации (в рамках государственной тайны). Не получили достойного отражения в действующем законодательстве права граждан на доступ к информации и защита информации, то есть то, что напрямую связано с компьютерными преступлениями.
Часть указанных пробелов была ликвидирована после введения в действие с 1 января 1997 года нового Уголовного Кодекса, принятого Государственной Думой 24 мая 1996 года. В главе 28 этого Кодекса, которая называется «Преступления в сфере компьютерной информации», приведен перечень признаков, характеризующих общественно опасное деяние как конкретное преступление: составы, компьютерных преступлений:
– «Неправомерный доступ к компьютерной информации» (ст. 272);
– «Создание, использование и распространение вредоносных программ для ЭВМ» (ст. 273);
– «Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети» (ст. 274).
Рассмотрим подробнее все три статьи УК РФ, с целью обрисовать основные признаки совершения компьютерных преступлений, т. е. предусмотренных уголовным законодательством противоправных нарушений, охраняемых законом прав и интересов в отношении компьютерных систем. Сухое описание будет скрашено некоторыми примерами отечественных компьютерных преступлений прошлых лет, компенсирующие бедность правоприменительной практики на базе нового УК РФ.
Итак, статья 272 УК предусматривает ответственность за неправомерный доступ к компьютерной информации (информации на машинном носителе, в ЭВМ или сети ЭВМ), если это повлекло уничтожение, блокирование, модификацию, копирование информации либо нарушение работы вычислительных систем.
Данная статья защищает право владельца на неприкосновенность информации в системе. Владельцем информационной вычислительной системы может быть любое лицо, правомерно пользующееся услугами по обработке информации как собственник вычислительной системы (ЭВМ, сети ЭВМ) или как лицо, приобретшее право использования компьютера.
Преступное деяние, ответственность за которое предусмотрено ст. 272, состоит в неправомерном доступе к охраняемой законом компьютерной информации, который всегда носит характер совершения определенных действий — проникновение в компьютерную систему путем использования специальных технических или программных средств, позволяющих преодолеть установленные системы защиты; незаконного применения действующих паролей или маскировки под видом законного пользователя, хищения носителей информации, при условии, что были приняты меры их охраны, если это деяние повлекло уничтожение или блокирование информации. Неправомерным признается и доступ к защищенной компьютерной информации лица, не обладающего правами на получение и работу с данной информацией либо компьютерной системой.
Неправомерный доступ к компьютерной информации должен осуществляться умышленно. Совершая это, преступник сознает, что неправомерно вторгается в компьютерную систему, предвидит возможность или неизбежность указанных в законе последствий, желает и сознательно допускает их наступление либо относится к этому безразлично.
Мотивы и цели данного преступления могут быть любыми: это и корыстный мотив, цель получить какую-либо информацию, желание причинить вред, желание проверить свои профессиональные способности. Следует отметить правильность действий законодателя, исключившего мотив и цель как необходимый признак указанного преступления, что позволяет применять ст. 272 УК к всевозможным компьютерным посягательствам.
Статья состоит из двух частей. В первой части наиболее серьезное воздействие на преступника состоит в лишении его свободы сроком до двух лет. Один из характерных примеров потенциального применения данной статьи — уголовное дело о хищении 125,5 тыс. долларов США и подготовке к хищению еще свыше 500 тыс. долларов во Внешэкономбанке СССР в 1991 году, рассмотренное московским судом. По материалам другого уголовного дела в сентябре 1993 года было совершено покушение на хищение денежных средств в особо крупных размерах из Главного расчетно-кассового центра Центрального банка России в Москве на сумму 68 млрд рублей. Еще один пример в 1990 году компьютерная программа перечисления комсомольских взносов работников одного из отечественных предприятий была составлена так, что отчисления производились из зарплаты не только комсомольцев, но и всех работников в возрасте до 28 лет. Пострадавших оказалось 67 человек. Теперь это можно квалифицировать по части 1 ст. 272 УК.
Часть вторая ст. 272 предусматривает в качестве признаков, усиливающих уголовную ответственность, совершение его группой лиц либо с использованием своего служебного положения, а равно имеющим доступ к информационной вычислительной системе, и допускает вынесение приговора с лишением свободы до пяти лет.
Ярким примером возможности применения ст. 272 могут служить хорошо освещенные средствами массовой информации действия Владимира Левина и других граждан России, которые вступили в сговор с целью похищения денежных средств в крупных размерах, принадлежащих City Bank of America в Нью-Йорке. Образовав преступную группу, они в период с конца июня по сентябрь 1994 года, используя Internet, проникли в корпоративную сеть «Ситибанка» и, преодолев банковскую систему защиты от несанкционированного доступа, с помощью персонального компьютера, находящегося в Санкт-Петербурге в офисе акционерного общества «Сатурн», осуществили денежные переводы на общую сумму около 12 млн долларов США.
В разоблачении и задержании электронных мошенников и их сообщников принимали участие представители спецслужб США, Англии, Израиля, Финляндии, Германии и России. Летом 1994 года система безопасности Нью-Йорского отделения «Ситибанка» зафиксировала попытку несанкционированного проникновения в компьютерную сеть банка и сообщила об этом в ФБР. При очередном несанкционированном входе было определено, что проникали в банковскую систему из Санкт-Петербурга. С этого момента операции по перечислению денег находились под полным контролем спецслужб и затем последовали задержания «с поличным». В Сан-Франциско при получении денег были задержаны супруги Корольковы, в Амстердаме — Владимир Воронин, в Израиле — Александр Лашманов. А уже 3 марта 1995 года в Лондоне, в аэропорту Хитроу, был задержан и арестован и сам «мозговой центр» международной преступной группы — Владимир Левин.
В приведенном примере необходимо подчеркнуть следующую немаловажную деталь: состоявшийся в августе 1995 года лондонский суд отложил принятие решения по делу Левина на неопределенный срок, поскольку в ходе судебного разбирательства было доказано, что для получения доступа к счетам клиентов банка подсудимый использовал в качестве орудия преступления компьютер, находящийся на территории России, а не на территории США, как того требует уголовное законодательство Великобритании. На основании вышеизложенного просьба американских и российских представителей о выдаче им Левина была судом отклонена. И только в январе 1998 года он предстал перед судом в Нью-Йорке по обвинению в хищении через Internet денежных средств «Ситибанка».
Тридцатилетний Владимир Левин признал себя виновным в незаконном проникновении в корпоративную сеть «Ситибанка» и переводе со счетов клиентов банка 3,7 млн долларов США на контролируемые им и его сообщниками счета в Финляндии, Нидерландах, Германии, Израиле и США. В итоге он был приговорен к 3 годам тюрьмы и денежному штрафу в размере 240 тыс. долларов США.
В настоящее время действия этой группы лиц можно квалифицировать по ч. 2 ст. 272 УК РФ, так как в результате предварительного сговора ею был осуществлен неправомерный доступ к секретной банковской информации с целью получения материальной выгоды. Местонахождение непосредственного объекта преступления — компьютерная система в США — не повлияло бы на суть дела.
Приведем еще один пример: уголовное дело по обвинению Александра и Бориса Дудровых, которым предъявлено обвинение по ст. 183 УК РФ за незаконное получение и распространение сведений, составляющих коммерческую тайну, по ст. 272 УК РФ за неправомерный доступ к компьютерной информации.
Суть этого дела состоит в следующем. В конце лета 1997 года в адреса различных организаций и коммерческих компаний стала поступать рекламная информация, в которой сообщалось, что компания «Орлов и К°» предлагает к коммерческой продаже различные базы данных с конфиденциальной информацией, анонимные «Голосовые почтовые ящики», телефоны с возможностью программирования ложного телефонного номера. В то же время на рынке стали распространяться лазерные компакт-диски с базами данных абонентов компании сотовой связи, базами данных о недвижимости, базой данных о юридических лицах Санкт-Петербурга с указанием подробных сведений об учредителях, виде деятельности и уставном капитале и др. В ходе следствия установлено, что Дудровы (отец и сын) в результате обобщения конфиденциальной информации, полученной из различных источников, создали и распространяли базу данных «Весь Питер», в общей сложности реализовав дисков на сумму более 43 млн неденоминированных рублей. Они приобрели информацию о номерах и кодах доступа к 1000 голосовым почтовым ящикам, которая реализовывалась различным гражданам. В соответствии со ст. ?? Закона «Об информации, информатизации и защите информации», вышеуказанные сведения относятся к категории конфиденциальной информации. Дудровы не имели полномочий на нее, нарушали режим защиты, обработки и порядок использования данной информации, а также нарушали условия лицензирования, так как фактически не разрабатывали программное обеспечение, а незаконно ее собирали, адаптировали в программы, пригодные для коммерческого использования, после чего сбывали в Санкт-Петербурге.
Своими действиями Дудровы причинили крупный ущерб государству в виде необоснованной критики в связи с нарушениями порядка сбора, хранения и распространения информации о частной жизни граждан. Кроме того, они допустили свободное использование конфиденциальных баз данных криминальными структурами, тем самым существенно осложнив деятельность правоохранительных органов. Они причинили значительный материальный и моральный вред компаниям сотовой телефонной связи, которые в результате потеряли имидж и, следовательно, потеряли клиентов.
Итогом их деятельности стал суд. В апреле 1999 года Выборгский районный суд Санкт-Петербурга приговорил директора 000 «Орлов и К°» Александра Дудрова к 1 году и 3 месяцам лишения свободы в колонии общего режима, его отца, Бориса Дудрова, работавшего заместителем в той же фирме, и сотрудника «СПб таксофоны» Сергея Аксенова — к 1 году исправительных работ. Правда, всех их тут же амнистировали, но прецедент был создан — впервые суд вынес приговор компьютерным пиратам. По уголовному законодательству субъектами компьютерных преступлений могут быть лица, достигшие 16-летнего возраста, однако часть вторая ст. 272 предусматривает дополнительный признак у субъекта, совершившего данное преступление, — служебное положение, а равно доступ к ЭВМ, системе ЭВМ или их сети, способствовавших совершению преступления.
Ст. 272 УК не регулирует ситуацию, когда неправомерный доступ осуществляется в результате неосторожных действий, что, в принципе, отсекает много возможных посягательств и даже те действия, которые совершались умышленно, так как при расследовании обстоятельств доступа будет крайне трудно доказать умысел компьютерного преступника (например, в сети Internet, объединяющей миллионы компьютеров, в связи со спецификой работы, при переходе по ссылке от одного компьютера к другому довольно легко попасть в защищаемую информационную зону, даже не заметив этого).
Важна причинная связь между несанкционированным доступом и наступлением предусмотренных ст. 272 последствий, поэтому простое временное совпадение момента сбоя в компьютерной системе, которое может быть вызвано неисправностями или программными ошибками, и неправомерного доступа не влечет уголовной ответственности.
Ст. 273 УК защищает права владельца компьютерной системы на неприкосновенность находящейся в ней информации и предусматривает уголовную ответственность за создание программ для ЭВМ или их модификацию, заведомо приводящее к несанкционированному уничтожению, блокированию и модификации данных, либо копированию информации, нарушению работы информационных систем, а равно использование таких программ или носителей таких программ.
Вредоносные программы в смысле ст. 273 УК РФ — это программы, специально разработанные для нарушения нормального функционирования компьютерных систем. Под нормальным функционированием понимают выполнение определенных в документации на программу операций. Наиболее распространены компьютерные вирусы и логические бомбы.
Для привлечения к ответственности по ст. 273 необязательно наступление каких-либо отрицательных последствий для владельца информации, достаточен сам факт создания программ или внесения изменений в существующие программы, заведомо приводящих к негативным последствиям, перечисленным в статье. Использование программ — это выпуск в свет, воспроизведение, распространение и иные действия по их введению в информационный обмен. Использование может осуществляться путем записи в память ЭВМ, на материальный носитель, распространения по сетям либо передач другим лицам иным путем.
Уголовная ответственность по этой статье возникает уже в результате создания программы, независимо от того, использовалась она или нет. По смыслу ст. 273 наличие исходных текстов вирусных программ уже есть основание для привлечения к ответственности. Следует учитывать, что в ряде случаев использование подобных программ не будет уголовно наказуемым. Это относится к деятельности организаций, разрабатывающих антивирусные программы и имеющих соответствующую лицензию.
Данная статья состоит из двух частей, отличающихся друг от друга признаком отношения преступника к совершаемым действиям. Преступление, предусмотренное частью 1 ст.,273, может быть совершено только умышленно, с сознанием того, что создание, использование или распространение вредоносных программ заведомо должно привести к нарушению неприкосновенности информации. Причем цели и мотивы не влияют на квалификацию посягательства по данной статье, поэтому самые благородные побуждения (например, борьба за экологическую чистоту планеты) не исключают ответственности за само по себе преступное деяние. Максимально тяжелым наказанием для преступника в этом случае будет лишение свободы до трех лет.
Часть вторая ст. 273 в качестве дополнительного квалифицирующего признака предусматривает наступление тяжких последствий по неосторожности. При совершении преступления, предусмотренного частью 2 рассматриваемой статьи, лицо сознает, что создает вредоносную программу, использует либо распространяет такую программу или ее носители и либо предвидит возможность наступления наказания, но без достаточных к тому оснований самонадеянно рассчитывает на его предотвращение, либо не предвидит этих последствий, хотя при необходимой внимательности и предусмотрительности должно и могло их предусмотреть. Данная норма закономерна, поскольку разработка вредоносных программ доступна только квалифицированным программистам; они в силу своей профессиональной подготовки должны предвидеть потенциально возможные последствия использования этих программ, которые могут быть весьма многообразными: смерть человека, вред здоровью, возникновение реальной опасности военной или иной катастрофы, нарушение функционирования транспортных систем. По этой части суд может назначить максимальное наказание в виде семи лет лишения свободы.
В 1983 году на одном автомобильном заводе нашей страны был изобличен программист, который из мести к руководству предприятия умышленно внес изменения в программу ЭВМ, управлявшей подачей деталей на конвейер. В результате произошедшего сбоя заводу был причинен материальный ущерб: не сошло с конвейера свыше сотни автомобилей. Программист был привлечен к уголовной ответственности. Подсудимый обвинялся по ст. 98 ч. 2 Уголовного кодекса РСФСР «Умышленное уничтожение или повреждение государственного или общественного имущества... причинившее крупный ущерб». При этом обвиняемый утверждал, что ничего натурально повреждено не было — нарушенным оказался лишь порядок работы, то есть действия, не подпадающие ни под одну статью действующего в то время законодательства. С научной точки зрения интересен приговор суда: «Три года лишения свободы условно; взыскание суммы, выплаченной рабочим за время вынужденного простоя главного конвейера; перевод на должность сборщика главного конвейера».
В настоящее время квалификация действий этого программиста должна была бы производиться по ч. 1 ст. 273. Он умышленно создал и использовал в заводском компьютере вредоносную программу, нарушившую технологический процесс. Но если видоизменить проводимый мысленный эксперимент: по неосторожности (допустим, из-за конфликта программного и аппаратного обеспечения) действие программы привело к тяжким последствиям — гибели людей на конвейере. Тогда, несомненно, указанные действия квалифицируются уже по ч. 2 ст. 273. А если убрать «неосторожность» и считать, что преступник действовал умышленно, то тогда оказывается, что в этом случае за тяжкие последствия по ст. 273 отвечать не нужно.
Как свидетельствуют материалы одного уголовного дела, сотрудник отечественной АЭС из корыстных побуждений использовал в системах управления станцией несанкционированные программные модули. В итоге это привело к искажению информации, отображаемой на пульте оператора атомного реактора, повлекшее возникновении нештатной ситуации, последствия которой не нуждаются в пояснении. Отсюда закономерно сделать вывод о том, что формулировку данной статьи следует изменить.
Если же в действиях лица содержатся не только признаки преступления, предусмотренного ст. 273 УК, но и признаки другого преступления (убийства, уничтожения имущества), виновный будет нести ответственность по совокупности совершенных преступлений.
Статья 274 УК устанавливает ответственность за нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети лицом, имеющим доступ к ним, повлекшее уничтожение, блокирование или модификацию охраняемой законом информации, если это деяние причинило существенный вред.
Статья защищает интерес владельца вычислительной системы относительно ее правильной эксплуатации. В ней охраняемой законом информацией считается информация, для которой в специальных законах установлен режим ее правовой защиты.
Однако между фактом нарушения и наступившим существенным вредом должна быть установлена причинная связь и полностью доказано, что наступившие последствия являются результатом именно нарушения правил эксплуатации. Определение существенного вреда, предусмотренного в данной статье, устанавливается судом в каждом конкретном случае, исходя из обстоятельств дела, однако очевидно, что существенный вред должен быть менее значительным, чем тяжкие последствия.
Преступник, нарушивший правило эксплуатации, — это лицо, в силу должностных обязанностей имеющее доступ к компьютерной системе и обязанное соблюдать установленные для этой системы технические правила.
Кроме того, преступник должен совершать свое деяния умышленно, он должен сознавать, что нарушает правила эксплуатации, предвидя возможность или неизбежность неправомерного воздействия на информацию и причинение существенного вреда, желает или сознательно допускает причинение такого вреда или относится к его наступлению безразлично. Что наиболее строго наказывается лишением права занимать определенные должности или заниматься определенной деятельностью на срок до пяти лет.
Данная уголовная норма, естественно, не содержит конкретных технических требований и отсылает к ведомственным инструкциям и правилам, определяющим порядок работы, которые должны устанавливаться специально уполномоченным лицом и доводиться до пользователей. Применение данной статьи невозможно для Internet, ее действие распространяется только на локальные сети организаций.
В части второй статьи 274 предусматривается ответственность и за неосторожные деяния. По ней должны квалифицироваться, например, действия специалиста по обслуживанию системы управления транспортом, установившего инфицированную программу без антивирусной проверки, повлекшее серьезную транспортную аварию.
По данным правоохранительных органов, имеются сведения о фактах несанкционированного доступа к ЭВМ вычислительного центра железных дорог России, а также к электронной информации систем учета жилых и нежилых помещений местных органов управления во многих городах, что в наше время подпадает под ответственность, предусмотренную ст. 272 УК, либо ст. 274 УК в зависимости от действий лица, осуществившего посягательство, и правил эксплуатации конкретной сети.
Следует отметить, что признаки преступлений, предусмотренных в статьях 272 и 274 УК, с технической точки зрения весьма похожи. Различие заключается в правомерности или неправомерности доступа к ЭВМ, системе ЭВМ или их сети. Статья 274 УК отсылает к правилам эксплуатации конкретной компьютерной системы, а в статье 272 УК в качестве одного из последствий указывается нарушение работы компьютерной системы, что, с технической точки зрения, является отступлением от правил и режима эксплуатации.
Подводя некоторые итоги, можно сделать вывод о том, что сложность компьютерной техники, неоднозначность квалификации, а также трудность сбора доказательственной информации не приведет в ближайшее время к появлению большого числа уголовных дел, возбужденных по статьям 272-274 УК.
Предусмотренные составы компьютерных преступлений не охватывают полностью всех видов совершения компьютерных посягательств. В этом случае будут оказывать помощь статьи 146 УК РФ (нарушение авторских и смежных прав), 147 УК РФ (нарушение изобретательских и патентных прав), и 155 (незаконное использование товарных знаков), дающие возможность уголовного преследования за незаконное использование программного обеспечения.
17 марта 1998 года Экономический отдел РУОП Санкт-Петербурга провел крупномасштабную операцию по пресечению фактов незаконного оборота контрафактного программного обеспечения. Этой операции предшествовали сотрудничество с Ассоциацией производителей программного обеспечения (Business Software Alliance, BSA), тщательный сбор информации об объектах реализации контрафактной продукции, компьютерное исследование образцов пиратской продукции. Кроме того, была получена поддержка и заявления компаний «Проект МТ», «1C», «Фирмы БИТ» о нарушении их авторских прав. На основании собранных материалов накануне операции прокуратура завела уголовное дело по ст. 142 ч. 2 УК РФ по фактам нарушения авторских прав, и были получены санкции на проведение следственных действий.
Сами пираты окрестили день 17 марта 1998 года как «черный вторник». В результате операции было изъято около 24 000 компакт-дисков со сборниками программных продуктов различных компаний-производителей, на которых находилось порядка 500 тыс. программных продуктов на сумму около 30 млн долларов США.
В период с 15 по 30 октября 1998 года в Москве была произведена проверка торговых комплексов, отдельных фирм и торговых точек. В результате проверок было обнаружено и изъято более 400 тыс. нелицензионных компьютерных дисков и заведено несколько уголовных дел по ст. 146 УК РФ.
К правовому обеспечению относятся и такие формы, как составление договоров на проведение работ и на оказание информационных услуг. Здесь правовая гарантия предусматривается определенными условиями ответственности за нарушение сторонами принятых обязательств (помимо возмещения убытков, возможны штрафные санкции).
Кроме этих гарантий, стороны могут застраховаться от убытков. Тогда они в договоре определяют, какая именно сторона заключает договор страхования со страховой компанией, а также случаи возникновения убытков, подлежащих страхованию. Как правило, страхование берет на себя исполнитель, но тогда страховая сумма учитывается при определении суммы договора.
В условиях неразвитого государственного правового механизма обеспечения безопасности компьютерных сетей серьезное значение приобретают документы предприятия, регулирующие отношения с государством и с коллективом сотрудников на правовой основе. К таким основополагающим документам, которые также играют важную роль в обеспечении безопасности, можно отнести:
• устав предприятия (фирмы», банка), закрепляющий условия обеспечения безопасности деятельности и защиты информации;
• коллективный договор;
• трудовые договоры с сотрудниками предприятия, содержащие требования по обеспечению защиты сведений, составляющих коммерческую тайну и др.;
• правила внутреннего трудового распорядка рабочих и служащих;
• должностные обязанности руководителей, специалистов и обслуживающего персонала.
Организационно-административное обеспечение безопасности информации
По мнению специалистов, организационные мероприятия играют важную роль в создании надежного механизма защиты информации, так как возможности несанкционированного использования конфиденциальных сведений в значительной мере обуславливаются не техническими аспектами, а злоумышленными действиями, нерадивостью, небрежностью и халатностью пользователей или персонала, игнорирующего элементарные правила защиты.
Организационное обеспечение (рис. 3.7) — это регламентация производственной деятельности и взаимоотношений исполнителей на нормативно-правовой основе таким образом, что разглашение, утечка и несанкционированный доступ к конфиденциальной информации становится невозможным или существенно затрудняется за счет проведения организационных мероприятий.
Влияния этих аспектов практически невозможно избежать с помощью технических средств, программно-математических методов и физических мер. Для этого необходима совокупность организационно-правовых и организационно-технических мероприятий, которые исключали бы (или по крайней мере сводили к минимуму) возможность возникновения опасности для информации.
К организационным мероприятиям можно отнести:
• мероприятия, осуществляемые при проектировании, строительстве и оборудовании служебных и производственных зданий и помещений (их цель — исключение возможности тайного проникновения на территорию и в помещения; обеспечение удобства контроля прохода и перемещения людей, проезда транспорта; создание отдельных производственных зон по типу конфиденциальности работ с самостоятельными системами доступа и т. п.);
• мероприятия, проводимые при подборе персонала, включающие ознакомление с сотрудниками, их изучение, обучение правилам работы с конфиденциальной информацией, ознакомление с мерами ответственности за нарушение правил защиты информации и др.;
• организацию и поддержание надежного пропускного режима и контроля посетителей;
• надежную охрану помещений и территории; Q хранение и использование документов и носителей конфиденциальной информации, включая порядок учета, выдачи, исполнения и возвращения;
• организацию защиты информации, т. е. назначение ответственного за защиту информации в конкретных производственных коллективах, проведение систематического контроля за работой персонала с конфиденциальной информацией, порядок учета, хранения и уничтожения документов и т. п.
В каждом конкретном случае такие мероприятия носят специфическую для данной организации форму и содержание, направленные на обеспечение безопасности информации в конкретных условиях.
Очевидно, что организационные мероприятия охватывают самые различные источники информации и технические средства ее переработки. Значительная доля организационных мероприятий приходится на работу с сотрудниками. Организационные мероприятия при работе с сотрудниками предприятий различных форм собственности в общем плане включают в себя:
– беседы при приеме на работу;
– ознакомление с правилами и процедурами работы с конфиденциальной информацией на данном предприятии;
– обучение сотрудников правилам и процедурам работы с конфиденциальной информацией;
– беседы с увольняемыми.
В результате беседы при приеме на работу устанавливается целесообразность приема кандидата на соответствующую вакансию. При приеме на работу возможно заключение между предприятием и сотрудником соглашения о неразглашении конфиденциальной информации, которая является собственностью организации.
В подтверждение требований сохранения в тайне коммерческой информации поступающий на работу сотрудник дает подписку о сохранении коммерческой тайны предприятия и обязуется не раскрывать секреты фирмы.
Обучение сотрудников предполагает не только приобретение и систематическое поддержание на высоком уровне производственных навыков, но и психологическое их воспитание в глубокой убежденности, что необходимо выполнять требования промышленной (производственной) секретности, информационной безопасности, защиты интеллектуальной собственности и коммерческой тайны. Систематическое обучение способствует повышению уровня компетентности руководства и сотрудников в вопросах защиты коммерческих интересов своего предприятия.
Беседы с увольняющимися имеют главной целью предотвратить разглашение информации или ее неправильное использование. В ходе беседы следует особо подчеркнуть, что каждый увольняющийся сотрудник имеет твердые обязательства о неразглашении фирменных секретов и эти обязательства, как правило, подкрепляются подпиской о неразглашении известных сотруднику конфиденциальных сведений.
Одним из важных направлений мероприятий является четкая организация системы делопроизводства и документооборота, которая обеспечивает порядок делопроизводства, порядок учета, обработки, хранения, уничтожения и контроля наличия и правильности исполнения документов. При реализации системы особое внимание нужно уделять безопасности документов и конфиденциальной информации.
Организационные мероприятия по защите информации предусматривают:
– обеспечение безопасности рабочих зданий и территории;
– обеспечение безопасности отдельных зон и конкретных помещений;
– организацию четкой системы контроля допуска и доступа на территорию (в помещение), к определенной информации.
Документирование информации проводится по строго определенным правилам. Основные из них изложены в ГОСТ 6.38-90 «Система организационно-распорядительной документации. Требования к оформлению документов», ГОСТ 6.10.4-84 «Унифицированные системы документации. Придание юридической силы документам на машинном носителе и машинограмме, создаваемым средствами вычислительной техники» и некоторых других. Надо отметить, что эти ГОСТы предполагают 31 реквизит, которые делают информацию документом, но не обязательно, чтобы присутствовали все предлагаемые реквизиты. Главный реквизит — это текст. Поэтому любая информация, изложенная в виде связного текста без каких-либо дополнительных реквизитов, уже может рассматриваться как документ, для придания определенной юридической силы которому необходимы такие важные реквизиты, как дата и подпись.
Особый порядок существует только для документов, полученных из автоматизированных информационных систем. При этом, в определенных случаях, применяется процедура заверения электронной подписью информации, полученной от удаленного объекта.
Основные организационные мероприятия — разработка перечня охраняемых сведений и проведение аттестации помещений на предмет выработки конкретных мер для защиты конфиденциальной информации. При аттестации помещений составляют аттестационные паспорта. Эта работа производится группами специалистов, оформляется актом, прикладываются соответствующие рекомендации и отдается приказ по организации, где указаны конкретные исполнители и сроки реализации.
Для защиты информации требуется создать специальную административную службу, обеспечивающую все организационные мероприятия. Ее штатная структура, численность и состав определяется реальными потребностями фирмы, степенью конфиденциальности ее информации и общим состоянием безопасности.
Защита информации — удовольствие достаточно дорогое, поэтому одним из принципов построения системы защиты должно стать дифференцирование степени защиты по ее важности и ценности.
Анализ мирового и отечественного опыта обеспечения безопасности говорит о необходимости создания целостной системы безопасности учреждения, связывающей организационные, оперативные и оперативно-технические меры защиты с использованием современных методов прогнозирования, анализа и моделирования ситуаций.
Важным дополнением организационных мероприятий является поддержка правильной конфигурации сетевой операционной системы. Решают такую задачу, как правило, системные администраторы.
Администратор создает определенные правила, которые должны соблюдаться уже не людьми, а операционной системой. Администрирование системы — это правильное составление файлов конфигурации. В этих файлах (а их может быть несколько, например, по одному файлу для каждой части системы) и содержится описание правил функционирования системы.
Административное обеспечение очень дешево, т.к. средства расходуются только на содержание специалиста (причем один специалист способен управлять сразу несколькими системами). Более того, большинством современных систем можно управлять удаленно.
Обучение пользователей при этом требуется самое минимальное. Обычно система сама не даст пользователю произвести запрещенные действия, он просто видит, что какое-либо действие в системе просто не получается. Если административными мерами закрыт определенный порт соединения, то слабая с точки зрения безопасности программа ICQ не сможет соединиться со своим сервером и, как следствие, не будет функционировать.
Уязвимость системы кроется в том, что, во-первых, система аутентификации пользователя базируется на имени пользователя и его пароле (имеются в виду общеупотребительные системы, экзотические случаи вроде использования сетчатки глаза в расчет не берутся), а во-вторых, в необходимости наличия в системе пользователя, наделенного правом администрировать систему — супервизора (supervisor).
Достаточно нарушить режим хранения пароля супервизора и вся система окажется доступна для несанкционированного воздействия. Кроме того, система, основанная на таких правилах, — это статичная, закостенелая система. Она способна противостоять лишь строго определенным атакам. При возникновении какой-либо новой угрозы, не предусмотренной изначально, сетевая атака может быть не просто успешной, но и оказаться невидимой для системы. Пользователи должны уяснить для себя два несложных правила:
– даже зная пароль супервизора, не следует вмешиваться в дела системных администраторов;
– системные файлы, созданные в процессе администрирования, играют важную роль в системе безопасности корпоративных сетей, поэтому не следует трогать эти файлы, а уж тем более, удалять.
Чтобы свести к минимуму риск в коммерческой деятельности, нужно оценивать всевозможные угрозы безопасности с учетом двух факторов:
– возможной частоты угроз;
– возможного ущерба от них.
Поэтому очень важно четко уяснить, какая используемая в вашем учреждении информация, пусть даже не принадлежащая вам, подлежит обязательной защите. Начать надо с проведения предварительного анализа имеющейся информации. От этого в дальнейшем будет зависеть выбор степени ее защиты. Все это позволит дифференцировать мероприятия по обеспечению безопасности информации и, тем самым, сократить расходы.
Принятие организационных мер по обеспечению безопасности информации ложится в первую очередь на администраторов сети и специалистов по защите информации. Выявить вмешательство в компьютерную систему часто трудно вследствие того, что злоумышленникам удается скрыть следы проникновения в систему. Все попытки взлома систем обнаруживаются, как правило, совершенно случайно. Например, администратор сети заметил пропуск в файле протокола или вхождение в систему в отсутствие пользователя. Или он был предупреждён другими администраторами безопасности о присутствии постороннего в сети.
Обычно злоумышленники действуют в нерабочее время (с 18.00 до 8.00)» а также в выходные и праздничные дни. Поэтому для выявления несанкционированного доступа необходимо:
– регулярно проверять файлы протоколов, особенно протоколов входа в систему;
– отслеживать подсоединение неизвестных пользователей в непривычное время;
– обращать внимание на идентификаторы пользователей, которые оставались какое-то время неиспользованными и оказались снова задействованными.
Одним из способов выявления постороннего присутствия в сети является запуск каждые 10 мин обычной shell-процедуры, фиксирующей все процессы и соединения по сети в отдельном файле. Эта программа формирует списки пользователей, всех текущих процессов и сетевых подключений.
Сегодня на рынке средств защиты представлены разнообразные системы защиты информации. Перед администратором безопасности встает вопрос определения необходимости и порядка их применения. Очевидно, что далеко не все компьютеры организации нужно оснащать дополнительными системами защиты информации, так как это требует новых материальных затрат и может только затруднить эксплуатацию всей компьютерной сети в целом.
Применение средств защиты информации целесообразно при:
– размещении на компьютерах средств криптографической защиты данных (здесь дополнительные средства защиты информации необходимы для защиты ключей электронной цифровой подписи и шифрования);
– необходимости регламентации и протоколирования действий пользователей, работающих на компьютерах, подключенных к сети (в этом случае система защиты не позволяет пользователям действовать так, как не предусмотрено технологией обработки данных);
– необходимости ограничения доступа пользователей, работающих на компьютере, к его локальным ресурсам (дискам, каталогам, файлам или внешним устройствам), а также исключения самостоятельного изменения состава и конфигурации программных средств, установленных на компьютере.
Применение дополнительных средств защиты предполагает выполнение администратором безопасности ряда действий. Он должен:
– устанавливать средства зашиты информации на компьютеры;
– настраивать средства защиты информации путем задания прав доступа пользователей к ресурсам (как компьютеров, так и сети);
– контролировать состояние защищенности компьютерной сети путем оперативного мониторинга и анализа системных журналов.
Следует учитывать, что с первого раза правильно настроить систему защиты практически невозможно. Обычно это связано с отсутствием полного детального списка всех аппаратных, программных и информационных ресурсов системы, подлежащих защите, и готового противоречивого перечня прав доступа и полномочий каждого пользователя. Поэтому этап внедрения системы защиты информации обязательно включает первоначальное выявление, последовательное уточнение и соответствующее изменение настроек, устанавливаемых в этой системе.
Очевидно, что те же самые действия администратору безопасности придется неоднократно повторять и на этапе эксплуатации системы защиты информации при изменениях состава технических средств» программного обеспечения и т. д. Такие изменения происходят довольно часто, поэтому средства управления этой системы должны обеспечивать удобство осуществления необходимых при этом настроек.
В случае, если средства управления не приспособлены к этому, а сами системы защиты информации не обладают достаточной гибкостью, то очень скоро они становятся не помощником, а обузой для всех и, в первую очередь, — для администраторов безопасности. В конце концов такие системы защиты информации обречены на отторжение.
Деятельность администратора безопасности на этапе эксплуатации системы защиты информации состоит в корректном и своевременном изменении полномочий пользователей и настройке защитных механизмов на компьютерах сети. С увеличением масштаба защищаемой компьютерной сети и при сохранении неизменным количества людей, отвечающих за ее информационную безопасность, изменяются требования к способам управления этой системой. Как показывает практика, решения, приемлемые для одного компьютера или небольшой сети из 10—15 рабочих станций, обычно не устраивают обслуживающий персонал и администраторов безопасности больших сетей, объединяющих сотни машин.
Проблемы по управлению полномочиями пользователей и настройками системы защиты информации в компьютерной сети могут быть решены, например, на основе использования системы централизованного управления доступом к сети.
Принцип реализации такой системы состоит в применении специального сервера управления доступом, работающего на основном файловом сервере сети, который осуществляет автоматическую синхронизацию центральной базы данных защиты с локальными базами данных защиты, размещенных на рабочих станциях.
Введение распределенной базы данных защиты (центральной и локальных) гарантирует, что выход из строя сети или сервера управления доступом не будет препятствовать нормальному функционированию средств защиты на рабочих станциях.
При данной системе управления доступом полномочия пользователя меняются периодически и заносятся в центральную базу данных защиты, а их изменение на конкретных компьютерах происходит во время очередного сеанса синхронизации.
Кроме того, при смене пользователем своего пароля на одной из рабочих станций его новый пароль автоматически отражается в центральной базе данных защиты, а также передается на рабочие станции, на которых данному пользователю разрешено работать.
Администратору безопасности необходимо контролировать состояние компьютерной сети как оперативно (путем слежения за состоянием защищенности компьютеров сети), так и не оперативно (путем анализа содержимого журналов регистрации событий системы защиты информации).
Использование сервера управления доступом для оперативного контроля за состоянием рабочих станций и работой пользователей позволяет отказаться от постоянного администратора безопасности. В этом случае сервер управления доступом автоматически регистрирует несанкционированные действия, происходящие в сети, и всегда обладает оперативной информацией о состоянии рабочих станций.
Увеличение количества рабочих станций и использование программных средств, включающих много разнообразных компонентов, приводит к существенному увеличению объемов журналов регистрации событий в системе зашиты информации. Объем сведений, хранящийся в журналах, может стать настолько большим, что администратор уже физически не сможет полностью проанализировать их содержимое за приемлемое время.
Зашита от компьютерных вирусов в настоящее время основывается на применении организационных мероприятий и программных средств, которые практически включают в себя аппаратные возможности компьютеров, программных средств, системного программного обеспечения и специальных программных средств защиты.
Организационные средства также позволяют минимизировать риск заражения компьютеров вирусами, а при заражении — сразу же информировать пользователя и помочь уничтожить вирус и его последствия. Организационные меры защиты включают следующие основные мероприятия:
– резервирование (наличие всех основных компонентов операционной системы и программного обеспечения в архивах, копирование таблиц распределения файлов дисков, ежедневное ведение архивов изменяемых файлов);
– профилактика (систематическая выгрузка содержимого активной части винчестера на дискеты, раздельное хранение компонентов программного обеспечения и программ пользователей, хранение неиспользуемых программ в архивах);
– ревизия (обследование вновь получаемых программ на дискетах и дисках на наличие вирусов, систематическая проверка длин файлов, хранящихся на винчестере, использование и постоянная проверка контрольных сумм при хранении и передаче программного обеспечения, проверка содержимого загрузочных секторов винчестера и используемых дискет системных файлов);
– фильтрация (разделение винчестера на логические диски с различными возможностями доступа к ним, использование резидентных программных средств слежения за файловой системой);
– защита, основанная на применении специальных программных средств.
Все эти мероприятия, в той или иной степени, включают использование различных программных средств защиты. К их числу необходимо отнести программы-архиваторы, программы резервирования важных компонентов файловой системы, просмотра содержимого файлов и загрузочных секторов, подсчета контрольных сумм и собственно программ защиты.
Инженерно-техническое обеспечение безопасности информации
В настоящее время для получения конфиденциальной информации злоумышленниками, в том числе и промышленными шпионами, используются самые разнообразные средства и способы проникновения на объекты, разработанные на основе последних достижений науки и техники, с использованием новейших технологий в области миниатюризации в интересах скрытного их использования. Для противодействия этому натиску службы безопасности оснащаются необходимой аппаратурой, не уступающей по надежности и функциональным возможностям аппаратуре злоумышленников. Инженерно-техническое обеспечение безопасности информации путем осуществления необходимых технический и организационных мероприятий должно исключать:
• неправомочный доступ к аппаратуре обработки информации путем контроля доступа в производственные помещения;
• неправомочный вынос носителей информации персоналом, занимающимся обработкой данных, посредством выходного контроля в соответствующих производственных помещениях;
• несанкционированное введение данных в память, изменение или стирание информации, хранящейся в памяти;
• неправомочное пользование системами обработки информации и незаконное получение в результате этого данных;
• доступ в системы обработки информации посредством самодельных устройств и незаконное получение данных;
• возможность неправомочной передачи данных через компьютерную сеть;
• бесконтрольный ввод данных в систему;
• обработку данных заказчика без соответствующего указания последнего;
• неправомочное считывание, изменение или стирание данных в процессе их передачи или транспортировки носителей информации.
Методы защиты информации от большинства угроз базируются на инженерных и технических мероприятиях (рис. 3.8). Инженерно-техническая защита — это совокупность специальных органов, технических средств и мероприятий, функционирующих совместно для выполнения определенной задачи по защите информации.
Инженерно-техническая защита использует следующие средства:
• физические средства;
• аппаратные средства;
• программные средства;
• криптографические средства.
Физические средства включают в себя различные инженерные средства и сооружения, препятствующие физическому проникновению злоумышленников на объекты защиты и защищающие персонал (личные средства безопасности), материальные средства и финансы, информацию от противоправных действий.
По уровню физической защиты все зоны и производственные помещения могут быть подразделены на три группы:
• тщательно контролируемые зоны с защитой высокого уровня;
• защищенные зоны;
• слабо защищенные зоны.
К первой группе относятся, как правило, серверные комнаты, помещения с сетевым и связным оборудованием, архив программ и данных.
Ко второй группе относятся помещения, где расположены рабочие места администраторов, контролирующих работу сети, а также периферийное оборудование ограниченного пользования.
В третью группу входят помещения, в которых оборудованы рабочие места пользователей и установлено периферийное оборудование общего пользования.
К аппаратным средствам относятся приборы, устройства, приспособления и другие технические решения, используемые в интересах обеспечения безопасности. В практике деятельности любой организации находит широкое применение самая различная аппаратура: от телефонного аппарата до совершённых автоматизированных
информационных систем, обеспечивающих ее производственную деятельность. Основная задача аппаратных средств — стойкая безопасность коммерческой деятельности.
Программные средства — это специальные программы, программные комплексы и системы защиты информации в информационных системах различного назначения и средствах обработки данных.
Криптографические средства — это специальные математические и алгоритмические средства защиты информации, передаваемой по сетям связи, хранимой и обрабатываемой на компьютерах с использованием методов шифрования.
В общем случае система физической безопасности должна включать в себя следующие подсистемы:
• управления доступом (с функцией досмотра);
• обнаружения проникновения, аварийной и пожарной сигнализации (тревожной сигнализации);
• инженерно-технической защиты (пассивной защиты);
• отображения и оценки обстановки;
• управления в аварийных и тревожных ситуациях;
• оповещения и связи в экстремальных ситуациях;
• обеспечения личной безопасности персонала.
При построении системы физической безопасности, удовлетворяющей сформулированным требованиям, выбираются и объединяются средства противодействия из числа указанных ниже:
• здания и строительные препятствия, мешающие действиям злоумышленника и задерживающие его;
• аппаратура тревожной сигнализации, обеспечивающая обнаружение попыток проникновения и несанкционированных действий, а также оценку их опасности;
• системы связи, обеспечивающие сбор, объединение и передачу тревожной информации и других данных;
• системы управления, необходимые для отображения и анализа тревожной информации, а также для реализации ответных действий оператора и управления оборонительными силами;
• персонал охраны, выполняющий ежедневные программы безопасности, упраз-ление системой и ее использование в нештатных ситуациях;
• процедуры обеспечения безопасности, предписывающие определенные защитные мероприятия, их направленность и управление ими.
6. ОПРЕДЕЛЕНИЕ СТЕПЕНИ ЗАЩИЩЕННОСТИ СЕТИ
Компьютерная сеть любой современной организации — это разнородная многокомпонентная система. Защита одного или нескольких компонентов не может обеспечить необходимый уровень защищенности информационных ресурсов предприятия, что в современной сложной обстановке, когда различные негативные проявления типа вирусных атак стали обычным повседневным явлением, — настоятельная потребность.
Разумеется, компьютерной сети угрожают не только вирусы, здесь можно отметить сбои, остановки в работе, ошибки в программах, конфликты периферийных устройств, «дыры» в операционных системах и другие вредоносные факторы. Кроме того, вопросами обеспечения безопасности часто начинают заниматься тогда, когда информационное пространство объекта уже сформировалось. Между тем, любая информация — ценнейший товар предприятия. Ее потеря из-за неэффективно организованной защиты может обернуться серьезными финансовыми проблемами для ее собственника.
Большинство пользователей сети предприятия (фирмы) являются профессионалами в различных областях, но не владеют в достаточной мере специальными знаниями в области защиты информации для оценки уровня безопасности сети. Если кто-либо из них, возможно, сможет грамотно сконфигурировать сложно настраиваемый комплекс, использовать специализированные прикладные программы, осуществлять администрирование сети, то многие не справятся с несложными операциями подключения внешних устройств. Поэтому даже в том случае, когда элементы комплекса средств защиты полностью или частично внедрены, вопрос, насколько они эффективны, остается актуальным. Для решения этого вопроса не всегда необходимо прибегать к таким дорогостоящим и требующим значительных временных затрат средствам, как сертификационная процедура оценки по требованиям безопасности.
Современные требования, предъявляемые к защищенным компьютерным системам, изложены в документе, имеющем статус международного стандарта, который получил название «Общие критерии» (Common Criteria for Information Technology Security Evaluation. Version 1.0) и появился совсем недавно, отличаются большей гибкостью, динамизмом по сравнению с предшествующими. При этом подход, основанный на разработке подобных требований к информационным системам и дальнейшей оценке соответствия им, можно считать наиболее приемлемым.
В настоящее время существует несколько методов оценки защищенности компьютерных сетей (рис. 3.9). Среди них можно выделить:
– аналитический;
– имитационный;
– экспертный.
Ни один из этих методов не имеет преимущества над другим. При выборе и использовании методов и моделей той или иной группы следует опираться только на их соответствие решаемой задаче и применять те методы, которые в данной ситуации наиболее оправданы.
Что касается самого метода оценки защищенности, то здесь можно сказать следующее. Действительно, с методической точки зрения аналитические и имитационные модели, которые разработаны к настоящему времени, выглядят более предпочтительными, так как основываются на формализованном представлении предметной области. Экспертные методы позволяют находить решение в условиях слабоструктурированной предметной области.
Однако отметим, что существующие на сегодняшний день модели и методики оценки во многом ориентированы на узкого специалиста-профессионала, который хорошо разбирается в данной конкретной проблематике. Что же касается вопроса определения необходимого набора требований и критериев оценки и их соблюдения, то здесь основная трудность состоит в сложности выработки полного и достоверного их множества и повторяющемся характере процедуры их конкретизации в течение всего жизненного цикла компьютерной сети. И эта трудность до сих пор не преодолена. Кроме того, найти компромисс между стремлением проектировщиков систем защиты к конкретности требований и совместимости их с современными типами архитектур локальных и распределенных сетей и желанием пользователей получить простую, однозначную и в то же время гибкую систему требований, определяющих защищенность, очень трудно. А с учетом роли специалистов-оценщиков, требующих детально регламентировать процедуру квалификационного анализа и максимально четко определить совокупность критериев оценки и их значения, ситуация достижения компромисса становится практически нереальной.
Поэтому при решении задачи анализа защищенности компьютерной сети целесообразно сформировать группу специалистов-экспертов различного профиля (метод экспертной оценки), которые будут взаимодействовать с заказчиком (пользователем, проектировщиком) и корректировать требования в соответствии с их непониманием решаемых задач. Таким образом, процессы оценки качества функционирования сети с точки зрения безопасности будут органически вписываться в сценарий проектирования и эксплуатации компьютерной сети, а руководство предприятия и его ведущие специалисты смогут активно участвовать в этом процессе. Эксперты же, руководствуясь опытом и знаниями, смогут подсказать, на что следует обратить внимание, и ответить на вопрос, связанный с возможностью эксплуатации оцениваемой компьютерной сети с учетом обеспечиваемого уровня защищенности, который оправдан с точки зрения важности охраняемой и обрабатываемой средствами данной сети информации. Сама же оценка защищенности будет выполнять сразу несколько функций:
– аналитическую, которая включает тщательное и всестороннее изучение сетевой структуры, ее элементов, внешней среды, в которой она функционирует;
– контрольную, связанную с выработкой требований к разработке, внедрению и эксплуатации средств защиты;
– консультативно-диагностическую, ориентированную на анализ состояния системы защиты сети, формирование рекомендаций по предпочтению и использованию механизмов, обеспечивающих защищенность.
Применение метода экспертных оценок не является новым для решения задач в различных областях.
Например, в медицине довольно часто практикуется сопоставление мнений ведущих специалистов, когда необходимо поставить диагноз и определить способ лечения пациента в случаях особо сложных заболеваний. Аналогично этому, в отношении задачи оценки защищенности компьютерной сети можно провести некоторую аналогию. Здесь при анализе механизмов, обеспечивающих защищенность, эксперт ставит своего рода диагноз, дающий ответ на вопрос о возможности использования данной системы для обработки конфиденциальной информации. При этом мнение одного специалиста может оказаться совершенно отличным от мнения другого, так как разные эксперты могут детально разбираться каждый в своей, достаточно узкой, профессиональной области. Объединение, сопоставление и анализ результатов оценки различных специалистов позволяют получить более полную картину относительно объекта экспертизы.
Такой методический подход как раз и способствует выявлению широкого диапазона мнений специалистов в данной предметной области и получению на этой базе объективного экспертного заключения о защищенности оцениваемой компьютерной сети. Кроме того, при данном подходе возможно проведение экспертного анализа собственными силами предприятия, активно использующего средства информатизации. Это, конечно, не означает, что необходимость в специализированной оценке, осуществляемой сегодня специальными государственными структурами на основе соответствующих стандартов и нормативных документов, практически отпадает. Однако благодаря предварительному анализу защищенности по предлагаемой процедуре может уменьшиться вероятность повторного обращения в специализированные центры, в случае, когда принято решение о том, чтобы подвергнуть локальную сеть сертификационной процедуре.
При выборе показателей оценки защищенности компьютерной сети должны учитываться следующие принципы:
– ясность и измеряемость значений;
– отсутствие перекрытия между используемыми показателями;
– соответствие установившимся понятиям и терминологии;
– возможность последующего уточнения, дополнения и детализации.
Каждый показатель может принимать значения типа: «высокая», «средняя», «низкая», «полное соответствие», «частичное» и т. д. Такая формулировка создает достаточно удобства для работы эксперта, так как ему предлагается оценить степень соответствия фактического и требуемого состояния системы защиты сети по некоторым важным параметрам.
Системы выявления атак на сеть
Всемирная сеть Internet растет с головокружительной скоростью, поэтому нет ничего удивительного в том, что регистрируется все больше попыток несанкционированного доступа к корпоративным ресурсам. Планы таких атак не являются тайной, так что часто их можно найти прямо в готовом для применения формате, а недавние эксцессы, носившие поистине глобальный характер, — явное свидетельство того, что в целом совершить компьютерное преступление сегодня намного проще, чем раньше. И если прежде основную угрозу представлял тщательно организованный промышленный шпионаж, то теперь ему на смену приходят «воришки со сценариями», «проказы» которых, возможно, обойдутся вашей компании в тысячи долларов из-за простоя в результате проведения несложной, стандартной скрытой атаки.
Конечно, это не то, на чем можно сделать фильм о Джеймсе Бонде, но результаты могут оказаться столь же драматичными. Ежегодные убытки от атак на компьютерные сети составляют десятки и даже сотни миллионов долларов.
Прошли те времена, когда простой брандмауэр был достаточно надежным средством защиты, чтобы администраторы сетей могли спокойно спать. Современные корпорации предусматривают сложные стратегии защиты, реализация которых предполагает использование нескольких систем, как предупредительных, так и реактивных (часто они являются многоуровневыми и избыточными). В этом новом мире Internet выявление атак становится столь же распространенным, как шифрование и аутентификация. Оно широко применяется крупными и мелкими компаниями.
Суть систем выявления атак проста и состоит в установке агентов для проверки сетевого трафика и поиска сигнатур известных сетевых атак. Однако с развитием сетевых вычислений и пугающим распространением Internet все несколько усложнилось. С появлением распределенных атак по типу отказ в обслуживании (Distributed Denial of Service, DDoS), часто инициируемых из сотен различных источников, адрес отправителя трафика больше не может служить надежным свидетельством того, что против вас не организована атака. Хуже того, адекватно реагировать на такие атаки становится все труднее из-за разнообразия исходных систем, особенно из-за того, что большинство атак по своей природе географически распределены.
Администраторы сети ведут со злоумышленниками трудную борьбу, и в этой связи возможность распознавать некоторые (если не все) атаки в тот момент, когда они происходят, себя оправдывает, поскольку это позволяет своевременно предпринять корректирующие действия.
Потенциальных злоумышленников, покушающихся на вашу интеллектуальную собственность, много. Важно знать не только, как правильно реагировать на инцидент, но и как идентифицировать злоумышленников (рис. 3.10).
Выявить же злоумышленника в основном не представляет особой сложности по следующим его действиям:
– предпринимает повторные попытки вторжения в сеть;
– допускает очевидные ошибки;
– предпринимает попытки атаки в разное время в течение дня;
– хочет скрыть свои следы.
В случае неудачной попытки доступа к серверу случайные злоумышленники оставят вас в покое. С другой стороны, опытные злоумышленники постараются собрать информацию о сервере, чтобы вернуться позже и попытаться использовать другие слабости. Например, в один прекрасный день при просмотре журналов IDS вы обращаете внимание на то, что кто-то сканирует ваш почтовый сервер в поисках открытых портов TCP и UDP. Двумя днями позже IP-адрес злоумышленника всплывает вновь, но на этот раз злоумышленник нацеливается на открытые порты. Несколько часов спустя он вводит последовательность команд SMTP через порт 25.
Каждое нажатие клавиши во время атаки дает ценную информацию об опыте атакующего. Серьезный хакер не позволит себе терять драгоценное время на синтаксические ошибки и метод проб и ошибок. Попытка ввести команды SMTP через порт NNTP служит ясным свидетельством неопытности атакующего.
Картина доступа может дать такие важные сведения о злоумышленнике, как его местонахождение, профессия и возраст. Большинство случайных атакующих осуществляют свои попытки между 9 часами вечера и 1 часом ночи. Если попытки проникновения имеют место по будним дням с 9 утра до 5 вечера, то наверняка они производятся с рабочего места.
Были ли случаи, когда при проверке системных журналов событий вы обнаруживали, что все записи за последние 12 часов пропали? Когда-либо замечали, что файл истории команд для бюджета root таинственно исчез? Это признаки опытного атакующего. Он позаботился об удалении всех свидетельств своих действий, не опасаясь, что это приведет к подаче тревожного сигнала. Такое поведение аналогично действиям грабителя, поджигающего дом перед тем, как бежать оттуда с награбленным.
Существенную помощь администратору в данном случае могут оказать системы выявления атак.
Хотя системы выявления атак до сих пор считаются экспериментальными, они стали значительно совершеннее с момента первого их использования (1988 г.), причем до такой степени, что они заняли свое собственное место в системе обороны сети наравне с брандмауэрами и антивирусным программным обеспечением. Хотя практические реализации таких систем, как правило, достаточно сложны и нестандартны, общая концепция выявления атак на удивление проста и состоит в проверке всей активности сети (как входящей, так и исходящей) и обнаружении подозрительных действий, которые могли бы свидетельствовать об атаке на сеть или систему. Эффективность выявления атак на сеть может быть повышена при выполнении последовательности операций, которые представлены на рис. 3.11.
Большинство имеющихся на рынке инструментальных средств выявления атак использует две фундаментальные методики:
– выявление злоупотреблений;
– выявление аномалий.
Выявление злоупотреблений опирается на предопределенный набор сигнатур (шаблонов) атак, которые могут быть получены у производителя или указаны сетевым администратором. Выполняя поиск конкретных шаблонных действий, системы выявления атак, пытаются установить соответствие каждого из поступающих в сеть пакетов сигнатуре известной атаки. Очевидные преимущества данной методики — ее простота и необременительность (как следствие, нет трудностей и при развертывании). Однако, у этого подхода есть существенный недостаток: проверка каждого пакета в сети становится все сложнее, особенно с учетом последних достижений сетевой технологии.
Администраторы защиты должны хорошо подготовиться, прежде чем приступить к выбору системы выявления злоупотреблений. Обязательно поинтересуйтесь у производителя, как часто появляются новые сигнатуры атак и сколько стоит обновление службы. Как и в вопросе обнаружения вирусов, полезность программного обеспечения напрямую зависит от полноты базы данных с сигнатурами, которую оно использует при анализе пакетов.
Выявление аномалий наиболее полезно в стабильных сетевых средах, где администратор может легко определить нормальное состояние сети в таких терминах, как уровень трафика, отказ протокола и типичный размер пакета. Детекторы аномального поведения можно настроить таким образом, чтобы они периодически проводили мониторинг сетевых сегментов и определенного числа сетевых серверов и сравнивали их состояние с основным. Если эти состояния значительно различаются, то могут быть предприняты соответствующие действия. Например, если в два часа дня в воскресенье уровень загруженности вашего сегмента в демилитаризованной зоне (Demilitarized Zone, DMZ) внезапно увеличивается до 80%, причем 90% пакетов этого трафика являются эхопакетами протокола управляющих сообщений ICMP (Internet Control Message Protocol) на запросы от различных источников, то весьма вероятно, что ваша сеть подверглась атаке DDoS.
Большая часть систем выявления атак использует сочетание обеих методик, и они часто устанавливаются в сети, на конкретном хосте или даже для конкретного приложения на хосте.
Наверное, самое очевидное место для размещения системы выявления атак — непосредственно в том сегменте, контроль за которым вы хотите установить. Сетевые детекторы атак устанавливаются в сети точно так же, как и любое другое устройство, за исключением того, что они проверяют все пакеты, которые видят. Хотя системы выявления атак достаточно просты в реализации и развертывании, они все же не лишены недостатков, о которых стоит упомянуть.
Во-первых, действительно разделяемые сегменты (на базе концентраторов, а не коммутаторов) сейчас встречаются довольно редко, т. е. для мониторинга всей подсети одного датчика недостаточно. Вместо этого системы выявления атак должны быть интегрированы в определенный порт коммутаторов Ethernet (с поддержкой режима приема всех пакетов), что не всегда возможно, даже если такой порт имеется.
Кроме того, при обслуживании всего сегмента одной системой выявления атак она становится уязвимой для атаки DDoS. Если злоумышленник сможет вывести из строя сам детектор, то он получает полную свободу действий и может проникнуть в подсеть, не опасаясь быть обнаруженным. Об этой опасности всегда следует помнить при проектировании и установке хоста для своей системы выявления атак. Как и брандмауэр, такая система не должна:
– содержать пользовательские бюджеты, за исключением привилегированного пользователя (root/Administrator); поддерживать необязательные сетевые службы;
– предлагать никакой вид интерактивного сетевого доступа (доступ возможен только через консоль);
– работать под управлением малоизвестной, нестандартной операционной системы.
Если система выявления атак размещается на стандартной многозадачной, многопользовательской системе, то это должен быть укрепленный вариант операционной системы, где не инициируется (и не размещается) большинство пользовательских процессов, чтобы она могла обеспечить необходимую производительность для проверки каждого пакета по мере их поступления. Это освобождает машину от необязательной нагрузки по обработке и позволяет сосредоточиться на выполнении поставленной задачи.
Если ваша политика защиты такова, что злонамеренное вторжение будет иметь серьезные негативные последствия для вашего бизнеса, то рекомендуется установить избыточные системы выявления атак. В идеале эти системы нужно приобретать у двух производителей или, по крайней мере, устанавливать на двух различных платформах. Смысл в том, чтобы не класть все яйца в одну корзину. (Конечно, концепция избыточности применима ко всем подобным системам.)
Хотя такой подход предполагает дополнительные затраты на поддержку разнородного аппаратного обеспечения и операционных систем, вы можете легко компенсировать этот недостаток, выбрав системы выявления атак, управление которыми может осуществляться централизованным и защищенным образом с помощью стандартных инструментальных средств для управления сетями и системами.
Еще одна часто реализуемая стратегия в отношении выявления атак на сеть состоит в автоматическом блокировании доступа по всему периметру сети в случае выхода из строя системы выявления атак. О случившемся необходимо немедленно сообщить администратору сетевой защиты, так как он может оценить создавшуюся ситуацию и предпринять необходимые корректирующие действия. Отметим, что это решение зачастую предполагает, что система выявления атак должна взаимодействовать с размещенными по периметру сети устройствами, такими как брандмауэры и краевые маршрутизаторы.
Как это часто бывает в сложном мире сетевой защиты, панацеи не существует, и, чтобы стратегия выявления атак была эффективной, она должна быть реализована на нескольких уровнях. Установка и обслуживание сетевых детекторов для выявления атак трудностей не вызывают, однако это не позволяет выявить целый класс атак, опознать которые крайне сложно, так как они тесно связаны с целевой системой. Эти атаки используют уязвимые места конкретных операционных систем и пакетов приложений. Только системы выявления атак на хост могут отслеживать сложный массив специфичных для систем параметров, совокупность которых составляет сигнатуру хорошо организованной атаки (такие системы работают как приложения на подключенном
к сети хосте).
Ориентированный на хосты подход идеален для серверов высокой доступности, которые предприятия используют в своей повседневной работе. Эти серверы, как правило, в любом случае устанавливаются в «слабозаселенных» сегментах, так что дополнительные расходы на размещение на хосте детекторов не должны создать непреодолимых трудностей. Возможно, самое важное преимущество этого подхода в том что он позволяет выявить внутренние операции, т. е. обнаружить ситуацию, когда законопослушный пользователь обращается с ресурсами хоста таким образом, что это ведет к нарушению принятой в компании политики защиты. Такого рода нарушения практически невозможно обнаружить посредством системы выявления атак на сеть, поскольку пользователь может обращаться к системе с консоли, и передаваемые им команды просто не пересылаются по сети.
Однако и в деле выявления атак на хост тоже не все гладко. Поскольку эти системы тесно связаны с операционной системой, они становятся еще одним приложением, которое необходимо обслуживать и переносить. Это весьма важный момент в среде, где операционные системы часто обновляются, поскольку система выявления атак может работать эффективно, только тогда, когда она имеет все последние данные. Кроме того, сама по себе установка детекторов на хосты не защитит вашу компанию от базовых атак DDoS на сетевом уровне (SYN flooding, ping of death, land attack и т. д.). Но, несмотря на эти ограничения, система выявления атак на хосты должна стать неотъемлемой частью общей защиты от вторжений.
Развитие методов выявления атак привело к развитию имеющихся систем обнаружения тщательно подготовленных атак. Функционируя на самом верху сетевого стека (на прикладном уровне), эти системы выполняют мониторинг конкретных приложений (например, серверы Web, электронной почты и баз данных) в поисках подозрительных шаблонов и для анализа сообщений из журналов приложений.
Детекторы атак на приложения постоянно проверяют журнальные файлы и системные переменные в поисках готовящейся атаки. Хотя они представляют собой полезные, нужные механизмы, ориентированные на приложения системы трудны в управлении и реализации, так как критически важным сетевым приложениям каждого вида требуется своя система выявления атак. Они должны стать последним рубежом защиты от тех изощренных атак, которые их инициаторы сумели достаточно хорошо замаскировать, чтобы обмануть системы выявления атак на сеть и хосты.
Идея установки программного обеспечения выявления атак на маршрутизаторах всегда воспринималось со значительной долей скепсиса, так как проверка каждого пакета в поисках сигнатуры атаки обычно отнимает значительную часть общей производительности маршрутизатора. Однако маршрутизаторы обладают прекрасной возможностью распознавания и предотвращения атак еще до того, как они проникнут внутрь корпоративной сети, где ущерб от них может оказаться намного существеннее.
Реализованная на маршрутизаторе простая методика фильтрации позволяет гарантировать, что ваша компания не станет стартовой точкой для организации атаки DDoS. Применяемые при этом так называемые выходные фильтры представляют собой набор правил для проверки исходящих пакетов и анализа адресов их отправителей. Поскольку используемые с внутренней стороны краевого маршрутизатора сетевые адреса, как правило, известны, маршрутизаторы могут отфильтровывать пакеты, чьи адреса отправителей не соответствуют их сетям.
Это позволяет фильтровать потенциально подделанный трафик, обычно наблюдаемый, когда злоумышленники захватывают ничего не подозревающий хост и отправляют с него пакеты на выбранную ими цель где-нибудь в Internet Многие провайдеры стали реализовывать выходные фильтры на всем управляемом ими оборудовании в помещениях заказчика (Customer Premises Equipment, CPE).
Как только вы выбрали аппаратное и программное обеспечение для обнаружения атак, следующий шаг в реализации эффективной системы выявления атак — составление диаграммы всей сети, в которой четко указаны пять элементов:
– отдельные сетевые сегменты;
– границы сегментов;
– заслуживающие и не заслуживающие доверия объекты;
– все серверы (хосты) и службы, работающие на каждом хосте;
– списки контроля доступа ACL (Access Control List) на границе каждого сегмента и на каждом сервере.
Отдельные сетевые сегменты — к примеру, от маршрутизатора к маршрутизатору, вместе со списком сетевых протоколов и типичной нагрузкой, которая, по вашему мнению, будет характерна для каждого сегмента.
Границы сегментов — это маршрутизаторы, коммутаторы и брандмауэры. Заслуживают и не заслуживают доверия известные локальные и удаленные пользователи, партнеры по бизнесу, анонимные пользователи и потенциальные клиенты электронной коммерции.
И число инцидентов, и диапазон злонамеренных сетевых атак продолжают расти, в силу чего время реакции на подобные инциденты становится критически важным. Из-за нехватки специалистов по защите все больший интерес в отрасли вызывают автоматизированные системы реакции на атаку, с помощью которых система выявления атак может сразу предпринять оборонительные (или, по крайней мере, сдерживающие) меры в ответ на вторжение.
Распространенная ошибка при проектировании автоматизированных систем реакции на атаку состоит в том, что такие системы часто делают именно то, на что рассчитывает злоумышленник.
К примеру, рассмотрим политику защиты, при которой система выявления атак отфильтровывает адрес отправителя, с которого, по имеющейся информации, производится сканирование портов хостов в вашей сети. В действительности злоумышленник достаточно просто может выдать себя за другой хост (подделав IP-адрес), что, в конечном итоге, приведет к фильтрации пакетов ни в чем не повинного хоста (возможно, одного из ваших партнеров по бизнесу или, хуже того, потенциального заказчика). В этом случае злоумышленник, по сути, использует вашу автоматизированную систему противодействия для проведения атаки по типу «отказ в обслуживании» и против вашей сети, и против хоста, за который он себя выдает.
Вместо того чтобы отказывать в доступе подозреваемому в организации атаки, часто полезнее получить больше информации о хосте, с которого производится атака: можно попытаться отследить маршрут до хоста организатора атаки, провести обратный поиск DNS по IP-адресу злоумышленника, постараться выяснить тип хоста (определить тип ОС) и установить провайдера Internet инициатора вторжения.
Собранная информация позволит принять более взвешенное решение о том, что следует сделать: отказать в доступе по всему периметру, предупредить администратора или просто зарегистрировать событие как подозрительное. Не забудьте записать всю собранную информацию (предпочтительно через Syslog) на удаленный хост, где эти данные можно сохранить на вторичной системе хранения.
Целостность журналов и других критически важных системных файлов может быть гарантирована с помощью инструментальных средств обеспечения целостности системных файлов. Этот инструментарий периодически вычисляет контрольные суммы для данных, находящихся в журналах регистрации, хранимых в безопасном месте. Контрольные суммы затем регулярно пересчитываются и сравниваются с оригиналом, обеспечивая таким образом неповрежденность журнальных файлов.
Кроме того, ваша политика защиты должна предусматривать периодический анализ журналов для выявления подозрительной активности. Анализ файлов регистрации и синтаксический разбор в реальном времени позволяют проводить целый ряд соответствующих инструментальных средств (как коммерческих, так и свободно распространяемых). Они способны помочь администратору систем защиты в решении этой рутинной задачи.
При реализации технологии выявления атак администраторы систем защиты должны помнить о двух основных ее недостатках:
– маскировки (evasion);
– вставки (insertion).
Сетевые детекторы используют стандартные или определенные пользователями сигнатуры, которые они пытаются обнаружить в передаваемых по сети пакетах. Однако опытный злоумышленник может замаскировать сигнатуру своей атаки, разбив один TCP-пакет на несколько IP-пакетов. Чтобы не попасться на эту удочку, убедитесь, что детектор атак в состоянии собирать фрагменты пакетов для анализа сигнатур в реальном времени.
Вторая проблема состоит в добавлении злоумышленником ложных пакетов в TCP-диалог. Несмотря на то, что конечный хост просто отвергнет лишний пакет, детектор атак попытается его проанализировать. Если конечный хост проверяет порядковый номер TCP, дабы убедиться, что пакеты транспортного уровня прибывают в правильном порядке, то детектор вторжений, как правило, эту последовательность не отслеживает и примет за реальные такие фальшивые пакеты, как запрос на прерывание соединения. При получении фальшивого запроса на закрытие (типа TCP FIN), детектор будет игнорировать все остальные пакеты в данном потоке, поскольку он будет уверен, что конечный хост тоже их игнорирует. (Он считает, что соединение уже было закрыто.)
Проявляющиеся сейчас в области межсетевых взаимодействий тенденции потребуют, вероятно, серьезного пересмотра механизма современных систем выявления атак. Технологии виртуальных частных сетей предусматривают внедрения пакетов внутрь других пакетов, а технология шифрования делает практически невозможными проникновение в эти пакеты и проверку сигнатуры атаки.
Кроме того, сетевые шлюзы все чаще и чаще рассчитаны на коммутацию пакетов более высоких уровней со скоростью их поступления и принимают решения о направлении пакетов на основе лишь определенных фрагментов в заголовке пакета. Выявление атак станет, скорее всего, серьезным препятствием на пути повышения скорости коммутаторов до многих гигабит. Производители признают, что они больше не в состоянии предлагать порт для перехвата всех пакетов без значительного снижения производительности коммутирующего оборудования. Одно из возможных решений этой проблемы состоит в реализации распределенных систем выявления атак с несколькими коллекторами с единой высокопроизводительной базой данных, сервер которой имеет достаточную производительность для консолидации всей информации практически в реальном времени. С другой стороны, производители сетевого оборудования могли бы встраивать некоторый небольшой по размеру (хотелось бы надеяться, что стандартный) код выявления атак в архитектуру коммутаторов.
Развертывание эффективных систем выявления атак представляет собой сложную задачу, но она кажется тривиальной по сравнению с тем временем и усилиями, которые вам придется потратить, чтобы обеспечить ту отдачу, на которую рассчитывала ваша компания, в том числе на предпродажные исследования и постоянные модернизации сигнатур атак. Администратору систем защиты не стоит ждать легкой жизни, но он, безусловно, будет спокойнее спать, зная, что в вечно бодрствующем мире Internet корпоративная сеть имеет недремлющего стража.
Программы обнаружения сетевых атак
Злоумышленники редко бесцеремонно вторгаются в сеть с «оружием» в руках. Они предпочитают проверить, надежны ли запоры на двери и все ли окна закрыты. Они незаметно анализируют образцы трафика, входящего в вашу сеть и исходящего из нее, отдельные IP-адреса, а также выдают внешне нейтральные запросы, адресованные отдельным пользователям и сетевым устройствам.
Для обнаружения этих искусно закамуфлированных врагов приходится устанавливать интеллектуальное программное обеспечение детектирования сетевых атак, обладающее высокой чувствительностью. Приобретаемый продукт должен предупреждать администратора не только о случаях явного нарушения системы информационной безопасности, но и о любых подозрительных событиях, которые на первый взгляд кажутся совершенно безобидными, а в действительности скрывают полномасштабную хакерскую атаку. Нет нужды доказывать, что о всякой активной попытке взлома системных паролей администратор должен быть извещен немедленно.
Современные корпорации находятся буквально под перекрестным огнем со стороны злоумышленников, стремящихся похитить ценные сведения или просто вывести из строя информационные системы. Задачи, преследуемые в борьбе с хакерами, достаточно очевидны:
– уведомление о предпринятой попытке несанкционированного доступа должно быть немедленным;
– отражение атаки и минимизация потерь (чтобы противостоять злоумышленнику, следует незамедлительно разорвать сеанс связи с ним);
– переход в контрнаступление (злоумышленник должен быть идентифицирован и наказан).
Именно такой сценарий использовался при тестировании четырех наиболее популярных систем выявления сетевых атак из присутствующих сегодня на рынке:
– BlackICE;
– Intruder Alert;
– Centrax;
– еTrust Intrusion Detection.
Характеристика указанных программных систем обнаружения сетевых атак приведена в табл. 3.2.
Программа BlackICE фирмы Network ICE — специализированное приложение-агент, предназначенное исключительно для выявления злоумышленников. Обнаружив непрошеного гостя, оно направляет отчет об этом событии управляющему модулю ICEcap, анализирующему информацию» поступившую от разных агентов, и стремящемуся локализовать атаку на сеть.
Программное обеспечение Intruder Alert компании Alert Technologies больше похоже на инструментарий для специалистов в области информационной безопасности, поскольку оно предоставляет максимальную гибкость в определении стратегий защиты сети.
Пакет Centrax производства CyberSafe устроен по принципу «все в одном»: в его составе есть средства контроля за системой безопасности, мониторинга трафика, выявления атак и выдачи предупреждающих сообщений.
Система eTrust Intrusion Detection корпорации Computer Associates особенно сильна функциями контроля за информационной безопасностью и управления стратегиями защиты, хотя и в этом продукте реализованы средства выдачи предупреждений в режиме реального времени, шифрования данных и обнаружения атак.
Таблица 3.2. Характеристика программных систем обнаружения сетевых атак
Программная система
Производитель
Характеристика системы
BlackICE (специализированное приложение-агент)
Network ICE
Устанавливается на компьютере удаленного пользователя или на узле корпоративной сети. Выдает предупреждение об атаке на экран монитора пользователя.
Сообщает о попытке НСД на средства сетевого мониторинга. Имеет возможность загрузки свежих сигнатур хакерских атак с сервера. Выявляет источник атаки сети.
Intruder Alert (инструментарий детектирования сетевых атак)
Alert Technologies
Выбирает стратегию защиты сети. Поддерживает высокий уровень набора правил сетевой защиты. Загружает сигнатуры хакерских атак. Требует наличия опытных специалистов для обслуживания.
Centrax (инструментарий детектирования сетевых атак)
Cyber Safe
Контролирует систему безопасности сети. Осуществляет мониторинг трафика. Выдает предупреждающие сообщения о сетевой атаке.
Требует наличия опытных специалистов для обслуживания.
eTrust Intrusion Detection (анализатор трафика сети сегмента)
Computer Associates
Управляет стратегиями защиты. Выдает предупреждения об атаке в режиме реального времени. Осуществляет мониторинг трафика. Предупреждает администратора о нарушениях стратегии защиты. Сообщает о наличии ненормативной лексики в электронной почте. Располагает информацией о злоумышленнике
Предупреждения, генерируемые агентами BlackICE, очень конкретны. Текст сообщений не заставит администратора усомниться в характере зарегистрированного события, а в большинстве случаев и в его важности. Кроме того, продукт позволяет администратору настроить содержание собственных предупреждающих сообщений, но по большому счету в этом нет необходимости.
Весьма полезным свойством разработок Network ICE, а также пакета Intruder Alert является возможность загрузки самых свежих сигнатур хакерских атак с сервера.
Попытки вывести из строя корпоративный сервер, который в результате вынужден на запросы об обслуживании отвечать отказом (denial-of-service), таят в себе довольно серьезную угрозу бизнесу компаний, предоставляющих своим клиентам услуги по глобальной сети. Суть нападения сводится к тому, что злоумышленник генерирует тысячи запросов SYN (на установление соединения), адресованных атакуемому серверу. Каждый запрос снабжается фальшивым адресом источника, что значительно затрудняет точную идентификацию самого факта атаки и выслеживание атакующего. Приняв очередной запрос SYN, сервер предполагает, что речь идет о начале нового сеанса связи и переходит в режим ожидания передачи данных. Несмотря на то, что данные после этого не поступают, сервер обязан выждать определенное время (максимум 45 с), перед тем как разорвать соединение. Если несколько тысяч таких ложных запросов будут направлены на сервер в течение считанных минут, он окажется перегружен, так что на обработку настоящих запросов о предоставлении того или иного сервиса ресурсов попросту не останется. Другими словами, в результате SYN-атаки настоящим пользователям будет отказано в обслуживании.
Во всех описываемых системах, за исключением eTrust Intrusion Detection корпорации Computer Associates, использована модель программных агентов, которые сначала инсталлируются на сетевых устройствах, а затем осуществляют сбор информации о потенциальных атаках и пересылают ее на консоль. Агенты выявляют случаи нарушения установленных стратегий защиты и после этого генерируют соответствующие сообщения.
Системы на базе агентов являются наилучшим решением для коммутируемых сетей, поскольку в таких сетях не существует какой-либо одной точки, через которую обязательно проходит весь трафик. Вместо того чтобы следить за единственным соединением, агент осуществляет мониторинг всех пакетов, принимаемых или отправляемых устройством, где он установлен. В результате злоумышленникам не удается «отсидеться» за коммутатором.
Сказанное можно проиллюстрировать на примере продукции фирмы Network ICE. Программе BlackICE отведена роль агента, устанавливаемого в полностью автономной операционной среде, например, на компьютере удаленного пользователя либо на одном из узлов корпоративной сети передачи данных. Обнаружив хакера, атакующего удаленную машину, агент выдаст предупреждение непосредственно на ее экран. Если же аналогичное событие окажется зафиксировано в корпоративной сети, сообщение о попытке несанкционированного доступа будет передано другому приложению — ICEcap, содержащему средства сетевого мониторинга. Последнее собирает и сопоставляет информацию, поступающую от разных подчиненных ему агентов, и это дает ему возможность оперативно выявлять события, действительно угрожающие безопасности сети.
Система eTrust, напротив, основана на централизованной архитектуре. Она устанавливается на центральном узле и анализирует трафик в подведомственном сетевом сегменте. Отсутствие агентов не позволяет данному продукту отслеживать все события в коммутируемой сети, поскольку в ней невозможно выбрать единственную «смотровую площадку», откуда вся сеть была бы видна как на ладони.
Пакет Intruder Alert и система Centrax производства CyberSafe представляют собой скорее инструментарий для построения собственной системы детектирования сетевых атак. Чтобы в полной мере воспользоваться их возможностями, организация должна иметь в своем штате программистов соответствующей квалификации либо располагать бюджетом, позволяющим заказать подобную работу.
Несмотря на то, что все описываемые продукты легко инсталлировать, управление системами Intruder Alert и Centrax простым не назовешь. Скажем, если Centrax выдает предупреждающее сообщение неизвестного или неопределенного содержания (а такая ситуация не раз имела место в наших тестах), администратор вряд ли сумеет быстро определить, что же, собственно, произошло, особенно если для уточнения диагноза ему придется обратиться к файлам регистрации событий. Эти файлы отличаются исчерпывающей полнотой, однако разработчики, по-видимому, решили, что обычному человеку достаточно только намекнуть, о чем может идти речь, и характер происходящего будет безошибочно идентифицирован. В регистрационных журналах этой системы присутствуют описания выданных предупреждений, но нет их идентификаторов. Администратор видит адреса портов, к которым относились подозрительные запросы, либо параметры других операций, но не получает никакой информации о том, что же все это может означать.
Отмеченное обстоятельство значительно снижает ценность сообщений, выдаваемых в режиме реального времени, поскольку невозможно сразу сообразить, отражает ли описание события реальную угрозу системе безопасности или это всего лишь попытка провести более тщательный анализ трафика. Иными словами, покупать названные продукты имеет смысл лишь в том случае, если в штате вашей организации есть опытные специалисты по информационной безопасности.
Программное обеспечение eTrust Intrusion Detection корпорации Computer Associates представляет собой нечто большее, чем просто систему мониторинга сетевой активности и выявления хакерских атак. Этот продукт способен не только декодировать пакеты различных протоколов и служебный трафик, но и перехватывать их для последующего вывода на управляющую консоль в исходном формате. Система осуществляет мониторинг всего трафика ТСРЯР и предупреждает администратора о случаях нарушения установленных стратегий в области информационной безопасности. Правда, эта разработка не поддерживает такого же уровня детализации наборов правил, как Intruder Alert.
Однако детектирование попыток несанкционированного доступа и выдача предупреждающих сообщений — это только полдела. Программные средства сетевой защиты должны остановить действия хакера и принять контрмеры. В этом смысле наилучшее впечатление производят пакеты Intruder Alert и Centrax, те самые, что вызвали немалые нарекания по части настройки конфигурации. Если программы фирмы Network ICE и ПО eTrust мгновенно закрывают угрожающие сеансы связи, то системы Intruder Alert и Centrax идут еще дальше. Например, приложение компании Axent Technologies можно настроить таким образом, что оно будет запускать тот или иной командный файл в зависимости от характера зарегистрированных событий, скажем перезагружать сервер, который подвергся атаке, приводящей к отказу в обслуживании.
Отразив атаку, хочется сразу перейти в контрнаступление. Приложения Black-ICE и Centrax поддерживают таблицы с идентификаторами хакеров. Эти таблицы заполняются после прослеживания всего пути до «логовища», где затаился неприятель. Возможности программного обеспечения BlackICE особенно впечатляют, когда дело доходит до выявления источника атаки, расположенного внутри или вне сети: несмотря на многочисленные хитроумные маневры, нам так и не удалось сохранить инкогнито.
А вот система eTrust поражает степенью проникновения в характер деятельности каждого пользователя сети, зачастую даже не подозревающего о том, что он находится под пристальным наблюдением. Одновременно этот пакет предоставляет наиболее полную (и, пожалуй, наиболее точную) информацию о злоумышленниках, даже о том, где они находятся.
Приложение Centrax способно создавать так называемые файлы-приманки, присваивая второстепенному файлу многозначительное название вроде «Ведомость.xls» и тем самым вводя в заблуждение излишне любопытных пользователей. Такой алгоритм представляется нам слишком прямолинейным, но и он может сослужить неплохую службу: с его помощью удается «застукать» сотрудников за «прочесыванием» корпоративной сети на предмет выявления конфиденциальной информации.
Каждый из рассмотренных программных продуктов генерирует отчеты о подозрительных случаях сетевой активности. Высоким качеством таких отчетов и удобством работы с ними выделяются приложения ICEcap и eTrust Intrusion Detection. Последний пакет отличается особенной гибкостью, возможно, потому, что ведет свое происхождение от декодера протоколов. В частности, администратор может проанализировать сетевые события в проекции на отдельные ресурсы, будьте протоколы, станции-клиенты или серверы. В eTrust предусмотрено множество заранее разработанных форматов отчетов. Их хорошо продуманная структура заметно облегчает обнаружение злоумышленников и позволяет наказать провинившихся пользователей.
Каждый продукт имеет свои сильные и слабые стороны, поэтому рекомендовать его можно только для решения определенных задач. Если речь идет о защите коммутируемых сетей, неплохим выбором являются разработки Network ICE, Axent Technologies и CyberSafe. Пакет eTrust Intrusion Detection идеален для своевременного уведомления о случаях нарушения этики бизнеса, например, об употреблении ненормативной лексики в сообщениях электронной почты. Системы Intruder Alert и Centrax — прекрасный инструментарии для консультантов по вопросам информационной безопасности и организаций, располагающих штатом профессионалов в данной области. Однако тем компаниям, которые не могут себе позволить прибегнуть к услугам высокооплачиваемых специалистов, рекомендуем установить продукты компании Network ICE. Эти приложения заменят истинного эксперта по сетевой защите лучше любой другой системы из тех, что когда-либо попадалась нам на глаза.
Сканеры как средства проверки защиты сети
Когда-то давным-давно (или не очень) жесткие диски персональных компьютеров были объемом всего-навсего 10 Мбайт, а их оперативная память не превышала 640 Кбайт Модемы работали на скоростях от 300 до 1200 бит/с, и мало кто из пользователей слышал о глобальной компьютерной сети Internet. Конечно, эта сеть существовала уже тогда, но использовалась исключительно в военных целях, а работать с ней можно было только при помощи командной строки. Но не это служило основным препятствием для массового доступа к сети Internet. Вычислительные машины, которые могли быть задействованы в качестве серверов, были очень дорогими — их стоимость исчислялась миллионами долларов. Да и сами персональные компьютеры стоили тогда весьма недешево, и были по карману только обеспеченным людям.
Но уже тогда находились люди, которые охотились за чужими секретами. Представим себе, как за персональным компьютером сидит юноша лет 15—17 и обзванивает при помощи модема телефонные номера, которые ему сообщил приятель. В большинстве случаев на другом конце провода оказывается другой модем, и на экране монитора появляется приглашение зарегистрироваться, т. е. ввести имя и пароль.
Каждый раз, получив такое регистрационное приглашение, юноша начинает лихорадочно перебирать различные пары имен и соответствующих им паролей. Наконец, одна пара подходит, и юный взломщик получает возможность управлять удаленным компьютером, не выходя из дома.
Сейчас уже трудно поверить, что первым компьютерным взломщикам приходилось так напрягаться. Ведь известно, что они очень не любят выполнять рутинную работу и при всяком удобном случае стараются заставить свои компьютеры заниматься такой работой. Поэтому неудивительно, что компьютерные взломщики вскоре создали специальное программное средство, чтобы не набирать вручную дюжину команд. Это программное средство назвали боевым номеронабирателем.
Боевой номеронабиратель представляет собой программу, обзванивающую заданные пользователем телефонные номера в поисках компьютеров, которые в ответ на поступивший звонок выдают регистрационное приглашение. Программа аккуратно сохраняет в файле на жестком диске все такие телефонные номера вместе с данными о скорости соединения с ними. Один из самых известных и совершенных боевых номеронабирателей — TONELOC, предназначенный для работы в среде операционной системы DOS (он может быть запущен под управлением Windows 95/98 в режиме командной строки).
Дальнейшее совершенствование боевых номеронабирателей привело к созданию сканеров. Первые сканеры были весьма примитивными и отличались от боевых номеронабирателей только тем, что специализировались исключительно на выявлении компьютеров, подключенных к сети Internet или к другим сетям, использующим протокол TCP/IP. Они были написаны на языке сценариев программной оболочки операционной системы UNIX. Такие сканеры пытались подсоединиться к удаленной хост-машине через различные порты TCP/IP, отправляя всю информацию, которая выводилась на устройство стандартного вывода этой хост-машины, на экран монитора того компьютера, где был запущен сканер.
Ныне сканеры стали грозным оружием как нападения, так и защиты в Internet Что же представляет собой современный сканер?
Сканер — это программа, предназначенная для автоматизации процесса поиска слабостей в защите компьютеров, подключенных к сети в соответствии с протоколом ТСРЛР. Наиболее совершенные сканеры обращаются к портам ТСРЯР удаленного компьютера и в деталях протоколируют отклик, который они получают от этого компьютера. Запустив сканер на своем компьютере, пользователь, даже не выходя из дома, может найти бреши в защитных механизмах сервера, расположенного, например, на другом конце земного шара.
Большинство сканеров предназначено для работы в среде UNIX, хотя к настоящему времени такие программы имеются практически для любой операционной системы. Возможность запустить сканер на конкретном компьютере зависит от операционной системы, под управлением которой работает этот компьютер, и от параметров подключения к Internet. Есть сканеры, которые функционируют только в среде UNIX, а с остальными операционными системами оказываются несовместимыми. Другие отказываются нормально работать на устаревших компьютерах с Windows 3.11 и с медленным (до 14 400 бит/с) доступом по коммутируемым линиям к Internet. Такие компьютеры будут надоедать сообщениями о переполнении стека, нарушении прав доступа или станут просто зависать.
Критичным является и объем оперативной памяти компьютера. Сканеры, которые управляются при помощи командной строки, как правило; предъявляют более слабые требования к объему оперативной памяти. А самые «прожорливые» — сканеры, снабженные оконным графическим интерфейсом пользователя.
Написать сканер не очень трудно. Для этого достаточно хорошо знать протоколы ТСРЛР, уметь программировать на С или Perl и на языке сценариев, а также разбираться в программном обеспечении сокетов. Но и в этом случае не следует ожидать, что созданный вами сканер принесет большую прибыль, поскольку в настоящее время предложение на рынке сканеров значительно превышает спрос на них. Поэтому наибольшая отдача от усилий, вложенных в написание сканера, будет скорее моральной (от осознания хорошо выполненной работы), чем материальной.
Не стоит переоценивать положительные результаты, которых можно достичь благодаря использованию сканера. Действительно, сканер может помочь выявить дыры в защите хост-машины, однако в большинстве случаев информацию о наличии этих дыр сканер выдает в завуалированном виде, и ее надо еще уметь правильно интерпретировать. Сканеры редко снабжают достаточно полными руководствами пользователя. Кроме того, сканеры не в состоянии сгенерировать пошаговый сценарий взлома компьютерной системы. Поэтому для эффективного использования сканеров на практике прежде всего необходимо научиться правильно интерпретировать собранные с их помощью данные, а это возможно только при наличии глубоких знаний в области сетевой безопасности и богатого опыта.
Обычно сканеры создают и применяют специалисты в области сетевой безопасности. Как правило, они распространяются через сеть Internet, чтобы с их помощью системные администраторы могли проверять компьютерные сети на предмет наличия в них изъянов. Поэтому обладание сканерами, равно как и их использование на практике, вполне законно. Однако рядовые пользователи (не системные администраторы) должны быть готовы к тому, что, если они будут применять сканеры для обследования чужих сетей, то могут встретить яростное сопротивление со стороны администраторов этих сетей.
Более того, некоторые сканеры в процессе поиска брешей в защите компьютерных сетей предпринимают такие действия, которые по закону можно квалифицировать как несанкционированный доступ к компьютерной информации, или как создание, использование и распространение вредоносных программ, или как нарушение правил эксплуатации компьютеров, компьютерных систем и сетей. И если следствием этих деяний стало уничтожение, блокирование, модификация или копирование информации, хранящейся в электронном виде, то виновные лица в соответствии с российским законодательством подлежат уголовному преследованию. А значит, прежде чем начать пользоваться первым попавшимся под руку бесплатным сканером для UNIX-платформ, стоит убедиться, а не копирует ли случайно этот сканер заодно и какие-нибудь файлы с диска тестируемой им хост-машины (например, файл password из каталога /ETC).
Часто к сканерам ошибочно относят утилиты типа host, rusers, finger, Traceroute, Showmount. Связано это с тем, что, как и сканеры, данные утилиты позволяют собирать полезную статистическую информацию о сетевых службах на удаленном компьютере. Эту информацию можно затем проанализировать на предмет выявления ошибок в их конфигурации.
Действительно, сетевые утилиты выполняют ряд функций, которые характерны для сканеров. Однако в отличие от них использование этих утилит вызывает меньше подозрений у системных администраторов. Выполнение большинства сетевых утилит на удаленной хост-машине практически не оказывает никакого влияния на ее функционирование. Сканеры же зачастую ведут себя как слон в посудной лавке и оставляют следы, которые трудно не заметить. Кроме того, хороший сканер — явление довольно редкое, а сетевые утилиты всегда под рукой. К недостаткам сетевых утилит можно отнести то, что приходится выполнять вручную слишком большую работу, чтобы добиться того же результата, который при помощи сканера получается автоматически.
7. МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ ОТ НСД
Проблему безопасности компьютеров и компьютерных сетей надуманной назвать никак нельзя. Как показывает практика, чем больше и масштабнее сеть и чем более ценная информация доверяется подключенным к ней компьютерам, тем больше находится желающих нарушить ее нормальное функционирование ради материальной выгоды, просто по незнанию или из праздного любопытства. Эти атаки не знают государственных границ. В Internet — самой крупной компьютерной сети в мире -, впрочем как и в любой другой, идет постоянная виртуальная война, в ходе которой организованности системных администраторов противостоит изобретательность компьютерных взломщиков. Атаки на компьютерные системы возникают подобно волнам цунами и сметают все защитные барьеры, очень часто оставляя после себя только впавшие в паралич компьютеры, зависшие серверы или опустошенные винчестеры.
Стандартность архитектурных принципов построения, оборудования и программного обеспечения персональных компьютеров, высокая мобильность программного обеспечения и ряд других признаков определяют сравнительно легкий доступ профессионала к информации, находящейся в персональном компьютере.
Особенности защиты персональных компьютеров обусловлены спецификой их использования. Как правило, компьютером пользуется ограниченное число пользователей. Компьютеры могут работать как в автономном режиме, так и в составе локальных сетей (сопряженными с другими компьютерами), подключаясь к удаленному компьютеру или локальной сети с помощью модема по линии связи.
Если персональным компьютером пользуется группа пользователей, то может возникнуть необходимость в разграничении их доступа к информации, особенно если на нем обрабатывается конфиденциальная, а тем более секретная информация.
Любая информация, которая функционирует в компьютерах и компьютерных сетях, содержит определенное смысловое содержание и прикреплена к конкретному носителю: файлу, полю базы данных, данные любого программного приложения. Очевидно, что носителем информации являются также каталог, жесткий диск персонального компьютера или сервера, на котором хранится файл, база данных и т. п. При передаче информации от одного объекта другому носителем информации на какое-то время становится канал ее передачи. Также следует учитывать, что защиты требует не только сама информация, но и среда ее обработки, то есть программное обеспечение.
Несанкционированный доступ к информации — это незапланированное ознакомление, обработка, копирование, применение различных вирусов, в том числе разрушающих программные продукты, а также модификация или уничтожение информации в нарушение установленных правил разграничения доступа.
Поэтому, в свою очередь, защита информации от несанкционированного доступа призвана не допустить злоумышленника к носителю информации. В защите информации компьютеров и сетей от НСД можно выделить три основных направления:
– ориентируется на недопущение нарушителя к вычислительной среде и основывается на специальных технических средствах опознавания пользователя;
– связано с защитой вычислительной среды и основывается на создании специального программного обеспечения;
– связано с использованием специальных средств защиты информации компьютеров от несанкционированного доступа.
Следует иметь в виду, что для решения каждой из задач применяются как различные технологии, так и различные средства. Требования к средствам защиты, их характеристики, функции ими выполняемые и их классификация, а также термины и определения по защите от несанкционированного доступа приведены в руководящих документах Государственной технической комиссии:
– «Автоматизированные системы. Защита от несанкционированного доступа к информации. Классификация АС и требования по защите информации»;
– «Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от несанкционированного доступа к информации»;
– «Защита от несанкционированного доступа к информации. Термины и определения». Технические средства, реализующие функции защиты можно разделить на:
o встроенные;
o внешние.
К встроенным средствам защиты персонального компьютера и программного обеспечения (рис. 3.12) относятся средства парольной защиты BIOS, операционной системы, СУБД. Данные средства могут быть откровенно слабыми — BIOS с паролем супервизора, парольная защита Win95/98, но могут быть и значительно более стойкими — BIOS без паролей супервизора, парольная защита Windows NT, СУБД ORACLE. Использование сильных сторон этих средств позволяет значительно усилить систему защиты информации от НСД.
Внешние средства призваны подменить встроенные средства с целью усиления защиты, либо дополнить их недостающими функциями.
К ним можно отнести:
– аппаратные средства доверенной загрузки;
– аппаратно-программные комплексы разделения полномочий пользователей на доступ;
– средства усиленной аутентификации сетевых соединений.
Аппаратные средства доверенной загрузки представляют собой изделия, иногда называемые «электронным замком», чьи функции заключаются в надежной идентификации пользователя, а также в проверке целостности программного обеспечения компьютера. Обычно это плата расширения персонального компьютера, с необходимым программным обеспечением, записанным либо во Flash-память платы, либо на жесткий диск компьютера.
Принцип их действия простой. В процессе загрузки стартует BIOS и платы защиты от НСД. Он запрашивает идентификатор пользователя и сравнивает его с хранимым во Flash-памяти карты. Идентификатор дополнительно можно защищать паролем. Затем стартует встроенная операционная система платы или компьютера (чаще всего это вариант MS-DOS), после чего стартует программа проверки целостности программного обеспечения. Как правило, проверяются системные области загрузочного диска, загрузочные файлы и файлы, задаваемые самим пользователем для проверки. Проверка осуществляется либо на основе имитовставки алгоритма ГОСТ 28147-89, либо на основе функции хэширования алгоритма ГОСТ Р 34.11-34 или иного алгоритма. Результат проверки сравнивается с хранимым во Flash-памяти карты. Если в результате сравнения при проверке идентификатора или целостности системы выявится различие с эталоном, то плата заблокирует дальнейшую работу, и выдаст соответствующее сообщение на экран. Если проверки дали положительный результат, то плата передает управление персональному компьютеру для дальнейшей загрузки операционной системы.
Все процессы идентификации и проверки целостности фиксируются в журнале. Достоинства устройств данного класса — их высокая надежность, простота и невысокая цена. При отсутствии многопользовательской работы на компьютере функций защиты данного средства обычно достаточно.
Аппаратно-программные комплексы разделения полномочий на доступ используются в случае работы нескольких пользователей на одном компьютере, если встает задача разделения их полномочий на доступ к данным друг друга. Решение данной задачи основано на: 01 запрете пользователям запусков определенных приложений и процессов; Q разрешении пользователям и запускаемым ими приложениям лишь определенного типа действия с данными.
Реализация запретов и разрешений достигается различными способами. Как правило, в процессе старта операционной системы запускается и программа защиты от несанкционированного доступа. Она присутствует в памяти компьютера, как резидентный модуль и контролирует действия пользователей на запуск приложений и обращения к данным. Все действия пользователей фиксируются в журнале, который доступен только администратору безопасности. Под средствами этого класса обычно и понимают средства защиты от несанкционированного доступа. Они представляют собой аппаратно-программные комплексы, состоящие из аппаратной части — платы доверенной загрузки компьютера, которая проверяет теперь дополнительно и целостность программного обеспечения самой системы защиты от НСД на жестком диске, и программной части — программы администратора, резидентного модуля. Эти программы располагаются в специальном каталоге и доступны лишь администратору. Данные системы можно использовать и в однопользовательской системе для ограничения пользователя по установке и запуску программ, которые ему не нужны в работе.
Средства усиленной аутентификации сетевых соединений применяются в том случае, когда работа рабочих станций в составе сети накладывает требования для защиты ресурсов рабочей станции от угрозы несанкционированного проникновения на рабочую станцию со стороны сети и изменения либо информации, либо программного обеспечения, а также запуска несанкционированного процесса. Защита от НСД со стороны сети достигается средствами усиленной аутентификации сетевых соединений. Эта технология получила название технологии виртуальных частных сетей.
Одна из основных задач защиты от несанкционированного доступа — обеспечение надежной идентификации пользователя (рис. 3.13) и возможности проверки подлинности любого пользователя сети, которого можно однозначно идентифицировать по тому, что он:
– знает;
– имеет;
– из себя представляет.
Что знает пользователь? Свое имя и пароль. На этих знаниях основаны схемы парольной идентификации. Недостаток этих схем — ему необходимо запоминать сложные пароли, чего очень часто не происходит: либо пароль выбирают слабым, либо его просто записывают в записную книжку, на листок бумаги и т. п. В случае использования только парольной защиты принимают надлежащие меры для обеспечения управлением создания паролей, их хранением, для слежения за истечением срока их использования и своевременного удаления. С помощью криптографического закрытия паролей можно в значительной степени решить эту проблему и затруднить злоумышленнику преодоление механизма аутентификации.
Что может иметь пользователь? Конечно же, специальный ключ — уникальный идентификатор, такой, например, как таблетка touch memory (I-button), e-token, смарт-карта, или криптографический ключ, на котором зашифрована его запись в базе данных пользователей. Такая система наиболее стойкая, однако, требует, чтобы у пользователя постоянно был при себе идентификатор, который чаще всего присоединяют к брелку с ключами и либо часто забывают дома, либо теряют. Будет правильно, если утром администратор выдаст идентификаторы и запишет об этом в журнале и примет их обратно на хранение вечером, опять же сделав запись в журнале.
Что же представляет собой пользователь? Это те признаки, которые присущи только этому пользователю, только ему, обеспечивающие биометрическую идентификацию. Идентификатором может быть отпечаток пальца, рисунок радужной оболочки глаз, отпечаток ладони и т. п. В настоящее время — это наиболее перспективное направление развития средств идентификации. Они надежны и в то же время не требуют от пользователя дополнительного знания чего-либо или постоянного владения чем-либо. С развитием технологи и стоимость этих средств становится доступной каждой организации.
Гарантированная проверка личности пользователя является задачей различных механизмов идентификации и аутентификации.
Каждому пользователю (группе пользователей) сети назначается определенный отличительный признак — идентификатор и он сравнивается с утвержденным перечнем. Однако только заявленный идентификатор в сети не может обеспечить защиту от несанкционированного подключения без проверки личности пользователя.
Процесс проверки личности пользователя получил название — аутентификации. Он происходит с помощью предъявляемого пользователем особого отличительного признака — аутентификатора, присущего именно ему. Эффективность аутентификации определяется, прежде всего, отличительными особенностями каждого пользователя.
Конкретные механизмы идентификации и аутентификации в сети могут быть реализованы на основе следующих средств и процедур защиты информации:
– пароли;
– технические средства;
– средства биометрии;
– криптография с уникальными ключами для каждого пользователя.
Вопрос о применимости того или иного средства решается в зависимости от выявленных угроз, технических характеристик защищаемого объекта. Нельзя однозначно утверждать, что применение аппаратного средства, использующего криптографию, придаст системе большую надежность, чем использование программного.
Анализ защищенности информационного объекта и выявление угроз его безопасности — крайне сложная процедура. Не менее сложная процедура — выбор технологий и средств защиты для ликвидации выявленных угроз. Решение данных задач лучше поручить специалистам, имеющим богатый опыт.
Парольная защита операционных систем
Контроль доступа, основанный на обладании специфической информацией, наиболее распространен. Он характеризуется тем, что правом доступа обладают лишь те, кто способен продемонстрировать знание определенного секрета, обычно пароля. Это самый простой и дешевый метод защиты любой компьютерной системы. Поскольку его использование не требует больших затрат времени, сил и места в памяти компьютера, то он применяется даже в тех компьютерах, которые вовсе не нуждаются в средствах защиты. Кроме того, владение паролем дает пользователю ощущение психологического комфорта. Более того, это широко используется в системах, уже защищенных другими средствами — магнитными картами или иными программными средствами, типа шифрования, что в еще большей степени повышает уровень защиты от несанкционированного доступа.
До настоящего времени единственным средством защиты компьютерной сети от несанкционированного доступа была парольная система. При стандартной процедуре входа в сеть каждый пользователь должен знать свое сетевое имя и сетевой пароль. Администратор, назначающий эти атрибуты, как правило, не применяет случайных или плохо запоминаемых последовательностей символов, поскольку это может привести к тому, что сетевое имя и пароль могут быть записаны на какой-либо носитель (бумагу, дискету и т. п.), что может привести к утечке секретного пароля и имени пользователя.
Пароли, как правило, рассматриваются в качестве ключей для входа в систему, но они используются и для других целей: блокирование записи на дисковод, в командах на шифрование данных, то есть во всех тех случаях, когда требуется твердая уверенность, что так действовать будут только законные владельцы или пользователи программного обеспечения.
И по сей день во многих случаях для злоумышленника основным (иногда единственным) защитным рубежом против атак в компьютерной сети остается система парольной защиты, которая есть во всех современных операционных системах. В соответствии с установившейся практикой перед началом сеанса работы с операционной системой пользователь обязан зарегистрироваться, сообщив ей свое имя и пароль. Имя нужно операционной системе для идентификации пользователя, а пароль служит подтверждением правильности произведенной идентификации. Информация, введенная пользователем в диалоговом режиме, сравнивается с той, которая имеется в распоряжении операционной системы. Если проверка дает положительный результат, то пользователю будут доступны все ресурсы операционной системы, связанные с его именем.
Трудно представить, что сегодня какому-нибудь злоумышленнику может прийти в голову шальная мысль о том, чтобы попытаться подобрать имя и пароль для входа в операционную систему, по очереди перебирая в уме, все возможные варианты и вводя их с клавиатуры. Скорость такого подбора пароля будет чрезвычайно низкой, тем более, что в операционных системах с хорошо продуманной парольной защитой количество подряд идущих повторных вводов конкретного пользовательского имени и соответствующего ему пароля всегда можно ограничить двумя-тремя и сделать так, что если это число будет превышено, то вход в систему с использованием данного имени блокируется в течение фиксированного периода времени или до прихода системного администратора.
Поэтому чаще используют более опасный и гораздо более эффективный метод взлома парольной защиты операционной системы, при использовании которого атаке подвергается системный файл, содержащий информацию о ее легальных пользователях и их паролях.
Однако любая современная операционная система надежно защищает пользовательские пароли, которые хранятся в этом файле при помощи шифрования. Доступ к таким файлам по умолчанию запрещен, как правило, даже для системных администраторов, не говоря уже о рядовых пользователях. Иногда злоумышленнику удается путем различных ухищрений получить в свое распоряжение файл с именами пользователей и их зашифрованными паролями. И тогда ему на помощь приходят специализированные программы — парольные взломщики, которые и служат для взлома паролей операционных систем. Как же действуют эти программы?
Криптографические алгоритмы, применяемые для шифрования паролей пользователей в современных операционных системах, в подавляющем большинстве случаев слишком стойкие для того, чтобы можно было надеяться отыскать методы их дешифровки, которые окажутся более эффективными, чем тривиальный перебор возможных вариантов. Поэтому парольные взломщики иногда просто шифруют все пароли с использованием того же самого криптографического алгоритма, который применяется для их засекречивания в атакуемой операционной системе, и сравнивают результаты шифрования с тем, что записано в системном файле, где находятся шифрованные пароли ее пользователей. При этом в качестве вариантов паролей парольные взломщики используют символьные последовательности, автоматически генерируемые из некоторого набора символов. Данным способом можно взломать все пароли, если известно их представление в зашифрованном виде, и они содержат только символы из этого набора. Максимальное время, требуемое для взлома пароля, зависит от числа символов в наборе, предельной длины пароля и от производительности компьютера, на котором производится взлом ее парольной защиты (зависит от операционной системы и быстродействия).
С увеличением числа символов в исходном наборе, число перебираемых комбинаций растет экспоненциально, поэтому такие атаки парольной защиты операционной системы могут занимать слишком много времени. Однако хорошо известно, что большинство пользователей операционных систем не затрудняют себя выбором стойких паролей (т. е. таких, которые трудно взломать). Поэтому для более эффективного подбора паролей парольные взломщики обычно используют так называемые словари, представляющие собой заранее сформированный список слов, наиболее часто применяемых в качестве паролей.
Для каждого слова из словаря парольный взломщик использует одно или несколько правил. В соответствии с этими правилами слово изменяется и порождает дополнительное множество опробуемых паролей. Производится попеременное изменение буквенного регистра, в котором набрано слово, порядок следования букв в слове меняется на обратный, в начало ив конец каждого слова приписывается цифра 1, некоторые буквы заменяются на близкие по начертанию цифры (в результате, например, из слова password получается pa55wOrd). Это повышает вероятность подбора пароля, поскольку в современных операционных системах, как правило, различаются пароли, набранные прописными и строчными буквами, а пользователям этих систем настоятельно рекомендуется выбирать пароли, в которых буквы чередуются с цифрами.
Противостоять таким атакам можно лишь в том случае, если использовать стойкие к взлому пароли. Перед тем как ответить на вопрос «Как правильно выбрать пароль?», рассмотрим, какие же пароли используются вообще.
Пароли можно подразделить на семь основных групп:
– пароли, устанавливаемые пользователем;
– пароли, генерируемые системой;
– случайные коды доступа, генерируемые системой;
– полуслова;
– ключевые фразы;
– интерактивные последовательности типа «вопрос-ответ»;
– «строгие» пароли.
Первая группа наиболее распространена. Большинство таких паролей относятся к типу «выбери сам». Для лучшей зашиты от несанкционированного доступа необходимо использовать достаточно длинный пароль, поэтому обычно система запрашивает пароль, содержащий не менее четырех-пяти букв. Существуют также и другие меры, не позволяющие пользователю создать неудачный пароль. Например, система может настаивать на том, чтобы пароль включал в себя строчные и прописные буквы вперемешку с цифрами; заведомо очевидные пароли, например, internet, ею отвергаются. В разных операционных системах существует немало программ, которые просматривают файлы, содержащие пароли, анализируют пароли пользователей и определяют, насколько они секретны. Неподходящие пароли заменяются.
Когда человек впервые загружает компьютер, и тот запрашивает у него пароль, этот пароль наверняка окажется вариантом одной из общих и актуальных для всех тем — особенно если у пользователя не хватает времени. Не считая гениев и безнадежных тупиц, все люди, когда надо принимать быстрые решения, мыслят и действуют примерно одинаково. И пользователи выдают первое, что приходит им в голову. А в голову приходит то, что они видят или слышат в данный момент, либо то, что собираются сделать сразу же после загрузки. В результате пароль создается в спешке, а последующая его замена на более надежный происходит достаточно редко. Таким образом, многие пароли, созданные пользователями, можно раскрыть достаточно быстро.
Случайные пароли и коды, устанавливаемые системой, бывают нескольких разновидностей. Системное программное обеспечение может использовать полностью случайную последовательность символов, вплоть до случайного выбора регистров, цифр, пунктуации длины; или же использовать ограничения в генерирующих процедурах. Создаваемые компьютером пароли могут также случайным образом извлекаться из списка обычных или ничего не значащих слов, созданных авторами программы, которые образуют пароли вроде onah.foopn, или ocar-back-tfeen.
Полуслова частично создаются пользователем, а частично — каким-либо случайным процессом. Это значит, что если даже пользователь придумает легко угадываемый пароль, например, «абзац», компьютер дополнит его какой-нибудь неразберихой, образовав более сложный пароль типа «абзац,3ю37».
Ключевые фразы хороши тем, что они длинные и их трудно угадать, зато легко запомнить. Фразы могут быть осмысленными, типа «мы были обеспокоены этим» или не иметь смысла, например, «ловящий рыбу нос». Следует заметить, что в программировании постепенно намечается тенденция к переходу на более широкое применение ключевых фраз. К концепции ключевых фраз близка концепция кодового акронима, который эксперты по защите оценивают как короткую, но идеально безопасную форму пароля. В акрониме пользователь берет легко запоминающееся предложение, фразу, строчку из стихотворения и т. п., и использует первые буквы каждого слова в качестве пароля. Например, акронимами двух приведенных выше фраз являются «мбоэ» и «лрн». Подобные нововведения в теории паролей значительно затрудняют занятия электронным шпионажем.
Интерактивные последовательности «вопрос- ответ», предлагают пользователю ответить на несколько вопросов, как правило, личного плана: «Девичья фамилия вашей матери?», «Ваш любимый цвет?», и т. д. В компьютере хранятся ответы на множество таких вопросов. При входе пользователя в систему компьютер сравнивает полученные ответы с «правильными». Системы с использованием «вопрос- ответ» склонны прерывать работу пользователя каждые десять минут, предлагая отвечать на вопросы, чтобы подтвердить его право пользоваться системой. В настоящее время такие пароли почти не применяются. Когда их придумали, идея казалась неплохой, но раздражающий фактор прерывания привел к тому, что данный метод практически исчез из обихода.
«Строгие» пароли обычно используются совместно с каким-нибудь внешним электронным или механическим устройством. В этом случае компьютер обычно с простодушным коварством предлагает несколько вариантов приглашений, а пользователь должен дать на них подходящие ответы. Пароли этого типа часто встречаются в системах с одноразовыми кодами.
Одноразовые коды — это пароли, которые срабатывают только один раз. К ним иногда прибегают, создавая временную копию для гостей, чтобы продемонстрировать потенциальным клиентам возможности системы. Они также порой применяются при первом вхождении пользователя в систему. Во время первого сеанса пользователь вводит свой собственный пароль и в дальнейшем входит в систему лишь через него. Одноразовые коды могут также применяться в системе, когда действительный пользователь входит в нее в первый раз; затем вам следует поменять свой пароль на более секретный персональный код. В случаях, когда системой пользуется группа людей, но при этом нельзя нарушать секретность, прибегают к списку одноразовых кодов. Тот или иной пользователь вводит код, соответствующий 'времени, дате или дню недели.
Итак, для того чтобы пароль был действительно надежен, он должен отвечать определенным требованиям:
– быть определенной длины;
– включать в себя прописные и строчные буквы;
– включать в себя одну и более цифр;
– включать в себя один нецифровой и один неалфавитный символ.
Одно или несколько из этих правил должны обязательно соблюдаться. Необходимо помнить, что пароль — это самая слабая часть любой системы защиты данных, какой бы изощренной и надежной она ни была. Именно поэтому его выбору и хранению надо уделить должное внимание. Не стоит обольщаться и тешиться своей безопасностью при работе с Windows 95/98, если видите, в каком-либо диалоговом окне ваш пароль, скрытый звездочками — это защита «от дурака». С помощью крохотной программы можно посмотреть скрытый звездочками пароль, всего лишь установив курсор мыши на диалоговое окно.
Защита сети от НСД с помощью аппаратно-программных средств
С распространением Internet, электронной коммерции и удаленного доступа появляется все больше разнообразных идентификационных устройств. Положительной стороной данного процесса является то, что эти устройства становятся более доступными по цене, удобными в инсталляций, реализации и простыми в обращении. Это, конечно, прекрасно с точки зрения защиты, но не так уж замечательно с точки зрения администрирования. Изобилие подобных устройств означает, что администратору сети придется «дирижировать» еще большим числом компонентов.
Действенным способом, делающим вход в сеть более корректным (по соображениям защиты от несанкционированного доступа), является возможность избавления пользователя от обязанности запоминания перечисленных выше атрибутов. Имя и пароль могут быть записаны в память специального носителя информации — ключа-идентификатора, в качестве которого применяют, например, интеллектуальные (микропроцессорные) карты или жетоны. В процессе запуска или работы защищаемое программное приложение сверяет этот особый ключ с эталонным. В случае совпадения ключей программа функционирует в заданном режиме, если нет — прекращается выполнение операций в программе.
Несколько лет тому назад в качестве особого ключа защиты использовались некопируемая ключевая дискета или уникальные характеристики компьютера. В настоящее время для этих целей применяют более современные и удобные устройства — электронные ключи, позволяющие решать задачи обеспечения информационной безопасности на любом программно-аппаратном уровне. При этом электронные ключи могут иметь различные характеристики, содержать перезаписываемую энергонезависимую память (EEPROM) и генерировать защитную функцию F(x). Встроенная в программу система защиты получает через ключ информацию, которая используется для аутентификации пользователя и определения набора доступных функции.
Электронные ключи имеют ряд достоинств:
– программа или база данных привязаны не к компьютеру, а к ключу, через который пользователь получает доступ к данным;
– при запуске защищенная программа проверяется на наличие вирусов и несанкционированных изменений;
– в процессе работы пользователи имеют возможность получать новые версии про-грамм при перепрограммировании ключей соответствующими администраторами.
Важнейшей частью системы защиты с использованием электронных ключей является ее программный компонент. Как правила, он включает в себя:
– защитный «конверт» (Envelope);
– библиотечные функции обращения к ключу API (Applications Program Interlace).
Каждый из этих способов обеспечения безопасности имеет свое назначение, но в идеале они должны применяться совместно. Системы автоматической защиты (рис. 3.14) предназначены для защиты уже готовых приложений без вмешательства в исходный код программы. Таким образом обеспечивается сохранность СОМ-, ЕХЕ-файлов, библиотеки DLL. Для встраивания дополнительного модуля внутрь используется «вирусная» технология вживления и перехвата на себя управления после загрузки.
При использовании «конверта» тело программы шифруется, в нее встраивается дополнительный модуль, который в момент запуска берет управление на себя. После отработки специальных антиотладочных и антитрассировочных механизмов выполняются следующие действия:
– проверка наличия «своего» электронного ключа и считывание из него требуемых параметров;
– анализ «ключевых» условий и выработка решения.
Для защиты от аппаратной или программной эмуляции обмен между «конвертом» и электронным ключом выполняется с использованием зашумленного изменяющегося во времени («плавающего») протокола.
Некоторые «конверты» обеспечивают фоновые проверки ключа в процессе работы приложения, так что перенести ключ на другой компьютер после того как защищенная программа запущена, невозможно.
Функции API предназначены для выполнения низкоуровневых операций с ключом, простейшая из которых — проверка наличия ключа. Более сложные функции могут посылать ключу различные входные коды и получать от него ответные, которые затем поверяются на соответствие установленным значениям. Они также могут использоваться в каких-либо вычислительных операциях или при декодировании данных. Программа может обращаться к ключу из различных мест, а результаты могут быть разбросаны по телу программы и хорошо замаскированы.
Библиотеки функций API поставляются совместно с электронными ключами HASP (Hardware Adainst Software Piracy) для различных языков программирования, компиляторов и т. п.
В последнее время особую важность приобретает не столько защита кода программного продукта, сколько конфиденциальность содержащихся в нем данных (информационного наполнения).
Для защиты от несанкционированного доступа к программам и данным широко используются криптографические системы защиты. Одна из популярных систем защиты программ и данных — Professional ToolKit компании Aladdin Software Security. Эта система позволяет защищать методом прозрачного шифрования практически любые файлы данных: графические, текстовые, электронные таблицы и т. п. Метод прозрачного шифрования осуществляется в среде Windows 95 с помощью электронных ключей HASP — алгоритмы кодирования/декодирования IDEA (International Data Encryption Algorithm); длина ключа — 128 бит.
Система не имеет ограничений по количеству открытых файлов и числу приложений, работающих с защищенной информацией. Внутренние процедуры шифрования драйвера используют данные, содержащиеся в памяти ключа HASP (рис. 3.15), поэтому доступ к зашифрованным файлам без него невозможен. Система поддерживает электронные ключи типа MemoHASP, TimeHASP и NetHASP, причем каждый экземпляр системы работает с одной серией ключей.
«Интеллектуальные» и физические возможности ключа в основном определяются базой на которой он собран. Сердцем ключа HASP является «заказной» ASIC-чип (Application Specific Integrated). Логику его функционирования практически невозможно реализовать с помощью стандартных наборов микросхем.
Ключ HASP позволяет использовать функцию Y = F(X), где X — посылаемое в ключ целое число в диапазоне от 0 до 65 535» a Y — возвращаемые ключом четыре целых числа из того же диапазона, уникальных для каждой серии. Использование механизма генерации чисел качественно усложняет задачу взлома, так как ключевая информация (пароли, шифровальные ключи, часть самого кода и т. п.) не хранится ни в теле программы, ни в памяти ключа ни в открытом, ни в зашифрованном виде. Существует несколько модификаций ключей HASP:
– MemoHASP — ключ с внутренней энергонезависимой памятью до 4 кбит, доступной для чтения и записи; подключается к параллельному порту;
– TimeHASP — содержит встроенные часы с автономным питанием и память до 496 байт; может использоваться для подготовки учебной или демонстрационной версии программы (ограниченный срок работы), для сдачи программы в аренду или в лизинг для периодического сбора абонентской платы;
– MacHASP — микропроцессорные ключи для защиты приложений под Macintosh;
– NetHASP — ключ для защиты сетевых приложений; предотвращает не только нелегальное тиражирование сетевых программ, но и позволяет контролировать и ограничивать количество пользователей, одновременно работающих с защищенной программой в сети;
– HASP-Card — специальная плата, встраиваемая в стандартный слот компьютера, функционирует как дополнительный свободный параллельный порт; к ней может быть подключено несколько ключей HASP или ключей других типов;
– OpenHASP — микропроцессорные ключи с памятью; предназначены для защиты платформонезависимых приложений, функционирующих на рабочих станциях;
– PC-CardASP — модификация ключей HASP для компьютеров типа notebook. Персональные компьютеры и микропроцессорные смарт-карты (smart-card) до недавнего времени имели не так уж много точек соприкосновения, так как развивались как бы в разных плоскостях.
Основными областями применения смарт-карт являются идентификация владельцев мобильных телефонов, банковские операции, электронные кошельки и розничные транзакции. Однако, как ожидается, этот перечень должен пополниться защитой сети и электронной коммерцией. Признаками этой нарождающейся тенденции может служить поддержка смарт-карт в Windows 2000.
Характерная особенность таких карт — встроенный недорогой, но достаточно производительный микропроцессор. В итоге появляются возможности реализации на уровне пластиковой карты оперативных вычислений, обеспечения надлежащего уровня конфиденциальности и сохранности данных в блоках памяти, а также применения аппаратных методов шифрования. На одной и той же карте может быть реализовано сразу несколько ключей (полномочий пользователя) к различным системным или сетевым ресурсам (рис. 3.16), причем в каждом случае речь будет идти о соответствующих персональных идентификационных номерах.
Надежный контроль доступа и операций, совершаемых с различных рабочих мест, — проблема, весьма остро ощущаемая во многих областях и особенно в открытых компьютерных сетях. В идеале для защиты сетей и успешного и безопасного взаимодействии в рамках открытой сети лучше всего подходит реализация алгоритма шифрования данных с открытым ключом. Такие алгоритмы обеспечивают высокий уровень защиты передаваемых сообщений. При этом не представляет сложности процесс первичной генерации секретных ключей, а кроме того, не нужно ломать голову над тем, как безопасным способом сообщить свой секретный ключ другой стороне. Все участники сетевого общения, принявшие данный стандарт передачи сообщений, имеют возможность использовать его где и когда угодно, не боясь раскрытия каких-либо секретов.
В рамках такой технологии смарт-карта может выполнять роль криптопроцессора, генерирующего ключи, и применять самые различные алгоритмы шифрования: DES, «тройной DES», PGP, ГОСТ 28147-89 и т. п.
Среди множества компаний, выпускающих смарт-карты, выделяется RSA Security, чья смарт-карта SecurlD 3100 Smart Card поддерживает конфигурации с одним и двумя сертификатами и хранит мандаты пользователя. Карта может хранить два цифровых сертификата и регистрационную информацию о паролях пользователя.
Несмотря на все преимущества смарт-карт, их эффективность резко снижается без необходимого программного обеспечения. Карта SecurlD 3100 Smart Card работает с программным обеспечением управления ACE/Server компании RSA. Программное обеспечение служит для проверки и идентификации запросов и администрирования правил.
Пакет ActivCard Gold компании ActivCard включает смарт-карты, клиентское программное обеспечение и, по желанию, считыватель смарт-карт. С помощью этого идентификационного пакета для настольных систем пользователи могут локально зарегистрироваться в домене Windows NT, получить удаленный доступ, войти на корпоративный Web-сервер, а также поставить электронную подпись и зашифровать свою электронную почту.
В зависимости от вида сервиса доступ к нему может контролироваться с помощью фиксированных паролей, динамических паролей или цифровых сертификатов. Как было недавно объявлено, ActivCard Gold совместима с технологией PKI компании Baltimore Technologies.
Сматр-карты GemSAFE Enterprise компании GemPlus представляют собой комплект карт для реализации PKI. Клиенты получают такие возможности, как цифровая подпись на базе смарт-карт, а также шифрование электронной почты и файлов и поддержка хранения сертификатов X.509V3. Административные функции включают удаленную диагностику, управление картами (например, выпуск и аннулирование) и пользователями, генерацию и восстановление ключей, а также составление отчетов. Система предусматривает одноэтапный процесс персонали-зации карт.
Смарт-карта Model 33 PKI компании DataKey поддерживает 2084-разрядные ключи RSA и имеет память емкостью 32 кбайт. Она может использоваться для идентификации в Internet, Extranet и VPN. В карте применяется технология эллиптических кривых компании Certicom, благодаря которой длина ключей и объем вычислений оказываются меньше.
Кроме того, смарт-карты предлагают и другие производители: Cylink (PrivateCard), Spyms (Rosetta Smart Card), Card Logix (M.O.S.T.), а также CyberMark и Bull Worldwide; Information Systems.
На выставке CardTech SecurTech, которая проходила в Чикаго, фирма Publicard представила новую разработку — реализованную на базе смарт-карт систему проверки паролей и идентификаторов пользователей SmartPassky.
В основу новой системы была заложена идея хранения в одном месте (то есть на смарт-карте) всех паролей, секретных URL-адресов и идентификаторов активно работающего в сети пользователя.
Как заявил представитель фирмы, система на базе единственной смарт-карты, защищенной с помощью одного основного ключа, представляет собой компактное и надежное средство доступа, сочетающее эти свойства с простотой использования закладок Web-браузера.
Когда смарт-карта вставляется в подключаемое к персональному компьютеру специальное считывающее устройство, SmartPassky выдает запрос на ввод кода доступа пользователя Internet. После ввода кода перед пользователем отображается заранее сформированный список защищенных URL-адресов. После выбора нужного Web-адреса SmartPassky инициирует процедуру регистрации выбранного узла и автоматически «вводит» идентификатор и пароль пользователя. Для завершения процедуры пользователю остается лишь щелкнуть на соответствующем поле на экране регистрации.
Кроме смарт-карт, в качестве персонального идентификатора в системах ограничения доступа используются электронные ключи-жетоны, поддерживающие контактную или бесконтактную технологию.
Жетоны представлены множеством разновидностей, отличающихся по форме и дизайну. В зависимости от таких факторов, как требования к защите, состав пользователей и потребность в масштабировании, они могут оказаться более предпочтительным решением, чем смарт-карты. Жетоны бывают как аппаратные, так и программные.
К числу производителей жетонов принадлежит компания Secure Computing. Она выпускает устройство в формате для связки ключей Safe Word Silver 2000 и Safe Word Platinum Card. Устройство поддерживает статические и динамические пароли и различные платформы, такие, как Windows NT, Linux, Solaris и HP-UX. Через агентов Safe Word устройства могут также взаимодействовать с Citrix WinFrame и MetaFrame, Internet Information Server (US), NT RAS, Netscape Enterprise Server и доменами NT. Secure Computing имеет также агентов Safe Word для персональных цифровых секретарей Palm и мобильных телефонов компании Ericsson.
Продукт Luna САз на базе PKI компании Chrysalis-ITS обеспечивает аппаратную защиту основного ключа (root-keyprotection). Генерация, хранение, резервирование, подпись и удаление ключей доверяются сертификационным сервером (Certificate Authority, CA) уполномоченному жетону. Luna Key Cloning производит резервное копирование зашифрованных цифровых ключей с одного жетона на другой, a Luna PED обеспечивает доступ через устройство ввода персонального идентификационного кода PIN (Personal Identification Number).
Программы управления жетонами CryptoAdmin обеспечивают централизованную идентификацию и децентрализованное администрирование жетонов.
Продукты Digipass компании Vasco Data Security включают жетоны на базе карт, устройства в стиле калькуляторов и устройство для идентификации с использованием радиопередачи или идентификационных карт для контроля за физическим доступом и входом в сеть.
Сервер контроля доступа Vacman Optimum обеспечивает программирование/перепрограммирование устройств, а также управление кодами PIN. Кроме того, пакет включает Vacman Programmer 1.0, несколько устройств Digipass и Administrator
Digipass.
Другой продукт, где используются радиоволны, — VicinID Card компании First Access. Система включает датчики Vicinity Sensor, устанавливаемые на каждой рабочей станции, и программное обеспечение. VicinID Server идентифицирует пользователей, имеющих с собой карту, и предоставляет или запрещает им доступ к конкретной рабочей станции в зависимости от их профиля доступа. Кроме того, продукт поддерживает так называемую непрерывную идентификацию, т. е. постоянно следит за тем, что рабочей станцией пользуются те, кто имеет на это право.
В качестве недорого и эффективного персонального идентификатора в системах ограничения доступа используются электронные жетоны Touch Memory (iButton) — специализированные высоконадежные приборы производстна фирмы Dallas Semiconductor Inc. (США). С начала 1997 года Dallas Semiconductor заявила о смене названия всех своих идентификационных ключей с Touch Memory на iButton (Information Button — Таблетка с информацией), как более общее и охватывающее весь ряд изделий в настоящем и в будущем. Они представляют собой микросхему, размещенную в прочном корпусе из нержавеющей стали, по размерам и форме напоминающем элемент питания от электронных часов (рис. 3.17). Металл представляет собой нержавеющую сталь. Диаметр диска около 17 мм, толщина 3,1 мм или 5,89 мм. Диск состоит из двух электрически разъединенных половинок. Внутри он полый. В герметичную полость заключена электронная схема на кремниевом кристалле. Выход схемы соединен с половинками диска двумя проводниками. Половинки диска образуют контактную часть однопроводного последовательного порта. При этом через центральную часть идет линия данных, внешняя оболочка — земля. Для того чтобы произошел обмен информации iButton с внешними устройствами, необходимо прикоснуться обеими поверхностями половинок металлического диска к контактному устройству (зонду), также состоящему из двух электрически не связанных, проводящих электрический ток частей.
Большая площадь поверхности контактов защищает систему от неточного совмещения при подключении по причине «человеческого фактора» или при автоматизированном касании, когда идентификатор и зонд расположены на различных подвижных механизмах. Кроме того, дисковая форма корпуса направляет и очищает контакты, гарантируя надежное соединения, а закругленный край корпуса легко совмещается с зондом. Считыватель электронных жетонов iButton представлен на рис. 3.18.
Вход на рабочие станции и локальные вычислительные сети осуществляется при касании считывающего устройства зарегистрированной электронной карточкой Touch Memory и вводом с нее пароля и имени пользователя. В памяти Touch Memory (iButton), применяющейся для входа в сеть, записано 64 символа сетевого имени и 64 символа сетевого пароля. Эти значения генерируются датчиком псевдослучайных чисел, зашифровываются и записываются в iButton, оставаясь неизвестными даже пользователю. Корректность выполнения процедуры регистрации пользователя в сети обеспечивается передачей управления стандартным сетевым средствам после аутентификации пользователя. Кроме применения электронной карты, для более жесткого контроля входа в сеть пользователь вводит личный секретный пароль. Изделие этого ряда DS1954 имеет внутри своего корпуса специальный микропроцессор для шифрования информации.
Модель DS 1957B iButton имеет память, которой достаточно для хранения всех данных о личности владельца. Она работает и как обычный дверной ключ, который прикладывается к двери и открывает электронный замок, и как компьютерный ключ для входа в защищенную компьютерную сеть и удостоверения подлинности электронной подписи.
В ключе использованы 1ауа-технологии4 Оперативная память устройства — 134 кбайт, ПЗУ — 64 кбайт. В компьютере-ключе могут храниться свыше 30 сертификатов с 1042-битными ключами наиболее часто используемого стандарта ISO X.509v3. Также в памяти суперключа может содержаться несколько сотен имен пользователя с соответствующими паролями, фотография, идентифицирующая владельца, данные о пользователе, которые обычно применяются для заполнения форм в Internet (например, при совершении покупок в онлайн-магазинах), электронная подпись владельца и биометрические данные (к примеру, отпечатки пальцев)
При попытке взлома на уровне данных доступ к информации о пользователе будет блокирован встроенным защитным программным обеспечением. Если ключик будут пытаться вскрыть физически, он получит сигнал о попытке вмешательства и сотрет всю информацию прежде, чем она попадет в руки взломщикам.
Все чаще для защиты от несанкционированного доступа стали применять программно-аппаратные комплексы, которыми могут быть оснащены рабочие станции компьютерной сети и автономные компьютеры. В качестве примера рассмотрим комплексы защиты типа DALLAS LOCK.
Комплекс защиты DALLAS LOCK предназначен для исключения несанкционированного доступа к ресурсам компьютера и разграничения полномочий пользователей, а также для повышения надежности защиты входа в локальную сеть. Для идентификации пользователей служат электронные карты Touch Memory и личные пароли.
Программно-аппаратный комплекс DALLAS LOCK for Administrator предназначен для работы в вычислительных сетях совместно с комплексом DALLAS LOCK и представляет собой автоматизированное рабочее место администратора безопасности. Все модификации комплекса DALLAS LOCK возможно применять для защиты бездисковых рабочих станций локальной вычислительной сети. Эти комплексы можно использовать с различными операционными системами.
Запрос идентификатора при входе на персональный компьютер инициируется из ПЗУ на плате защиты до загрузки операционной системы, которая осуществляется только после предъявления зарегистрированного идентификатора (электронной карты) и вводе личного пароля. Поскольку идентификатор и пароль запрашиваются до обращения к дисководам, возможность загрузки с системной дискеты полностью исключена.
При инсталляции комплекса на жесткий диск обеспечивается гибкая настройка аппаратной части путем предварительного выбора адресного пространства ПЗУ платы защиты в свободной области адресов пользовательского BIOS, а также номера порта для работы с картой.
Поддерживается работа до 32 зарегистрированных пользователей на каждом компьютере, причем каждый из них может быть зарегистрирован на нескольких персональных компьютерах с разными полномочиями. Данные о пользователях хранятся в энергонезависимой памяти на плате защиты.
Энергонезависимая память платы защиты содержит образ системных областей компьютера, что позволяет контролировать их целостность.
Разграничение доступа пользователей возможно как по отношению к внешним устройствам (дисководам, LPT- и СОМ-портам), логическим дискам винчестера и таймеру, так и по времени .работы на компьютере. Для каждого пользователя можно назначить свои права и уровни доступа к:
– системному диску С: (полный доступ; только для чтения);
– остальным логическим дискам винчестера (полный доступ; нет доступа; только для чтения);
– дисководам А: и В: (полный доступ; нет доступа; только для чтения);
– LPT- и СОМ-портам (полный доступ; нет доступа).
Время начала и окончания работы каждого пользователя на компьютере устанавливается администратором в пределах суток. Интервал времени, в течение которого пользователь может работать на компьютере со своими правами, может быть установлен от 1 минуты до 23 час. 59 мин (т. е. круглосуточно). Для предупреждения пользователя об истечении отведенного времени работы предусмотрен режим «будильника». За 5 мин до окончания сеанса работы пользователя выдается прерывистый звуковой сигнал. В пределах оставшихся 5 мин пользователь сможет закончить работу, после чего компьютер будет заблокирован. Предусмотрен режим защиты таймера от изменения системного времени.
При регистрации идентификатора комплекс создает для каждого пользователя индивидуальный файл AUTOEXEC, который запустится после загрузки компьютера пользователем с данной картой.
При выполнении процедуры входа на компьютер комплекс анализирует электронную карту и личный пароль пользователя. При этом в электронном журнале фиксируются номер предъявленной карты, имя пользователя, дата, время попытки «входа» и результат попытки (проход — отказ в доступе), а также причина отказа в загрузке компьютера в случае неудачи. В электронных журналах фиксируются действия пользователей по работе с файлами на дисках. Электронные журналы доступны только администратору. Пользователи могут самостоятельно менять личные пароли для входа на компьютер и для доступа к индивидуальным зашифрованным дискам винчестера.
Для усиления защиты информации на компьютере администратор может для всех или некоторых пользователей включать режим принудительной смены пароля входа. Пользователь будет вынужден сменить пароль входа после загрузки компьютера установленного числа раз.
Доступ к электронным журналам рабочих станций администратор безопасности получает на своем рабочем месте. Для передачи данных используются протоколы IPX, что позволяет размещать защищенные станции в различных сегментах (рис. 3.19).
Со своего рабочего места администратор получает список активных станций в сети, выбирает любую из них и запрашивает любой из журналов. После установления соединения журнал автоматически переписывается на диск компьютера администратора и обнуляется на рабочей станции. Данные из журналов могут быть выведены в файл или на печать. В случае необходимости оперативного получения информации о событиях, происходящих на рабочей станции, администратор безопасности может негласно просматривать содержание ее экрана. Ему предоставляется возможность установить для любого пользователя режим полного стирания информации из памяти и с носителей при удалении файлов.
Комплекс DALLAS LOCK может быть установлен на любой IBM-совместимый компьютер, работающий автономно или в качестве рабочей станции локальной вычислительной сети. Для размещения файлов и работы комплекса требуется до 3 Мбайт пространства на системном разделе С: жесткого диска. ПЗУ платы защиты занимает 8 Кбайт в области памяти пользовательских BIOS.
Для создания на винчестере дополнительных зашифрованных индивидуальных дисков каждому пользователю на системном разделе С: необходимо предусмотреть пространство, равное суммарной емкости этих дисков. Максимальный объем каждого диска — 32 Мбайт.
8. МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ ОТ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
При работе в сети Internet персональный компьютер подвергается постоянной опасности заражения компьютерными вирусами при получении как исполняемых (программных), так и документальных файлов. Особенно это опасно, если компьютер является рабочей станцией компьютерной сети. В этих условиях ущерб, нанесенный вредоносным программным обеспечением, может быть максимальным. С программными файлами можно получить загрузочные, полиморфные, шифрованные стелс-вирусы, с офисными документами возможно получение различных макровирусов.
Современный хакерский инструментарий настолько автоматизирован, что даже люди, не очень сведущие в сетевых и коммуникационных технологиях, могут без труда воспользоваться ими. В результате сетевые администраторы проявляют интерес к любым системам обеспечения информационной безопасности, которые попадают в их поле зрения.
Корпоративная сеть сегодня — настоящее богатство для любой компании, а ее администратор волей-неволей становится своего рода щитом, защищающим неприкосновенность этого богатства. Какие же меры позволяют повысить безопасность охраняемой территории? Конечно же, использование специального программного обеспечения, предназначенного для защиты компьютеров и сетей от вирусов, программных закладок, «дыр» и т. д.
Сегодня на рынке уже присутствуют изощренные средства обнаружения незваных гостей, стремящихся незаконно проникнуть в ваши сетевые владения. Однако такие средства нельзя воспринимать как законченные решения в области информационной безопасности. Они скорее являются еще одним интеллектуальным инструментом, помогающим реализовать стратегию защиты корпоративной сети наряду с другими компонентами вроде антивирусных приложений. В частности, система обнаружения сетевых атак позволяет провести мониторинг сетевой активности и выявить наиболее уязвимые места в сети или на отдельных хост-компьютерах. Более того, разные продукты данной категории неэквивалентны по функциональным возможностям. Вот почему крупные компании, серьезно беспокоящиеся о защите своих коммуникационных и информационных ресурсов, устанавливают сразу несколько детектирующих систем. Но наличие уже одного подобного продукта заметно повышает степень защищенности вашей организации по сравнению с той, которая была до начала его использования.
При существующем многообразии вирусов и их мутаций предотвратить заражение может только полнофункциональная антивирусная система, имеющая в своем арсенале все известные технологии борьбы с «инфекционными болезнями»: не только сканер-полифаг, но и резидентный on-line-монитор, средства контроля программной целостности (CRC) и эвристического поиска вирусных сигнатур.
Каждый новый вирус необходимо обнаружить как можно быстрее (а некоторые вирусы намеренно долго себя не проявляют, чтобы у них было достаточно времени на распространение). Проблема в том, что нет четкого способа определить заранее, что при своем выполнении данная программа проявит вирусоподобное поведение. Как нет единого лекарства от всех болезней, так нет универсальной «вакцины» от всех видов вредоносного программного обеспечения. На все 100% защититься от вирусов практически невозможно (подразумевается, что пользователь меняется дискетами с друзьями и играет в игры, а также получает информацию из других источников» например из сетей). Если же не вносить информацию в компьютер извне (изолированный компьютер), заразить его вирусом невозможно — сам он не родится. Но в наше время это достаточно сложно. Поэтому, чтобы сталкиваться с вирусами как можно реже или, по крайней мере, только сталкиваться, не допуская их на жесткий диск своего винчестера, нужно соблюдать самые элементарные правила «компьютерной гигиены»: проверка дискет, содержимого CD-дисков на наличие вирусов самыми надежными антивирусными и постоянно обновляемыми программами.
В отличие от одиночного пользователя, проблема, которую решают специалисты, отвечающие за обеспечение антивирусной безопасности в крупных организациях, на самый поверхностный взгляд выглядит следующим образом: обеспечить максимальную антивирусную защиту при минимальных затратах. Ну а если взглянуть внимательнее, то открывается громадный перечень практических, экономических и организационных вопросов, которые рано или поздно встают перед специалистом. Такими стратегическими вопросами являются:
– что дешевле: предотвратить заражение или лечить?
– как оценить допустимые затраты на обеспечение антивирусной безопасности?
– что является объектом защиты?
– какова требуемая степень защищенности?
– как организовать защиту?
В настоящее время уровень экономически допустимых затрат на приобретение и внедрение антивирусной системы оценивается в размере 5—10% от потенциальных потерь от вирусной атаки.
Риск появления в системе какой-нибудь пакости возрастает с каждым днем. На самом деле важно не количество различных вирусов, а степень их распространения. Вирус, обнаруженный где-то далеко, в одной-единственной компании, вряд ли заставит сетевых менеджеров не спать по ночам. Совсем иное дело те программы, которые распространяются через Internet. Когда в мае 2000 года появился вирус LoveLetter, в течение одного месяца было выявлено более 23 тыс. заражений этим вирусом. А уже в декабре их число превысило 100 тыс.
Согласно отчетам компании Trend Micro, корпоративные пользователи постоянно сталкиваются с фактами, проникновения вирусов в свои сети (табл. 3.4).
Таблица 3.4, Вирусы, которые тревожат корпоративных пользователей
10 наиболее распространенных вирусов «In-the-Wild»
10 вирусов, которые наиболее тревожат корпоративных пользователей
10 наиболее распространенных вирусов на начало 2001 года
TROJ_MTX.A
VBS_KAKWORM.A
VBS_KAKWORM.A
TRCXLHYBRIS.B
TRQJJYITX.A
TROJ_PRETTY_PARK
VBS.KAKWORM.A
JOKE_WOW
TROLSKA
TROJ_HYBRIS.A
W97M_ASSILEM.B (Melissa)
VBS_LOVELETTER
TROJ_BYMER
TROJ_HYBRIS.B
PE_C1H
TROJJ4AVIDAD.E
JOKE_BURPER
W97M_MELISSA
TROJ_PRETTY_PARK
TROJ_BYMER
troj_mtx.a
TROJ_CLICK
VBS_LOVELETTER
TROLQAZ.A
TROJ_HYBRIS.D
W97M_THUS
W97NLETHAN.A
TROJ_SUB7.BONUS
TRQJ_PRETTY_PARK
097M_TRISTATE
Приведем некоторые описания вирусов, которые нанесли наиболее существенный ущерб корпоративным заказчикам в последнее время.
Вирус, который был недавно обнаружен несколькими пользователями Internet, — PE_FUNLOVE.4099 — это далеко не новый резидентный вирус под Windows. Он инфицирует файлы как на локальных дисках, так и на дисках, доступных по сети. При запуске инфицированного файла вирус PE_FUNLOVE.4099 записывает файл FLCSS.EXE в системный каталог Windows и пытается заразить все файлы с расширениями EXE, OCX и SCR. На системах Windows МТндарус PE_FUNLOVE.4099 пытается изменить файлы NTLDR и NTOSKRNL.EXE с целью дать всем пользователям права администратора. Это происходит после перезагрузки системы после того, как пользователь с правами администратора зайдет в систему.
Новый вирус TROJ_NAVIDAD.E — это вариант вируса TROJ_NAVIDAD.A, который был впервые обнаружен в ноябре 2000 года. Оригинальный TROJ_NAVIDAD.A содержит ошибку, приводящую к тому, что при запуске ЕХЕ-файла выводится сообщение об ошибке. В новом вирусе этот недостаток исправлен, и он корректно инсталлируется в системе, после чего рассылает себя по адресам из адресной книги инфицированного пользователя в виде присоединенного файла EMANUEL.EXE. Несмотря на то что TROJ_NAV1DAD.E был обнаружен в декабре 2000 года, он продолжает распространяться.
Деструктивный вирус PE_KRIZ.4050, обнаруженный in-the-wfld, — это старый 32-битный вирус под Windows, снова был недавно обнаружен во многих странах. Так же как несколько других старых вирусов, PE_KRIZ.4050 смог вернуться, так как был выпущен по ошибке в патче к компьютерной игре. Вирус PE_KRIZ.4050 содержит деструктивную функцию, сходную с функцией вируса РЕ_С1Н, которая позволяет ему изменять данные в CMOS и обнулять BIOS.
Новое семейство червей — VBSJFUNNY, написанных на Visual Basic Script, было недавно обнаружено в Европе. При запуске эти черви ищут определенный ключ в реестре, и если его нет, то они рассылают по почте сообщения по всем адресам из адресной книги Microsoft Outlook с присоединенным к ним вирусом. Если указанный ключ найден, то черви записывают на диск исполняемый файл (STARTX.EXE), который является известным троянцем, похищающим пароли.
Вирус VBS_COLOMBIA — это новая модификация вируса VBS_LOVELETTER. А, имеющего деструктивную функцию, нацеленную на файлы с расширениями VBS, VBE, JSE, CSS, WSH, SCT, .НТА, JPG, JPEG, МРЗ и МР2.
Учитывая разнообразие вредоносных программ, приходится прибегать к различным стратегиям для защиты сети от коварного и вероломного кода.
Целью антивирусной стратегии является эффективное предотвращение заражения вирусами информационной системы. Другими словами, не максимально быстрое обнаружение и удаление появляющихся вирусов, а создание условий, при которых уже само появление вируса на пользовательском компьютере или, еще хуже, на сервере будет рассматриваться как чрезвычайное происшествие. Поэтому в основе всей стратегии антивирусной безопасности любой фирмы должны лежать следующие разделы:
– политика антивирусной безопасности;
– план работ по обеспечению антивирусной безопасности;
– порядок действий в критических ситуациях.
Разумеется, каждая фирма работает с различным уровнем информационной безопасности и в разных условиях информационной среды. То, что совершенно неприемлемо, например, для банка (использование сотрудниками дискет, принесенных из дома), может являться нормой работы в редакции газеты или в агентстве новостей. Поэтому все элементы стратегии организации должны полностью соответствовать целям и задачам, решаемым ее информационной системой, и специфике тех условий, в которых она работает. Следовательно, и приобретаемая антивирусная система должна полностью отвечать требованиям принятой стратегии.
Антивирусное программное обеспечение
Начнем рассмотрение материала данного раздела со знакомства с принципами построения антивирусного программного обеспечения. Многие считают, что антивирусная программа — это противоядие от всех болезней и, запустив антивирусную программу или монитор, можно быть абсолютно уверенным в их надежности. Такая точка зрения в корне неверна. Дело в том, что антивирус — тоже программа, пусть даже написанная профессионалом высокого класса. Но эта программа способна распознавать и уничтожать только известные вирусы. Иными словами, антивирус против конкретного вируса можно написать только в том случае, когда у программиста есть хотя бы один экземпляр этого вируса.
Поэтому между авторами вирусов и антивирусов идет бесконечная «война». И хотя создателей вирусов гораздо больше, но у их противников есть преимущество! Дело в том, что существует большое количество вирусов, алгоритм которых практически скопирован с алгоритма других вирусов. Как правило, такие вариации создают непрофессиональные программисты, которые по каким-то причинам решили написать вирус. Для борьбы с такими «копиями» придумано новое оружие — эвристические анализаторы. С их помощью антивирус способен находить подобные аналоги известных вирусов, сообщая пользователю, что на его компьютере, похоже, завелся вирус. Естественно, надежность эвристического анализатора не 100%, но все же его коэффициент полезного действия больше 0,5. Таким образом, в этой информационной войне, как, впрочем, и в любой другой выживают сильнейшие. Вирусы, которые не распознаются антивирусными детекторами, способны написать только опытные и высококвалифицированные программисты.
Для организации эффективной антивирусной защиты необходимо наличие соответствующего антивирусного средства. Несмотря на все разнообразие современных антивирусных программных продуктов, принципы их работы одинаковы. К основным функциям современных антивирусов относятся:
– сканирование памяти и содержимого дисков по расписанию;
– сканирование памяти компьютера, а также записываемых и читаемых файлов в реальном режиме времени с помощью резидентного модуля;
– выборочное сканирование файлов с измененными атрибутами (размером, датой модификации, контрольной суммой и т. д.);
– сканирование архивных файлов;
– распознавание поведения, характерного для компьютерных вирусов;
– удаленная установка, настройка и администрирование антивирусных программ с консоли системного администратора; оповещение системного администратора о событиях, связанных с вирусными атаками, по электронной почте, пейджеру и т. д.;
– принудительная проверка подключенных к корпоративной сети компьютеров, инициируемая системным администратором;
– удаленное обновление антивирусного программного обеспечения и баз данных с информацией о вирусах, в том числе автоматическое обновление баз данных по вирусам посредством Internet;
– фильтрация трафика Internet на предмет выявления вирусов в программах и документах, передаваемых посредством протоколов SMTP, FTP, HTTP;
– выявление потенциально опасных Java-апплетов и модулей ActiveX;
– функционирование на различных серверных и клиентских платформах, а также в гетерогенных корпоративных сетях;
– ведение протоколов, содержащих информацию о событиях, касающихся антивирусной защиты.
В связи с тем, что одной из основных характеристик современных вирусных атак является их высокая скорость распространения и высокая частота появления новых атак, современное антивирусное программное обеспечение нужно обновлять как можно чаще, тем самым повышая качество защиты. Необходимо учитывать все актуальные на текущий момент времени вирусные угрозы. Но наличие антивирусного программного обеспечения — это обязательное, но не достаточное условие для отражения вирусной атаки. Мало иметь в своем распоряжении средство, следует продумать и методы его правильного использования. Защита от вирусов должна быть элементом политики безопасности, которую понимают и соблюдают все пользователи системы. В настоящее время обычная корпоративная компьютерная сеть отечественного заказчика включает в себя десятки и сотни рабочих станций, десятки серверов, разнообразное активное и пассивное телекоммуникационное оборудование и, как правило, имеет очень сложную структуру (рис. 36).
Стоимость обслуживания такой сети катастрофически растет вместе с ростом числа подключенных рабочих станций. Сейчас все только и говорят о том, как в данных условиях можно уменьшить совокупную стоимость владения или эксплуатации компьютерной инфраструктуры предприятия. Очевидно, что расходы на антивирусную защиту корпоративной сети здесь являются не последним пунктом в списке общих расходов предприятия. Однако существует принципиальная возможность оптимизации и снижения этих расходов путем использования специальных решений, позволяющих централизованно управлять антивирусной защитой корпоративной сети в реальном масштабе времени. Необходимо, чтобы такие решения позволяли администраторам сети предприятия отслеживать все точки проникновения вирусов с единой консоли управления и согласно технологии «клиент-сервер» эффективно управлять всеми присутствующими в корпоративной сети антивирусными средствами различных производителей.
Такая стратегия антивирусной защиты позволяет блокировать все возможные точки проникновения вирусов, такие как:
– проникновение вирусов на рабочие станции при использовании на рабочей станции инфицированных файлов с переносимых источников (флоппи-диски, компакт-диски, Zip, Jazz, Floptical и т. д.);
– заражение вирусами с помощью бесплатного инфицированного программного обеспечения, полученного из Internet через Web или FTP и сохраненного на локальной рабочей станции;
– проникновение вирусов при подключении к корпоративной сети инфицированных рабочих станций удаленных или мобильных пользователей;
– заражение вирусами с удаленного сервера, подсоединенного к корпоративной сети и обменивающегося инфицированными данными с корпоративными серверами файл– приложений и баз данных;
– распространение электронной почты, содержащей в приложениях файлы Excel и Word, инфицированные макровирусами.
Однако именно требование комплексного централизованного управления стало камнем преткновения для успешного создания эффективных комплексных систем антивирусной защиты корпоративных сетей в отечественных компаниях, что в конечном счете привело к столь широкому проникновению компьютерных вирусов в сети Internet/intranet Использование локальных антивирусных решений в корпоративной сети необходимо, но не достаточно для эффективной реализации антивирусной защиты предприятия. Сложившаяся сегодня ситуация требует незамедлительного вмешательства соответствующих должностных лиц и принятия решений, направленных на обеспечение и создание систем антивирусной защиты предприятия. По мнению многих специалистов, системы антивирусной защиты должны удовлетворять требованиям, приведенным в табл. 3.5
Таблица 3.5. Основные требования к корпоративной системе антивирусной защиты
Функциональные возможности
Значение для корпоративного заказчика
Обнаружение вирусов
Принципиально важна, т. к. напрямую оправдывает финансовые затраты на приобретение и эксплуатацию антивирусного программного обеспечения
Обнаружение деструктивного кода типа «троянский конь», враждебные апплеты ActiveX, Java
Достаточно важна для корпоративного пользователя
Готовность быстрого реагирования на появление новых видов угроз
Актуальна способность производителя своевременно и быстро реагировать на появление новых угроз
Сопровождение и поддержка
Как правило, для пользователя важны ответы на следующие вопросы: «Какие составляющие входят в базовую конфигурацию?» «Что можно получить дополнительно» «Какие услуги входят в стоимость годовой технической поддержки?»
Исчерпывающий список защищаемых точек возможного проникновения вирусов
Вирусы и враждебные программы могут проникать из различных источников. Поэтому пользователи хотят быть уверенными в том, что не осталось ни одной незащищенной точки проникновения вирусов. Важно и периодическое централизованное обновление вирусных сигнатур
Управляемость
Возможность централизованного администрирования антивирусного программного обеспечения чрезвычайно актуальна. Так как нельзя полагаться на то, что конечные пользователи будут поддерживать работоспособность и обновление антивирусной защиты на своих рабочих станциях
Управление антивирусной защитой удаленных пользователей
Сейчас появилось большое количество пользователей, которые выполняют свою работу дома, подключаясь к ресурсам корпорации через компьютерную сеть и привнося новые точки проникновения вирусов. Поэтому администратору необходимо поддерживать их на том же уровне антивирусной защиты, что и тех, которые работают на локальных компьютерах
Централизованное уведомление
Пользователи понимают, что если они не смогут получить мгновенную единую картину всех уязвимых точек сети, они могут упустить из виду потенциальную, как правило, реальную вирусную атаку
Производительность системы
Если антивирусная защита конфликтует с производительностью системы, доставкой почты или другими ключевыми аспектами современного процесса делового общения, у конечного пользователя появляется желание ее отключить
Удаленное администрирование (посредством браузера)
Если администратор сам является удаленным пользователем, интерфейс браузера дает ему возможность администрирования всего предприятия независимо от своего местонахождения
Автоматическое распространение и обновление
Сегодня администраторы могут быть ответственны за сотни рабочих станций и десятки различных сегментов сети предприятия, навестить которые самостоятельно невозможно. Поэтому понятно требование администратора, который хочет при помощи антивирусного программного обеспечения автоматизировать процесс автоматического распространения и обновления
Лучший способ борьбы с вирусной атакой — ее предотвращение. Для решения этой задачи необходимо:
– соответствующим образом сконфигурировать антивирусное программное обеспечение;
– использовать только лицензионное программное обеспечение;
– ограничить набор программ, которые пользователь способен установить в системе;
– устранить известные уязвимости в используемом программном обеспечении;
– контролировать использование накопителей гибких дисков и дисков CD-ROM;
– разработать политику обработки электронной почты;
– разработать политику безопасности приложений, обрабатывающих документы с интерпретируемыми языками.
Чтобы соответствующим образом сконфигурировать антивирусное программное обеспечение, необходимо произвести следующие установки антивируса:
– сканирование в режиме реального времени, в фоновом или аналогичном режиме, должно быть разрешено;
– при старте системы нужно сканировать память, загрузочный сектор и системные файлы;
– своевременно обновлять вирусные базы данных;
– желательно сканировать файлы всех типов или, как минимум, СОМ-, ЕХЕ-файлы, а также файлы типа VBS, SHS, OCX;
– установить аудит всех действий антивирусных программ.
Поскольку программное обеспечение, полученное из неизвестного источника, может быть троянским или зараженным вирусом, то необходимо пользоваться только лицензионным программным обеспечением.
Ограничение набора программ, которые пользователь способен установить в системе, связано с тем, что эти программы могут быть заражены вирусами или служить причиной успеха других атак. Особо следует обратить внимание на различные сервисы Internet и, в первую очередь, на программы передачи сообщений, такие как IRC, ICQ, Microsoft Chat (они могут передавать файлы и служить источником заражения системы).
Для устранения известных «дыр» в используемом программном обеспечении в качестве источника информации об уязвимостях можно использовать базы данных, которые обычно публикуются в списках рассылки Internet, а также на специальных сайтах.
Вся информация, содержащаяся на гибких и компакт-дисках, должна быть проверена на наличие вирусов до того, как с ней будут работать пользователи компьютерной системы.
В связи с тем, что сообщения электронной почты — один из самых популярных и быстрых способов распространения вирусов, в каждой организации должна быть разработана политика обработки электронной почты. Для защиты от проникновения вирусов через сообщения электронной почты каждый пользователь системы должен:
– никогда не открывать сразу почтовое вложение в пришедшем ему сообщении, а сохранять его в определенном «карантинном» каталоге;
– никогда не открывать почтовых вложений, которые не были запрошены или о которых не было уведомления от отправителя (даже когда отправитель известен, сообщение может содержать вирус, если отправитель неизвестен, сообщение с вложением лучше всего удалить);
– перед открытием вложения обязательно проверить его с помощью антивирусного программного обеспечения;
– если после выполнения всех этих процедур остались сомнения, стоит связаться с отправителем и выяснить у него информацию о посланном вложении;
– устранить возможные уязвимости в клиентском почтовом программном обеспечении.
Если пользователь или организация используют приложения, обрабатывающие документы с интерпретируемыми языками (например, семейство продуктов Microsoft Office), то порядок работы с этими документами тоже должен быть отражен в политике безопасности.
Рассмотрим более подробно, как работают антивирусные программы и какие разновидности этих программ бывают.
Обычно анализ вирусов заключается в выделении в них сигнатур и последующем их поиске в потенциальных объектах вирусной атаки. Таким образом, еще несколько лет назад достаточно было поймать вирус, изучить его код (для профессионалов это, как правило, было делом нескольких минут) и выделить сигнатуру. Но вирусные технологии не стояли на месте. Разрабатывались новые вирусы, а вслед за ними и новые программные антивирусные продукты.
Антивирусных средств довольно много. А так как в каждом конкретном случае надо выбирать антивирусный комплект, исходя из общей концепции информационной безопасности организации и нужд конкретного пользователя, то ниже кратко описаны основные типы антивирусных средств.
Существуют следующие стандартные программы защиты (табл. 3.6):
– детекторы (scanner);
– фаги (полифаги) (scanner/cleaner, scanner/remover);
– ревизоры;
– сторожа;
– специальные вакцины;
– блокировщики.
Таблица 3.6. Стандартные антивирусные программы
Виды антивирусных программ
Назначение
Стандартные программы
Детекторы
Обнаружение вирусов
DrWeb AVP Adinf
Фаги (полифаги)
Обнаружение и уничтожение вирусов
Aidstest
Ревизоры
Контроль путей распространения вирусов
ADinf
Сторожа
Контроль подозрительных на вирус операций
VSAFE
Специальные вакцины
Обработка файлов и загрузочных секторов на устойчивость к вирусам
—
Блокировщики
Ограничение распространения вирусов
—
В большинстве случаев вирус, заразивший компьютер, помогут обнаружить уже разработанные программы-детекторы. Они проверяют, имеется ли в файлах на указанном пользователем диске специфическая для данного вируса последовательность байт. При обнаружении вируса программа выводит на экран соответствующее сообщение. Назначение детектора — только обнаружить вирус. Бороться с ним предстоит либо другой антивирусной программе, либо системному программисту.
Среди детекторов можно выделить эвристические анализаторы кода — набор подпрограмм, анализирующих код исполняемых файлов, памяти или загрузочных секторов для обнаружения в нем разных типов компьютерных вирусов. Рассмотрим универсальную схему такого кодоанализатора. Действуя в соответствии с этой схемой, кодоанализатор способен максимально эффективно задействовать всю информацию, собранную для тестируемого объекта.
Эвристический подход состоит в попытке предложить, может быть, далекое от оптимального, но быстрое решение для чрезвычайно сложных (или даже неразрешимых) проблем на основе все более и более достоверных предположений.
Основная идея такого подхода состоит в том, что эвристика сначала рассматривает поведение программы, а затем сопоставляет его с характерным для злонамеренной атаки, наподобие поведения троянского коня. Установить модель поведения и принять решение относительно него можно с помощью нескольких механизмов. Для того чтобы выявить и определить все возможные действия программы, используют два подхода:
– сканирование;
– эмуляция.
Подход со сканированием предполагает поиск «поведенческих штампов», например, наиболее типичных низкоуровневых способов открытия файлов. Или процедура сканирования обычного исполняемого файла просматривает все места, где программа открывает другой файл, и определяет, какого рода файлы она открывает и что в них записывает.
Второй метод определения поведения— эмуляция. Такой подход несколько сложнее. Программа пропускается через эмулятор Windows или макроэмулятор Macintosh или Word с целью посмотреть, что она будет делать. Однако возникают вопросы, потому что в этом случае многое зависит от причуд вирусов. Например, если вирус запрограммирован на форматирование вашего жесткого диска 25 февраля в 10 час. утра, а при эмуляции этого вируса на симуляторе дата установлена на 24 февраля, то вирус пока не проявит свои намерения.
Вся хитрость быстрого распознавания состоит в сочетании двух подходов и получении наиболее подробного каталога поведенческих штампов за возможно более короткое время. Для проверки факта заражения файла вирусом специалисты могут использовать различные варианты искусственного интеллекта — экспертные системы и нейронные сети.
Недостаток эвристического подхода состоит как раз в его эвристичности. Всегда есть вероятность, что чрезвычайно подозрительный файл в действительности совершенно безобиден. Однако последний эвристический механизм Symantec под названием Bloodhound позволяет обнаружить до 80% неизвестных вирусов выполняемых файлов и до 90% неизвестных макровирусов.
Стоит также заметить, что программы-детекторы не слишком универсальны, поскольку способны обнаружить только известные вирусы. Некоторым таким программам можно сообщить специальную последовательность байт, характерную для какого-то вируса, и они смогут обнаружить инфицированные им файлы: например, это умеют NotronAntiVims или AVP-сканер.
Программа Aidstest устарела и сейчас уже практически не используется. Наиболее широкое распространение получили программы DrWeb и AVP. Благодаря своим новейшим детекторам, они могут обнаружить любые вирусы: как самые старые, так и только что появившиеся. Еще нужно упомянуть детектор ADinf. Эта антивирусная программа обнаруживает все вирусы, не изменяющие длину файлов, невидимые вирусы, и многие другие. Таким образом, эти три программы обеспечивают мощнейшую защиту против вирусов. Все эти программы можно вписать в файл AUTOEXEC.BAT, тогда при загрузке компьютера проверка на заражение вирусом будет проводиться автоматически. Кстати, на Западе тоже предпочитают пользоваться такими российскими программами, как DrWeb и AVP.
Несколько лет назад детекторы практически уступили свои позиции программам, называемых полифагами, но сегодня они вновь возвращаются на компьютерный рынок.
Для тех, кто пользуется только лицензионным программным обеспечением, нет необходимости тратить время на лечение зараженных вирусом файлов. Проще восстановить зараженную программу с дистрибутива. Но в связи с тем, что даже во многих достаточно крупных организациях очень часто используют не лицензионную, а «пиратскую» продукцию (возможно, уже зараженную вирусом), то и чистые детекторы (сканеры) еще не скоро будут в состоянии конкурировать с фагами.
Фаги (полифаги) (scanner/cleaner, scaner/remover) — программы, способные не только обнаруживать, но и уничтожать вирусы, т. е. лечить «больные» программы (полифаг может уничтожить много вирусов). К полифагам относится и такая старая программа, как Aidstest, которая обнаруживает и обезвреживает около 2000 вирусов.
Основной принцип работы традиционного фага прост и секретом не является. Для каждого вируса путем анализа его кода, способов заражения файлов и т. д. выделяется некоторая характерная только для него последовательность байт. Эта последовательность называется сигнатурой данного вируса. Поиск вирусов в простейшем случае сводится к поиску их сигнатур (так работает любой детектор). Современные фаги используют другие методы поиска вирусов.
После обнаружения вируса в теле программы (или загрузочного сектора, который тоже, впрочем, содержит программу начальной загрузки) фаг обезвреживает его. Для этого разработчики антивирусных средств тщательно изучают работу каждого конкретного вируса: что он портит, как он портит, где он прячет то, что испортит (если прячет, конечно). В большинстве случаев фаг в состоянии благополучно удалить вирус и восстановить работоспособность испорченных программ. Но необходимо хорошо понимать, что это возможно далеко не всегда.
Программы, называемые ревизорами, контролируют возможные пути распространения инфекции. Изобретательность авторов вредоносного программного обеспечения ограничена некоторыми рамками, исходя из того, возможно в принципе. Эти рамки хорошо известны и поэтому вирусы все же не всесильны. Если взять под контроль все мыслимые направления вирусной атаки на компьютер, то можно находиться практически в полной безопасности. Из программ-ревизоров, которые можно приобрести в России, следует обратить внимание на уже упомянутую выше программу ADinf.
Сторожами называют небольшие резидентные программы, находящиеся постоянно в памяти компьютера и контролирующие операции, которые они считают подозрительными. В качестве примера программы-сторожа можно привести программный продукт VSAFE, входивший в поставку некоторых версий MS DOS.
Поскольку и вирусы, и обычные программы выполняют одни и те же операции, то невозможно даже выделить класс исключительно «вирусных» операций. Вследствие этого сторож либо вынужден ничего не контролировать и пассивно наблюдать за происходящим, либо «звенеть» при каждой подозрительной операции. Поэтому целесообразно использовать программы-сторожа на самом минимальном уровне контроля (например, отслеживания изменений загрузочных секторов). Такими сторожевыми функциями обладают некоторые современные BIOS, хотя и с этим все не так просто. Эта функция BIOS может конфликтовать с некоторыми операционными системами, а иногда может вообще не работать.
Специальные вакцины предназначены для обработки файлов и загрузочных секторов. Вакцины бывают пассивными и активными. Активная вакцина, «заражая» файл, подобно вирусу, предохраняет его от любого изменения и в ряде случаев способна не только обнаружить сам факт заражения, но и вылечить файл. Пассивные вакцины применяют только для предотвращения заражения файлов некоторыми вирусами, использующими простые признаки их зараженности — «странные» время или дата создания, определенные символьные строки и т.д.
В настоящее время вакцинирование широко не применяется. Бездумное вакцинирование всего и вся способно вызвать целые эпидемии несуществующих вирусных болезней. Так, в течение нескольких лет на территории бывшего СССР свирепствовала страшная эпидемия ужасного вируса TIME. Жертвой этого вируса стали сотни абсолютно здоровых программ, обработанных антивирусной программой ANTI-КОТ.
Приведем пример из практики. В настоящее время имеется довольно много вирусов, предотвращающих повторное заражение файлов некоторой «черной меткой», которой они метят инфицированную программу. Существуют, к примеру, вирусы, выставляющие в поле секунд времени создания файла значение 62. Уже довольно давно появился вирус» который ко всем зараженным файлам дописывал пять байт — MsDos. Нормальных файлов, содержащих в конце такую символьную строку, не бывает, поэтому вирус и использовал этот признак как индикатор заражения файла. Вакцинирование файлов против такого вируса совсем не сложно. Достаточно дописать в конец выше упомянутую символьную строку — и заражение таким вирусом вам не страшно. Страшно другое — некоторые антивирусные программы, встретив в конце файла злополучную строчку, начинают немедленно лечить его. Шансов на то, что после такого «лечения» «инвалид» будет нормально работать, практически никаких.
Еще одной разновидностью антивирусных программ являются блокировщики вируса. Они позволяют ограничить распространение эпидемии, пока вирус не будет уничтожен. Практически все резидентные вирусы определяют факт своего присутствия в памяти машины, вызывая какое-либо программное прерывание с «хитрыми» параметрами. Бели написать простую резидентную программу, которая будет имитировать наличие вируса в памяти компьютера, правильно «отзываясь» на определенный пароль, то вирус, скорее всего, сочтет эту машину уже зараженной.
Даже если некоторые файлы на компьютере содержат в себе код вируса, при использовании блокировщика заражения всех остальных файлов не произойдет. Для нормальной работы такой программы необходимо запустить блокировщик раньше всех остальных программ, например, в файле CONFIG.SYS. Но если вирус успел заразить COMMAND. СОМ или стартует из загрузочного сектора, то антивирус-блокировщик не поможет.
Очень важно применять альтернативные антивирусные решения. Сами по себе антивирусные сканеры и настройки защиты в различных приложениях не обеспечивают адекватной защиты от вредоносных программ. Антивирусные сканеры необходимо постоянно обновлять, хотя быстро распространяющиеся вирусы могут опередить эти модернизации.
Единственный способ избежать воздействия вредоносного программного обеспечения — блокировать подозрительные файлы на межсетевом экране или на шлюзе электронной почты. Многие организации сейчас блокируют все входящие присоединенные файлы, имеющие следующие, потенциально опасные, расширения: EXE, CORN, SCR, НТА, НТО, ASF, CHM, SHS, PIE Другие устанавливают еще более жесткие фильтры, блокируя файлы с расширениями ADE, ADP, BAS, ВАТ, CMD, CNT, CPL, CRT, CSS, HIP, INF, INS, ISP, JS, JSE, INK, MDB, MDE, MSC, MSI, MSP, MST, PCD, REG, SET, SHB, URI, VB, VBE, VBS, WSC, WSF, WSH.
Один из ключевых вопросов, который будет стоять перед индустрией детектирующих систем в течение ближайших лет, заключается в том, продолжат ли заказчики покупать эти системы как самостоятельные продукты или уже скоро они станут приобретать их в комплекте с сетевым оборудованием—маршрутизаторами, коммутаторами или устройствами для локальных сетей. Ответ на него пока не найден, однако не приходится сомневаться, что системы выявления сетевых атак, используемые сегодня преимущественно такими крупными организациями, как банки и федеральные учреждения, со временем найдут дорогу к более широким слоям корпоративных пользователей.
Практические методы и средства для защиты сети от вредоносных программ
Программные средства, уведомляющие администратора об атаке на сервер или сеть либо только о попытке такой атаки, появились совсем недавно. Первые продукты этого типа были апробированы военным ведомством США в середине 90-х годов. Тем не менее за прошедшие несколько лет растущая армия поставщиков программного обеспечения успела выпустить несколько пакетов программ, нацеленных на выявление хакерских атак. Одни производители предлагают серверные продукты, обеспечивающие защиту операционных систем, Web-серверов и баз данных. Другие рассматривают проблему защиты с общесетевых позиций, и их разработки позволяют сканировать весь сетевой трафик для выявления пакетов сомнительного происхождения.
Что касается экономической стороны дела, то рынок детектирующих систем обоих типов бурно развивается. По данным компании IDC, в 1997 году его оборот составлял 20 млн долларов, а уже в 2000 году достиг 100 млн долларов. Оценки дальнейшего развития весьма оптимистичны: аналитики IDC полагают, что мировые продажи программ обнаружения сетевых атак в 2005 году перевалят за 500 млн долларов.
В такой сфере, как обнаружение сетевых атак, процесс совершенствования бесконечен. Хакеры не устают изобретать все новые схемы проникновения в компьютерные системы. Стоящие по другую сторону баррикад разработчики детектирующих приложений отслеживают появляющиеся новинки и спешат предложить свои контрмеры. Вот почему выпускаемые продукты требуют постоянной модернизации и пользователям настоятельно рекомендуется устанавливать обновленные сигнатуры, позволяющие идентифицировать новые виды сетевых атак.
Старое антивирусное программное обеспечение подобно лекарству с истекшим сроком годности — толку от него мало. Если не обновлять файлы сигнатур, то рано или поздно можно оказаться беззащитными против новых вирусов. Большинство фирм, производящих антивирусы, выпускают новые файлы сигнатур по крайней мере два раза в месяц и чаще, если появляется серьезный вирус. Для получения новых сигнатур удобно пользоваться функцией автоматического обновления через Web, имеющейся в антивирусном пакете.
Сопровождение через Internet программы PC-cillin, например, обладает уникальной особенностью. Вы можете не только запросить консультацию по электронной почте, но и в любое время суток поболтать в реальном времени со специалистом службы сопровождения Trend. (Разумеется, от этой замечательной услуги не особенно много проку, если компьютер заблокирован и войти в Internet невозможно, однако она бесплатна.)
Такие антивирусные продукты, как Norton AntiVirus 2000 и McAfee VirusScan, поддерживают самые крупные исследовательские группы отрасли: соответственно Symantec AntiVirus Research Center и AntiVirus Emergency Response Team. Поэтому Norton и McAfee исключительно быстро реагируют на угрозу нового вируса.
Чтобы снизить число дорогостоящих телефонных консультаций, антивирусные компании стараются усилить поддержку через Internet. Но иногда все-таки бывает нужно задать вопрос живому человеку. Если вы купили продукт, то, скорее всего, получите сопровождение по телефону и через Internet бесплатно, а вот в случае бесплатных пакетов поддержка будет стоить денег.
Все основные фирмы-поставщики антивирусного обеспечения регулярно и притом часто обновляют файлы сигнатур вирусов, а при появлении особо зловредного вируса делают дополнительный экстренный выпуск. Еще совсем недавно считалось, что сигнатуры нужно обновлять ежемесячно, но в нашу эпоху новых отвратительных вирусов, возможно, будет разумным проверять их каждую неделю вручную или с помощью автоматического обновления антивирусной программы. В утилитах McAfee, Symantec и Trend Micro для обновления достаточно один раз щелкнуть кнопкой мыши.
Распространение противоядия в рамках корпоративной среды возвращает нас обратно к вопросу времени реакции со стороны поставщика антивирусных средств. Конечно, доставка сигнатур новых вирусов на настольные системы чрезвычайно важна, но для того чтобы их распространять, эти сигнатуры надо сначала получить. В идеале их хотелось бы иметь до того, как ваш компьютер будет атакован.
Обычно поставщик антивирусных средств дает ответ в течение не более двух суток после предоставления ему подозрительного файла (срок в 48 час. стал, по сути, стандартной верхней границей). Однако в наши дни 48 час. — это слишком долго, за это время могут быть инфицированы тысячи рабочих станций. Можно это делать быстрее, используя автоматизацию, которая будет играть все более важную роль в разрабатываемых централизованных корпоративных системах, куда выявленные с помощью эвристических средств образцы можно направлять на карантин и откуда их передают поставщику антивирусных средств. В этом случае анализ образцов поставщиком может быть автоматизирован. Под этим подразумевается автоматическое тиражирование образцов, определение наличия инфекции, автоматическое создание лекарства для этой инфекции, автоматическая проверка лекарства и передача его обратно корпоративному клиенту и любым другим клиентам этой сети. Результат — вместо обещаемых большинством компаний 48 час. вся процедура продлится около получаса, и даже быстрее.
Компания Symantec, например, уже сегодня располагает подобной системой для макровирусов, т. е. вирусов Word for Windows и Excel. Ей требуется два часа, чтобы предоставить вам набор определений для противодействия новому вирусу (если он никогда ранее не встречался), — и все это исключительно посредством компьютера.
Определенный набор средств антивирусной защиты присутствует во всех утилитах основных фирм-производителей программного обеспечения. Таковы постоянная защита от вирусов (антивирусный монитор), проверка системы по расписанию и обновление сигнатур через Internet, а также создание аварийной загрузочной дискеты, позволяющей запустить компьютер даже тогда, когда у него заражен вирусом загрузочный сектор (естественно, дискету надо создать до того, как вирус попал в компьютер). Помимо этих стандартных средств, некоторые пакеты содержат «архитектурные излишества»: например, специальную добавочную защиту от почтовых вирусов (тревога по поводу которых нарастает), а также зловредных модулей ActiveX и Java-аплетов (которые до сих пор редкость). А такие программы, как Panda Antivirus Platinum и PC-cillin, даже позволяют родителям заблокировать доступ детей к нежелательным Web-страницам. Характеристики категорий антивирусного программного обеспечения представлены в табл. 3.7.
Таблица 3.7. Характеристики категорий антивирусного программного обеспечения
Категория
Название антивирусного программного обеспечения
Характеристика антивирусов
1
Command Antivirus
Деловой подход, простота, доступность, реагируют на угрозу нового вируса
F-Secure
11
Inoculate IT
Высокая скорость распознавания вирусов, пропуск вирусов
Norman Virus Control
111
Norton Antivirus
Лучший антивирус по всем показателям
McAfee Virus Scan
Большая информативность
Panda Antivirus Platinum
Блокируют доступ компьютеров к нежелательным Web-страницам. Возможность консультации по электронной почте
PC-citlin
Поскольку у новых вирусов имеются новые сигнатуры, файлы сигнатур необходимо поддерживать в актуальном состоянии. При выходе новой версии антивируса формат файла сигнатур обычно меняется, и обновленные сигнатуры оказываются несовместимы с предыдущими версиями программы. Именно поэтому антивирусное программное обеспечение уже довольно давно продается по той же схеме, что бритвы и лезвия: однажды купив основную утилиту (бритву), вы затем вынуждены постоянно покупать обновленные файлы сигнатур (лезвия).
Так, компании McAfee и Symantec предоставляют право неограниченного обновления сигнатур в течение года с момента приобретения утилиты, но за каждый следующий год нужно в обоих случаях заплатить 4 доллара. Такую сумму вряд ли можно считать серьезным ударом по карману (в отличие от подписки на обновленные файлы сигнатур F-Secure, которая стоит 63 доллара); кроме того, через год вы с большой вероятностью захотите обновить саму программу. Их основные конкуренты — Command AntiVirus, Inoculate IT, Panda Antivirus Platinum и PC‑cillin — предлагают бесплатное обновление сигнатур в течение всей жизни продукта.
В настоящее время способы предоставления антивирусной защиты существенно меняются. Компания McAfee.com (существующая отдельно от McAfee Software) уже предлагает проверку на вирусы через Internet в своей «электронной больнице» McAfee Clinic (наряду с еще несколькими видами диагностики). Услуга предоставляется по подписке и стоит 50 долларов в год, но часто появляются специальные предложения, а за первые две недели плата не берется — это испытательный период. Проверку удаленных компьютеров на вирусы производит модуль ActiveX, который берет сигнатуры с Web-сервера производителя программы.
К сожалению, сегодня производители не располагают какими бы то ни было сверхновыми технологиями для упрощения процедуры постоянной модернизации приобретенного заказчиками программного обеспечения. Более того, даже самостоятельная загрузка пользователями обновлений для базы данных с сервера производителя, ставшая общим местом в индустрии антивирусного программного обеспечения, для поставщиков средств обнаружения сетевых атак пока еще в диковинку.
В качестве потенциального выхода из создавшегося положения эксперты по системам сетевой безопасности рассматривают применение технологий искусственного интеллекта. Они позволили бы распознавать угрозы отдельным компьютерам или сети в целом без использования файлов сигнатур, требующих постоянного обновления. Отдельные продукты предоставляют пользователям возможность добавлять в систему собственные сигнатуры сетевых атак (например, для защиты специфических приложений). Такая гибкость достигается путем включения в комплект поставки дополнительных инструментальных средств.
Существенным недостатком многих систем обнаружения атак является их неспособность выдавать предупреждающие сообщения на консоли основных платформ сетевого администрирования. Диагностическая информация и отчеты о событиях, как правило, объединяются только на их собственных управляющих станциях. Это затрудняет принятие ответных мер против хакера.
Системы выявления сетевых атак, предлагаемые фирмами Network Associates и ISS, способны взаимодействовать с рядом брандмауэров и платформ сетевого администрирования, однако в настоящее время эти компании заняты реализацией технологии автоматического реагирования на попытки несанкционированного доступа, что предполагает более активное участие представителей всей сетевой индустрии. Основная идея такой технологии состоит в установке на хостах и отдельных сетевых устройствах «сканеров» сетевых атак, которые при обнаружении серьезной угрозы информационной безопасности могли бы активизировать средства защиты без вмешательства администратора.
Сети становятся все более уязвимыми к инфицированным сообщениям электронной почты. Этому способствует интерактивный характер приложений, незакрытые бреши в системах защиты и постоянное совершенствование вирусных программ. Вирусы, подобные LoveLetter и Prolin, способны самотиражироваться по электронной почте, используя недостатки таких программ, как Microsoft Outlook и Outlook Express. В силу активного характера каждого из этих вирусов за считанные часы могут быть разосланы тысячи инфицированных сообщений, в результате чего вирусы окажутся в системе других клиентов. Вирус Melissa, появившийся в марте 1999 года, стал первым широко распространенным размножающимся по почте вирусом и вызвал многочисленные сбои на корпоративных серверах электронной почты, буквально засыпав их огромным количеством сообщений. Созданный тоже не так давно вирус LoveLetter точно так же поразил серверы электронной почты. По некоторым оценкам, ущерб от него в различных организациях по всему миру составил несколько миллиардов долларов.
Помимо переполнения системы электронной почты, вирус может повредить файлы, переслать конфиденциальную информацию путем рассылки документов, инициировать атаку на отказ от обслуживания (Denial of Service, DoS), изменить и удалить конфигурационные настройки, хранящиеся в памяти CMOS и во Flash BIOS системных плат некоторых типов.
Как правило, для доставки своего «смертоносного груза» вирусы используют код HTML в теле сообщения электронной почты. Вирус KakWorm, например, скрывается в подписи, передаваемой вместе с сообщениями электронной почты MS Outlook Express 5. Он написан на JavaScript и распространяется через английскую и французскую версии Windows 95/98. Этот червь заражает систему в тот момент, когда пользователь открывает или просто просматривает инфицированное сообщение электронной почты. Поскольку многие так и не установили необходимую заплатку для Outlook, этот вирус по-прежнему широко распространен, хотя впервые он был обнаружен еще в октябре 1999 года.
На программы электронной почты MS Outlook и Outlook Express рассчитано немало вирусов, в том числе Bubble-Boy, Stages, Lucky, Melissa, NewLove и LoveLetter. Хотя некоторые из наиболее распространенных вирусов и «червей» появляются на настольной системе пользователя как код HTML в теле сообщения, многие, тем не менее, рассылаются в виде прикрепленных файлов, зачастую с «замаскированными» расширениями. Чаще всего они представляют собой файлы в формате DOC, внутри которых находятся вредоносные макросы. Хотя количество макровирусов продолжает быстро расти, подавляющее число инцидентов связано с вирусами, рассылающими себя по электронной почте.
Хотя основную угрозу представляет традиционный вредоносный код, проблемы может вызвать и код иного типа. Например, внешний вид многих коммерческих Web-сайтов формируется с помощью апплетов JavaScript и элементов управления ActiveX. Чтобы эта схема работала, пользователь должен загрузить данный мобильный код на настольную систему, где тот получает доступ к жесткому диску. Код такого типа может читать, удалять и изменять файлы, а кроме того, способен обращаться к файлам на компьютерах, подключенных к данному через локальную сеть.
Поскольку апплеты Java относят к не вызывающему доверия коду, они работают внутри виртуальной машины в так называемой «песочнице». Теоретически это призвано ограничить выполняемые ими операции и уберечь от несанкционированных действий компьютер пользователя. Зачастую ActiveX воспринимается как более серьезная угроза, потому что, по существу, он представляет собой компактную версию OLE, позволяющую напрямую обращаться к оригинальным вызовам Windows и связывать их с любой системной функцией.
Более того, поскольку хакер может присоединить апплет Java к электронной почте, браузер способен автоматически активировать этот апплет. Узнать, на какие разрушительные действия способно вредоносное программное обеспечение на основе JavaScript и ActiveX, можно на многих сайтах.
Основную проблему, сдерживающую широкое распространение продуктов рассматриваемого класса, представляют заоблачные цены, которые оказываются не по зубам небольшим компаниям — самой легкой добыче злоумышленников. Скажем, типичная стоимость серверного агента в таких системах составляет 4000 долларов. В результате большинство организаций вынуждены устанавливать детектирующее программное обеспечение только на наиболее уязвимых сетевых узлах, например, на брандмауэрах или на серверах с конфиденциальной информацией делового характера.
Однако, все не так уж плохо, как кажется на первый взгляд. Корпоративные заказчики, например, могут теперь оперативно решить проблемы информационной безопасности благодаря растущему предложению коммерческих услуг в этой области со стороны независимых фирм.
Это связано с тем, что сегодня налицо дефицит специалистов высокой квалификации в области сетевой безопасности, да к тому же обладающих практическим опытом обнаружения хакерской активности. Поэтому организации предпочитают делегировать решение возникающих задач немногочисленным специализированным компаниям.
Можно также обратиться к компаниям, оказывающим специализированные услуги по организации безопасности информационных систем. Они обычно предлагают целый пакет услуг, включающий в качестве базовых компонентов межсетевые экраны и системы выявления вторжений (Intrusion Detection System, IDS). В пакет услуг может входить и оценка слабых мест в системе защиты, и проверка возможности проникновения в систему, и централизованная защита и др. Это, конечно, недешево, но такие трудоемкие задачи, как мониторинг работы межсетевого экрана и журналов системы выявления вторжений (IDS), не слишком дороги, зато сэкономят время для не менее важных дел.
Для улучшения качества антивирусной защиты необходимо обучать пользователей. Правила, действующие вчера, сегодня уже не работают. Пользователей необходимо информировать о возможном риске, они должны быть особенно внимательны при просмотре электронной почты и работе с ней. Кроме того, важно, чтобы они предвидели неприятные последствия об изменении настроек защиты или установки программного обеспечения, не являющегося корпоративным стандартом.
Компьютерная безопасность требует, чтобы ей каждый день уделялось время и внимание. Устанавливая очередную «заплату», внимательно наблюдая за появлением новых .уязвимых мест в системе, повышая свою квалификацию и изучая опыт более осведомленных в этой области людей, вы можете поддерживать свою сеть в стабильном состоянии. Квалифицированный администратор сетевой безопасности — вот отличная защита от незаконных вторжений в информационную систему. Поэтому лучшей инвестицией станет обучение сотрудников, ответственных за безопасность. Но ничто не сравнится с практическим обучением. А для этого потребуется собственная лаборатория, где администраторы могли бы экспериментировать без опасения помешать работе основной сети.
Но это в общем. А что делать пользователю, если заражение уже произошло? Прежде всего, не надо паниковать. Первый шаг при обнаружении атаки на систему — это ее идентификация. Для успешной идентификации атаки необходимо наличие загрузочного диска, создаваемого при установке системы, и осуществление загрузки системы с его помощью.
Если атака идентифицируется антивирусом, проблема решается фактически моментально. Но, если вы имеете дело с неизвестным вирусом, во многих случаях критичным является время, за которое была идентифицирована атака. Поэтому решающее значение имеет способность пользователя быстро обнаружить вирусную атаку (признаками могут служить массовая рассылка почты, уничтожение файлов и т. д.). Сложность идентификации часто зависит от сложности самой атаки. На данном этапе желательно установить, как минимум, следующие признаки:
– сам факт атаки;
– тип атаки (сетевая или локальная);
– источник происхождения.
Вне зависимости от типа операционной системы необходимо обращать внимание на следующую активность в системе:
– целостность программного обеспечения, используемого для обнаружения нарушителя;
– целостность критичных для безопасности системы программ и данных;
– операции в системе и сетевой трафик.
Если вы смогли определить факт вирусного заражения неизвестным вирусом (или у вас есть такие небезосновательные подозрения), то желательно обратиться к производителю используемого антивирусного программного обеспечения. Кроме того, необходимо проанализировать последствия вирусной атаки. Если в вашей системе обрабатывались какие-то ценные данные, то настоятельно рекомендуется иметь их резервную копию. Для этого должны быть разработаны правила резервного копирования. К сожалению, если резервная копия отсутствует, данные могут быть утеряны навсегда (это уже зависит не от вас, а от злоумышленника, написавшего вирус).
В любом случае необходимо помнить: наличие адекватных средств защиты и дисциплины их применения позволяет если не избежать вирусной атаки, то, по крайней мере, минимизировать ее последствия. Для этого всегда проверяйте файлы, попадающие на ваш компьютер. Нужно помнить, что любой из них может быть заражен вирусом. Никогда не позволяйте посторонним работать на вашем компьютере — именно они чаще всего приносят вирусы. Особое внимание следует уделять играм: ведь часто вирусы распространяются именно так. Новые игры и программы всегда нужно проверять на наличие вирусов. Кажется очевидным, что лучше чуть-чуть потесниться и найти 8-12 кбайт свободного места в оперативной памяти, скажем в UMB, где можно разместить «недремлющее око» резидентного монитора, контролирующее все вирусоподобные проявления и предотвращающее малейшие попытки вирусного заражения. А сканировать лучше прямо на сервере, так как в сетевых антивирусных системах это обычная опция.
В большинстве организаций антивирусное программное обеспечение установлено, по крайней мере, на настольных компьютерах. Весьма разумным вложением средств было бы также добавление антивирусного программного обеспечения на шлюзы электронной почты и межсетевые экраны. Согласно данным опроса, проведенного в крупных организациях компанией Tru-Secure, большинство вирусов и другой вредоносный код попадают в систему через электронную почту. Выявление как можно большего числа потенциальных проблем на основной точке входа в систему значительно сокращает внутренние работы.
К сожалению, большая часть антивирусного программного обеспечения плохо сконфигурирована и анализирует лишь часть потенциально инфицированных объектов. В электронной почте и на настольной системе имеет смысл использовать сканер, настроенный так, чтобы он проверял все файлы. Учитывая, что содержать инфицированные объекты могут более 200 типов файлов, сканировать нужно не только файлы, расширение которых совпадаете одним из предлагаемого вместе с продуктом списка.
Кроме того, следует иметь в виду, что заданные по умолчанию в большинстве приложений настройки защиты неадекватны реальной среде. Поскольку исследователи обнаруживают все новые уязвимые места в продуктах, необходимо постоянно следить за выпуском новых «заплаток». Это можно сделать, подписавшись на бюллетень новостей по вопросам защиты компании Microsoft и других компаний, отслеживающих ошибки в программном обеспечении, например, на списки рассылки Security-Focus.
Применяемые средства защиты должны быть как можно более разнообразными, в частности, антивирусные сканеры от различных производителей на каждом рубеже системы защиты:
– межсетевых экранах;
– почтовых серверах;
– файловых серверах;
– настольных системах.
Эти многочисленные фильтры теоретически позволяют отсечь больше вирусов, поскольку часто разные продукты способны выявлять различные виды вредоносного программного обеспечения. Несмотря на рост затрат в случае применения различных сканеров (как правило, на разных уровнях системы защиты), преимущества перевешивают недостатки.
Многие преступления в сфере информационных технологий стали возможны благодаря тому, что хакеры находят бреши в программном обеспечении, которые позволяют легко обойти сетевую защиту. Это происходит почти с каждой известной программой. В девяти случаях из десяти они используют в своих интересах старые, давно известные недоработки в программах, для которых уже существуют «заплаты», которые не успели или не побеспокоились применить.
Теоретически установка «заплаты» не так уж сложна, хотя на практике не все так просто даже для опытных администраторов, которые стараются быть в курсе самых последних разработок. Самое главное — не нужно опаздывать с установкой «заплат» в своей системе. При этом одна из трудностей заключается в том, что в информационных системах устанавливается все больше и больше новых программных продуктов. Количество же брешей, выявляемых еженедельно, увеличилось более чем в два раза за период с 1999 года по 2000 год. Хакеры могут использовать эти недоделки, чтобы проникнуть в компьютерные сети и вывести их из строя. В результате поставщики программного обеспечения вынуждены регулярно создавать «заплаты» на эти уязвимые места.
В руках сетевого администратора анализатор протоколов — весьма полезный инструмент, помогающий находить и устранять неисправности, избавляться от узких мест, снижающих пропускную способность сети, и обнаруживать проникновение в нее компьютерных взломщиков. Для тех, кто желает дать отпор компьютерным взломщикам, использующим анализаторы протоколов для организации атак на компьютерные системы, подключенные к сети, можно посоветовать следующее:
– обзаведитесь сетевым адаптером, который принципиально не может функционировать в беспорядочном режиме;
– приобретите современный сетевой интеллектуальный коммутатор;
– не допускайте несанкционированной установки анализаторов протоколов на компьютеры сети;
– шифруйте весь трафик сети.
Сетевые адаптеры, которые принципиально не могут функционировать в беспорядочном режиме, на самом деле существуют. Одни адаптеры не поддерживают беспорядочный режим на аппаратном уровне (их меньшинство), а остальные просто снабжаются драйвером, не допускающим работу в беспорядочном режиме, хотя этот режим и реализован в них аппаратно. Чтобы отыскать адаптер, не поддерживающий беспорядочный режим, достаточно связаться со службой технической поддержки любой компании, торгующей анализаторами протоколов, и выяснить, с какими адаптерами их программные пакеты не работают.
Учитывая, что спецификация РС99, подготовленная по инициативе корпораций Microsoft и Intel, требует безусловного наличия в сетевой карте беспорядочного режима, необходимо приобрести современный сетевой интеллектуальный коммутатор, который буферизует каждое отправляемое по сети сообщение в памяти и отправляет его по мере возможности точно по адресу. В результате отпадает надобность в «прослушивании» сетевым адаптером всего трафика для того, чтобы выбирать из него сообщения, адресатом которых является данный компьютер.
Чтобы не допустить несанкционированной установки анализаторов протоколов на компьютеры сети, следует применять средства из арсенала, который повсеместно используется для борьбы с программными закладками и, в частности, с троянскими программами.
Для шифрования всего трафика сети имеется широкий спектр программных пакетов, которые позволяют делать это достаточно эффективно и надежно. Возможность шифрования почтовых паролей предоставляется протоколом АРОР (Authentication POP) — надстройкой над почтовым протоколом POP (Post Office Protocol). При работе с протоколом АРОР по сети каждый раз передается новая зашифрованная комбинация, которая не позволяет злоумышленнику извлечь какую-либо пользу из информации, перехваченной с помощью анализатора протоколов. Проблема только в том, что не все почтовые серверы и клиенты поддерживают протокол АРОР.
Другой продукт под названием Secure Shell (SSL) был изначально разработан финской компанией SSH Communications Security и в настоящее время имеет множество реализаций, доступных бесплатно через Internet. Программный продукт SSL представляет собой защищенный протокол для осуществления безопасной передачи сообщений по компьютерной сети с помощью шифрования.
Особую известность среди компьютерных пользователей приобрела серия программных пакетов, предназначенных для защиты передаваемых по сети данных путем шифрования и объединенных присутствием в их названии аббревиатуры PGP (Pretty Good Privacy).
Кроме программных, существуют и аппаратные средства защиты. Имеются специальные дополнительные устройства, обеспечивающие достаточно надежную защиту. В отличие от всех рассмотренных выше антивирусных средств, аппаратный комплекс Sheriff, например, способен предотвратить нападение вируса. К сожалению, всегда существуют области жесткого диска, не защищенные платой Sheriff, a такие области есть практически всегда. То есть если защитить винчестер целиком, то как же работать?
Необходимо помнить, что антивирусные средства должны применяться комплексно и только такая комплексная защита с использованием надежного ревизора (ADinf), фагов DrWeb и Aidstest, а при необходимости и платы Sheriff, способна обеспечить максимальную безопасность.
Помимо программного обеспечения для сканирования на наличие вирусов, есть еще, например, блокираторы действий, программы контроля доступа и модули проверки целостности. Эти программы препятствуют совершению злонамеренных действий или модификации существующих файлов, а не сканируют файлы в поиске известного вредоносного программного обеспечения. Такой подход обеспечивает дополнительную защиту от атак, осуществляемых с помощью ActiveX, Java и другого разрушительного невирусного кода.
Подобные функции выполняют продукты таких производителей, как Aladdin, Computer Associates, Pelican Security, Sandbox Security, Stiller Research и Trend Micro. Они выявляют вредоносный код Java и ActiveX либо путем использования списков известных блоков кода, либо посредством выявления вредоносных действий.
Методы защиты от программных закладок
Признаки, выявляемые с помощью средств тестирования и диагностики, характерны как для компьютерных вирусов, так и для программных закладок. Например, загрузочные закладки успешно обнаруживаются антивирусными программами, которые сигнализируют о наличии подозрительного кода в загрузочном секторе диска. С инициированием статической ошибки на дисках хорошо справляется Disk Doctor, входящий в распространенный комплект утилит Norton Utilities. А средства проверки целостности данных на диске типа Adinf позволяют успешно выявлять изменения, вносимые в файлы программными закладками. Кроме того, эффективен поиск фрагментов кода программных закладок по характерным для них последовательностям нулей и единиц (сигнатурам), а также разрешение выполнения только программ с известными сигнатурами.
Выявление внедренного кода программной закладки заключается в обнаружении признаков его присутствия в компьютерной системе. Эти признаки можно разделить на следующие два класса:
– качественно-визуальные;
– обнаруживаемые средствами тестирования и диагностики.
К качественно-визуальным признакам относятся ощущения и наблюдения пользователя компьютерной системы, который отмечает определенные отклонения в ее работе (изменяются состав и длины файлов, старые файлы куда-то пропадают, а вместо них появляются новые, программы начинают работать медленнее или заканчивают работу слишком быстро, или вообще перестают запускаться).
Несмотря на то, что суждение о наличии признаков этого класса кажется слишком субъективным, тем не менее, они часто свидетельствуют о наличии неполадок в компьютерной системе и, в частности, о необходимости проведения дополнительных проверок присутствия программных закладок средствами тестирования и диагностики.
Например, пользователи пакета шифрования и цифровой подписи «Криптоцентр» с некоторых пор стали замечать, что цифровая подпись под электронными документами ставится слишком быстро. Исследование, проведенное специалистами ФАПСИ, показало присутствие программной закладки, работа которой основывалась на навязывании длины файла, В другом случае тревогу забили пользователи пакета шифрования и цифровой подписи «Криптон», которые с удивлением отметили, что скорость шифрования по криптографическому алгоритму ГОСТ 28147-89 вдруг возросла более, чем в 30 раз. А в третьем случае программная закладка обнаружила свое присутствие в программе клавиатурного ввода тем, что пораженная ею программа перестала нормально работать.
Задача защиты от программных закладок может рассматриваться в трех принципиально различных вариантах:
– не допустить внедрения программной закладки в компьютерную систему;
– выявить внедренную программную закладку;
– удалить внедренную программную закладку.
При рассмотрении этих вариантов защита от программных закладок сходна с защитой) компьютерных систем от вирусов. Как и в случае борьбы с вирусами, задача решается с помощью средств контроля за целостностью запускаемых системных и прикладных программ, а также за целостностью информации, хранимой в компьютерной системе и за событиями, критическими для функционирования системы. Однако данные средства действенны только тогда, когда сами они не подвержены влиянию программных закладок, которые могут:
– навязывать конечные результаты контрольных проверок;
– влиять на процесс считывания информации и запуск программ, за которыми осуществляется контроль;
– изменять алгоритмы функционирования средств контроля.
При этом чрезвычайно важно, чтобы включение средств контроля выполнялось до начала воздействия программной закладки либо когда контроль осуществлялся только с использованием программ управления, находящихся в ПЗУ компьютерной системы.
Интересный метод борьбы с внедрением программных закладок может быть использован в информационной банковской системе, в которой циркулируют исключительно файлы-документы. Чтобы не допустить проникновения программной закладки через каналы связи, в этой системе не допускается прием никакого исполняемого кода. Для распознавания событий типа «ПОЛУЧЕН ИСПОЛНЯЕМЫЙ КОД» и «ПОЛУЧЕН ФАЙЛ-ДОКУМЕНТ» применяют контроль за наличием в файле запрещенных символов: файл считается содержащим исполняемый код, если в нем присутствуют символы, которые никогда не встречаются в файлах-документах.
Конкретный способ удаления внедренной программной закладки зависит от метода ее внедрения в компьютерную систему. Если это программно-аппаратная закладка, то следует перепрограммировать ПЗУ компьютера. Если это загрузочная, драйверная, прикладная, замаскированная закладка или закладка-имитатор, то можно заменить их на соответствующую загрузочную, запись, драйвер, утилиту, прикладную или служебную программу, полученную от источника, заслуживающего доверия. Наконец, если это исполняемый программный модуль, то можно попытаться добыть его исходный текст, убрать из него имеющиеся закладки или подозрительные фрагменты, а затем заново откомпиллировать.
Универсальным средством защиты от внедрения программных закладок является создание изолированного компьютера (рис. 3.37). Компьютер называется изолированным, если выполнены следующие условия:
– в нем установлена система BIOS, не содержащая программных закладок;
– операционная система проверена на наличие в ней закладок;
– достоверно установлена неизменность BIOS и операционной системы для данного сеанса;
– на компьютере не запускалось и не запускается никаких иных программ, кроме уже прошедших проверку на присутствие в них закладок;
– исключен запуск проверенных программ в каких-либо иных условиях, кроме перечисленных выше, т. е. вне изолированного компьютера.
Для определения степени изолированности компьютера может использоваться модель ступенчатого контроля. Суть ее заключается в следующем. Сначала производится проверка, нет ли изменений в BIOS. Затем, если все в порядке, считываются загрузочный сектор диска и драйверы операционной системы, которые, в свою очередь, также анализируются на предмет внесения в них несанкционированных изменений. И, наконец, с помощью операционной системы запускается драйвер контроля вызовов программ, который следит за тем, чтобы в компьютере запускались только проверенные программы.
9. МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ ОТ УДАЛЕННЫХ АТАК
В настоящее время программно-аппаратные методы защиты от удаленных атак в сети Internet строятся на основе алгоритмов шифрования, практической реализацией которых являются криптопротоколы и межсетевые экраны (или брандмауэры).
При шифровании сетевых пакетов образуется так называемое защищенное соединение, главным элементом которого является криптопротокол. Для этих целей широко используются следующие протоколы криптографического шифрования:
– SKIP (Secure Key Internet Protocol);
– S-HTTP (Secure HTTP);
– SSL (Secure Socket Layer).
SKIP-пакет—это обычный IP-пакет, поле данных которого представляет собой SKIP-заголовок определенного спецификацией формата и криптограмму (зашифрованные данные). Такая структура SKIP-пакета позволяет беспрепятственно направлять его любому хосту в сети Internet (межсетевая адресация происходит по обычному IP-заголовку в SKIP-пакете). Конечный получатель SKIP-пакета по заранее определенному разработчиками алгоритму расшифровывает криптограмму и формирует обычный TCP- или UDP-пакет, который и передает соответствующему обычному модулю (TCP или UDP) ядра операционной системы. В принципе, ничто не мешает разработчику формировать по данной схеме свой оригинальный заголовок, отличный от SKIP-заголовка.
Программный пакет S-HTTP — это Защищенный HTTP-протокол, разработанный компанией Enterprise Integration Technologies (ЕГГ) специально для Web. Этот протокол позволяет обеспечить надежную криптозащиту только HTTP-документов Web-севера. Эта особенность протокола S-HTTP делает его абсолютно специализированным средством защиты соединения, и, как следствие, невозможным его применение для защиты всех остальных прикладных протоколов (FTP, TELNET, SMTP и др.).
Протокол SSL — универсальный протокол защиты соединения, функционирующий на сеансовом уровне OSI, разработанный компанией Netscape. Данный протокол использует криптографию с открытым ключом и на сегодняшний день является, пожалуй, единственным универсальным средством, позволяющим динамически защитить любое соединение с использованием любого прикладного протокола (DNS, FTP, TELNET, SMTP и т. д.). Это связано с тем, что SSL, в отличие от S-HTTP, функционирует на промежуточном сеансовом уровне OSI (между транспортным — TCP, UDP и прикладным — FTP, TELNET и т. д.). В ходе соединения вырабатывается криптостойкий сеансовый ключ, используемый в дальнейшем абонентами SSL-co-единения для шифрования передаваемых сообщений. Протокол SSL сегодня уже практически оформился в качестве официального стандарта защиты для HTTP-соединений, то есть для защиты Web-серверов. Большинство браузеров поддерживает этот протокол. Более того, под защищенным соединением в настоящее время все чаще понимается именно SSL.
Итак, очевидно, что повсеместное применение этих защищенных протоколов обмена, особенно SSL, способно поставить надежный барьер на пути всевозможных удаленных атак, прежде всего благодаря тому, что в случае использования криптографии становится бессмысленным перехват и анализ сетевого графика.
Однако пока ни один из существующих криптопротоколов (а их уже немало) не оформился в качестве единого стандарта защиты соединения, который поддерживали бы все производители сетевых операционных систем. С другой стороны, сдвиги в этом направлении все же имеются.
В настоящее время существуют несколько практических вариантов подключения корпоративных сетей к Internet:
– выделенный канал «точка- точка»;
– технология ISDN;
– технология Frame Relay.
Выделенный канал «точка- точка» предприятие может использовать для постоянного доступа в Internet (рис. 3.38, а). В этом канале применяется интерфейс V.35.
Технология ISDN используется, если у предприятие есть две цифровые коммутируемые линии (два В‑канала): для телефонных переговоров и для работы в Internet в произвольной комбинации (рис. 3.38, б). Скорость каждого В‑канала при выходе в Internet составляет 64 кбит/с (два В‑канала — 128 кбит/с).
Технология Frame Relay применяется атом случае, когда предприятие пользуется высокоскоростным соединением с Internet на основе специального маршрутизатора (рис. 3.38,б). Скорость передачи данных колеблется между максимальной (64 кбит/с) и минимально гарантированной в зависимости от загруженности сети передачи данных.
Существенно, что все перечисленные варианты подключения корпоративной сети к Internet, обладая в стандартной конфигурации высокой производительностью, не могут обеспечить:
– безопасное взаимодействие пользователей и информационных ресурсов, расположенных в Extranet- и intranet-сетях, с Internet; технологически единый комплекс мер защиты для распределенных и сегментированных локальных сетей подразделений предприятия;
– иерархическую систему защиты, предоставляющую адекватные средства обеспечения безопасности для различных по степени закрытости сегментов корпоративной сети.
Решить данные задачи становится возможным только при помощи технологии межсетевых экранов, организующей безопасное взаимодействие с внешней средой. Сравнительные характеристики возможных решений технологии межсетевых экранов (МЭ) приведены в табл. 3.8.
Таблица 3.8. Сравнительные характеристики возможных решений технологии межсетевых экранов
Вариант подключения
Технология ISDN
Технология Frame Relay
Выделенный канал точка — точка
Характеристика уровня защиты
Защита на основе аппаратного firewall
Высокий
Высокий
Экономически не эффективно
Защита на основе программного межсетевого экрана
Высокий/средний (в зависимости от типа МЭ)
Высокий/средний (в зависимости от типа МЭ)
Высокий/средний (в зависимости от типа МЭ)
Защита на основе маршрутизатора с функциями firewall
Высокий/средний (в зависимости от типа маршрутизатора)
Высокий/средний (в зависимости от типа маршрутизатора)
Высокий
Защита на основе маршрутизатора
Низкий/средний (в зависимости от типа маршрутизатора)
Низкий/средний (в зависимости от типа маршрутизатора)
Средний
При подключении компьютерной сети к Internet рекомендуется защитить эту сеть от НСД с помощью одного из следующих решений на основе:
– аппаратно-программного или программного межсетевого экрана;
– маршрутизатора со встроенным пакетным фильтром;
– специализированного маршрутизатора, реализующего механизм защиты на основе списков доступа;
– операционной системы (ОС) семейства UNIX или реже MS Windows, усиленной специальными утилитами, реализующими пакетную фильтрацию.
Рассмотрим технологии межсетевого экранирования более подробно.
Прямую защиту корпоративной системы предоставляет методика, так называемая «огненная стена» (Firewall). По этой методике в сети выделяется определенная буферная область, и далее все сетевые пакеты между локальной сетью и Internet проходят только через этот буфер.
Защита корпоративной сети на основе Firewall позволяет получить максимальную степень безопасности и реализовать следующие возможности:
– семантическую фильтрацию циркулирующих потоков данных;
– фильтрацию на основе сетевых адресов отправителя и получателя;
– фильтрацию запросов на транспортном уровне на установление виртуальных соединений;
– фильтрацию запросов на прикладном уровне к прикладным сервисам;
– локальную сигнализацию попыток нарушения правил фильтрации;
– запрет доступа неизвестного субъекта или субъекта, подлинность которого при аутентификации не подтвердилась, и др.;
– обеспечение безопасности от точки до точки: межсетевой экран, авторизация маршрута и маршрутизатора, тоннель для маршрута и криптозащита данных;
– многопротокольную маршрутизацию (IP, IPX, AppleTalk) и прозрачный мост через ISDN, асинхронное и синхронное, последовательное соединение, такое как выделенная линия. Frame Relay, SMDS, Switched 56 и Х.25;
– возможность обеспечения качества услуги от точки до точки посредством протокола резервирования ресурсов (RSVP), очереди с весами (WFQ), IP Multicast и AppleTalk Simple Multicast Routing Protocol £5MRP) для обеспечения таких приложений, как видеоконференции, объединение данных и голоса и др.;
– расширенный доступ к Internet/Intranet (трансляция сетевых адресов (NAT), IPeXchange шлюз IP-B-IP, простота и снижение стоимости доступа к Internet и Intranet);
– оптимизацию WAN (установление соединения по требованию (DDR), предоставление полосы по требованию (BOD) и OSPF по требованию, полустатическая маршрутизация, сжатие и фильтрация).
Существенно, что только выделенные межсетевые экраны позволяют осуществить комплексную зачету корпоративной сети от НСД, основанную как на традиционной синтаксической (IP-пакетной) фильтрации контролируемых потоков данных, осуществляемой большинством операционных систем семейств Windows и UNIX, так и на семантической, доступной только коммерческим специальным решениям.
В настоящее время все известные Firewall можно разделить на несколько основных групп:
– по исполнению;
– аппаратно-программный;
– программный;
– по функционированию на уровнях модели OSI;
– шлюз экспертного уровня;
– экранирующий шлюз (прикладной шлюз);
– экранирующий транспорт (шлюз сеансового уровня);
– экранирующий маршрутизатор (пакетный фильтр);
– по используемой технологии;
– stateftil inspection (контроль состояния протокола);
– на основе модулей-посредников (proxy);
– по схеме подключения;
– схема единой защиты сети;
– схема с защищаемым закрытым и не защищаемым открытым сегментами сети;
– схема с раздельной защитой закрытого и открытого сегментов сети.
Пример программно-аппаратной реализации такой стратегии Firewall — межсетевой экран.
Межсетевой экран — система (или комбинация систем), позволяющая разделить сеть на две или более частей и реализовать набор правил, определяющих условия прохождения пакетов из одной части в другую. Как правило, эта граница проводится между корпоративной сетью и Internet, хотя ее можно провести и внутри локальной сети. Таким образом, межсетевой экран пропускает через себя весь трафик. Он принимает решение, пропускать пакет или отбросить. Решение производится опять-таки на основании определенных правил, как и в случае чисто административного управления. Однако правила задаются уже не только на программном, но и на аппаратном уровне, что существенно затрудняет взлом подобных систем.
Необходимо отметить, что в настоящее время наряду с одноуровневыми межсетевыми экранами все большую популярность приобретают комплексные экраны, охватывающие уровни от сетевого до прикладного.
Конкретные реализации межсетевых экранов в значительной степени зависят от используемых вычислительных платформ, но, тем не менее, все системы этого класса используют два механизма, один из которых обеспечивает блокировку сетевого трафика, а второй, наоборот, разрешает обмен данными. При этом некоторые версии межсетевых экранов делают упор на блокировании нежелательного трафика, а другие — на регламентировании разрешенного межмашинного обмена. Возможный вариант защиты сети на основе аппаратно-программного межсетевого экрана представлен на рис. 3.39.
Поскольку межсетевые экраны ориентированы на защиту информации в открытых сетях типа Internet/intranet, основой подхода служит семиуровневая модель ISO/OSI (Международной организации по стандартизации). В соответствии с этой моделью межсетевые экраны классифицируются по тому, на каком уровне происходит фильтрация: канальном, сетевом, транспортном, сеансовом или прикладном. Поэтому можно говорить об экранирующих концентраторах (канальный уровень), маршрутизаторах (сетевой уровень), транспортном экранировании (транспортный уровень), шлюзах сеансового уровня (сеансовый уровень) и прикладных экранах (прикладной уровень).
Еще одним важным компонентом межсетевого экрана является система сбора статистики и предупреждения об атаке (так называемый аудит). Информация обо всех событиях (отказах, входящих, выходящих соединениях, числе переданных байт, использовавшихся сервисах, времени соединения и т. д.) накапливается в файлах статистики.
Упрощенно все межсетевые экраны можно разбить на две группы:
– фильтры пакетов;
– шлюзы приложений.
В основе функционирования фильтров пакетов лежит привязанность отдельных служб Internet к портам: например, WWW-соединения обычно используют порт 80. Для фильтрации пакетов, помимо номеров портов, нужны также IP-адреса задействованных компьютеров. Большинство существующих сегодня маршрутизаторов предлагают такой сервис. Современные продукты развития фильтров пакетов также позволяют анализировать статус соединения. Они различают вновь устанавливаемое и уже существующее соединения и при этом держат в памяти короткую историю прохождения предыдущих блоков данных. Однако содержимое пакетов не поддается исследованию с помощью фильтров, т. к. последние не понимают, например, протоколов HTTP и FTP.
Защита на основе маршрутизатора со встроенным пакетным Firewall характеризуется высокой эффективностью и безопасностью. В настоящее время одним из наиболее интересных является вариант защиты на основе маршрутизаторов Cisco 1720 (рис. 3.40).
Рассматриваемое решение основано на использовании маршрутизатора Cisco 1720 компании Cisco Systems. Высокая производительность маршрутизатора основана на схеме пакетной фильтрации и возможности установки дополнительной защиты, реализованной на основе firewall features. Этот вариант обладает следующими достоинствами:
– высокая производительность и пропускная способность;
– преимущества пакетного и прикладного шлюзов;
– простота и надежность в эксплуатации и установке;
– возможностью обеспечения безопасности от точки до точки: межсетевой экран, авторизация маршрута и маршрутизатора, тоннель для маршрута и криптозащита данных;
– многопротокольная маршрутизация (IP, IPX, AppleTalk) и прозрачный мост через ISDN, асинхронное и синхронное, последовательное соединение, такое как выделенная линия, Frame Relay, SMDS, Switched 56 и Х.25;
– возможность обеспечения качества услуги от точки до точки посредством протокола резервирования ресурсов (RSVP), очереди с весами (WFQ), IP Multicast и AppleTalk Simple Multicast Routing Protocol (SMRP) для обеспечения таких приложений, как видеоконференции, объединение данных и голоса и др.;
– расширенные возможности доступа к Internet/intranet (трансляция сетевых адресов (NAT), IPeXchange шлюз ipx-b-ip, простота и снижение стоимости доступа к Internet и intranet);
– возможность оптимизации WAN (установление соединения по требованию (DDR), предоставление полосы по требованию (BOD) и OSPF по требованию, полустатическая маршрутизация, сжатие и фильтрация).
Другой рассматриваемый вариант защиты основывается на использовании специализированного маршрутизатора с листами доступа. Он самый распространенный на сегодняшний день (рис. 3.41). В нем наиболее интересным решением является использование маршрутизаторов компании Cisco Systems, например Cisco 1750 и серии 2600 — Cisco 2610.
Данный вариант обладает высокой эффективностью и достаточной безопасностью. Основные преимущества такого решения заключаются в гибкости, мультисервисном доступе, защите инвестиций.
Для подключения сети предприятия к Internet можно использовать все существующие серии маршрутизаторов Cisco.
Еще один способ защиты основывается на операционных системах семейств UNIX Windows, усиленных функцией пакетной фильтрации. В данном случае системное программное обеспечение выполняет функции маршрутизации, фильтрации, сервисного обслуживания и др. По уровню надежности, безопасности и производительности наиболее предпочтительны решения на основе UNIX-подобной операционной системы (например, Solaris, BSD/OS 4.0 или Linux).
Шлюзы приложений контролируют содержимое пакетов данных на уровне приложений. Они способны проверять программы на наличие вирусов или удалять с Web-страниц активное содержимое, например, Java-апплеты или элементы управления ActiveX. При этом для отдельных служб требуются proxy-процессы, пересылающие запросы от компьютеров в локальной сети на Internet-сервер и проверяющие пакеты данных. Поскольку анализ трафика между Internet и локальной сетью требует определенных вычислительных ресурсов, решение этих задач должен взять на себя соответствующим образом оборудованный компьютер. В отличие от пакетных фильтров, шлюзы приложений позволяют ограничить количество допустимых операций за одно соединение.
Чтобы при выходе из строя одного из компонентов обезопасить локальную сеть от вторжений, рекомендуется создавать многоступенчатую систему межсетевых экранов. Целесообразно использовать шлюз приложений, снабженный дополнительной защитой в виде двух фильтров пакетов: одного — на входе в корпоративную сеть со стороны Internet, а другого — на ее выходе в Internet.
Симметричное построение обеспечивает также определенную защиту от несанкционированных действий в собственной сети компании. При этом Internet-сервер следует подключать к одной или нескольким сетевым платам таким образом, чтобы он был защищен шлюзом приложений и вместе с тем не находился бы непосредственно в локальной сети. Он имеет право общаться с внутренней сетью лишь через шлюз приложений и внутренние фильтры пакетов.
С другой стороны, безопасность данных не есть что-то застывшее. Одно лишь приобретение и рациональное конфигурирование подходящего межсетевого экрана не означает, что риск вторжений из Internet в корпоративную сеть исключен надолго. Помимо регулярного и, по возможности, оперативного контроля протокольных данных, администраторы должны неустанно следить за возникающими прорехами в системе безопасности и узнавать о новых сценариях вторжений извне, чтобы своевременно сделать в системе соответствующие «заплатки». Компаниям необходимо
периодически пересматривать планы мероприятий, направленные на защиту данных, а также конфигурацию межсетевого экрана.
Недостатки межсетевых экранов — их достаточно высокая стоимость и сложность в настройке. Зато они дают довольно высокую степень безопасности и позволяют современно выявлять не только атаки, но и попытки несанкционированного воздействия на корпоративную сеть. Сравнительные характеристики некоторых межсетевых экранов представлены в табл. 3.9.
Таблица 3.9. Сравнительные характеристики некоторых межсетевых экранов
Наименование продукта
Cisco PIX 520 (506,525,535)
Checkpoint Firewall-1
Застава
Raptor Symantec-AXENT
CyberWall-PLUS
Поставщик Производитель
Cisco Systems
Check Point
Элвис+
Symantec-AXENT
Network-1
Класс Гостехкомиссии России
3. разовая сертификация (для Cisco PIX520)
3 (сертификат на серию)
3 (сертификат на серию)
Нет
(4) Готовится к сертификации по NT2000
Используемая ОС (платформа)
ОС собственной разработки
Solaris (SPARC), NT (x86), HP-UX (HP)
Solaris (SPARC)
Solaris (SPARC), NT (x86). HP-UX (HP)
(х86)
Уровень фильтрации
Сеансовый, сетевой
Прикладной, сеансовый, сетевой
Прикладной, сеансовый, сетевой
Прикладной, сеансовый, сетевой
Прикладной, сеансовый, сетевой
Прозрачность для приложений
Прозрачен
Прозрачен
Прозрачен
Прозрачен
Прозрачен
Proxy
нет
нет
нет
Http.ftp, telnet, riogin, rsh, smtp, snmp, POP3,gopher, SSL, XI1, SQL, Ip, nntp, RealAudio, ReatVideo, StreamWofks.VOOIrve, NetShow, LDAP
http, ftp, RealAudio
Поддержка протоколов для фильтрации
ftp,
SMTP,
archie,
gopher,
telnet,
H.323,
NetMeeting,
InternetPhone,
RealAudio
FTP.RPC, Н.323, NetMeeting, VDOLive, NetShow, CU‑SeeMe, MS Exchange, RealAudio, SQLNet,Vosak, WebTheater.Win Frame
rsh,smtp,
snmp, РОРЗ, gopher, SSL. XI J.SQL, Ip, rmtp, RealAudio, RealVkJeo, StreamWorks.V DOIive, NetShow, LDAP
FTP.RPC,H.323, NetMeeting, VDOLive, NetShow, CU‑SeeMe, MS Exchange, RealAudio, SQLNel.Vosaic, WebTheater, WinFrame
более 1000 протоколов
Трансляция сетевых адресов
Есть
Есть
Есть
Есть
Есть
Аутентификация пользователей
Secure, RADIUS, TACACS+.AXENT, CryptoCard
S/Key.SecurtO, RADIUS, TACACS, TACACS+, Definder,
OSPassword
RADIUS
S/Key, SecurlD, RADIUS, TACACS. TACACS+, Definder, OSPassword
S/Key, SecurlD, RADIUS
Генерация отчетов
Текст
Бинарный формат
Текст
Текст
Текст, бинарный формат
Аутентифици-руемые протоколы
ftp, http, telnet
Все
РорЗ
Все
ftp, http, telnet, riogin
Реагирование на попытки НСД
Есть
Есть
Есть
Есть
Есть
Централизованное администрирование
Есть
Есть (отдельная утилита)
Нет
Есть
Есть
Предельная производительн
1 Гбит/с
100 Мбит/с
10 Мбит/с
100 Мбит/с
100 Мбит/с
Контекстный просмотр кода Java/ActiveX
Да
Да
Нет
Да
Да
Поддержка технологии Plug-and-Play
Есть
Невозможно
Нет
Есть
Есть
Лицензирова-
МИб
По количеству соединений (от 64 000 до 256 000 и выше)
На 25.50,250,500клиентов и unlimited
На 50,100 IP и unlimited
На 25,50,250,500 клиентов и unlimited
На рабочие станции -10,100,250 клиентов. На корпоративные серверы — 1, 5,10,15 серверов. На всю сеть — 100,500 сессий и unlimited
Рассмотрим возможные решения по организации безопасного подключения корпоративной сети к Internet.
В современных условиях более 50% различных атак и попыток доступа к информации осуществляется изнутри локальных сетей, в связи с чем классический «периметровый» подход к созданию системы защиты корпоративной сети становится недостаточно эффективным. О действительно защищенной от НСД сети можно говорить только при наличии в ней как средств защиты точек входа со стороны Internet, так и решений, обеспечивающих безопасность отдельных компьютеров, корпоративных серверов и фрагментов локальной сети предприятия. Последнее наилучшим образом обеспечивают решения на основе распределенных или персональных межсетевых экранов.
Внутренние корпоративные серверы компании, как правило, представляют собой приложения под управлением операционной системы Windows NT/2000, Netware или, реже, семейства UNIX, например, Linux или BSD 4.0/4.1. По этой причине корпоративные серверы становятся потенциально уязвимыми для различного рода атак. Так, например, широко распространенные серверы под управлением операционной системы Windows NT/2000 находятся выше стека протоколов сервера NT. Между тем, данная операционная система не проводит мониторинг и регистрацию событий в сети, не выявляет подозрительную активность в ней и не блокирует множество входящих и исходящих соединений. Из-за недостатка функций контроля доступа и обнаружения вторжений становятся открытыми операционные системы корпоративных серверов, а соответственно и их приложения, для различного рода атак, например, DoS-атак (Ping Flood SYN Flood, IP Packet Fragmentation, TCP and UDP Port Spooring, Session Highjacking,' Oversized IP Packet Attacks), а также внедрения троянских коней и подбора пароля.
Даже если сервер компании защищен стандартными средствами, это не предотвратит попытки нарушения безопасности самой операционной системы. Если атакующий, используя DoS-атаку, блокирует сервер, автоматически блокируется и приложение! Как результат, компания несет убытки, связанные с нарушением работоспособности своей сети. Именно поэтому рассмотрим способы использующихся специальных защитных механизмов защиты серверов.
Простейшим классическим способом защиты внутренних серверов компании от внешних атак является установка Firewall, например, Firewall-1 компании Checkpoint или Cisco PIX компании Cisco, между серверами и Internet (рис. 3.42).
При правильной конфигурации большинство Firewall могут защитить внутренние серверы от внешних злоумышленников, а некоторые из них могут даже выявлять и предотвращать атаки типа «отказ в обслуживании». Тем не менее, Этот подход не лишен некоторых недостатков.
Когда корпоративные серверы защищены одним-единственным межсетевым экраном, все правила контроля доступа и все верифицированные данные оказываются сосредоточенными в одном месте. Таким образом, Firewall становится «узким местом» и по мере возрастания нагрузки значительно снижается его производительность. Конечно, Firewall можно дополнить программным обеспечением, балансирующим нагрузку (например, FloodGate компании Checkpoint) и многопроцессорными модулями, но эти шаги только усложнят систему и повысят ее стоимость.
Альтернативой классической схеме является схема децентрализованной защиты корпоративных серверов, основанная на установке продукта Firewall-1 компании Checkpoint или Cisco PIX компании Cisco перед каждым сервером (рис. 3.43). В результате того, что Firewall становится выделенным ресурсом сервера, решается проблема «узкого места» и уменьшается влияние отказа отдельного межсетевого экрана на общее состояние сети.
Однако и данный подход не лишен существенных недостатков. Система из десяти серверов потребовала бы десяти лицензированных конфигураций Firewall, работающих на десяти аппаратных платформах с десятью операционными системами, требующими администрирования и обслуживания. Соответственно, на порядок возрастают величина издержек, сложность администрирования и частота отказов. Даже если учесть, что влияние отказа отдельного Firewall сокращается в результате демонтажа лишь одной системы вместо десяти, среднее время наработки на отказ для десяти продуктов firewall оказывается в десять раз хуже, чем для одного. Например, если в сервере происходит отказ аппаратного обеспечения, в среднем, один раз в двадцать месяцев, то при использовании десяти серверов этот промежуток времени сократится до двух.
Наиболее подходящим решением этой проблемы является размещение средств безопасности на одной платформе с сервером, который они будут защищать. Эта задача решается путем использования распределенных или персональных межсетевых экранов, например, CyberwallPLUS компании Network-1 (рис. 3.44).
Данные решения существенно дополняют функциональные возможности традиционных (периметровых) экранов и могут использоваться для защиты как внутренних, так и Internet-серверов.
В отличие от традиционных продуктов Firewall, как правило, представляющих собой локальные «контрольные точки» контроля доступа к критическим информационным ресурсам корпорации, распределенные межсетевые экраны—это дополнительное программное обеспечение, которое защищает корпоративные сервера, например Internet-сервер. Сравним традиционный и распределенный межсетевые экраны по таким показателям, как:
– эффективность;
– простота установки;
– управление;
– производительность;
– стоимость.
Результаты сравнения представлены в табл. З.10.
Таблица 3.10. Сравнительные характеристики традиционных и распределенных межсетевых экранов
Вид экрана
Характеристика
Эффективность
Простота установки
Управление
Производительность
Стоимость
Традиционный
Часто располагается по периметру сети, обеспечивая лишь один слой защиты. И если этот единственный слой нарушен, система оказывается незащищенной перед любыми атаками
Устанавливается как часть конфигурации корпоративной сети
Управляется сетевым администратором
Является устройством обеспечения межсетевого обмена с фиксированным ограничением производительности по пакетам в секунду. Он не подходит для растущих серверных парков, соединенных между собой коммутированными местными сетями
Являются, как правило, системами с фиксированными функциями и достаточно высокой стоимостью (примерно от $4500)
Распределенный
Функционирует на уровне ядра операционной системы и надежно защищает корпоративные сервера, проверяя все входящие и исходящие пакеты
Представляет собой программное обеспечение, которое устанавливается и удаляется в считанные минуты
Может управляться либо сетевым администратором, либо пользователем локальной сети
Позволяет производить наращивание серверных парков без ущерба принятой политике безопасности. Несмотря на то что встроенный Firewall в определенной мере загружается с центрального процессора хоста, обработка правил безопасности распространяется на всех участников серверного парка, допуская неограниченный рост сети
Представляет собой программное обеспечение, которое стоит, как правило, от 1/5 до 1/10 цены традиционных экранов
Технология распределенных экранов появилась сравнительно недавно. Поэтому, чтобы более детально разобраться с работой и преимуществами данной технологии, рассмотрим одно из возможных решений.
Возьмем для примера межсетевые экраны CyberwallPLUS. Эти межсетевые экраны сочетают в себе средства контроля сетевого доступа со встроенными средствами выявления несанкционированного доступа. Они работают в режиме ядра, проверяя каждый пакет информации по мере его поступления из сети. Несанкционированные действия, такие как попытки взлома и несанкционированного доступа, блокируются до перехода на уровень приложений сервера.
Основные преимущества распределенных Firewall для защиты Internet-серверов следующие:
– обеспечение безопасности входящего и исходящего графика на всех NIC, закрепленных за сервером;
– обеспечение масштабируемой архитектуры путем распространения безопасности Firewall на многочисленные серверы;
– устранение традиционного продукта Firewall как единственного места сбоев;
– обеспечение недорогого, легкого в реализации и управлении решения безопасности (программное обеспечение сервера в сравнении с сетевым аппаратным обеспечением).
Важно, что межсетевой экран CyberwallPlus-SV использует уникальную структуру безопасности и, обеспечивая присутствие двух ее ключевых элементов (функций контроля доступа к ресурсам сети и активного обнаружения вторжений), защищает операционную систему Windows NT от попыток нарушения защиты.
Ядро безопасности экрана CyberwallPlus-SV расположено между сетевой картой сервера и стеком протоколов — ниже, чем защищаемые приложения.
Для обеспечения безопасности NT‑приложений, таких как корпоративные серверы, рекомендуется защитить доступ к ним через операционную систему. CyberwallPlus-SV позволяет закрыть все неиспользуемые порты, тем самым ограничивая доступ к NT‑приложениям и сервисам. Те или иные сервисы могут иметь специфические сетевые адреса для направления (входящий/исходящий) и для времени (дата, время Windows), которые задают базу правил контроля доступа.
Межсетевой экран CyberwallPlus-SV также обеспечивает активное обнаружение вторжений для NT-системы, защищая ее от атак и сканирования. Наиболее легким путем негативного воздействия на Internet-сервер является блокирование NT‑сервера, на котором находится приложение. Обычно это делается посредством DoS-атаки, при которой поток пакетов, отправленных серверу, перегружает память и нарушает работоспособность системы. Также примером нарушения зашиты являются атаки типа Ping Flood и SYN Flood.
Другой способ нарушения защиты Internet-сервера — сканирование NT‑сервера на наличие открытого порта или «backdoor». Обычно это называется сканированием ТСР-или UDP‑портов.
CyberwallPlus-SV предотвращает DoS-атаки и сканирование портов, конфигурируя систему безопасности: например, ограничивая число обращений к серверу за некоторый отрезок времени. Установки также определяют количество портов, которые могут быть использованы (опробованы) в течение определенного отрезка времени Если эти условия нарушаются, CyberwallPtus-SV может прервать соединение, записать нарушение и сообщить о нем администратору по электронное почте. В результате доступ к корпоративным серверам для различного рода злоумышленников надежно блокируется.
Таким образом, межсетевые экраны CyberwallPlus обеспечивают дополнительный уровень защиты платформ под управлением операционной системы Windows NT/2000, на которых установлены корпоративные приложения, например Internet-сервер. Кроме того, CyberwallPlus-SV может также предотвратить применение атак известных типов для вторжений на критичные серверы компании и сообщить администратору безопасности о подозрительной деятельности в сети.
10. ВЕДЕНИЕ В КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ
Криптографические методы традиционно используются для шифрования конфиденциальной информации, представленной в любой материальной форме в виде:
– письменных текстов;
– данных, хранящихся на гибком диске;
– сообщений, передаваемых в телекоммуникационных сетях;
– программного обеспечения, графики или речи, закодированных цифровыми последовательностями и т.п.
Эти методы могут быть использованы и для многих других приложений, связанных с защитой информации, в частности, для обнаружения фактов вторжения в телекоммуникационную или компьютерную сеть и введения в нее имитирующих сообщений. В настоящее время криптографическое преобразование информации в форму, непонятную для посторонних, является универсальным и надежным способом ее защиты.
Проблема защиты информации путем ее преобразования, исключающего ее прочтение посторонним лицом, волновала человеческий ум с давних времен. Поэтому сделаем небольшой экскурс в историю. Рассмотрим лишь небольшой отрезок времени и посмотрим, что и как шифровали раньше.
История применения криптографических методов насчитывает десятки веков. Упоминания о криптографии (от греч. kryptos — скрытый, тайный) встречаются еще у Геродота и Плутарха, а также в русских рукописях XII—XIII веков. Но криптография появилась гораздо раньше — она ровесница истории человеческого языка.
Одной из важнейших способностей человека является умение общаться с себе подобными. Изначально для передачи сведений о том, что происходит в окружающем мире, о фактах своей субъективной реальности, человек использовал жесты и мимику.
Язык тайной передачи сообщений жестами активно используется и в наши дни представителями некоторых криминальных «специальностей», например, шулеров. Во время «работы» пара шулеров ведет весьма оживленную беседу, незаметную для непосвященных и понятную только наметанному глазу профессионала.
Тема передачи сообщений посредством условных знаков или жестов активно используется писателями и сценаристами приключенческого жанра. Вспомните фильмы и книги о войне: цветок на окне, поднятая или опущенная занавеска, объявление с условной фразой в газете, выбор цветов во время покупки их у цветочника-связника и т.д.
С развитием речи — второй сигнальной системы человека, которая по праву считается одним из важнейших отличительных признаков ";" качественно выделяющих человечество из животного мира, — информационный обмен между членами даже самого дикого племени многократно усложнился. Люди стали разговаривать с кем-то больше, с кем-то меньше, ведь коммуникация в человеческом обществе имеет еще один отличительный признак — она узко избирательна. Разговаривая с разными людьми, мы ведем себя совершенно по-разному: то, что сообщаем одним, стараемся скрыть от других.
Как видим, уже с самого зарождения человеческой цивилизации люди научились сообщать информацию так, чтобы она стала известна одним людям и не была известна другим. Пока для передачи сообщений использовались исключительно голос и жесты, сделать это не составляло особого труда: нужно было всего лишь исключить присутствие в непосредственной близости от разговаривающих тех людей, для которых сообщаемые сведения не были предназначены. Однако иногда собеседники не могли скрыться от посторонних ушей и глаз. Для обмена информацией в подобных обстоятельствах была создана (а точнее, сложилась сама собой) система сообщений, кодированных речью или жестами. В различных ситуациях она носила совершенно различный характер — от отдельного тайного знака, говорящего о наступлении определенного события, до развитых секретных языков, позволявших выражать практически любые мысли. Даже в самом простейшем случае это была, по сути своей, вторая сигнальная система в миниатюре, предназначенная для передачи ограниченного набора сведений и известная, как правило, лишь небольшой группе посвященных. Это был альтернативный язык общения, который и положил начало развившемуся позже искусству секретно передавать сообщения.
Конечно же, использование развитого «секретного» языка для защиты передаваемых данных обеспечивает гораздо большую свободу общения, чем несколько тайных знаков, о которых участники договорились заранее, однако и этот путь имеет свои недостатки. Трудно уследить за всеми, знающими «секретный» язык, и рано или поздно он станет понятным тому, от кого пытаются скрыть разговор. В этом случае возникнет необходимость заменить его другим. Но разработать достаточно мощный язык и обучить ему нужное количество людей трудно и накладно, а сделать это оперативно — практически невозможно. Поэтому подобный подход к проблеме проходит только в | особых случаях, когда тому благоприятствуют обстоятельства. Так, он использовался американцами во время второй мировой войны: корабли ВМФ США осуществляли связь на языке малочисленного и компактно проживающего индейского племени. На каждом корабле было несколько индейцев-шифровальщиков; у противника не было' почти никаких шансов заполучить себе такую «ходячую шифровальную машину».
С развитием письменности задача обеспечения секретности и подлинности передаваемых сообщений стала особенно актуальной. Действительно, сообщение, переданное словесно или показанное жестами, доступно для постороннего только в тот краткий промежуток времени, пока оно находилось «в пути», а в его авторстве и подлинности у получателя не может быть никаких сомнений, потому что он видит своего собеседника. Иное дело, когда сообщение записано. В этом случае оно уже живет отдельной жизнью и имеет свой путь. Сообщение, записанное на каком-либо носителе, существует в материальном мире, и у людей, желающих ознакомиться с его содержанием против воли отправителя и получателя, появляется гораздо больше шансов это сделать. Поэтому именно после возникновения письменности появилось искусство тайнописи — набор методов, предназначенных для секретной передачи записанных сообщений от одного человека другому.
Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. Тому примеры — священные книги Древнего Египта, Древней Индии. Историки хорошо знают, что уникальные древние рукописные тексты, как правило, допускают неоднозначные трактовки, а часто и вообще не могут быть разумно интерпретированы современными учеными. И только массовые тиражи идентичных печатных текстов более поздних времен позволяют им достоверно говорить об однозначном восстановлении смысла информации, закодированной в этих текстах. Посмотрите на детские рисунки. Они тоже могут содержать некоторый текст (рис. 4.1).
С широким распространением письменности криптография стала формироваться как самостоятельная наука. Данные о первых способах тайнописи весьма обрывочны. Предполагается, что она была известна в Древнем Египте и Вавилоне. До нашего времени дошли сведения о том, что искусство секретного письма использовалось в Древней Греции. Первые действительно достоверные данные с описанием метода шифрования относятся к периоду смены старой и новой эры и описывают шифр Цезаря — способ, которым Юлий Цезарь прятал свои записи от излишне любопытных глаз. С высоты достижений современной криптографии шифр Цезаря предельно примитивен: в нем каждая буква сообщения заменялась на третью следующую за ней в алфавитном порядке букву. Однако для того времени, когда умение читать и писать было редким исключением, его криптостойкости вполне хватало.
Уже тогда использование шифра решало проблему секретности передаваемого сообщения, а проблема его подлинности решалась практически сама собой:
– человек, не знавший шифр, не мог внести осмысленные изменения в зашифрованные текстовые сообщения, а изменения, внесенные наобум, приводили к тому, что после расшифровки получался бессмысленный набор букв;
– поскольку отправляемые сообщения записывали от руки, то запомнить почерк каждого из нескольких десятков наиболее важных своих корреспондентов не составляло особого труда.
Но проходили годы, и переписка, как средство общения, стала неотъемлемой частью процесса передачи информации. Чем оживленнее велась переписка в обществе, тем больше ощущалась потребность в средствах ее засекречивания. Соответственно, возникали все более совершенные и хитроумные шифры. Сначала появились шифровальщики, потом группы из нескольких шифровальщиков, а затем и целые шифровальные отделы. Когда объемы подлежащей закрытию информации, стали критическими, были созданы механические устройства для шифрования. Основными потребителями криптографических услуг стали дипломатические и шпионские миссии, тайные канцелярии правителей и штабы войсковых соединений. Для этого этапа развития криптографии характерно следующее:
– защите подвергались исключительно текстовые сообщения, написанные на естественных языках (других типов данных в то время просто не существовало);
– использовавшиеся шифры были достаточно простыми (шифрование сначала осуществлялось вручную, позднее были изобретены сравнительно несложные механические приспособления);
– научный подход к построению шифров и их раскрытию отсутствовал (криптография и криптоанализ были скорее искусством, чем наукой);
– криптографию использовали только высшие правящие слои и военная верхушка государств;
– основной задачей криптографии являлась защита передаваемых сообщений от несанкционированного ознакомления (поскольку шифровали исключительно текстовые сообщения, то никаких дополнительных методов защиты от навязывания ложных данных не применялось, т. к. в силу огромной избыточности, характерной для естественных языков, была ничтожно мала вероятность получить нечто осмысленное после расшифровки искаженного зашифрованного текста).
Особенно бурно криптографические системы развивались в годы первой и второй мировых войн. Благодаря вычислительным средствам ускорились разработка и совершенствование криптографических методов. Именно появление в середине прошлого столетия первых электронно-вычислительных машин кардинально изменило ситуацию.
С проникновением компьютеров в различные сферы жизни возникла принципиально новая отрасль — информационная индустрия. Объем циркулирующей в обществе информации примерно удваивается каждые пять лет. Человечество создало информационную цивилизацию, в которой от успешной работы средств обработки информации зависит само благополучие и даже выживание человечества в его нынешнем качестве. Произошедшие за этот период изменения можно охарактеризовать следующим образом:
– объемы обрабатываемой информации возросли за последние полвека на несколько порядков;
– информация приобрела стоимость, которую во многих случаях даже невозможно подсчитать;
– доступ к определенным данным позволяет контролировать значительные материальные и финансовые ценности;
– обрабатываемые данные стали чрезвычайно многообразными, а не исключительно текстовыми;
– информация полностью «обезличилась», т. е. особенности ее материального представления потеряли свое значение;
– характер информационных взаимодействий чрезвычайно усложнился (наряду с классической задачей защиты передаваемых текстовых сообщений от несанкционированного прочтения и их искажения возникли новые задачи защиты информации, ранее стоявшие и решавшиеся в рамках используемых «бумажных» технологий);
– субъектами информационных процессов теперь являются не только люди, но и созданные ими автоматические системы, действующие по заложенной в них программе;
– вычислительные возможности современных компьютеров подняли на совершенно новый уровень как возможности по реализации шифров, ранее немыслимых из-за своей сложности, так и возможности аналитиков по их взлому.
С появлением компьютеров и использованием для связи компьютерных сетей шифрование данных стало более изощренным и актуальным. Благодаря созданию новых мощных компьютеров, технологий сетевых и нейронных вычислений стало возможно «взломать» криптографические системы, до недавнего времени считавшиеся практически нераскрываемыми. Вместе с тем расширилось использование компьютерных сетей, в частности, глобальной сети Internet, по которым передаются большие объемы информации государственного, военного, коммерческого и частного характера, доступ к которой для посторонних лиц недопустим. Все это привело к тому, что очень быстро практическая криптография в деловой сфере сделала огромный скачок в развитии, причем сразу по нескольким направлениям:
– разработаны стойкие блочные шифры с секретным ключом, предназначенные для решения классической задачи — обеспечения секретности и целостности передаваемых или хранимых данных;
– созданы методы решения новых, нетрадиционных задач защиты информации, наиболее известными из которых являются задачи цифровой подписи документа и открытого распределения ключей.
Современные криптографические системы позволяют шифровать сообщения так, что на их раскрытие могут понадобиться десятки или даже сотни лет непрерывной работы.
В настоящее время используются различные компьютерные криптоалгоритмы и программы для шифрования данных, наиболее известны из них DES, RS A, PGP, ГОСТ 28147—89.
Кодирование и шифрование — основные методы криптографической защиты. Наряду с ними к криптографическим методам относят методы рассечения (разнесения) и сжатия (расширения) информации.
Рассечение (разнесение) информации заключается в том, что массив защищенных данных делится на части, каждая из которых в отдельности не позволяет раскрыть содержание защищаемой информации. Эти фрагменты можно передавать по нескольким источникам, разносить по времени и по месту записи на дискете или любом другом запоминающем устройстве.
Сжатие (расширение) информации представляет собой замену часто встречающихся одинаковых последовательностей символов некоторыми заранее выбранными символами или же подмешивание дополнительной информации.
Основные положения и определения криптографии
Очень часто через известную всем сеть Internet передается Достаточно важная конфиденциальная информация. Потеря, подделка такой информации или несанкционированный доступ к ней может привести к самым серьезным последствиям. Популярный рекламный слоган «Интернет доступен всем» говорит о многом, и, к сожалению, не только о хорошем. Ясно, что доступность этого ресурса именно всем и влечет за собой определенную опасность для всех. Действительно, открытость и прозрачность устройства сети является одним из необходимых условий ее роста и распространения. Однако глобальная сеть объединяет в настоящее время людей с самыми разными интересами и наклонностями. Пользователями сети являются не только люди с кристально чистыми намерениями, но и те, кто использует информацию в корыстных целях, т. е. лица, которые хотят и, главное, могут это сделать, используя достаточно много существующих точек в сети, где информация может быть перехвачена или сфальсифицирована.
Мы живем в эпоху господства информационных технологий, когда обладание информацией является определяющей силой. И эта информация нуждается сегодня в серьезной защите.
Проблемой защиты информации путем ее преобразования занимается криптология (kryptos — тайный, logos — сообщение). Она имеет два направления: криптографию и криптоанализ. Цели этих направлений прямо противоположны.
Криптография занимается поиском, исследованием и разработкой математических методов преобразования информации, основой которых является шифрование.
Сфера интересов криптоанализа — исследование возможности расшифровки информации.
Для людей, не занимающихся вплотную проблемами информационной безопасности, криптография кажется сложным и непонятным делом, связанным с шифрами, кодами и секретными сообщениями. Действительно, ее практическая реализация требует достаточно серьезных знаний. Используя более общее определение, можно сказать, что криптография — это наука об обеспечении безопасности данных. В основе криптографической защиты информации лежит ее шифрование, проще говоря, преобразование данных к такому виду, что они становятся нечитабельными для тех, для кого не предназначены. Чтобы обеспечить нечитабельность для одних и доступность информации для других, необходимо соблюдать 4 основные правила обеспечения безопасности:
– конфиденциальность;
– аутентификацию;
– целостность;
– контроль участников взаимодействия.
С конфиденциальностью и аутентификацией все ясно: не зная ключа, сообщение прочитать весьма затруднительно. То есть, управляя раздачей ключей, вы управляете и доступом к информации.
Для контроля целостности используется построение так называемого дайджеста сообщения или электронной подписи. При построении этой подписи используетсяспециальная функция, схожая с известной функцией CRC (Control Cyclic Code). Результаты работы этой функции шифруются. Получателю остается только выполнить эту функцию для принятого сообщения и сравнить результат с расшифрованным.
– Современная криптография изучает и развивает 4 основные направления:
– симметричные криптосистемы (с секретным ключом);
– несимметричные криптосистемы (с открытым ключом);
– системы электронной подписи;
– системы управления ключами.
Расширение практического применения криптографии в сетях, а также появление современных криптографических методов привело к необходимости введения понятий, определений и собственного математического аппарата в этой области.
Термин «криптография» далеко ушел от своего первоначального значения — «тайнопись, тайное письмо». Сегодня эта дисциплина объединяет методы защиты информационных взаимодействий совершенно различного характера, опирающихся на преобразование данных по секретным алгоритмам, включая и алгоритмы, использующие секретные параметры.
Основные направления использования криптографических методов — это передача конфиденциальной информации по каналам связи (например, электронная почта), установление подлинности передаваемых сообщений, хранение информации (документов, баз данных) на носителях в зашифрованном виде.
Современные криптографические системы обеспечивают высокую стойкость зашифрованных данных за счет поддержания режима секретности криптографического ключа. Однако на практике любой шифр, используемый в той или другой криптосистеме, поддается раскрытию с определенной трудоемкостью. В связи с этим возникает необходимость оценки криптостойкости применяемых шифров в алгоритмах криптопреобразования.
Обеспечение аутентичности, целостности и неоспоримости информации
Помогая сохранить содержание сообщения в тайне, криптографию можно использовать для обеспечения:
– аутентификации;
– целостности;
– неоспоримости.
При аутентификации получателю сообщения требуется убедиться, что оно исходит от конкретного отправителя. Злоумышленник не может прислать фальшивое сообщение от чьего-либо имени.
При определении целостности получатель сообщения в состоянии проверить, были ли внесены какие-нибудь изменения в полученное сообщение во время его передачи. Злоумышленнику не позволено заменить настоящее сообщение на фальшивое.
Неоспоримость необходима для того, чтобы отправитель сообщения не смог впоследствии отрицать, что он является автором этого сообщения.
Перечисленные задачи часто приходится решать на практике для организации обмена информацией при помощи компьютеров и компьютерных сетей. Подобные же задачи возникают и в случае личностного человеческого общения: часто требуется проверить, а действительно ли ваш собеседник тот, за кого он себя выдает, и подлинны ли предъявленные им документы, будь то паспорт, водительское удостоверение или страховой полис. Вот почему в обыденной жизни не обойтись без аутентификации, проверки целостности и доказательства неоспоримости, а значит, и без криптографии.
Эффективность аутентификации определяется, прежде всего, отличительными особенностями каждого пользователя. В качестве таковых часто применяются пароли. Однако пользователи, как правило, стараются создавать легко запоминающиеся пароли, а значит, и легкие для их угадывания или подбора. С другой стороны, сложные пароли приходится записывать (например, на листке настольного календаря). Решение данной проблемы возможно закрытием выбранных паролей криптографическими методами. В настоящее время аутентификация, осуществляемая пользователем, обеспечивается с помощью:
– смарт-карт;
– средств биометрии;
– клавиатуры компьютера;
– криптографии с уникальными ключами для каждого пользователя.
Целостность информации обеспечивается с помощью криптографических контрольных сумм и механизмов управления доступом и привилегий. В качестве криптографической контрольной суммы для обнаружения преднамеренной или случайной модификации данных используется код аутентификации сообщения — MAC (Message Autentification Code). Принцип обнаружения модификации данных в этом случае состоит в следующем. С помощью криптографического алгоритма и секретного ключа на основании содержания файла вычитается начальное значение MAC, которое хранится в запоминающем устройстве. Если необходимо проверить целостность файла, производится повторный расчет MAC с использованием того же секретного ключа. В случае совпадения начального и повторного значений MAC принимают решение об отсутствии модификации файла.
Кроме того, для обнаружения несанкционированных изменений в передаваемых сообщениях можно применить:
– электронно-цифровую подпись (ЭЦП), основанную на криптографии с.открытым и секретными ключами;
– программы обнаружения вирусов;
– назначение соответствующих прав пользователям для управления доступом;
– точное выполнение принятого механизма привилегий.
Неоспоримость получаемого сообщения подтверждается широко используемой электронно-цифровой подписью.
Шифрование в компьютерной сети
Поскольку высок уровень компьютерных преступлений, связанных с несанкционированным доступом к информации в сетях различного масштаба, существует необходимость создавать определенные механизмы защиты сетей. Практика показала, что единственно надежным механизмом защиты информации в сетевых каналах связи является ее шифрование, а значит, использование криптографического преобразования конфиденциальных данных. При этом обеспечение защиты информации указанным методом не должно нарушать работу сети в реальном масштабе времени, что возможно при выполнении шифрования со скоростью до 1 Гбит/с и выше.
Рассмотрим особенности шифрования в компьютерных сетях более подробно.
Виды шифрования в сетевых каналах связи
Одной из отличительных характеристик любой компьютерной сети является ее деление на так называемые уровни, каждый из которых отвечает за соблюдение опрёделенных условий и выполнение функций, необходимых для общений между компьютерами, связанными в сеть. Это деление на уровни имеет фундаментальное значение для создания стандартных компьютерных сетей. Поэтому в 1984 году несколько международных организаций и комитетов объединили свои усилия и выработали примерную модель компьютерной сети, известную под названием OSI (Open Systems Interconnection — Модель открытых сетевых соединений).
Согласно модели OSI, коммуникационные функции разнесены по уровням. Функции каждого уровня не зависят от функций ниже- и вышележащих уровней. Каждый уровень может непосредственно общаться только с двумя соседними. Модель OSI определяет 7 уровней: верхние 3 служат для связи с конечным пользователем, а 4 нижних ориентированы на выполнение коммуникационных функций в реальном масштабе времени (рис. 4.4).
Теоретически шифрование данных для передачи по каналам связи компьютерной сети может осуществляться на любом уровне модели OSI. На практике это обычно делается либо на самых нижних, либо на самых верхних уровнях. Если данные шифруются на нижних уровнях, шифрование называется канальным, а если на верхних, то такое шифрование называется сквозным. Оба этих подхода к шифрованию данных имеют свои преимущества и недостатки. Возможна комбинация указанных видов шифрования (рис. 4.5).
При канальном шифровании шифруются абсолютно все данные, проходящие по каждому каналу связи, включая открытый текст сообщения, а также информацию о его маршрутизации и об используемом коммуникационном протоколе. Однако в этом случае любой интеллектуальный сетевой узел (например, коммутатор) будет вынужден расшифровывать входящий поток данных, чтобы соответствующим образом его обработать, снова зашифровать и передать на другой узел сети.
Тем не менее, канальное шифрование представляет собой очень эффективное средство защиты информации в компьютерных сетях. Поскольку шифрованию подлежат все данные, передаваемые от одного узла сети к другому, у криптоаналитика нет никакой дополнительной информации о том, кто служит источником этих данных, кому они предназначены, какова их структура и т. д. А если еще позаботиться и о том, чтобы, пока канал простаивает, передавать по нему случайную битовую последовательность, сторонний наблюдатель не сможет даже сказать, где начинается и где заканчивается текст передаваемого сообщения.
Не слишком сложной является и работа с ключами. Одинаковыми ключами следует снабдить только два соседних узла сети связи, которые затем могут менять используемые ключи независимо от других пар узлов.
Самый большой недостаток канального шифрования заключается в том, что данные приходится шифровать при передаче по каждому физическому каналу компьютерной сети. Отправка информации в незашифрованном виде по какому-то из каналов ставит под угрозу обеспечение безопасности всей сети. В результате стоимость реализации канального шифрования в больших сетях может оказаться чрезмерно высокой.
Кроме того, при использовании канального шифрования дополнительно потребуется защищать каждый узел компьютерной сети, по которому передаются данные. Если абоненты сети полностью доверяют друг другу, и каждый ее узел находится там, где он защищен от злоумышленников, на этот недостаток канального шифрования можно не обращать внимания. Однако на практике такое положение встречается чрезвычайно редко. Ведь в каждой фирме есть конфиденциальные данные, ознакомиться с которыми могут только сотрудники одного отдела, а за его пределами доступ к этим данным необходимо ограничивать до минимума.
При сквозном шифровании криптографический алгоритм реализуется на одном из верхних уровней модели OSI. Шифрованию подлежит только содержательная часть сообщения. По мере шифрования добавляется служебная информация, необходимая для маршрутизации сообщения, и результат переправляется на более низкие уровни для отправки адресату.
Передаваемое сообщение теперь не требуется постоянно шифровать и расшифровывать при его прохождении через каждый промежуточный узел сети. Оно остается зашифрованным на всем пути от отправителя к получателю.
Основная проблема, с которой сталкиваются пользователи сетей, где применяется сквозное шифрование, связана с тем, что служебная информация, используемая для маршрутизации сообщений, передается по сети в незашифрованном виде. Опытный криптоаналитик может извлечь для себя массу полезной информации, зная, кто с кем, как долго и в какие часы общается через компьютерную сеть. Для этого ему даже не потребуется быть в курсе предмета общения.
Сквозное шифрование по сравнению с канальным характеризуется более сложной работой с ключами, так как каждая пара пользователей компьютерной сети должна быть снабжена одинаковыми ключами, прежде чем они смогут связаться друг с другом. А поскольку криптографический алгоритм реализуется на верхних уровнях модели OSI, приходится также сталкиваться со многими существенными различиями в коммуникационных протоколах и интерфейсах в зависимости от типов сетей и объединяемых в сеть компьютеров. Все это затрудняет практическое применение сквозного шифрования.
Комбинация канального и сквозного шифрования данных в компьютерной сети обходится значительно дороже, чем каждое из них. Однако именно такой подход позволяет наилучшим образом защитить данные, передаваемые по сети. Шифрование в каждом канале связи не позволяет противнику анализировать служебную информацию, используемую для маршрутизации, а при сквозном шифровании уменьшается вероятность доступа к незашифрованным данным в узлах сети.
При комбинированном шифровании работа с ключами ведется следующим образом: сетевые администраторы отвечают за ключи, используемые при канальном шифровании, а о ключах, применяемых при сквозном шифровании, заботятся сами пользователи.
Общая характеристика современных стандартов шифрования
Очевидно, что в основе защиты информации лежит процесс шифрования. Лучшие умы человечества на протяжении всей истории занимались проблемами составления шифров. Главное, к чему все стремились, — это создать криптоустойчивые шифры. Разработанные шифры и соответствующие ключи в дальнейшем использовали в алгоритмах шифрования. Алгоритмов шифрования существует великое множество, мы рассмотрим лишь самые популярные из них, получившие статус стандартов. Это DES (Data Encryption Standard), RSA (алгоритм Rivest-Shamir-Adleman), POP, наш отечественный ГОСТ 28147-89 (который в иностранной литературе чаще называется просто GOST) и другие. Причем современные шифры — это не только собственно алгоритмы шифрования, а криптографические системы, где определены также возможные типы и параметры ключей, способы организации работы с ключами и зашифрованными сообщениями, правила определения подлинности и целостности сообщений и т. п. Основа каждого стандарта — определенные математические построения, знать которые не обязательно. Гораздо важнее знать особенности и область применения того или иного стандарта.
В основе любой криптографической системы лежат алгоритм шифрования, протокол взаимодействия участвующих сторон и процедура управления ключами.
Протокол — это последовательность шагов, которые предпринимают стороны для совместного решения задачи. Все шаги следуют в порядке строгой очередности, и ни один из них не может быть сделан прежде, чем закончится предыдущий. Кроме того, любой протокол подразумевает участие, по крайней мере, двух сторон. В одиночку можно, например, смешать и выпить коктейль, но к протоколу это не имеет никакого отношения. Поэтому придется угостить кого-нибудь сделанным коктейлем, чтобы его приготовление и дегустация стали настоящим протоколом. И наконец, протокол обязательно предназначен для достижения какой-то цели. Протоколы имеют и другие отличительные черты:
– каждый участник протокола должен быть заранее оповещен о шагах, которыеему предстоит предпринять;
– все участники протокола должны следовать его правилам добровольно, без принуждения;
– необходимо, чтобы протокол допускал только однозначное толкование, а его шаги были совершенно четко определены и не допускали возможности их неправильного понимания;
– протокол должен содержать описание реакции его участников на любые ситуации, возникающие в ходе реализации этого протокола, иными словами, недопустимым является положение, когда для возникшей ситуации протоколом не определено соответствующее действие.
Криптографическим протоколом называется такой, в основе которого лежит набор правил и процедур, определяющих использование криптоалгоритма и ключей шифрования. Однако целью криптографического протокола зачастую является не только сохранение информации в тайне от посторонних. Участники криптографического протокола могут быть близкими друзьями, у которых нет друг от друга секретов, а могут являться настолько непримиримыми врагами, что каждый из них отказывается сообщить другому, какое сегодня число. Тем не менее, им может понадобиться поставить подписи под совместным договором или удостоверить свою личность. В данном случае нужна криптография, чтобы предотвратить или обнаружить подслушивание посторонними лицами, не являющимися участниками протокола, а также не допустить мошенничества. Поэтому часто требуется, чтобы криптографический протокол обеспечивал следующее: его участники могут сделать или узнать больше того, что определено протоколом.
В повседневной жизни нам приходится сталкиваться с протоколами буквально на каждом шагу: играя в любые игры, делая покупки в магазине или голосуя на выборах. Многими протоколами нас научили пользоваться родители, школьные учителя и друзья. Остальные мы сумели узнать самостоятельно.
Теперь люди все чаще общаются при помощи компьютеров. Компьютеры же, в отличие от большинства людей, в школу не ходили, у них не было родителей, да и учиться самостоятельно они не в стоянии. Поэтому компьютеры приходится снабжать формализованными протоколами, чтобы они смогли делать то, что люди выполняют особо не задумываясь. Например, если в магазине не окажется кассового аппарата, вы все равно сможете купить в нем необходимую вещь. Однако такое кардинальное изменение протокола поставило бы бедный компьютер в полный тупик.
Большинство протоколов, которые люди используют при общении друг с другом с глазу на глаз, хорошо себя зарекомендовали только потому, что участники имеют возможность вступить в непосредственный контакт. Взаимодействие с другими людьми через компьютерную сеть, наоборот, подразумевает анонимность. Будете ли вы играть с незнакомцем в преферанс, видя» как он тасует колоду и раздает карты? Доверите ли вы свои деньги совершенно постороннему человеку, чтобы он купил вам что-нибудь в магазине? Пошлете ли вы свой бюллетень голосования по почте, зная, что с ним сможет ознакомиться любой из почтовых работников и потом рассказать всем о ваших нетрадиционных политических пристрастиях?
Глупо считать, что компьютерные пользователи ведут себя более честно. То же самое касается и сетевых администраторов, и проектировщиков компьютерных сетей. Большинство из них и в самом деле честные люди, однако есть и такие, кто может причинить большие неприятности. Поэтому так нужны криптографические протоколы, использование которых позволяет защититься от непорядочных людей.
Остановимся на рассмотрении характеристик стандартов шифрования, наиболее часто используемых в компьютерных системах.
Популярный алгоритм шифрования данных DES применяется правительством США как стандарт с 1977 года. Для шифрования алгоритм использует 64-битный ключ, блок данных из 64-и бит и 16-и проходов (циклов). Этот алгоритм достаточно быстр и эффективен. Однако в изначальном виде этот стандарт недостаточно криптоустойчив, т. к. прямые атаки с перебором ключей занимают, при сегодняшнем уровне технологий, разумный срок. Поэтому в настоящее время используются всевозможные его модификации, такие как 3-DES и каскадный 3-DES.
За счет внесения дополнительных изменений в алгоритм (таких, например, как введение дополнительных избыточных ключей или обратной связи) эти модификации стали гораздо более устойчивы к прямым атакам. Главным же недостатком этой системы является то, что она использует так называемые симметричные ключи: для шифрования и дешифрации сообщения используется один и тот же секретный ключ. Поэтому необходимым условием успешного использования этой системы является наличие секретного защищенного канала для передачи ключа. Если злоумышленник перехватит ключ для шифрования, то он легко может при помощи этого же ключа осуществить расшифровку секретного сообщения. Если же защищенный канал передачи существует, то вполне разумно тогда передать и само сообщение по этому же каналу, не прибегая к процедуре шифрования.
Государственный стандарт ГОСТ 28147-89 был утвержден в 1989 году как средство обеспечения безопасности, являющееся стандартом для государственных учреждений. Хотя он и не является основным криптосредством защищенных линий правительственной связи, однако, это единственный более-менее открытый стандарт такого рода для исследования и использования самым широким кругом людей. Несмотря на то что в России ГОСТ играл ту же роль, что и DES в США, этот стандарт стал употребляться и в других странах. Например, алгоритм шифрования популярного архиватора ARJ построен как раз на использовании алгоритмов ГОСТ.
ГОСТ очень схож с DES. В нем так же используются 64-битные блоки. Тем не менее, есть и ряд различий, например, в ГОСТ совершается 32 прохода вместо 16-и, ключ гораздо длиннее и состоит из 256 бит и т. д. В общем, среди специалистов принято считать, что он по своим характеристикам превосходит DES. Однако в настоящее время и его расшифровка лежит в пределах современных технологий. И точно так же ему присущи все недостатки алгоритмов, использующих симметричные ключи.
Сегодня популярен стандарт шифрования RSA. Во многом это произошло благодаря распространенности в Internet программы PGP (Pretty Good Privacy) Филиппа Зиммермана. RSA -это алгоритм несимметричного шифрования, стойкость которого зависит от сложности факторизации больших целых чисел. В настоящее время алгоритм взлома RSA не разработан математически, а за счет использования очень длинных ключей и некоторой медленности всего алгоритма перебор за разумное время попросту невозможен.
В несимметричных алгоритмах используются два разных ключа: один известен всем, а другой держится в тайне, Обычно для шифрования и расшифровки используются оба ключа. Но данные, зашифрованные одним ключом, можно расшифровать только с помощью другого ключа. Это обстоятельство делает RSA очень удобным для использования в электронной переписке. Открытый ключ делается общедоступным (его попросту можно вставлять в реквизиты вашего письма). Каждый может зашифровать сообщение и послать его вам. А расшифровать сообщение, даже зная открытый ключ, невозможно. Для этого надо знать второй, закрытый ключ, который есть только у отправителя. Однако и здесь существуют свои трудности:
– в случае утраты секретного ключа придется уведомлять всех владельцев открытой половины о смене ключей;
– трудно убедиться в подлинности присланного вам открытого ключа.
Кроме того, отправителя легко подделать. Для того чтобы убедиться в подлинности ключа, порой используют целую «цепочку доверия», где каждый последующий передающий на 100% уверен в подлинности ключа (вследствие давнего знакомства, близости расположения к отправителю или в силу других причин), подтверждает эту подлинность своей подписью и пересылает ключ дальше.
Однако следует разделять собственно алгоритм RSA и другие продукты лаборатории RSA Data Security. Например, существует еще алгоритм RC5 — быстрый блочный шифр, который имеет размер блока 32,64 или 128 бит, ключ длиной от 0 до 2048бит, от 0 до 255 проходов.
11. ОРГАНИЗАЦИЯ КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ИНФОРМАЦИИ
Стандарт шифрования данных DES и его практическая реализация
Стандарт шифрования данных DES (Data Encryption Standard) является одним из известных алгоритмов криптографической защиты данных, используемых до недавнего времени в США. Этот стандарт — типичный представитель криптоалгоритмов, использующих симметричное шифрование. Благодаря таким качествам, как обеспечение высокого уровня защиты информации, простота и экономичность в реализации, он нашел широкое применение в различных областях государственной и военной деятельности. Рассмотрим детально принцип шифрования данных с помощью алгоритма
DES.
Сегодня стандарт шифрования DES используется в Соединенных Штатах, за небольшим исключением, практически везде. Правительственная связь, электронные банковские переводы, гражданские спутниковые коммуникации и даже пароли компьютерных систем — везде, в той или иной мере, применяется защита, основанная на DES. Криптоалгоритм DES, получивший официальный статус стандарта в 1977 году, ознаменовал наступление новой эпохи в криптографии. Сертифицировав алгоритм защиты, американское правительство дало зеленую улицу изучению криптографических алгоритмов и «благословило» попытки взлома систем, построенных на их основе.
Логическая структура функционирования алгоритма DES иллюстрируется схемой обработки данных, изображенной на рис. 4.6.
Приведенная схема описывает как процесс шифрования, так и расшифровки информации. Алгоритм шифрования данных преобразует открытый текст в шифротекст или наоборот, в зависимости от режима использования. Как видно из структурной схемы, алгоритм имеет два входа по 64 бита каждый: один — для шифруемого открытого текста (при дешифровке — для шифротекста), другой — для ключа, и один 64-битный выход для полученного шифротекста (при расшифровке — для открытого текста). Из 64-х бит ключа непосредственно в процессе шифрования участвуют только 56 бит. Это связано с тем, что ключ представляется в виде восьмибитовых символов кода ASCII, каждый символ которого имеет один бит проверки на четность. Именно эти проверочные биты и не используются в алгоритме DES.
Основными блоками преобразования данных согласно алгоритму DES являются блоки перестановки, замены и сложения по модулю 2. В стандарте DES предусмотрено использование трех типов перестановок: простые, расширенные и сокращенные. Простые перестановки осуществляют изменение порядка следования бит данных. В расширенных перестановках некоторые биты используются повторно, а в сокращенных — часть битов данных просто отбрасывается.
Первым преобразованием, которому подвергаются входные данные, является начальная перестановка, имеющая достаточно регулярный характер. Точный порядок замены показан на рис. 4.7. При такой перестановке первый входной бит на выходе становиться сороковым, второй — восьмым и т. д. Начальная перестановка используется только для удобства реализации и не имеет самостоятельной криптографической ценности.
После начальной перестановки полученные 64 бита данных делятся на две части по 32 бита, которые записываются в два регистра — левый и правый. Именно после этого и начинается работа основного цикла алгоритма шифрования.
Из правого регистра 32 бита поступают на вход блока расширенной перестановки, который производит их регулярное преобразование таким образом, что первый, четвертый, пятый
и восьмой биты каждого из четырех октетов преобразуемых бит используются дважды. Таким образом, на выходе блока расширенной перестановки появляется уже не 32, а 48 бит. Правило преобразования данных в блоке расширенной перестановки представлено на рис. 4.8. Как видно из рисунка, при расширенной перестановке 1-й выходной бит соответствует 32-му входному биту, 2-й выходной бит — 1-му входному и т. д. С выхода блока расширенной перестановки полученные 48 бит данных поступают на сумматор по модулю 2, где складываются с 48 битами ключа шифрования. Полученные в результате этой операции 48 бит данных разделяются на 8 секстетов, поступающих на 8 соответствующих S-блоков замены. С выходов S-блоков 32 бита (8 раз по 4 бита) поступают на блок простой перестановки, задаваемой табл. 4.1, согласно которой в простой перестановке 1-й выходной бит равен 16-му входному, 2-й выходной бит — 7-му входному и т. д.
Таблица 4.1. Правило простой перестановки
16
7
20
21
29
,12
28
17
1
15
23
26
5
18
31
1.0
2
8
24
14
32
27
3
9
19
13
30
6
22
11
4
25
В конце основного цикла данные с выхода блока простой перестановки складываются по модулю 2 с данными, поступившими в левый регистр после начальной перестановки. Результат суммирования поступает в правый регистр, а содержащиеся в нем после начальной перестановки 32 бита без изменений переписываются в левый регистр.
Описанная процедура основного цикла шифрования повторяется 16 раз, прежде чем содержимое правого и левого регистра объединяется в единый 64-битный блок данных и после блока обратной перестановки, осуществляющего перестановку, обратную по отношению к начальной перестановке, поступает на выход алгоритма DES. Отметим, что при формировании 64-битного блока данных, содержимое регистров объединяется в последовательности правого и левого регистров.
Блоки замены в алгоритме DES (в литературе обычно обозначаемые как S-блоки) имеют 6-битные входы и 4-битные выходы. Правило замены в каждом S-блоке определяется соответствующими таблицами SI—S8, представленными ниже.
Первый и последний биты 6-битного входа каждого S-блока задают число в диапазоне от 0 до 3, которое определяет номер строки в таблице замены, биты 2—5 задают число в интервале 0— 15, определяя таким образом номер элемента таблицы замены в соответствующей строке. Каждый элемент таблицы замены, представленный в двоичном виде, определяет 4 бита на выходе соответствующего S-блока.
Рассмотрим преобразования, производимые с ключом шифрования до его суммирования с данными, поступающими с выхода блока регистра перестановки. На каждом из 16-и циклов шифрования данные с выхода блока регистра перестановки суммируются с новым ключом шифрования. В правой части рис. 4.6 представлен процесс формирования ключа шифрования для каждого из 16-и циклов.
Регистр D
63
55
47
39
31
23
15
7
62
54
46
38
30
22
14
6
61
53
45
37
29
21
13
5
28
20
12
4
64 бита исходного ключа преобразуются в первом блоке сокращенной перестановки, где отбрасывается каждый восьмой бит. Если исходный ключ записан в виде 8-и символов кода ASCII, то каждый восьмой отбрасываемый бит является избыточным битом проверки на четность. Результат, полученный в блоке сокращенной перестановки 1, — 56 бит, записывается в регистры С и D, содержащие по 28 бит каждый. Правило перестановки первого блока сокращенной перестановки, с учетом распределения выходных данных по регистрам, задается следующими таблицами:
Регистр С
57
49
41
33
25
17
9
1
58
50
42
34
26
18
10
2
59
51
43
35
27
19
11
3
60
52
44
36
S2
15
1
8
14
6
11
3
4
9
7
2
13
12
5
10
1
3
13
4
7
15
2
8
14
12
1
10
6
9
11
5
2
14
7
11
10
4
13
1
5
8
12
6
9
3
2
15
3
13
8
10
1
3
15
4
2
11
6
7
12
5
14
9
83
10
9
14
6
3
15
5
1
13
12
7
11
4
2
8
1
13
7
9
3
4
6
10
2
8
5
14
12
11
15
1
2
13
6
4
9
8
15
3
11
1
2
12
5
10
14
7
3
1
10
13
6
9
8
7
4
15
14
3
11
5
2
12
84
7
13
14
3
6
9
10
1
2
8
5
11
12
4
15
1
13
8
11
5
6
15
3
4
7
2
12
1
10
14
9
2
10
6
9
12
11
7
13
15
1
3
14
5
2
8
4
3
3
15
6
10
1
13
8
9
4
5
11
12
7
2
12
S5
2
12
4
1
7
10
11
6
8
5
3
15
13
14
9
1
14
11
2
12
4
7
13
1
5
15
10
3
9
8
6
2
4
2
1
11
10
13
7
8
15
9
12
5
6
3
14
3
11
8
12
7
1
14
2
13
6
15
9
10
4
5
3
8<
12
1
10
15
9
2
6
8
13
3
4
14
7
5
11
1
10
1$
4
2
7
12
9
5
6
1
13
14
11
3
8
2
9
14
15
5
2
8
12
3
7
4
10
1
13
11
6
3
4
3
2
12
9
5
15
10
11
14
1
7
6
3
13
87
4
11
2
14
15
8
13
3
12
9
7
5
10
6
1
1
13
11
7
4
9
1
10
14
3
5
12
2
15
8
6
2
1
4
11
13
12
3
7
U
10
15
6
8
5
9
2
3
6
11
13
8
1
4
10
7
9
5
15
14
2
3
12
s.
13
2
8
4
в
15
11
1
10
9
3
14
5
12
7
1
1
15
13
8
10
3
7
4
12
5
6
11
14
9
2
2
7
11
4
1
9
12
14
2
6
10
13
15
3
5
8
3
2
1
14
7
4
10
8
13
15
12
9
3
5
в
11
Согласно этим таблицам, первый бит регистра С соответствует 57-му биту исходного ключа шифрования, а первый бит регистра D — 63-му биту ключа шифрования.
Оба регистра обеспечивают возможность циклического сдвига содержащихся в них данных. На каждом цикле алгоритма шифрования производится циклический сдвиг содержимого регистров на 1 или 2 бита влево. Величина сдвига (в битах) на соответствующем цикле задается следующим алгоритмом:
Цикл 12 3 45 6 7 8 9 10 11 12 13 14 15 16 Сдвиг 1122222212222221
Затем содержимое двух регистров объединяется и подвергается второй сокращенной перестановке, порядок которой задается табл. 4.2. На каждом цикле алгоритма шифрования на выходе сокращенной перестановки образуется ключ шифрования данного цикла.
Таблица 4.2. Порядок второй сокращенной перестановки
14
17
И
24
1
5
3
28
15
6
21
10
23
19
12
4
26
8
16
7
27
20
13
2
41
52
31
37
47
55
30
40
51
45
33
48
44
49
39
56
34
53
46
42
50
36
29
32
Процесс расшифрования аналогичен процессу шифрования, за исключением формирования ключей на соответствующих циклах алгоритма. При этом содержимое регистров С и D сдвигается вправо, а величина сдвига (в битах) задается следующим алгоритмом:
Цикл 1 2 3 4 5 6 7 8 9 10 И 12 13 14 15 16 Сдвиг О 1 2 2 2.2 2 212222221
Таким образом, процесс расшифрования является инверсным по отношению к шифрованию данных.
Одна из широко распространенных систем криптографической защиты, использующая стандарт DES, — разработанная в середине 80-х годов прошлого столетия система KerberoSj использование которой предполагает наличие высоконадежного сервера, хранящего исходные копии ключей для взаимодействия с каждым пользователем. Эта система представляет собой часть спецификации открытой вычислительной среды DCE (Distributed Computing Environment) фонда OSE
Среди предлагающих продукты на базе DCE такие компании, как IBM и Hewlett-Packard. Kerberos должна стать также частью системы защиты Windows NT 5.0. На практике криптографические системы с секретными ключами, как правило, быстрее
систем с открытыми ключами, обеспечивающими ту же степень защиты. Однако преимущество последних в том, что они не позволяют отказаться от авторства, а также обеспечивают проверку целостности сообщений любого сорта.
Система Kerberos (Цербер) обеспечивает защиту сети от несанкционированного доступа, базируясь исключительно на программных решениях, и предполагает многократное шифрование передаваемой по сети управляющей информации. Kerberos обеспечивает идентификацию пользователей сети и серверов, не основываясь на сетевых адресах и особенностях операционных систем рабочих станций пользователей, не требуя физической защиты информации на всех машинах сети и исходя из предположения, что пакеты в сети могут быть легко прочитаны и при желании изменены.
Kerberos имеет структуру типа «клиент-сервер» и состоит из клиентских частей, установленных на всех компьютерах сети (рабочие станции пользователей и серверы), и Kerberos-сервера (или серверов), располагающегося на каком-либо (не обязательно выделенном) компьютере. Kerberos-сервер, в свою очередь, делится на две равноправные части: сервер идентификации (authentication server) и сервер выдачи разрешений (ticket granting server). Следует отметить, что существует и третий сервер Kerberos, который, однако, не участвует в идентификации пользователей, а предназначен для административных целей. Область действия Kerberos (realm) распространяется на тот участок сети, все пользователи которого зарегистрированы под своими именами и паролями в базе Kerberos-сервера и где все серверы обладают общим кодовым ключом с идентификационной частью Kerberos. Эта область не обязательно должна быть участком локальной сети, поскольку Kerberos не накладывает ограничения на тип используемых коммуникаций. Упрощенно модель работы Kerberos можно описать следующим образом.
Пользователь (Kerberos-клиент), желая получить доступ к ресурсу сети, направляет запрос идентификационному серверу Kerberos, который идентифицирует пользователя с помощью его имени и пароля и выдает разрешение на доступ к серверу выдачи разрешений, а тот, в свою очередь, дает разрешение на использование необходимых ресурсов сети. Однако данная модель не отвечает на вопрос о надежности защиты информации, поскольку, с одной стороны, пользователь не может посылать идентификационному серверу свой пароль по сети, а с другой — разрешение на доступ к обслуживанию в сети не может быть послано пользователю в виде обычного сообщения. И в том, и в другом случаях информацию можно перехватить и использовать для несанкционированного доступа в сеть. Чтобы избежать подобных неприятностей, Kerberos применяет сложную систему многократного шифрования при передаче любой управляющей информации в сети. Доступ пользователей к сетевым серверам, файлам, приложениям, принтерам и т. д. осуществляется по следующей схеме.
Пользователь (это клиентская часть Kerberos, установленная на рабочей станции пользователя) направляет запрос идентификационному серверу на выдачу «разрешения на получение разрешения» (ticket granting ticket), которое даст возможность обратиться к серверу выдачи разрешений. Идентификационный сервер адресуется к базе данных, хранящей информацию о всех пользователях, и на основании содержащегося в запросе имени пользователя определяет его пароль. Затем клиенту отсылается «разрешение на получение разрешения» и специальный код сеанса (session key), которые шифруются с помощью пароля пользователя, как ключа. При получении этой информации пользователь на его рабочей станции должен ввести свой пароль, и если он совпадает с хранящимися в базе Kerberos-сервера, «разрешение на получение разрешения» и код сеанса будут успешно расшифрованы. Таким образом решается проблема с защитой пароля — в данном случае он не передается по сети.
После того как клиент зарегистрировался с помощью идентификационного сервера Kerberos, он отправляет запрос серверу выдачи разрешений на получение доступа к требуемым ресурсам сети. Этот запрос (или «разрешение на получение разрешения») содержит имя пользователя, его сетевой адрес, отметку времени, срок жизни этого разрешения и код сеанса. Запрос зашифровывается два раза: сначала с помощью специального кода, который известен только идентификационному серверу и серверу выдачи разрешений, а затем, как уже было сказано, с помощью пароля пользователя. Это предотвращает не только возможность использования разрешения при его перехвате, но и делает его недоступным самому пользователю. Чтобы сервер выдачи разрешений дал клиенту доступ к требуемым ресурсам, недостаточно только «разрешения на получение разрешения». Вместе с ним клиент посылает так называемый аутентикатор (authenticator), шифруемый с помощью сеансового ключа и содержащий имя пользователя, его сетевой адрес и еще одну отметку времени. Сервер выдачи разрешений расшифровывает полученное от клиента «разрешение на получение разрешения», проверяет, не истек ли срок его «годности», а затем сравнивает имя пользователя и его сетевой адрес, находящиеся в разрешении, с данными, которые указаны в заголовке пакета пришедшего сообщения. Однако на этом проверки не заканчиваются.
Сервер выдачи разрешений расшифровывает аутентикатор с помощью кода сеанса и еще раз сравнивает имя пользователя и его сетевой адрес с предыдущими двумя значениями, и только в случае положительного результата может быть уверен, что клиент именно тот, за кого себя выдает. Поскольку аутентикатор используется для идентификации клиента всего один раз и только в течение определенного периода времени, становится практически невозможным одновременный перехват «разрешения на получение разрешения» и аутентикатора для последующих попыток несанкционированного доступа к ресурсам сети.
Каждый раз при необходимости доступа к серверу сети клиент посылает запрос многоразового использования и новый аутентикатор. После успешной идентификации клиента в качестве источника запроса сервер выдачи разрешений отсылает пользователю разрешение на доступ к ресурсам сети (которое может использоваться многократно в течение некоторого периода времени) и новый код сеанса. Это разрешение зашифровано с помощью кода, известного только серверу выдачи разрешений и серверу, к которому клиент требует доступа, и содержит внутри себя копию нового кода сеанса.
Все сообщение (разрешение и новый код сеанса) зашифровано с помощью старого кода сеанса, поэтому расшифровать его может только клиент. После расшифровки клиент посылает целевому серверу, ресурсы которого нужны пользователю, разрешение на доступ и аутентикатор, зашифрованные с помощью нового кода сеанса. Для обеспечения еще более высокого уровня защиты, клиент, в свою очередь, может потребовать идентификации целевого сервера, чтобы обезопасить себя от возможного перехвата информации, дающей право на доступ к ресурсам сети. В этом случае он
требует от сервера высылки значения отметки времени, увеличенного на единицу и зашифрованного с помощью кода сеанса. Сервер извлекает копию кода сеанса, хранящуюся внутри разрешения на доступ к серверу, использует его для расшифровки аутентикатора, прибавляет к отметке времени единицу, зашифровывает полученную информацию с помощью кода сеанса и отсылает ее клиенту. Расшифровка этого сообщения позволяет клиенту идентифицировать сервер. Использование в качестве кода отметки времени обеспечивает уверенность в том, что пришедший клиенту ответ от сервера не является повтором ответа на какой-либо предыдущий запрос.
Теперь клиент и сервер готовы к передаче необходимой информации с должной степенью зашиты. Клиент обращается с запросами к целевому серверу, используя полученное разрешение. Последующие сообщения зашифровываются с помощью кода сеанса.
Более сложной является ситуация, когда клиенту необходимо предоставить серверу право пользоваться какими-либо ресурсами от его имени. В качестве примера можно привести ситуацию, когда клиент посылает запрос серверу печати, которому затем необходимо получить доступ к файлам пользователя, расположенным на файл-сервере. Кроме того, при входе в удаленную систему пользователю необходимо, чтобы все идентификационные процедуры выполнялись так же, как и с локальной машины. Эта проблема решается установкой специальных флажков в «разрешении на получение разрешения» (дающих одноразовое разрешение на доступ к серверу от имени клиента для первого примера и обеспечивающих постоянную работу в этом режиме для второго).
Поскольку разрешения строго привязаны к сетевому адресу обладающей ими станции, то при наличии подобных флажков сервер выдачи разрешении должен указать в разрешении сетевой адрес того сервера, которому передаются полномочия на действия от имени клиента.
Следует отметить также, что для всех описанных выше процедур идентификации необходимо обеспечить доступ к базе данных Kerberos только для чтения. Но иногда требуется изменять базу, например, в случае изменения ключей или добавления новых пользователей. Тогда используется третий сервер Kerberos — административный (Kerberos Administration Server). He вдаваясь в подробности его работы, отметим, что его реализации могут различаться (так, возможно ведение нескольких копий базы одновременно).
При использовании Kerberos-серверов сеть делится на области действия. Схема доступа клиента, находящегося в области действия одного Kerberos-сервера, к ресурсам сети, расположенным в области действия другого, осуществляется следующим образом.
Оба Kerberos-сервера должны быть обоюдно зарегистрированы, то есть знать общие секретные ключи и, следовательно, иметь доступ к базам пользователей друг друга. Обмен этими ключами между КегЬегознеёрверами (для работы в каждом направлении используется свой ключ) позволяет зарегистрировать сервер выдачи разрешений каждой области как клиента в другой области. После этого клиент, требующий доступа к ресурсам, находящимся в области действия другого Kerberos-сервера, может получить разрешение от сервера выдачи разрешений своего Kerberos по описанному выше алгоритму.
Это разрешение, в свою очередь, дает право доступа к серверу выдачи разрешений другого Kerberos-сервера и содержит в себе отметку о том, в какой Kerberos-области зарегистрирован пользователь. Удаленный сервер выдачи разрешений использует один из общих секретных ключей для расшифровки этого разрешения (который, естественно, отличается от ключа, используемого в пределах этой области) и при успешной расшифровке может быть уверен, что разрешение выдано клиенту соответствующей Kerberos-области. Полученное разрешение на доступ к ресурсам сети предъявляется целевому серверу для получения соответствующих услуг.
Следует, однако, учитывать, что большое число Kerberos-серверов в сети ведет к увеличению количества передаваемой идентификационной информации при связи между разными Kerberos-областями. При этом увеличивается нагрузка на сеть и на сами Kerberos-серверы. Поэтому более эффективным следует считать наличие в большой сети всего нескольких Kerberos-серверов с большими областями действия, нежели использование множества Kerberos-серверов. Так, Kerberos-система, установленная компанией Digital Equipment для большой банковской сети, объединяющей отделения в Нью-Йорке, Париже и Риме, имеет всего один Kerberos-сервер. При этом, несмотря на наличие в сети глобальных коммуникаций, работа Kerberos-системы практически не отразилась на производительности сети.
К настоящему времени Kerberos выдержал уже пять модификаций. Пятая версия системы Kerberos имеет ряд новых свойств, из которых можно выделить следующие. Уже рассмотренный ранее механизм передачи полномочий серверу на действия от имени клиента, значительно облегчающий идентификацию в сети в ряде сложных случаев, является нововведением пятой версии. Пятая версия обеспечивает упрощенную идентификацию пользователей в удаленных Kerberos-областях с сокращенным числом передач секретных ключей между этими областями. Данное свойство, в свою очередь, базируется на механизме передачи полномочий. Если в предыдущих версиях Kerberos для шифрования был применен исключительно алгоритм DES, надежность которого вызывала некоторые сомнения, то в данной версии возможно использование алгоритмов шифрования, отличных от DES.
Перспективный стандарт AES
Алгоритм шифрования DES давно критикуют за целый ряд недостатков, в том числе, за слишком маленькую длину ключа — всего 56 разрядов. Кроме того, в январе 1999 года закодированное посредством DES сообщение было взломано с помощью связанных через Internet в единую сеть 100 тыс. персональных компьютеров. И на это потребовалось менее 24-х часов. В связи с этим стало очевидным, что в ближайшие несколько лет, учитывая появление более дешевого и высокопроизводительного обо* рудования, алгоритм DES окажется несостоятельным.
Чтобы решить эту проблему, еще в 1997 году NIST выпустил запрос на комментарий RFC (Request For Comment), где описывался предполагаемый «Усовершенствованный стандарт шифрования» AES (Advanced Encryption Standard), который должен прийти на смену стандарту DES. В 1998 году NIST (National Institute of Standards and Technology), который был предшественником современного Национального институ-
та по стандартам и технологии, объявил конкурс на создание алгоритма, удовлетворяющего требованиям, выдвинутым институтом:
Q применение одного или более открытых алгоритмов шифрования;
О общедоступность и отсутствие лицензионных отчислений;
Q использование симметричного шифрования;
Q поддержка минимального размера блока в 128 разрядов и размеров ключей в 128,192 и 256 разрядов;
G бесплатное распространение по всему миру;
Q приемлемая производительность для различных приложений.
Перед проведением первого тура конкурса в NIST поступило 21 предложение, из которых 15 удовлетворяли выдвинутым критериям. Затем были проведены исследования этих решений, в том числе связанные с дешифровкой и проверкой производительности, и получены экспертные оценки специалистов по криптографии.
В результате в качестве стандарта AES был выбран алгоритм Rijndael, разработанный двумя бельгийскими учеными, специалистами по криптографии. Правительство США объявило, что авторами наиболее перспективного алгоритма шифрования стали Джон Димен из компании Proton World International и Винсент Риджмен, сотрудник Католического университета.
Алгоритм Rijndael является нетрадиционным блочным шифром, поскольку в нем для криптопреобразований не используется сеть Фейштеля. Он представляет каждый блок кодируемых данных в виде таблицы двумерного массива байтов размером 4*4, 4*6 или 4*8 в зависимости от установленной длины блока. Далее, на соответствующих этапах, производятся преобразования либо независимых столбцов, либо независимых строк, либо вообще отдельных байтов в таблице.
Все преобразования в шифре имеют строгое математическое обоснование. Сама структура и последовательность операций позволяют выполнять данный алгоритм эффективно как на 8-битных, так и на 32-битных процессорах. Это позволяет достичь приемлемой производительности при работе на самых разных платформах: от смарт-карт до крупных серверов. В структуре алгоритма заложена возможность параллельного выполнения некоторых операций, что на многопроцессорных рабочих станциях может поднять скорость шифрования еще в 4 раза.
Rijndael представляет собой итеративный блочный шифр, имеющий блоки переменной длины и ключи различной длины. Длина ключа и длина блока может быть 128, 192 или 256 бит независимо друг от друга. Согласно структуре шифра разнообразные преобразования взаимодействуют с промежуточным результатом шифрования, называемым состоянием (state).
Это состояние можно представить в виде прямоугольного массива байтов, который имеет 4 строки, а число столбцов Nb равно длине блока, деленной на 32. Ключ шифрования также представлен в виде прямоугольного массива с четырьмя строками. В этом массиве число столбцов Nk равно длине ключа, деленной на 32. Пример представления состояния и ключа шифрования в виде массивов представлен на рис. 4.9.
В некоторых случаях ключ шифрования показан как линейный массив 4-байтовых
слов. Слова состоят из 4-х байт, которые находятся в одном столбце (при представле
нии в виде прямоугольного массива). *"
Входные данные для шифра, например, открытый текст, обозначаются как байты состояния в порядке аО,0, al,0, аЗ,0, аОД, al,l, аЗД ,а4,1 ... После завершения действия шифра выходные данные получаются из байтов состояния в том же порядке.
Алгоритм состоит яз некоторого количества раундов — цикловых преобразований в диапазоне от 10 до 14. Это зависит от размера блока и длины ключа, в которых последовательно выполняются следующие операции:
Q замена байт — ByteSub;
Q сдвиг строк — ShiftRow;
Q замешивание столбцов — MixColumn;
Q добавление циклового ключа — AddRoundKey.
Число циклов обозначается Nr и зависит от значений Nb и Nk (рис. 4.10).
Преобразование ByteSub представляет собой нелинейную замену байт, выполняемую независимо с Каждым байтом состояния. Порядок замены определяется инвертируемыми S-блоками (таблицами замены), которые построены как композиции двух преобразований:
О получение обратного элемента относительно умножения в поле GF(28);
Q применение афинного преобразования (над GF(2)).
Применение преобразования ByteSub к состоянию представлено на рис. 4.11.
Преобразование сдвига строк ShiftRow заключается в том, что последние три строки состояния циклически сдвигаются на различное число байт. При этом первая строка состояния остается без изменения, вторая—сдвигается на С1 байт, третья строка сдвигается на С2 байт, а четвертая — на СЗ байт. Значения сдвигов С1, С2 и СЗ различны и зависят от длины блока Nb. Величины этих сдвигов в байтах представлены в'табл. 4.3
Таблица 4.3. Величина сдвига строк для разной длины блоков
Длина блока, байт
Значение сдвига, байт
С,
Сг
С3
4
1
2
3
6
1
2
3
8
1
3
4
Пример операции сдвига последних трех строк состояния на определенную величину представлен на рис. 4.12.
Преобразование эамешивания столбцов MixColumn (рис. 4.13) основано на математическом преобразовании, перемещающем данные внутри каждого столбца. В этом преобразовании столбцы состояния рассматриваются как многочлены над GF(28) и умножаются по модулю х4+1 на многочлен С(х).
Операция AddRoundKey—добавление к состоянию циклового ключа посредством простого EXOR. Сам цикловой ключ вырабатывается из ключа шифрования посредством алгоритма выработки ключей (key schedule). Его длина равна длине блока Nb. Преобразование AddRoundKey представлено на рис. 4Л 4.
Алгоритм выработки ключей содержит два этапа:
Q расширение ключа (key expansion);
Q выбор циклового ключа (round key selection).
В основе алгоритма лежат следующее: общее число бит цикловых ключей равно длине блока, умноженной на число циклов плюс 1. Например, для длины блока 128 бит и 10-и циклов потребуется 1408 бит циклового ключа. Ключ шифрования превращается в расширенный ключ (expanded key). Цикловые ключи выбирают из расширенного ключа так: первый цикловой ключ содержит первые Nb слов, второй — следующие Nb слов и т. д.
Расширенный ключ представляет собой линейный массив 4-битных слов. Первые Nk слов содержат ключ шифрования. Все остальные слова определяются рекурсивно из слов с меньшими индексами, то есть каждое последующее слово получается посредством EXOR предыдущего слова и слова на Nk позиций ранее. Для слов, позиция которых кратна Nk, перед EXOR применяется преобразование к предыдущему слову, а затем еще прибавляется цикловая константа. Преобразование содержит циклический сдвиг байтов в слове, обозначаемый rotl, затем следует применение таблицы замены байт — SubByte. Алгоритм выработки ключей зависит от величины Nk. Расширенный ключ всегда должен получаться из ключа шифрования и никогда не указываться напрямую. При этом нет ограничений на выбор ключа шифрования.
Выбор циклового ключа заключается в том, что каждый цикловой ключ получается из слов массива циклового ключа, как показано для Nb = 6 и Nk = 4 на рис. 4.15.
Выработка ключей может быть сделана и без использования массива. Это характерно для реализаций, в которых критично требование к занимаемой памяти. В этом случае цикловые ключи можно вычислить «на лету» посредством использования буфера из Nk слов.
Теперь рассмотрим особенности реализации алгоритма Rijndael. Этот алгоритм является байт-ориентированным, т. е. полностью может быть сформулирован в терминах операций с байтами. В алгоритме широко используются алгебраические операции в конечных полях, наиболее сложно реализуемо умножение в поле GF(28). Непосредственное выполнение этих операций привело бы к крайне неэффективной реализации алгоритма. Однако байтовая структура шифра открывает широкие возможности для программной реализации. Замена байта по таблице и последующее умножение на константу в конечном поле GF(28) могут быть представлены как одна замена по таблице. Поскольку в прямом шифре используются три константы (01,02,03), то понадобятся три такие таблицы, в обратном шифре, соответственно, — четыре (ОБ, OD, 0В, 09). При надлежащей организации процесса шифрования построчный байтовый сдвиг матрицы данных можно не выполнять. При реализации на 32-битных платформах возможно реализовать байтовую замену и умножение элемента матрицы данных на столбец матрицы М как одну замену 8-и бит на 32 бита.
Таким образом, вся программная реализация раунда шифрования для варианта 128-битных блоков данных сводится к четырем командам загрузки элемента ключа в регистр, шестнадцати командам загрузки байта в регистр и извлечению из памяти индексированного значения. Данное значение используется в операции побитового «исключающего или».
Для процессоров Intel Pentium с недостаточным количеством регистров сюда надо добавить еще 4 команды выгрузки содержимого регистров в память, тогда на указанных процессорах раунд шифрования по алгоритму Rijndael можно выполнить за 40 команд или за 20 тактов процессора с учетом возможности параллельного выполне-
ния команд этим процессором. Для 14 раундов получаем 280 тактов процессора на цикл шифрования плюс несколько дополнительных тактов на «лишнее» прибавление ключа. Добавив несколько тактов на внутрипроцессорные задержки, получим оценку 300 тактов на цикл шифрования. На процессоре Pentium Pro-200 это теоретически позволяет достичь быстродействия примерно 0,67 млн блоков в секунду, или, с учетом размера блока в 128 бит, примерно 8,5 Мбайт/с. Для меньшего числа раундов скорость пропорционально возрастет.
Указанная выше оптимизация потребует, однако, определенных расходов оперативной памяти. Для каждого столбца матрицы М строится свой вектор замены одного байта на 4-байтное слово. Кроме того, для последнего раунда, в котором отсутствует умножение на матрицу М, необходим отдельный вектор замен такого же размера. Это требует использования 5*28*4=5 кбайт памяти для хранения узлов замен для зашифрования и столько же для узлов замен расшифрования — всего 10 кбайт. Для современных компьютеров на базе Intel Pentium под управлением ОС Windows 9x/NT/2000 это не выглядит чрезмерным требованием.
Байт-ориентированная архитектура алгоритма Rijndael позволяет весьма эффективно реализовать его на 8-битных микроконтроллерах, используя только операции загрузки/выгрузки регистров, индексированного извлечения байта из памяти и побитового суммирования по модулю 2. Указанная особенность позволит также выполнить эффективную программную реализацию алгоритма. Раунд шифрования требует выполнения 16-байтных замен плюс четырех операций побитового «исключающего или» над 128-битными блоками, которые можно выполнить в три этапа. В итоге получаем 4 операдии на раунд, или 57 операций на 14-раундовый цикл шифрования с учетом «лишней» операции побитового прибавления ключа по модулю 2.
Отечественный стандарт шифрования данных ГОСТ 28147-89
Стандарт шифрования ГОСТ 28147-89 также относится к симметричным (одно-ключевым) криптографическим алгоритмам. Он введен в действие с июля 1990 года и устанавливает единый алгоритм криптографических преобразований для систем обмена информацией в вычислительных сетях, определяет правила шифрования и расшифровки данных, а также выработки имитовставки. Алгоритм в основном удовлетворяет современным криптографическим требованиям, не накладывает ограничений на степень секретности защищаемой информации и обеспечивается сравнительно несложными аппаратными и программными средствами.
Стандарт шифрования ГОСТ 28147-89 удобен как для аппаратной, так и для программной реализации. При размере блока данных 64 бита основная работа ведется с половинками этого блока (32-битными словами), что позволяет эффективно реализовать указанный стандарт шифрования на большинстве современных компьютеров
Стандарт шифрования ГОСТ 28147-89 предусматривает шифрование и расшифровку данных в следующих режимах работа:
О простая замена;
О гаммирование;
U гаммирование с обратной связью;
О выработка имитовставки.
Структурная схема алгоритма криптопреобразования, выполненного по ГОСТ 28147-89, изображена на рис. 4.16. Эта схема состоит из:
Q сумматоров по модулю 2 — СМ2 иСМ5;
Q сумматоров по модулю 232 — СМ1иСМЗ;
Q сумматора по модулю 232-1 — СМ4;
О накопителей с константами С1 и С2 — Н6 и Н5, соответственно;
Q основных 32-разрядных накопителей HI и Н2;
Q вспомогательных 32-разрядных накопителей НЗ и Н4;
Q ключевого запоминающего устройства КЗУ;
Q блока подстановки К;
СИ регистра циклического сдвига R.
Сумматоры по модулю 2 обеспечивают сложение по модулю 2 поступающих на их входы данных, представленных в двоичном виде.
Сумматоры по модулю 232 выполняют операцию суммирования по модулю 232 двух 32-разрядных чисел по правилу:
А[+]В = А + В, если А + В < 232,
А[+]В = А + В — 232, еслиА + В>232.
Сумматор по модулю 232-1 выполняет операцию суммирования по модулю 232-1 двух 32-разрядных чисел по правилу:
А[+]В = А + В, если А + В < 232-1,
А [+] В = А + В — (232-1), если А + В > 232-1.
Накопители с константами Н6 и Н5 содержат 32-разрядные константы, соответственно,
С1 —00100000100000001000000010000000;
С2— 10000000100000001000000010000000.
Основные 32-разрядные накопители служат для обеспечения всех режимов работы алгоритма.
Вспомогательные 32-разрядные накопители используются для обеспечения работы алгоритма в режиме гаммирования.
Ключевое запоминающее устройство предназначено для формирования ключевой последовательности W длиной 256 бит, представленной в виде восьми 32-разрядных чисел Xi (табл. 4.4) [i = 0( 1 )7]. Последовательность W = UXi = XO U X1 U... U X7, где U — знак объединения множеств.
Таблица 4.4. Числа, формирующие ключевую последовательность
Хо
32
».-
3
2
1
X,
64
..*
35
34
33
Х2
96
».-
67
66
65
Х3
128
«••
99
98
97
Х4
160
• ••
129
130
131
Х5
192
• ••
163
162
161
Хб
224
• • •
195
194
193
Х7
256
*••
227
226
225
Блок подстановки осуществляет дополнительное к ключевой последовательности шифрование передаваемых данных с помощью таблиц замен. Он состоит из восьми узлов замены К1, ... , К8. Поступающий на блок подстановки 32-разрядный вектор разбивается на 8 последовательных 4-разрядных векторов (слов), каждый из которых преобразуется в 4-разрядный вектор соответствующим узлом замены. Узел замены представляет собой таблицу из 16-и строк по 4 бита в каждой (рис. 4.17).
Входной вектор определяет адрес строки в таблице замены, а заполнение является выходным вектором. Затем выходные 4-разрядные векторы объединяются в один 32-разрядный вектор. Принцип работы блока подстановки рассмотрим на примере, представленном на рис. 4.18.
Пусть имеется блок данных с заполнением 0110. В десятичной системе счисления заполнение 0110 соответствует числу 6. По таблице замен находим строку с номером 6. Результатом является заполнение 0101, соответствующее узлу замены К1.
Таблица блока подстановки содержит набор кодовых элементов, общих для вычислительной сети и практически редко изменяющихся.
Регистр циклического сдвига R предназначен для осуществления операции циклического сдвига шифруемых данных на 11 разрядов в сторону старших разрядов в виде:
R(r32, r31,..., г2, г!) — (г21, г20,..., rl, г32,..., г22)
Заметим, что при суммировании и циклическом сдвиге двоичных векторов старшими считаются разряды накопителей с большими номерами.
Рассмотрим последовательность функционирования алгоритма криптографического преобразования в основных режимах работы.
Режим простой замены
Суть работы алгоритма в режиме простой замены поясним с помощью рис. 4.19.
Открытые данные, предназначенные для шифрования, разбиваются на блоки по 64 бит в каждом, которые обозначим через TOi [i = 1(1 )m], где m — число 64-разрядных блоков передаваемых открытых данных. После этого выполняются следующие процедуры:
Q первая последовательность бит Т01 разделяется на две последовательности и записывается в накопители: в накопитель Н2 — старшие разряды, в накопитель HI — младшие разряды;
Q в ключевое запоминающее устройство вводится ключевая последовательность длиной 256 бит;
Q выполняется итеративный процесс шифрования, состоящий из 32-х циклов.
Первый цикл происходит в следующей последовательности:
1. Содержимое накопителя HI суммируется по модулю 232 в сумматоре СМ1 с содержимым строки ХО из ключевого запоминающего устройства.
2. Результат суммирования из сумматора СМ 1 поступает на блок подстановки, где происходит поблочная замена результата по 4 бита в таблице замен.
3. С выхода блока подстановки шифруемые данные сдвигаются на 11 разрядов влево в регистре сдвига и поступают на сумматор СМ2.
4. В сумматоре СМ2 содержимое регистра сдвига складывается по модулю 2 с содержимым накопителя Н2.
5. Начальное содержимое накопителя HI поступает в накопитель Н2, а результат суммирования в сумматоре СМ2 заносится в накопитель HI.
Следующие 31 цикл аналогичны первому, за исключением того, что для выполнения очередного цикла из ключевого запоминающего устройства выбирается ключ в последовательности, представленной на рис. 4.20.
После выполнения 32-го, последнего цикла, полученный результат из сумматора СМ2 поступает в накопитель Н2, а в накопителе HI сохраняется результат предыдущего цикла. Информация, содержащаяся в накопителях HI и Н2, представляет собой первый 64-разрядный блок зашифрованных данных. Остальные блоки открытых данных шифруются в режиме простой замены аналогично.
При расшифровке закрытых данных порядок выбора ключей из ключевого запоминающего устройства происходит в обратной последовательности.
Режим гаммирования
Режим гаммирования заключается в том, что открытые данные, предварительно разбитые на 64-битные блоки, поразрядно складываются по модулю 2 с гаммой шифра Гш, представляемой в виде 64-битных блоков:
Гш={Г1, Г2,..., Гт}={П}т, [i=l(l)m],
где т — количество 64-разрядных блоков, определяемое длиной шифруемого сообщения.
Процесс шифрования данных в рассматриваемом режиме работы алгоритма поясним с помощью рис. 4.16.
В ключевое запоминающее устройство вводится ключевая последовательность длиной 256 бит и формируется синхропосылка S в виде 64-разрядной двоичной последовательности S = {S1,... , 864} = (Si}64, которая записывается в накопители HI и Н2 следующим образом:
Q S1 — в первый разряд накопителя HI;
Q S2 — во второй разряд накопителя Н2;
а ............... ;
01 S32 — в 32-й разряд накопителя HI; Q S33 — в первый разряд накопителя Н2;
а ............... ;
01 S64 — в 32-й разряд накопителя Н2.
Полученная синхропосылка S затем шифруется в режиме простой замены. Результат шифрования из накопителя HI переписывается в накопитель НЗ, а из накопителя Н2 — в накопитель Н4.
Содержимое накопителя Н4 суммируется по модулю 232-1 с константой С1 в сумматоре СМ4, результат суммирования записывается в накопитель Н4.
Содержимое накопителя НЗ суммируется по модулю 232 с константой С2 в сумматоре СМЗ, результат суммирования записывается в накопитель НЗ.
Далее содержимое накопителя Н4 переписывается в накопитель Н2, а содержимое накопителя НЗ — в накопитель HI. Полученные таким образом данные в накопителях HI и Н2 шифруются в режиме простой замены, а результатом шифрова-
ния является формирование в этих же накопителях 64-разрядного блока гамма-шифра П.
Полученный гамма-шифр Г1 суммируется поразрядно по модулю 2 с первым 64-разрядным блоком открытых данных Т01 в сумматоре СМ5. Результат суммирования — первый 64-разрядный блок зашифрованных данных Тш1.
Шифрование второго и последующих блоков открытых данных осуществляется с помощью формирования второго и последующих гамма-шифров в соответствии с рассмотренными преобразованиями режима простой замены. Если в последнем m блоке открытых данных число двоичных разрядов меньше 64, неиспользованная часть гамма-шифра Гш просто отбрасывается.
Расшифровка данных выполняется в обратной последовательности на основе знания ключевой последовательности и синхропосылки S, которая не является секретным элементом шифрования и может храниться в запоминающем устройстве или передаваться в незащищенном виде по каналам связи.
Режим гаммирования с обратной связью
Принцип работы алгоритма в режиме гаммирования с обратной связью отличается от принципа работы предыдущего режима тем, что если на первом шаге при формировании гамма-шифра используется синхропосылка, то на всех последующих шагах — предыдущий блок зашифрованных данных. За счет этого достигается сцепление блоков шифруемых данных: каждый блок данных при шифровании зависит от всех предыдущих.
Шифрование открытых данных в этом режиме происходит по той же схемной реализации, что и в режиме гаммирования, и отличается лишь введением дополнительной обратной связи с выхода сумматора СМЗ на входы накопителей HI и Н2.
Для пояснения процесса шифрования данных в режиме гаммирования с обратной связью вновь обратимся к рис. 4.16 и приведем последовательность выполняемых процедур.
В ключевое запоминающее устройство вводится ключевая последовательность длиной 256 бит, после чего формируется синхропосылка S, записываемая в накопители HI и Н2, содержимое которых шифруется в режиме простой замены. Результат шифрования в накопителях HI и Н2 представляет собой первый 64-разрядный блок гамма-шифра П.
Полученный гамма-шифр Г1 суммируется поразрядно по модулю 2 с первым 64-разрядным блокойГЬткрытых данных Т01 в сумматоре СМ5. Результат суммирования—первый 64-разрядный блок зашифрованных данных Тш1. Первый блок зашифрованных данных Тш1 по обратной связи поступает на накопители HI и Н2 и является исходной информацией для формирования второго блока гамма-шифра Г2.
Содержимое накопителей HI и Н2 шифруется в режиме простой замены. Результат шифрования в накопителях HI и Н2 представляет второй 64-разрядный блок гамма-шифра Г2. Этот гамма-шифр суммируется по модулю 2 поразрядно со вторым 64-разрядным блоком открытых данных Т02 в сумматоре СМ5. В результате получается второй 64-разрядный блок зашифрованных данных Тш2 и т. д. Если в последнем m блоке открытых данных Тот число двоичных разрядов меньше 64, неиспользованная часть гамма-шифра отбрасывается.
Расшифровка данных происходит в обратном порядке на основе знания ключевой последовательности и синхропосылки S.
Режим выработки имитовставки
Режим выработки имитовставки предназначен для обнаружения случайных и преднамеренных ошибок при передаче шифрованных данных потребителям и одинаков для любого из режимов шифрования открытых данных.
Имитовставка представляет собой дополнительный блок данных U из L бит, который формируется либо перед шифрованием всего сообщения, либо совместно с шифрованием по блокам. Число двоичных разрядов L в имитовставке определяется криптографическими требованиями с учетом вероятности возникновения ложной имитовставки:
Ро = 2 -L.
Первые блоки открытых данных, которые участвуют в формировании имитовставки, как правило, содержат служебную информацию (адресную часть, время, синхро-посылку) и не зашифровываются.
Процесс формирования имитовставки поясним также с помощью рис. 4.16.
Как и в рассмотренных выше режимах, в ключевое запоминающее устройство вводится ключевая последовательность длиной 256 бит. Далее первый 64-разрядный блок открытых данных ТЫ поступает в накопители HI и Н2, содержимое которых подвергается преобразованию, соответствующему первым 16-и циклам итеративного процесса шифрования в режиме простой замены. Результат шифрования в режиме простой замены с накопителей HI и Н2 суммируется по модулю 2 со вторым блоком открытых данных То2 в сумматоре СМ5.
Результат суммирования из сумматора СМ5 поступает в накопители HI и Н2 и после 16-и циклов шифрования в режиме простой замены суммируется по модулю 2 с третьим блоком открытых данных в сумматоре СМ 5 и т. д.
Последний 64-разрядный блок открытых данных ТОт, дополненный при необходимости до полного 64-разрядного числа нулями, суммируется по модулю 2 с результатом работы алгоритма на (m-1) шаге в сумматоре СМ5 и снова зашифровывается по первым 16-и циклам режима простой замены.
Из полученного таким образом последнего заполнения накопителей Н1 и Н2 выбирается имитовставка U длиной L бит. В большинстве практических случаев в качестве имитовставки используется содержимое накопителя HI (32 младших бита последнего блока зашифрованных данных).
Имитовставка U передается по каналам связи в конце зашифрованных данных или после каждого шифрованного блока. Поступившие данные расшифруются и из полученных блоков открытых данных TOi вырабатывается имитовставка U, которая сравнивается с имитовставкой, полученной по каналу связи. В случае несовпадения ими-товставок расшифрованные данные считают ложными.
Познакомившись с принципом работы криптографического алгоритма ТОСТ 28147-89, рассмотрим его эффективность и практическую реализацию.
Российский стандарт шифрования ГОСТ 28147-89 удобен как для аппаратной, так и для программной реализации. При размере блока данных 64 бита основная работа ведется с половинками этого блока — 32-битными словами, что позволяет эффективно реализовать российский стандарт шифрования на большинстве современных компьютеров. При реализации на 32-битных машинах наиболее трудоемка операция замены. Предусмотренные ГОСТом подстановки в 4-битных группах при программной
реализации дают возможность попарно объединить и выполнить замену в 8-битных группах, что существенно эффективнее. Надлежащая организация замены позволяет также избежать вращения слова на выходе функции шифрования, если хранить узлы замены как массивы 4-байтовых слов, в которых уже выполнено вращение.
Такая «раздутая» таблица замен потребует для своего хранения 4*28*4 = 212 байт или 4К оперативной памяти. Указанные шаги оптимизации позволяют реализовать раунд шифрования по ГОСТу за 10 машинных команд, включая выделение и загрузку в регистры отдельных байтов из 4-байтовых слов. С учетом способности процессоров Intel Pentium параллельно выполнять команды, раунд ГОСТа может быть реализован за 6 тактов работы процессора, а весь процесс шифрования — за 32*6 =192 такта. Добавляя еще 8 тактов на различные внутрипроцессорные задержки, получим оценку затрат процессорного времени на реализацию цикла шифрования по алгоритму ГОСТ 28147-89 в 200 тактов. На процессоре Pentium Pro 200 это позволит достичь предела быстродействия шифрования миллион блоков в секунду, или 8 Мбайт/с (на самом деле эта величина будет меньше).
Рассматриваемый алгоритм шифрования может быть также эффективно реализован и на 8-битных микроконтроллерах, поскольку составляющие его элементарные операции входят в систему команд большинства наиболее распространенных контроллеров. При этом суммирование по модулю 232 придется разделить на одну операцию сложения без переноса и три операции сложения с переносом, выполняемые каскадно. Все остальные операции также легко могут быть представлены в виде 8-байтовых операндов.
При аппаратной реализации ГОСТа один раунд предполагает последовательное выполнение трех операций над 32-битными аргументами: суммирование, замена, выполняемая одновременно во всех восьми 4-битных группах, и побитовое суммирование по модулю 2. Циклический сдвиг не является отдельной операцией, так как обеспечивается простой коммутацией проводников. Таким образом, при аппаратной реализации цикл шифрования требует выполнения 106 элементарных операций, и эту работу нельзя распараллелить.
Характеристики быстродействия программных реализаций, выполненных по алгоритму ГОСТ 28147-89 и новому американскому стандарту шифрования — шифру Rijndael, представлены в табл. 4.5.
Таблица 4.5. Показатели быстродействия реализаций алгоритмов шифрования
Процессор
ГОСТ 281 47-89
Rijndael, 14 раундов
Pentium 166
2,04 Мбайт/с
2,46 Мбайт/с
Pentium III 433
8,30 Мбайт/с
9,36 Мбайт/с
Из табл. 4.5 видно, что рассмотренные алгоритмы обладают сопоставимыми характеристиками быстродействия при реализации на 32-битных платформах. При использовании 8-битных платформ картина будет примерно такой же.
Что касается аппаратной реализации, то, в отличие от алгоритмов шифрования ГОСТа, Rijnael позволяет достичь высокой степени параллелизма при выполнении шифрования, оперирует блоками меньшего размера и содержит меньшее число раундов, в силу чего его аппаратная реализация на базе одной и той же технологии теоретически может быть более быстродействующей (примерно в 4 раза).
Проведенное выше сопоставление параметров алгоритмов шифрования ГОСТ28147-89 и Rijndael показывает, что, несмотря на существенное различие архитектурных принципов, на которых базируются шифры, их основные рабочие параметры примерно одинаковы. Исключением является то, что, по всей вероятности, Rijnael будет иметь определенное преимущество в быстродействии перед ГОСТом при аппаратной реализации на базе одной и той же технологии. По ключевым параметрам криптостойкости для алгоритмов такого рода ни один из них не обладает значительным преимуществом; примерно одинаковы и скорости оптимальной программной реализации для процессоров Intel Pentium, что можно экстраполировать на все современные 32-разрядные процессоры. Таким образом, можно сделать вывод, что отечественный стандарт шифрования соответствует требованиям, предъявляемым к современным шифрам, и может оставаться стандартом еще достаточно долгое время. Очевидным шагом в его оптимизации может стать переход от замен в 4-битных группах к байтовым заменам, за счет чего должна возрасти устойчивость алгоритма к известным видам криптоанализа.
Система PGP — мировой стандарт доступности
Много лет назад проблема защиты частной жизни граждан не стояла так уж остро, в связи с тем, что вмешаться в личную жизнь было технически достаточно трудно (труд этот был, как мы можем сейчас сказать, не автоматизирован). В настоящее время благодаря развитию информационных технологий компьютеры могут делать то, что не всегда могут делать люди, в частности, искать в речевых или текстовых фрагментах определенные ключевые фразы. И не только это. Теперь стало гораздо легче перехватывать информацию, особенно в сети Internet, которая общедоступна и содержит множество точек, где сообщения можно перехватить. Организации и фирмы, которые могут себе позволить тратить крупные средства на защиту своей информации, применяют сложные дорогостоящие системы шифрования, строят свои службы безопасности, используют специальные технические средства и т.п.
Алгоритмы шифрования реализуются программными или аппаратными средствами. Существует великое множество чисто программных реализаций различных алгоритмов. Из-за своей дешевизны (некоторые из них и вовсе распространяются бесплатно), а также высокого быстродействия процессоров, простоты работы и безотказности они вполне конкурентоспособны. В этой связи нельзя не упомянуть программный пакет PGP (Pretty Good Privacy), в котором комплексно решены практически все проблемы защиты передаваемой информации. Благодаря PGP рядовые граждане могут достаточно надежно защищать свою информацию, причем с минимальными затратами.
Система PGP, начиная с 1991 года, остается самым популярным и надежным средством криптографической защиты информации всех пользователей сети Internet. Сила PGP состоит в превосходно продуманном и чрезвычайно мощном механизме обработки ключей, быстроте, удобстве и широте их распространения. Существуют десятки не менее сильных алгоритмов шифрования, чем тот, который используется в PGP, но популярность и бесплатное распространение сделали PGP фактическим стандартом для электронной переписки во всем мире.
Программа PGP разработана в 1991 году Филиппом Зиммерманом (Philip Zimmermann). В ней применены сжатие данных перед шифрованием, мощное управление ключами, вычисление контрольной функции для цифровой подписи, надежная генерация ключей.
В основе работы PGP лежат сразу два криптоалгоритма — обычный алгоритм шифрования с закрытым ключом и алгоритм шифрования с открытым ключом (рис. 4.21).
Зачем это нужно? Алгоритм шифрования с закрытым ключом требует защищенного канала для передачи этого самого ключа (ведь одним и тем же ключом можно как зашифровать, так и расшифровать сообщение). Система с открытым ключом позволяет распространять ключ для зашифровки сообщения совершенно свободно (это и есть открытый ключ), однако расшифровать сообщение можно при помощи второго, закрытого ключа, который хранится только у пользователя. Более того, это справедливо и в обратную сторону — расшифровать сообщение, зашифрованное закрытым ключом, можно только при помощи открытого ключа. Недостатком данного алгоритма является крайне низкая скорость его выполнения.
Однако при шифровании сообщения в PGP оба эти ограничения обойдены достаточно оригинальным способом. Вначале генерируется случайным образом ключ для алгоритма с закрытым ключом (кстати, в качестве такого алгоритма используется очень стойкий алгоритм IDEA). Ключ этот генерируется только на один сеанс, причем таким образом, что повторная генерация того же самого ключа практически невозможна. После зашифровки сообщения к нему прибавляется еще один блок, в котором содержится данный случайный ключ, но уже зашифрованный при помощи открытого ключа алгоритма с открытым ключом RSA. Таким образом, для расшифровки необходимо и достаточно знать закрытый ключ RSA.
Для пользователя все это выглядит гораздо проще: он может зашифровать сообщение общедоступным открытым ключом и отправить это сообщение владельцу закрытого ключа. И только этот владелец и никто иной сможет прочесть сообщение. При этом программа PGP работает очень быстро. Как же она это делает?
Когда пользователь шифрует сообщение с помощью PGP, программа сначала сжимает текст, убирая избыточность, что сокращает время на отправку сообщения через модем и повышает надежность шифрования. Большинство приемов криптоанализа (взлома зашифрованных сообщений) основаны на исследовании «рисунков», присущих текстовым файлам. Путем сжатия эти «рисунки» ликвидируются. Затем программа PGP генерирует сессионный ключ, который представляет собой случайное число, созданное за счет движений вашей мыши и нажатий клавиш клавиатуры.
Как только данные будут зашифрованы, сессионный ключ зашифровывается с помощью открытого ключа получателя сообщения, который отправляется к получателю вместе с зашифрованным текстом.
Расшифровка происходит в обратной последовательности. Программа PGP получателя сообщения использует закрытый ключ получателя для извлечения временного сессионного ключа, с помощью которого программа затем дешифрует текст.
Тем не менее при работе с программой PGP возникает проблема: при шифровании исходящих сообщений открытым ключом своего корреспондента, отправитель сообщений не может их потом прочитать, ввиду того, что исходящее сообщение шифруется с помощью закрытого ключа отправителя и открытого ключа его корреспондента Чтобы этого избежать, в настройках программы PGP есть опция, позволяющая зашифровывать свои исходящие сообщения таким образом, чтобы их можно было потом взять из архива и прочитать.
Ключи, используемые программой, хранятся на жестком диске компьютера в зашифрованном состоянии в виде двух файлов, называемых кольцами (keyrings): одного для открытых ключей, а другого — для закрытых. В течение работы с программой PGP открытые ключи корреспондентов вносятся в открытые кольца. Закрытые ключи хранятся в закрытом кольце. Если вы потеряли закрытое кольцо, то не сможете расшифровать информацию, зашифрованную с помощью ключей, находящихся в этом кольце.
Хотя открытый и закрытый ключи взаимосвязаны, чрезвычайно сложно получить закрытый ключ, исходя из наличия только открытого ключа, однако это возможно, если вы имеете мощный компьютер. Поэтому крайне важно выбирать ключи подходящего размера: достаточно большого для обеспечения безопасности и достаточно малого для обеспечения быстрого режима работы. Кроме этого, необходимо учитывать личность того, кто намеревается прочитать ваши зашифрованные сообщения, насколько он заинтересован в их расшифровке, каким временем он располагает и какие у него имеются ресурсы.
Более длинные ключи будут более надежными в течение длительного срока. Поэтому, если вам необходимо так зашифровать информацию, чтобы она хранилась в течение нескольких лет, следует применить мощный ключ.
Открытые ключи для шифрования можно разместить на одном из PGP-серверов. С этого момента каждый, кто хочет, может послать вам электронную почту в зашифрованном виде. Если вы используете преимущественно одну и ту же почтовую программу, шифрование и дешифровка будут не сложнее простого нажатия кнопки. Если же вы используете разные программы, то достаточно поместить письмо в буфер и дать команду шифровать в буфере. После этого можно вернуть письмо в почтовую программу и отослать. Существуют три основных способа шифрования информации:
– напрямую в почтовой программе (самый удобный);
– через копирование текста в буфер обмена Windows;
– через шифрование всего файла, который затем прикрепляется к сообщению.
Программа PGP предназначена, в первую очередь, для защиты электронной почты, хотя ее можно использовать и для защиты файлов на жестком диске. Особенно привлекательными чертами PGP являются многочисленные plug-ins для таких популярных почтовых программ, как Eudora, Netscape и Outlook. Plug-ins настраивают PGP для этих программ и дополняют их некоторыми приятными мелочами, например, дополнительными кнопками на панели инструментов. Пиктограмма в правом нижнем углу (tray), всплывающая панель инструментов (floating toolbox) и меню правой кнопки мыши (right-click menu) в PGP очень логичны и удобны, поэтому она проста в управлении.
Можно столкнуться с системой защиты PGP в программе Nuts & Bolts фирмы Helix Software. Это та же программа, только PGP — более новой версии. Компания Network Associates поглотила Helix и завладела правами на продукт. Новая версия PGP for Personal Privacy совместима с предыдущими версиями, в том числе Nuts & Bolts.
Рекомендуется использовать связку популярной почтовой программы The Bat! (заодно поддержав производителей отечественного программного обеспечения) и PGP. Безусловным достоинством этой программы является то, что она позволяет использовать как внешнюю программу PGP (то есть оригинальную, непосредственно от разработчиков), так и установить специальное дополнение к программе, дающее возможность работать с PGP (основанное на популярной библиотеке SSLeay). Все основные возможности PGP поддерживаются в полной мере и достаточно просты в употреблении.
Заметим, что PGP позволяет шифровать сообщение и составлять электронную подпись (ее еще часто называют сигнатурой или PGP-сигнатурой). Если с шифрованием все достаточно понятно, то сигнатура нуждается в дополнительном пояснении. Все дело в том, что сообщение может быть не только прочтено, но и модифицировано. Для установки факта целостности сообщения вычисляется дайджест сообщения — аналог контрольной суммы, но более надежный в силу его уникальности.
Программа PGP применяет так называемую хэш-функцию. Ее работа заключается в следующем. Если произошло какое-либо изменение информации, пусть даже на один бит, результат хэш-функции будет совершенно иным. Дайджест шифруется при помощи закрытого ключа и прилагается к самому сообщению. Теперь получатель может при помощи открытого ключа расшифровать дайджест отправителя, затем, вычислив заново дайджест для полученного сообщения, сравнить результаты. Полное совпадение дайджестов говорит о том, что сообщение не изменилось при пересылке.
Шифрование и электронную подпись можно использовать и одновременно. В этом случае отправитель при помощи открытого ключа получателя шифрует сообщение, а потом подписывает его при помощи своего закрытого ключа. В свою очередь получатель сначала проверяет целостность сообщения, применяя открытый ключ отправителя, а потом расшифровывает сообщение, используя уже собственный закрытый ключ. Все это кажется достаточно сложным, однако на практике усваивается быстро. Достаточно обменяться с кем-нибудь парой писем с помощью PGP.
В настоящий момент программа доступна на платформах UNIX, DOS, Macintosh и VAX. Пакет программ PGP свободно распространяется по Internet для некоммерческих пользователей вместе с 75-страничным справочным руководством.
Однако следует сразу предупредить пользователей, что система PGP не сертифицирована для применения в Российской Федерации. Поэтому следует избегать ее использования в государственных организациях, коммерческих банках и т. п. Но для личного пользования граждан она является великолепным средством защиты от посягательств на свою частную жизнь.
Криптографические ключи
Известно, что все без исключения алгоритмы шифрования используют криптографические ключи. Именно поэтому одна из задач криптографии — управление ключами, т. е. их генерация, накопление и распределение. Если в компьютерной сети зарегистрировано п пользователей и каждый может связаться с каждым, то для нее необходимо иметь п*(п-1)/2 различных ключей. При этом каждому из п пользователей следует предоставить (п-1) ключ, т. к. от их выбора в значительной степени зависит надежность защиты конфиденциальной информации. Выбору ключа для криптосистемы придается особое значение.
Более того, так как практически любой криптографический ключ может быть раскрыт злоумышленником, то необходимо использовать определенные правила выбора, генерации, хранения и обновления их в процессе сеансов обмена секретными сообщениями, а также их доставки безопасным способом до получателей. Также известно, что для одноключевых криптосистем необходим защищенный канал связи для управления ключом. Для двухключевых криптосистем нет необходимости в таком канале связи.
Процесс генерации ключей должен быть случайным. Для этого можно использовать генераторы случайных чисел, а также их совокупность с каким-нибудь непредсказуемым фактором, например, выбором битов от показаний таймера. При накоплении ключи нельзя записывать в явном виде на носители. Для повышения безопасности ключ должен быть зашифрован другим ключом, другой — третьим и т. д. Последний ключ в этой иерархии шифровать не нужно, но его следует размещать в защищенной части аппаратуры. Такой ключ называется мастер-ключом.
Выбранные ключи необходимо распределять таким образом, чтобы не было закономерностей в изменении ключей от пользователя к пользователю. Кроме того, надо предусмотреть частую смену ключей, причем частота их изменения определяется двумя факторами: временем действия и объемом информации, закрытой с их использованием.
Выбор длины криптографического ключа
Криптографические ключи различаются по своей длине и, следовательно, по силе: ведь чем длиннее ключ, тем больше число возможных комбинаций. Скажем, если программа шифрования использует 128-битные ключи, то ваш конкретный ключ будет одной из 2128 возможных комбинаций нулей и единиц. Злоумышленник с большей вероятностью выиграет в лотерею, чем взломает такой уровень шифрования методом «грубой силы» (т. е. планомерно перебирая ключи, пока не встретится нужный). Для сравнения: чтобы подобрать на стандартном компьютере симметричный 40-битный ключ, специалисту по шифрованию потребуется около 6 часов. Даже шифры со 128-битным ключом до некоторой степени уязвимы, т. к. профессионалы владеют изощренными методами, которые позволяют взламывать даже самые сложные коды.
Надежность симметричной криптосистемы зависит от стойкости используемого криптографического алгоритма и от длины секретного ключа. Допустим, что сам алгоритм идеален: вскрыть его можно только путем опробования всех возможных клю-
чей. Этот вид криптоаналитической атаки называется методом тотального перебора. Чтобы применить данный метод, криптоаналитику понадобится немного шифротек-ста и соответствующий открытый текст. Например, в случае блочного шифра ему достаточно получить в свое распоряжение по одному блоку шифрованного и соответствующего открытого текста. Сделать это не так уж и трудно.
Криптоаналитик может заранее узнать содержание сообщения, а затем перехватить его при передаче в зашифрованном виде. По некоторым признакам он также может догадаться, что посланное сообщение представляет собой не что иное, как текстовый файл, подготовленный с помощью распространенного редактора, компьютерное изображение в стандартном формате, каталог файловой подсистемы или базу данных. Для криптоаналитика важно то, что в каждом из этих случаев в открытом тексте перехваченного шифросообщения известны несколько байт, которых ему хватит, чтобы предпринять атаку.
Подсчитать сложность атаки методом тотального перебора достаточно просто. Если ключ имеет длину 64 бита, то суперкомпьютер, который может опробовать 1 млн ключей за 1 с, потратит более 5000 лет на проверку всех возможных ключей. При увеличении длины ключа до 128 бит этому же суперкомпьютеру понадобится 1025 лет, чтобы перебрать все ключи. Можно сказать, что 1025 — это достаточно большой запас надежности для тех, кто пользуется 128-битными ключами.
Однако прежде чем броситься спешно изобретать криптосистему с длиной ключа, например, в 4000 байт, следует вспомнить о сделанном выше предположении: используемый алгоритм шифрования идеален в том смысле, что вскрыть его можно только методом тотального перебора. Убедиться в этом на практике бывает не так просто, как может показаться на первый взгляд.
Криптография требует утонченности и терпения. Новые сверхсложные криптосистемы при более внимательном рассмотрении часто оказываются очень нестойкими. А внесение даже крошечных изменений в стойкий криптографический алгоритм может существенно понизить его стойкость. Поэтому надо пользоваться только проверенными шифрами, которые известны уже в течение многих лет, и не бояться проявлять болезненную подозрительность по отношению к новейшим алгоритмам шифрования, вне зависимости от заявлений их авторов об абсолютной надежности этих алгоритмов.
Важно также не забывать о том, что стойкость алгоритма шифрования должна определяться ключом, а не деталями самого алгоритма. Чтобы быть уверенным в стойкости используемого шифра, недостаточно проанализировать его при условии, что противник досконально знаком с алгоритмом шифрования. Нужно еще и рассмотреть атаку на этот алгоритм, при которой враг может получить любое количество шифрованного и соответствующего открытого текста. Более того, следует предположить, что криптоаналитик имеет возможность организовать атаку с выбранным открытым текстом произвольной длины.
К счастью, в реальной жизни большинство людей, интересующихся содержанием ваших шифрованных файлов, не обладают квалификацией высококлассных специалистов и необходимыми вычислительными ресурсами, которые имеются в распоряжении правительств мировых супердержав. Последние же вряд ли будут тратить время и деньги, чтобы прочесть ваше пылкое сугубо личное йослание. Однако, если вы плани-
руете свергнуть «антинародное правительство», вам необходимо всерьез задуматься о стойкости применяемого алгоритма шифрования.
Многие современные алгоритмы шифрования с открытым ключом основаны на однонаправленности функции разложения на множители числа, являющегося произведением двух больших простых чисел. Эти алгоритмы также могут быть подвергнуты атаке, подобной методу тотального перебора, применяемому против шифров с секретным ключом, с одним лишь отличием: опробовать каждый ключ не потребуется, достаточно суметь разложить на множители большое число.
Конечно, разложение большого числа на множители — задача трудная. Однако сразу возникает резонный вопрос, насколько трудная. К несчастью для криптографов, ее решение упрощается, и, что еще хуже, значительно более быстрыми темпами, чем ожидалось. Например, в середине 70-х годов считалось, что для разложения на множители числа из 125 цифр потребуются десятки квадрильонов лет. А всего два десятилетия спустя с помощью компьютеров, подключенных к сети Internet, удалось достаточно быстро разложить на множители число, состоящее из 129 цифр. Этот прорыв стал возможен благодаря тому, что за прошедшие 20 лет были не только предложены новые, более быстрые, методы разложения на множители больших чисел, но и возросла производительность используемых компьютеров.
Поэтому квалифицированный криптограф должен быть очень осторожным и осмотрительным, когда работает с длинным открытым ключом. Необходимо учитывать, насколько ценна засекречиваемая с его помощью информация и как долго она должна оставаться в тайне для посторонних.
А почему не взять 10 000-битный ключ? Ведь тогда отпадут все вопросы, связанные со стойкостью несимметричного алгоритма шифрования с открытым ключом, основанном на разложении большого числа на множители. Но дело в том, что обеспечение достаточной стойкости шифра — не единственная забота криптографа. Имеются дополнительные соображения, влияющие на выбор длины ключа, и среди них — вопросы, связанные с практической реализуемостью алгоритма шифрования при выбранной длине ключа.
Чтобы оценить длину открытого ключа, будем измерять доступную криптоанали-тику вычислительную мощь в так называемых мопс-годах, т. е. количеством операций, которые компьютер, способный работать со скоростью 1 млн операций в секунду, выполняет за год. Допустим, что злоумышленник имеет доступ к компьютерным ресурсам общей вычислительной мощностью 1000 мопс-лет, крупная корпорация — 107 мопс-лет, правительство — 109 мопс-лет. Это вполне реальные цифры, если учесть, что при реализации упомянутого выше проекта разложения числа из 129 цифр его участники задействовали всего 0,03% вычислительной мощи Internet, и чтобы добиться этого, им не потребовалось принимать какие-либо экстраординарные меры или выходить за рамки закона. Из табл. 4.6 видно, сколько требуется времени для разложения различных по длине чисел.
Сделанные предположения позволяют оценить длину стойкого открытого ключа в зависимости от срока, в течение которого необходимо хранить зашифрованные с его помощью данные в секрете (табл. 4.7). При этом нужно помнить, что криптографические алгоритмы с открытым ключом часто применяются для защиты очень ценной информации на весьма долгий период времени. Например, в системах электронных пла-
Таблица 4.6. Связь длины чисел и времени, необходимого для их разложения на множители
Количество бит в двоичном представлении числа
Количество мопс-лет для разложения на множители
768
3X1 05
1024
3X1 07
1280
3X1 09
1536
3X1 011
2048
3X1 014
тежей или при нотариальном заверении электронной подписи. Идея потратить несколько месяцев на разложение большого числа на множители может показаться кому-то очень привлекательной, если в результате он получит возможность рассчитываться за свои покупки по чужой кредитной карточке.
Таблица 4.7. Рекомендуемая длина открытого ключа (в битах)
Год
Хакер
Крупная корпорация
Правительство
2000
1024
1280
1536
2005
1280
1536
2048
2010
1280
1536
2048
2015
1536
2048
2048
С приведенными в табл. 4.7 данными согласны далеко не все криптографы. Некоторые из них наотрез отказываются делать какие-либо долгосрочные прогнозы, считая это бесполезным делом, другие — чересчур оптимистичны, рекомендуя для систем цифровой подписи длину открытого ключа всего 512—1024 бита, что является совершенно недостаточным для обеспечения надлежащей долговременной защиты.
Криптоаналитическая атака против алгоритма шифрования обычно бывает направлена в самое уязвимое место этого алгоритма. Для организации шифрованной связи часто используются криптографические алгоритмы как с секретным, так и с открытым ключом. Такая криптосистема называется гибридной. Стойкость каждого из алгоритмов, входящих в состав гибридной криптосистемы, должна быть достаточной, чтобы успешно противостоять вскрытию. Например, глупо применять симметричный алгоритм с ключом длиной 128 бит совместно с несимметричным алгоритмом, в котором длина ключа составляет всего 386 бит. И наоборот, не имеет смысла задействовать симметричный алгоритм с ключом длиной 56 бит вместе с несимметричным алгоритмом с ключом длиной 1024 бита.
Таблица 4.8. Длины ключей для симметричного и несимметричного алгоритмов
шифрования, обладающих одинаковой стойкостью
Длина ключа, бит
Для симметричного алгоритма
Для несимметричного алгоритма
56
384
64
512
80
768
112
1792
128
2304
В табл. 4.8 перечисляются пары длин ключей для симметричного и несимметричного криптографического алгоритма, при которых стойкость обоих алгоритмов против криптоаналитической атаки методом тотального перебора приблизительно одинакова. Из этих данных следует, что если используется симметричный алгоритм с 112-битным ключом, то вместе с ним должен применяться несимметричный алгоритм с 1792-битным ключом. Однако на практике ключ для несимметричного алгоритма шифрования обычно выбирают более стойким, чем для симметричного, поскольку с помощью первого защищаются значительно большие объемы информации и на более продолжительный срок.
Способы генерации ключей
Поскольку стойкость шифра определяется секретностью ключа, то вскрытию может подвергнуться не сам шифр, а алгоритм генерации ключей. Иными словами, если для генерации ключей используется нестойкий алгоритм, криптосистема будет нестойкой.
Длина ключа в DES-алгоритме составляет 56 бит. Вообще говоря, в качестве ключа можно использовать любой 56-битный вектор. На практике это правило часто не соблюдается. Например, широко распространенная программа шифрования файлов Norton Discreet, входящая в пакет Norton Utilities (версии 8.0 или более младшей версии), которая предназначена для работы в операционной системе DOS, предлагает пользователю программную реализацию DES-алгоритма. Однако при вводе ключа разрешается подавать на вход программы только те символы, старший бит представления которых в коде ASCII равен нулю. Более того, пятый бит в каждом байте введенного ключа является отрицанием шестого бита, и в нем игнорируется младший бит. Это означает, что мощность ключевого пространства сокращается до 240 ключей. Таким образом, программа Norton Discreet реализует алгоритм шифрования, ослабленный в десятки тысяч раз по сравнению с настоящим DES-алгоритмом.
В табл. 4.9 приведено количество возможных ключей в зависимости от различных ограничений на символы, которые могут входить в ключевую последовательность, а также указано время, необходимое для проведения атаки методом тотального перебора, при условии, что перебор ведется со скоростью 1 млн ключей в секунду.
Из табл. 4.9 следует, что при переборе 1 млн ключей в секунду можно в приемлемые сроки вскрывать 8-байтовые ключи из строчных букв и цифр, 7-байтовые буквен-но-цифровые ключи, 6-байтовые ключи, составленные из печатаемых ASCII-символов, и 5-байтовые ключи, в которые могут входить любые ASCII-символы. А если учесть, что вычислительная мощность компьютеров увеличивается вдвое за 1,5 года, то для успешного отражения атаки методом тотального перебора в течение ближайшего десятилетия необходимо заблаговременно позаботиться о том, чтобы используемый ключ был достаточно длинным.
Когда отправитель сам выбирает ключ, с помощью которого он шифрует свои сообщения, его выбор обычно оставляет желать лучшего. Например, некий Петр Сергеевич Иванов скорее предпочтет использовать в качестве ключа Ivanov, чем такую последовательность символов, как &h>7)g\*. И вовсе не потому, что он принципиально не желает соблюдать элементарные правила безопасности. Просто свою фамилию Ива-
Таблица 4.9. Количество возможных ключей в зависимости от ограничений на символы
\ ключевой последовательности
\
Используемые символы
9 f i
]
Длина символов ключевой последовательности, байт
4
5
6
7
а
Количество возможных ключей
Время полного перебора
Количество возможных ключей
Время полного переборз
Количество возможных ключей
Время полного перебора
Количество возможных ключей
Время
ПОЛНОГО
перебора
Количество возможных ключей
Время полного перебора
Строчные буквы (26)
4,7x1 05
0,6с
1,3x1 07
13с
3,2x10*
6 мин
8, 1x1 0е
2,3 час
2,2x10"
2,5 ДН
Строчные буквы и цифры (36)
1,8x10*
1,8с
6,1x1 07
2 мин
2,3x1 09
37 мин
7,9x1 010
23 час
2.9x1 012
34 дн.
Буквы и цифры (62)
1,6x1 07
16с
9,3x10"
16 мин
5,8x1 010
17 час
3,6x1 01'
42 дн.
2,3x1 014
7,0 лет
Печатаемые символы (95)
8,2x1 07
1,5 мин
7,8x1 0е
2,2 час
7,5x1 01'
8,6 дн.
7.1хЮ13
2,3 лет
6,7x1 015
21 1 лет
Все ASCII-символы
4,4x1 09
1 ,3 час
1,2х1010
14дн.
2,9хЮ14
9,0 лет
7,3х101в
2400 лет
1,9х1019
590000 лет
нов помнит гораздо лучше, чем абракадабру из восьми произвольно взятых символов. Однако при использовании такого ключа сохранить свою переписку в тайне ему не поможет и самый стойкий алгоритм шифрования в мире, особенно если ключи совпадают с именами ближайших родственников и записывает он эти ключи на клочках бумаги, которые наклеивает на компьютер. В ходе хорошо организованной атаки методом тотального перебора квалифицированный криптоаналитик не будет применять все ключи последовательно, один за другим. Он сначала проверит те из них, которые хоть что-то значат для Иванова. Такая разновидность атаки методом тотального перебора называется словарной атакой, поскольку противник использует словарь наиболее вероятных ключей. В этот словарь обычно входят:
Q Имя, фамилия, отчество, инициалы, год рождения и другая личная информация, имеющая отношение к данному человеку. Например, при словарной атаке против Петра Сергеевича Иванова в первую очередь следует проверить PSI. PSIPSI, PIVANOV, Pivanov, psivanov, peteri, petel, IvanovP, peterivanov, Peter-Ivanov и т. д. Q Словарная база данных, составленная из имен людей, героев мультфильмов и мифических животных, ругательств, чисел (как цифрами, так и прописью), названий художественных фильмов, научно-фантастических романов, астероидов, планет и цветов радуги, общепринятых сокращений и т. д. В общей сложности для одного конкретного человека такая база данных насчитывает более 60 тыс. словарных единиц. Q Слова, которые получены путем внесения различных изменений в словарную базу данных, составленную на предыдущем этапе. Сюда относятся обратный порядок написания слова, замена в нем латинских букв о, 1, z, s на цифры 0,1,2 и 5 соответственно, слова во множественном числе и т. д. Это дает дополнительно еще около миллиона словарных единиц для использования в качестве возможного ключа к шифру.
Q Слова, полученные с помощью замены строчных букв на заглавные. Например, вместе со словом Ivanov будут проверяться слова iVanov, ivAnov, ivaNov, ivanOv, ivanoV, IVanov, IvAnov, IvaNov, IvanOv, IvanoV'li т. д. Однако вычислительная мощь современных компьютеров позволяет проверять только одно-, двух- р трехбуквенные замены строчных букв на заглавные.
О Слова на различных иностранных языках. Хотя компьютерные пользователи, в основном, работают с англоязычными операционными системами (DOS, UNIX, Windows и др.), существуют локализованные версии распространенныхрпераци-онных систем, в которых допускается использование другого языка. Это означает, что в качестве ключа на вход программы шифрования может быть подана любая фраза на родном языке ее пользователя. Следует также учитывать, что ключ может быть транслитерирован с любого языка (например, с русского или китайского) на английский и затем в таком виде введен в программу шифрования. LJ Пары слов. Поскольку количество вероятных пар слов, из которых может состоять криптографический ключ, слишком велико, на практике криптоаналитики обычно ограничиваются словами из трех и четырех букв.
Поэтому, если все же требуется сохранить ключ в памяти, а запомнить выражение (например, 36f9 67a3 f9cb d931) трудно, тогда для генерации ключа можно использовать правила, которые очевидны для вас, но не для постороннего:
О Составьте ключ из нескольких слов, разделенных знаками препинания. Например, легко запоминаются ключи типа Yankee! Go home.
LI Используйте в качестве ключа сочетание букв, которые представляют собой акроним более длинного слова. К примеру, отбросив гласные буквы в предыдущем выражении, можно сгенерировать ключ Ynk! G hm.
Более привлекателен подход, при котором вместо отдельного слова используется достаточно длинное, легко запоминающееся предложение на русском, английском или другом языке. Такое выражение в криптографии называется паролем. Для преобразования пароля в псевдослучайный битовый ключ можно применить любую однонаправленную хэш-функцию.
Пароль следует выбирать достаточно длинным, чтобы полученный в результате его преобразования ключ был случайным. Известно, что в предложении на английском языке каждая буква содержит примерно 1,3 бита информации. Тогда, чтобы получить 64-битный ключ, пароль должен состоять примерно из 49 букв, что соответствует английской фразе из 10 слов.
Пароль должен быть составлен так, чтобы его было легко вспоминать, и в то же время он должен быть достаточно уникальным. Цитата из высказываний Козьмы Пруткова, которая у всех на слуху, вряд ли подойдет, поскольку его сочинения имеются в форме, доступной для воспроизведения на компьютере, и, следовательно, могут быть использованы в словарной атаке. Лучше воспользоваться творчеством малоизвестного поэта или драматурга, процитировав его с ошибками. Эффект будет сильнее, если в цитате, использованной для генерации ключа, присутствуют иностранные слова. Идеально подходят для этой цели незатейливые ругательства — их не придется записывать, чтобы запомнить. Достаточно стукнуть по пальцу молотком, и пароль автоматически придет вам в голову. Надо только сдержаться и не произнести его вслух, чтобы не подслушали посторонние.
Несмотря на все сказанное, залогом наилучшей защиты служит не шаманство при выборе пароля, а случайность полученного ключа. Хороший ключ — это случайный ключ, а значит, заранее будьте готовы к тому, что запомнить его наизусть очень труд-
но. Поскольку в компьютерах используется исключительно цифровая информация, то далее мы будем предполагать, что сообщение, которое мы хотим криптографически преобразовать, переводится в последовательность двоичных цифр. Любая информация (письма, музыка или телевизионный сигнал) может быть представлена в двоичном коде.
Надежный ключ представляет собой случайный битовый вектор. К примеру, если он имеет |щину 56 бит, это значит, что в процессе его генерации с одинаковой вероятностью м^>жет получиться любой из 256 возможных ключей. Источником случайных ключей обычно служит природный случайный генератор. Кроме того* источником случайного ключа может быть криптографически надежный генератор псевдослучайных двоичных последовательностей. Лучше, чтобы процесс генерации ключей был автоматизирован.
Использовать хороший генератор случайных чисел является очень важно, однако не следует слишком долго спорить о том, какой из генераторов лучше. Важнее применять стойкие алгоритмы шифрования и надежные процедуры работы с ключами.
Во всех алгоритмах шифрования имеются так называемые нестойкие ключи. Это означает, что некоторые из ключей к шифру менее надежны, чем остальные. Поэтому при генерации ключей нужно автоматически проверять их на стойкость и генерировать новые вместо тех, которые эту проверку не прошли. К примеру, в DES-алгоритме имеются всего 24 нестойких ключа из общего количества 256, и, следовательно, вероятность найти нестойкий ключ пренебрежимо мала. Кроме того, откуда криптоанали-тику знать, что для зашифрования конкретного сообщения или файла был применен именно нестойкий ключ? А сознательный отказ от использования нестойких ключей дает противнику дополнительную информацию о вашей криптосистеме, что весьма нежелательно. С другой стороны, проверить ключи на нестойкость достаточно просто, чтобы этим пренебрегать.
Генерировать открытые ключи сложнее, чем секретные, поскольку открытые ключи должны обладать определенными свойствами (например, произведением двух простых чисел).
Рассмотрим подробнее процесс формирования различных ключей. Чтобы усложнить шифр, используется не одна-единственная таблица, с помощью которой можно по некоторому правилу переставить буквы или цифры исходного сообщения, а несколько таблиц в определенном порядке. Этот порядок и образует ключ шифрования. Если мы используем только две таблицы, обозначенные как «ключ 0» и «ключ 1», то типовым ключом может быть, например, 1101101. В связи с тем, что таблиц несколько, теперь мы будем иметь дело с многоалфавитной подстановкой. И таких таблиц теоретически может быть сколь угодно много. Относительно этого нового источника сложности в шифре возникает вопрос: можно ли упростить таблицы подстановок, сделав их меньше? Конечно же, да. Простейшая двоичная подстановка, которую только можно выполнить, — это замена одной двоичной цифры на другую. В этом случае существует всего две различные таблицы подстановок. Рассмотрим их. При этом каждая таблица будет соответствовать одному из двух основных типов ключа, как показано на рис. 4.22.
Мы предположим, что таблица, помеченная «Ключ 1», заменяет нули сообщения на единицы и, наоборот, таблица, помеченная «Ключ Оз?, оставляет все цифры сообще-
ния неизменными. Оказывается, что тот же самый эффект можно получить с помощью сложения по модулю 2: две одинаковые цифры в результате такой операции дают О, две различные — 1. Поэтому в рассматриваемом случае шаблонный ключ можно назвать также аддитивным ключом. Ключ шифрования для сложения по модулю 2 может быть произвольной последовательностью единиц и нулей. Чтобы зашифровать двоичное представление, прибавляют цифры ключа к каждой цифре сообщения. При расшифровке вычитают цифры (это то же самое, что и сложение по модулю 2).
Рассмотрим, что получится, если мы будем шифровать сообщение (последовательность двоичных цифр), например, 010110, преобразуя ее в другую последовательность, используя ключ «Ключ 1» и «Ключ 0» в некотором произвольном порядке: 110101 (см. рис. 4.22). Согласно правилу, по которому «Ключ 1» заменяет нули сообщения на единицы и наоборот, а «Ключ 0» оставляет все цифры неизменными, получим шифрованное сообщение 100011. Это сложение по модулю 2, удобное тем, что вычитание по модулю 2 есть то же самое, что и сложение^ поэтому исходное сообщение может быть восстановлено просто прибавлением последовательности цифр ключа (она известна тому, кому направлено сообщение) к последовательности цифр шифрованного сообщения. Результатом этих преобразований будет расшифрованное сообщение 010110.
Сразу возникает вопрос: имеет ли рассмотренный простой шифр какое-либо практическое значение? Поскольку этот шифр, в сущности, использует лишь две таблицы подстановки минимального размера, очевидно, что мы должны переключаться между ними часто, и делать это случайным образом, то есть прибавлять к данным случайную последовательность ключевых цифр. Предположим, это мы сделали. Тогда получим потенциально нераскрываемый шифр. С точки зрения теории информации этот шифр делает следующее: к каждому биту информации сообщения прибавляется один бит информации (а точнее, дезинформации!) ключа. Этого достаточно, чтобы полностью разрушить любую структуру, которую исходное сообщение могло бы иметь, если только цифры ключа взяты в случайном порядке, скажем, определяемом подбрасыванием монеты, и ключевая последовательность имеет такую же длину, как сообщение, и никогда не повторяется.
Стойкость такого метода определяется исключительно тем, что для каждой цифры сообщения мы полностью и случайным образом меняем ключ. Это единственный класс
шифров, для которых можно доказать нераскрываемость в абсолютном смысле этого
слова.
Даже если злоумышленник пытается вскрыть систему с помощью грубой силы, например, опробует все возможные прибавляемые ключи (26 или 64, в случае нашего 6-битного сообщения), он получит все возможные открытые тексты, включая тот, который мы в действительности зашифровали, но не получит информации о том, какое сообщение правильное. Даже сам дьявол, который мог бы опробовать все возможные ключи в одно мгновение, не мог бы внести определенность. Эта система хорошо известна и используется всеми правительствами под разными именами, такими, как система Вернама или одноразовый блокнот.
В реальных системах требуется, чтобы на передающей и приемной сторонах были одинаковые ключи, синхронизированные посредством таймера. Цифры сообщения и цифры ключа складываются по модулю 2, полученный в результате зашифрованный поток передается через канал связи, после чего ключ вычитается из данных (прибавляется по модулю 2). Для трафика большого объема обширные запасы ключевых цифр должны быть заблаговременно доставлены получателю и храниться у него.
Фундаментальный недостаток системы Вернама состоит в том, что для каждого бита переданной информации получателю необходимо хранить один заранее подготовленный бит ключевой информации. Более того, эти биты должны следовать в случайной последовательности, и эту последовательность нельзя использовать вторично. Если необходимо шифровать трафик большого объема, то выполнить это требование трудно. Поэтому система Вернама используется только для передачи сообщений наивысшей секретности.
Чтобы обойти проблему предварительной передачи получателю сообщения секретного ключа большого объема, инженеры и изобретатели придумали много остроумных схем генерации очень длинных потоков псевдослучайных цифр из нескольких коротких потоков в соответствии с некоторым алгоритмом. Получателя шифрованного сообщения при этом необходимо снабдить точно таким же генератором, как и у отправителя. Конечно, такой алгоритм предполагает использование систематических процедур, добавляющих регулярности в шифротекст, обнаружение которых может помочь аналитику дешифровать сообщение.
Один из основных методов построения подобных генераторов заключается в использовании двух или более битовых потоков, данные которых побитно складываются для получения единого «смешанного» потока. Например, простой длинный поток битов ключа может быть заменен двумя циклическими генераторами двоичных последовательностей, длины которых являются простыми или взаимно простыми числами (рис. 4.23) Так как в этом случае величины длин двоичных последовательностей не имеют общих множителей, полученный из них поток имеет период повторения, равный произведению их длин.
Например, две двоичные последовательности, имеющие длину 1000 и 1001 двоичных символов соответственно, дают в результате составной псевдослучайный поток, который не повторяется на первых 10001001, или 1001000 цифрах. Циклические двоичные последовательности проходят через сумматор, который складывает по модулю 2 считанные с них цифры. Выход сумматора служит ключом, используемым для зашифрования сообщения. Поэтому важно, чтобы составной поток превышал по длине
все вместе взятые сообщения, которые могут быть переданы за разумный период времени. Расшифрование осуществляется с помощью ключа, сгенерированного на приемнике идентичным способом. Таким образом, несколько коротких последовательностей заменяют одну длинную, но получающиеся при этом внутренние периодичности могут помочь аналитику в раскрытии шифра.
Поскольку побитовый сумматор является линейным устройством, он изначально криптографически слаб, но может быть усилен разными способами. Можно нагромождать одну сложность на другую, вводя цепочки обратной связи* связанные каким-либо образом с передаваемым сообщением, или вводя такие нелинейные математические операции, как подстановки в блоках цифр подходящего размера. Несекретная криптографическая литература содержит много конструкций генераторов псевдослучайных последовательностей, которые могут быть, в принципе, сведены к одной базовой схеме, изображенной на рис. 4.24. Тем или иным способом они вырабатывают псевдослучайные числа, выполняя сложные математические операции над упорядоченной последовательностью входных чисел, преобразуя их способом, который, как предполагается, должен поставить аналитика в тупик.
В этом обобщенном представлении генератора формирования двоичной ключевой последовательности двоичный счетчик обеспечивает входными числами блок преобразований, который вырабатывает биты потока ключа, прибавляемые затем к потоку битов сообщения в зависимости от состояния селектора ключа.
Но даже шифр Вернама на самом деле не обеспечивает защиту от искусного мошенничества с трафиком, не обладающим избыточностью.
Независимо от того, закодировано ли сообщение с использованием случайных цифр или псевдослучайной последовательности цифр, в подобном побитовом шифровании одиночная ошибка, возникшая при передаче сообщения, остается в рамках одной цифровой позиции; ошибка не «размножается» и не распространяется на остаток сообщения. Кроме того, этот шифр не вносит межсимвольных зависимостей. Когда сообщение написано на естественном языке, то контекст естественной избыточности позволяет человеку, читающему текст, легко обнаруживать случайные ошибки. Так, если неко-
торые из 5 бит, представляющих букву Е, оказались искаженными таким образом, что соответствующая группа битов стала представлением буквы О (например, слово СЕКРЕТНЫЙ превратилось в слово СЕКРОТНЫЙ), то читатель-человек, исходя из контекста, обнаружил бы ошибку.
Совершенно иная ситуация при использовании компьютеров. Передаваемые данные здесь могут не содержать избыточности, например, если они полностью числовые, то в этой ситуации ошибка всего в одной цифре может вызвать целый каскад вычислительных погрешностей. Изучение проблемы показало, что простые коды обнаружения ошибок не подходят для защиты целостности компьютерных данных от возможных подтасовок со стороны злоумышленников. В данном случае необходимо не просто обнаружение ошибок, а требуется аутентификация, защищенная криптографическими методами. Неожиданно оказалось, что это лучше всего достигается, если решение строить на принципах, внутренне присущих шифрующим структурам.
Наибольшая производительность компьютеров достигается при их работе с блоками данных длиной 8,16, 32 и т. д. разрядов. Рассмотрим порядок формирования ключей для блочных шифров. Блочным шифром будем называть любой шифр, который преобразует п цифр сообщения в п цифр шифрограммы.
Например, блочным будет такой шифр, который преобразует код 00000, представляющий по нашему соглашению букву А в открытом тексте, в, скажем, 11001, эквивалент А для шифротекста, по некоторому ключу перестановки, в точности, как это задает таблица подстановок. Чтобы увидеть, как такое двоичное преобразование выполняется электронным устройством, давайте рассматривать подстановки только в группах из трех двоичных цифр, как это показано на рис. 4.25.
Блок подстановок, в отличие от потоковых устройств, включает как линейные, так и нелинейные преобразования: он не просто прибавляет нули и единицы к цифрам входа, но может заменить любой входной блок цифр на любой выходной блок. Реально он состоит из двух коммутаторов. Первый преобразует двоичное число из п цифр в одну цифру по основанию 2п, другой выполняет обратное преобразование. Блок, таким образом, содержит 2п внутренних соединений коммутаторов, которые могут быть выполнены 2п! различными способами. Это означает, что в случае изображенного на рис. 4.25 блока с п = З^уществует 23! = 8! = 40320 различных вариантов разводки блока или таблиц, подобных той, что изображена на этом рисунке. Блок такого типа с п = 128 сделал бы криптоанализ практически неосуществимым, однако его трудно создать технологически.
Рассмотрим, как работает блок подстановок в нашем случае. С помощью трех двоичных цифр можно представить восемь элементов: 23 = 8. Устройство, выполняющее подстановку, как мы видим, состоит из двух коммутаторов. Первый (мультиплексор) преобразует последовательность из трех двоичных цифр в соответствующее восьмеричное значение, подавая сигнал на одну из восьми выходных линий (в нашем случае это линия 1). Эти 8 выходов могут быть соединены с восемью входами второго переключателя любым из 8! (или 40320) способов. Из этого множества различных вариантов соединения или коммутации проводов между первым и вторым переключателем мы можем выбрать тот, который будем использовать. Задача второго переключателя (демультиплексора) — преобразовать входной сигнал, представленный одной цифрой по основанию 8, обратно в трехразрядный двоичных выход.
Если бы устройство подстановки было построено для обработки пятицифрового двоичного входа, его можно было бы использовать для зашифрования алфавита из 32-х символов. Возможных соединений двух переключателей было бы тогда 32!. Может показаться, что ключей очень много, но к созданному таким образом шифру все же необходимо относиться, как к очень слабому: он поддается частотному анализу. Эта слабость не является его неотъемлемым свойством. Рассмотренное устройство с математической точки зрения определяет наиболее общее возможное преобразование. Оно включает для любого заданного размера входа-выхода любой возможный обратимый шифр, который когда-либо был, или даже просто мог бы быть изобретен; математики могли бы сказать, что он представляет полную симметричную группу. Он полностью «несистематический»: одно соединение переключателей ничего не говорит злоумышленнику относительно всех других соединений. Слабость данного шифра обусловлена выбранным размером блока. Несмотря на большое количество ключей, каталог возможных входов и выходов очень мал: в нем всего лишь 32 элемента. Нам же необходим такой большой каталог, чтобы для любого злоумышленника было практически невозможно записать его. Если взять, например, блок со 128 входами и выходами, то аналитику было бы необходимо рассмотреть 2128 (или больше 1038) возможных блоков цифр. Это настолько огромное число, что частотный анализ здесь просто неосуществим. К несчастью, устройство подстановок со 128 входами также потребовало бы 2128 внутренних соединений между первым и вторым переключателями, что технологически очень сложно реализуется.
Однако существует преобразование, которое легко реализовать для большого набора входов. Практически выполнимо, например, построить блок со 128 входными и выходными выводами, которые внутри соединены обычными проводами, как показано на рис. 4.26.
Для такого «блока перестановок» с п выходами имеется п! возможных вариантов коммутации проводов, каждый из которых определяется отдельным ключом. Он легко может быть построен для п = 128. И хотя это обеспечит большое количество возможных ключей (128!), что весьма полезно, мы теперь столкнемся с новой трудностью. Путем использования набора специально сконструированных сообщений можно целиком определить ключ такой системы всего за п-1 попыток (в данном случае 127). Этот прием состоит в том, чтобы использовать серию сообщений, содержащих одну-единственную единицу в п-1 различных позициях. Позиция единицы в выходном блоке определит использованное в устройстве подключение провода. Слабость простого блока перестановок заключается в том, что он является линейной системой.
Для повышения стойкости используемого шифра необходим некоторый компромиссный вариант, который бы, как минимум, приближался по характеристикам к общей системе.. Это возможно сделать, используя составной шифр, в котором два или более шифра скомбинированы так, что результирующая система обладает большей стойкостью, чем каждая из составляющих ее систем в отдельности. Перед первой мировой войной были исследованы громоздкие шифры, включающие несколько этапов шифрования. Первым действительно успешным образцом была, вероятно, система, изобретенная немцами, известная как ADFCVX-система. Она соединяла «дробления» с «перестановками». Иными словами, в этой процедуре сообщение разбивалось на сегменты и сегменты переставлялись на другие места. Важный факт, на который следует обратить внимание, заключается в том, что шифр, составленный из блочных шифров, опять является блочным шифром. Цель в том, чтобы шифр вел себя подобно общему шифру замен настолько, насколько это возможно.
Между первой и второй мировыми войнами интерес к составным шифрам практически полностью пропал благодаря успешному развитию роторных или проводно-дисковых машин, которые принадлежат к общему классу генераторов псевдослучайных последовательностей. Типичная роторная машина имела клавиатуру, напоминающую клавиатуру пишущей машинки. Каждая буква шифровалась с помощью нескольких дисков, работающих в определенной последовательности, для очередной шифруемой буквы диски переводились в другое положение с использованием нерегулярного алгоритма, зависящего от ключа. Сообщение расшифровывалось идентичной машиной с точно таким же установленным ключом.
Сейчас интерес к составным шифрам возник благодаря статье «Теория связи в секретных системах» Клода Шеннона, которая была опубликована в техническом журнале корпорации Bell (Bell System Technical Journal) в 1949 году. В разделе, посвященном практической разработке шифров, Шеннон ввел в рассмотрение понятия «перемешивания» и «рассеивания», а также понятие «перемешивающего преобразования», которое предполагает особый способ использования результатов преобразования. Его статья открыла практически неограниченные возможности по разработке и исследованию шифров.
Способ, которым следует сочетать принципы перемешивания и рассеивания для получения криптографической стойкости, можно описать следующим образом: перестановки общего вида не могут быть реализованы для больших значений п, скажем, для п = 128, и поэтому мы должны ограничиться схемами подстановки, имеющими практический размер. Например, в системе «Люцифер» для блоков подстановки выбрано п = 4. Хотя это число может показаться слишком маленьким, такая подстановка может оказаться вполне эффективной, если ключ подстановки или схема коммутации проводников выбраны верно. В системе «Люцифер» нелинейная подстановка эффективно обеспечивает определенную степень перемешивания.
В этой системе входные данные пропускаются через чередующиеся уровни блоков, которые обозначены на предыдущих рисунках символами Р и S. В блоке перестановок Р п — большое число (128 или 64), а в блоке подстановок S число п мало (4). Несмотря на то, что Р- и S-блоки в отдельности составили бы слабую систему, в комбинации друг с другом они устойчивы.
Проиллюстрируем меру стойкости подобных конструкций на примере устройства (составной шифрующей системы), изображенного на рис. 4.27, в котором для простоты Р-блоки имеют размер п = 15, а S-блоки — п — 3. Если изобразить этот «бутерброд» из блоков со специально сконструированным входным числом, составленным из 14 нулей и одной-единственной единицы, то легко будет увидеть перемешивание и рассеивание в работе. Первый блок Р передает единственную единицу на вход некоторого блока S, который, будучи нелинейным устройством, может преобразовать единицу в трехцифровой выход, содержащий в потенциале целых 3 единицы. В показанном на диаграмме варианте он вырабатывает две единицы. Следующий блок Р тасует две единицы и передает их на вход двух различных S-блоков, которые вместе имеют потенциал по выработке уже шести единиц. Дальше диаграмма говорит сама за себя: по мере того, как входной блок данных проходит через последовательные уровни, узор из сгенерированных единиц расширяется и дает в результате непредсказуемый каскад цифр. Конечный результат, получающийся на выходе всей цепочки, будет содержать в среднем половину нулей и половину единиц, в зависимости от ключей перестановки, использованных в различных Р-и S-блоках.
Очень важно, что все выходные цифры потенциально стали сложными функциями всех входных цифр. Поскольку все блоки имеют независимые ключи, поток вырабатываемых цифр и окончательный результат не могут быть предсказаны. Цель разработчика, конечно, — сделать предельно трудным для злоумышленников прослеживание цепочки назад и, таким образом, реконструировать ключи в Р- и S-блоках.
В реальной системе S-блок, например, являясь достаточно общим преобразованием, может случайно быть снабжен таким ключом, что поведет себя в точности как Р-блок, и в этом случае вся система будет не более стойкой, чем один слой Р, который может быть достаточно просто раскрыт. Чтобы этого избежать, блоки обоих типов снабжают постоянными ключами, которые должны быть сильными; эти постоянные ключи будут известны каждому, кто имеет доступ к системе. Следовательно, необходим другой способ использования ключей, при этом желательно, чтобы они могли быть представлены двоичными числами. Этого можно достигнуть, построив «бутерброд», в котором каждый S-блок содержит два различных постоянных ключа, и, таким образом, может быть представлен двумя возможными различными состояниями — SO и S1. Последовательность этих состояний для любого отдельного «бутерброда» составляет управляемую ключом структуру, не известную потенциальному противнику. Эту структуру можно представить двоичным ключом, который указывает, которую из двух таблиц подстановки следует использовать, в точности как в случае двухтабличной подстановки, рассмотренной выше. Цифры ключа можно загрузить в ключевой регистр криптографического устройства и записать на ключевую магнитную карту, закрепленную за законным пользователем системы. Когда два состояния S-блоков используются подобным образом, результирующая криптограмма показывает межсимвольные зависимости, которые делают все цифры выхода сложными функциями не только всех цифр входа, но и всех цифр ключа. Таким образом, эта система устойчива к попыткам проникновения в нее с помощью математических методов анализа.
Хотя межсимвольная зависимость — необходимый (но не достаточный) показатель криптографической стойкости, она имеет и оборотную сторону: влечет за собой чувствительность системы к шуму или помехам во время передачи. Погрешность в
единственной цифре может привести к полному искажению расшифрованных данных. Современные средства коммуникации делают, однако, эту проблему менее актуальной, по крайней мере, для невоенного использования.
Более того, сильные взаимозависимости между цифрами могут принести удивительную и неожиданную пользу: поскольку система так чувствительна к изменениям и так резко реагирует на них, она автоматически становится идеальным средством обнаружения изменений, произошедших как случайно, так и сделанных умышленно. В результате получаем одновременно высокую секретность сообщений и неподдающийся обману сигнализатор ошибок.
Чтобы извлечь пользу из этой дополнительной особенности шифра, необходимо всего лишь зарезервировать место для пароля внутри заданного блока цифр сообщения. Пароль — это последовательность цифр, автоматически вводимая в поток цифр сообщения передающей аппаратурой без какого-либо участия лица, использующего систему. Роль пароля заключается в том, чтобы сообщить приемной аппаратуре, что сообщение не было преднамеренно искажено или серьезно испорчено шумом в процессе передачи. Процесс зашифрования оставляет противника в неведении, как биты сообщения и пароля отображены в криптограмме. Если цифры пароля не могут быть без ошибок восстановлены декодером на принимающем конце, сообщение отвергается.
Решающую роль в этой схеме играет генератор пароля, который должен быть как на приемнике, так и на передатчике, как показано на рис. 4.28. Генератор пароля на самом деле является не чем иным, как двоичным таймером или счетчиком, определяющим время или порядковый номер сообщения в двоичной записи, и добавляющим эту группу цифр к каждому блоку цифр передаваемого сообщения. Необходимо учесть, что в определенный момент времени, скажем в 8:00, таймеры на обоих концах канала передачи должны быть синхронизированы и иметь одинаковые частоты.
Полная система объединяет генератор пароля, криптографическую систему, состоящую из S- и Р-блоков и систему коррекции ошибок. Генератор паролей вырабатывает новый парольный блок для каждого блока данных. Отправитель, используя персональный ключ, вводит свои данные. Цифры пароля и данных станут не отслеживаемыми после того, как будут зашифрованы в соответствии с ключом. Дополнительные цифры кода коррекции ошибок добавляются к данным перед передачей и изымаются сразу после приема. Криптографическая система компьютерного центра расшифровывает передачу в соответствии с инвертированным ключом отправителя,
который выбирается из специального защищенного файла, хранимого в центре, и извлекает цифры пароля. Если они совпадут с цифрами пароля, сгенерированного в компьютере, шлюз открывается и входные данные передаются в хранилище.
А как же «парольная схема аутентификации» обеспечивает безопасность работы членам сообщества пользователей централизованного хранилища данных, которые имеют доступ к большому центральному компьютеру? Рассмотрим и этот вариант. Каждый пользователь имеет свой собственный секретный ключ, возможно, представленный в форме последовательности двоичных цифр, записанной, например, на магнитную карту или смарт-карту. Ключи всех пользователей хранятся в защищенной форме в центральном компьютере. Предположим, что пользователь с ключом КА хочет передать сообщение на центральный компьютер. Он вставляет карточку, на которой записан его ключ, в считывающий терминал, располагающийся на его рабочем столе, секунду или две ждет сигнала, что линия свободна, и начинает набирать свое сообщение.
Сообщение автоматически разделяется на блоки цифр (скажем, по 64 цифры), которые на каждом сигнале двоичного таймера объединяются с паролем (который также может иметь 64 цифры), соответствующим выходу таймера в этот момент времени. Результирующий блок из 128 цифр шифруется, для чего пропускается через криптосистему Р- и S- блоков, которая полностью перемешивает цифры пароля и цифры данных.
Поскольку результирующая криптограмма очень чувствительна к ошибкам передачи, она усиливается с помощью кода исправления ошибок, который реагирует на шум в используемых линиях связи. Добавление этого кода удлиняет блок, содержащий цифры пароля и сообщения, еще на несколько цифр.
Результирующий блок шифрограммы дополняется адресом отправителя в открытом виде и передается на центральный компьютер. Когда сообщение доходит до адресата, ключ КА, принадлежащий пользователю А, отыскивается в соответствующем списке и его обращение загружается в декодер для того, чтобы расшифровать криптограмму.
Будет ли совпадать пароль из полученной криптограммы с паролем, локально выработанным двоичным таймером на принимающей стороне? При отсутствии искажений, и если криптограмма была действительно зашифрована на ключе пользователя А, выход декодера будет состоять из блока цифр данных и блока цифр правильного пароля. Это считается достаточным свидетельством в пользу того, что криптограмма действительно создана пользователем А и система принимает данные.
Что же случится, если произошло искажение данных? Если оно было вызвано шумовыми всплесками в линии связи, то код исправления ошибок устранит его и сообщение успешно пройдет аутентификацию. Если же искажения не могут быть устранены кодом коррекции ошибок, то даже одна неверно принятая цифра произведет эффект лавины в декодирующем устройстве и превратит всю принятую информацию в мусор. Пароли больше не будут совпадать. Система воспримет сообщение, как имеющее подозрительное происхождение, и отвергнет его.
Решающим шагом является проверка того, что парольный тест сработал бы так же надежно, если кто-либо записал бы перехваченное сообщение и повторно передал его позже, когда пароль перестал быть действительным. Конечно, использование неверного ключа — причина для немедленной отбраковки сообщения. Представляется, что предложенная система устойчива к любой мыслимой попытке обмануть ее. Каждая двоичная цифра пароля обеспечивает один бит аутентифицирующей информации. Если пароль состоит из п цифр, то злоумышленник имеет лишь один шанс из 2п (или один шанс из 264, если п = 64) сгенерировать любым способом такую криптограмму, которая при расшифровке случайно даст истинный пароль. Число 264 равно примерно 1019. Невозможно аутентифицировать данные более эффективно.
Хранение и обновление ключей
Прогресс в области вычислительной техники идет очень быстрыми темпами. Сейчас даже персональные компьютеры повсеместно работают под управлением многозадачных операционных систем. В результате пользователь часто оказывается не в состоянии определить, когда операционная система прерывает выполнение его программы шифрования, записывает ее саму, а также все ее данные на диск и переключается на работу с другим приложением. После того как операционная система возобновляет процесс шифрования, все выглядит вполне пристойно: пользователь даже не успевает осознать, что шифровальная программа вместе с используемым ею ключом побывала на диске. В итоге ключ так и останется на диске в незашифрованном виде, пока поверх него не будут записаны другие данные. Когда это случится — через полсекунды, через месяц или вообще никогда, не может сказать никто. Однако враг не дремлет, и вполне может произойти так, что ключ еще хранится на диске в открытом виде, когда злоумышленник проверит этот диск в поисках полезной для себя информации.
В некоторых случаях для организации обмена шифрованными сообщениями применяются сеансовые ключи. Они называются так потому, что используются лишь в одном сеансе связи, а затем уничтожаются. В результате вероятность их компрометации уменьшается. Еще больше понизить эту вероятность можно с помощью следую-щегометода.
К сгенерированному ключу (назовем его основным) добавляется битовый управляющий код, который содержит информацию об ограничениях, накладываемых на использование этого ключа. Управляющий код подвергается хэшированию и затем складывается с основным ключом по модулю 2. Полученный результат служит в качестве ключа для зашифрования сеансового ключа. Зашифрованный сеансовый ключ хранится вместе с управляющим кодом. Чтобы получить сеансовый ключ в исходном виде, надо применить хэширование к управляющему коду, сложить его с основным ключом по модулю 2 и использовать результат для расшифрования сеансового ключа. Достоинством этого метода является возможность задействовать управляющий код произвольной длины и открыто хранить его вместе с зашифрованным основным ключом.
Иногда при частой смене ключей оказывается очень неудобно каждый раз передавать их абонентам сети для использования при шифровании и расшифровании сообщений. В качестве выхода из этой неудобной ситуации можно предложить генерацию новых ключей из старых, называемую обновлением ключей.
Если два корреспондента владеют общим криптографическим ключом, то, подав его на вход одной и той же однонаправленной функции, они получат одинаковый результат, из которого смогут выбрать необходимое число бит, чтобы составить из них новый ключ. Необходимо только помнить о том, что новый ключ будет обладать такой же стойкостью, что и старый. Если противник знает старый ключ, он сможет вычислить для этого ключа соответствующее значение однонаправленной функции и получить в свое распоряжение новый ключ.
Проще всего хранить ключи для криптосистемы, у которой имеется единственный пользователь. Пользователь просто запоминает этот ключ и при необходимости вводит его с клавиатуры компьютера по памяти. Однако поскольку сложный случайный ключ запомнить нелегко, для его хранения можно использовать магнитную карточку, или пластиковый ключ с размещенным на нем постоянным запоминающим устройством (так называемый ПЗУ-ключ) или интеллектуальную смарт-карту. Для ввода такого ключа достаточно вставить его физический носитель в специальный считыватель, подключенный к компьютеру. При этом действительное значение вводимого ключа пользователю неизвестно, и, следовательно, он не сможет его разгласить или скомпрометировать. Способ использования ключа определяется управляющим кодом, записанным на физический носитель вместе с этим ключом.
ПЗУ-ключ очень удобен и понятен для многих. Пользователь гораздо лучше осознает, как правильно обращаться с обычным ключом от замка или системы доступа. Придание криптографическому ключу такого же вида, какой имеет ставший нам привычным ключ от замка, позволяет чисто интуитивно избегать многих ошибок, связанных с хранением криптографических ключей.
С целью дальнейшего уменьшения вероятности компрометации ключа его можно разделить на две части. Первую часть следует реализовать в виде ПЗУ-ключа, а вторую — поместить в память компьютера. Тогда потеря носимой части ключа или его половинки, хранимой в памяти компьютера, не приведет к разглашению криптографического ключа в целом. А части ключа при необходимости можно заменять отдельно друг от друга.
Труднозапоминаемые ключи можно хранить на компьютерном диске в зашифрованном виде. Например, открытый ключ, состоящий из многих цифр, лучше зашифровать с помощью DES-алгоритма и запомнить на диске. Более короткий ключ к DES-алгоритму легче вспомнить, когда понадобится расшифровать открытый ключ.
Если ключи генерируются с использованием хорошего датчика псевдослучайных двоичных последовательностей, может оказаться более удобно не хранить сгенерированные ключи, а каждый раз заново их генерировать, задавая соответствующее начальное значение датчика, которое легко запомнить.
Продолжительность использования и уничтожение ключей
Любой ключ должен использоваться в течение ограниченного периода времени по следующим причинам:
G чем дольше ключ находится в действии, тем больше вероятность того, что он будет скомпрометирован;
Q при длительном пользовании одним и тем же ключом увеличивается потенциальный ущерб, который может быть нанесен в случае его компрометации;
Q ключ, очень долго применявшийся для шифрования информации, становится лакомым кусочком для противника, у которого появляется стимул потратить на его вскрытие значительные ресурсы, поскольку полученная выгода позволит оправдать понесенные расходы;
О криптоаналитическую атаку на шифр вести тем легче, чем больше перехваченного шифротекста для него накоплено.
Продолжительность использования ключа во многом зависит от криптосистемы. В различных криптосистемах эта продолжительность должна быть разной. Для шифрования речевых сообщений, передаваемых по телефону, имеет смысл менять ключ после каждого разговора. В выделенных каналах связи продолжительность использования ключа определяется ценностью шифруемой информации и скоростью ее передачи. При скорости в 9600 бит/с смену ключа следует производить реже, чем при скорости в несколько гигабит в секунду. Если условия позволяют, такие ключи необходимо менять, по крайней мере, ежедневно.
Не требуют частой смены ключи шифрования ключей. Они используются от случая к случаю, поэтому объем перехваченного противником шифротекста для них невелик. Кроме того, о свойствах соответствующего ему открытого текста противнику заранее ничего не известно, поскольку хороший ключ представляет собой достаточно случайный набор битов. Однако компрометация ключа шифрования ключей влечет за собой гораздо более серьезные потери, чем это происходит при потере сеансового ключа или ключа шифрования данных. Необходим разумный компромисс между вероятностью вскрытия ключа шифрования ключей из-за его слишком длительного использования и возможностью компрометации этого ключа при его передаче абонентам сети. В большинстве случаев разумно ежемесячно, а иногда даже ежегодно, менять ключ шифрования ключей.
Ключи, применяемые для шифрования файлов, которые хранятся на дисках, слишком часто менять не надо. Регулярное повторное шифрование файлов на новых ключах даст только больше полезной информации криптоаналитику, который будет пытаться их вскрыть. Лучше применить подход, при котором каждый файл шифруется при помощи своего ключа. А сами ключи, в свою очередь, зашифровываются на ключе шифрования ключей, который затем прячут в надежном месте (например, в стальном сейфе).
Что касается открытых ключей, то продолжительность их использования в значительной степени варьируется в зависимости от области применения. Если открытый ключ применяется для целей аутентификации или для цифровой подписи, он продолжает оставаться актуальным годами, иногда даже десятилетиями. Но даже в этом случае не следует пренебрегать сменой ключа каждые 2-3 года, чтобы в распоряжении криптоаналитика накапливалось меньше шифротекста, необходимого для организации атаки. А старый ключ все равно надо продолжать хранить в секрете — он может понадобиться, чтобы, например, подтвердить подлинность подписи, поставленной в течение периода, пока этот ключ был действующим.
Криптографические ключи ни в коем случае не должны попадать в руки противника. Поэтому, как только в ключах отпала надобность, их следует уничтожить. Если ключи хранятся на бумажном носителе, его надо сжечь или пропустить через специальный аппарат для уничтожения бумаг, который должен быть достаточно высокого качества. Ведь будет очень обидно, если ваш алгоритм шифрования, способный выдержать атаку методом грубой силы, в течение нескольких миллионов лет, вскроют только потому, что за несколько десятков тысяч долларов кто-то наймет сотню безработных, и за год они соберут воедино недостаточно тщательно «пережеванный» лист бумаги с записанными на нем ключами.
Если ключ хранился в перепрограммируемом ПЗУ, то необходимо несколько раз записать информацию поверх него. В случае, когда для хранения ключа использовалось ПЗУ, его надо разбить молотком на мелкие кусочки и равеять их по ветру. Если ключ лежал на компьютерном диске, на место ключа придется многократно записать ничего не значащие данные или уничтожить диск. При работе на компьютере в многозадачном режиме следует обратить особое внимание на способность операционной системы создавать временные файлы на диске для хранения рабочей копии программы шифрования и ее данных. А сверхосторожный пользователь обязательно напишет программу, которая будет отыскивать копии ключа на свободных секторах диска и удалять их.
Протоколы распределения ключей
Отправитель и получатель сообщений при их взаимодействии в компьютерной сети подчиняются определенным правилам по соблюдению последовательности действий между ними. Такие правила, называемые протоколом, гарантируют не только безопасность сообщений, но и аутентификацию корреспондентов. Поэтому выбор протоколов распределения ключей в сети представляет собой важную проблему.
В настоящее время распределение ключей между пользователями реализуется двумя способами:
Q прямым обменом сеансовыми ключами;
Q созданием одного или нескольких центров распределения ключей.
В связи с этим возможны следующие ситуации организации обмена ключами:
Q прямой обмен ключами;
Q обмен через посредника;
G обмен через нескольких посредников.
Как правило, процедура распределения ключей применяется совместно с процедурой проверки подлинности участниковобмена информацией. При этом возможны варианты протоколов распределения ключей с секретным и открытым ключом, то есть на основе одноключевых и двухключевых методов.
Протоколы распределения ключей с использованием одноключевых методов (с секретным ключом) существуют для двух ситуаций:
Q прямого обмена;
Q обмена через посредника.
При использовании протокола взаимного обмена с секретным ключом каждое передаваемое сообщение начинается с установления подлинности отправителя. Данный протокол предполагает, что отправитель А и получатель В для подтверждения подлинности сообщения используют секретный ключ КАВ. Осуществление протокола взаимного обмена сеансовыми ключами К между абонентами происходит в последовательности, отображенной на рис. 4.29.
Получатель сообщения — корреспондент В — посылает запрос ql отправителю А
на получение сообщения. При этом запрос ql совершенно открыт и может быть по
слан любым абонентом сети.
Отправитель сообщения — корреспондент А, получив запрос ql, формирует ответное сообщение, зашифрованное секретным ключом К, где:
Q f(q 1) — шифрованный запрос ql;
Q q2 — сообщение отправителя А для получателя В;
U К — сеансовый ключ отправителя А.
Получатель В, приняв сообщение, формирует ответ f(q2) и шифрует его с помощью сеансового ключа К отправителя А в виде EK(f(q2)), что убеждает корреспондента А в достоверности корреспондента В, т. к. им получено сообщение q2 и только они вдвоем знают ключ К.
При использовании протокола обмена ключами через посредника существует некоторое третье лицо (посредник С), которое выполняет только функцию подтвержде-
ния подлинности и не должно иметь информации о сеансовых ключах, которыми обмениваются корреспонденты А и В. Такая ситуация соответствует обмену ключами по незащищенному каналу связи (рис. 4.30).
Существующий протокол передачи ключа по незащищенному каналу используется, как правило, для разделения процедур подтверждения подлинности и распределения ключей. С этой целью посредник С выбирает несекретные числа а и р, снабжает ими корреспондентов А и В (число р — простое число).
. Функционирование протокола происходит в следующей последовательности. Пользователь А выбирает секретное число ХА и вычисляет уА. Пользователь В выбирает секретное число ХВ и вычисляет уВ. После этого пользователи А и В обмениваются вычисленными числами уА и уВ. Далее пользователи А и В самостоятельно вычисляют ключи КА и KB, которые в дальнейшем используются ими в качестве сеансового ключа, и в силу того, выполняется условие — КА = КВ.
12. ЭЛЕКТРОННАЯ ПОЧТА
Раньше электронный обмен информацией в стране ограничивался государственными и исследовательскими организациями. В этой среде защита электронного обмена сообщениями не представляла серьезной проблемы. Сегодня в компьютерных сетях электронная почта и другие виды электронного обмена являются важными компонентами современного бизнеса. В связи с этим возрастают требования к обеспечению информационной безопасности финансовых и коммерческих сделок, личной тайны, конфиденциальных данных, передаваемых по сети.
Сейчас вряд ли кто задумывается о том, как же работает электронная почта. Электронная почта (Electronic mail, E-mail) — до сих пор остается одним из самых распространенных и дешевых средств обмена информацией во всех странах мира. Считается, что в мире имеется более 50 млн пользователей электронной почты. Сейчас представить себе работу или просто общение без электронной почты иногда просто невозможно. Она упрощает общение, деловое партнерство или рассылку интересующей информации. И хотя уже существует много других таких Internet-сервисов, как голосовая почта, Internet-телефония или им подобные, но тем не менее стандартная старая добрая и хорошо всем знакомая электронная почта живет. Это вполне естественно, поскольку речь здесь идет просто о передаче порции информации, в подавляющем большинстве случаев текстовой. Это дешевле, чем звонить в другую страну по телефону или использовать голосовую почту, когда объем передаваемой информации на несколько порядков ниже. На самом деле доказывать, что почта хороша и удобна, нет смысла, поскольку всем это понятно и так.
Электронная почта является одним из самых первых сервисов, которые были созданы в Internet. Как и другие сервисы, электронная почта использует в качестве базы протокол IP для передачи информации. Сам же протокол передачи почты называется SMTP и почтовые программы работают уже непосредственно с ним. Это протокол более высокого уровня и, следовательно, более сложный. Важным различием является то, что почта работает непосредственно с пользователями в системе, что накладывает дополнительные требования к защите почтовых систем.
Принцип работы электронной почты очень похож на работу обычной почты. С ее помощью можно посылать сообщения, получать их в свой электронный почтовый ящик, отвечать на письма корреспондентов автоматически, используя их адреса, рассылать копии письма сразу нескольким абонентам, переправлять полученное письмо по другому адресу, создавать несколько подразделов почтового ящика, включать в письма текстовые, аудио- и графические файлы.
Для того чтобы этот обмен информацией между двумя, по крайней мере, абонентами состоялся, необходимо написать послание и, указав адрес, опустить в почтовый ящик, откуда письмо неминуемо попадет на почтовый узел. Если указанный адрес соответствует общепринятым стандартам, то через некоторое время почтальон положит его в почтовый ящик адресата. Далее абонент вскроет послание, и — обмен информацией состоялся. Чтобы ускорить этот процесс, мы поднимаем телефонную трубку, набираем телефонный номер и, если произойдет правильное соединение, то наш абонент услышит то, что мы хотим ему передать. Если абонент не отвечает или его номер занят, придется повторить процедуру еще раз (возможно и несколько раз), сожалея о том, что на это тратится драгоценное время. Исследования показали, что, несмотря на почти мгновенный доступ к телефонной связи, около 75% телефонных вызовов заканчиваются безуспешно. Очень часто нужного абонента просто нет на месте.
Основная привлекательность электронной почты — это быстрота ее работы. Она имеет ту же скорость доступа, что и телефон, но не требует одновременного присутствия обоих абонентов на разных концах телефонной линии, она оставляет письменную копию послания, которое может быть сохранено или передано дальше. Более того, письмо одновременно может быть послано нескольким абонентам. Используя услуги современной электронной почты, можно передавать не только письменные сообщения, а информацию любого рода: фотографии, видео, программы и т. д. И все это гарантированно пересылается в любую точку земного шара за несколько минут.
Принцип функционирования электронной почты
Система современной электронной почты состоит из трех основных компонентов:
Q пользовательского агента (User Agent);
Q транспортного агента (Transfer Agent);
Q доставочного агента (Delivery Agent).
Программы, которые предоставляют пользователям возможность читать и составлять почтовые сообщения, называются пользовательскими агентами. Примеры таких программ — Internet Mail в Windows 95, Netscape, Pine, команда mail в UNIX и многие другие.
Самым первым пользовательским агентом была программа /bin/mail, разработанная в лаборатории AT&T. Сейчас применяются несколько программ этого класса. Кроме того, существуют пользовательские агенты с графическим интерфейсом пользователя. Существует также стандарт, определяющий включение в почтовые сообщения объектов мультимедиа. Он называется MIME (Multipurpose Internet Mail Extensions) — многоцелевые расширения электронной почты для Internet. Данный стандарт поддерживают многие пользовательские агенты.
Пользовательский агент формирует письмо: позволяет написать его текст, присоединить файлы, указать тему письма и все адреса.
Затем письмо передается транспортному агенту — наиболее сложной и важной части почтовой системы. Это программы, которые принимают почту от пользовательского агента, интерпретируют адреса пользователей и переправляют почту на соответствующие компьютеры для последующей доставки. Кроме этого, транспортный агент принимает входящую почту от других транспортных агентов. Транспортный агент отрабатывает протокол SMTP (Simple Mail Transport Protocol) — простой протокол транспортировки почты.
Дойдя до машины второго пользователя, письмо при помощи транспортного агента этой машины передается доставочному агенту (Delivery Agent), который принимает почту от транспортного агента, доставляет ее соответствующим пользователям и отвечает за формирование MailBox пользователя. Обычно MailBox—это файл, где последовательно хранятся все приходящие письма. Почта может доставляться конкретному лицу, в список рассылки, в файл, в программу и т. п. Для обслуживания получателей каждого типа необходим отдельный агент mail—доставочный агент локальных пользователей. На этом работа почтовой системы заканчивается. Из MailBox почта читается почтовыми клиентами (например Netscape), но к работе самой системы это уже отношения не имеет.
Для пересылки любой, в том числе и обычной почты, необходимо знать адрес (нельзя писать письмо «На деревню. Дедушке.»). Это относится и к электронной почте. В системе электронной почты адресация бывает двух видов:
Q маршрутно-зависимая;
Q маршрутно-независимая.
При использовании первого способа адресации отправитель должен указать промежуточные машины (пункты), через которые должно пройти сообщение, чтобы попасть в пункт назначения и быть доставленным адресату. В адресе второго вида просто указывается пункт назначения. При этом UUCP-адреса являются маршрутно-зависимыми, а Internet-адреса от маршрута не зависят.
UUCP-адрес состоит из списка машин (радиоэлектронного оборудования), через которые должно пройти сообщение на пути к пункту назначения. Элементы списка разделяют восклицательными знаками. Например, в электронно-почтовом UUCP-адресе: mcvax!uunet!ucbvax!hao!boulder!lair!evi — пунктом назначения является машина lair, а получатель — абонент evi. Каждая машина в цепочке имеет непосредственное UUCP-соединение с машинами, которые находятся в сети до и после нее. Например, машина ucbvax должна иметь соединения с машинами пао и uunet. Цепочки UUCP-адресов бывают очень длинными, но теперь, когда широко используется Internet, настоящие громадины увидишь очень редко. Когда электронная почта строилась в основном на базе UUCP, администраторы вынуждены были помнить список компьютеров на довольно больших участках базовой сети UUCP. В формате электронной Interne-почты адрес, приведенный выше, будет иметь вид evi@lair.
Электронно-почтовый Internet-адрес имеет следующий формат:
пользователь@машина,
где знак @ отделяет имя пользователя от обозначения машины.
Рассмотрим в качестве примера адрес электронной почты. Этот адрес (рис. 4.31) содержит идентификатор абонента и сведения о его местоположении. В нашем случае
фамилии, псевдонимы, очень часто они составляются из начальных букв фамилии, имени, отчества абонента.
То, что стоит справа от знака @, называется доменом и однозначно описывает местонахождение абонента. Домен состоит из составных частей, которые разделяются точками. Самая правая часть домена — это домен верхнего уровня, который, как правило, обозначает код страны адресата. Код страны утвержден международным стандартом ISO. В нашем случае используется код Российской Федерации — ш. Однако в качестве домена верхнего уровня может фигурировать и обозначение сети. Например, в США, где существуют сети, объединяющие высшие учебные заведения или правительственные организации, в качестве доменов верхнего уровня используются сокращения edu — Educational institutions (например, cs.berkeley.edu), gov — Government institutions и др.
Следующая составная часть домена — поддомен является однозначно определяемым внутри домена верхнего уровня. Нетрудно догадаться (по аналогии с обычным письмом), что после кода страны должен следовать код города — spb в нашем случае однозначно определяет код Санкт-Петербурга. Совокупность составных частей домена spb.ru называется доменом второго уровня. Аббревиатуры домена второго уровня определяются в соответствии с правилами, принятыми доменом верхнего уровня.
Домен третьего уровня — stels.spb.ru. В нашем случае домен третьего уровня включает в себя название фирмы Stels. Правила образования имен внутри доменов третьего уровня — это личное дело доменов второго уровня.
Кроме идентификаторов абонентов, в системе электронной почты используются почтовые псевдонимы, которые позволяют системному администратору и отдельным пользователям переадресовывать почту. Ими можно пользоваться для задания списков рассылки (которые включают нескольких получателей), для пересылки почты между компьютерами и для того, чтобы к пользователям можно было обращаться по нескольким именам. Помимо списков пользователей, псевдонимы могут обозначать:
Q файл, содержащий список адресов;
Q файл, в который должны добавляться сообщения;
D команду, на вход которой должны передаваться сообщения.
Псевдонимы могут быть определены:
Q в файле конфигурации пользовательского агента;
Q в общесистемном файле псевдонимов /etc/aliases;
(3 в пользовательском файле пересылки -/.forward.
Сначала система электронной почты ищет псевдонимы в файле конфигурации пользовательского агента, затем в файле aliases и наконец в пользовательском файле пересылки.
Вот несколько примеров переадресации почты с помощью псевдонимов, определенных в файле aliases:
stels: savspb;
savspb: stels@mailhub;
autors: savspb,som,avit,trent.
В первой строке указано, что почту, поступающую на имя stels, следует доставлять пользователю savspb на локальный компьютер. Во второй, что всю почту, поступающую на имя savspb, следует доставлять на компьютер mailhub. И, наконец, третья строка определяет, что почту, адресованную authors, следует доставлять пользователям savspb, som, avit и trent. Поддерживается рекурсия, поэтому почта, посланная на имя stels, в конце концов, попадает по адресу savspb@mailhub.
Чтобы электронное письмо дошло до адресата, необходимо его оформить в соответствии с международными стандартами и написать стандартизованный почтовый электронный адрес. Общепринятый формат послания определяется документом под названием «Standard for the Format of ARPA — Internet Text messages», сокращенно — Request for Comment или RFC822. Этот формат определяет, что электронное послание должно состоять из текста самого письма и заголовка, который приписывается в начале сообщения. Заголовок отделяется от текста пустой строкой и содержит несколько строчек необходимой информации об этом сообщении: дату отправления, адрес, обратный адрес, тему сообщения и т. д. Каждая из строк заголовка имеет вид: название: текст. Бывает несколько видов строк заголовка. Не все они обязательно должны присутствовать. Некоторые строки почтовые службы добавляют автоматически. (Received: Date:), другие задает сам автор письма (То:, Subject:).
Само письмо состоит из двух частей: заголовка и тела письма. Для системы основным является заголовок, для пользователей — тело письма. Заголовок содержит сведения об авторе письма, о получателях, времени создании. Заголовок также пополняется по мере прохождения письма через сеть, в него заносится информация о том, в какое время письмо проходило и через какие компьютеры. За заголовком следует пустая линия, отделяющая тело письма. В теле прописываются такие важные параметры, как кодировка текста письма, тип присоединенных файлов и некоторые другие. В отличие от многих иных сервисов, письма передаются по сети целиком, но не в том смысле, что одним большим IP-пакетом, а в том, что все пакеты, содержащие письмо, собираются на каждом передающем компьютере. Система передачи полностью аналогична обычному роутингу сетевых пакетов. Для нее применяются записи так называемого Mail eXchanger (MX), которые содержат информацию о том, куда в зависимости от адреса получателя требуется направлять письмо. Так в целом происходит работа почтовых систем.
Рассмотрим пример почтового сообщения: Received: by avg386.kiae.su; Thu, 20 Dec 90 13:51:5^MSK
Received: byjumbo.kiae.su; Thu, 20 Dec 90 12:52:17 MSK
Received: from CS.ORST.EDU by fiiug.fi with SMTP id AA15539 (5.65+/IDA-1.3.5 for avg@kiae.su); Thu, 20 Dec 90 08:19:05 +0200
Received: from jacobs.CS.ORST.EDU by CS.ORST.EDU (5.59/1.15) id AA19981; Wed, 19 Dec 90 22:19:59 PST
Received: by jacobs.CS.ORST.EDU (5.54/1.14) id AA02240; Wed, 19 Dec 90 23:19:35 MST
Date: Wed, 19 Dec 90 23:19:35 MST
From: Harry Brooks
Message-Id: <9012200619.AA02240@jacobs.CS.ORST.EDU>
To: avg@kiae.su
Subject: Re: Новое ПО
Status: RO
Привет! Вышли мне описание твоей новой программы.
Received: — это отметка о прохождении через некоторое электронное устройство (своеобразный почтовый штемпель). Количество таких отметок (строчек) показывает, через сколько машин прошло сообщение, чтобы достигнуть адресата. При этом каждая из машин обозначает, когда сообщение проходило через нее (ставит штемпель).
Date: — дата и время отправления письма; они указываются в стандартном формате, поскольку большинство почтовых систем умеют сортировать сообщения по времени.
From: — имя отправителя и обратный адрес, который выделен угловыми скобками.
Message-Id: — внутренний уникальный, единственный в мире идентификатор сообщения, который присваивается почтовой службой отправителя каждому письму. Его можно использовать как исходящий номер для ссылок на письмо.
То: — адрес получателя.
Subject: — тема сообщения. Пометка Re: в этой строке обозначает, что сообщение является ответом (от слова reply) на другое сообщение. У исходного сообщения и у ответа строка Subject: одна и та же. Для ответа почтовая служба автоматически берет тему из исходного сообщения. Это удобно, когда идет длинный разговор на одну тему. Вы сможете потребовать, чтобы почтовая служба отсортировала сообщения по темам, и освежить в памяти предыдущие фразы этого разговора. В этой строке, составляя сообщение, желательно указывать короткое название, но как можно более информативное. Сообщение под заголовком вроде «А помнишь, как-то раз ты мне говорила...» не всякий станет читать.
Status: — статус сообщения; почтовая служба помечает для себя прочитанное сообщение, чтобы второй раз не предложить его как новое.
Само послание — как правило, текстовый файл произвольной формы. При передаче нетекстовых данных (исполняемой программы, графической информации) сообщение перекодируется соответствующими программными средствами. Ввести текст сообщения, сформировать заголовок можно одним из редакторов сообщений для электронной почты.
Сервисное обслуживание электронной почты
Такой сервис электронной почты, как немедленный обмен сообщениями IM (Instant Messaging), достаточно популярен в современных сетях. Однако реализация приложений на базе IM требует защиты трафика сообщений в случае выполнения следующих задач:
– идентификация;
– разделение файлов;
– отказ в обслуживании.
Если удаленные корпоративные пользователи могут быть надежно идентифицированы, то этого нельзя гарантировать в отношении удаленных (и потенциально неизвестных) пользователей систем обмена сообщениями. Уже было несколько случаев хакерских атак на популярные системы обмена сообщениями, когда они персонифицировали собой сотни пользователей.
Разделение файлов—эта часто имеющаяся у приложений IM возможность, позволяет удаленным пользователям пересылать произвольные файлы на локальный хост по тому же самому соединению, что и график обмена сообщениями. Такие файлы могут быть исполняемыми и часто используются для распространения червей и троянских коней.
Отказ в обслуживании DoS (Denial of Service) связан с тем, что для поддержки приложений IM администратору часто приходится открывать произвольный диапазон портов на брандмауэре, которые могут быть использованы для проведения атак DoS.
Определенный скептицизм в отношении защиты IM состоит в том, что сеть не заслуживает доверия и что информация может подвергнуться перлюстрации и злонамеренной модификации со стороны злоумышленников. В связи с этим для IM могут быть выделены три опасности:
– подсматривание (stalking);
– подделка (spoofing);
– спам (spamming).
Подсматривание — это перехват данных IM при их передаче по Internet с целью определения местонахождения сети участника обмена в реальном времени. В настоящее время соответствующие организации работают над необходимыми протоколами контроля доступа и обеспечения невидимости.
Подделка — изменение данных сообщения, а также подмена имени (имперсонификация) отправителя. Достоверность сообщения и отправителя можно обеспечить за счет использования надежных идентификационных и криптографических дайджестов сообщений.
Спам — получение сорных сообщений, борьба с которыми — общая проблема для мира асинхронного обмена сообщениями. Задача состоит в создании набора правил доставки для блокирования сорных сообщений.
Рассмотрим еще один новый сервис сети — систему унифицированного обмена сообщениями (Unified Messaging, UM). Наверное, вам приходилось сталкиваться со следующей рекламой услуг (часто бесплатных): «Факсимильные, голосовые, пейджинговые, сотовые и электронные сообщения в одном легко доступном почтовом ящике Internet1». Предпосылка проста: использовать повсеместность Internet для доступа к нескольким разновидностям сообщений с помощью единого метода, часто на базе Web.
Системы унифицированного обмена сообщениями имеют двоякую цель: получение доступа к сообщениям из любой точки и сокращение расходов на связь за счет извлечения сообщений из «универсального почтового ящика» с использованием имеющихся локальных бюджетов доступа в Internet.
Нет сомнения, что мечты об унифицированном почтовом ящике вскоре станут реальностью, однако эта концепция таит зловещие последствия для корпоративной защиты.
В настоящее время стандартов на UM практически нет. Их отсутствие вынуждает производителей предлагать собственные нестандартные решения. В свою очередь это усложняет защиту всех протоколов, особенно для тех унифицированных сервисов, где применяется несколько методов сбора сообщений.
Возьмем, к примеру, ситуацию, когда отдел кадров посылает вам факс с условиями вашего грядущего повышения (включая информацию об окладе и предоставляемых акциях). Если даже отправитель пользуется (относительно) закрытой средой, то сам факс может быть помещен в нешифруемый цифровой почтовый ящик на узле провайдера. Хотя аналоговые голосовые сообщения оцифровываются для их извлечения с помощью электронной почты Internet, это еще не означает, что они шифруются. Например, факс из соседнего отдела может просто храниться в одном из широко распространенных графических форматов (TIFF, JPG и т. п.).
При отсутствии ясных и исчерпывающих протоколов защиты, охватывающих все технологии доступа UM, следует все данные рассматривать как «чрезвычайно конфиденциальные». Если ваша политика защиты предусматривает одинаковый подход ко всем данным UM, то с ними нужно обращаться так, как если бы они были наиболее важными и наименее защищенными. Некоторые сообщения в результате могут оказаться зашифрованными дважды, но это небольшая плата по сравнению с возможными последствиями.
Способы информационной защиты электронной почты
Секретные агенты в голливудских боевиках все больше предпочитают электронную почту обычной. Между тем, рассылка деловых писем или личных сообщений по электронной почте совершенно не добавляет им секретности. Для простоты представьте, что детали сделки или подробности своей интимной жизни вы посылаете на открытке, которую могут прочитать все желающие. По оценкам экспертов, лишь одно из ста писем удовлетворяет требованиям безопасности. При этом не думайте, что вы станете объектом внимания, только если займете высокий пост или заработаете несколько миллионов долларов. Системный администратор вашей компании, например, может беспрепятственно просматривать личную почту на предмет соблюдения секретов фирмы или просто из любопытства. Кроме этого существует еще много способов, если уж не вскрыть вашу почту, то по крайней мере ее испортить или не дать достигнуть адресата. Рассмотрим, что может угрожать электронной почте.
Наиболее очевидным следствием полномасштабной реализации обмена сообщениями является необходимость управлять его информационным наполнением. Если надежность источника и содержания факсимильного документа и голосовой почты не вызывает сомнения, то борьба за обеспечение целостности сообщений электронной почты продолжается.
Решение задач управления информационным наполнением считается успешным при соблюдении:
– конфиденциальности;
– целостности.
Обеспечить конфиденциальность обмена электронной почтой просто только теоретически; при практической реализации — это весьма трудная задача, в том числе и с точки зрения управления.
Недавние инциденты с вирусами Melissa и Love Bug продемонстрировали реальную угрозу: сегодня в глобальной сети Internet один вирус может поразить миллионы хостов практически по всему миру.
Несмотря на глобальный характер угрозы, защита должна быть организована локально, и бдительный администратор сети должен подготовить продуманный план защиты. Большинство предприятий имеет брандмауэры с поддержкой анализа информационного наполнения (с активными фильтрами для выявления известных вирусов), однако они абсолютно не надежны, как о том свидетельствует недавний всплеск атак с применением троянских коней.
Помимо активного мониторинга, администратор защиты может подготовиться к вирусным атакам на электронную почту, приняв следующие меры:
– обеспечить оперативное информирование пользователей при обнаружении атаки;
– использовать адаптивную фильтрацию подозрительной почты;
– периодически информировать пользователей об изменениях в политике защиты и обращении с вирусами, включая процедуру оповещения об инцидентах;
– внедрить адекватные процедуры резервного копирования и восстановления данных.
Обеспечение оперативного информирования, как только атака будет обнаружена, должно включать широковещательную рассылку предупреждений как традиционными, так и электронными средствами, развешивание объявлений, указание корпоративного URL, где пользователи могут найти информацию, предоставление четких кратких инструкций, как поступать с вирусом, указание координат ответственного сотрудника отдела информационных систем. Однако возможные последствия инцидента не следует преувеличивать, но и не стоит притуплять чувство опасности, так как это может иметь отрицательные последствия в случае чрезвычайной вирусной угрозы.
С помощью адаптивной фильтрации подозрительной почты во время последних инцидентов в большинстве компаний смогли отфильтровывать как входящие, так и исходящие сообщения со словами «I Love You» в теме сообщения (фирменный знак этих вирусов). Кроме того, сообщения рекомендуется ограничивать по размеру, по крайней мере, на первое время после обнаружения опасности. Это поможет воспрепятствовать распространению сомнительных вложений, таких, как исполняемые файлы. Порог в 5 кбайт является достаточным.
Благодаря периодическому информированию пользователей об изменениях в политике защиты и обращении с вирусами, включая процедуру оповещения об инцидентах, можно заранее дать пользователям инструкции, как вести себя в случае атаки. Кроме того, их следует проинструктировать относительно необходимости регулярного обновления файлов с сигнатурами вирусов. Наконец* пользователей было бы неплохо научить отличать реальные вирусы от их имитаций.
Внедрение адекватных процедур резервного копирования и восстановления данных необходимо на случай применения вирусов, которые не используют макросы или исполняемые файлы для проникновения в систему. Такие атаки часто заставляют пользователей удалить все сообщения из почтового ящика или, возможно даже, содержимое всего жесткого диска. Общие сетевые разделы позволяют централизовать резервное копирование, однако эти диски должны быть тщательно разграничены между собой, чтобы вирусы не распространялись дальше.
Защита от вирусов и троянских коней составляет отдельную самостоятельную задачу, однако настоящую опасность представляют менее явные угрозы: кража интеллектуальной собственности, снижение продуктивности и даже ответственность за неправомочное использование корпоративных ресурсов. Система анализа информационного наполнения — один из множества инструментов, который следует реализовывать для соблюдения политики компании в отношении электронной почты.
Все методы извлечения информации должны быть защищенными. Выполните анализ защиты всех методов сбора сообщений и периодически проверяйте каждую среду доступа (включая беспроводную и телефонную связь). К примеру, еще в 1997 году шифровальщик Брюс Шнайер (из Counterpane Lab) обнаружил «дыру» в технологии шифрования, используемой в цифровых сотовых телефонах.
Не следует применять нестандартные или новые технологии, в них может быть множество «дыр». Стандартные протоколы необходимо постоянно испытывать на предмет надежности защиты, в результате чего они становятся эффективнее.
Самый очевидный выход из создавшегося положения — шифрование. Почему же этот способ не получил распространения, и все письма в Internet не кодируются автоматически? В первую очередь, из-за наличия разных стандартов. Два наиболее популярных способа шифрования — S/MIME (Secure Multipurpose Internet Mail Extension) и POP (Pretty Good Privacy) — несовместимы друг с другом.
Тем не менее, секретное электронное письмо не только шифруют, но и заверяют цифровой подписью. Таким образом, вы совершенно точно будете знать, от кого именно это письмо, что его содержание не было изменено и, более того, не было прочитано. Защита сообщения происходит с помощью двух цифровых комбинаций, называемых личным и открытым ключами. Личный ключ хранится на вашем компьютере, и никто кроме вас доступа к нему не имеет. Открытый ключ общедоступен, например, на вашей домашней странице.
Вы пишете письмо другу и шифруете его своим секретным ключом. Друг расшифровывает его с помощью вашего открытого ключа. Таким образом, он уверен, что письмо прислали именно вы и что его содержание не подменили, так как шифрующий ключ есть только у вас. Но такое сообщение еще можно перехватить и прочитать. Для полной защиты вам необходимо поверх шифровки собственным ключом зашифровать письмо открытым ключом вашего друга. Тогда он будет единственным, кто может прочитать сообщение.
Вероятность расшифровки и подмены подобного письма очень мала. Правда, появляется необходимость регулярно проверять актуальность чужих ключей — не были ли они изменены или скомпрометированы (например, украдены). Для этого служат компании, подтверждающие актуальность ключа. К тому же вы вправе потребовать от подобной компании цифровой ключ, подтверждаемый другой компанией, и т. д. Подобная иерархия компаний, подтверждающих ключи друг друга, с самой авторитетной компанией наверху реализована в протоколе S/MIME. PGP использует для этих же целей Сеть доверия (Web of Trust), состоящую из общих друзей и знакомых.
Очевидно, что ввиду расширения использования электронного обмена сообщениями в бизнесе этот сервис должен быть также надежным и защищенным. Однако, будучи, наверное, самым распространенным сетевым приложением, электронный обмен сообщениями часто является и самым незащищенным.
Как правило, если только обмен не происходит по частной сети или VPN, единственный способ гарантировать конфиденциальность состоит в шифровании сообщения на рабочей станции отправителя и последующей ее дешифровки на станции получателя.
Для достижения этой цели предлагаются, по крайней мере, три конкурирующих подхода, каждый на базе соответствующих протоколов. Первый подход опирается на Secure/MIME (S/MIME) компании RSA Security. Это расширение протокола кодирования MIME. S/MIME стал форматом де-факто для двоичных мультимедийных вложений в электронные сообщения. Хотя первый протокол S/MIME был разработан RSA, текущая версия S/MIME базируется на спецификации IETF (RFC 2632,2633 и 2634) и, таким образом, представляет собой открытый стандарт.
Благодаря включению сообщений в формате стандарта на криптографию с открытыми ключами PKCS7 (Public Key Cryptography Standart #7) в тело MIMI протокол S/MIME позволяет получателю идентифицировать личность отправителя с помощью шифрования с открытыми ключами. При таком подходе подпись сообщения просто сравнивается с открытым ключом отправителя.
S/MIME — наиболее широко распространенный способ сквозной защиты информационного наполнения. Он пользуется поддержкой основных поставщиков протоколов для обмена сообщениями, включая Microsoft, Lotus, Netscape (Communications и Novell).
Второй подход к обеспечению конфиденциальности электронной почты (Pretty Good Privacy, PGP) был предложен Филиппом Циммерманом в виде бесплатного инструментария для UNIX, однако впоследствии его коммерческой реализацией занялась Network Associates, и теперь PGP доступен и для платформ Windows и Macintosh.
Хотя PGP мог применяться к составным вложениям сам по себе, имеющиеся предложения ориентируются на MIME как на структуру информационного наполнения и поэтому называются PGP/MIME. Кроме того, IETF в настоящее время работает над открытой версией PGP, называемой OpenPGP.
Как и S/MIME, спецификация PGP предполагает шифрование сообщений с использованием симметричного ключа (один и тот же ключ применяют как для шифрования, так и для дешифровки данных), после чего он присоединяется к сообщению и шифруется с помощью технологии с открытыми ключами. Это исключает необходимость шифрования текста сообщения посредством открытого ключа — весьма медленного процесса.
Однако в отличие от S/MIME, технология PGP не предусматривает иерархического распространения (и подписи) открытых ключей. Вместо этого PGP опирается на концепцию «паутины доверия», в соответствии с которой пользователь получает открытые ключи надежными средствами (например, лично) и затем самостоятельно решает относительно принятия других ключей, подписанных теми же доверенными уполномоченными. Такой механизм прост для реализации на корпоративном уровне, но ему недостает масштабируемости иерархических PKI (Public-key Infrastructure).
Третий подход составляет совокупность РЕМ (Privacy Enhanced Mail) и MOSS (MIME Object Security Services). Задуманный еще в 1993 году, протокол РЕМ стал первой попыткой защитить обмен электронной почтой; он был опубликован IETF в качестве проекта стандарта в RFC 1421,1422,1423 и 1424. Однако его существенным недостатком была неспособность обрабатывать восьмибитовые текстовые сообщения (что необходимо для мультимедийных вложений), поэтому спецификация MOSS и была предложена в качестве замены РЕМ.
На сегодняшний день и РЕМ, и MOSS остаются, однако, высокоуровневыми спецификациями; мало кто прилагает усилия для достижения совместимости между конкурирующими реализациями. Стандарты на защиту обмена сообщениями продолжают совершенствоваться, а тем временем уже начинают постепенно вырисовываться наилучшие способы защиты.
У компьютерной отрасли есть вполне обоснованная надежда, что реально совместимая модель защиты появится в скором будущем и будет она столь же зрелая, как и сами почтовые транспортные протоколы.
Фантастически быстрый успех многих компаний, предлагающих новые технологии для Internet, связан, как правило, с изобретением нового Web-сервиса, полезность которого для широкой аудитории настолько очевидна, что число его пользователей достигает десятков миллионов человек. Так было, в частности, с бесплатной регистрацией почтовых адресов в Hotmail. Для работы с подобными системами не требуется никакого клиентского программного обеспечения, кроме браузера, абоненты не привязаны жестко к своему провайдеру и могут пользоваться электронной почтой в любом месте, оборудованном Web-терминалом. Несмотря на очевидные достоинства, одна важная проблема не решена и здесь. Речь идет о защищенности передаваемой корреспонденции от посторонних глаз.
Сложность задачи заключается не в алгоритмах шифрования, которые известны и достаточно хорошо проработаны, а в организации удобной работы с ключами, в преодолении строгих юридических рогаток и, самое главное, в завоевании доверия клиента. Хорошо известно, что в США установлены очень жесткие ограничения на экспорт стойких средств шифрования, за смягчение которых борются не только защитники прав и свобод человека, но и ведущие производители прикладных информационных систем, потому что их продукция теряет свою конкурентоспособность на мировом рынке. ФБР и ЦРУ лоббируют принятие законов, регламентирующих предоставление государственным органам по решению суда секретных ключей, выданных клиентам уполномоченными на это организациями. И хотя приводимые аргументы (борьба с терроризмом и контроль над государствами, не признающими решений мирового сообщества) выглядят убедительно, не только преступники, но и законопослушные субъекты хотели бы иметь дополнительные гарантии сохранения конфиденциальности своей корреспонденции.
Поддержка всеми современными браузерами протокола SSL (Secure Socket Layer), обеспечивающего шифрование данных в процессе их передачи из одного узла в другой, проблемы не решает, т. к. после этого почтовые сообщения хранятся на серверах в незашифрованном виде.
В ZipLip.com пошли по простому пути: переданное с помощью SSL сообщение не дешифруется и хранится на почтовом сервере до тех пор, пока за ним не обратится получатель. Соответствующий ключ генерируется на основе фразы-пароля, которая должна быть заранее известна и отправителю, и получателю. Поскольку шифрование происходит на сервере, находящемся на территории США, экспортные ограничения не нарушаются, и длина ключа может быть любой. С другой стороны, из-за того что ключ хранится вместе с зашифрованным сообщением, получить доступ к нему могут не только представители ФБР, но и сотрудники ZipLip. Таким образом, в этом случае все сводится к проблеме доверия.
В основе решения HushMail лежит более изощренный подход. Поскольку оно базируется на технологии Java (JVM 1.5.5 и более поздние редакции), в качестве почтовых клиентов можно использовать лишь достаточно свежие версии Web-браузеров: Netscape Navigator (начиная с версии 4.04) и Internet Explorer (начиная с версии 4.5). Благодаря применению средств шифрования с открытым ключом корреспонденты не обязаны знать и помнить чужие пароли. На разных этапах используются симметричные и несимметричные алгоритмы шифрования. Напомним, что при симметричном шифровании один и тот же ключ служит как для кодирования, так и для декодирования, а при несимметричном — кодирование осуществляется открытым ключом, а декодирование — секретным,
Специалисты Hush Communications приложили немало усилий, чтобы, с одной стороны, максимально упростить процедуру генерации ключей, а с другой — сделать их недоступными для посторонних лиц (в том числе и государственных органов) без разрешения владельца. При этом многие правовые коллизии были решены столь тонко, что представитель ФБР был вынужден признать легитимность системы HushMail, посетовав на то, что она выводит передаваемую корреспонденцию из под юридического контроля.
При регистрации пользователя в HushMail пара ключей (открытый и секретный) генерируется непосредственно на его клиентской машине. Для этого туда загружается специальный Java‑апплет, который предлагает пользователю случайным образом поманипулировать мышью, а затем на основе зафиксированной и рандомизированной последовательности координат формирует пару ключей (длиной 1024 бит). Сообщение шифруется специальным апплетом, пересылаемым с сервера HushMail на браузер клиента. Понимая, что строгие судьи могут квалифицировать загрузку апплета как некую форму незаконного экспорта криптографического программного обеспечения, Hush Communications разместила свой сервер за пределами США (по разным сведениям, в Канаде или на расположенном в Карибском бассейне острове Ангвилла). Кроме того, сами апплеты были разработаны гражданами Ангвиллы — своеобразной программистской оффшорной зоны с весьма мягким законодательством в отношении средств шифрования.
Открытый ключ пересылается на сервер HushMail, откуда он автоматически выдается другому клиенту системы HushMail, написавшему секретное письмо данному пользователю. Таким образом, в конфиденциальной переписке могут принимать участие лишь зарегистрированные пользователи HushMail.
В описанной конфигурации, когда секретный ключ хранится на компьютере пользователя, компания Hush Communications вообще не имеет никакого доступа к секретным ключам своих клиентов и поэтому будет не способна их выдать кому-либо даже при наличии официальной судебной санкции. Однако в этом случае теряется одно из главных преимуществ Web-почтовых систем: возможность получения и пересылки корреспонденции с любого компьютера, подключенного к Internet.
Указанная проблема решается следующим образом. Еще на этапе регистрации апплет предлагает пользователю задать достаточно длинную фразу-пароль, которую тот должен хорошо запомнить. На основе пароля генерируется симметричный 128-разрядный ключ, с помощью которого секретный ключ шифруется и отправляется на хранение на сервер HushMail. Теперь, независимо от местонахождения, вы можете подключиться к HushMail и загрузить с сервера свой дополнительно зашифрованный секретный пароль.
Далее все повторяется в обратном порядке: апплет просит вас ввести фразу-пароль, генерирует на ее основе тот же самый 128-разрядный симметричный ключ, расшифровывает секретный пароль, а уже с его помощью — зашифрованное письмо. Реальная процедура организована немного сложнее: пара ключей (открытый/секретный) используется для кодирования не самого письма, а одноразового симметричного 128-разрядного ключа, с помощью которого шифруется письмо, но это не принципиально.
Итак, все потенциально опасные для пользователя операции — генерация ключей, шифрование и декодирование сообщений — осуществляются на его клиентской машине вдали от сервера HushMail. Сообщения и секретные ключи хранятся на нем в зашифрованном виде и не могут быть вскрыты без фразы-пароля. Тем самым специалисты Hush Communications лишний раз хотят убедить всех в том, что защита корреспонденции обеспечивается не их «клятвами», а объективной изоляцией критически важных ключей.
13. ЭЛЕКТРОННАЯ ЦИФРОВАЯ ПОДПИСЬ
Необходимость использования электронной цифровой подписи
В чем же состоит определение подлинности (аутентификация) информации? Прежде всего в установке того факта, что полученная информация была передана подписавшим ее отправителем, и что она при этом не искажена.
Сегодня нетрудно констатировать, что электронные технологии идут вперед с головокружительной скоростью. Словосочетание «электронная цифровая подпись» стало уже привычным. А еще сравнительно недавно пользователи с большим недоверием относились к электронным документам, считая, что подделать их проще, чем документы на бумажном носителе.
Собственноручная подпись под документом с давних пор используется людьми в качестве доказательства, что человек, подписавший данный документ, ознакомился с ним и согласен с его содержанием. Почему же подпись заслужила такое доверие? Основные причины этого заключаются в следующем:
– подлинность подписи можно проверить (ее присутствие в документе позволяет убедиться, действительно ли он был подписан человеком, который обладает правом ставить эту подпись);
– подпись нельзя подделать (подлинная подпись является доказательством того, что именно тот человек, которому она принадлежит, поставил эту подпись под документом);
– подпись, которая уже стоит под одним документом, не может быть использована еще раз для подписания второго документа (подпись — неотъемлемая часть документа и ее нельзя перенести в другой документ);
– подписанный документ не подлежит никаким изменениям;
– от подписи невозможно отречься (тот, кто поставил подпись, не может впоследствии заявить, что он не подписывал этот документ).
На самом деле, ни одно из перечисленных свойств подписи полностью, на все 100%, не выполняется. В нашем современном криминальном обществе подписи подделывают и копируют, от них отрекаются, а в уже подписанные документы вносят произвольные изменения. Однако люди вынуждены мириться с недостатками, присущими подписи, поскольку мошеннические трюки с подписями проделывать не просто и шансы быть пойманными у мошенников достаточно велики.
Проблему электронной подписи можно было бы решить путем создания сложных считывающих устройств, разлагающих подпись на бумаге на элементы, переводящих эти элементы в цифровой код и на приемном конце производить операцию проверки подлинности, сверяя полученный цифровой код с хранящимся образцом. Такие технические средства уже используются, но, в основном, для защиты от несанкционированного доступа, где пользователь ставит свою подпись и в его присутствии происходит сверка. Совсем иначе обстоят дела, если документ послан по почте. При этом возникает трудная проблема: подписанный документ можно перехватить и изменить или полностью заменить, и к поддельному документу «приклеить» подпись, «отрезанную» от подлинного.
Попытка использовать подпись в компьютерных файлах сопряжена с еще большими трудностями по тем причинам, что:
– любой файл можно скопировать вместе с имеющейся в нем подписью;
– после подписания в файл можно внести любые изменения, которые в принципе не поддаются обнаружению.
Эти недостатки устраняются при использовании электронной цифровой подписи, позволяющей заменить при безбумажном электронном документообороте традиционные печать и подпись. Она не имеет ничего общего с последовательностью символов, соответствующих печати или подписи, приписанной к документу. При построении цифровой подписи вместо обычной связи между печатью или рукописной подписью и листом бумаги выступает сложная зависимость между документом, секретным и общедоступным (открытым) ключами, а также цифровой подписью. Невозможность подделки электронной цифровой подписи обусловлена очень большим объемом математических вычислений.
Эта подпись может иметь вполне читаемый, «буквенный» вид, но чаще она представлена в виде последовательности произвольных символов. Цифровая подпись может храниться вместе с документом, например, стоять в его начале или конце, либо в отдельном файле. Естественно, что в последнем случае при проверке подписи необходимо располагать как самим документом, так и файлом, содержащим подпись.
Чего мы хотим от электронной цифровой подписи и чем она лучше обычной? Электронная цифровая подпись — это средство, позволяющее на основе использования криптографических методов определить авторство и подлинность документа. При этом электронная цифровая подпись имеет следующие преимущества:
– возможность идентификации принадлежности подписи на основе объективных показателей;
– высокая защищенность от подделки;
– жесткая связь с подписываемым документом.
Если первые два условия еще можно как-то реализовать для традиционной подписи, то третье выполняется только в случае применения электронной цифровой подписи. Ведь она представляет собой специальный зашифрованный код, присоединяемый к электронному сообщению. Это еще и один из самых перспективных способов аутентификации и установления доверительных связей на рынке электронной коммерции. Но до сих пор не существует единого мнения о том, какой способ шифрования наилучший и как организовать сети, где используются цифровые подписи. Но и в случае применения цифровой подписи существуют «подводные камни», угрожающие электронным документам.
Рассмотрим возможные угрозы (виды злоумышленных действий), которые наносят существенный ущерб развитию электронного документооборота. Они подрывают доверие к компьютерной технологии визирования документов. При обмене электронными документами (рис. 4.34) существуют следующие виды злоумышленных действий:
– отказ от авторства или от факта получения документа;
– модификация документа;
– подмена документа;
– активный перехват;
– подмена имени («маскарад»);
– повторная рассылка документов.
В случае отказа от авторства пользователь А заявляет, что не посылал документ пользователю В, хотя на самом деле послал. При модификации документа пользователь А сам изменяет полученный документ и утверждает, что именно таким получил его от пользователя В. Когда пользователь В формирует документ и заявляет, что получил его от пользователя А, имеет место подмена документа. Если злоумышленник подключился к сети, он активно перехватывает информацию и вносит в нее изменения. В ситуации, когда пользователь С посылает документ не от своего имени, а от имени пользователя А, имеет место подмена имени или так называемый «маскарад». При повторной рассылке документов пользователь С повторяет посылку документа, который пользователь А ранее послал пользователю В. Для этого, чтобы исключить возможность подобных злоумышленных действий, и придумали электронную цифровую подпись.
При выборе алгоритма и технологии аутентификации необходимо предусмотреть надежную защиту от всех перечисленных видов злоумышленных действий. Однако в рамках классической (одноключевой) криптографии защититься от угроз всех этих видов трудно, поскольку имеется принципиальная возможность злоумышленных действий одной из сторон, владеющих секретным ключом.
Никто не может помешать пользователю, например, создать любой документ, зашифровать его с помощью имеющегося ключа, общего для двух пользователей, а потом заявить, что он получил этот документ от него.
Значительно эффективнее работают схемы, основанные на использовании двухключевой криптографии. В этом случае каждый передающий пользователь имеет свой секретный ключ, а у всех других пользователей есть несекретные открытые ключи передающих абонентов. Эти открытые ключи можно трактовать как набор проверочных соотношений, позволяющих судить об истинности подписи передающего пользователя, но не позволяющих восстановить секретный ключ подписи. Передающий пользователь несет единоличную ответственность за свой секретный ключ. Никто, кроме него, не в состоянии сформировать корректную подпись. Секретный ключ передающего пользователя можно рассматривать как его личную печать, и ее владелец должен всячески ограничивать доступ к ней.
Таким образом, электронная цифровая подпись представляет собой некое достаточно длинное число, полученное в результате преобразования электронного образа защищаемого документа с использованием секретного (личного) ключа отправителя. Любой может проверить стоящую под документом электронную цифровую подпись при помощи соответствующих преобразований с использованием опять-таки электронного образа документа, открытого (публичного) ключа отправителя и собственно значения ЭЦП. Открытый и секретный ключи однозначно связаны между собой, однако невозможно вычислить секретный ключ по открытому. Точнее, если формулировать совсем строго, то пока не найдено алгоритмов, позволяющих сделать такие вычисления за приемлемое время с учетом современного уровня развития техники и используемой длины ключей.
Криптостойкость цифровой подписи должна обеспечивать трудность ее подделки любым человеком, не имеющим доступа к секретному ключу. Причем трудоемкость подделки должна быть велика как для совершенно постороннего пользователя, так и для участника данной сети и не зависеть от числа подписанных документов, перехваченных злоумышленником. Кроме того, на нее не должно влиять то, что у злоумышленника есть возможность готовить документы «на подпись» отправителю. Причем должна обеспечиваться соответствующая защита от несанкционированного доступа к хранящемуся секретному «образцу подписи».
Реализация цифровой подписи
Чтобы поставить цифровую подпись под конкретным документом, необходимо проделать довольно большой объем вычислений. Эти действия осуществляются в два этапа:
– генерация ключей;
– подписание документа.
При использовании несимметричного шифрования, а именно его и применяют для цифровой подписи, каждый абонент, обладающий правом подписи, самостоятельно на своем компьютере формирует два ключа подписи: секретный (co6ственный) и открытый (общий).
Секретный ключ применяют для выработки подписи (рис. 4.35). Только секретный ключ гарантирует невозможность подделки злоумышленником документа и цифровой подписи от имени заверяющего. Никто, кроме владельца, не сможет сформировать ЭЦП под документом. Зато любой может проверить (с помощью доступного всем открытого ключа), что документ подписал именно владелец и что документ не искажен (так как значение ЭЦП зависит и от содержимого документа). Логичное следствие состоит в том, что невозможно просто перенести ЭЦП с одного документа на другой (по аналогии с ксерокопированием или сканированием обычной подписи на бумажном документе или использованием факсимиле). Таким образом, можно сказать, что электронная цифровая подпись является реквизитом данного конкретного электронного документа.
Открытый ключ вычисляется как значение некоторой функции от секретного, но знание открытого ключа не дает возможности определить секретный ключ. Открытый ключ можно опубликовать и использовать для проверки подлинности документа и цифровой подписи, а также для предупреждения мошенничества со стороны заверяющего в виде отказа его от подписи документа. Открытым ключом можно пользоваться только в том случае, если известны его подлинность и авторство, которые подтверждаются сертификатом. Поэтому во избежание подделки или внесения искажений, обмен и хранение открытых ключей должны осуществляться в защищенном виде. Для этого можно использовать секретный канал связи или в открытом канале связи средства электронной цифровой подписи, а при работе со средствами криптографической защиты необходимо контролировать целостность справочника открытых ключей.
Открытые ключи всех участников обмена информацией должны быть доступны всем для возможности проверки ЭЦП. То есть их можно размещать на серверах, передавать по радио, писать на заборах и публиковать в колонке частных объявлений в газете.
Естественно, говорить об этом с уверенностью можно только в том случае, если генерацию ключей производил сам владелец ключа либо (если он не располагает соответствующей техникой) удостоверяющий центр в его присутствии. В этой связи вызывает недоумение практика, распространенная в некоторых системах, когда организатор системы генерирует ключи заранее, а потом раздает пользователям.
На первом этапе для каждого абонента генерируют пару ключей — секретный и открытый, которые связаны между собой с помощью особого математического соотношения. Открытый ключ следует рассматривать как необходимый инструмент, позволяющий определить автора подписи и достоверность электронного документа, но не позволяющий вычислить секретный ключ.
Возможны два варианта проведения этого этапа. Естественным представляется вариант, когда генерацию ключей абонент может осуществлять самостоятельно. Не исключено, однако, что в определенных ситуациях эту функцию целесообразно передать центру, который будет вырабатывать пары «секретный‑открытый» ключ для абонентов и заниматься их распространением. Второй вариант имеет целый ряд преимуществ административного характера, однако обладает принципиальным недостатком — у абонента нет гарантии, что его личный секретный ключ уникален. Другими словами, можно сказать, что здесь все абоненты находятся «под колпаком» центра и он может подделать любую подпись.
Первый вариант заключается в том, что пользователь передает сам свой открытый ключ всем, с кем собирается вести переписку. По очевидным причинам он технически сложен (не со всеми можно встретиться лично, невозможно заранее предусмотреть всех адресатов).
Второй вариант заключается в создании центра сертификации (Certificate Authority). В качестве такого центра выбирают человека, которому все доверяют и с которым хотя бы один раз могут встретиться лично либо имеют надежный (т. е. не допускающий искажений/подделок) канал связи. После выбора такого лица все участники обмена генерируют свои пары ключей и, прихватив свой открытый ключ, выстраиваются в очередь к центру сертификации, который за умеренную плату удостоверяет личность пришедшего и подписывает его открытый ключ своим секретным ключом.
Кроме собственно открытого ключа, в блок подписываемых данных входят дополнительные сведения: имя владельца, другие идентифицирующие данные, сроки действия ключа, перечень информационных систем, в которых допустимо его использовать и др. Все это вместе (открытый ключ, блок данных и ЭЦП) называется сертификатом открытого ключа.
Владелец ключа получает на руки сертификат и открытый ключ центра. Теперь он просто счастлив — центр удостоверил принадлежность ключа ему (поэтому в Законе об ЭЦП данные центры именуются удостоверяющими центрами). Поскольку другие участники системы также получают вместе с сертификатом копию открытого ключа центра (получают лично), они могут удостовериться в принадлежности любого открытого ключа, не встречаясь лично с его владельцем, потому что теперь при установлении связи пользователи обмениваются не просто открытыми ключами, а сертификатами. Так, к почти строгому математическому механизму ЭЦП добавился организационный.
Таким образом, каждому пользователю, обладающему правом подписи, необходимо иметь лишь один секретный ключ и справочник регистрационных записей открытых ключей абонентов сети. Если у пользователя нет права подписи, но в процессе работы ему необходимо проверять подписи, проставленные под документами, он должен иметь лишь справочник открытых ключей. Для формирования справочника существует несколько возможностей. Например, список открытых ключей может формироваться в «центре» (выделенный пользователь, обладающий особыми полномочиями). «Центр» получает готовую регистрационную карточку открытого ключа абонента, формирует справочник открытых ключей, рассылает абонентам сети и контролирует его целостность и истинность.
Системы цифровой подписи организуются внутри инфраструктуры открытого ключа PKI (Public Key Infrastructure), которая поддерживается уполномоченным по сертификатам. Он отвечает за выдачу ключей и гарантирует подлинность сертификатов.
Базовые правила для каждой сети цифровой подписи должны быть тщательно проработаны. К примеру, необходимо определить, какой метод шифрования будет использоваться, кто будет выступать в роли уполномоченного по сертификатам.
Математические схемы, используемые в алгоритмах, реализующих цифровую подпись, основаны на однонаправленных функциях. Гипотеза о существовании односторонних функций является одним из результатов теории сложности и теории функций. Напомним, что односторонней называется функция, определенная (например) на множестве натуральных чисел и не требующая для вычисления своего значения больших вычислительных ресурсов. Но вычисление обратной функции (то есть по известному значению функции восстановить аргумент) оказывается невозможно теоретически или (в крайнем случае) вычислительно.
Строгого доказательства существования односторонних функций пока нет. Поэтому все используемые в настоящее время хэш-функции являются лишь кандидатами в односторонние функции, хотя и имеют достаточно хорошие свойства. Основными свойствами криптографически надежной хэш-функции являются:
– рассеивание;
– стойкость к коллизиям;
– необратимость.
Свойство рассеивания требует, чтобы минимальные изменения текста, подлежащего хэшированию, вызывали максимальные изменения значения хэш-функции. К таким изменениям относятся вставки, выбросы, перестановки и т. п.
Коллизией хэш-функции называется ситуация, когда два различных текста (вне зависимости от длины) могут иметь одинаковые хэш-функции. Значение хэш-функции всегда имеет фиксированную длину, а на длину исходного текста не накладывается никаких ограничений. Из этого следует, что коллизии существуют. Требование стойкости к коллизиям обозначает, что для криптографически надежной хэш-функции для заданного текста вычислительно невозможно найти другой текст, вызывающий коллизию. Иными словами, вероятность того, что значения хэш-функции двух различных документов совпадут, должна быть ничтожно мала.
Свойство необратимости заключается в том, что задача подбора документа, который обладал бы требуемым значением хэш-функции, вычислительно неразрешима. Для данной функции нельзя вычислить, какие два исходные сообщения могут генерировать одно и то же хэш-значение, поскольку хэш‑значения двух 256-битных документов могут совпасть лишь в одном из 2256 (1077) случаев.
При подписании прежде всего документ «сжимают» до нескольких десятков или сотен байт с помощью хэш-функции. Здесь термин «сжатие» вовсе не аналогичен термину «архивирование». После архивирования информация может быть восстановлена. Значение же хэш-функции лишь только зависит от документа, но не позволяет восстановить сам документ.
Если к полученному хэш‑значению применяется некоторое математическое преобразование (шифрование секретным ключом), то на выходе и получается цифровая подпись документа.
Размер собственно ЭЦП довольно велик, например, для ГОСТ Р 34.10-11.94 он равен 64-м байтам. После добавления служебной информации (порядка 50—200 байт в зависимости от реализации) эта величина существенно возрастает. Поскольку алгоритмы вычисления ЭЦП используют сложные алгебраические преобразования и являются сравнительно медленными, то для крупных центров обработки, где суточный объем электронных баз данных составляет величину порядка 50 000 — 60 000 шт., временные затраты на вычисление и проверку ЭЦП становятся значительными и заметно влияют на производительность системы в целом.
Процедура проверки подписи
Проверка подписи происходит в два этапа: вычисление хэш-функции документа и собственно математические вычисления, предусмотренные в данном алгоритме подписи, т. е. проверка того или иного соотношения, связывающего хэш-функцию документа, подпись под этим документом и открытый ключ абонента. Если требуемое соотношение выполнено, то подпись признается правильной, а сам документ — подлинным, в противоположном случае документ считается измененным, а подпись под ним — недействительной (рис. 4.36).
Проверяющий подпись должен располагать открытым ключом пользователя, поставившего подпись. Этот ключ должен быть аутентифицирован, то есть проверяющий должен быть полностью уверен, что данный открытый ключ принадлежит именно тому, кто выдает себя за его «хозяина». В случае, когда пользователи самостоятельно обмениваются ключами, эта уверенность может подкрепляться по телефону, личным контактом или любым другим способом. Когда же они работают в сети с выделенным центром, открытые ключи пользователей подписываются (сертифицируются) центром, и непосредственный контакт пользователей между собой (при передаче или подтверждении подлинности ключей) заменяется на контакт каждого из них с сертификационным центром.
Для разрешения споров между отправителем и получателем информации, связанных с возможностью искажения открытого ключа подписи, достоверная копия этого ключа может быть выдана третьей стороне (арбитру) и применена им при возникновении конфликта. Предъявляя контролеру открытый ключ — значение некоторой функции, вычисляемое с помощью секретного ключа, пользователь косвенным образом доказывает, что обладает секретным, но это еще не позволяет ему самому сменить свой номер в сети или выработать подпись под номером другого пользователя. Некоторые из них могут только проверять подписанные другими сообщения, другие (назовем их пользователями с правом подписи) могут, как проверять, так и самостоятельно подписывать сообщения. Кроме того, бывают случаи, когда кто-либо может ставить свою цифровую подпись только в качестве второй подписи после подписи определенного пользователя (начальника, например); это не меняет существа дела.
Юридическая правомочность использования аналогов собственноручной подписи (разновидностью каковых и является ЭЦП) декларирована в Гражданском кодексе. Конечно же, наши респектабельные фирмы и банк заключили между собой соответствующие договоры, в которых стороны признают, что подписанные ЭЦП документы имеют такую же юридическую силу, что и документы на бумажном носителе, подписанные обычной подписью и заверенные печатью. В этом же договоре стороны определяют, при помощи какого именно программного обеспечения или аппаратуры будет формироваться ЭЦП, порядок его использования (организационные и технические меры безопасности) и, самое главное, порядок разрешения конфликтных ситуаций. Применительно к ЭЦП разновидностей конфликтных ситуаций не так много:
– отказ от авторства сообщения (я это не писал/не посылал);
– отказ от факта приема сообщения (я этого не получал);
– оспаривание времени приема/отправки сообщения.
Возникновение двух последних ситуаций предотвращается изначально продуманным протоколом обмена сообщениями между абонентами. Во-первых, к каждому сообщению перед подписанием прикрепляется отметка времени. Во-вторых, на каждое полученное сообщение получатель отправляет подписанное ЭЦП подтверждение о его приеме. Отправитель, в свою очередь, получив подтверждение, отправляет подписанную ЭЦП квитанцию. Таким образом, на каждый акт информационного обмена приходится 3 посылки, что, конечно же, избыточно, однако позволяет избежать упомянутых выше проблем (естественно, обе стороны ведут в течение оговоренного времени архивы принятых/посланных сообщений с ЭЦП).
Во многих случаях трехшаговое общение позволяет легко разрешить и ситуацию с отказом от авторства. Эта ситуация также должна быть предусмотрена в договоре и, во избежание недоразумений, должна быть расписана по шагам: как формируется комиссия (сроки, число членов с обеих сторон, необходимость привлечения независимых экспертов), порядок установки с эталонной копии средств проверки, формальные признаки, по которым осуществляется проверка, порядок оформления результатов. Не следует забывать и о сохранении копий сертификатов открытых ключей в удостоверяющем центре в течение необходимого срока, определяемого договором между участниками обмена. Естественно, срок хранения должен быть не менее исковой давности, определенной Гражданским кодексом или иными правовыми актами для данного вида договорных отношений.
Основными применяемыми на сегодняшний день алгоритмами, реализующими хэш-функции, являются MD2, MD4, MD5, SHA и его вариант SHA1, российский алго-
ритм, описываемый стандартом ГОСТ Р 34.11-94. Наиболее часто используются MD5, SHA1 и 34.11 в России. Длина значения хэш-функции различна. Типичная длина составляет 16—32 байта.
Существует много математических схем подписи, наиболее известные из которых:
– RSA (R.L.Rivest, A.Shamir, L.Adleman) назван по первым буквам фамилий авторов;
– OSS (H.Ong, C.P.Schnorr, A.Shamir);
– Эль-Гамаля (T.EIGamal);
– Рабина (M.Rabin);
– Шнорра(С. P. Schnorr);
– Окамото-Сараиси (T.Okamoto, A.Shiraishi);
– Мацумото — Имаи (T.Matsuraoto, H.Imai);
– схемы с использованием эллиптических кривых и др.
В схемах RSA, Рабина, Эль-Гамаля и Шнорра трудность подделки подписи обусловлена вычислительной сложностью задач факторизации или дискретного логарифмирования. Среди схем, предложенных отечественными учеными, можно отметить оригинальную схему А. А. Грушо (1992 г.). Ее однонаправленная функция, в отличие от перечисленных выше, основана не на сложности теоретико-числовых задач, а на сложности решения систем нелинейных булевых уравнений. На базе перечисленных выше схем подписи созданы стандарты на ЭЦП. Стандарт — это достаточно подробное описание алгоритмов, по которым вычисляется и проверяется подпись.
В принятых стандартах на цифровую подпись США и России (DSS — Digital Signature Standard, ГОСТы Р 34.10-94 и Р 34.11-94) используются специально созданные алгоритмы. В основу этих алгоритмов положены схемы Эль-Гамаля и Шнорра.
Федеральный стандарт цифровой подписи DSS, который был впервые опубликован в 1991 году в США, описывает систему цифровой подписи DSA (Digital Signature Algorithm). Этот алгоритм разработан Агентством Национальной Безопасности США и принят в качестве стандарта цифровой подписи Национальным Институтом Стандартов и Технологии. Алгоритм использует метод шифрования с открытым ключом и является основой всей электронной коммерции, обеспечивая конфиденциальность и достоверность передаваемых по Internet данных. Длина подписи в системе DSA составляет 320 бит. Надежность всего стандарта основана на практической неразрешимости задачи вычисления дискретного логарифма. Однако, к сожалению, сегодня этот алгоритм уже не имеет достаточного временного запаса по нераскрываемости (10— 20 лет). Прореха скрывается в несовершенстве подпрограммы генерации псевдослучайных чисел. Вместо того чтобы вычислять разные цифры с равной вероятностью, она выбирает числа из некоторого диапазона. Этот недостаток цифровой подписи заметно облегчает ее взлом с использованием современных суперкомпьютеров.
В России «Закон об электронной цифровой подписи» принят Государственной думой 21 ноября 2001 года. В нем установлена права и обязанности обладателя цифровой подписи, указаны сертификаты ключа, выдаваемые удостоверяющим центром, определены состав сведений, содержащихся в сертификате ключа, срок и порядок его хранения и т.д.
У нас в стране выработка и проверка электронной цифровой подписи производятся на основе отечественного алгоритма криптопреобразования ГОСТ 28147-89. Данная процедура предусматривает использование двух различных ключей криптографического алгоритма отечественного стандарта. Этими ключами одновременно владеет только отправитель, который и подписывает сообщение. Кроме того, предполагается наличие двух независимых центров доверия (Центр 1 и Центр 2), которым доверяют все пользователи данной системы электронной цифровой подписи.
Кроме того, в России приняты стандарты: ГОСТ Р 34.10-94 «Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма» и ГОСТ Р 34.11-94 «Функция хэширования». В основу ГОСТ Р 34.10-94 положена однонаправленная функция, основанная на дискретном возведении в степень. Можно быть вполне уверенным, что алгоритм из стандарта ГОСТ Р 34.10-94 обладает высокой криптографической стойкостью.
Пользователи Internet используют в качестве основы своей системы ЭЦП известный пакет программ PGP, созданный под руководством Филиппа Зиммерманна. К основным преимуществам данного пакета, выделяющим его среди других аналогичных продуктов, относятся:
– открытость;
– стойкость;
– бесплатность;
– поддержка различных моделей распределения ключей;
– удобство программного интерфейса.
Открытость основана на том, что доступен исходный код всех версий программ PGP. Любой эксперт может убедиться, что в программе криптоалгоритмы реализованы эффективно. Для повышения стойкости криптоалгоритма применяются ключи достаточно большой длины. Пакет поддерживает как централизованную модель (через серверы ключей), так и децентрализованную модель (через сеть доверия) распределения ключей.
Однако, несмотря на то, что пакет свободно распространяется по сетям, это не означает, что его можно легко и доверительно использовать — существует патентное законодательство. Кроме того, в этих программах обнаружено несколько закладок (в частности, против систем, построенных на основе пакета программ PGP), при помощи которых были подделаны электронные документы.
В марте 2001 года два чешских криптолога объявили, что ими была обнаружена «дыра» в самой популярной программе шифрования электронных посланий — PGP. Ошибку обнаружили при изучении надежности электронной подписи в открытом формате OpenPGP, широко используемом сейчас для присылки сообщений.
Это уже второй случай обнаружения в PGP «дыры» для несанкционированного доступа к зашифрованным сообщениям. Предполагается, однако, что на этот раз дело обстоит несколько серьезнее, чем в случае с возможностью добавлять к открытому ключу дополнительный ключ ADK (Additional Decryption Key) и таким образом дешифровать данные. Как известно, чтобы воспользоваться этой программной ошибкой, необходимо сначала получить доступ к передаваемому сообщения компьютеру либо напрямую, либо через Internet. Обнаруженное уязвимое место в программе не дает возможности взлома кода, который до сих пор считается достаточно надежным, но открывает пути доступа, позволяющие мошеннику украсть у пользователя один из ключей.
Подчеркнем, что под стандартом на электронную подпись понимается только стандарт на криптографический алгоритм. Многие существенные детали в стандарте не оговорены (например, способ распространения открытых ключей, способ генерации псевдослучайных чисел и др.). Это, вообще говоря, может привести к тому, что разные средства, осуществляющие функции ЭЦП (каждое из которых соответствует стандарту!), окажутся несовместимыми между собой.
Новый отечественный стандарт на ЭЦП
В 2001 году на конференции, проводившейся Ассоциацией документальной электросвязи и представителями ФАПСИ, было официально объявлено об утверждении нового стандарта на электронную цифровую подпись. Этот стандарт, основанный на методе эллиптических кривых, вступает в силу с 1 июля 2002 года. Он придет на смену тому стандарту, который используется сейчас и который мы рассматривали выше. Новый стандарт будет иметь тот же номер, что и старый, за исключением того, что изменятся лишь цифры, обозначающие год.
Все ранее сертифицированные криптографические системы, использующие старый стандарт, сохранят свои сертификаты до конца срока их действия. Для всех новых или вновь сертифицируемых систем новый стандарт будет обязательным.
Ввод в действие нового стандарта связан с тем, что, по словам гендиректора ФАПСИ, действующий стандарт уже к 2003 году не будет обеспечивать достаточный уровень защиты. И хотя для подделки одной ЭЦП, соответствующей старому ГОСТу, сегодня требуется около 10 лет работы 10 000 компьютеров, он же и существенно увеличивает длину обрабатываемых сообщений (в российском алгоритме используются очень длинные ключи).
Проблему криптостойкости существующего стандарта можно было бы решить, увеличив длину шифровального ключа подписи, однако это приведет к неоправданным затратам и увеличению длительности обработки. Поэтому в новой редакции стандарта и используется математика эллиптических кривых.
Сегодня работа стандартов ЭЦП основана, в основном, на:
– классической математике;
– эллиптических кривых, использующих теорию алгебраических чисел.
Если первый подход уже давно известен, то второй метод подразумевает более короткий ключ, при этом процедуры обоснования его надежности сложнее, поскольку экспертов в области эллиптических кривых гораздо меньше, чем специалистов по теории чисел. Ключи в алгоритме с использованием эллиптических кривых могут быть созданы в 100 раз быстрее и занимают гораздо меньше места, чем ключи в алгоритме RSA.
Совсем недавно для оценки криптостойкости алгоритма, основанного на методе эллиптических кривых, были предприняты попытки взлома шифра с 97-битным ключом. Эта задача, поставленная Французским национальным институтом информатики (INRIA), была решена командой энтузиастов под руководством ирландского математика Роберта Харли (Robert Harley). Для этого потребовались 40-дневные объединенные усилия 195 добровольцев из 20 стран и 740 независимых компьютеров. По словам Роберта Харли, решить задачу шифрования с 97-битным" дискретным алгоритмом на основе эллиптических кривых труднее, чем взломать 512-битный несимметричный шифр RSA, который сегодня является промышленным стандартом.
Несколько позднее канадской компанией Certicom, занимающейся вопросами шифрования, которая хотела привлечь исследователей к тестированию уровня защиты, обеспечиваемого алгоритмом ЕСС (Elliptic Curve Cryptography), было инициировано исследование, посвященное анализу уже 109-разрядного ключа. Эта задача, получившая известность под кодовым наименованием ЕСС2К.108, была решена с помощью распределенной сети, включающей большое число компьютеров. В ее решении приняли участие 1300 человек из 40 стран, перебиравшие всевозможные комбинации ключей до тех пор, пока не был обнаружен искомый. Исходное тестовое сообщение было закодировано с помощью метода эллиптических кривых.
В своем проекте Certicom использовала свободно распространяемое программное обеспечение, которое Роберт Харли разработал для вычисления более 215 точек на эллиптической кривой, относящейся к классу кривых Коблитца. Данные о 2 млн «выделенных» точек были посланы на сервер AlphaServer в INRIA, где участники могли в реальном времени наблюдать за поиском ключа. Для взлома алгоритма использовались 9500 компьютеров в Internet. По данным INRIA, две трети вычислений пришлось на долю рабочих станций с операционной системой Unix, а одна треть — на компьютеры с Windows.
На решение такой задачи на одном компьютере с процессором Pentium II/450 МГц потребовалось бы примерно 500 лет. «Объем вычислений, проделанных нами, больше, чем нужно для взлома системы, защищенной открытым ключом наподобие RSA длиной как минимум 600 разрядов», — отметил Эрьен Ленстра, вице-президент по технологиям подразделения Citibank в Нью-Йорке, который также принимал участие в проекте. И это с учетом того, что компания Certicom выбрала кривую, отличающуюся свойствами, упрощающими задачу взлома кода, и была проделана примерно десятая часть всех вычислений, которые в обычных условиях должны потребоваться для взлома 109-разрядного ключа при шифровании по кривой. Проведенный проект показал относительную уязвимость некоторых кривых с особыми свойствами и подтвердил тот факт, что произвольные кривые лучше подходят для оптимальной защиты.
Остановимся вкратце на рассмотрении метода эллиптических кривых, использованного в новом стандарте на электронную цифровую подпись. Эллиптическая кривая описывается математическим уравнением вида:
у2 = x3 + ax + b,
где все вычисления выполняются по модулю выбранного просто числа р и 4aЗ + 27b2 = 0.
Этот случай называется нечетным, т.к. модуль р берется для некоторого числа нечетных значений р. Четный случай аналогичен, но вычисления при этом ведутся в конечном поле GF(2m) для некоторого целого числа т.
Проблему дискретного логарифма DLP (Discrete Logarithm Problem) кратко можно сформулировать так: «По заданному простому числу р, основанию g и значению gx(mod р) найти значение х». Причем проблема может быть сформулирована в ограниченной области.
Полезное для криптографии свойство эллиптических кривых состоит в том, что если взять две различных точки на кривой (рис. 4.37), то соединяющая их хорда пересечет кривую в третьей точке (так как мы имеем кубическую кривую). Зеркально отразив эту точку по оси X, мы получим еще одну точку на кривой (так как кривая симметрична относительно оси X). Это позволяет точно определить форму кривой. Если мы обозначим две первоначальные точки Р и Q, то получим последнюю (отраженную) точку P+Q. Представленное «сложение» удовлетворяет всем известным алгебраическим правилам для целых чисел, позволяя определить единственную дополнительную точку, которая называется бесконечно удаленной точкой и выполняет роль нуля (начала отсчета) для целых чисел.
Другими словами, можно определить форму кривой по заданным точкам (плюс бесконечно удаленной точке), что является обычным алгебраическим действием. Выражаясь математическими терминами, можно определить конечную абелеву группу (абстрактную группу с коммутативной бинарной операцией) на точках кривой, где нулем будет бесконечно удаленная точка. В частности, если точки Р и Q совпадут, то можно вычислить Р+Р. Развивая эту идею, можно определить kP для любого целого числа k, и, следовательно, определить значение Р и значение наименьшего целого числа k, такого что kP = F, где F — бесконечно удаленная точка. Теперь можно сформулировать Проблему дискретного логарифма эллиптической кривой (Elliptic Curve Discrete Logarithm Problem, ECDLP), на которой основана рассматриваемая система:
– Для эллиптических кривых и базовых точек решение уравнений типа «Даны базовая точка Р и расположенная на кривой точка kP; найти значение k.» представляет весьма и весьма сложную задачу. С точки же зрения криптографии на основе эллиптических кривых имеется возможность определить новую криптографическую систему (любая стандартная система, основанная на проблеме дискретного логарифма, аналогична системе основанной на ECDLP). Например, эллиптическая кривая DSA (ECDSA) уже стандартизована (ANSI X9.62), и на ее базе можно реализовать протокол открытого обмена ключами Diffie-Hellman.
– При определении системы эллиптической кривой требуются сама кривая и базовая точка Р. Эти элементы не являются тайной и могут быть одинаковыми для всех пользователей системы. Для данной кривой и точки несложно сгенерировать открытые и частные ключи для пользователей (частный ключ представляет просто случайное целое число k, а открытый ключ — точку kP на кривой). Однако чрезвычайно трудно создать подходящую кривую и точку. Главное — подсчитать количество точек на кривой. Для этого необходимо выбрать подходящую базовую точку Р, координаты которой должны иметь достаточно большое значение, чтобы гарантировать трудность взлома ECDLP. Но координаты точки Р должны делиться на количество точек на кривой (точки вместе с бесконечно удаленной точкой образуют конечную группу). И весьма вероятно, что, найдя число точек на кривой, мы не сможем найти базовую точку. Существуют и другие ограничения, которые необходимо учесть при построении кривых.
Подводя итог вышеизложенному, можно утверждать, что создание кривых — задача непростая. Пользователи могут применять «стандартные» кривые с помощью специального программного обеспечения, либо создавать собственные кривые, что занимает, к сожалению, очень много времени.
Системы на основе эллиптической кривой используют ключи малых размеров. Это значительно снижает требования к вычислительным мощностям по сравнению с требованиями систем на основе RSA. Как это влияет на скорость обработки, показывает табл. 4.10. В ней представлены сравнительные характеристики алгоритмов RSA и ECDSA (нечетный случай) при создании и проверке цифровых подписей. Оба алгоритма тестировали на параллельных процессорах Motorola 56303 DSP (66 МГц). При этом функция проверки подписи RSA использует е = 65 537.
Таблица 4.10. Сравнительные характеристики алгоритмов RSA и ECDSA (нечетный случай)при создании и проверки цифровой подписи
Алгоритм (длина ключа, бит)
Время выполнения, мс
Создание подписи
Проверка подписи
RSA (1024)
25
< 2
ECDSA (160)
32
33
RSA (2048)
120
5
ECDSA (216)
68
70
Как видно из табл. 4.10, при увеличении размеров ключа создание подписей с помощью ECDSA производится значительно быстрее, чем в системах RSA. Это различие в еще большей степени проявляется для однопроцессорных систем. С другой стороны, проверка подписи с помощью ECDSA, делается намного медленнее, чем эта же процедура в системах RSA и опять же различие усиливается для систем с одним процессором.
Обработка ECDSA может несколько ускориться в «четном» случае. Мощность процессора, затраченная на проверку подписи, при использовании, скажем, ECDSA может замедлить выполнение других приложений в системе. Множество систем имеют много удаленных устройств, соединенных с центральным сервером, и время, затраченное удаленным устройством для создания подписи (несколько секунд), не влияет на производительность системы в целом, но сервер должен также и подтверждать подписи, причем очень быстро. В некоторых случаях системы RSA (даже использующие большие ключи) возможно, будут более приемлемы, чем криптосистемы на основе эллиптической кривой. Тем не менее, криптосистемы на основе эллиптической кривой получают все большее распространение скорее как альтернатива, а не замена систем RSA, поскольку системы ECDLP имеют некоторые преимущества, особенно при использовании в устройствах с маломощными процессорами и/или маленькой памятью. Типичные области применения алгоритма на основе эллиптической кривой:
– m-commerce (мобильная торговля) (например, WAP, сотовые телефоны, карманные компьютеры);
– смарт-карты (например, ЕМУ);
– e-commerce (электронная торговля) и банковские операции (например, SET);
– Internet-приложения (например, SSL).
Из-за очевидной трудности взлома алгоритм ECDLP можно применять для высоко защищенных систем, обеспечивая достаточно высокий уровень безопасности. Как уже говорилось выше, в рассматриваемом алгоритме используются ключи значительно меньшего размера, чем, например, в алгоритмах RSA или DSA. В табл. 4.11 сравниваются приблизительные параметры эллиптических систем и RSA, обеспечивающих одинаковую стойкость шифра, которая рассчитывается на основе современных методов решения ECDLP и факторинга (поиска делителей) для больших целых чисел.
Таблица 4.11. Параметры эллиптических систем и RSA, обеспечивающих одинаковую стойкость шифра
Длина ключа, бит
Система на основе эллиптической кривой (базовая точка Р)
RSA (длина модуля п)
106
512
132
768
160
1024
224
2048
Из табл.4.11 видно, что, используя эллиптические кривые, можно строить хорошо защищенные системы с ключами явно меньших размеров по сравнению с аналогичными «традиционными» системами типа RSA или DSA. В частности, такие системы менее требовательны к вычислительной мощности и объему памяти оборудования и потому удобны, например, для смарт-карт или портативных телефонов.
Разумеется, есть и проблемы, ограничивающие повсеместное распространение криптографических систем на основе эллиптических кривых.
Главная проблема состоит в том, что истинная сложность ECDLP еще не осознана полностью. Недавнее исследование показало, что некоторые эллиптические кривые, использовавшиеся для отработки алгоритмов шифрования, фактически не подходят для таких операций. Например, если координаты базовой точки Р равны положению р, то ECDLP имеет простое решение. Такие кривые являются «аномальными» кривыми. Существуют, однако, и некоторые другие проблемы:
– реальная безопасность таких систем все еще недостаточно исследована;
– трудность генерации подходящих кривых;
– несовместимость с другими системами;
– относительно медленная проверка цифровой подписи.
Системами электронного документооборота с использованием ЭЦП оснащены администрация президента и представительства президента в федеральных округах. Сертифицированные средства используют Внешторгбанк (система «Верба»), Сбербанк, Министерство по налогам и сборам, Пенсионный фонд, внедрена система ЭЦП в аппарате правительства РФ.
Сертификацией средств электронно-цифровой подписи занимается ФАПСИ. Сегодня существуют две сертифицированные системы — «Криптон» фирмы «Анкад» и
«Крипто-про CSP» компании «Крипто-про». Действие сертификата ФАПСИ на систему «Верба» производства МО ПНИЭИ фактически закончилось.
По Указу Президента, применение сертифицированных ФАПСИ средств ЭЦП сегодня обязательно для государственных организаций, однако в действительности эта норма легко обойти (например, применение ЭЦП можно назвать «защитой информации»). Так, не сертифицированные в ФАПСИ средства применяются в ФСБ, МИДе и отчасти в Центробанке. Однако по новому закону использование сертифицированных ФАПСИ алгоритмов электронно-цифровой подписи в госорганах планируется сделать строго обязательным.
14. КОМПЬЮТЕРНАЯ СТЕГАНОГРАФИЯ
Как известно, цель криптографии (шифрования) состоит в сокрытии содержания секретных сообщений. Стеганография идет принципиально дальше. Ее задача — скрыть от непосвященных сам факт существования сообщений. Такие скрытые сообщения могут включаться в различные внешне безобидные данные, вместе с ними храниться и передаваться без всяких подозрений со стороны. Если разработчики криптографических алгоритмов исходят из предположения, что потенциальный противник будет делать что угодно для дешифровки сообщения, то разработчик стеганографического алгоритма озабочен тем, как не дать противнику обнаружить существование самого сообщения, содержащего тайну.
Стеганография имеет многовековую историю и по возрасту существенно старше криптографии. Само слово «стеганография» в переводе с греческого буквально означает «тайнопись» (steganos — секрет, тайна; graphy — запись). В основе искусства скрытого письма лежит попытка скрыть само существование секретного сообщения, а потому его приемы заслуживают самого широкого употребления. Для тайнописи могут быть использованы: «подкладочное письмо», когда запись сокрыта какой-либо защитной оболочкой, «хоббийное кодирование», с использованием кроссвордов, музыкальных нот и шахматных партий, «жаргонные шифры», в которых вроде бы невинные слова имеют совершенно другой смысл. К ней относится огромное множество секретных средств связи и передачи информации, таких, как невидимые чернила, микрофотоснимки (микроточки), условное расположение знаков, незначительные различия в написании рукописных символов, маленькие проколы определенных напечатанных символов и множество других способов по скрытию истинного смысла тайного сообщения в открытой переписке, тайные каналы и средства связи на плавающих частотах, и т. д. Хорошо известны различные способы скрытого письма между строк обычного не защищаемого письма: от применения молока до использования сложных химических реакций с последующей обработкой при чтении.
Первые следы стеганографических методов передачи информации теряются в глубокой древности. История стеганографии — это история развития самого человечества. Рассмотрим кратко, как происходило становление стеганографии.
Местом зарождения стеганографии многие называют Египет, хотя первыми «стеганографическими сообщениями» можно назвать и наскальные рисунки древних людей.
Первое упоминание в литературе о стеганографических методах приписывается Геродоту, который еще в 474 году до н.э. описал случай с тираном Гистием. Последний, запертый указом персидского царя Дария в Сузах, захотел пообщаться с одним из своих родственников за пределами Суз. Чтобы его послание не попало в чужие руки, Гистий поступил очень остроумно — он обрил голову раба, вытатуировал письмо на коже головы, подождал, пока снова отрастут волосы, и отправил невольника в Милет под благовидным предлогом. Там раба снова побрили и прочитали послание. Для нашего времени этот способ, конечно, весьма сомнительный — и ждать пока волосы отрастут долго, и гонец получается одноразовый (больше одного письма на голове не вытатуируешь, а свести татуировку и сегодня проблема, не то, что в V веке до н.э.) — но важен принцип.
Геродотом описан еще один, чуть менее известный и немного менее зрелищный случай, который относят к тем же временам. Как утверждает Геродот, Демарт передавал послания, придерживаясь тех же правил, что и Гистий, т.е. скрывал сам факт передачи сообщения. Другое дело, что Демарту хватило сообразительности немного ускорить процесс подготовки посланий — он соскабливал с восковых дощечек воск, царапал свои секретные послания прямо на дереве, а позже покрывал дощечки воском заново.
В Китае письма писали на полосках щелка. Поэтому для сокрытия сообщений полоски с текстом письма сворачивались в шарики, покрывались воском и затем глотались посыльными. Как эти послания доставали, мы описывать не будем.
Темное средневековье породило не только инквизицию: усиление слежки привело к развитию как криптографии, так и стеганографии. Именно в средние века впервые было применено совместное использование шифров и стеганографических методов.
В XV веке монах Тритемиус (1462—1516), занимавшийся криптографией и стеганографией, описал много различных методов скрытой передачи сообщений. Позднее, в 1499 году, эти записи были объединены в книгу «Steganographia», которую в настоящее время знающие латынь могут прочитать в сети Internet.
XVII — XVIII века известны как эра «черных кабинетов» — специальных государственных органов по перехвату, перлюстрации и дешифрованию переписки. В штат «черных кабинетов», помимо криптографов и дешифровалыциков, входили и другие специалисты, в том числе и химики. Наличие специалистов-химиков было необходимо из-за активного использования так называемых невидимых чернил. Примером может служить любопытный исторический эпизод: восставшими дворянами в Бордо был арестован францисканский монах Берто, являвшийся агентом кардинала Мазарини. Восставшие разрешили Берто написать письмо знакомому священнику в город Блэй. Однако в конце этого письма религиозного содержания монах сделал приписку, на которую никто не обратил внимание: «Посылаю Вам глазную мазь; натрите ею глаза и Вы будете лучше видеть». Так он сумел переслать не только скрытое сообщение, но и указал способ его обнаружения. В результате монах Берто был спасен.
Стеганографические методы активно использовались американцами в годы гражданской войны между южанами и северянами. Так, в 1779 году два агента северян Сэмюэль Вудхулл и Роберт Тоунсенд передавали информацию Джорджу Вашингтону, используя специальные чернила.
Еще древние римляне писали между строк невидимыми чернилами, в качестве которых использовались фруктовые соки, моча, молоко и некоторые другие натуральные вещества. Их опыт не был забыт. Различные симпатические чернила использовали и русские революционеры в начале XX века. Симпатические чернила или, с успехом выполняющее их роль, обычное молоко — один из самых распространенных стегано-графических методов. Большинство читателей, очевидно, помнит рассказы о Ленине, писавшем свои труды в местах не столь отдаленных. Многие книги были написаны им молоком между строк. Чернильницей Ильичу служил хлебный мякиш — при малейшем подозрительном звуке будущий вождь мирового пролетариата мигом съедал свои стеганографические приспособления. Позднее исписанные молоком листы передавались на волю, а там нагревались над лампой и переписывались товарищами по партии. Впрочем, царская охранка тоже знала об этом методе (в ее архиве хранится документ, в котором описан способ использования симпатических чернил и приведен текст перехваченного тайного сообщения революционеров).
К середине 20-го века стеганография достигла значительных успехов, чему не мало поспособствовали Первая и Вторая мировые войны. Особенных успехов добились немцы, которые во время Второй мировой войны широко применяли «микроточки», представлявшие из себя микрофотографии размером с обычную типографскую точку. При увеличении «микроточка» давала четкое изображение печатной страницы стандартного размера. Такая точка или несколько точек вклеивались в обыкновенное письмо, и, помимо сложности обнаружения, обладали способностью передавать большие объемы информации, включая чертежи и рисунки.
Сам метод был придуман намного раньше, почти сразу после изобретения принципа фотографической печати. Микроточки появились сразу же после изобретения Дагером фотографического процесса, и впервые в военном деле были использованы во времена франко-прусской войны (в 1870 году), но широкого применения до Второй мировой войны этот метод не имел. Но во время Второй мировой войны этот метод претерпел второе рождение и успех его был весьма заметным. Американцы, впечатленные достижениями своего противника в стеганографии, после войны запретили даже такие относительно невинные операции, как пересылку посредством почты записей шахматных партий, инструкций по вязанию (!) и даже детских рисунков, как наиболее простых с точки зрения стеганографа объектов для встраивания шпионских сообщений. Сегодня, конечно, подобные запреты неактуальны: любой шпион может послать e-mail, предварительно зашифровав его с помощью DES, к примеру.
Тем не менее, на практике, стеганография давно и широко использовалась разведками всех стран. Успех разведчика, да и сама его жизнь, зависят от умения остаться незамеченным. Поэтому шифр — это язык разведчиков всех стран. Именно они обычно вынуждены вести свои разговоры «шепотом». Они используют коды, имеющие вид обычных открытых текстов, невидимые чернила, послания микроскопически малых размеров, т.е. Стеганографические методы, которые скрывают сам факт отправки какого-либо сообщения.
После нападения Японии Соединенные Штаты создали орган цензуры, насчитывающий около 15 тысяч сотрудников, которые проверяли ежедневно до миллиона писем, прослушивали бесчисленное множество телефонных разговоров, просматривали кинофильмы, газеты, журналы.
Чтобы перекрыть максимальное число стеганографических каналов связи, американская цензура категорически запретила отправление по почте целого ряда сообщений. Были отменены шахматные матчи по переписке. Из писем вымарывались кроссворды, т. к. у цензоров не хватало времени решать их, чтобы проверить, не содержат ли они тайные послания. Не разрешалось посылать по почте табели успеваемости учащихся, вырезки из газет, детские рисунки, инструкции по вязанию и шитью. Одно письмо с инструкциями по вязанию было задержано до тех пор, пока цензор не связал по ним свитер, чтобы проверить, не содержат ли они какой-либо скрытой информации.
Распространение стеганографии во время войны и тотальная шпиономания вызвали появление многих цензурных ограничений, которые сегодня могут вызвать лишь улыбку. Запрещалось посылать телеграммы с указанием доставить определенный сорт цветов к определенной дате, а впоследствии американским и английским правительствами были запрещены вообще все международные телеграммы, касающиеся доставки и заказа цветов. Как обстояли дела с международной почтой в СССР, рассказывать, думаю, не надо.
Ориентирующими примерами данных методик (оставив в стороне возможности, даваемые электроникой) могут служить:
– запись наколом букв в конкретном месте некой книги или газеты (концы слов отмечаются при этом наколом между буквами);
– сообщение каких-то данных (набор товаров, оптовые цены) в определенном порядке;
– письмо посредством узелков, где каждая из букв кодируется размером в сантиметрах (А-1 см, Б-2 см...) или в диаметрах мизинца и отмечается отдельным узелком на нитке или на обвязывающем сверток шпагате; читают текст, наматывая нитку на палец;
– запись на боковой поверхности колоды карт, подобранных в конкретном порядке (колода после этого тасуется);
– записи на оборотной стороне этикеток флаконов, банок или бутылок; G текст под наклеенной почтовой маркой;
– запись на внутренней поверхности спичечной коробки, которая для этого разламывается, а после склеивается по новой;
– запись внутри вареного яйца (берут смесь квасцов, чернил и уксуса, записывают ею то, что необходимо на скорлупе обычного яйца, которое потом выдерживают в крепком рассоле или уксусе, чтобы стравить следы с его поверхности; яйцо затем варят вкрутую, причем весь текст оказывается сверху белка под скорлупой);
– использование «испорченной» пишущей машинки, в которой некоторые буквы ставятся выше или ниже строки (учитывают здесь порядок и число этих букв, а также промежутки их появления; в коде возможен вариант азбуки Морзе); Q записи от руки нот в нотной тетради (ноты имеют здесь значение по азбуке Морзе или иному коду);
– записи в виде кардиограммы или же графика некого технологического процесса (здесь, при использовании азбуки Морзе, пики повыше означают, скажем, точки, а те, что ниже, — тире, черточки между зубцами сообщают о разделе между буквами, разрывы линии фиксируют конец слова);
– записи лишь в вертикальных столбцах цельно заполненного кроссворда (горизонтальные строки при этом заполняются произвольно, само же сообщение может быть либо прямым, либо кодированным);
– записи по трафарету, при этом на лист почтовой бумаги накладывают трафарет с вырезанными в нем окошками, следуя по которым и вписывают истинное сообщение; все остальное пространство здесь тщательно заполняется «пустым» содержанием, так, впрочем, чтобы слова подлинной информации четко входили в текст ясного маскировочного послания;
– шифр «Аве Мария», в кодовом варианте которого каждому слову, а порой и фразе, ставятся в соответствие несколько слов явной религиозной тематики, так что передаваемое сообщение выглядит как специфический текст духовного содержания.
Развитие компьютерной технологии и средств коммуникации сделали бесполезными подобные ограничения. Сегодня каждый может воспользоваться теми преимуществами, которые дает стеганография как в области скрытой передачи информации, что особенно полезно в странах, где существует запрет на стойкие средства криптографии, так и в области защиты авторских прав.
Сильным толчком к развитию стеганографии послужило то, что в большинстве стран на криптографию накладываются определенные ограничения: так, например, требуется передача ключей от используемых систем шифрования государству. Обязательна также регистрация и лицензирование криптографических систем независимо от того, являются они аппаратными или программными средствами. Стеганография — это тот метод, который не попадает под действие указанных ограничений, являясь при этом эффективным способом сокрытия данных.
Возродилась старая идея использования микроточки, выполняемая теперь с помощью компьютера. Кто заподозрит, что в электронном документе, отправленном, скажем, через Internet, одна из точек вовсе не точка, а скрытое сообщение? А вот получатель документа с помощью специальных программных средств как бы увеличит компьютерную микроточку и сможет прочесть скрытую информацию.
Скрытие сообщений с помощью микроточек эффективно, если противник не знает, как именно это сделано. Поэтому разработка программного обеспечения для автоматического «наклеивания» и «увеличения» микроточек выполняется по индивидуальным заказам.
В марте 2000 года 17-летняя американская школьница Вивиана Риска создала алгоритм, который может «прятать» сообщение в генную последовательность молекулы ДНК. На конкурсе молодых ученых компании Intel Science Talent Search (этот смотр молодых талантов называют «Нобелевской премией для молодежи») она продемонстрировала технологию внедрения компьютерных сообщений в генную последовательность молекулы ДНК. Пробным сообщением, шифровку которого девушка продемонстрировала жюри конкурса, была фраза «Вторжение 6-го июля: Нормандия».
Еще одной областью использования стеганографии является защита авторского права от пиратства. На компьютерные графические изображения наносится специальная метка, которая остается невидимой для глаз, но распознается специальным программным обеспечением. Такое программное обеспечение уже используется в компьютерных версиях некоторых журналов. Данное направление стеганографии предназначено не только для обработки изображений, но и для файлов с аудио- и видеоинформацией и призвано обеспечить защиту интеллектуальной собственности.
За время своего существования человечество изобрело большое число способов секретного письма, многие из них были известны еще в древности. Как мы уже говорили, в некоторых способах тайного письма используются физические особенности носителей информации. Это очень интересная тема, однако она является предметом изучения физики и химии, и никакого отношения к теории информации не имеет. Для массового практического применения гораздо больший интерес представляют методы защиты данных, которые опираются исключительно на свойства самих данных и никак не связаны с особенностями их физического представления. Образно говоря, при использовании методов данного типа барьер между собственно сообщением и злоумышленником, желающим его прочитать или исказить, возводится исключительно из самой информации. Речь в дальнейшем пойдет только о таких способах защиты. Мы остановимся на рассмотрении современного и сравнительно нового направления этой сферы человеческой деятельности — компьютерной стеганографии.
Принципы построения компьютерной стеганографии
Стеганография занимает свою нишу в обеспечении безопасности: она не заменяет, а дополняет криптографию, защищая информацию от злоумышленников. Сокрытие сообщения методами стеганографии значительно снижает вероятность обнаружения самого факта передачи сообщения. А если это сообщение к тому же зашифровано, то оно имеет еще один, дополнительный, уровень защиты.
Стеганография бывает полезна, когда необходимо не просто передать секретное сообщение, а секретно передать секретное сообщение, то есть скрыть сам факт передачи секретного сообщения. Такой способ ведения тайной коммуникации, однако, имеет ряд недостатков:
О трудно обосновать его стойкость — вдруг злоумышленникам станет известен способ «подмешивания» секретных данных к «болванке» — массиву открытых данных; О при его использовании объем передаваемых или хранимых данных может увеличиваться, что отрицательно сказывается на производительности систем их обработки. В зависимости от способа засекречивания передаваемых сообщений, а именно прячется ли секретное сообщение или оно просто делается недоступным для всех, кроме получателя, можно выделить два класса засекречивания данных — стеганографию и шифрование.
Если рассматривать информацию отдельно от ее материального представления, а именно так мы и будем ее рассматривать, то возникает вопрос — где же информацию можно спрятать? Ответ однозначен: только в еще большем массиве информации — как иголку в стоге сена. В этом и заключается принцип действия стеганографии, т.е. стеганография предполагает, что передаваемый текст «растворяется» в сообщении большего размера с совершенно «посторонним» смыслом. Но если взять и извлечь из него некоторые символы по определенному закону, например, — каждый второй, третий, и т.д., то получим вполне конкретное тайное сообщение.
Компьютерная стеганография (стеганографические программные продукты) базируется на двух основных принципах:
– файлы, содержащие оцифрованное изображение или звук, могут быть до некоторой степени видоизменены без потери своей функциональности, в отличие от других типов данных, требующих абсолютной точности;
– органы чувств человека неспособны различить незначительные изменения в цвете изображения или в качестве звука.
Например, мы отправляем нашему корреспонденту по электронной почте файл с растровой черно-белой картинкой, в котором наименее значащий бит в коде яркости каждой точки изображения будет элементом нашего тайного сообщения. Получатель письма извлечет все такие биты и составит из них «истинное» сообщение. Картинка, присутствующая здесь только для отвода глаз, так и останется для непосвященных простой картинкой.
По аналогии с криптографической системой введем понятие стеганографической системы или, как ее еще называют более сокращенно, стегосистемы.
Стеганографическая система, или стегосистема, — это совокупность средств и методов, которые используются для формирования скрытого канала передачи информации. Модель обобщенной стегосистемы представлена на рис. 5.1.
При построении любой стегосистемы должны учитываться следующие положения:
– противник имеет полное представление о стеганографической системе, деталях ее реализации, и единственной информацией, которая остается неизвестной потенциальному противнику, является ключ, с помощью которого только его держатель может установить факт присутствия и содержание скрытого сообщения;
– если противник каким-то образом узнает о факте существования скрытого сообщения, это не должно позволить ему извлечь подобные сообщения в других данных до тех пор* пока ключ хранится в тайне;
– потенциальный противник должен быть лишен каких-либо технических и иных преимуществ в распознавании или раскрытии содержания тайных сообщений.
В стегосистеме в качестве данных может использоваться любая информация: текст, сообщение, изображение и т. п. В общем же случае, для обозначения скрываемой информации, целесообразно использовать слово «сообщение», так как сообщением может быть как текст или изображение, так и, например, аудио данные. В современной компьютерной стеганографии существует два основных типа файлов: сообщение — файл, который предназначен для скрытия, и контейнер — файл, который может быть использован для скрытия в нем сообщения.
Сообщение, которое необходимо передать отправителю, с помощью специального программного обеспечения встраивается в контейнер. Контейнер — любая информация, предназначенная для сокрытия тайных сообщений. Данные контейнера должны быть достаточно шумными, чтобы небольшое изменение в их беспорядочности не могло быть заметным. Биты контейнера, хотя и являются шумом сточки зрения точности измерений, могут иметь некоторые специальные статистические характеристики. Предполагается, что кодирование тайного сообщения должно воспроизводить характеристики шума контейнера. Цель труднодостижимая, но реальная. Поэтому выбор контейнера оказывает существенное влияние на надежность всей стегосистемы и возможностьобнаружения факта передачи скрытого сообщения. Например, опытный глаз цензора с художественным образованием легко обнаружит изменение цветовой гаммы при внедрении сообщения в репродукцию «Мадонны» Рафаэля или «Черного квадрата» Малевича.
Возможны следующие варианты контейнеров:
– контейнер генерируется самой стегосистемой;
– контейнер выбирается из некоторого множества контейнеров;
– контейнер поступает извне;
– контейнер, получаемый с помощью моделирования шумовых характеристик.
Примером генерации контейнера самой стегосистемой может служить программа MandelSteg,>B которой в качестве контейнера для встраивания сообщения генерируется фрактал Мандельброта. Такой подход получения стегосообщения можно назвать конструирующей стеганографией.
Если используется выборка контейнера из некоторого множества, то в этом случае первоначально генерируется большое число альтернативных контейнеров, чтобы затем выбрать наиболее подходящий для сокрытия сообщения. Такой подход к выбору контейнера называют селектирующей стеганографией. В данном случае при выборе оптимального контейнера из множества сгенерированных важнейшим требованием является естественность контейнера. Единственной же проблемой остается то, что даже оптимально организованный контейнер позволяет спрятать незначительное количество данных при очень большом объеме самого контейнера.
В случае, когда контейнер поступает извне, отсутствует возможность выбора контейнера и для сокрытия сообщения берется первый попавшийся контейнер, не всегда подходящий к встраиваемому сообщению. Такой подход называется безальтернативной стеганографией.
Следующий шаг — моделирование характеристик шума контейнера. Подражательная функция должна быть построена так, чтобы не только кодировать секретное сообщение, но и придерживаться модели первоначального шума. В предельном случае целое сообщение конструируется в соответствии с моделью шума. Такой подход называют конструирующей стеганографией, и он также имеет много недостатков. Его трудно совместить с сильным алгоритмом шифрования, да и моделирование шума или компонентов ошибок в данных — занятие не из легких. Формирование модели требует значительных усилий, творческой работы над каждым каналом связи или контейнером.
Поскольку попытки подражания первоначальному шуму либо ведут к сомнительной безопасности или к слишком малому диапазону рабочих частот для большинства практических применений, наиболее привлекательной остается следующая базовая процедура.
Выбирается класс достаточно шумных контейнеров и идентифицируются биты шума. Затем определяется, какую порцию шумовых битов контейнера можно заменить псевдослучайными данными без значительного изменения его статистических характеристик. Так, если контейнер представляет собой цифровую фотографию, нас должны интересовать младшие биты градаций серой шкалы или RGB-значений при цветном изображении, либо коэффициенты Фурье в JPEG-формате изображении. Изменяя в среднем, допустим, только 100-й пиксель изображения, в одном мегабайте несжатого изображения можно спрятать примерно один килобайт тайных данных.
Для дополнительной безопасности и придания тайному сообщению вида случайных данных оно должно быть зашифровано сильным криптоалгоритмом. Замена псевдослучайными битами некоторых наиболее шумных битов контейнера только немного увеличит уровень шума сообщения, Включение открытого текста в контейнер может заметно изменить его статистические характеристики. Более того, последовательность скрывающих битов должна выбираться псевдослучайным способом как функция секретного ключа. Иначе противник, имеющий алгоритм, без труда вскроет контейнер.
Но и шифрование с ключом не освобождает от проблем. Если скрывающие биты в подозреваемом сообщении имеют некоторые статистические отклонения от других аналогичных сообщений, то противник получит все основания для вывода, что оно содержит скрытые данные. Тогда путем дополнительного зашумления он может исказить сообщение и этим фактически его уничтожить.
По протяженности контейнеры можно подразделить на два типа:
– непрерывные (потоковые);
– ограниченной (фиксированной) длины.
Они представляют собой или поток непрерывных данных, подобно цифровой телефонной связи, или файл, подобный растровому изображению.
Особенностью потокового контейнера является то, что невозможно определить его начало или конец. Более того, нет возможности узнать заранее, какими будут последующие шумовые биты, что приводит к необходимости включать скрывающие сообщение биты в поток в реальном масштабе времени, а сами скрывающие биты выбираются с помощью специального генератора, задающего расстояние между последовательными битами в потоке. Такой способ называют произвольно-интервальным методом. Следует заметить, что в достаточно длинном контейнере можно скрывать несколько сообщений.
В непрерывном потоке данных самая большая трудность для получателя заключается в определении момента, когда же начинается скрытое сообщение. В простом случае, если поток данных имеет конечную длину и часто вновь открывается, тайное сообщение может начинаться при открытии сеанса. При наличии в потоковом контейнере сигналов синхронизации или границ пакета скрытое сообщение начинается сразу же после одного из них. В свою очередь, для отправителя возможны проблемы, если он не уверен в том, что поток контейнера будет достаточно долгим для размещения целого тайного сообщения.
При использовании контейнеров фиксированной длины, которые свободны от недостатков потоковых контейнеров, отправитель заранее знает размер файла и может выбрать скрывающие биты в подходящей псевдослучайной последовательности. Поскольку контейнер известен заранее, есть время оценить его эффективность применительно к выбранному алгоритму сокрытия информации. С другой стороны, контейнеры фиксированной длины имеют ограниченный объем и иногда встраиваемое сообщение может не поместиться в файл-контейнер.
Другой недостаток заключается в том, что расстояния между скрывающими битами равномерно распределены между наиболее коротким и наиболее длинным заданными расстояниями, в то время как истинный случайный шум будет иметь экспоненциальное распределение длин интервала. Конечно, можно породить псевдослучайные экспоненциально распределенные числа, но этот путь обычно слишком трудоемок. Однако на практике чаще всего используются именно контейнеры фиксированной длины, как наиболее распространенные и доступные.
Для большинства современных методов, используемых для сокрытия сообщения в цифровых контейнерах, имеет место зависимость надежности системы от объема встраиваемых сообщений, представленная на рис. 5.2.
Данная зависимость показывает, что при увеличении объема встраиваемых сообщений снижается надежность системы (при неизменности размера контейнера). Таким образом, используемый в стегосистеме контейнер накладывает ограничения на размер встраиваемых данных.
В любом случае контейнер без встроенного сообщения — это пустой контейнер, а контейнер, содержащий встроенную информацию, — это заполненный или стегоконтейнер.
Встроенное (скрытое) сообщение, находящееся в стегоконтейнере, передается от отправителя к получателю по каналу передачи, который называется стеганографическим каналом или просто стегоканалом.
Встраивание сообщений в контейнер происходит с использованием специального стегоключа. Под ключом понимается секретный элемент, который определяет порядок занесения сообщения в контейнер.
По аналогии с криптографией, по типу стегоключа все стегосистемы можно подразделить на два типа:
– с секретным ключом;
– с открытым ключом.
В стегосистеме с секретным ключом используется один ключ, который должен быть определен либо до начала обмена секретными сообщениями, либо передан по защищенному каналу.
В стегосистеме с открытым ключом для встраивания и извлечения сообщения используются разные ключи, которые различаются таким образом, что с помощью вычислений невозможно вывести один ключ из другого. Поэтому один ключ (открытый) может передаваться свободно по незащищенному каналу связи. Кроме того, данная схема хорошо работает и при взаимном недоверии отправителя и получателя.
В зависимости от количества уровней защиты информации (например, встраивание предварительно зашифрованного сообщения) в стегосистеме может быть один или несколько стегоключей.
Любая используемая стегосистема должна отвечать следующим требованиям:
– свойства контейнера должны быть модифицированы, чтобы изменение невозможно было выявить при визуальном контроле;
– стегосообщение должно быть устойчиво к искажениям, в том числе и злонамеренным;
– для сохранения целостности встраиваемого сообщения необходимо использование кода с исправлением ошибок;
– для повышения надежности встраиваемое сообщение должно быть продублировано.
Модификация свойств контейнера определяет качество сокрытия внедряемого сообщения: для обеспечения беспрепятственного прохождения стегосообщения по каналу связи оно никоим образом не должно привлечь внимание атакующего.
В ходе процесса передачи сообщение (звук или другой контейнер) может претерпевать различные трансформации: уменьшаться или увеличиваться, преобразовываться в другой формат и т. д. Кроме того, оно может быть сжато, в том числе и с использованием алгоритмов сжатия с потерей данных. Именно поэтому стегосообщение должно быть устойчивым к такого рода искажениям.
Для повышения целостности и надежности передачи стегосообщения рекомедует-ся использовать коды, обнаруживающие и исправляющие ошибки, и передавать сообщение неоднократно, изменяя пути следования.
В настоящее время можно выделить (рис. 5.3) три, тесно связанных между собой и имеющих одни корни, направления приложения стеганографии:
– сокрытие данных (сообщений);
– цифровые водяные знаки;
– заголовки.
Сокрытие внедряемых данных, которые в большинстве случаев имеют большой объем, предъявляет серьезные требования к контейнеру. Размер контейнера в несколько раз должен превышать размер встраиваемых данных.
Цифровые водяные знаки используются для защиты авторских или имущественных прав на цифровые изображения, фотографии или другие оцифрованные произведения искусства. Основными требованиями, которые предъявляются к таким встроенным данным, являются надежность и устойчивость к искажениям:
Цифровые водяные знаки имеют небольшой объем, однако, с учетом указанных выше требований, для их встраивания используются более сложные методы, чем для встраивания просто сообщений или заголовков.
Заголовки используются, в основном, для маркирования изображений в больших электронных хранилищах (библиотеках) цифровых изображений, аудио- и видеофайлов. В данном случае стеганографические методы используются не только для внедрения идентифицирующего заголовка, но и иных индивидуальных признаков файла.
Внедряемые заголовки имеют небольшой объем, а предъявляемые к ним требования минимальны: заголовки должны вносить незначительные искажения и быть устойчивы к основным геометрическим преобразованиям.
Каждое из перечисленных выше приложений требует определенного соотношения между устойчивостью встроенного сообщения к внешним воздействиям (в том числе и стегоанализу) и размером самого встраиваемого сообщения.
Далее мы рассмотрим принципы и методы компьютерной стеганографии. Как и любой инструментарий, стеганографические методы требуют к себе серьезного внимания и осторожного обращения: они могут быть использованы как для целей защиты, так и для целей нападения.
Анализ путей практической реализации компьютерной стеганографии
Напомним, что стеганография является наукой, обеспечивающей обмен информацией таким образом, что скрывается сам факт существования секретной связи. Она не заменяет криптографию (шифрование данных), а дополняет ее еще одним уровнем безопасности. Как мы уже говорили, при обработке данных стеганографическими методами происходит скрытие передаваемой информации в других объектах (файлах, дисках и т. п.) таким образом, чтобы постороннее лицо не могло догадаться о существовании скрытого секретного сообщения. При этом обнаружить такое сообщение довольно сложно, но если это и произойдет, то сообщение может быть к тому же еще и надежно зашифровано. При реализации методов стеганографии на компьютере (компьютерная стеганография) определяющим фактором является выбор способа кодирования данных.
Современный прогресс в области глобальных компьютерных сетей и средств мультимедиа привел к разработке новых методов, предназначенных для обеспечения безопасности передачи данных по каналам телекоммуникаций. Эти методы, учитывая естественные неточности устройств оцифровки и избыточность аналогового видео или аудиосигнала, позволяют скрывать сообщения в компьютерных файлах (контейнерах). Причем, в отличие от криптографии, данные методы скрывают сам факт передачи информации. Компьютерные технологии придали новый импульс развитию и совершенствованию стеганографии, и на свет появилось новое направление в области защиты информации — компьютерная стеганография.
Анализ тенденций развития компьютерной стеганографии показывает, что в ближайшие годы интерес к развитию ее методов будет усиливаться все больше и больше. Предпосылки к этому уже сформировались сегодня. В частности, общеизвестно, что актуальность проблемы информационной безопасности постоянно растет и стимулирует поиск новых методов защиты информации. С другой стороны, бурное развитие информационных технологий обеспечивает возможность реализации этих новых методов защиты информации. И, конечно, сильным катализатором этого процесса является развитие глобальной компьютерной сети общего пользования Internet, а .также такие нерешенные противоречивые проблемы Internet, как защита авторского права, защита прав на личную тайну, организация электронной торговли, противоправная деятельность хакеров, террористов и т.п.
В настоящее время весьма характерной тенденцией в области защиты информации является внедрение криптологических методов. Однако на этом пути много еще нерешенных проблем, связанных с разрушительным воздействием на криптосредства таких составляющих информационного оружия, как компьютерные вирусы, логические бомбы, различного вида криптоатаки и т. п. Объединение методов компьютерной стеганографии и криптографии является хорошим выходом из создавшегося положения. В этом случае возможно устранить слабые стороны известных методов защиты информации и разработать новые более эффективные нетрадиционные методы обеспечения информационной безопасности.
Несмотря на то, что стеганография как способ сокрытия секретных данных известна уже на протяжении тысячелетий, компьютерная стеганография — молодое и развивающееся направление. Как и любое новое направление, компьютерная стеганография, несмотря на большое количество открытых публикаций и ежегодные конференции, долгое время не имела единой терминологии.
До недавнего времени для описания модели стеганографической системы использовалась предложенная 1983 году Симмонсом так называемая «проблема заключенных». Она состоит в том, что два индивидуума хотят обмениваться секретными сообщениями без вмешательства охранника, контролирующего коммуникационный канал. При этом имеется ряд допущений, которые делают эту проблему более или менее решаемой. Первое допущение облегчает решение проблемы и состоит в том, что участники информационного обмена могут разделять секретное сообщение (например, используя кодовую клавишу) перед заключением. Другое допущение, наоборот, затрудняет решение проблемы, так как охранник имеет право не только читать сообщения, но и модифицировать (изменять) их. Позднее, на конференции Information Hiding: First Information Workshop в 1996 году было предложено использовать новую единую терминологию и обговорены основные термины.
В настоящее время все более актуальной становится проблема обеспечения безопасности связи, под которой можно понимать использование специальных средств, методов и мероприятий с целью предотвращения потери, хищения, копирования и искажения передаваемой конфиденциальной информации. Причем, меры безопасности могут быть направлены как на предотвращение несанкционированного съема защищаемой информации, так и на сокрытие самого факта ее передачи путем использования стандартных технических средств, обычных протоколов информационного обмена и общедоступных каналов связи.
Особую популярность в последнее время получила часть стеганографии, которая использует для сокрытия конфиденциальных сообщений графические изображения, передаваемые по вычислительным сетям. Однако по целому ряду причин, в первую очередь из-за уже достаточной распространенности, невысокой оперативности и информационной эффективности, некоторой сложности процессов обработки, синхронизации и закладки-выкладки полезной информации в изображения-контейнеры, такой вид сокрытия передаваемых конфиденциальных данных не всегда удобен в практической деятельности служб защиты информации предприятий и учреждений.
В связи с возрастанием роли глобальных компьютерных сетей становится все более важным значение стеганографии. Анализ информационных источников компьютерной сети Internet позволяет сделать вывод, что в настоящее время стеганографические системы активно используются для решения следующих основных задач:
– защита конфиденциальной информации от несанкционированного доступа;
– преодоление систем мониторинга и управления сетевыми ресурсами;
– камуфлирования программного обеспечения;
– защита авторского права на некоторые виды интеллектуальной собственности.
Остановимся подробнее на каждой из перечисленных задач.
Защита конфиденциальной информации от несанкционированного доступа с использованием компьютерной стеганографии является наиболее эффективным применением при решении проблемы защиты конфиденциальной информации. Так, например, только одна секунда оцифрованного звука с частотой дискретизации 44100 Гц и уровнем отсчета 8 бит в стереорежиме позволяет скрыть за счет замены наименее значимых младших разрядов на скрываемое сообщение около 10 Кбайт информации. При этом изменение значений отсчетов составляет менее 1% и оно практически не обнаруживается при прослушивании измененного файла большинством людей.
Стеганографические методы, направленные на противодействие системам мониторинга и управления сетевыми ресурсами промышленного шпионажа, позволяют противостоять попыткам контроля над информационным пространством при прохождении информации через серверы управления локальных и глобальных вычислительных сетей.
Другой важной задачей стеганографии является камуфлирование программного обеспечения. В тех случаях, когда использование программного обеспечения незарегистрированными пользователями является нежелательным, оно может быть закамуфлировано под стандартные универсальные программные продукты (например, текстовые редакторы) или скрыто в файлах мультимедиа (например, в звуковом сопровождении компьютерных игр).
При защите авторских прав с использованием стеганографии одним из наиболее перспективных направлений ее развития являются цифровые водяные знаки (digital watermarking). Создание невидимых глазу водяных знаков используется для защиты авторских прав на графические и аудиофайлы. Такие цифровые водяные знаки, помещенные в файл, могут быть распознаны только специальными программами, которые извлекут из файла много полезной информации: когда создан файл, кто владеет авторскими правами, как вступить в контакт с автором. При том повальном воровстве, которое происходит в Internet, польза этой технологии очевидна.
Основными положениями современной компьютерной стеганографии являются следующие:
– методы скрытия должны обеспечивать аутентичность и целостность файла;
– предполагается, что противнику полностью известны возможные стеганографи-ческие методы;
– безопасность методов основывается на сохранении стеганографическим преобразованием основных свойств открыто передаваемого файла при внесении в него секретного сообщения и некоторой неизвестной противнику информации — ключа;
– даже если факт скрытия сообщения стал известен противнику через сообщника, извлечение самого секретного сообщения представляет сложную вычислительную задачу.
Методы компьютерной стеганографии
В настоящее время существует достаточно много различных компьютерных методов (и их вариантов) встраивания сообщений. Сегодня методы компьютерной стеганографии (рис. 5.4) развиваются по двум основным направлениям:
– методы, основанные на использовании специальных свойств компьютерных форматов;
– методы, основанные на избыточности аудио- и визуальной информации.
Сравнительные характеристики существующих стеганографических методов приведены в табл. 5.1. Как видно из этой таблицы, первое направление основано на использовании специальных свойств компьютерных форматов представления данных, а не на избыточности самих данных. Специальные свойства форматов выбираются с учетом защиты скрываемого сообщения от непосредственного прослушивания, просмотра или прочтения.
Таблица 5.1 . Сравнительные характеристики компьютерных стеганографических методов
Компьютерные стеганографические методы
Методы использования специальных свойств компьютерных форматов данных
Наименование
Методы использования зарезервированных для расширения полей компьютерных форматов данных
Методы специального форматирования текстовых файлов:
Методы использования известного смешения слов, предложений, абзацев
Методы выбора определенных позиций букв (нулевой шифр)
Методы использования специальных свойств полей форматов, не отображаемых на экране
Краткая характеристика
Поля расширения имеются во многих мультимедийных форматах, они заполняются нулевой информацией и не учитываются программой
Методы основаны на изменении положения строк и расстановки слов в предложении, что обеспечивается вставкой дополнительных пробелов между словами
Акростих — частный случай этого метода (например, начальные буквы каждой строки образуют сообщение)
Методы основаны на использовании специальных «невидимых», скрытых полей для организации сносок и ссылок (например, использование черного шрифта на черном фоне)
Недостатки
Низкая степень скрытности, передача небольших ограниченных объемов информации
Слабая производительность метода, передача небольших объемов информации. Низкая степень скрытности
Преимущества
Простота использования
Простота использования. Имеется опубликованное программное обеспечение реализации данного метода
Методы использования избыточности аудио— и визуальной информации
Методы скрытия в неиспользуемых местах гибких дисков
Методы использования имитирующих функций (mimic— function)
Методы удаления идентифицирующего файл заголовка
Методы использования избыточности цифровой фотографии и цифрового видео
Методы использования избыточности цифрового звука
Информация записывается в обычно неиспользуемых местах ГМД (например, в нулевой дорожке)
Метод основан на генерации текстов и является обобщением акростиха. Для тайного сообщения генерируется осмысленный текст, скрывающий само сообщение
Скрываемое сообщение шифруется и у результата удаляется идентифицирующий заголовок, оставляя только шифрованные данные. Получатель заранее знает о передаче сообщения и имеет недостающий заголовок
Младшие разряды цифровых отсчетов содержат очень мало полезной информации. Их заполнение дополнительной информацией практически не влияет на качество восприятия, что и дает возможность скрытия конфиденциальной информации
Слабая производительность метода, передача небольших объемов информации. Низкая степень скрытности
Слабая производительность метода, передача небольших объемов информации. Низкая степень скрытности
Проблема скрытия решается только частично. Необходимо заранее передать часть информации получателю
За счет введения дополнительной информации искажаются статистические характеристики цифровых потоков. Для снижения компрометирующих признаков требуется коррекция статистических характеристик
Простота использования. Имеется опубликованное программное обеспечение реализации данного метода
Результирующий текст не является подозрительным для систем мониторинга сети
Простота реализации. Многие средства (White Noise Stonn, S-Toob), обес печивают реализа цию этого метода с PGP шифроалгоритмом -
Возможность скрытой передачи большого объема информации.
Возможность защиты авторского права скрытого изображения товарной марки, регистрационных номеров и т. п.
Второе направление использования стеганографии в компьютерных системах основано на использовании избыточности аудио и визуальной информации. Цифровые фотографии, цифровая музыка, цифровое видео — представляются матрицами чисел, которые кодируют интенсивность сигналов в дискретные моменты в пространстве и/ или во времени. Цифровая фотография — это матрица чисел, представляющих интенсивность света в определенный момент времени. Цифровой звук — это матрица чисел, представляющая интенсивность звукового сигнала в последовательно идущие моменты времени.
Все эти числа не точны, т. к. не точны устройства оцифровки аналоговых сигналов. Погрешность измерений последних зависит от суммы погрешностей блока преобразований и датчика, преобразующего физическую характеристику сигнала в электрический сигнал. Эти погрешности измерений обычно выражаются в процентах или в количестве младших значащих разрядов и называются шумами квантования. Младшие разряды цифровых отсчетов содержат очень мало полезной информации о текущих параметрах звука и визуального образа, что позволяет использовать их для сокрытия дополнительной информации.
Например, графические цветные файлы со схемой смешения RGB кодируют каждую точку рисунка тремя байтами (по одному для каждого из цветов). Поэтому каждая такая точка состоит из составляющих: красного, зеленого, синего цветов соответственно. Изменение каждого из трех наименее значимых бит приводит к изменению шится. Если изменения происходят не в каждом отсчете, то объем передаваемых данных уменьшается, но снижается вероятность их обнаружения.
При использовании компьютерной стеганографии придерживаются следующих принципов:
– в качестве носителя скрытой информации должен выступать объект (файл), допускающий искажения собственной информации, не нарушающие его функциональность и суть;
– внесенные искажения должны быть ниже уровня чувствительности средств распознавания.
Первый заключается в том, что файлы, содержащие оцифрованное изображение или звук, могут быть до некоторой степени видоизменены без потери функциональности, в отличие от других типов данных, требующих абсолютной точности.
Второй фактор состоит в неспособности органов чувств человека различить незначительные изменения в цвете изображения или качестве звука, что особенно легко использовать применительно к объекту, несущему избыточную информацию, будь то 16-битный звук, 8-битное или еще лучше 24-битное изображение. Если речь идет об изображении, то изменение значений наименее важных битов, отвечающих за цвет пиксела, не приводит к заметному для человеческого глаза изменению цвета.
Если речь идет о звуке, то, как видно из рис. 5.5, в этом случае учитывается так называемое окно слышимости человека. Из рисунка видно, что не все звуковые частоты органы слуха человека воспринимают одинаково. Верхняя граница окна соответствует оглушительному звуку, соседствующему с болевым ощущением. Нижняя граница определяется порогом слышимости. Кроме того, человек практически не может однозначно регистрировать на слух изменения интенсивности звука, если она изменяется очень и очень незначительно.
Стеганографические алгоритмы обработки звука строятся с таким расчетом, чтобы максимально использовать окно слышимости и другие свойства речевых сигналов (тембр, скорость и т.д.), незначительные изменения которых не слышны человеку.
Особенности скрытой передачи аудиоинформации
Особенности психоакустики восприятия человеком звуковых колебаний позволяют скрытно передавать информацию через речевое сообщение. Среди всех известных психоакустических эффектов наиболее предпочтительным для решения этой задачи является эффект маскировки. Суть этого эффекта сводится к следующему. Более интенсивные речевые отрезки делают неслышимыми сигналы, появившиеся до них («маскировка вперед») и после них («маскировка назад»). Временной диапазон маскировки вперед простирается до 20 мс, а назад — до 150 мс. Кроме того, существует и частотная маскировка, когда в момент появления более интенсивного низко-частотного сигнала становится неслышным более высокочастотный сигнал меньшей амплитуды. Необходимо отметить, что подъем высоких частот уменьшает диапазон частотной маскировки.
Маскировка вперед в речевом сигнале наиболее отчетливо проявляется на открытых взрывных слогах, средняя вероятность появления которых в русской речи составляет 0,18. Средняя длительность открытого взрывного слога составляет около 120 мс, что означает, что на одну секунду речи дополнительное кодирование с помощью маскировки назад в среднем может занять временной интервал длительностью всего 3,6 мс. Количество квантов скрытой информации на одну секунду речи равняется 0,9, т. е. за 1,1 секунду речи можно передать один квант длительностью 3,6 мс. Квант скрытой информации может быть синусоидальным сигналом длительностью 3,6 мс. Под квантом понимается некоторый блок, элемент данных, характеризующийся некоторым набором логических параметров — атрибутов, таких как формат, длина, частота, амплитуда, фаза и т.д.
Маскировка назад в речевом сигнале может возникать в двух случаях.
Во-первых, в моменты прекращения фонации, т.е. выключения тонального источника. Здесь следует учесть особенности работы тонального источника в этот момент. Колебания голосовых связок происходят с уменьшением амплитуды и сужением спектра генерируемых колебаний вплоть до частоты основного тона. Таким образом, в этот момент в речевом сигнале отсутствуют высокочастотные колебания. Квант скрытой информации может представлять собой широкополосный шумоподобный сигнал с убывающей по частоте спектральной энергетикой и с убывающей интенсивностью во времени. Известно, что вероятность появления гласных звуков в русской речи составляет 0,3, а с выключением фонации она уменьшается приблизительно в 3—4 раза. Средняя длительность прекращения фонации около 70 мс. Таким образом, на одну секунду речи можно передать до 7 мс скрытой информации. Этот механизм кодирования включает как маскировку назад, так и частотную маскировку. Поскольку фаза выключения тонального источника находится во временной зоне маскировки назад, то появляется возможность регулировать спад интенсивности, например по экспоненциальному или временному закону. Это дает еще дополнительных 7 мс для передачи скрытой информации и увеличивает количество квантов скрытой информации до 2 на одну секунду речи.
Во-вторых, при переходе от гласных звуков с низкой первой резонансной частотой [у, и, ы] к сонорным [л, м, н] происходит уменьшение амплитуды в два раза. Вероятность такого эффекта составляет 0,3, а вероятность появления таких слогов 0,024. Длительность маскировки назад в таком случае уменьшается до 30—50 мс, так что за одну секунду речи можно передать 0,5 мс скрытой информации. Количество квантов скрытой информации на одну секунду речи 0,1.
Перейдем к частотной маскировке. Этот механизм может работать практически всегда, когда работает тональный источник возбуждения речевого тракта. Кванты кодируемого сообщения могут представлять собой дополнительные более высокочастотные и менее интенсивные суммы синусоид, чем основные компоненты тонального речевого сигнала. Вероятность появления тональных отрезков в русской речи равна 0,7, следовательно, длительность кодируемого участка может равняться 500—600 мс на одну секунду речи, а количество квантов скрытой информации при средней длительности кванта 50 мс достигать 10—12.
Рассмотрим ограничения, связанные с ограниченными возможностями нашей слуховой системы, которые позволяют внедрять дополнительную скрытую информацию.
Первое ограничение связано с нечувствительностью нашей слуховой системы к провалам спектра в шумовом сигнале. Таким образом, используя режекторную фильтрацию, можно на звуках речевого сообщения, порожденных турбулентным источником, передавать дополнительную информацию. Эти частоты для звука [х] расположены в диапазоне частот ниже 800 Гц, для звука [ш] в диапазоне частот от 2 кГц до 4 кГц, а для звука [с] на частотах выше 5 кГц. Вероятность встретить перечисленные звуки в русской речи равна 0,08, так, что за одну секунду речи можно передать 80 мс скрытой информации и количество квантов скрытой информации составит 1,2 на одну секунду речи.
Второе ограничение связано с чувствительностью нашей слуховой системы к изменению значений ширин резонансов, возникающих в речевом тракте. Такая относительная чувствительность составляет 30%. Это означает, что речевой сигнал можно корректировать, изменяя добротности резонансов гласных звуков. В этом случае есть возможность внедрить до 200—300 мс скрытой информации на одну секунду речи с количеством квантов скрытой информации 2—3 за одну секунду речи.
Третье ограничение связано с возможностью регулирования речевого сигнала на интервалах вынужденных (моменты времени, когда ускорения воздушного потока, порожденные работой голосовых связок, максимальны) и свободных (когда влияние голосовых связок отсутствует) колебаний. Регулировать длительность этих интервалов нельзя, поскольку наше слуховое восприятие очень чувствительно к этим изменениям. Однако увеличить амплитуду на интервалах вынужденных колебаний можно. Но делать это надо очень аккуратно, корректируя диапазон изменения мгновенной частоты для каждого резонанса речевого тракта. Интервал вынужденных колебаний не превосходит половины периода низкочастотного резонанса в речевом тракте, т. е. частоту 300—600 Гц. С учетом частоты основного тона 100—200 Гц и длительности гласных звуков русской речи 200—300 мс на одну секунду речи (с учетом релаксационного режима колебаний голосовых связок с широким спектром гармоник), получаем общую длительность кодирования до 45 мс. Следует отметить, что этот вид кодирования является наиболее сложным для обнаружения с помощью современных методов анализа и распознавания речевых сигналов. Количество квантов скрытой информации при этом составит от 15 до 40 на одну секунду речи.
Перейдем к возможности внедрения специфических, не мешающих восприятию речевого сигнала, помех. В качестве таких сигналов могут рассматриваться возбуждения на дополнительных резонансных частотах. Возбуждения осуществляются импульсами тонального источника, выделенными из самого же исходного речевого сигнала. Этот механизм можно рекомендовать для тех интервалов, на которых порождаются гласные звуки. Новые резонансы не мешают пониманию исходного речевого сигнала и на слух воспринимаются как некоторое улучшение тембральности исходного речевого сообщения. Длительность таких аддитивных сигналов составляет 500—600 мс, а количество передаваемых квантов скрытого сообщения от 2 до 4 на одну секунду речи.
Таким образом, максимальная скорость передачи скрытой информации на речевом сигнале может быть 52,2 кванта за одну секунду. Самый простой способ кодирования — это режекция звуков, порожденных турбулентным источником, со скоростью передачи 1 квант в секунду. Самым трудным для обнаружения эффекта кодирования является метод коррекции речевого сигнала на временных участках вынужденных колебаний с минимальной скоростью передачи информации 12 квантов. Информационная емкость каждого кванта в среднем может составить 2 бита (примерно 4 состояния), так что максимальная скорость передачи информации может составить примерно 100 бит в секунду. Любопытно отметить, что и скорость передачи вербального компонента речевого сигнала составляет 50—100 бит в секунду.
Теоретически диапазон возможных методов стеганографии соизмерим с широтой человеческого воображения. Поэтому ограничимся лишь теми подходами к проблеме, которые уже получили распространение. На практике стеганографические системы, построенные по второму принципу, используются наиболее часто, несмотря на многие, присущие этому методу, недостатки. Наиболее простым и популярным в компьютерной стеганографии является так называемый метод, основанный на использовании младшего бита звуковых (и/или любых других мультимедийных) данных — LBS-метод (Least Significant Bits). Рассмотрим этот метод более подробно на примере использования звуковых сигналов.
Начнем с того, что львиная доля компьютерной информации «шумит». «Шумит» все то, что хранится, передается и обрабатывается. Далее кавычки убираем, так как это законный технический термин, указывающий на наличие ошибок в данных, помех в каналах связи и прочих случайных сигналов и знаков. Так как речевой сигнал записывается с микрофона, то в записи присутствует некоторый уровень шума, зависящий от качества микрофона, уровня внешних акустических помех и погрешностей устройств преобразования аналогового сигнала в цифровой.
Естественные шумы, которые содержат цифровые массивы аудиоданных, полученные стандартными способами преобразования из аналоговых акустических сигналов, являются ошибками квантования и не могут быть полностью устранены. Использование шумовых бит для передачи дополнительной конфиденциальной информации позволяет создавать скрытый канал передачи данных. В этом смысле здесь прослеживается некоторая аналогия с традиционными методами скрытия данных в изображениях. В качестве шумовых бит обычно рассматриваются младшие разряды значений отсчетов, которые являются шумом с точки зрения точности измерений и несут наименьшее количество информации, содержащейся в отсчете. Рассмотрим, как эти преобразования происходят.
Минимальной единицей хранения информации в компьютере, как известно, является бит. Любое значение — это совокупность битов. Именно из этих битов состоит «оцифрованный» аналоговый сигнал после преобразования с помощью аналогоцифрового преобразователя (АЦП). При использовании компьютера эти преобразования выполняются звуковой картой, разрядность которой существенно влияет на качество звука. В недавнем прошлом прямое указание на разрядность звуковой карты содержалось в ее названии в виде числа 16. Тем самым изготовители подчеркивали, что в их продукции качество цифрового звука как бы соответствует качеству звука лазерного проигрывателя, а не какой-нибудь там 8-битной карты. В дальнейшем 16 разрядов в АЦП стали нормой, а числа «32» или «64» в названиях стали означать совсем другое — максимальное количество одновременно звучащих голосов синтезатора звуковой карты (полифонию).
Некоторые высококачественные звуковые карты оборудованы 18-битными и даже 20-битными АЦП. Звуковые редакторы, работая с любыми звуковыми картами, в том числе и 16-битными, в процессе преобразований отсчетов сигнала используют арифметику с разрядностью двоичного представления числа, превышающей 16. Это позволяет уменьшить погрешность, накапливающуюся в процессе выполнения сложных алгоритмов обработки, которая в противном случае проявлялась бы как искажение звука.
Почему же столь важно наличие большого числа разрядов в устройствах АЦП? Дело заключается в том, что непрерывный (аналоговый) сигнал преобразуется в цифровой с некоторой погрешностью. Эта погрешность тем больше, чем меньше уровней квантования сигнала, т. е. чем дальше отстоят друг от друга допустимые значения квантованного сигнала. Число уровней квантования, в свою очередь, зависит от разрядности АЦП. Погрешности, возникающие в результате замены аналогового сигнала рядом квантованных по уровню отсчетов, можно рассматривать как его искажения, вызванные воздействием помехи. Эту помеху принято образно называть шумом квантования. Шум квантования (рис. 5.6) представляет собой разность соответствующих значений реального и квантованного по уровню сигналов.
Из рис. 5.6 видно, что в случае превышения сигналом значения самого верхнего уровня квантования («старшего» кванта), а также в случае, когда значение сигнала оказывается меньше нижнего уровня квантования («младшего» кванта), т. е. при ограничении сигнала, возникают искажения, более заметные по сравнению с шумом квантования. Для исключения искажений этого типа динамические диапазоны сигнала и АЦП должны соответствовать друг другу, иными словами, значения сигнала должны располагаться между уровнями, соответствующими младшему и старшему квантам.
Для нормированного сигнала относительная величина максимальной погрешности квантования равна Ш, §Ф§Х§Ц N ? §й§Ъ§г§Э§а §е§в§а§У§Я§Ц§Ы §Ь§У§С§Я§д-§а§У§С§Я§Ъ§с. §д§д§а§Ы §Ш§Ц §У§Ц§Э§Ъ§й§Ъ§Я§а§Ы, §б§в§Ц§Х§г§д§С§У§Э§-Ц§Я§Я§а§Ы §У §Э§а§Ф§С§в§Ъ§ж§Ю§Ъ§й§Ц§г§Ь§Ъ§з §Ц§Х§Ъ§Я§Ъ§и§С§з (§Х§Ц§и§Ъ§Т§Ц§Э§С§з), §а§и§Ц§Я§Ъ§У§С§Ц§д§г§с §e§lg(l/N). Для трехразрядного АЦП (см. рис. 5.6) N=8, ? = — 18 дБ; для восьмиразрядного — N=256, ? = — 48дБ; для шестнадцатиразрядного — N=65536, ? = — 96 дБ; для восемнадцатиразрядного АЦП N=262144, ? = — 108 дБ; и для двадцатиразрядного АЦП N= 1648576, ? = — 120 дБ. Эти цифры наглядно демонстрируют, что с ростом разрядности АЦП шум квантования уменьшается. Приемлемым считается 16-разрядное представление сигнала, являющееся в настоящее время стандартным для воспроизведения звука, записанного в цифровой форме. С точки зрения снижения уровня шумов квантования дальнейшее увеличение разрядности АЦП нецелесообразно, т. к. уровень шумов, возникших по другим причинам (тепловые шумы, а также импульсные помехи, генерируемые элементами схем компьютера и распространяющиеся либо по цепям питания, либо в виде электромагнитных волн), все равно оказывается значительно выше, чем — 96 дБ. Но и при использовании 16 разрядного АЦП изменение уровня сигнала, соответствующее младшему значащему разряду или даже двум-трем, практически не воспринимается человеком на слух. Кроме того, при «оцифровке» одного и того же звукового фрагмента с использованием одного и того же АЦП, мы каждый раз будем получать новый «цифровой» фрагмент, отличный от предыдущих хотя бы значением одного младшего разряда.
Однако увеличение разрядности АЦП обусловлено еще одним фактором — стремлением расширить его динамический диапазон. Поэтому динамический диапазон для 16-разрядного АЦП составляет 96 дБ, для 18-разрядного — 108 дБ, для 20-разрядного — 120 дБ. Иными словами, для записи звучания некоторого источника звука, динамический диапазон которого составляет 120 дБ, требуется двадцатиразрядный АЦП. Если такого нет, а имеется только шестнадцатиразрядный, то динамический диапазон звука должен быть сжат на 24 дБ (от 120 дБ до 96 дБ).
После того как мы немного разобрались с разрядностью звуковой карты, пришло время поговорить о частоте дискретизации. В процессе работы АЦП происходит не только квантование сигнала по уровню, но и его дискретизация во времени (рис. 5.7). Сигнал, непрерывно изменяющийся во времени, заменяют рядом отсчетов этого сигнала. Обычно отсчеты сигнала берутся через одинаковые промежутки времени. Интуитивно ясно, что если отсчеты отстоят друг от друга на слишком большие интервалы, то при дискретизации может произойти потеря информации: если важные изменения сигнала произойдут не в те моменты, когда были взяты отсчеты, они могут быть «пропущены» преобразователем. Получается, что отсчеты следует брать с максимальной частотой. Естественным пределом служит быстродействие преобразователя. Кроме того, чем больше отсчетов приходится на единицу времени, тем больший размер памяти необходим для хранения информации.
Проблема отыскания разумного компромисса между частотой взятия отсчетов сигнала и расходованием ресурсов трактов преобразования и передачи информации возникла задолго до того, как на свет появились первые звуковые карты. В результате исследований было сформулировано правило, которое в отечественной научно-технической литературе принято называть теоремой Котельникова. Если поставить перед собой задачу обойтись без формул и использования серьезных научных терминов типа «система ортогональных функций», то суть теоремы Котельникова можно объяснить следующим образом. Сигнал, представленный последовательностью дискретных отсчетов, можно вновь преобразовать в исходный (непрерывный) вид без потери информации только в том случае, если интервал между соседними отсчетами не превышает половины периода самого высокочастотного колебания, содержащегося в спектре сигнала.
Из сказанного следует, что восстановить без искажений можно только сигнал, спектр которого ограничен некоторой максимальной частотой (теоретически все реальные сигналы имеют бесконечные спектры). Для того чтобы при дискретизации избежать искажений, вызванных этим обстоятельством, сигнал вначале пропускают через фильтр, подавляющий в нем все частоты, которые превышают заданное значение максимальной частоты, и лишь затем производят дискретизацию. Если учесть некоторые реальные свойства сигналов, свойств человеческого слуха (окно слышимости) и устройств преобразования, то частоту дискретизации следует выбирать не менее 20 кГц. Так в стандарте CD частота дискретизации равна 44,1 кГц, для цифровых звуковых магнитофонов стандартная частота дискретизации составляет 48 кГц, звуковые карты, как правило, способны работать в широком диапазоне частот дискретизации.
Заменив микрофон на устройство преобразования светового сигнала в электрический можно провести с ним те же преобразования, что и со звуковым сигналом. Поэтому мы лишь кратко поясним суть использования младших разрядов применительно к изображениям.
В 8-битном изображении (RGB кодирование) цвет каждой точки кодируется 8 битами или байтом например — 00010001. Каждая цветовая комбинация тона (пиксела — точки) — это комбинация трех основных цветов: красного R, зеленого G и синего В, которые занимают каждый по 1 байту (итого по 3 байта на каждую точку). При кодировании стеганографического изображения изменяется последний (младший) бит каждой точки (или, допустим, с определенным шагом) — что приводит к незаметному для большинства людей изменению изображения — цвет части точек, составляющих изображение, смещается к соседнему в палитре (более темному или более светлому). Многое зависит, конечно, и от изображения, — чем пестрее оно, чем больше цветов задействовано, тем труднее отличить исходное изображение от изображения, содержащего дополнительную информацию. Если предположить, что в качестве носителя используется 24 битовое изображение размером 800x600 (графика среднего разрешения), то оно будет занимать около полутора мегабайта памяти (800x600x24/8 = 1440000 байт). Если для хранения секретной информации использовать наименьший значащий бит каждого байта, то получим по 3 бита на каждый пиксел. Емкость вносимой в исходное изображение скрываемой информации составит — 800x600x3/8 = 180000 байт. При этом биты последней в некоторых точках будут совпадать с битами реального изображения, в других — нет, но, главное, что на глаз определить такие искажения практически невозможно.
Другим популярным методом встраивания сообщений является использование особенностей форматов данных, использующих сжатие с потерей данных (например, JPEG). Этот метод (в отличие от LSB) более стоек к геометрическим преобразованиям и обнаружению канала передачи, так как имеется возможность в широком диапазоне варьировать качество сжатого изображения, что делает невозможным определение происхождения искажения.
При передаче объемных файлов (например, по — E-mail или через интерактивные службы Internet — WWW и FTP) используются разнообразные методы сжатия, из которых для целей стеганографии предпочтительны те методы, которые обеспечивают сжатие без потерь, поскольку требуется точное восстановление спрятанных данных. Такие виды сжатия типичны для изображений в форматах GIF2, TIFF и BMP, а также звуковых форматов WAV, AU и др.
Среди свойств звуковых данных, оказывающих влияние на обеспечение скрытности конфиденциальной информации и, соответственно, на обеспечение ее безопасности методами с использованием шумовых бит, можно выделить следующие:
– неоднородность последовательностей отсчетов;
– наличие определенных зависимостей между битами в отсчетах;
– наличие определенных зависимостей между самими отсчетами;
– неравновероятность условных распределений в последовательности отсчетов;
– наличие длинных серий одинаковых бит;
– наличие корреляции между НЗБ и старшими битами.
Эти свойства в различной степени наблюдаются в большинстве звуковых файлов и могут быть использованы при построении различных статистических критериев, определяющих факт сокрытия информации в младших значащих разрядах. Вот почему подобные методы компьютерной стеганографии стали применяться на практике все реже.
В то же время, прогресс, достигнутый в области разработки устройств передачи речевых сигналов с использованием средств вычислительной техники, открывает новые возможности для скрытой передачи конфиденциальной информации в аналоговых и цифровых аудиосигналах и речи на основе использования динамично развивающихся технологий мультимедиа, компьютерной и сотовой телефонии.
Сегодня предлагаются следующие требования к сокрытию конфиденциальной информации в аудиосигналах:
– слуховое восприятие речевых и акустических сигналов с заложенной в них скрываемой информацией должно быть практически неотличимым от восприятия исходной, «открытой» речи или звука;
– передаваемые по открытым каналам связи конфиденциальные данные, камуфлированные речевыми или акустическими сигналами или в неявном виде содержащиеся в их параметрах, не должны легко обнаруживаться в этих сигналах-носителях широко распространенными методами и техническими средствами анализа звука и речи, имеющимися в наличии в настоящее время;
– в ряде приложений постановка и выявление стеганофонических маркеров не должны зависеть от синхронизации этих процессов и от наличия каких-либо акустических эталонов;
– специальные методы постановки и выявления стеганофонических маркеров должны реализовываться на основе стандартной вычислительной техники или специальных программно-аппаратных средств на ее основе;
– должна обеспечиваться возможность закладки и обнаружения признаков аутентичности в акустический (речевой) сигнал, проявляющихся при незаконном его копировании или модификации независимо от вида представления и передачи этого сигнала (аналогового или цифрового);
– должна обеспечиваться возможность сокрытия конфиденциальной информации в акустическом (речевом) сигнале независимо от вида его представления (аналогового или цифрового) и передачи в открытых каналах связи.
В большинстве случаев этим требованиям можно удовлетворить, используя новый подход к построению специальных стеганофонических программно-аппаратных средств аудиообработки. Этот подход сочетает идею перевода звукового сигнала в вид графических образов (изображений сонограмм и фазограмм) и обратно без потери информативности и/или разборчивости с возможностями известных и перспективных методов цифровой обработки изображений.
Следы фонообъектов различной природы в виде параметров составляющих их сигналов проявляются на изображениях динамических спектрограмм в виде совокупности контуров (линий) перепада яркости или треков (цепочек) локальных и глобальных экстремумов цветовой насыщенности в уровнях одного цвета. С помощью специального программного обеспечения такие следы, а точнее амплитуды и фазы узкополосных сигналов, контуры или треки которых и видны на частотно-временной сетке динамических спектрограмм, можно реконструировать, модифицировать, уничтожать, создавать заново для решения конкретной стеганофоничес-кой задачи.
Так, в ряде программных продуктов, продвигаемых на рынке спецтехники, реализована возможность выборки и обработки узкополосных составляющих интересующего участка изображения спектрограммы исследуемого фонообъекта. К данному участку можно приложить либо собственные, входящие в состав программных продуктов, инструменты цифровой обработки изображений, либо использовать мощный арсенал средств, предоставляемых известными графическими редакторами типа «Adobe Photoshop», после транспортировки и обработки в них выбранного участка спектрограммы с возможностью последующей обратной вставки и синтеза модифицированного таким образом изображения.
Или, аккуратно затирая или подрисовывая с нужным нажимом (амплитудой) отдельные обертона речи на вокализованных участках изображений динамических сонограмм, можно оставлять только их четное или нечетное количество, соответственно, принимая их за значения единичных или нулевых битов конфиденциальной информации в процессе ее передачи-хранения в речевом сигнале. Кроме того, взяв один из обертонов за опорный, можно просинтезировать все остальные обертона с определенным фазовым смещением по отношению к нему. Задавая вектора приведенных начальных фаз, можно достичь достаточно большой емкости внедренных бит со-крываемой информации на единицу времени. Просинтезированная речь будет звучать аналогично исходной, поскольку фазовые отклонения практически не влияют на слуховое восприятие, а огибающие динамических спектров и связанная с ними фонетическая функция не нарушаются. Можно также установить определенную шкалу условных отрезков на временной оси. При целом укладывании в эти отрезки просинтезированных отдельных слов или фраз будем считать, что передан единичный бит информации, а в противном случае — что передан нулевой бит. Также можно ввести шкалу условных отрезков и на частотной оси. Небольшие (до 20%) отклонения темпа и тембра новой речи по отношению к исходной также практически незаметны на слух.
Кроме того, речевой сигнал можно незаметно для слуха передавать и хранить в другой речи, а также сочетать технологии стеганофонии с технологиями стеганографии, «растворяя» изображения динамических акустических спектрограмм в заданных изображениях, с последующим их проявлением и синтезом на приемном конце канала связи. Между тем, и сами изображения сонограмм могут быть использованы для передачи и хранения речи на бумажных носителях. При реализации таких технологий «речевой подписи», связанных с защищаемым документом по смыслу и содержанию примерно так же, как и электронно-цифровая подпись, на стандартный лист бумаги может быть нанесено в виде разнообразных узорчатых рисунков от 2 до 4 минут речи телефонного качества звучания.
На основе предложенной технологии можно осуществить и такой способ простановки стеганофонических маркеров, который заключается в синтезе звукового сигнала по заданному известному изображению для последующего хранения на носителе или передачи в общедоступный канал связи.
С помощью предложенного подхода к обработке звуковых сигналов можно реализовать большое количество самых разнообразных способов компьютерной стеганофонии, эксклюзивных для каждой конкретной задачи.
Следует еще раз отметить, что рассмотренные способы постановки стеганофонических маркеров и внесения информации в исходный речевой сигнал в большинстве случаев не требуют синхронизации процессов их введения. Вследствие этого они могут применяться в каналах связи не только при приеме-передаче, но и в режимах хранения речевых сигналов и звука. Поэтому они могут найти свое применение в аналоговых и цифровых автоответчиках, стандартных системах голосовой почты, компьютерной телефонии и т. п., а также при переносе обработанных речевых сигналов на аудиокассетах и дискетах. Понятно, что совместное применение в предложенных методах компьютерной стеганофонии сертифицированных ФАПСИ алгоритмов криптографического закрытия позволяет повысить стойкость подобных систем к попыткам нарушителя выявить и использовать в своих целях защищаемую конфиденциальную информацию.
Проведенные оценки допустимых значений скорости скрытной передачи конфиденциальной информации в аудиосигналах показали, что на сегодняшний день эти значения не превышают 100 бит/с. Это пока максимальные значения, которые могут быть достигнуты при различных способах сокрытия информации в речевых или акустических сигналах посредством соответствующей обработки графических образов их динамических спектрограмм. Тем не менее, можно предположить, что таких скоростей, скорее всего, будет вполне достаточно для оперативной передачи важных конфиденциальных сообщений в процессе речевого общения двух абонентов по телефонной линии или посредством приема-передачи аудиокассет, содержащих аудиосигналы-контейнеры с информационной закладкой, а также других приложений. Действительно, при таких скоростях в одной минуте речевого сигнала в процессе телефонных переговоров может быть скрытно передано примерно три страницы текста и порядка десяти черно-белых фотоснимков изображения лица.
ЛИТЕРАТУРА
Алексеенко В.Н., Сокольский Б.Е. Система защиты коммерческих объектов.// Технические средства защиты. — М., 1992.
Американская армия готовится к кибервойне. Служба новостей Ростов.ру. 27.11.2000 Ананьев Виктор. Электронная тайнопись. // Магия ПК. № 10, 1998.
Андрианов В. И., Бородин В. А., Соколов А. В. «Шпионские штучки» и устройства для защиты объектов и информации. — СПб.: Лань, 1996. — 272 с.
Андрианов В. И., Соколов А. В. «Шпионские штучки», или Как сберечь свои секреты. — СПб.: Полигон, 1997. — 272 с.
Андрианов В. И., Соколов А. В. Средства мобильной связи. — СПб.: BHV-Санкт-Петербург, 1998. — 256 с.
Андрианов В. И., Соколов А. В. Устройства для зашиты объектов и информации. («Шпионские штучки») — М.: ООО «Фирма «Издательство ACT»; OOO «Издательство «Полигон», 2000. — 256 с.
Андрианов В. И., Соколов А. В. Охранные системы для дома и офиса. Спб.: БХВ-Петербург; Арлит., 2002. — 304 с.: ил. — (Техника в вашем доме).
Анин Б. Ю. Защита компьютерной информации. — СПб.: BHV-Санкт-Петербург, 2000. — 384с.
Анциферов Алексей. Канадские хакеры атакуют американские сервера. // Сервер Компьютерных Новостей (http://computer-news.ru) —3 1 ,03.2000.
Атражев М. П. и др. Борьба с радиоэлектронными средствами. — М.: Воениздат, 1972.— 272с.
Ахмед П., Рао К. Р. Ортогональные преобразования при обработке цифровых сигналов. — М.: Связь, 1980. —248с.
Баранов В. М. и др. Зашита информации в системах и средствах информатизации и связи. / Учеб. пособие — СПб.: 1996. — 111с.
Барсуков В. С., Водолазский В. В. «Интегральная безопасность информационно-вычислительных и телекоммуникационных сетей». Технологии электронных коммуникаций. Т. 34, т. 35.— М.: 1992.
Барсуков В. С., Дворянкин С. В., Шеремет И. А. Безопасность связи в каналах телекоммуникаций — М.: НИФ «Электронные знания», 1992.
Барсуков B.C., Романцов Д.П. Компьютерная стеганография вчера, сегодня, завтра. // http://www.bnti.ru/dbtexts/analmat/stegan/
Барсуков Вячеслав. Защита компьютерных систем от силовых деструктивных воздействий. // Jet info № 2(81) 2000. http://www.jetinfo.rU/2000/2/2/article2.2.2000519.html.
Батурин Ю. М., Жодзишский А. М. Компьютерная преступность и компьютерная безопасность. — М.: Юрид. лит., 1991. — 160 с.
Батурин Ю. М., Жодзишский А. М Компьютерная преступность и компьютерная безопасность.— М.: Юрид. лит., 1991. —160с.
Безруков Н. Н. Компьютерная вирусология: Справ, руководство. — К.: УРЕ, 1991. — 416с.
Безруков Н. Н. Компьютерные вирусы. Ц М..: Наука, 1991.
Беляев А. В. Победитель AES — шифр Rijridael. http://www.creativeport.ru/internet/ infsecure/index.html
Бержье Ж. Промышленный шпионаж.— М.: Международные отношения, 1972.
Бертсекас Д., Галлагер Р. Сети передачи данных. — М.: Мир, 1989. —\ 542 с;. Бизнес и безопасность.— М.: КМЦ «Центурион», 1992.
Блачарски Дэн. Наведение порядка в политике защиты. // LAN/Журнал сетевых решений. — Сентябрь 2000.
Борейко Александр. Получи и распишись. // Ведомости, 21 июня 200 г. — www.vedomosti.ru
Бояров А. Г. Технология идентификация личности по произвольной слитной речи. http://conf. mitme.ru/articles/261 .html
Бриккелл Ф. Э., Одлижко Э. М. Криптоанализ: Обзор новейших результатов. — ТИИЭР, 1988, т. 76, №5.
Быков С. Ф. Алгоритм сжатия JPEG с позиции компьютерной стеганографии. // Защита информации. Конфидент» № 3,2000, стр. 26.
Вакин С. А., Шустов Л. Н. Основы радиопротиводействия радиотехнической разведке. М.: Сов. Радио. 1968.
Варакин Л. Е. Интеллектуальная сеть: концепция и архитектура. // Электросвязь, 1992.—№1.
ВартанесянВ. А. Радиоэлектронная разведка. М.: Воениздат, 1991. —255с.
Василенко В. Нахождение неисправностей в блоке питания IBM PC AT. //Радиолюбитель. Ваш компьютер. № 8,1999. http://spirin.narod.ru/
Винокуров А. ГОСТ не прост, а очень прост! — Монитор, № 1,1995.
Винокуров Андрей. Криптография, ее истоки и место в современном обществе. http//security.nsys.by/, http://www.enlight.ru/crypto/
Винокуров Андрей. Криптография. Сравнение возможностей различных алгоритмов. Проблема выбора. http//security.nsys.by/, http://www.enlight.ru/crypto/
Вишняков С. М. Нормативное обеспечение оценки устойчивости к электромагнитным помехам средств и систем контроля и управления доступом. // Системы безопасности, апрель—май 2001.
Владов Е., Хромов И. Мир и безопасность в России до 2010 года. Попытка прогноза. // http://www.dol.ru/users/secur/vitmib79.htm
Волин М. Л. Паразитные связи и наводки.— М.: Сов. радио, 1965. — 296 с.
Восприятие информации в системах искусственного интеллекта: Учеб. пособие / В. М. Игнатьев, Е. В. Ларкин. Тул. гос. техн. ун-т: Тула, 1993. — 88 с.
Гавриш В. Практическое пособие по защите коммерческой тайны, Симферополь, «Таврида», 1994.
Гайкович В. Ю., Ершов Д. В. Основы безопасности информационных технологий. — М.:МИФИ, 1995. —365с.
Галлагер Р. Теория информации и надежная связь. — М.: Сов. радио, 1974. — 534 с.
Генне О. В. Основные положения стеганографии. // Защита информации. Конфидент. № 3, 2000
Герасименко В. А. Защита информации в АСОД./в двух частях.—М.: Энергоато-миздат, 1994.
Герасименко В. А., Размахнин М. К. Криптографические методы в автоматизированных системах. // Зарубежная радиоэлектроника. 1982. № 8. — С. 97—124.
Голиков И., Казанцев Т. Ключи вам больше не нужны, http://www.securityclub.ru/ bisec/journal 18/acd_serv.htm
ГОСТ 2847-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. — 10с.
Гриняев С. Н. Информационный терроризм: предпосылки и возможные последствия. // http://www.e-jouraal.ru/p_besop-stl 9.html.
Гроувер Д. и др. Защита программного обеспечения. — М.: Мир, 1992.
Гурвич И. С. Защита ЭВМ от внешних помех.— М.: Энергоатомиэдат, 1984.
Гуриев Владимир. Между строк. http://www.computerra.tomsk.ru/arc38_2.shtml.
Гушер А.И. Социально-правовые аспекты терроризма. // http://www.cssfimd.ru/ Art00021.html.
Давыдовский А. И., Максимов В. А. Введение в защиту информации. Интеркомпьютер, 1990.—№ 1.
Данилюк Владимир. Закодированные послания, http://www.nalogi.net/crimenal/2001/ crim0110_01.1.htm.
Дебора Редклифф. Цифровая подпись. // Еженедельник «Computerworld Россия» 10.05.2000.
Дебора Рэдклифф. Хроника хакерской атаки. // Сети, февраль 2000.
Девид Легард. Неудачная архитектура — находка для хакера. // Еженедельник «Computerworld Россия» 21.03.2000.
Джек Маккарти. ЦРУ опасается кибератак. // Еженедельник «Computerworld Россия» №10,2000.
Джон Вакка. Секреты безопасности в Internet. Киев, «Диалектика», 1997. — 506 с.
Джоул Снайдер. Защищая «последнюю милю». // Сети, февраль 2000.
Диффи У Первые десять лет шифрования с открытым ключом// ТИИЭР, т. 76,1988. — №5.—С. 55—74.
Диффи У, Хелман Н. Защищенность и имитостойкость: введение в криптографию // ТИИЭР, т. 67,1979.— № 3.— С. 71—109.
Дэвид Стенг, Сильвия Муи. Секреты безопасности сетей. Киев, «Диалектика», Ин-фОрмейшн Компьютер Энтерпрайз, 1996. — 544 с.
Елисеев Игорь. Что не ГОСТ — то не защита? // Еженедельник «Computerworld Россия» 14.03.2000.
Ефимов А., Кузнецов П., Лукашин А. Проблемы безопасности программного обеспечения критических систем.
Жельников В. Криптография от папируса до компьютера. — M.:ABF, 1997. — 336 с.
Женило В.Р. Компьютерная фоноскопия. М.: Типография Академии МВД России, 1995,208с.
Завадский И.И. Информационная война—что это такое? // http://www.fbr.donetsk,ua/ InfoWar/.
Замарин А., Андреев А., Ковалевский В. Битва за информацию. Стратегия защиты. // Безопасность. Достоверность. Информация. — 1995, № 2. — С. 21—23.
Замарин А., Андреев А., Ковалевский В., Белоглядов И. Атака на текст: криптог-раф против аналитика. // Безопасность. Достоверность. Информация. — 1995, № 3. — С. 20—22.
Запечников С. В. Сравнительная оценка современных методов анализа безопасности многосторонних криптографических протоколов. Москва. МИФИ, http:// www.tsure.ru:8101/Univercity/Facultties/Fib/bit/ras/sem2001/84.html
Захаров Л. Ф. Современная концепция построения систем электропитания, http:// st.ess.ru/publications/
Защита государственных и промышленных секретов. Методы обнаружения вторжений в вычислительные системы. // Ин. печать об экономическом, научно-техническом и военном потенциале государств — участников СНГ и технических средств его выявления. Серия — Технические средства разведывательных служб капиталистических государств. ВИНИТИ, 1993, № 7. — С. 8—15.
Защита данных в информационно- вычислительных сетях. Под ред. Ронжина А. А. — М.: ИНКО «КАМИ», 1991.—128 с.
Защита информации в компьютерных системах. Под ред. Шмакова Э.М. — СПб.: СПбГТУ, 1993. — 100 с.
Защита программного обеспечения. Под ред. Гроувера Д. Пер. С англ. — М.: МИР,
1992.-285С.
Иванов А.И. Биометрическая идентификация личности по динамике подсознательных движений. Пенза. 2000. http://beda.stup.ac.ru/biometry
Иванов В., Залогин Н. Активная маскировка побочных излучений вычислительных систем. // Компьютер Пресс^ 1993. — № 10.
Ивонин М. В. Криптографические протоколы распределения ключей для групп с динамическим составом участников. Декабрь 1999 г. http://www.secimtyportal.ru/cripto/ ac.shtml.
Касперский Е. Компьютерные вирусы в MS-DOS. — М.: «ЭДЭЛЬ», 1992. — 176 с.
Каторин Ю. Ф., Куренков Е. В., Лысов А. В., Остапенко А. Н. Энциклопедия промышленного шпионажа.// Антишпионские штучки. — СПб.: Полигон, 1999.—512с.
Кащеев В. И. Мониторинг телефонной сети. // Системы безопасности, 1995. —№ 1.
Кен Филлипс. Биометрия, о которой нельзя забыть. // Компьютерная неделя №2(126)—1998
Киселев А. Е. и др. Коммерческая безопасность.— М.: Инфо Apr, 1993.
Кларк Элизабет. Новое лицо идентификационных устройств. // LAN / Журнал сетевых решений. — Сентябрь 2000.
Ковалевский В. Э., Максимов В. А. Криптографические методы // Компьютер Пресс:
1993.—№5,—С, 31—34. .
Коновалов Д. Н., Бояров А. Г. Технология защиты информации на основе идентификации голоса, http://www.fact.ru/archive/07/voice.shtml
Корецкий А. На смену ядерной бомбе пришла информация. // http:// www.mternews.ru/~rbn/637902.html.
Корт Семен. Современные методы борьбы с компьютерными вирусами.// Банковское дело в Москве, http://www.bdm.ru
Криптографический ликбез. http://www.racal.ru/rsp/eliptic_curve_cryptography.htm
Криптографические методы защиты информации в локальных вычислительных сетях. Под общей редакцией Дружинина А.В., Замарина А.И., Максимова Ю.Н. ВИК-КА им. А.Ф. Можайского, 1998. — 194 с.
Круглов В. Какой будет вооруженная борьба в будущем? http://www.nasledie.ru/ oboz/N08_00/08_13.HTM
Кузнецов П.А. Информационная война и бизнес. // http://www.fbr.donetsk.ua/ InfoWar/.
Кустов В. П., А. А. Федчук. Методы встраивания скрытых сообщений. // Защита информации. Конфидент, Ne 3,2000, стр. 34.
Лебедев Анатолий. Криптография и компьютерная безопасность, http// security.nsys.by/
Лебедев Валерий. Радость хакера, http://www.lebed.com/
Левиков В. Я. Проблемы возможности заражения компьютерными вирусами персональных компьютеров, работающих в сети Интернет, http://ims98.nw.ru/cgi-bin
Лесли Гофф. Червь выключает сеть. // Еженедельник «Computerworld Россия» 27.06.2000.
Ли Коупленд. На аукционах торгуют ворованным. // Еженедельник «Computerworld Россия» 10.05.2000.
Лысов А. В., Остапенко А. Н. Промышленный шпионаж в России: методы и средства.— СПб., Бум Техно, 1994.
Лысов А. В., Остапенко А. Н. Телефон и безопасность.— СПб., Лаборатория ППШ, 1995.
Месса Л. Введение в современную криптографию// ТИИЭР, т. 76,1988. — № 5. — С. 24—42,
Максимов Ю. Н. и др. Организационно-технические методы контроля защиты информации в объектах ЭВТ: Учебное пособие. — СПб.: ВИККА, 1994. — 77 с.
Медведковский И. Д., Семьянов П. В. Атака через «INTERNET». СП6.НПО «Мир и семья — 95», 1997. — 280 с.
Межутков А., Мяснянкин В. Электронная подпись, или Тернистый путь избавления от бумаги. // Системы безопасности № 40, август—сентябрь 2001.
Мельников В. В. Защита информации в компьютерных системах. М., «Финансы и статистика», 1997. — 364 с.
Минаев В. А., Пеныпин И. В., Потанин В. Е., Скрыль С.В. Анализ угроз безопасности информации в информационно-телекоммуникационных системах, http:// www.sec.ru/
Миронычев С. Коммерческая разведка и контрразведка, или Промышленный шпионаж в России и методы борьбы с ним. М.: Дружок, 1995.
Михайлов А. С. Измерение параметров ЭМС РЭС.— М.: Связь, 1980.— 200 с.
Молдовян Н. А., Молдовяну П.А. Гибкие шифры для защиты информации в сетях ЭВМ. — Спб., Государственный НИИ моделирования и интеллектуализации сложных систем. http://risbank.spb.ru/risbank2/tm98/078.HTM
Морозов И. Л. Проблемы классификации информационного оружия в современной Российской науке, http://morozov.voljsky.ru/library
Наумов А. Алло! Вас подслушивают. // Деловые люди, 1992.
Никулин О. Ю., Петрушин А. Н. Системы телевизионного наблюдения.— ML: «Оберег РБ», 1997.
Новиков А. А. Биометрическая идентификация личности на основе спектрального анализа голоса. Тула. 2000
Овсянников Вячеслав. О правильном «питании». // CHIP—Панорама № 5, 2000. http://epos.kiev.ua/pubs/
Петелин Р. Ю., Петелин Ю. В. Звуковая студия в PC. — СПб.: BHV-Санкт-Петер-бург, 1998. — 256 с
Плотников В.Н., Суханов В.А., Жигулевцев Ю. И. Речевой диалог в системах управления. — М.: Машиностроение, 1988. — 244с.
Предринимательство и безопасность / Под ред. Долгополова Ю. Б.—М.: Универсум, 1991.
Применко Э. А., Винокуров А. А. Сравнение стандарта шифрования алгоритма ГОСТ 28147-89 и алгоритма Rijndael. // Системы безопасности, июнь—июль 2001.
Проскурин В. Г. Перехватчики паролей пользователей операционных систем http:/ /www.warning.dp.ua
Сапожников М. А. Электроакустика. М,: Связь, 1978.
Прохоров Александр. Мой дом — моя крепость, мое лицо — мой пропуск, http:// computer-press.bos.ru/comhress/cp0700/cp2000_07_l O.htm
Разумов А., Кадуков А. Банкиры, гоните бабки! Угроза электромагнитного террора. «Новый Петербургъ», № 15 (482), 12.04.2001 г.
Ральф Надер. Закон о цифровой подписи должен защищать потребителя. // Еженедельник «Computerworld Россия» 14.03.2000.
Рамишвили Г. С. Автоматическое опознавание говорящего по голосу. — М.: Радио и связь, 1981.—224с.
Рамишвили Г.С. Автоматическое опознавание говорящего по голосу. — М.: Радио и связь, 1981.—224с.
Роберт Виберт. Как поймать зловредный код. // LAN/Журнал сетевых решений. — Май 2001.
Сергеев Лев. Компьютерные вирусы: вчера, сегодня, завтра. // http://www. compulog.ru/
Сердюк В. А. Криминализация глобальных информационных сетей: миф или реальность. // Системы безопасности. — сентябрь-октябрь 2000 г.- с. 84-87.
Сердюков В. Д. Опознавание речевых сигналов на фоне мешающих факторов. Тбилиси, Наука: 1987,142с.
Сердюков В. Д. Опознавание речевых сигналов на фоне мешающих факторов. Тбилиси, Наука: 1987,142с.
Системы идентификации личности по отпечаткам пальцев. КГЦ «Охранные системы» http://www.magazine.security.com.ua/articles/0503.shtml
Соболев Б. А. Защита в Сети, http://www.softbest.ru
Соболев Е. А. О защите информации, http://www.softbest.ru
Соколов А. В. Шпионские штучки. Новое и лучшее, — СПб.: Полигон, 2000. — 256 с.
Соколов А. В., Степанюк О. М. Методы информационной защиты объектов и компьютерных сетей. (Серия «Шпионские штучки»). — СПб.: Полигон, 2000. — 272 с.
Статистические методы для ЭВМ / Под ред. К. Энслейна, Э. Рэл-стона, Г. С. Уил-фа: пер. с англ. / Под ред. М. Б. Малютова. — М.: Наука. Гл. ред. физ.-мат. лит., 1986. —
464с.
Стеганография в компьютерном исполнении — средство террористов для обмена информацией, http://mfosci.narod.ru/news/011010-6.html (11 октября 2001 г.).
Стеганография, http://itt.com.ua/win/1999/steganog.htm.
Стив Александер. Вирусы, черви, троянские кони и зомби. // Еженедельник «Computerworld Россия» 23.05.2001.
Судов Евгений. О политике и экономике антивирусной защиты. // «Мой Компьютерный журнал» http://www.compulog.ru
Терминология в области защиты информации. Справочник. — М.: ВНИИ стандарт, 1993. —49 с.
Технические средства разведки. / Под ред. В. И. Мухина. — М., РВСН, 1992. Технический шпионаж и борьба с ним. Минск. ТГО, 1993,
Технические средства разведки / Под ред. Мухина В. И.— М.: РВСН, 1992
Технический шпионаж и борьба с ним.— Минск: ТГО, 1993.
Технология электронных коммуникаций. Безопасность в телекоммуникационных сетях. — М, 1992. т. 20.
Тигулев Максим. Стеганозавр или Тайнопись на компьютере. // Интернет № 3,1998.
Трушина Е. А. Идентификация пользователя ЭВМ по клавиатурному почерку как метод защиты от несанкционированного доступа. 1997. www.securityclub.ru
Уилл Найт. Взломан шифр нового типа. «Экономика и жизнь Кузбасса». www.mega.kemerovo.su
Устройства дактилоскопического доступа в помещение, http://www.rinnai.ru/ room.htp
Фланаган Дж. Анализ, синтез и восприятие речи. — М.: Связь, 1968. — 392с.
Фролов А. В., Фролов Г. В. Осторожно: компьютерные вирусы. ЦМ.: ДИАЛОГ-МИФИ, 1996. — 256 с.
Хакимова Е. Террор с электронным лицом. // Мир новостей, № 14, 2001. http:// www. sbf.ru/company.phtml?id=81.
Ховард Миллман. Не бойтесь технологий, вышедших из недр секретных служб. InfoWorld, США. // Computerworld № 27. —1998.
Хомяков Е.И., Федоров В.М. Стеганография данных с помощью речевых сообщений. ТРТУ г. Таганрог // http://oldtsure.ru: 810 l/UNI\^RSnT/FTB/Dmras/seniinar/44.html
Хори Д. Усовершенствуй свой телефон / Пер. с англ.— М.: БИНОМ, 1995. — 305с.
Хорст Файсель. Криптография и компьютерная безопасность. — перевод А. Винокурова. http//security.nsys.by/
Хофман Л. Д. Современные методы зашиты информации. М—: Сов. Радио, 1980.
Хроника вирусного вредительства. // Компьютер-информ, № 13, июль 2000.
Хроника вирусования. // Компьютер-информ, №13, июль 2000.
Цыгичко В.Н., Черешкин Д. С., Смолян Г Л. Защита гражданского общества от информационного оружия в XXI веке. // http://www.fbr.donetsk.ua/InfoWar/.
Черешкин Д. С., Смолян Г. Л., Цыгичко В. Н. Реалии информационной войны.// http://www. fbr. donetsk.ua/InfoWar/.
Хакимова Е. Террор с электронным лицом. // Мир новостей, ' 14, 2001. http:// www.sbf. ru/company.phtml?id=81.
Ховард Миллман. Не бойтесь технологий, вышедших из недр секретных служб. InfoWorld, США. // Computerworld • 27. —1998.
Хомяков Е.И., Федоров В.М. Стеганография данных с помощью речевых сообщений. ТРТУ г. Таганрог // http://old.tsure.ru:8101/UNIVERSITY/FIB/DIT/ms/seminar/ 44.html
Хори Д. Усовершенствуй свой телефон / Пер. с англ.— М.: БИНОМ, 1995. — 305 с.
Хорст Файсель. Криптография и компьютерная безопасность. — перевод А. Винокурова. http//security.nsys.by/
Хофман Л. Д. Современные методы зашиты информации. М—: Сов. Радио, 1980.
Хроника вирусного вредительства. // Компьютер-информ, ' 13, июль 2000.
Хроника вирусования. // Компьютер-информ, '13, июль 2000.
Цыгичко В.Н., Черешкин Д. С., Смолян Г Л. Защита гражданского общества от информационного оружия в XXI веке. // http://www.for.donetsk.ua/InfoWar/.
Черешкин Д. С., Смолян Г. Л., Цыгичко В. Н. Реалии информационной войны./ / http://www.fbr.donetsk.ua/InfoWar/.
Численные методы Н. С. Бахвалов. Главная редакция физико-математической литературы изд-ва «Наука», М., 1975. — 631с.
Шарат Панканти, Рууд М.Болле, Энил Джейн. Биометрия: будущее идентификации. // Открытые системы, ' 3 — 2000.
Широчкин В. П., Кулик А. В, Марченко В. В. Динамическая аутентификация на основе анализа клавиатурного почерка. // Информатика, управление и вычислительная техника., ' 32. Киев. 1999.
Эндрю Конри-Мюррей. Не самые секретные составляющие сетевой безопасности. // LAN / Журнал сетевых решений. — Сентябрь 2001.
Энн Харрисон. Запланированный взлом ключа ЕСС. // Computerworld ' 18 —-2000. http://www.osp.ru/cw/2000/l8/040_0.htm
Яновский М. Как выбрать источник питания.
Ярочкин В. И. Технические каналы утечки информации. — М.: ИПКИР, 1994.
Ярочкин В. Проблемы информационной безопасности. Частный сыск и охрана. 1993.— ' 9.