Как построить защищенную информационную систему. КнигаРефераты >> Программирование и компьютеры >> Как построить защищенную информационную систему. Книга
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], в которой проблема выявления этапа возникновения ошибок рассматривается по отношению к жизненному циклу программного обеспечения.