Как построить защищенную информационную систему. Книга
Рефераты >> Программирование и компьютеры >> Как построить защищенную информационную систему. Книга

3.3.1.2. Преднамеренно внедренные ИЗ без деструктивных функций

РПС могут осуществлять взаимодействие с атакую­щим систему злоумышленником через т.н. «скрытые ка­налы» утечки информации. Под скрытым каналом будем понимать любую возможность обмена информацией, не предусмотренную разработчиками средств защиты и, как следствие, ничем не контролируемую [10]. В силу от­сутствия контроля за скрытыми каналами со стороны системы защиты они широко используются злоумыш­ленниками. Для использования скрытых каналов требу­ется наличие двух процессов: один осуществляет сбор информации, интересующей злоумышленника, и помещает ее в скрытый канал, который не контролируется системой защиты. Другой процесс осуществляет про­слушивание канала в ожидании начала передачи и при ее появлении выполняет необходимую обработку и сохра­нение собранной информации.

Скрытые каналы утечки, в зависимости от способа кодирования информации, передаваемой между этими процессами, подразделяются на два типа: с использова­нием памяти и с использованием времени.

В первом случае для кодирования передаваемой ин­формации используется либо область памяти, не имею­щая важного значения (например, установление харак­терных признаков в имени и атрибутах файла), либо во­обще неиспользуемая область (например, зарезервиро­ванные поля в заголовке сетевого пакета).

Во втором случае, более сложном для реализации, информация кодируется определенной последовательно­стью и длительностью событий, происходящих в системе (например, с помощью модуляции интервалов обраще­ния к устройствам, введения задержек между приемом и посылкой сетевых пакетов и т.д.).

Кроме скрытых каналов в системе могут присутство­вать и другие преднамеренно внесенные ошибки, не вле­кущие за собой разрушительных последствий. К их по­явлению обычно приводит расхождение между требова­ниями безопасности и требованиями к функциональным возможностям ВС. В силу присущей скрытым каналам трудности выделения общих особенностей и их специ­фичности более подробная их классификация не прово­дилась, так как выходит за рамки данной работы.

3.3.1.3. Непреднамеренные ошибки и ИЗ

Непреднамеренные ИЗ могут возникнуть из-за оши­бок, допущенных на этапе разработки требований, при создании спецификаций и на этапе реализации. Ошибки этого типа были подробно исследованы в работах [2,4]. Хотя большинство из них обнаруживается и устраняет­ся в процессе тестирования, ряд ошибок может остаться незамеченным и вызвать определенные проблемы на этапе эксплуатации системы. Наиболее трудно выявля­ются такие ошибки в сложных системах, состоящих из многочисленных компонентов и разработанных при участии большого коллектива специалистов. Одна из неотъемлемых проблем таких систем — невозможность составления исчерпывающих спецификаций, т. е. невозможность качественного документирования. Недос­татки проектной документации в процессе сопровожде­ния и эксплуатации системы приводят к тому, что при попытке устранения одних ошибок в нее вносятся дру­гие. И хотя наличие неумышленных ошибок не приво­дит к немедленному их использованию и нарушению безопасности системы, это является лишь вопросом времени.

Непреднамеренные ИЗ могут быть классифицирова­ны в соответствии со следующими группами ошибок:

1. Ошибки контроля допустимых значений парамет­ров.

2. Ошибки определения доменов.

3. Ошибки последовательности действий и использо­вания нескольких имен для одного объекта.

4. Ошибки идентификации/аутентификации.

5. Ошибки проверки границ объектов.

6. Ошибки в логике функционирования.

Ошибки контроля допустимых значений параметров заключаются в принятии соответствующим механизмом неправильного заключения о соответствии проверяемого параметра допустимым значениям. Это касается числа. состава, типа, размера, статуса (передаваемые или при­нимаемые) параметров или ряда других их характери­стик. Ошибки контроля можно рассматривать как не­адекватную реакцию механизмов защиты на возникаю­щие в системе события.

Ошибки определения доменов выражаются в нали­чии неконтролируемого способа доступа в защищенною область. Например, возможность получения доступа; к объекту файловой системы, непосредственный доступ к которому запрещен, посредством доступа к его физиче­скому представлению на магнитных носителях. Другим примером является возможность доступа к остаточной информации в занимаемой объектом области памяти по­сле его уничтожения.

Наличие ошибок последовательности действий пред­определяется асинхронным функционированием компо­нентов системы, которое может быть использовано для нарушения безопасности. Выявить такие ошибки в сис­теме достаточно трудно. Их суть заключается в том, что в силу невозможности представления каждой из функций системы единственной атомарной операцией многие из функций выполняются как некоторая асинхронная по­следовательность действий (операций), осуществляемых несколькими компонентами системы. Например, одной из одновременно выполняющихся операций может быть проверка идентификатора процесса, а второй — уста­новка для него соответствующих полномочий; в общем случае — использование параметра и проверка его до­пустимости. Асинхронность может быть использована злоумышленником для обмана механизмов контроля пу­тем подмены параметра на другой, запрещенный, после проверки, но перед использованием. Данная ошибка но­сит название TOCTTOU (time-of-check to time-of-use) [1б], (II в Приложении IV).

Ошибки идентификации/аутентификации приводят к тому, что неуполномоченный пользователь получает дос­туп к защищенным объектам с полномочиями другого пользователя. Эти ошибки в принципе можно рассматри­вать как ошибки контроля в том смысле, что происходит неправильная проверка параметров идентификации и подлинности пользователя и объекта. Однако, по причине значительного числа случаев нарушений безопасности из-за неправильной идентификации/аутентификации, целе­сообразно рассматривать данную категорию ошибок как отдельную.

Ошибки проверки границ объектов и связанные с ними каналы утечки обычно возникают из-за игнориро­вания контроля за пересечением объектом границ облас­ти памяти, отведенной для его хранения (контроль дли­ны строки, размера массива, размера и положения файла и т.д.). Самый известный пример такого рода — про­грамма finger в ОС Unix (U12 в Приложении IV).

Кроме того, существуют другие ошибки, не попа­дающие непосредственно ни в одну из перечисленных категорий. В целом их можно назвать ошибками логики функционирования системы и механизмов защиты, ко­торые потенциально могут быть использованы зло­умышленниками для проникновения в систему и нару­шения безопасности.

3.3.2. Классификация ИЗ по этапу возникновения

В отличие от исследования вопроса об источниках возникновения ИЗ, анализу этапа появления ошибок уделяется недостаточное внимание. Результаты исследо­вания данного вопроса подробно изложены в несколь­ких работах, наибольший интерес из которых представ­ляет [2], в которой проблема выявления этапа возникно­вения ошибок рассматривается по отношению к жизнен­ному циклу программного обеспечения.


Страница: