Text
                    ф
S
ко
о
и
О
С
ф
о
X
ко
ф
Высшее профессиональное образование
А. А. Грушо
3. А. Применко
Е. Е. Тимонина
ТЕОРЕТИЧЕСКИЕ
ОСНОВЫ
КОМПЬЮТЕРНОЙ
БЕЗОПАСНОСТИ
сеть * база|данных1*
ти HnLEF
А *	I
4	' ключ
баз^|даннык4_ Г
Д1 ч ।
- J3 ЗАЩИТА^ J
1_ сеть Ti х . Hi
Информационная
безопасность
AC ADEM'а

ВЫСШЕЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАНИЕ А.А.ГРУШО, Э.А.ПРИМЕНКО, Е.Е. ТИМОНИНА ТЕОРЕТИЧЕСКИЕ ОСНОВЫ КОМПЬЮТЕРНОЙ БЕЗОПАСНОСТИ Рекомендовано Учебно-методическим объединением по образованию в области историко-архивоведения в качестве учебного пособия для студентов высших учебных заведений, обучающихся по специальностям группы 090100 «Информационная безопасность» ACADEMA Москва Издательский центр «Академия» 2009
УДЮ62-79(075<8) ББК 32.973я73 Г91 Рецензенты: доктор технических наук, профессор, действительный член Академии криптографии РФ С. П. Расторгуев (МГУ им. М. В.Ломоносова); кандидат физико-математических наук О. А. Логачев^Институт проблем информационной безопасности МГУ им. М. В. Ломоносова) Грушо А. А. Г91 Теоретические основы компьютерной безопасности: учеб, пособие для студентов высш. учеб, заведений / А. А. Грушо, Э.А.Применко, Е.Е. Тимонина. — М.: Издательский центр «Академия», 2009. — 272 с. ISBN 978-5-7695-4242-8 Учебное пособие посвящено различным аспектам проблемы компью- терной безопасности. В нем рассмотрены уязвимости компьютерных си- стем, а также математические модели их безопасности. Анализируется бе- зопасность криптографических методов защиты компьютерных систем. Для студентов высших учебных заведений. Может быть полезно препо- давателям и специалистам, желающим ознакомиться с теоретическими основами защиты компьютерных систем. УДК 62-79(075.8) ББК 32.973я73 Оригинал-макет данного издания является собственностью Издательского центра «Академия», и его воспроизведение любым способом без согласия правообладателя запрещается © Грушо А. А., Применко Э.А., Тимонина Е.Е., 2009 © Образовательно-издательский центр «Академия», 2009 ISBN 978-5-7695-4242-8 © Оформление. Издательский центр «Академия», 2009
ПРЕДИСЛОВИЕ Учебное пособие написано на основе лекций, а также семина- ров, которые, авторы вели в течение ряда лет в различных , вузах Москвы. Кроме того, в него вюпочены некоторые авторские ори- гинальные результаты работ в области математических моделей атак и защиты информации в компьютерных системах. Йособие содержит материал, который, необходимо знать специалисту, по компьютерной безопасности:'уязвимости элементов компьютер- ных систем и возможности построения атак, на компьютерные системы и средства их защиты, в частности, на криптографиче- ские средства защиты; математические модели защищенности ком- пьютерных систем. , В отдельный раздел выделены вопросы криптографического анализа, т. е. математические вопросы защищенности средств крип- тозащитыкомпьютерныхсистем. v ., Поскольку уровень подготовки студентов к моменту изучения курса «Теоретические основы компьютерной безопасности» раз- ный, .материал представлен в книге с помощью нескольких ите- раций. Сначала читатель получает сведения, о предмете, доста- точные для первых шагов самостоятельной работы в области обес- печения безопасности компьютерных систем. Второй уровень ите- раций позволяет читателю познакомиться с необходимым для специалиста кругом проблем, и их решениями, , а третий уровень — с практической реализацией идей. и. методов, связанных с рабо- той в области информационной безопасности. Последний уровень итераций выделяется, как правило,! звездочкой (*) в заголовке. Авторы выражают глубокую благодарность С. П. Расторгуеву, и О. А. Логачеву за ценные замечания, высказанные при рецензиро- вагрги рукописи. . ,
ВВЕДЕНИЕ Основные положения, идентифицирующие информационную бе- зопасность. Специфические свойства информационной безопас- ности (ИБ) можно сформулировать следующим образом: нанесе- ние ущерба через информационную инфраструктуру (сети, при- ложения, управляющие системы). В работе [54] Определена следу- ющая многоуровневая информационная инфраструктура общества (киберпространства) как объекта ИБ. Уровень 1 — уровень малого бизнеса и домашних пользователей. Этот уровень становится критической инфраструктурой, когда ущерб наносится большому количеству рабочих станций и ин- формационным ресурсам на них (1 000—10 000). Кроме того, в силу большой уязвимости этот уровень может использоваться в каче- стве стартового для распределенных айонимных атак (DoS и др.). Уровень 2 — уровень больших корпоративных систем, принад- лежащих корпорациям, местным, региональным и федеральным властям, университетам и т.д.: Этот уровень характеризуется боль- шим материальным ущербом в случае финансовых и промышлен- ных корпораций, компрометацией властей, большими косвенны- ми финансовыми потерями в случае уничтожения баз данных уни- верситетов и т.д. Уровень 3 — уровень объектов, в которых угрозы ИБ могут при- вести к человеческим' жертвам, экологическим бедствиям и боль- шим материальным потерям. Сюда входят объекты энергетики, транспорта, оперативного управления и др. Уровень 4 — уровень государственных институтов. На этом уров- не значительный ущерб может быть нанесен за счет раскрытия государственных секретов, недоступности и нарушения целост- ности государственных информационных ресурсов. Уровень 5 — уровень, связанный с межгосударственными от- крытыми информационными сетями и системами. Особенностью этого уровня является опасность удаленных атак, в которых про- тивник практически недоступен. Все объекты пяти уровней можно назвать объектами ИБ. Одна- ко понятие ИБ объектов различных уровней разное. Безопасность систем высокого доверия. Элементы информаци- онной инфраструктуры общества будем называть критическими системами или критическими объектами, если нарушение их пра- вильной работы может нанести большой ущерб, т.е. ущерб, свя- занный с человеческими жертвами или вредными экологически- 4
ми последствиями, а также большими материальными потерями. Критическим системам ИБ посвящено много исследований. Мы приведем наиболее характерные черты таких систем, описанные в работе [46]. Информационные системы для критических объек- тов будем называть системами высокого доверия. Naval Research Laboratory (NRL) [46] определяет следующие критические свой- ства систем высокого доверия: • свойство безопасности, т. е. информация в системах должна быть защищена от несанкционированного раскрытия, модифика- ции, ограничения доступности даже в условиях агрессивной сре- ды; ' • свойство противостояния непреднамеренным событиям, ко- торые могут повлечь большой ущерб. Это свойство приблизитель- но соответствует надежности системы; • свойство ограниченного времени, т. е. способность системы вы- полнять задачи в ограниченных временных интервалах; • свойство устойчивости к сбоям, т.е. гарантия выполнения с заданным качеством необходимого набора сервисов, несмотря на сбои в работе компонент системы. Требования к системам высокого доверия являются противо- речивыми [46]. Так, ограничения по времени противоречат устой- чивости к сбоям. Для распределенных систем высокого доверия перечисленные требования связаны между собой. Например, пусть одна из задач системы высокого доверия — агрегирование информации для пре- доставления высшему звену управления: Традиционная функция защиты целостности прёдполагаёт использование кодов аутенти- фикации и электронно-цифровую подпись. Однако легальная мо- дификация информации, связанная с агрегированием, естественно нарушает коды аутентификации и электронно-цифровой подпи- си (ЭЦП): Значит,’ защита целостности в данном случае связана с надежностью работы алгоритма агрегирования информации, т.е. мы выходим за рамки традиционных требований по безопасности и для обеспечения безопасности информации требуем обеспече- ния Надежности работы алгоритмов и программ. Общая методология построения систем защиты. Общая методо- логия построения и оценки эффективности систем защиты [5—8, 38—41] предполагает такую последовательность: • угрозы; • модель нарушителя, его цели; • уязвимости; • политика безопасности, или методы снижения угроз; • системы защиты; • оценка' защищенности. Угрозы ИБ. Угроза — это производное понятие, исходным по- нятием являются активы — ценные информационные ресурсы и 5
программное обеспечение. Угрозы всегда направлены на нанесе- ние ущерба активам с помощью атаки. Атака представляет собой последовательность действий нарушителя. Как правило, атака со- стоит,из следующих этапов: • разведка системы, в которой будет проводиться атака, и орга- низация атаки; • внедрение и получение доступа к точкам уязвимости; • нанесение ущерба; • маскировка следов нарушителя с тем, чтобы избежать ответ- ственности. В основном угрозы информационным ресурсам и программно- му обеспечению формулируются как нарушение конфиденциаль- ности, целостности или доступности к активам. Анализ.угроз пред- ставляет собой выявление целей атак и построение реально вы- полнимых цепочек по, достижению этих целей исходя из возмож- ностей нарушителя. Поскольку угроз может быть очень много, а цена защиты — слишком высокой, то с существованием некото- рых угроз мы вынуждены мириться. В таких случаях, говорят, что мы принимаем риски таких угроз. , Модель нарушителя. Ясно, что основные субъекты реализации угроз описываются моделью нарушителя. Модель нарушителя скла- дывается из: • целей нарушителя; • инструментов, которые может использовать нарушитель; • возможности использования этих инструментов. Цели нарушителя. Целью нарушителя является построение ата- ки, которая может принести ущерб информационным ресурсам и программам через имеющиеся у.нарушителя средства. Условия и инструменты нарушения ИБ. Условия и инструменты нарушения ИБ следующие: • вредоносный код, внедренный в легальные программно-ап- паратные системы и реализующий все-стадии атаки; • ограничение пропускной способности, физических или логи- ческих каналов связи и, как следствие, ограничение доступности ресурсов; • точки уязвимости информационных технологий и програм- много обеспечения; • стихийные бедствия и халатность. Возможности нарушителя. Возможности нарушителя инфор- мационной безопасности прежде всего определяются материаль- ными средствами, которые противник может выделить на прове- дение атаки. Эти материальные возможности определяются вы- годой, которую получит нарушитель при нанесении ущерба. Та- кую выгоду противника можно оценить стоимостью атакуемых активов. Тогда ясно, что материальные возможности противника по организации атаки не превосходят полученную оценку (пред- 6
положим, что нарушитель не является параноиком). Материаль- ные возможности противника используются для оплаты техни- ческих, интеллектуальных и организационных средств для пост- роения атаки. ' . При анализе возможностей нарушителя будем исходить из сле- дующих предположений: • как правило, нарушитель не имеет непосредственного досту- па к информационным системам, однако возможны интерфейсы с такими системами через сети общего доступа или непосред- ственно на некоторых этапах жизненного цикла; • нарушитель знает все об атакуемой информационной систе- ме, непосредственное воздействие предполагает механизмы ди- станционного нанесения ущерба из удаленных точек дислока- ции; • в силу ограниченности количества противников их воздей- ствие может быть только локальным;- т.е. число исходных точек воздействия ограничено, но последствия должны быть существен- ными (максимальный ущерб). Разумеется, возможности нарушителя определяются одновре- менным использованием' всех доступных инструментов для пост- роения атак. Однако сами инструменты требуются для использо- вания уязвимостей, через которые реализуются угрозы. ’ Уязвимые точки выявляются на этапе разведки информацион- ной системы с помощью интеллектуального анализа экспертами. Например, ограничение пропускной способности связано либо с физическим воздействием (захват и т.д.), либо с нарушением элек- тропитания, либо с использованием вредоносного кода в различ- ных элементах коммуникационной системы; Доступ к ценным ин- формационным активам также чаще всего связан с использова- нием вредоносного кода (далее также вредоносного программно- аппаратного агента). Таким образом, возможности нарушителя в значительной степени связаны с использованием вредоносного кода. В зависимости от масштаба применения'вредоносного кода нарушителем его возможности можно классифицировать следу- ющим образом: Нарушитель может: ' ! 1) встраивать вредоносного программно-аппаратного агента в одну из компонент атакуемой информационной системы и созда- вать возможности передачи сигнала этому агенту или задавать про- граммы его действия; 2) встраивать вредоносных программно-аппаратных агентов в несколько компонент распределенной системы с возможностью передачи сигнала этим агентам или задавать программы их дей- ствий (сюда же входит возможность распространения червей и вирусов); 3) организовывать связи между вредоносными программно-ап- паратными агентами и создавать сети этих агентов; 7
^ преодолевать механизмы защиты для управления вредонос- ными программно-аппаратными агентами или в процессе деятель- ности агентрв; 5) создавать вредоносную многоагентную систему, «невиди- мую» для средств защиты и обладающую интеллектуальными свой- ствами. В последнем случае нарушитель может нарушить любые требо- вания к функционированию информационной системы и при этом остаться неуязвимым. Уязвимости. Уязвимости связаны с возможностями, несанкци- онированного локального доступа нарушителей, передачи воздей- ствия в атакуемые компьютерные системы и сбора информации об объектах, являющихся целями атак. В контексте атак, на инфор- мационные системы уязвимости целесообразно искать по следу- ющим направлениям: • поиск доступов к локальным устройствам, имеющим интер- фейс с системами, представляющими интерес для противника; • разработка механизмов взаимодействия вредоносных локаль- ных систем и элементов информационных систем; разработка ме- ханизмов распространения вредоносного воздействия и. механиз- мов воздействия, на уязвимые элементы атакуемых систем; • выявление уязвимостей программного кода в информацион- ных системах, поиск уязвимостей для распространения воздей- ствия в информационных системах (скрытые каналы в програм- мном обеспечении (ПО)) и т.д. , Поиск уязвимостей требует использования аналитических ме- тодов и инструментов экспериментального исследования. В первом разделе рассмотрены примеры уязвимостей при за- данных допущениях о возможностях нарушителя и приведен при- мер инструментальных средств моделирования при проведении такого анализа. Политика безопасности. Политика безопасности — это си- стема правил обращения с информацией и скоординированных мер, позволяющих снижать риск ущерба, который,может быть нанесен атаками. Например, для информационных систем поли- тика безопасности включает в себя снижение локального воз- действия, изоляцию критических подсистем, безопасный интер- фейс с глобальными сетями при необходимости их взаимодей- ствия с защищаемыми информационными системами. Политика безопасности вырабатывается по результатам анализа моделей систем и процессов в них с помощью расчета эффективности правил обращения с информацией и скоординированных дей- ствий по снижению риска ущерба. Политика безопасности явля- ется основой противодействия атакам на информационные си- стемы. На основе политики создаются средства, методы и меха- низмы защиты. 8
Средства организации атак. При выработке политики без- опасности моделирование и анализ моделей ведется в направ- лениях основных элементов информационных систем, которые нарушитель может использовать при организации атак. Напри- мер: • вредоносный код (развитие этих средств во вредоносную мно- гоагентную систему); • ограничение пропускной способности среды передачи дан- ных (DoS атаки и др.); • воздействия на уязвимые точки в распределенных системах (вывод из строя баз данных, систем энергопитания и др.); • ошибки пользователей. Системы защиты. Выбор моделей для анализа проблем за- щиты определяется последовательностью реакций на атаки на компьютерные системы. Многолетняя практика построения охран- ных систем и организационных мер защиты подсказывает после- довательность реакций для построения системы защиты от атак: Анализ -» Предупреждение -> Действия в период атаки -> Реакция на последствия атаки/Восстановление системы. Раскроем последовательно цепочку в этой системе связей. Анализ. Анализ — это последовательность действий, которая предшествует атакам и связана с построением сйстем защиты от атак. Учитывая специфику атак и общую схему построения систем защиты, изложенную в международных стандартах [5—8, 38—43], этап анализа предполагает следующую последовательность дей- ствий: . * исследование угроз; ' • построение модели нарушителя, определение его целей; • исследование уязвимостей информационных систем, через которые можно реализовать угрозы; - • построение политики безопасности, или разработка методов снижения угроз; • собственно построение системы защиты, которая поддержи- вает требования политики безопасности. Предупреждение. Система безопасности требует ресурсов си- стемы. Чём лучше защита^ тем больше ресурсов она требует. Это делает информационную систему более дорогой, а защиту ин- формации — экономически трудно оправдываемой. Естественным решением этой проблемы является’система отслеживания, позво- ляющая выявлял» признаки атак и именно в эти периоды привле- кать для защиты большие ресурсы системы. Система предупреж- дения не снижает уровень угроз, но позволяет снизить риски ущер- ба от атак. В настоящее время создано много продуктов для обна- ружения вторжений. Основная проблема при построении таких систем — эффективность выявления новых атак. 9
Действия в период атаки. Поскольку система предупреждения вовлекает дополнительные ресурсы в организацию защиты от ущерба, , связанного с атаками, то организация эффективного ис- пользования этих , ресурсов с целью снижения ущерба является самостоятельной задачей. Особенностью данной проблемы явля- ется то, что привлечение ресурсов может происходить на фоне развертывающейся атаки. Можно обобщить этот тезис: необходи- мо разработать действия в период атаки, связанные с эффектив- ным использованием всех ресурсов системы с целью обеспечения функционирования и снижения ущерба несмотря на атаку. В связи с этим действия в период атаки выходят за рамки традиционно рассматриваемых в компьютерной безопасности задач ограниче- ния доступа [10]. Реакция на последствия атаки/Восстановление системы. Во многих, случаях, максимальный ущерб от атак происходит за счет простоя информационной поддержки критического объекта, т.е. за счет простоя информационной системы. В связи с этим постро- ение системы защиты должно предполагать организацию восста- новления работоспособности- системы за такой промежуток! вре- мени, который не приводит к фатальным последствиям. Приведенная схема определяет основу для построения моде- лей, связанных.с защищенностью компьютерных сцстем от атак. Оценка защищенности. Модели для анализа проблем защиты классифицируются следующим образом: • модели возможных уязвимостей, модели возможных атак, модели для анализа потенциальной эффективности контрмер, модели для анализа последствий ограничений пропускной спо- собности в сети, модели для поиска узких мест в. распределенных системах; . • модели методов вторжений в информационные системы, модели выявляемости атак, модели распространения сигнала пре- дупреждения об атаках, модели для анализа эффективности .пре- дупреждения при быстротекущих атаках; • модели для анализа реакций на сбой,системы, модели для анализа реакций на снижение пропускной способности сети, мо- дели действий при воздействш! на уязвимые элементы системы; • модели для анализа допустимого времени неработоспособно- сти узлов системы или всей системы, модели для оценки времени восстановления узлов и системы. При реализации данной схемы математические модели дают возможность проведения анализа атак и эффективности защиты.
РАЗДЕЛ ПЕРВЫЙ ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ИХ УЯЗВИМОСТИ. МЕХАНИЗМЫ ЗАЩИТЫ Безопасность компьютерных систем основана наисключении или компенсации уязвимостей, найденных в этих компьютерных системах. В первом разделе рассмотрены уязвимости информаци- онных систем (ИС) и механизмы защиты ИС. Глава 1 ПЕРВОНАЧАЛЬНОЕ ЗНАКОМСТВО С ПРОБЛЕМОЙ ЗАЩИТЫ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА 1.1. Устройство персонального компьютера Для первоначального знакомства' с защитой персонального компьютера достаточно представлять его в виде следующего на- бора компонент: • аппаратная платформа персонального компьютера; • операционная система персонального компьютера; • приложения для персонального компьютера; • внешние устройства; • устройства подключения к Интернету или к локальным сетям. Аппаратная платформа персонального компьютера содержит материнскую плату, на которой установлен центральный про- цессор, например Pentium'4. Другие аппаратные компоненты пер- сонального компьютера связаны с центральным процессором с помощью шины. К шине с помощью специального разъема при- соединяются блоки оперативной памяти, а также контроллеры некоторых устройств: жёсткого’ диска, CD-ROM, дисководов 11
флоппи-дисков, контроллеры интерфейсов с внешними устрой- ствами (USB и др.). Отдельно от материнской платы встраивает- ся блок питания. Через интерфейсы внешних устройств к компь- ютеру подсоединяется монитор, клавиатура, мыщь и др. Если выход в Интернет осуществляется с помощью обычного телефо- на, то через,внешние.интерфейсы персонального компьютера устанавливается модем. Иногда модем встраивается в разъем шины. В этом случае он называется внутренним. Плату включения в ло- кальную сеть также устанавливают в разъем шины. Через вне- шние интерфейсы подключаются принтеры, сканеры и другие устройства. Операционная система осуществляет интерфейс между прило- жениями и аппаратной платформой компьютера. Чаще всего в персональных компьютерах используется операционная система Windows. Однако могут применяться также операционные систе- мы Linux и др. Операционная система имеет жесткое сопряжение с аппаратной платформой.. Нельзя поставить произвольную опе- рационную систему на произвольную аппаратную платформу. На некоторых платформах конкретные операционные системы могут работать неустойчиво. Тогда их надо переустанавливать в соответ- ствии с прилагаемой инструкцией. Приложения. В среде Windows наиболее распространенным приложением является Microsoft Office. Среди наиболее важных приложений, включенных в Microsoft Office, следует назвать ре- дактор Word и систему управления базами.данных (СУБД) — Excel. Другими важными'приложениями в среде Windows являются бра- узер Internet Explorer и почтовая программа Microsoft Outlook Express. В случае, если связь с Интернетом осуществляется через модем, используется одна из dial-up программ. 1.2. Угрозы персональным компьютерам Если на персональном компьютере или на компьютере в ло- кальной сети нет дорогостоящей информации или ценного про- граммного обеспечения, ,то вряд ли можно предположить, .что существует серьезный противник, готовый вложить большие деньги в атаку на такой компьютер. Вместе с тем для таких компьютеров существуют угрозы. Наиболее серьезной угрозой являются вирусы. Созданные неизвестно кем и неизвестно зачем они распространя- ются с помощью взятых у третьих лиц. программ, с помощью по- чтовых сообщений.или программного обеспечения, перекаченно- го из Интернета. Слово «вирусы» давно и хорошо знакомо пользователям ком- пьютеров. Оно давно переросло свое первоначальное значение и теперь часто употребляется для обозначения любых вредоносных 12
программ, способных «размножаться», распространяясь с компь- ютера на компьютер и заражая подчас целые компьютерные сети вплоть до глобальных эпидемий в Интернете. Это «классические» вирусы, сетевые и. почтовые черви, «Тро- янские кони», backdoor-программы и др. Результатом работы вируса может быть: .. • относительно безвредное вмешательство в работу компьюте- ра, например злая шутка, когда экран гаснет и выдается сообще- ние, что ваш жесткий диск отформатирован; , • нанесение реального вреда, когда винчестер действительно форматируется или стираются , важные файлы; • , настоящее преступление, когда с помощью троянских про- грамм злоумышленники крадут номера ваших кредитных карт, пароли доступа, другую конфиденциальную" информацию. Количество .вредоносных компьютерных программ с развити- ем Интернета из года в год лишь увеличивается. По подсчетам специалистов, в 2004 г,, в разное время было'за- ражено около 115 млн персональных компьютеров, в. 200 странах мира. Примерно 11 млн машин остаются, зараженными постоян- но, они используются преступными группиррвками для фишин- га, рассылки спама, организации Distributed Denial of Service (DDoS) атак или распространения новых вирусов.' Глобальный экономический ущерб от распространения виру- сов (в 2004 г. их насчитывалось . 480. видов) составил около 202 млрд долл. С учетом того что в мире существует около 600 млн компьютеров, ущерб, в среднем,.составил 277—336 долл, на одиц ПК- Величина ущерба на один рабочий компьютер является важ- ным фактором для. расчета полной стоимости владения (TCQ) ПК. Пока она не столь велика, чтобы заставить, корпоративных пользователей отказаться от операционной системы (ОС) Windows и огромного количества приложений, созданных для этой ОС. Ис- торически сложилось так, что показатель ТСО остается в пользу Microsoft, подразумевая слишком большие расходы для миграции на другие платформы (Linux, BSD, MacOS), необходимость пере- обучения, пользователей, обслуживающего персонала, ключевых поставщиков и клиентов, и переноса корпоративных .информа- ционных систем и баз данных на новую платформу. Существенной угрозой для персональных компьютеров явля- ются сбои программно-аппаратных систем компьютеров. Сбои могут возникать из-за использования некачественных элементов аппаратной платформы, конфликтов различных компонент про- граммного обеспечения,^ использования нелицензионного про- граммного обеспечения. Чаще всего ущерб от сбоев состоит в по- тере информационных ресурсов (ценной для пользователей ин- формации). 13
Наконец, угрозой для пользователей является несанкциониро- ванный доступ к информационным ресурсам. Это может быть про- стое любопытство либо более серьезные причины, связанные с ознакомлением с документами, наработками и другой персональ- ной информацией. Несанкционированный доступ может привести к потере информации или к модификации нужных данных. 1.3. Средства защиты персонального компьютера Для защиты от несанкционированного доступа к компьютеру используется идентификация и аутентификация. Аутентификация происходит с помощью паролей, которые известны легальным пользователям и неизвестны посторонним лицам. В тех случаях, когда один компьютер используется несколькими пользователя- ми, средствами операционной системы молото установить разгра- ничение доступов к ресурсам и программам. Уже в небольших ло- кальных сетях настройка системы разграничения доступов требу- ет знаний администратора и не является простой задачей. В допол- нение к функции разграничения доступов используется функция аудита, которая позволяет контролировать действия пользовате- лей в течение определенного времени. '' В целях защиты от вирусов используются антивирусные'про- граммы, которые позволяют обнаруживать вирусы, идентифици- ровать'их и во многих случаях уничтожать, не разрушая програм- мы и данные. Однако самым важным средством защиты информа- ционных ресурсов на ПК является резервирование. Резервные ко- пии позволяют при сбоях и вирусных атаках восстанавливать программное обеспечение и данные. Резервирование должно быть хорошо организовано, так как если в резервных копиях содержат- ся различные варианты данных, то пользователь быстро теряет ориентацию в нйх й часто пользуется устаревшими Данными вме- сто более новых и проверенных. Для защиты от атак из Интернета используют межсетевые экра- ны. Лучше всего персональный межсетевой экран устанавливать на отдельном компьютере, на котором находятся также браузер и по- чтовая программа. С основным рабочим компьютером при этом поддерживается связь с помощью механизмов локальной сети. При использовании перечисленных простейших средств защи- ты самыми сложными являются настройки штатных функций за- щиты операционной системы, приложений и межсетевых экра- нов. Второй важной задачей для пользователя является умение восстанавливать программное обеспечение и ресурсы из резерв- ных копий. Поэтому, если у пользователя нет высококвалифици- рованных противников, понимание компьютерной безопасности на описанном уровне оказывается достаточным.
Глава 2 аппаратная часть компьютеров и сетевого ОБОРУДОВАНИЯ. УГРОЗЫ И ЗАЩИТА 2.1. Проблемы защиты в машинах неймановского типа Основной архитектурой компьютерной системы (КС) являет- ся архитектура фон Неймана, в которой программы и данные — это двоичные вектора. Последовательность действий при выполнении программы: вы- бирается команда, выбирается операция, вычисляется команда. Уязвимости неймановской архитектуры: . ,, • программа хранится в памяти; • линейная память — .это линейное, пространство адресов, ко- торому присваиваются номера; • последовательное выполнение программы;, • отсутствие раздичий между, данными и командами; • отсутствие различий в семантике данных. Противник может организовать атаки с помощью следующих потенциальных возможностей: . • v , . • писать (Программы; • встроить программу; • передать управление «Троянскому коню»; • разрушить программы и данные, так как они находятся, в едином поле памяти. ( Существует также семантический разрыв: чтобы писать про- граммы, создаются языки высокого уровня, однако с реальными данными компьютер работает по-своему. И разница между тем, что думает программист о том, что должна делать машина, й тем, что она делает на самом деле, постоянно растет. Если кто-то встро- ится в нижний уровень, то нельзя понять, что может быть сдела- но против работающего на высоком уровне. Процессор представляет собой маленький компьютер, кото- рый содержит устройства выполнения операций, , свою память, свой набор программ. Кроме того, процессор может определять приоритет поступающих на вход команд, выбирать место в. опера- тивной памяти для записи результатрв вычислений. Процессор 15
хорошо защищен от анализа его содержимого или изучения его как «черного ящика». Для работы с процессорами фирмы-изгото- вители готовят документацию по его возможностям, правилам эксплуатации. Однако в процессорах могут быть реализованы не- документированные возможности, обращение к которым практи- чески не выявляемо. Для большинства операционных систем главный процессор предоставляет два режима работы: обычный и защищенный. Ряд функций выполняется в защищенном режиме, ряд — в незащи- щенном. В компьютере находится много других процессоров, которые чаще называются контроллерами. Перечислим некоторые из них: • контроллер оперативной памяти, осуществляющий интер- фейс между шиной и кристаллом, на котором хранятся данные энергозависимой оперативной памяти; • контроллер, обслуживающий функции шины, этот контрол- лер для шины PCI называется арбитром шины; • контроллер жесткого диска, осуществляющий интерфейс меж- ду шиной и полями магнитных записей на жестком диске; • контроллер видеоадаптера, управляющий представлениями данных, записанных в полях оперативной памяти, на экране мо- нитора; • • контроллер адаптера локальной сети, осуществляющий ин- терфейс между шиной компьютера и кабелем локальной сети. Все контроллеры компьютерной системы содержат кристалл, на котором записано программное обеспечение и данные^ необ- ходимые для выполнения функций контроллера. Для многих кон- тролеров эти данные можно перезаписывать и, следовательно, противник имеет возможность внедрения «закладки» в програм- мный код контроллера. Особую опасность такие «закладки» при- обретают, если их включать в BIOS компьютерной системы. «Закладки» в процессорах могут общаться между собой с по- мощью скрытых (т.е. невидимых для пользователей и штатных средств защиты) каналов. Примеры такого взаимодействия- при- ведены в [25]. 2.2. Угрозы, связанные с инженерно-техническими методами взаимодействия с компьютерными системами Как любые электротехнические приборы, процессоры, диско- воды, материнские платы могут излучать радиосигналы. Эти сиг- налы могут перехватываться обычными приемниками или специ- альным оборудованием. Записи перехваченных сигналов могут обрабатываться специальными программами на компьютерных 16
системах противника. В результате данные, обрабатываемые на компьютерах, могут быть восстановлены. Такой способ, кражи ин- формации носит названйе «утечка по каналу ПЭМИН». Точно так же излучения извне могут воздействовать на аппаратную часть ком- пьютерных систем. Например, СВЧ излучение в узком диапазоне может выжигать процессоры компьютерной системы на рассто- янии до 10 км. Различные задачи вызывают разное потребление тока деталя- ми компьютера. Отсюда возникают наводки в цепях питания ком- пьютерной системы. Запись этих наводок с последующей компью- терной обработкой специальными программами противника по- зволяет восстанавливать конфиденциальную информацию, обра- батываемую компьютером так же, как это делается при перехвате излучения. Поэтому цепи питания являются уязвимым звеном компьютерных систем с точки зрения утечки конфиденциальной информации. Цепи питания могут использоваться для атак на це- лостность программ и данных компьютерных систем. Например, подключение высокого напряжения к системам заземления или системам питания компьютеров приводит к выводу из строя про- цессоров,выжиганию плат и тем'самым к разрушению программ и данных. Достаточно часто такое случается по халатности или в силу случайных стечений обстоятельств. Однако это может быть также атакой противника на компьютерную систему и данные. Небольшие скачки напряжения снимаются специальными при- борами, которые продаются вместе с компьютерным7 оборудова- нием. Защита заземления обеспечивается прежде всего скрытием шины заземления от несанкционированного доступа. Если шина заземления , сделана не правильно, она также является антенной, излучающей сигналы, несущие конфиденциальную информацию. Для мощных компьютерных систем питание осуществляется че- рез генераторы, изолированные от внешних сетей питания. Одним из серьезных каналов утечки информации является эк- ран монитора. Речь идет не только о наблюдении посторонними экрана монитора, но прежде всего о модуляции разверткой ви- деоизображения высокочастотного сигнала несущей частоты ком- пьютера. ! Плохо защищены от излучения информационных сигналов USB приборы и интеллектуальные карты с процессорами: Используемые для хранения конфиденциальной информации магнитные носители также могут являться источниками утечки информаций. '
Глава 3 ОПЕРАЦИОННЫЕ СИСТЕМЫ. УГРОЗЫ И ШТАТНЫЕ СРЕДСТВА ЗАЩИТЫ 3.1. Архитектура операционной системы UNIX. Применение иерархического метода для построения защищенной операционной системы Задача любой операционной системы (ОС) состоит в, интер- претации заданий пользователя для аппаратной части компью- тера. Рассмотрим следующие важные вопросы: 1), устройство организации ОС; 2) логическая структура ОС; 3) безопасность ОС. Для примера рассмотрим класс операционных систем UNIX. Операционная система UNIX интересна в первую очередь тем, что имеет прозрачную организацию и большой набор механизмов безопасности. 3.1.1. Организация операционной системы UNIX ОС «ложится» на аппаратную часть (Hardware — HW) и стро- ится иерархически. Ядро ОС защищено от непосредственного до- ступа непривилегированных пользователей. Пользователь UNIX об- ращается, к ядру с помощью языка Shell. Точнее пользователь вызывает скрипты, написанные на этом языке. Так как пользова- тель оперирует только названиями скриптов, то фактически су- ществует слой, защищающий ядро от атак со стороны обычного пользователя (рис. 3.1). Контроллеры аппаратной части управляются драйверами, ко- торые существуют отдельно для каждой «железки». Они переводят команды, которые подаются от верхних слоев ОС, в биты, управ- ляющие электрическими сигналами. Существуют так называемые системные вызовы, которые по- зволяют обращаться к чему-либо. Безопасность ОС основана на концепции защищенного ядра ОС, т.е. недоступности ядра ОС со стороны обычного пользовате- 18
ля. Система защиты входит в ядро, поэтому функции защиты так- же защищены. В этом состоит идея иерархического метода для по- строения защищенной операционной системы. Shell — это полный функциональный язык командной строки. Любая команда в Shell — это программа из простых команд- Если в Shell записать «Троянского коня», то система защиты сразу же «упадет», но для этого нужно получить право писать в Shell. Shell— это часть ОС, й ее нельзя изъять. > 3.1.2. Логическая,структура UNIX Логическая структура UNIX очень примитивна. Все данные представлены в виде файлов, которых существует несколько ви- дов. Здесь все описывается на соответствующем языке, поэтому включить (вьпслючить и,т.п.) прибор — это значит изменить со- ответствующий файл. Поэтому.работа с чем угодно — это все рав- но работа с. файлами. Иерархическая структура ОС выражается в том, .что все файлы организованы в виде «дерева» (рис. 3.2). . Инструменты для работы с файлами. Существующий инстру- ментарий — это Shell. Его объем неограничен, писать можно сколько угодно. Поэтому, все можно делать разными путями (одну функцию можно осуществить, как минимум, тремя способами), но возникает большая избыточность во всех функциях. И если пробовать убрать!эту избыточность,.то ничего не получится, так как Shell — это часть ОС. , Корневой каталог Промежуточные каталоги, (\ описывающие нижние файлы VJ 'Данные Г") Qjj ... Рис. 3.2 19
3.1.3. Безопасность UNIX В UNIX найдено много уязвимостей несмотря на огромное ко- личество функций безопасности. Часто под безопасностью ОС по- нимают набор функций, которые будут решать любые «можно/ нельзя» любых действий. В UNIX обозначается: # — значок Root: «все можно» (доступ к корневому каталогу); $ — значок User: «ог- раничено можно». Права пользователя. В UNIX реализована дискреционная поли- тика безопасности. Это значит, что любой информационный объект (файл) имеет хозяина (Owner), который назначает права доступа к своей информации. Хозяин может быть только один. Даже Root не может быть «хозяином» файла, которым владеет User. Вместе с тем доступ ко всем файлам ОС может реализовать Root, поэтому если кто-то несанкционированно сможет получить его права (например, хакер, подобравший пароль), система за- щиты станет бесполезной. Пользователь имеет набор инструментов, права пользования которыми ему предоставляет Root. С помощью этих инструментов пользователь может создавать свои файлы. Однако Root может от- нять права собственности у пользователя и завладеть его данны- ми, но пользователь об этом обязательно узнает. Права пользова- ния файлами создает «хозяин». Он также может передать кому- нибудь права собственности. Очень важным является понятие процесса. Под процессом [26] можно понимать работающую программу и всю информацию о ее состоянии (памяти, регистрах, счетчике команд, вводе,' выво- де и т.д.). Для работы процесса необходимо выделение операци- онной системой программе ресурсов, которыми она может рас- поряжаться (любое вычисление — это последовательность про- цессов). 1 , Процессов в UNIX много, следовательно, образуется очередь процессов, которую определяет ОС. Если много процессов, то можно реализовать несколько про- цессов параллельно. ОС распределяет задания для процессоров. Существует понятие приоритета. Следовательно, можно осу- ществить атаку на доступность ресурсов, можно перекрыть воз- можность решения основных задач системы, так как очень много легальных возможностей управлять приоритетами (можно запу- стить очень много приоритетных программ, и тогда все остальные программы будут стоять). В «дереве» (см. рис. 3.2) существует каталог с драйверами. В скрип- те можно написать remove/devise.*, и все драйверы будут уничто- жены, следовательно, вся система тоже «рухнет», т.е. будет унич- тожен весь интерфейс между аппаратной платформой и програм- мами. 20
3.1.4. Механизмы безопасности UNIX. Идентификация и аутентификация, разграничение доступа, резервирование. Пример практической реализации парольной системы 1. Функция идентификации (login) и функция аутентификации (пароль). При входе в систему нужно подтверждать себя. Суще- ствует файл, в котором записаны пароли в зашифрованном виде. С этой точки зрения Root тоже User. Он при входе в систему называет свои логин и пароль и ему приписываются права Root’a. 2. Функция разграничения доступа. Существует механизм, кото- рый следит за следующим: если пользователь обращается к дан- ным, то он 'проверяет, имеет ли право этот пользователь обра- щаться к этому файлу. Этот механизм и реализует функцию раз- граничения доступа. . 3. Функция «Back Up» (система резервирования). В UNIX нет «кор- зины» и уничтожение данных абсолютное; Резервирование — это очень трудоемкая работа, которую дол- жен проводить системный администратор хотя бы один раз в квартал. 1 2 3 4 н . , • Резервировать данные можно полностью, а можно частично, но частично резервировать лучше, так как это отнимает меньше времени несмотря на то, что делать это приходится чаще, чем если бы проводилось полное резервирование. Для UNIX характерно частичное резервирование. 3.1.5. Архитектура безопасности 1. В компетенции Root’a находится совокупность программ, ко- торые выполняют вышеперечисленные, функции. User не может выполнять эти функции, по отношению к другому User’y. 2. Все пароли хранятся в, шифрованном, виде (однонаправлен- ная функция преобразованйя пароля не позволяет по зашифро- ванному паролю и своему коду восстанавливать сам пароль). Файл, в котором хранятся зашифрованные пароли, может быть легко доступен пользователю. 3. Существуют механизмы, связанные, с защитой програм- мных продуктов, согласованные с производителем программно- аппаратной платформы. Например, если купить хорошую ком- пьютерную систему, то надо брать номер диска и номер, процес- сора и звонить производителю ОС и компьютера. Оттуда присы- лается запись, которая является паролем. После введения пароля система может быть инсталлирована. Но этот программный про- дукт установить на другую машину не получится, так как при- сланный пароль связан ,с процессором. 21
3.2. Угрозы безопасности \ - •. «• < 3.2.1. Программные закладки Программные закладки могут выполнять хотя бы одно из пере- численных ниже действий: , • вносить произвольные искажения в коды программ, находя- щихся в оперативной памяти компьютера (программная закладка первого типа); . . • переносить фрагменты информации из одних областей опе- ративной или внешней памяти компьютера в другие (програм- мная закладка второго типа); • искажать выводимую на внешние компьютерные устройства или канал связи информацию, цолученную в результате работы других программ (программная закладка третьего типа). Программные закладки можно классифицировать и по методу их внедрения, в компьютерную систему: • программно-аппаратные закладки, ассоциированные с ап- паратными, средствами компьютера (их. средой обитания, как правило, является BIOS — набор программ, записанных в виде машинного кода в постоянном запоминающем устройстве — ПЗУ); • загрузочные закладки, ассоциированные с программами на- чальной загрузки, которые располагаются в загрузочных секторах (из этих секторов в процессе выполнения начальной загрузки ком- пьютер считывает программу, берущую на себя управление для последующей загрузки самой операционной системы); • драйверные закладки, ассоциированные с драйверами; • прикладные закладки, ассоциированные с прикладным про- граммным обеспечением общего назначения; • исполняемые'закладки, ассоциированные с исполняемыми программными’модулями, содержащими код этой закладки; • закладки-имитаторы, интерфейс которых совпадает с интер- фейсом некоторых служебных программ, требующих ввод'конфи- денциальной'информации. . . Можно выделить резидентные закладки (они находятся в опе- ративной памяти’постоянно, начиная с некоторого момента и до окончания сеанса работы компьютера, т.е. до его перезагруз- ки или выключения питания) и нерезидентные (такие закладки попадают в оперативную память компьютера аналогично рези- дентным, однако, в отличие от последних, выгружаются по ис- течении некоторого времени или при выполнении особых усло- вий). Программные закладки могут несанкционированно копировать и скрытно передавать нарушителю безопасности конфиденциаль- 22
ную информацию, модифицировать и уничтожать информацион- ные ресурсы и программы, блокировать информацию и работу программ, скрывать свою вредоносную деятельность от средств контроля. * • ' 3.2.2. Троянские программы Троянской программой («Троянским конем») называется: • программа, которая, являясь частью другой программы с известными пользователю функциями, способна втайне от него выполнять некоторые дополнительные действия с целью причи- нения ему определенного ущерба; , . • программа с известными ее пользователю функциями, в ко- торую были внесены изменения, чтобы помимо этих функций она могла втайне, от него выполнять некоторые другие (разруши- тельные) действия. ,. , . . Таким образом, троянская программа,— это особая разновид- ность программной закладки. Она дополнительно наделена функ- циями, о существовании которых пользователь даже не подозре- вает. Когда троянская программа выполняет эти функции, компь- ютерной системе наносится определенный ущерб. Однако то, что при одних-обстоятельствах причиняет, непоправимый, вред, при других может оказаться вполне полезным. Например, программу, которая форматирует жесткий диск, нельзя назвать троянской, если она как раз;и предназначена для его форматирования (как это делает, команда format операционной системы DOS). ,Но если пользователь, выполняя некоторую программу, совершенно не ждет, что она отформатирует его винчестер, — это и есть самый настоящий «троянец». Троянской можно считать любую программу? которая втайне от пользователя выполняет какие-то нежелательные для него дей- ствия. Эти действия могут быть любыми — от определения реги- страционных номеров программного обеспечения, установленно- го на компьютере, до составления списка каталогов на его жест- ком диске. А сама троянская программа может маскироваться под текстовый редактор, сетевую утилиту или любую , программу, ко- торую пользователь пожелает установить на свой компьютер. 3.2.3. Невидимое вредоносное программное обеспечение . , в среде UNIX Здесь мы рассмотрим вредоносное программное обеспечение с позиций скрытия его присутствия от системного администратора и имеющихся в его распоряжении программ. Программы, кото- 23
рые позволяют спрятать свое присутствие и свою активность в компьютерных- системах, получили название руткиты (rootkits). Руткиты впервые появились в конце 80-х годов XX В; и представ- ляли собой набор инструментов для манипуляции log-файлами UNIX для сокрытия присутствия некоторых пользователей. Позже создатели вредоносного программного обеспечения стали заме- нять программы Is, ps и rietstat, для того чтобы спрятать свою деятельность. Эти программы управлялись с помощью секретных паролей. В середине 90-х годов XX в. появились руткиты в ядрах Linux-систем. Эти руткиты работали с помощью перенаправления системных вызовов вместо замены отдельных программ. К концу 90-х годов ядерные руткиты существовали практиче- ски во всех современных UNIX подобных операционных системах. Также в это время появились руткиты для Microsoft Windows. Не- смотря на то, что создатели враждебного программного обеспече- ния в случае Windows систем не имели достаточной документа- ции, они сумели в течение нескольких лет реализовать в Windows все достижения руткитов для UNIX. В настоящее время руткиты для Windows включены в ядра ОС й обеспечивают такую же функ- циональность, как-и руткйты для UNIX. В последние годы появились новые пути создания руткитов. Они связаны с новыми возможностями встраивания вредоносного кода. Например, существует возможность встроить руткит с помощью патча в работающее ядро. Другие руткиты используют образ ядра на диске, для того чтобы инсталлировать себя. Новые руткиты сейчас гораздо труднее выявить, чем старые. Даже при анализе бинарных кодов аналитик сталкивается с методами,' препятству- ющими выявлению руткитов. . 3.2.4. Модели воздействия программных закладок, на компьютеры Перехват. В модели перехват программная закладка внедряется в ПЗУ, системное или прикладное программное обеспечение и сохраняет всю или выбранную информацию, вводимую с внеш- них устройств компьютерной системы или выводимую на эти ус- тройства, в скрытой области памяти локальной или удаленной компьютерной системы. Объектом сохранения, например, могут служить символы, введенные с клавиатуры (все повторяемые два раза последовательности символов),’или электронные докумен- ты, распечатываемые на принтере. Данная модель может быть двух- ступенчатой. На первом этапе сохраняются, например, только име- на или начала файлов. На втором накопленные данные анализи- руются злоумышленником в целях принятия решения о конкрет- ных объектах дальнейшей атаки. 24
Искажение. В модели искажение программная закладка изме- няет информацию, которая записывается в память компьютер- ной системы в результате работы программ, либо подавляет/ини- циирует возникновение ошибочных ситуаций в компьютерной системе. . Можно выделить статическое и динамическое искажение. Ста- тическое искажение происходит всего один раз. При этом моди- фицируются параметры программной среды компьютерной си- стемы, чтобы впоследствии в .ней выполнялись нужные злоумыш- леннику действия. Динамическое искажение заключается в изменении каких-либо параметров системных и прикладных процессов при помощи за- ранее активизированных закладок. Динамическое искажение можно условно разделить так: искажение на входе (когда на обработку попадает уже искаженный документ) и искажение на выходе (когда искажается информация, отображаемая для восприятия челове- ком или предназначенная;для работы других программ). Наблюдение и компрометация. Помимо перечисленных, суще- ствуют, и другие, модели воздействия программных закладок на компьютеры. В частности, при . использовании модели типа «на- блюдение» программная закладка встраивается в сетевое :или теле- коммуникационное программное обеспечение. Пользуясь тем, что подобное программное обеспечение всегда находится в состоянии активности, внедренная в него программная закладка может сле- дить за всеми процессами обработки информации в .компьютер- ной системе, а также осуществлять установку й удаление других программных .закладок. Модель типа «компрометация» позволяет получать доступ к информации, перехваченной другими программ- ными закладками. Например, инициируется постоянное обраще- ние к такой информации, приводящее к росту соотношения сиг- нал/щум. А это, в.свою очередь, значительно облегчает перехват побочных излучений данной компьютерной системы и позволяет эффективно выделять сигналы, сгенерированные закладкой типа «компрометация», из общего фона излучения, исходящего от обо- рудования. 3.2.5. Клавиатурные шпионы Одна из наиболее распространенных разновидностей програм- мных закладок — клавиатурные шпионы. Такие программные за- кладки нацелены на перехват паролей пользователей операцион- ной системы, а также на определение их легальных полномочий и прав доступа к компьютерным ресурсам. Клавиатурные шпионы — явление отнюдь не новое в мире компьютеров. В свое время они разрабатывались и для OS/2, и для DOS.. Их. поведение в общем 25
случае является довольно традиционным: типовой клавиатурный шпион обманным путем завладевает пользовательскими пароля- ми, а затем переписывает1 эти пароли туда, откуда их может без особого труда извлечь злоумышленник. Различия между клавиа- турными шпионами касаются только способа, который применя- ется ими для перехвата пользовательских паролей. 3.3. < Вирусы и черви 3.3.1. Классические вирусы. Типы компьютерных вирусов различаются между собой по сле- дующим основным признакам: среда обитания; способ зараже- ния. ' Под средой обитания понимаются системные области компью- тера, операционные системы или приложения,' в компоненты (файлы) которых внедряется код вируса. Под способом заражения подразумеваются различные методй внедрения вирусного кода в заражаемые объекты. По среде обитания вирусы можно разделить на файловые, за- грузочные, макро-вирусы и скриптовые. - Файловые вирусы при своем размножении тем или иным спосо- бом используют файловую систему какой-либо (или каких-либо) ОС. Они: • различными способами внедряются в исполняемые файлы (наиболее распространенный тип вирусов);' ’ • создают файлы-двойники (компаньон-вирусы); • создают свои копии в различных каталогах; • используют особенности организации файловой системы (link- вирусы). ' Загрузочные вирусы записывают себя либо в загрузочный сектор диска (bdot-сектор), либо в сектор, содержащий системный за- грузчик винчестера (Master Boot Record), либо меняют указатель на активный boot-сектор. Данный тип вирусов был достаточно распространен в 90-х годах XX в., но практически исчез с перехо- дом на 32-битные системы и отказом от' использования дискет как основного способа обмена информацией. Теоретически воз- можно появление загрузочных вирусов, заражающих CD-диски и USB Flash Drive, но на текущий момент такие вирусы не обнару- жены. Многие табличные и графические редакторы, системы проек- тирования, текстовые процессоры имеют свой макро-языки для автоматизации выполнения повторяющихся действий. Эти макро- языки часто имеют сложную структуру и развитый набор команд. 26
Макро-вирусы являются программами.на макро-языках,.встроен- ных в такие системы обработки данных.-Для своего размножения вирусы этого класса используют возможности макро-языков й с их помощью переносят себя из одного зараженного файла (доку- мента или таблицы) в другие. По способу заражения файлов вирусы делятся: • на перезаписывающие (overwriting); • паразитические (parasitic); • вирусы-компаньоны (companion); • вирусы-ссылки (link); • вирусы, заражающие объектные модули. (OBJ); • вирусы, заражающие библиотеки компиляторов (LIB); • вирусы, заражающие исходные .тексты программ. f I 4 ; > < ’ - ‘ 3.3.2. Сетевые черви; Сетевые черви — разновидность вредонрсных программ, чье основное предназначение — перенос вредоносного кода с одной машины на другую, незаметно для пользователя, авторизованного в системе, Основные, разновидности червей: 1. Черви, использующие для.распространения дыру в сторон-: нем ПО. Данный тип закладок отличается тем,,что,в основном поражает машины под управлением одной операционной систе- мы (за исключением использования дыр, в каких-либо кроссплат- форменных библиотеках/языках (Java), но это встречается редко). 2, Черви, сканирующие доступные участии сети на предмет наличия общих.и открытых на запись ресурсов й копирующие свой код туда. , 3.4. Примеры вредоносных программ 3.4.1. Blaster.B , Автору известного вируса Blaster.B Джеффри Ли Парсону (Jeffrey Lee Parson) был вынесен прйговор. Парсон получил 3 года лише- ния .свободы и штраф в размере 626 тыс. долл. Как утверждают представители обвинения, Blaster.B поразил около 48 000 компь- ютеров, на которых не была установлена нужная «заплата» для операционных систем Windows ХР и Windows 2000. Размер причи- ненного ущерба,, по их данным, составил 1,2 млн долл. Blaster.B — вирус-червь — распространяется по глобальным се- тям, используя для своего размножения уязвимость в службе DCOM RPC Microsoft Windows. Ее описание приведено в Microsoft 27
Security Bulletin MS03-026. Червь написан на языке С с использо- ванием компилятора LCC. Имеет размер 6КВ, упакован UPX. Раз- множается в виде файла с именем «msblast.exe». Содержит тексто- вые строки: ; I just want to say LOVE YOU SAN!! Billy Gates why do you make this possible? Stop making money and fix your software!! Признаками заражения компьютера являются: • наличие файла «msblast.exe» в системном (system32) каталоге Windows; • сообщение об ошибке (RPC service failing),' приводящее к перезагрузке системы. Червь выбирает один из двух методов сканирования IP-адресов: 1. В трех случаях из пяти червь выбирает случайный «base address» (A.B.C.D), где D равен 0, а А, В, С случайно выбраны из диапа- зона 1-255. Таким образом, «base address» находится в диапазоне [1-255].[1-255].[1-255J.0. 2. В двух случаях из пяти червь сканирует подсеть. Он определяет адрес локального компьютера (A.B;C.D), устанавливает D в ноль и выбирает значение С. Если С больше 20-ти, то червь выбирает случайное число от 1 до 20. Если С меныпе или равно 20, червь не изменяет его. Например, если инфицированная машина имеет IP-адрес «207.46.134.191», то червь будет'сканировать адреса с 207.46.(115-134].О. Если IP-адрес «207.46.14.1», то червь будет ска- нировать адреса, начиная с 207.46.14.0. Используя уязвимость в Microsoft Windows 2000/ХР, червь от- правляет на порт 135 выбранного IP-адрёса команды эксплойта DCOM RPC и запускает на удаленной машине командную обо- лочку «cmd.exe» на TCP порту 4444. После этого червь с помощью команды tftp get загружает себя через порт 69 на удаленную ма- шину в системный каталог Windows и запускает на исполнение. 3.4.2. SQL Slammer Атака Slammer оказалась самой разрушительной в истории Интернета. Вирус оставил без Интернета Южную Корею, нару- шил работу банкоматов в США и серьёзно замедлил работу всего Интернета. На начальном этапе атаки количество поражённых уз- лов удваивалось каждые 8,5 с, й за первые три минуты атаки были поражены 75000 серверов по всему миру. К этому времени червь сканировал по 55 млн IP-адресов в секунду. При таких темпах распространения Slammer мог поразить 90% Интернета всего за 10 мин. Причин стремительного распространёния Slammer было несколько. Во-первых, этот вирус чрезвычайно мал по размеру — всего 376 байт, что позволяет уместить его код в одном UDP- пакете объемом 404 байта. Во-вторых, Slammer распространялся 28
путем генерации случайных IP-адресов и немедленной отправки по ним своих копий. . ... Когда копии червя заполонили все каналы связи, они стали мешать пересылке вирусных запросов с недавно пораженных ком- пьютеров. В результате атака пошла на спад. Slammer — Интернет-червь, заражающий серверы, работающие под Microsoft SQL Server 2000. Распространяется от компьютера к компьютеру, пересылая на очередной (заражаемый) компьютер через порт 1434 свой код и запуская этот код на выполнение пу- тем использования ошибки в программном обеспечении MS SQL. Червь присутствует только в памяти зараженных компьютеров и не создает своих копий в дисковых файлах. Более того, при работе червя никакие файлы не создаются, и червь никак не проявляет себя (помимо сетевой активности зараженного компьютера). При активизации на заражаемом компьютере червь получает адреса трех функций Windows: GetTickCouht (KERNEL32.DLL), socket, sendto (WS2_32.DLL): Затем червь в бесконечном цикле посылает свой код (коман- дой sendto) на случайно выбранные адреса в сети (при этом ис- пользует случайные данные от команды GetTickCount). Поскольку SQL-сервера часто используются в качестве стан- дартной базы данных на Web-серверах, то червь может замедлить работу Интернета в глобальных масштабах, поскольку все зара- женные сервера в бесконечном1 цикле посылают пакеты на слу- чайно выбранные адреса в сети и; следовательно, сильно увели- чивают сетевой трафик. Лондонская компания Mi2g оценила ущерб, причиненный чер- вем за первые пять дней, в 1 млрд долл., и в такую же сумму были оценены затраты на его ликвидацию. Это, очевидно, свидетель- ствует о том, что многие компании были не готовы к атаке и действовали недостаточно быстро, чтобы принять контрмеры.
Глава 4 СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ. УГРОЗЫ, ЗАЩИТА 4.1. Некоторые общие сведения о базах данных База данных (БД) [3] состоит из таблиц, называемых отноше- ниями. Строки таблиц содержат значения базы данных, а столбцы называются атрибутами, или полями. Уникальный идентифика- тор строк таблицы называется первичным ключом. Для любого даннрго.атрибута определяется область его значений. Домен — мно- жество допустимых значений атрибутов. ... Контроль целостности в таблице позволяет, например, прово- дить проверку однозначной идентифицируемости строк по ключу и принадлежность домену. Ссылочная целостность данных — это система и набор специ- альных правил, обеспечивающих единство связанных данных в БД. Эти функции реализуются с помощью хранимых процедур, триггеров и правил. Хранимые процедуры — это набор действий и манипуляций с данными. Триггеры — вид хранимых процедур. Триггеры связаны с событиями й запускаются автоматически, как только на сервере БД происходит выделенное событие. Пра- вила — это тип триггера, который проверяет данные до внесения их в БД. Если отношение С связывает отношения А и В, то оно должно включать внешние ключи, соответствующие первичным ключам отношений А и В. Для каждого внешнего ключа в базе данных должны предусматриваться не только атрибуты, составляющие этот внешний ключ, но и варианты поведения БД в зависимости от связи данных в различных таблицах. В общем случае ограничения целостности состоят из 3 частей: • имя ограничения — представляет собой структуру, по которой это ограничение идентифицируется системой; • собственно ограничение — набор директив и команд, реализу- ющих способ и возможность контроля, представляющий собой логическое выражение (ограничение удовлетворяется, если логи- ческое выражение истинно, и нарушается, если оно ложно — 30
логическое выражение представляет собой неисчерпаемый исто- чник скрытой избыточности); • действие при нарушении ограничения. Различаются 5 типов ограничений целостности. 1. Ограничения целостности домена. Домены сами по себе не об- новляются, поэтому обычно не предусматривают реакции на на- рушение ограничения. Эти ограничения можно устранить только за счет ликвидации самого домена. 2. Ограничения целостности атрибута. Проверяются немедлен- но, и попытки выполнить действия, нарушающие эти ограниче- ния, будут отвергнуты немедленно. Ограничения целостности ат- рибута удаляются при удалении самого атрибута. 3. Ограничения целостности отношения. Проверяются немедлен- но при попытке модификации'отношения. Действие при наруше- нии ограничения1 происходит в случае, когда соответствующее логическое выражение ложно. ' ‘ 4. Ограничения целостности БД. Задаются для двух или более связанных между собой отношений. Эти ограничения содержат, по крайней мере, одно условие соединения отношений, т. е. отно- шение между переменными, определенными в двух разных отно- шениях. Эти ограничения целостности выполняются в конце транз- акции. Нарушение этих.ограничений целостности, как правило, ведет к завершению транзакции оператором ROLLBACK. 5. Ограничения состояний и перехода. Связывают возможность перехода одних значений в другие. В реляционных системах поддерживается несколько видов от- ношений: базовые отношение — набор исходных отношенйй, каждое из которых имеет собственное имя и из которых собираются другие отношения; ; ' хранимое отношение — это отношение, которое физически под- держивается в памяти компьютера. В большинстве случаев — это базовое отношение; . , производное отношение — это отношение, которое определено из других отношений путем использования средств СУБД; представление — производное отношение, которое выражается исключительно через операторы СУБД к другим отношениям, поэтому физически представления в БД не существуют; результат запроса — это производное отношение, содержащее результат конкретного запроса, в БД не хранится и существует, пока он необходим пользователю. : Реляционная алгебра представляет собой способы преобразо- вания отношений. Основные операторы реляционной алгебры: • выборка отношения; • проекция отношения; 31
• объединение отношений; • пересечение отношений; • вычитание отношений; • произведение отношений; • соединение отношений; • деление отношений. Отметим, что в структуре таблиц БД существует избыточность. Снижение этой избыточности в системе базовых таблиц называ- ется нормализацией. Проектирование БД абстрагируется от структур представления данных, котррое осуществляется средствами СУБД. При проекти- ровании формируются связи между таблицами, представляющие собой достаточно сложную структуру. Работа с БД осуществляется с помощью стандартных. SQL-за- просов. СУБД может поддерживать различные стандарты языка SQL. Обработку данных проводят с помощью транзакций. Набор тран- закций хранится в специальных отношениях и может включать любую степень избыточности. Для того чтобы избежать конфлик- тов, транзакций, используют блокировки записей и блокировки чтений, которые блокируют данные в различных условиях. ; 4.2. Механизмы безопасности в СУБД В СУБД должны выполняться функции идентификации и аутен- тификации пользователя, описания привилегий различным пользо- вателям по использованию таблиц и записей в таблицах, функ- ции аудита. Помимо функций контроля целостности защиту цело- стности выполняет набор функций резервирования БД. Во многих случаях настройка функций безопасности БД пору- чается администраторам БД. 4.3.* Общая схема СУБД ORACLE. Уязвимости СУБД ORACLE 1. Сам пользователь непосредственно к таблицам БД доступа не имеет, к ним обращается серверный процесс. 2. SGA — это общая (разделяемая) память.. Содержит буферы данных, очередей, команд, SQL-запросов и т.д. БД позволяет многим пользователям одновременно работать, a SGA позволяет им взаимодействовать между собой. 3. Dbfiles — таблицы. 4. Существуют еще теневые процессы, которые выполняют функции типа открытия файлов, программ записей и т.д. Они являются пользователями Dbfiles и SGA (рис. 4.1). 32
Dbfiles Рис. 4.1 Далее приводятся найденные в различное время некоторые уяз- вимости, через которые удавались серьезные атаки. 1. Получение доступа в группу, к которой принадлежит пользо- ватель Oracle, фактически означает получение доступа к базе дан- ных на уровне администратора. В состав Oracle могут входить про- граммы с установленной маской расширения до члена такой груп- пы. Существуют возможности использования переполнения буфе- ра в различных программах Oracle при обработке переменных окружения. ; . 2. Часто, если заранее известно, какое имя будет иметь файл, создаваемый в привилегированном процессе (например, лог- файл), можно заранее создать symbol-link с таким же именем, который ссылается на другой жизненно важный файл (например, файл хранения паролей). Тогда при создации в очередной раз вре- менного файла ценные данные могут быть перезаписаны; , 3. Атака «отказ в обслуживании» (DoS) может быть проведена через компонент opsd. Это демон,, который с помощью TCP/IP устанавливает взаимодействие между компонентами кластера, и использует этот канал при обработке команд от Intelligent Agent. По умолчанию он использует порт 6404. Если открыть на этот порт обычное соединение (например, с помощью программы Telnet) и организовать передачу «мусора», то в некоторых случаях работа демона завершается с записью в лог о том, что команда была неправильной,, но после этого необходим повторный запуск демона. 2 Грушо
Глава 5 СЕТИ. УГРОЗЫ, УЯЗВИМОСТИ И ЗАЩИТА 5.1. Модель OSI/ISO (ISO 7498-1) Одним из распространенных примеров иерархической струк- туры языков для описания сложных систем является разработан- ная организацией международных стандартов (ISO) Эталонная модель взаимодействия открытых систем (OSI), которая была при- нята ISO в 1983 г. i OSI создана, чтобы при взаимодействии'компьютеров решить две задачи: • своевременно и правильно передать данные через сеть связи (т. е. пользователями должны быть оговорены виды сигналов, пра- вила приема й перезапуска, маршрут^ и’ т.д.); • доставить данные пользователю в приемлемый для него рас- познаваемой форме. ‘ Модель состоит из семи уровней. Выбор числа уровней и их функций определяется инженерными соображениями. Сначала опишем модель, изображенную на рис. 5.1. Верхние уровни решают задачу представления данных пользо- вателю в такой форме, которую он может распознать и использо- вать. Нижние уровни служат для организации передачи’данных. Иерархия состоит в следующем. Всю информацию в процессе передачи сообщений от одного пользователя к другому можно разбить на уровни; каждый уровень является выражением неко- торого языка, который описывает информацию своего уровня. В терминах языка данного уровня выражается преобразование информации и «услуги», которые на этом уровне предоставля- ются следующему уровню. При этом сам язык опирается на ос- новные элементы, которые являются «услугами» языка более низ- кого уровня. В модели OSI язык каждого уровня называется протоколом этого уровня. Каково предназначение каждого уровня, что собой представ- ляет язык каждого уровня? 34
Нижние уровни Верхние уровни Рис. 5.1 Прикладной уровень (ПУ). ПУ имеет отношение к семантике об- мениваемой информации (смыслу), т.е. язык ПУ обеспечивает вза- имопонимание двух прикладных процессов в разных точках, спо- собствующих осуществлению требуемой обработки информации. Язык ПУ описывает два вида ситуаций: • общие элементы для всех прикладных процессов, взаимодей- ствующих на прикладном уровне; • специфические, не стандартизируемые элементы приложе- ний. Язык ПУ состоит и постоянно расширяется за счет функци- ональных подъязыков. Например, разработаны протоколы (языки ПУ): .. . . . „ • виртуальный терминал (предоставление, доступа к терминалу процесса пользователя в удаленной системе); • файл (дистанционный доступ, управление и передача ин7 формации, накопленной в форме файла); • протоколы передачи заданий и манипуляции (распределен- ная обработка информации); • менеджерские протоколы; • электронная почта, которая является одним из важных про- токолов прикладного уровня (протокол Х.400), т.е. транспорти- ровка текстовых сообщений между независимыми системами с различными технологиями передачи и доставки сообщений. Уровень представления (УП). УП изолирует прикладные про- цессы от разнообразия,представлений, т.е. предоставляет услуги 35
для двух пользователей, желающих связаться.на прикладном уров- не, обеспечивая обмен информацией относительно синтаксиса данных, передаваемых между ними. Это можно сделать либо в форме имен, если обеим связывающимся системам известен син- таксис, который будет использоваться, либо в форме описания применяемого синтаксиса, если он не известен. Когда синтаксис передаваемой информации отличается от синтаксиса, использу- емого принимающей системой, УП должен обеспечить соответ- ствующее преобразование. Кроме того, УП обеспечивает открытие и закрытие связи, уп- равление состояниями УП и контролем ошибок. Уровень сеанса (УС). УС обеспечивает управление диалогом между' обслуживаемыми пользователями на уровне представле- ния. Сеансовое соединение между пользователями сначала долж- но быть установлено, а параметры соединения оговорены путем обмена управляющей информацией. УС предоставляет услугу син- хронизации для преодоления любых обнаруженных ошибок. Это делается следующим образом. Метки синхронизации вставляют- ся в поток данных пользователями услуги сеанса. Если обнаруже- на ошибка, сеансовое соединение должно быть возвращено в оп- ределенное состояние, пользователи должны вернуться в уста- новленную точку диалогового потока информации, сбросить часть переданных данных и затем восстановить передачу, начиная с этой точки. Транспортный уровень (ТУ). ТУ предоставляег сеансовому уров- ню услугу в виде надежного и прозрачного механизма передачи данных (вне зависимости от вида реальной сети) между вершина- ми сети. . ; . Сетевой уровень (СУ). СУ предоставляет ТУ услуги связи. СУ определяет маршрут в сети. Организует межсетевой обмен (прото- кол IP). Управляет потоками в сети. Канальный уровень. Предоставляет СУ услуги канала. Эта услуга состоит в безошибочности последовательной передачи блоков дан- ных по каналу в сети. На этом уровне реализована синхрониза- ция, порядок блоков, обнаружение и исправление ошибок, шиф- рование. ; Физический уровень. Физический уровень обеспечивает то, что символы, поступающие в физическую среду передачи на одном конце, достигают другого конца. 5.2. Модель OSI/ISO (ISO 7498-2) ГОСТ Р ЙСО 7498-2—99 [4] определяет архитектуру безопас- ности для модели Open System Interconnection (OSI), дополняя базовую справочную модель, определенную в ISO 7498-1. 36
Технология построения защищенных систем состоит: • из анализа риска (цена ущерба); • построения политики безопасности (набор правил, позволя- ющих компенсировать угрозы и минимизировать ущерб); • поддержки политики безопасности (встроенные средства-сер- висы, услуги и т.д.); • оценки защищенности. Стандарт [4] определяет следующие сервисы безопасности. 1. Конфиденциальность: • для систем с установлением соединения; • для систем без установления соединения; • отдельных информационных полей (адреса открыты, содер- жание зашифровано); • трафика (защита трафика). . 2. Аутентификация: • абонентов (пароль); • сеанса связи (то, что данное сообщение относится к данному сеансу связи). 3. Целостность: - • для связи с установлением соединений — целостность сеанса и пакетов (аутентификационные сведения, например контрольная сумма); • для связи без установления соединения — контроль целост- ности пакетов; • целостность отдельных полей; • сервисы целостности могут также выявлять нарушения цело- стности (без восстановления) или добиваться восстановления информации (с восстановлением). 4. Контроль управления доступом (предотвращение неавтори- зованного использования ресурсов, включая предотвращение ис- пользования ресурсов не должным образом), основанный: • на имени; • на правилах. 5: Защита от отказов (предотвращение возможности отказа уча- стника коммуникации от факта приема/передачи данных). 6. Механизмы безопасности: • шифрование (использование криптографии для преобразо- вания" защищаемой информации в шифрованное сообщение с помощью определенных правил, содержащихся в шифре); • механизмы заполнения трафика (механизм, который может использоваться для защиты конфиденциальности потока трафика); • управление маршрутизацией (ограничения путей, по кото- рым передаются данные от источника к назначению); • электронно-цифровая подпись (генерируется источником дан- ных и проверяется приемником, может обеспечить средство кон- троля участников взаимодействия); 37
• управление доступом (эти механизмы часто тесно связаны с используемыми политиками управления доступом); • контроль целостности (реализуется с помощью добавления к пакету какой-либо формы контрольной суммы, являющейся функ- цией данных пакета); • механизм аутентификации (обычно реализуется с помощью паролей); • нотаризация (подтверждение факта приема/передачи). Соответствия между сервисами безопасности и уровнями OSI (1 — физический, 2 — канальный; 3 — сетевой, 4 — транспорт- ный, 5 — сеансовый, 6 — представительский, 7 — прикладной) можно представить в виде табл. 5.1. Соответствия между механизмами безопасности и средствами безопасности можно представить в виде табл. 5.2, (1 — шифрова- ние, 2 — генерация трафика, 3 — управление маршрутизацией, Таблица 5.1 Сервисы Уровни OSI , 1 ‘ 2 3 4 ' 5 6 f 1. Конфиденциальность с установ- лением соединения + 4- 4- 4- 4- 2. Конфиденциальность без уста- новления соединения 4- 4- 4- 4- 3. Конфиденциальность отдельных полей л , 4- 4. Конфиденциальность трафика + 4- 4- 5. Аутентификация 4- 4- 4- 6. Целостность с установлением соединения 4- 4- 4- 7. Целостность без установления соединения < 4- к t 8. Целостность отдельных полей > i + 9. Управление доступом г 4- 4- ‘ 4- 10. Защита от отказов 4- 38
Таблица 5.2 Сервисы Уровни OSI 1 2 3 4 _ 5 6 7 8 1. Конфиденциальность с установ- лением соединения ? + + 2. Конфиденциальность без уста- новления соединения + + + 3. Конфиденциальность отдельных полей ? 4. Конфиденциальность трафика + 5. Аутентификация + + + + 6. Целостность с установлением соединения + + 7. Целостность без установления соединения + + + 8. Целостность отдельных полей j> - . + 9. Управление доступом < г f * г + 10. Защита от отказов ' + + 4 — ЭЦП, 5 — управление Доступом, 6 — аутентификация, 7 — целостность,18 — нотаризация). 5.3 Стек TCP/IP Так как стек. TCP/IP был разработан до появления модели вза- имодействия открытых систем ISO/OSI, то, хотя он также имеет многоуровневую структуру, соответствие уровней стека ТСРДР уровням модели OSI достаточно условно. Структура протоколов TCP/IP приведена на рис. 5.2. Протоколы TCP/IP делятся на 4 Уровня. Самый нижний уровень IV соответствует физическому и ка- нальному уровням модели OSI. Этот уровень в протоколах TCP/IP не регламентируется, но поддерживает все популярные стандар- ты физического и канального уровней: для локальных сетей — это Ethernet, Token Ring, FDDI (Fiber Date Distribution Interface — оптоволоконный интерфейс для передачи данных с кольцевой 39
модели стека OSI ТСРДР Рис. 5.2 структурой), Fast Ethernet, для глобальных сетей — протоколы: соединений «точка-точка» SLIP (Serial Line IP — IP-протокол для последовательных линий) и PPP (Point-to-Point Protocol — протокол для связи «точка-точка»), протоколы территориальных сетей с коммутацией.пакетов Х.25. Обычно при появлении новой технологии локальных или глобальных сетей она быстро включа- ется в стек TCP/IP за счет разработки соответствующего RFC (Request for Comments), определяющего метод инкапсуляции (иерархического вложения) пакетов IP в ее кадры. Уровень III — это уровень межсетевого взаимодействия, кото- рый занимается передачей пакетов с использованием различных транспортных технологий локальных сетей, территориальных се- тей, линий специальной связи и т.п. В качестве основного прото- кола сетевого уровня (в терминах модели OSI) в стеке использу- ется протокол IP (Internet Protocol), который изначально проек- тировался как протокол передачи пакетов в составных сетях, со- стоящих из большого количества локальных сетей,, объединенных как локальными, так и глобальными связями. Протокол IP явля- ется дейтаграммнымпротоколом, т. е. он не гарантирует доставку пакетов до узла назначения, но старается это сделать. К уровню межсетевого взаимодействия относятся и все прото- колы, связанные с составлением и модификацией таблиц марш- рутизации, такие как протокол сбора маршрутной информации RIP (Routing Information Protocol), а также протокол межсетевых управляющих сообщений ICMP (Internet'ControLMessage Protocol). Последний протокол предназначен для обмена информацией об 40
ошибках между маршрутизаторами сети и узлом — источником пакета. С помощью специальных пакетов ICMP сообщается о не- возможности доставки пакета, превышении времени жизни или продолжительности сборки пакета из фрагментов, об аномальных величинах параметров, изменении маршрута пересылки и типа обслуживания, о состоянии системы и т.п. Уровень II называется основным. На этом уровне функциони- руют протокол управления передачей TCP (Transmission Control Protocol) и протокол дейтаграмм пользователя UDP (User Datagram Protocol). Протокол TCP обеспечивает.надежную пере- дачу сообщений между удаленными прикладными процессами за счет образования виртуальных соединений. Протокол UDP обес- печивает передачу прикладных пакетов дейтаграммным способом, как и IP, и выполняет только функции связующего звена между сетевым протоколом и многочисленными прикладными процес- сами. Верхний уровень I называется прикладным. За долгие годы ис- пользования в сетях различных стран и организаций стек TCP/IP накопил большое количество протоколов и сервисов прикладно- го уровня. К ним относятся такие широко используемые протоко- лы, как протокол пересылки файлов FTP (File Transfer Protocol), протокол эмуляции терминала telnet, почтовый протокол SMTP (Simple Mail Transfer Protocol), используемый в электронной по- чте сети Интернета, простой сетевой протокол управления SNMP (Simple Network Management Protokol), гипертекстовые сервисы доступа к удаленной информации, такие, как WWW (World Wide Web) и многие другие. Данная архитектура является одной из самых распространен- ных, так как ее протоколы используются для создания глобальной мегасети Интернета. Основные особенности архитектуры состоят в следующем. Протокол сетевого уровня IP реализует дейтаграммный способ передачи блоков данных (без установления соединения). Ис- пользуются два транспортных протокола TCP (с установлением соединения и подтверждением доставки данных) и UDP (без' ус- тановления соединения и подтверждения). = Протокол TCP для передачи использует прикладные протоколы SMTP, RPC (Remote Procedure Call — вызов удаленной процеду- ры), telnet, FTP и др. На протокол UDP ориентированы приклад- ные протоколы SNMP, TFTP (Trivial File Transfer Protocol — три- виальный протокол для пересылки файлов). 5.4. Архитектура безопасности в сетях Интернета Стандарт IPsec предлагает организовывать безопасность на се- тевом уровне. 41
Существуют специальные сервисы безопасности: • идентификация (пакета, полей); • аутентификация (пакета, полей); • конфиденциальность (пакета, полей); • режим туннелирования (туннелирование — зашифрованный исходный пакет помещается в другой пакет). Формат заголовка выглядит так: /адрес места, где происходит туннелирование/адрес получате- ля/закрытый пакет/ • фильтрация — на уровне IP или на уровне сетевых приложе- ний (межсетевой экран). Internet Protocol Security (IPsec) — набор протоколов, пред- назначенных для защиты частных коммуникаций в Интернете. Предлагаемый набор протоколов IPsec должен создать стандарт- ную платформу для защищенных IP-соединений. В состав IPsec входят два протокола: 1) АН — вычисляет коды аутентификации, проверяет, все ли правильно, используется для регламентации работы в сети; 2) ESP — режим туннелирования (инкапсуляции). IPsec может работать в двух режимах: • транспортный — не меняет заголовков IP-пакетов, коды аутентификации, режим шифрования (для внутренних сетей); • туннельный — может использоваться и для Интернета. Для организации IPsec существуют две базы данных: 1) SPD — база данных политик безопасности, регламентиру- ет, что делать; , - 2) SAD — база данных ассоциаций безопасности, регламенти- рует, как делать. Через SPD по IP адресам протокол определяет, что делать (тун- нелирование, установка кода аутентификации, проверка полей и т.д.). В SAD могут быть алгоритм DES, ключ, адреса и т.д., алго- ритм кода аутентификации (МАС). „ IPsec формирует стандартную платформу для построения за- щищенных сетей и своеобразных электронных туннелей, соеди- няющих: различные машины. Благодаря этому удается организо- вать в Сети надежные соединения. IPsec позволяет создавать такие туннели как между удаленными пользователями, так и в рамках локальной сети. Протокол предусматривает заключение каждого пакета данных в новый пакет, который содержит информацию, необходимую для настройки, сопровождения и отключения туннеля, когда на- добность в нем отпадет. • Для того чтобы гарантировать конфиденциальность, целост- ность и аутентификацию связанных частной сетью абонентов, ис- пользуется шифрование. Internet Key Exchange (IKE) — протокол 42
прикладного уровня аутентифицирует каждого участника IPsec- транзакций. IKE «договаривается» об условиях защиты, определя- ет алгоритм, который может быть использован для организации туннеля. Он также поддерживает обмен сеансовыми ключами, используемыми для каждой подобной транзакции. Сети, использующие набор протоколов IPsec для защиты тра- фика данных, могут автоматически выполнять аутентификацию устройств с помощью цифровых сертификатов. Корпоративные пользователи, развертывающие набор протоколов IPsec, смогут защитить свою сетевую инфраструктуру, не затрагивая отдельных приложений. Набор протоколов предлагается как чисто програм- мная модернизация самой сетевой инфраструктуры. Такой подход позволяет реализовать систему защиты, не прибегая к дорогосто- ящим модернизациям операционной среды на каждом локальном компьютере. Очень важно и то, что IPsec обеспечивает интеропе- рабельность различного сетевого оборудования, компьютеров и других устройств. ' 5.5. Угрозы, связанные с сетевым оборудованием Сетевое оборудование выполняет совершенно нехарактерные для программного обеспечения компьютеров функции (контроль трафика, аккаунтинг, фильтрацию, преобразование сетевых ад- ресов и т.д.), имеет отличающиеся от программного обеспече- ния средства управления. Соответственно й проблемы безопас- ности, связанные с использованием сетевых устройств, имеют специфический характер. Сетевое оборудование не предназначе- но для выполнения на нем каких-либо прикладных задач, по- этому интерфейс пользователя, средства разграничения доступа и имеющиеся в наличии инструментальные средства обычно ми- нимальны. Производители сетевых устройств исходят при этом из предположения, что выполнять администрирование будет один человек, а для большинства пользователей это оборудование бу- дет «прозрачным» и чем меньше они будут о нем знать, тем луч- ше. Это, казалось бы, снимает большинство проблем безопасно- сти, стоящих перед производителями и администраторами. Ведь таких (кошмарных с точки зрения администраторов серверных UNIX-систем) понятий, как SUID-программы, скриптовые язы- ки, chroot, su, в сетевом оборудовании попросту нет. <И, дей- ствительно, проблема, связанная с получением администратор- ских прав на сетевых устройствах, носит скорее академический интерес, но никак не прикладной. В силу специфических функций сетевого оборудования шкала «деструктивности» различных атак отличается от соответствующей 43
шкалы рабочих станций и серверов. Так, в частности, атаки типа DoS (Denial of Service), будучи направлены на клиентское или серверное программное обеспечение, в худшем случае приведут к невозможности получения отклика с атакованного клиента и/или с атакуемого сервера. Сетевое же оборудование, находясь в состо- янии DoS, вызывает неработоспособность целых сетей, что при- водит к значительным потерям. Проблема DoS атак тем более актуальна для сетевых устройств, что они вынуждены впускать в себя и обрабатывать значительные объемы информации, предусмотреть все параметры которой не представляется возможным. Таким образом, если основная угроза для серверных систем исходит «изнутри», т.е. от зарегистрирован- ных пользователей, имеющих официальные аккаунты на атакуе- мой системе, а результатом атаки становится обычно получение администраторского пароля и доступ к конфиденциальной ин- формации, то для сетевого оборудования основная угроза заклю- чена в том, что проникает в него снаружи. Основным результатом атаки является не получение защищаемой информации (ее на се- тевых устройствах обычно нет, и в лучшем случае можно попро- бовать извлечь ее из проходящего через устройство трафика), а частичная или полная неработоспособность сети, в которой идет обработка конфиденциальной информации. В сетевом оборудовании фирмы Cisco используется операци- онная система IOS, основными характеристиками которой яв- ляются: , • простой текстовый терминалоподобный интерфейс пользо- вателя, называемый ЕХЕС; • минимальные средства разграничения доступа (имеется 16 уровней доступа, и любая из команд ЕХЕС’а .может быть отнесе- на к одному из уровней); • текстовое представление конфигурационных файлов, дающее возможность читать их с экрана, сохранять их в файлы и загру- жать в устройства любым удобным методом вплоть до cut’n’past; • мощнейшие средства контроля сетевого трафика, особенно за трафиком в TCP/IP сетях. е Впрочем, именно средства контроля сетевого трафика и .явля- ются головной болью администраторов, так как имплиментиро- вать качественный контроль за ним — сложнейшая задача, и да- леко не всегда она решается фирмой Cisco без изъянов. Полно- ценный контроль требует большого количества range-checking’oB, а следовательно, предъявляет жесткие требования к процессор- ной мощности и объему памяти. Примеры уязвимостей сетевого оборудования. 1. Cisco IOS syslog crash. Дата нахождения ошибки: Dec. 22, 1998. Версии 11.3АА, 11.3DB, или 12.0. ID в CISCO bug database: CSCdk77426. 44
Краткое описание проблемы: вышеперечисленные версии IOS могут «повиснуть», если некорректный UDP-пакёт приходит на syslog-порт. Проблема может быть решена созданием access-list’a, который будет блокировать трафик на этот порт на всех доступных интер- фейсах. , 2. Cisco Catalyst Memory Leak Vulnerability. Версии IOS: Catalyst 4000 and 5000 images running version 4,5(2) up to 5.5(4) and 5.5(4a), Catalyst 6000 panning version 5.3(1)CSX, up to and including 5.5(4), 5.5(4a). ID в CISCO bug database: CSCds66191. Краткое описание проблемы: серия telnet-запросов с неверной аутентификацией может вызвать загрузку всей памяти, что при- ведет к невозможности пропуска трафика и к замедлению или остановке сети. Проблема заключается в том, что telnet-процесс некорректно возвращает ресурсы lOS’y. Единственный метод лечения — пере- загрузка. 3. Cisco IOS HTTP Server Query Vulnerability. Дата обнаруже- ния: Oct. 27, 2000. ID в CISCO bug database: CSCdr91706. Краткое описание проблемы: если на сетевом устройстве CISCO включен http-сервер, с помощью которого можно админи- стрировать систему, то некорректный HTTP-запрос “<А HREF = = “http://router-ip/anytext?/</A>”, сопровождающийся вводом вер- ного enable-пароля, приведет к зависанию устройства. Ошибка может быть применена на практике, только если зло- умышленнику известен enable-пароль, или же enable-пароль не установлен. 4. Cisco Catalyst Enable Password Bypass Vulnerability. Версии IOS: Cisco Catalyst 4000, 5000, 5500, 6000 and 6500 with the software version 5.4(1) only (Имена файлов c IOS: cat4000_5-4-l.bin cat5000- supg_5-4-l.bin cat5000-Sup_5-4-l.bin cat5000-Sup3_5-4-l.bin cat6000- Sup_5-4-l.bin). ID в CISCO bug database: CSCdrl0025. IOS Catalyst’a позволяет входить в enable-режим без пароля (!). Эта странная проблема была решена в IOS 5.4(2). Единственный метод решения проблемы — это немедленный апгрейд. 5. Cisco IOS Software TELNET Option Handling Vulnerability. Версии IOS: 11.3AA, 12.0 releases: 12.0(2) up to and including 12.0(6)* 12.0(7), except that 12.0(7)S, 12.0(7)T, and 12.0(7)XE are not vulnerable.ID в CISCO bug database: CSCdm70743. Проблема заключается в том, что некоторые распространенные Security-сканеры (SATAN и т.д.), будучи ориентированы на Cisco- устройство с вышеописанными версиями IOS, вызывают пере- загрузку последнего. Суть ошибки в том, что IOS некорректно ра- ботает с telnet-сессией, открытой с нестандартными параметрами. 6. Cisco IOS Command History Release at Login Prompt. Версии IOS: 9.1 and later. ID в CISCO bug database: CSCdk43920. 45
Проблема заключается в том, что IOS позволяет просмотреть последние несколько строк текста, введенных в ответ на пригла- шение ЕХЕС’а в предыдущей сессии другого пользователя. Если предыдущая сессия была короткой (было дано всего 1—2 коман- ды), то можно увидеть и пароль. Подробности этой ошибки не разглашаются Cisco. Эта ошибка была найдена в лабораториях Cisco, и exploit’a или его описания выпущено не было.
РАЗДЕЛ ВТОРОЙ МАТЕМАТИЧЕСКИЕ МОДЕЛИ ЗАЩИТЫ ИНФОРМАЦИИ. ВЕРИФИКАЦИЯ ЗАЩИЩЕННОСТИ ЭЛЕКТРОННЫХ СИСТЕМ ОБРАБОТКИ ДАННЫХ С ПОМОЩЬЮ МАТЕМАТИЧЕСКИХ МЕТОДОВ В настоящее время теория защиты информации в компьютер- ных системах использует несколько различных парадигм. Исто- рически первая парадигма состоит в том, что любые вопросы, связанные с-защитой информации, можно решить с помощью ограничения доступов к ней. В условиях, когда механизмы ре- ализации этой парадигмы абсолютно надежны, концепция огра- ничения доступов логически безупречна. Однако в реальных си- стемах трудно построить непротиворечивую гарантированно за- щищенную систему ограничения доступов. Вторая' парадигма информационной безопасности строится на идее контроля действий пользователей и субъектов от их имени. Эта парадигма не предполагает абсолютную защищенность ин- формации, но ее развитие позволяет как угодно близко прибли- зиться к идеальной защите. На основе этой парадигмы механизмы защиты не ограничивают функционал компьютерной системы. Поэтому такая защита позволяет наиболее полно использовать ресурсы компьютерных систем и данных. Третья парадигма, информационной безопасности строится на понятии доверия. Защита, основанная на этой парадигме, также не является абсолютной. Однако, развитие понятия доверия позволяет создавать гиб- кую систему информационной безопасности и в то же время мак- симально сохраняет возможность взаимодействия субъектов и объектов* , • Информационная .безопасность может строиться на базе не- скольких парадигм одновременно. При этом механизмы реализа- ции защиты информации основаны на программно-аппаратных реализациях и организационных мерах защиты. Рассмотрим подробнее теорию,; основанную на первой пара- дигме. Далее будем считать, что защита компьютерных систем стро- ится на управлении доступами. , 47
Глава 6 ВСПОМОГАТЕЛЬНЫЕ СТРУКТУРЫ (МОДЕЛИ), ИСПОЛЬЗУЕМЫЕ В ЗАЩИТЕ ИНФОРМАЦИИ Для того чтобы провести исследование и получить практиче- ский результат, часто применяют следующий прием. В объект ис- следования вносят некоторую структуру, имеющую искусственный характер, но облегчающую исследование. Например, для анализа взаимодействия тел физики внесли в описание окружающего мира структуры силовых и электрических взаимодействий. Математики для анализа реальных процессов внесли структуры вероятностного пространства и вероятностей событий. Иногда говорят, что строит- ся модель объекта. Оба названия приемлемы, однако мы предпочи- таем первое, так как в ходе анализа потребуется ввести в информа- цию несколько структур и анализировать их взаимодействие. В тер- минах моделей такие нагромождения представляются более труд- ными для объяснения. Далее рассмотрим следующие структуры, которые вносятся в неопределяемый объект под названием «ин- формация», теории защиты которого будет посвящена вся работа? • структура языка, позволяющая говорить об информации как о дискретной системе , объектов; • структура информационного потока, позволяющая описы- вать и анализировать угрозы информации; • структура ценности информации, позволяющая понять, что надо и что не надо защищать. 6.1. Язык, объекты, субъекты Напомним основные понятия математической логики. Пусть А конечный алфавит, А — множество слов конечной длины в алфа- вите Л. Из Я с помощью некоторых правил выделено подмноже- ство Я G А правильных слов, которое называется языком. Если Ях — язык описания одной информации, Я2 — другой, то можно говорить о языке Я, объединяющем Ях й Я2 и описывающем ту и другую информацию. Тогда Ял и Я2 подъязыки Я. Будем считать, что любая информация представлена в виде слова в некотором языке Я. Кроме того, можно полагать, что со- стояние любого устройства в вычислительной системе достаточно полно описано словом в некотором языке. Тогда можно отожде- ствлять слова и состояния устройств и механизмов вычислитель- ной системы или произвольной электронной системы обработки данных (ЭСОД). Эти предположения позволяют весь анализ вести в терминах некоторого языка. 48
Определение 6.1. Объектом* относительно языка Я (или просто объектом, когда из контекста однозначно определены языки) называется произвольное конечное множество языка Я. Пример 6.1. Произвольный файл в компьютере есть объект. В лю- бой момент в файл может быть записано одно из конечного мно- жества слов языка Я, которое отражает содержимое информации, хранящейся в файле. Значит, файл можно рассматривать как ко- нечное множество слов, которые в нем могут быть записаны. То, что в данный'момент в файле содержится только одно слово, не исключает потенциально существования других записей в данном файле, а в понятие файла как объекта входит все допустимое мно- жество таких записей. Пример 6.2. Пусть текст в файле разбит на параграфы так, что любой параграф также является словом языка Я и, следователь- но, тоже является объектом. Таким образом, один объект может являться частью другого. Пример 6.3. Принтер компьютера —. объект. Существует неко- торый (достаточно сложный) язык, описывающий принтер и его состояния в произвольный момент времени. Множество допусти- мых описаний состояний принтера является конечным подмно- жеством слов в этом языке. Именно это конечное множество и определяет принтер как объект. Всю информацию будем делить на два класса: 1) данные; 2) преобразования данных. Преобразования данных осуществляют трансформацию сло- ва, описывающего данные, в другое слово. Преобразование дан- ных также является словом, описывающим это преобразование. Примерами объектов, описывающих преобразования данных, яв- ляются программы для ЭВМ. Каждое преобразование информа- ции может: а) храниться; б) действовать. В случае а) речь идет о хранении описания преобразования в некотором объекте (фай- ле). В этом случае преобразование ничем не отличается от дру- гих данных. В случае б) необходимо место действия (ресурсы вычислительной системы — память, процессор, коммуникации и др.). Определение 6.2. Ресурсы системы, выделяемые для действия преобразования, называются доменом. Однако для осуществления преобразования одних данных в другие домена недостаточно. Необходимо передать этому преоб- разованию управление или статус «действие» в системе. Определение 6.3. Преобразование, которому передано управле- ние или присвоен статус «действие», называется процессом. В этом статусе преобразование «реализуется». 49
Определение 6.4. Объект, описывающий преобразование,, ко- торому выделен домен и передано управление, называется субъек- том. Таким образом, субъект — это пара (домен, процесс). Субъект для реализации преобразования использует инфор- мацию, содержащуюся в объекте X, т.е. осуществляет доступ к объекту X Рассмотрим некоторые основные примеры доступов. 1. Доступ субъекта У к объекту X на чтение (г) данных в объекте X. При этом доступе данные считываются в объекте X и использу- ются в качестве параметра в субъекте Y. 2. Доступ субъекта Yк объекту Хна запись (w) данных в объекте X При этом доступе некоторые данные процесса /записывают- ся в объект X. Здесь возможно стирание предыдущей информа- ции. 3. Доступ субъекта Y к объекту X на активизацию процесса, записанного в Xкак данные (ехе). При этом доступе, формируется некоторый домен для преобразования, записанного в X, и пере- дается управление соответствующей программе. Существует множество других доступов, некоторые из них бу- дут определены ниже. Множество возможных доступов в системе обозначим R, множество объектов системы — О, а множество субъектов — S. Ясно, что S с О. В различных ситуациях будем уточнять описание вычислитель- ной системы. Однако всегда будем подразумевать нечто общее во всех системах. Это общее состоит в том, что состояние системы характеризуется некоторым множеством объектов, которое будем предполагать конечным. На множестве субъектов введем бинарное отношение -> акти- визация Yi —> Y2, если субъект /, обладая управлением и ресурса- ми, передает У2 часть ресурсов и управление (активизация). Тогда в графе, который определяется введенным бинарным отношени- ем, возможны вершины, в которые не входит ни одной дуги. Та- кие субъекты будем называть пользователями. В рассмотрении вопросов защиты информации на основе пер- вой парадигмы примем аксиому, которая положена в основу аме- риканского стандарта по защите [33] (TCSEC) и будет обсуждать- ся далее. Здесь сформулируем ее в следующей форме. Аксиома 6.1. Все вопросы безопасности информации определя- ются описанием доступов субъектов к объектам; Если включить в рассмотрение гипотетически такие процессы, как пожар, наводнение, физическое уничтожение и изъятие, то эта аксиома охватывает практически все известные способы-нару- шения безопасности в самых различных вариантах понимания бе- зопасности. Тогда для дальнейшего рассмотрения вопроса без- 50
опасности и защиты информации достаточно рассматривать мно- жество объектов и последовательности доступов. Пусть время дискретно, Ot — множество объектов в момент t, St — множество субъектов в момент t. Определим ориентирован- ный граф gt следующим образом: дуга У-> Хс меткой а с R при- надлежит gt тогда и только тогда, когда в момент t субъект У имеет множество доступов а к объекту X. Согласно аксиоме, с точки зрения защиты информации, нас интересует только множество графов доступов {g,}T=i- Обозначим через 1= {gt} множество возможных графов доступов. Тогда /мож- но рассматривать как фазовое пространство системы, а траекто- рия в фазовом пространстве соответствует функционированию вы- числительной системы. В этих терминах удобно представлять себе задачу защиты информации в следующем общем виде. В фазовом пространстве I определены возможные траектории I, в I выделе- но некоторое подмножество В неблагоприятных траекторий или участков таких траекторий, которых мы хотели бы избежать. За- дача защиты информации состоит в том, чтобы любая реальная траектория в вычислительном процессе в фазовом пространстве I не вышла в. множество В. Как правило, в любой конкретной вычислительной системе можно наделить реальным смыслом ком- поненты: модели I, I и В. Например, неблагоприятными могут быть траектории, проходящие через данное множество состо- яний Г с I. Посмотрим, чем может управлять служба защиты информа- ции, чтобы траектории вычислительного процесса не вышли в R. Нетрудно заметить, что практически такое управление возможно только ограничением на доступ в каждый момент времени. Разу- меется, эти ограничения могут зависеть от всей траектории про- цесса. Однако в любом случае службе защиты доступно только локальное воздействие. Основная сложность защиты информации состоит в том, что, имея возможность использовать набор ло- кальных ограничений на доступ в каждый момент времени, мы должны решить глобальную проблему недопущения выхода лю- бой возможной траектории в неблагоприятное множество В. При этом траектории множества В не обязательно определяются огра- ничениями на доступы конкретных субъектов к конкретным объек- там. Возможно, что если в различные моменты вычислительного процесса субъект Y получил доступ к объектам Х{ и Х2, то запре- щенный доступ к объекту Х3 реально произошел, так как из' зна- ния содержания объектов Х{ и Х2 можно вывести запрещенную информацию, содержащуюся в объекте Х3. Пример 6.4. Пусть в системе имеются два пользователя Ui и U2, один процесс Учтения'на экран файла и набор файлов Oi, ..., От. В каждый момент работает один пользователь; затем система вы- 51
ключается и другой пользователь включает ее заново. Возможны следующие графы доступов (рис. 6.1): Uj——>Y—r—^Ot Рис. 6.1 / = 1, ..., т, j- 1,2. Множество таких графов — I. Траектории — последовательно- сти графов вида, изображенного на 6.1. Неблагоприятными счита- ются траектории, содержащие для некоторого /, /= 1, ..., т, со- стояния (рис. 6.2): Ux—r >0, U2. R >Y -r -yOt Рис. 6.2 Таким образом, неблагоприятна ситуация, когда оба пользо- вателя могут прочитать один объект. Ясно, что Механизм защиты должен строить ограничения на очередной доступ исходя из мно- жества объектов, с которыми уже ознакомился другой пользова- тель. В этом случае очевидно можно доказать, что обеспечивается безопасность информации в указанном смысле. Пример 6.5. В системе, описанной в примере 6.4, неблагоприят- ной является любая траектория, содержащая граф вида (рис. 6.3): Ur ~ >У r >Ot Рис. 6.3 . В этом случае, очевидно, доказывается, что система будет за- щищена ограничением доступа на чтение пользователя С4 к объек- ту Ор 6.2. Информационный поток Структуры информационных потоков являются основой ана- лиза каналов утечки и обеспечения секретаости информации. Эти структуры опираются на теорию информации и математическую теорию связи. Рассмотрим простейшие потоки. 1. Пусть субъект Yосуществляет доступ на чтение (г) к объекту X. В этом случае говорят об информационном потоке от Хк. X Здесь объект X является источником, a Y — получателем информации. 52
2. Пусть субъект Yосуществляет доступ на запись (w) к объек- ту X В этом случае говорят об информационном потоке от У к X. Здесь объект X является получателем, a Y — источником инфор- мации. . , Из простейших потоков можно построить сложные. Например, информационный поток от субъекта Y2 к субъекту У, по схеме (рис. 6.4): У1—^Х<—-—У2 Рис. 6.4 Субъект У2 записывает данные в объект X, а затем Yt считывает их. Здесь Y2 — источник, а У1 — получатель информации. Можно говорить о передаче информации, позволяющей реализовать по- ток. Каналы, изображенные на рис. 6.4, которые используют об- щие ресурсы памяти, называют каналами по памяти. С точки зрения защиты информации каналы и информацион- ные потоки бывают законными или незаконными. Незаконные информационные потоки создают утечку информации и тем са- мым могут нарушать секретность данных. Рассматривая каналы передачи информационных потоков, мож- но привлечь теорию информации для вычисления количества ин- формации в потоке и пропускной способности канала. Если неза- конный канал нельзя полностью перекрыть, то доля количества информации в объекте, утекающая по этому каналу, служит ме- рой опасности этого канала. Как в оценках стойкости шифров; так и в оценках качества защиты информации американцы ис- пользуют пороговое значение для допустимой пропускной спо- собности незаконных каналов. С помощью теоретико-информационных понятий информаци- онные потоки определяются следующим образом. Будем представлять информацию как конечное множество объектов (каждый объект — это слово в некотором языке Я). Пусть вычислительная система представляет собой в каждый момент множество объектов. Назовем это множество состоянием системы. Функции системы — это последовательное преобразо- вание информации в системе под действием команд. В результа- те, из состояния s мы под действием команды а перейдем в со- стояние s', т.е. s ->as'. Если а — последовательность команд, то композиция преобразования информации обозначается так же, т.е. s —>as' означает переход из состояния s в s' под действием последовательной команды а (автоматная модель вычислитель- ной системы). В общем виде для объектов X в состоянии s и Yв состоянии s' определим информационный поток, позволяющий по наблюде- 53
нию: Y узнать содержание X. Предположим, что X в s и Y в s' — случайные элементы с совместным распределением Р(Х, У). Тог- да можно определить: Р(Х), P(Y/X), P(X/Y), энтропию Н(Х), условную энтропию H(X/Y) и среднюю взаимную информацию: 1{Х, Y) = H(X)-H(X/Y). Определение 6.5. Выполнение команд а в состоянии s вызыва- ет информационный поток от X к Y (обозначение X->aY), если 1(Х, У) > 0. Величина 1(Х, У) называется величиной потока инфор- мации от X к У Определение 6.6. Для объектов Хтл. Усуществует информацион- ный поток величины С (бит), если существуют состояния s и s' и последовательность команд а такие, что s -ia s', X ->а У. Оценка максимального информационного потока определяется пропуск- ной способностью канала связи X ->а У и равна по величине: . t С(а, X, У) = тах/(Х У). Приведем примеры информационных потоков в вычислитель- ных системах. 1. Рассмотрим операцию присвоения значения переменной: Y: = X. , Пусть X — целая величина со значениями [0; 15] и Р(Х) — равновероятная мера на X. Тогда Н(Х) = 4 бит. После выполнения операции присвоения по полученной в состоянии s' величине У однозначно восстанавливается X, следовательно, H(X/Y) = 0 => => 1{Х, У) = 4 => С(а, X, У) = 4, так, как рассмотренный канал — симметричный. 2. У:=У; Z: = У. ’ , Выполнение этих команд вызывает непрямой (косвенный) поток информации X -> Z такой же величины, как прямой поток X^Y 3. Z: = Х+ У. Предполагаем, что X, Уе [0; 15] и равновероятны. Тогда Н(Х) = 4, H(Y) = 4. Следовательно, 0 < H(X/Y) = - X Р{Х, У) log2 P(X/Y) <4. (AZ) Откуда 0 < I(X, Z) < 4 бит. 4. Пусть Хъ Х2, Хп — независимые одинаково распределен- ные равновероятные случайные величины со значениями 0 и 1. Тогда п Z = X^,^(X1) = 1; z=i 54
и—1 H(XJZ) = -X P(XY =O,Z = k) log Р(Х = 0/Z = к) - *=o -Z p<xi =l,Z = k) log P(X = l/Z = к). k=l Если л->оо, то H(Xy/Z) = #(Ai)(l+O(l)), откуда следует, что I(X/Z)=O(1). Отсюда возникает возможность прятать конфиденциальные данные в статистические данные. 5. Z: = X® Y, Хи Y— равновероятные булевы, случайные вели- чины, Ф — сложение по mod 2, тогда Z не несет информации о X или У. 6. If Х= 1 then Y; = 1. Хе {0; 1}, где величина Xпринимает свои значения с вероятностями Р(Х= 0) = Р(Х= 1) = 1/2, начальное значение ,У= 0, Н(Х) = 1. Тогда H(X/Y) = -ZP(X y)logP(X/y) = 0. Следовательно, 1(Х, У) = 1. Поток называется неявным, в отли- чие от явного при операции присвоения. 7. If (Х= 1) и (У= 1) then Z: = 1. Тогда Н(Х) = H(Y) = 1, Z = 1 => Х= 1 = У, „ . X = 0 с вероятностью Р = 2/3] Z = 0 => ,, , ' ' 1 — апостериорные ве- X = 1 с вероятностью Р = 1/3 J , роятности. Отсюда HZ(X) = 0,7. Поэтому количество информации о X в Z равно Z(Z, X) = 0,3. Если А], Х2, Хп — исходные (ценные) переменные системы (программы), а У= (Уь ...,_Ym) — выходные, то I(Xh У) — коли- чество информации^© в У в потоке, который индуцируется си- стемой. Тогда /(X,, Y)//f(Xi) — показатель, «утечки» информации © Х^ Если установить порог к > 0 для «утечки», то из условия при каждом i = 1, ..., п I(Xi,Y)/H(X)<k, следуют требования к защите У. 6.3. Ценность информации Чтобы защитить информацию, надо затратить силы и средства, а д ля этого надо знать зачем, какие потери мы можем понести. Ясно, что в денежном выражении затрать! на защиту не должны превышать возможные потери. Для решения этих задач в инфор- 55
мацию вводятся вспомогательные структуры — ценность инфор- мации. Рассмотрим примеры. 6.3.1. Аддитивная модель Пусть информация разбита на непересекающиеся элементы и необходимо оценить суммарную стоимость в денежных единицах из оценок компонент. Оценка строится на основе экспертных оце- нок компонент, и если денежные оценки объективны, то сумма дает искомую величину. Однако количественная оценка компо- нент не всегда объективна даже при квалифицированной экспер- тизе. Это связано с неоднородностью компонент в целом, поэто- му делают единую относительную иерархическую шкалу (линей- ный порядок, который позволяет сравнивать отдельные компо- ненты по ценности относительно друг друга). Единая шкала означает равенство цены всех компонент, имеющих одну и ту же порядковую оценку. Пример 6.6. Xlt ..., Хп — объекты, шкала !<...< 5. Эксперты оценили (2, 1, 3.. 4) — вектор относительных ценностей объек- тов. Если есть цена хотя бы одного объекта, например Q -100 р., то вычисляется оценка одного балла: Q/Xi = 50 р. и цена каждого объекта: С2 = 50 р., С3 = 150 р. и т.д. Сумма дает стоимость всей информации. Если априорно известна цена информации, то от- носительные оценки в порядковой шкале позволяют вычислить цены компонент. 6.3.2. Анализ риска Пусть в рамках аддитивной модели проведена оценка инфор- мации в системе. Оценка возможных потерь строится на основе полученных стоимостей компонент исходя из прогноза возмож- ных угроз этим компонентам. Возможности угроз оцениваются вероятностями соответствующих событий, а потери считываются как математическое ожидание потери компоненты данной сто- имости по распределению возможных угроз. Пример 6.7. Пусть Хъ ..., Х„ — объекты, ценности которых Су ..., Сп. Предположим, что ущерб одному объекту не снижает цены других и пусть вероятность нанесения ущерба объекту X равна Pi, функция потерь ущерба для объекта X равна: (Ct, если объекту i нанесен ущерб, FT f — S [0, в противном случае. 56
Оценка потерь от реализации угроз объекту с номером i равна: Исходя из сделанных предположений потери в системе равны W= +... + W„. Тогда ожидаемые потери (средний риск) равны: п EW^ptCt. ,=i Существуют пакеты прикладных программ, позволяющие ав- томатизировать оценку риска, например RASYS. 6.3.3. Порядковая шкала ценностей Далеко не всегда возможно и‘нужно давать денежную оценку информации. Например, оценка личной, политической или воен- ной информации не всегда разумна в денежном исчислении. Одна- ко подход, связанный ср сравнением ценности отдельных инфор- мационных элементов между собой, по-прежнему имеет смысл. Пример 6.8. При оценке информации в государственных струк- турах используется порядковая шкала ценностей. Все объекты (до- кументы) государственного учреждения разбиваются по . грифам секретности. Сами грифы секретности образуют порядковую шка- лу: несекретно < для служебного пользования < секретно < совершен- но секретно (НС < ДСП < С < СС) или у американцев: unclassifiad < < confidential < secret < topsecret (U < Conf < S < TS). Более-высокий класс имеет более высокую ценность, и поэтому требования по его защите от несанкционированного доступа более высокие. > 4 ( / 6.3.4. Модель решетки ценностей Обобщением порядковой шкалы является модель решетки. Пусть, дано SC частично упорядоченное множество относительно бинар- ного отношения <, т.е. для каждых А, В, С выполняется: 1) рефлексивность: А < А; 2) транзитивность:'Я < В, В < С => А < С; 3) асимметричность: А < В, В < А => А = В. Определение 6.7. Для A, Be SC элемент С=А Ф В е SC называ- ется наименьшей верхней границей,’ если: 1) А < С, В < С; 2) Л < Д В < D => С < D для всех D е SC. Элемент А Ф В, вообще говоря, может не существовать. Если наименьшая верхняя граница существует, из антисимметрично- сти следует единственность. . 57
Упражнение 6.1. Доказать вышеизложенный факт. Определение 6.8. Для A, Be SC элемент Е=А ® В е SC называ- ется наибольшей нижней границей, если: 1) Е <> А, Е < В; 2) В <, А, В < В =$ В < Е для любых В е SC. Эта граница тоже может не существовать. Если она существует, то из антисимметричности следует единственность. Упражнение 6.2. Доказать вышеизложенный факт. Определение 6.9. (SC, <) называется решеткой, если для лю- бых А, В е SC существует А Ф В е SC и А ® В е SC. Лемма 6.1. Для любого набора 5= {Ль ..., А„} элементов из ре- шетки SC существуют единственные элементы: Ф S=At Ф... Ф А„ — наименьшая верхняя граница 5; ® ® ... ® А„ — наибольшая нижняя граница 5. Доказательство. Докажем ассоциативность операции Ф: С\ = Ф А2) 'Ф Д3= А[ Ф ® Дз) = ^2* По определению Q >А3,Сг >.Ai ФЯ2. Отсюда следует Q > А3, Q >А2, Ci > Ay Тогда Q > А2 Ф А3, Ct >АЬ следовательно, Q > С2. Аналогично C2>Ct. Из антисимметричности Q = С2. Отсюда следует существование и единственность Ф S.Такими же рассуждениями доказываем, что существует ® S и она един- ственна. Лемма доказана. Для всех элементов SC существует верхний элемент High = = Ф SC, аналогично существует нижний элемент Low = ® SC. . Определение 6.10. Линейная решетка — это линейно упорядо- ченное множество, можно всегда считать {0,1,..., п} = SC. Для большинства встречающихся в теории защиты информа-. ции решеток существует представление решетки в виде графа. Рассмотрим корневое дерево на вершинах из конечного множе- ства Х= {Хь Х2, Хп} с корнем в Ур Пусть на единственном пути, соединяющем вершину X, с корнем, есть вершина X,-. По- ложим по определению, что X,- < ^. Очевидно, что таким обра- зом на дереве определен частичный порядок. Кроме того, для любой пары вершин и ^ .существует элемент Xi Ф Xjf который определяется точкой слияния путей из Xt иХу в корень. Однако такая структура не является решеткой, так как здесь нет нижней грани. Оказывается,* что от условия, единственности пути в ко- рень можно отказаться, сохраняя при этом свойства частичного порядка и существование верхней грани. Например,, добавим к построенному дереву вершину L, соединив с ней все концевые вершины. Положим 1=1,..., п, L < Х{. Для остальных вершин поря- док определяется как раньше. Построенная структура является ре- шеткой. Упражнение 6.3. Доказать вышеизложенный факт. 58
High High Приведенное ранее описание решетки в виде дерева с допол- нительной вершиной не исчерпывает множество решеток, пред- ставимых в виде графов, однако поясняет, как связаны графы и решетки., . , . • Упражнение 6.4. Покажите, что графы, представленные на рис. 6.5, определяют решетки.' Не всякий граф определяет решетку, например графы на рис. 6.6. Рис. 6.6 Упражнение 6.5. Самостоятельно доказать, что это так. 6.3.5. Решетка подмножеств X • Для V А, В с X. Определим А < В <=> А с В. Все условия части- чного порядка 1), 2), 3) выполняются. Кроме того, А Ф В=А и В, А ®В=А п В. Следовательно, это решетка. Пример 6.9. Х={1, 2, 3} (рис.,6.7). , Пусть программа имеет Х={Х}, ..., — входные, У= {Уь ..., — выходные элементы. Каждый выходной элемент зависит от некоторого, входного элемента. Отношение вход-выход опи- сывается решеткой рассматриваемого типа. Решетка подмножеств строится по подмножествам X следующим образом. Для каждо- го Xt= {X}. Для каждого {Х\ X-yY}. 59
{i;2;3} Пример 6.10. Х}, Х2, Х3, X, Y2. Пусть X зависит только от Хг, Х2; Y2 зависит от X и Х3. Обозначим X = {Хъ Х2}, X = {X, %з}, тогда граф имеет вид, как показано на рис. 6.8. 6.3.6. MLS решетка Название происходит от аббревиатуры Multilevel Security и ле- жит в основе государственных стандартов оценки информации. Решетка строится как прямое произведение линейной решетки L и решетки SC подмножеств и множества X, т.е. (а, Р), (а', Р') — элементы произведения, р, Р' е L — линейная решетка, а, а' е е SC — решетка подмножеств некоторого множества X. Тогда (а, Р) < (а', Р') <=> а с а', р < Р'. Верхняя и нижняя границы определяются следующим обра- зом: (а, Р)Ф(а', Р') <=> аиа', max{p, Р'}; (а, Р)®(а', Р') <=> а па', min{p, Р'}. Вся информация {объекты системы} отображается в точки ре- шетки {(а, Р)}. Линейный порядок, как, правило, указывает гриф секретности. Точки множества Xобычно называют категориями.. Свойства решетки в оценке информации существенно исполь- зуются при классификации новых объектов, полученных в резуль- тате вычислений. Пусть дана решетка ценностей S, множество те- кущих объектов О, отображение С О -> S, программа использует информацию объектов оь ..., оп, которые классифицированы точ- ками решетки СЦод,..., С(о„). В результате работы программы по- явился объект о, который необходимо классифицировать. Это можно сделать, положив С(о) = C(oj) ф... ф С(о„). Такой подход к классификации наиболее распространен в государственных струк- 60
турах. Например, если в сборник включаются две статьи с грифом «секретно» и «совершенно секретно» и по тематикам: первая — кадры, вторая — криптография, то сборник приобретает гриф «совершенно секретно», а его тематика определяется совокупно- стью тематик статей (кадры, криптография). 6.4. Реляционные базы данных . Предположим, что мы хотим внести решетку ценностей (на- пример, MLS) в конкретную информацию, которая хранится и обрабатывается на ЭВМ. Проще говоря, необходимо классифици- ровать информацию по узлам решетки ценностей; рассматривая при этом процесс функционирования базы данных и создания новых записей и таблиц. Рассмотрим примеры задач, которые здесь возникают. Для определенности рассмотрим информацию, струк- турированную и обрабатываемую с помощью реляционной базы данных — реляционная модель (PM). РМ состоит из отношений, которые представляют собой таблицы со многими входами, и ал- гебры отношений, которая позволяет строить новые отношения в термйнах других отношений (в РМ входят также правила целост- ности хранимой информации и производной информации). Каждое отношение R определяется схемой RiA^ Ап), кото- рая характеризуется множеством атрибутов Alf Ап,т.е. пере- менных, описывающих входы таблицы. Отношение состоит из мно- жества записей (векторов или строк), которые представляют со- бой значения данных в области определения атрибутов (т.е.’ эле- менты таблицы — значения атрибугдв). Реляционная алгебра состоит из операторов для выбора всех или части записей, имеющих определенные значения из отноше- ния (таблицы), и для добавления данных в различные отноше- ния. 6.4.1. Функциональная зависимость (FD) Пусть X и К два множества атрибутов в схеме R. Определение 6.11. У функционально определяет Y (обозначается Х-> У) тогда и только тогда, когда не существует двух различных строк (векторов) в R с одноименными значениями из Хи различ- ными из К Например, в классном журнале с атрибутами: имя, присут- ствие и отметка за данное число. Атрибут имя функционально оп- ределяет все остальные атрибуты. Функциональная зависимость позволяет определить базовое для РМ понятие первичного ключа отношения. 61
Определение 6.12. Множество атрибутов называется кандида- том в ключи для отношения, если оно функционально определяет все другие атрибуты и является минимальным множеством (т.е. ни один атрибут из множества не может быть исключен так, что- бы оно по-прежнему функционально определяло остальные). Определение 6.13. Для любого отношения один из кандидатов в ключи отношения выделяется и называется первичным ключом. Замечание 6.1. Первичный ключ не обновляется. Первичный ключ может быть использован для выбора специ- фикации строк в отношении и для того, чтобы связать отношение в нечто целое. , . Определение 6.14. Первичный ключ для Rh помещенный в R2, называется вторичным ключом в R2. / Одно из основных, правил целостности данных связано с пер- вичным ключом. Целостность для элементов информации реляци- онной базы данных: ни одна строка таблицы не может принимать нулевое значение в каком-либо атрибуте из первичного ключа. Это свойство означает, что любые строки однозначно идентифициру- емы. Понятие функциональной зависимости позволяет определить и исследовать некоторые каналы утечки в базах данных,, которые появляются из возможности вывода .из одних объектов в другие (или еще один случай потока информации). Пусть множество F— это класс пар Х-> Y,X, Ус U=Attr(R) — множество атрибутов R. Теорема 6.1. 1. Если. Ус Хс Ц.то.Х-» У 2. ЕслиХ-> У, Y^Z,X, У, Zc U, тоX^Z. ... ‘ 3. Если Х^> У, Х-> Z, X У, Zc>£4 то Х-+ Уп Z., 4. Если Х-> У, Х-> Z, X, У, Zc U, то Х^> У и Z.' Доказательство. 1. Пусть есть, два набора значений атрибутов У, что у ф у', у, у' с У У соответствует компонентам вектора X, для которых значения атрибутов в Хне совпадают на у и у'. 2. Для строк с различными значениями атрибутов У значения векторов для атрибутов Xразличны. Для строк с различными зна- чениями Z значения У различны. Тогда значения Хразличны. Сле- довательно, X -> Z. . 3. Очевидно. 4. а* d из У и Z, тогда отличаются значения атрибутов хотя бы У или Z, например Z. Тогда отличается X. Теорема доказана. Определение 6.15. Множество пар функциональных зависимо- стей /+ называется замыканием множества пар функциональных зависимостей F, если F+ — множество всех функциональных зависимостей, которые порождаются множеством F с помощью пп. 1—4 теоремы 6.1, т.е. конструктивно построены исходя из F, используя правила теоремы. 62
Определение 6.16. Два множества функциональных зависимо- стей (FD) F и G называются эквивалентными, если F* = (7+. Доказанная теорема позволяет значительно сократить класс множеств FD, которые необходимо изучать для одного и того же F+. В частности, достаточно ограничиться редуцированными FD, эквивалентными F. Определение 6.17. Множество F функциональных зависимостей называется редуцированным, если: 1) в Гнет двух пар У и X' -» К таких, что для некоторых значений атрибутов Х= X’ и У* F; 2) для всех X -> У в F: Хг> У= 0. Теорема 6.2. Для произвольного F существует редуцированный G, такой, что. F+ = G\ Доказательство. Для каждого Х-> У из F построим эквивален- тные функциональные зависимости в G, удовлетворяющие усло- виям редуцированного класса. Пусть X -> У, X -> Y' из F такие, что Х=Х, У# У'. Если У У', то возьмем в G: Х-> У и У' по п. 4 теоремы 6.1. Наоборот: если вС есть Х->У и У', то в (7+поп. 1есть УиУ'->У и УиУ'-^К Тогда по п. 2 в G+ есть Х-> У, У*. Пункт 1 доказан. Пусть Х-> У, XrxY* 0. По п.2: Х-> X, Х^> У=> XХо Y Отсюда по п. 2 У-> У\(УпЛ) => Х-» У\(Уп^). Обратно, если X -4 У\ (YrX) есть в G, то Х-> У есть в G+, так как по п. 1 теоремы 6.1 Х-> ХпУи Х-> (У\(УпX)) и (Хп У) = У по п.4. Теорема доказана.'" Использование функциональной зависимости для компроме- тации базы данных иллюстрируется следующим простым приме- ром. Пример 6.11. Пусть R — отношение в реляционной базе данных некоторой компании, содержащее атрибуты: ИМЯ—РАНГ—ЗАР- ПЛАТА. Предположим, что ЗАРПЛАТА — совершенно секретные сведения, а РАНГ—секретные. Предположим также, что в R вы- полняется следующая функциональная зависимость РАНГ -» ЗАР- ПЛАТА, что означает, что все служащие одного ранга получают одинаковую зарплату. Тогда пользователь, имеющий допуск к дан- ным не выше «секретно», может получить допуск к совершенно секретной'информации о конкретном лице, если он знает соот- ветствие РАНГ —> ЗАРПЛАТА хотя бы для некоторых лиц. Для того чтобы проанализировать возможность возникновения подобных зависимостей, надо изучить все множество F+ для на- бора исходных зависимостей F. Это удобнее сделать, если' F — Редуцированное множество, что не ограничивает общности, бла- годаря доказанной теореме. " 63
6.4.2. Целостность в реляционной модели .. Если описывать условия целостности данных в РМ формаль- но, это можно сделать, определив конъюнкцию одного или не- скольких условий, которым должен удовлетворять набор атрибу- тов, выраженных формулами какого-либо языка. Пример 6.12. Ограничения целостности данных могут иметь сле- дующий вид: 1= CR1.J > 0) л (R1.A = R2.A) л (0 < R1.B + R2.B <, 100), где R1.A — атрибут А в отношении Rl; R2.A — соответственно в R2; R1.B — атрибут В в Rl; R2.B — в R2. Если даны Zb ..., 1т, то область состояний D базы данных оп- ределяется формулой: т Д = Г)Л, *=1 где 1к — множество значений, которые могут принимать атрибуты базы данных, удовлетворяющие логической формуле 1к. Будем предполагать D * 0. 6.4.3. Реляционные операторы В реляционной модели выделяют реальные (или базовые) от- ношения, соответствующие хранящимся данным, и производ- ные отношения, образующиеся с помощью реляционных опера- торов (РО). РО строит новые отношения из одного или нескольких суще- ствующих. Рассмотрим пять основных операторов. .а 1. Select (R, F). Строит новое отношение, состоящее из всех векторов (строк) R, удовлетворяющих F, где F — .формула вида «Я; 0 V» или «Я,- 0 Aj», где 0 — отношение сравнения ( =, < и т.д.) и V — значение из области Д атрибута А,. (Этот оператор также, называют «0-выбор».) 2. Project (R(Ah, ..., Aik)). Строит новое отношение следующим образом: берутся по очереди все строки R и из каждой из них выбрасываются все элементы в координатах, не являющиеся ат- рибутами Л,-,, ..., Я&, затем удаляются дубликаты в множестве по- лучившихся строк нового отношения. ,3. Union (Rif R2). Строит новое отношение, состоящее из строк, которые есть хотя бы в одном отношении ^ или R2. Схемы для Ri и R2 должны быть совместимы, т.е. иметь одинаковое число атри- бутов, согласованных по области их определения. 64
4. DifF (Ль R2). Строит новое отношение, состоящее из тех и только тех строк которые не входят в R2. Схемы А] и R2 долж- ны быть совместны. , 5. Product (Ri, R2). Образует новое отношение из прямого про- изведения таблиц 7?) и R2, т.е. каждая строка приписывается каждой строке R2. Кроме перечисленных основных РО полезно определить следу- ющие два произвольных оператора. 6. Natural-join (_Rb R2, (А,,, ..., Ак)). Этот оператор выбирает и оставляет в новой таблице вектора из прямого произведения Rx и R2 такие, в которых атрибуты Л(1, ..., Aik принимают одинаковое значение и затем выбрасываются лишние атрибуты (Л,„ ..., Ailc, встречающиеся дважды).. 7. Outer-join (Ri, R2, (Ah,..., Д>)). Строит Natural-join из R2 и R2 и к нему добавляет каждую строку ,в Rb которая не имеет подхо- дящей строки в R2 (путем добавления нулевых элементов в местах атрибутов R2), а также добавляет каждую строку в R2, которая не имеет подходящей строки в Ri (также расширяя нулями в местах атрибутов. Ri). 6.5. Многоуровневые реляционные базы данных Следующий шаг — классифицировать, .т. е. внести решетку цен- ности в информацию, наделенную структурой реляционной базы данных. -Такое внесение возможно не всегда. Функционирование базы данных может привести к противоре- чию с размещением информации в том или ином классе решет- ки, а затем и к компрометации этой информации. Чтобы этого не случилось, надо согласовывать все элементы БД (т.е. отношения и реляционную алгебру) и решетку ценностей. А именно, при-вне- сении решетки в БД (т. е. при классификации информации) необ- ходимо: • ' 1. Уметь классифицировать отдельные (неделимые) факты и объекты. В реляционных БД требуется поддерживать MLS на уров- не элементов потому, что каждая строка отношения может содер- жать много различных фактов, имеющих разные классификации (например, время вылета — секретно, время прибытия — секрет- но, назначение — совершенно секретно). Хотя в литературе ис- пользовались и другие подходы. 2. Уметь создавать для просмотра пользователями виртуальные отношения (обзоры), в которых не все данные имеют одну класси- фикацию. Поскольку обзоры — это производные данные, то со- здание обзора требует проведения классификации производных данных. 3 Грушо 65
3. Уметь вносить новые данные и обновлять старые; причем элементы вносимых данных могут иметь разную классификацию. 4. Создавать состоятельные классы информации, т.е. для каж- дого факта не должны при различных видах обработки получаться различные классы ценности. При этом пользователь может не иметь доступа к некоторым классам, но не должен из-за этого терять возможность работать с БД. 5. Уметь определять ограничения целостности на данных, име- ющих различную классификацию. В частности, это надо делать автоматически, чтобы не заставлять пользователя запоминать все правила классификации информации. 6. Уметь восстанавливать данные с учетом их классификации. Основная идея внесения MLS в БД состоит в создании нового отношения, куда классы MLS входят как атрибуты отношения, т.е. любая данная схема расширяется включениями классифика- ционного атрибута Ct для каждого атрибута данных Д. Область зна- чений Ct определяется парой классов (Д, Hfr, которые определя- ют подрешетку от низшего класса Д до: высшего для данного ат- рибута класса Ht. Класс элемента at в данном векторе определяет- ся С(а,) = Q в этой подрешетке (функция C(a) = class(a) обозначает отображение элементов РМ в решетку). Определение 6.18. Многоуровневое базовое отношение (MLS R) определяется как произвольное: отношение, у которого существу- ют классификационные атрибуты Cf для всех атрибутов данных Д. Такое отношение представляется схемой R(Aa, Съ ..., А„, С„). Пример 6.13. Решетка {S, TS}; Д — первичный ключ (табл. 6.1). Схема в целом классифицирована как 5. .. . Определение 6.19. Атрибут Д и соответственно атрибут Ct в MLS R называется одноуровневым, если область, определяемая. Ch — одна точка в решетке, иначе Д называется многоуровневым. Определение 6.20. MLS R называется одноуровневым, если все атрибуты одноуровневые и соответствуют одному классу.. Схема для MLS R также классифицируется. Этот класс обозна- чается class(7?) и относится к имени отношения, имени всего набора атрибутов Rn схеме. Class (7?) должен доминироваться ниж- ней гранью L{, ..., Ln классификационных атрибутов Ci, ..., Сп в Таблица 6.1 Д Cl л2 Д ' c3 mad , s 17 S X . s foo s 34 s w TS ark TS 5 TS Y TS 66
Таблица 6.2 4 С, a2 4 4 G mad S ' 17 X S foO' S . 34 - s < null S схеме. Это свойство позволяет доминировать class (R) всеми эле- ментами таблицы. • ' В стандартной реляционной базе любой отсутствующий эле- мент представляется каким-нибудь аналогом нулевого значения. Положим, что это выполняется и для многоуровневой реляцион- ной модели. Кроме того; нулевое значение атрибута At будет опре- делять наименьшее значение'Д- атрибута Q. Пример 6.14. Если новое отношение V, например обзор, не должен содержать TS данных, то должна осуществляться фильт- рация данных, помещаемых в V. Тогда отфильтрованный обзор предыдущего примерам примет вид табл. 6.2. . • ‘ .. . • , 6.5.1. Классификационные ограничения Классификация информации в ходе функционирования систе- мы происходит автоматически на основе классификационных ог- раничений (КО). Определение 6.21. Классификационные ограничения — это прави- ло, которое определяет значения для одного или более классйфи- кационных атрибутов Cf. Формально КО — это четверка вида: CR= (R, А, Е, L), где R — имя отношения; А — набор из одного или нескольких атрибутов в R; Е— опциональное выражение (например, форму- ла логики предикатов); L — класс (точка в решетке ценностей). Правило CR интерпретируется следующим образом: if Е then class (R.A) = L, где R.A — атрибуты А в отношении R. Без ограничения общности далее полагаем,* что Aj определены на множестве действительных чисел (целые числа — частный слу- чай, а значения не целочисленных атрибутов могут быть перену- мерованы). * Замечание 6.2. Класс L — это выражение, которое может>быть или константой, например Secret, Top Secret, или содержать одну или не- сколько переменных. Например, «Class (В)» или «Class (В), Class (С)». 67
Определение 6.22. Два класса Ц и L2 называются равными, если они символьно представлены идентичными записями. Замечание 6.3. Это позволяет конструктивно проверять состоятель- ность. Выражение Е есть конъюнкция одного или более условий, кото- рым удовлетворяют наборы атрибутов в БД (дизъюнкции сводятся к конъ- юнкциям). Пример 6.15. Е = (R1.A > 0) л ((ДМ) = (R2.A)) л (0 < R1.B Ф ® 7?2.Д < 100). Существует 4 типа классификационных ограничений. 1. Зависящие от типа. Выражение Е отсутствует и класс L — постоянный, так что все элементы, связанные с атрибутом, име- ют один класс. Этот тип ограничений определяет одноуровневый атрибут. Например, (R, А, , Secret); (R, (А, В), , Secret). 2. Зависящие от значения. Здесь или Е присутствует, или L опи- сывается выражением от переменной (или оба случая), -так что класс элемента зависит от значения элемента или от значения или класса других данных БД. Например, (R, А, А = 1, Conf); (R, А, А = 2, Secret); (R, А, , class (R.B)); (R, А, А = 1, class (/?..#)). 3. Зависящие от уровня источника. Класс L есть выражение «класс пользователя». Например, (7?, А, , class (user)); . (R, В, В > 0, class (user)). , . 4. Зависящие от грифа источника. Класс L есть выражение *, которое означает, что субъект, вводящий элемент, определяет также и класс элемента. Например, (Я, А, , *); (R, В, В>0, *). 6.5.2. Состоятельность Напомним определение. Определение 6.23. Множество классификационных ограниче- ний называется состоятельным, если для каждой возможной строки реляционной БД из D никакие два ограничения не определяют конфликтные классы для одного и того же элемента. v Пример 6.16. Рассмотрим БД Flight («Полеты»). Эта база опре- делена следующими схемами. Отношение ITEM с атрибутами: но- мера мест, имена, масса. Отношение Flight с атрибутами: номер 68
рейса, дата вылета, назначение, общая масса'груза. Отношение PAYLOAD, дающее количество использованных мест на борту во время полета. ' > ITEM (ITEM #, ITEMNAME, Weight) Flight (Flight #, Date, Dest; Weight) PAYLOAD (Flight #, ITEM #, QTY, Weight) Множество схем, определяющих отношения в базе данных, само представляется как отношение Relation (Relname, Attmame), которое содержит атрибуты всех отношений (иногда используется два отношения: одно для названий отношений, другое — для на- званий атрибутов). Например, в этой таблице запись < Flight, Weight > определяет, что отношение Flight содержит атрибут Weight. Рассмотрим ограничения на атрибуты Flight #, Dest, Date в отношении Flight: (Flight, (Flight #, Dest, Date), (Date < 500), Secret) (Flight, (Flight #,'Dest, Date), (1 < Dest < 2), TS) (Flight, (Flight #, Dest, Date), (Dest >2 и Date >500), class (user)). Предположим, что ограничения целостности разрешают стро- ку со следующими значениями: (Flight # = 1750' Dest =.l, Date = 450). ''' ‘ ' Тогда ограничения несостоятельны, так как строка удовлетво- ряет обоим первым двум ограничениям, но эти ограничения не определяют одинаковые классы. Однако классификационные ог- раничения, не. будут несостоятельными, если выполняются еще следующие ограничения, целостности: (Г< Dest < 2) л (Date > 500), так как тогда нижние два из классификационных ограничений не выполняются одновременно. ... , . Для того чтобы определить, является ли множество класси- фикационных ограничений состоятельным при данных ограни- чениях целостности, достаточно определить, является ли каж- дая пара ограничений CRt и CRj состоятельной. (По определению состоятельность требуется проверить для каждой пары, посколь- ку каждый элемент надо покрыть хотя бы одним ограничением, а если покрывают 3 ограничения и более и они конфликтны, следовательно, существуют два конфликтных ограничения.) Для проверки пары используется следующая теорема. Теорема б.З. Данная пара CRj и CRj классификационных огра- ничений состоятельная, если выполняется хотя бы одно из следу- ющих условий: 1. Lj = Lj — оба ограничения определяют один класс (напоми- наем, равенство — символьное); 69
2. At л Aj = 0 CRj и CRj накладывают, ограничения на непересе- кающиеся множества, атрибутов; . > , 3. Et п Ej = 0 — оба ограничения не могут выполняться одно- временно; >. , 4. Ej л Ej л D = 0 — оба ограничения не совместимы с услови- ями целостности. , Доказательство. 1. Очевидно, так как требуется символьное ра- венство выражений, откуда следует, что конфликтное присврг ение классов невозможно. : . 2; Происходит присвоение, классов разным атрибутам. 3. Невозможно присвоить хотя бы один, класс. 4. Невозможно присвоить хотя бы один класс,, Теорема доказана. • , Простые достаточные условия теоремы позволяют реализовать проверяющий их алгоритм, й эффективно установить состоятель- ность классификацйонных ограничений на практике. “ ...... А ' 4 J 6.5.3. Полнота классификационных ограничений • Пусть доказано, что система, состоятельна. Теперь надо прове- рить, что она полна. ,... Определение 6.24. Множество классификационных ограничений называется полным, если для любого набора значений атрибутов из области определения базы данных каждому Элементу приписыва- ется класс хотя бы одним классификационным ограничением. 1 Рассмотрим процедуру проверки полноты? 1. Для каждого атрибута А рассмотрим { СЭД'и выберем все ог- раничения, содержащие А. Если это множество пусто, то система неполная. 2. Если классйфикационные ограничения не покрывают область возможных значений какого-либо атрибута, то система неполная. 70
,В противном случае система ограничений полная. Пример 6.17. Пусть есть два атрибута А и В, удовлетворяющих условиям: 2)(Л) = {(АВ), 10 < А < 20}; D(B) = {(АВ), -10 < В < 30}; CRi = (R, А, А + 2В < 30, Secret); CR.2 = (R, А, 5А-2В < 60, Secret); CR3 = (R, А,ЗВ-2А<, 30, Secret), изображенным на рис. 6.9. Таким образом, все точки В покрыты, отсюда следует полнота. Из того что классы одинаковы, следует состоятельность. . 6.5.4. Проблема полиинстантинации Суть проблемы поясним на простом примере. Пример 6.18. Пусть пользователь, получил обзор, как это было сделано в примере 6.14, и решил дополнить его имеющимися в его распоряжении данными. Этого запрещать нельзя, так как лег- ко строится канал утечки. Предположим, что он достроил отно- шение примера 6.14 (табл. 6.3).. Таблица 6.3 А С, ' Ч G • Аз' Сз mad 5 17 5 X S foo 5 34 5 и S ark 5 • • 22 S Z .S . Тогда в базе данных появились две таблицы с одинаковым набо- ром значений ключевого атрибута в том виде, как он доступен пользователю. Это явление получило название «полиинстантинация». Одно из решений проблемы — составить отношение (табл. 6.4): Таблица 6.4 А Cl 4 C2 4 Сз mad s 17 S X S foo s 34 s w TS foo s 34 s и S ark TS 5 TS Y ' TS ark s 22 s,'' '"z . s 71
Это отношение предоставляется пользователям с допуском к совершенно секретным данным, а табл. 6.3, получающаяся филь- трацией табл. 6.4, — пользователям, которые имеют допуск к дан- ным не выше «секретно». В этом случае атрибут Q входит в ключ. 6.5.5. Декомпозиция MLS R в стандартные базовые отношения реляционной модели Построим декомпозицию произвольной MLS R в семейство стандартных базовых отношений БД. Тогда реальные отношения получаются как обзор этих базовых. При этом, если эти стандар- тные базовые отношения классифицируются, то они будут од- ноуровневыми. Отсюда следует, что механизм хранения их иден- тичен механизму хранения в обычной БД (не MLS), т.е. имеется в виду отображение при помощи программного обеспечения в файлы, сегменты и т.д. Механизм защиты здесь внешний и не связан с конкретными элементами информации. Этот механизм определяет защиту и доступ к информации любого заданного класса. ’ '' ' Определение 6.25. Пусть множество атрибутов А одинаково клас- сифицируются на всех строках отношения, тогда говорят, что они равномерно классифицированы. Теорема 6.4. При выполнении основных ограничений целост- ности множество атрибутов первичного ключа равномерно клас- сифицировано и этот класс доминируется классами всех осталь- ных элементов строки. Доказательство. Если первичный ключ не равномерно клас- сифицирован, то возможно существует пользователь, который не имеет права на высший класс, но имеет право на низший. В этом случае в обзоре этого отношения в атрибуте высшего клас- са первичного ключа должны стоять null, что противоречит тре- бованиям целостности хранимой информации (в первичном клю- че нельзя иметь null). Аналогично, если какой-то элемент имеет класс, меньший, чем элементы первичного ключа, то в обзоре эта строка пояёится, а первичный ключ будет null. Теорема дока- зана. Пусть дано R(Ab С{, ..., Л„, С„), где Av — первичный ключ. Первый шаг декомпозиции — создать базовое отношение Rl x для каждого значения Xатрибута Q первичного ключа Д, т. е. для каж- дого Хе (Li, Hi) создаем с классом X. Назовем их «отно- шения, связанные с первичным ключом». Если первичный ключ состоит из нескольких атрибутов, то в силу равномерности клас- сификации можно считать его одним атрибутом А{ с одним клас- сификационным атрибутом С, и для него создать R^xt-Ai). 72
Второй шаг. Для произвольного Д- (который может также быть множеством атрибутов, но равномерно классифицированным с атрибутом Q образуем базовые отношения (называемые «отно- шения, связанные с атрибутом А,»). Для i=2,..., п каждой паре X, Y, Хе (Д, Hi), Ye (Lb Н?), Y> X(из теоремы 6.3) строим Rit х> у(Ль А) с классом Y. В этих отношени- ях, очевидно, Ах — первичный ключ. Однако таким отношениям присваивается класс Y (поднимая, возможно, уровень значения первичного ключа, что при восстановлении исправляется исхо- дя из информации в Ri>x), таким образом, эти отношения одно- уровневые по построению. Алгоритм декомпозиции следующий (заменим R на {RitX(Ai), Rit х, rt^i, 4)}): для каждой строки (Яь Ci,..., А„, С„) в R поместим А{ в Д1;С1 и для/= 1,..., п поместим (Д, Д) в Л,С1,а- Любая новая строка для коррекции БД разлагается также. Пример 6.19. Рассмотрим отношение из примера 6.13 (табл. 6.5). Очевидно, что если исходное отношение одноуровневое, то процедура декомпозиции тривиальна, т. е. отношение перейдет само в себя. Рассмотрим процедуру восстановления MLS из базовых одно- уровневых отношений. Определим оператор «ml», который преоб- разует строку стандартных отношений R\ или R^ х> Y в строку MLS отношения: a) ml(2?i x) — многоуровневое отношение R' со схемой R'(Ai, Ci). Для каждой строки Ai в Ri X строка (А1г X) строится в R'; б) т1(Я/; А->г) — многоуровневое отношение R' со схемой R'(Ai, Ci, Ab Q. Для каждой строки At, At в Д,х>у строка (Д, X, Ah Y) строится в ^'. Обозначим через оператор Outer-join относи- Таблица 6.5 Л ^3 mad X Л А foo W 73
тельно атрибутов АВ и через U оператор Union. Тогда формула для восстановления R имеет вид: Recover(R) - (J (Rf# ®4q •••®л1с, ^и,х)> Хе(Д,Я!) где Ri,x - и i= •••> я> . Уе{тах(£,,Х),Я,} R\,x - mlW, х) '> R'i, X,Y = тЦЛ, X, y)- . , Можно доказать следующую теорему. Теорема 6.5. Recover (Decompose R) = R. Вместо доказательства восстановим пример 6.13. Пример 6.20. ml(Ri y) = R\ т1(Л, х, г) = R'i, х, y (табл. 6.6). Таблица 6.6 At Ci R'its А Ct arc TS mad S • foo • 5, At Ct ^2 maid S foo . S At Ct A3 C3 foo S W TS R'iTSTS R'iSTS At Ct A3 C3 mad S X s Recover(R) = ((Rfs ®AlCl R255) ®AjC, (Яззз U Rists)) U ЩД'тЗ ®4Ci R-2TSTS ®4q RiTsrs)- Отсюда получаем отношение примера 6.13.
Глава 7 " ПОЛИТИКА БЕЗОПАСНОСТИ Иногда: удается'Достичь общепринятого понимания оптималь- ности принимаемого решения и доказать его существование. На- пример, в математической статистике для проверки простой, ги- потезы против простой альтернативы всеми признано понятие оптимального решения, которое минимизирует ошибку второго рода, а также Доказано существование 'такого гкритерия (лемма Неймана Пирсойа). Однако, когда решение1 многоальтернативное,> то общепринятого понимания оптимальности не получается, а в тех случаях, когда рассматривается Допрос' о существовании оп- тимального в какой-то смысле'решения, его существование чаще всего удается доказать лишь в частных задачах. ! Подобная ситуация существуете задачах защиты информации, поскольку'неоднозначно решение о том, что информация защи- щена. Кроме того/система защиты — не самоцель и должна нести подчиненную1 функцию по сравнению с главной-целью вычисли- тельного процесса: Приведем примеры, поясняющие эти утверж- дения. _ • • 1 “ л ! ' - Пример 7.1. Пусть два инженера ведут разработки двух прибо- ров, которые требуют решения задач Iji, ..., £И1 — первым и задач & •••> ^л2 — вторым инженером. Предположим, что информация о решении каждой задачи собирается в отдельном файле Oh ..., 0„t и Oj, О'ц2 соответственно. • Предположим,- что среди мно- жеств задач первого и второго инженеров есть одинаковые задачи. К сожалению, офицер службы безопасности, разрешающий или запрещающий доступ к файлам, не в состоянии решить, что в Двух файлах накапливается информация по решению одной зада- чи. Рассмотрим различные решения офицера по обеспечению бе- зопасности информации. 1. Если он разрешит доступ инженеров к файлам друг друга, то один из них, взяв 'информацию другого или свою* анонимно и 75
поэтому безнаказанно, продаст эту информацию, так как нет пер- сональной ответственности (невозможно установить, кто продал информацию из данного файла). При этдм безнаказанность может стимулировать преступление. 2. Если он не разрешит доступ инженеров к файлам друг друга, то возникнет опасность ущерба из-за недоступности информации. (Один нашел, а второй не нашел решение одной задачи. Тогда вся задача второго инженера оказалась нерешенной, из-за чего воз- можен большой ущерб для фирмы, так как соответствующий при- бор сделали конкуренты.) Очевидно, что в обоих случаях достигается снижение одной опасности за счет возрастания другой. Пример 7.2. Рассмотрим проблему компромисса задачи защиты и других задач вычислительной системы. Пусть в базе данных со- бирается информация о здоровье частныхлиц, которая в, боль- шинстве стран считается конфиденциальной,. Необходима база данных, так как эта информация позволяет эффективно произво- дить диагностику. Если-доступ к .этой базе из соображений защиты информации сильно ограничен, то не . будет пользы для врачей, ставящих диагнозы, и.не будет пользы от самой базы. Если доступ открыть, то возможна утечка конфиденциальной информации, за которую по суду может быть предъявлен большой иск. Каким должно быть оптимальное решение? . Результатом решения в приведенных примерах и другие анало- гичных задачах является выб,ор правил распределения и хранения информации, а также обращения с информацией, что и называ- ется политикой безопасности. Соблюдение политики безопасности должно обеспечить выполнение того компромисса между альтер- ; нативами, который выбрали: владельцы, ценной информации для ее защиты. Ясно, что, являясь результатом компромисса, полити- ка безопасности никогда не удовлетворит все стороны, участву- ющие во взаимодействии с защищаемой информацией. В то же время выбор политики безопасности — это окончательное реще- : ние проблемы: что — хорошо и что — плохо в обращении с цен- : ной информацией. После принятия такого решения можно стро- ить защиту,.,т. е. систему поддержки выполнения правил политики безопасности. Таким образом, построенная система защиты ин- ; формации хорошая, если она надежно поддерживает выполнение правил политики безопасности. Наоборот, система защиты ин- формации плохая, если она ненадежно поддерживает политику безопасности. Такое решение проблемы защищенности информации и про- ; блемы построения системы защиты позволяет привлечь в теорию ; защиты точные математические методы, т.е.,доказывать, что дан- ная система в заданных условиях поддерживает политику безопас- . 76
НОСТИ-. В этом суть доказательного подхода к защите информации, позволяющего говорить о гарантированно защищенной системе, смысл которой в том, что при соблюдении исходных условий за- ведомо, выполняются все правила политики, безопасности. Термин «гарантированная защита» впервые встречается в стандарте ми- нистерства обороны США («Оранжевая книга») на требования к защищённым системам [33]., В данной главе приведены определения и примеры политики безопасности, показаны последствия плохо выбранной полити- ки. Определены такие политики, как дискреционная.политика, политика MLS, политика защиты целостности Biba, и проведен их анализ. На примере РМ рассмотрены математические пробле- мы корректного определения политики в данной вычислитель- ной системе.,,.,. , . 7.1. Определение политики безопасности Будем следовать общепринятому определению политики безо- пасности (ПБ), приведенному в стандарте [33]. Определение 7.1. Политика безопасности — это набор норм, правил и практических приемов, которые , регулируют управле- ние, защиту и распределение; ценной информации. Полное описание ПБ достаточно объемно даже в простых слу- чаях, поэтому далее, будем пользоваться сокращенными описани- ями. , Если вспомнить модель защиты, построенную в подразд. 6.1, то смысл политики безопасности очень прост — это набор правил управления, доступом. Заметим отличие ПБ от употребляемого понятия «несанкционированный доступ», (НСД). Первое отличие состоит в том,.что политика определяет как разрешенные, так и неразрешенные доступы^ Второе отличие — ПБ по своему опреде- лению конструктивна, может быть основой определения некото- рого автомата или аппарата для своей реализации. Пример 7.3. Сформулируем простую политику безопасности в некотором учреждении. Цель, стоящая перед защитой, — обеспе- чение. секретности информации. ПБ состоит в следующем: каж- дый пользователь пользуется своими и только своими данными, не обмениваясь с другими пользователями. Легко построить си- стему, поддерживающую эту политику. Каждый пользователь имеет свой персональный компьютер в персональной охраняемой ком- нате, куда не допускаются кроме него посторонние лица. Легко видеть, что сформулированная выше политика реализуется в этой системе. Будем называть эту политику тривиальной разграничи- тельной (дискреционной).. 77
ПБ определяется неоднозначно й,' естественно, всегда связана с практической реализацией системы и механизмов защиты. На- пример, ПБ в примере 7.1 может полностью измениться, если в организации нет достаточного числа компьютеров и помещений для поддержки этой политики. Выбор ПБ определяется фазовым пространством, допустимы- ми природой вычислительных процессов траекториями в нем и заданием неблагоприятного множества В. Корректность ПБ в дан- ных конкретных условиях должна быть доказана. Построение политики безопасности обычно соответствует сле- дующим шагам. ' ‘ ' ' • 1 шаг. В информацию вносится структура ценностей и прово- дится анализ риска. 1 2 шаг. Определяются правила для любого процесса пользова- ния данным видом доступа к элементам информации, имеющим данную оценку ценностей. , , Однако реализация этих шагов является сложной задачей. Ре- зультатом ошибочного или бездумного определения правил , по- литики безопасности в основном является разрушение ценности информации без нарушения политики. Таким образом, даже хо- рошая система защиты может быть «прозрачной» ’для злоумыш- ленника при плокой ПБ." ' 11 : Рассмотрим следующие примеры. ........... Пример 7.4. Пусть банковские счета хранятся в зашифрованном виде в файлах ЭВМ. Для шифрования, естественно, используется блочная система шифра, которая для надежности’ реализована вне компьютера и оперируется с помощью доверенного лица. Прочи- тав в книгах д' хороших механизмах защиты, служба безопасности банка убеждена, что если шифр стойкий, то указанным способом информация хорошо защищена. Действительно, прочитать ее'при хорошем шифре невозможно, но служащий банка, знающий стан- дарты заполнения счетов и имеющий доступ К компьютеру, мо- жет заменить часть'шифртекста в'своем счете на шйфртекст в счё- те богатого клиента. Если форматы совпали, то счет такого служа- щего с1 большой вероятностью возрастет: В этом примере игра идет на том, что в данной задаче опасность для целостности Информа- ции значительно выше опасности для нарушения секретности,'а выбранная политика безопасности хорошо защищает от наруше- ний секретности, но не ориентирована на опасность для целост- ности. • . • • ч , Пример 7.5. Как было описано в конце подразд. 6.3, для госу- дарственных структур традиционно принято определять гриф ре- зультирующего'документа как верхнюю грань грифов и категорий составляющих этот документ частей. Формальное перенесение этого 78
правила традиционной ПБ в ПБ для электронных документов может привести к возникновению канала утечки информации. В самом деле, рассмотрим многоуровневую реляционную базу дан- ных с решеткой ценностей {несекретно (Я), секретно (С)}. Пусть R — отношение, А1г ..., Ат — атрибуты, причем — первичный ключ. По запросу строится «обзор» R', который состоит из эле- ментов различной классификации. ПБ может включать одно из двух правил формализованного грифа отношения R'. l. ,R' имеет гриф, равный наибольшему значению из грифов элементов, которые принимают входящие в него атрибуты (при- вычный для госструктур). , 2. R' имеет гриф, равный наименьшему значению из грифов элементов, которые принимают входящие в него атрибуты. ,, Покажем, что в случае 1 возможна утечка информацйи с гри- фом «Секретно» (С) пользователю, которому разрешен доступ толь- ко к информации с грифом «Не секретно» (Н). Для этого достаточ- но построить пример базы данных, где такая утечка очевидна. Пусть реляционная база данных реализует геоинформацион- ную систему. Например, она содержит географическую карту не- которого района пустыни. Базовое отношение РМ имеет три атри- бута: А[ — ключевой атрибут, содержащий координаты и размеры прямоугольного сектора в некоторой сетке координат; Аг — изображение (карта) местности в секторе с координата- ми, задаваемыми‘атрибутом Ль ’; 11 А3 — координаты колодцев с водой в рассматриваемом секторе. Для простоты будем считать, что Ha SQL aanpoc в базу данных мы получаём на экране изображение карты1 сектора, определя- емого значением атрибута А3. Пусть значения атрибутов А3 и А2 имеют гриф Н, а значения атрибута А3 — G ’ 1 Если выбрать политику безопасности п. 1, то мы покажем, как пользователь, не имеющий доступа к секретной информации, реализует канал утечки секретных данных о том, где в пустыне находится колодец с водой (пусть для простоты в рассматривае- мой местности есть только один колодец). Для получения секрет- ной информации пользователь делает последовательность запро- сов в базу данных, причем каждый следующий запрос (можно говорить о шагах алгоритма пользователя) определяется ответом на предыдущий. 1 шаг. Разбиваем район в виде квадрата на участки и делаем на них запрос в базу данных. Ответ возможен в двух формах: • отказ от-показа карты, если она, секретная, так как пользова- телю, не имеющему допуска к секретной информации, база дан- ных, естественно, не. должна ее показывать; • представление карты на экране, если , она имеет гриф Я (рис. 79
Отказ —«-'Доступ разрешен Рис. 7.1 Если есть отказ в доступе, то в этом случае в прямоугольнике есть колодец. 2 шаг. Разбиваем участок, где есть колодец (т.е. где есть отказ в доступе), на две равные части и делаем Два запроса в базу данных. Отказ означает, что на данном участке есть колодец (рис. 7.2). —► Отказ —► Доступ разрешен Рис. 7.2 И так далее. В результате вычисляется первая координата колодца с любой заданной точностью. Затем, на оставшемся участке аналогично вы- числяем вторую координату. Таким образом, ПБ-соблюдена, однако, произошла утечка сек- ретной информации, Если использовать ПБ п. 2, то любой пользо- ватель получает карту, но пользователь с допуском к секретной информации получает карту с нанесенным колодцем, а пользо- ватель без такого доступа — без колодца. В этом случае, канал, построенный выше, не работает и ПБ надежно защищает инфор- мацию. 7.2. Дискреционная политика Дискреционная, или разграничительная, политика — одна из самых распространенных в мире. В системах по умолчанию имеет- ся в виду именно эта политика*. Пусть О — множество объектов, S — множество субъектов, 5с О. Пусть U={Ub ..., Um} — множество пользователей. Определим отображение: own: О-> U. В соответствии с этим отображением каждый объект объявляется собственностью соответствующего пользователя. Пользователь, являющийся собственностью объек- 80
Таблица 7.1 та, имеет все права доступа к нему, а иногда и право передавать часть или все права другим пользователям. Кроме того, собствен- ник объекта определяет права доступа других субъектов к этому объекту, т.е. политику безопасности в отношении этого объекта. Указанные права доступа записываются в виде матрицы доступа М, элементы которой -г суть подмножества множества R, опре- деляющие доступы субъекта Sf.K объекту Oj (i= 1, 2, 1, 2,...) (табл. 7.1). . - • Существует несколько вариантов задания матрицы доступа. 1. Листы возможностей', для каждого субъекта создается лист (файл) всех объектов, ж которому имеет доступ данный объект. 2. Листы контроля доступа: для каждого объекта создается спи- сок всех субъектов/ имеющих право доступа к этому объекту. • Дискреционная политика связана с исходной моделью таким образом, что траектории процессов в вычислительной системе ог- раничиваются в каждом доступе. Причем вершины каждого графа разбиваются на; классы, и доступ в каждом классе определяется своими правилами каждым собственником. Множество неблаго- приятных траекторий ^ для рассматриваемого класса политик оп- ределяется наличием неблагоприятных состояний, которые в свою очередь определяются запретами на некоторые дуги. Дискрецион- ная политика-.болыие всего подвергалась исследованиям. Суще- ствует множество разновидностей этой политики. Однако многих проблем защиты^ эта политика решить не может; Одна из самых существенных слабостей этого класса политик — то, что они не выдерживают атак с помощью «Троянского коня». Это означает, в частности, что система защиты, реализующая дискреционную политику, плохо защищает, от проникновения в систему вирусов и других средств скрытого разрушающего воздействия. Покажем на примере принцип атаки «Троянским конем» в случае дискре- ционной: политики. - Пример 7.6. Пусть Uv—. некоторый пользователь, U2 — пользо- ватель-злоумышленник, 01 — объект, содержащий ценную ин- 81
Таблица 7.2 формацию, О2 — программа с «Троянским 01 <h own г W W и2 own г > W J конем» Т и Мматрица доступа (табл. 7.2). Проникновение программы происходит следующим образом. Злоумышленник U2 соз- дает программу О2 и, являясь ее собственни- ком, дает Ux запускать ее и писать в объект О2 информацию. После этого он инициирует ка- ким-то образом, чтобы U{ запустил эту про- грамму (например, О2, представляющую ин- тересную компьютерную игру, которую он предлагает для развлечения). запускает О2 и тем самым за- пускает скрытую программу Т, которая, обладая правами (так как была запущена пользователем U\), списывает в себя, инфор- мацию, содержащуюся в Оу После этого хозяин {72 объекта О2, пользуясь всеми правами, имеет возможность считать из О2 цен- ную информацию объекта Оу Следующая проблема дискреционной политики — это авто- матическое определение прав. Так как объектов много, то задать заранее вручную перечень прав каждого .субъекта на доступ к объекту невозможно. Поэтому матрица доступа различными спо- собами, агрегируется,’ например, оставляя в качестве ^субъектов только пользователей,-а в соответствующую, ячейку матрицы вставляя формулу, функции, вычисление которой определяет права доступа субъекта, порожденного пользователем, к> объек- ту О. Разумеется, эта функция может изменяться во времени. В частности, возможно изъятие прав после выполнения некото- рого события. Возможны модификации, зависящие от других па- раметров. ' . > ’ , Одна из важнейших проблем, при использовании дискрецион- ной политики,— это контроль распространения прав доступа. Чаще всего бывает, что владелец файла передает содержание файла друг гому пользователю и тот, приобретает справа собственника; на ин- формацию. Таким образом, права могут распространяться, и даже если исходный владелец, не хотел передавать, доступ некоторому субъекту S к своей информации в О; то после; нескольких шагов передача прав может, состояться независимо от его воли. Возника- ет задача об условиях,, при которых в. такой системе некоторый субъект рано или поздно получит; требуемый ему.доступ. Эта зада- ча исследовалась в модели «take-grant», когда форма передачи или взятия прав определяются в виде специального права доступа (вме- сто own). Некоторые результаты этих исследований будут рассмот- рены ниже. Ролевая политика безопасности. Разновидностью дискрецион- ной политики является ролевая политика безопасности, создание которой связано с трудностями задания матриц доступов, когда в системе много пользователей. . . 82
Ролевая политика задается двумя матрицами. Пусть Ul9 U2, Um — пользователи системы _Rb Т?2.— роли, которые вы- полняют пользователи в производственном процессе организации. Ясно, что для любой организации роли — это должности со сво- ими функциональными обязанностями. Следовательно, для каж- дой роли определены доступы к, объектам, необходимые для вы- полнения их функциональных обязанностей. , ' , „ Тогда первая матрица, задающая ролевую/политику безопас- ности, содержит' права доступа ролей к объектам системы, т.е. это обычная матрица доступа, в.которой вместо пользователей строки; помечаются ролями, а в клетках матрицы стоят права доступа. , Вторая , матрица, задающая ролевую политику, безопасности, содержит строки, каждая из которых содержгг двоичный вектор, присвоенный пользователю., идентифицирующему строку. Столб- цы помечены ролями. На пересечении строки, и столбца стоит 1 тогда и только тогда, когда данный пользователь может работать в данной роли. , . / , \ 1 7.3. Политика MLS1' 1 Многоуровневая политика безопасности (политика MLS) при- нята всеми развитыми государствами мира. В секретном повсе- дневном делопроизводстве госсектор России также придержива- ется этой политики. ... . Решетка ценностей SC, введенная в, подразд, 6.3, являемся ос- новой политики. MLS. Другой основой этой политики является понятие информационного потока. Пусть для произвольных объек- тов Хи Yимеется информационный поток XY, где X — источ- ник, Y — получатель информации. Отображение с: О -> SC счита- ется заданным. Если с (У) > с(Х), то К — более ценный объект, чем А”. Определение 7.2. Политика MLS считает информационный-по- ток X Y разрешенным тогда и только тогда, когда с ( У) > с(Х) в решетке SC. • . Таким образом, политика MLS имеет дело с множеством ин- формационных потоков в системе и делит их на разрешенные и неразрешенные очень простым условием. Однако эта простота ка- сается информационных потоков, кбторйх в системе огромное количество, поэтому приведённое выше определение неконструк- тивнб. Хотелось бы иметь конструктивное определение на языке доступов. Рассмотрим класс систем с двумя видами доступов г и w (хотя могут быть й другие доступы, но они либо не определяют информационный поток, либо выражаются через w и г) '. Пусть про- цесс 5 в ходе решения своей задачи последовательно обращается 83
к объектам Оь О2, Ot (некоторые из них могут возникнуть в ходе решения задачи). Пусть . s-^oh,s^^oi2,...,s-^oik, s^^oh,...,s-^oh_k. Тогда при выполнении условий с(5) > с(О,,), t=1,'к, соот- ветствующие потоки информации будут идти в разрешенном по- литикой MLS направлении, а при c{S) < c{Oj), t'= 1, I-к, потоки, определяемые доступом w, будут идти в разрешенном направлении. Таким образом, в результате выполнения задачи про- цессом S связанные с ним информационные потоки удовлетворя- ют политике MLS. Такого качественного анализа оказывается достаточно,’чтобы классифицировать почта все процессы и принять решение о со- блюдении или несоблюдении политики MLS. Если где-то полити- ка MLS нарушается, то соответственный доступ не разрешается. Причем разрешенность цепочки (7.1)'вовсе не Означает, что субъект .Уне может создать объект О такой, что с(8)>с(О). Одна- ко он не может писать туда информацию. При передаче управле- ния поток информации от .процесса S или к нему прерывается (хотя в него другие процессы могут записывать или считывать информацию как в объект). При этом, если правила направления потока при г и w выполняются, то MLS соблюдается, если нет, то соответствующий процесс не получает доступа. Таким обра- зом, мы приходим к управлению потоками через контроль досту- пов. В результате для определенного класса систем получим конст рукгйвное описание политики MLS. Определение 7.3. В системе с двумя доступами г и w политика MLS определяется следующими правилами доступа: X—^Y^c(X)>c(Y); X —2—> Y <=> с(Х) < с(Г). Структура решетки, очень помогает организации поддержки политики MLS. В самом деле, пусть имеется последовательная це- почка информационных потоков @1 ~^а О2 ->р Оз — “*8 Ок. Если каждый из потоков разрешен, то свойства, решетки по- зволяют утверждать, что разрешен сквозной поток Ох ->а... ->5 Ок. Действительно, если информационный поток на каждом шаге разрешен, то с(О/+1) > с ((?,), тогда по свойству транзитивности решетки c(Oi) < с(Ок), т.е. сквозной поток разрешен. Политика MLS в современных системах защиты , реализуется через мандатный контроль (или, также говорят, через мандатную политику). Мандатный контроль реализуется подсистемой защи- 84
ты на самом низком аппаратно-программном уровне, что позво- ляет эффективно строить защищенную среду для механизма ман- датного контроля. Устройство мандатного контроля, удовлетворя- ющее, ^некоторым дополнительным требованиям, называется мо- нитором обращений. Мандатный контроль еще называют обязатель- ным, так как его проходит каждое, обращение субъекта к объекту, если> субъект и объект находятся под защитой системы безопасно- сти. .... . Организуется мандатный контроль следующим образом. Каж- дый объект О имеет метку с информацией о классе ct(O). Каждый субъект также имеет метку, содержащую информацию о том, ка- кой класс доступа с (5) он имеет. Мандатный контроль сравнива- ет метки, и удовлетворяет запрос субъекта S к объекту О на чте- ние, если с(5) > с(О), и удовлетворяет запрос на запись, если с (5) < с (О). Тогда .согласно изложенному выше мандатный конт- роль реализует политику MLS. Политика MLS устойчива к атакам с помощью «Троянского коня». На чем строится защита от таких атак пояснйм на примере, являющемся продолжением примера 7.6. Пример 7.7. Пусть пользователи Ut и U2 находятся на разных уровнях, т.е. c(Ul)> с(U2). Тогда, если может поместить в объект 01 ценную информацию, то он может писать туда и c(U2) < c(U\)< < c(Oi), т.е. c(U2) < c(Ui). Тогда любой «Троянский конь» Т, содер- жащийся в объекте О2, который может считать информацию в Ot, должен отражать соотношение с(О2) > c(Oi). Тогда с(О2) > c(U2) и пользователь U2 не имеет права прочитать в О2, что делает съем в 01 и запись в О2 бессмысленным. Несколько слов о реализации политики безопасности MLS в рамках других структур, внесенных в информацию. Опять обра- тимся к примеру реляционной базы данных. Пусть структура РМ и структура решетки ценностей MLS согласованы. Пусть в систе- ме реализован мандатный контроль, который при обращении пользователя U к базе данных на чтение позволяет извлекать и формировать «обзор» только такой информации, класс которой c(U). Аналогично, мандатный контроль и правила декомпози- ции позволяют поддерживать в нужном направлении информаци- онные потоки в процессе функционирования базы данных. В ре- зультате получаем, что при наличии мандатного контроля пост- роенная в подразд. 6.5 реляционная многоуровневая база данных поддерживает политику MLS. Политика MLS создана в основном для сохранения секретно- сти информации. Вопросы целостности с помощью этой полити- ки не решаются или решаются как побочный результат защиты секретности. Вместе с тем пример 7.4 показывает, что они могут быть противоположны. 85
Пример 7.8 (политика целостности Biba).' Предположим, что опасности для нарушения секретности не существует, ai единствей- ная цель политики безопасности — защита от нарушений целост- ности-информации. Пусть по-прежнему в информацию внесена решетка ценностей SC. В этой связи любой информационный по- ток Х-^а У может воздействовать на целостность' объекта К и со- вершенно не воздействовать на целостность источника X. Бели в Y более ценная информация, чем в X, то такой поток при наруше- нии целостности Y нанесет более ощутимый ущерб, чем поток в обратном направлении от более ценного объекта' У к менее цен- ному X. Biba1 предложил в качестве политики' безопасности для за- щиты целостности следующее; ’ ’ - Определение 7.4. В политике Biba информационный поток X->а У разрешен тогда и только тогда,’ когда'с (У)‘ < с(ХУ: 4/ * Можно показать, что в широком классе систем эта политика эквивалентна следующей. 1 ' : ’ Определение' 7.5. Для Систем с доступами w и г политика Biba разрешает доступ в следующих случаях: S—!—^O <=> с(5) < с(О); s—^o^c(s^c(O). Очевидно, что для реализации этой)политики также подходит мандатный контроль. • . . . : >
Глава 8 ДОКАЗАТЕЛЬНЫЙ ПОДХОД К ПОСТРОЕНИЮ СИСТЕМ ЗАЩИТЫ. СИСТЕМЫ ГАРАНТИРОВАННОЙ ЗАЩИТЫ Пусть задана политика безопасности Р. Тогда система защиты — хорошая, если она надежно поддерживает Р, и система защиты — плохая, если она ненадежно поддерживает- Р. Однако надежность поддержки тоже надо точно определить.. Здесь снова обратимся к иерархической схеме. , Пусть политика? выражена на языке Ял, формулы которого выражаются через услуги иъ ..., . Пример 8.1. Все субъекты S системы разбиты на два множества Si и S2, Si и S2=S, Si n S2=0. Все объекты, к которым может быть осуществлён Доступ, разделёны на два класса:О{ иО2, О/и О2 = О, О[Г} O2 i= 0.; Политика безопасности* Р — тривиальнаягсубъект Y может иметь доступ а е R к объекту X тогда и только тогда, когда Ye X е О,, i = 1, 2.. Для каждого обращения субъекта У на доступ к объекту X система защиты вычисляет функции принад- лежности. •. с ,, ?• Л-(ЛИо’, .«Л . . для субъекта и объекта: Is(S2), I^O^. Затем'вычис- ляется логическое выражение: г .. о (£($) Л /оОЫ) v Ш л 70(02)).' Если полученное значение равно 1 (т.е.. истинно), то доступ разрешен. Если 0 (ложно), то —. не разрешен; Ясно, что язык Ях, на-котором;мы выразили политику безопасности Р, опирается на Услуги: . . - . ... • вычисление функций принадлежности-/Х(Л); • вычисление логического выражения; / • вычисление .оператора «если х= 1, то Y-+X, :если х = 0, то Y^X». ' 87
Для поддержки услуг языку Я\ требуется свой язык Я2, на ко- | тором мы определим основные выражения для предоставления 1 услуг языку верхнего уровня. Возможно, что функции*^ необхо- I димо реализовать, опираясь на язык Я2 более низкого уровня и т.д. Пусть услуги, описанные на языке Я2, мы умеем гарантиро- вать. Тогда надежность выполнения политики Р определяется пол- нотой ее описания в терминах услуг иъ ..., Uk. Если модель Р — формальная, т.е. язык Я формально определяет правила полити- ки Р, то можно доказать или опровергнуть утверждение, что мно- жество предоставленных услуг полностью и однозначно опреде- ляет политику Р. Гарантии выполнения этих услуг равносильны гарантиям соблюдения политики. Тогда более сложная задача сво- дится к более простым задачам и к доказательству того факта, что этих услуг достаточно для выполнения политики. Все это обеспе- чивает доказанность защиты с точки зрения математики или га- рантированность с точки зрения уверенности в поддержке поли- тики со стороны более простых функций. Одновременно изложенный подход представляет метод анали- за систем защиты, позволяющий выявлять слабости в проектиру- емых или уже существующих системах. При этом иерархия языков может быть неоднозначной, главное — удобство представления И анализа. 8.1\ Пример гарантированно защищенной системы обработки информации. Защищенные домены Построим пример гарантированно защищенной системы обра- ботки информации. Сначала определим модель Е системы,- кото- рая оперирует с ценной информацией. Считаем, что время диск- . ретно и принимает значения из множества N = {1, 2,...}, инфор- мация в системе Е, включая описание самой системы, предста- вима в форме слов некоторого гипотетического языка Я над некоторым конечным алфавитом А. . , I Напомним, что объект в Е — это конечное множество слов из . Я, состояние объекта — выделенное слово из множества, опреде- ляющего этот объект. . I Принято считать, что вся информация о Е в данный момент | может быть представлена в виде состояний конечного множества объектов. Поэтому будем считать, что состояние системы Е — это J набор состояний* ее объектов; Объекты» могут создаваться и унич- ( тожаться, поэтому можно говорить о множестве объектов систе- | мы Е в момент /, которое мы будем обозначать О„ считая его | конечным. . I Для каждого t е N выделим в О, подмножество St субъектов. | Любой субъект Y е St есть описание некоторого преобразований 1 88 I
информации в системе X. Для реализации этого преобразования в £ необходимо выделить определенные ресурсы (домен) и органи- зовать взаимодействие ресурсов, приводящее к преобразованию информации, которое назовем процессом. Тогда каждый субъект может находиться в двух состояниях: в форме описания, где субъект называется неакгивизированным, и в форме (домен, процесс), где субъект называется активизированным. Активизировать субъект может только другой активизирован- ный субъект. Для каждого t е N на множестве St можно опреде- лить орграф где Tj и Y2 из Л соединены дугой У -> У2 тогда и только тогда, когда в случае активизации возможна активиза- ция Y2. Если субъект Y такой, что для каждого Ft в вершину Y не входят дуги, то его будем называть пользователем. Для простоты положим, что в системе Е всего два пользователя ЭД и U2. Пользо- ватели считаются активизированными по определению и могут активизировать другие субъекты. Если в любой момент (в графе Г, в вершину Y не входят и не выходят дуги, то такие субъекты , ис- ключаем из рассмотрения. Обозначим У,—2—>У2, Уь У2 е S„ процедуру активизации процессом К субъекта Y2. Предположение 8.1. Если субъект У активизирован в момент t, то существует единственный активизированный субъект У в который активизировал У. В момент 7=0 активизированы только пользователи. . Лемма 8.1. Если в данный момент t активизирован субъект Y, то существует единственный пользователь ЭД от имени которого активизирован субъект У, т. е. существует цепочка U-S-^Yt —a-^Y2—a-+...^-?-+Yk —2-» У. ' Доказательство. Согласно предположению 8.1 существует един- ственный субъект Yk, активизирующий Y. Если Yk= или Yk= U2, то лемма доказана. Если Yk* Uh /.= 1, 2, tq существует единствен- ный субъект 1*-1, активизировавший, у. В силу конечности време- ни работы системы X и того факта, что в начальный-момент акти- визированы могут быть только пользователи, получаем в начале Цепочки одного из них. На этом, согласно определению пользова- телей, цепочка обрывается. Лемма доказана. Предположение 8.1 требует единственности идентификации субъектов. Далее будем предполагать, что каждый объект в систе- ме имеет уникальное имя. . Кроме активизации в системе X существуют и другие виды Доступа активизированных субъектов к объектам.. Будем обозна- чать множество всех видов доступов через R и считать 17?| < °°. Если р с /?, то будем обозначать множество доступов р активи- зированного субъекта У к объекту X через У—е—>Х. Если в 89
некоторый промежуток времени [/, /+ &] реализована последова- тельность доступов , У—2—-2—>У2—2—>...—2—>yt—£—>Х, то будем считать, что произошел доступ У—2—>*У от имени субъекта У к объекту X. Нас не интересует, какую задачу решает система Е, мы лишь моделируем функционирование системы по- следовательностью доступов. Предположение 8.2. Функционирование системы X описывает- ся последовательностью доступов множеств субъектов к множе- ствам объектов в каждый момент времени /е N. Обобщим введенный орграф Ft, добавив дуги Y-ьХ, обознача- ющие возможность любого доступа субъекта У к объекту X в мо- мент /, в случае активизации У Обозначим Д(У) = {О| У->*Хв момент't}, где У-> *Х означает возможность осуществления це- почки доступов У—> У1 -> Y2 —>... -> Yk -> X(возможность доступа к Xот имени У). Тогда для любого te N в системе определены Д( Ц) и Z>,(tZ2). Будем считать, что р = Dt(Ui)c\Dt(Up фиксировано для всех t, Ot=pt{ и{) uDt( U2),b начальный момент t= 0: OQ={Ub U2} <jD. Определение 8.1; Множество объектов P называется общими ре- сурсами системы. ' ./ - В частности, средствами из D пользователь может создавать и уничтожать объекты, не принадлежащие D. Создание и уничтоже- ние каких-либо объектов является доступом в R к некоторым объек- там из Р (и к уничтожаемым объектам). Мы считаем, что из объектов системы X построена некоторая подсистема, которая реализует доступы. Будем полагать, что лю- бое обращение за доступом к объекту X в. эту подсистему начина- ется с запроса, который обозначим У——>Х. При порождении объекта субъект У обращается к соответству- ющей процедуре, в результате которой создаётся объект с уни- кальным именем. Тогда в силу леммы. 8.1 существует единствен- ный пользователь, от имени которого активизирован субъект, со- здавший этот объект. Будем говорить, что соответствующий пользо- ватель породил данный объект. Обозначим через Ot(U) множество объектов из Ot, которые породил пользователь U. Естественно, будем считать, что Ue Ot(U). Лемма 8.2. Для каждого te N, для каждого Хе Ot, Xi D, суще- ствует единственный пользователь U, такой, что Хе Ot(U) Доказательство. Поскольку О0 = {^i> U2}uD, то объект Xi D, Хе О„ порожден в некоторый момент s, Q<s<t. Тогда в С^ суще- ствовал активизированный субъект У, создавший X. Тогда, как : отмечено ранее, существует единственный пользователь U, поро- J давший X. Лемма доказана. • I 90 1
Обратимся теперь к вопросам безопасности информации в, си- стеме. Если в R есть доступы read и write, то ограничимся опасно- стью утечки информации через каналы по памяти, которые могут возникнуть при доступах к объектам. Лаким каналом может быть следующая последовательность доступов при s< t: Ut —-—> X в момент s и Uj —-—> X в момент t, i J. При определенных условиях может оказаться опасным доступ от имени пользователя: Ui —-—> *Х в момент s и Uj —-—> *Х в момент t, s < t, i * j. С некоторой избыточностью мы исчерпаем возможные каналы по памяти, если; будем считать неблагоприятными какие-либо доступы рь р2 с R вида . . У, ч/ м >*Х, Uj р? >'Х, i*j, (8.1) которые мы и считаем каналами утечки. Предположение 8.3. Если Хе D, то доступы в (8.1) при любых р! и р2 не могут создать канал утечки. ... Это означает,, что мы предположили невозможным отразить какую-либо ценную информацию в объектах общего доступа; Это очень сильное предположение, и оно противоречит, по крайней мере, возможности присваивать уникальные имена объектам. В са- мом деле, если объектам присвоены уникальные имена, то в D необходимо иметь информацию о уже присвоенных именах, что противоречит предположению 8.3 о том, что доступы от имени пользователей не отражаются в.информации объектов,общего пользования. В последней ситуации можно выйти из положения, используя в качестве, имен случайные векторы, вероятности со- впадения которых, за обозримый период работы, системы можно сделать сколь .угодно малыми. , Все построения и выводы возможны при стохастическом способе присвоения имен, но должны,содер- жать элементы вероятностной конструкции. Чтобы не усложнять систему стохастическими элементами, будем следовать сделанным выше предположениям. Тогда в (8.1) достаточно ограничиться объектами X, не лежа- щими в D. Это значит, что в одном из доступов в (8.1) имеется Uj -у*Х, где Хе i* j. Таким образом, в системе считаются неблагоприятными доступы вида: ЗГ,ЭрСДр#0,ЗЦ,ЗХбОг; Ui—е__> *х, Хе Ot(Uj), i * j, т.е. доступы от имени какого-либо пользователя к объекту, со- зданному другим пользователем. Такие доступы будем далее назы- вать утечкой информации. 91
Предположение 8.4. Если некоторый субъект Y, Ye D, активи- зирован, от имени пользователя U, (т.е. Ut—2—>*У), в свою оче- редь, субъекту У предоставлены в момент t доступ к объекту X, то либо Хе D, либо Хе либо система прекращает работу и выключается. Определим следующую политику безопасности: Если Y——>Х, то при Y, Хе Ot(U) доступ Y—2—раз- решается, если Yе Ot(Uj), Xе Ot(Ut), i j, то доступ У—е—>Х невозможен. Теорема 8.1. Пусть в построенной системе X выполняются пред- положения 8.1—8.4. Если все доступы осуществляются в соответ- ствии с ПБ, то утечка информации (8.2) невозможна. Доказательство. Предположим противное, т.е: Э t, 3 р с R, р * 0, 3 Uh 3 Xе О„ Ut —Р-^*Х, Ое i * j. .; , С,. .» ’ Пусть Sj, ..., Sm — все активизированные субъекты, имеющие доступы р/2 р, I = 1, т, в момент t к объекту X. Тогда согласно лемме 8.2 множество этих субъектов разбивается на три непересе- кающиеся множества: , . J. J = {5z|5/£jD}; , : £ = №|SzeO,(tfz)}; \ ’ C = {Sl\SleQt(Ui/j, i*j\. . У ; Согласно лемме 8.1, для любого 5), 1= 1, ..., т, существует единственный Пользователь, от имени которого активизирован субъект S/. Если 5) е А, то согласно предположению 8.4 и усло- вию теоремы 8.1, что доступ 5Z —е—>Х разрешен, получаем, что St активизирован от имени Uj. Это противоречит предположению. Если 5ze В, то 5Z—-2—>Х невозможен согласно политике бе- зопасности. Значит, если Uj -——> *Х, то существует цепочка длй- ны (Jc+ 1) 1 Ui —2—>5(1) —>5(2) —2—».:.——е—>0 и субъект g С. Тогда существует цепочка длины к, такая, что Ut —±-+Х', Х'е O^iUj), i *J,acR. Повторяя эти рассуждения, через к шагов получим, что (7,—В—»У", X"eOt_k(Uj), i* j, р с Л Последний доступ невозможен, если выполняется ПБ. Поэто- му предположение неверно и теорема доказана. 92
Теперь построим удобное для реализации множество «услуг» более низкого уровня, поддерживающих ПБ, т.е.' мы хотим опре- делить множество условий, реализованных в системе X, таких, что можно доказать теорему о достаточности выполнения этих условий для выполнения правил ПБ. ' Условие 8.1 {идентификация й аутентификация). Если для лю- бых t е N, р с R, Y, Хе Ot, Y —&—>X, то вычислены функции принадлежности Хи Хк множествам Ot{Ui), Ot{U2), D. Условие 8.2 {разрешительная подсистема). Если Ye Ot{Ui), Хе О,Щ) и У——>Х в момент t, то из i=j следует У—ё— р - и из i у следует У X (йе'разрешается доступ). Условие 8.3 {отсутствие обходных путей политики безопасно- сти). Для любых t е N, р с R,; если субъект У, активизированный к моменту t, получил в момент / доступ У —е—>Х, то в момент t произошел запрос на доступ У——>х. Теорема 8.2. Если в построенной системе X выполняются пред- положения 8.1—8.4 и условия 8.1—8.3, то выполняется политика безопасности.' Доказательство. Теорема доказывается, следуя из двух утверж- дений: s • * а) если для произвольного р с R Y—^—УХ, YeOt{Uj), Хе Ot{Ut), то доступ У разрешен; б) если YeOt{Uj),Xe Ot{Uy i*j, то какой-либо-доступ в мо- мент/ субъекта У к объекту X невозможен. Докажем утверждение’а): Если Y-^-—>Х, то по условию 8.1 вычислены фуйкции прййадлежности и определено, что Ye е Ot{Ui), Хе Ot{U]). Если i^j, то выполнена посылка условия 8.2. Тогда согласно условию 8.2 доступ У—^-^Х разрешен. Докажем утверждение б). Если'У—ё2—>Х, вычислены функ- ции принадлежности и определено, что Уе Ot{Uj), Хе Ot{Uj), i*j. Тогда по условию 8.2 доступ У р >Х не разрешен. >' Если доступ У—ё—стал возможен, минуя запрос У—р? УХ, и У активизирован к моменту t, то сделанное пред- положение противоречит условию 8.3. Если Уне активизирован, то наличие доступа у —£—> X противоречит определению досту- па. Теорема доказана. Теорема означает, что, гарантировав выполнение условий 8.1— 8.3, мы гарантируем выполнение политики безопасности. Рассмотрим вопрос о создании системы, в которой можно с достаточной степенью уверенности поддерживать функции услот вий 8.1—8.3. Для этого рассмотрим следующую' архитектуру. 1. В каждый момент только один пользователь может работать с системой. Физическое присутствйе другого исключено. 2. При смене пользователей системы друг другом уходящий: 93
• записывает во внешнюю память все . объекты, которые он хо- чет сохранить для дальнейших сеансов; • выключает питание системы, после чего все содержимое опе- ративной памяти стирается, остаются записи на внешней памяти и ПЗУ, где хранятся объекты общего доступа. , 3. Новый пользователь организует свою работу с включения системы и вызывает свои объекты из внешней памяти, опираясь на объекты общего пользования. . , , 4. На шлюзе внешней памяти стоит .шифратор К, который за- шифровывает на текущем ключе.к всю информацию, записыва- емую на внешнюю память, включая названия файлов. Наоборот, вся информация, поступающая из внешней памяти, расшифро- вывается на текущем киюче к. Внешняя память не имеет опции «просмотр директории», а любой запрос на выдачу, файла функ- ционирует так, что название запрашиваемого файла шифруется на текущем ключе к. При смене пользователей текущий ключ к автоматически стирается (вместе с содержимым оперативной па- мяти), а новый пользователь в качестве текущего устанавливает свой юпоч., , . . , Покажем, что функционирование системы данной архитекту- ры позволяет реализовать все описанные выше свойства и, в част- ности, выполнить условия теорем 8.1 и 8.2. Предположение 8.1 и другие допущения в описании системы вполне приемлемы для рассматриваемой архитектуры^ Так как неблагоприятные состояния системы и политики безопасности выражены в терминах доступов, то для приемлемости предполо- жения. 8.2 достаточно, чтобы возможные вычислительные про- цессы однозначно отражались в терминах последовательностей до- ступов и значений функций принадлежности объектов к .множе- ствам Ot(U2), D. Если объект только создан и находится в оперативной памяти, то доступ к нему со стороны процессов от имени создавшего пользователя, автоматически разрешен и, мож- но считать, что функция принадлежности вычислена. Если объект вызван из внешней памяти, то сам вызов и доступ к информации в объекте возможны, если установлен правильный ключ, что эк- вивалентно вычислению, функции принадлежности к Ot{ U). Пред- положения 8.3 и 8.4 выполняются, так как вновь подключенный пользователь работает один и вызывает из ПЗУ функции и объек- ты D.. В системе нет субъекта, реализующего разрешительную си- стему, она. естественно реализована за счет того, что расшифро- ванная информация читается тогда и только тогда, когда в шиф- раторе К установлен нужный ключ. Если пользователь или про- цесс от его имени обращается за доступом к объекту на внешней памяти, то любой, доступ разрешен, если ключ зашифрования объекта (ключ создателя объекта) совпадает с ключом текущего пользователя. Наоборот, при несовпадении ключей допуск авто- 94
магически не разрешается, так как имя объекта и его содержание не расшифровываются правильно. Таким образом, автоматически вычисляются функции принад- лежности процесса и объекта при обращении через внешнюю па- мять, что. обеспечивает выполнение условия 8.1: Также автомати- чески выполняется условие 8.2 о работе разрешительной системы. Условия 8.1 и 8.2 не касаются обращение процессов, из D и к D. Поэтому вопросы идентификации здесь решаются за счет разде- ления сеансов пользователей и указанные условия выполняются. Доступ к объекту возможен лишь при обращении к внешней памяти через шифратор или в случае, когда объект создан в тече- ние текущего сеанса или вызван из ПЗУ. Если считать, что доступ к объектам в оперативной памяти автоматически опирается-на данное пользователю разрешение на доступ к ним, а активизиро- ванными могут быть субъекты от его же имени, то можно счи- тать, что любой доступ в этом случае выполняется в соответствии с условиями 8.1 и 8:2. Что касается условия 8.3, то невозможность получить доступ, минуя разрешительную систему, определяется разнесенностью работы пользователей, отсутствием подслушивания; необходимо- стью расшифровывать информацию для получения доступа к ней. Это не касается объектов из D или только созданных, где нет проблем из-за разнесенности сеансов. Также'мы считаем, что от- сутствуют физическое проникновение и модификация системы. ’ В результате данная архитектура защищенных доменов реали- зует'условия теорем 8.1 и 8.2 и поддерживает политику безопас- ности. Суммируем то, что обеспечивает гарантии в построенной си- стеме (т.е. поддерживает условия теорем 8.1 и 8.2): • обеспечение работы только одного пользователя (охрана); • отключение питания при смене пользователей; • стойкость шифратора Ктл сохранность в тайне ключей каждо- го пользователя; • недопустимость физического проникновения в: аппаратную часть или подслушивание (охрана). Известно, как обеспечивать эти требования, а гарантии их Ьбес- печения являются гарантией защищенности системы в смысле выбранной политики безопасности. Отметим некоторые стороны построенной модели, которые встречаются в «Оранжевой книге»: 1) гарантии -построены при четкой политике безопасности; 2)-для поддержки политики потребовалась идентификация объектов (+ вычисление добавочной идентификационной ^функ- ции); ' - ' . - : 3) для поддержки политики потребовалась аутентификация субъекта, обращающегося за допуском; • 95
4) значительная часть условий определяет функциональную защищенность самой системы защиты. 8.2. Метод контроля каналов для реализации многоуровневой политики безопасности в автоматизированной системе, построенной на ненадежной с точки зрения безопасности платформе Как было отмечено в начале второго раздела, надежность сис- тем управления доступом является основной проблемой при реа- лизации защиты с помощью контроля доступов. Из-за ценности информационных ресурсов это в первую очередь относится к мно- гоуровневой политике. Рассмотрим метод реализации многоуров- невой политики безопасности в условиях ограниченной инфор- мации о процессорах и программном обеспечении, которая в то же время обеспечивает, основные принципы многоуровневой по- литики, позволяющей, нейтрализовать действия «Троянских ко- ней». Метод допускает неполную, информацию о, процессорах и программном обеспечении, а также наличие и функционирова- ние в процессорах и программном обеспечении «Троянских ко- ней». Следуя определению многоуровневой политики, предполо- жим, что все объекты системы могут быть классифицированы по узлам решетки и разрешены только потоки вверх по решетке.- Определим понятие одноуровневой подсистемы информаци- онной системы. В одноуровневой системе вся информация (вклю- чая программное обеспечение и аппаратную платформу) класси- фицирована одним узлом решетки и все пользователи данной подсистемы имеют допуск к информации данного класса. Таким образом, любые информационные потоки в одноуровневой под- системе являются разрешенными с точки зрения многоуровневой политики (при этом допускаются ограничения,, связанные с дис- креционным управлением доступом, который, как указано выше, принципиально не может быть надежным. Поэтому дискрецион- ные ограничения управления доступом мы далее не рассматрива- ем). Из разрешенности информационных потоков в одноуровне- вой подсистеме следует: ... • «Троянские кони», если они имеются в подсистеме,- могут иметь доступ к любой информации и перезаписывать, ее в любой объект, однако нарушения конфиденциальности при этом не про- исходит; • . . • в одноуровневой подсистеме нецелесообразно делать какие бы то ни было механизмы контроля управления информацион- ными потоками. , с 96
. Определим понятие однонаправленного канала следующим образом. Пусть отправитель и получатель обладают следующими свойствами. Отправитель может послать любое сообщение получа- телю, однако получатель не может передавать отправителю ка- кую-либо информацию кроме известной отправителю или счита- ющейся разрешенной для данных двух абонентов. Мы предполага- ем, что от получателя к отправителю нет никаких каналов (даже скрытых), позволяющих нарушать указанные правила. Тогда, если одноуровневые системы находятся в узлах решетки и соединены однонаправленными каналами в направлении раз- решенных потоков, то сделанные допущения эквивалентны оп- ределению многоуровневой политики и здесь мы получаем дока- занное утверждение о безопасности реализации многоуровневой политики. Аналогичный вывод можно сделать относительно политики Biba защиты целостности. В, концепции контроля каналов предположим, что система пред- ставима в виде одноуровневых подсистем, соединенных между собой каналами связи. Основная аксиома концепции контроля каналов состоит в том, что если мы контролируем и управляем всеми каналами между одноуровневыми объектами (включая скры- тые каналы), то система может быть сделана безопасной. Концеп- ция контроля каналов обобщает.концепцию защищенных доме- нов (см. подразд. 8.1). Одноуровневую систему не следует рассматривать только, как выделенный компьютер. На самом деле мы получаем гибкий ин- струмент реализации гарантированной защиты, так как одно- уровневой системой можно считать любую подсистему инфор- мационной системы, в которой нельзя .детально провести ана- лиз информационных потоков, но для которой можно провести полный анализ связанных с ней каналов. Таким образом, одно- уровневой системой может быть как отдельная часть программ- ного обеспечения (в случае, если имеем исходные коды и дру- гую документацию и способны провести анализ), так и изоли- рованная информационная система в целом,, которая обрабаты- вает очень секретную информацию и отрезана от окружающей среды надежной защитой (включая отсутствие всех каналов утеч- ки). Однако многоуровневая политика и политика Biba не исчер- пывают множества политик безопасности, которые можно: реа- лизовать на основе концепции ^контроля каналов. Например, на основе концепции контроля каналов можно реализовывать гиб- ридные политики [9]. . Определим безопасный интерфейс двух одноуровневых сцстем как возможность обмена информацией между ними таким обра- зом, чтобы не нарушались требования по безопасности в каждой из подсистем и в системе в целом. Контроль каналов предполагает 4 Грушо 97
реализацию в каналах связи между одноуровневыми системами безопасных интерфейсов. Идея внесения ограничений на переда- чу информации в каналы для поддержки модели невлияния впер- вые была рассмотрена в работе [31]. Однако в данном подразделе рассмотрено более широкое понятие безопасного интерфейса, позволяющее соединять одноуровневые системы, удовлетворя- ющие более широкому классу ограничений, например ограни- чения реального времени, надежности обработки данных, дис- циплины информационных технологий, устойчивости к сбоям и т.д. Теперь можем определить класс безопасных систем, который охватывает концепция контроля каналов. Система называется бе- зопасной, если ее можно разделить на одноуровневые подсисте- мы, соединенные между собой каналами связи, которые обеспе- чивают безопасный интерфейс между ними, и если другие кана- лы в системе отсутствуют. Защищенный интерфейс с глобальной сетью из ненадежных в смысле безопасности элементов. Пусть даны два сегмента локаль- ной сети и возможность их соединения по глобальной сети. Пользо- ватели и информация внутри локальных сегментов одноуровне- вые. Информация — ценная. Глобальная сеть имеет меньший уро- вень доверия. Противная сторона не имеет физического доступа к локальным сегментам и стремится получить ценную информацию, находясь в глобальной сети. Оборудование и программное обеспе- чение созданы под контролем противной стороны, которая имеет всю информацию о недокументированных возможностях программ- ного обеспечения и оборудования (НДВ) [20]. Предполагаем, что в каждой программно-аппаратной среде действует робот-агент, который реализован некоторой программой и невидим для средств защиты компьютеров и локальной сети. В условиях наличия связи с противной стороной в глобальной сети робот-агент получает инструкции и дополнительные программы для обработки данных, а также передает ценную информацию агенту противной стороны в глобальной сети. Можно предположить, что интеллектуальные способности про- тивной стороны в глобальной сети достаточно большие, чтобы вскрывать простые шифры, разбираться в данных и программном обеспечении,- подделывать коды аутентификации. Вместе с тем возможности робота-агента ограничены в условиях отсутствия связи с противной стороной в глобальной сети и равны ему в условиях наличия такой связи. Без наличия связи с противной стороной в глобальной сети робот-агент не ориентирован на конкретные при- ложения, особенно если они не являются стандартными прило- жениями программного обеспечения. Поэтому мы вправе предпо- ложить, что робот-агент без связи с противной стороной не смо- жет разобраться в структуре нестандартных данных и восстано- 98
вить простейшие параметры преобразований, не заданных в яв-; ной форме. Связь робота-агента с противной стороной в глобальной сети может осуществляться с использованием НДВ (например, про- цессора) невидимо для средств защиты и с помощью одного из следующих, видов каналов: штатный канал для передачи пакетов от сегмента к сегменту через глобальную сеть; полуштатный канал — использование штатного канала путем кодирования передаваемой информации в значениях параметров передаваемой информации и параметров связи; скрытый канал — нештатный метод использования оборудова- ния и ПО для передачи сообщений во вне сегмента локальной сети.. . ; Задача состоит в том, чтобы создать связь межд^ сегментами локальной сети через глобальную сеть, не допуская утечки цен- ной информации для противной стороны в глобальной сети, ис- пользующей указанные выше каналы передачи,, Архитектура решения. 1. Допускаем, что защита информации может опираться на доверенную программно-аппаратную среду низкой производительности, способную реализовать вычисление несложных функций. 2. Связь локальных сегментов через глобальную сеть осуществ- ляется следующим образом. На стыке каждого сегмента локальной и глобальной сетей, устанавливается „сервер безопасности. (СеБ). Противник в глобальной, сети (ПГС)обладает возможностями: • перехвата всего трафика между, сегментами локальной сети; • передачи на сервер безопасности информации для управле- ния роботами-агентами в локальной,вычислительной сети (ЛВС) и сервере безопасности. В каждом сегменте локальной сети, действует робот-агент, стре- мящийся передать информацию из сегмента к противнику в гло- бальной сети и отслеживающий поступающую информацию на предмет выявления инструкций от противника в глобальной сети. Как робот-агент, так и противник в глобальной сети, опробуют различные возможности для организации каналов взаимодействия. В сервере безопасности также предполагается наличие робота- агента, который в отсутствии защиты организует, взаимосвязь ро- бота-агента локальной вычислительной сети с противником в гло- бальной сети. 3. Основная идея решения состоит в том, чтобы не дать воз- можности роботу-агенту в локальной вычислительной сети или противнику в глобальной вычислительной сети управлять робо- том-агентом сервера безопасности. В связи с тем, что робот-агент сервера безопасности не обладает интеллектуальными способно- стями анализировать семантику сообщений, изоляция робота-аген- 99
та сервера безопасности может быть осуществлена путем кодиро- вания сообщений в тракте обработки сервера безопасности по пре- образованию, неизвестному противной стороне. Сервер безопасности. Для реализации идеи рассмотрим следу- ющее архитектурное решение (рис. 8.1). В данной схеме использованы следующие обозначения: ЛВС — закрытый сегмент сети, организующий связь с анало- гичным сегментом через глобальную сеть (ГС). Информация для передачи через глобальную сеть представляется в виде пакета. Каж- дый пакет, отправляемый в другой сегмент локальной сети через глобальную сеть, поступает в РС1. Наоборот, каждый поступа- ющий от другого локального сегмента сети через глобальную сеть пакет попадает в локальную вычислительную сеть из РС1. РС1 связан с буфером Б1. В РС1 отправляемый в глобальную сеть пакет препарируется следующим образом: • все служебные поля выделяются флагами заданного вида; • вся информация в полях представляется в виде последова- тельности байт, не равных нулю; ?- • последовательность, передаваемая на буфер Б1,'является по- следовательностью байт. . Б1 — буфер, осуществляющий с каждым байтом следующие действия: • преобразование байта в байт с помощью линейного преобра- зования А1; • вычисление от преобразованного байта по линейному преоб- разованию А2 байта, являющегося кодом аутентификации (МАС); • пересылка последовательности пар байт (преобразованный байт + МАС) на сервер безопасности. СеБ выполняет следующие функции: • анализ последовательностей, помещенных между флагами полей пакета, на предмет их корректности; • анализ на предмет разрешения на пропуск пакета (фильтра;' ция); • маршрутизация, куда входит формирование нового адреса отправителя и получателя; • шифрование с помощью гаммы одноразового использования каждого байта поступившего пакета, а также сложение МАС дан- ного байта с МАС гаммы1 для данного байта; • формирование нового пакета в виде последовательности байт, поля разделяются флагами; • передача последовательности байт в буфер Б2. Рис. 8.1 100
Б2 проверяет коды аутентификации с помощью линейного пре- образования А2. Если МАС не совпадают или отсутствуют, то ин- формация уничтожается. После проверки коды 'аутентифика- ции уничтожаются, а байты сообщения преобразуются по линей- ному преобразованию А1-1. Из буфера Б2 последовательность байт полей нового пакета передается на РС2. РС2 преобразует информацию между флагами в поля стандарт- ного пакета и передает в глобальную сеть. На приемном конце РС2 преобразует пакет в последовательность байт, в которых поля выделены специальными флагами, и передает на буфер Б2. Буфер Б2 осуществляет аналогичные с буфером Б1 преобразования с поступающей от РС2 информацией. Далее в сервере безопасности снимается гамма и вычитается код аутентификации гаммы из кода аутентификации поступившего байта. В преобразованном после снятия гаммы выделенный пакет отправляется на буфер Б1. В бу- фере Б1 проверяются коды аутентификации, отбрасываются фла- ги и исходный пакет передается на РС1. От РС1 пакет передается получателю в локальной вычислительной сети. Математика преобразований. Каждый байт преобразуется по линейному преобразованию А1 при входе в сервер безопасности, и от получившегося байта с помощью линейного преобразования А2 вычисляется код аутентификации. Пусть s — очередной байт,' тогда Al(s) = s’, = s". Пусть гамма шифрования записана в. виде ,(А1(г); А2(А1(г))). Тогда при наложении гаммы имеем следующие соотношения: s’ 4- Al (у) = Al(s + у); А2(А1($)) + А2(А1(у)) = A2(Al(s + у)). Если мы пользуемся сложением по модулю 2, то все действия по расшифрованию и проверке кодов аутентификации идентичны действиям по зашифрованию и установке кодов аутентификации. Байты адресов, получаемые по таблицам маршрутизации, так- же записаны в преобразованном виде с добавлением кодов аутен- тификации. Байты нового адреса не шифруются. Точно так же не шифруются параметры полей в новом пакете. Однако все эти па- раметры используются в преобразованном виде с кодами аутен- тификации. Обоснование защиты. Робот-агент сервера безопасности апри- ори не ориентирован на реализованные приложения и не облада- ет интеллектом для восстановления матриц преобразований А1 и А2. В этом случае команды извне, посланные для управления ро- ботом-агентом сервера безопасности по штатным и полуштатным каналам, не могут восприниматься закладками процессора и про- граммного обеспечения. Скрытые каналы отсекаются автоном- ным управлением в буферах Б1 и Б2. Таким образом, несмотря 101
на наличие робота-агента сервер безопасности выполняет свои функции или не работает вовсе. Робот-агент локальной сети бла- годаря шифрованию гаммой не может связаться с противником в глобальной сети. Примененный способ шифрования в случае исг пользования гаммы без перекрытия является стойким.... Атаки на систему защиты. 1. Так как мы предполагаем, что робот-агент сервера безопасности не может составить линейные системы уравнений относительно неизвестных элементов матриц А1 и А2, ему необходима связь с интеллектуальными, возмржно- стями противника в глобальной сети. С этой целью закладка мо- жет предпринять, посылку по имеющимся у нее каналам всей до- ступной, информации. Однако в случае отсутствия кодов аутенти- фикации буфер Б2 отбрасывает эту информацию и в глобальную сеть не передает. Если какая-то информация передается вместе с кодом аутентифцкации,.то на выходе с. нее снимается преобразо-, ванне А1 и отбрасывается код аутентификации. Таким образом, вовне данные о преобразованиях А1 и А2 не поступают. , 2. Если противник вглобальной.сети, зная характер имеющей- ся информации, но не зная элементов матрицы А1, попытается послать команду роботу-агенту сервера безопасности, то он мо- жет, опробовать преобразование А1 и посылать байт к в виде А1-1(&). Однако число вариантов для опробования А1 составляет 2е4. 8.3. Гарантированно защищенные, базы данных, построенные на недоверённых с точки зрения безопасности элементах Построение надежной защиты информационных систем на недоверенной компьютерной базе является актуальной открытой задачей. В подразд. 8.2 построен гарантированно защищенный ин- терфейс между защищенным сегментом сети и глобальной сетью при связи двух одноуровневых (в. смысле политики МЬЗ) сегмен- тов. При этом использовалась минимальная доверенная вычисли- тельная база для нейтрализации программно-аппаратных агентов нарушителя безопасности в защищенных сегментах, оборудова- нии и программном, обеспечении интерфейса и в глобальной сети. В данном подразделе рассматривается задача построения моде- ли гарантированно защищенной базы данных. В наших условиях считаем, что не все пользователи являются доверенными лицами и поступающая к ним информация на запросы других пользовате- лей может считаться утечкой информации, а производимые ими самими действия являются легальными и невраждебными (из-за опасности быть обнаруженными при анализе аудита использова- ния базы данных). Однако возможности враждебных пользовате- лей становятся большими при использовании вредоносных про- 102
граммно-аппаратных агентов в компьютерной среде, базах дан- ных и коммуникационном оборудовании. Политика разграниче- ния доступа к базе данных представима в виде ролевой политики безопасности, при которой роль связана с рабочей станцией кли- ента (хотя возможны другие правила политики безопасности, вклю- чая реализацию многоуровневой политики безопасности). Механизмы разграничения доступа реализованы криптографи- ческими методами. В частности, пользователь может получить только ту информацию, для которой имеет ключ к расшифрованию ответа на свой запрос. Связь пользователя с базой данных может прохо- дить через незащищенную территорию, например через Интернет. Таким образом, противник может находиться на одной из рабочих станций, но интересоваться не только данными, относящимися к своей роли. Противник может также находиться в сети и при сгово- ре с легальным пользователем — нарушителем безопасности — подслушивать запросы и взаимодействовать с программно-аппа- ратными агентами в доступной для скрытых каналов- среде базы данных. Так как пользователей базы данных может быть много, то описанная в подразд- 8.2 гарантированная защита связи в случае с единой базой и многих пользователей не защищает от скрытых ка- налов, например от каналов с модуляцией потоков адресов. В рассматриваемой задаче'предполагается, что в программно- аппаратных платформах и СУБД существуют программно-аппарат- ные агенты противника, «невидимый» Для штатных средств защи- ты. Для выполнения задания нарушителя безопасности програм- мно-аппаратные агенты нарушителя безопасности должны полу- чать инструкции извне системы, координировать свои действия и передавать ценную или конфиденциальную информацию наруши- телю вне системы. Поскольку связь между станциями и серверами системы может эффективно контролироваться, то взаимодействие агентов между собой, а также взаимодействие с внешней средой может происходить только с помощью скрытых каналов. Используя программно-аппаратных агентов й скрытые каналы для связи с противником в глобальной сети, опираясь при этом на возможности легального пользователя — нарушителя безопас- ности, противник старается решать свои задачи. При работе с ба- зами данных противник может ставить следующие задачи: • нахождение нужной ценной информации; • передача ценной информации противнику в глобальной сети; • имитация себя как легального пользователя (отличного от нарушителя); “ • модификация данных; • уничтожение информационного ресурса. Мы также считаем, что в наших силах построить доверенную программно-аппаратную среду с очень ограниченным функциона- лом, в которой выполнение этого функционала будет доверенным. 103
8.3.1., Математическая модель защиты баз данных База данных состоит из таблиц, называемых отношениями [3]. Строки таблиц содержат значения базы данных. Столбцы называ- ются атрибутами, или полями, а уникальный идентификатор строк таблицы — первичным ключом. Для любого данного атрибута опре- деляется область его значений. Домен — множество допустимых значений атрибутов. Контроль целостности в таблице позволяет, например, прово- дить проверку однозначной идентифицируемости строк по ключу и принадлежности домену. В данном подразделе мы рассматриваем упрощенную модель базы данных, состоящую из одной или двух таблиц и операций select, update, insert, delete, причем последние две операции лег- ко доопределяются, если известны первые две. Приведем формальное определение операции select. Select (R, F) — строит новое отношение (таблицу), состоящее из всех векторов (строк) R, удовлетворяющих F, где F — формула вида «Л,- 0 V» или «А,- 0 Ау>, где 0 — отношение сравнения (=, < и т.д.) и V— значение из области Д атрибута Д. (Этот оператор также называют «0-выбор» или выборка отношения.) Распределение информации в любом осмысленном сообщении (в любом языке) подчиняется лингвистическому закону, соглас- но которому любое осмысленное сообщение структурно разбива- ется на две непересекающиеся части: тема и рема. Тема определя- ет контекст информационного сообщения и отвечает на вопрос, о каком типе ремы идет речь. Рема содержит значения отличи- тельной информационной составляющей в данном контексте и отвечает на вопрос, что нового получит получатель сообщения в данной теме (в данном контексте). Известно, что без специальных методов сжатия тема в естественном языке занимает 80 % места, а ее информационная нагрузка составляет 20 %. Соответственно рема занимает около 20 % места, но ее информационная составляющая в сообщении составляет 80 %. При этом тема без ремы не несет никакой информации (кроме случаев вопросов). Точно так же рема без темы (без заданного контекста) не дает никакой информации. Поэтому в отдельности значения темы и ремы почти не несут самостоятельной информации. Данное утверждение можно проиллюстрировать следующим образом. Пусть выписан словарь слов из некоторого литературного произведения. По содержанию этого словаря можно иногда оце- нить приблизительно тему произведения, но нельзя ничего ска- зать о содержании произведения (т.е. фактах, идеях и мыслях, которые в нем заложены). В базах данных содержательными информационными элемен- тами являются строки и множества строк. Можно считать, что 104
строка есть содержание сообщения, которое передается пользова- телю по запросу select. Можно сказать, что строка определена на- бором названий атрибутов и это тема для каждой строки, а набор значений атрибутов — это рема строки. Поэтому в строке присут- ствуют тема и рема, несущие информацию, полезную для пользо- вателя. Эта информация представлена в виде значений'атрибутов и строчной связи (названия атрибутов в строке), которая состоит в том, что данные элементы составляют’строку базы данных. На основании лингвистического закона, приведенного ранее, мы мо- жем сформулировать следующую аксиому, которая лежит в осно- ве построения защиты базы данных. Аксиома 8.1. В каждом сообщении (строке базы данных) суще- ствуют тема и рема и они не пересекаются в том смысле, что одной теме могут соответствовать много рем, а одна рема имеет смысл только в сочетании с некоторой темой (при этом сама рема тему не задает). При этом строчная связь (перечень названий атрибутов в стро- ке) представляет собой тему сообщения, а ремой сообщения чаще всего являются конкретные значения атрибутов в данной строке. Аксиома 8.1 утверждает, что связей между значениями, в строках БД вне темы не существует. . Следуя этой лингвистической логике, можно сказать, что зна- чения БД, т.е. значения ремы, взятые отдельно без контекста, не дают информации пользователю базы данных точно так же, как строка без заполнения элементами ремы не несет никакой ин- формации. Рассмотрим базу данных, состоящую из одного отношения (таб- лицы) Л(Л,...,Л) = 4..4 (8.3) В этом отношении Ai считаем ключевым атрибутом. Исходя из этого отношения построим семейство отношений (таблиц) Д 4 Jt(BiAi) = Ьц вц (8.4) Вг Аг R{BrAr) = bir air 105
В этих таблицах by — независимые случайные или псевдослу- чайные .последовательности достаточной длины, чтобы говорить об уникальности их значений. В каждой таблице, атрибут В является ключом. Отношения ,7? (ДД), i= 1, ...» г, йогут быть расширены «шумом», т.е. могут быть добавлены любые, не встречающиеся в исходном отношении 7?(ЯЬ ..., Яг), значения атрибутов А в соче- тании с уникальными значениями, атрибута В. С помощью «шума» можно добиться любой точности прибли- жения к аксиоме в том смысле, что «шум» снижает информаци- онную связь между значениями различных атрибутов вне строк БД. Рассмотрим таблицу ®1........Д- bft..J)y...bjr R(JBu...,Br) = (8:5) В дальнейшем нам потребуются следующие леммы. Лемма 8.-3;--Не существует алгоритма, восстанавливающего' от- ношение R(A{,, ..., А?) по (8.4). Доказательство. Для доказательства достаточно' показать, что не может быть восстановлена строка отношения R(Ai, ..., Лг) ис- ходя из знания R^Bj A^, i = 1, ..., г. Из противного следует, что существует строка (ацГ..ау.;.а^, которая может быть восстаЙовлё- на из (8.4). При этом значения атрибутов by являются независимы- ми случайными числами и не могут нести информации о данной' строке. Тогда строка (вп---^---О/г) восстанавливается за счет связей значений отдельных значений дя, ..., ау, ..., air> т.е. только ремы. Значит, это и тема, и рема одновременно, что противоречит ак- сиоме. Лемма доказана. Лемма 8.4. 1. Существует алгоритм, восстанавливающий отно- шение R(Ab ..., Аг) по (8.4) и (8.5) (даже при наличии «шума»), 2. Алгоритм, восстанавливающий R(Аь ..., Аг) по расширен- ным с помощью «шума» (8.4) и (8.5), инвариантен относительно любых изменений значений атрибутов А1} ..., Аг. Доказательство. Для доказательства утверждения 1 построим алгоритм решения этой задачи. Рассмотрим произвольную строку (8.5) {Ьц...Ьу...Ь^). Выберем в таблице значение первого атрибута z-й строки аЛ. В таблице R(BjAj) выберем by и по нему соответствующее значение ау. Данная строка и все остальные вос- станавливаются однозначно. Строки с «шумом» просто не учиты- ваются в этом процессе, так как они отсутствуют в (8.5). Утверждение 2 следует из описания приведенного алгоритма. Лемма доказана. 106
Из определения операции select в базах данных следует, что операцию select можно реализовать в два этапа с использованием (8.4) и (8.5). Этап 1. Выбираем в (8.4) значения атрибутов, удовлетворя- ющих формуле At& V или формуле AjOAj. Для выделенных зна- чений определяется множество значений атрибутов Bt и пар (Д, Этап 2. По выбранным значениям атрибутов Bt и пар (Д, Бу) восстанавливаются строки в отношении (8.5). По этим стро- кам; согласно лемме 8.4, однозначно восстанавливаются стро- ки отношения R(A{, ..., Аг), удовлетворяющие данному запросу select. Эти рассуждения можно'суммировать в виде леммы 8.5. Лемма 8.5. Существует’алгоритм выполнения операции select по (8.4) и (8.5) без восстановления отношения R(Aj, ...-, Аг). Рассмотрим оператор update.'Его‘-можно реализовать следу- ющим1 образом. Пусть необходимо заменить существующее зна- чение в поле атрибута-Aj в строке с ключевым значением атрибута ал на значение а. Выполнение этой операции в исходной таблице R(Ai, ..., Аг) следующее. Выбирается строка в R(Alf ..., Аг) со значением ключевого атрибута ал. В этой строке однозначно опре- деляется значение j-го атрибута; После этого значениеу-го атрибу- та заменяется на о. - ! ' Лемма 8.6. Существует алгоритм выполнения операции update по (8.4) и (8.5) без восстановления отношения-R(Alf Аг). Доказательство. Пусть необходимо заменить существующее зна- чение в поле атрибута Aj в строке с ключевым значением атрибута д(1 на значение а. С помощью (8.4) по значению ключевого атри- бута ап восстанавливается значение ключевого атрибута дд. Тогда в (8.5) находится строка с ключевым значением ЬЛ, в которой берется значение Zty. Затем в (8.4) в таблице’ >R(BjAj) Находится значение, ключевого атрибута by, и в этой строке;значение атри- бута ап заменяется на значение а. Лемма доказана. В основе построения защищенной базы-данных лежит возмож- ностьраздельного выполнения операций select, update с использо- ванием (8.4) иг(8.5), расположенных на различных узлах распреде- ленной вычислительной системы. Причем-согласно лемме 8.3 зна- ние одной йз баз (8.4) или1 (8.5) недостаточно для-восстановле- ния какой-либо строки 7?(ЯЬЯг). Но согласно леммам 8.4—8.6 совместное использование этих баз данных однозначно определя- ет R(Ai, ..., Аг). - . 1 Теорема -8.3. Для-исходной базы данных R(Alt ..., Аг) могут быть-построены распределенные базы данных (8.4) и (8.5), кото- рые позволяют выполнять операции select и update без восстанов- 107
ления базы данных R(A}, Аг), причем каждая .из баз (8.4) или (8.5) в отдельности не несет никакой информации о базе данных R(Ab ..., Аг). Доказательство. Из лемм 8.5 и 8.6 следует, что select и update могут быть выполнены без восстановления базы данных R(AU Аг). Из леммы 8.3 следует, что в (8.4). или (8.5) по отдельности нет достаточной информации для восстановления R(AlfАг). Лемма 8.4 утверждает, что «шум» -не мешает этим операциям. Теорема доказана. > Из вышесказанного следует, что в реляционной базе данных информация сконцентрирована в значениях базы данных и связях между этими значениями (строчные связи, межтабличные связи). В наших условиях будем считать, что, основная информация со- держится в строчных и межтабличных связях и в меньшей степени в самих значениях атрибутов, т. е. значения любого атрибута (рема) без привязки к другим значениям атрибутов в данной строке не являются конфиденциальной информацией. За счет «шума» в (8.4) можно немного отступить от этого постулата. Необходимо полно- стью исключить ситуацию, когда существует хотя бы одно значе- ние какого-либо атрибута, несущее самостоятельно ценную ин- формацию. В защищенном исполнении база данных должна разрешать опе- рации select, update, insert, delete. Выполнение аксиомы на практике означает, что трудоемкость восстановления информативных связей между значениями атри- бутов (например^ восстановление строки по известным множе- ствам значений атрибутов в столбцах) недопустимо высока для вычислительных возможностей противника. 8.3.2. Архитектурное решение Любую операцию select можно разбить на две части. Первая связана с выбором значений, удовлетворяющих запросу пользо- вателя, вторая — с выбором, строк, в которых находятся выбран- ные значения. Обязательность первой части определяет невоз- можность шифрования баз данных и связана с тем, что наруша- ются возможности эффективного поиска информации и другого использования этих баз данных. Поэтому схемы защиты, связан- ные с шифрованием данных, оказываются не эффективными. Вместе с тем в реляционной базе данных значение каждого ат- рибута может сопровождаться ключом, который представляет собой криптографически стойкую псевдослучайную последова- тельность. Тогда основные операции по поиску данных, попол- нению и модификации баз данных можно разделить на две ос- новные части. 108
Рис. 8.2 Первая часть — выбор записей, удовлетворяющих запросам среди множества значений таблиц, каждая из которых является столбцом значений одного атрибута. Вторая часть — это стыковка выделенных записей на основе значений псевдослучайных клю- чей этих таблиц. Эти вычисления можно сделать разделенными и разнесенными в распределенной базе данных, использующей раз- личные экземпляры СУБД. В результате формируется множество строк, удовлетворяющих запросу пользователя. Из этого множе- ства можно сделать обзор и в зашифрованном виде передать ле- гальному пользователю (рис. 8.2). f. На данной схеме все связи пользователей .с базой данных ре- ализуются через.сервер приложений AS. На сервере, приложений происходит аутентификация пользователей штатными средства- ми защиты и разграничение запросов пользователей с точки зре- ния защиты запросов одних пользователей от других пользовате- лей. Для связи пользователей с AS может применяться криптогра- фия, например SSL. Однако мы предполагаем, что: программно- аппаратные агенты противника могут присутствовать в AS. Из этого можно сделать следующие выводы. С помощью скрытых каналов противник в глобальной сети может узнать информацию о ключах SSL и пароли любых пользователей. Если применяются протоко- лы рукопожатий, то агент может вставить любой запрос в любую сессию от имени легального пользователя этой сессии. Таким об- разом, противник знает все на , сервере приложений, а запросы пользователей нельзя считать защищенными от такого противни- ка. Однако SSL является хорошей защитой от более «простых» противников. Запросы типа select из AS, поступают в БД1, где выделяются все значения атрибутов, требуемых в запросе, а также пары зна- чений различных атрибутов,травные между, собой, тройки и т.д. Данные в БД1 хранятся в виде, описанным в форме (8.4). Между AS и БД1 существует незащищенная двусторонняя скоростная связь, поэтому агент нарушителя безопасности в БД1 имеет связь 109
с агентом в AS. Отсюда следует, что все таблицы БД1 известны противнику в глобальной сети, хотя с некоторой задержкой, свя- занной с ограниченной пропускной способностью скрытых кана- лов. Однако, как было отмечено ранее, по значениям атрибутов противник без знания строчных связей не может получить содер- жательной информации, особенно при наличии «шума». Против- ник может пытаться модифицировать какие-либо значения атри- бутов. Далее покажем, что построенная система способна выявлять модификации и исправлять их не в реальном времени. Правда, нелегальные изменения значений атрибутов могут негативно ска- заться на результативности поиска в БД. Эта проблема, а также проблема инициации сбоев с помощью агентов в данной работе не рассматриваются. • ' 1 т Выбранные'значения в БД1, как строчки соответствующих таб- лиц, передаются в виде последовательности байт в БД2 через узел защиты'Б1. Данный узел осуществляет линейное преобразование всех байт данных с помощью невырожденной матршцА'М!, а так- же вычисляются коды аутентификации с помощью матрицы М2, как это было предложено в подразд' 8.2. В базе данных 2:(БД2) осуществляется стыковка выбранных с помощью операции sele’ct значений такимобразом, чтобы восстановить строчки преобразо- ванных записей исходной таблицы R(Ai, •'..., Я;) и осуществить поиск по межтабличным связям в условиях, когда все данные пред- ставлены в преобразованном виде, а восстановление строк про- исходит с помощью специальных ключевых атрибутов В, сопро- вождающих каждое выбранное значение. Таким образом, в резуль- тате обработки в БД2 возникают все строки, выделенные пр зна- чениям атрибутов в БДГна основании SQL запросов пользователя, но в преобразованном виде. ... Полученные данные отделяются от вспомогательных атрибу- тов й передаются в AS для передачи пользователю через узел Б2 проверки и снятия кода аутентификации, обратного преобразо- вания (Ml)"1 и шифрования; Таким образом, у пользователя появ- ляются все восстановленйые строки исходных таблйц, значения которых удовлетворяют запросу select данного пользователя при условий, что он знает ключ шифрования. При шифровании можно использовать два ключа: индивиду- альный ключ пользователя й ключ, соответствующий категории ценности строки. Тогда чтение возможно при наличии у пользо- вателя соответствующих полномочий. • - Необходимые действйя над восстановленными данными в БДЗ формируются в БД2 с помощью метода шаблонов. Отметим, что истинные данные, отвечающие строчным межгаблйчным связям^ возникают у пользователя в объеме, требуемом для удовлетворе- ниязапроса пользователя. ' ' 110
При получении сервером приложений легального запроса на модификацию данных update через БД1 проходит запрос на выбор ключевого атрибута и номера атрибута, .который подлежит моди- фйкации, и его значения-. В БД2 происходит восстановление строки с заданным значением.ключевого атрибута и значения атрибута,’ который нужно модифицировать. Значение модифицированного атрибута поступает в БД2 из сервера приложений через отдельный’ канал и узел защиты БЗ, в котором происходит расшифрование, этого значения на ключе полномочного пользователя. В связи с тем, что в БД2 восстанавливается преобразованная с помощью Ml и М2 строка йз исходной базы данных й получено новое значение исправляемого атрибута,также в преобразованном виде по Ml и М2 .(через узел БЗ), такое исправление становшся возможным. Уведомление об исправлении направляется в шифрованном виде пользователю через Б2, а исправленная.строка в БД2 разлагается на отдельные значения, к которым .приписываются псёвдослу7 чайные атрибуты, и затем поступает в БД1 через. Б4 (обратные преобразования для Ml и снятие кода аутентификации) в той форме,,в которой хранятся данные в. этой,базе. Операции insert, delete осуществляются по аналогичной схеме. 8.3.3. Представление данных в БД1 Хранение данных в БД1 осуществляется в форме таблиц (8.4), имеющих 2 атрибута. Пусть исходная база данных содержит табли- цы Т1 и Т2, атрибуты таблицы Т1 — Ah..., Ап где At i— ключевой атрйбут; таблица Т2 имеет атрибуты. Сь Ст, где G — ключе,-; вой атрибут. Таблицы БД 1 строятся в БД2 по следующему правилу. Для каждого атрибута At вводится дополнительный атрибут Bt и для каждого атрибута Q вводится атрибут Dh в результате чего формируются таблицы,(Д, Д) и (Д-, СД. . . ’ Значения атрибутов Д и Д являются уникальной последова- тельностью, с характеристиками случайного, числа, а. значения атрибутов Д и С/ Остаются в БД L в открытом виде. Таким образом, если в SQL запросе присутствуют значения атрибутов Ац, А^и Сд, ..., Cjg, то в таблицах выбираются соответствующие истинные значения атрибутов, присутствующие в SQL запросе, а также на- звания соответствующих атрибутов в явном виде. Если существу- ют межгабличные связи, указывающйе на выбор значений атри- бута С) при выборе атрибута Д, заданные в явном виде в SQL запросе, то такая операция также осуществляется в БД1. Далее выбранные значения (вместе со значениями атрибутов В и D) по- ступают в. БД2 через узел защиты, в котором каждый байт данных преобразуется по линейному преобразованию Ml и добавляется код аутентификации по М2. 111 к
8.3.4. Описание операций в БД2 В БД2 хранятся представления таблиц Т1 и Т2, выраженные (см. (8.5)) через значения атрибутов Д и Dt. Таким образом, по значениям выбранных атрибутов Bw.D восстанавливаются преоб- разованные строчки таблиц Т1 и Т2. Вместе с этими строками воссоздаются преобразованные по линейному преобразованию Ml истинные строки исходных таблиц, выбранных в соответствии с SQL запросом. В восстановленных строках исключаются значения атрибутов В и D, после чего полученные данные передаются в узел защиты Б2. Узел защиты Б2 снимает со всех байт преобразо- вания Ml и М2 с помощью сложения с кодом аутентификации и умножения'байта на матрицу (Ml)-1, в результате чего в доверен- ной среде возникают истинные строки исходных таблиц, выбран- ных в соответствии с SQL запросом пользователя. Эти строки шиф- руются и передаются на сервер приложений, а оттуда пользовате- лю, осуществившему исходный запрос. Рассмотрим генерацию атрибутов В и D. Пусть выполняется операция создания строки аь ..., аг с атрибутами А1г'..., Аг в си- стеме. В БД2 эта строка появляется в преобразованном виде. Пред- положим, что имеется массив случайных и равновероятных байт. Для каждого значения.атрибута (Ml, М2)(а,) берется очередной кусок последовательности байт, длина которого равна длине за- писи преобразованного по Ml значения атрибута с кодами аутен- тификации плюс фиксированное число т байт. Значение преоб- разованного атрибута вместе с кодами аутентификации шифрует- ся с помощью данной последовательности имитозащищенным шифром. При этом первые т байт не участвуют в шифрований, а приписываются к шифртексту в явном виде. Эти т байт вмёсте'с шифртекстом образуют последовательность х. Последовательность подвергается преобразованию, состоящему в вычйслении и при- писывании каждому байту кода аутентификации. Полученная последовательность образует преобразованное по (Ml, М2) значение атрибута Bf для значения а,-. Данная процедура позволяет по значению атрибута В (по первым т байтам) отыски- вать ключ для шифрования значения атрибута А, который в яв- ном виде может храниться в БД2, вычислять преобразованное значение атрибута А и сравнивать его с преобразованным значе- нием атрибута А для контроля целостности. В случае совпадения расшифрованное значение может быть передано Б2. Операция update осуществляется аналогично с той лишь разницей, что вме- сто старого значения атрибута и Л и его ключа В в строку записы- вается новое значение ключа. Одной из опасностей частичного восстановления данных с пе- редачей информации противнику является привязка ключевых 112
значений в базе данных БД1 при модификации отдельного значе- ния атрибута. В этом случае в SQL запросе фигурирует значение ключа для модифицируемого значения, поэтому появление изме- ненного значения в БД1 может быть однозначно связано с дан- ным значением ключа. Это позволит противнику, получившему через агента право модифицировать данные, восстанавливать строч- ные связи. Чтобы избежать утечки, предлагается использовать «шум», т.е. формировать, как минимум, одно ложное значение атрибута после модификации. Полученное значение в таблице БД1 будет иметь свой ключ и может не совпадать с истинным значени- ем модифицированного атрибута. Появляется неоднозначность при- вязки значений ключевого атрибута к значениям модифициро- ванного атрибута. Чтобы приращение количества ложных значе- ний в каждой таблице не увеличивалось постоянно, предлагается уничтожать вместе с выполняемой операцией delete соответству- ющее ложное значение атрибута. Введение достаточного количе- ства ложных значений в таблице БД1 снижает информативность истинных значений атрибутов при получении информации о зна- чениях в базах данных противником. , 8.3.5. Обоснование безопасности Сервер приложений связай с БД1 двусторонней связью, по- этому возможности взаимодействия агентов в сервере приложе- ний и агентов в БД 1 будем считать не лимитированными; Агент в сервере приложений связан с различными пользователями, по- этому согласно подразд. 8.2 агенты в сервере приложений имеют связь с нарушителями безопасности несмотря на шифрование и межсетевые экраны. Между БД1 и БД2 имеется двусторонняя связь, при этом данные, поступающие из БД1, преобразовываются по секретной матрице Ml и вычисляются коды аутентификации. Все данные, поступающие из БД2 в БД1, освобождаются от преобразования Ml. Таким образом, все данные в БД2 обрабаты- ваются с помощью Ml в преобразованном виде. Однако для всех преобразований данных в БД2 требуются знания только атрибу- тов В и D, и может быть равенство значений атрибутов А или С при контроле целостности. Все эти функции могут быть выполнены без знания преобразования Ml. Таким образом, программно-ап- паратный агент в БД2 не может воспользоваться методами стега- нографии при передаче данных из БД2 в БД1 и из БД1 в БД2. В случае, когда агент попробует передавать все подряд, коды аутен- тификации, как и раньше, предотвратят утечку. Остальные скры- тые каналы перекрываются с помощью специального интерфейса между БД1 и БД2. Таким образом, в БД2 обрабатываются все строч- ные связи, при этом агент в БД2 не имеет директив по анализу 113
этих связей и возможностей осуществлять поиск по этим связям. Истинные значения атрибутов известны в БД1, но. агент в БД1 не знает строчных и межгабличных связей этих значений. Передача инструкций агента от. БД1 в БД2, и наоборот, пере- крыта преобразованием Ml, которое не может быть восстановле- но с помощью решения линейных систем уравнений в БД2 в силу их отсутствия. Данные могут быть восстановлены с помощью эв- ристики, которая заведомо отсутствует у этого агента и не может быть передана от агента в глобальной системе через агента на сер- вере и агента в БД1, так как агент в.БД2 не знает Ml. Данные в явном виде возникают только в Б2, при этом агентов в. Б2 :не может быть. На сервер приложений поступают шифрованные дан- ные, и далее, так как они шифруются на ключе пользователя, противник не имеет доступа к информации. Аналогично с помощью,.специальных интерфейсов исключа- ются скрытые каналы из БД2 в сервер приложений. Канал из.сер- вера приложений в БД2,. через который передаются значения мо- дифицированных атрибутов, является шифрованным, на ключах пользователя и роли. Расшифрование этих данных осуществляется на специальном узле БЗ, расположенном на канале от сервера приложений в БД2. С помощью метода создания специального интерфейса скрытые каналы от сервера‘приложений к БД2 также уничтожаются. Таким образом, закладка в сервере приложений не может взаимодействовать с закладкой в БД2. Отсюда следует, что, несмотря на наличие программно-аппаратных агентов во всех.БД и сервере: , приложений, восстановление и передача этих данных нарушителю в глобальной сети невозможны.
Глава 9 МАТЕМАТИЧЕСКИЕ МЕТОДЫ АНАЛИЗА ПОЛИТИКИ БЕЗОПАСНОСТИ 9.1. Модель «take-grant» Будем по-прежнему описывать функционирование системы с помощью графов доступов Gt и траекторий в фазовом простран- стве J= {Gt}. Единственное дополнение — правила преобразования графов. Будем.считать,-что множество доступов R={r, w, с}, где г — читать, w — писать, с — вызывать. Допускается, что субъект X может иметь права а с R на доступ к объекту Y. Эти права запи- сываются ,в матрице контроля доступов. Кроме этих прав введем еще два: право take (f) и право grant (g),,которые также записыва- ются в матрицу .контроля доступов субъекта к объектам. Можно считать, что, эти права определяют возможности преобразования одних графов состояний,в другие. Преобразование состояний, т.е. преобразование графов доступов, проводится с помощью команд. Существует 4 вида команд, по которым один граф доступа преоб- разуется в другой..' . ' 1. Таке. Пусть S — субъект, обладающий правом t к объекту Xи а в R некоторое право доступа объекта, ^ к объекту К Тогда воз- можна команда «S take ia for Y from X»'. В результате выполнения этой команды в множество прав доступа субъекта S к объекту Y добавляется право а. Графически, это означает, что если в исход- ном графе доступов G был подграф, изображенный, на рис. 9.1, то в новом состоянии G', построенный по этой.комщще t G->tiG', будет подграф, показанный на рис. 9.2. 2. Grant. Пусть субъект S обладает правом.# к объекту X и пра- вом ае R к объекту Y. Тогда возможна команда «5 grant a for У to X». В результате выполнения этой команды граф доступов (У, пре- образуется в новый граф G', который отличается от д добавлен- s’ ----х ~ а • Y Рис. 9.1 а Рис. 9.2 115
Рис. 9.3 Рис. 9.4 4- - 1 ной дугой X —2—>К. Графически это означает, что если в исход- ном графе G был подграф (рис. 9.3), то в новом состоянии G' будет подграф, изображенный на рис. 9.4. 3. Create. Пусть S— субъект а е R. Команда «5 create a for new object X» создает в графе новую вершину X и определяет а как права доступов S и X, т.е. по сравнению с графом G в новом состоянии G' добавляется подграф вида, показанного на рис. 9.5. 4. Remove. Пусть S — субъект и У — объект, а еР. Команда «5 remove a for X» исключает-права доступа а из прав субъекта S к объекту X. Графически преобразования графа доступа G в новое состояние G' в результате этой команды можно изобразить, как показано на рис. 9.6. X vG:S-—bG’:S—X Рис. 9.5 Рис. 9.6 Далее будем обозначать G-ic G', если команда С преобразует G в G', а также G-> G', если, существует команда С, что G-iC G'. Будем понимать под безопасностью возможность или невозмож- ность произвольной фиксированной вершине Р получить доступ ае R к произвольной фиксированной вершине X путем преобра- зования текущего графа G некоторой последовательностью ко- манд в граф G', указанный доступ разрешен. Определение 9.1. В графе доступов б1 вершины Ри S называют- ся tg-связными, если существует путь в G, соединяющий Р и S безотносительно ориентации дуг, но такой, что каждое ребро этого пути имеет метку t или g. Теорема 9.1. Субъект Р может получить доступ а к объекту X, если существует субъект S, имеющий доступ а к вершине Xтакой, что субъекты Р и 5 связаны произвольно ориентированной ду- гой, содержащей хотя бы одно из прав t или g. Доказательство. Возможны 4 случая. 1. В б есть подграф (рис. 9.7). Тогда имеем право применить команду «Р take a for Xfrom 5» и получим в G' подграф (рис. 9.8). Рис. 9.8 Р--S-----2—-X Рис. 9.7 116
p --------s-----► X Рис. 9.9 a Рис. 9.10 2. В б1 есть подграф (рис. 9.9). Тогда имеем право применить команду «S grant a for X to Р» и получим в G' подграф (рис. 9.10). 3. В графе б есть подграф (рис. 9.11). р—<—► S——► х Рис. 9.11 Тогда применяем следующую последовательность разрешенных команд для преобразования графа G. «Р create tg for new object Y» (рис. 9.12), «Р grant g for У to 5» (рис. 9.13). Рис. 9.12 «S grant a for A"to Y». (рис. 9.14). «Р takes a for У from И (рис. 9.15). Y Рис. 9.14 4. В графе б есть подграф (рис. 9.16). Тогда применяем следующую последовательность разрешенных команд для преобразования графа б в граф G' с дугой Р—2—> X: «Р create tg for new object Y» (рис. 9.17). P*— s—2—-x Рис. 9.16 117
Рис. 9.18 Далее будем записывать преобразования графов последовательно (рис. 9.18). ' \ Теорема доказана. Замечание 9.1. Метка с правом а на дуге в рассматриваемых графах не означает, что не может быть других прав. Это сделано для удобства. Теорема 9.2. Пусть в системе все объекты являются субъектами. В этом случае субъект Р может‘получить доступ а к субъекту X тогда и только тогда, когда выполняются условия: 1. Существует субъект Sтакой, что в текущем графе (Уесть дуга S—^X. ' ; 2. S (g-связан с Р. , Доказательстводостаточности. Доказательство будем вести ин- дукцией пр длине п tg-пуги., соединяющего 5 и Р. При n= 1 утвер- ждение доказано в теореме 9.1. Пусть длина (g-пути в G, соединя- ющего S й Р, равна п > 1. Пусть также есть вершина Q на этом (g-пути, которая смежна с S.-Тогда по, теореме 9.1, можно перейти к графу G', в котором .есть дуга Q ———> X. Ясно, что проводимые при этом команды не уничтожают (g-пути, ведущего из .Р в Q. При этом длина пути из Рв 0, равна (п-1), что позволяет, приме- нить предположение индукции. Тогда возможен переход от G' к G”, в котором есть дуга Р—-—>Х. Сквозной переход от б1 к б1* доказывает достаточность. Доказательство необходимости. Пусть для пары вершин Р и Хв графе G нет дуги Р—2—> X, а после выполнения некоторой по- следовательности команд в графе G' есть дуга Р—-—> X. Если в G нет ни одной вершины S, для которой существует дуга S—-—>Х, то для любой команды С преобразования графа G в 418
графе G", полученном , из G^c G"c помощью . С,, также нет ни одной вершины.5, из которой выходит, дуга 5. ,>Х. Это сле- дует из просмотра всех четырех допустимых команд. Тогда для любой последовательности команд Сь,..., Сп в графе G", поду- ченном- из G применением этой последовательности команд, также нет какой-нибудь вершины S с дугой S—-—> X. Тогда та- кой вершины нет в графе G', что противоречит условию. Следова- тельно, в графе Сесть Sтакая, что S—-—>Х. Пусть G' такой граф, когда впервые появляется дуга Р. —2—> X. Пусть G" такой граф, из которого по . некоторой команде полу- чился-<7'. Тогда просмотр ,команд позволяет заключить, что, дуга Р—-—> X. возникла ^применением к некоторому 5—2—>Х ко- манды take или grant. Это значит, что в графе С", .от. Рк 5 суще- ствует /g-путь длины 1.. - . ; . Пусть в графе G вершины Р и S не связаны /g-путем. Тогда при любой команде С в графе G", полученном из G командой С: С-1’с G”, также нет /g-пути из Рв S. В самом деле, возьмем take (рис. 9.19) а Рис. 9.19 Если в р не было take или grant, то новая дуга не увеличивает количество дуг с правом take или grant в новом графе, поэтому новый zg-путь возникнуть не может. Если в р есть /ruing, то между X11 Z существовал ' /g-путь и новая дуга не увеличила числа tg- связных вершин и поэтому могла связать Р и 5. Аналогично, если У и X были связаны дугой grant. Команда create также не может связать существующие вершины Р и S /g-пугем. ' Значит при любой последовательности команд Сь ...,. С„, если в G нет /g-пути из P-в S, то их нет в G", полученном из G: G-ici,сп G”- Но это противоречит сделанному выше заключению о наличии такого пути длины 1 в графе G". Теорема доказана. 9.2. Модель Белла—Лападула Модель Белла—Лападула (Б—Л) построена для обоснования, безопасности систем, использующих политику MLS. В изложении модели Б—Л будем предполагать, что классы объектов неизмен- ны. Для-определения модели нам потребуется несколько другое описание самой вычислительной системы. Пусть определены конечные множества S, О, R, L: 5 — множество субъектов системы; 119
О — множество объектов, не являющихся субъектами; R — множество прав доступа, R - {read (г), write (w), execute (е), append (а)}; L — уровни секретности. ’ Множество V состояний системы определяется произведением множеств: V=BxMxFxH, где сомножители определяются следующим образом. В — множе- ство текущих доступов и есть подмножество множества подмно- жеств произведения 5х Ox R Множество подмножеств будем обо- значать P(Sx OxR), элементы множества В будем обозначать Ь, они представляют в текущий момент t графы текущего доступа (в каждый момент субъект может иметь только один вид доступа: к данному объекту). М — матрица разрешенных доступов, М = ||М&||, MtJ с R. F — подмножество множества LsxLsxL°, где каждый f= (fg, fo, fc), fe F— вектор, который состоит из трех компонент, каждая из которых тоже вектор (или отображение): fs — уровень допуска субъектов (это некоторое отображение fs\ S->L); fo — уровень секретности объектов (это некоторое отображе- ние fc O^L); fc — текущий уровень секретности субъектов (это тоже некото- рое отображение fc: S^L). Элементы подмножества F, которые допущены для определе- ния состояния, должны удовлетворять соотношению: - Vse s:fs(s) > fc(s). Н — текущий уровень иерархии объектов (в работе McLean этот уровень не изменяется) совпадает с f0 и далее не рассматривается. Элементы множества V состояний будут обозначаться через v. Пусть определены множество Q — запросов в систему и множе- ство D — решений по поводу этих запросов (Д= {yes, no, error}). Определим множество W действий системы как Wq QxDx Vx V={(q, d, vb v2)}. Каждое действие системы {{q, d, vb v2)} имеет следующий смысл: если система находилась в данный момент в состоянии vb поступил запрос q, то принято решение d и система перешла в состояние v2. Пусть Т — множество значений времени (для удобства будем считать, что Т= N — множество натуральных чисел). Определим набор из трех функций (х, у, z): х: Т-> Q, 120
и обозначим множества таких функций X, Y, Z соответственно. Рассмотрим Хх YxZ и определим понятие системы в модели Б—Л. Определение 9.2. Системой ^(Q, D, W, zo) называется под- множество Хх YxZ, такое, что , (х, у, z) е D, W, zo) <=> (xt, у„ Zt, Zt-\) e Ж для каждого значения /ё Т, где Zo — начальное состояние системы. Определение 9.3. Каждый набор (х, у, z) е ^(Q, D, W, zo) называется реализацией системы. Определение 9.4. Если (х, у, z) реализация системы, то каждая четверка (х„ yt, zt, Zt-i) называется действием системы.. Нетрудно видеть, что при отсутствии ограничений на запросы таким образом определен некоторый автомат, у которого входной алфавит Q, а выходной D, а множество внутренних состояний V. Автомат задаётся множеством своих реализаций. Перейдем к оп- ределению понятий, связанных с безопасностью системы. Определение 9.5. Тройка (s, o,x)gSxOxR удовлетворяет свой- ству простой секретности («-свойство) относительно /, если х = = execute, или х = append, или, если х = read и fs(s) > frf(p), или х=write и/5(5) >/о(о). _ . Определение 9.6. Состояние v = (Z>, M,f, h) обладаёт ss-свой- ством, если для каждого элемёнта (s, о, х) е b этот элемент обла- дает «-свойством относительно f. Определение 9.7. Состояние v = (b, M,'f, h) обладает ^свой- ством, если для каждого (s, о, х) е b при х = write текущий уро- вень субъекта/с($) равен уровню объекта frf(p), или при x = read fc(s) > fo(o), или при х = append /о(о) > fc(s). Определение 9.8. Состояние обладает “"-свойством относитель- но множества субъектов S', S' с S, если оно выполняется для всех троек (s, о, х), таких, что s g S'. Определение 9.9. Субъекты из множества 5\5' называются до- веренными. Лемма 9.1. Из “"-свойства для (s, о, х) следует «-свойство отно- сительно f. Доказательство. Утверждение следует из условия fc(s) < fs(s). Определение 9.10. Состояние v=\b, M,f, h) обладает ds-свой- ством, если V ($, о, х) е b => х е mso, где М = ||/и501| — матрица доступа состояния v. , Определение 9.11. Состояние v = (b, М, f, h) называется безо- пасным, если оно обладает одновременно «-свойством, *-свой- ством относительно S' и ^-свойством. 121
High о, fs(s) r Low 5---------------02 fc(s) Рис. 9.20 Напомним формулировку поли- тики MLS, связанной с решеткой ценностей SCxL в информации: информационный поток между дву- мя объектами называется разрешен- ным, если класс объекта источника доминируется классом объекта полу- чателя. Из определения 55-свойства следует, что в безопасном состоянии возможно чтение вниз, что согласуется с эквивалентным определением MLS политики. Кро- ме того, да-свойство определяет ограничение на возможность мо- дификации, которое связано с 'W: ' fs(s) >fo(o). Объясним *-свойство. Если субъект может понизить свой теку- щий допуск до /с(5) = fo(o), то согласно *-свойству он может пи- сать в объект. При этом он не может читать объекты на более вы- соких уровнях, хотя допуск f$(s) ему это может позволить. Тем самым исключается возможный канал утечки (рис. 9.20). Таким образом, при записи информационный поток опять не может быть направлен вниз. Исключение возможно только для доверенных субъектов, которым разрешено строить информаци- онный поток вниз. При этом доверенность субъекта означает бе- зопасность такого потока вниз (поэтому этй потоки считаются разрешенными). Сказанное ранее означает, что безопасное состо- яние модели Б—Л поддерживает политику MLS. Значит, для того чтобы доказать, что любой поток на траектории вычислительной системы разрешен, достаточно показать, что, выходя из безопас- ного состояния и следуя допустимым действиям, мы опять прихо- дим в безопасное состояние, тем самым любая реализация процес- са будет безопасной. Проведем строгое обоснование этого вывода. Определение 9.12. Реализация (х, у, z) системы ^(Q, D, W, Zo) обладает 55-свойством (*-свойством, ^-свойством), если в после- довательности (zo, Zi, ...) каждое состояние Zt обладает 55-свой- ством (*-свойством, ^-свойством). Определение 9.13. Система обладает 55-свойством (соответствен- но *-свойством, ds-свойством), если каждая ее реализация обла- дает 55-свойством (соответственно *-свойством, ^-свойством). . Определение 9.14. Система называется безопасной, если она об- ладает ОДНОВремеННО 55-СВОЙСТВОМ, *-свойством и ^-свойством. Теорема 9.3. Х(Л D, W, zo) обладает 55-свойством для любого начального Zo, которое обладает 55-свойством тогда и только тог- да, когда ^удовлетворяет следующим условиям для каждого дей- ствия (Ri, Dh (If, Af*, /*, /?*), (b, M,f, h)): 1) V (5, o, x) e b*\b обладает 55-свойствомотносительно /*; 122
2) если («, о, х) е.Ь и не обладает «s-свойством относительно /*, то («, о, х) i b*.. Доказательство, V (s,o, х) е Ь* возможно либо («, о, х) е Ь, или (s, о, х) е b*\b. Условие 1.означает, что состояние (b*, М*, f*, h*) пополнилось элементами (s, о, х), обладающими ss-свойством от- носительно /*. Условие 2 означает, что элементы Ь*, перешед- шие из Ь, обладают ss-свойством относительно f*. Следователь- но, V («, о, х) е Ь* обладает ««-свойством относительно /*. Пусть любое состояние обладает ««-свойством относительно своего f. Тогда условие 1 выполняется,. так как ««-свойство выполняется для всех («, о, х) из Ь*. И если («, о, х) е b и перешло в Ь*, то в силу ««-свойства («, о, х) обладает ««-свойством относительно /*. Что и требовалось доказать., , . Теорема 9.4. Система ^(R, D, W, Zo) обладает *-свойством от- носительно S' для любого начального состояния zo> обладающего ♦-свойством относительно, S' тогда и только.тогда, когда ^удов- летворяет следующим.условиям для каждого действия (Д, Dh.(b*, M*,f*,h^),(b,M,f,h)): л . , , . l),.Vse S', V («, о, x) e b*\b обладает *-свойством относитель- но /*; . - 2).V « e 3",_V («, o, x) e bn («, о, x) не обладает *-свойством относительно f*, то («, о, х) g b*. Доказательство проводится аналогично теореме 9.3. Упражнение 9.1. Доказать теорему 9.4. . Теорема 9.5. Система Х(А A W, zo) обладает ^-свойством тог- да и только тогда, для любого начального состояния, обладающе- го ^-свойством, когда ^удовлетворяет следующим условиям для любого действия (Д, Dt, (b*, М*, /*, h*), (b, М, f, h)): 1) («, о, х);е b*\b, то хе mSo', 2) («, о^х),е .Ь*\Ь,х^ mso*, то.(s, o,x)eb*. Доказательство проводится аналогично. . Упражнение 9.2. Доказать теорему 9.5. . Теорема 9:6.(Basic Security Theorem). Система А Со)-бе- зопасна тогда и только тогда, когда zo — безопасное состояние и Wудовлетворяет условиям теорем 9.3—9.5 для каждого действия. Доказательство. Теорема BST следует из теорем 9.3—9.5, , 9.3. Модель Low-Water-Mark (LWM) Данная модель является конкретизацией модели Б—Л, а также дает пример того, что происходит, когда изменения уровня сек- ретности объекта возможны. Политика безопасности прежняя: ъсе 123
объекты системы классифицированы по узлам решетки ценно- стей (MLS) и поток информации разрешен только «снизу вверх». В рассматриваемой системе один объект (неактивный), три операции с объектом, включающие запросы на доступ: • read; • write; • reset. Эти операции используются несколькими субъектами (процес- сами), имеющими фиксированные уровни секретности (для про- стоты — классы секретности образуют линейный порядок). На- помним формальное требование политики о том, что информа- ция может двигаться только «снизу вверх». Поток информации возможен тогда и только тогда, когда реализуется доступ субъекта к объекту вида w или г. При помощи г поток считается разрешен- ным, если fs(s) >f0(6). При команде w поток считается разрешенным, если субъект s не может прочитать информацию в объекте уровня f$(s) </о(*о) и записать в объект, для которого fs(s) > причем хотя бы в одном из этих соотношений неравенство строгое (напомним, что по условию текущие уровни субъектов /с($) ж f$(s) для любого $). Из этих свойств следует, что в системе должны выполняться ус- ловия ss и *. Условие ds автоматически выполняется, так как нет ограничения на доступ кроме перечисленных. Из ограничения на чтение второе условие приобретает следующую форму:. w возможно, когда fs(s) = /о(о). . ' Таким образом, условия ss в данной системе выглядят стан- дартно: если х= w или г, то могут быть разрешены доступы (s, о, х) <=> A(s) >/о(о). Условие *: если х = w, то f$(s) = f0(o), если х = г, то fs(s) > Опишем функционирование системы и докажем, что выпол- няются условия ss и *. Уровень объекта О в LWM может меняться: при команде write может снизиться, а при команде reset под- няться следующим образом. По команде reset класс объекта под- нимается и становится максимальным в линейном порядке. Пос- ле этого всё субъекты приобретают право w, но read имеют пра- во только субъекты, находящиеся на максимальном уровне ре- шетки. При команде write гриф объекта снижается до1 уровня субъекта, давшего команду w: При снижении уровня секретнос- ти объекта вся прежняя информация в объекте стирается и запи- сывается информация процессом, вызвавшим команду write. Право write имеет любой субъект, у которого f£s) < fo(o), где /о(о) — текущий уровень объекта. Право reset имеет только тот субъект, который имеет право write. Право read имеет любой субъект, для которого fs{s) > fo(o)- Суммируем вышесказанное в форме табл. 9.1. 124
Таблица 9.1 Операция , Организация доступа Результат операции Read Процесс 5 получает содержимое объекта о Write (данные) fs(s)^fo(o) Уровень объекта ста- новится равным уров- ню 5. Данные от 5 за- писываются в о Reset Л0)^о(о) Уровень объекта уста- навливается выше всех уровней процессов Лемма . 9.2. Для любого состояния системы LWM выполнены условия SS И’*. Доказательство. Если г доступ $ к о разрешен, то fs(s) > fo(o). Если w доступ з к о разрешен, то fs(s) = fd(o) (т.е. >). Таким обра- зом, условия ss и * выполнены. Что и требовалось доказать. Однако все рассуждения останутся теми же, если отказаться от условия, что при команде write в случае снижения уровня объекта все стирается, т.е. здесь также будут выполняться условия * и ss, но ясно, что в этом случае возможна утечка информации.-В са- мом деле, любой процесс нижнего уровня, запросив объект для записи, снижает гриф объекта, а получив доступ w, получает воз- можность г. Возникает канал утечки (X w, -> г), при этом в преды- дущей модели свойство * выбрано для закрытия канала (Т г, -» w). Данный пример показывает, что определение безопасного состо- яния в модели Б—Л неполное и смысл этой модели только в перекрытии каналов указанных видов. Если «доверенный» про- цесс снижения грифа объекта работает неправильно, то система перестает быть безопасной. 9.4. Модель невлияния J.Gogsen и J.Mesegser (G—М) Модели G—М — автоматные модели безопасных систем. Нач- нем с простейшего случая системы с «фиксированной» защитой. Пусть V — множество состояний системы (И— конечное и опре- деляется программами, данными, сообщениями и пр.), С — мно- жество команд, которые могут вызвать изменения состояния (также конечное множество), S — множество пользователей (конечное множество). Смена состояний определяется функцией: do: Их5хС^ V 125
Некоторые действия пользователей могут не разрешаться си- стемой. Вся информация о том, что разрешено («возможности» пользователей) пользователям, сведена в с-таблицу t. В рассмат- риваемом случае «возможности» в с-таблице t совпадают с матри- цей доступа. Если пользователь не может осуществить некоторую с-команду, то , do(v, s, с) = v. Предположим, что для каждого пользователя s и состояния v определено, что «выдается» этому пользователю (т.е. что он ви- дит) на выходе системы. Выход определяется функцией out: Их 5—> Out, где Out — множество всех возможных выходов (экранов, листин- гов и т.д.). - _ ... Мы говорим о выходе для пользователя s, игнорируя возмож- ности s подсмотреть другие выходы. Таким образом, получили оп- ределение некоторого класса автоматов, которые будут встречаться далее. . Определение 9.15. Автомат М состоит, из 1) множеств: S — пользователи; .. V— состояния; С — команды; . . . Out — выходы; , I . \ . 2) функций: > выходной функции out: Их5-> Out, которая показывает, .что данный пользователь видит, когда автомат, находится в данном состоянии; , ; , функции переходов do : VxSxC -> V, которая «показывает, как.изменяется состояние автомата, под действием команд»; начального, состояния v0 системы с изменяющимися .возмож- ностями защиты. < Пусть Capt — множество всех таблиц «возможностей», СС — множество с-команд (команд управления «возможностями»). Их эффект описывается функцией: »_ cdo : Captх5х СС-> Capt. При отсутствии у пользователя s права на с-команду положим cdo(t, s, с) = t. Пусть VC — множество команд, изменяющих состо- яние. Теперь можем определить С-автомат, лежащий в основе даль- нейшего рассмотрения. Определение 9.16. С-автомат М определяется: 1) множествами: 5 — пользователи; ' ' V — состояния; VC — команды состояния; Out — выходы; 126
Команды состояния \ .-Ц •• Команды—* Capt -------'•—► v -► Out Разрешение на выполнение команды состояния . Рис. 9.21 Capt — с-таблицы; ‘ СС — с-команды; 2) функциями: выхода out: Их CaptxS.—> Out, которая показывает, что дан- ный пользователь видит, когда автомат находится в данном со- стоянии v, а допуски определяются с-таблицей; переходов do: Их Captx Sx VC -> И, которая показывает, как меняются состояния под действием команд; изменения с-таблиц cdo: Captx Sx СС -> Capt, которая пока- зывает, как меняется с-таблица под действием с; 3) начальным состоянием, которое определяется с-таблицей t0 и состоянием v 0. .. Будем считать, что k C=CCuVC. То, что мы определили на языке теории автоматов, называется последовательным соединением автоматов (рис. 9.21). Определение 9.17. Подмножества множества команд С называ- ются возможностями. Если дан С-автомат М, мы можем построить функцию перехо- дов всей системы в множестве состояний Их Capt: cvdo: Их Captx SxC Vx Capt, где - cvdo(v, t, s, c) = (do(y, t, s, c), t), если ее VC, cvdo(v, t, s, c) = (v, cdo(Z, s, с)), если се CC. Стандартно доопределяется функция cvdo на конечных после- довательностях входов: cvdo: Их Captx(Sx С)* -> Их Capt. При этом cvdo(v, t, Nil) = (v, t), если входная последовательность пустая; cvdo(v, t, JV(s, с)) = cvdo(cvdo(v, t, W), s, c)). 127
Определение 9.18. Если W— входное слово, то [[IP]] = (..., (vz, /,), ...), где последовательность состояний вычисляется в соответ- ствии с определенной выше функцией переходов под воздействи- ем входной последовательности W. Введем понятие информационного влияния одной группы на другую, смысл которого состоит в том, что, используя некоторые возможности, одна группа пользователей не влияет на то, что видит каждый пользователь другой группы. Для этого определим [[ИЧЬ — выход для s при выполнении входного слова W С-авто- мата М: [[^L = out([[lHLs), где оШШИЦ, s) = (... out(v„ tf, [[»!] = (..., (v„ О, ...)• Пусть G с S, А с С, We (Sx С)*/ Определение 9.19. Pg(W) — подпоследовательность W, полу- чающаяся выбрасыванием всех пар (s, с) при s е G, PA(W) — подпоследовательность W, получающаяся выбрасыванием из W всех пар (s, с) при се A, PGA(W) — подпоследовательность W, получающаяся выбрасыванием пар (s, с), s е G и с е А. Пример 9.1. G= {5, Р}, А={сь с2}. ! Cl), U Сз), U с2), (Р', Cl)) = (s', Cl), (s, C3), (P', Cl). Определим несколько вариантов понятия независимости. Пусть GqS,G'qS. Определение 9.20. G информационно не влияет на G' (обозна- чается <7: | G'), если V We (Sx С)* и V se G': тъ» [[Л?(Ю]Ъ. Аналогично определяется невлияние для возможностей А (или группы G и возможностей А). Определение 9.21. А информационно не влияет на G (обозна- чается А:|G), если V We (Sx С)* и Vse G: [[W]] = [[PA(W)]]S. Определение 9.22. Пользователи G, используя возможности А, информационно не влияют на G' (обозначается A,G:\G'), если V We (SxC)* nV s е G': 128
Пример 9.2. Если А:|{s}, то команды из А не влияют на выход, выданный s. Если Л={create, write, modify, delete} для файла F, то Л:|{$} означает, что информация, читаемая s в F, не может изме- ниться любой из команд в А. Если F не существовал, то для s будет всегда выдаваться информация, что F не существует. Определение 9.23. Политика безопасности в модели G—M— это набор утверждений о невлиянии. Пример 9.3 (MLSполитика). Пусть L — линейно упорядоченное множество уровней секретности и задано отображение level: S -> L. Определим: Vxe L: 5[-°°, х] = {$ е 5 I level(s) < х}; 5[х, +оо] = {у е 5 | level(s) > х}. Определение 9,24. MLS политика в модели G—М определяется следующим набором утверждений о невлиянии: V х е L, V х' е L, х > х'; 5[х,+оо] : | 5[-оо, х]. Говорят что_ G с S невидимо для остальных пользователей, если где G- S\G. Используя это понятие, легко обобщить определение MLS по- литики на случай, когда L — решетка. Определение 9.25. MLS политика в модели G—М определяется следующим набором утверждений о невлиянии: V х е L-. 5\5[-о°, х] — невидимо для остальных пользователей. Пример 9.4.0&нтл из важнейших примеров политики безопас- ности, легко выражаемой в G—М модели, является режим изо- ляции. Определение 9.26. Группа G называется изолированной, если и G:|G Система полностью изолирована, если каждый пользователь изолирован. Пример 9.5 {контроль канала). В модели G—M канал определя- ется как набор команд Л с С. Пусть G, G' с S. Определение 9.27. Gh G’ могут связываться только через канал А тогда и только тогда, когда A, G:\G'hA, G':\G. 5 Грушо 129
Рис. 9.22 Пример 9.6 {информационный поток). Пусть а, Ь; с, d — процессы и Аъ А2, А3 — каналы такие, что а, Ь,'с, Смогут связываться толь- ко по схеме рис. 9.22. Этот рисунок описывается следующими утверждениями о невлиянии: {Ь, с, </}:|{о}, Ль{а}:|{/>, с, d}, {с, rf}:|{Z>}, Л2,{/>}':'|{с}; < . . > < 9.5. Автоматный подход в модели невлияния Рассмотрим автомат, входной и выходной алфавиты которого делятся на две части: High (Н) и Low (L). Аналогично, состояния автомата являются векторами, одна компонента которых класси- фицируется как Н, а вторая — как L. Автомат устроен таким обра- зом, что при одной и той же последовательности вводных симво- лов с индексом L независимо от состава входных'символов с ин- дексом Ни исходной компоненты Нв состоянии автомата пере- ход компоненты L из исходного состояния в конечное состояние автомата один и тот же. При этом компонента Нв блужданиях по состояниям автомата может зависеть от входных символов с ин- дексом L. Такая автоматная модель обладает свойством невлияния на уровне L от уровня Н. В этом случае наблюдатель уровня L не может получить информацию osдействиях на уровне Н, т.е. уро- вень Н«не виден» с уровня L. t ; Для формального, определения условия невлияния рассмот- рим векторный автомат А = (X, S, Y, d, I), где X— входной алфавит, Х= Хн и XL, Хн r\XL = 0, S — множество состояний, 5= {($я, sL), sHe Sa,'sLeSL}, Y— выходной алфавит, Y= YH ^>YL, -YH r\Y^= 0, функция перехода: d:SxX->S, а функция выхода определена следующим образом: SL)) = {1н{$Н-> S£), = {УНу Уь)у где ' Ун= ^h{sH> sl) 6 Уь= Il{$l) е Yl- Определим отношение эквивалентности на множестве состо- яний: S~S'sL = s’L, где 8= ($н> sl)> S'={s'h, s'£). 130
Р(Х) = Цусть S/---фактор-множество и определена функция, ставя- щая в соответствие элементам классы, их содержащие: k(s) = [$], [5] е S/~. Рассмотрим X* и Х£ — множество слов конечной дли- ны в алфавите X и XL, соответственно включая нулевое слово е. Определим функцию Р: X* -> X/ следующим образом. Если х= = (хь Хг, х„) е X*, х, е X то Лх) = Лх!№)...Л^); где xh xt е Х£; е, xt е Хн. Функция Р — это сюръективное отображение X* на Х£. Далее d' будет обозначать отображение d'-. SLxXL* SL. Отображение (re, Р): SxX* -> (S/~) xX£ определяется равен- ством (re, jP)(s, x) = (re(s), P(x)). । Определение 9.28. Система, представленная автоматом А, удов- летворяет услрвию, невлияния, если существует ( Отображение d' такое,,что следующая диаграмма коммутативна (рис. 9.23). Существование такого отображения, d' эквивалентно следу- ющему утверждению. Если d((sH,sL),x) = (s'H,s'L), ТО , Теорема , о невлиянии позволяет проверять на конечных мно- жествах условия невлияния, выраженные в терминах коммутатив- ности диаграммы для бесконечных множеств слов X* и X*. Теорема 9.7 (о невлиянии). Система, представленная автоматом без выхода Л, удовлетворяет условию невли- яния тогда и только тогда, когда существует отображение d' такое, что следующая диаг- рамма (рис. 9.24) коммутативна. Доказательство. Очевидно, что если си- стема удовлетворяет условию невлияния, то диаграмма на рис. 9.24 корректно определе- на и коммутативна. Доказательство обрат- ного идет по индукции по длине входного SxX*-----^—5 (я, Р) " (S/~)xXL*----5/~ Рис. 9.23 131
. SxX —s (к, P) к (S/~)x*z----——S/~ Рис. 9.24 слова из X*. Для п = 1 утверждение верно из рис. 9.24. Пусть утверждение верно для п-1. Рассмотрев исходную диаграмму для входного слова длины п -1, можем по предположению индукции построить коммутативную диаграм- му, соответствующую модели невлияния. После этого подаем на вход последнюю бук- ву х„. Если эта буква принадлежит алфавиту XL, то это равносильно тому, что мы подали входное слово длины 1 для состояния, в котором оказался автомат после п-1 шагов. После подачи этой буквы выполняется диаграмма рис. 9.24 и тем самым диаграмма для слова длины п коммутативна. Если х„ при- надлежит алфавиту Хн, то компонента состояния SL не меняется, что доказывает коммутативность диаграммы для слова длины п. Теорема доказана. > 9.6. Модель выявления нарушения безопасности Один из путей реализации сложной политики безопасности, в которой решения о доступах принимаются с учетом предыстории функционирования системы, — анализ данных аудита. Если такой анализ возможно проводить в реальном масштабе времени, то аудиторская информация (АИ) совместно с системой принятия решений превращаются в мощное средство поддержки политики безопасности. Такой подход представляется перспективным с точки зрения использования вычислительных средств общего назначе- ния, которые не могут гарантированно поддерживать основные защитные механизмы. Но даже не в реальном масштабе времени АИ и экспертная система, позволяющая вести анализ АИ, явля- ются важным механизмом выявления нарушений или попыток нарушения политики безопасности, так как реализуют механизм ответственности пользователей за свои действия в системе. По сути, анализ АИ имеет единственную цель выявлять нару- шения безопасности (даже в случаях, которые не учитываются политикой безопасности). Далее мы изложим пример организа- ции такого анализа, который известен из литературы под назва- нием «Модель выявления нарушения безопасности». Эта модель, опубликованная в 1987 г., явилась базисом создания экспертной системы IDES для решения задач выявления нарушений безопас- ности. Модель включает 6 основных компонентов: • субъекты, которые инициируют деятельность в системе, обы- чно это пользователи; • объекты, которые составляют ресурсы системы, — файлы, команды, аппаратная часть; 132
• АИ — записи, порожденные действиями или нарушениями доступов субъектов к объектам; • профили — структуры, которые характеризуют поведение субъектов в отношении объектов в терминах статистических и поведенческих моделей; • аномальные данные, которые характеризуют выявленные слу- чаи ненормального поведения; • правила функционирования экспертной системы при обра- ботке информации, управление. Основная идея модели — определить нормальное поведение системы с тем, чтобы на его фоне выявлять ненормальные факты и тенденции. АИ — это совокупность записей, каждая из которых в модели представляет 6-мерный вектор, компоненты которого несут сле- дующую информацию: - < субъект; действие; объект; условия для предоставления исключения; лист использования ресурсов; время >, где смысл компонентов следующий: • действие — операция, которую осуществляют субъект и объект; • условия для предоставления исключения, если они присут- ствуют, определяют, что дополнительно надо предпринять субъек- ту, чтобы получить требуемый доступ; • лист использования ресурсов может содержать, например, число строчек, напечатанных принтером, время занятости CPU (центрального процессора) и т.д.; • время — уникальная метка времени и даты, когда произошло действие. Так как АИ связана с субъектами и объектами, то ее данные подобны по организации матрице доступа, где указаны права до- ступа каждого субъекта к любому объекту. В матрице АИ в клетках описана активность субъекта по отношению к объекту. Пример 9.7. Рассмотрим команду: Copy_Game:exe to <Library> Game.exe, которую использовал пользователь Smith для того, чтобы скопи- ровать файл «Gaine» в библиотеку; копирование не выполнено, так как Smith не имеет права писать в библиотеку. АИ, соответ- ствующая этому примеру, будет состоять из записей: (Smith, execute, <Library> Copy.exe, О, CPU=00002,11.05.85.21678) (Smith, Read, <Smith> Game.exe, 0, Records = 0, 11.05.85.21679) (Smith, Write, <Library> Game.exe, Write — violation, Records = 0, 11.05.85.21680). Рассмотрим подробнее понятие «профиль». Профили описыва- ют обычное поведение субъектов по отношению к объектам. Это поведение характеризуется набором статистических характеристик, 133
вычисленных по .наблюдениям за действиями субъекта по отно- шению к объекту, а также некоторой;статистической моделью такого, поведения. Приведем примеры таких статистических харак- теристик: 1) частоты встречаемости событий, например частота встреча- емости заданной команды в течение часа работы системы и т.д.; 2) длина временного промежутка между осуществлением не- которых событий; 3) количество ресурсов, которые были затрачены в связи с каким-либо событием, например время работы CPU.при запуске некоторой программы, число задействованных элементов аппа- ратной части и др. Статистические модели строятся по наблюденным значениям статистических характеристик с учетом статистической обработ- ки данных. Например, некоторый процесс характеризуется устой- чивым средним числом встречаемости данной команды, которая может быть уверенно' заключена в доверительный интервал в Зо, где о — стандартное отклонение частоты встречаемости этого со- бытия. Чаще всего статистические модели являются многомерными и определяются многомерными статистическими методами. На- иболее сложные модели — это модели случайных процессов, ха- рактеристики которых являются некоторыми функционалами от случайных процессов. Например, моменты остановки програм- мы и т.д. • , . . . В нормальных условиях статистические характеристики нахо- дятся в границах своих моделей. Если происходит ненормальное явление, то возможно наблюдать статистически значимое откло- нение от параметров статистических моделей. » Пример 9.8. Рассмотрим пример канала утечки по времени (рис. 9.25). \ , На рис. 9.25 U\ — злоумышленник; U2 — пользователь, опери- рующий ценной информацией; 5Ц — субъект, информация о ко- тором представляет интерес. Пусть процесс SH использует принтер для печатания результатов очередного цикла обработки информа- ции. Процесс 5М определяется работой принтера, который .явля- ется общиМ'Ресурсом Ui и U2 с приоритетом, у П2. Тогда процесс 5 регулярно с заданной частотой посылает запрос на использова- ние принтера и получает отказ, когда 5Ц распечатывает очеред- ную порцию информации. Тогда в единицах частоты запроса пользователь Ui получает информацию о периодах обработки про- цессом 5Ц ценной информации, т.е. r_ s получаем канал утечки. 1 " . “ 2 Реализация этого канала требует Рис. 9.25 повторяющегося запроса на принтер, 134
а затем отказа от него. Ясно, что в реализации такого канала часто- та обращения к принтеру возрастает, что, естественно,-может при- вести к значимому отклонению этой характеристики от модели по- вседневного использования принтера данным пользователем. Описание профиля или его структура состоит, из 10 компонен- тов, которые кроме собственно статистической модели определя- ют АИ, связанную с. ней. Структура профиля может быть пред- ставлена следующим вектором: < имя -переменной; отражаемые действия; имеющиеся исключения; данные использования ресурсов; период измерений; тип статистики; порог допустимых значений; субъект; объект; значение последнего наблюдения модели >. К сожалению, анализ на уровне субъект—объект в значитель- ной степени затруднен. Поэтому аналогичные структуры (профи- ли) создаются для агрегированных субъектов и объектов. Напри- мер, для некоторого фиксированного множества субъектов в от- ношении всех возможных объектов. Другой пример: действия всех пользователей в отношении данного объекта. Основной сложностью при внедрении этой модели является выбор и построение профилей. • \ - > Пример 9.9. Рассмотрим систему с 1 000 пользователями; у каж- дого пользователя в среднем 200 файлов, что( дает 200000 файлов в системе. Тогда имеем 200 млн возможных комбинаций: пользо- ватель-файл. Даже'если предположить, что каждый пользова- тель осуществляет доступ к 300 файлам, .то, необходимо, создать 300000 профилей. • ( Пример, 9.9 показывает, что необходимо применять специаль- ные приемы для софащения информации. Если обнаружено ненормальное поведение, то немедленно де- лается запись в сборнике аномальных фактов. Каждая запись в этом сборнике — трехмерный вектор,, имеющий следующие ком- поненты: . , < событие; время; в отношении какого профиля получено - Отклонение >. Применение рассмотренной модели дало хорошие результаты, но вместе с тем требуется исследование таких вопросов, как: • насколько надежно предложенный метод выявляет наруше- ния безопасности; . ' • какова:доля нарушений безопасности,- для которых работает метод; , • обоснование выбора инструментов статистической обработ- ки данных и моделей профилей; - • идеология самого быстрого обнаружения, которая еще не ясна. 135
9.7*. О существовании «невидимых» каналов в распределенных компьютерных системах Рассматривается следующая задача. Пусть имеются две пары пользователей или субъектов компьютерной системы ZTj и U2, U{ и U2, которые используют один канал связи (без помех) для пе- редачи информации. Для простоты передача информации допус- кается только в одном направлении от U\ к U2 или от U( к (обозначается: Щ—и2, Ux\—U{). Пара U(\—U2 пытается так орга- низовать передачу своей информации, чтобы внешне она не от- личалась от U^—,U2. , Для того чтобы формализовать задачу; введем некоторый кон- тролирующий субъект U, который наблюдает за передачей, но не знает, какая пара субъектов (17ь U2) или (tZf, U2) ее ведет. Так как объём передаваемой информации велик, то U реально может лишь наблюдать за выходом некоторого автомата А,' который пе- рехватывает всю передачу, как-то обрабатывает ее и результат выдает субъекту U в виде некоторого сообщения у. Мы предпола- гаем, что субъекты (tTJ, UJ и (U{, U2) знают схему контроля и автомат Л и могут использовать эти данные для организации скры- того от U канала (7i'|— ^-Возможность существования скрйтого канала U{\— U2 будем исследовать в рамках вероятностной модели. Пусть X—множество сообщений, которые могут передаваться от U} к иъ Рх(х) — распределение вероятностей на Х при помо- щи которого смоделируем канал t7i|— U2. Автомат А, обрабатыва- ющий перехватываемые сообщения для контролирующего субъекта U, описывается вектором (X, S, Y, d, Г), где X — множество вход- ных сообщений (совпадает с множеством возможных сообщений в канале С4|— U2), 5={1, 2, ..., т} — множество внутренних состо- яний автомата A, Y= {уъ у2, ..., у„} — множество сообщений, доступных субъекту U, d: Хх S -> S — функция переходов и функ- ция l(x, s') определяет выходное сообщение у из Y на основе об- работки автоматом А входного сообщения х, если в момент по- ступления сообщения х автомат находился в состоянии s из 5. Та- ким образом, наблюдая канал t/Jl- U2 в состоянии s автомата А, субъект U ЪАОжеп получить сообщение у из множества Y, выбран- ное в соответствии с вероятностной мерой Qs(y) = Px{x- l(x, s) = y}. Для описания канала fZ/j— U2 рассмотрим множество £возмож- ных сообщений от U[ к U2. Выбор сообщения z из Z определяется некоторой вероятностной мерой Pz(z\ Далее для сообщения z вы- бирается некоторое сообщение х из Хи передается по каналу. На приемном конце по х восстанавливается z- Полагаем, что на при- емном конце в соответствии с некоторой неизвестной для Uдого- 136
воренностью однозначно определяется, работает канал U\\—U2 или U(\—U2. Рассмотрим следующий способ выбора сообщения х по Z- При- емная и передающая стороны имеют функцию gi Z х 0 -» X, где 0 — некоторое конечное множество. Однозначность восста- новления сообщения z определяется условием, что для любых z из Z,0e0, g-*(gU, 0)) = Z. (9.1) Выбор 0 при данном z определяется условным распределением Pe(0|z). Тогда распределение P(z, 0) на Zx0 и функция g(z, 0) определяют вероятностную меру Р?(х) на X. Меры Р' и Р, вообще говоря, не равны. Тогда функции Z(x, 5), s= 1, ..., т, индуцируют на множестве У меры Q/(y). Только на различии Q и Q' наблюда- тель Uможет различить каналы Щ—иъ U(\—U2. Определение 9.29. Субъект U «не видит» в состоянии s из S канал tZi'pIZ2' тогда и только тогда, когда для любого распределе- ния Pz(z) и для каждого у из У Qs'(y) = Qs(y). Определение 9.30. Субъект U«не видит» канал U(\—U{ в слабом смысле, если для каждого $ из S субъект U «не видит» в состоянии s канал U{\—U2. Определим отображение Z: Х-> Ym следующим образом: для любого х из Xl(x) = (Z(x, 1),..., Z(x, т)). Распределения Р и Р' на X с помощью функции Z(x) индуцируют меры Q(y) и <2(у) на У. Определение 9.31. Субъект U«не видит» канал U[\—U2 в силь- ном смысле, если при любом распределении PAz), для любого у из У” ! <2(у)=2'(Я Лемма 9.3. Если и«нё видит» канал U(\—U{ в сильном смысле, то U «не видит» этот канал в слабом смысле. Доказательство. В самом деле V s е S, V у е У Qs(y) = ZQ(y)> где суммирование ведется по всем у из У”, у которых s-я коорди- ната равна у. Тогда из равенства Q(y) = Q'(j) для любого у из У следует равенство £(y) = Qs(y) при любом s. Лемма доказана. 137 ЙГ.
Легко получить условия, при которых существует канал U[\-^U{, который U «не видит» в сильном смысле. Теорема 9.8. Если для любого у из Vм такого, что. Q(y) > 0 вы- полняется условие: то существует канал U['\— U{, который U «не видит» в сильном смысле. Доказательство. В качестве 0 возьмем Р" и для любого у из Р", 0(jp) > 0 определим x = g(z, у) — произвольное инъективное вло- жение Z.b s . Это можно сделать, так как для любого у из Р" при Q(y) > О .|7-'(я|<|4 В силу того, что при различных у прообразы /-1(у) не пересека-. ются, то выполняется требование (9.1), т.е. по х мы однозначно восстанавливаем у такое, что х принадлежит /-1(у). Тогда в силу инъективности g(z, у)=х при данном у, по данному х однозначно восстанавливается г.! Для любого z из Z при Q(y) > 0 определим . . .,. , Pe(y\z) = Q(y). Докажем, что U «не видит» канал U{\— в сильном смысле. Для произвольного распределения Pz(z) и для каждого х из X Р'х(х) = Pz(z)<2(y), если х е /’’(у) и х = g(z, у)\ Рх(х) = 0, в противном случае. ' ‘ ' Тогда для любого у из Р" (2'(у) = X Px(x) = Q(y). . же/'1 (у) Теорема доказана. Следствие 9.1. Если для любых у из Ри s из S А(у, s) = /-1(у, 5) и т A(yil,...,yim) = (\A(yls, s), 5=1 то при Q(yh, ..., у1т) > О, существует канал U{\— U{, который U «не видит» в слабом смысле. Доказательство следствия получается из теоремы 9.8 и леммы 9.3. 138
Если U «не видит» канал U{\—U2 в сильном смысле, то этот канал устроен так, как это было описано в теореме 9.8. Теорема 9.9. Пусть (0, g(z, &), Pe(Q |z)) определяет организацию канала C/j'l— U2, который U «не видит» в сильном смысле, и g удовлетворяет условию (9.1). Тогда £Л(бк) = 0(у), 0 . где сумма берется по всем 9, удовлетворяющим условиям g(z, 0) = х, 1(х)=у. Это означает, что в качестве параметра 0 мы можем выбирать у из ум Доказательство. Так как Q'(y) = Q(y) при всех распределениях Pz(z), то. Л(/’1(у))=Л(/-1(у)) = = Е S К* = g(z, 0))Pz(z)Pe(ek), (93) хе/-’(У)е€в где /(•)’— индикатор события, й для Ух в силу (9.1) может суще- ствовать не более одного z, что x=g(z, 9). Откуда следует, что при вырожденных распределениях, сосредоточенных на Zi # z2 из Z: Q(y)= Е y/(x = g(z1,0))Pe(0|z1) = ‘ ^-*(У)еев ,94) = X S = s(z2,0))Рв(0|г2). хе7-1(у)вее » , r f > t 4 * X ‘ Из (9.1) и (9.4) получаем, что.долгУхе/-1(у) : X = 0(У)> если S'z ё Zh 0 е 0, что x=g(z, 0); ,о сч 0s в D /л|' \ "* л ‘ 2^ Pe(9|z) = О, в пробивном случае. вев >. . г - • Отметим, что отношение эквивалентности 0! ~ 02, если 3 Zi, Z2^ Z, ЧТО Xj =gUl, 01), X2 = g(Z2, 02.) и xl> x2 e при. некото- ром у е Y, разбивает все 0 на классы, которые можно.пронумеро- вать у е Упри Q(y) > 0. Теорема доказана. Таким образом, когда U«не видит» канал U2 в сильном смыс- ле, то можно, считать, что он построен способом из теоремы 9.8.
раздел третий ОСОБЕННОСТИ ПРИМЕНЕНИЯ КРИПТОГРАФИЧЕСКИХ МЕТОДОВ ДЛЯ ЗАЩИТЫ ИНФОРМАЦИИ. СПОСОБЫ РЕАЛИЗАЦИИ КРИПТОГРАФИЧЕСКОЙ ПОДСИСТЕМЫ ЗАДАННОЙ СТОЙКОСТИ Защита информации опирается на набор механизмов и мето- дов, которые позволяют гарантировать невозможность атак про- тивника на защищаемую информацию. Криптографические ме- тоды являются существенной частью этого набора. Криптоалго- ритмы — это алгоритмы преобразования данных, использующие «секрет». Характеризующей особенностью применения крипто- графических методов является устойчивость к попыткам против- ника открыть «секрет». Такая устойчивость в криптографии назы- вается стойкостью. Криптографическую стойкость надо обосно- вывать, так как в защите критической информации логика: «я не могу раскрыть «секрет», следовательно, никто не может» непри- менима. ~ Методы обоснования криптографической стойкости основаны на накопленном опыте раскрытия «секретов» криптоалгоритмов. Этот опыт сформулирован в методах анализа шифров (один из классов криптоалгоритмов), т.е. в найденных методах и подходах в раскрытии «секретов». Могут найтись гении, придумавшие но- вые методы анализа, тогда надо пересмотреть стойкость уже ис- пользуемых криптоалгоритмов или опереться на вновь найденные методы при синтезе новых криптоалгоритмов. Кроме стойкости криптоалгоритмы должны удовлетворять ряду других требований например экономичности, скорости реализации и т.п. Совокуп- ность подходов, позволяющих удовлетворить заданному набору требований, составляет теорию синтеза криптоалгоритмов, на которой основаны способы реализации криптографической под- системы защиты информации. Методы анализа и синтеза основа- ны на математике. В основном нужды анализа и синтеза криптоал- горитмов обслуживают дискретная математика, алгебра и теория вероятностей. Более того, криптография дала развитие многим направлениям математики. Изучение вопросов анализа и синтеза начнем с описания простейших шифров. 140
В соответствии с традицией современной криптографии осо- бенности реализации криптографических систем основаны на оценках стойкости, полученных с помощью наиболее известных универсальных методов криптоанализа, методов анализа блочных и поточных шифров, анализа хэш-функций и алгоритмов с не- симметричным ключом. По мере знакомства с методами анализа читателю предлагаются разделы, содержащие методы синтеза крип- тоалгоритмов. Глава 10 СПОСОБЫ РЕАЛИЗАЦИИ КРИПТОСИСТЕМ С ЗАДАННОЙ СТОЙКОСТЬЮ 10.1. Определение шифра. Простейшие примеры Пусть даны конечные множества X, Y, К. Будем интерпретиро- вать элементы X как открытые сообщения, элементы Yкак шиф- рованное тексты, элементы К как ключи. Определение 10.1. Отображение Т: Хх К-> Указывается шиф- ром, если для V ке КЗ Т~1(у, к)=х. Пример 10.1. Пусть А={аь ..., ат} — конечный алфавит, Sm — множество всех подстановок на А. Для некоторого натурального п положим Х= Ап. Если х= (ah, ..., a/n), ке Sm, то определим шифр простой замены следующим образом: Дх, к) = (k(ah), k(at2),..., k(aia)). Так как в группе Sm для каждого элемента к есть обратный fc-1 так, что к к~1 = е — тождественная подстановка, то тогда T-^kta^, k(ai2),..., k(ain)>, k) = (k~lk(atl), k'1^), ..„ к'1^)) = >=(ah, ..., ain)=x. Таким образом, мы доказали, что для V л шифр простой заме- ны действительно удовлетворяет определению шифра. Пример 10.2. Пусть А = {аь ..., дот} — конечный алфавит, п — натуральное, Sn — симметрическая группа подстановок на мно- жестве {1, ..., п}, Х=Ап. Если х= (д/р ..., д/л), к = | ” |е Sn, \j/l ••• Jn J то шифр перестановки на X определяется следующим образом: Т(х, к) = (о/л, aij2,..., ау). 141
Если k~l(jlt , ]„) — обратная к к подстановка' в S„, то Т = 0%1> •••> @in)’ Тем самым также доказано, что шифр перестановки удовлет- воряет определению шифра. Пример 10.3. В отечественной криптографии следующий шифр Вернама [28] получил название гаммирование. Пусть А = {0, ...', т-1} — алфавит, Х-Ап — множество открытых текстов. Рассмот- рим кольцо вычетов Z/m. Положим К= Ап и для V х е X, к е К определим преобразование . • .; У- Т(х, к)=х+к, , • где «+» — сложение по’mod т, т.е. сложение в Z/m (соответствен- но обратная операция обозначается «-»). Введенное преобразова- ние — шифр, так как для любого фиксированного к существует обратное отображение' ; Л)=у-Л=х. Традиционно для данного вида шифра ключ к обозначается гре- ческой буквой у, откуда в отечественной криптографии и появи- лось соответствующее название. Так как гамму при больших, п ча- сто записывали в блокнот, то за рубежом стали использовать тер- мин блокнотный шифр (pad).., ,, Пример 10.4. Американский стандарт шифрования известен под названием DES [27]. Этот шифр реализует простую замену на алфавите из всех двоичных векторов длины 64 бита. Выбор подстановки осуществляется по ключу длиной 56 бит. Ключ пре- образуется в шестнадцать 48-битовых комбинаций. Подстановки вычисляются для любого 64-битногр вектора открытого текста путем реализации 16 циклов повторения одного преобразования. На вход i-го преобразования поступают два 32-битных (левый Д_1, правый Rj_i) вектора, полученных от предыдущего цикла, или это входной вектор, переставленный по перестановке IP и разделенный пополам на, две 32-битных части’(левую Д ,и пра- вую Rq). Еще одним входом для /-го цикла преобразования явля- ется 48-битная комбинация ключа. Результатом (-го цикла пре- образования "является составленный из двух 32-битных частей (левой Lj и правой’Д) 64-битный вектор промежуточного шифр- текста. Схема алгоритма DES условно представлена на рис. 10.1. На этой схеме Ф — побитовое сложение двух 32-битных векто- ров по модулю 2, IP — начальная перестановка бит, IP-1 — об- ратная к IP перестановка. Перестановки 1Ри IP’1 представлены в табл. 10.1. 142
Рис. 10.1 Таблица 10.1 58 IP IP-' 50 42 34 26 18 10 2 40 8 48 16 56 24 64 32 60 52 44 36 28 20 12 4 39 7 47 15 55 23 63 31 62 54 46 38 30 22 14 6 38 6 46 14 54 22 62 30 143
Окончание табл. 10.1 IP IP-1 64 56 48 40 32 24 16 8 37 5 45 13 53 21 61 29 57 49 41 33 25 17 9 1 36 4 44 12 52 20 60 28 59 51 43 35 27 19 11 3 35 3 43 11 51 19 59 27 61 53 45 37 29 21 13 5 34 2 42 10 50 18 58 26 63 55 47 39 31 23 15 7 33 1 41 9 49 17 57 25 Алгоритм вычисления функции/приведен на рис. 10.2. В табл. 10.2 представлена функция расширения Е и перестанов- ка Р. Схема 5,-бокса показана на рис. 10.3. 5-боксы DES приведены в табл. 10.3. Здесь контрольные биты CL и CR являются входами в таблицу по горизонтали, а 1—4 биты — входами в таблицу по вертикали. Так, например, 5t(l,0,l,l,l,0) = (1,0,1,1). Ключи .....получаются из 64 бит ключа DES следующим образом. Определим v,-, 1< i < 16: v,= 1 для i = {1, 2, 9, 16} и v,= 2 для остальных i. Из 64 бит ключа выбираются 56 бит и делятся на две части Q и Do по 28 бит согласно выборке—перестановке РС1 в табл. 10.4. Со и записываются в два циклических регистра сдвига Л-i Л Расширение Ф — 8x6 бит JL_L JL 5*1 5*2 5з JL JL JL JL S4 5*5 S7 5*8 Подстановка S Гт г г п УгГ Перестановка Рис. 10.2 8 х4 бит 144
Таблица 10.2 Е Р 32 1 2 3 4 5 16 7 20 21 4 5 6 7 8 9 29 12 28 17 8 9 10 11 12 13 1 15 23 26 12 13 14 15 16 17 5 18 31 10 16 17 18 19 20 21 2 8 24 14 20 21 22 23 -24 25 32 27 3 9 24 25 26 27 28 29 19 13 30 6 28 . 29 30 31 32 1 22 11 4 25 влево. На каждом цикле оба регистра сдвигаются на v„ 1< i < 16 бит, получая таким образом С,- и Д. В сумме происходит сдвиг на 28 бит, что возвращает заполнения регистров в исходное поло- жение. Ключ Кь 1< i < 16, получается из С, и Д согласно РС1 в табл. 10.4. При любом данном ключе к расшифрование DES отличается от зашифрования только тем, что регистры сдвигаются вправо в порядке, обратном зашифрованию. Начинается расшифрование с перестановки бит 1Р~1, а заканчивается перестановкой IP. DES сыграл в США огромную роль при формировании системы элек- тронных платежей. В настоящее время известно более 65 офици- альных производителей реализаций DES в виде программного обеспечения или микросхем. Пример 10.5. Отечественный стандарт шифрования ГОСТ 28147— 89 [51]. Рассмотрим режим простой замены данного ГОСТа. Этот режим является основным, и на его основе реализуются другие режимы шифрования. Исходный открытый текст М (бинарная последовательность) разбивается на блоки длиной 64 бит: М=МХМ2... |М-| =64. Длина ключа К равна 256 битам. Ключ К разбивается на блоки длиной 32 бит: K=PlP2...Pi, |Р,| = 32,1=1,..., 8. II II II CL 1 2 3 4 CR Подстановка St Рис. 10.3 145
Таблица 10.3 51 CL CR 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 14 4 13 1 2 15 11 8 .- 3 10 6 12 5 9 0 7 0 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 1 0 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 1 1 15 12 8 2 4 9 1. 7 5 11 3 14 10 0 6 13 , ~ *$2 CL CR 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 0 1 3 13 4 7 15 2 8 14. 12 0 1 . . 10 6 9 11 5 1 0 0 14 7 11 -10 4 13 1 5 8 12 ,6 9 3 2 15 1 1 13 8 10 1 . 3 15 4 2 11 6 7 12 0 5 14 9 CL CR 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 .10 0 9 14 6 3 v 15 5 1 13 12 7 11 4 2 8 0 1 13 7 . 0 . 9 3 4 6 10 2 8 5 14 12 11 15 1 1 0 13 6 4\ 9 8 15 3 0 11 1 2 12 5 10 14 7 1 1 1 10 .13 0 6 9 . . 8 7 .. ; 4- 15 14 3 11 5 2 12
15 in <-4 О\ >- *п 15 О\ \о »“Ч СП 15 1-Ч оо \О СП 1-4 14 00 еч 14 тГ’ г-4 00 О <п 14 Ш СП оо 13 ГЧ ^4 О v-H О1 О' 13 О о\ СП 13 О' 1-4 1-Ч СП т“Ч О 12 ^4 r—4 v-H ш еч т“Ч 12 СП г-Ч СП \о о т“Ч 12 *-ч О т“Ч \о in ГЧ *“Ч т—Ч 1“М. w4 ш »“Ч о *“Ч <п О\ ^4 w4 »“Ч О О' 10 00 еЧ СП Ш 10 СП ш »“Ч еч i-Ч о 10 СП СП 1-Ч *“Ч O\ CM Ю v-H о\ Ш О О\ in ^ч ©\ ’ 1-Ч ^ч О т“Ч 00 1-Ч ш v-H О\ 00 00 ш <п ! »“Ч АО 00 О \О О' o- о ^4 СП СП v-H 00 О' \о ^ч 00 СП i-Ч О' 00 ш СП О ^ч 's© O\ о О' СП ^ч 'ч© т—1 *“Ч СП i-Ч о- еч 'ч© \о о\ еч т“Ч Ш *-ч \O ш ^ч ^Ч *“Ч 1-4 ш о т-Ч О' СП 1-Ч т“Ч х> еч" еч <“Ч 00 ш ТГ О \о еч ^ч О т—Ч О' О i тг ‘ О\ О- еч О\ СП ш О \О СП ^ч еч i-Ч <^ч ^ч О' СП 15 сч ш еч ГЧ 14 v-H v-H О\ О еч еч ' i-Ч еч i-Ч еч О »“Ч ш еч w4 00 \о ш ^ч Л"4 еч ^ч еч 00 лН т“Ч еч т“Ч т“Ч СП О О- СП г—( о СП о еч . ^ч <“Ч 1-4 О еч О т“Ч О\ CR О w4 О *4 CR о ^4 ‘о »< CR О w4 © w4 CL о о w4 w4 CL о ©' ^4 Я, © © *4 ^4 147
Окончание табл,. 10,3 CL CR 0 1 2 3 4 5 6 7 8 9 10 И 12 13 14 15 0 0 4 11 2 14 15 0 8 13 3 12 9 7 . 5 10 6 1 0 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 0 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 1 1 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12 *$8 CL CR 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 0 1 1 15 : 13 8 10 3 7 4 12 5 6 11 0 14 9 2 1 0 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 , 1 1 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
Таблица 10.4 PCI Cl •. Di 57 49 41 33 25 17 9 63 55 47 39. 31 23 .15 1 58 50 42' 34. 26 18 7 62 54 46 38 30 22 10 2 59 51 43 35 27 14 6 61 53. 45 37 29 19 И 3 60 52 44 36 21 13 5 28 20 12 4 РС2 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 .8 1<5 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 При шифровании используется ключевая последовательность (Д, К31, К32) = (Рь Р2,Ps, Рь Р2,Р8, Рь Р2,Р8, Р„РЪ ...,РХ), • а при расшифровании (К{, К2,..., К'зъ К'32) = (Рь.... Р7, Р8, Р8, Р7,.... Рь Р8, Р7,Рь РьР!,...^). Таким образом, К; = Kn+\_i , i = 1; 2, п; п = 32. Функция сдвига R определяется следующим образом: P(«i а2... а32) = а12 а13 ... а32 а; а2 ... ап. Обозначим через + сложение по модулю 232; Ф — побитное сложение (исключающее ИЛИ); +' — сложение по модулю 232- 1. Блок подстановки реализует функцию fs(w), | w\ = 32. Функция fs(w) — это подстановка на множестве {0; I}32. Параметр S явля- ется сменным и определяет долговременные ключи криптосисте- 149
мы ГОСТ 28147—89. Подстановка S задается в виде последова- тельности 5= (ль тс2, л8), где л,- — подстановка на множестве Q, = {0, 1, 2, 9, А, В, С, D, Е, F} (множество всех цифр 16-ричной системы счисления). Каждый элемент из Q естествен- ным образом отождествляем с соответствующим четырехразряд- ным двоичным числом (последовательностью из четырех бит). Из определения 5 следует, что число различных выборов этого пара- метра равно (16)!8. Значение функции fs(w) вычисляется следующим образом. Если w=VxV2 ••• v8, |v,| = 4, тоA(w) = 7ti(vi) Лгбъ)^(vs). Рассмотрим процедуру зашифрования. Пусть М- at a2... — блок открытого текста. Введем обозначения йб = (Х32 (Х31... «ь А)= ®64 ••• “зз- Тогда процедура зашифрования блока Мс помощью крипто- алгоритма ГОСТ 28147—89 описывается рекурсивными уравне- ниями: + Zi=R(ri), (101) at=Zi®bi_i, bi=ai.l, z=l,..., л-1; л=32; Х/1 = ^Л-1 + ^П, Уп =fs(.Xri)l Zn = ^(Уп), QQ 2) йп = @п-1> b„ = Zh® Ьп_\. Если a„=pi, Р2, —> Р32, ^»=Yi> Y2, —, Тэг и Т— блок шифрованно- го текста, соответствующий блоку открытого текста М, то Т= ГОСТИЛ/) = Рз2... Pi Уз2-..-Yi- Убедимся, что ГОСТ^-(Т) = М, где К' = КпКп_1...Къ т.е. К- = = Kn+i-i, i= 1, ...» п. Из сказанного выше следует, что flo = <z„, Z>o=bn. ’ И при i= 1 из системы (10.1) получим 1 х1' = Оо + ki=an + kn. f Поскольку, согласно (10.2), a„ = a„_i, то xi=an.x-ykn = xn. Поэтому, учитывая .(Ю.1) и (10.2), будем иметь У\ =fs(x[) =fsM = Уп, Zi=R(y() = R(yn) = Zn; а{ = z[ ®'bo = Zn® bn = Zn® (Zn® bn_!) = i-b, b[ = a[) = 'an = an-i- 150
Допустим, что мы уже установили.справедливость, соотноше- ний , а1-1 = Ьп-1+1> ^1-1= ^n-i+1 (10.3) при всех к £ 1, i > 2. Докажем их справедливость для к= i. Соглас- но алгоритму зашифрования и индуктивному предположению (10.3), из (10.1) следует, что X/ = O/-i + kj = Ьп+\_( + кп+\-.( = dn+i + ^л+i-f= хи+1_/. Следовательно, Vi ~fs^n+\-i) = Уп+1-it Zi = Ш.Уп+1-i) = Zn+l-b di = Zi ® bj_i = Zn+l-i ® @n+l-i = Zn+l-i ® (Zn+l-i ® bn-i) = bj = dj_i = Z>n+i_/= dn_j. Таким образом, для любого i= 1, ..., п @1 =Ъп-Ь bi = dn-i- ... В частности, oB-i = ^i> Поэтому из (10.1) и (10.2) будем иметь \ х’п = a„'_i + = bi + ку = d0 + кх = xt; : y'n=fs(xi)=yi, % = R(yi) = Zi, ' > ®n = Pn-l = Ь{> Z>' = ® i = Zi ® Oi ® Zi ® (Z| ® b0) = b0. '* Следовательно, T' = ГОСТИТ) = Mи взаимная однозначность криптографического преобразования ГОСТ 28147—89 установлена. 10.2. Стойкость шифров < ’ ’ Данное в предыдущем, подразделе определение шифра не раз- граничивает хорошие и плохие шифры. Однако главная цель шиф- ра — надежная защита скрываемой информации, поэтому особен- ности применения шифра связаны прежде всего с . надежностью защиты. В криптографии принят термин «стойкость» шифра. Под этим понимается устойчивость защиты перед атаками противни- ка, получившего какие-либо сведения, связанные с шифром или информацией, закрываемой с помощью шифра, или просто сам шифртекст. Отсюда способы реализации криптографической под- системы — это прежде всего способы обеспечения заданной стой- кости шифров, используемых для защиты информации. 151
Рассмотрим подробней ситуацию, в которой ведется крипто- анализ. В определение шифра входят следующие параметры Т, х, у, к, Т~1. Защищаемая информация описывается параметром х. Сама идея криптоанализа основана на том, что противник перехватил и имеет шифртекст на; руках у. Классифицируем основные усло- вия криптоанализа. 1. Известны только один или несколько шифртекстов у. В этих условиях решают следующие задачи: а) нахождение Т (определение типа шифра); б) нахождение Т, Т~1, х (дешифрование по шифртексту). 2. Известны одна или несколько пар (х, у). В этих условиях надо определить вид шифра Т (Г-1) и найти к. Это редкая ситуация. 3. Известны вид шифра один или несколько шифртек- стов у. Найти: а) х (бесключевое чтение); б) к, х (дешифрование по шифртексту при известной шифр- системе). 4. Известны вид шифра Т, Т~1, одна или несколько пар (х, у). Найти к. Это типичные условия криптоанализа. Стойкость шиф- ров оценивается именно в этих условиях. Иногда отдельно возни- кают ситуации, когда известно много пар (х, у), так что. можно подобрать х или у, удовлетворяющие некоторым дополнительным условиям. Тогда говорят об атаке с использованием выбранного открытого или шифрованйого текста. 5. Известны Т, Т~1, шифртекст у или пары (х, у), некоторая форма преобразования Т{., к), но не известны к и Т~1(., к). До- пустимость таких постановок задач рассматривалась В. Диффи и М. Хеллманом в 1976 г. Системы шифрования, где допускается возможность знания Т{., к) без раскрытия к и Т~1, получили название систем с открытым ключом. Разрешимость для противника указанных задач определяет стой- кость шифра в соответствующих условиях, а методы решения этих задач называются методами криптоанализа. Универсальные мето- ды криптоанализа — это такйё методы, которые с определенны- ми вариациями применимы ко многим шифрам. В криптографии разработаны два базовых подхода в оценке стой- кости шифров. Основы первого подхода (совершенная секретность) К. Шеннон изложил в своей работе [28] в 1948 г. Рассмотрим этот подход. Шеннон предложил следующую модель обращения с па- раметрами, описывающую шифрование и действия противника. Пусть Х= {хь ..., х„}, Y= {уь ..., ут} — множества открытых сообще- ний и возможных шифртекстов соответственно. Открытый текст для передачи в шифрованном виде выбирается случайно в соот- п ветствии с распределением {P(xi),..., Р(хл), Р(х,) > 0, ^Р(х() = 1}. — <=1 Тогда при решении задачи вскрытия х,- по известному у,- против- 152
ник может вычислить апостериорные вероятности сообщений, ко- торые могли быть посланы P(xs |уу), .$= 1, п. Если задача де- шифрования решена и открытый текст найден, то апостериорное распределение вырождено: Р(х, | у}) = 1, P(xs I yy) = 0 при s * i. Таким образом, в апостериорных вероятностях {Р(х|у), хе X} отражаются даже частичные сведения об открытом тексте, полу- ченном при перехвате криптограммы. Шеннон определил совер- шенную секретность (стойкость) шифра условйем: апостериор- ные распределения на открытых текстах при любом у е Y совпада- ют с априорным распределением на X, т.е. Р(х|у) = Р(х) для лю- бых хе X, у е Y. Пример 10.6. Пусть JT={0, 1}г, Г={0, 1}г,\^={0, 1}г, г - нату- ральное число и Т(х, к) = (х ® A) (mod 2), Т~1(у, к) = (у © k)(mod 2), т.е. рассматривается гаммирование в двоичном алфавите...Пусть также (Р^(х), х е X) —: произвольное распределение вероятно- стей на-X. Предположим, что к выбирается случайно й равноверо- 1 Т ятно из К, т.е, V ке К, Р,к(к) = . Иными словами, знаки гаммы выбираются из множества {0, 1} независимо друг от друга и от открытого текста с равными вероятностями Р(0) = Р(1) = 1 т -. Тогда для любого у е Y' Р(У)= X Р(х,к)=^Рх(х) X Р(*|х) = хёХ х&Х ‘ ЛеЛ'- 1 . кеК , y=(x®fc)(mod 2) y=(x®£)(mod 2) хеХ 2 2 Р( I ) = Р(х, у) = Рх(х)Рк ((х® k)(mod 2)) = J_ Р(х) ‘ Рх<х) 2Г По формуле Байеса Pfxlv) - Pa-(x)P(j|x) _ Рх(х) _ р , . 2Г 153
Следовательно, гаммирование при помощи последовательно- сти, полученной путем реализации независимых равновероятных случайных векторов,1 является совершенным шифром. Подход Шеннона превратил криптографию из искусства в на- уку, так как появилась возможность доказывать защищенность информации с помощью Шифра. Однако реализовать последова- тельность независимых и равновероятных случайных величин ока- залось делом сложным. Кроме того, объем ключа в совершенном шифре совпадает с объемом сообщения, что затрудняет 'выполне- ние .условия секретности ключа. . , “ Следующим шагом в теоретическом подходе к оценке стойко- сти шифров послужила оценка числа открытых текстов, которые мы можем получить, применяя всё возможные способы.преобра- зования имеющихся шифртекстов при неизвестном заранее клю- че. .Смысл этого подхода поясним на примере, не связанном с криптографией. Пример 10.7. Пусть мы шраем в игру: надо угадать слово по имеющимся в порядке их следования некоторым буквам этого слова. Предположим, что дана1 буква «п». Если нет каких-либо ограниче- ний на возможное слово, позволяющее однозначно назвать допу- стимое слово по одной известной из него букве, то существует много слов, имеющих букву «п», и мы не можем даже приблизи- тельно‘указать слово, которое нам предложили угадать, т.е: не получаем достаточно информации, спрятанной за этим словом. В аналогичных условиях мы не можем восстановить слово, даже зная несколько букв4 Например,, нам известно, что, первыми .тре- мя буквами слова являются буквы «при». Без дополнительных ог- раничений мы можем указать множество различных пр смыслу слов, имеющих приставку «при». Поэтому это буквосочетание по- чти ничего не дает к пониманию смысла, неизвестного слова. Аналогично, если при дешифрований уравнение Т(х, к) = у имеет много решений х, а ключ может принимать любые допу- стимые значения, то возможно много осмысленных текстов х, удовлетворяющих имеющимся в нашем распоряжении ограниче- ниям и имеющих примерно одинаковую вероятность их появле- ния в качестве открытых текстов. Тогда нет алгоритма, решающе- го задачу дешифрования (в смысле однозначного нахождения от- крытого текста и ключа). Наоборот, во многих моделях шифров можно доказать, что такое решение единственно. Другой подход к определению стойкости берет начало в той же работе Шеннона [28] и называется практической стойкостью, или сложностным подходом к определению стойкости. Традиционно рассматриваются ситуации З.б или 4 основных условия крипто- анализа. Рассмотрим выражение Т(х, к) =у как уравнение относи- тельно xw. к. Тогда решение этого уравнения предполагает суще- 154
ствование алгоритма, для которого, в. математике определено по- нятие сложности [13]. Сложность характеризуется двумя парамет- рами: число операций для вычисления результата (трудоёмкость алгоритма) и объем необходимой памяти. Число операций при данном уровне развития вычислительной техники связано со вре- менем работы алгоритма, поэтому стойкость можно выразить в терминах времени работы алгоритма дешифрования. Естественное требование надежности шифра — высокая сложность всех воз- можных алгоритмов дешифрования. Замечание 10.1. Возможно повышать сложность алгоритмов дешиф- рования, увеличивая сложность преобразования Т(х, к) -у. Однако, если сложность вычисления Т(х, к) и Г-1(у, к) при известном к будут вели- ки, то практически такой шифр трудно использовать. Поэтому наряду с требованием сложности решения уравнения Т(х, к)=у при неизвестном к привлекают естественное требование простоты вычисления Т(х, к) и Т~1(у, к) при известном к. . < Замечание 10.2. Требование высокой сложности при всех возможных алгоритмах дешифрования неконструктивно, так как опирается на по- тенциальную возможность перечисления всех возможных. алгоритмов дешифрования. Практически [50] это .требование заменяется реализу- емым условием высокой трудоемкости при всех известных создателям шифра метод ах дешифрования. Большинство универсальных методов опуб- ликовано в литературе, и мы будем рассматривать задачу синтеза шиф- ров, стойких относительно универсальных методов.
Глава 11 УНИВЕРСАЛЬНЫЕ МЕТОДЫ КРИПТОАНАЛИЗА Будем считать, что задача дешифрования решается в условиях 4 (см. подразд. 10.2), когда известна одна или несколько пар (х, у) и известны Т и Т~1, а не известен только ключ. Несмотря на название, не все универсальные методы всегда применимы. Так как некоторые из них значительно снижают стой- кость шифра, создатели стараются делать так, чтобы универсаль- ные методы были к их шифрам неприменимы. Вместе с тем все множества X, Y, К конечны. Поэтому потенциально можно пере- брать все их элементы и найтй все решения уравнения Дх, к) =у. Следовательно, множество методов, применимых к данной шифр- системе, не пусто. 11.1. Метод полного перебора Рассмотрим уравнение относительно ке АГ при известной паре (х, у), хе X, у е У: Г(х, к)=у. (11.1) Пусть для простоты для каждой пары (х, у) существует един- ственный ключ к, удовлетворяющий (11.1). Упорядочим множе- ство К в соответствии с заданным порядком и будем последова- тельно проверять ключи из К на предмет равенства в уравнении (11.1). Если считать проверку одного варианта ключа ке Кв урав- нении (11.1) за одну операцию, то полный перебор ключей по- требует | АГ| операций, где знаком | • | обозначается число эле- ментов в множестве. Пусть ключ в схеме шифрования выбирается случайно и равновероятно из множества К. Тогда с вероятностью трудоемкость метода полного перебора равна 1. Это происхо- 1*1 156
дит тогда, когда случайно выбран ключ, расположенный в нашем порядке на первом месте. Поэтому естественно в качестве оценки трудоемкости метода взять математическое ожидание (среднее) числа шагов в переборе до попадания на использованный ключ. Найдем среднее число шагов в методе полного перебора, когда порядок фиксирован, а выбор ключа случаен и равновероятен. Пусть случайная величина т — число опробований включительно до момента обнаружения использованного ключа. При i=’ 1,| *| случайные величины =1, если использованный ключ находится в порядке на месте i, и ^, = 0 — в противном случае. Тогда *T = fzP(^=l). (11.2) Если считать, что все ключи расположены в установленном порядке, то процедуру равновероятного выбора ключа можно представлять как равновероятный выбор числа z в последователь- ности натуральных чисел 1, ...,|*|. Тогда Р& = 1)= i длялюбо- |л| го i = 1, ..., | *|. Подставляя полученные.значения в (11.2), имеем 1 И ^-'= IWI+i) W-2 При больших I *| можно приблизительно считать Ех~'-—-. Пример 11.1. В DES 56-битный ключ. Значит, | *| = 256« 1017. Средняя трудоемкость полного перебора 255 = 0,5 • 1017. Алгоритмы полного перебора допускают распараллеливание, что позволяет значительно ускорить нахождение ключа. Можно предложить два направления в организации параллельного вы- числения ключа [Г]. Во-первых, построение конвейера. Пусть алгоритм проверки равенства Т(х, к)=у представим в виде детерминированной це- почки простейших действий (операций): О1} О2, ..., ON. Возьмем N процессоров Аъ AN, зададим их порядок и положим, что z-й процессор выполняет три одинаковые по времени операции: 1) прием данных от (/— 1)-го процессора; 2); выполнение опера- ции (?,•; 3) передача данйых следующему (z + 1)-му процессору. Тогда конвейер из АГ последовательно соединенных, параллельно и синхронно работающих процессоров имеет скорость г/3, где v — скорость выполнения одной операции процессором; Если мы со скоростью v/З подаем на вход ключи к е К, то с такой же скоростью будем получать результат на выходе. 157
Постоянная для процессора задержка N тактов между момен- том входа ключа к и ответом, ^является ли ключ к решением (11Д), мала по сравнению с | A'l . Поэтому рассмотренный конвейер под- тверждает допустимость предположения о том, что сложный ал- горитм вычисления Т(х, к) и сравнение с у можно считать эле- ментарной операцией (на самом деле в нашем примере требуются 3 элементарные операции независимо от .сложности алгоритма проверки ключа при | _АГ|» N). Второе направление распараллеливания состоит в том, что множество натуральных чисел 1, 2, ..., | АГ| разбивается на непере- секающиеся подмножества ,..., BR. В каждом из них может быть свой порядок. Система из R машин перебирает ключи так, что /-я машина осуществляет перебор ключей из множества Bh i= 1,..., R. Система прекращает работу, если одна из машин нашла ключ. Пример 11.2. Если одна машина опробует один ключ за 10-6 с, то для того, чтобы найти ключ DES полным перебором за 24 ч на Я-машинной системе при |д| =....= |Д?|, надо, чтобы 1017 = 109 2 864-Ю8 2-864 = 5,787 -ДО5, машин. Если нас устраивает срок, 100 сут, то таких машин надо всего 5787. В последнее время широкое распространение получили глобаль- ные сети ЭВМ. Можно сделать вирус, который выполняет следу- ющие задачи: опробует ключи в свободное время процессора, на- чиная с некоторого номера; в случае положительного решения передает ответ и самоуничтожается, а также распространяет-ви- рус, который всем другим работающим над опробованием виру- сам приказывает самруничтожиться. Аналогичная идея распараллеливания предложена в «китай- ской лотерее» [51]. В каждый телевизор или радиоприемник на внутреннем рынке Китая вмонтирован чип, который принимает открытый и шифрованный текст и начинает опробование задан- ного участка ключей DES. Если ключ найден, то аппарат дает сигнал, а его владелец, должен сообщить о сигнале в правитель- ственный орган, там его ждет приз. Если правительству нужен очередной ключ, то в широковещательной программе передаются открытый и шифрованные тексты, по которым включаются чипы в телевизорах,и радиоприемниках. По данным [51], на 1995 г. «ки- тайская лотерея» при использовании чипа в 1 млн операций в секунду могла позволить вскрыть ключ DES в Китае за 280 с, в США —за 97 с. Самой большой сложностью в изложенном подходе является организация деления ключевого множества. Однако можно сде- 158
лать старт с любого числа и случайно выбранного ключа. Время опробования увеличится, но схема значительно упростится. Рассмотрим задачу о среднем времени опробования N про- цессорами (машинами) ключей из множества АГ при старте каж- дого процессора со случайной точки при каждом очередном оп- робовании. Пусть все машины проработали т шагов. Тогда сде- лано № опробований. Рассмотренная задача имеет аналог в за- даче распределения частиц в классической задаче о размещениях [14]. Предположим, что все машины работают синхронно. Обо- значим число тактов опробования до первого обнаружения клю- ча через т|- ' Если частицы бросаются порциями по N штук (т.е. машины работают синхронно), то вероятность того, что из комплекта с номером i ни одна частица не попадет в данную ячейку, равна z y - ,=т '• Тогда вероятность того, что произойдет первое попадание в данную ячейку на комплекте с номером t, равна 1-Й; Среднее геометрического распределения равно Ех = Так как N«. | А"|, то Пример 11.3. При случайном старте каждого чипа при пол- ном опробовании и времени одного опробования на одном чипе 10-6 с для определения ключа за 100 сут потребуется _У= = 11574 машин. Иначе говоря, случайный старт в два раза; увеличивает необхо- димое количество процессоров при одном и том же времени ожи- дания результата. 159
11.2. Аналитический метод | Пусть множество ключей К представимо в виде прямого про- 1 изведения множеств К = К2х... х Кг. Например, множество | ключей DES К= {О, I}56. Пусть дешифровщик получил открытое сообщение x = xj х2... xs и шифрсообщение y = yiy2... уеттде для простоты считаем, что х и у слова длины s в одном алфавите А, т.е. х,-, у,е А. Тогда можно составить систему уравнений шифрова- ния, выписанную для Т в каком-либо базисе операций: Л х„ къ ..., Лг); ................................. (П.З) Л =Л(*ь ..., х„ ки кг). В этих уравнениях при известных /, х, у остаются неизвестными только к[, ..., кг. Отметим, что | *| = | | х | К21 х... х | Kr | и полный перебор тре- - |*| бует *-_!• опробовании. Анализ получившейся системы (11.3) может подсказать более быстрые способы ее решения, чем полный перебор. Пример 11.4. Пусть система (11.3) может быть преобразована к виду: gi(x,y) = Ai(x,y,^); &(*> У)=h2(x, у, kb kJ; (П-4) &(х, у)=hr(x, у, kh ki,..., kr). Тогда [24], опробуя |*i | вариантов ключа кх е К{ и используя для проверки правильности первое уравнение в (11.4), мы можем восстановить ключ fa. Подставив полученное значение во второе уравнение, используем его для проверки правильности варианта для к2 е К2, затратив при этом не более | К21 операций опробова- ния. Найдя fa, подставим его в третье уравнение и т.д. В результа- те весь ключ к= (fa, fa, ..., fa) мы получим, проведя не более чем I *i | +1К21 +... +1 Kr | опробований. Это число, как правило, значи- тельно меньше, чем й = ^( | *i |х| К21х... х| *г|). Например, при I *i I = | К21, г = 2, трудоемкость метода ~ 2Vl*|. В этом случае для 56-битного ключа вместо -256 = 2 Д°статочно выполнить 2 • 228 < 109 операций. 160
Пример 11.5. Значительное упрощение, задачи дешифрования получаем, когда в системе (11.3) мы каким-либо образом можем выделить линейную подсистему уравнений. В этом случае можно применить известные методы решения систем линейных уравне- ний, которые по трудоемкости и памяти значительно меньше переборных методов. В самом деле, пусть в (11.3) выделена подси- стема gi(x, y) = ^bekj, z=l,..., t. j=i Применим для ее решения метод Гаусса и найдем трудоем- кость для случая, когда &(•) е {0,1} и линейная система рассмат- ривается над GF(2). Если система линейных уравнений с г неизвестными совмест- на и имеет вид ^bukj = с/> * = Ъ •••> r> /=i то ее решение методом Гаусса предполагает на первом этапе не более г операций выделения строк с bi} = 1, не более (r+ l)(r- 1) операций вычитания из первой строки с Ьц = 1 остальных строк с bml = 1. Итого получаем оценку г2 операций на первом этапе. На втором этапе делаем то же самое с подсистемой , 7=2 Оценка трудоемкости здесь (г- I)2 операций. Продолжая этот алгоритм, в результате получим трудоемкость метода . ^к2 = r(r + l)(2r + l) s г\ к=\ 6 3 Таким образом/нахождение 64-битного ключа методом пол- ного перебора составило бы 2е4 • 1019 операций, а если задача сведена к решению линейной системы уравнений, то трудоем- 643 кость не превосходит -у = 8,7 • 104 операций. Пример 11.6. В книге [2] линейные рекуррентные последова- тельности над GF(2) рекомендуются в качестве хорошего шифра. Линейная рекуррента описывается законом Y«+< =Z«/Y«+i, л = 0,1,..., (11.5) /=0 где сложение и умножение осуществляется в GF(2). 6 Груню 161
Иногда говорят, что такие рекуррентные последовательности порождаются линейными регистрами 'сдвига (регистром сдвига с линейной'обратной связью). Последовательность {у„ 5 = 0, 1, ...} может использоваться в шифре гаммирования по mod 2, ключом является начальное заполнение регистра сдвига (у0, yf, —, Уг-i) = =у(0). Нетрудно видеть, что существует матрица А такая, что лю- бой вектор последовательных t значений рекурренты равен степе- ни матрицы А, умноженной на у(0). Если закон рекурренты изве- стен, то задача определения ключа сводится к решению системы линейных уравнений размера txt и поэтому данный шифр не- стойкий. Если линейная рекуррента неизвестна, то при: известной у по- лучаем линейную систему относительно коэффициентов af, ре- шив ее, можем узнать ключ у(0) [49]. Пример 11.7. Пусть двоичная гамма в шифре гаммирования по mod 2 получена с помощью,нелинейной рекурренты (регистра сдвига с нелинейной обратной связью или просто нелинейного регистра сдвига) УП+/=Ж, У»+ь У»+г-1)> л = 0> 1. - (И.6) Пусть /такова, что при любом начальном заполнении регистра последовательность периодична, тогда порождающий ее нелиней- ный регистр сдвига называется регулярным. В этом случае оказыва- ется, что для любого начального заполнения существует линей- ная рекуррента вида (11.5) размера v (v > t) такая, что порожда- емая ею последовательность совпадает с последовательностью, по- рождаемой при этом начальном заполнении регистром сдвига с нелинейной обратной связью. > Доказательство существования линейной рекурренты очевид- но, так как если последовательность у0, уь ..., Уг, Уг+ь — периоди- чна с периодом Т, то линейный регистр сдвига вида у„+г = у,„ /7 = 0, 1, ..., порождает ту же последовательность, что (11.6). . Определение 11.1. Длина минимального линейного регистра сдвига, порождающего данную цериодическую последовательность (регулярного нелинейного регистра сдвига), называется линейной сложностью регулярного нелинейного регистра сдвига. Если гамма для шифра гаммирования порождается регуляр- ным нелинейным регистром сдвига с линейной сложностью Т и ключом является начальное заполнение регистра, то из существо- вания линейного регистра сдвига длины Т, порождающего дан- ную гамму, следует, что нахождение ключа сводится к линейной системе размера Т. Откуда сложность дешифрования не превосхо- уз дит —. Однако построение эквивалентного минимального ли- нейного регистра сдвига по последовательности гаммы, не явля- 162
«гея, простой задачей. Вместе с тем, .чем меньше линейная слож- ность, тем проще задача дешифрования. Для полноты картины необходимо найти конструктивные условия регулярности нели- нейного регистра сдвига. Докажем следующую теорему. Теорема 11.1. Нелинейный регистр сдвига (11.6) над GF(2) регулярен тогда и только тогда, когда ftylU Тл+1> •••> Уп + Z-l) = Ул "* s(.n+lt •,••> Ул+/-1)ф, , (11’7) Доказательство. Если /имеет структуру (11.7), тогда для любой цепочки х2,..., Xf . /(О, х2, ..., х,) = 1 +/(1, Ъ, х) . (11.8) 'Обратно,' если при всех х2/...', х, выполняется (11.8), то имеет место представление (11.7). В самом деле, обозначив через g(x2,..., х,)=/(0, х2, xf), получим (11.7). Всегда из (1/8) следует, что /(ХЬ Х2; ..., Xf) =Xif(l, Х2, ..., X,)+/(1 +Xf)/(0, х2>1..., х,) = = Х,(/(0, х2, ..., х,) +/(1, х2, ..., х,)) +/(0, Х2, ..., х,) = = х1+/(0, х2, ..., х,). Рекуррента определяет отображение множества /-мерных век- торов в себя Г- (*1..xt) -> (х2, ..., xt, /(х„ ..., xt)). Рекуррента регулярна тогда и только тогда, когда Е — взаим- но-однозначное соответствие. Если верно (11.7) и существуют два вектора, переходящие при Fb один, то они могут отличаться только в X! и /(О, х2, ..., х,) =/(/ х2, ..., х,), что противоречит (11.8).(Обратно, при регулярности (11.6) имеем взаимно-однозначное отображение F, т.е. для любых (х2, ..., х,) вектора (х2, ..., х„ /(.О', Х2, ..., X,)) * (х2, ..., Х„ /(1, Х2, ...,/))., Следовательно,' - • /(6„х2, ..., xt) = 1+Д1, Ха, ...,,xt), что и требовалось доказать/ • ‘' ,1’ ' ' " " 11.3. Метод «встреча посередине» Рассмотрим декадный метод построения сложного шифра из исходных простых. Даны два шифра Тх(х, ^) и T2(z, /г)- Шифртекст 163
у получается из открытого текста х композицией отображений 7\ и Т2, т.е. ' ’ • y=T2(Ti(x, kJ, к2). Ключ шифра — вектор к= (кь к^), где к2 еК[, к2 &К2, К = =КгхК2. Разумеется, в Т\ и Т2 согласованы области определения и значений при любых к{ е Кх и к2 е К2 и расшифрование происходит путем преобразования х= Тг1(Т2~1(у, к2), £,).' НА" I Трудоемкость полного перебора равна; 1 2'. Вместе с -тем можно сократить перебор, увеличив используемую память [44]. Пусть для известной пары (х, у) ключ (к{, к^ определяется един- ственным образом. Для всех-^Р е Кь i= 1,..., | К |, построим таб- лицу zi= Т^х, к{1>) .....-...................... (11.9) Z|jr,| = Ti(x, 1J**1). Вычисление (11.9) потребует | | операций опробования. По- строим следующую таблицу для всех k^y е К2, j = 1, |#2|: Z{=T2-I(y,k^) ........................................ (ИЛО) ' <к2| = T2-\y, k^). Вычисление (11.10) потребует |#21 операций опробования. Объединим (11.9) и (11.10) и проведем их упорядочение в соот- ветствии с некоторым порядком на множестве значений проме- жуточных шифртекстов z. Известно [21], что сложность упорядо- чения таблицы размера (IК{ | +1К21) оценивается величиной (I Ki | +1К21) In (| Kv |+1K21). Пара Zt=zj при некоторых (i,j) опре- деляет использованный ключ (к^, к^). Для ее нахождения до- статочно просмотреть таблицу. Число операций, которые мы за- тратили, - (|Ai | + |tf2|)+(l Х1|ч-| ^Г2|)1п( I Kt | + | tf2|). Если |tf| = N и | Ki | = | K21, то метод «встреча посередине» дает оценку y[N In#, что значительно меньше #при #->«>. Такой метод требует памя- ти размера 2N. 164
Пример 11.8. Рассмотрим вариант двой- ного DES. Пусть для повышения стойко- сти используется повторное шифрование алгоритмом DES на разных ключах и /Г2 (рис. 11.1). >' Д К2 Рис. 11.1 Тогда метод «встреча посередине» дает оценку трудоемкости 2561п2112= 100 1017= 1019, что значительно меньше полного'перебора (= 1034). Однако требуемая память = 1017 является значительной. Пример 11.9. Рассмотрим следующий шифр, допускающий бы- струю реализацию на ЭВМ. Для произвольного целого неотрица- тельного. числа п обозначим <п> — двоичное представление п, 1<п> — длина двоичного представления п, [я] — разбиение двоич- ного числа п на байты (дописав слева нули, если необходимо). Для вектора целых неотрицательных чисел п.= (яЬ' п2,..., ns) поло- жим <П> = {<П]>,<П2>, ..., <ns>), [й] = ([л1],[ я2], ..., [nJ). Рассмотрим симметричную группу подстановок S^. и для лю- бого ge 5г56 будем отождествлять записи: g = г...< т>... с..< im >... /я = 0,..., 255. ^...[zOT]..; J Пусть дана таблица / подстановок из 5256: &, ..., &и-_ь-1де М= = 1024. Эта таблица записана в памяти так, что для i= 0,М- 1 подстановка & имеет адрес <i> длины l<i> = 10. Тогда адреса а = (&ь ..., kg) 8 подстановок задаются двоичным вектором <а> = = (<&!>, ..., <kg>), /<а>=80. С другой стороны, [a] = ([rj,..., [г8]) — вектор из 10 байт. Пусть открытый текст х представим в виде по- следовательности байт х= (хь ..., X/). В качестве шифра рассмотрим простую замену байт открытого текста по подстановке g ё S256, полученной по правилу: 8 Skf''Sks> где <к> = (<к]>, ..., <kg>) — 80-битный ключ шиф*рования, кото- рый выбирается случайно и равновероятно, £,= 0,..., М- 1, l<kf> = = 10, gkl взято из таблицы I. Пусть даны открытый текст х и шифр- текст у. Рассмотрим атаку «встреча посередине» при условии, что таблица подстановок известна противнику. Разобьем ключ на две 40-битных половины и будем опробовать каждую из них, строя две таблицы: = gkigk2gk}gk4(x); къ к2, к3, к4 = 0, ...М-1, ^k5k6k7ks) =g-ig-ig-ig-i(y). kj) ki = 0) м-1. 165
Эти вычисления потребуют 2(1.024)4=241«2,-1012 операций оп- робования и памяти = 241 х / байт. . , . Проведем единое упорядочивание, двух таблиц и выбор пар одинаковых последовательностей z- Сложность такой, процедуры оценивается 241 • I • In (241 /) = 41 • 241 • / • In 2 = 8 • I • 1013 операций. 11.4. Метод «разделяй и побеждай» Пусть по-прежнему даны множества X открытых текстов, Y— шифрованных текстов, К — ключей, шифр Т: Хх К-> Y. Предположим, что множество ключей К допускает представ- ление К- Ki х К2, т.е. каждый ключ ке К может быть записан в виде вектора к= (Ль. Л2)> где к[ е К{, к^е К2. . Предположим дополнительно, что существует критерий Л, позволяющий при известных х и у проверять правильность компо- ненты kt в ключе к= (к1г ^). Таким образом, для любого ki функ- ция h(x, у, к[) = 1, если' Эк} е К2-такой, что Т(х, (к1} к})) =гу, и 7г(х, у, kt) = 0, если Vk2 е К2, то' Т(х, (к1} к2)) у. Если известные открытый и шифрованный тексты достаточно длинные, то довольно часто существует единственный ключ к та- кой, что Т(х, Л) = у, поэтому сделанное предположение допусти- мо. Тогда метод «разделяй и побеждай» предлагает опробовать сна- чала элементы множества Кх, отбраковывая варианты.^ по кри- терию h. Отсюда мы определим к\ — первую компоненту вектора к=(^1, ^). Затем, используя уравнение Т(х, (къ к})) = у относи^- тельно неизвестного параметра к^е-К}, опробуем варианты к2. Тру- ' I*d доемкость определения компоненты kY равна в среднем 3—11 опе- ’ " ! . ' . ' . .' ' . Я». раций опробования, соответственно трудоемкость определения к2 1*з| « К "т ' ' равна в среднем операции опробования. Тогда в среднем тру- 1^1 |Гг| |*1||*г| доемкость метода равна против —bi-ii при методе полного перебора. f Данный метод является обобщением изложенного в подразд. 11.2 аналитического метода подбора системы уравнений, зависящих от части ключей. Основная проблема при применении метода «разделяй и по- беждай» [36] состоит в нахождении критерия h, который зависит от конкретного преобразования Т или вообще может не суще- ствовать. Иногда критерий h может описываться вероятностно- статистической моделью. Мы рассмотрим такой пример в под- разд. 11.8. 166
У1 У1 Уз yiN-l yiN Рис. 11.2 Пример 11.10. Рассмотрим вариант двойного DES. Пусть ис- пользуются два ключа DES к\ и к2.' Открытый текст х разбивается на последовательность 64-битных блоков х = хь'х2, ..., х2ЛГ, а по- следовательность 64-битных блоков шифрованного текста у = yt, у2, •••> получается поочередным применением алгоритма DES с ключами ki и к^ к блокам открытого текста; сложенным с пре- дыдущим блоком шифртекста. Схема шифрования приведена на рис. 11.2. Пусть известны открытый и шифрованный тексты х, у и до- статочно велико. Для применения метода «разделяй и побеждай» выделим четные и нечетные пары блоков в (х, у): A={(x2k+i, y2fc+1), к = 0, ...“, N- 1} и В = {(х2к, у2к), к= 1, ..., N}. Преобразуем эти множества в следующие: А' = Ф у2к, У2*+1), к = 0, „., Д- 1, у0 = 0}, • ’ В' = {(x2Jt Ф У2*_ь у2к), к=1, N}. Блоки из Л' получены по ключу ку Определим его опробовани- . ,' 256 . ем, затратив в среднем — операций опробования. В качестве h здесь берем функцию, равную 1, когда DES(x2fc+i Ф у2к, к^ = = y2k+i, k = 0,N-l . Затем ищем к2, опираясь на множество В' и уравнение DES(x2(t ®.y2t_i, к2) =у2к. Определение к2 потребует в 256 . среднем — операций опробования. Тогда трудоемкость опреде- ления ключа к= (к[, к^) в среднем равна 256 операций опробова- ния. 11.5. Методы криптоанализа при неравновероятной гамме. Расстояние единственности Пусть открытые тексты — слова длины п в алфавите Z/m. Для того чтобы объяснить математическую теорию, разработанную для решения задачи, предположим, что гамма может принимать только 167
г значений. Множество открытых Хп и шифрованных текстов Y„ погружены в пространство Vn всех последовательностей длины п в алфавите Z/m. Следуя [28], операцию дешифрования можно пред- ставить графически в виде ряда линий, идущих от каждого шифр- текста ye Yn к различным хе Vn. В сделанных ранее предположени- ях каждый у е Yn связан ровно с к=г" различными хе Vn. Обозна- чим их х(1), ..., xw. Среди линий, идущих от у к х(1), ..., xw, имеется открытый текст хь. Если мы знаем признаки открытого текста (например, читаемость) и среди х(1).x(i) ровно один текст хь удовлетворяет этим признакам, то тем самым процедура дешифрования. завершена. Однако возможна ситуация, когда несколько текстов среди х(1),..., xw удовлетворяют признакам открытого текста. Тогда цель дешифрования — получение достоверной информации из раскры- того открытого, текста — не достигнута. Ясно, что на возможный исход дешифрования влияет величина г. Если г = 1, то от у к х ведет всего одна линия и по условию этот текст и есть открытый. Проблемы неоднозначности здесь нет. Если г=т, то от у ведет тп различных линий ко всем элементам У„. Значит, любой текст из Х„ является возможным открытым текстом, что не дает нам возмож- ности достигнуть цели дешифрованиями этот случай обязательно порождает неоднозначность прочтения криптограммы. Для того чтобы понять, при каких г возможно однозначное дешифрова- ние, а при каких г невозможно, рассмотрим следующую модель. На множестве ключей задана равномерная мера, т.е. любая до- пустимая гамма появляется с вероятностью 1/|Л]. Предположим также, что для любого заданного шифртекста у, соответствующего открытому тексту хь, все линий, связывающие у с х(1), ..., х(Л), кроме (у, хь), получены случайным и равновероятным выбором с возвращением из (тп-1) возможностей. Это предположение было впервые введено К. Шенноном [28] при определении «случайного шифра» (фактически мы рассматриваем частный случай «случай- ного шифра»). Если модель с этим и следующими предположени- ями позволит оценивать г, допускающее однозначное Дешифро- вание, и полученная оценка может быть, подтверждена экспери- ментами, то теория правильно отражает суть вопроса. Обозначим £,• случайную величину, равную 1, если х(,) являет- ся открытым текстом, и 0 — в противном случае. Тогда число открытых текстов т| среди х(1), ..., хда без хь равно к П = Х^-1- 1=1 А; Тогда EV) = -1. Для всех х(,), которые не равны х0, . В случае х(/) = хь E^t = 1. Тогда 168
£Я = (*-1)-Щ-.‘ (11.11) m" -1 . Если соотношение параметров таково, что £т]<s 1, то, по оцен- ке А. Маркова, Р(П 1) Рц « 1. Это означает, что появление ложных открытых текстов маловероятно или что Xq выделяется однозначно с большой вероятностью. Для изучения соотношений между параметрами необходимо оценить | . До сих пор мы представляли множество открытых сообщений х как подмножество множества Vn всех слов длины п. Однако нет оснований считать, что какая-либо последовательность не может стать сообщением. Просто вероятность встретить в качестве сооб- щения одни?слова много больше, чем другие. Поэтому предпола- гают, что всё последовательности длины п упорядочены в соот- ветствии с их вероятностями появления в общении на данном языке. Тогда собственно осмысленные (в бытовом понимании этого слова) выражения относятся к более вероятным, чем последова- тельности, смысл которых^ нам неясен (трудно представить себе общение при помощи труднопроизносимых буквосочетаний). Поскольку значения к, тп и I велики, то оценку | У| можно сделать асимптотически, предполагая п большим. Такие оценки Шеннон приводит в работе [24], к которой сейчас и .обратимся. Пусть . р(О1), .V., р(аи) (11.12) вероятности появления букв на фиксированном месте I в откры- том сообщении длины п (1 < i < я). Предположим, что буквы в сообщении появляются независимо друг от друга с одним и тем же распределением (11.12). Подобная модель открытых сообще- ний является грубой, но, как и выше, оценка для г, близкая к экспериментальной, покажет, что наш механизм анализа отража- ет сущность проблемы. Обозначим через v> /=Т, ...,' т, частоты букв дь ..., ат в последовательности х. Тогда вероятность выборах в нашей схеме равна , . ... P(x)=pV1 (О1) ... рЧо»,)- т ‘ Будем считать, что р(д,) > О, Я =-^p(a,)log2 р(а,). Теперь /=1 можем сформулировать теорему Шеннона. Теорема 11.2 (первая теорема Шеннона). Для любых е> 0 и 5 > О можно найти такое я0, что для любого я > Яо последовательности из Vn распадаются на два непересекающихся класса В и В так, что 1)Р(Я)<е; 2) V х е В выполняется неравенство 169
log2P~i(x) n <5. Доказательство. Возьмем произвольные малые e > 0 и 5 > 0 и рассмотрим события Р, = {хе V, |v( — пр(а^) | > 8п}, i= 1, т. По закону больших чисел 3 п^, что V п > (11.13) т Определим P = (JP(-. Тогда из (11.13) для №>max{n^°) . . w ' 1 ; ' — /и , — Р(Р),<£Р(Д)<е.. (11.14) <=i , 1 т Множество Р = Р|Р, может быть представлено в виде |=1 • ’ . - >.. . В= {хе У, V i (i = 1, т) 1<у(-пр{а^) | < Зя}. (11.15) Обозначим а, -V/- лр(а/), г=1, ..., т. Из (11.15) следует, что V i - 8л < а,- < 8л. Выразим Р(х), х е Р, через введенные параметры . Р(х) = ^(aO^Wi... (р(ат)У^+а”. Тогда . “ 1 ' 10g2 = ->£р(а<)1оё2 p(di) - Za<log2р(а,).. “W i=l /-1 Получаем, что Vxe В l°g2P - Н < - J |а,-1 jlog2 р(а, )| < sj|log2 р(а, )|.' Л Л ,=1 /=1 т Поскольку p(at) > 0, то ^|log2 p(az)| = const и не зависит от л. Теорема доказана. Пусть 0<£< 1 — произвольное малое число. Пусть все последо- вательности длины л расположены в порядке убывания вероятно- стей их появления. Как отмечалось ранее, множество открытых сообщений-<моделируется начальным участком таких последова- тельностей. .Обозначим через Р„(е) число наиболее вероятных по- следовательностей, таких, что сумма их вероятностей больше или равна 1 - е, а сумма вероятностей любого набора из (Р„(е)- 1) 170
эТЛх последовательностей меньше Г-е. Следующая теорема пока- зывает, что при оо множество последовательностей, составля- ющих в нашей'модели открытый текст, не зависит от е. Теорема 11.3 {вторая теорема Шеннона). JIjisl любого е> О 1пП.12|2.Ы^ =я. п Доказательство. Пусть, 0„(е) — множество наиболее вероят- ных последовательностей, таких, что P(Q„(e)) > 1 - е, а исключе- ние''любой последовательности из Q„(e) образует множество, ве- роятность которого меньше 1' - е. Возьмем малое 8> 0 и рассмот- рим множество В из предыдущей теоремы. Тогда для х е В Я-8<~10ё2Р(х)<Я + 8 , п или •' -п(Н-8) > 16g2P(x) >-п{Н+ 8). - Отсюда ' ' ’ 2-л(Я+8) < р(х) <2-л(Я-,8) (ii,16) Рассмотрим оценки для Qn(s). По определению Q„(e) P(Q„(e))> > 1-е. Поскольку е»(8)=(0и(е)ПД)и;(0л(8)п4.. тогда ' P(Q»(e)) = >(*)= ^' _Р{х)- xeQ„(x) , ,xeQ„(x)()B , xeQ„(x)(~)B, , . Для второй суммы справедлива оценка Р«2и(е)П|)^рЭ)<е; P(Q„(8)n^)= Е pW< Z 2-"<^s> = х^(х)(}В ‘ / xeQn(x){]B = |0„(х)ГИ• 2’"(Я'8) S |0«(е)|• 2-л(Я“5) = Рл(е)2-л(Я-8). Следовательно, 1-е < P(Q„(e)) < ря(е)2“л(Я-8) + е. Отсюда получаем : Р„(е) >2л<я-8>(1 -2е). Докажем, что множество 0„(е) содержит минимальное число последовательностей среди всех множеств последовательностей С, 171
таких, что Р(С) > 1 -е. Доказательство будем вести от противно- го. Ухе Q„(e), xt. См.Чуе C,yi Qn(z) -г- такие последовательно- сти, для которых Р(х) > Р(у), так как в Q„(e) содержатся наиболее вероятные последовательности. Предположим, что IC\0„(e)| <|(2и(е)\С|, т.е. 0„(е) — не минимальное множество. Тогда S Р(х) < Р(х), xeC\Q„(e) xeQ„(e)\C так как справа слагаемых хотя бы на одно больше и все они не меньше слагаемых в сумме слева. Пусть у0 имеет наименьшую ве- роятность среди всех у е Q„(e)\ С. Следовательно,’ Ъ Р(х)< У Р(х). ^C\e„(e) xe(On(e)\C)\b’o} Поскольку <2„(е) \.{Уо} = (0«(e)AC)U((2„(e) \ С) \ {у0}), то, учитывая, что по определению множества 0„(е) Р(0,(е)\{Уо})<1-е, получим Р(С) = Р(0й(е)ПС) + Р(С \ Q„(e)) < Р(0и(е)Г|С) + + P(2„(e)C \ {у0}) = Р(Си(е) \ {Уо })• Тогда Р(С) < 1 - в, что противоречит предположению. Следова- тельно, Q„(e) — минимальное множество, векторов, имеющих максимальную вероятность. Отсюда и из (11.16) |O.(e)|<|i|.Sl<S5^s2«*» хеВ хе В Таким образом, ,2»(Я-8)< |еп(е)|<2”(я+8>, ИЛИ Я-8< log2pn(e) <Я + 8. п Следовательно, что и требовалось доказать. 172
Множество открытых текстов, можно представить как объеди- нение В и В. Множество В имеет маленькую вероятность, множе- ство В оценивается по теореме 11.3: | • 2вЯ(х). Следовательно, - £т| = (rB-1)—о при Ет| = (—-2Я)В-> 0. . /и”-1 т Это условие выполняется, когда \ —-2Я<1, т . т.е. при г, удовлетворяющих неравенству lpg2r — 1рё2ти + Я<0, (11.17) возможно однозначное дешифрование. 11.6. Перекрытия гаммы Рассмотрим шифр гаммирования yt = xt + у„ i = 1, 2, ..., п, где х=х1х2... — открытый текст, у=У1У2... — шифрованный текст, у= У1У2 ••• — ключ шифра гаммирования по mod т. Предположим, что одна и та же у использовалась дважды для зашифрования двух открытых текстов х и х'. Дешифровщик полу- чил два шифртекста у и у' при зашифровании открытых текстов х и х'одной у. Тогда । • у-у' = х+у-х'-Y=х-х'. .. Таким .образом, депщфровщик имеет разность открытых тек- стов х-х'. Идея следующего метода излржена в [28]. Пусть дешиф- ровщик угадал, что в телеграмме х, начиная с места 7, стоит сло- во a^.-.ar+i. Тогда , , y/-y, + Oi=x;' У>+г У>+г фч-1 ~Xi+n Таким образом, дешифровщик может сразу прочитать, что на- писано в телеграмме, начиная с места i по место i+ г в открытом тексте х'. Если дешифровщик лишь предполагает, что с места i в х стоит слово аха2... аг+1, то читаемость участка xj... х'г+1 в открытом тексте х' является критерием правильности его предположения. Если дешифровщик угадал слово в х и подтвердил его правильно- стью в х', то он может прогнозировать текст в х и х' слева и справа от i и z+г. Правильность догадки .тут же подтверждается читаемо- стью второго текста. Таким образом можно прочитать оба текста. 173
Этот метод дешифрования называется «протяжкой вероятного слова». ., , . ' > ' 1 ' Если есть две криптограммы у и У (или два куска крипто- грамм), то возникает вопрос: можно ли узнать до протяжки веро- ятного слова о том, зашифрованы1 ли они одной 7? Для решения данной задачи опять рассмотрим простейшую модель открытого текста — последовательность независимых испытаний по полино- миальной схеме с вероятностями y(fli), ..., р(ат) (распределение Р). Тогда случайная величина ^(=х,- -xj имеет распределение Р* = = Р*Р, где Р* — свертка распределения Р с собой. Если Р — не- равновероятное распределение; то Р* = (^*(«0, ..., р*(от)) — так- же неравновероятное распределение. Тогдау-у'=х-х' — незави- симые случайные величины с распределением Р*. Если х зашиф- ровывается с помощью у, а х' — с помощью у', то у-у' = х-х' + у-у'. В наших предположениях у-у' — равновероятно распределен- ные случайные величины. Следовательно, у -у’ — также незави- симые и равновероятно распределенные случайные величины.- Зна- чит, статистический критерий, проверяющий гипотезу Я0Р рав- новероятности у - у' против альтернативы Н[, что у-у' имеет распределение Р*, дает ответ о наличии перекрытия в. у и у'/1 Обычно схема получения гаммы следующая: имеется «коне- чный.автомат. А без входа, в, котором начальное .состояние.есть ключ к. Функция выхода этого автомата есть у для шифрования. Например, линейный регистр сдвига с линейной и нелинейной обратной связью. При таком способе получения у повтор у про- исходит, когда автомат начинает вырабатывать периодическую последовательность. Период последовательности возникает обя- зательно изуза конечности множества состояний автомата. Если период небольшой, то его можно опробовать й, применяя’кри- терий на перекрытие, найти, а затем дешифровать криптограм- мы. Если п — число состояний автомата — велико, то можно получить большой период, а следовательно, мало шансов на пе- рекрытие. Пусть S — множество состояний автомата А, к — случайное на- чальное состояние. Период возникает, когда происходит повторе- ние в последовательности А{к), А\к), .Пусть А — случайная равновероятная подстановка на {1,...; л}. Тогда возврат возможен только в точку к. Пусть т — длина полученного цикла и случайная величина ^, =.1,,если длина цикла равна i, и ^=0 — в противном случае, тогда -_п _С^(/-1)!(И-/)! : (И-1)!(л~0!(/-1)!_ 1 •’ ' п\ (/-!)!(«-/)!«! п'' 174
Тогда п 1=1 Отсюда .< Л = £«;,=£! = м 2 При п = 2й4 Ет. = 1018, что дает мало шансов ожидать перекры- тия даже при очень большой интенсивности переписки. Если А случайное отображение (не взаимно-однозначное) и г] — длина цикла, ай — длина подхода, то тогда h~ 4п,т\~ 4п и й+т| - >/я • Следовательно,,при л,= 2й4 й+ц ~ 232~ 109, цто является не очень большой величиной, и можно ожидать перекрытия гаммы. 11.7. Корреляционные атаки на поточные шифры . . . ' • . > . . I Г,* , i . • ! < | > *_• Чаще, всего-цель, статистических методов .криптоанализа [46] состоит,в том, ч^обы построить критерий Н, необходимый для использования метода «разделяй и побеждай».. Оказывается, что большинство поточных шифров. дают( возможность .применения против них,корреляционных методов атак. Идея.метода состоит в том, чтобы заменить исходное преобразование в. шифре другим, зависящим от части ключа, что позволит использовать метод «раз- деляй и побеждай» или аналитические методы.-В последнем случае часто стремятся свести, задачу криптоанализа к решению системы линейных уравнений. Замена,.одного преобразования,другим,осу- ществляется так,чтобы сохранялась корреляционная связь с из- вестной последовательностью, знаков шифра,-полученной при настоящем преобразовании. Тогда при опробовании части ключа эта статистическая связь дает критерий Н для определения пра- вильного варианта опробуемой части ключа. Если происходит све- дение к линейной системе уравнений, то указанная статистичес- кая связь позволяет построить линейную систему относительно элементов ключа.' *1’ ‘ Пример 11.11. Рассмотрим генератор поточного шифра [46], в котором имеется известная двучленная линейная рекуррентная по- следовательность, усложненная некоторой булевой функцией/(не- равновероятной), как это представлено на рис. 11.3: , ai+r= at +ai+k_\, 1 < k<r, i= 1, 2,-... (11.18) Мы считаем, что известна последовательность z = (zi, "..., Zn) длины N. Таким образом, задача будет решаться в предположении, 175
-----------©<•--------- _________1______— -* ar .... ак ... а1 Рис. 11.3 Рис. 11.4 что известны открытые и шифрованные тексты. Выходная после- довательность линейного регистра будет обозначаться а = (аь ..., ау). Неизвестным ключом является начальное заполнение регистра, которое выбирается случайно и равновероятно. Для целей криптоанализа примем Модель (рис. 11.4) схемы, изображенную на рис. 11.3. На рис. 11.4 у= (yi, ...., уу) — последовательность независимых одинаково распределенных {0; 1} случайных величин с вероятно- стью 0, равной р. Соответствие вероятностной модели на рис. 11:4 детерминированному автомату рис. 11.3 может быть оправдана, если нам удастся найти начальное заполнение регистра. Поэтому мы и далее будем строить грубые вероятностные модели, оправ- дывая сделанные допущения достижимостью конечной цели. Если ключ определить не удается, то это может произойти из-за ошиб- ки статистического критерия или неадекватности модели. В любом случае криптоанализ надо начинать заново. Отметим, что величина ап для каждого п присутствует в не- скольких линейных соотношениях. Например, ов + ов_г+oB_r+jt_i = 0, , (11.19) ' ‘ яв+г_£+1 + ов_£+1 + дв = 0, (11.20) ов+г + ов + oB+jt-i = 0. (11.21) Характеристический многочлен рекурренты равен С(х) = 1 +хк~1 +хг. . Тогда справедливо следующее равенство: " , ' V/приу = 2/ (С(х))7 = C(xJ). Отсюда мы можем получить новые трехчленные соотношения. Возможны другие производные соотношения, если в (11.19) вместо ап.г подставить правую часть равенства: ап_г = Ов-2г + Оп-2г+к-1' 176
Или в (11.19) вместо ап_г+*_1 подставить правую часть равен- ства &n-r+k-l = @п-2г+к-1 + @п-2г+2к-2 и т.д. .Таким образом можно набрать т линейных соотношений относительно ап. Согласно модели для любого п вероятность р = P(zn = «„) > 0,5. Фиксируем а„ и индекс п будем далее , опускать. Для т линейных соотношений из рекурренты, обозначив через bh i= 1, ..., т, сум- мы слагаемых без а„, получим следующую систему а + Z>i = 0; a+i2 = 0; а + Ьт = 0. Реально вместо а будем подставлять zn- Обозначим значение сумм Zt с линейными формами на соответствующих местах в фор- муле (11.22) через у,. Получим линейные формы z+yi = £r, z+y2 = L2; , < (11.23) Z + Ут ~ Если z = a, у, = bt, то Ц = 0, i=l, т. (11.24) При достаточно большом количестве т соотношений в (Ц.22) мы надеемся, что удастся статистически различить случаи z= а от z*a. Если статистически эти случаи различаются, то среди боль- шого числами найдутся такие, для которых такое статистическое обоснование z =а будет хорошо заметно. Тогда, выразим все ап, соответствующие таким случаям (z= а), через начальное заполне- ние регистра сдвига. Получим систему линейных уравнений, у ко- торых правые части с большой вероятностью совпадают со значе- ниями ап. Если система решается, то получим ключ. Если система не решается, то надо опробовать малое число уравнений с непра- вильно определенной правой частью. Решая такие системы,.нахо- дим ключ. 11.8. Статистические модели Для того чтобы оценить реализуемость метода, рассмотрим сле- дующую вероятностную модель. Пусть А = {а, Ьи, i= 1, ..., m,J= 1, ..., /} 177
набор случайных величин, удовлетворяющих системе уравнений: t + = 0> z = 1> — > т' У=1 Замечание 11.1. В модели, рассмотренной в подразд. 11.6, / = 2. Аналогично рассмотрим набор случайных величин Z={z,y&, i= 1, > m, j= 1, Эти случайные величины представляют^. Два набора связаны соотношениями P(z=tf)=p, Р(^=у#)=р. Замечание 11.2. Такие соотношения можно получить следующим об- разом. Так, в модели на рис. 11.4 .. , , , г z=<z + y; ’ ( , Уу=Ьд + уд, ' где у — независимые, одинаково распределенные случайные величины с Лт=0)=р. Обозначим t bi = ^bv, i = l,m, 7=1 У1 = i~1. •••> . >i Положим . , , Li^z+Уь i= 1,m- • Пусть вероятность s (4 p)=s=P(y; = Z>,) не зависит от i. По фор- муле полной вероятности' получим рекурренту S(t, Р) =:PS(t~ 1, Р) + (1 -Р)(1 - Л’С/.гД, Р)),. , S(l, р)=!р. . Замечание 11.3. Для t=2s(2, p)=pL+,(\-p)'1. , Обозначим через' Вк событие, состоящёё в том, что к из т ли- нейных форм Li равны 0. Тогда следующий вывод «z= а» опреде- ляется апостериорной вероятностью А • -.> .г рз*(1-я)т~* P(z = a\Bk) = psk(l-s)m~k (l-p)(l-s)ksm~k = р- 178
Это апостериорная вероятность того, что z=а. Аналогично, P(z *а\Вк) (т :_______Ш к \к • (l-p)(l-s)ksm-k = 1-р*. Идея состоит в том, что мы интуитивно ожидаем, что р* увели- чивается по сравнению с р, если z= а, й уменьшается; если z * а. Поэтому найдем математическое ожидание р* в двух случаях z = а iiz*a. Приг=д *' ’ Ей(р*) = Е(р* |z = а) = л.. psk(Y-s)m~k . ” h\jc J/>«5*(1 - s)m~k + (1 - P)(l - s)ksm~k S Tlpnz^a , (l. *=0 Е1{р*) = Е{р^.а)= .. . m\ p(l-S)^k’sk 1 ! m_t k к Ipsk(l - s)m~k + (1 - p)(l - s)ksm~k • ' : 1 . ’ , < При p = 3/4, t = 2, m = 20 получим ' ^/) = 0,9;W) = 0,3. J . ' " . Осталось оценить число допустимых соотношений от как функ- ций от длины регистра г й длины текста АГ. Пусть /-членное Соот- ношение получено с использованием равенства (С(х)У= C(x>),j=2'; Vz= l, от/ * ’ 1 Тогда длина задействованного участка'последовательности при i=от равна г2т. Таких соотношений N- г2^ > 0. При этом'общее число соотношений равно 10g2y 10g2y Т = X. (N-2mr) = AT(log2 — +1)- 2тг = т=0 г , т=0 = AT(log2 — +1) - (21O82T+1 _ i)r = г N 2N N = N log 2 — + N - (— - l)r = ‘N log 2 — + r - N\' r - r r (11.25) 179
Каждое соотношение (11.25) связано с t+ 1 знаками последо- вательности z. Поэтому среднее число т соотношений на один знак равно Г(/ + 1) п N г .. т= \r =(bg2 —+ —-1)(/ + 1)- N г N Г Для наших приложений — (Г +1) с 1. Отсюда из формулы (11.25) JV получим приближенное равенство т = (Z + l)log2—. 11.9. Линейный криптоанализ блочных шифров Линейный криптоанализ [41] является атакой при известном открытом и шифрованном текстах на итеративные шифры:типа DES, в которых «криптографически слабая» функция повторяет- ся г раз. Предполагается, что открытый текст выбирается случай- но и равновероятно, а подключи в каждом раунде независимы друг от друга. Замечание 11.4. По-видимому, не имеет значения, каким образом выбирается открытый текст. ' - .. Часто линейный криптоанализ является наиболее эффектив- ным методом, тогда сложность линейного криптоанализа итера- тивных блочных шифров может являться мерой их слабости. Линейный криптоанализ Мацуи r-раундового DES. требует зна- чительного числа открытых текстов, что следует из табл. 11.1. Сложность атаки связана с количеством необходимых извест- ных открытых текстов, так как для любой пары (открытый текст, шифртекст) требуется небольшое количество вычислений для реализации алгоритма. .Например, атака, на г= 8 DES занимает 40 с на рабочей станции, а атака на г= 12 DES занимает 50 ч, что Таблица 11.1 Количество раундов Количество известных открытых текстов для нахождения ключа 8 221 12 233 • -> Eurocrypt’93 16 247 Crypto’94 243 180
примерно в 4500 раз больше. Эта атака может быть проведена, если имеется только шифртекст. Мацуи были получены следующие результаты: , • если известно, что открытый текст' на английском языке, представленный в ASCII кодах, то при г= 8 DES вскрывается при 2» известных шифртекстах; • если открытый текст является случайным ASCII кодом, то при r =8 DES вскрывается при 237 известных шифртекстах. Рассмотрим основную идею линейного криптоанализа. Пусть 5{0,1} — случайная величина с P{S= 1} =р, А(5) = |1 - 2р|. Лемма 11.1. Если Sw, ..., SM — независимые бинарные слу- чайные величины, тогда • Д(5(1) Ф::. Ф 5(л)) = Д(5(()). - i=i Доказательство. В силу независймости 5(1) и 5(2) P(Sm Ф 5(2) = 1) = P(Sm = 1)Р(5& = 0) + P(Sm = 0)Р(5(2) = 1) = =Р\ +Р2 ~ 2pip2. Тогда . А(5(1> Ф 5(2)) = 1 - 2д(5(1) Ф 5(2) = 1) = 1 - 2pi - 2р2 - 4ptp2 = , = (1-2р!)(1 - 2р2) = А(5(1))А(5(2)). . Утверждение леммы следует из-за ассоциативности операции Ф: 5(1) Ф (5(2) Ф 5(3)) - (5(1) Ф 5(2)) Ф 5(3). • . - 1 Заметим, что 0 < А(5) < 1. При этом 0 = Д(5) при р = -, а Д(5) = = 1 при Р(5= 1) = 1 или Р(5= 0) = 1. Рассмотрим схему произвольного итеративного блочного шифра в z-м раунде. На рис. 11.5 ЙО = £(2(0; £(/)), (11.26) где Y(i) — блок шифртекста; Е — функ- ция шифрования; X(i) — блок откры- того текста в z-м раунде; K(i) — под- ключ, используемый в z-м раунде; Y(i), *(0е И„,ад е vm(n — размер блока, т — размер подключа). Обозначим через (2, a) = Xlai Ф... Ф ®Х„а„ = Xlt Ф... ®Xik=У[й, ..., zj — ска- *(0 Г Е —K(i) Z=l,2.г ~г ' Рис. 11.5 181
лярное 'произведение двоичных векторовУ и а, где (ал, а,>) т- единичные координаты вектора а.1 • Определение 1Д.2. Линейным статистическим аналогом нели- нейной функции (11.26) будем называть случайную величину S(f> = (И.27) если вероятность P(S(i) = 1) =р* А для случайно выбранного от- • - - . 2 , крытого текста Х(0. , , Отклонение Д(5(0) = |1 - 2р| определяет эффективность линей- ного статистического аналога (11.26). : , Замечание 11.5. Д. Массе [44] называет 5(f) тройной суммой и пред- лагает обобщение линейного криптоанализа, рассматривая тройную сум- му для f-го раунда как случайную величину 5(0 вида say =z(to))ф&(?(О),ф т», где Л gt, ht — равновероятные булевы функции. В определении Мацуи [41] fh Sn hi — линейные функции. ' ‘ Определение 11.3. Последовательные тройные суммы S(i+1) и 5(f) называются связанными, если fl+i =g{. ; ' Из определения, следует, что . 5(f) Ф S(i +1) = Л(Х(0)Ф g,•(? (0)©Д(Л0)Ф fM {XQ + D) ® ' ~ Ф^+1(Л/+1))ФЛ+1ДО+1)); J - , К(0 = Х(/+Д). Определение 11.4. Если 5(1), ..., 5(л) — связанные тройные СУММЫ, ТО тогда Г/ - : : . 51 п = 5(1)Ф...Ф5(л);= . • ' • д ' ; ’ - » (11.28) = /1(Х(1))Ф5я(Г(л))Ф£Л;(ТО)-, / i=i и 51„;л называется л-раундовой тройной суммой. В случае линейных функций формула (11.28) дает линейное соотношение . ? 1 , . 5i...„ =(Ж а)Ф(Г(4 к®1(^(0, 7(0), ‘ (1L29) /=! которое выполняется с вероятностью, определяемой Д(5(1)' Ф ... Ф 5(л)) и леммой 11.1. * ' Определение 11.5. Эффективным линейным статистическим ана- логом называется линейный статистический аналбг (11.29) из за- данного множества с наибольшим Д. 182
Для применения линейного криптоанализа необходимо решить следующие задачи: , ’ 1) найти эффективный линейный статистический аналог и вычислить его вероятности; 2). определить ключ (или некоторые биты ключа) с использо- ванием эффективного линейного статистического аналога. Для нахождения эффективного линейного статистического ана- лога рассмотрим сначала задачу, нахождения статистических ана- логов для 5-боксов алгоритма DES,. . __ , Замечание 11.6. В отличие от [45] будем нумеровать биты,слева напра- во, (Начиная с 1 бита. 1 Нелинейная функция, реализующая а-й 5-бокс алгоритма DES, может быть записана в виде . ’ ; 7 . Y = Fa(X®K),a = U-, г,: - YeV4,X,KeV6. . - - ' Пусть 1 < i < 64, 1 < j < 16, а к — двоичное разложение числа ке N. Линейным статистическим аналогом каждого из уравнений (11.30) будет уравнение вида . • . (f, j) = (X', ?); (11.31) Х' = ХФК. I Обозначим через; Sa(i, j), а = 1, 8, i = 1, 63, j = 1,15, число не- нулевых- X ё К6 для а-го 5-бокса DES таких, что для / и J выпол- няется равенство (11.31)-Когда Sa(i, j)*32, можно сказать, что есть статистическая связь между входными и выходными битами а-го 5-бокса. , ( 1 Пусть - - л . Л. ' 5Х/):|5а‘(Г, ,/*)-32| = тах|5л(г, j)-32|. (11.32) ' * 1^15.. Тогда уравнение ~ . \ . 1............................................. (У,Г)®(Г,Г) = (^,Г) (11.33) является эффективным линейным статистическим аналогом а-го 5-бокса в классе всех линейных статистических аналогов вида (11.31) с вероятностью ~ , 1 ' ! P“ = s-2j^' (11.34) 183
00 Таблица 11.2 \. J i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 32 32 32 32 32 32 ' 32 32 32 32 32 32 32 32 32 . 2 36 30 34 .30 34 28 32 36 32 34 30 34 30 32 28 3 32 30 38 30 30 36 28 32 32 30 38 30 30 36 28 4 34. 30 32 32 34 30 32 32 34 34 36 28 30 30 32 5 34 34 28 32 42 26 28 32 34 22 32 36 30 34 36 б 30 28 26 30 28 34 32 32 30 32 30 26 24 34 32 .7 34 32 34 30 40 38 .32 28 38 32 26 30 32 26 28 8 32: 34 38 32 32 30 26 30 34 36 20 34 38 28 36 9 28 38 . 30 32 28 26 26 38 30 32 28 34 26 ’ 24 28 10 36 32 32 30 26 34 34 34 34 30 34 36 28 28 . 32 11 36 36 36 .38 34 зо, 30 30 ,30 30 34 32 24 28 32 12 34 32 30 32 34 36 42 30 36 30 24 30 36 26 ?28 13 38 32 .34 32 30 36 22 30 32 30 36 30 „40 26 32 14 30 30 32 30 36 32.. 34 30 -32 36 34 28 38 30 . 28 ' 15 30 30 40 38 36 32 34 34 36 40 30 40 26 •; 34 32 16 34 30 32 32 30 26 24 32 30 30 28 32 34 42 . 12*
36 1 32 32 32 36 32 36 28 28 32 32 32 36 32 28 32 32 20 28 ; 34J 26 30 28 32 32 32 30 34 30 30 32 32 36 32 32 32 36 , 26 36 36 36 36 34 34 36 32 30 26 30 34 36 32 32 32 30 38 24 30 26 32 О 34 30 34 42 32 28 34 34 36 24 32 32 34 30 32 00 cn 34 36 36 34 34 32 36 34 30 32 24 J 00 СП 30 32 32 00 СП 30 34 36 36 36 28 38 26 30 38 36 32 00 сч 24 30 30 32 32 26 30 34 38 26 28 32 32 28 32 О 32 40 38 30. 34 34 32 32 32 32 36 36 36 00 СЧ 32 36 36 34 00 СП 30 00 СП 30 42 О СП 30 32 • 32 00 сч 32 00 СЧ 24 32 32 24 32 36 34 зо 34 34 34 34 34 30 32 32 40 36 30 30 34 32 24 36 28 28 36 сч СП 32 .26 30 30 26 32 32 28 28 34 28 36 32 36 30 30 22 зо 36 32 32 32 О СП сч 32 32 34 30 36 34 30 32 00 СЧ L34 38 36 32 0£ 26 36 24 30 34. 32 32 30 38 | 32 30 34 32 28 38 30 34 26 . 24 28 34 38 32 ei . 32 32- 34 30 30 32 32 28 32 38 26 ii 36 . 34 38 30 30 24 40 32. 32 30 30 34j 30 26 36 36 32 36 38 34 Г34 34 32 36 00 сч 28 32 32 28 32 18 19 20 21 22 ГЧ 24 25 's© сч LI 28 29 30 31 32 33 34 35 KZS 185
00 Окончание табл, 11,2 i X. 1 2 3 4 5 6 7 8 9 10 И 12 13 14 15 36 30 38 36 32 38 30 - 36 36- 26 30 36 32 46 34 32 37. 38 34 32 32 38 34 32 28 26 34. 24 32 30 38 28 38 34 36 . 30 30 32 .. 34 28 36 30 28 . 30 38 32 30 32 39 22 32 30 38 36 38 28 32. 38 . 20 34 34 . 32 38 28 40 36 30 30.. 32 ...36 26 34 34 26 36 32 38 30 28 32 41 32 34 38 . 32 32 38 34. 34 30 24 32 30 26 32 32 42 32 28 24. 38 38 .. 38 26 38 34 30 30 24 36 28 . 36 .. 43 .40 32 36 38' 30 26 38 34 38 30 38 28 32 36 36 44 34 36 26 32 26 32 38 30 28 34 28 30 36 38 32 45 30 28 30 32 зо 24 34. 30 32 26 24 30 32 30 36 46 38 34 28 38 36 36 30 22 24 32 30 36 30 34 32 47 38 26 28 38 28 36 30 34 36 36 26 32 34 30 28 48 34 ' 30 32 28 26 30 28 36 34 34 32 32 34 34 36 49 34 30 32 32 30 34 32 32 30 30 28 32 34 34 36 50 38 32 30 30 40 34 36 32 42 32 34 30 36 34 32 51 26 32 42 34 32 30 28 32 38 32 22 34 36 30 32 52 32 20 36 28 32 36 24 28 32 28 32 28 28 32 32
г£ |28_ 32 32 28 36 36 32 36 32 оо оо 40 О - О о 40 40 00 СЧ сч i СП СП СП СП СП СП СП СП сч ч© 40 сч О О 00 сч СП СП СП СП СП СП СП СП СП сч СП Ч© оо 00 о 40 сч сч 40 сч СП СП СП СП СП СП СП СП СП СП сч о о сч 40 о сч сч О' о СП СП СП СП СП СП СП СП ' 00 о 40 сч 40 ч© сч о 00 сч СП СП сч со СП СП СП СП СП 00 00 сч 40 00 00 Ч© сч о о сч сч СП СП сч сч СП СП СП СП сч ч© 40 о 00 сч 40 о СП СП ^3* СЧ СП сч СЧ СП СП сч сч 40 о 40 о о о СП СП. СП сч сп СП СП • СП СП ч© о сч ч© 00 сч о о 40 СП СП сч СП ei СП СП СП СЧ 00 о 00 о 00 40 сч 00 40 Ti- 00 сч СП СП СП СП СП СП сч СП en СП о о ч©’ сч 00 сч сч ч© 40 СП сч СП сч сч СП СП сч ч© 40 40 сч 00 о 00 00 СП сч сч сч СП сч СП СП сч сч сч о 40 40 о сч 40 40 ч© 00 СП СП сч СП сч сч сч сч м- >о. 00 О 40. 00 оо сч СП сч СП СП СП ei СП сч сч сп тг ш 40 00 ©Ч о wH сч СП ю ю ш ш ю ч© Ч© ч© ч© 187
Таблица 11.3 № 5-бокса Эффективное линейное уравнение р Д = |1-2я| 1 Х2 Ф У1 Ф Уч Ф Уз Ф У4 = к2 7/32 9/16 2 Х1 Ф Х5 Ф У! Ф Уз Ф У4 = к{ Ф к5 1/4 1/2 3 Xi Ф х5 Ф У1 Ф уч Ф уз Ф у4 = кг Ф к5 1/4 1/2 4 Хг Ф х5 Ф у! Ф уч Ф Уз Ф у4 = кг@ к5 1/4 1/2 X! Ф Х3 Ф У! Ф Уч ф Уз ф у4 = ki Ф кз 1/4. 1/2 Xi Фх3 Фх5 Фл^ Фу2 Фуз = ki Ф кз Ф к5 Ф к$ 1/4 1/2 Xi Фх3 Фх5 Фл$ ФУ1 ФУ4 = ^i Ф кз Ф к5 Ф к$ 1/4 . 1/2 5 х2 Ф У! Ф Уч ф Уз ф У4 = кч 3/16 5/8 6 х2 Ф Уч ф Уз Ф у4 = кч Xi Ф Х5 Ф У! Ф Уз Ф у4 = ki Ф к5 9/32 7/16 7 Xi Ф х2 Ф х3 Ф х5 Ф х6 Ф уч = ki Ф кч Ф ф£3ф£5ф£6 7/32 9/16 8 х2 ® Л ® Уз ® Уз ® У4 = к2 Xi Ф х5 Ф л Ф у2 ® л = к\ Ф к$ 1/4 1/2 Все значения для S5(i, j) приведены в табл. 11.3’ Значение S5(i,J~), имеющее наибольшее отклонение от i, помечено * в табл. 11.2. Следовательно, 55(Г,/*) = 12, . где7* = (0,1,0,0,0,0), Г* = (1,1,1,1). 1 Отсюда эффективным линейным статистическим аналогом 5-го 5-бокса является уравнение У[1,2,3,4]® Х[2] = £[2], (П.35) 3 которое выполняется с вероятностью р5 = —. Уравнения для эффективных линейных статистических ана- логов всех 5-боксов приведены в табл. 11.3. Здесь Х=(хь ..., х6), Y= (л, ..., у4), К= (kt, ..., А%) — входные, выходные и ключевые вектора соответственно. Исходя из результатов табл. 11.3, можно сделать вывод, что эффективным линейным статистическим аналогом одного раунда DES является уравнение (11.35). С учетом функции расширения и 188
перестановки алгоритма DES (имеем эффективный линейный ста- тистический аналог /-го раунда DES) f(z)[2, 8, 14, 24] ф!(/)[17] =/(z)[26] (11.36) с Д = 5/8* Мацуи не описывал алгоритма получения эффективных ли- нейных аналогов для r-раундового DES, но из финальных резуль- татов можно предположить, что основная идея состоит в следу- ющем: использовать связанные тройные суммы с наибольшим Д. Поясним это на примере. Для этого рассмотрим схему 3-раун- дового DES (рис. 1 Г.6): Эффективными линейными статистическими аналогами 1 и 3 итераций являются уравнения Г(1)[2, 8, 14, 24] ФУ(1)[17] =Д1)[26]; Х(3)[2, 8, 14, 24],®Х(3)[17] =Х(3)[26], каждое из которых выполняется с вероятностью 3/16. Учитывая, что Х(1) = PR,X(3) = CL, У(1) = PL ®Х(2), f(3) = CR ФУ(2), после сложения этих уравнений получим, (PR Ф Q)[17] Ф (PL Ф СЛ)[2, 8, 14, 24] = = (£(1)!Ф/(3))[26]. (1L37) Рис. 11.6 189
т-r5 и - < < ‘ * Э Э ' 1 По лемме 11-Г А = --- = 77 и это Уравнение выполняется с 8 8 64 : вероятностью _1-Д_ 39 . Р 2 128’ Найти биты ключа Л(1) ф К(3) можно, решая уравнение (11.37) с использованием следующего алгоритма. Алгоритм 11.1. Пусть N — число всех открытых текстов и Г — число открытьях текстов, для которых левая часть (11.36). равна 0. Если Т> N/2, то : k(d®k(3)=\q’p>1/^ ' [1, р<1/2. Если T<N/2, то . • > . ; ^(1)Ф^(3) = Л’ /’>^; [0, р < 1/2. > - 1 Успех алгоритма возрастает с ростом N и А = |1 - 2р|. Вероят- ность успеха определяется следующей леммой. Лемма 11.2. Пусть N — число открытых текстов и р — вероят- ность выполнения линейного уравнения (11.-27). Предположим, что А = |1 - 2р| -> 0. Тогда вероятность успеха алгоритма имеет вид ОО Асп-> J ф(х)й6с, где 2, (11.38) Числовые вычисления (11.38) сведены в табл. 11.4. Таблица 11.4 N 1/16Д2 1/8А2 1/4Д2 1/2А2 Р х усп 0,841 0,921 0,977 0,998 190
11.10. Дифференциальный криптоанализ Пусть некоторый блочный шифратор с длиной блока N стро- ится по схеме рис. 11.7. На рис. 11.7 Z= (Z(l), Z(2), ... , Z(r)) получается по некоторой схеме из Z$, или независимо и равновероятно выбирается для каж- дого цикла. Пусть Z(l) и У*(1) — пара открытых текстов. Рассмот- рим следующие разности: ДХ(1)=^(1)-П1); дг(0 = Г(0-Г(0. Если мы знаем открытый и шифрованный текст в одном /-м цикле DES, то несложно определить часть ключа Z(z), которая используется в f-м цикле (идея Шеннона о суперпозиции простых шифров для получения сложного шифра). Если мы знаем AX(z), У(/) и У*(/), то задача становится более сложной, но также ре- шается, если решается предыдущая задача. Определение 11.6. Преобразование f называется криптографи- чески слабым, если по ДУ(г- 1), У(г) й У*(г) для некоторою (ма- лого) числа пар (Z(1), Z*(l)) можно'найти (хотя бы часть) Z(r). Идея дифференциального криптоанализа [26] заключается в том, чтобы найти такие ДХ(1),‘что при случайном равновероят- ном выборе Z(l)/Z(l), Z(2), ..., Z(r- 1) с вероятностью более1 появится ДУ(г-1). , , • Определение 1,1.7. Пара (а, 0) возможных значений вектора (АХ(1), ДУ(/)) называется дифференциалом, z'-ro цикла. Тогда дифференциальный криптоанализ описывается моделью, изображенной на рис. 11.8. , , , , ’ ’ ' . ’ Пусть/определяет операции в Д и /криптографически слаба. Тогда возможна следующая атака: , 1. Выбираем дифференциал (г - 1)-г6 цикла (а, 0), для которо- го вероятность Р(ДУ(г - 1) = 01 ДЛГ( 1) = а) большая. 2. Случайно выбираем Х(1) и подбираем У*(1), чтобы АХ(1)=а. Пусть известны У(г) и У*(г). 3. Делаем предположение, что ДУ(г -1) = 0 и, зная У(г) и У*(г), находим Z(r). Z(l) Z(2) Z(r) Рис. 11.7 ’ 191
Рис. 11.8 4. Повторяем пп. 2 и 3, пока один (частичный) ключ не начнет появляться чаще других. Это и будет Z(r). 5. Повторяем пп. 1—4 до нахождения полного ключа. 11.11. Метод коллизий для хэш-функций Для контроля целостности сообщений, передаваемых по кана- лу связи, используется следующий метод. Пусть А = {fli.ат} — алфавит, А* — множество слов конечной длины в алфавите А. Пусть определена функция Н: А* -> А1, которая обладает тем свой- ством, что значения функции Н на словах, которые даже при отличии друг от друга только в одном знаке дают значительно различающиеся хэш значения. Тогда, получив на приемном конце сообщение и его хэш, можно вычислить значение хэш от сообще- ния, сравнить с полученным хэш по каналу связи и подтвердить или опровергнуть, что сообщение не искажено. Если функция Н зависит также от ключа к е К,- то помимо проверки целостности добавление значения хэш к сообщению подтверждает истинность сообщения. Такой способ подтвержде- ния истинности называется кодом аутентификации (Message Aut- hentication Code — МАС). Однако такое подтверждение истинно- сти еще не является электронной подписью. Подтверждение исти- ны называется подписью, если ее могут проверить’ все, не зна- ющие ключи. Например, в суде можно проверить истинность, не раскрывая ключи. Приведенный выше способ проверки подлин- ности сообщения непригоден, так как влечет раскрытие ключа. Для того чтобы код аутентификации стал, электронной подписью сообщения, необходимо использовать хэш-функции с дополни- тельными свойствами. Например, использовать систему с откры- тым ключом. Напомним, что у корреспондента В имеются два ал- горитма Ев и DB, каждый из которых преобразует слово из А1 в слово из Л' и каждый определен на А1. Первый алгоритм известен всем, а второй — только владельцу В. Обладание алгоритмом DB однозначно (юридически) определяет корреспондента В. Счита- ем, что Ев n DB удовлетворяют соотношениям V а е А1: EBDB(a) = a, DBEB(a) = а. 192
Тогда электронной подписью документа Me А* называется С= = Вв(Н(М)). Проверка подписи под документом М возможна любым ли- цом, у которого есть Ев.Для этого проверяющий вычисляет Н(М) (Н() — известна всем, М проверяющий получает вместе с подпи- сью С). Второй шаг проверки — вычисление ЕВ(С) - EB(DB(H(M)))= = Н(М). Если значение хэш от М совпало с результатом примене- ния алгоритма Ев к С, то подпись В считается подтвержденной (даже в суде). Свойства хэш-функций. 1. Если М * М' хотя бы в одном знаке, то Н(М) Н(М') примерно на половине знаков. Это свойство от- мечалось ранее. Заметим также, что могут найтись такие М* М', что Н(М) = Н(М'), но выбор таких М и М' случайно маловеро- ятен, а подбор затруднен. 2. Для произвольной .строки а е А1 трудно подобрать Me А* такое, что Н(М) = а. 3. Н(М) вычисляется быстро. Выполнить пп. 1—3 не просто. В РФ принят ГОСТ 3411—94 на хэш. Длина хэш 256 бит. Обычно хэш #(•) строится следующим образом. 1. Выбирается функция h: А1 х А1 -> А-, удовлетворяющая свой- ствам 1—3. Например, когда длина хэш была 64 бита, то брали схему, изображенную на рис. 11.9. Здесь Z=h(X, y) = DESy(X). 2. Vae Л*, а=а!...а„ где длина блока а,- равна /, а блок а, дополнен до блока длины I (если это необходимо). Н(а) вычисляется по следующему алго- ритму: Р/ = А(Р/-ь «»+1)> i= 1, •••♦ *- t Po = ai- Основная атака на хэш — это метод коллизий. Пусть В — мо- шенник, a D — лицо, подвергающееся атаке. В готовит два доку- мента М и М' так, что документ М пользователь D охотно подпи- шет, а В заинтересован в подписи D под документом М'. Тогда, подписав у D документ М, В получает подпись С= DB(H(M)). Если М' выбрано так, что Н(М) = Н(М'), то В предъявляет суду (М', С). Судья убеждается, что подпись под М' принадлежит D, тогда атака удалась. Каким образом можно выбрать два таких сооб- щения? По свойству 2 подбор осуществить сложно. Оказывается, с большой вероятностью злоумышлен- ник может реализовать подбор сообщения. Такой подбор основан на задаче о днях рождения. Пользо- ватель В выбирает два нужных сообщения М и М', Рис. 11.9 7 ГЬупго 193
при этом D может подписать сообщение М, но не подпишет со- общение ЛГ. Варьируя в сообщениях интервалами, шрифтами, фор- матами и т.п., В получает п пар вариантов Ми М' без изменения их смысла. И, следовательно, п пар соответствующих им хэш-фун- кций: нт нт нт нт (11.39) нт Затем, просматривая все пары, ищет совпадения. Сообщения Мъ ..., Мп отличаются слабо, а их хэш-функции — значительно, так что мы можем считать, что значения хэш-функций выбира- ются случайно, равновероятно и независимо друг от друга. Каково должно быть значение п, чтобы такая пара появилась с большой вероятностью? Обозначим Ц'! =ЛГи пусть р — вероят- ность того, что имеется пара сообщений Mt и Л7,'таких, что Н(М{) = = Н{М(), т.е. вероятность успешной атаки. Нам проще вычислить вероятность противоположного события, т.е., что в (11.39) нет такой пары: ’ , л п (N-ri)\n\(N-n)\ n\^N-2n)\N\ (11.40) [(^-п)!]2 N\{N-2п)\ Условия, налагаемые на п, при которых вероятность (11.40) мала, приводятся в следующей теореме. ft 2 Теорема 11.4. Пусть N, п -> оо, но — -»t> 0, тогда ,7V Р = (1-е-') (1 + о(1)). Пример 11.12. Если N= 2м, то при выборе п = y/N = 232 сооб- щений, вероятность успешной атаки будет равна р= (1 - е-1)(1 + 2 + о(1)) 194
11 .12. Анализ схем шифрования, использующих многократно один блочный шифр Пусть для определенности используется DES. Достижения в криптографии и электронике в 90-х годах XX в. позволили снизить время дешифрования DES, что дало возможность производить не- дорогие системы для его дешифрования. Возникла идея постро- ения нового алгоритма, у которого стойкость выше, чем у DES, а в качестве компоненты алгоритма используется DES. Наибольшую потребность в этом испытывают финансовые структуры, которые не хотели бы отказываться от DES из-за значительных дополни- тельных вложений и других трудностей, но нуждаются в стойких системах шифрования. В этих структурах наиболее употребитель- ным является режим с зацеплением блоков (СВС). Режимы использования DES [48] . 1. Режим электронной киши (ЕСВ) (рис. 11.10). 2. Режим с зацеплением (СВС) (рис. 11.11). Здесь IV — иници- альное значение. 3. Режим с обратной связью по шифртексту (CFB) (рис. 11.12); 4. Режим с обратной связью (асинхронный) (OFB) (рис. 11.13). Были придуманы схемы шифрования, многократно использу- ющие DES. ОТ от _L Д-/ К К — пг V шт шт Рис. 11.10 ОТ ОТ от шт шт шт Рис. 11.12 195
от от от шт шт шт Рис. 11.13 от JL К\ ZL V ШТ Рис. 11.14 Пример 11.13. Двойной DES в режиме электронной книги (рис. П-14). Двойной DES не стоек к методу «встреча посередине». Пример 11.14. Тройной DES в режиме электронной книги [48] (рис. 11.15). Стойкость данного алгоритма не превосходит стойкости DES, если используется атака с выделенным открытым текстом. Пример 11.15. Тройной DES с зацеплением (рис. 11.16). Оказывается, что стойкость данного тройного DES такая же, как стойкость в режиме электронной книги при атаке с выбран- ным ишфртекстом. Слабость данного алгоритма заключается в том, что шифртекст известен и он же идет на вход следующего блока. Пример 11.16 [31]. Возникло много модификаций тройного DES, когда зацепление проходит внутри схемы. Рассмотрим следующий вариант СВС/СВС/ЕСВ тройного DES (рис. 11.17). ОТ I DES (Кг) I DES"1^) ~~г~ DES (К{) —Г- шт Рис. 11.15 ОТ ОТ I I ШТ шт Рис. 11.16 196
Рис. 11.17 Рассмотрим один из вариантов дешифрования этой схемы ме- тодом выбранного шифртекста. Сначала будем искать ключ К3. Пусть известны открытые ^ шифрованные тексты. Среди «всех шифр- текстов выберем две тройки блоков следующего вида (Со, Сь С2) и (Со*, Сь С2), где. Со* Со*. .Обозначим для первой тройки через Wt — вход последнего блока, Vt — вход«второго блока, через,Zh Li — вход и,выход первого блока соответственно, Р{ — открытый текст. Соответствующие обозначения для второй тройки: W'h V.*, Z*, L*, Р*. Для выбранных троек имеем следующие соотношения. Из того, что Q = С\, С2 = С*2, следует W2 = W*2, = И; V2 = V2. (11.41) Отсюда L2 = L*2, и, следовательно, = Z2. Тогда V1 = WO+L1-, И =м+£*!.: Из этих соотношений с учетом (11.41) получим Wo+ Wo = Li + L*i. (11.42) Аналогично, Z2 = Р2 + L\\ Z2 = Р2 + Li. Откуда следует, что Р2 + Р*2 = Li + L\. _ (11.43) Из соотношений (11.42) и (11.43) получим P2 + P*2=W0+W*0. (11.44) 197
Так как мы знаем открытый текст, то нам известно Р2 + Тогда мы знаем Wo + и Со, Со* и можем опробовать ключ К3, что в среднем потребует 255 операций. Нахождение вероятностей таких пар троек, у которых Сг = Cf и С2 = С2, следует из задачи о днях рождения. А именно, если вероятность такой пары при произвольном Со есть —то веро- ГГ 1 2 ятность хоть какой-нибудь пары ~ Я-тт» = ттг- Значит надо иметь V 2126 204 ~ 2м блоков шифртекста для определения' ключа ~К3. Зная К3, находим Wt и, применяя аналогичную технику, опре- деляем К2 и Кь Для данной атаки потребуется 3 • 255 операций оп- робования и 3 • 2й блоков шифртекста. 11.13. Атака на тройной DES с помощью линейного криптоанализа Рассмотрим схему тройного DES в режиме СВС/ЕСВ/СВС [30] (рис. 11.18). , Пусть-найдено достаточно много шифртекстов (Со, Сь С2), где Ci и С2 — фиксированы; а Со — произвольные и различные. 1. Сначала атакуем ключ К2. Обозначим через Wt — вход после- днего блока, Vt — выход второго блока, через Zh Lt — вход и выход первого блока соответственно, Pt — открытый текст. Для всех векторов : ' Рис.'11.18 198
A-DiiW), Fi = Co+^. Отсюда ZI = Z)jr2(q>+^1). (11.45) Для всех векторов V2 = W2 + Ci одно и то же, так как W2 = =Дв(^)- Следовательно,’ для них =DK2( V2) одно и то же. Отсюда получаем Р2 = 1)й(Со+1Г1) + 4, . (Н.46) где для всех Со вектора Wx и 7^ остаются одинаковыми. Нам изве- стны Р2 и Со, а неизвестны К2, Wx и ,2^. Пусть Я^(-) — линейный статистический аналог=DK1{ ). Тогда P2 = Db(Q+^i) + ^- •' ' (11.47) линейное уравнение относительно К2, Wx и 2^. Набирая и решая системы при различных (Со, Р2), статистически выделяем решение К2, W^Z,. l.E^W^C,. Отсюда с помощью метода полного перебора К3. 3. Зная К2, К3, получаем L2 и, зная 2^, методом полного перебо- ра из соотношения EKl(Z^) = 1^ находим Кх. ; 11.14. Техника атаки на тройной DES, основанная на задаче о днях рождения Рассмотрим схему тройного DES СВС/СВС/СВС [30] (рис. 11.19). Пусть найдено 233 шифртекстов вида (С, С, С, С). Атака снача- ла ведется на ключ К3. На выходе второго блока шифрования име- ем четверку вида (?, Н, Н, Н), где Н=С+ D^C). Здесь Н — это случайная функция от С, не являющаяся под- становкой. По результатам задачи о днях рождения с большой ве- роятностью существуют С и Cf, дающие одно и то же Н, так как Я— не взаимно-однозначное отображение. Тогда для двух Си С* появится одно и то же Р3. Действительно, для С и С* ^ = ЯЙ(Я) + Я. Отсюда Рз = Z, + = Z, + DKl(DKi(H) + Н). 199
Рис. 11.19 Для такой пары С и С* имеем уравнение С+^(С)=С‘ + 7)Л(С*), где Си С* известны. Методом полного перебора находим ключ К3. Аналогичным образом находим К2 и К{.
Глава 12 ОСОБЕННОСТИ РЕАЛИЗАЦИИ КРИПТОСИСТЕМ С СИММЕТРИЧНЫМИ КЛЮЧАМИ 12.1. Синтез поточных шифров Пусть открытый текст — последовательность букв х = х{х2, ключ — последовательность символов z=ZiZ2, , а шифртекст — последовательность букв у = У1У2, где у, = £(х,-, zi) — функция зашифрования.., Часто последовательность z получается с помощью генерато- ра, т.е. автономного автомата., При этом стойкость оценивается следующими способами [50]: • с помощью теоретико-информационного, подхода; • с помощью практического подхода. Пусть ..., Мп — изве- стные методы криптоанализа, и для определения ключа по от- крытому и шифрованному тексту с помощью метода Л/,- требует- ся не более N, операций. Тогда стойкость поточного шифра N оценивается ' N <, min Nt; . (=1.п ' - ' • с помощью нижней оценки (доказанная стойкость), т.е..оцен-: ки снизу для средней трудоемкости по всем методам. Таким образом, для стойкости шифра против известных мето- дов надо сконструировать такое устройство, которое дает хоро- шие характеристики по всем методам анализа. Построим пример синтеза такой системы; 1. Любой генератор z обладает периодом (структура произволь- ного отображения), (рис. 12.1). Тогда любой период — попадание на цикл структуры. Если мы попали на малый период, то значит в исходной гамме по- явился повтор. Какпоказано ранее, это слабость, приводящая к дешифрованию. Следовательно, соответствующее устройство дол- жно обладать максимальным периодом. Число циклических точек произвольного отображения не больше числа циклических точек подстановки. Таким образом, в подстановке меньше .шансов на 201
Произвольное отображение Рис. 12.1 короткий цикл. Наилучший вариант, когда цикл в подстановке единственен, тогда все точки лежат на нем и повторение про- изойдет не скоро. Оказывается, что регистр сдвига с линейной обратной связью (РСЛС) при определенных многочленах (при- митивных) СОСТОИТ'из двух циклов длины 1 и длины 2я- 1 (пол- ноцикловые РСЛС). 2. Гамма Должна быть по статистическим свойствам приблизи- тельно равновероятна, иначе Можно применить метод зигзаго- образного чтения. Таким образом, если РСЛС полноцикловая, то распределение знаков должно быть-приблизительно равноверо- ятным. ... 3. Однако РСЛС нестойка к аналитическим методам (линейная система). Следовательно, необходимо чтобы выходная гамма была нелинейной функцией от текущего вектора в регистре. При этом если f — неравновероятна, то и гамма — неравновероятна. Отсюда функция f должна быть равновероятной. Построим пример, удовлетворяющий требованиям 1—3>. Пример 12.1. /(хь х2, хз) =xi ® х2хз (рис. 12.2). 1 Действительно, Р(/= 0) = P(f= 1) = —. ____ф______ 2' 4. Однако схема на рис. 12.2 подвержена кор- реляционным атакам; следовательно, надо вы- бирать большое п и функцию f выбирать таким образом, чтобы ее трудно было аппроксимиро- вать линейной рекуррентой для корреляционной атаки (и метода, «разделяй и побеждай»). 5. При большом п и функции f с высокой сте- Рис. 12.2 пенью нелинейности получается большой линей- 202 J.
ный профиль и, следовательно, корреляционная атака не эффек- тивна. 6. Схема на рис. 12.2 не под- вержена атаке «встреча посере- дине». Рис. .12.3 Из условий 1—6 следует, что схема на рис. 12.2 — хорошая схема поточного шифра. Однако про- тив п. 4 эти схемы все-таки слабы. Рассмотрим и другие генераторы поточных шифров. Пример 12.2. Линейный генератор, управляемый часами [37] (рис. 12.3). В этой схеме выбираются только те знаки у, которые соответ- ствуют единице в последовательности у*. Для таких шифров также построены успешные корреляционные атаки. 12.2. Синхронизация поточных шифров Рассмотрим следующую схему выработки гаммы (рис. 12.4). В этой схеме гамма должна 'вырабатываться синхронно. Если происходит сбой, то рассматриваются две; схемы: перезапуск и самовосстановление. •• - . . '• Ч i . . . .. . i ! . ; ОТ 1>ШТ _L_ ШТ ОТ ' : ---»ф-~—• —. »ф » . Канал ‘ Рис.12.4 1. Автономный поточный шифр (требует перезапуска при сбое) (рис. 12.5).' В этой.схеме функция/зависит от ключа,' а начальное заполнение-РСЛС передается по каналу для синхронизации шиф- ров при перезапуске. >. - . Рис. 12.5 203
Рис. 12.6 2. Самовосстановление (рис. 12.6). При передаче й приеме содер- жимое регистров заполняется шифртекстом. Функция/зависит от ключа. При сбое бита в канале расшифрования не происходит, пока искаженный бит находится в регистре. После того, как иска- женный бит покидает регистр, правильное расшифрование вос- станавливается автоматически. Таким образом, происходит само- восстановление синхронной работы шифраторов на передающем и принимающем узлах. 12.3. Синтез блочных шифров Пусть по-прежнему преобразование У= Т(х, £); должно давать трудоемкость восстановления к не ниже порога а по всем извест- ным методам криптоанализа блочных шифров. Основная идея достигнуть этого (по Шеннону) — итерация простых шифров. Однако надо иметь в виду, что не всегда супер- позиция простых шифров дает сложный'шифр. Определение 12.1. Шифр обладает свойством С, если статисти- ческие свойства шифртекста «сложно» зависят от статистических свойств открытого текста. Определение 12.2. Шифр обладает свойством D, если: а) каждый знак открытого текста (ОТ) влияет на все знаки шифртекста;, б) каждый знак ключа влияет на знаки шифртекста (ШТ). Необходимыми условиями стойкости блочных шифров явля- ются свойства Си D. ; Рассмотрим два простых шифра: простую замену <р и переста- новку я. 1. Статистические характеристики шифртекста после простой замены равны по значениям статистическим характеристикам от- крытого текста. Однако если выписать значения вероятностей лю- бой характеристики шифртекста через статические характеристи- ки открытого текста, то необходимо использовать <р. Таким обра- зом, сложность вычисления статистических характеристик шифр- текста не проще сложности вычисления <р. Следовательно, простая замена может порождать свойство С. 204
2. Вероятности знаков шифртекста после перестановки л со- впадают с вероятностями знаков открытого текста. Поэтому их вычисление просто. Однако другие статистические характеристи- ки шифртекста (биграммы и т.д.) зависят от многих характери- стик открытого текста (если открытый текст не является последо- вательностью независимых испытаний). Таким образом, переста- новка может порождать свойство D. Следовательно, основная идея построения стойкого блочного шифра — композиция i (i= 1, 2, ..., г) пар простых замен <р,- (с нелинейным преобразованием ср,) и перестановок л;. По виду композиции различают два вида блочных шифров: каскадные шифры и произведение шифров. 1. Каскадный шифр — представляет собой композицию про- стых шифров, когда ключ каждой операции выбирается незави- симо. Такие шифры подвергаются атаке «встреча посередине» (если ключи малы; то возможна атака «встреча посередине»; если клю- чи большие, то общий ключ очень большой). 2. Произведение шифров — выбор ключей для каждой компо- ненты произведения производится по некоторому алгоритму из одного основного ключа; Например, DES — произведение шиф- ров. Определение 12.3. Инволюцией называется преобразование /та- кое, что /= /-1, т. е. Vx/(/(х)) = х. Например, . 1) /(х) = с-х (modm); /(/(х)) =/(х) + с = -(-х + с) + с = х. 2) Перестановки: /(Х1, х2, х3, х4) = (х3 х4 Х1 х2); Х2, Х3, Х4) =/(х3, Х4, Xi, Х2) = (Х[ х2 х3 х4). Блоки для построения удобного шифрования, расшифрования [44]: 1) инволюции-перестановки (рис. 12.7); 2) инволюции (рис. 12.8); 3) групповые шифры (например, гаммирование) (рис. 12.9). Здесь Z— операция в группе; Z-1 — обратный элемент к Z в группе. Можно получить совершенный шифр для одноразо- вого равновероятного Z. Рис. 12.7 Рис. 12.8 205
Рис. 12.9 Рис. 12.10 Рис. 12.11 Утверждение 12.1. Если исполь- зовать инволюции в блоках, то шиф- рование (рис. 12.10)/расшифрование (рис. 12.11) отличаются порядком ключей. Наиболее часто используются три способа построения блочного шифра: . , а) последовательность: инволюция, инволюция-перестановка (Pi) (рис. 12.12), например DES; FEAL; LOKI. При расшифрова- нии в случае а) изменяется порядок ключа; б) чередование группового шифра и инволюции (рис. 12.14) (при обращении надо брать Z-1), например PES. При расшифро- вании в случае б) изменяется порядок ключей и каждый Я-под- ключ заменяется на обратный в группе; в) чередование группового шифра, инволюции, инволюции- перестановки (рис. 12.14), так что выполняется соотношение Рх(а® ®b) = Pt(a) ® Рг(Ь) (рис. 12.15). Действительно, Р[(Х ® Pi(Z)) = Pj(A) ® Pi(Pj(Z)) = РГ(Х) ® Z, например IDEA (International Data Encryption Algorithm). При рас- шифровании в случае в) изменяется порядок ключей, ключи ZAm и 2^(й+1) заменяются на обратные в группе, а все остальные Рис. 12.12 ' ®— /п()— - — <8> —“foG)]—у --------------1------------- Z0 Рис. 12.13 206
Рис. 12.14 Рис. 12.15 Л-подключи заменяются на обратные с перестановками следу- ющим образом: PI(Z-*) = (PI(2))-1. 12.4. Слабости блочных щифров Для блочных шифров характерны следующие слабости, кото- рые мы иллюстрируем на примере DES [44]. 12.4.1. Морфизм DES Пусть X — входной вектор, &Х — его отрицание. Теорема 12.1. DES(X,Z) = DES(J,Z). Доказательство. Из отрицания Z ключа Z следует, что все 16 производных подключей^-берутся сотрицанием. Если вместо и Z-, в алгоритме DES взять Rt_± и Zh =f(R_b Z^, тогда при использовании Li_\ и Z,- получим отрицание Lt и 7?,: Li=Ri-i, R, =Ll_l ®f(Rj-i, Z.) = Z,_i Ф 1 ®f(Ri-i, Zt) = Lj-i ®f(Ri_l, Z^ =Rt. Теорема доказана. Замечание 12.1. Слабость используется при опробовании. 207
12.4.2. Слабые ключи DES . Определение 12.4. Клюя Л'называется слабым ключом DES, если DES*( •) = DW( •), т.е. Y= Dk(X) и Х= Д(У). Известно, что DES имеет 4 слабых ключа: 00000001х8 11111110x8 11100000 х 4 | 11110001 х 4 00011111 х 4 | 00001110x4 В случае слабого ключа возможно частичное дешифрование при наличии достаточно длинных открытого текста и шифртекста. 12.4.3. Полуслабые ключи DES Определение 12.5. Ключ Л'называется полуслабым ключом, если существует Кх К такой, что DES^/ •) = DESf r( •). DES имеет не менее 12 полуслабых ключей. Опасность состоит в том, что преобразования, реализуемые DES для различных ключей, могут образовать группу. Тогда при суперпозиции преобразований для и К2 может существовать ключ К3 такой, что В этом случае усиления DES при тройном DES не произойдет. Замечание 12.2. В 1992 г. Бернсдорф доказал, что множество {DK, ке е не образует группу и нет подгрупп.
Гл а в a 13 ОСОБЕННОСТИ РЕАЛИЗАЦИИ КРИПТОСИСТЕМ С НЕСИММЕТРИЧНЫМИ КЛЮЧАМИ 13.1. Алгоритм Евклида и его сложность Рассмотрим математические вопросы, связанные с шифрами, использующие операции с целыми числами. Обозначим N — мно- жество натуральных чисел, No — множество натуральных чисел с О, Z — множество целых чисел. Если а, b ё Z, b * 0, то по теореме Евклида существует единственная пара целых чисел q, г таких, что a = bq + r, 0 < г<|б|. (13.1) Здесь г называется остатком. Существует несколько обозначе- ний для остатков: r= Rb(a), r= a(modZ>) и др. Простейшие свойства остатков: 1. И-ь(а) = Rb(a), так как a = qb + r\: (a = (-q)(-b) + r О < г < | b | J [0 < г < | b |. 2. Rb(a + ib) = Rb{a), Vie l, так как a + ib = (q + i)b + r. Если r= 0, to b jxqjiut: а (обозначается b/a). Из свойства 1 следует, что если а делится на d, то а делится на -d. Поэтому среди всех общих делителей а и b существует наи- больший натуральный делитель (обозначается НОД(а, Ь)). Если НОД (a, b) = 1, то а и b взаимно просты. Лемма 13.1. Для любых a, b, i е Z: НОД(о, Ь) = НОД(а+ ib, b). Равенство в лемме 13.2 называется рекурсией Евклида. 8 Грушо 209
Лемма 13.2. Для любых и1( и2 е Z; п2 * О, . НОД(льл2)=НОД(и2,Л1(«1)). Следствие 13.1. Если НОД(ль л2) = НОД(Л20»1), «2) = НОДСЯл», Rni{n^ = ...= = НОД(0, г), то г= НОД(ль п2). (13,2) Данный способ нахождения НОД(ль л2) называется алгорит- мом Евклида. Пример 13.1. НОД(54, 30) = НОД(24, 30) = НОД(6, 24) = НОД(0, 6) = 6; НОД(156, 117) = НОД(39, 117) = НОД(0, 39) = 39. В криптографии возможность применения любого алгоритма определяется сложностью этого алгоритма. Оценим сложность ал- горитма Евклида. Будем считать за одну операцию одно деление в алгоритме Евклида., Отметим, что каждое равенство в (13.2) свя- зано с одной операцией деления. Обозначим через m(d) мини- мальное число «1 >0, для которого существует п2, п}> п2>0 такое, что НОД(ль п2) вычисляется с помощью (13.2) за d операций деления. Легко вычислить m(d) для малых значений ' ' ' /и(1) = 2 (л1 = 2, л2=1); /и(2) = 3 (л2 = 3, п2 = 2); /п(3) = 5 ' (л2 = 5,’л2 = 3). Пусть л2 = m(d) и п2 такое, что НОД(ль л2) вычисляется за d шагов алгоритма Евклида (13.2). Обозначим л^^лг+r, n2=q2r.+ r2. Тогда для вычисления НОД(л2, г) надо (d - 1) операции в алгорит- ме Евклида, а для вычисления НОД (г, г2) надо (d - 2) операции в алгоритме Евклида. Из определения пх m(d) = qln2 + r. (13.3) Вместе с тем, л2 > m(d - 1). Это следует из того, что для л2 существует г, позволяющее вычислять НОД(л2, г) за (d- 1) деле- ний, a m(d- 1) — наименьшее из натуральных чисел, облада- ющих этим свойством. Аналогично, для нахождения НОД(г, г2) требуется (d - 2) деления, a m(d- 2) — наименьшее из таких чисел. Тогда r> m(d-2). Из этих оценок и (13.3) следует, что m(d) > m(d- 1) + m(d-2); (13.4) Рассмотрим рекуррентное соотношение Ф(А) = <P(d-\) +Ф(с1-2) (13.5) 210
при начальных условиях Ф(1) = 2, Ф(2) = 3. Тогда из неравенства (13.4) и равенства (13.5) и начальных значений Ф(1) = т(1), Ф(2) = = т(2) следует, что Ф(dj < m(d) для всех 1. Рекуррентное соот- ношение (13.5) определяет числа Фибоначчи (1202 г.). Найдем эти числа методом производящих функций. Пусть У, Ф(с?)х‘/ = Ф(х) — </=i формальный ряд. Для d> 3 Ф{а)ха = хФ{а- l)xd-1 + х2ф(</- 2)xd~2. Суммируем по допустимым d: У, ФЦ)ха = xjr Ф^ - l)xd-1 + х2 У ФЫ - 2)xd~2. d=3 , d=3 d=3 Отсюда Ф(х) - Зх2 - 2x=х(Ф(х) - 2х) + х2Ф(х); Ф(х)(1 - х - х2) = х2 + 2х; 1 '5 х + Ф&) = ф(х)= х2+2х =-1- х + 1; =-1- 1-х-х2 х2+х —1 5-1 2 = (1,171)(1,618)</. Откуда * 1,44 log 2Ф(й?)-0,328. 1 Тогда из неравенства Ф&) < m(d) d< l,441og2/n(J). - Следовательно, для всех п правая часть неравенства d< l,441og2«! определяет верхнюю границу сложности алгоритма Евклида. Пример 13.2. п = 10100 => d< l,441og210100 = 478. 211
Существуют другие алгоритмы вычисления НОД. Алгоритм Стейна [44] основан на следующих равенствах. 1. Если и л2 — четные, то НОД(льл2) = 2НОД^,^-\ 2. Если — четное, п2 — нечетное, то НОД(«1,«2) = НОдГ^-,«2\ v 2 ) 3. Если п2 и п2 — нечетные, то НОД(«Ь п2) = НОД^-р. , п2 J Сложность алгоритма Стейна. Пусть ц($) — минимальное зна- чение пх + п2 такое, что s делений потребуется для нахождения НОД(«1, п2), «1 > п2 > 0. Тогда 5^1Og2«i+ 1. (13.6) Пример 13.3. ц(1) = 2 («t = 1, п2 = 1); ц(2) = 4 («1 = 3, п2=1). 13.2. Арифметика остатков Определение 13.1. а сравнимо с b по модулю «: а = b(ri), (13.7) если R„(a) = Rn(b). Отношение (13.7) есть отношение эквивалентности. Это отно- шение разбивает Z на непересекающиеся классы вычетов. Класс вычетов будем обозначать [a], a, be [а] <=>« = />(«). Z/л = {[а]} — коммутативное кольцо: 1) [а] + [Ь] = [« + />] корректно определенная коммутативная, ассоциативная операция; 2) [а] • [Z>] = [а b] корректно определенная коммутативная, ассоциативная операция; 3) ([«] + [*]) • [с] = [о- с] + [6- с]. Докажем, что результат операции сложения не зависит от вы- бора представителей (корректность): а + b = nqx + и + nq2 + r2, + r2 = riq + г; a' + b’ = nq\ + и + nq2 + г2, и + r2 = riq + г. 212
Для операции умножения корректность доказывается анало- гично. Лемма 13.3. а е [Z>] <=> а - b = кп. Доказательство непосредственно следует из (13.7). Лемма 13.4. В любом классе вычетов существует единственное наименьшее неотрицательное число. . С другой стороны, Vo, be N, а> b> 0, Rb(a) = r= a(modb). Следующие свойства остатков важны для дальнейшего матери- ала. 1. (c**0(m°d^) = (c(modZ>)*J(mod6))(modZ>), где * е {+, -, х}. 2. ах(с+rf)(modb) = ((охc)(modb) + (ах J)(mod6))(modb). Использование вычетов в криптографии основано на существо- вании алгоритма быстрого возведения в степень. Пусть a2 2(mod ri) = (o2)2(mod ri) = (o2(modn))2(mod ri), где о2 (mod л) — остаток от деления о2 на п, следовательно, его проще возводить в квадрат, чем число о2. Таким образом, любая степень числа 2 позволяет быстрее возводить в степень, если по- следовательно приводить промежуточные результаты по моду- лю п: a2*mod п = ((a2 (mod n))2(mod n))2(mod ri)... Если x — произвольное число, то существует представление х= а^-2° + аг 21 +... + ак-2к и тогда возведение в степень опирается на быстрый алгоритм воз- ведения в степень числа 2: a* (mod л) = (a"0'20(mod л) a01'2.1 (mod л)... аа* 2* (mod л))(mod л)... Пример 13.4. 312(mod 19) = ((38(mod 19)(34(mod 19))))(mod 19); 34(mod 19) = (32(mod 19))2(mod 19) = 92(mod 19) = 5; 38(mod 19) = (34(mod 19))2(mod 19) = 52(mod 19) = 6; 312(mod 19) = (6-5)(mod 19) = 11. Можно доказать, что возведение в степень к требует в среднем 1,5& операций. 13.3. Основные теоремы о вычетах Пусть л взаимно простое с а число, а 0; г0 = 0, гь ..., r„_i — наименьшие неотрицательные представители различных классов вычетов mod л. Рассмотрим множество чисел: 213
«о = (aro)(m°d*O, «1 = (ди) (mod л), un_i = (ar^Xmod л). Лемма 13.5. Числа д0> их,..., ип_х — различные. Следствие 13.2. Числа и0> «ь —, «л-1 — наименьшие неотрица- тельные представители всех классов вычетов. Следствие 13.3. Среди чисел «о, ыь —> «и-1 есть 1» Следствие 13.'4. Если п простое, НОД(д, и) = 1, то уравнение ах= l(modn) имеет единственное решение с точностью'до класса. Доказательство следует из следствия 13.2. Определение 13.2. Функция Эйлера ср (л), neN, определяется как число натуральных чисел, меньших п и взаимно простых с п, т.е. ' ф(л) = |{д: НОД(д, п) = i, а < л}|.д Если п простое, то ф(л) = л-1. Если n=pq, гдер и q — простые, то ф(л) = (р —l)(tf- 1). , Пусть для ле N гь г2, ..., гф(л) — все взаимно простые с п нату- ральные числа, меньшие п. Будем называть этот набор системой представителей для п. Пусть а е Z и НОД (а, л) = 1. Рассмотри^ набор чисел ' «1 = («nXmod л), и2 = {ar2){modn), ..., иф(л) = : = (w<p(»)Xm°d«)- (13.8) Лемма 13.6. Если НОД (а, л) = 1, то набор чисел иь и2, ..., иф(л) является системой представителей для п: .Лемма 13.6 является основой для доказательства ряда важных для криптографических приложений результатов. . Теорема 13.1. Если леТЧ, де Z, НОД(д, л) = 1, то уравнение ах = 1(тобл) имеет единственное решение в кольце вычетов по шобл. Теорема 13.2 {обобщенная теорема Евклида). Для любых а и b из Z найдутся и, v из Z, такие, что , , аи + bv = НОД(д, Ь). Теорема 13.3 {теорема Эйлера). Если ле N, де Z, НОД(д, л) = 1, то o’,(B)(mod л) = Г. Следствие 13.5 {малая теорема Ферма). Если л — простое чис- ло, НОД(д, л) = 1, то а"-1 = l(modn). 214
Следствие 13.6. Если НОД (а, л) = 1, то д-1 = o'pW-^mod л). Таким образом, при известном значении функции <р(л) обра- щение в кольце вычетов сводится к возведению в степень. . В заключение приведем без доказательства полезную теорему [44]. Теорема 13.4 {китайская теорема об остатках). Пусть Л1ь ..., mk е Z, НОД(лг,-, т) = 1, z # j. Тогда для Vrb ..., rte Z, 0<г,< mh i = l, к существует единственное решение 0<х< л = т{...тк систе- мы Rmi{x) = rh z= 1, ..., к. j 13.4. Квадратичные вычеты Пусть р — простое число, а <р, р > 2. Определение 13.3. а — квадратичный вычет <=>Эх: х2 = zz(modp). Пример 13.5. Пусть р = 7, тогда 1, 2, 4 — квадратичные вычеты, а 3, 5, 6 — не квадратичные вычеты: l2=l = l(mod7) 22=4 = 4(mod7) З2 = 9 s. 2 (mod 7) 42 = 1,6 s 2 (mod 7)' 52 = 25 s 4 (mod 7) 62 =36sl(mod7) 3x: x2 = 3, 5, 6 (mod7) Теорема 13.5. Существует 2-^- квадратичных вычетов и не квадратичных вычетов в GF(p). У каждого квадратичного вы- л р-1 чета существуют два корня «! и а2 такие, что 0 < «1 <2-^—, р — 1 < а 2 < р -1, где «! называется основным корнем. Теорема ,13.6. Если л = p q, где р, q — простые числа, то ч (р-1)(?-1) . . □ ——квадратичных вычетов по mod л и у каждого квад- ратичного вычета существует 4 корня. 215
4-6’ ‘ Пример 13.6. л=35 = 5-7 => 3 ——• = 6 квадратичных вычетов по 4 mod 35: 1, 4, 9, 11, 16, 29. Каждый квадратичный вычет имеет ровно 4 корня. Определение 13.4. Для целого а и простого р > 2 символ Лежан- дра определяется следующим образом: L(a, р) = 0, если р/сг, L(a, р) = 1, если а — квадратичный вычет по modp; Ца, р) = -1, если а — не квадратичный вычет по modp. р-i Теорема 13.7. Ца, р) = а 2 (mod р). Определение 13.5. Пусть р — простое, g<p. g называется при- митивным элементом мультипликативной группы поля GF(p) (или примитивным элементом по modp), если VO<п<,р- 1 За: n=ga(modp). Пример 13.7. При р= И, 2 есть примитивный элемент мульти- пликативной группы GF(ll). 210 =1024 = 1 (mod 11); 29 = 519 > 6(modll); 21 = 2 s 2(modll); 27 = 128 = 7 (mod 11); 28 = 256 = 3 (mod И); 23 = 8 = 8(modll); 22 = 4 = 4(modll); 26 = 64 = 9 (mod 11); 24 =16 5(mod 11); 25 = 32 s 10(mod 11). Каждое число ле [1; 10] может быть представлено в виде 2a(mod р). Для р=11 числа 2, 6, 7, 8 являются примитивными элемента- ми мультипликативной группы GF(ll). Остальные не являются примитивными элементами. Замечание 13.1. В GF(p) <р(р- 1) примитивных элементов. Нахождение примитивного элемента не является простой за- дачей. Примитивный элемент находится легко, если известна фак- торизация р - 1. Пусть g!.gn — простые множители р - 1. Для того чтобы проверить, является ли g примитивным элементом по (р-D __ modp, вычисляется I = g gt (mod р), i = 1, л. Если для некоторо- го i это число равно 1, то g — не примитивный элемент. Если это не выполняется ни для какого i = 1, л,, то g — примитивный эле- мент. 216
Пример 13.8. При р = 11 имеем р - 1 = 10 = 2 • 5. Проверим, что число 2 является примитивным элементом мультипликативной группы GF(ll): (п-D. 2 5 = 4(modll)* 1; (п-D 2 2 = lO(modll) # 1. Следовательно, 2 — примитивный элемент. Проверим 3: (н-D 3 5 = 9(modll)*l; (п-D 3 2 = 243(modll) = 1. Следовательно, 3 — не примитивный элемент мультипликатив- ной группы GF(ll). 13.5. Факторизация. Логарифмирование в конечных полях Факторизация числа означает нахождение его простых множи- телей. Пример 13.9. 10 = 2x5; 60 = 2x2x3x5; 252601 = 41 х 61 х 101; 2113-1 = 3391 х 23279 х 65933 х 1868569 х 1066818 131868207. Проблема факторизации — одна из старейших проблем в те- ории чисел. Сложность самого быстрого алгоритма факторизации [47]: g -Лпл -71П1П/1 ' ' Пусть я(и) — число простых чисел, меньших или равных п. Теорема 13.8. (теорема Чебышева о числе простых чисел [44]). .. ге(и) , Inn-1—- = 1. Л-»оо П Inn Все современные тесты на простоту основаны на обобщениях теоремы Ферма. Если а имеет порядок N (ал = 1 (modp)) в мультипликативной группе поля GF(p), что предполагает а0 = 1, а, а2, ..., а^1 — различны, и р = а', где 0 < i < N. Тогда i называется дискретным логарифмом от р по основанию а и обозначается z = logap. Если y=/(x) = ax, 0<x<N, 217
то *=/_1(У) = 1<^а.У- При этом: '' 1) вычислять экспоненту легко: требуется не более 2[log2#] операций в алгоритме быстрого возведения в степень; 2) вычисление дискретного логарифма в GF(p) является очень сложной задачей, когда р - 1 имеет большой простой множитель. Для вычисления x=logay в GF(p), когда а имеет мультиплика- тивный порядок N (aN = l(modp)), используют алгоритм Shank [40]. Выбирается некоторое целое d, где d ~ JN. Тогда х= Qd+ г, 0<r< d = 4n и ; ! N I— о < q < Д « 4n. a Далее все вычисления ведутся в GF(p). 1. Для р = 0, 1, ..., (d - 1) вычисляем о*5 = аар~!.и запоминаем (ap, р) => р = loga(ap) — это все логарифмы у такие, что logay< d. 2. Составляем таблицу (у, logay) для 0 < logay< d — таблицу малых логарифмов. 3. Вычисляем a-d=aJV-</ с помощью алгоритма быстрого возве- дения в степень. Заметим, что у = ах = a°rf+r = а^аг, усг^ = аг и, следовательно, y(a-d)e=ar. 4. Для 9=0, 1, 2, ... вычисляем y(a~d)9 до тех пор, пока y(a~d)9 не станет равным некоторому у = ap в таблице. 5. Тогда x=qd+p и a9d+p = a9dap = a9d-y(a~d)9 = y. Сложность алгоритма имеет порядок ‘2jN операций умноже- ния и память ~y[N. Пример 13.10. Найдем х=log513, здесь 5 — примитивный эле- мент GF(23), и => #=22 (522= l(mod23)). 0. J=5; . 1. 5° = 1; 5‘=5; 52 =25 = 2; 53 =5-2 = 10; 3 операции умножения. 54 =5-10 = 4 Y lOgaY 1 2 4 5 10 0 2 4 1 3 218
3. a~‘,= ajV-J=a17=a16 • a1; a1 = 5 a2 =5x5 = 2 a4 =2x2 = 4 . a-d =3x5 = 15. a8 =4x4 = 16 a16 = 16x16 = 3 4. у = 13 не принадлежит входу в таблице (<?=0). 2 операции умножения y:a~d = 13x15 = И не принадлежит входу в. таблице (q = 1), , (у . a~d) a.~d =11x15 = 4 принадлежит входу в таблице при q = 2. Следовательно, (4, 4)(4, р) =>х = qd+ р = 2-5 + 4 = 14; ... X=10g513 = 14 : . * и для его нахождения требуется 5 операций умножения. Проблема дискретного логарифмирования упрощается, если основание логарифма а, имеет порядок ТУ и N= Nx; N2и сводится к дискретному логарифмйр'ованию по’основанию, имеющему'по- рядок Д, и дискретному логарифмированию по основанию, име- ющему порядок N2. : . Алгоритм [44] нахождения дискретного логарифма, когда ос- нование логарифма а имеет порядок Ди N-NrN2r приведен, да- лее. Пусть ...... ’ ... ... " .. x = logay(aJV = 1, N= NvN2). 0. Вычисляем yi =)№ с помощью алгоритма быстрого возведе- ния в степень. 1. Вычисляем eq = а1** с помощью алгоритма быстрого возведе- ния в степень. ' ’' ’ 2. Находим x^log^yj. 3. Вычисляем ay-X| с помощью алгоритма быстрого возведения в степень. 4;Вычисляем у2=у- 5. Вычисляем a2 = aN1 с помощью алгоритма быстрого возведе- ния в степень. 6. Находим х2=loga2y2. 7. Получаем х=х2Д+xb 219
13.6. Схема RSA RSA [47] используется как для шифрования, так и для подписи. 13.6.1. Схема шифрования RSA Выберем р и q — большие простые числа. Пусть модуль п = pq, функция ф(я) = (р- 1)(#- 1) — функция Эйлера. Возьмем произ- вольное 1 < е < ф(я) такое, что НОД(е, ф(я)) = 1. Тогда существует единственное 1 < d < ф (я) такое, что е<7(тоёф(я)) = 1. Система шифрования RSA — это система с открытым ключом, где е — открытый, a d — секретный ключи. Если 0 < х < я — это открытое сообщение, то шифрсообщение получается следующим образом: С=хе(пкх1я). Возможность расшифрования следует из следующей теоремы. Теорема 13.9. Еслиpw.q — большие простые числа, е^(тобф(я)) = = 1, то Vх, 0<х<п: (xe)<z(modfl) =х. Открытый и шифрованный тексты эффективно вычисляются с помощью алгоритма быстрого возведения в степень, если извест- ны е и d. Если искать секретный клкэч d по известному открытому ключу е, то надо знать ф(я). Теорема =13.10. Вычисление ф(я) = (р-1)(?-1) эквивалентно (с точностью до алгоритма полиномиальной сложности) фактори- зации числа я = pq. 13.6.2. Подпись RSA Пусть М — сообщение, которое надо подписать. Подпись полу- чается по следующему алгоритму: С= Md(modn), тогда (М, С) — сообщение с подписью. Проверка подписи осуще- ствляется следующим образом: Ce(mod я) = Me</(mod я) = М'. Если М = М', то подпись верна. 220
13.7. Атаки на RSA 1. Активная атака с помощью выбранного шифртекста. Пусть злоумышленник Е перехватывает шифрованное сообщение с от корреспондента А к корреспонденту В. Пусть с=ze(mod и), где z — открытый текст, е — открытый ключ и z = «/(mod п), где d — сек- ретный ключ. Е хочет прочитать открытый текст z- Для этого Е выбирает число г, г< п, и вычисляет с помощью открытого ключа х= re(mod«); у=хс(тобл); /=r-1(mod«) так, что r=xd(mod«), Z=x-d(modn). Пусть Е подписывает у у Я с помощью секретного ключа d, т. е. « = y‘/(mod л). Затем Е вычисляет t- «(mod л) = х_</- (y^mod л)) = x~d- xd- ze</(mod л) = z- Таким образом, Е читает z. 2. Предположим, что Е хочет получить подпись на число NyA, а А никогда не подпишет N. Тогда £ выбирает произвольным об- разом X и вычисляет Y=Xe(modri). Затем Е вычисляет М= Y: N h посылает А на подпись. А подпи- сывает М и возвращает 'Е число М= A/(mod п). Е вычисляет W-*(mod л) = (Y-N)d- X~l(raod ri) = XedN1- X-*(mod л) = A/(mod л), что и является подписью N. . 3. Пусть Е хочет подписать у А число М3. Тогда Е генерирует 2 сообщения Л/i й М2 так, что , . . М3 s Мх • М2 (mod л). Подписав у А сообщения М{ и М2, Е затем вычисляет подпись для М3: Л/f (mod л) = AffOnod л) • М2 (mod л). 4. Атака с использованием общего модуля. Пусть у всех абонен- тов сети один модуль л и различные секретные и открытые ключи. Рассмотрим открытый текст Р и предположим, что он зашифро- ван на двух различных открытых ключах и е2: Ci = ре1(тобл); 221
с2 = р‘2(modл), где НОД(е15 е2) = 1. Тогда в силу обобщенной теоремы, Евклида существуют такие числа г и з, что ' . < ге1 + зе2=1. Пусть г отрицательно (отрицательно должно быть либо г, либо s). Тогда можно вычислить ср}, используя алгоритм Евклида,,.а затем (c1"1)-r с2 = Pe'r+e2S(modn) = Р. 5. Атака с малой экспонентой. Пусть е мало, например 3, и используется для зашифрования одного и того же шифртекста ,х по различным модулям. Соответствующие шифртексты У1 = x^mod /nJ; у2 = x^mod /п2); Уз = x3(mod /и3), и пусть /И1, т2, т3 — взаимно простые числа. Следовательно, х3 < < тг т2 • т3. Мы можем, найти х3 из уь у2, у3, используя обраще- ние китайской теоремы об остатках, а затем найти х путем извле- чения кубического корня из х3. . 13.8. Криптографические протоколы. Компрометация криптопротоколрв ' Рассмотрим протокол- связи абонентов сети А1} А2, ..., Лу,с использованием RSA. Пусть у каждого абонента есть справоч- ник, в котором находятся все открытые ключи всех абонентов еь е2, ..., еЛг. Соответственно d2,‘ ..., dN — секретные ключи абонентов. Абонент А, хочет послать зашифрованное сообщение абоненту А}. Пусть х — это открытый текст. Тогда А, вычисляет , , c = xe>(mod«). Затем абонент Я,- посыпает сообщение с абоненту А} (рис. 13.1). Рис. 13.1 Получив сообщение с абонент А} вычисляет x=c^(modn). 222
То, что описано.выше, — это протокол секретной связи в сети. Данный протокол определяется следующими элементами. 1. Участники протокола — абоненты А, и Aj. 2. Язык протокола — множество понимаемых участниками слов — блок длины < log 2 п или последовательность блоков (сооб- щение = слова). 3. Порядок обмена сообщениями. Любой обмен — это трехэтап- ная процедура: • формирование сообщения у абонента А-, (в нашем случае — это формирование сообщения с); 41 1 ! • передача сообщения абоненту Aj, • 'формирование исходных данных для следующего шага прото- кола или завершения протокола (в нашем случае — это формиро- вание х). 1 Криптопротокол в отличие от обычного протокола характери- зуется наличием у некоторых участников секретов^т.’е.. информа- ции, которая известна Одному или группе участников и не Долж- на попасть к не участникам !группы (информация может быть из- мерена информационным потоком или возможностью за прием- лемое время вычислить секрет или часть его). В протоколе связи два секрета: dj — секрет Aj их — секрет для А, и Aj. Протокол может быть частью другого протокола. Например, рассмотренный протокол секретной связи на рис. 13.1 является частью протокбла’, изображенного на рис. ,13.2, где х= c^(modп). < ' \ - *- ( t f1 • ' ’ о с=xe'(mod п) , . ' - , , ’> У 4----------У Рис. 13.2 Предположим расширение числа участников протокола («пас- сивный» перехват) за счет добавления участника Е, который из канала связи получает сообщение, переданное Л,- (рис. 13.3). Рис. 13.3 На рис. 13.3 c=x^(mod«), х= cd>(mod «). Так как мы не знаем действий Е, то с . получением с .его уча- стие в протоколе завершено. 223
Возможно активное изменение протокола, т.е. имеется еще один ? (активный) участник М (рис. 13.4). 5 4-----"М У Рис. 13.4 Если М играет роль транслятора или Е, то выполняется исход- ный протокол, иначе выполняется другой, протокол вместо ис- ходного. . В нашем случае цель модификации.протокола ,— компромета- ция секрета, т.е. получение хотя бы частичной информации.о сек- рете не членами группы. Пример 13.11. Пусть протокол связи включает множество про- токолов связи абонентов. Пусть в сети имеется один модуль п. Тог- да возможен случай, изображенный на рис. 13.5. ' q =x^(mod п) C2=xe*(mod л) 4------*------~Aj 4-------s------^Ак Рис. 13.5 Пусть Е перехватывает все сообщения, и предположим, что х для Ci и с2 одно и то же. Поскольку Е знает q и ек, он может вычислить НОД(еу, еД. Если НОД(еу, ек) = 1, то в указанных пред- положениях он может провести компрометацию протокола сек- ретной связи, опираясь на атаку 4 подразд. 13.7, т.е. по обобщен- ному алгоритму Евклида существуют г и з, что rej + sek = 1. Если г < 0, то Е считает (q)-1, тогда (q-1)-rc^ = /игеу+“* (mod п) = х. с . ‘ Каким образом £ находит одинаковые х по q и с2 — другая проблема. Существуют универсальные атаки. Пусть в сети отсутствует спра- вочник открытых ключей RSA. Тогда протокол связи будет иметь вид, изображенный на рис. 13.6. eJ С л А,-----S------- 4- А------S------- AJ Рис. 13.6 Модифицированный протокол, компрометирующий исходный протокол, носит название «человек посередине» (рис. 13.7). 224
с с А._____S------- М______S------- AJ Рис. 13.7 Здесь М передает Л, свой открытый ключ е) вместо полученно- го от Aj ключа ej. Тогда c' = xe>(mod«); c = xe'(modn). Защита от атаки «человек посередине»: At и Aj обмениваются ключами й договариваются о передаче части сообщения. При этом оставшуюся часть посылают только после получения подтвержде- ния о поступлений первой части сообщения. Такой способ защиты не всегда защищает декрет, но йногда позволяет выявить наличие «человека посередине». А именно, Л/ вычисляет q = xe/(mod п) и посылает Aj (рис. 13.8) половину сообщения с{. Рис. 13.8 Aj вычисляет C2=ye‘(modri) и посылает половину сообщения с2 (рис. 13.9). Рис. 13.9 Получив сообщения, каждая сторона посылает второй стороне вторые половины сообщений. Если все верно, то сообщения чи- таются. Если М посередине перехватил у, то не может их расшифровать, а для передачи других половинок надо послать что- то абонентам. Мвынужден выдумывать, что заведомо создает иной разговор, чем прежде. Иногда указанный метод не защищает. Пусть Л,- и Лу создают ключ Л для сеанса по правилу к= к,+kj. Тогда, послав друг другу по половинке ключа (рис. 13.10), они попадут к противнику и М, сочинив свои половинки, создаст свои ключи к' и к". 225
Рис. 13.10 Рассмотрим менее примитивный пример атаки на протокол распределения ключей TMN (Tatebayashi-Matsuzakai-Newman) [53]. Пусть имеется мобильная сеть. Любая мобильная информация ог- раничена по вычислительным возможностям и криптографии. Есть сервер с хорошими вычислительными возможностями и крипто- графией. Предположим, что сервер безопасен при хранении и ис- пользовании своего ключа1 (а йе всех в сети). Любой терминал имеет, алгоритм шифрования (DES) и систему с открытым клю- чом типа RSA: л,=р^, c=.x3(mpdn). Сервер, знает р и q и, следова- тельно, быстро вычисляет vc(mod и). Пусть абоненты Aw В хотят обменяться ключом Л juki.DES, используя сервер,S, которому доверяют. Протокол выглядит следующим.образом. ' Протокол. 1. А выбирает случайное число Zi длиной 64 бит. А вы- числяет q = (ri)3(mod ri) и посылает на сервер (рис. 13.11). Рис. 13.11 2. S вычисляет зная pwq. S генерирует у и посылает В (рис. 13.12). . . Рис. 13.12 3. В вычисляет сеансовый ключ для DES г2 и передает А (рис. 13.13) с2 = (r2)3(mod«). . с2 В—------Ь. ' А ' Рис. 13ЛЗ 4. S вычисляет г2, Е(гъ г2) = i\ Ф г2 (рис. 13.14). £(Г1,гг) . . " ' Рис. 13.14 226
5. А вычисляет £(rb r2) ® И = ri ключ сеанса. Компрометация протокола. Е подслушивает все, что ему надо. D— сообщник Е“, D и Е — легальные пользователи сети. Цель Е— узнать секрет г2 (а затем открытый текст). Опираясь на свои воз- можности, £ и Е дополняют протокол. ., •. .; • < 1. £ подслушивает с2=(r2)3(raodri) при передаче сообщения к Я (рис. 13.15). • - = с2- Е-----s • <• Рис. 13.15 2. Евыбирает случайное число г (64 бит). Вычисляет г3(mod л), c3=c2r3(mddn)=(r2r)3(modri) и' передает S сообщение с3 (рис. 13.16) с просьбой организовать связь с D. Рис. 13.16 ; . •• • . . f-. 3. S вычисляет yrfr3 (modri) = r2r(modri) и посылает вызов D (рис. 13.17). ... . .. Вызов _ 5-----*--------- Рис. 13.17 4. D вычисляет с4 = (rJfe)3(mod п) и передаёт S (рис. 13.18). Рис. 13.18 5. Sвыбирает rk, вычисляет (rk+ r2r)(mddn) = с5, а затем переда- ет £ (рис. 13.19). С5____ S------S------- Рис. 13.19 6. Так как £ и D в сговоре, то £ знает rk. Тогда £ вычисляет из Уравнения (rk + r2r)(modп) = cs: r2 = (c5-rk)r~1(modn). 227
13.9. Система Диффи и Хеллмана Система Диффи и Хеллмана реализует протокол открытого распределения ключей [51]. Пусть абоненты сети Alf А2, AN имеют криптоалгоритм у = = Т(х, к) с секретным ключом. Если каждый абонент имеет сек- ретный ключ для связи с каждым другим абонентом, то таких ключей требуется —. Каким образом можно создать и рас- пределить ключи с учетом развития сети? Пусть имеется защи- щенный справочник сети. Рассмотрим поле GF(p), р — большое простое число. В GF(p) есть (р - 1) ненулевых элементов, среди них есть примитивные. Пусть а — примитивный элемент, и а0, а1, ..., а^-2 образуют всю группу GF(p) по умножению. Пусть х1? х2, ..., Xff — случайные числа, которые выбираются каждым.абонен- том Аь А2, ..., Ау случайно, и каждый из них хранит свое число в секрете. Далее каждый абонент из Alt А2, ..., Ау вычисляет у, = = a*'(mod р) и публикует значение yt в общем справочнике. Тогда секретный ключ для переписки абонентов сети Д- и Aj формирует- ся следующим образом: 1) Д берёт в общем справочнике число у/, •2) Aj берет в общем справочнике число у,; 3) Aj вычисляет кд = y/'(modр); 4) Aj вычисляет = y,^(modp); 5) k=kij = kj; — их общий секретный ключ. В самом деле kjt=y7»(mod р) = aX/X/(mod р) = y/'(mod р) = кд. Для вычисления этого ключа противнику Е надо уметь решать задачу логарифмирования в конечных полях, а она сложная. Схема Диффи и Хэлмана также подвержена атаке «человек по- середине» (рис. 13.20). Рис. 13.20 13.10. Схема шифрования EIGamal Схему Диффи и Хэлмана можно модифицировать так, чтобы построить систему шифрования с открытым ключом. Пусть р — большое простое число, g — примитивный элемент мультипликативной группы GF(p), х — случайное число, х<р- 1, 228
yeg*(mod/0 — открытый ключ, х — секретный ключ. . Пусть надо зашифровать сообщение М < р. 1. Выбирается случайное число к, взаимно простое с р-.1. 2. Затем вычисляется a=gfc(mod/?); b = y*Af(mod р). Шифртекстом является пара (а, Ь). При расшифровании вычисляется ах и b/ax(modp), b/ax s укМ/ах = = М(modр). 13.11. Подпись ElGamal Для генерации ключевой пары выбираются большое простое число р и примитивный элемент ,# мультипликативной группы GF(p). Выбирается случайное число х такое, что х< (р1). Откры- тым ключом является y = #x(modp), секретным ключом — х. , Схема ElGamal может быть использована как для подписи, так и для зашифрования. Стойкость основана на сложности дискрет- ного логарифмирования. Пусть А должен подписать сообщение М. Выбирается случай- ное число к, взаимно простое с (р - 1): НОД(Л; р - 1) = 1. Затем вычисляется - a = #*(mod/0- Рассмотрим уравнение М= (ха + fcZ>)(mod (р - 1)). По теореме о вычетах 3 к~1: (М-ха)к~1 = Ь(тоА(р- 1)). Подпи- сью под М является пара (а, Ь). Проверка подписи: вычисляем gM(p) и уааь(р). Проверяем yflaA(mod р) = р) = g^^mod р) = — gax+kk-x(M-xa)+(p-\)nk(mo(J p'j = gM+(p-l)nk(modp) - g^(mod />). 13.12. DSA (DSS) В основе Digital Signature Algorithm (DSA) (Digital Signature Stan- dard (DSS)) [34] лежит подпись ElGamal. Пусть p — простое чис- ло, q — простое число такое, что (р- 1) и g имеет мультиплика- тивный порядок q, т.е. g9= l(modp). 229
Лемма 13.7. Мультипликативные вычисления степеней g по мо- дулю р эквивалентны арифметическим вычислениям в показате- ле g по модулю q. ‘ Доказательство. g*gJ'(mod р) = gx+>’(mod р) = g<x+-’'X,nod«)+«n(mod р) = = g(x+J’)(mod?)ge’’(mod р) = jxmod») (mod ру Аналогично, (g-v)J’(mod р) '= ^<mod 4>(mod р), что и требовалось доказать. В DSS выбирают р~ 512,бит, q~ 160 бит. Пусть х — случайное число, х<р- 1. Тогда х — секретный ключ, a y = gx(modp) — открытый ключ. Алгоритм подписи сообщения Мвыглядит следу- ющим образом. . ; 1. Выбирается случайное число k<q. Так как НОД(£, q)= 1, то 3 fc-1(mod <?). ' • 2.Вычисляется ' ' ' r= [g*(modp)](mod(7).' ,3. Вычисляется s = k~\M + xr)(mod q). Подписью сообщения М является пара (г, $). Проверка подписи: вычисляем w = s-1(mod q). Это можно сделать, так как q — простое число. «1 = (Mw)(modq); U2 = (rw)(modq); v = [(g''1y“2)(mod/>)](mod^). Если выполняется равенство v = г, то подпись подтверждена. Доказательство. v = [(g“iy“2)(niodp)](mod^). Тогда по лемме 13.7 v = [(gMi'I(mod dgb-rKmod q) у (mod р)] (mod q) = _ [(g«",(*+»Xi»o<’e))(niod/>)](mod4r) = [g5(modp)](mod^) = r. 230
13.13. Алгоритм подписи (ГОСТ 3410—94)' Пусть р — простое число размера 509—512 бит, q — простое число такое, что q\(p- 1). Число g<p- Г имеет мультипликатив- ный порядок q, т.е. gq= l(modp). р, q, gоткрыты. Число х, x<q, — секретный ключ, открытым ключом является y=gx(modp).. Алго- ритм подписи [17] сообщения М выглядит следующим образом. 1. Выбирается случайное число к. 2. Вычисляется г = [gfc(modp)] (mod q). .< 3. Вычисляется s = (Мк + xr)(modq). Подписью сообщения М является пара (г, 5). Проверка подписи: вычисляем v = №-2(mod q), Zi = (sv)(modq); z2 = ((Q - r)v)(mod q), и = [(g*iy*2)(modp)](mod q). Если выполняется равенство и-г, то подпись.подтверждена. Доказательство. >«=[(gzJy?9(modp)](mod0) = г = 2<™a«>)(mqdj>)](mod^) = =[(gJzM’'2(m<x?«)+*-x^’’2(m0d«))(modp)](mod?) ='' = [g*(modp)'](mod^) = r. ' . 13.14. Схема идентификации Schnorr — Shamir Пусть n — большое нечетное число. Выбирается случайное чис- ло к так, что НОД (я, к) = 1. Вычисляется h = -£-2(mod я) = -(&-1)2(mod п). В этой схеме n,h — открытый ключ, к — секретный ключ. Алго- ритм подписи сообщения М< п выглядит следующим образом. 1. Выбирается случайное число г: НОД(г, я)= 1. : 2. Вычисляется (mod я). 1Гл/ 51 =- —+ Г 2 г '231
3. Вычисляется S2 = 2 к\М (mod и). Подписанное сообщение (М, s2). Проверка подписи: вычисляем ' и = [$2 + hs2 ] (mod ri). Если выполняется равенство и = М, то подпись подтверждена. Доказательство. [s2 + hs2 ] (mod я) = Г1Гм2 2 — —г- + 2ЛГ + г2 4[ г2 к2 Г М2 ~(к~1)2 -~^--2М + г 4 г2 (mod я) = M(mod я). 13.15. Схема аутентификации Feige—Fiat—Shamir Это протокол аутентификации с нулевым разглашением. V, Р— участники протокола, Р доказывает V, что он Р. Р выбирает модуль я=pq, где p,q — большие простые числа. На практике я > 512 бит. Затем выбирается v такое, что х2=v mod я и существует v-1(mod я). Здесь v — открытый ключ. Тогда вычисляется наименьшее s, для которого s2 = у-1(тобя) (т.е. s = -^Д/v (modfl)). Число s — секрет- ный ключ. Р надо доказать, что ему известно з, не раскрывая сек- рета. ; 1. Р выбирает случайное число г < я, вычисляет у = r2(mod я) и передает Ксообщение у (рис. 13.21). Рис. 13.21 2. Vвыбирает случайный бит b и передает Р (рис. 13.22). Рис. 13.22 232
3. Если 6 = 0, то (рис^ 13.23) Р передает Vсообщение у. Рис. 13.23 Если 6= 1, то Р передает К сообщение z (рис. 13.24). z=r (mod л) Р------s---- Рис. 13.24 4. Если 6=0, Ипроверяет, чтоу=г2(тодп). Если 6= 1, И прове- ряет, что vz2 = y(mod«), что доказывает то, что Р знает Если бы Р знал бит 6 до своего первого шага, но не знал бы секрет s = д/i/v (mod п), то он смог бы обмануть V следующим образом. При 6 = 0 Р посылает Vна первом шаге число у = г2(mod л), а на втором шаге он посылает число г. Тогда V убеждается, что у = r2(mod ri). Если 6 = 1, то на первом шаге Р посылает число у = —(mod л), а на втором шаге Р посылает число z = — (mod л), v , v В этом случае ^проверяет ^•2 ^.2 vz2 (mod л) = v —г- (mod л) = — (mod л) = у. vz v Таким образом, не знающий секрета Р должен выбирать одно из двух различных сообщений до того, как он узнает, какое из них потребуется. Если он делает это случайно, то вероятность ус- пеха равна 0,5. Тогда за t циклов повторения протокола вероят- ность случайной аутентификации равна (0,5)', что при больших t делает процедуру аутентификации достоверной.
РАЗДЕЛ ЧЕТВЕРТЫЙ МЕТОДОЛОГИЯ И НОРМАТИВНАЯ БАЗА ДЛЯ ПРОЕКТИРОВАНИЯ, РАЗРАБОТКИ, ОЦЕНКИ ЭКСПЛУАТАЦИИ СИСТЕМ ЗАЩИТЫ Можно выделить два подхода к ИБ: нормативный, когда защита информации (ЗИ) осуществляется на основании требований законодательства; добровольный, на основе оценки рисков в целях минимизации ущерба от инцидентов ИБ при реализации ИТ. Ряд федеральных законов определяет необходимость обязатель- ной защиты определенных видов информации. Так, Федеральный закон «О банках и банковской деятельности» (ст. 26) требует за- щиты банковской тайны. Федеральный закон о персональных дан- ных требует защиты персональных данных граждан РФ. Федераль- ный закон об информации, информационных технологиях и за- щите информации требует защиты служебной информации, при- надлежащей государству. Однако эти и другие законы не определяют, как должна защищаться соответствующая информа- ция. Такое регулирование должно быть определено в регламентах, которые необходимо законодательно принять согласно Федераль- ному закону «О техническом регулировании». До введения в дей- ствие регламентов сохраняется существовавшая до таких, регла- ментов.нормативная база в области защиты информации. В связи с тем что закон «О техническом регулировании» отменяет обяза- тельность стандартов, ряд стандартов и их требований остаются обязательными в соответствии с действующей нормативной ба- зой. Таким образом, разработка и организация защиты конфиден- циальной информации в автоматизированных системах, в кото- рых хранится и обрабатывается информация, подлежащая защите по законодательству РФ, определяется следующими основными нормативными документами [5—7, 15—21, 23]. Данные нормативные документы не обсуждают защищенность объектов информатизации при выполнении требований этих до- кументов и могут рассматриваться как некоторый обязательный минимум, который необходим для того, чтобы деятельность орга- 234
низации не противоречила законам РФ. . Несмотря на то что эти документы предоставляют некоторые возможности по выбору клас- са защищенности, руководители организации чаще всего мини- мально используют эти возможности. Согласно закону «О техническом регулировании» выполнение требований стандартов является добровольным в тех случаях, когда это не. противоречит законодательству РФ. Вместе с тем выполне- ние некоторых стандартов настоятельно рекомендуется , некото- рыми контрольными органами РФ. Для банков РФ к числу таких стандартов относится стандарт Банка России [24]. Цостроение ИБ организации на основе этого стандарта требует оценки рисков. Сам стандарт ЦБ либо содержит, либо опирается на .ряд других отечественных и международных стандартов, в которых детально рассматривается задача оценки рисков. Сюда относятся стандарты [8], [38-41], [22]. На основании оценки рисков на основе стандартов [5—7] стро- ятся цели безопасности для продуктов ИТ и информационных технологий. я, ' . '' На основе целей безопасности с помощью ГОСТ Р ИСО 15408— 02 формиру ются функциональные требования пр безопасности для продуктов ИТ и информационных технологий. С помощью того же стандарта определяются меры доверия к функциям защиты в продуктах ИТ и информационных техноло- гиях. •> Несмотря на различие подходов при построении нормативной и добровольной защиты информации, можно добиться того, что они не противоречат друг другу. В'частности, следование стандар- ту ИСО 17799 полностью докрывает требования РД,АС [18—21] и СТР-К [23]. Стандарт ГОСТ Р ИСО. 15408 в 2002 г. был введен в действие как РД Гостехкомиссии, что позволяет строить норма- тивную и добровольную защиту продуктов ИТ и информацион- ных технологий, опираясь на этот стандарт. В силу ограниченности задач, которые должен, решать норма- тивный подход, многие задачи информационной безопасности не нашли в .нем достаточного отражения; 1. В нормативном подходе почти не рассматривается защита от вредоносного программного обеспечения. Технические решения на основе РД НДВ применительно к программному коду большо- го объема являются дорогими; и не эффективными средствами за- щиты; Вредоносное программное обеспечение как субъект атаки не рассматривается вне контекста антивирусной, защиты. Отсюда фактически не выполняются требования РД АС [19] и РД СВТ [18] по защите от обхода средств защиты. 2. Нормативный подход к защите не рассматривает динамику изменения целей бизнеса и ценности активов, подлежащих за- щите. : 235
3. Реализация политики защиты информации различных уров- ней конфиденциальности не подкреплена адекватными требова- ниями по защите компьютерной среды и защиты от обхода средств защиты. 4. Не рассматриваются вопросы защиты интеллектуальной соб- ственности, обеспечения непрерывности бизнеса, баланса средств и механизмов защиты информации для обеспечения интеграль- ной информационной безопасности. 5. Нет обоснования защищенности активов организации. В данном разделе отражены результаты анализа безопасности компьютерных систем, содержащиеся в отечественной и иност- ранной нормативной базе. Глава 14 НОРМАТИВНЫЕ ОСОБЕННОСТИ ПРИМЕНЕНИЯ КРИПТОГРАФИЧЕСКИХ МЕТОДОВ ЗАЩИТЫ ИНФОРМАЦИИ. СПОСОБЫ РЕАЛИЗАЦИИ КРИПТОГРАФИЧЕСКИХ ПОДСИСТЕМ 1.1. В основе данной главы лежат следующие нормативные акты: 1. Положение о разработке, производстве, реализации и эксп- луатации шифровальных (криптографических) средств защиты информации (Положение ПКЗ—2005) [16]. 2. Положение о лицензировании деятельности по техническо- му обслуживанию шифровальных (криптографических) средств [15]. Это положение определяет порядок лицензирования деятель- ности по техническому обслуживанию шифровальных (крипто- графических) .средств. 3. Положение о лицензировании предоставления услуг в обла- сти шифрования информации. Постановление Правительства РФ № 691 от 23.09.2002. 1.2. В документе [16] определены криптографические средства: а) средства шифрования — аппаратные, программные и аппа- ратно-программные средства, системы и комплексы, реализующие алгоритмы криптографического преобразования информации и предназначенные для защиты информации при передаче по кана- лам связи и (или) для защиты информации от несанкциониро- ванного доступа при ее обработке и хранении; б) средства имитозащиты — аппаратные, программные и ап- паратно-программные средства, системы и комплексы, реализу- ющие алгоритмы криптографического преобразования информа- 236
ции и предназначенные для защиты от навязывания ложной ин- формации; в) средства электронной цифровой подписи — аппаратные, программные и аппаратно-программные средства, обеспечива- ющие на основе криптографических преобразований реализацию хотя бы одной из следующих функций: создание электронной цифровой подписи с использованием закрытого ключа электрон- ной цифровой подписи, подтверждение с использованием откры- того ключа электронной цифровой подписи подлинности элект- ронной цифровой подписи, создание закрытых и открытых клю- чей электронной цифровой подписи; г) средства кодирования — средства, реализующие алгорит- мы криптографического преобразования информации с выпол- нением части преобразования путем ручных операций или с ис- пользованием автоматизированных средств на основе'таких опе- раций; д) средства изготовления ключевых документов (независимо от вида носителя ключевой информации); е) ключевые документы (независимо от вида носителя ключе- вой информацйи). В документах [15] и постановлении Правительства РФ № 691 определена лицензируемая деятельность.' Деятельность по техническому обслуживанию шифровальных (криптографических) средств включает в себя: а) монтаж, установку, наладку шифровальных (криптографи- ческих) средств; б) ремонт, сервисное обслуживание шифровальных (крипто- графических) средств; в) утилизацию и уничтожение шифровальных (криптографи- ческих) средств; . г) работы по обслуживанию шифровальных (криптографиче- ских) средств, предусмотренные технической и эксплуатацион- ной документацией на эти средства (за исключением случая, если указанные работы проводятся для обеспечения собственных нужд). Деятельность по предоставлению услуг в области шифрования информации включает в себя: а) шифрование информации, не содержащей сведений, со- ставляющих государственную тайну, с использованием шифро- вальных (криптографических) средств в интересах юридических и физических лиц; б) имитозащиту информации, не содержащей сведений, со- ставляющих государственную тайну, с использованием шифро- вальных (криптографических) средств в интересах юридических и физических лиц; в) предоставление юридическим и физическим лицам защи- щенных с использованием шифровальных (криптографических) 237
средств каналов связи для передачи информации, не содержащей сведений, составляющих государственную тайну; г) обеспечение пользователей системы электронного докумен- тооборота ключевой информацйей (включая ее формирование и распределение) независимо от вида носителя-ключевой инфор- мации, предназначенной -для защиты, информации, не содержа- щей сведений, составляющих государственную тайну. 1.3. Определены случаи, когда не нужно лицензирование,.на деятельность по техническому, обслуживанию и оказанию услуг; а) шифровальных (криптографических) средств, являющихся компонентами доступных для продажи без ограничений посред- ством розничной торговли, либо сделок по почтовым запросам, либо электронных:сделок, либо сделок по телефонным заказам программных операционных систем, криптографические возмож- ности которых не могут быть изменены пользователями, которые разработаны для установки пользователем самостоятельно без даль- нейшей существенной-поддержки поставщиком и. техническая документация (описание алгоритмов криптографических преоб- разований, протоколы взаимодействия, описание интерфейсов и т.д.) на которые является доступной, в том числе для проверки; б) персональных кредитных карточек со встроенными микро- ЭВМ, криптографические возможности которых не могут быть изменены пользователями; в) портативных или мобильных радиотелефонов гражданского назначения (типа, радиотелефонов, предназначенных для исполь- зования в коммерческих гражданских системах сотовой радиосвя- зи), которые-не имеют функции сквозного шифрования; . . г) приемной аппаратуры радиовещания, коммерческого теле- видения или иной, аппаратуры коммерческого типа для вещания на ограниченную аудиторию без шифрования цифрового сигна- ла, в .которой шифрование ограничено функциями управления видео- или аудиоканалами; д) специально, разработанных и применяемых только для бан- ковских и финансовых операций шифровальных (криптографи- ческих) средств, в составе терминалов единичной продажи (бан- коматов), криптографические возможности которых не могут быть изменены пользователями; . е) специально разработанных и применяемых только в составе контрольно-кассовых машиншифровальных (криптографических) средств защиты фискальной памяти; ж) шифровальных (криптографических) средств независимо от их назначения, реализующих симметричные криптографиче- ские алгоритмы и. обладающих максимальной длиной криптогра- фического ключа менее 40 бит, а также реализующих асиммет- ричные криптографические алгоритмы, основанные либо на раз- ложении на множители целых чисел, либо на вычислении диск- 238
ретных логарифмов в мультипликативной группе конечного поля, либо на дискретном логарифме в группе, отличной от названной, и обладающих максимальной длиной криптографического ключа 128 бит. 1.4. Лицензионные требования по техническому обслуживанию шифровальных (криптографических) средств: 1. Выполнение нормативных правовых актов РФ и соблюдение государственных стандартов, относящихся к лицензируемой де- ятельности. Выполнение нормативных документов лицензирую- щего органа. 2. Представление в лицензирующий орган перечня шифроваль- ных (криптографических) средств, используемых при осуществ- лении лицензируемой деятельности (с предоставлением по запросу технической документации и (или) образцов шифровальных (крип- тографических) средств, которые не имеют сертификата). 3. Использование шифровальных (криптографических) средств иностранного производства при условии, что эти средства были ввезены на территорию Российской Федерации и распространя- лись в порядке, установленном нормативными правовыми акта- ми РФ. । 4. Технические и технологические требования к помещениям, оборудованию, квалификации и документации. Лицензионными требованиями и условиями при предоставле- нии услуг в области шифрования информации являются: а) выполнение нормативных правовых актов Российской Фе- дерации и соблюдение государственных стандартов, относя- щихся к лицензируемой деятельности; б) выполнение нормативных документов лицензирующего органа^ регламентирующих осуществление лицензируемой де- ятельности, зарегистрированных в установленном порядке Ми- нистерством юстиции Российской Федерации, и методических документов по лицензируемой деятельности, издаваемых ли- цензирующим органом в пределах своей компетенции; в) представление в лицензирующий’ орган перечня шиф- ровальных (криптографических) средств, используемых при осуществлении лицензируемой деятельности (с предоставле- нием по запросу технической документации и (или) образ- цов шифровальных (криптографических) средств, которые не имеют сертификата Федерального агентства правительствен- ной связи и информации при Президенте Российской Феде- рации); г) использование шифровальных (криптографических) средств иностранного производства при условии, что эти сред- ства были ввезены на территорию Российской Федерации и распространялись в порядке, установленном нормативными правовыми актами Российской Федерации; 239
д) наличие принадлежащих лицензиату на праве собствен- ности или на ином законном основании сооружений, помеще- ний, технологического, испытательного, контрольно-измери- тельного оборудования и иных объектов, необходимых для осу- ществления лицензируемой деятельности в соответствии с ус- тановленными технологическими требованиями; е) соответствие указанных помещений требованиям, предъяв- ляемым к такого рода помещениям технической документаци- ей на находящееся в них оборудование; ж) обслуживание указанного оборудования в соответствии с регламентом, предусмотренным эксплуатационной докумен- тацией; з) проведение своевременной поверки технологического, ис- пытательного и контрольно-измерительного оборудования, ис- пользуемого при осуществлении лицензируемой деятельности; и) использование программ для электронно-вычислитель- ных машин или баз данных третьими лицами (пользователя- ми) на основании договора с правообладателем; к) наличие системы поэкземплярного учета шифровальных (криптографических) средств и документации к ним; л) установление порядка доступа лиц к конфиденциальной информации, связанной с осуществлением лицензируемой де- ятельности, и обеспечение контролируемого допуска персона- ла лицензиата к работам, связанным с этой информацией; м) обеспечение безопасности хранения, обработки и пере- дачи по каналам связи конфиденциальной информации,, свя- занной с осуществлением лицензируемой деятельности; н) применение средств обработки информации, аттестован- ных в соответствии с требованиями по защите информации; о) наличие охраны и (или) специального оборудования, а также распорядка работ, исключающих неконтролируемый до- ступ к шифровальным (криптографическим) средствам; п) осуществление учета и хранения носителей ключевой ин- формации и инсталляционных дискет, содержащих програм- мы шифрования, специально выделенными должностными лицами, которые непосредственно работают с ними и несут персональную ответственность за сохранность носителей клю- чевой информации и инсталляционных дискет, содержащих программы шифрования; р) ведение учета изготовленной для пользователей ключе- вой информации, регистрация выдачи ключевых документов, их возврата и уничтожения в выделенных для этих целей жур- налах; с) хранение шифровальных (криптографических) средств, их отдельных узлов и блоков, дистрибутивов программных и программно-аппаратных шифровальных (криптографических) 240
средств, инсталляционных дискет, нормативной, эксплуата- ционной и ключевой документации к ним в хранилищах (ме- таллических шкафах, сейфах), оборудованных внутренними замками; т) обеспечение раздельного безопасного хранения рабочих и резервных носителей ключевой .информации, предназначен- ных для использования в случае компрометации рабочей клю- чевой информации; обеспечение условий, исключающих не- преднамеренное уничтожение или . иное не предусмотренное нормативной и эксплуатационной документацией на шифро- вальные (криптографические) средства применение носителей ключевой информации и инсталляционных дискет, содержа- щих программы шифрования, в случае их хранения в одном хранилище с, другими документами; у) обеспечение уничтожения исходной ключевой информаг ции путем физического уничтожения носителя ключевой ин- формации, на котором она расположена, или путем стирания (разрушения) исходной ключевой информации без поврежде- ния носителя (для обеспечения возможности его многократного использования) в соответствии с эксплуатационной и техни- ческой документацией к соответствующим шифровальным (крип- тографическим) средствам, а также указаниями организации, производившей запись исходной ключевой информации; ф) обеспечение условий, исключающих возможность некон- тролируемого доступа ,к шифровальным (криптографическим) средствам при их транспортировке, а также возможность их физического повреждения и внешнего воздействия.на носите- ли ключевой информации; х). обеспечение; сохранности, целости и работоспособности шифровальных (криптографических) средств, работающего со- вместно с шифровальными (криптографическими) • средства- ми оборудования, а также используемого программного обес- печения; ц) наличие, следующего квалифицированного персонала: • руководитель и (или), лицо, уполномоченное им руково- дить работами по осуществлению лицензируемой деятельности, имеющие высшее профессиональное образование и (или) про- фессиональную подготовку в области информационной безо- пасности, а также стаж работы в этой области не менее 5 лет; • инженерно-технический персонал, имеющий высшее про- фессиональное образование или прошедший переподготовку (повышение квалификации) в области информационной , бе- зопасности с получением специализации, соответствующей виду шифровальных (криптографических) средств. 1.5. Для получения лицензии соискатель представляет в лицен- зирующий орган следующие документы: 9 Грушо 241
а) заявление о предоставлении лицензии с указанием: • лицензируемой деятельности; • наименования, организационно-правовой формы и места нахождения.— для юридического лица; • фамилии, имени, отчества, места жительства, данных до- - кумента,- удостоверяющего личность, — для индивидуального предпринимателя;’ б) копии учредительных документов и свидетельства о госу- дарственной-регистрации соискателя лицензии в качестве юриди- ческого лица либо копия ^свидетельства о государственной реги- страции соискателя лицензии в качестве индивидуального пред- принимателя (с предъявлением оригинала в случае, если копия не'заверена нотариусом); ? в) копия свидетельства о постановке соискателя лицензии на учет в налоговом органе (с предъявлением оригинала в случае, если копия не заверена нотариусом); г) документ, подтверждающий уплату лицензионного сбора за рассмотрение' заявления о предоставлении лицензии; - д) сведения ©' квалификации работников соискателя лицен- зии; подписанные руководителем (лицом, его замещающим) и заверенные печатью юридического лица или’индивидуального предпринимателя. Лицензирующий орган вправе запрашивать у соискателя ли- цензии подтверждение соответствия лицензируемой деятельности лицензионным требованиям и условиям. Проверка1 достоверности представленных сведений и проверка соответствия соискателя лицензии лицензионным требованиям и условиям по месту его нахождения1 проводятся должностными лицами лицензирующего органа на основании предписания ли- цензирующего органа в согласованные с соискателем лицензии сроки. Продолжительность проверки не должна превышать 30 дней. Соискатель лицензии обязан предоставить проверяющим бес- препятственный доступ к необходимой документации, связанной с лицензируемой деятельностью, объектам, на' которых или с помощью которьхх будет осуществляться лицензируемая деятель- ность' документации на эти объекты, обеспечить условия прове- дения проверки и присутствие при этом соответствующих долж- ностных лиц. - . ; Лицензия выдается на 5 лет. Срок действия лицензии по его окончании может быть продлен по заявлению лицензиата в по- рядке, предусмотренном для переоформления лицензии. 1.6. Контроль за выполнением лицензиатом лицензионных тре- бований' и условий осуществляется в форме проверок в порядке, определяемом руководителем лицензирующего органа. ' - О проведении проверки'лицензирующий орган уведомляет ли- цензиата не позднее чем за 10 Дней до ее начала. 242
,,, Плановая проверка проводится не чаще одного «раза р 2 года по утвержденнрмулицензирующим органом плану. Внеплановая про- верка проводится лицензирующим органом,вслучае: . • получения от юридических лиц, индивидуальных предпри- нимателей, органов государственной власти , информации о на- рушении лицензиатом лицензионных требований ц условий; • обращения, граждан, юридических лиц и индивидуальных предпринимателей с жалобами на. нарушения их .прав и закон- ных интересов действиями (бездействием) лицензиатов, кото- рце связацы.с невыполнением лицензиатами- лицензионных требований и условий.. •... Продолжительность проверки не должна превышать 30 дней. Лицензиат обязан предоставить проверяющим беспрепятствен- ный доступ , к необходимой документации, объектам, на которых или р помощью которых осуществляется лицензируемая деятель- ность, документации на эти,объекты, обеспечить условия.црове- дения проверки и присутствие при этом соответствующих долж- ностных лиц.., , . .. По результатам проверки оформляется акт, в котором указы- ваются конкретные, нарушения и срок: их устранения.. .. С актом проверки.в обязательном порядке должен,быть озна- комлен лицензиат. 1.7.,,Требования. Положения; ПКЗ—2005 [16] нрсят обязатель- ный,характер ,при;-разработке, производстве,-реализации- и;эксп- луатации^.средств криптографической, защиты информации кон- фиденциального характера в следующих случаях:, ф , • если, информация конфиденциального характера подле- жит защите в.„соответствии ,с .законодательством 'Российской федерации;- . . ; . .. • , ... . • при организации, криптографической защиты информа- ции конфиденциального характера, в федеральных .органах ис- полнительной власти, органах исполнительной власти субъек- тов Российской,Федерации (далее —^государственные органы); • при организации криптографической защиты информа- .. ции конфиденциального характера в организациях независимо от их организационцо-правовой формы , и формы собственно- сти при, выполнении ими заказов, ца поставку товаров,, выпол- нение работ или оказание услуг, для дюсударствецных нужд- (да- лее,— организации, выполняющие государственные заказы); • есди обязательность защиты информации, конфиденциаль- ного характера возлагается законодательством Российской Фе-; дерации ца,лиц, имеющих доступ а этой информации или на- деленных полномочиями по, распоряжению сведениями, со- держащимися в данной информации; • при обрабатывании информации конфиденциального ха- рактера, обладателем которой являются государственные орга- 243
ны или организации; выполняющие государственные- заказы, в случае принятия ими мер по охране ее конфиденциальности путем использования средств криптографической защиты; • при обрабатывании* информации конфиденциального ха- рактера в -государственных органах и в организациях, выпол- няющих государственные заказы, обладатель которой прини- мает меры к охране ее конфиденциальности путем установле- ния необходимости криптографической защиты данной инфор- мации. Требования Положения ПКЗ—2005 [16] носят рекоменда- тельный характер при разработке, производстве, реализации и эксплуатации: ’ - • средств криптографической защиты информации, доступ к которой ограничивается по решению обладателя, пользова- теля (потребителя) данной информации, собственника (вла- дельца) информационных ресурсов (информационных систем) или уполномоченных ими лиц, не являющихся -государствен- ными органами или организациями, выполняющими государ- ственные заказы; • средств криптографической защиты информации откры- тых’ и общедоступных государственных информационных ре- сурсов Российской Федерации; • средств электронной цифровой подписи, предназначаемых для использованиям электронном документообороте,'инфор- мация которого не относится к информации конфиденциаль- ного характера; * г ; " • информационно-телекоммуникационных систем, реали- зующих функции криптографической защиты информации; не относящейся к информации конфиденциального характера. Положение ПКЗ—2005 [16] не регулирует отношения, связан- ные с экспортом и импортом средств криптографической защиты информации (СКЗИ) и1 не -распространяется на использование шифровальных (криптографических) средств иностранного^про- изводства. * : Качество криптографической защиты информации конфиден- циального Характера, осуществляемой СКЗИ, обеспечивается ре- ализацией требований по безопасности информации, предъявля- емых к'СКЗИ, ключевой системе СКЗИ, а также к сетям связи (системам), используемым СКЗИ в целях- защиты -информации при ее передаче по каналам связи и (или) для защиты информа- ции от несанкционированного доступа при ее обработке и хране- нии (далее — сети (системы) конфиденциальной связи)'и усло- виям размещения СКЗИ при их использовании (далее — требова- ния по безопасности информации). Для криптографической зашиты информации конфиденциаль- ного характера должны использоваться СКЗИ, удовлетворяющие 244
требованиям по безопасности информации, устанавливаемым в соответствии с законодательством Российской Федерации. Реализация в конкретных-образцах СКЗИ и сетях (Системах) конфиденциальной связи требований по безопасности информа- ции возлагается на разработчика СКЗИ. 1.8. Разработка СКЗИ в интересах негосударственных органи- заций может осуществляться по заказу конкретного потребителя информации конфиденциального характера или по инициативе разработчика СКЗИ.Г При этом в качестве заказчика СКЗИ может выступать любое лицо. Разработка СКЗИ осуществляется путем постановка и прове- дения необходимых научно-исследовательских работ (далее — НИР) по исследованию возможности создания нового образца СКЗИ и опытно-конструкторских работ (далее — ОКР) по созда- нию нового образца СКЗИ или модернизации действующего об- разца СКЗИ: В тактико-техническое задание (ТТЗ) или ТЗ на проведение НИР рекомендуется дополнительно включать' сведения: • о заказчике СКЗИ (для юридического лица — наименование юридического лица с указанием'номера лицензии на; право осу- ществления' отдельных видов деятельности, связанных с шифро- вальными (криптографическими) средствами, при-ее наличии и срока ее действия, адрес юридического лица, телефон; для инди- видуального предпринимателя — фамилия, имя,' отчество, дан- ные документа; удостоверяющего личность;'номер лицензии на право осуществления отдельных видов деятельности, связанных с шифровальными* (криптографическими) средствами, при ее на- личии, срок 'ее действия, адрес индивидуального предпринима- теля и телефон); .. г • о предполагаемой области применения планируемого к раз- работке нового образца СКЗИ (указывается система связи, в со- ставе которой планируется использование создаваемого образца СКЗИ, ее основные технические характеристики, в том числе требования по безопасности информации, а также вид защища- емой информации (речевая, данные и т.д.)); • о предполагаемом исполнителе НИР (приводятся данные о предполагаемом исполнителе (наименование юридического лица, его адрес, телефон) и соисполнителе (при его наличии) с ука- занием номеров лицензий на право осуществления отдельных видов деятельности, связанных с шифровальными (криптогра- фическими) средствами, и сроков их действия (при их нали- чии)). ТТЗ (ТЗ) на проведение НИР (составной части НИР) по ис- следованию возможности создания нового образца СКЗИ заказ- чик СКЗИ направляет на рассмотрение в ФСБ России, которая в течение двух месяцев с момента получения документов обязана 245
согласовать ТТЗ (ТЗ) на проведение НИР (составной части НИР) или дать мотивированный отказ.,.. Письменное согласование с ФСБ России ТТЗ (ТЗ) на проведе- ние НИР (составной части НИР) является основанием для. про- ведения НИР (составной части НИР). ТТЗ (ТЗ) на проведение НИР (составной части. ;НИР), согла- сованное с ФСБ России, утверждается заказчиком СКЗИ. .Экзем- пляр утвержденного ТТЗ (ТЗ) на проведение ЦИР, (составной ча- сти НИР),направляется заказчиком СКЗИ в ФСБ .России. 1.9. СКЗИ эксплуатируются в соответствии с правилами пользо- вания ими. Все изменения условий использования СКЗИ, указан- ных в правилах пользования ими, должны согласовываться с ФСБ России и специализированной организацией^ проводившей , те- матические исследования СКЗИ. СКЗИ, находящиеся в эксплу- атации,, должны подвергаться контрольным тематическим, иссле- дованиям, конкретные сроки проведения которых определяются заказчиком СКЗИ по согласованию с разработчиком СКЗИ, спе- циализированной организацией и. ФСБ России. Оценка влияния, аппаратных, • программно-аппаратных и про- граммных средств сети (системы) конфиденциальной связи, со- вместно с которыми предполагается штатное функционирование СКЗИ, на выполнение предъявленных к; ним требований осуще- ствляется разработчиком СКЗИ совместно, со специализирован- ной организацией., । , ... , СКЗИ, реализуются (распространяются) вместе-с, правилами пользования ими, .согласованными с,ФСБ России.' ,, , Реализация, (распространение) СКЗИ и (или).рабочей конст- рукторской документации (РКД) на них осуществляется юриди- ческим лицом или индивидуальным предпринимателем, имею- щим право на>осуществление данного вида деятельности^ связан- ного с шифровальными (криптографическими) средствами.
Глава 15 КРИТЕРИИ И КЛАССЫ ЗАЩИЩЕННОСТИ СРЕДСТВ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ. СТАНДАРТЫ ПО ОЦЕНКЕ ЗАЩИЩЕННЫХ СИСТЕМ 15.1. Руководящий документ «Автоматизированные системы. Защита от несанкционированного доступа к информации. Классификация автоматизированных систем и требования по защите информации» Этот руководящий документ [19] устанавливает классифика- цию автоматизированных систем, подлежащих 'защите от несанк- ционированного доступа к информаций, и Требования по защите информации в АС различных классов. Документ может использо- ваться как нормативно-методический материал для заказчиков и разработчиков АС при формулировании и реализации требований по защите. 15.1.1. Классификация автоматизированных систем 1. Основными этапами классификации АС являются: ‘ • разработка и анализ исходных данных; ’ • выявление основных признаков АС, необходимых для клас- сификации; • сравнение выявленных признаков АС с классифицируемыми; • присвоение АС соответствующего класса защиты информа- ции от НСД. 2. Необходимыми исходными данными для проведения класси- фикации конкретной АС являются: • перечень защищаемых информационных ресурсов АС и их уровеньконфиденциальности; • перечень лиц, имеющих доступ к штатным средствам АС, с указанием их уровня полномочий; • матрица доступа или полномочий субъектов доступа по отно- шению к защищаемым информационным ресурсам АС; • режим обработки данных в АС. 3. Выбор класса АС производится заказчиком и разработчиком с привлечением специалистов по защите информации. 4. Устанавливается девять классов защищенности АС от НСД к информации. Каждый класс характеризуется определенной мини- 247
Т' мальной совокупностью требований по защите. Классы подразде- ляются на три группы, отличающиеся особенностями обработки информации в АС. В пределах каждой группы соблюдается иерар- хия требований по защите в зависимости от ценности (конфиден- циальности) информации и, следовательно, иерархия классов защищенности АС.- Третья группа включает в себя АС, в которых работает один пользователь, допущенный ко всей информации АС, размещен- ной на носителях одного уровня конфиденциальности. Группа со- держит два класса — ЗБ и ЗА. Вторая труппа включает в себя АС, в которых пользователи имеют одинаковые права доступа (полномочия) ко всей инфор- мации АС, обрабатываемой и (или) хранимой на носителях раз- личного уровня конфиденциальности. Группа содержит два клас- са — 2Б и 2А. Первая группа включает в себя многопользовательские, АС, в которых одновременно обрабатывается и (или) , хранится инфор- мация разных уровней конфиденциальности; Не все пользователи имеют право доступа ко всей информации АС. Группа содержит пять классов — 1Д, 1Г, .1В, 1Б и 1А. 15.1.2. Требования по защите информации от несанкционированного доступа для автоматизированных систем В общем случае комплекс программно-технических средств и организационных (процедурных) решений по защите информа- ции от НСД реализуется в рамках системы защиты информации от НСД (СЗИ НСД), условно состоящей из следующих четырех подсистем: • управления доступом; .. . • регистрации и учета; • криптографической; • обеспечения целостности. При обработке или хранении в АС информации, не отнесен- ной к категории секретной, в рамках СЗИ НСД государствен- ным, коллективным, частным и . совместным предприятиям, а также частным лицам рекомендуются следующие организацион- ные мероприятия: , . • выявление конфиденциальной информации и ее докумен- тальное оформление в виде перечня сведений, подлежащих за- щите; • определение порядка установления уровня полномочий субъекта доступа, а также круга лиц, которым это право предо- ставлено; j . 248
• установление и оформление правил разграничения доступа, т. е. совокупности правил, регламентирующих права доступа субъек- тов к объектам; • ознакомление субъекта доступа с перечнем защищаемых све- дений и его уровнем полномочий, а также с организационно- распорядительной и рабочей документацией, определяющей тре- бования и порядок обработки конфиденциальной информации; • получение от субъекта доступа расписки о неразглашении доверенной ему конфиденциальной информации; • обеспечение охраны объекта, на котором расположена защи- щаемая АС (территория, здания, помещения, хранилища инфор- мационных носителей), путем установления соответствующих по- стов, технических средств охраны или любыми другими способа- ми, предотвращающими или существенно затрудняющими хище- ние средств вычислительной техники (СВТ), информационных носителей, а также НСД к СВТ и Линиям связи;' • выбор класса защищенности АС в соответствии с особенно- стями обработки информации (Технология обработки, конкрет- ные условия эксплуатации АС) и уровнем ее конфиденциаль- ности; у ' • организация службы безопасности информации (ответствен- ные лица, администратор АС), осуществляющей учет, хранение и выдачу информационных носителей, паролей, ключей, веде- ние служебной информации СЗИ НСД (генерацию паролей,- клю- чей, сопровождение правил разграничения доступа), приемку включаемых в АС новых программных средств, а также, контроль за ходом технологического процесса обработки конфиденциаль- ной информации и т.д.; • разработка СЗИ НСД,’ включая соответствующую организа- ционно-распорядительную и эксплуатационную документацию; • осуществление приемки СЗИ НСД в составе АС. При разработке АС, предназначенной для обработки или хра- нения информации, являющейся собственностью’государства и отнесенной к категории секретной^ необходимо ориентироваться в соответствии с РД «Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели за- щищенности от несанкционированного доступа к информации» на классы защищенности АС не ниже (по группам) ЗА, 2А, 1А, 1Б, 1В и использовать сертифицированные СВТ: • не ниже 4 класса — для класса защищенности AC 1В; • не ниже 3 класса — для класса защищенности АС 1Б; • не ниже 2 класса — для класса защищенности АС 1 А. Как правило, класс 1В используют при обработке информации с грифом не выше «секретно»; класс 1Б — при обработке инфор- мации с грифом не выше «совершенно секретно», а класс 1А — при обработке информации с грифом не выше «особой важности». 249
15.2. Руководящий документ «Средства вычислительной техники. Защита от несанкционированного доступа к информаций. Показатели защищённости от несанкционированного доступа к информации» Далее приводятся основные моменты из данного документа [18], позволяющие оценить проблему сертификации отечественного и импортного программного обеспечения по требованиям безопас- ности этого документа. Под СВТ понимается совокупность программных и: техниче- ских элементов систем обработки данных, способных функци- онировать самостоятельно или в составе других систем. Показате- ли защищенности СВТ применяются к общесистемным програм- мным средствам и операционным системам: (с учетом архитекту- ры.ЭВМ). . Совокупность всех средств защиты составляет комплекс средств защиты (КСЗ). Документация КСЗ должна быть неотъемлемой частью конст- рукторской документации наСВТ; ... Устанавливается семь классов защищенности'СВТ от НСД,к информации. Самый низкий класс — седьмой, самый высокий — первый. , . ' , ' . .. ,, Требования к-показателям защищенности шестого класса. 1. Дискреционный принцип контроля доступа. , • . . 2. Идентификация и аутентификация., 3. Тестирование. • :/ ВСВТшестого класса.дрлжны тестироваться: .< • реализация дискреционных,, правил разграничение доступа (ПРД) (перехват явных ц скрытых запросов, правильное (распоз- навание санкционированных и несанкционированных запросов на доступ, средства защиты механизма разграничения доступа,, сан- кционированные изменения ПРД); • успешное осуществление идентификации и. аутентификации, а также их средств защиты. ... 4. . Руководство для пользователя. 5. Руководство по. КСЗ. 6. Тестовая документация. •> . , Должно быть, предоставлено описание тестов и испытаний, которым подвергалось СВТ, и результатов тестирования. 7. Конструкторская (проектная) документация. Должна содержать общее описание принципов работы СВТ, общую схему КСЗ, описание интерфейсов КСЗ с пользователем и интерфейсов частей КСЗ между собой; описание механизмов иден- тификации и аутентификации, : 250
Требования к показателям четвертого класса защищенности. 1. Дискреционный принцип контроля'доступа. Данные требования включают аналогичные требования пятого класса. Дополнительно КСЗ должен содержать механизм, претворя- ющий в жизнь дискреционные ПРД, как Для -явных -действий пользователя, так и для-скрытых, обеспечивая тем самым защиту объектов'от НСД (т. е. от доступа, недопустимого с точки зрения заданного ПРД). Под «явными» здесь подразумеваются действия, осуществляемые с использованием системных средств — систем- ных макрокоманд,' инструкций языков высокого уровня и т.д.,' а под «скрытыми» — иные действия,, в том числе с использованием собственных программ работы с устройствами. Дискреционные ПРД для сйстем данного класса являются дополнением мандатных ПРД. 2. Мандатный принцип контроля доступа. Для реализации этого принципа должны сопоставляться классификационные ‘метки каж- дого субъекта и каждого объекта, отражающие их место в соответ- ствующей иерархии. Посредством этих меток субъектам й объек- там должны назначаться классификационные уровни (уровни уяз- вимости’, категории* секретности и т.п.), являющиеся комбина- циями иерархических и нейерархичёских категорий. Данные Метки должны служить основой мандатного принципа! разграничения доступа-* , . . -Л - . .- КСЗ при вводе новых данных в; систему должен запрашивать и получать от санкционированного пользователя классификацион- ные метки этих данных. При санкционированном занесении^ спи- сок пользователей нового субъекта должно осуществляться сопо- ставление ему классификационных меток. Внешние классифика- ционные метки (субъектов,'объектов) должны точно соответство- вать внутренним меткам (внутри КСЗ). КСЗ1 должен реализовывать мандатный принцип контроля* до- ступа применительно ко всём объектам прй явном и скрытом-до- ступесо стороны любого из'субъектов: - -• субъект может читать объект^ только если иерархическая клас- сификация в классификационном уровне субъекта не меньше, чём иерархическая классификация в классификационном уровне объек- та, и неиерархические'категории в классификационном уровне субъекта включают в себя все иерархические категории в класси- фикационноМ уровнё объекта; ’ ' ' •?субъекг осуществляет запись в объект,'только' если классифи- кационный* уровень субъекта в иерархической классификации не больше,; чём классификационный' уровень объекта^ в иерархиче- ской классификации/и все иерархические категории в классифи- кационном уровне субъекта включаются в неиерархические кате- гории в-классификационном уровне объекта. Реализация мандатных ПРД должна -предусматривать возмож- ности сопровождения: -‘ 251
• изменения классификационных уровней; субъектов и объек- тов специально выделенными субъектами. В СВТ должен быть реализован диспетчер доступа, т.е..сред- ство, осуществляющее перехват всех обращений субъектов к объек- там, а также разграничение доступа в соответствии с заданным принципом разграничения доступа. При этом решение о санкци- онированности запроса на доступ должно приниматься только при одновременном разрешении его и дискреционными, и мандат- ными ПРД. Таким образом, должен контролироваться не только единичный акт доступа, но и потоки информации. 3. Очистка памяти. При первоначальном назначении или при перераспределении внешней памяти КСЗ должен затруднять субъек- ту доступ к остаточной информации. При перераспределении опе- ративной памяти КСЗ должен осуществлять ее очистку. 4. Изоляция модулей. При наличии в СВТ мультипрограммиро- вания в КСЗ должен существовать программно-технический меха- низм, изолирующий программные модули одного процесса (од- ного, субъекта) от? программных модулей других процессов (дру- гих субъектов), т.е. ,в оперативной памяти ЭВМ программы раз- ных пользователей должны, быть защищены друг от друга (защи- щенные домены). 5. Маркировка документов. При выводе защищаемой информа- ции на документ, в начале и конце проставляют штамп № 1 и за- полняют его реквизиты в соответствии с Инструкцией № 0126-87 (п.577). 15.3. ГОСТ Р ИСО/МЭК 15408-2002 Для того чтобы избежать сложностей, возникших при серти- фикации программных продуктов для нового поколения СВТ и АС по требованиям РД Гостехкомиссии, было, рекомендовано про- водить сертификацию по требованиям безопасности на основе ГОСТ Р ИСО 15408 [5—7]. Этот ГОСТ позволяет гибко подходить к определению объекта оценки и часть трудно решаемых, задач выносить в окружение объекта оценки. Формированию объекта оценки и окружения предшествует обследование продукта инфор- мационной технологии и условий его эксплуатации. В основу оценки защищенности продуктов и информационных технологий поло- жено обоснованное задание по безопасности ,(ЗБ). В ЗБ содержат- ся требования к функциям защиты и требования к обеспечению доверия к этим функциям. Основой для формирования функци- ональных требований и требований по доверию является список целей безопасности. Цели безопасности формируются из описа- ния объекта оценки, описания защищаемых активов, допустимых в рассматриваемом окружении предположений по безопасности, 252
результатов анализа уязвимостей и сложившихся традиций по обеспечению безопасности (политика безопасности организации). В ЗБ должно содержаться логическое обоснование достижимости целей безопасности исходя из сформулированных требований по безопасности. 15.4. Методология обследования и проектирования систем защиты. Проектирование и создание АС в защищенном исполнении Стадии и этапы создания АС ГОСТ 34.601—90 в общем случае приведены в табл. 15.1. Таблица 15.1 Стадии Этапы работ 1. Формирование требований кАС 1.1. Обследование объекта и обос- нование необходимости создания АС 1.2. Формирование требований пользователя к АС 1.3. Оформление отчета о выпол- ненной работе и заявки на разра- ботку АС (тактико-технического задания) 2. Разработка концепции АС - 2.1. Изучение объекта 2.2. Проведение необходимых научно-исследовательских работ 2.3. Разработка вариантов концеп- ции АС, удовлетворяющей требо- ваниям пользователя 2.4. Оформление отчета о выпол- ненной работе 3. Техническое задание Разработка и утверждение техни- ческого задания на создание АС 4. Эскизный проект 4.1. Разработка предварительньгх проектных решений по системе и ее частям 4.2. Разработка документации на АС и ее части 5. Технический проект 5.1. Разработка проектных реше- ний по системе и ее частям 5.2. Разработка документации на АС и ее части 253
Окончание табл. 15.1 : . Стадии : Этапы работ У .i i - к. ' . ./' 5.3. Разработка и оформление документации на поставку изде- лий для комплектования АС и (или) технических требований, (технических заданий) на их раз- работку ’ - 5.4. Разработка заданий на проек- тирование в смежных частях проек- та объекта автоматизации 6. Рабочая документация 6.1. Разработка рабочей докумен-. тации на систему и ее части 6.2. Разработка или адаптация программ 7. Ввод в действие j ' > -. ‘ г <'1 • < 1 ' ’ " '‘4• j - 7.1. Подготовка объекта автомати- зации к вводу АС в действие ,, ? 7.2. Подготовка персонала 7.3. Комплектация АС поставля- емыми изделиями (программными и техническими средствами, прог- раммно-техническими комплек- сами, информационными издели- ями) 7.4. Строительно-монтажные работы1 1 ‘ J ‘ 7.5. Пусконаладочные работы 7.6. Проведение предварительных испытаний 7.7. Проведение опытной эксплу- атации 7.8. Проведение приемочных испытаний Особенности, связанные с защитой информации в автомати- зированной системе,в защищенном исполнении АСЗ.И, опреде- лены ГОСТ Р 51583-2000. ............ , Процесс создания АСЗЙ заключается в выполнении совокуп- ности мероприятий, направленных на разработку и(или) практи- ческое применение информационной технологии, реализующей функции; по ЗИ, установленные в соответствии ,с требованиями стандартов й(или) нормативных документов'по ЗИ как во' вновь создаваемых,' так и в действующих АС. Для вновь создаваемых АС ТЗ разрабатывают на систему в це- лом, предназначенную для работы самостоятельно или в составе 254
другой системы. Дополнительно могут быть разработаны частные ТЗ (ЧТЗ) на части АС, на подсистемы АС. Поэтому требования по ЗИ при создании АСЗИ должны включаться разделом в общее ТЗ на АС или могут быть изложены в виде ЧТЗ или дополнения к основному ТЗ на АС. , , Порядок утверждения и согласования, ЧТЗ (дополнения к ос- новному. ТЗ на АС) не должен отличаться от установленного по- рядка утверждениям согласования ТЗ на АС по ГОСТ 34.602—90. Для АСЗИ, , создаваемой на базе действующей АС,’разрабаты-. вается ТЗ (ЧТЗ) или дополнение к основному ТЗ на АС, в которое включаются требования по ЗИ только в части создаваемой систе- мы (подсистемы) защиты .обрабатываемой информации в АС., , Утверждение и согласование'ТЗ (ЧТЗ) или дополнения к основ- ному ТЗ на АС производятся в порядке, установленном: ГОСТом. Организации — участники работ по созданию АСЗИ — долж- ны иметь лицензии на право, проведения работ в области защиты информации. Лицензирование организаций.и предприятий осу- ществляется.в установленном порядке. . Ввод АСЗИ в.эксплуатацию..осуществляется только-после:вы- полнения всех мероприятий по ЗИ и проведения испытаний ис- пытательным центром (лабораторией) на:.соответствие требова- ниям НДВ по защите информации. . . 15.5. Стандарт Банка. Р*осси,и «Обеспечение информационной безопасности организаций банковской, системы Российской Федерации. Общие положения» > > < Оценка.рисков является одним-из основных требований стан- дарта ЦБ. [24]/В частности, в стандарте ДБ’ИБ строится наследу- ющей парадигме. । . - .. \. Бизнес порождает риски, сущность которых — потенциальная возможность: ущерба и потерь. Это — объективная реальность, и можно частично понизить эти риски, используя специальные ме- тоды,,© которых речь пойдет далее; Оставшаяся-часть риска, на которую организация не в силах влиять, должна быть неизбежно принята. Степень необходимой защищенности информационной сферы организации определяется анализом и оценкой рисков ИБ, которые должны, быть согласованы с рисками основной (бизнес) деятельности! организации банковской системы (БС) >РФ.. В стандарте говорится о концептуальной схеме информацион- ной безопасности организаций БС РФ, основанной на противо- борстве собственника.и злоумышленника за контроль над инфор- мационными активами. Однако другие, незлоумышленные, дей- ствия также лежат в сфере рассмотрения стандарта ЦБ. 255
Основная цель злоумышленника — установить контроль над информационными активами как самой организации БС РФ, так и клиентов, которые доверили ей свои собственные активы. Та- ким образом может быть нанесен ущерб. В стандарте говорится, что наиболее правильный и эффектив- ный способ добиться минимизации рисков нарушения ИБ для собственника — разработать на основе точного прогноза, бази- рующегося, в том числе, и на анализе и оценке рисков ИБ, политику ИБ организации и в соответствии с ней реализовать, эксплуатировать и совершенствовать СМИБ организации. Требо- вание по созданию политики безопасности организации соот- ветствует требованиям стандарта [8], а такая политика входит в исходные данные для определения целей безопасности при фор- мировании требований к продуктам ИТ по стандарту [5—7]> Со- гласно стандарту. ЦБ, чем точнее сделан прогноз (составлены модель угроз и модель нарушителя), тем ниже риски нарушения ИБ в организации БС РФ при минимальных ресурсных затратах. Таким образом, строится связка стандартов ЦБ и ГОСТ Р ИСО/ МЭК 15408—2002. Требования-к подсистеме защиты ИТ опреде- ляются на основании анализа рисков по схеме: риски (угрозы и уязвимости) — цели безопасности — функци- ональные требования для системы, защиты. В стандарте ЦБ обеспечение ИБ организаций БС РФ основыва- ется на «процессном подходе», для установления, реализации, эксплуатации, мониторинга, обслуживания й повышения эффек- тивности системы менеджмента ИБ?(СМИБ). Определение «процесса» приведено-в стандарте ЦБ. А именно, любое действие, использующее ресурсы и управляемое для обес- печения преобразования неких входных ресурсов, информации и иных сущностей в выходы, определяется как «процесс». Выход одного процесса может быть входом для другого процесса. Пред- ставление деятельностей по обеспечению ИБ в виде системы про- цессов в пределах организации вместе с идентификацией, взаи- модействиями и их координацией и управлением определяется как «процессный подход». Согласно стандарту ЦБ «процессный подход» к обеспечению ИБ организаций БС РФ, требует, чтобы персонал организации, клиенты, пользователи, контрагенты и иные заинтересованные стороны придавали особое значение: • пониманию требований информационной безопасности биз- неса и потребности устанавливать политику и цели для информа- ционной безопасности; • реализации и надлежащей эксплуатации средств управления ИБ (защитных мер) в контексте управления общим риском дея- тельности (бизнеса) организации; • мониторингу и анализу работы и эффективности СМИБ; 256
• непрерывному усовершенствованию СМИБ на основе объек- тивного измерения. Далее стандарт ЦБ устанавливает связь со стандартами управ- ления безопасностью [38—41]. На стадии планирования- устанавливают политики информа- ционной безопасности, цели, задачи, процессы и процедуры, адекватные потребностям в менеджменте риска ИБ и совершен- ствованию СМИБ, для достижения результатов в соответствии с политиками и целями организации. На стадии реализации осуществляются внедрение и поддержка политики информационной безопасности организации, средств управления (защитных мер), регламентов, процессов и процедур СМИБ организации. На стадии проверки осуществляются оценка и, если необходи- мо, измерение эффективности процессов менеджмента ИБ орга- низации на соответствие требованиям политики информацион- ной безопасности, целям и установленным практикам, обеспечи- вается отчетность высшему руководству ©'результатах для прове- дения соответствующего анализа. На стадии совершенствования осуществляются выработка и принятие корректирующих и превентивных действий, - основан- ных на результатах анализа, для достижения непрерывного усо- вершенствования СМИБ организации. Использование для обеспечения ИБ организаций БС РФ «про- цессного подхода» на базе циклической модели Деминга; кото- рый является основой, модели менеджмента качества стандартов ГОСТ Р ИСО 9001 и ГОСТ Р-ИСО 14001, позволяет обеспечить поддержку и интеграцию требований к различным системам ме- неджмента в рамках общего корпоративного менеджмента в орга- низациях БС РФ. , Требования стандарта к СМИБ для организаций БС РФ име- ют прикладную практическую направленность, определяющую условия, цели и задачи применения в организациях БС РФ высо- коуровневых международных стандартов для СМИБ организа- ций. < Обеспечение ИБ организации и, в частности, ее зрелость вклю- чают реализацию и поддержку процессов осознаниям ИБ и про- цессов менеджмента ИБ. Процессы осознания ИБ организации имеют отношение к руководству организации и, согласно стан- дарту ЦБ, определяют его ответственность в части реализации принципов обеспечения информационной безопасности органи- заций БС РФ. Далее в стандарте ЦБ говорится, что модели угроз и наруши- телей (прогноз ИБ) должны быть основным инструментом ме- неджмента организации при развертывании, поддержании и со- вершенствовании системы обеспечения ИБ организации. Из того 257
что деятельность организации БС РФ поддерживается входящей в ее состав информационной инфраструктурой, которая, обеспечи- вает реализацию банковских технологий,, следует, что при анализе угроз необходимо рассматривать все уровни ИТ систем. Эти уровни могут быть представлены,в виде иерархии следую- щим образом:- < ... • физический уровень (линии, связи, аппаратные, средства и пр.); . ; , • сетевой уровень (сетевые аппаратные, средства: маршрутиза- торы, коммутаторы, концентраторы и пр.); • - . • уровень сетевых приложений и сервисов; • уровень операционных систем (ОС); ... . • уровень систем управления базами данных (СУБД); • уровень банковских технологических процессов и приложе- ний; . j., ..' . .. • уровень;бизнес-процессоворганизации. . . На каждом из уровней угрозы и их источники .(в том числе злоумышленники), методы и средства защиты* и подходы к оцен- ке эффективности являются различными.,; .. • • Одной из основных целей злоумышленника, является получе- ние контроля над активами на уровне бизнес-процессов. Прямое нападение на уровне бизнес-процессов, например путем раскры- тия конфиденциальной банковской аналитической ;информации, более эффективно для злоумышленника и опаснее для .собствен- ника, чем нападение, осуществляемое через нижние уровни, тре- бующее специфических опыта, знаний и* ресурсов (в том числе временных), и поэтому менее эффективное по соотношению «за- траты— получаемый результат». ». Организация должна определить конкретные объекты защиты на каждом из уровней информационной инфраструктуры. . В стайдарте ЦБ конкретизируются направления анализа уязви- мостей.в ИТ продуктах и технологиях. ; . -к ; • Наиболее актуальные источники.угроз на физическом, сете- вом уровнях и уровне сетевых приложений:... . . " • внешние источники угроз: лица, распространяющие вирусы и другие вредоносные программы, хакеры; .фрикеры; и иные лица, осуществляющие несанкционированный доступ.'(НСД); ... .• внутренние источники угроз, реализующие угрозы в- рамках своих полномочий и ,за их пределами (персонал; имеющий права доступа к аппаратному оборудованию, в том числе сетевому; ад- министраторы сетевых приложений и т.п.); . -.г • комбинированные источники угроз: внешние и внутренние, действующие совместно и(или). согласованно. ’ . . \ Наиболее актуальные источники угроз на уровнях операцион- ных систем, систем управления базами данных, банковских тех- нологическихпроцессов: 258
• внутренние, реализующие угрозы в рамках своих полномо- чий и за их пределами (администраторы ОС, администраторы СУБД; пользователи банковских приложёний’и технологий, ад- министраторы ИБ и т.д.)' « комбинированные источники угроз: внешние и внутренние, действующие в сговоре. Наиболее актуальные источники угроз на уровне бизнес-про- цёссов: ' • . • । • внутренние источники, реализующие угрозы в рамках своих полномочий и за их пределами (авторизованные пользователи й операторы автоматизированной БС (АБС), представители менед- жмента организации и пр.); • комбинированные источники угроз: внешние (например, кон- куренты) и внутренние, действующие в сговоре. Необходимо также учитывать угрозы, связанные с природными и техногенными катастрофами и террористической деятельностью. Источники угроз для реализации угрозы используют уязвимо- сти объектов и системы защиты. В стандарте ЦБ отмечается, что хорошей практикой является разработка моделей угроз и нарушителей ИБ для данной органи- зации. Модель угроз ИБ включает описание источников угрозы, уяз- вимостей, используемых угрозами, методов и объектов нападе- ний, пригодных для реализации угрозы, типов возможной поте- ри (например, конфиденциальности, целостности, доступности активов), масштабов потенциального ущерба. Для источников угроз — людей может был» разработана модель нарушителя ИБ, включающая описание их опыта, знаний, до- ступных ресурсов, необходимых для реализации угрозы, и воз- можной мотивации их действий. Здесь мы имеем отличие от РД ГТК, где на уровне понимания 90-х годов XX в. фиксируется мо- дель нарушителя. При анализе угроз ИБ необходимо исходить из того, что эти угрозы непосредственно влияют на операционные риски деятель- ности организации. Операционные риски сказываются на бизнес- процессах организации. Операционные риски порождаются следующими эксплуатаци- онными факторами: технические неполадки, ошибочные (случай- ные) и/или преднамеренные злоумышленные действия персона- ла организации, ее клиентов при их непосредственном доступе к АБС организаций и другими факторами. Наиболее эффективным способом минимизации рисков нару- шения ИБ для собственника является разработка совокупности мероприятий, методов и средств, создаваемых и поддерживаемых для обеспечения требуемого уровня безопасности информацион- ных активов в соответствии с политикой ИБ организации БС РФ, 259
разрабатываемой, в том числе, и на основе моделей угроз и нару- шителей ИБ. Собственник организации должен обеспечить разработку, принятие и внедрение политики ИБ организации БС РФ, вклю- чая выделение требуемых для реализации этой политики ресур- сов. . Политика ИБ должна описывать цели и задачи СМИБ и опре- делять совокупность правил, требований и руководящих принци- пов в области ИБ, которыми руководствуется организация в сво- ей деятельности.
СПИСОК ЛИТЕРАТУРЫ 1. Амамия М. Архитектура ЭВМ и искусственный интеллект / М. Ама- мия, Ю. Танака. — М.: Мир, 1993. 2. Гилл А. Линейные последовательные машины. Анализ, синтез и при- менение. — М.: Наука, 1974. 3. Глушаков С. В. Базы данных: Учебный курс / С. В. Глушаков, Д. В. Ло- мотько. — Харьков: Фолио; М. : ООО «Издательство АСТ», 2001. 4. ГОСТ Р ИСО 7498-2—99 Информационная технология. Взаимосвязь открытых систем. Базовая эталонная модель. Часть 2. Архитектура защиты информации. — М.: ИПК Издательство стандартов, 1999. 5. ГОСТ Р ИСО/МЭК 15408-1—2002. Информационные технологии. Методы и средства обеспечения'безопасности. Критерии оценки безо- пасности информационных технологий. Часть 1. Введение и общая мо- дель. — М.: ИПК Издательство стандартов, 2002; 6. ГОСТ Р ИСО/МЭК 15408-2—2002. Информационные технологии. Методы и средства обеспечения безопасности. Критерии оценки безопас- ности информационных технологий. Часть 2. Функциональные требования безопасности.'— М.: ИПК Издательство стандартов, 2002. 7. ГОСТ Р ИСО/МЭК 15408-3—2002. Информационные технологии. Методы и средства обеспечения безопасности. Критерии оценки безо- пасности информационных технологий. Часть 3. Требования доверия к безопасности. — М.: ИПК Издательство стандартов, 2002. 8. ГОСТ Р ИСО/МЭК 17799—2005. Информационная технология. Прак- тические правила управления информационной безопасностью. — М. : Стандартинформ, 2006. 9. Грушо Л. Л. Гибридные политики безопасности // Тез. докл. конф. «Методы и технические средства обеспечения безопасности информа- ции» /А.А.Грушо, Е.Е. Тимонина. — СПб. : СПбГТУ, 1996. 10. Грушо Л. Л. Теоретические основы защиты информации / А. А. Гру- шо, Е.Е.Тимонина. — М. : Агентство «Яхтсмен», 1996. 11. Грушо А. А. Анализ и синтез криптоалгоритмов. Курс лекций / А.А.Грушо, Е.Е.Тимонина, Э.А.Применко. — Йошкар-Ола: изд-во Ма- рийского филиала Московского открытого социального университета, 2000. 12. Грушо А. А. Криптографические протоколы/А. А. Грушо, Э.А.При- менко, Е.Е.Тимонина. — Йошкар-Ола : изд-во Марийского филиала Московского открытого социального университета, 2001. 13. Гэри М. Вычислительные машины и труднорёшаемые задачи / М. Гэ- ри, Д. Джонсон. — М.: Наука, 1982. 14. Колчин В. Ф, Случайные размещения / В. Ф. Колчин, Б. А. Севасть- янов, В.П.Чистяков. — М. : Наука, 1976. 15. Постановление Правительства РФ от 23.09.2002 № 691. «Положе- ние о лицензировании деятельности по техническому обслуживанию шифровальных (криптографических) средств». 261
16. Положение о разработке, производстве,,реализации и эксплуата- ции шифровальных (криптографических) средств защиты информации (Положение ПКЗ-2005) от 3 марта 2005 г. № 6382. 17. Процедура выработки и проверки электронно-цифровой подписи на основе асимметрического, криптографического алгоритма (ГОСТ 3410-94). - М., 1994. 18. РД ГТК: Средства вычислительной техники. Защита от несанкци- онированного доступа к информации. Показатели защищенности от НСД к информации. 4т М.: Гостехкомиссия России, 1992. . г 19. РД ГТК: Автоматизированные системы. Защита от несанкциони- рованного доступа к информации. Классификация автоматизированных систем и требования по защите информации. — М.: Гостехкомиссия Рос- сии, 1992. ! « ' ;' :20 . РД ГГК: Защита от несанкционированного доступа к информации. Часть 1. Программное обеспечение средств защиты информации. Класси- фикация по уровню контроля, отсутствия недекларированных возможно- стей. — М;: Гостехкомиссия России, 1999.«, , . , г 21. РД-ГТК: Средства вычислительной техники. Межсетевые экраны. Защита от несанкционированного доступа к информации. Показатели защищенности от НДС к информации. — М. : Гостехкомиссия России, 1997. • ; ' .7 .22 . Руководство^управления риска для систем информационной;тех- нологии. NIST 800-30. Рекомендации Национального Института Стан- дартов и Технологии.—2002. < . 23. Рейнгольд Крмбинаторные.алгоритмы. Теория и практика / Э. Рей- нгольд, Ю.1^ивергельт, Н.Део.— М. : Мир, 1980. , . , Лг и , 24. Специальные требования и рекомендации по технической защите конфиденциальной информации (СТР-К). Решение Коллегии Гостехко- миссии России №7.2/02.03.01,г. г, . .. г Г, 25. Стандарт Банка России «Обеспечение информационной безопас- ности организаций банковской системы, Российской Федерации. Общие положения» (СТО БР ИББС^.^ z , ( > . 26. Таненбаум Э.,Архитектура компьютера. — СПб/: Питер, 2002. 27. Хоффман Л. Дж. Современные метода защиты информации. — М.: Советское радио, 1980. ' / . 5 28. Шеннон К. Работы по теории информаций и кибернетике. — М. : Иностранная литература, 1963. ' / .,: / 29. ArGuideto Understanding Covert Channel Analysis of Trusted Systems, National tomputer Security Center. — NCSC-TG-030. — V. 1, 1993. ' 30. BihamE. Cryptanalysis of Multiple Modes of Operation // Proc. ASIACRYPT’94, Springer-Verlag, 1994. - P. 278-291. 31. Biham E. Cryptanalysis of the ANSI X.9.52 CBCM Mode / E. Biham, L. Knudsen// Technion — Computer Science Department. — technical Report CS 0928, 1998. ; / 32. Biham E. Differential Cryptanalysis of the Data Encryption Standard I E. Biham, A. Shamir. — Springer-Verlag, 1993. ’ r 33. Department of Defense Trusted Computer System Evaluation Crite- ria. — DoD, 1985. 34. Digital signature standart (DSS). - FIPS PUB 190, 1994, MAY 19. 262
35. Goguen J.A. Security Policies and Security Models / J. A. Goguen, J. Meseguer // Proceedings of the IEEE Symposium on Security and Priva- cy. - Oakland, CA. - April, 1982. - P. 11—20. 36. Golic J. Intrinsic Statistical Weakness of Keystream generators // Advances in Cryptology — ASIACRYPT'94, Lecture Notes in Computer Science, Springer-Verlag, 1995. -V. 917. - P. 91-103. 37. Gollmann D. Clock Controlled Shift Registers: a Review / D. Gollmann, W. Chambers // IEEE J. Scl. Ar. Commun., 1989. — V. 7. — N 4. — P. 525-533. 38. ISO/IEC 13335-1:2004. Information technology — Security techni- ques — Management of information and communications technology secu- rity — P. 1: Concepts and models for information and communications technology: security .management; ‘\ \ v 39. ISO/IEC 13335-3:2004: Information technology — Security techniqu- es — Management of information and communications technology security — P. 3: Techniques for the management of IT Security: < '< 40. ISO/IEC 13335-4:2004. Information technology — Security techniqu- es — Management of information and communications^ technology security— P. 4: Selection of safeguards. \ , 41. ISO/IEC 13335-5:2004. Information technology — Security techniqu- es — Management of information and communications technology security — P. 5: Management guidance on network security. ? , r ,< * , 42. ISO/IEC TR 15443-1:2005. Information technology -^Security technP ques — A framework for IT security assurance — P. 1: Overview and framework. 43. ISO/IEC TR 15443-2:2005?Informatiori tfechnoldgy — Security techni- ques — A framework for IT security assurance — P. 2: Assurance methods. 44. Massey J. Cryptography: Fundamentals and Applications. Advanced Technology Seminars, 1994. . ; , > 45. Matsui ^. Linear Cryptanalysis Method for DES Cipher // Pi;e- Proceedingsof Eurocrypt’93, 1993. — P. 112—133. 46. McLean L High Assurance Computer Systems: A Research‘Agenda / J. McLean, C. Heitmeyer // Center for High Assurance Computer Systems Naval Research Laboratory, Washington, DC 20375, 1995. л i 47. Meier W. Fast Correlation Attacks on Certain Stream Ciphers / W. Meier, O. Staffelbach Ц J.Cryptology, 1989. - V. Г. - N3. - P.459-176. * ' 48. Menzes A. Hadbook of Applied Cryptography / A. Menzes, * P. van Oorschot, S. Vanstone.’^—CRC Press, 1997. 49. Meyer C. Cryptography: a New Dimension in Computer Data Security / C. Meyer, S.Matyas // John Wiley & Sons, : 1982c - 50. Rueppel R.Good Stream Ciphers are Hard to Design. ICCST, Zurich, 1989.-P. 163-173. v. • . 51. Schneier B. Applied Cryptography Second Edition; protocols, algorithms and source code in C // John Wiley & Sons Inc.; 1996. 52. Schnorr C. On the Construction of Random Number Generators and Random Function Generators //Advances in Cryptology. — Eurocrypt’88, 1988. — P. 225—232. 53. Simmons (7. Proof of Soundness (Integrity) of Cryptographic Protocols // J. Cryptology, 1994. - V. 7. - P. 69-77. . 54. The National Strategy to Secure Cyberspace, the White House. — Washington, 2003.
ОГЛАВЛЕНИЕ Предисловие...................................................3 Введение.................................................. 4 РАЗДЕЛ ПЕРВЫЙ ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ИХ УЯЗВИМОСТИ. МЕХАНИЗМЫ ЗАЩИТЫ Глава 1. Первоначальное знакомство с проблемой защиты персонального компьютера.................................. И 1.1. Устройство персонального компьютера................... 11 1.2. Угрозы персональным компьютерам...................... 12 1.3. Средства защиты персонального компьютера.....*.;........14 Глава 2. Аппаратная часть компьютеров и сетевого оборудования. Угрозы и защита................‘.............. ............15 2.1. Проблемы защиты, в машинах неймановского типа...........15 2.2. Угрозы, связанные с инженерно-техническими методами взаимодействия с компьютерными системами................;... 16 Глава 3. Операционные системы. Угрозы и штатные средства защиты............................... ;............... 18 3.1. Архитектура операционной системы UNIX. Применение иерар- хического метода для построения защищенной операционной системы.....................................................; 18 3.1.1. Организация операционной системы UNIX.........1.... 18 3.1.2. Логическая структура UNIX.........................; 19 3.1.3. Безопасность UNIX............................:.....20 3.1.4. Механизмы безопасности UNIX. Идентификация и аутентификация, разграничение доступа, резервирование. Пример практической реализации парольной системы.........21 3.1.5. Архитектура безопасности.......;...................21 3.2. Угрозы безопасности..............................:......22 3.2.1. Программные закладки................. ;....;......22 3.2.2. Троянские программы................................23 3.2.3. Невидимое вредоносное программное обеспечение в среде UNIX......................................:.....23 3.2.4. Модели воздействия программных закладок на компьютеры 24 3.2.5. Клавиатурные шпионы............................ 25 3.3. Вирусы и черви........................................ 26 3.3.1. Классические вирусы..;....................... :...26 3.3.2. Сетевые черви......................................27 264
3.4. Примеры вредоносных программ..........................27 3.4.1. Blaster.B.......................................27 3.4.2. SQL Slammer.....................................28 Глава 4. Система управления базами данных. Угрозы, защита...30 4.1. Некоторые общие сведения о базах данных...............30 4.2. Механизмы безопасности в СУБД.........................32 4.3. * Общая схема СУБД ORACLE. Уязвимости СУБД ORACLE......32 Глава 5. Сети. Угрозы, уязвимости и защита.................34 5.1. Модель OSI/ISO (ISO 7498-1)...........................34 5.2. Модель OSI/ISO (ISO 7498-2)...........................36 5.3. Стек TCP/IP....:......................................39 5.4. Архитектура безопасности в сетях Интернета............41 5.5. Угрозы, связанные с сетевым оборудованием.............43 РАЗДЕЛ ВТОРОЙ МАТЕМАТИЧЕСКИЕ МОДЕЛИ ЗАЩИТЫ ИНФОРМАЦИИ. ВЕРИФИКАЦИЯ ЗАЩИЩЕННОСТИ ЭЛЕКТРОННЫХ СИСТЕМ ОБРАБОТКИ ДАННЫХ С ПОМОЩЬЮ МАТЕМАТИЧЕСКИХ. МЕТОДОВ Глава 6. Вспомогательные структуры (модели), используемые в защите информации....... ............................... 48 6.1. Язык, объекты, субъекты...............................48 6.2. Информационный поток................................ 52 6.3. Ценность информации................................. 55 6.3.1. Аддитивная модель...............................56 6.3.2. Анализ риска...:................................56 6.3.3. Порядковая -шкала ценностей........А......:..:..57 6.3.4. Модель решетки ценностей.............. л...........57 6.3.5. Решетка подмножеств X...........................59 6.3.6. MLS решетка.....................................60 6.4. Реляционные базы данных.......:.....„........?...... 61 6.4.1. Функциональная зависимость (FD).................61 6.4.2. Целостность в реляционной модели................64 6.4.3. Реляционные операторы...........................64 6.5. Многоуровневые реляционные базы данных................65 6.5.1. Классификационные ограничения...................67 6.5.2. Состоятельность............................... 68 6.5.3. Полнота классификационных ограничений...........70 6.5.4. Проблема полиинстантинации.....'.......... 71 6.5.5. Декомпозиция MLS R в стандартные базовые отношения реляционной модели.....................................72 Глава 7. Политика безопасности.............................75 7.1. Определение политики безопасности.....................77 7.2. Дискреционная политика................................80 7.3. Политика MLS......................................... 83 265
Глава 8. Доказательный подход к построению систем защиты.. Системы гарантированной защиты........................... 87 8.1. Пример гарантированно защищенной системы обработки информации. Защищенные домены....................... .....88 8.2. Метод контроля каналов для реализации многоуровневой политики безопасности в автоматизированной системе, построенной на ненадежной с точки зрения безопасности платформе.......................96 8.3. Гарантированно защищенные базы данных, построенные на недоверенных с точки зрения безопасности элементах.......102 8.3.1. Математическая модель защиты баз данных.........104 8.3.2. Архитектурное решение.......................... 108 8.3.3. Представление данных в БД 1.....................111 8.3.4. Описание операций в БД2...‘................... 112 8.3.5. Обоснование безопасности....................... ИЗ Глава 9. Математические методы анализа политики безопасности.115 9.1. Модель «take-grant».........................'..... 115 9.2. Модель Белла—Лападула................................ 119 9.3. Модель Low-Water-Mark (LWM) ..........................123 9.4. Модель невлияния J.Gogsen, J.Mesegser (G—М).......... 125 9.5. Автоматный подход в модели невлияния..................130 9.6. Модель выявления нарушения безопасности............. 132 9.7* . О существовании «невидимых» каналов в распределенных компьютерных системах....:......:.......... 136 . РАЗДЕЛ ТРЕТИЙ ОСОБЕННОСТИ ПРИМЕНЕНИЯ КРИПТОГРАФИЧЕСКИХ МЕТОДОВ ДЛЯ ЗАЩИТЫ ИНФОРМАЦИИ. СПОСОБЫ РЕАЛИЗАЦИИ КРИПТОГРАФИЧЕСКОЙ ПОДСИСТЕМЫ ЗАДАННОЙ СТОЙКОСТИ Глава 10. Способы реализации криптосистем с заданной стойкостью........................................... 141 16.1. Определение шифра. Простейшие примеры................141 10.2. Стойкость шифров .............:................... 151 Глава 11. Универсальные методы криптоанализа.............. 156 11.1. Метод полного перебора....................... 156 11.2. Аналитический метод.................... *....'...... 160 11.3. Метод «встреча посередине»......................... 163 11.4. Метод «разделяй и побеждай»...................... 166 11.5. Методы криптоанализа при неравновероятной гамме. Расстояние единственности........................... 167 11.6. Перекрытия гаммы.......................................173 11.7. Корреляционные атаки на поточные шифры............ 175 11.8. Статистические модели............... ;...............* 177 11.9. Линейный криптоанализ блочных шифров................ 180 266
11.10. Дифференциальныйкриптоанализ..........................191 11.11. Метод коллизийдля хэш-функций..........?...J........ 192 11.12. Анализ схем шифрования, использующих многократно один блочный шифр................................................195 11.13. Атака на тройной DES с помощью линейного криптоанализа. 198 11.14. Техника атаки на тройной DES, основанная на задаче о днях рождения......................:..................;......*...199 Глава 12. Особенности реализации криптосистем, с симметричными . ключами......... д......л..............;.................. 201 12.1. Синтез поточных шифров................................ ;... 201 12.2. Синхронизация поточных шифров ?.................. 203 12.3. Синтез блочных шифров .....у^....................... 204 12.4. Слабости блочных шифров............................ 207 12.4.1. Морфизм DES.........................л...............л... 207 12.4.2. Слабые ключи DES........................ :....208 12.4.3. Полуслабые ключи DE$......................... 208 , '«-л. .. " .» у ’ , ч’ . Глава 13. Особенности реализации криптосистем с несимметричными ключами^..........‘....'............................... 209 13:1. Алгоритм Евклида и его сложность................... 209 13.2. Арифметика остатков....................................212 13.3. Основные теоремы о вычетах.............................213 13.4. Квадратичные вычеты....................................215 13.5. Факторизация. Логарифмирование в конечных полях........217 13.6. Схема RSA..............................................220 13.6.1. Схема шифрования RSA.............................220 13.6.2. Подпись RSA......................................220 13.7. Атаки на RSA...........................................221 13.8. Криптографические протоколы. Компрометация криптопрото- колов .......................................................222 13.9. Система Диффи и Хеллмана...............................228 13.10. Схема шифрования ElGamal..............................228 13.11. Подпись ElGamal.......................................229 13.12. DSA(DSS)..............................................229 13.13. Алгоритм подписи (ГОСТ 3410—94).......................231 13.14. Схема идентификации Schnorr — Shamir..................231 13.15. Схема аутентификации Feige—Fiat—Shamir................232 РАЗДЕЛ ЧЕТВЕРТЫЙ МЕТОДОЛОГИЯ И НОРМАТИВНАЯ БАЗА ДЛЯ ПРОЕКТИРОВАНИЯ, РАЗРАБОТКИ, ОЦЕНКИ ЭКСПЛУАТАЦИИ СИСТЕМ ЗАЩИТЫ Глава 14. Нормативные особенности применения криптографических методов защиты информации. Способы реализации криптографических подсистем..............................................236 267
Глава 15. Критерии и классы защищенности средств вычислительной техники и автоматизированных систем. Стандарты по оценке защищенных систем.................................... ..247 15; 1. Руководящий документ «Автоматизированные системы. Защита от несанкционированного доступа к информации. Классифи- кация автоматизированных систем и требования по защите информации»...............................................247 15. L1; Классификация автоматизированных систем.......247 15. 1.2. Требования по защите информации от несанкциониро- ванного доступа для автоматизированных систем.........248 15.2. Руководящий документ «Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от несанкционированного доступа к информации»................................ ........ 250 15.3. ГОСТ Р ИСО/МЭК 15408-2002.................... 252 15.4. Методология обследования и проектирования систем защиты. Проектирование и создание АС в защищенном исполнений ;.... 253 15.5. Стандарт Банка России «Обеспечение информационной безопасности Организаций банковской системы Российской Федерации. Общие положения»..........................?.....255 Список литературы....................................... 261
Учебное издание Груню Александр Александрович, Применю Эдуард Андреевич, ; Тимонина Елена Евгеньевна Теоретические основы компьютерной безопасности Учебное пособие Редактор Т. Ф. Мельникова • • Технический;редактор.О. Н. Крайнова Компьютерная верстка: Г Ю. Никитина Корректоры НЛ.Котелина, ГН Петрова Изд. № 101110134. Подписано^ печать 20.01.2009. Формат 60*90/16. Гарнитура «Таймс». Бумага офсетная № 1. Печать офсетная. Усл. печ. л. 17,0. Тираж 2500 экз. Заказ № 27949. Издательский центр «Академия», www.academia-moscow.ru Санитарно-эпидемиологическое заключение № 77.99.02.953.Д.004796.07.04 от 20.07.2004. 117342, Москва, ул. Бутлерова, 17-Б, к. 360. Телефакс: (495)330-1092, 334-8337. Отпечатано в соответствии с качеством предоставленных издательством электронных носителей в ОАО «Саратовский полиграфкомбинат». 410004, г. Саратов, ул. Чернышевского, 59. www.sarpk.ru
-^£1 Издательский центр ACADEMA ж «Академия» Учебная литература для профессионального образования Предлагаем вашему вниманию следующие книги: В. Г. ГРИБУНИН, В. В. ЧУДОВСКИЙ КОМПЛЕКСНАЯ СИСТЕМА ЗАЩИТЫ ИНФОРМАЦИИ НА ПРЕДПРИЯТИИ Объем 400 с. В учебном пособии раскрыты научные, методологические и зако- нодательные основы организации комплексной системы защиты информации на предприятии, а также основные аспекты практи- ческой деятельности по ее созданию,, обеспечению функциониро- вания и контроля эффективности.. ^ Для студентов учреждений высшего профессионального обра- зования. Может быть, использован) в практической работе сотруд- никами предприятий и организаций независимо от организацион- но-правовой формы и ведомственной принадлежности. П.Н.ДЕВЯНИН МОДЕЛИ БЕЗОПАСНОСТИ КОМПЬЮТЕРНЫХ СИСТЕМ Объем 144 с. В учебном пособии рассмотрены с полными доказательствами положения основных моделей безопасности компьютерных систем: дискреционного, мандатного, ролевого разграничений доступа, без- опасности информационных потоков, изолированной программной среды. Приведен используемый в рассматриваемых моделях мате- матический аппарат. Учебное пособие разработано при содей- ствии Академии криптографии Российской Федерации.
Для студентов учреждений высшего профессионального образо- вания. Может быть полезно специалистам в области защиты ин- формации. А. И. КУПРИЯНОВ, А. В. САХАРОВ, В. А. ШЕВЦОВ ОСНОВЫ ЗАЩИТЫ ИНФОРМАЦИИ Объем 256 с. В учебном пособии рассматриваются основные проблемы; тео- ретические положения, потенциальные и технические характеристи- ки качества, а также технические решения при построении систем защиты важнейшего современного ресурса — информационного — от негативных и деструктивных воздействий, характеризующих конф- ликт информационных систем с техническими средствами разведки. Для студентов учреждений высшего профессионального обра- зования. Может быть полезно специалистам в области защиты ин- формации. А. А. СТРЕЛЬЦОВ, В. С. ГОРБАТОВ, Т. Ai ПОЛЯКОВА и др. ОРГАНИЗАЦИОННО-ПРАВОВОЕ ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ Под ред. А. А. Стрельцова Объем 256 с. В учебном пособии раскрыты положения, связанные со структу- рой правового обеспечения информационной безопасности и со- ответствующего законодательства в области информации, инфор- мационных технологий и защиты информации, персональных дан- ных, интеллектуальной собственности, государственной тайны, элек- тронной цифровой подписи, технического регулирования. Изложе- ны вопросы юридической ответственности за правонарушения в области информационной безопасности, а также механизмы за- щиты прав и законных интересов субъектов информационной сфе- ры. Значительное внимание уделено построению систем организа- ционного обеспечения информационной безопасности. Для студентов учреждений высшего профессионального обра- зования. Может быть полезно аспирантам и преподавателям юри- дических вузов, интересующихся проблематикой правового обес- печения информационной безопасности. www. academia-moscow. ru
ACADEMA Издательский центр «Академия» Учебная литература ; для профессионального образования Наши книги можно приобрести (оптом и в розницу) Москва 129085, Москва, пр-т Мира, д. 101 в, стр. 1 (м. Алексеевская) ~ Тел./факс: (495) 648-0507, 330-1092,334-1563 E-mail: sale@academia-moscow.ru Филиалы: Северо-Западный 198020, Санкт-Петербург, наб. Обводного канала, д. 211 -213, литер «В» Тел.: (812) 251-9253,252-5789,575-3229 Факс: (812) 251 -9253,252-5789 E-mail: fspbacad@peterstar.ru Приволжский 603005, Нижний Новгород, ул. Алексеевская, д. 24г и 24д Тел.: (8312)18-1678 E-mail: pf-academia@bk.ru Уральский 620144, Екатеринбург, ул. Щорса, д. 92а, корп. 4 Тел.: (343)257-1006 Факс: (343) 257-3473 E-mail: academia-ural@mail.ru Сибирский . 630108, Новосибирск, ул. Станционная, д. 30 Тел. / факс: (383) 300-1005 E-mail: academia_sibir@mail.ru Дальневосточный 680014, Хабаровск, Восточное шоссе, д. 2а Тел./факс: (4212) 27-6022, E-mail: filialdv-academia@yandex.ru Южный 344037, Ростов-на-Дону, ул. 22-я линия, д. 5/7 Тел.: (863)253-8566 Факс:(863)251-6690 E-mail: academia-rostov@skytc.ru Представительство в Республике Татарстан 420094, Казань, Ново-Савиновский район, ул. Голубятникова, д. 18 Тел. / факс: (843) 520-7258,556-7258 E-mail: academia_kazan@mail.ru www. academia-moscow^ru
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ КОМПЬЮТЕРНОЙ БЕЗОПАСНОСТИ I тел 781-19-00 | nttp./www.biblio-globus.ru 628-35-67 624-46-80 КТК: 210 07.02.18.06 9" 7857691 542428 и;лм Грушо А.А. Теоретические”' Цена: 439.00 Издательский центр «Академия» www. academia-moscow. ru