Классификация ПВБ по источнику появления

С точки зрения технологии создания защищенных систем наибольшее качение имеют следующие вопросы, на которые должно дать ответ исследование ПББ:

1. Каким образом ошибки, приводящие к появлению ПББ, вносятся систему защиты? (классификация ПББ по источнику появления).

2. Когда (на каком этапе) они вносятся? (классификация ПББ по этапу возникновения.)

3. Где (в каких узлах) системы защиты (или ВС в целом) они возникают и проявляются? (классификация ПББ по размещению в системе.)

Как следует из определения ПББ, источником ее появления является ошибка или недоработка в системе безопасности. Исследованию ошибок тем или иным образом связанных с безопасностью, показывают, что подобные ошибки носят неслучайный характер. Ошибки, служащие источником появления ПББ, могут быть внесены в систему защиты специально (преднамеренно), либо возникнуть неумышленно, непреднамеренно. Для выявления таких непреднамеренных, в определенном смысле случайных, ошибок применяются различные стратегии и методики. Например, большинство случайных ошибок может быть выявлено и устранено при увеличении времени и глубины анализа и тестирования кода системы защиты. Но в отношении наиболее серьезных преднамеренно внесенных (и вероятней всего замаскированных) ошибок этот способ, скорее всего, окажется малоэффективным. Для того чтобы сделать процесс поиска таких ошибок более продуктивным, необходимо проведение специальных испытаний, заключающихся в попытках проникновения в систему и проведения атак на систему защиты.

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

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

Преднамеренно внедренные ПББ с наличием деструктивных функций "Логические бомбы" и "часовые мины" - это РПС, которые не выполняют никаких функций до наступления определенного события в системе, после чего "срабатывают", что, как правило, заключается в серьезных нарушениях работы системы, уничтожении информации è других деструктивных действиях.—"Особенностью проявления данного вида преднамеренно внедренного кода является отсутствие маскировки выполнения деструктивных Функций. Последствия "срабатывания" чаще всего наносят катастрофический характер и могут привести к полному уничтожению системы и/или данных.

"Черным ходом" называется скрытая (замаскированная) возможность получения доступа к ресурсам â обход стандартных механизмов контроля. Например, разработчик программы проверки уникального идентификатора может при совпадении контролируемого параметра с известной только ему константой предусмотреть осуществление некоторых непредусмотренных действий, скажем, отменить контроль доступа для субъекта с этим идентификатором. В дальнейшем этот разработчик мог бы использовать этот "черный ход" для бесконтрольного доступа к информации.

Преднамеренно внедренные ПББ без деструктивных функций. РПС могут осуществлять взаимодействие с атакующим систему злоумышленником через т.н. "скрытые каналы" утечки информации. Под скрытым каналом следует понимать любую возможность обмена информацией с процессами или другими компонентами системы, не предусмотренную åå разработчиками (и, как следствие, неконтролируемую системой защиты). Отнести скрытые каналы к непреднамеренно возникшим ПВВ нельзя, так как их использование носит. отнюдь не случайный характер. В силу отсутствия контроля за скрытыми каналами со стороны системы защиты они широко используются злоумышленниками. Фактически скрытые каналы являются типичными примерами ПББ.

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

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

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

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

Непреднамеренные (неумышленные) ошибки и ПББ.

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

Неумышленные ПББ могут быть классифицированы в соответствии со следующими группами ошибок, предопределяющих их существование:

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

2. Ошибки определения областей (доменов).

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

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

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

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: