О. В. ПРОХОРОВА ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ И ЗАЩИТА ИНФОРМАЦИИ Учебник Издание четвертое, стереотипное •САНКТПЕТЕРБУРГ• •МОСКВА•КРАСНОДАР• •2022• УДК 004 ББК 32.81я73 П 84 Прохорова О. В. Информационная безопасность и за щита информации : учебник для вузов / О. В. Прохоро ва. — 4е изд., стер. — СанктПетербург : Лань, 2022. — 124 с. : ил. — Текст : непосредственный. ISBN 9785507442010 В учебнике рассматриваются основы информационной безопас ности и защиты информации, а именно: разграничение доступа к ресурсам, вопросы идентификации и аутентификации субъектов, методы и средства криптографической защиты, вопросы контроля целостности информации, способы хранения и распределения клю чевой информации, организация защиты информации от разрушаю щих программных воздействий, электронноцифровая подпись и многое другое. Учебник предназначен для студентов вузов, обучающихся по спе циальности «Информационные системы и технологии». УДК 004 ББК 32.81я73 Рецензенты: С. А. ПРОХОРОВ — доктор технических наук, профессор, зав. ка федрой информационных систем и технологий Самарского нацио нального исследовательского университета имени академика С. П. Королева; А. В. ГРАФКИН — кандидат технических наук, главный специалист по развитию персонала ООО «ЕСПром», ГК «ТвинПро». Обложка П. И. ПОЛЯКОВА © Издательство «Лань», 2022 © О. В. Прохорова, 2022 © Издательство «Лань», художественное оформление, 2022 ВВЕДЕНИЕ Развивающиеся информационные технологии быстро внедряются во все сферы человеческого общества. Информация теперь официально определена идеальным объектом, имеющим ценность и стоимость как обычный продукт, стоимость которого обычно во много раз превосходит стоимость компьютерной системы, в которой она хранится и обрабатывается. В связи с этим необходимо принимать во внимание возможные злонамеренные воздействия со стороны злоумышленников по отношению к информационным системам. Например, нарушитель может пытаться выдать себя за другого пользователя, прослушать канал связи, перехватить и модифицировать информацию, которой обмениваются пользователи системы, расширить свои полномочия для получения доступа к информации, к которой ему представлен только частичный доступ, попытаться разрушить систему. Интенсивное развитие открытых компьютерных сетей привлекает все большее внимание пользователей. Сеть предоставляет злоумышленникам множество возможностей для вторжения во внутренние сети компаний и организаций с целью хищения, искажения или разрушения конфиденциальной информации. В подготовке учебника частично были использованы материалы И. В. Аникина и В. И. Глова [1]. 3 1. ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ ПРЕДМЕТА ЗАЩИТЫ ИНФОРМАЦИИ 1.1. Правовое обеспечение информационной безопасности Особенностью современного развития цивилизации становятся информационные ресурсы. Информация превращается в наиболее ценный продукт и один из основных товаров, а общество становится информационным. Естественно, что становление информационного общества возможно только через развитие законодательной базы. Впервые за все время существования цивилизаций потребовалось законодательно сформулировать и определить информацию, установить структуру нормативно-законодательной базы по информации. Первым таким законом стал Федеральный закон Российской Федерации от 20.02.95 № 24-ФЗ «Об информации, информатизации и защите информации». В нем дается определение информации: – информация — сведения о лицах, предметах, фактах, событиях, явлениях и процессах независимо от формы их представления; – информатизация — организационный социально-экономический и научно-технический процесс создания оптимальных условий для удовлетворения информационных потребностей и реализации прав граждан, органов государственной власти, органов местного самоуправления, организаций, общественных объединений на основе формирования и использования информационных ресурсов; – документированная информация (документ) — зафиксированная на материальном носителе информация с реквизитами, позволяющими ее идентифицировать. Впервые признается, что информация может иметь ценность, собственника, пользователя, владельца информационных ресурсов и являться объектом права. Но ценность влечет за собой и возможность неправомерных действий и неправомерного доступа к информации как внутри государства, так и на межгосударственном уровне. Последний случай называют «информационной войной», под которой понимается: особый вид отношений между государствами, при котором для разрешения существующих межгосударственных противоречий используются методы, средства и технологии силового воздействия на информационную сферу этих государств. Особенностью информационной войны является ее скрытность, латентность [2]. 4 В последние десятилетия появились понятия информационного терроризма, «кибертерроризма». Все это потребовало юридического толкования информационного оружия и его элементарных составляющих. К видам информационного оружия, которое воздействует непосредственно на информацию и программное обеспечение ЭВМ, можно отнести специальные компьютерные программы или части программ, именуемые компьютерными вирусами и логическими бомбами. Компьютерный вирус — это специальная программа, целью которой является негативное воздействие на хранимую в ЭВМ информацию и программное обеспечение (разрушение, изменение, удаление и т. п.). Программная закладка — это включенная в состав программ для ЭВМ последовательность команд, активизирующаяся при определенных условиях и выполняющая хищение информации (пресылку на определенного пользователя). Специфическим видом оружия является электромагнитное оружие и способ ведения войны посредством радиоэлектронной борьбы, заключающейся в создании помех средствам связи противника и радиолокации. Столь же специфичной является и «хакерская» война — организация атак на вычислительные системы и сети специально обученными лицами. Законодательной базой информационного права стали такие документы, как: «Доктрина информационной безопасности», закон «Об информации...», законы «О государственной тайне», «О связи», «Об оружии», «О безопасности», кодексы Уголовный, Уголовнопроцессуальный, Гражданский и др. Впервые Уголовный кодекс включил информационно-правовые статьи. Основными из них являются статьи 272, 273, 274. Статья 272 УК РФ Ст. 272 УК РФ — «Неправомерный доступ к компьютерной информации». 1. Неправомерный доступ к охраняемой законом компьютерной информации, т. е. информации на машинном носителе, в электронновычислительной машине (ЭВМ), системе ЭВМ или их сети, если это деяние повлекло уничтожение, блокирование, модификацию либо копирование информации, нарушение работы ЭВМ, системы ЭВМ или их сети. Статьей предусмотрено наказание в виде штрафа в размере от двухсот до пятисот минимальных размеров оплаты труда или 5 в размере заработной платы или иного дохода осужденного за период от двух до пяти месяцев, либо исправительными работами на срок от шести месяцев до одного года, либо лишением свободы на срок до двух лет. 2. То же деяние, совершенное группой лиц по предварительному сговору или организованной группой либо лицом с использованием своего служебного положения, а равно имеющим доступ к ЭВМ, системе ЭВМ или их сети. Статьей предусмотрено наказание в виде штрафа в размере от пятисот до восьмисот минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за период от пяти до восьми месяцев, либо исправительными работами на срок от одного года до двух лет, либо арестом на срок от трех до шести месяцев, либо лишением свободы на срок до пяти лет. Статья 273 УК РФ Ст. 273 УК РФ — «Создание, использование и распространение вредоносных программ для ЭВМ». 1. Создание программ для ЭВМ или внесение изменений в существующие программы, заведомо приводящие к несанкционированному уничтожению, блокированию, модификации либо копированию информации, нарушению работы ЭВМ, системы ЭВМ, а равно использование либо распространение таких программ или машинных носителей с такими программами. Статьей предусмотрено наказание в виде лишения свободы на срок до трех лет со штрафом в размере от двухсот до пятисот минимальных размеров оплаты труда или в размере заработной платы, или иного дохода осужденного за период от двух до пяти месяцев. 2. Те же деяния, повлекшие по неосторожности тяжкие последствия. Статьей предусмотрено наказание в виде лишения свободы на срок от трех до семи лет. Отметим, что негативное воздействие могут иметь и последствия, выражающиеся в нанесении ущерба материального, например, физическое разрушение ресурса (диска, «винчестера» и т. п.) или интеллектуальной собственности. В связи с этим при рассмотрении в судах компьютерных правонарушений привлекаются другие статьи Уголовного или Гражданского кодексов. Статья 274 УК РФ Ст. 274 УК РФ — «Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети». 6 Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети лицами, имеющими доступ к ЭВМ, системе ЭВМ или их сети, повлекшие уничтожение, блокирование или модификацию охраняемой законом информации ЭВМ, если это деяние причинило существенный вред. Статьей предусмотрено наказание в виде лишения прав занимать определенные должности или заниматься определенной деятельностью на срок до пяти лет, либо обязательными работами на срок от ста восьмидесяти до двухсот сорока часов, либо ограничением свободы на срок до двух лет. Статья 146 УК РФ Ст. 146 УК РФ — «Нарушение авторских и смежных прав». 1. Незаконное использование объектов авторского права или смежных прав, а равно присвоение авторства, если эти деяния причинили крупный ущерб. Статьей предусмотрено наказание в виде штрафа в размере от двухсот до четырехсот минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за период от двух до четырех месяцев, либо обязательными работами на срок от ста восьмидесяти до двухсот сорока часов, либо лишением свободы на срок до двух лет. 2. Те же деяния, совершенные неоднократно либо группой лиц по предварительному сговору или организованной группой. Статьей предусмотрено наказание в виде штрафа в размере от четырехсот до восьмисот минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за период от четырех до восьми месяцев, либо арестом на срок от четырех до шести месяцев, либо лишением свободы на срок до пяти лет. Несанкционированные действия с информацией могут иметь большие последствия, особенно при работе со сведениями, составляющими государственную тайну. Нормативно-законодательная база в настоящее время совершенствуется и развивается. 1.2. Организационно-распорядительная документация В 1992 г. Федеральной службой по техническому экспорту и контролю (ФСТЭК) были разработаны и опубликованы пять руководящих документов, посвященных вопросам защиты информации в системах ее обработки. 1. Защита от несанкционированного доступа к информации. Термины и определения. 7 2. Концепция защиты средств вычислительной техники и автоматизированных систем (АС) от несанкционированных действий (НСД) к информации. 3. Автоматизированные системы. Защита от несанкционированного доступа к информации. Классификация автоматизированных систем и требования по защите информации. 4. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от НСД к информации. 5. Временное положение по организации разработки, изготовлению и эксплуатации программных и технических средств защиты информации от НСД в автоматизированных системах и средствах вычислительной техники. 1.3. Санкционированный и несанкционированный доступ Под безопасностью автоматизированных систем обработки информации (АСОИ) понимают защищенность систем от случайного или преднамеренного вмешательства в нормальный процесс их функционирования, а также от попыток хищения, изменения или разрушения их компонентов [3]. Одним из основополагающих понятий в информационной безопасности (ИБ) является понятие доступа к информации. Под доступом к информации понимается ознакомление с ней, ее обработка, в частности копирование, модификация и уничтожение. Понятие доступа к информации неразрывно связано с понятиями субъекта и объекта доступа (рис. 1.1). Рис. 1.1 Субъект и объект доступа Субъект доступа — это активный компонент системы, который может стать причиной потока информации от объекта к субъекту или изменения состояния системы (пользователь, процесс, прикладная программа и т. п.). 8 Объект доступа — это пассивный компонент системы, хранящий, принимающий или передающий информацию (файл, каталог и т. п.). Зачастую один и тот же компонент системы может являться и субъектом и объектом различных доступов. Например, программа PROGRAM.COM, запускаемая пользователем системы, является объектом доступа для данного пользователя. Если та же самая программа PROGRAM.COM читает с диска некоторый файл FILE.TXT, то она является уже субъектом. В информационной безопасности различают два типа доступа — санкционированный и несанкционированный. Санкционированный доступ к информации — это доступ, не нарушающий установленные правила разграничения доступа. Несанкционированный доступ (НСД) к информации — это доступ, нарушающий установленные правила разграничения доступа. Субъект, осуществляющий НСД, является нарушителем правил разграничения доступа. НСД является наиболее распространенным видом нарушений безопасности информации. 1.4. Угрозы безопасности и каналы реализации угроз С точки зрения информационной безопасности выделяют следующие свойства информации: конфиденциальность, целостность и доступность. Конфиденциальность информации — это ее свойство быть известной только допущенным и прошедшим проверку (авторизованным) субъектам системы. Для остальных субъектов системы эта информация должна быть закрытой (рис 1.2). Рис. 1.2 Авторизация субъекта Проверка субъекта при допуске его к информации может осуществляться путем проверки знания им некоторого секретного ключа, 9 пароля, идентификации его по фиксированным характеристикам и т. п. Целостность информации — ее свойство быть неизменной в семантическом смысле при функционировании системы в условиях случайных или преднамеренных искажений, или разрушающих воздействий. Доступность информации — ее свойство быть доступной для авторизованных законных субъектов системы, готовность служб к обслуживанию запросов. Целью злоумышленника является реализация какого-либо рода действий, приводящих к невыполнению (нарушению) одного или нескольких из свойств конфиденциальности, целостности или доступности информации. Потенциальные возможности реализаций определенных воздействий на АСОИ, которые прямо либо косвенно могут нанести ущерб ее безопасности, называются угрозами безопасности АСОИ. Уязвимость АСОИ — некоторое неудачное свойство системы, которое делает возможным возникновение и реализацию угрозы. Атака на компьютерную систему — это непосредственная реализация злоумышленником угрозы безопасности. Цель системы защиты информации — противодействие угрозам безопасности в АСОИ. По цели воздействия выделяют три основных типа угроз безопасности АСОИ [3]. 1. Угрозы нарушения конфиденциальности информации. 2. Угрозы нарушения целостности информации. 3. Угрозы нарушения работоспособности системы (отказы в обслуживании). Угрозы нарушения конфиденциальности информации направлены на перехват, ознакомление и разглашение секретной информации. При реализации этих угроз информация становится известной лицам, которые не должны иметь к ней доступ. Угроза нарушения конфиденциальности имеет место всякий раз, когда получен НСД к некоторой закрытой информации, хранящейся к компьютерной системе или передаваемой от одной системы к другой. Большие возможности для реализации злоумышленником данного типа угроз существуют в открытых локальных сетях, сетях Internet в связи со слабой защищенностью протоколов передачи данных и возможностью прослушивания канала передачи (сниффинга) путем перевода сетевой платы в «смешанный режим» (promiscuous mode). 10 Угрозы нарушения целостности информации, хранящейся в компьютерной системе или передаваемой по каналу связи, направлены на ее изменение или искажение, приводящее к нарушению ее качества или полному уничтожению. Угрозы нарушения работоспособности (отказ в обслуживании) направлены на создание таких ситуаций, когда определенные преднамеренные действия либо снижают работоспособность АСОИ, либо блокируют доступ к некоторым ее ресурсам. Атаки, реализующие данный тип угроз, называются также DoS-атаками (Denied of Service — отказ в обслуживании). При реализации угроз нарушения работоспособности может преследоваться цель нанесения ущерба, либо может являться промежуточной целью при реализации угроз нарушения конфиденциальности и целостности (нарушение работоспособности системы защиты информации). При реализации угроз безопасности злоумышленник может воспользоваться самыми различными каналами реализации угроз — каналами НСД, каналами утечки. Под каналом утечки информации понимают совокупность источника информации, материального носителя или среды распространения, несущего указанную информацию сигнала и средства выделения информации из сигнала или носителя. Средство выделения информации из сигнала или носителя может располагаться в пределах контролируемой зоны, охватывающей АСОИ или вне ее. Применительно к АСОИ выделяют следующие основные каналы утечки информации [3]. 1. Электромагнитный канал. 2. Виброакустический канал. 3. Визуальный канал. 4. Информационный канал. Не останавливаясь на первых трех физических каналах утечки информации, рассмотрим последний, который связан с возможностью локального или удаленного доступа злоумышленника к элементам АСОИ, к носителям информации, к программному обеспечению, к линиям связи. Данный канал условно может быть разделен на следующие каналы: – коммутируемых линий связи; – выделенных линий связи; – локальной сети; – машинных носителей информации; – терминальных и периферийных устройств. 11 1.5. Основные принципы обеспечения информационной безопасности Основными принципами обеспечения информационной безопасности в АСОИ являются [4, 5]: 1) системность; 2) комплексность; 3) непрерывность защиты; 4) разумная достаточность; 5) гибкость управления и применения; 6) открытость алгоритмов и механизмов защиты; 7) простота применения защитных мер и средств. Принцип системности предполагает необходимость учета всех слабых и уязвимых мест АСОИ, возможных объектов и направлений атак, высокую квалификацию злоумышленника, текущих и возможных в будущем каналов реализации угроз. Принцип комплексности предполагает согласование работы разнородных систем защиты информации (СЗИ) при построении целостной системы защиты, отсутствие слабых мест при стыковке различных СЗИ. Принцип непрерывности защиты учитывает то, что защита информации не разовое мероприятие, а непрерывный целенаправленный процесс, предполагающий принятие соответствующих мер на всех этапах жизненного цикла АС. Например, большинству физических и технических средств защиты для эффективного выполнения своих функций необходима постоянная организационная поддержка (своевременная смена и обеспечение правильного хранения и применения имен, паролей, ключей шифрования, переопределение полномочий и т. п.). Перерывы в работе СЗИ могут быть использованы злоумышленником для анализа применяемых методов и средств защиты, внедрения специальных программных и аппаратных «закладок» и других средств преодоления системы защиты после восстановления ее функционирования. Принцип разумной достаточности опирается на то, что создать абсолютно защищенную систему принципиально невозможно, взлом системы это вопрос только времени и средств. В связи с этим при проектировании СЗИ имеет смысл вести речь только о некотором приемлемом уровне безопасности. Важно выбрать золотую середину между стойкостью защиты и ее стоимостью, потреблением вычислительных ресурсов, удобством работы пользователей и другими характеристиками СЗИ. 12 Принцип гибкости управления и применения системы защиты предполагает возможность варьировать уровень защищенности автомтизированной системы (АС). При определенных условиях функционирования АС СЗИ, обеспечивающая ее защищенность, может обеспечивать как чрезмерный, так и недостаточный уровень защиты. Гибкость управления и применения системы защиты спасает владельцев АС от необходимости принятия кардинальных мер по полной замене средств защиты на новые при смене условий функционирования АС. Принцип открытости алгоритмов и механизмов защиты говорит о том, что защита не должна обеспечиваться только за счет секретности структурной организации СЗИ и алгоритмов функционирования ее подсистем. Знание алгоритма защиты не должно давать злоумышленнику возможности ее преодоления или снижать стойкость защиты. Принцип простоты применения защитных мер и средств говорит о том, что механизмы защиты должны быть интуитивно понятны и просты в использовании. 1.6. Ценность информации Информационные системы требуют защиты именно потому, что обрабатываемая информация бывает ценной независимо от происхождения. В денежном выражении затраты на защиту не должны превышать возможные потери. Под ценностью информации понимается ее свойство, характеризующее потери собственника данной информации при реализации определенной угрозы, выраженное в стоимостном, временном либо ином эквиваленте. Среди подходов к построению моделей защиты ИC, основанных на понятии ценности информации, наиболее известными являются: оценка, анализ и управление рисками ИБ, порядковые шкалы ценностей, модели решетки ценностей [4, 6]. Далеко не всегда возможно и нужно давать денежную оценку ценности информации. Например, оценка личной информации, политической информации или военной информации не всегда разумна в денежном исчислении. В этом случае предпочтительнее использовать подход, связанный со сравнением ценности отдельных информационных элементов между собой и введением порядковой шкалы ценностей. 13 Пример. При оценке ценности информации в государственных структурах используется линейная порядковая шкала ценностей. Всю информацию сравнивают экспертным путем и относят к различным уровням ценности. В этом случае документам, отнесенным к некоторому уровню по шкале, присваиваются соответствующие грифы секретности. Сами грифы секретности образуют порядковую шкалу, например: – несекретно; – конфиденциально; – секретно; – совершенно секретно; – особой важности. Более высокий класс имеет более высокую ценность и поэтому требования по его защите от несанкционированного доступа более высокие. 1.7. Меры обеспечения безопасности компьютерных систем По способам осуществления все меры обеспечения безопасности компьютерных систем подразделяют на: – правовые (законодательные); – морально-этические; – организационно-административные; – физические; – аппаратно-программные. Остановимся на аппаратно-программных мерах защиты. К ним относятся различные электронные устройства и специальные программы, которые реализуют самостоятельно или в комплексе с другими средствами следующие способы защиты: – идентификацию и аутентификацию субъектов АСОИ; – разграничение доступа к ресурсам АСОИ; – контроль целостности данных; – обеспечение конфиденциальности данных; – аудит событий, происходящих в АСОИ; – резервирование ресурсов и компонентов АСОИ. 1.8. Характеристика способов защиты компьютерной информации Доступ к любой компьютерной информации в АСОИ, обладающей какой-либо ценностью, должен быть разрешен только опреде14 ленному кругу лиц, предварительно прошедших регистрацию и подтвердивших свою подлинность на этапе идентификации и аутентификации, который и является первым краем обороны АСОИ. Основным требованием к его реализации является стойкость к взлому путем подбора или подмены информации, подтверждающей подлинность пользователя (пароля, ключа и т. д.). Информация, подтверждающая подлинность пользователя, должна храниться в секрете, лучше — на внешнем аппаратном устройстве, максимально защищенном от НСД. Одним из основных требований к реализации подсистемы разграничения доступа является разработка политики безопасности, адекватной защищаемой информации, и отсутствие возможностей у злоумышленника совершить НСД в обход подсистемы разграничения доступа. Обеспечение конфиденциальности данных основано на применении, наряду с подсистемой разграничения доступа к ресурсам, различных криптографических преобразований защищаемой информации. Использование криптографических преобразований позволяет скрыть защищаемую информацию M путем перевода ее в нечитаемый вид C. При этом чтение информации возможно только после дешифрования сообщения С на секретном ключе K, известном легальным пользователям и неизвестном злоумышленнику. Стойкость криптографических преобразований основана только на секретности ключа дешифрования K. Существует два подхода к криптографической защите — симметричное шифрование и асимметричное шифрование (шифрование с открытым ключом). Симметричные криптосистемы используют для шифрования и дешифрования информации один и тот же ключ K (рис. 1.3). Асимметричные криптосистемы шифруют информацию на общедоступном (открытом) ключе OК, а дешифруют информацию на парном ему секретном ключе СК. Обеспечение целостности обрабатываемой информации реализуется с помощью технологии электронно-цифровой подписи и функций хеширования. Кроме этого, электронно-цифровая подпись позволяет реализовать подтверждения авторства получаемых сообщений. Реализация технологии электронно-цифровой подписи осуществляется в рамках использования асимметричных криптосистем. Под аудитом безопасности в АСОИ понимают постоянное отслеживание событий, связанных с нарушением безопасности, контроль, наблюдение за ними, в целях своевременного обнаружения 15 нарушений политики безопасности, а также попыток взлома. Правильно построенный аудит позволяет не только выявлять нарушения безопасности, но также обнаруживать действия, являющиеся начальным этапом взлома, с целью своевременной корректировки политики безопасности, принятия контрмер, что очень важно при обеспечении безопасности АСОИ. Рис. 1.3 Схема симметричной криптосистемы Резервирование ресурсов и компонентов АСОИ является одним из способов защиты от угрозы отказа доступа к информации. Один из наиболее действенных и эффективных методов, обеспечивающих восстановление системы при аварии, — резервное копирование данных и использование дисковых массивов. 16 2. РАЗГРАНИЧЕНИЕ ДОСТУПА К РЕСУРСАМ 2.1. Политики безопасности Существуют критерии определения безопасности компьютерных систем (КС), составляющие основу международного стандарта Common Criteria, опубликованного в 2005 г. «Критерии» устанавливают основные условия для оценки эффективности средств компьютерной безопасности АС. Под политикой безопасности (ПБ) понимается совокупность норм, правил и практических рекомендаций, регламентирующих процесс обработки информации, выполнение которых обеспечивает защиту от заданного множества угроз и составляет необходимое условие безопасности КС [4]. Политики безопасности должны быть подробными, четко определенными и обязательными для КС. Есть две основных политики безопасности: – мандатная политика безопасности — обязательные правила управления доступом, напрямую основанные на индивидуальном разрешении на доступ к информации и уровне конфиденциальности запрашиваемой информации; – дискреционная политика безопасности — предоставляет непротиворечивый набор правил для управления и ограничения доступа, основанный на идентификации тех пользователей, которые намерены получить только необходимую им информацию. В качестве обязательных функций сервиса управления доступом к информации в АС выделяются: – аутентификация — процесс распознавания пользователя; – авторизация — проверка разрешения пользователю на получение информации определенного рода; – аудит — отслеживание действий аутентифицированных пользователей, при которых затрагивается безопасность. Основная цель создания ПБ информационной системы — определение условий, которым должно подчиняться поведение подсистемы безопасности. Компьютерная система должна содержать аппаратные и/или программные механизмы, которые могут определять, обеспечивается ли достаточная уверенность в том, что система защиты выполняет необходимые требования. Существуют следующие гарантии безопасности. 17 Операционная гарантия — уверенность в том, что реализация спроектированной системы обеспечивает осуществление принятой стратегии защиты системы. Сюда относятся системная архитектура, целостность системы, анализ скрытых каналов, безопасное управление возможностями и безопасное восстановление. Гарантия жизненного цикла — уверенность в том, что система разработана и поддерживается в соответствии с формализованными и жестко контролируемыми критериями функционирования. Сюда относятся тестирование безопасности, задание на проектирование и его проверка, управление настройками и соответствие параметров системы заявленным. Гарантии непрерывной защиты — надежные механизмы, обеспечивающие непрерывную защиту основных средств от преступных и/или несанкционированных действий. Критерии определения безопасности КС делятся на 4 раздела: D, C, B и A, из которых наивысшей безопасностью обладает раздел A. Каждый раздел представляет собой значительные отличия в доверии индивидуальным пользователям или организациям. Разделы C, B и A иерархически разбиты на серии подразделов, называющиеся классами: C1, C2, B1, B2, B3 и A1. Каждый раздел и класс расширяет или дополняет требования, указанные в предшествующем разделе или классе. Не останавливаясь подробно на организации доступа внутри классов, отметим основные моменты. Раздел D характеризуется организацией минимальной защиты. Раздел C характеризуется организацией дискреционной защиты. Раздел В характеризуется организацией мандатной защиты. Раздел A характеризуется проверенной защитой. 2.2. Дискреционные политики безопасности Возможны следующие подходы к построению дискреционного управления доступом. 1. Каждый объект системы имеет привязанного к нему субъекта, называемого владельцем. Именно владелец устанавливает права доступа к объекту. 2. Система имеет одного выделенного субъекта — суперпользователя, который имеет право устанавливать права владения для всех остальных субъектов системы. 3. Смешанный вариант построения, когда одновременно в системе присутствуют как владельцы, устанавливающие права доступа 18 к своим объектам, так и суперпользователь, имеющий возможность изменения прав для любого объекта и/или изменения его владельца. Именно такой смешанный вариант реализован в большинстве операционных систем, например, в классических UNIX-системах или в системах Windows семейства NT. Дискреционное управление доступом является основной реализацией разграничительной политики доступа к ресурсам при обработке конфиденциальных сведений, согласно требованиям к системе защиты информации. Исходная политика избирательного разграничения доступа к информации (дискреционная модель) формируется путем задания администратором набора троек следующего вида: ( S , O , T ) , i = 1, N , j = 1, M , k = 1, K , i j k где Si ∈ S — субъект доступа; Oj ∈ O — объект доступа; Tk ⊂ T — множество прав доступа, которыми наделен субъект Si к объекту Oj (например, чтение, запись, исполнение и т. д.) [7]. При формировании дискреционной политики безопасности обычно формируют дискреционную матрицу доступов MN×M, строки которой соответствуют субъектам системы, столбцы — объектам, а в ячейках матрицы хранят множество типов доступов. Пример данной матрицы представлен в таблице 2.1. Таблица 2.1 Дискреционная матрица доступа Объект/Субъект Администратор Гость Пользователь_1 Файл_1 Файл_2 Полные Полные права права Запрет Чтение Чтение, пере- Чтение, дача прав запись Файл_3 Полные права Чтение Полные права CD-RW Полные права Запрет Полный запрет Для матрицы доступа, представленной в таблице 2.1, Пользователь_1 имеет права на чтение и запись в Файл_2. Передавать эти права другому пользователю он не может, но может передавать права на чтение Файла_1, имеет полные права при работе в Файлом_3 и не имеет доступа к диску CD-RW. 2.3. Мандатные политики безопасности Мандатные модели управления доступом были созданы по результатам анализа правил секретного документооборота, принятых в государственных и правительственных учреждениях многих стран. 19 Мандатное управление доступом — разграничение доступа субъектов к объектам, основанное на характеризуемой меткой конфиденциальности информации, содержащейся в объектах, и официальном разрешении (допуске) субъектов обращаться к информации такого уровня конфиденциальности. Мандатная модель управления доступом, помимо дискреционной, является основой реализации разграничительной политики доступа к ресурсам при защите секретной информации. При этом данная модель доступа практически не используется «в чистом виде», обычно на практике она дополняется элементами дискреционной модели доступа1. Исходная мандатная политика безопасности строится на базе следующей совокупности аксиом, определяющих правило разграничения доступа субъектов к обрабатываемой информации. 1. Вводится множество атрибутов (уровней) безопасности A, элементы которого упорядочены с помощью установленного отношения доминирования. Например, для России характерно использование следующего множества уровней безопасности: A = {открыто (О), конфиденциально (К), секретно (С), совершенно секретно (СС), особая важность (ОВ)}. 2. Каждому объекту Оj ∈ O КС ставится в соответствие атрибут безопасности xO j ∈ A, который соответствует ценности объекта Oj и называется его уровнем (грифом) конфиденциальности. 3. Каждому субъекту Si ∈ S КС ставится в соответствие атрибут безопасности xSi ∈ A, который называется уровнем допуска субъекта и равен максимальному из уровней конфиденциальности объектов, к которому субъект Si будет иметь допуск. 4. Если субъект Si имеет уровень допуска xSi , а объект Oj имеет уровень конфиденциальности xO j , то Si будет иметь допуск к Oj тогда и только тогда, когда xSi ≥ xO j . Основным недостатком исходной мандатной политики безопасности является то, что в ней не различаются типы доступа вида «чтение» и «запись». Это создает потенциальную возможность утечки информации сверху вниз, например, путем запуска в КС программной закладки с максимальным уровнем допуска, способной записы1 Мандатное управление доступом [Электронный ресурс]. Режим доступа: http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%BD%D0%B4%D0%B0%D1 %82%D0%BD%D0%BE%D0%B5_%D1%83%D0%BF%D1%80%D0%B0%D0% B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BE%D1%8 1%D1%82%D1%83%D 0%BF%D0%BE%D0%BC. 20 вать информацию из объектов с верхних уровней конфиденциальности в объекты с более низкими уровнями, откуда она может быть прочитана субъектами с низким уровнем допуска. Пример 2.1 Пусть для компьютерной системы задано 4 субъекта доступа S = {Administrator, User1, User2, Guest} и 5 объектов O = {File1.dat, File2.txt, File3.txt, CD-ROM, FDD}. Множество атрибутов безопасности определено как A={NONCONFIDENTIAL, CONFIDENTIAL, SECRET, TOP SECRET}. Пусть уровни допуска cубъектов определены следующим образом: Administrator TOP SECRET User1 SECRET User2 CONFIDENTIAL Guest NONCONFIDENTIАL Пусть уровни конфиденциальности объектов определены следующим образом: FDD CD-ROM File1.dat File2.txt File3.txt NONCONFIDENTIАL CONFIDENTIAL SECRET SECRET TOP SECRET Тогда, согласно правилам исходной мандатной модели: – субъект Administrator будет иметь допуск ко всем объектам; – субъект User1 будет иметь допуск к объектам FDD, CD-ROM, File1.dat, File2.txt; – субъект User2 будет иметь допуск к объектам FDD, CD-ROM; – субъект Guest будет иметь допуск только к объекту FDD (flash). Поставим вопрос, сможет ли субъект Guest в качестве злоумышленника получить доступ к объекту File1.dat? Путь для этого может быть такой. Завербовав пользователя User1, он сможет получить доступ к информации из объекта File1.dat следующим путем. User1 записывает из объекта File1.dat информацию в объект FDD, что будет ему разрешено, а субъект Guest после этого может этой информацией пользоваться в обход мандатной политики безопасности за счет приема социальной инженерии. Как можно устранить подобные действия злоумышленника? Для этого в мандатную политику вносят реализацию принципа политики безопасности Белла — ЛаПадулы (БЛП), который устраняет данный недостаток исходной мандатной политики безопасности и осуществляет контроль доступа субъектов Si ∈ S к объектам Оj ∈ O компьютерной системы в зависимости от уровня допуска субъекта Si и уровня конфиденциальности объекта Oj на основании двух следующих правил. 21 1. Правило NRU (нет чтения вверх). Согласно данному правилу, субъект Si с уровнем допуска xSi может читать информацию из объекта Oj с уровнем безопасности xOJ тогда и только тогда, когда xSi ≥ xOJ . Формально данное правило можно записать как read Si ⎯⎯⎯ → O j ⇔ xSi ≥ xOJ (рис. 2.1). 2. Правило NWD (нет записи вниз). Согласно данному правилу, субъект Si с уровнем допуска xSi может записывать информацию в объект Oj с уровнем безопасности xOJ тогда и только тогда, когда xSi ≤ xOJ . Формально данное правило можно записать как write Si ⎯⎯⎯ → O j ⇔ xSi ≤ xOJ (рис. 2.1). Рис. 2.1 Демонстрация правил политики безопасности Белла — ЛаПадулы Введение свойства NWD разрешает проблему программных закладок, так как угроза записи информации на более низкий уровень, типичная для них, запрещена. Пример 2.2 Рассмотрим пример компьютерной системы, введенной в примере 2.1. При ее реализации в рамках политики БЛП возможно выполнение следующих операций. 1. Cубъект Administrator будет иметь допуск по чтению из всех объектов и допуск по записи в объект File3.txt. 2. Cубъект User1 будет иметь допуск по чтению из объектов FDD, CD-ROM, File1.dat, File2.txt и допуск по записи в объекты File1.dat, File2.txt, File3.txt. 3. Cубъект User2 будет иметь допуск по чтению из объектов CD-ROM, FDD и допуск по записи в объекты File1.dat, File2.txt, File3.txt, CD-ROM. 4. Субъект Guest будет иметь допуск по чтению из объекта FDD и допуск по записи во все объекты. 22 2.4. Контроль доступа, базирующийся на ролях Ролевую политику безопасности (контроль доступа, базирующийся на ролях, — RBAC) нельзя отнести ни к дискреционным, ни к мандатным политикам, потому что управление доступом в ней осуществляется как на основе матрицы прав доступа для ролей, так и с помощью правил, регламентирующих назначение ролей пользователям и их активацию во время сеансов [1]. В ролевой модели классическое понятие «субъект» замещается понятиями «пользователь» и «роль». Под пользователем понимается человек, работающий с системой и выполняющий определенные служебные обязанности. Под ролью понимается активно действующая в системе абстрактная сущность, с которой связан ограниченный, логически связанный набор полномочий, необходимых для осуществления определенной деятельности. Ролевая политика безопасности очень близка к реальной жизни, так как работающие в КС пользователи зачастую действуют не от своего личного имени, а исполняют определенные служебные обязанности, т. е. выполняют некоторые роли, которые никак не связаны с их личностью. Использование ролевой политики безопасности позволяет учесть разделение обязанностей и полномочий между участниками прикладного информационного процесса, так как с точки зрения данной политики имеет значение не личность пользователя, осуществляющего доступ к информации, а то, какие полномочия ему необходимы для выполнения служебных обязанностей. При использовании ролевой политики управление доступом осуществляется в две стадии: во-первых, для каждой роли указывается набор полномочий, представляющий набор прав доступа к объектам, и, во-вторых, каждому пользователю назначается список доступных ему ролей. Полномочия назначаются ролям в соответствии с принципом наименьших привилегий, из которого следует, что каждый пользователь должен обладать только минимально необходимым для выполнения своей работы набором полномочий. Формализация ролевой модели осуществляется в рамках следующих множеств: U — множество пользователей КС; R — множество ролей; P — множество полномочий на доступ к объектам, представленное, например, в виде матрицы прав доступа; S — множество сеансов работы пользователей с КС. 23 Для этих множеств определяются следующие бинарные отношения (рис. 2.2): PA P R — отображение множества полномочий на множество ролей путем установления для каждой роли набора присвоенных ей полномочий. UA U R — отображение множества пользователей на множество ролей путем определения для каждого пользователя набора доступных ему ролей. Основными функциями в ролевой политике безопасности являются следующие: user:S → U — для каждого сеанса S данная функция определяет пользователя, который осуществляет этот сеанс работы с компьютерной системой; roles:S → {R} — для каждого сеанса S данная функция определяет набор ролей из множества R, которые могут быть одновременно доступны пользователю в этом сеансе; permissions:S → P — для каждого сеанса S эта функция задает набор доступных в нем полномочий, который определяется как совокупность полномочий всех ролей, задействованных в этом сеансе. Критерий безопасности ролевой модели: компьютерная система считается безопасной, если любой пользователь системы, работающий в сеансе S, может осуществлять действия, требующие полномочия p только в том случае, если p permissions (s), т. е. разрешены данным сеансом. Рис. 2.2 Контроль доступа, базирующийся на ролях 24 В стандарте NIST 359 «Role Based Access Control» [1] представлены полные требования к функциональным возможностям ролевых политик безопасности. 2.5. Политика безопасности сети Защита информации наиболее эффективна, когда в компьютерной сети поддерживается многоуровневая защита. Она складывается из следующих компонентов: 1) политика безопасности (ПБ) локальной сети организации; 2) система защиты хостов локальной сети; 3) сетевой аудит; 4) защита на основе маршрутизаторов; 5) межсетевые экраны; 6) системы обнаружения вторжений; 7) план реагирования на выявленные атаки. Полная защита целостности сети зависит от реализации всех вышеперечисленных компонентов защиты. Использование многоуровневой защиты — это наиболее эффективный метод предотвращения НСД. Самым важным для функционирования защищенной сети является ее политика безопасности, которая определяет, что защищать и на каком уровне. Все остальные уровни защиты логически следуют после принятия для сети политики ее безопасности. Проведение выбранной при создании сети организации ПБ предусматривает регулярный пересмотр этой политики и реализующих ее мер защиты, что подразумевает: – обновление политики и мер защиты безопасности, если это необходимо; – проверку совместимости политики и мер защиты с существующей сетевой средой; – разработку новых и удаление старых правил политики и мер защиты по мере необходимости. ПБ можно разделить на две категории: административные политики и технические политики. В зависимости от этого ПБ базируется на правилах двух видов. Первая группа связана с заданием правил разграничения доступа ко всем ресурсам системы, а вторая группа основана на правилах анализа сетевого трафика как внутри локальной сети, так и при его выходе из системы или входе в нее. В основе этих правил лежит принцип доверия. Определяя ПБ, нужно выяснить, насколько можно доверять людям и ресурсам. 25 Для первой группы правил главный вопрос заключается в том, кому и в какой степени в локальной сети можно доверять, имея в виду больше человеческий фактор, но не забывая при этом и о запущенных в локальной сети процессах и приложениях. Начальный этап задания этих правил состоит в определении тех, кто получает доступ. Предварительные установки систем, обеспечивающих защиту информации в локальной сети, могут соответствовать принципу наименьшего доступа для всех. Далее для каждой группы пользователей и входящих в нее представителей определяются степени доверия. Компромиссное решение в данном случае и будет самым подходящим. В данном контексте вопрос для второй группы правил можно поставить так: «Каким пакетам в локальной сети доверять, а каким нет, ибо они могут циркулировать в локальной сети по инициативе злоумышленника». Именно эти правила и являются главенствующими при установке и настройке основных систем анализа трафика локальной сети и пакетных фильтров. Для локальных сетей можно выделить три основные модели доверия: – либеральная — доверять всем в течение всего времени работы; – запретительная — не доверять никому и никогда; – разумная или компромиссная — доверять иногда некоторым людям. Обычно ПБ включает в себя следующие части. 1. Предмет ПБ. Перед описанием самой ПБ в данной области нужно сначала определить саму область с помощью ограничений и условий в понятных всем терминах. Часто полезно ясно указать цель или причины разработки политики. 2. Описание позиции организации. Как только описан предмет ПБ, даны определения основных понятий и рассмотрены условия ее применения, в явной форме описывается позиция организации по данному вопросу. 3. Применимость. Это означает, что надо уточнить, где, как, когда, кем и к чему будет применяться данная ПБ. 4. Роли и обязанности. Нужно указать ответственных лиц и их обязанности в отношении разработки и внедрения различных аспектов ПБ, а также в случае нарушения ПБ. 5. Меры защиты. Перечисляются конкретные меры, реализующие ПБ в организации, дается обоснование выбора именно такого перечня мер защиты и указывается, какие угрозы безопасности локаль26 ной сети наиболее эффективно предотвращаются такими мерами защиты. 6. Соблюдение политики. Для ПБ может оказаться уместным описание с некоторой степенью детальности нарушений, которые неприемлемы, и последствий такого поведения. Могут быть явно описаны наказания, применяемые к нарушителям ПБ. 7. Ответственные, или консультанты, по вопросам безопасности и справочная информация. 27 3. ИДЕНТИФИКАЦИЯ И АУТЕНТИФИКАЦИЯ СУБЪЕКТОВ 3.1. Классификация подсистем идентификации и аутентификации субъектов Реализация никакой из политик безопасности не будет возможна в случае, если КС не сможет распознать (идентифицировать) субъекта, пытающегося получить доступ к объекту компьютерной системы. Поэтому защищенная КС обязательно должна включать в себя подсистему идентификации, позволяющую идентифицировать инициирующего доступ субъекта. Под идентификацией понимают присвоение пользователю некоторого уникального идентификатора, который он должен предъявить системе защиты информации (СЗИ) при осуществлении доступа к объекту, т. е. назвать себя. Используя предъявленный пользователем идентификатор, СЗИ проверяет наличие данного пользователя в списке зарегистрированных и авторизует его (т. е. наделяет полномочиями) для выполнения определенных задач. В качестве идентификаторов могут использоваться, например, имя пользователя (логин), аппаратные устройства типа Touch Memory, бесконтактные радиочастотные карты proximity, отдельные виды пластиковых карт и др. Идентификаторы субъектов не являются секретной информацией и могут храниться в КС в открытом виде. Для нейтрализации угроз, связанных с хищением идентификаторов и подменой злоумышленником легального пользователя, необходимы дополнительные проверки субъекта, заключающиеся в подтверждении им владения предъявленным идентификатором. Данные проверки проводятся на этапе аутентификации пользователя. Под аутентификацией понимают подтверждение пользователем предъявленного идентификатора, проверка его подлинности и принадлежности именно данному пользователю. Аутентификация выполняется для устранения фальсификации на этапе идентификации. В качестве аутентифицирующей информации может использоваться, например, пароль, секретный код, пин-код и т. д. Информация, используемая субъектом для аутентификации, должна сохраняться им в секрете. Хищение данной информации злоумышленником ведет к тому, что злоумышленник сможет пройти этап идентификации и аутентификации без обнаружения фальсификации. 28 Этапы идентификации и аутентификации пользователя объединяются в единой подсистеме, называемой подсистемой идентификации и аутентификации (И/АУ). Атаки на подсистему идентификации и аутентификации пользователя являются одними из наиболее распространенных и привлекательных для злоумышленника, так как пройдя этап И/АУ злоумышленник получает все права легального пользователя, идентификатор которого был использован. В связи с этим обеспечение стойкости ко взлому подсистемы И/АУ пользователя является очень важной задачей для безопасного функционирования компьютерной системы. Стойкость к взлому подсистемы идентификации и аутентификации определяется гарантией того, что злоумышленник не сможет пройти аутентификацию, присвоив чужой идентификатор либо украв его. Наиболее распространенными методами идентификации и аутентификации пользователя являются: – парольные системы; – идентификация/аутентификация с использованием технических устройств; – идентификация/аутентификация с использованием индивидуальных биометрических характеристик пользователя. 3.2. Парольные системы идентификации и аутентификации пользователей Совокупность идентификатора и пароля пользователя — основные составляющие его учетной записи. База данных пользователей парольной системы содержит учетные записи всех пользователей КС, при этом сами пароли шифруются администратором сети, обычно с использованием хеш-функций. Парольные системы являются зачастую «передним краем обороны» всей системы безопасности. Отдельные ее элементы могут быть расположены в местах, открытых для доступа потенциальному злоумышленнику (в том числе и база данных учетных записей пользователей). В связи с этим парольные системы становятся одним из наиболее привлекательных для злоумышленника объектов атаки. Основными типами угроз безопасности парольных систем являются следующие. 1. Перебор паролей в интерактивном режиме. 2. Подсмотр пароля. 3. Преднамеренная передача пароля его владельцем другому лицу. 29 4. Кража базы данных учетных записей с дальнейшим ее анализом, подбором пароля. 5. Перехват вводимого пароля путем внедрения в КС программных закладок (клавиатурных шпионов); перехват пароля, передаваемого по сети. 6. Социальная инженерия. Многие недостатки парольных систем связаны с наличием человеческого фактора, который проявляется в том, что пользователь зачастую стремится выбрать пароль, который легко запомнить (а значит, и подобрать), или записать куда-нибудь свой сложный пароль. Легальный пользователь способен ввести пароль так, что его могут увидеть посторонние, передать пароль другому лицу намеренно или под влиянием заблуждения. Для уменьшения деструктивного влияния человеческого фактора необходимо реализовать ряд требований к выбору и использованию паролей [5]. 1. Задание минимальной длины пароля для затруднения подбора пароля злоумышленником «в лоб» и подсмотра. 2. Использование в пароле различных групп символов для усложнения подбора злоумышленником пароля. 3. Проверка и отбраковка пароля по словарю для затруднения подбора пароля злоумышленником с использованием словарей. 4. Установление максимального срока действия пароля для затруднения подбора пароля злоумышленником, в том числе и в режиме off-line при взломе предварительно похищенной базы данных учетных записей пользователей. 5. Применение эвристического алгоритма, бракующего «плохие» пароли для усложнения подбора пароля злоумышленником «по словарю» или с использованием эвристического алгоритма. 6. Ограничение числа попыток ввода пароля для предотвращения интерактивного подбора пароля злоумышленником. 7. Использование задержки при вводе неправильного пароля для предотвращения интерактивного подбора пароля злоумышленником. 8. Поддержка режима принудительной смены пароля пользователя для эффективности реализации требования, ограничивающего максимальный срок действия пароля. 9. Запрет на выбор пароля самим пользователем и автоматическая генерация паролей для затруднения использования злоумышленником эвристического алгоритма подбора паролей. 30 Количественная оценка стойкости парольных систем может быть выполнена с помощью рассматриваемого ниже подхода [4]. Пусть A — мощность алфавита паролей (количество символов, которые могут быть использованы при составлении пароля). Например, если при составлении пароля могут быть использованы только малые английские буквы, то A = 26. L — длина пароля. S = AL — число всевозможных паролей длины L, которые можно составить из символов алфавита A. S также называют пространством атаки. V — скорость перебора паролей злоумышленником. T — максимальный срок действия пароля. Тогда вероятность P подбора пароля злоумышленником в течение срока его действия Т определяется по следующей формуле: V T V T . S AL Эту формулу можно обратить для решения следующей задачи. Задача. Определить минимальную мощность алфавита паролей A и минимальную длину паролей L, обеспечивающих вероятность подбора пароля злоумышленником не более заданной величины P, при скорости подбора паролей V, максимальном сроке действия пароля T. Данная задача имеет неоднозначное решение. При исходных данных V, T, P однозначно можно определить лишь нижнюю границу S* числа всевозможных паролей. Целочисленное значение нижней границы вычисляется по формуле P V T S* , (3.1) P где — целая часть числа, взятая с округлением вверх. После нахождения нижней границы S* необходимо выбрать такие A и L, чтобы выполнялось неравенство: S* S = AL. (3.2) При выборе S, удовлетворяющего неравенству (3.2), вероятность подбора пароля злоумышленником (при заданных V и T) будет меньше или равна P. При вычислениях по формулам (3.1) и (3.2) величины должны быть приведены к одной размерности. 31 Пример 3.1 Пусть задано: P = 10–6, T = 7 дней, V = 10 паролей в минуту = = 10×60×24×7 = 100 800 паролей в неделю. 100 800 = 1008 × 108. Тогда, S * = −6 10 Условию S* ≤ AL удовлетворяют, например, такие пары величин A и L, как A = 26, L = 8 (пароли состоят из 8 малых символов английского алфавита), A = 36, L = 6 (пароли состоят из 6 символов, среди которых могут быть малые латинские буквы и цифры). 32 4. МЕТОДЫ И СРЕДСТВА КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ 4.1. Принципы криптографической защиты информации Криптография представляет собой совокупность методов преобразования данных (шифрования), направленных на то, чтобы сделать эти данные бесполезными для противника. Эти преобразования позволяют решить проблему обеспечения конфиденциальности данных. Для ознакомления с зашифрованной информацией применяется обратный процесс — дешифрование. Для шифрования обычно используется некоторый алгоритм или устройство, реализующее заданный алгоритм, которые могут быть известны широкому кругу лиц. Управление процессом шифрования осуществляется с помощью периодически меняющегося ключа шифрования, обеспечивающего каждый раз оригинальное представление информации при использовании одного и того же алгоритма или устройства. Знание ключа дешифрования позволяет просто и надежно расшифровать текст. Однако без знания этого ключа процедура дешифрования может быть практически невыполнима даже при известном алгоритме. Ключ шифрования K — конкретное состояние некоторого параметра (параметров), обеспечивающее выбор одного преобразования из совокупности возможных для используемого метода шифрования. Будем называть открытым текстом M исходное сообщение, которое шифруют для его сокрытия от посторонних лиц. Сообщение, формируемое в результате шифрования открытого текста, будем называть закрытым текстом (шифротекстом) С. Обратной стороной криптографии является криптоанализ, который пытается решить обратную задачу, характерную для злоумышленника — раскрыть шифр, получив закрытый текст, не имея подлинного ключа шифрования. Существуют несколько основных типов криптоаналитических атак [3]. Реализация каждой из них предполагает, что злоумышленник знает применяемый алгоритм шифрования. 1. Криптоаналитическая атака при наличии только известного закрытого текста С. 2. Криптоаналитическая атака при наличии известного открытого текста (атака по открытому тексту). В этом случае криптоаналитику известен открытый текст M и соответствующий ему 33 закрытый текст C. Задача криптоаналитика состоит в нахождении ключа шифрования K для возможности прямой расшифровки последующих шифротекстов. 3. Криптоаналитическая атака методом полного перебора всех возможных ключей. Такой подход требует привлечения предельных вычислительных ресурсов и иногда называется силовой атакой, атакой «в лоб», или brute-forcing. 4. Криптоаналитическая атака методом анализа частотности закрытого текста. Реализация данной атаки предполагает использование криптоаналитиком информации о частоте встречаемости символов в закрытом тексте с целью получения информации о символах открытого текста. Основной характеристикой шифра является его криптостойкость, которая определяет его стойкость к раскрытию с помощью методов криптоанализа. Обычно эта характеристика определяется интервалом времени, необходимым для раскрытия шифра. К шифрам, используемым для криптографической защиты информации, предъявляется ряд требований. 1. Зашифрованный текст должен поддаваться чтению только при наличии секретного ключа шифрования. 2. Закон Керкгоффса — знание алгоритма шифрования не должно влиять на надежность защиты, стойкость шифра должна определяться только секретностью ключа. Иными словами, данное требование предполагает, что весь алгоритм шифрования, кроме значения секретного ключа, известен криптоаналитику противника. 3. При знании криптоаналитиком шифротекста С и соответствующего ему открытого текста M, для нахождения ключа шифрования необходим полный перебор ключей (невозможность криптоаналитической атаки по открытому тексту). 4. Незначительное изменение ключа шифрования или открытого текста должно приводить к существенному изменению вида шифротекста. 5. Алгоритм шифрования должен допускать как программную, так и аппаратную реализацию. 4.2. Традиционные симметричные криптосистемы В симметричных криптосистемах (криптосистемах с секретным ключом) шифрование и дешифрование информации осуществляется на одном ключе K, являющемся секретным. Рассекречивание ключа шифрования ведет к рассекречиванию всего защищенного об34 мена. До изобретения схемы асимметричного шифрования единственным существовавшим способом являлось симметричное шифрование. Ключ алгоритма должен сохраняться в секрете обеими сторонами. Ключ алгоритма выбирается сторонами до начала обмена сообщениями. Функциональная схема взаимодействия участников симметричного криптографического обмена приведена на рисунке 4.1. Рис. 4.1 Функциональная схема симметричной криптосистемы В симметричной криптосистеме секретный ключ необходимо передать всем участникам криптографической сети по некоторому защищенному каналу. В настоящее время симметричные шифры — это: – блочные шифры. Обрабатывают информацию блоками определенной длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных; – поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования на основе генератора случайных чисел. Существует не менее двух десятков алгоритмов симметричных шифров, существенными параметрами которых являются: – стойкость; – длина ключа; – число раундов; – длина обрабатываемого блока; – сложность аппаратной/программной реализации. 35 Распространенными алгоритмами симметричного шифрования являются: – DES и TripleDES (3DES); – AES (Rijndael); – ГОСТ 28147-89. В частности, AES — симметричный алгоритм блочного шифрования, принятый в качестве американского стандарта шифрования правительством США в 2002 г., до него c 1977 г. официальным стандартом США был алгоритм DES. По состоянию на 2006 г. AES является одним из самых распространенных алгоритмов симметричного шифрования. Шифры традиционных симметричных криптосистем можно разделить на следующие основные виды. 1. Шифры замены. 2. Шифры перестановки. 3. Шифры гаммирования. 4.2.1. Шифрование методом замены (подстановки) Шифр подстановки — это метод шифрования, в котором элементы исходного открытого текста заменяются зашифрованным текстом в соответствии с некоторым правилом. Элементами текста могут быть отдельные символы (самый распространенный случай), пары букв, тройки букв, комбинирование этих случаев и т. д. В классической криптографии различают четыре типа шифра подстановки [8]: – одноалфавитный шифр подстановки (шифр простой замены) — шифр, при котором каждый символ открытого текста заменяется на некоторый, фиксированный при данном ключе символ того же алфавита; – однозвучный шифр подстановки похож на одноалфавитный за исключением того, что символ открытого текста может быть заменен одним из нескольких возможных символов; – полиграммный шифр подстановки заменяет не один символ, а целую группу. Примеры: шифр Плейфера, шифр Хилла; – полиалфавитный шифр подстановки состоит из нескольких шифров простой замены. Примеры: шифр Виженера, шифр Бофора, одноразовый блокнот. В качестве альтернативы шифрам подстановки можно рассматривать перестановочные шифры. В них элементы текста переставляются в ином от исходного порядке, а сами элементы остаются неизменными. Напротив, в шифрах подстановки элементы текста не меняют свою последовательность, а изменяются сами. 36 Шифры простой замены В шифрах простой замены замена производится только над одним-единственным символом. Для наглядной демонстрации шифра простой замены достаточно выписать под заданным алфавитом тот же алфавит, но в другом порядке или, например, со смещением. Записанный таким образом алфавит называют алфавитом замены. Шифр простой замены Атбаш [9], использованный для еврейского алфавита и получивший оттуда свое название. Шифрование происходит заменой первой буквы алфавита на последнюю, второй на предпоследнюю и т. д. Шифр Атбаш для английского алфавита: Исходный алфавит: Алфавит замены: ABCDEFGHIJKLMNOPQRSTUVWXYZ ZYXWVUTSRQPONMLKJIHGFEDCBA Шифр Цезаря — один из древнейших шифров. При шифровании каждая буква заменяется другой, отстоящей от ней в алфавите на фиксированное число позиций. Шифр назван в честь римского императора Гая Юлия Цезаря, использовавшего его для секретной переписки. Общая формула шифра Цезаря имеет следующий вид: С = P + K (modM), (4.1) где P — номер символа открытого текста; С — соответствующий ему номер символа шифротекста; K — ключ шифрования (коэффициент сдвига); M — размер алфавита (для русского языка M = 32). Для данного шифра замены можно задать фиксированную таблицу подстановок, содержащую соответствующие пары букв открытого текста и шифротекста. Пример 4.1 Таблица подстановок для символов русского текста при ключе K = 3 представлена в таблице 4.1. Данной таблице соответствует формула С = P + 3 (mod32). (4.2) Таблица 4.1 Таблица подстановок шифра Цезаря для ключа K = 3 А Г Б Д В Е Г Ж Д З Е И Ж Й З К И Л Й М К Н Л О М П Н Р О С П Т Р У С Ф Т Х У Ц Ф Ч Х Ш Ц Щ Ч Ъ Ш Ы Щ Ь Ъ Э Ы Ю Ь Я Э А Ю Б Я В Согласно формуле (4.2), открытый текст «БАГАЖ» будет преобразован в шифротекст «ДГЖГЙ». 37 Дешифрование закрытого текста, зашифрованного методом Цезаря согласно (4.1), осуществляется по формуле P = C – K (modM). (4.3) Естественным развитием шифра Цезаря стал шифр Виженера. Например, шифрование с использованием ключа k = 4 будет иметь результат: Исходный алфавит: Алфавит замены: ABCDEFGHIJKLMNOPQRSTUVWXYZ EFGHIJKLMNOPQRSTUVWXYZABCD Современным примером шифра Цезаря является ROT13. Он сдвигает каждый символ английского алфавита на 13 позиций. Используется в интернет-форумах, как средство для сокрытия основных мыслей, решений загадок и пр. [9]. Шифр с использованием кодового слова является одним из самых простых как в реализации, так и в расшифровывании. Идея заключается в том, что выбирается кодовое слово, которое пишется впереди, затем выписываются остальные буквы алфавита в своем порядке. Шифр с использованием кодового слова WORD. Исходный алфавит: Алфавит замены: ABCDEFGHIJKLMNOPQRSTUVWXYZ WORDABCEFGHIJKLMNPQSTUVXYZ Как мы видим, при использовании короткого кодового слова мы получаем очень простую замену. Также мы не можем использовать в качестве кодового слова слова с повторяющимися буквами, так как это приведет к неоднозначности расшифровки, т. е. двум различным буквам исходного алфавита будет соответствовать одна и та же буква шифрованного текста. Слово COD будет преобразованно в слово RLD [10]. Шифр простой моноалфавитной замены является обобщением шифра Цезаря и выполняет шифрование по следующей схеме: C = a × P + K (modM), (4.4) где 0 a, K < M — ключ шифрования, наибольший общий делитель НОД(a, M) = 1. Пример 4.2 Пусть M = 26, a = 3, K = 6, НОД(3, 26) = 1. Тогда получаем следующую таблицу подстановок для шифра простой моноалфавитной замены. Тогда открытый текст «HOME» будет преобразован в шифротекст «BWQS». 38 Таблица 4.2 Таблица подстановок для шифра моноалфавитной замены P C A 0 6 B C D E F G H 1 2 3 4 5 6 7 9 12 15 18 21 24 1 I 8 4 G K L M N O P Q R S 9 10 11 12 13 14 15 16 17 18 7 10 13 16 19 22 25 2 5 8 T U V W X Y Z P 19 20 21 22 23 24 25 C 11 14 17 20 23 0 3 Дешифрование текста «BWQS» выполняем в порядке, обратном шифрованию, т. е. смотрим у буквы В ее номер Р, обозначим его через P*. Он равен 1. Складываем с числом М, равным 26. Получим 27. Отнимаем K, равное 6. Получаем 21. Делим на 3. Получаем число 7. Именно под этим номером стоит в исходном тексте буква Н. Аналогичные действия выполняются и над оставшимися буквами. Получаем расшифрованное слово «HOME». То есть формула дешифровки выглядит следующим образом: P = a–1 × (P* + M – K) (modM). (4.5) Шифр Гронсфельда. Данный шифр представляет собой модификацию шифра Цезаря с числовым ключом. При реализации данного шифра под буквами исходного сообщения записывают цифры числового ключа. Если ключ короче сообщения, то его запись циклически повторяют. Получение символа шифротекста осуществляют также, как это делается в шифре Цезаря, при этом смещение символа открытого текста производят на количество позиций, соответствующего цифре ключа, стоящей под ним. Пример 4.3 Пусть необходимо зашифровать исходное сообщение «НОЧЕВАЛА ТУЧКА ЗОЛОТАЯ», в качестве ключа возьмем K = 193 431. Таблица 4.3 Таблица подстановок шифра Гронсфельда для ключа K = 193 431 Сообщение Ключ Шифротекст Н О Ч Е В А Л А Т У Ч К А З О Л О Т А Я 1 9 3 4 3 1 1 9 3 4 3 1 1 9 3 4 3 1 1 9 О Ч Ь Й Е Б М Й Х Ч Ь Л Б Р С П С У Б И Для того чтобы зашифровать первую букву сообщения Н, необходимо сдвинуть ее в алфавите русских букв на число позиций, соответствующее цифре ключа, т. е. на 1, в результате чего получим букву О. Дешифрование шифротекста предполагает сдвиг его символов на необходимое число позиций в обратную сторону. 39 Шифрование методом Вернама При шифровании открытого текста каждый его символ представляется в двоичном виде [3]. Ключ шифрования также представляется в двоичной форме. Шифрование исходного текста осуществляется путем сложения по модулю 2 двоичных символов открытого текста с двоичными символами ключа: Y = PK. (4.6) Дешифрование состоит в сложении по модулю 2 символов шифротекста с ключом. Рис. 4.2 Схема системы шифрования Вернама Модификация системы шифрования Вернама используется для криптографической защиты информации в архиваторе ARJ. Формула (4.6) в этом случае принимает следующий вид: Y = P(K + VALUE), (4.7) где VALUE — фиксированное значение. Пример 4.4 Зашифруем с помощью системы Вернама открытый текст «БЛАНК» с помощью ключа «ОХ». Преобразуем открытый текст «БЛАНК» в ASCII коды: Б = 129, Л = 139, A = 128, Н = 141, К = 138. В двоичном виде последовательность 129, 139, 128, 141, 138 представится в виде 10000001 10001011 10000000 10001101 10001010. Таблица 4.4 Двоичные коды слова «БЛАНК» Символ Код 27 26 25 24 23 22 21 20 Б Л А Н К 129 139 128 141 138 128 1 1 1 1 1 64 0 0 0 0 0 32 0 0 0 0 0 16 0 0 0 0 0 8 0 1 0 1 1 4 0 0 0 1 0 2 0 1 0 0 1 1 1 1 0 1 0 40 Преобразуем ключ «ОХ» в ASCII коды: О = 142, Х = 149. В двоичном виде последовательность 142, 149 представится в виде 10001110 10010101. Подпишем циклически ключ под открытым текстом и выполним сложение по модулю 2 соответствующих битов. Таблица 4.5 Шифрование по схеме Вернама Открытый текст 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 Ключ 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 0 0 Закрытый текст 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0 0 Продолжение табл. 4.5 Открытый текст 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0 Ключ 1 1 1 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 1 0 Закрытый текст 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 4.2.2. Шифрование методами перестановки Шифрование перестановкой заключается в том, что символы открытого текста переставляются по определенному правилу в пределах некоторого блока этого текста. Данные преобразования приводят к изменению только порядка следования символов исходного сообщения. При достаточной длине блока, в пределах которого осуществляется перестановка, и сложном неповторяющемся порядке перестановки можно достигнуть приемлемой для простых практических приложений стойкости шифра. Метод простой перестановки При шифровании методом простой перестановки производят деление открытого текста на блоки одинаковой длины, равной длине ключа. Ключ длины n представляет собой последовательность неповторяющихся чисел от 1 до n. Символы открытого текста внутри каждого из блоков переставляют в соответствии с символами ключа внутри блока. Элемент ключа Ki в заданной позиции блока говорит о том, что на данное место будет помещен символ открытого текста с номером Ki из соответствующего блока. Пример 4.5 Зашифруем открытый текст «ПРИЕЗЖАЮДНЕМ» методом перестановки с ключом K = 3142. Для дешифрования шифротекста необходимо символы шифротекста перемещать в позицию, указанную соответствующим им символом ключа Ki. 41 Таблица 4.6 Шифрование методом простой перестановки 1 П 3 И 2 Р 1 П 3 И 4 Е 4 Е 2 Р 1 З 3 А 2 Ж 1 З 3 А 4 Ю 4 Ю 2 Ж 1 Д 3 Е 2 Н 1 Д 3 Е 4 М 4 М 2 Н Таблица 4.7 Дешифрование методом простой перестановки 1 И 3 П 2 П 1 Р 3 Е 4 И 4 Р 2 Е 1 А 3 З 2 З 1 Ж 3 Ю 4 А 4 Ж 2 Ю 1 Е 3 Д 2 Д 1 Н 3 М 4 Е 4 Н 2 М Алгоритм Гамильтона Весьма высокую стойкость шифрования можно обеспечить усложнением перестановок по маршрутам типа гамильтоновских. При этом для записи символов шифруемого текста используются вершины некоторого гиперкуба, а знаки зашифрованного текста считываются по маршрутам Гамильтона, причем используется восемь различных маршрутов. Размер ключа перестановки в данном случае равен восьми по числу вершин куба. Для примера два из маршрутов Гамильтона представлено на рисунке 4.3. Первому маршруту соответствует перестановка 4-0-2-3-1-5-7-6, второму 4-6-2-0-1-5-7-3 (нумерация символов в блоке осуществляется с нуля). 4 6 5 4 5 0 1 0 1 2 3 2 3 7 6 7 Рис. 4.3 Пример маршрутов Гамильтона Пример 4.6 Зашифруем открытый текст «ВОСЕМЬ МАРШРУТОВ» с помощью перестановок Гамильтона при использовании в качестве ключа двух перестановок, представленных на рисунке 4.3. Например, буква В меняется на букву М, стоящую на 4-м месте текста согласно цифре ключа, буква О меняется на букву В и т. д. 42 Таблица 4.8 Шифрование методом Гамильтона 0 В 4 М 1 О 0 В 2 С 2 С 3 Е 3 Е 4 М 1 О 5 Ь 5 Ь 6 7 М 7 М 6 0 А 4 У 1 Р 6 О 2 Ш 2 Ш 3 Р 0 А 4 У 1 Р 5 Т 5 Т 6 О 7 В 7 В 3 Р Для дешифрования используем те же ключи и постановку символов на их позиции в блоке согласно цифре ключа. При дешифровании буквы просто ставятся на свои места, а не меняются. Таблица 4.9 Дешифрование методом Гамильтона 0 М 4 В 1 В 0 О 2 С 2 С 3 Е 3 Е 4 О 1 М 5 Ь 5 Ь 6 М 7 7 0 У 4 А 6 М 1 О 6 Р 2 Ш 2 Ш 3 А 0 Р 4 Р 1 У 5 Т 5 Т 6 В 7 О 7 Р 3 В 4.2.3. Шифрование методом гаммирования Под гаммированием понимают наложение на открытые данные по определенному закону гаммы шифра (двоичного числа, сформированного на основе генератора случайных чисел) [3]. Гамма шифра — псевдослучайная последовательность, вырабатываемая по определенному алгоритму, используемая для шифровки открытых данных и дешифровки шифротекста. Общая схема шифрования методом гаммирования представлена на рисунке 4.4. Рис. 4.4 Схема шифрования методом гаммирования Принцип шифрования заключается в формировании генератором псевдослучайных чисел (ГПСЧ) гаммы шифра и наложении этой гаммы на открытые данные обратимым образом, например, путем сложения по модулю два. Процесс дешифрования данных сводится 43 к повторной генерации гаммы шифра и наложению гаммы на зашифрованные данные. Ключом шифрования в данном случае является начальное состояние генератора псевдослучайных чисел. При одном и том же начальном состоянии ГПСЧ будет формировать одни и те же псевдослучайные последовательности. Перед шифрованием открытые данные обычно разбивают на блоки одинаковой длины, например по 64 бита. Гамма шифра также вырабатывается в виде последовательности блоков той же длины. Стойкость шифрования методом гаммирования определяется главным образом свойствами гаммы — длиной периода и равномерностью статистических характеристик. Последнее свойство обеспечивает отсутствие закономерностей в появлении различных символов в пределах периода. Полученный зашифрованный текст является достаточно трудным для раскрытия. По сути дела гамма шифра должна изменяться случайным образом для каждого шифруемого блока. Обычно разделяют две разновидности гаммирования — с конечной и бесконечной гаммами. При хороших статистических свойствах гаммы стойкость шифрования определяется только длиной периода гаммы. При этом, если длина периода гаммы превышает длину шифруемого текста, то такой шифр теоретически является абсолютно стойким, т. е. его нельзя вскрыть при помощи статистической обработки зашифрованного текста, а можно раскрыть только прямым перебором. Криптостойкость в этом случае определяется размером ключа. 4.3. Элементы криптоанализа Любая попытка со стороны злоумышленника расшифровать шифротекст C и получить открытый текст М, не имея подлинного ключа, называется криптоаналитической атакой. Криптоанализ — наука о методах получения исходного значения зашифрованной информации, не имея доступа к секретной информации (ключу), необходимой для этого. В большинстве случаев под этим подразумевается нахождение ключа. Проще говоря, криптоанализ — это взламывание кода, хотя этот термин имеет и строго техническое значение. Под термином «криптоанализ» также понимается попытка найти уязвимость в криптографическом алгоритме или протоколе. Хотя основная цель осталась неизменной с течением времени, методы криптоанализа претерпели значительные изменения, эволюционировав от использовния лишь ручки и бумаги до широкого применения вычис44 лительных мощностей компьютеров в наши дни. Если раньше криптоаналитиками были большей частью лингвисты, то в наше время это удел чистых математиков. Один из широко используемых методов криптоанализа для недостаточно криптостойких алгоритмов заключается в анализе частотности символов, встречающихся в зашифрованном тексте. Особенностью большинства искусственных языков (и всех естественных) является то, что они имеют характерное частотное распределение букв и других знаков. При этом многие, недостаточно стойкие простейшие алгоритмы шифрования сохраняют частотность символов в тексте. В основном этот недостаток свойственен простейшим методам замены (например, шифру Цезаря и ему подобным). Это распределение частотности дает криптоаналитику путь к раскрытию шифра [11]. Частотное распределение букв русского и английского алфавита в художественных текстах представлено ниже. 45 Исследовав шифротекст и обнаружив, что наиболее часто встречаемый в нем символ — это «Б», а второй по встречаемости — «К», криптоаналитик может сделать вывод, что символ «Б» — это «Пробел», а «К» — это буква «о». Таким образом, путем анализа частотности символов шифротекста и сравнения их с частотностями букв русского (английского) текста можно составить таблицу замен и дешифровать шифротекст. При вскрытии шифротекста необходимо иметь в виду, что отдельные буквы имеют примерно одинаковую частоту встречаемости в текстах. Например, буквы «а» и «е», «р» и «в», «л» и «с». Для таких букв сформированные замены могут оказаться неверными. В этом случае необходим интеллектуальный эвристический анализ человеком полученного в результате дешифровки текста. Цель эвристического анализа — выявить те замены, которые оказались неверными (по смыслу текста), и сформировать верные замены. Принимая во внимание вышеприведенный факт, следует отметить, что дешифровка путем составления таблицы замен сразу всех символов закрытого текста может вызвать проблемы. Как правило, производят дешифровку первых 15–20 наиболее часто встречаемых в шифротексте символов, далее делают интеллектуальные подмены, далее остальные символы дешифруют по смыслу теста (принимая во внимание их частотности). 4.4. Современные симметричные системы шифрования При построении стойких шифров необходимо использовать два основных принципа — рассеивание и перемешивание [3]. Рассеивание предполагает распространение влияния одного знака открытого текста на множество знаков шифротекста, что позволяет скрыть статистические свойства открытого текста. Перемешивание предполагает использование таких шифрующих преобразований, которые усложняют восстановление взаимосвязи статистических свойств открытого текста и шифротекста. Обычно для достижения эффектов рассеивания и перемешивания используют шифры, реализованные в виде последовательности простых традиционных шифров, каждый из которых вносит свой вклад в суммарное рассеивание и перемешивание. Наиболее часто при этом используют традиционные шифры перестановки и замены. При многократном чередовании простых перестановок и замен, управляемых достаточно длинным секретным ключом, можно полу46 чить очень стойкий шифр с хорошим рассеиванием и перемешиванием. Большинство существующих стандартов шифрования построены в полном соответствии с данной методологией. Алгоритм, изложенный в стандарте DES (Data Encryption Standard), широко применялся до 2002 г. для шифрования данных в США [12]. Он был разработан фирмой IBM для собственных целей, но после был рекомендован к применению в качестве федерального стандарта шифрования. Алгоритм DES не является закрытым и был опубликован для широкого ознакомления. Алгоритм предназначен для шифровки и расшифровки блоков данных длиной по 64 бита под управлением 64-битового ключа, в котором значащими являются 56 бит. Дешифрование в DES выполняется путем повторения операций шифрования в обратной последовательности. Обобщенная схема шифрования алгоритма DES представлена на рисунке 4.5. Число различных ключей DES-алгоритма равно 256 = 7×1016. Недавние исследования показали, что современная технология позволяет создать вычислительное устройство стоимостью около 1 млн долл., способное вскрыть секретный ключ с помощью полного перебора в среднем за 3,5 ч. В настоящее время криптостойкость алгоритма DES не удовлетворяет реальным потребностям, в связи с чем данный алгоритм в настоящее время заменен в США на более стойкий алгоритм AES. Рис. 4.5 Обобщенная схема шифрования алгоритма DES 47 Российская Федерация имеет свой собственный стандарт симметричного шифрования. Этот стандарт закреплен ГОСТ 28147-89, принятым в 1989 г. в СССР [13]. Данный стандарт обязателен для организаций, предприятий и учреждений, применяющих криптографическую защиту данных, относящихся к государственной тайне, хранимых и передаваемых в сетях ЭВМ и в отдельных вычислительных комплексах. Помимо нескольких тесно связанных между собой процедур шифрования, в стандарте описан алгоритм выработки имитовставки. Имитовставка — криптографическая контрольная комбинация, т. е. код, вырабатываемый из исходных данных с использованием секретного ключа с целью имитозащиты, т. е. защиты данных от внесения в них несанкционированных изменений. Алгоритм предусматривает четыре режима работы: – шифрование данных в режиме простой замены; – шифрование данных в режиме гаммирования; – шифрование данных в режиме гаммирования с обратной связью; – выработка имитовставки. В ГОСТ ключевая информация состоит из двух структур данных — собственно ключа, необходимого для всех шифров, и таблицы замен. Ключ является массивом из восьми 32-битных элементов кода (всего 256 бит). Имитовставка добавляется к зашифрованным данным для обеспечения их имитозащиты. Рассмотрим вопрос качества ключевой информации и источников ключей. Ключ должен являться массивом статистически независимых битов, принимающих с равной вероятностью значения 0 и 1. Если ключи вырабатываются с помощью генератора псевдослучайных чисел, то для отбраковки ключей с плохими статистическими характеристиками могут быть использованы различные статистические критерии. На практике обычно хватает двух критериев — для проверки равновероятного распределения битов ключа между значениями 0 и 1 обычно используется критерий хи-квадрат, а для проверки независимости битов ключа — критерий серий. 4.5. Асимметричные криптосистемы 4.5.1. Принципы асимметричного шифрования Наряду с вычислительной простотой и интуитивной понятностью симметричных криптосистем, они обладают рядом серьезных 48 недостатков. К основным недостаткам симметричных криптосистем относят проблему распространения симметричных ключей и проблему их хранения [3]. При использовании симметричных криптосистем для шифрования информации между пользователями криптографической сети необходимо обеспечить безопасную передачу ключей шифрования между всеми доверенными пользователями (участниками криптографического обмена). При этом передача ключа шифрования обязательно должна осуществляться по закрытому каналу, так как перехват злоумышленником данного ключа ведет к компрометации всей криптографической сети. В связи с этим использование симметричных алгоритмов предполагает наличие взаимного доверия сторон. Вероятность компрометации ключей тем выше, чем большее количество пользователей входит в криптографическую сеть. Это является большим недостатком симметричных криптосистем. В отличие от симметричных криптосистем, асимметричные криптосистемы используют различные ключи для шифрования и дешифрования сообщений. Ключи в асимметричных криптосистемах всегда генерируются парами и состоят из двух частей — открытого ключа (ОК) и секретного ключа (СК). Ключевая пара СК ОК Открытый ключ используется для шифрования информации, является доступным для всех пользователей и может быть опубликован в общедоступном месте для использования всеми пользователями криптографической сети. Дешифрование информации с помощью открытого ключа невозможно. Секретный ключ является закрытым и не может быть восстановлен злоумышленником из открытого ключа. Этот ключ используется для дешифрования информации и хранится только у одного пользователя — сгенерировавшего ключевую пару. Функциональная схема взаимодействия участников асимметричного криптографического обмена представлена на рисунке 4.6. В данной схеме участвует получатель секретного сообщения А и отправитель секретного сообщения B. ОКА — открытый ключ пользователя А, СКА — секретный ключ пользователя А. Ключевая пара (ОКА, СКА) сгенерирована на стороне получателя А, после чего открытый ключ данной пары ОКА отправляется по открытому каналу 49 пользователю B. Предполагается, что злоумышленнику также известен открытый ключ ОКА. Рис. 4.6 Функциональная схема асимметричной криптосистемы Отправитель B, зная открытый ключ получателя А, может зашифровать на данном ключе открытый текст и переслать его пользователю А. Пользователь А с помощью своего секретного ключа, соответствующего ОКА, может дешифровать присланное пользователем B сообщение. Злоумышленник, зная ОКА и закрытый текст, не может получить доступ не к СКА, не к открытому тексту. Рисунок 4.6 отражает только одностороннюю схему взаимодействия в рамках асимметричных криптосистем. Для реализации двустороннего обмена необходима реализация следующих шагов. 1. Пользователь A генерирует ключевую пару (ОКА, СКА). 2. Пользователь B генерирует ключевую пару (ОКB, СКB). 3. Пользователи A и B должны обменяться своими открытыми ключами. Пользователь А передает свой открытый ключ ОКА пользователю B, пользователь B передает свой открытый ключ ОКB пользователю A. 4. Пользователь А шифрует информацию для пользователя B на ключе ОКB, пользователь B шифрует информацию для пользователя A на ключе ОКA. 5. Пользователь А дешифрует информацию, присланную ему от пользователя B, на ключе СКА, пользователь B дешифрует информацию, присланную ему от пользователя A, на ключе СКB. Обмен открытыми ключами в современных криптографических сетях, насчитывающих десятки и даже сотни тысяч пользователей, более удобно реализовывать, используя специально выделенные для этого центры распределения ключей. Пользователь A может выложить на центр распределения ключей свой открытый ключ и любой другой пользователь, желающий шифровать информацию для A, мо50 жет обратиться в данный центр и забрать его открытый ключ. Схема распределения ключей в данном случае может выглядеть следующим образом (рис. 4.7). Рис. 4.7 Схема распределения ОК с использованием центра распределения ключей В настоящее время все более распространенным подходом к распределению ключей становится подход, основанный на реализации инфраструктуры открытых ключей PKI и удостоверяющих центров (УЦ). У. Диффи и М. Хеллман сформулировали требования, выполнение которых обеспечивает безопасность асимметричной криптосистемы [14]. 1. Вычисление ключевой пары (ОК, СК) должно быть достаточно простым. 2. Отправитель, зная открытый ключ получателя, может легко получить шифротекст. 3. Получатель, используя свой секретный ключ, может легко из шифротекста восстановить исходное сообщение. 4. Знание открытого ключа злоумышленником не должно влиять на криптостойкость системы. При попытке вычислить злоумышленником закрытый ключ по открытому, он должен наталкиваться на непреодолимую вычислительную проблему. 5. Злоумышленник, зная шифротекст и открытый ключ, на котором осуществлялось шифрование, при попытке восстановить исходный текст должен наталкиваться на трудно преодолимую вычислительную проблему. 4.5.2. Однонаправленные функции Реализация асимметричных криптосистем основана на использовании однонаправленных функций [10]. Пусть X и Y — некоторые произвольные множества. Функция f: X Y называется однонаправленной функцией, если для любого эле51 мента x X можно легко вычислить его образ y = f(x), однако, зная элемент y Y, достаточно сложно получить его прообраз x = f –1(y), хотя такой элемент x однозначно существует, хотя бы один. Одним из основных критериев, по которому функцию f можно считать однонаправленной, является отсутствие эффективных алгоритмов обратного преобразования Y X для ряда математических функций, что не позволяет обратить данную функцию за приемлемое время. Рассмотрим несколько примеров однонаправленных функций, имеющих большое значение для криптографии. Целочисленное умножение Вычисление произведения двух очень больших целых чисел P и Q (N = P * Q) является несложной задачей для ЭВМ. Однако решение обратной задачи, заключающейся в нахождении делителей P и Q большого числа N (в особенности, когда P и Q — большие простые числа), является практически неразрешимой задачей. Если N 264 и P Q, то задача факторизации не разрешима за приемлемое время на современных ЭВМ. Поэтому целочисленное умножение можно считать однонаправленной функцией. Модульная экспонента Возведение очень большого числа A в очень большую степень x (0 A, x < M), т. е. вычисление y = Ax(modM), где модуль M — тоже большое число, является также несложной задачей для ЭВМ. Однако решение обратной задачи — нахождения степени x по известным у, A, M — является задачей дискретного логарифмирования, x = logAy, которая практически не разрешима за приемлемое время на современных ЭВМ (эффективного алгоритма вычисления дискретного логарифма пока не найдено). Поэтому модульную экспоненту можно считать также однонаправленной функцией. Рассмотрим простую интерпретацию сказанного. Пусть задано: А = 2, х = 2, М = 4. Тогда y = Ax(modM) = 0. Пусть А = 2, х = 3, М = 4. Тогда y = Ax(modM) = 0. Отсюда видно, что по у вычислить х можно только полным перебором всех вариантов, даже если известны А и М. Кроме однонаправленных функций важное значение для криптографии с открытым ключом имеют однонаправленные функции с «потайным входом», эффективное обращение которых возможно, если известен секретный «потайной ход» (секретное число или другая информация, ассоциируемая с функцией). 52 4.5.3. Алгоритм шифрования RSA Алгоритм RSA был предложен в 1978 г. Р. Райвестом, А. Шамиром, А. Адлеманом и был назван по первым буквам фамилий его авторов. Данный алгоритм стал первым алгоритмом шифрования с открытым ключом. Надежность данного алгоритма основывается на трудности факторизации больших чисел и вычисления дискретных логарифмов [15, 3]. В криптосистеме RSA открытый ключ ОК, секретный ключ СК, исходное сообщение М и шифротекст С являются целыми числами от 0 до N–1, где N — модуль. Пусть пользователь А является получателем сообщения, которое ему должен переслать отправитель B. Пользователь A должен вначале сгенерировать ключевую пару RSA, это он делает следующим образом. Алгоритм формирования ключевой пары пользователем А 1. Выбираем случайные большие простые числа P и Q. Для обеспечения максимальной безопасности P и Q выбирают примерно равной длины и хранят в секрете. 2. Вычисляем модуль N = P*Q. Формируем функцию Эйлера: (N) = (P – 1) * (Q – 1). 3. Открытый ключ ОКА выбирается случайно таким образом, чтобы выполнялись следующие условия: (4.8) 1 < ОКA < (N), НОД(ОКА, (N)) = 1. 4. Секретный ключ СКA находится по сформированному открытому ключу так, что СКАОКА (mod(N)) 1 или СКА = ОКА–1 (mod(N)). (4.9) Здесь функция mod — функция взятия остатка от деления. Пользователь A может легко сформировать СКА, зная числа P и Q, а значит и (N). Любой другой пользователь не может, зная открытый ключ ОКА вычислить СКА, так как ему не известны числа P и Q. Для их нахождения ему потребуется факторизовать известное ему большое число N, что является вычислительно сложной задачей. 53 Шифрование и дешифрование сообщений в криптосистеме RSA Для того чтобы зашифровать открытое сообщение M, отправитель B должен возвести его в степень открытого ключа пользователя А по модулю N. То есть шифрование выполняется в соответствии с формулой C = M ОК A (mod N ) . (4.10) Обращение данной функции, т. е. определение значения M по известным значениям С, ОКА, N практически не осуществимо при больших N (N ≈ 2512). Однако знание секретного ключа СКА позволяет обратить данную функцию, т. е. решить задачу дешифровки криптограммы C. Для дешифровки криптограммы С необходимо возвести ее в степень секретного ключа пользователя А по модулю N. Таким образом, дешифрование сообщения выполняется в соответствии с формулой М = С СК A (mod N ) . (4.11) Получатель А, который создает ключевую пару (ОКА, СКА), защищает два параметра: – секретный ключ СКА; – пару чисел P и Q. Рассекречивание данных чисел приводит к тому, что злоумышленник сможет вычислить ϕ(N), а значит и вычислить секретный ключ СКА согласно (4.10). Открытыми в криптосистеме RSA являются только значения ОКА и N. В настоящее время разработчики криптоалгоритмов с открытым ключом на базе RSA предлагают применять в качестве чисел P, Q, N числа длиной не менее 200–300-десятичных разрядов. Пример 4.7 Зашифруем сообщение DAC по алгоритму RSA. Для простоты вычислений будем оперировать с небольшими числами P и Q. Действия получателя А 1. Выберем P = 3 и Q = 11. 2. Найдем N = P×Q = 3×11 = 33. 3. ϕ(N) = ϕ(33) = (3 – 1) ⋅ (11 – 1) = 20. 4. В качестве ОКА необходимо выбрать значение, удовлетворяющее условиям 1 < OКA < 20, НОД(ОКА, 20) = 1. Пусть ОКА = 7. 5. Необходимо найти СКА такой, что CКA×OКA = CКA×7 ≡ ≡ 1 (mod20). 54 Этому условию удовлетворяет число СКА = 3, определяемое подбором. Оно неединственно. Действительно, 3×7 = 21 (mod20) ≡ 1. 6. Отправляем пользователю B пару чисел по открытому каналу связи (N = 33, ОКА = 7). Действия отправителя B Тогда открытый текст DAC запишется в виде последовательности чисел 413, т. е. M1 = 4, M2 = 1, M3 = 3. 1. Сформируем шифротекст по формуле (4.8): C1 = M 1OК A (mod N ) = 47 (mod 33) = 16 384 (mod 33) = 16, C2 = 17(mod33) = 1, 7 C3 = 3 (mod 33) = 2181 (mod 33) = 9. 2. B отправляет для A криптограмму {C1, C2, C3} = {16, 1, 9}. Действия пользователя A 1. Раскрываем шифротекст по формуле (4.11): M 1 = C1CК A (mod N ) = 163 (mod 33) = 4096 (mod 33) = 4, M2 = 13(mod33) = 1, M 3 = 93 (mod 33) = 729 (mod 33) = 3. Таким образом, восстановлено исходное сообщение M1 = 4 = D, M2 = 1 = A, M3 = 3 = C. Исходное сообщение — DAC. 4.6. Сравнение симметричных криптосистем с асимметричными Достоинства: – скорость (по данным Applied Cryptography — на 3 порядка выше); – простота реализации (за счет более простых операций); – меньшая требуемая длина ключа при сопоставимой стойкости; – изученность. Недостатки: – сложность управления ключами в большой сети, которые постоянно надо генерировать, передавать, хранить и уничтожать; – сложность обмена ключами. Для применения необходимо решить проблему надежной передачи ключей каждому абоненту, так как нужен секретный канал для передачи каждого ключа обеим сторонам. 55 Для компенсации недостатков симметричного шифрования в настоящее время широко применяется комбинированная (гибридная) криптографическая схема, где с помощью асимметричного шифрования передается сеансовый ключ, используемый сторонами для обмена данными с помощью симметричного шифрования. Отличительным свойством симметричных шифров является невозможность их использования для подтверждения авторства, так как ключ известен каждой стороне. 4.7. Роль простых чисел в криптографии Одной из важных вычислительных задач является проверка чисел на простоту (дано число, нужно сказать, простое оно или нет). Самый теоретически быстрый на данный момент алгоритм проверки числа, составное оно или нет, — тест Миллера — Рабина (Miller — Rabin test). Тест Миллера — Рабина — вероятностный полиномиальный тест простоты. Однако с его помощью нельзя строго доказать простоту числа. Тем не менее тест Миллера — Рабина часто используется в криптографии для получения больших случайных простых чисел. Раскладывание числа на простые сомножители практикуется достаточно широко, например, в алгоритме RSA, где стойкость схемы RSA зависит от того, можно ли быстро разложить число на простые. И процедура раскладывания на простые сомножители из-за затрат времени в силу большого числа итераций подбора является большим минусом в применении. Рассмотрим интересную методику генерации простых чисел [16], которая включает ряд правил. 1. Сцепляются два числа. Самая правая цифра есть только нечетное число, за исключением цифры 5, т. е. последней цифрой справа могут быть только: 1, 3, 7, 9. Слева это упорядоченные числа, начиная с 0 и далее. Для двухразрядного числа и левой цифры 0 правая цифра 5 допускается. 2. Из сцепленных чисел формируется множество значимых чисел М таким образом, чтобы сумма всех цифр для каждого числа, сводимая до одной цифры, была равна одной из цифр: 1, 2, 4, 5, 7, 8. То есть в массив значимых чисел не входят числа, дающие в сумме цифры: 3, 6, 9. В этот массив не входят также числа, состоящие из повторяющихся цифр, за исключением числа 11. 3. Для каждого значимого числа Х множества М формируется множество потенциально возможных его делителей. Обозначим его 56 Q. Множество Q формируется из значимых чисел меньших, Х/2, полученных ранее, возрастающих по величине и по которым принято заключение об их простоте (см. теорему 2). Множество Q наполняется числами, начиная с 3 и далее, т. е. Q = {3, 7, 11, 13, 17, 19, …, max}, max < Х/2. Х ∈ M. 4. Из множества М исключаются числа, которые имеют делителем хотя бы одно число из Q. Полученное множество обозначим М*. Множество чисел М* и есть множество простых чисел. Рассмотрим применимость предложенных правил формирования простых чисел на примерах. Начнем синтезировать простые числа. Результаты приведены в таблицах. В первом столбце по строкам таблицы 4.10 располагаются цифры от 0 до 9, далее в строке располагаются цифры 1, 3, 7, 9. На пересечении строки и столбца помещается число в соответствии с правилом конкатенации (сцепления) чисел (числа строки и цифры столбца) и согласно правилам 1–2. Массив чисел М начинается с известных простых чисел 01, 07, затем продолжается числами 11, 13, 17 и т. д. Числа 02, 03, 05 вводятся в окончательно сформированный массив М* дополнительно, как исключение. В таблицу не входят числа, нарушающие правила. Например, число 21 имеет сумму цифр, равную 3, что не допускается по правилу 2. Таблица 4.10 Генерация простых чисел х < 100 № 0 1 2 3 4 5 6 7 8 9 1 01 11 31 41 61 71 3 13 23 43 53 7 07 17 37 47 9 19 29 49 59 67 73 83 91 79 89 97 Такая таблица дает последовательность чисел М: {01, 07, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 49, 53, 59, 61, 67, 71, 73, 79, 83, 89, 91, 97}. Числа 49 и 91 являются составными, так как они делятся на число 7 — число множества Q. Остальные числа делителей не имеют и они простые, следовательно, массив М* = {1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97} есть массив простых чисел. 57 Продолжая генерировать числа, увеличиваем левое число для сцепления. Оно уже будет иметь 2 разряда с единицей слева, т. е. это будут числа {10, 11, 12, 13, 14, 15, 16, 17, 18, 19}, а в шапке таблицы 4.11 те же цифры 1, 3, 7, 9. Таблица 4.11 Генерация простых чисел 100 < x < 200 № 10 11 12 13 14 15 16 17 18 19 1 101 121 131 151 161 181 191 3 103 113 133 143 163 173 193 7 107 127 137 157 167 187 197 9 109 119 139 149 169 179 199 Ряд чисел массива М увеличился уже до числа 199. Но в него попали числа 119, 121, 133, 143, 161, 169, 187, которые подчиняются правилам 1–2, но они не подчиняются правилу 3, и их следует не включать в массив простых чисел М*. Анализ чисел таблицы 4.11 показывает: число 119 имеет делителем число 7, число 121 имеет делителем число 11, число 133 имеет делителем число 7, число 143 имеет делителем число 11, число 161 имеет делителем число 7, число 169 имеет делителем число 13, число 187 имеет делителем число 11. Исключив эти числа из рассмотрения, мы получим массив простых чисел М* = {1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199}. По аналогии генерируются простые числа и далее. Анализ результатов генерирования чисел по представленной методике дает основание для формулирования теорем. Заметим, что числа размерности более 1, оканчивающиеся на четную цифру или цифру 5, не рассматриваются на простоту, так как они заведомо составные. Теорема 1. Необходимым условием простоты любого числа размерности более 1, которое не состоит из повторяющихся цифр, за исключением числа 11, является равенство суммы его цифр, сводимой до одной из цифр: 1, 2, 4, 5, 7, 8. Теорема 2. Необходимым и достаточным условием простоты любого числа X является: 58 1) сумма всех цифр числа, сводимая до одной цифры, равна одной из цифр: 1, 2, 4, 5, 7, 8; 2) число X не имеет в качестве делителей простых чисел вида: {3, 7, 11, 13, 17, 19, 23, …, max}, где max < Х/2. Теорема 3. Необходимым и достаточным условием составного числа размерности более 1 является равенство суммы его цифр, сводимой до одной из цифр: 3, 6, 9. Пример Проверим число 1293 на предмет, простое оно или составное. Решение Сложим все цифры числа до одной цифры, получим цифру 6. Значит, число 1293 — составное на основании теоремы 3. Проверим. Для этого поделим его последовательно на числа из множества Q. Получим, что число 1293 сразу же поделилось на число 3. Значит, оно не простое, что и требовалось показать. Предложенная автором методика генерации простых чисел имеет свои преимущества по сравнению с существующими алгоритмами, а именно элементарность проверки любого числа на простоту. 59 5. КОНТРОЛЬ ЦЕЛОСТНОСТИ ИНФОРМАЦИИ. ЭЛЕКТРОННО-ЦИФРОВАЯ ПОДПИСЬ 5.1. Проблема обеспечения целостности информации В настоящее время повсеместное внедрение информационных технологий отразилось и на технологии документооборота внутри организаций и между ними, между отдельными пользователями. Все большее значение в данной сфере приобретает электронный документооборот, позволяющий отказаться от бумажных носителей (или снизить их долю в общем потоке) и осуществлять обмен документами между субъектами в электронном виде. Преимущества данного подхода очевидны: снижение затрат на обработку и хранение документов, быстрый поиск. В эпоху «информационного бума» данный подход является единственным выходом из затруднительного положения, связанного с ростом объемов обрабатываемой информации. Однако переход от бумажного документооборота к электроному ставит ряд проблем, связанных с обеспечением целостности передаваемого документа и аутентификации подлинности его автора. Как для отправителя, так и для получателя электронного сообщения необходима гарантия того, что данное сообщение не было изменено в процессе его передачи. Необходима реализация технологии документооборота, затрудняющая злоумышленнику вносить преднамеренные искажения в передаваемый документ. Если же искажения в документ были внесены, то его получатель должен иметь возможность с вероятностью, близкой к 100%, распознать этот факт. Проблема аутентификации подлинности автора сообщения заключается в обеспечении гарантии того, что никакой субъект не сможет подписаться под сообщением ничьим другим именем кроме своего. Если же он подписался чужим именем, то опять же получатель должен иметь возможность с вероятностью, близкой к 100%, распознать этот факт. В обычном бумажном документообороте эти проблемы решаются за счет того, что информация в документе и рукописная подпись автора жестко связаны с физическим носителем (бумагой). Элементами, обеспечивающими целостность передаваемых сообщений и подлинность авторства, в этом случае являются: рукописные подписи, печати, водяные знаки на бумаге, голограммы и т. д. Для электронного же документооборота жесткая связь информации с физиче60 ским носителем отсутствует, в связи с чем требуется разработка иных подходов для решения перечисленных выше проблем. Приведем несколько практических примеров, связанных с необходимостью обеспечения целостности и подлинности авторства электронных документов. Например, подача налоговой и бухгалтерской отчетности в электронном виде по телекоммуникационным каналам или передача распоряжений, указов руководством компании своим отделениям по электронной почте. В данном случае у получателя и отправителя должна быть гарантия того, что отправленное сообщение не сохранилось, например, где-либо на почтовом сервере, где его мог изменить другой пользователь и отправить по назначению далее, исходное письмо в этом случае до адресата не доходит. Рассмотрим возможности злоумышленника при реализации угроз, направленных на нарушение целостности передаваемых сообщений и подлинности их авторства [3]. 1. Активный перехват. Нарушитель, имеющий доступ к каналу связи, перехватывает передаваемые сообщения и изменяет их. 2. Маскарад. Нарушитель посылает документ абоненту B, подписавшись именем абонента A. 3. Ренегатство. Абонент А заявляет, что не посылал сообщения абоненту B, хотя на самом деле посылал. В этом случае абонент А является злоумышленником. 4. Подмена. Абонент B изменяет или формирует новый документ и заявляет, что получил его от абонента A. В этом случае в качестве недобросовестного пользователя выступает получатель сообщения B. 5. Повтор. Злоумышленник повторяет ранее переданный документ, который абонент А посылал абоненту B. Для анализа целостности информации, передаваемой по телекоммуникационным каналам связи, широко используется подход, основанный на вычислении контрольной суммы переданного сообщения и функций хеширования. Алгоритм вычисления контрольной суммы Рассмотрим алгоритм вычисления контрольной суммы (КС). КС — способ цифровой идентификации некоторой последовательности данных, который заключается в вычислении контрольного значения ее кода. С точки зрения математики КС является типом хеш-функции, используемой для вычисления контрольного кода (КК). КК есть не61 большое количество бит внутри большого блока данных, например, сетевого пакета, применяемого для обнаружения ошибок при передаче или хранении информации. Результат вычисления КС добавляется в конец блока данных непосредственно перед началом передачи или сохранения данных на каком-либо носителе информации. Впоследствии он проверяется для подтверждения целостности переданной информации. Популярность КС обусловлена тем, что подобная проверка просто реализуема в двоичном цифровом оборудовании, легко анализируется и хорошо подходит для обнаружения общих ошибок, вызванных наличием шума в каналах передачи данных. Принцип КС основан на использовании свойств двоичного многочлена, в виде которого представляется исходная битовая последовательность блока данных. При этом каждый бит такой последовательности соответствует одному из полиномиальных коэффициентов. Например, десятичное число 90 (1011010 в двоичной записи) соответствует многочлену следующего вида: P(x) = 1*x6 + 0*x5 + 1*x4 + 1*x3 + 0*x2 + 1*x1 + 0*x0. Подобным же образом в виде многочлена может быть представлен любой из блоков обрабатываемых данных. При вычислении контрольного кода по методу КС используется свойство поведения многочленов, позволяющее выполнять с ними любые арифметические действия. Контрольный код рассчитывается, как остаток от деления по модулю 2 многочлена, полученного из исходной битовой последовательности на некоторый другой заранее определенный многочлен (такой многочлен называется порождающим или примитивным). (5.1) R ( x ) ( P ( x ) x r )mod G ( x ), где R(x) — контрольный код многочлена Р(х); Р(х) — исходный многочлен; G(x) — порождающий многочлен; r — степень порождающего многочлена. Применим алгоритм к поиску КС, если задано: Р(х) = 90, х = 2. Пусть G(x) = 1*x3 + 0*x2 + 1*x1 + 0*x0. Этот полином скрыт от передачи и неизменен. r = 3, G(x) = 8 + 0 + 2 + 0 = 10. Тогда, согласно формуле (5.1), получим: R ( x ) (90 23 ) mod10 720 mod10 0. Продолжим решение и внесем изменение в передаваемую информацию, изменив только один последний бит, получим число 91 62 (1011011 в двоичной записи) соответствует многочлену следующего вида: P(x) = 1*x6 + 0*x5 + 1*x4 + 1*x3 + 0*x2 + 1*x1 + 1*x0. Далее действуем по аналогии с вышерассмотренными действиями. Будем иметь: P(x) = 91, x = 2. Пусть G(x) = 1*x3 + 0*x2 + 1*x1 + + 0*x0. r = 3, G(x) = 8 + 0 + 2 + 0 = 10. Тогда, согласно формуле (5.1), получим: R( x ) (91 23 ) mod10 728 mod10 8. Как видно из решения, при любом нарушении целостности информации меняется ее контрольная сумма, а значит будет обнаружена ошибка передачи данных. Проверка КС используется в протоколах TCP/IP сетевого и канального уровня, а также там, где необходима проверка целостности полученных данных. Для обеспечения целостности электронных документов и установления подлинности авторства необходимо использовать дополнительные методы с использованием электронно-цифровой подписи. 5.2. Функции хеширования и электронно-цифровая подпись Электронно-цифровая подпись (ЭЦП) сообщения является уникальной последовательностью, связанной с сообщением, подлежащей проверке на принимающей стороне с целью обеспечения целостности передаваемого сообщения и подтверждения его авторства. Электронно-цифровая подпись используется для аутентификации текстов, передаваемых по открытым каналам связи. Ее использование позволяет гарантировать выполнение следующих условий. 1. Лицо или процесс, идентифицируемый как отправитель электронного документа, действительно является инициатором отправления. 2. Целостность передаваемой информации не нарушена. 3. Отсутствие возможности отказаться лицу, идентифицируемому как отправитель электронного документа, от обязательств, связанных с подписанным текстом. ЭЦП представляет собой относительно небольшое количество цифровой информации, дополняющей электронный документ и передаваемой вместе с ним. Использование ЭЦП предполагает введение 63 ассиметричной системы шифрования и, следовательно, ключевой пары (ОК, СК), а также двух процедур. 1. Процедуру установки ЭЦП (подписание документа). 2. Процедуру проверки ЭЦП (аутентификация документа). Процедура установки ЭЦП использует секретный ключ отправителя сообщения, а процедура проверки ЭЦП — открытый ключ отправителя сообщения (рис. 5.1). Здесь M — электронный документ, E — электронно-цифровая подпись. Рис. 5.1 Схема использования ЭЦП В технологии ЭЦП ведущее значение имеют однонаправленные функции хеширования. Использование функций хеширования позволяет формировать криптографически стойкие контрольные суммы передаваемых сообщений. Функцией хеширования H называют функцию, сжимающую сообщение произвольной длины M в значении фиксированной длины H(M) (несколько десятков или сотен бит) и обладающую свойствами необратимости, рассеивания и чувствительности к изменениям. Значение H(M) обычно называют дайджестом сообщения M. Свойство необратимости подразумевает вычислительную трудоемкость воссоздания документа M по хеш-образу H(M), так как хеш-образ сложным образом зависит от документа M и не позволяет его восстановить. Свойство рассеивания подразумевает то, что вероятность совпадения значений хешей двух различных документов M1 и M2 должна быть чрезмерно мала. Свойство чувствительности к изменениям подразумевает то, что хеш-функция должна быть очень чувствительна к всевозможным изменениям в документе M, таким как вставки, выбросы, перестановки и т. д. Наиболее известными алгоритмами хеширования являются MD4, MD5, SHA. 64 Электронно-цифровая подпись формируется как результат шифрования дайджеста сообщения с помощью секретного ключа, ставящего подпись. Схемы процедур установки и проверки ЭЦП представлены на рисунке 5.2. Рис. 5.2 Схема процедур установки и проверки ЭЦП Таким образом, схемы установки и проверки ЭЦП выглядят следующим образом. Схема установки ЭЦП 1. Для документа М формируется дайджест (контрольная сумма) H с помощью заданного алгоритма хеширования. 2. Сформированный дайджест H шифруют на секретном ключе отправителя сообщения. Полученная в результате шифрования последовательность и есть ЭЦП. 3. Сообщение М и его ЭЦП передаются получателю сообщения. Схема проверки ЭЦП 1. Получатель для проверки ЭЦП должен иметь доступ к самому сообщению М и его ЭЦП. 2. Далее идет автоматическая проверка полученной ЭЦП на основе известного только установщику ЭЦП алгоритма хеширования, получатель получает хеш H присланного сообщения М. 3. Зная открытый ключ отправителя, получатель автоматически дешифрует ЭЦП, в результате чего получает хеш H, сформированный на этапе установки ЭЦП. 4. Критерием целостности присланного сообщения М и подтверждения его автора является совпадение хешей H и H . Если это 65 равенство не выполнено, то принимается решение о некорректности ЭЦП со всеми вытекающими отсюда последствиями. Целостность передаваемого сообщения гарантируется свойствами функции хеширования. Подлинность авторства сообщения гарантируется используемой технологией асимметричного шифрования. Злоумышленник не сможет подписаться другим пользователем, так как не имеет доступа к его секретному ключу. Следует отметить, что использование секретного ключа на этапе установки ЭЦП защищает сообщение от активных изменений. Злоумышленник уже не способен скомпрометировать контрольную сумму, в качестве которой здесь выступает дайджест сообщения. Наиболее известными алгоритмами ЭЦП являются RSA, ЭльГамаля, DSA. Отечественным стандартом ЭЦП является ГОСТ 34.1094 [17]. 5.3. Инфраструктура открытых ключей PKI Вступивший в силу с 22 января 2002 г. Федеральный закон «Об электронно-цифровой подписи» (ЭЦП) явился базовым законом, в рамках которого возможна организация защищенного документооборота на федеральном уровне. При этом ЭЦП стала иметь доказательную силу при возникновении конфликтных ситуаций. Одной из наиболее актуальных задач при реализации защищенного документооборота является реализация сервиса безопасности, отвечающего за распределение криптографических ключей. Реализация угроз, нарушающих безопасное функционирование данного сервиса, может иметь катастрофическое значение для безопасности электронного документооборота. Наиболее безопасным способом реализации данного сервиса является способ, основанный на управлении открытыми ключами третьей стороной. Систематическим, расширяемым, унифицированным и легко управляемым подходом к распределению открытых ключей стало введение сертификатов открытых ключей. Технология PKI (Public Key Infrastructure) является продуманной инфраструктурой безопасности, предназначенной для распространения ОК, управления цифровыми сертификатами и ключами пользователей. Задачей PKI является определение политики выпуска цифровых сертификатов, выдача их и аннулирование, хранение информации, необходимой для последующей проверки правильности сертификатов. В число приложений, поддерживающих PKI, входят: защищенная электронная почта, протоколы платежей, электронные чеки, элек66 тронный обмен информацией, защита данных в сетях с протоколом IP, электронные формы и документы с электронной цифровой подписью (ЭЦП). Деятельность инфраструктуры управления открытыми ключами осуществляется на основе регламента системы. Инфраструктура открытых ключей основывается на использовании принципов криптографической системы с открытым ключом. Инфраструктура управления открытыми ключами состоит из центра сертификации, конечных пользователей, центра регистрации и сетевого справочника. Использование инфраструктуры открытых ключей позволяет обеспечить выполнение следующих условий [18]. 1. Лицо или процесс, идентифицируемый как отправитель электронного документа, действительно является инициатором отправления. 2. Лицо или процесс, выступающий получателем электронного документа, действительно является тем получателем, которого имел в виду отправитель. 3. Целостность и конфиденциальность передаваемой информации не нарушена. Реализация PKI связана с решением ряда проблем. Приведем некоторые из них. 1. Инструментальные системы поддержки инфраструктуры ОК должны отвечать требованиям международных и российских стандартов. Достижение этого возможно только при использовании специальных сертифицированных программно-аппаратных компьютерных систем. 2. Распространение и хранение ключей должно производиться в юридически точно (де-юре) определенной системе на базе международных криптографических стандартов. 3. Администраторы и пользователи электронного документооборота с ЭЦП должны пройти обучение и получить соответствующие права и сертификаты. Структура, сервисы и архитектура PKI Основной информационной единицей, используемой при распространении ОК, является его цифровой сертификат. Под цифровым сертификатом понимается цифровой документ, подтверждающий соответствие открытого ключа информации, идентифицирующей владельца ключа [18]. Цифровой сертификат позволяет защитить открытый ключ от его подделки злоумышленником. Он содержит подписанную инфор67 мацию о владельце ОК, сведения об ОК, его назначении, области применения и т. д. В настоящее время количество приложений, использующих криптографические функции с открытым ключом, постоянно возрастает. Вместе с этим возрастает и количество разнородных сертификатов. Задачу единообразной организации сервиса управления сертификатами и решает инфраструктура открытых ключей. PKI представляет собой комплексную систему, обеспечивающую все необходимые сервисы для использования цифровых сертификатов, нацеленную на поддержку надежного и доверенного взаимодействия между пользователями. PKI позволяет реализовывать сервисы шифрования и выработки ЭЦП согласованно с широким кругом приложений, функционирующих в среде ОК. Основными компонентами технологии PKI являются следующие. 1. Удостоверяющий центр. 2. Регистрационный центр. 3. Реестр сертификатов. 4. Архив сертификатов. 5. Конечные субъекты. Основная функция удостоверяющего центра (УЦ) — заверение цифрового сертификата ОК субъекта своей подписью, поставленной на своем секретном ключе. УЦ является как бы нотариальной конторой, подтверждающей подлинность сторон, участвующих в обмене информацией. Любой субъект может верифицировать сертификат партнера, проверив подпись УЦ под его сертификатом. Это гарантирует то, что злоумышленник не сможет выдать себя за отправителя подписанных данных, заменив значение ОК своим. Другими функциями УЦ являются: 1) формирование собственного СК и подписанного сертификата; 2) выпуск (создание и подписание) сертификатов, подчиненных УЦ; 3) ведение базы всех изданных сертификатов и формирование списка аннулированных сертификатов. Регистрационный центр является необязательным компонентом PKI. Он может брать на себя часть функций УЦ, например, регистрацию пользователей; обеспечение их взаимодействия с УЦ; сбор и передачу УЦ информации от заявителя, вносимой в сертификат. Реестр сертификатов — специальный объект PKI, представляющий собой БД, хранящую сертификаты и списки аннулированных сертификатов. 68 Архив сертификатов выполняет функцию долговременного хранения информации обо всех изданных сертификатах. Конечные субъекты — пользователи PKI, делящиеся на две категории: владельцев сертификатов и доверяющие стороны. Владельцем сертификата может быть доверенное физическое или юридическое лицо, приложение, сервер и т. д. Система PKI должна взаимодействовать с множеством различных приложений: программное обеспечение групповой работы, электронной почты, сетей VPN и т. д. Наиболее общая функциональная схема взаимодействия компонентов PKI представлена на рисунке 5.3. Наиболее часто используемым подходом к реализации PKI является подход, основанный на сертификатах формата X.509. Рис. 5.3 Взаимодействие компонентов PKI Формат сертификата открытого ключа X.509.V3 определен в документе RFC 3280 Certificate & CRL Profile. Он представляет собой структурированную двоичную запись, содержащую ряд полей с элементами данных, сопровождаемыми цифровой подписью издателя сертификата. Структура сертификата X.509.V3 представлена в таблице 5.1. Каждый раз при использовании сертификата необходимо верифицировать его подпись, а также то, что сертификат является действующим. Сертификаты, срок действия которых истек, должны ан69 нулироваться УЦ. Сертификат может также аннулироваться до истечения срока своего действия, например, при компрометации секретного ключа, увольнении служащего организации и т. д. Таблица 5.1 Структура сертификата X.509.V3 Номер Имя поля поля 1 Номер версии сертификата 2 Уникальный серийный номер сертификата 3 Идентификатор алгоритма ЭЦП, используемого для защиты сертификата от подделки 4 Имя издателя, выпустившего данный сертификат 5 Период действия сертификата (дата начала/дата конца действия) 6 Имя владельца секретного ключа, соответствующего ОК 7 Открытый ключ субъекта 8 Уникальный идентификатор издателя 9 Уникальный идентификатор субъекта 10 Расширения (дополнительная информация, определяющая наличие у владельца сертификата прав доступа к той или иной системе, и др.) 11 ЭЦП сертификата Программные средства поддержки PKI Процесс развертывания PKI осуществляется на выбранных программных и программно-аппаратных средствах. Наиболее известными продуктами, на базе которых разворачивается инфраструктура открытых ключей, являются следующие. 1. Entrust/PKI фирмы Entrust Technologies. 2. Baltimore UniCERT фирмы Baltimore Technologies LTD. 3. BT TrustWise Onsite фирмы VeriSign Inc. 4. IBM Trust Authority. 5. RSA Keon Certification Authority фирмы RSA Security Inc. 6. VCERT PKI компании ЗАО «МО ПНИЭИ». 7. Семейство продуктов «КриптоПро». Для российских условий наиболее адаптированным и полнофункциональным продуктом, на базе которого можно развернуть инфраструктуру открытых ключей, является «КриптоПро». Программный комплекс «Удостоверяющий центр „КриптоПро УЦ“» позволяет в полном объеме реализовать инфраструктуру открытых ключей. В состав «КриптоПро УЦ» входят следующие компоненты. 1. Центр сертификации. 2. Центр регистрации. 70 3. АРМ администратора. 4. АРМ пользователя. 5. Программный интерфейс взаимодействия с УЦ. Архитектура «КриптоПро УЦ» представлена на рисунке 5.4. Рис. 5.4 Архитектура удостоверяющего центра «КриптоПро» 71 6. ХРАНЕНИЕ И РАСПРЕДЕЛЕНИЕ КЛЮЧЕВОЙ ИНФОРМАЦИИ 6.1. Типовые схемы хранения ключевой информации Рассмотрим типовые схемы хранения ключевой информации в открытых КС на примере хранения информации для аутентификации пользователей. Предположим, что i-й аутентифицируемый субъект содержит два информационных поля: IDi — неизменяемый идентификатор i-гo пользователя, который является аналогом имени и используется для идентификации пользователя, и Ki — аутентифицирующая информация пользователя, которая может изменяться и служит для аутентификации. Пара (IDi, Ki) составляет базовую информацию, относящуюся к учетной записи пользователя, которая хранится в базе данных аутентификации компьютерной системы. Базу данных аутентификации в открытых компьютерных системах (не использующих специализированных аппаратных средств) приходится хранить в некотором объекте файловой системы ПК. Это приводит к потенциальной возможности реализации угроз, направленных на кражу базы данных аутентификации злоумышленником и ее дальнейшего исследования. Базу данных аутентификации в КС необходимо защищать от двух основных видов угроз. 1. Угрозы прямого доступа к базе данных аутентификации с целью ее копирования, исследования, модификации. Реализация защиты от данного вида угроз в операционных системах (ОС), которая подразумевает контроль доступа к базе данных аутентификации на уровне операционной системы и запрет любого доступа к этим базам за исключением привилегированных системных процессов. В ОС типа UNIX защита от подобных угроз реализуется путем соответствующего определения дискреционной политики безопасности. Однако следует отметить, что реализация данных защит практически никогда не работает корректно. Например, базу данных аутентификации ОС, построенных на технологии NT, злоумышленник может получить с помощью специализированных утилит из реестра, куда она копируется при загрузке ОС, либо загрузившись с другого 72 носителя. В связи с этим при защите баз данных аутентификации большее внимание уделяется защите от второго вида угроз. При этом предполагается, что злоумышленник смог получить доступ к содержимому базы данных аутентификации. 2. Угрозы исследования содержимого базы данных аутентификации. Пароли доступа не могут храниться в прямом виде в базе данных аутентификации, так как злоумышленник может получить доступ к этой базе и раскрыть все пароли. При хранении пароли должны закрываться. Такой метод закрытия паролей, как шифрование, не обладает необходимой стойкостью, так как шифрование должно производиться на некотором ключе, который также необходимо где-то хранить, следовательно, существует потенциальная возможность раскрытия ключа шифрования злоумышленником. Кроме этого желательно, чтобы подсистема аутентификации пользователя не осуществляла сравнение введенного пользователем пароля с реальным паролем непосредственно в оперативной памяти, так как существующие средства отладки типа SoftIce позволяют отладить в пошаговом режиме процедуру аутентификации и получить доступ к реальным паролям (узнать, что хочет видеть компьютерная система на этапе аутентификации). Таким образом, закрытие паролей в базах данных аутентификации должно осуществляться методами, отличными от шифрования, и так, чтобы эталонные пароли не были известны даже самой подсистеме аутентификации. С другой стороны, подсистема аутентификации должна однозначно определять корректность введенного пароля, не зная эталонного. Существует две типовые схемы хранения ключевой информации в базах данных аутентификации, позволяющие решить эти задачи [19]. Схема 1. В компьютерной системе выделяется объект-эталон для идентификации и аутентификации. Структура объекта-эталона может быть представлена в виде таблицы 6.1. Таблица 6.1 Первая типовая схема хранения ключевой информации Номер пользователя 1 2 … N Информация для идентификации ID1 ID2 … IDN 73 Информация для аутентификации E1 E2 … EN Ei = F(IDi, Ki), где F — некоторая функция хеширования. При этом, зная Ei и IDi, вычислительно невозможно восстановить Ki. Таким образом, в базе данных аутентификации вместо эталонных паролей Ki хранится результат их одностороннего преобразования. В качестве односторонней функции для хеша в Windows NT используется алгоритм хеширования MD4. Алгоритм идентификации и аутентификации для схемы 1 1. Пользователь предъявляет свой идентификатор ID. 2. Если ID не совпадает ни с одним IDi, зарегистрированным в компьютерной системе, то идентификация отвергается — пользователь не допущен к работе, иначе (существует IDi = ID) устанавливается факт «пользователь, назвавшийся пользователем i, прошел идентификацию». 3. Субъект аутентификации запрашивает у пользователя аутентификатор K и вычисляет значение Y = F (IDi, K). 4. Субъект аутентификации проходит сравнение Еi и Y. При совпадении фиксируется событие «пользователь успешно аутентифицирован в системе», в противном случае аутентификация отвергается и пользователь не допускается к работе. Вторая типовая схема хранения ключевой информации несколько модифицирует схему 1. Схема 2. В компьютерной системе выделяется объект-эталон, структура которого показана в таблице 6.2. Таблица 6.2 Вторая типовая схема хранения ключевой информации Номер пользователя 1 2 … N Информация для идентификации ID1, S1 ID2, S2 … IDN, SN Информация для аутентификации E1 E2 … EN В данной таблице Еi = F (Si, K), где Si — случайный вектор, формируемый при регистрации пользователя с номером i; F — необратимая функция, для которой невозможно восстановить K по Ei и Si. Алгоритм идентификации и аутентификации для схемы 2 1. Пользователь предъявляет свой идентификатор ID. 2. Если ID не совпадает ни с одним IDi, зарегистрированным в компьютерной системе, то идентификация отвергается — пользователь не допущен к работе, иначе (существует IDi = ID) устанавлива74 ется факт «пользователь, назвавшийся пользователем i, прошел идентификацию». 3. По идентификатору IDi из базы данных аутентификации выделяется информация Si. 4. Субъект аутентификации запрашивает у пользователя аутентифицирующую информацию K и вычисляет значение Y = F(Si, K). 5. Субъект аутентификации сравнивает Ei и Y. При совпадении фиксируется событие «пользователь успешно аутентифицирован в КС», в противном случае аутентификация отвергается и пользователь не допускается к работе. Достоинством второй схемы является то, что даже в случае выбора пользователями одинаковых паролей информация Ei для них будет различаться. В рамках первой же схемы значение Ei = F(IDi, Ki), как правило, вычисляют в виде Ei = F(Ki), что не позволяет достичь такого результата. Вторая схема хранения ключевой информации используется для защиты базы данных аутентификации в ОС UNIX. Если для защиты паролей используются криптографически стойкие функции F, то единственно возможным способом взлома ключевой системы является полный перебор ключей. В этом случае злоумышленник должен последовательно перебирать ключи K, для каждого из ключей формировать информацию E, закрывая его по известному алгоритму, и сравнивать полученную информацию E с информацией для аутентификации Ei. Покажем, к чему может привести использование криптографически нестойких алгоритмов хеширования в качестве функции F. Пример 6.1 Для защиты книг Microsoft Excel используется подход к защите пароля, аналогичный схеме 1. В документе Excel хранится хеш-образ пароля, с которым производится сравнение хеша пароля, вводимого пользователем при снятии данной защиты. Длина хеша составляет 16 бит. Для взлома данной защиты достаточно просто записать на место хранения хеш-образа эталонного пароля заранее вычисленный хеш-образ известного пароля, либо хеш-образ, соответствующий беспарольному варианту. Так и поступают многочисленные взломщики защит документов Word и Excel. 6.2. Защита баз данных аутентификации в ОС Windows NT и UNIX Остановимся на протоколах, используемых при сетевой аутентификации. 75 NTLM (NT LAN Manager) является протоколом сетевой аутентификации, разработанным фирмой Microsoft для Windows NT (New Technology). NTLM — это результат дальнейшего развития протокола LANMAN. Для передачи на сервер аутентификации (англ. Primary Domain Controler (PDC) — главный контроллер домена) имени пользователя, хеша пароля и мандата домена в Windows 98 применяется протокол LANMAN, а в Windows NT — протокол NTLM. Windows 2000 и Windows XP по умолчанию делают попытку аутентификации Kerberos (только в случае, когда станция является членом домена), в то же время они сохраняют обратную совместимость с аутентификацией NTLM. Проверка подлинности NTLM по-прежнему поддерживается и обязательна для использования на системах, работающих под управлением Windows NT Server 4.0 или более ранних версий, а также для компьютеров, настроенных как члены рабочих групп. Проверка подлинности NTLM также используется для проверки подлинности при входе на изолированных системах. База данных аутентификации в ОС, построенных на технологии NT, имеет название SAM (Security Accounts Manager) и располагается в каталоге Winnt\System32\Config\. Информация в этой базе данных хранится в служебном формате, а доступ к ней ограничен со стороны ОС. Любое обращение к этой базе со стороны пользователя (копирование, чтение, запись и т. д.) блокируется. Кроме этого, данная база данных при загрузке ОС копируется в реестр. Существующие средства в Windows NT, ограничивающие доступ к базе данных SAM, не работают корректно, и злоумышленник обходными путями может получить доступ к этой базе данных, в том числе и скопировать ее для последующего анализа. Windows NT — линейка операционных систем (ОС) производства корпорации Microsoft и название первых версий ОС. Windows NT дала начало семейству операционных систем, в которое входят: собственно Windows NT, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8, Windows 8.1, Windows Server 2012. Рассмотрим реализованный Microsoft способ защиты баз данных аутентификации SAM от несанкционированного изучения. В базе данных аутентификации SAM для каждой учетной записи пользователя хранится два вида хешей пароля — хеш LANMAN, ис76 пользуемый для аутентификации сетевых служб и совместимости с ранее разработанными ОС Windows 9x, и хеш NTLM, используемый при локальной аутентификации пользователя. Алгоритм хеширования LANMAN Рис. 6.1 Схема алгоритма хеширования LANMAN Шаг 1. Пользовательский пароль преобразуется путем замены всех малых символов, входящих в него, большими. Шаг 2. Результат преобразуется в 14-символьную цепочку. Если пароль длиннее 14 символов, то лишние символы урезаются; если короче, то недостающие позиции заполняются нулями. Шаг 3. Полученная цепочка из 14 символов делится на два блока по 7 символов, каждый из которых в дальнейшем обрабатывается независимо. Шаг 4. Каждый из сформированных блоков используется в качестве ключа шифрования алгоритма DES. На выходе формируются два блока по 8 байт. Шаг 5. Конкатенация двух 8-байтных блоков является хешем LANMAN (16 байт). В алгоритме LANMAN используется свойство стойкости к атакам по открытому тексту алгоритма DES для формирования закры77 тых паролей. Даже зная 8-байтную последовательность, которая шифруется по данному алгоритму, восстановление ключа шифрования возможно только полным перебором. Алгоритм хеширования NTLM В алгоритме NTLM символы не преобразуются к верхнему регистру и могут быть любыми. Разбивка на два блока здесь также не используется. В качестве алгоритма хеширования использован алгоритм MD4. Рис. 6.2 Схема алгоритма хеширования NTLM Следует отметить, что для совмещения с прошлыми версиями Windows в базе данных SAM хранятся оба хеша — LANMAN и NTLM (за исключением паролей длины, большей 14). Поэтому наличие хеша NTLM в SAM никак не усиливает защиту, взломать ее злоумышленник может также быстро, подобрав вначале хеш LANMAN и определив пароль с приближением к верхнему регистру, затем найти истинный пароль, подобрав хеш NTLM путем перекомбинации больших и малых букв. 6.3. Алгоритмы хеширования MD4, MD5 MD4 (Message Digest 4) — хеш-функция, разработанная профессором Р. Ривестом в 1990 г. Для произвольного входного сообщения функция генерирует 128-разрядное хеш-значение, называемое дайджестом сообщения. Этот алгоритм используется в протоколе аутентификации MS-CHAP, разработанном корпорацией Microsoft для выполнения процедур проверки подлинности удаленных рабочих станций Windows. Алгоритм MD4 является предшественником алгоритма MD5 [20]. Хеширование с MD4 состоит из 48 таких операций, сгруппированных в 3 раунда по 16 операций. F — нелинейная функция; в каждом раунде функция меняется. Mi означает 32-битный блок входного сообщения, а Ki — 32-битная константа, различная для каждой операции. 78 Рис. 6.3 Одна операция MD4 Алгоритм MD4 состоит из следующих шагов. 1. Добавление недостающих битов. 2. Добавление длины сообщения. 3. Инициализация MD-буфера. 4. Обработка сообщения блоками по 16 слов. 5. Формирование хеша. Безопасность Уровень безопасности, закладывавшийся в MD4, был рассчитан на создание достаточно устойчивых гибридных систем электронной цифровой подписи, основанных на MD4 и криптосистеме с открытым ключом. Р. Ривест считал, что алгоритм хеширования MD4 можно использовать и для систем, нуждающихся в сильной криптостойкости. Но в то же время он отмечал, что MD4 создавался прежде всего, как очень быстрый алгоритм хеширования, поэтому он может быть недостаточно хорош в плане криптостойкости. Что подтвердилось дальнейшими исследованиями. Поэтому для приложений, где важна прежде всего криптостойкость, стал использоваться алгоритм MD5. Сравнение алгоритмов MD4 и MD5 MD4 использует три цикла из 16 шагов каждый, в то время как MD5 использует четыре цикла из 16 шагов каждый. В MD4 дополнительная константа в первом цикле не применяется. Аналогичная дополнительная константа используется для каждого из шагов во втором цикле. Другая дополнительная константа используется для каждого из шагов в третьем цикле. В MD5 различ 79 ные дополнительные константы, Т[i], применяются для каждого из 64 шагов. MD5 использует четыре элементарные логические функции, по одной на каждом цикле, по сравнению с тремя в MD4, по одной на каждом цикле. В MD5 на каждом шаге текущий результат складывается с результатом предыдущего шага. MD4 это сложение не включает. Алгоритм MD5 уязвим к некоторым атакам, например, возможно создание двух сообщений с одинаковой хеш-суммой. MD5-хеши Хеш содержит 128 бит (16 байт) и обычно представляется как последовательность из 32 шестнадцатеричных цифр. Несколько примеров хеша: MD5(«md5») = 1bc29b36f623ba82aaf6724fd3b16718. Даже небольшое изменение входного сообщения (в нашем случае на один бит: ASCII символ «5» с кодом 0x3516 = 0001101012 заменяется на символ «4» с кодом 0x3416 = 0001101002) приводит к полному изменению хеша. Такое свойство алгоритма называется лавинным эффектом. MD5(«md4») = c93d3bf7a7c4afe94b64e30c2ce39f4f. Пример MD5-хеша для «нулевой» строки: MD5(«») = d41d8cd98f00b204e9800998ecf8427e. 6.4. Иерархия ключевой информации. Распределение ключей Другой подход, достаточно часто используемый для хранения ключевой информации, состоит в шифровании ключей и хранении их в зашифрованном виде. Кроме этого, данный подход часто используют для распределения ключевой информации в криптографических сетях. Необходимость в хранении и передаче ключевой информации, зашифрованной с помощью других ключей, привела к развитию концепции иерархии ключей. Иерархия ключевой информации может включать множество уровней, однако, наиболее часто выделяют: – главные ключи (мастер-ключи); – ключи шифрования ключей; – рабочие ключи (сеансовые). Сеансовые ключи находятся на самом нижнем уровне и используются для шифрования данных. Когда эти ключи необходимо без80 опасным образом передать между узлами сети или безопасно хранить, их шифруют с помощью ключей следующего уровня — ключей шифрования ключей. На верхнем уровне иерархии ключей располагается мастерключ. Этот ключ применяют для шифрования ключей шифрования, когда требуется безопасно хранить их на диске. Обычно в каждом компьютере используется только один мастер ключ, который содержится на внешнем носителе, как правило, защищенном от несанкционированного доступа. Значение мастер-ключа фиксируется на длительное время (до нескольких недель или месяцев). Сеансовые ключи меняются намного чаще, например, при построении криптозащищенных туннелей их можно менять каждые 10–15 мин либо по результатам шифрования заданного объема трафика (например, 1 Мб). Распределение ключей является очень ответственным процессом в управлении ключами. Одним из основных требований к реализации этого процесса является сокрытие распределяемой ключевой информации. Задача распределения ключей сводится к построению протокола распределения ключей, обеспечивающего: 1) взаимное подтверждение подлинности участников сеанса; 2) подтверждение достоверности сеанса для защиты от атак методом повторов; 3) использование минимального числа сообщений при обмене ключами. Вообще говоря, выделяют два подхода к распределению ключевой информации в компьютерной сети. 1. Распределение ключевой информации с использованием одного либо нескольких центров распределения ключей. 2. Прямой обмен сеансовыми ключами между пользователями. Распределение ключевой информации с использованием центров распределения ключей Данный подход предполагает, что центру распределения ключей известны распределяемые ключи, в связи с чем все получатели ключевой информации должны доверять центру распределения ключей. Достоинством данного подхода является возможность централизованного управления распределением ключевой информацией и даже политикой разграничения доступа удаленных субъектов друг к другу. 81 Данный подход реализован в протоколе Нидхема — Шредера и базирующемся на нем протоколе аутентификации Kerberos. Распределение ключевой информацией и разграничение доступа основывается в данных протоколах на выдаче мандатов центром распределения ключей. Использование данных протоколов позволяет безопасно распределить сеансовые ключи даже в случае взаимного недоверия двух взаимодействующих сторон. Прямой обмен сеансовыми ключами между пользователями Для возможности использования при защищенном информационном обмене между противоположными сторонами криптосистемы с секретным ключом взаимодействующим сторонам необходима выработка общего секрета, на базе которого они смогут безопасно шифровать информацию или безопасным образом вырабатывать и обмениваться сеансовыми ключами. В первом случае общий секрет представляет собой сеансовый ключ, во втором случае — мастер-ключ. В любом случае злоумышленник не должен быть способен, прослушивая канал связи, получить данный секрет. Для решения проблемы выработки общего секрета без раскрытия его злоумышленником существует два основных способа: – использование криптосистемы с открытым ключом для шифрования; – использование протокола открытого распространения ключей Диффи — Хеллмана. Реализация первого способа не должна вызывать вопросов. Рассмотрим более подробно реализацию второго способа. Протокол Диффи — Хеллмана Протокол Диффи — Хеллмана был первым алгоритмом работы с открытыми ключами (1976 г.). Безопасность данного протокола основана на трудности вычисления дискретных логарифмов [4]. Пусть пользователи A и B хотят выработать общий секрет. Для этого они выполняют следующие шаги. Стороны A и B договариваются об используемом модуле N, а также о примитивном элементе g, 1 g N, степени которого образуют числа от 1 до N–1. 1. Числа N и g являются открытыми элементами протокола. 2. Пользователи A и B независимо друг от друга выбирают собственные секретные ключи СКA и CКB (случайные большие целые числа, меньшие N, хранящиеся в секрете). 82 3. Пользователи A и B вычисляют открытые ключи ОКА и OКB на основании соответствующих секретных ключей по следующим формулам: OК A = g CК A (mod N ); OК B = g CК B (mod N ) . 4. Стороны A и B обмениваются между собой значениями открытых ключей по незащищенному каналу. 5. Пользователи A и B формируют общий секрет K по формулам: Пользователь A: K = ( OК B ) CК A ( mod N ) = ( g CК ) B CК A ( mod N ) = g CК CК ( mod N ) . B A Пользователь B: K = ( OК A ) CК B ( mod N ) = ( g CК ) A CК B ( mod N ) = g CК CК ( mod N ) . A B Ключ K может использоваться в качестве общего секретного ключа (мастер-ключа) в симметричной криптосистеме. Пример 6.2 Возьмем модуль N = 47 и примитивный элемент g = 23. Пусть пользователи A и B выбрали свои секретные ключи СКА = 12, СКВ = 33. Тогда ОК А = g CК A (mod 47) = 2312 (mod 47) = 27, ОК B = g CК B (mod 47) = 2333 (mod 47) = 33 . В данном случае общий секрет будет иметь вид K = ( OК B ) CК A (mod N ) = 3312 (mod 47) = 25 . Алгоритм открытого распределения ключей Диффи — Хеллмана позволяет обойтись без защищенного канала для передачи ключей. Однако необходима гарантия того, что получатель получил открытый ключ именно от того отправителя, от которого он его ждет. Данная проблема решается с помощью цифровых сертификатов и технологии ЭЦП. Протокол Диффи — Хеллмана нашел эффективное применение в протоколе SKIP управления ключами. Данный протокол используется при построении криптозащищенных туннелей в семействе продуктов «Застава». 83 6.5. Протоколы безопасной удаленной аутентификации пользователей Одной из важнейших задач при удаленной аутентификации пользователей является обеспечение подлинности канала связи. Решение этой задачи путем передачи по каналу связи секретного ключа в закрытом виде (в зашифрованном или в виде хеш-образа) не является стойким к атакам, так как злоумышленник, слушая канал связи, может реализовать атаку методом повторов. Для обеспечения подлинности канала связи и защиты от атак повторами обычно используют метод запрос-ответ либо механизм отметки времени. Механизм запрос-ответ заключается в том, что пользователь A при необходимости аутентификации пользователя B посылает ему запрос, в который включает непредсказуемый элемент (как правило, случайное число). Пользователь B должен ответить на этот запрос, предварительно выполнив некую обработку этого элемента. При этом злоумышленник не способен подделать ответ, так как в механизм обработки запроса включена секретная информация. После проверки результата пользователем A, присланным пользователем B, выполняется подтверждение или неподтверждение подлинности сеанса работы. Механизм отметки времени заключается в том, что для каждого пересылаемого сообщения фиксируется время. Это позволяет каждому субъекту сети определить, насколько старо пришедшее сообщение, и отвергнуть его, если появится сомнение в его подлинности. Рассмотрим ряд протоколов удаленной аутентификации пользователей. Протокол CHAP (Challenge Handshaking Authentication Protocol). Предполагается, что аутентифицируемая сторона (клиент) и аутентифицирующая (сервер) уже обладают общим секретом (например, паролем доступа к серверу). Задача состоит в безопасной удаленной аутентификации клиента, проверке его подлинности путем проверки знания общего секрета. Рис. 6.4 Схема протокола CHAP 84 1. При необходимости прохождения аутентификации сервер посылает сообщение «запрос» клиенту, в которое включает случайный, уникальный и непредсказуемый номер N. 2. Клиент обрабатывает запрос сервера и формирует ответную последовательность, хешируя пароль и случайный номер N с помощью алгоритма MD5, т. е. вычисляет значение MD5(K, N). 3. Клиент отправляет серверу для аутентификации пакет «ответ», в который включает вычисленное значение MD5(K, N). 4. Сервер, зная эталонный пароль клиента и посланное ему значение N, также вычисляет значение MD5(K, N) и сравнивает его с присланным клиентом. По результатам сравнения сервер принимает решение о прохождении либо непрохождении этапа аутентификации клиентом. Использование в протоколе случайного числа N практически исключает возможность пересылки от клиента к серверу одинаковых последовательностей в течение длительного времени. Злоумышленник же, зная число N, не сможет восстановить ответ клиента, так как не знает секретного ключа K. В силу высокой криптостойкости функции хеширования MD5, злоумышленник, зная число N и значение MD5(K, N), не сможет восстановить ключ K. Протокол одноразовых ключей S/KEY. Протокол одноразовых ключей S/KEY основан на независимом формировании клиентом и сервером последовательности одноразовых паролей, основанной на общем секрете K. При этом знание злоумышленником очередного пароля, пересылаемого на фазе аутентификации, не дает ему возможности выяснить следующий пароль. Пусть K — пароль аутентификации, известный как подлинному клиенту, так и серверу. Клиент и сервер на основании ключа K могут вычислить последовательность из M одноразовых ключей S1, ..., SM следующим образом [21]: S1 = MD4(K), S2 = MD4(S1) = MD4(MD4(K)) = MD42(K), ... SM = MD4(SM – 1) = MD4M(K). Если клиент будет пересылать серверу на этапе аутентификации одноразовые пароли в обратной последовательности: при первой аутентификации SM, затем SM – 1, ..., S1, то знание злоумышленником очередного пароля Si не позволит восстановить ему пароль Si – 1, который будет ожидаться сервером при следующей аутентификации, так 85 как для этого ему потребуется обратить функцию хеширования MD4, что является вычислительно трудоемкой задачей. Поэтому описанный подход может быть использован для решения задачи безопасной удаленной аутентификации пользователя. Недостатком описанной выше схемы является то, что после исчерпания всех одноразовых паролей (после M последовательных аутентификаций) необходимо менять общий секрет K, так как если пароли начнут передаваться заново, начиная с SM, то злоумышленник, слушая канал связи, будет уже знать всю предысторию передаваемых паролей, и сможет пройти аутентификацию. Для устранения данного недостатка используют подход, основанный на передаче случайного числа N от клиента к серверу в момент формирования списка одноразовых паролей, и использование данного числа как второго аргумента функции хеширования MD4. Схема аутентификации клиента с помощью протокола S/KEY будет выглядеть в данном случае следующим образом. 1. Сервер высылает клиенту число M одноразовых паролей и случайное число N, используемое для генерирования уникального и непредсказуемого списка. 2. Клиент и сервер генерируют последовательность из M одноразовых паролей следующим образом: S1 = MD4(K, N), S2 = MD4(S1, N) = MD4(MD4(K, N)) = MD42(K, N), ... SM = MD4(SM – 1, N) = MD4M(K, N). 3. При необходимости аутентификации сервер посылает клиенту число t, в ответ клиент посылает серверу одноразовый пароль St. Сервер, анализируя принятую информацию, принимает решение о принятии либо отказе аутентификации. 4. В следующий раз сервер требует на этапе аутентификации пароль St – 1 ..., пока не дойдет до S1. 5. Если список одноразовых паролей исчерпан (переслали S1), то клиентом и сервером выполняется повторная инициализация списка одноразовых паролей (при другом N). Реализация метода «запрос-ответ» в OC Windows при сетевой аутентификации Метод «запрос-ответ» используется в OC Windows при удаленной аутентификации пользователя, подключающегося к сетевым ресурсам общего пользования, с более старых ОС. При этом использу86 ется аутентификация с помощью хеша LANMAN. Схема данного метода представлена на рисунке 6.5. Рис. 6.5 Реализация метода «запрос-ответ» в OC Windows Шаг 1. Клиент запрашивает разрешение у сервера на подключение к сетевому ресурсу общего пользования. Шаг 2. Сервер отвечает случайным 8-байтовым числом. Шаг 3. У клиента открывается окно для ввода идентификатора и пароля. Шаг 4. Клиент формирует 24-байтный ответ серверу на основе следующего алгоритма. Алгоритм формирования ответа 1. Пароль, введенный пользователем, хешируется на стороне клиента с помощью алгоритма хеширования LANMAN. В результате этого формируется 16-байтовая свертка пароля. 2. Полученный 16-байтовый хеш разбивается на 3 блока по 56 бит (рис. 6.6). Последний блок до 56 бит дополняется нулями. Рис. 6.6 Разбивка хеша LANMAN на три блока 3. Пришедший от сервера 8-байтовый ответ шифруется 3 раза с помощью трех ключей шифрования (представляющих собой три полученных на шаге 2 блока хеша LANMAN) по алгоритму DES. В результате этого формируется 24-байтный ответ, отправляемый серверу (рис. 6.7). 87 Рис. 6.7 Алгоритм формирования ответа серверу Шаг 5. Сервер, получив ответ от клиента, может проверить его корректность, а по результатам проверки подтвердить либо отклонить аутентификацию. Кроме рассмотренных выше протоколов безопасной удаленной аутентификации пользователей, широкое распространение получил также протокол аутентификации Kerberos. 88 7. ЗАЩИТА ОТ РАЗРУШАЮЩИХ ПРОГРАММНЫХ ВОЗДЕЙСТВИЙ 7.1. Понятие разрушающего программного воздействия Важным моментом при работе прикладных программ, и в особенности средств защиты информации, является необходимость обеспечения потенциального невмешательства иных, присутствующих в компьютерной системе прикладных или системных программ, в процесс обработки информации. Под несанкционированным доступом (НСД) понимают действия по использованию, изменению и уничтожению информации защищенной компьютерной системы, производимые субъектом, не имеющим права на такие действия. Под опосредованным НСД понимают несанкционированный доступ злоумышленника к информации, произведенный посредством предварительно внедренной в систему программы (или нескольких программ). Например, предварительно внедренная злоумышленником в компьютерную систему программа может перехватывать пароли, вводимые с клавиатуры легальным пользователем, и сохранять их в заранее известном и доступном злоумышленнику месте. Затем злоумышленник использует эти пароли для несанкционированного входа в систему. Опосредованный НСД, как правило, реализуется с использованием особого класса программ, которые способны выполнять любую из перечисленных ниже функций: 1) скрывать признаки своего присутствия в программной среде компьютерной системы; 2) реализовывать само дублирование или ассоциирование себя с другими программами и/или выполнять перенос своих фрагментов в иные области оперативной или внешней памяти. При этом под самим дублированием понимается процесс воспроизведения программой своего собственного кода в оперативной или внешней памяти компьютерной системы; 3) разрушать код иных программ в оперативной памяти компьютерной системы; 4) переносить фрагменты информации из оперативной памяти в некоторые области оперативной или внешней памяти прямого доступа; 89 5) иметь потенциальную возможность исказить, заблокировать и/или подменить выводимый во внешнюю память или в канал связи массив информации. Такие программы называются программами с потенциально опасными последствиями, программными закладками, разрушающими программными воздействиями (РПВ). Условно их можно разделить на три класса. 1. Вирусы. Особенностью данного класса программ является его ненаправленность на конкретные программы и также то, что во главу угла здесь ставится самодублирование вируса. 2. Программные черви, троянские кони и фрагменты программ типа логический люк. Для данного типа программ имеет место обратная ситуация — само дублирование не присуще данным программам, но они обладают возможностями перехвата конфиденциальной информации или извлечения информации из сегментов систем безопасности, или ограничения доступа. 3. Программные закладки или разрушающие программные воздействия (РПВ). Программы данного класса, как правило, скрывают себя, и самоликвидируются после совершения целевых действий. Для того чтобы РПВ смогло выполнить действие по отношению к прикладной программе или данным, оно должно получить управление. Это возможно только при одновременном выполнении двух условий [22]: 1) РПВ должно находиться в оперативной памяти до начала работы программы, которая является целью его воздействия, следовательно, оно должно быть загружено раньше или одновременно с этой программой; 2) РПВ должно активизироваться по некоторому общему, как для него, так и для программы событию, т. е. при выполнении ряда условий в программно-аппаратной среде, управление должно быть передано РПВ. Данное событие называют активизирующим. Наиболее распространенными видами активизирующих событий являются: 1) общие системные прерывания: обращение к внешнему устройству, запись в файл и др.; 2) ввод с клавиатуры (свойственно для клавиатурных шпионов); 3) вывод информации на экран; 4) операции с файлами (чтение, запись, открытие и т. п.); 5) прерывание по таймеру. 90 Выделяют резидентные и нерезидентные РПВ. РПВ резидентного типа находятся в памяти постоянно с некоторого момента времени до окончания сеанса работы компьютерной системы (например, клавиатурный шпион). РПВ нерезидентного типа заканчивает свою работу самостоятельно через некоторый промежуток времени или по некоторому событию, при этом выгружая себя из памяти целиком для затруднения своего обнаружения. 7.2. Модели взаимодействия прикладной программы и РПВ Выделяют следующие основные модели работы программных закладок (ПЗ). 1. Модель «перехват». ПЗ внедряется в ПЗУ, ОС или прикладное ПО и сохраняет все или избранные фрагменты вводимой или выводимой информации в скрытой области внешней памяти прямого доступа. Как правило, сохраняемая информация маскируется от просмотра легальными пользователями. 2. Модель «троянский конь». ПЗ встраивается в постоянно используемое ПО и по некоторому активизирующему событию моделирует сбойную ситуацию, парализуя нормальную работу компьютерной системы. 3. Модель «наблюдатель». ПЗ встраивается в постоянно активное ПО и осуществляет контроль за процессами обработки информации в компьютерной системе. 4. Модель «компрометация». ПЗ передает нужную злоумышленнику информацию в канал связи. 5. Модель «искажение или инициатор ошибок». Программная закладка искажает потоки выходных данных, возникающие при работе прикладных программ. 6. Модель «уборка мусора». Программная закладка «изучает остатки информации», оставшиеся после удаления файлов. 7.3. Компьютерные вирусы как класс РПВ Под компьютерными вирусами принято понимать РПВ, обладающие следующими свойствами. 1. Способность к самодублированию — к созданию собственных копий, необязательно совпадающих с оригиналом, но обладающих его свойствами. 91 2. Способность к ассоциированию с другими программами — наличие механизма, обеспечивающего внедрение создаваемых копий в исполняемые объекты компьютерной системы (заражающего механизма). 3. Способность к скрытию признаков своего присутствия в программной среде. Принято разделять вирусы: по поражаемым объектам: – файловые вирусы; – загрузочные вирусы; – скриптовые вирусы; – сетевые черви; по поражаемым операционным системам и платформам: – DOS; – Microsoft Windows; – Unix; – GNU/Linux; – Jаva и др.; по технологиям, используемым вирусом: – полиморфные вирусы; – стелс-вирусы; по языку, на котором написан вирус: – ассемблер; – высокоуровневый язык программирования; – скриптовый язык и др. Классификация файловых вирусов по способу заражения По способу заражения файловые вирусы разделяются на: – перезаписывающие; – паразитические; – вирусы-звенья; – вирусы-черви; – компаньон-вирусы; – вирусы, поражающие исходные тексты программ и компоненты программного обеспечения (VCL, LIB и др.). Перезаписывающие вирусы. Вирусы данного типа записывают свое тело вместо кода программы, не изменяя названия исполняемого файла, вследствие чего исходная программа перестает запускаться. При запуске программы выполняется код вируса, а не сама программа. Вирусы-компаньоны. Компаньон-вирусы, как и перезаписывающие вирусы, создают свою копию на месте заражаемой программы, 92 но в отличие от перезаписываемых не уничтожают оригинальный файл, а переименовывают или перемещают его. При запуске программы вначале выполняется код вируса, а затем управление передается оригинальной программе. Например, PATH-компаньоны. Они размещают свои копии в основном каталоге Windows, используя тот факт, что этот каталог является первым в списке PATH, и файлы для запуска Windows в первую очередь будет искать именно в нем. Данным способом самозапуска пользуются также многие компьютерные черви и троянские программы. Файловые черви. Эти вирусы создают собственные копии с привлекательными для пользователя названиями (например, Game.exe, install.exe и др.) в надежде на то, что пользователь их запустит. Вирусы-звенья. Эти вирусы не изменяют код программы, а заставляют операционную систему выполнить собственный код, изменяя адрес местоположения на диске зараженной программы, на собственный адрес. После выполнения кода вируса управление обычно передается вызываемой пользователем программе. Паразитические вирусы — это файловые вирусы, изменяющие содержимое файла, добавляя в него свой код. При этом зараженная программа сохраняет полную или частичную работоспособность. Код может внедряться в начало, середину или конец программы. Код вируса выполняется перед, после или вместе с программой, в зависимости от места внедрения вируса в программу. Вирусы, поражающие исходный код программ. Вирусы данного типа поражают или исходный код программы либо ее компоненты OBJ-, LIB-, DCU-файлы, а также компоненты VCL и ActiveX. После компиляции программы такие коды оказываются в нее встроенными. В настоящее время широкого распространения не получили. Жизненный цикл вирусов включает в себя две основные стадии — хранение (латентная фаза) и исполнение. В ходе латентной фазы вирус не активен, не может контролировать работу операционной системы, он просто хранится на диске совместно с объектом, в который внедрен. Переход от латентной фазы к исполнению вируса осуществляется по некоторому активизирующему событию (открытие файла, наступление определенной даты и т. д.). Фаза исполнения вируса, как правило, состоит из следующих этапов. 1. Загрузка вируса в память. 2. Поиск «жертвы». 3. Заражение «жертвы» (инфицирование). 93 4. Выполнение деструктивных функций. 5. Передача управления программе-носителю вируса. Загрузка вируса в память осуществляется ОС одновременно с загрузкой исполняемого объекта, в который внедрен вирус (например, при запуске на исполнение зараженного файла, при чтении загрузочного сектора диска и т. п.). По способу поиска «жертвы» вирусы можно разделить на два класса: – вирусы, осуществляющие «активный» поиск с использованием функций ОС; – вирусы, осуществляющие «пассивный поиск» с помощью механизмов расстановки «ловушек» для программных файлов (так часто поступают макровирусы). Инфицирование объектов КС осуществляется различными способами в зависимости от типа вируса. В простейшем случае этап заражения жертвы сводится к самокопированию кода вируса в выбранный в качестве жертвы объект (файл, загрузочный сектор, псевдо-сбойные сектора и т. д.). Помимо простого копирования кода вируса в заражаемый объект на этом этапе могут использоваться более сложные алгоритмы, обеспечивающие защиту вируса на стадии хранения (шифрование, «мутации» кода и т. п.). Суть «мутаций» сводится к тому, что при внедрении в объект копии вируса часть ее кода, относящаяся к расшифровщику, модифицируется так, чтобы возникли различия с оригиналом, но результаты работы остались неизменными. Наиболее распространенными приемами модификации кода являются следующие: – изменение порядка независимых инструкций; – замена некоторых инструкций на эквивалентные; – замена используемых в инструкциях регистров на другие; – внедрение случайным образом зашумляющих инструкций. Вирусы, использующие подобные механизмы мутации кода, получили название полиморфных. По характеру выполнения деструктивных функций вирусы делят на «безвредные», «неопасные», «опасные» и «очень опасные». В «безвредных» вирусах реализована только функция самодублирования. «Неопасные» вирусы — это вирусы, присутствие которых в системе связано с различными эффектами, но которые не наносят вред программам и данным. «Опасные» вирусы могут стать причиной сбоя системы. 94 «Очень опасные» вирусы приводят непосредственно к разрушению программ и данных. Средства борьбы с компьютерными вирусами можно разделить на три класса. 1. Административные — включающие комплекс мер, действующих в рамках предприятий, и направленных на снижение ущерба, наносимого компьютерными вирусами (профилактические мероприятия, планы действия сотрудников при вирусной атаке, запреты на самостоятельную установку нового ПО и т. п.). 2. Юридические — привлечение к уголовной или административной ответственности лиц, по чьей вине наносится ущерб компьютерным системам (статья 273 УК РФ — «Создание, использование и распространение вредоносных программ для ЭВМ»). 3. Технические — применение антивирусных мониторов и сканеров, программных и аппаратных средств, не допускающих возможность заражения объектов компьютерной системы. 7.4. Защита от РПВ. Изолированная программная среда Методы борьбы с воздействием РПВ можно разделить на следующие классы. Общие методы защиты программного обеспечения от РПВ 1. Контроль целостности системных областей, запускаемых прикладных программ и используемых данных. Следует помнить, что контроль целостности информации может быть обойден злоумышленником путем: – навязывания конечного результата проверок; – влияния на процесс считывания информации; – изменения хеш-значений, хранящихся в общедоступных файлах. 2. Контроль цепочек прерываний и фильтрация вызовов критических для безопасности системы прерываний. Данные методы действенны лишь тогда, когда контрольные элементы не подвержены воздействию закладок и разрушающее воздействие входит в контролируемый класс. 3. Создание безопасной и изолированной операционной среды. 4. Предотвращение результирующего воздействия вируса или закладки. Например, запись на диск должна вестись только в зашифрованном виде на уровне контроллера либо должен быть реализован запрет записи на диск на аппаратном уровне. 95 Специализированные методы борьбы с РПВ К ним можно отнести: – поиск фрагментов кода по характерным последовательностям (сигнатурам), свойственным РПВ, либо наоборот, разрешение на выполнение или внедрение в цепочку прерываний только программ с известными сигнатурами; – поиск критических участков кода методом семантического анализа фрагментов кода на выполняемые ими функции, часто сопряженный с дизассемблированием или эмуляцией выполнения [23]. В качестве одной из возможных эвристических методик выявления РПВ в BIOS, ассоциированных с существенно важными прерываниями, следует рассмотреть эвристическую методику выявления РПВ в BIOS [24]. Эвристическая методика выявления РПВ в BIOS 1. Выделяется группа прерываний, существенных с точки зрения обработки информации программой, относительно которой проводится защита. Обычно это прерывания int 13h (запись информации на внешние магнитные накопители прямого доступа), int 14h (обмен с RS232 портом), int 10h (обслуживание видеотерминала), а также в обязательном порядке прерывания таймера int 8h, int 1Ch и прерывания клавиатуры int 9h и int 16h. 2. Для выделенной группы прерываний определяются точки входа в ПЗУ, используя справочную информацию либо выполняя прерывание в режиме трассировки. 3. Для выделенных адресов создаются цепочки исполняемых команд от точки входа до команды IRET — возврату управления из BIOS. В цепочках исполняемых команд выделяются: – команды работы с портами; – команды передачи управления; – команды пересылки данных. 4. В цепочках исполняемых команд анализируются команды выделенных групп. Определяется присутствие в прерываниях команд: – работы с недокументированными портами. Наличие таких команд, как правило, указывает на передачу информации некоторому устройству, подключенному к параллельному интерфейсу (общей шине), например, встроенной радиопередающей закладке; – работы с портами, участвующими в работе другого класса прерываний; – перемещения данных из BIOS в оперативную память; 96 – передачи управления в оперативную память или в сегменты расширенного BIOS. В случае, если опасных действий, относящихся к вышепредставленным четырем группам, не обнаружено, аппаратно-программная среда ПЭВМ считается чистой (безопасной). Защита от РПВ путем создания изолированной программной среды Предположим, что в ПЗУ и ОС отсутствуют закладки (проверка этого была проведена по некоторой методике). Пусть также пользователь работает только с программами, процесс написания и отладки которых полностью контролируется, т. е. в них также исключено наличие закладок. Такие программы называются проверенными. Потенциально злоумышленными действиями в этом случае могут быть следующие: – проверенные программы будут использованы на другой ПЭВМ с другим BIOS и в этих условиях могут использоваться некорректно; – проверенные программы будут использованы в аналогичной, но не проверенной операционной среде, в которой они также могут использоваться некорректно; – проверенные программы используются на проверенной ПЭВМ и в проверенной операционной среде, но запускаются еще и непроверенные программы, потенциально несущие в себе возможности НСД. Деструктивные действия закладок гарантированно невозможны, если выполняются следующие условия. На ПЭВМ c проверенным BIOS установлена проверенная ОС. Достоверно установлена неизменность ОС и BIOS для данного сеанса работы. Кроме проверенных программ в данной программно-аппаратной среде не запускалось и не запускается никаких иных программ, проверенные программы перед запуском контролируются на целостность. Исключен запуск проверенных программ в какой-либо иной ситуации, т. е. вне проверенной среды. Вышеперечисленные условия выполняются в любой момент времени для всех пользователей, аутентифицированных защитным механизмом. При выполнении перечисленных выше условий программная среда называется изолированной (ИПС — изолированная программная среда). 97 Основными элементами поддержания ИПС являются контроль целостности и активности процессов. ИПС контролирует активизацию процессов через операционную среду, контролирует целостность исполняемых модулей перед их запуском и разрешает инициирование процесса только при одновременном выполнении двух условий — принадлежности к разрешенным программам и неизменности программ. В таком случае для предотвращения угроз, связанных с внедрением в операционную среду скрытых недекларированных возможностей, от базового ПО требуется только: – невозможность запуска программ помимо контролируемых ИПС событий; – отсутствие в базовом ПО возможностей влиять на среду функционирования уже запущенных программ (фактически это требование невозможности редактирования и использования оперативной памяти другого процесса). Создание и поддержка ИПС возможна только с помощью специализированных аппаратных средств, целостность которых обеспечивается технологией производства и периодическими проверками. Одним из программно-аппаратных устройств поддержки изолированной программной среды является программно-аппаратный комплекс «Аккорд» производства ОКБ «САПР». 98 8. ЗАЩИТА ИНФОРМАЦИИ В КОМПЬЮТЕРНЫХ СЕТЯХ 8.1. Основные угрозы и причины уязвимости сети Internet Интенсивное развитие Internet- и Intranet-технологий, привлечение их для создания новых технологий хранения, поиска и обработки информации влечет за собой необходимость построения эффективных систем защиты информации в корпоративных сетях. В настоящее время глобальные сети часто используются для передачи информации, содержащей сведения различного уровня конфиденциальности, например, для связи между головным и удаленными офисами организации, для доступа к web-сайтам организации и т. д. Многие организации принимают решение об интеграции своих локальных и корпоративных сетей в глобальную сеть Internet, предоставляют различные услуги через данную сеть (организация электронных магазинов, системы дистанционного образования и т. д.). Такой подход дает множество преимуществ, связанных с большими потенциальными возможностями коллективной работы в Intranet и Internet, более эффективному интегрированию различных информационных технологий, связанных с хранением, поиском и обработкой информации. Однако развитие глобальных сетей привело к многократному увеличению количества пользователей и атак на ПК, подключенных к сети Internet и внутренним сетям Intranet организаций. Ежегодные потери, обусловленные недостаточным уровнем защищенности таких ПК, оцениваются десятками миллионов долларов. При подключении к Internet локальной или корпоративной сети необходимо позаботиться об обеспечении ИБ данной сети и подключенных к ней ПК. Изначальная разработка сети Internet, как открытой сети, создает большие возможности для злоумышленника по воздействию на локальные и корпоративные сети организаций, имеющих выход в Internet. Через Internet злоумышленник может вторгнуться во внутреннюю сеть предприятия и получить НСД к конфиденциальной информации, получить пароли доступа к серверам, а подчас и их содержимое. Наиболее распространенные угрозы ИБ в Internet и Intranet представлены ниже [25]. 99 1. Несанкционированный (неавторизованный) доступ внешних пользователей к какому-либо виду сервисного обслуживания, предоставляемого легальным пользователям. 2. Несанкционированный доступ к информации и базам данных организаций без идентификации и аутентификации внешнего пользователя в сети. 3. Внедрение в системы и сети организаций разрушающих программных воздействий — вирусов, программных закладок, троянских коней и т. д., используя различные уязвимости удаленных систем (например, внедрение вирусов через электронную почту, используя уязвимости IIS (Internet Information Servis — набора серверов для нескольких служб)). 4. Нарушение целостности ПО систем и сетей организаций с целью модификации выполняемых ими функций. 5. Нарушение конфиденциальности информационного обмена, осуществляемого по каналам связи абонентов систем и сетей организаций, с помощью их «прослушивания»; данный вид угроз для компьютерных сетей получил более конкретное название — сниффинг (sniffing), а программы, реализующие эту угрозу, называют снифферами. 6. Нарушение работоспособности программных компонентов удаленных систем с целью дезорганизации их работы — атаки вида отказа в обслуживании (DoS — Denied of Service); защита от данного вида атак очень актуальна в настоящее время для компаний, предоставляющих различные услуги посредством Internet. 7. Получение прав доступа к удаленной системе, использующей нестойкие алгоритмы аутентификации пользователя. 8. Доступ к информации о топологии сетей и используемых в них механизмах защиты, что облегчает злоумышленникам проникновение в сети. Достаточно часто информацию такого рода злоумышленник может получить путем удаленного сканирования системы. Результаты воздействия угроз могут выражаться в появлении сбоев в работе информационных систем организаций, искажении либо разрушении циркулирующей или хранящейся в них информации, нарушении защитных механизмов систем, что позволяет осуществить злоумышленнику НСД к информации, контролировать работу информационных систем. 100 Основными причинами уязвимости сети Internet являются следующие [25]. 1 2 3 4 5 6 7 8 9 Проектирование сети Internet как открытой, децентрализованной сети с изначальным отсутствием политики безопасности Уязвимости служб протокола TCP/IP Большая протяженность каналов связи Множество уязвимостей программного и аппаратного обеспечения ПК, подключенных к Internet (уязвимости ОС, web-серверов, почтовых клиентов и пр.); каталоги известных уязвимостей пополняются буквально каждую неделю (наиболее полный каталог известных уязвимостей доступен на сервере http://icat.nist.gov) Кажущаяся анонимность при работе в Internet, возможность скрытия о себе информации злоумышленником, использования анонимных proxyсерверов, ремэйлеров для электронной почты и пр. Доступность информации о средствах и протоколах защиты, используемых в Internet Работа в Internet обслуживается большим числом сервисов, информационных служб и сетевых протоколов, знание тонкостей и правильности конфигурирования которых одному человеку в лице администратора не всегда под силу Сложность конфигурирования средств защиты Человеческий фактор Все эти факторы требуют разработки, внедрения и использования средств защиты локальных сетей организации, отдельных компьютеров локальных сетей, имеющих выход в Internet либо непосредственно подключенных к нему. 8.2. Классификация типовых удаленных атак на интрасети Принципиальным отличием атак, осуществляемых злоумышленниками в компьютерных сетях, является фактор расстояния злоумышленника от персонального компьютера (ПК), выбранного в качестве жертвы. В связи с этим такие атаки принято называть удаленными атаками [25]. В настоящее время выделяют следующие классы типовых удаленных атак, осуществляемых на компьютерные сети. Анализ сетевого трафика Анализ сетевого трафика путем его перехвата (сниффинга) является внутрисегментной атакой и направлен на перехват и анализ информации, предназначенной для любого ПК, расположенного в том же сегменте сети, что и злоумышленник. Злоумышленник может за101 хватить все проходящие через себя пакеты путем перевода своей сетевой платы в смешанный режим (promiscuous mode). Реализация данной атаки позволяет злоумышленнику изучить логику работы сети (для получения информации, помогающей ему осуществить последующий взлом) либо перехватить конфиденциальную информацию, которой обмениваются узлы компьютерной сети. Многие протоколы (например, POP3, FTP и пр.) передают информацию об используемых паролях доступа по каналу связи в открытом виде. Анализ трафика позволяет злоумышленнику перехватить эти пароли доступа (например, к электронной почте, к FTP-серверу) и использовать их в дальнейшем для выполнения несанкционированных действий. Для защиты от анализа сетевого трафика с использованием снифферов известны следующие подходы. 1. Диагностика перевода сетевой платы удаленного ПК в смешанный режим путем установки различных средств мониторинга. Данный подход к защите достаточно трудоемок и не является универсальным, поэтому используется недостаточно часто. 2. Сегментация сетей — чем больше сегментов, тем меньше вероятность и последствия реализации внутрисегментной атаки. 3. Шифрование сетевого трафика и использование безопасных протоколов удаленной аутентификации пользователей (S/KEY, CHAP и др.). Подмена доверенного субъекта Подмена доверенного субъекта и передача сообщений по каналам связи от его имени позволяет получить злоумышленнику доступ к удаленной системе от имени этого доверенного субъекта. Подобные атаки эффективно реализуются в системах с нестойкими алгоритмами идентификации и аутентификации хостов и пользователей. Например, подобные атаки эффективны для систем, использующих аутентификацию источника по его IP-адресу, для злоумышленника в этом случае нетрудно формировать пакеты с IP-адресами, которым «доверяет» удаленный узел. Для защиты от подобных атак необходимо применение стойких алгоритмов идентификации и аутентификации хостов и пользователей. Нельзя допускать в компьютерную сеть организации пакеты, посланные с внешних ПК, но имеющих внутренний сетевой адрес. Введение ложного объекта компьютерной сети Реализация данной атаки позволяет навязать ложный маршрут потока информации так, чтобы этот маршрут лежал через компьютер 102 злоумышленника, позволяет «заманить» легального пользователя на ПК злоумышленника (например, подменив web-сайт) с целью получения конфиденциальной информации. Для защиты от данных атак необходимо использовать более стойкие протоколы идентификации и аутентификации хостов и устройств. Отказ в обслуживании (DoS) Реализация данной атаки направлена на нарушение работоспособности некоторой службы удаленного хоста либо всей системы. Как правило, реализация предполагает посылку направленного «шторма запросов», переполнение очереди запросов, в силу чего удаленный ПК либо перезагружается, либо неспособен заниматься ничем, кроме обработки запросов. Для защиты от данных атак необходимо использовать стойкие протоколы аутентификации, ограничивать доступ в сеть с использованием межсетевых экранов, применять системы обнаружения вторжений, разрабатывать адекватные политики безопасности, использовать для поддержки сервисов программные продукты, в которых устранены уязвимости, позволяющие выполнить подобные атаки. В настоящее время большую актуальность представляет защита от распределенных DoS-атак (DDoS), реализуемых путем заражения («зомбирования») множества ничего не подозревающих ПК, которые в заданный момент времени начинают посылать «шторм запросов» на объект атаки. Сканирование компьютерных сетей Сетевое сканирование осуществляется злоумышленником на предварительной стадии атаки. Сканирование компьютерной сети позволяет получить злоумышленнику такую информацию, необходимую для дальнейшего взлома, как типы установленных ОС, открытые порты и связанные с ними сервисы, существующие уязвимости. Сам факт сетевого сканирования лишь говорит о реализации стадии, предваряющей атаку, и является важной информацией для сетевого администратора. Для защиты от сетевого сканирования необходимо применять подходы, позволяющие скрыть внутреннюю структуру сети и идентифицировать факт сканирования, например, использовать межсетевые экраны, системы обнаружения вторжений. Таким образом, для защиты от рассмотренных выше атак используют: 103 – межсетевые экраны; – виртуальные частные сети; – стойкие протоколы аутентификации; – системы обнаружения вторжений; – анализ журналов безопасности (аудита) компьютерных систем. Далее рассмотрим данные средства более подробно. 8.3. Ограничение доступа в сеть. Межсетевые экраны Одна из важнейших задач, решаемая при защите компьютерных сетей, — ограничение доступа внешних пользователей к ресурсам внутренней сети организации, а также обеспечение безопасного доступа внутренних пользователей сети к ресурсам внешней. Это ограничение должно выполняться в соответствии с правилами, определяющими политику безопасности в сети организации. Межсетевой экран (МЭ, firewall) — это система межсетевой защиты, позволяющая разделить общую сеть на две части или более и реализовать набор правил, определяющих условия прохождения сетевых пакетов через границу из одной части сети в другую. МЭ пропускает через себя весь трафик, принимая для каждого из проходящих пакетов решение — пропускать его дальше или отбросить. Для этого на межсетевом экране задают набор правил фильтрации трафика. Обычно межсетевые экраны защищают внутреннюю сеть организации от несанкционированного доступа из открытой сети Internet (рис. 8.1), однако они могут использоваться и для ограничения доступа внутренних пользователей к различным подсетям внутри корпоративной сети предприятия. Таким образом, МЭ регламентирует использование ресурсов одних сетей пользователями других, для него, как правило, определены понятия «внутри» и «снаружи». Решение о том, каким образом фильтровать пакеты, зависит от принятой в защищаемой сети политики безопасности, МЭ ее реализует. Как правило, с помощью МЭ ограничивается доступ к различным сетевым сервисам для различных сетевых адресов. Например, МЭ может запретить доступ по протоколам POP3 (Post Office Protocol — протокол почтового отделения, версия 3), который используется почтовым клиентом для получения сообщений электронной почты с сервера, и SMTP (Simple Mail Transfer Protocol) — для всех пользователей внутренней сети организации, кроме 104 почтового сервера, так, чтобы пользователи были вынуждены забирать свою почту только с выделенного почтового сервера организации, на котором она проходит необходимые проверки. Рис. 8.1 Защита внутренней сети организации от несанкционированного доступа из сети Internet Правила доступа к сетевым ресурсам, в соответствии с которыми конфигурируется МЭ, могут базироваться на одном из следующих принципов. 1. Запрещать все, что не разрешено в явной форме. 2. Разрешать все, что не запрещено в явной форме. Реализация МЭ на основе первого принципа позволяет обеспечить отличную защищенность, но требует больших затрат и доставляет больше неудобств пользователям. Различают следующие виды МЭ. 1. Фильтрующие маршрутизаторы (пакетные фильтры). 2. Шлюзы сетевого уровня. 3. Шлюзы прикладного уровня. Шлюзы есть коммуникационные устройства, играющие роль интерфейса. Фильтрующие маршрутизаторы (пакетные фильтры) Данные МЭ осуществляют фильтрацию входящих в сеть и исходящих из сети пакетов на основе информации, содержащихся в их TCP и IP заголовках. Как правило, фильтрация осуществляется на основе следующих основных полей: – IP-адреса отправителя; – IP-адреса получателя; – порта отправителя; – порта получателя. 105 Порты отправителя и получателя используются для идентификации сетевой службы, к которой производится обращение, например, FTP (21), TELNET (23) и т. д. Пример набора правил фильтрации для такого МЭ представлен в таблице 8.1. Таблица 8.1 Пример правил фильтрации Тип TCP TCP Адрес Адрес Порт Порт Действие отправителя получателя отправителя получателя * 129.1.2.3 >1023 21 Разрешить 123.6.49.234 123.1.2.9 >1023 119 Разрешить Основными достоинствами МЭ данного типа является невысокая их стоимость и скорость фильтрации. Основными недостатками МЭ данного вида являются: – несокрытие структуры внутренней сети; – нестойкая процедура аутентификации по IP-адресу, которую можно обмануть путем подмены IP-адреса злоумышленником. Шлюзы сетевого уровня Использование подобных МЭ позволяет исключить прямое взаимодействие между хостами. Данные шлюзы принимают запросы доверенных клиентов, после проверки допустимости сеанса связи устанавливают соединение с требуемым хостом. Такой МЭ выполняет роль посредника между соединяемыми хостами, не давая им взаимодействовать напрямую. Данные МЭ выполняют также функцию трансляции адресов (NAT), скрывая внутреннюю структуру сети от внешних пользователей. Они выполняют преобразование внутренних IP-адресов сети в один «надежный» IP-адрес, ассоциируемый с МЭ. Внешние пользователи открытой сети «видят» только внешний IP-адрес шлюза. Недостатком шлюзов сетевого уровня является невозможность фильтрации трафика «внутри службы». Шлюз прикладного уровня Данные МЭ позволяют не только пропускать либо не пропускать определенные службы, но и осуществлять фильтрацию трафика «внутри» таких служб, как TELNET, FTP, HTTP и т. д. Например, пользователю внутри FTP-соединения может быть запрещено использовать команду put. Данные МЭ используют стойкие протоколы аутентификации пользователей, не позволяющие осуществить под- 106 мену доверенного источника, позволяют снизить вероятность взлома систем с использованием уязвимостей ПО. Отметим, что в организации часто возникает потребность в создании в составе корпоративной сети нескольких сегментов с различными уровнями защищенности, например, свободных сегментов, сегментов с ограниченным доступом, закрытых сегментов. В этом случае могут понадобиться различные варианты установки МЭ. Рассмотрим основные схемы расстановки МЭ и реализуемые при этом функции по защите. В простейших случаях, при необходимости защитить внутреннюю сеть организации от несанкционированного доступа внешних пользователей Internet, используют схему, представленную на рисунке 8.1, где МЭ используется как фильтрующий маршрутизатор. Схема, представленная на рисунке 8.2, позволяет организовать из видимых снаружи серверов отдельную сеть, с правилами доступа, отличающимися от правил доступа к ПК остальной части интрасети. Возможно ограничение доступа от пользователей Internet к серверам организации, пользователей интрасети к серверам организации. Рис. 8.2 Защита бастиона серверов На рисунке 8.3 представлен еще один вариант подключения МЭ — с выделением демилитаризованной зоны (DMZ). Организация DMZ предназначена для защиты хостов данной зоны от атак из Internet, а также от внутренних пользователей организации. В DMZ могут выноситься web-, FTP-, SMTP-, DNS-серверы и пр. 107 Рис. 8.3 Схема подключения двух МЭ с введением демилитаризованной зоны 8.4. Виртуальные частные сети (VPN) В настоящее время значительное число организаций имеют множество отделений, офисов, распределенных по различным городам внутри одной страны и даже по разным странам мира. Поэтому для организаций возникает насущная необходимость интеграции локальных сетей данных отделений в единую корпоративную сеть компании, в рамках которой сотрудники могли бы использовать все привычные для себя функции локальных сетей, не чувствовать себя отдаленными от сотрудников другого офиса, расположенного, быть может, на другом конце земного шара. Мобильные сотрудники данных организаций, перемещающиеся из страны в страну, должны иметь возможность доступа из любой точки земного шара к внутренней сети организации с помощью переносимых ПК. Естественный вариант реализации такого объединения локальных сетей, мобильных пользователей в единую корпоративную сеть, видится с привлечением каналов открытой сети Internet. Основными задачами, которые должны быть решены при этом, являются [3, 25]: 1) аутентификация взаимодействующих сторон; 2) криптографическая защита передаваемой информации; 3) подтверждение подлинности и целостности доставленной информации; 4) защита от повтора, задержки и удаления сообщений; 5) защита от отрицания фактов отправления и приема сообщений. Данные проблемы позволяют эффективно решать виртуальные частные сети (Virtual Private Network), к использованию которых все больше склоняются многие крупные компании. 108 Виртуальной частной сетью (VPN) называют объединение локальных сетей и отдельных компьютеров через открытую внешнюю среду передачи информации в единую виртуальную сеть, обеспечивающую безопасность циркулирующих данных. Защита информации при ее передаче по открытому каналу основана на построении криптозащищенных туннелей (туннелей VPN). Каждый из таких туннелей представляет собой виртуальное соединение, созданное в открытой сети, по которому передаются криптографически защищенные сообщения виртуальной сети. Пример возможной организации виртуальной частной сети представлен на рисунке 8.4. Рис. 8.4 Пример организации виртуальной частной сети Известно несколько наиболее часто используемых способов образования защищенных виртуальных каналов [26]. 1. Конечные точки защищенного туннеля совпадают с конечными точками защищаемого потока сообщений. Данный вариант является наилучшим с точки зрения безопасности. В этом случае обеспечивается полная защищенность канала вдоль всего пути следования пакетов сообщений. Однако такой вариант ведет к децентрализации управления и избыточности ресурсных затрат. 2. Конечные точки защищенного туннеля совпадают с МЭ или пограничным маршрутизатором локальной сети. В данном случае поток сообщений внутри локальной сети оказывается незащищенным, а все сообщения, выходящие из локальной сети, передаются по криптозащищенному туннелю. 109 3. Конечные точки — провайдеры Internet. В этом случае не защищаются каналы локальной сети и выделенные каналы связи, защищаются только каналы Internet. Протоколы поддержки виртуальных частных сетей создаются на одном из трех уровней модели OSI — канальном, сетевом или сеансовом. Канальному уровню соответствуют такие протоколы реализации VPN, как PPTP, L2F, L2TP. Сетевому уровню соответствуют протоколы IPSec, SKIP, сеансовому уровню — SSL, SOCKS. Чем ниже уровень эталонной модели OSI, на котором реализуется защита, тем она прозрачнее для приложений и незаметнее для пользователей. Однако при снижении уровня уменьшается набор реализуемых услуг безопасности и становится труднее организация управления. Оптимальное соотношение между прозрачностью и качеством защиты достигается при формировании защищенных виртуальных каналов на сетевом уровне модели OSI. Протокол SKIP Протокол SKIP (Simple Key management for Internet Protocol) управляет ключами шифрования и обеспечивает прозрачную для приложения криптозащиту IP-пакетов на сетевом уровне модели OSI [25, 26]. SKIP предусматривает самостоятельное формирование противоположными сторонами общего секретного ключа на основе ранее распределенных или переданных друг другу открытых ключей сторон. Выработка общего секретного ключа KAB осуществляется в рамках протокола Диффи — Хеллмана. Общий секретный ключ KAB не используется непосредственно для шифрования трафика между узлами A и B. Вместо этого для шифрования конкретного пакета передающая сторона вырабатывает случайный временный пакетный ключ Kp. Далее выполняются следующие действия. 1. Исходный IP-пакет шифруется на пакетном ключе Kp и инкапсулируется в защищенный SKIP-пакет. 2. Пакетный ключ Kp шифруется на общем секретном ключе KAB и помещается в SKIP-заголовок. 3. Полученный SKIP-пакет инкапсулируется в результирующий IP-пакет. 4. Для результирующего IP-пакета с помощью некой криптографической функции хеширования рассчитывается на пакетном ключе 110 Kp имитовставка (для контроля целостности сообщения) и вставляется в зарезервированное поле SKIP-заголовка. Применение для криптозащиты трафика не общего секретного ключа KAB, а случайного пакетного ключа Kp, повышает безопасность защищенного туннеля. Это связано с тем, что долговременный секретный ключ KAB не сможет быть скомпрометирован на основании анализа трафика, так как вероятный противник не будет иметь достаточного материала для проведения быстрого криптоанализа с целью раскрытия этого ключа. Защищенность обмена повышает также частая смена ключей шифрования, так как если пакетный ключ и будет скомпрометирован, то ущерб затронет лишь небольшую группу пакетов, зашифрованных по этому временному ключу. Организация виртуальных частных сетей, основанных на протоколе SKIP, реализована в семействе продуктов VPN «Застава» компании «ЭЛВИС-ПЛЮС». Кроме этого, широко используемыми продуктами построения VPN являются «Тропа» компании «Застава-JET», F-Secure VPN+ компании F-Secure Corporation, Check Point VPN-1/Firewall-1 и др. 8.5. Доменная архитектура в Windows NT. Служба Active Directory Серьезной проблемой для организаций, содержащих сети больших масштабов, тысячи пользователей, множество серверов, является необходимость разработки и поддержки корпоративной политики безопасности в сети. Для сетей такого масштаба поддержка отдельных независимых баз данных аутентификации становится практически неосуществимой. Для управления сетями Windows NT больших масштабов фирма Microsoft предлагает использовать многодоменную структуру и доверительные отношения между доменами. Домен Windows NT представляет собой группу компьютеров сети, использующих общую модель обеспечения безопасности, а также имеющих единую базу данных SAM, содержащую информацию о пользователях и их группах. Использование доменных архитектур и служб каталогов позволяет осуществить централизованное хранение информации обо всей корпоративной сети. Администраторы создают для каждого пользователя одну учетную запись на контроллере домена и затем могут использовать эту запись для предоставления пользователю прав доступа к ресурсам, расположенным в сети. Базы данных доменов Windows NT не поддерживают иерархической структуры и не могут быть распределены между несколькими 111 серверами Windows NT. Эти обстоятельства существенно ограничивают максимальное количество объектов в домене. Однодоменная структура в Windows NT может быть реализована, если число пользователей измеряется одной-двумя сотнями. Для управления сетями Windows NT больших масштабов фирма Microsoft предлагает использовать многодоменную структуру и доверительные отношения между доменами. Доверительные отношения между доменами обеспечивают междоменное администрирование, позволяя предоставлять пользователям из одного домена доступ к ресурсам другого домена. Реализация доменной архитектуры в Windows NT имеет ряд серьезных недостатков, которые Microsoft попыталась преодолеть в Windows 2000 за счет введения службы Active Directory. Active Directory (AD) — это объектно-ориентированная, иерархическая, распределенная система базы данных службы каталогов, которая обеспечивает централизованное хранение информации об оборудовании, программном обеспечении и человеческих ресурсах всей корпоративной сети [25]. Active Directory включает в себя следующие компоненты. 1. Объекты. 2. Домены. 3. Организационные единицы. 4. Деревья. 5. Леса. Под объектом в AD понимают определяющий ресурс набор атрибутов (имя, собственные права доступа, права доступа к объекту, дополнительная информация об объекте и т. д.). Пользователи сети представлены объектами в службе каталогов. Администраторы могут применять эти объекты для предоставления пользователям доступа к ресурсам корпоративной сети. Ресурсы также представляются в виде объектов. Группы доменов могут быть объединены в дерево, группы деревьев — в лес. В Active Directory права и разрешения объектов распространяются вниз по дереву. Организационные единицы (контейнеры) являются группировкой других объектов. Контейнеры вводят для упрощения администрирования корпоративной политикой безопасности. Назначение контейнеру некоторого права или разрешения автоматически распространяет его на все объекты контейнера. Для группировки пользователей, компьютеров используют особые контейнеры — группы. Дерево в AD — это иерархия нескольких доменов (рис. 8.5), лес — множество деревьев. 112 В AD используется система аутентификации Kerberos, основанная на протоколе Нидхема — Шредера выдачи мандатов (билетов), предъявление которых позволяет получить доступ субъекта к некому сетевому ресурсу. Рис. 8.5 Дерево AD 8.6. Централизованный контроль удаленного доступа. Серверы аутентификации В случае, когда локальная сеть является небольшой, для управления удаленными соединениями с этой сетью, как правило, бывает достаточно одного сервера удаленного доступа. Однако если локальная сеть объединяет достаточно большие сегменты и число удаленных пользователей существенно увеличивается, то одного сервера удаленного доступа становится недостаточно. В этом случае, как правило, вводят единый сервер аутентификации, для централизованного контроля удаленного доступа. В его функции входят проверка подлинности удаленных пользователей, определение их полномочий, а также фиксация и накопление регистрационной информации, связанной с удаленным доступом (рис. 8.6). Сервер аутентификации исполняет роль посредника во взаимодействии между серверами удаленного доступа и центральной базой данных системы защиты. Централизованный контроль удаленного доступа к ресурсам сети с помощью сервера аутентификации выпол113 няется на основе специализированных протоколов. Эти протоколы позволяют объединить серверы удаленного доступа и сервер аутентификации в единую подсистему, выполняющую все функции контроля удаленных соединений на основе взаимодействия с центральной базой данных системы защиты. Сервер аутентификации в данном случае создает единую точку наблюдения и проверки всех удаленных пользователей и контролирует доступ к компьютерным ресурсам в соответствии с установленными правилами. Наиболее известными протоколами централизованного контроля удаленного доступа являются протоколы TACACS (Terminal Access Controller Access Control System) и RADIUS (Remote Authentication Dial-In User Service). Рис. 8.6 Схема централизованного контроля удаленного доступа В системах, основанных на протоколах TACACS и RADIUS, администратор может управлять базой данных идентификаторов и паролей пользователей, предоставлять им привилегии доступа и вести учет обращений к системным ресурсам. В рамках данных протоколов сервер аутентификации может иметь как собственную базу данных системы защиты, так использовать и службы каталогов — Novell Directory Services (NDS), Active Directory (AD). 114 8.7. Прокси-сервер Прокси-сервер (от англ. proxy — «представитель, уполномоченный») есть служба в компьютерных сетях, позволяющая клиентам выполнять косвенные запросы к другим сетевым службам. Сначала клиент подключается к прокси-серверу и запрашивает какойлибо ресурс, например, файл, расположенный на другом сервере. Затем прокси-сервер либо подключается к указанному серверу и получает ресурс у него, либо возвращает ресурс из собственного кеша (в случаях, если прокси имеет свой кеш). В некоторых случаях запрос клиента или ответ сервера может быть изменен прокси-сервером в определенных целях [25, 26]. Чаще всего прокси-серверы применяются для следующих целей. 1. Обеспечение доступа с компьютеров локальной сети в Интернет. 2. Кеширование данных: если часто происходят обращения к одним и тем же внешним ресурсам, то можно держать их копию на прокси-сервере и выдавать по запросу, снижая тем самым нагрузку на канал во внешнюю сеть и ускоряя получение клиентом запрошенной информации. 3. Сжатие данных: прокси-сервер загружает информацию из Интернета и передает информацию конечному пользователю в сжатом виде. Такие прокси-серверы используются в основном с целью экономии внешнего трафика. 4. Защита локальной сети от внешнего доступа: например, можно настроить прокси-сервер так, что локальные компьютеры будут обращаться к внешним ресурсам только через него, а внешние компьютеры не смогут обращаться к локальным вообще (они «видят» только прокси-сервер). 5. Ограничение доступа из локальной сети к внешней: например, можно запретить доступ к определенным веб-сайтам, ограничить использование Интернета определенным локальным пользователям, устанавливать квоты на трафик или полосу пропускания, фильтровать рекламу и вирусы. 6. Анонимизация доступа к различным ресурсам. Прокси-сервер может скрывать сведения об источнике запроса или пользователе. В таком случае целевой сервер видит лишь информацию о проксисервере, например, IP-адрес, но не имеет возможности определить истинный источник запроса. Существуют также искажающие проксисерверы, которые передают целевому серверу ложную информацию об истинном пользователе. 115 Многие прокси-серверы используются для нескольких целей одновременно. Некоторые прокси-серверы ограничивают работу несколькими портами: 80 (Браузер), 443 (Шифрованное соединение (HTTPS), 20, 21 (FTP). Веб-обозреватель, или браузер, — это программное обеспечение для поиска, просмотра веб-сайтов, т. е. для запроса веб-страниц (преимущественно из сети), для их обработки, вывода и перехода от одной страницы к другой. Большинство браузеров наделены способностями к просмотру оглавления FTP-серверов. HTTPS — расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTP, «упаковываются» в криптографический протокол SSL или TLS, тем самым обеспечивается защита этих данных. В отличие от HTTP, для HTTPS по умолчанию используется TCP-порт 443. Эта система была разработана компанией Netscape Communications Corporation, чтобы обеспечить аутентификацию и защищенное соединение. HTTPS широко используется для приложений, в которых важна безопасность соединения, например, в платежных системах. В настоящее время HTTPS поддерживается наиболее популярными браузерами. FTP (англ. File Transfer Protocol — протокол передачи файлов) — протокол, предназначенный для передачи файлов в компьютерных сетях. FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер; кроме того, возможен режим передачи файлов между серверами. FTP является одним из старейших прикладных протоколов. Он и сегодня широко используется для распространения ПО и доступа к удаленным хостам. Протокол не шифруется, при аутентификации передает логин и пароль открытым текстом. Если злоумышленник находится в одном сегменте сети с пользователем FTP, то, используя сниффер (сетевой анализатор трафика), он может перехватить логин и пароль пользователя, или, при наличии специального ПО, получать передаваемые по FTP файлы без авторизации. Чтобы предотвратить перехват трафика, необходимо использовать протокол шифрования данных SSL, который поддерживается многими современными FTPсерверами и некоторыми FTP-клиентами. В отличие от шлюза прокси-сервер чаще всего не пропускает ICMP-трафик, так как невозможно проверить доступность машины командами ping и tracert. 116 ICMP (англ. Internet Control Message Protocol — протокол межсетевых управляющих сообщений) — сетевой протокол, входящий в стек протоколов TCP/IP. В основном ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например, запрашиваемая услуга недоступна, или хост, или маршрутизатор не отвечают. Также на ICMP возлагаются некоторые сервисные функции. Прокси-сервер, к которому может получить доступ любой пользователь сети Интернет, называется открытым. 117 БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Аникин, И. В. Методы и средства защиты компьютерной информации : учеб. пособие / И. В. Аникин, В. И. Глова. — Казань : Изд-во КГТУ им. А. Н. Туполева, 2005. 2. Фатьянов, А. А. Правовое обеспечение безопасности информации в Российской Федерации. — М. : Юрист, 2001. 3. Романец, Ю. В. Защита информации в компьютерных системах и сетях / Ю. В. Романец, П. А. Тимофеев, В. Ф. Шаньгин. — М. : Радио и связь, 1999. 4. Теоретические основы компьютерной безопасности / П. Н. Девянин [и др.]. — М. : Радио и связь, 2000. 5. Мельников, В. В. Защита информации в компьютерных системах. — М. : Финансы и статистика, 1997. 6. Петренко, C. А. Управление информационными рисками. Экономически оправданная безопасность / С. А. Петренко, С. В. Симонов. — М. : АйТи, 2004. 7. Математические основы информационной безопасности / А. П. Баранов, Н. П. Борисенко [и др.]. — Орел : ВИПС, 1997. 8. Основы криптографии / А. П. Алферов, А. Ю. Зубов [и др.]. — М. : Гелиос АРВ, 2002. — C. 93. 9. Шифр подстановки [Электронный ресурс]. — Режим доступа: http://ru.wikipedia.org. 10. Ященко, В. В. Введение в криптографию. — М. : МЦНМО-ЧеРо, 2000. 11. Шнайер, Б. Криптоанализ. — М. : Триумф, 2002. — С. 19–22. 12. Семенов, Ю. А. Алгоритм шифрования DES [Электронный ресурс]. — Режим доступа: http://book.itep.ru. 13. ГОСТ 28147-89. Система обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. 14. Протокол Диффи — Хеллмана [Электронный ресурс]. — Режим доступа: http://ru.wikipedia.org. 15. Шнайер, Б. Прикладная криптография. — М. : Триумф, 2003. 16. Прохорова, О. В. Метод генерации последовательности простых чисел // Международный научно-исследовательский журнал. — 2015. — № 4 (35). — С. 8–10. 17. ГОСТ 34.10-94. Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронно-цифровой подписи на базе асимметричного криптографического алгоритма. 118 18. Горбатов, В. С. Основы технологии PKI / В. С. Горбатов, О. Ю. Полянская. — М. : Горячая линия — Телеком, 2004. 19. Программно-аппаратные средства обеспечения информационной безопасности. Защита программ и данных / П. Ю. Белкин, [и др.]. — М. : Радио и связь, 1999. 20. MD5 [Электронный ресурс]. — Режим доступа: http://ru.wikipedia.org/wiki/MD5. 21. Смит, Р. Э. Аутентификация: от паролей до открытых ключей. — М. : Вильямс, 2002. 22. Щербаков, А. Разрушающие программные воздействия. — М. : ЭДЕЛЬ, 1993. 23. Основы верификационного анализа безопасности исполняемого кода программ / В. А. Матвеев [и др.] ; под общ. ред. П. Д. Зегжды. — СПб. : СПбГТУ, 1994. 24. Милославская, Н. Г. Интрасети. Доступ в INTERNET. Защита / Н. Г. Милославская, А. И. Толстой. — М. : Юнити, 2000. 25. Зима, В. Безопасность глобальных сетевых технологий / В. Зима, А. Молдовян, Н. Молдовян. — СПб. : БХВ-Петербург, 2000. 26. Закер, К. Компьютерные сети. Модернизация. Поиск неисправностей. — СПб. : БХВ-Петербург, 2001. 119 ОГЛАВЛЕНИЕ ВВЕДЕНИЕ ............................................................................................... 3 1. ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ ПРЕДМЕТА ЗАЩИТЫ ИНФОРМАЦИИ ..................................................................... 4 1.1. Правовое обеспечение информационной безопасности ............. 4 1.2. Организационно-распорядительная документация..................... 7 1.3. Санкционированный и несанкционированный доступ ............... 8 1.4. Угрозы безопасности и каналы реализации угроз....................... 9 1.5. Основные принципы обеспечения информационной безопасности ........................................................................................ 12 1.6. Ценность информации ................................................................. 13 1.7. Меры обеспечения безопасности компьютерных систем......... 14 1.8. Характеристика способов защиты компьютерной информации ......................................................................................... 14 2. РАЗГРАНИЧЕНИЕ ДОСТУПА К РЕСУРСАМ ............................... 17 2.1. Политики безопасности ............................................................... 17 2.2. Дискреционные политики безопасности .................................... 18 2.3. Мандатные политики безопасности ........................................... 19 2.4. Контроль доступа, базирующийся на ролях .............................. 23 2.5. Политика безопасности сети ....................................................... 25 3. ИДЕНТИФИКАЦИЯ И АУТЕНТИФИКАЦИЯ СУБЪЕКТОВ ...... 28 3.1. Классификация подсистем идентификации и аутентификации субъектов.............................................................. 28 3.2. Парольные системы идентификации и аутентификации пользователей ...................................................................................... 29 4. МЕТОДЫ И СРЕДСТВА КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ .. 33 4.1. Принципы криптографической защиты информации ............... 33 4.2. Традиционные симметричные криптосистемы ......................... 34 4.2.1. Шифрование методом замены (подстановки) ..................... 36 4.2.2. Шифрование методами перестановки.................................. 41 4.2.3. Шифрование методом гаммирования .................................. 43 4.3. Элементы криптоанализа ............................................................. 44 4.4. Современные симметричные системы шифрования ................. 46 4.5. Асимметричные криптосистемы................................................. 48 4.5.1. Принципы асимметричного шифрования ............................ 48 4.5.2. Однонаправленные функции ................................................ 51 4.5.3. Алгоритм шифрования RSA ................................................. 53 4.6. Сравнение симметричных криптосистем с асимметричными .............................................................................. 55 4.7. Роль простых чисел в криптографии .......................................... 56 120 5. КОНТРОЛЬ ЦЕЛОСТНОСТИ ИНФОРМАЦИИ. ЭЛЕКТРОННО-ЦИФРОВАЯ ПОДПИСЬ ............................................ 60 5.1. Проблема обеспечения целостности информации .................... 60 5.2. Функции хеширования и электронно-цифровая подпись......... 63 5.3. Инфраструктура открытых ключей PKI ..................................... 66 6. ХРАНЕНИЕ И РАСПРЕДЕЛЕНИЕ КЛЮЧЕВОЙ ИНФОРМАЦИИ ..................................................................................... 72 6.1. Типовые схемы хранения ключевой информации .................... 72 6.2. Защита баз данных аутентификации в ОС Windows NT и UNIX .................................................................. 75 6.3. Алгоритмы хеширования MD4, MD5 ......................................... 78 6.4. Иерархия ключевой информации. Распределение ключей ...... 80 6.5. Протоколы безопасной удаленной аутентификации пользователей ...................................................................................... 84 7. ЗАЩИТА ОТ РАЗРУШАЮЩИХ ПРОГРАММНЫХ ВОЗДЕЙСТВИЙ ..................................................................................... 89 7.1. Понятие разрушающего программного воздействия ................ 89 7.2. Модели взаимодействия прикладной программы и РПВ ......... 91 7.3. Компьютерные вирусы как класс РПВ ....................................... 91 7.4. Защита от РПВ. Изолированная программная среда ................ 95 8. ЗАЩИТА ИНФОРМАЦИИ В КОМПЬЮТЕРНЫХ СЕТЯХ .......... 99 8.1. Основные угрозы и причины уязвимости сети Internet ............ 99 8.2. Классификация типовых удаленных атак на интрасети ......... 101 8.3. Ограничение доступа в сеть. Межсетевые экраны.................. 104 8.4. Виртуальные частные сети (VPN) ............................................ 108 8.5. Доменная архитектура в Windows NT. Служба Active Directory .................................................................... 111 8.6. Централизованный контроль удаленного доступа. Серверы аутентификации ................................................................. 113 8.7. Прокси-сервер ............................................................................. 115 БИБЛИОГРАФИЧЕСКИЙ СПИСОК ................................................. 118 121 3. ГОРМОНАЛЬНЫЙ ПРОФИЛЬ И ХОЗЯЙСТВЕННЫЕ ПОКАЗАТЕЛИ Ольга Витольдовна ПРОХОРОВА ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ И ЗАЩИТА ИНФОРМАЦИИ Учебник Издание четвертое, стереотипное Зав. редакцией литературы по информационным технологиям и системам связи О. Е. Гайнутдинова ЛР № 065466 от 21.10.97 Гигиенический сертификат 78.01.10.953.П.1028 от 14.04.2016 г., выдан ЦГСЭН в СПб Издательство «ЛАНЬ» lan@lanbook.ru; www.lanbook.com; 196105, СанктПетербург, пр. Юрия Гагарина, 1, лит. А. Тел.: (812) 4129272, 3362509. Бесплатный звонок по России: 88007004071 Подписано в печать 18.03.22. Бумага офсетная. Гарнитура Школьная. Формат 84×108 1/32. Печать офсетная/цифровая. Усл. п. л. 6,51. Тираж 50 экз. Заказ № 43322. Отпечатано в полном соответствии с качеством предоставленного оригиналмакета в АО «Т8 Издательские Технологии». 109316, г. Москва, Волгоградский пр., д. 42, к. 5. 3