Таксономия

Материал из ПИЭ.Wiki

Перейти к: навигация, поиск

Содержание

Угрозы безопасности компьютерных систем

Под угрозой безопасности вычислительной системе понимаются воздействия на систему, которые прямо или косвенно могут нанести ущерб ее безопасности.

Выделяют три вида угроз:

- угрозы нарушения конфиденциальности обрабатываемой информации;

- угрозы нарушения целостности обрабатываемой информации;

- угрозы нарушения работоспособности системы (отказа в обслуживании).

Угрозы конфиденциальности направлены на разглашение секретной информации, т. е. информация становится известной лицу, которое не должно иметь к ней доступ. Иногда для обозначения этого явления используется понятие "несанкционированный доступ" (НСД).

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

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

Реализация угрозы это атака.

Любая атака на вычислительную систему (ВС) опирается на определенные особенности построения и функционирования последней, иными словами — использует имеющиеся недостатки средств обеспечения безопасности. В контексте изучения истории атак на вычислительные системы и построения таксономии причин нарушений информационной безопасности наиболее точно отражения сущности этого явления предлагается ввести термин "изъян защиты" (ИЗ).

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

Исследования нарушений безопасности компьютерных систем

Методология по выявлению ИЗ предусматривает проведение исследований в три этапа:

Первый этап состоит в изучении системы, причем особое внимание уделяется принципам функционирования механизмов защиты.

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

На третьем, заключительном этапе проводится обобщение полученных результатов и формируются списки (перечни) выявленных ИЗ и успешных атак.

Таксономия ИЗ

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

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

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

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

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

Файл:Классификация_ИЗ_по_источнику_появления.jpg

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

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

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

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

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

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

Файл:Классификация_ИЗ_по_этапу_внедрения.jpg‎

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

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

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

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

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

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

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

Файл:Классификация_ИЗ_по_размещению_в_выч.сист.jpg

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

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

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

Управление процессами и управление распределением памяти — основные задачи операционной системы, и ошибки в данных механизмах приводят к получению злоумышленником контроля над всей системой и свободному доступу к любой информации.

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

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

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

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

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

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

Таксономия причин возникновения ИЗ

Рис. 1 Таксономия причин нарушения безопасности ВС


Рассмотрим с этой точки зрения известные случаи нарушения безопасности ВС. Все случаи произошли по одной из следующих причин:

1. Выбор модели безопасности, не соответствующей назначению или архитектуре ВС. Модель безопасности должна соответствовать как требованиям безопасности, предъявляемым к ВС, так и принятой в ней парадигме обработки информации, в основном определяемой архитектурой ОС. В настоящий момент наблюдается определенное несоответствие между моделями безопасности и архитектурой ОС. Фактически формальные модели безопасности существуют только в виде теории, а разработчики ОС вынуждены подвергать их интерпретации, чтобы приспособить к конкретной ОС. При этом приходится идти на определенные компромиссы, и может оказаться, что модель безопасности в ходе реализации подверглась существенным искажениям. Это означает, что при выборе модели безопасности нельзя не учитывать специфику архитектуры ВС, в противном случае, несмотря на все достоинства модели, гарантированного ею уровня безопасности достичь не удастся.

2. Неправильное внедрение модели безопасности. Несмотря на вполне адекватный выбор модели безопасности ее реализация и применение к архитектуре конкретной ОС в силу свойств самой модели или ОС было проведено неудачно. Это означает, что в ходе реализации были потеряны все теоретические достижения, полученные при формальном доказательстве безопасности модели.

3. Отсутствие идентификации и/или аутентификации субъектов и объектов. Во многих современных ОС идентификация и аутентификация субъектов и объектов взаимодействия находятся на весьма примитивном уровне — субъект может сравнительно легко выдать себя за другого субъекта и воспользоваться его полномочиями доступа к информации. Кроме того, можно внедрить в систему "ложный объект, который будет при взаимодействии выдавать себя за другой объект.

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

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

6. Наличие средств отладки и тестирования в конечных продуктах. Многие разработчики оставляют в коммерческих продуктах т. н. "люки", "дыры", отладочные возможности и т.д. Причины, по которым это происходит, вполне понятны — программные продукты становятся все сложнее, и отладить их в лабораторных условиях становится просто невозможно. Следовательно, для определения причин сбоев и ошибок уже в процессе эксплуатации, разработчикам приходится оставлять в своих продуктах возможности для отладки и диагностики в ходе эксплуатации.

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

Взаимосвязь таксономии причин нарушения безопасности и классификацией ИЗ

Рассмотрим взаимосвязь между рассмотренной таксономией причин возникновения ИЗ и предложенной классификацией источников появления и этапов внедрения ИЗ.

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

На рис. 3 показано соответствие между причинами нарушений безопасности и классификацией ИЗ по этапу внесения. Из рис. 3 видно, что появление основных причин нарушения безопасности закладывается на этапе разработки, причем в основном на стадии задания спецификаций. Это вполне ожидаемый результат т. к. именно этап составления спецификаций является одним из самых трудоемких, а последствия ошибок в спецификациях сказываются на всех последующих этапах разработки и распространяются на все взаимосвязанные компоненты системы.

Рис. 2 Сопоставление таксономи причин нарушения безопасности и классификации источников появления ИЗ
Рис. 3 Сопоставление таксономи причин нарушения безопасности и классификации по этапу внесения‎

Заключение

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

Кроме того. данная таксономия имеет и самостоятельное значение - ее можно использовать как основу для анализа и экспериментального тестирования систем защиты, т. к. она позволяет выбрать направления и способы проведения тестовых атак на наиболее уязвимые компоненты систем защиты.

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

Список литературы:

1. Зегжда Д.П., Ивашко А.М. Основы безопасности информационных систем. – М.:Горячая линия. – Телеком. 2000. 452с.ил.

Просмотры
Инструменты

Besucherzahler russian mail order brides
счетчик посещений
Rambler's Top100
Лингафонные кабинеты  Интерактивные доски  Интерактивная приставка Mimio Teach