Системный анализ. 2009_Ракитов АИ и др_Системный анализ и аналитические исследован. Руководство для профессиональных аналитиков москва 2009 rv удк 001. 51 Ббк72 с 40
Скачать 2.27 Mb.
|
О/ Om=NULL Уничтожение объекта От Операция записи объектов основана на рассмотренном выше свойстве транзитивности потоков. При изменении ассоциированных с субъектом реализации политики безопасности объектов, могут измениться и свойства самого МБО, заключающиеся в фильтрации потоков и, как следствие, могут возникнуть потоки, принадлежащие множеству опасных или нелегальных потоков. Смысл данного утверждения состоит в том, что в КС потенциально возможно существование таких программ, которые могут «выключить» монитор безопасности объектов или реализовать потоки «мимо» него. Введем в связи с этим понятие корректности субъектов. Изменение АО Si Поток "в обход' МБО Рис. 23. Возможные пути нарушения ПБ (АО - ассоциированные объекты) Пара субъектов S t uS называется корректной относительно друг друга (взаимно-корректными), если в любой момент времени отсутствует поток (изменяющий состояние объекта) между ассоциированным объектом субъекта SJOJ и SJOJ, причем O sj не является ассоциированным объектом S, а О я не является ассоциированным объектом S. Вспомним, что субъекты в компьютерной системе - это программы. Тогда смысл понятия взаимной корректности состоит в том, что любые программы КС не должны влиять друг на друга. Каким образом возможно это влияние? Программы могут передавать друг другу данные для взаимной работы, но никогда не должны менять логику и алгоритм работы другой программы. Например, существующие в едином пространстве оперативной памяти компьютера программы не должны иметь возможности изменения «чужого» состояния и исполняемого кода. Определение корректности позволяет сформулировать достаточные условия гарантированного осуществления легального доступа. Монитор безопасности объектов разрешает порождение потоков только из множества L, если все существующие в системе субъекты корректны относительно него и друг друга. Условие корректности предполагает неизменность функционально ассоциированных объектов монитора безопасности объектов, поскольку потоков, изменяющих ассоциированные объекты МБО, не существует. С другой стороны, такие потоки могут появиться при изменении ассоциированных объектов, принадлежащих другим субъектам КС (изменятся свойства субъекта, в том числе, возможно, и по порождению потоков к монитору безопасности объектов). Условие корректности субъектов относительно друг друга делает это невозможным. Это в свою очередь означает, что МБО реализует только потоки из подмножества L. Однако сформулированное утверждение накладывает весьма жесткие и трудноисполнимые условия на субъекты в КС. Кроме того, невозможно гарантировать корректность любого субъекта, активизируемого в КС. В связи с этим логично ограничить множество порождаемых субъектов, которые корректны относительно МБО. В связи с этим введем понятие и монитора безопасности субъектов. Монитор безопасности субъектов (МБС) - субъект, который разрешает порождение субъектов только для 362 363 фиксированного подмножества пар активизирующих субъектов и порождающих объектов. МБС выделяет во всем множестве субъектов S подмножество разрешенных Е. Сформулируем теперь ряд базовых определений, которые в дальнейшем будут повсеместно использоваться. Компьютерная система называется замкнутой по порождению субъектов, если в ней действует МБС, разрешающий порождение фиксированного конечного подмножества субъектов для любых объектов- источников. Однако замкнутости КС по порождению субъектов недостаточно, поскольку необходимо обеспечить корректность порождаемых МБС субъектов относительно его самого и МБО. Механизм замкнутой программной среды сокращает множество возможных субъектов до некоторого множества фиксированной мощности, но при этом допускает существование некорректных субъектов, включенных в замкнутую среду. Множество субъектов КС называется изолированным (абсолютно изолированным), если в ней действует МБС и субъекты из порождаемого множества корректны (абсолютно корректны) относительно друг друга и МБС. Как следствие, любое подмножество субъектов изолированной (абсолютно изолированной) КС, включающее МБС, также составляет изолированную (абсолютно изолированную) среду. Из этого также следует, что дополнение изолированной (абсолютно изолированной) КС субъектом, корректным (абсолютно корректным) относительно любого из числа входящих в изолированную (абсолютно изолированную) среду, оставляет ее изолированной (абсолютно изолированной). Теперь возможно переформулировать достаточное условие гарантированного выполнения политики безопасности следующим образом. Если в абсолютно изолированной КС существует МБО и порождаемые субъекты абсолютно корректны относительно МБО, а также МБС абсолютно корректен относительно МБО, то в такой КС реализуется доступ, описанный в ПРД (правила разграничения доступа), то есть компьютерная система является гарантированно защищенной. 364 Из определения абсолютной изолированности следует возможность существования в КС только конечного множества субъектов, которые в свою очередь корректны относительно МБС. По условию утверждения (корректность МБО относительно любого из порождаемых субъектов и МБС) ассоциированные объекты могут изменяться только самим МБО, следовательно, в КС реализуются только потоки, принадлежащие множеству L. Легко видеть, что данное утверждение является более конструктивным относительно предыдущего достаточного условия гарантированной защищенности, поскольку ранее требовалась корректность МБО относительно произвольного субъекта, чего достигнуть практически невозможно. В данном же случае множество субъектов ограничивается за счет применения механизма МБС, и возможно убедиться в попарной корректности порождаемых субъектов. При рассмотрении технической реализации изолированности субъектов в КС принято употреблять термин «изолированная программная среда» (ИПС), который описывает механизм реализации изолированности для конкретной программно- аппаратной реализации КС при соответствующей декомпозиции на субъекты и объекты. Базовая теорема изолированной программной среды, являющаяся основой для построения гарантированно защищенных КС, звучит следующим образом. Если в изолированной КС действует только порождение субъектов с контролем неизменности объекта и существуют потоки от любого субъекта к любому объекту, не противоречащие условию корректности (абсолютной корректности) субъектов, то КС также остается изолированной (абсолютно изолированной). По условию утверждения в КС возможно существование потоков, изменяющих состояние объектов, не ассоциированных в этот момент времени с каким-либо субъектом. Если объект с измененным состоянием не является источником для порождения субъекта, то множество субъектов изолированной среды нерасширяемо, в противном случае (измененный объект является источ- 365 ником для порождения субъекта) по условиям утверждения (порождение субъекта с контролем) порождение субъекта невозможно. Следовательно, мощность множества субъектов не может превышать той, которая была зафиксирована до изменения состояния любого объекта. Как следствие из определения (о замкнутости множества субъектов в ИПС с невозрастанием мощности множества субъектов) получим, что множество субъектов КС изолировано. Теперь можно сформулировать методологию проектирования гарантированно защищенных КС. Сущность данной методологии состоит в том, что при проектировании защитных механизмов КС необходимо опираться на совокупность приведенных выше достаточных условий, которые должны быть реализованы для субъектов, что гарантирует защитные свойства, определенные при реализации МБО в КС (т.е. гарантированное выполнение заданной МБО политики безопасности). Рассмотренная концепция изолированной программной среды является расширением зарубежных подходов к реализации ядра безопасности. Обычно модель функционирования ядра безопасности изображается в виде следующей схемы, представленной на рис. 24. На рис. 24 «база данных защиты» означает объект, содержащий в себе информацию о потоках множества L (защита по «белому списку» - разрешения на потоки) или N (зашита по «черному списку» - запрещение на потоки). Для учета влияния субъектов в КС необходимо рассматривать расширенную схему взаимодействия элементов системы реализации и гарантирования ПБ. На рис. 25 подчеркнута роль монитора безопасности субъектов при порождении субъектов из объектов. Рис. 24 Классическая модель ядра безопасности Рис 25. Ядро безопасности с учетом контроля порождения субъектов Взаимодействие субъектов и объектов при порождении потоков уточнено введением ассоциированных с субъектом объектов. Конструкция ОУ на схеме обозначает объект управления, т.е. объект, содержащий информацию о разрешенных значениях отображения Stream (об элементах множества L или N) и Create (элементы множества Щ. 366 367 1 Практическому специалисту приведенные рассуждения позволяют понять, что достижение высокой, а в некоторых случаях - гарантированной, защищенности КС вполне возможно. Для этого необходимо сначала реализовать политику безопасности, т.е. задать множество потоков только из множества легального доступа, а потом «замкнуть» КС в изолированную программную среду, где не будут порождаться новые субъекты по сравнению с изначально допущенными для решения целевых задач. Причем при запуске программы ее исполняемый файл должен быть также проверен на неизменность по сравнению с начальным состоянием. 11.3. Опосредованный несанкционированный доступ в компьютерной системе Весьма важной задачей для аналитической КС, хранящей и обрабатывающей конфиденциальную информацию, является задача защиты от «компьютерных вирусов» и других автономно работающих злонамеренных программ, предназначенных для кражи и искажения информации в локальном сегменте аналитической КС. В первой части книги было сказано о том, что в последнее время появились целые фирмы, которые производят уже не отдельные «компьютерные вирусы», но целые программные комплексы, получившие по аналогии с software -и hardware название spyware. В компьютерной безопасности рассматривается целый отдельный класс злоумышленных действий, называемых опосредованным несанкционированным доступом 91 Опосредованный несанкционированный доступ (ОНСД) понимается как действия (инициирование потоков) некоторого субъекта в рамках поддерживаемой МБО политики безопасности, который либо создает новые объекты в КС, либо изменяет ассоциированные объекты активных субъектов. Очень важно, что данные действия осуществляются автономно (без управления 91. Щ ЕРБАКОВ А. Разрушающие программные воздействия. - М : Эдель; Киев: Век, 19 93 -6 4 с пользователем). Для аналитика весьма важно понимать, что опосредованный НСД возможен даже в защищенной системе и действительно в настоящее время является основным источником получения информации для злоумышленников-конкурентов. Автономно работающий внедренный в КС субъект, реализующий опосредованный несанкционированный доступ, называется разрушающим программным воздействием (РПВ), программной закладкой или компьютерным вирусом. Необходимыми условиями для осуществления ОНСД являются: 1. Наличие во множестве субъектов КС субъекта, который может изменить ассоциированные объекты (функционально ассоциированные или ассоциирован ные объекты-данные) других субъектов, либо иниции ровать потоки от ассоциированных объектов некоторых субъектов к своим объектам (в смысле созданных или из меняемых данным субъектом). 2. Внедрение в систему измененных объектов- источников, которые могут породить субъекты со свой ствами, обозначенными в п. 1. В КС возможны следующие комбинации несанкционированных действий: несанкционированное чтение (НСЧ) - поток от внешнего по отношению к РПВ объекта к ассоциированным объектам РПВ, и несанкционированная запись (НСЗ) - поток от ассоциированных объектов РПВ к внешним объектам. Объединим избранное множество субъектов в КС в один субъект и назовем его прикладной программой. Рассмотрим также множество санкционированных (разрешенных) действий прикладной программы по записи (санкционированная запись, СЗ) или считыванию (санкционированное считывание, СЧ) данных. Событийная модель описывается полной группой событий (событием считается поток) в КС в паре «РПВ - другие субъекты КС». Рассматриваемые ситуации показывают возможные действия внедренного в КС spyware. 368 369 Ситуации 1 - 4 соответствуют нормальной работе прикладной программы, когда программная закладка не оказывает на нее никакого воздействия. Ситуация 5 может быть связана с разрушением прикладной программы в оперативной памяти компьютера, либо с сохранением уже накопленной программной закладкой информации. Эта ситуация опасна тем, что прикладная программа аналитика может быть разрушена и вместе с тем нарушена достоверность работы аналитика в целом. Ситуация 6 связана с разрушением или сохранением записываемой прикладной программой информации (искажение или сохранение выходного потока). Это означает, что результаты работы аналитика могут быть искажены или уничтожены. Ситуация 7 связана с сохранением считываемой прикладной программой информации (сохранение входного потока). В данном случае вводимые запросы, пароли или просто набираемые тексты будут украдены. Ситуация 8 связана с сохранением информации закладкой при ее считывании или записи прикладной программой. Ситуация 9 не связана с прямым негативным воздействием, поскольку прикладная программа не активна. Ситуация 10 может быть связана с сохранением выводимой информации в оперативную память. Ситуация 11 может быть связана с сохранением вводимой информации в оперативную память либо с изменением параметров процесса санкционированного чтения закладкой. Ситуация 12 может быть связана с сохранением как вводимой, так и выводимой прикладной программой информации в оперативную память. Ситуация 13 может быть связана с размножением закладки или вируса, сохранением накопленной информации или с разрушением кода и данных в файлах, поскольку прикладная программа не активна. Ситуации 14-16 могут быть связаны как с сохранением, так и с разрушением данных или кода и аналогичны ситуациям 6-8. Полная группа событий опосредованного НСД Таблица 20 Ситуации НС Ч нсз Действия сч сз 1 0 0 нет 0 0 2 0 0 нет 0 1 3 0 0 нет 1 0 4 0 0 нет 1 1 5 0 1 изменение (разрушение) кода прикладной программы в оперативной памяти 0 0 6 0 1 разрушение или сохранение выводимых прикладной программой данных 0 1 7 0 1 разрушение или сохранение вводимых прикладной программой данных 1 0 8 0 1 разрушение или сохранение вводимых и выводимых данных 1 1 9 1 0 нет 0 0 10 1 0 перенос выводимых прикладной программой данных в ОП 0 1 11 1 0 перенос вводимых в прикладную программу данных в ОП 1 0 12 1 0 перенос вводимых и выводимых данных в ОП 1 1 13 1 1 процедуры типа «размножение вируса» (действия закладки независимы от операций прикладной программы) 0 0 14 1 1 аналогично ситуациям 6-8 0 1 15 1 1 1 0 16 1 1 1 1 Необходимо заметить, что условие взаимной корректности субъектов запрещает существование РПВ с возможностью записи в ассоциированные объекты не совпадающих с ним субъектов. С другой стороны, инициирование потока от ассоциированного объекта к ассоциированным объектам РПВ не противоречит условию корректности. Предположим, что в КС отсутствует субъект 370 371 с указанными возможностями (чтение ассоциированных объектов). Тогда можно сформулировать утверждение о невозможности опосредованного НСД в изолированной программной среде с контролем целостности объектов- источников при порождении субъектов. По условию взаимной корректности субъектов изменение ассоциированных объектов у любых субъектов невозможно. Порождение субъекта из измененного объекта-источника или порождение субъекта, не принадлежащего множеству субъектов, также невозможно. Эти же условия предполагают отсутствие субъекта чтения ассоциированных объектов. Для гарантий отсутствия произвольного ОНСД необходима коррекция начальных условий замыкания субъектов в ИПС либо изменение алгоритмов работы МБО для предотвращения указанных выше действий РПВ. Сделаем важное замечание. Перенос информации от ассоциированных объектов любого субъекта к ассоциированным объектам РПВ имеет смысл с точки зрения ОНСД только в том случае, когда эта информация будет отображена в объекте внешнего хранения (иными словами, сохранена). В ином случае злоумышленные действия невозможны. С другой стороны, в реальных КС значительно число субъектов, участвующих в потоках информации (драйверы дисков, драйверы сетевого оборудования и др.), которые переносят информацию от ассоциированных объектов, поэтому требование отсутствия операций чтения ассоциированных объектов нереально. Следовательно, необходимо противодействовать операциям сохранения в рамках локального или внешнего сегмента КС. Для практического аналитика большое значение в данном случае будет иметь работа с такими носителями информации, которые можно отключить по мере надобности от оборудования КС. 11.4. Основные понятия криптографии Чтобы понять необходимость использования криптографических методов защиты информации в работе аналитика, обратимся снова к рис. 20. Мы видим, что между ЛС КС и субъектом X имеется поток информации, к которому могут иметь доступ другие субъекты внешнего сегмента компьютерной системы. Этот поток принадлежит внешнему сегменту и никак не контролируется пользователем ЛС КС. Например, отправив электронное письмо, мы абсолютно не будем уверены в том, что оно не прочитано во время его движения кем-то еще, а, получая доступ к некоторому сайту в Интернет либо удаленному хранилищу данных, мы также не можем быть уверены, что в наш канал обмена данными не включен сторонний наблюдатель. Никакими мерами защиты внутри ЛС КС этот доступ предотвратить невозможно. Единственно возможное решение - изменение информации в этом потоке таким образом, чтобы даже ознакомление с ним не давало никаких сведений о содержании информации в этом потоке. Дополнительно можно рассматривать случай, когда субъект, которому не разрешен доступ к нашим локальным базам данных (находящимся в рамках ЛС КС в нашем личном пользовании), пытается прочитать содержащуюся в них информацию, изменить ее, разрушить, внести намеренную путаницу. Чтобы воспользоваться криптографической защитой, нам необходимо, чтобы аналитик и специалист по информатике, которому поручено организовать такую защиту, пользовались основными понятиями криптографической защиты однозначно и употребляли их в одном и том же смысле. Вот эти понятия. Шифр - совокупность алгоритмов или отображений открытой (общедоступной) информации, представленной в формализованном виде, в недоступном для восприятия шифрованном тексте (также представленном в формализованном виде). Шифр зависит от внешнего параметра (ключа), без знания которого невозможно шифрованную информацию преобразовать в открытую. Ключ должен быть задан или сконструирован таким образом, чтобы его нельзя было определить ни по шифрованной, ни по открытой информации. 372 373 Шифрование информации - взаимнооднозначное математическое (криптографическое) преобразование, зависящее от ключа (секретный параметр преобразования), которое ставит в соответствие блоку открытой информации, представленной в некотором цифровом представлении, блок шифрованной информации, также представленной в цифровом представлении. Термин шифрование объединяет в себе два процесса: зашифрование и расшифрование информации. Шифратор - аппарат или программа, реализующая шифр. В современной литературе вводится понятие «средства криптографической защиты информации», которое включает в себя шифратор, но в целом является более широким. Ключ - некоторый неизвестный параметр шифра, позволяющий выбрать*для шифрования и расшифрования конкретное преобразование из всего множества преобразований, составляющих шифр. Простая ассоциация - ключ от замка - во многом проясняет смысл термина. Есть много качественно одинаковых ключей, но лишь некоторые (или один) откроют замок. Шифрование - процесс получения шифрованного текста, основанный на знании ключа. Дешифрование - восстановление открытого текста или ключа по шифрованному тексту. Злоумышленник- субъект (или физическое лицо), не знающий ключа или открытого текста и стремящийся его получить. Злоумышленник в криптографии является конкретизацией злоумышленника для КС - в данном случае это некто, пытающийся выполнить атаку и прочитать зашифрованные данные. Понятие «злоумышленник» в криптографии тесно связано с понятием «твердого незнания» ключа. В соответствии с методологией, принятой в современной криптографии, надежность шифра определяется степенью безопасности используемых в ней ключей, поскольку все долговременные элементы криптографической системы (множество правил шифрования, его механизм) рано или поздно станут известными злоумышленнику. Этот прин- 374 цип был сформулирован еще в конце XIX в. и получил название «правила Кирхгофа» (Kerckhoffs' desiderata). В современной криптографии считается также, что злоумышленник имеет возможность также произвольным образом изменять сообщения. Поэтому вводится еще один термин. Подлинность - принадлежность сообщения конкретному автору и неизменность содержания сообщения. Пусть имеется некоторое множество X. Назовем его исходным множеством или множеством открытых текстов. Это могут быть, например, тексты, содержащие финансовые, торговые, политические сведения и передаваемые на некотором языке с помощью двоичных векторов или целых чисел. Чаще всего X полагается множеством векторов длины п, каждая его координата может принадлежать множеству М, которое называется алфавитом. Зададим также множество У - другое множество, которое назовем множеством зашифрованных текстов. Его также удобно представлять множеством векторов длины т, причем каждая координата вектора принадлежит множеству S. Это множество может совпадать с М или быть отличным от него. В первом случае при шифровании буквы текста отображаются в другие буквы, во втором случае для представления шифрованного текста используются символы другого алфавита, например, «пляшущие человечки». Зададим также множество К - множество параметров преобразования или множество ключей. Данный параметр задает, какое именно преобразование будет использовано. Далее введем некоторое отображение Е множества X на множество У, зависящее от параметра к из множества К: Е(к, х) = у, где к принадлежит К; х принадлежит X; у принадлежит У; причем для любого хиз X существует отображение D, также зависящее от параметра к: 375 D(E(k, x)) = x, и х определяется однозначно. Данное условие говорит о том, что после расшифрования D должен получиться тот нее самый исходный текст, а не какой-либо другой. Отображение Е назовем шифрующим отображением, a D - расшифровывающим отображением. Вместо «отображения» в литературе по криптографии используется также термин «преобразование». В литературе по криптографии еще используются следующие обозначения: Ек{) - функция зашифрования на ключе к, DkQ - функция расшифрования на ключе к. Из этого определения можно сделать следующие выводы: 1. Мощность множества (количество элементов мно жества) X всегда не больше мощности множества У, по скольку в противном случае невозможно добиться одно значного отображения Y в X и получить однозначного расшифрования. 2. При любом фиксированном к отображение Е вза имно однозначно. Однако в сформулированном определении мы ничем не выделили шифры среди прочих преобразований информации. Поэтому сформулируем дополнительные свойства: 1. Множество if должно иметь мощность, достаточ ную, чтобы невозможно было осуществить перебор всех различных преобразований Е. 2. По у=Е{к,х) было бы очень трудоемко определить как х, так и к. Даже дополнив основное определение данными свойствами, мы не может утверждать, что шифр будет «хорошим». Данные требования являются необходимыми, но недостаточными - мы не можем быть абсолютно уверенными в том, что по у определить к или х действительно «очень трудоемко». Пример 1 Пусть х , у х и k t принадлежат {0,1}. Операция # задается таб. 21: Таблица 21 # |