автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.19, диссертация на тему:Методы защиты программных средств вне доверенной вычислительной среды
Автореферат диссертации по теме "Методы защиты программных средств вне доверенной вычислительной среды"
На правах рукописи
РГ5 04
ЦИВИН Сергей Владимирович
МЕТОДЫ ЗАЩИТЫ ПРОГРАММНЫХ СРЕДСТВ ВНЕ ДОВЕРЕННОЙ ВЫЧИСЛИТЕЛЬНОЙ
СРЕДЫ
Специальность 05.13.19 — «Методы и системы защиты информации и информационной безопасности»
Автореферат диссертации на соискание ученой степени кандидата технических наук
ПЕНЗА 2000
Работа выполнена в Пензенском государственном университете.
Научный, руководитель — к. т.н., доцент Зефиров С. Л.
Официальные оппоненты: д. т. н. Расторгуев С. П.; к. т.н., доцент Захаров А. П.
Ведущая организация: ООО НПФ «Кристалл», г. Пенза.
Защита состоится ' • ?00П г., в / С' и яти,
на заседании! диссертацмоннюло совета ССК.063.51.01 в Пензенском государственном университете по адресу: 440017, г. Пенза, ул. Красная, 40, ПГУ.
С диссертацией можно ознакомиться в библиотеке Пензенского государственного университета.
Автореферат разослан
Ученый секретарь диссертационного совета, к.т.н.
М. Ю. Лупанов
тШЛ-К'/Р . Г)
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность проблемы. Современный этап развития информационных технологий характеризуется постоянным увеличением доли функций, реализуемых с помощью программных средств (ПС). Одновременно возрастает ответственность возлагаемых на ПС функций, увеличивается сфера и разнообразие условий их применения. В то же время успешное применение ПС требует решения возникающих вопросов безопасности.
\
В отношении обеспечения безопасности ПС имеют ряд свойств, невыгодно отличающих их от аппаратных средств. В отличии от аппаратных средств ПС не имеют за'щитной физической оболочки, вследствие чего они оказываются уязвимыми для угроз конфиденциальности, модификации и копирования.
Большинство существующих методов защиты ПС решают задачу защиты ПС не прямо, а опосредованно путем защиты ПС в составе доверенной вычислительной среды, где доверенные аппаратные средства предс-ставлякгг общую защитную физическую оболочку для всех компонент информационной системы. Однако такой способ решения оказывается неприменимым для ряда проблем зашиты ПС.
Хорошо известна одна из таких проблем - обеспечение технической защиты авторского права на ПС. Несанкционированное копирование ПС, или компьютерное "пиратство", приносит огромный материальный ущерб собственникам авторского права. Данная проблема остро стоит в течение длительного времени, но до сих пор не получила удовлетворительного решения. Особенностью этой задачи является отсутствие доверия к вычислительной среде, в которой выполняются ПС, поскольку ее собственник является потенциальным нарушителем.
Расширение сферы применения ПС привело к возникновению новых проблем безопасности, некоторые из которых также не могут быть решены в рамках традиционного . подхода. Примером такой проблемы может служить задача зашиты мобильных программных агентов — разновидности ПС, автономно выполняющих некоторую функцию в интересах своего собственника. Вычислительная среда, в которой функционируют мобильные программные агенты, не контролируется их собственником и, следовательно, не является доверенной.
Задача зашиты ПС вне доверенной вычислительной среды характеризуется тем, что применение вспомогательных аппаратных средств • защиты является нежелательным, .а часто и невозможным. Кроме того, в общем случае отсутствует возможность взаимодействия с доверенными компонентами информационной системы, например, возможность сигнализации об атаке.
Проблемы зашиты ПС, в том числе вне доверенной вычислительной среды, рассматриваются в работах ряда авторов: В.В. Андрианова, Д. Гроувера, С.П. Расторгуева, О. Голдрейха, Р. Островского, Т; Сандера, С. Чудина, Ф. Хохла и др. В то же время проблема далека от окончательного решения. Одни из предлагаемых методов защиты не являются „ достаточно универсальными, т.к. подразумевают взаимодействие с доверенной средой или использование вспомогательных аппаратных средств, например, криптопроцессоров. Другие методы недостаточно формализованы, вследствие чего для них невозможно определить эффективность достигаемой защиты. Все ото делает актуальной задачу дальнейшего исследования данной проблемы, что и является темой диссертационной работы.
Иель и задачи работы: разработка и анализ методов защиты ПС вне доверенной вычислительной среды без использования вспомогательных аппаратных средств.
В соответствии с указанной целью в работе поставлены и решены следующие задачи:
1. Разработан метод защиты ПС вне доверенной вычислительной среды путем формального преобразования кодов.
2. Разработан метод зяиюты ПС вне доверенной вычислительной среды путег/r формального преобразования структуры.
3. Разработан комбинированный метод зашиты ПС вне доверенной вычислительной среды, сочетающий в себе преобразование кодов и структуры.
4. Проведен анализ характеристик разработанных v методов зашиты.
1
Методы исследования основаны на ■ использовании аппарата
теории графов, теории . схем профамм, теории конечных
г. сто матов и имитационного моделирования.
Ттггттвя новизна работы состоит в следующее:
К Предложен метод защиты ПС путем формального преобразования их кодов, основанный на использовании множества одноразовых алгоритмов маскирования.
2. Предложен метод зашиты ПС путем формального преобразования их структуры, основанный на замене статических связей по управлению динамическими.
3. Предложен метод защиты ПС путем комбинирования преобразований их кодов и структуры.
4. Предложена методика исследования характеристик методов защиты ПС с помощью имитационного моделирования.
Практическая ценность- полученных в работе результатов
заключается в следующем:
1. Разработан, эффективный метод защиты ПС вне доверенной вычислительной среды, основанный lia комбинированно» npéoôp-л юнании.
2. Разработана методика получения характеристик методов зашиты ПС, позволяющая выбирать оптимальное сочетание защищенности и вычислительной эффективности.
3. Разработаны технология и программные средства, реализующие комбинированный метод защиты ПС.
Реализация и внедрение результатов работы. Основные результаты диссертационной работы и разработанное программное обеспечение внедрены при построении систем защиты ПС для ЗАО «Лукойл-информ». Результаты внедрения подтверждены соответствующими актами.
Апробация работы. Основные результаты диссертационной работы докладывались и обсуждались на научно-технической конференции «Безопасность и конфиденциальность информации в сетях и системах связи» (Пенза, 1998 г.), на научно-технической конференции «Защита информации в сетях и системах связи и управления» (Пенза, 2000 г.), на III Всероссийской научно-практической конференции «Технические средства охраны, комплексы охранной сигнализации и системы управления доступом» (г. Заречный, Пензенская область, 2000 г.). По материалам диссертации опубликовано 6 работ.
Объем работа. Работа состоит из введения, четырех глав и заключения, изложенных на 95 страницах,. а также содержит приложения на 13 страницах, 33 рисунка, 3 таблицы, список литературы из 56 наименований.
КРАТКОЕ СОДЕРЖАНИЕ РАБОТЫ
Во введении показана актуальность решаемой проблемы; сформулированы цель работы, основные задачи и методика исследования;'показана научная новизна и практическая ценность полученных результатов.
В первой главе рассмотрены свойства ПС как объекта защиты и определены угрозы, актуальные для ПС; на основе анализа свойств ПС сформулирована концепция построения методов защиты ПС вне доверенной вычислительной среды.
Анализ задачи зашиты ПС проводится в контексте общей модели взаимодействия субъектов и объектов безопасности, предложенной в стандарте 150/1ЕС 15408. Поскольку защита ПС вне доверенной вычислительной среды подразумевает невозможность использования вспомогательных аппаратных средств, первостепенное значение приобретает исследование свойств самих ПС как автономного объекта защиты. Сущность объекта защиты и его взаимосвязь с остальными субъектами и объектами безопасности может быть раскрыта через группы свойств уязвимости и защищенности (В.В. Андрианов, 1998).
Большинство свойств ПС определяются их двойственной природой: ПС обладают как свойствами алгоритмов (в процессе выполнения реализуют некоторую функцию), так и данных (хранятся в файле на магнитном носителе- или занимают некоторую область оперативной памяти). Соответственно различают понятия функции ПС и текста ПС.
Свойствами уязвимости ПС являются: легкость модификации и копирования текста ПС; отсутствие независимости функционирования; открытость семантики текста ПС на уровне операторов и обращений к ОС.
Свойствами защищенности ПС являются: семантический разрыв между функцией ПС и функциями операторов; динамичность структуры ПС; способность к самоинтерпретации и самомодификации.
Основными угрозами, актуальными для ПС, являются угрозы несанкционированного отказа в доступе, модификации, ознакомления и копирования. Анализ свойств ПС показывает, что пне доверенной вычислительной среды невозможно реализовать защиту от угрозы несанкционированного отказа в доступе. В то же время зашита от угроз несанкционированного ознакомления, модификации и копирования может быть достигнута при условии обеспечения скрытности деталей реализации ПС. Под деталями реализации в данном контексте понимается информация о
строении и функционировании НС, не являющаяся частно пользовательской спецификации на ПС.
Последнее утверждение может служить основой для построения методов зашиты ПС вне доверенной вычислительной среды. Аналогичный подход впервые был предложен для задачи защиты мобильных программных агентов под названием концепции черного ящика (Hohl F., 1998). Однако в указанной работе не было предложено формализованных методов реализации этой концепции.
Из свойств уязвимости ПС следует, что обеспечить гарантированную скрытность деталей реализации ПС невозможно. Однако наличие свойств защищенности позволяет обеспечить скрытность деталей реализации Г1С от нарушителя, ограниченного в ресурсах. Для усиления свойств защищенности предлагается использовать специальные формальные преобразования текста ПС.
Во второй главе рассмотрены формальные преобразования кода ПС и формальные преобразования структуры ПС с целыо защиты; разработан метод динамического кодирования, основанный на Ареобразовании кодов ПС и метод автоматного преобразования, основанный на преобразовании структуры ПС; предложен комбинированный метод защиты ПС, основанный на сочетании преобразований кодов и структуры.
Преобразование кодов ПС направлено на нейтрализацию открытости семантики операторов текста ПС. В простейшем случае для осуществления преобразования кодов ПС не требуется знание их структуры, т.к. текст ПС рассматривается просто как последовательность байт. В силу простоты реализации преобразование кодов, или маскирование, широко используется в неформализованных методах защиты Г|С.
Традиционные методы маскирования успешно применяются для защиты данных, однако применение этих методов для защиты ПС вне доверенной вычислительной среды оказывается неэффективным, ввиду невозможности выполнения требований,
налагаемых этими методами. Для преодоления недостатков традиционных методов предложены новые принципы маскирования: использование множества секретных одноразовых алгоритмов маскирования, применение маскирования к отдельным фрагментам текста ПС и организация зацепления между фрагментами.
В соответствии с предложенными принципами преобразования кодов разработан метод динамического кодирования. Алгоритм преобразования текста ПС, используемый в этом методе, состоит из следующих шагов.
Шаг 1. Разделение текста ПС на фрагменты.
По тексту ПС строится граф • передачи управления <7. Построенный граф подвергается факторизации. Выделение подграфов /*} осуществляется с учетом заданной средней величины фрагмента в операторах и заданного максимального количества выходящих дут.
Шаг 2. Порождение одноразовых алгоритмов маскирования.
Для каждого подграфа /}, на основе базового алгоритма маскирования Ад, путем внесения изменчивости получают /,• пар одноразовых алгоритмов маскирования и демаскирования Ау- = <М, 0>, 7 = I. ..., /,-, где /, — количество входных дуг подграфа /•}.
Шаг 3. Формирование маскированных образов фрагмента.
Для каждого подграфа /•} порождается /, маскированных образов А//^ = Л/,^] {Б}), /= I, ...', /,, где - текст ПС, соответствующий подграфу /}. {О} — множество алгоритмов демаскирования, тексты которых необходимо присоединить к тексту Е Число элементов этого множества равно числу т1 выходных дуг подграфа- /•}.
Шаг 4. Редактирование связей между фрагментами и формирование маскированного образа программы.
На основе набора маскированных образов МГц путем конкатенации получают маскированный образ всей программы.
Процесс функционирования программы, преобразованной данным методом, проиллюстрирован на рис. 1.
Мэсххросашый оСраз
Ш=„ ЧР» НГ*
Ы?«
У
V
4- Передача управления
- йспопь-лование дзниь«
Рис. 1. Схема функционирования преобразованной программы
Дня практической реализации метода динамического кодирования первоочередное значение имеет задача синтеза одноразовых алгоритмов маскирования. Базовый алгоритм маскирования должен обладать большим потенциалом изменчивости, компактностью и достаточным быстродействием. Этим критериям удовлетворяет семейство алгоритмов, получаемое на основе комбинаций рекуррентных регистров^ Изменчивость алгоритмов этого семейства может достигаться изменением количества и конфигурации рекуррентных регистров, выбором функции наложения маски и функции в обратной связи нелинейных рекуррент. Нелинейные рекурренты могут быть использованы благодаря тому, что качество каждого синтезированного алгоритма можно проверить на конкретных данных.
Преобразование структуры ПС состоит в изменении взаиморасположения ее элементов и связей между ними.
Осуществление корректных преобразовании структуры. ПС является сложной задачей и невозможно без использования хорошо развитого математического аппарата. В диссертационной работе для этой цели предлагается использовать математические модели и методы, разработанные в рамках теории схем программ (Котов В. Е., Сабельфельд В. К., 1991).
Предлагаются два принципа преобразования структуры ПС в целях защиты. Первый принцип заключается в использовании эквивалентных преобразовании для внесения избыточности в структуру ПС. Для этой цели может быть использована система преобразований, сохраняющих логико-термальную
эквивалентность. Для каждого правила преобразования определяется направление, увеличивающее избыточность. Затем правила применяются в случайной последовательности. На каждом шаге качество получаемой структуры оценивается с помощью структурных программных метрик (РеМоп N1., \Vhitty Я., 1986). Недостатком этого ' подхода является
недетерминированность процесса преобразований.
Второй принцип преобразования структуры ПС в целях защиты заключается в использовании эквивалентных преобразований для внесения динамики в структуру ПС. В результате фактическая структура ПС. в частности, структура передачи управления, становится недоступной для исследования в статике, что не позволяет нарушителю выдвигать и проверять гипотезы относительно функций, .реализуемых текстом ПС. Вместо этого он вынужден "слепо" следовать за путем исполнения программы, при этом объем анализируемой информации и трудоемкость изучения многократно возрастает.
Принцип внесения динамики в структуру ПС был использован при разработке метода автоматного преобразования. Алгоритм преобразования текста ПС в соответствии с этим методом состоит из следующих шагов.
Шаг 1. По схеме программы S строится конечный одноленточный автомат A(S) = (V, Q, R, q0, #, I), моделирующий работу схемы S.
Алфавит автомата V определяется с помощью взаимно однозначного соответствия К: U V, где U = {ui, ..., un} — конечное множество, состоящее из всех операторов присваивания схемы S и условных операторов в двух экземплярах с верхними индексами 1 и 0. Множество состояний автомата Q включает: начальное состояние qo, состояние останова qc, "самозацикливающееся" состояние q„ и состояния qi, ..., q/, задаваемые взаимно однозначным соответствием L с элементами множества дуг графа схемы S. Множество заключительных состояний: R = {q0, qc, qi, ..., q/}. Дуги графа автомата. I проводятся в соответствии с фиксированным набором правил.
Шаг 2. По автомату A(S) — (V, Q, R, q0, #, I) строится моделирующая его схема SA) принадлежащая классу схем с переключателем.
Способ перехода от автомата A(S) к схеме SA задается в виде набора правил. При этом используются определенные ранее соответствия L и К.
Процесс преобразования проиллюстрирован на рис. 2, причем V = {а, р, у, 5, е, С где а = К(старт(х)), ft = К<у := а),' у = К(р>(х)), 5 = К(р°(х)), е = К(стоп(у», Q = К(у := g(x, у)), ц = К(х h(x)).
При переходе от схемы Si к схеме S1A фактическая структура передачи управления программы выражена только в динамике, а статическая структура текста ПС приобретает регулярный вид.
Рассмотренное преобразование эффективно для небольших фрагментов . текста ПС, поэтому при его применении целесообразно проводить предварительную факторизацию графа схемы программы так же, как в методе динамического кодирования. При этом оказывается, что метод автоматного преобразования скрывает связи передачи упраштения внутри фрагментов текста ПС, а метод динамического кодирования -
связи передачи управления между фрагментами. Это позволяет сопоставить два разработанных метода защиты.
Рис. 2. Применение автоматного преобразования: а) исходная схема программы 81; б) автомат А^), моделирующий схему в) преобразованная схема
Сравнение разработанных методов преобразования текста ПС показывает, что максимальное количество связей может быть скрыто при совместном использовании обоих методов. Исходя из этого, предложен метод комбинированного преобразования, основанный на сочетании преобразований кодов и структуры.
В третьей главе предложена методика . исследования характеристик методов защиты ПС с помощью имитационного моделирования; определены параметры имитационной модели; проведен сравнительный анализ эффективности защиты и величины накладных расходов на защиту для разработанных методов защиты ПС.
Важнейшими характеристиками методов защиты ПС являются эффективность защиты и величина накладных расходов на защиту. Накладные расходы на защиту выражаются в увеличении объема текста ПС и увеличении времени выполнения ПС. Эффективность защиты предлагается оценивать по двум критериям: статическому и динамическому.
Статическая оценка эффективности защиты рассчитываемся как отношение числа скрытых связей к их общему числу. Статическая оценка: эффективности защиты ПС может быть легко определена с помощью экспериментов с реальными ПС или их моделями — схемами программ.
Модельный эксперимент включает следующие шаги:
- порождение схемы программы, отвечающей заданным требованиям;
- применение метода защиты ПС к схеме программы;
- подсчет общего количества связей и количества скрытых связей в тексте защищенного ПС;
- вычисление статической оценки эффективности защиты.
Основным параметром настройки для всех исследуемых методов защиты является размер фрагмента текста ПС, подвергаемого преобразованию. Характеристики методов зашиты определялись при разных значениях этого'параметра..
Статические оценки эффективности различных методов зашиты, полученные в результате модельных экспериментов, показаны на рис. 3.
Средний размер фрагмента, операторов
Рис. 3. Статическая оценка эффектизносги защиты
Динамическая оценка отражает трудоемкость атаки. Эта оценка измеряется как число элементарных действий, выполняемых нарушителем в процессе изучения ПС. В качестве элементарного действия нарушителя естественно принять анализ одного оператора текста ПС. Для определения динамической оценки эффективности зашиты ПС предлагается использовать имитационное моделирование.
В . качестве модели ПС так же, как и при определении статической оценки используются схемы программ.
Моделирование исполнения ПС осуществляется путем обхода вершин.графа схемы программы в соответствии с интерпретацией исполнения. Особенностями данной интерпретации являются: отсутствие интерпретации операторов присваивания и вероятностная интерпретация условных операторов.
Моделирование поведения нарушителя строится, исходя из анализа возможных атак изучения: тестирования, мониторинга, изучения в статике и изучения в динамике. Предполагается, что нарушитель использует атаку изучения в динамике как наиболее эффективную.
В процессе изучения ПС в динамике нарушитель следует за путем исполнения программы, при этом предметом его анализа являются информационные связи между внешне наблюдаемыми событиями, каковыми являются: взаимодействие ПС с пользователем, чтение входных и запись выходных данных, другие обращения к операционной системе.
Предполагается, что в целях ускорения процесса изучения, нарушитель стремится сократить количество анализируемых операторов, исключая из рассмотрения участки текста ПС, которые не оказывают влияния на отслеживаемые информационные связи. Такими участками, в первую очередь, являются циклы. Имитировать такое поведение нарушителя можно с помощью замены предикатов распознанных циклов на предикаты, тождественно равные нулю.
Таким образом, моделирование атаки на ПС может быть осуществлено путем обхода вершин графа схемы программы в соответствии с интерпретацией атаки, которая- получается из интерпретации исполнения путем изменения интерпретации тех операторов цикла, которые могут быть распознаны нарушителем.
Динамические оценки эффективности различных методов защиты, полученные в результате модельных экспериментов, показаны на рис. 4.
На имитационной модели также была проанализирована величина накладных расходов разработанных методов. Зависимости величины накладных расходов различных методов защиты от параметров их настройки, полученные в результате модельных экспериментов, показаны на рис. 5.
К'ОЭОООО 1
Сризиий риз-лар ф^зпдагга, операторов
Рис. 4. Дияэмячэскея оцэнка эффективности защиты
200 1 ISO -i 160 1 140 J 120 100 J
80 -j'
i
60 -i
40 i
20 -j
0 i-
- Динамическое кодирование
-Автоматное преобразование
- Комбинированное преобразование
300 270 240 210 180 150 120 90 60 30 Средний размер фрагмента, операторов
Рис. 5. Величина накладных расходов по объему текста ПС
Для получения статистически обоснованных оценок были проведены серии экспериментов на различных схемах программ.
Необходимая выборка схем программ порождается с помощью псевдослучайного процесса. При этом используются данные о структуре реальных ПС: длина линейных участков кода, соотношение количества операторов разных типов и т.д. Для того, чтобы исключить возможность синтеза недопустимых графов передачи управления, предварительно осуществляется синтез структурированных схем, а затем они транслируются в стандартные.
Полученные в результате модельных экспериментов характеристики разработанных методов защиты ПС позволяют, в зависимости от конкретных требований к ПС, выбирать оптимальное сочетание «защищенность — вычислительная ' эффективность».
По совокупности критериев оценки для практической реализации был выбран метод комбинированного преобразования.
В четвертой главе рассмотрены требования к реализации метода комбинированного преобразования; определены пути обеспечения его переносимости и снижения величины накладных расходов на защиту; описан технологический процесс защиты ПС данным методом.
Основными требованиями, предъявляемыми к реализации метода защиты, являются обеспечение переносимости и вычислительной эффективности.
Поскольку метод комбинированного преобразования опирается на принципы защиты, инвариантные к особенностям используемой вычислительной среды, построение переносимой реализации является принципиально возможным. Для упрощения этой задачи предлагается использовать псевдокод, что позволяет отказаться от синтаксического разбора текста ПС в машинных кодах, а также позволяет реализовать переносимый механизм самомодификации текста ПС.
Применение комбинированного преобразования ко всему Тексту ПС приводит к значительным накладным расходам по объему текста ПС и времени их исполнения. Для выполнения
требований вычислительной эффективности предлагается использовать иерархический принцип применения преобразования. Основную часть текста ПС составляют фрагменты, реализующие низкоуровневые операции, например, библиотеки. Эта часть текста ПС не представляет значительного интереса для нарушителя и требует меньшей защиты. В то же время текст ПС, реализующий прикладную логику и представляющий незначительную долю от всего текста, защищается более тщательно. Степень защищенности фрагментов текста может варьироваться с помощью параметров настройки метода.
Технологический процесс защиты ПС с помощью метода комбинированного преобразования включает два этапа: трансляцию текста ПС в псевдокод и преобразование псевдокода в. соответствии с методом защиты. В результате трансляции получаются два взаимоувязанных компонента: область данных (псевдокод) и ядро интерпретатора. Оба компонента в совокупности называются 2-машиной. 2-машйна активизируется вызовом некоторой функции из программы на языке Си.
ЗАКЛЮЧЕНИЕ
Основные результаты настоящей диссертационной работы состоят в следующем.
1. На основе анализа свойств ПС как объекта защиты показана принципиальная возможность защиты ПС вне доверенной вычислительной среды путем обеспечения скрытности деталей реализации ПС.
2. Для обеспечения скрытности деталей реализации ПС предложено использовать формальные преобразования текста ПС, усиливающие .их свойства защищенности.
3. Разработан метод динамического кодирования, обеспечивающий защиту ПС с помощью формального преобразования кодов.
I ■
4. Разработан . метод автоматного преобразования, обеспечивающий защиту ПС с помощью формального преобразования структуры.
5. Разработан метод комбинированного преобразования, сочетающий преобразование кодов и структуры ПС.
6. Предложена имитационная модель для исследования характеристик методов защиты ПС.
7„ С помощью модельных экспериментов проведен анализ разработанных методов защиты. Для каждого метода определена эффективность защиты и величина накладных расходов на защиту.
S. Разработаны технология и программные средства, реализующие метод защиты, основанный на коЕ£бинировакном преобразовании.
Автор выражает благодарность к'аучкоку консультанту — k.t.h., доценту В.В. Андрианову за содействие в подготовке диссертационной работы.
ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ
1. Цивин С. В., Голованов В. Б. Обеспечение безопасности в ОС SCO UNIX // Специальная техника средств с вяз;?: Науч.-техн. сборник. Серия «Системы, сети и технические средства конфиденциальной связи». — Вып. 2. — Пенза: ПНИЭИ, 1997. - С. 26-32.
2. Кондратьев Р. Ю., Цивин С. В., Бочкарев С. Л. Обеспечение живучести и скрытности средств надзора за процессами в среде ОС SCO UNIX // Безопасность и конфиденциальность информации в сетях и системах связи: Тезисы докладов науч.-техн. конф., Пенза, 6-9 октября 1998 г. - Пенза: ПНЙЭИ. 1998. - С. 59,
3. Цивин С. В. Противодействие изучению исполняемого кода путем маскирования // Безопасность и конфиденциальность информации в сетях и системах связи: Тезисы докладов науч.-техн. конф., Пенза, 6-9 октября 1998 г. — Пенза: ПНИЭИ, 1998. - С. 60.
4. Цивин С. В. Оценка эффективности защиты программных средств // Специальная техника средств связи: Науч.-техн. сборник. Серия «Системы, сети и технические средства конфиденциальной связи». - Вып. 2. — Пенза: ПНИЭИ, 1999. - С. 79-82.
5. Цивин С. В. Зашита программных средств путем преобразования их структуры // Защита информации в сетях и системах связи: Тезисы докладов науч.-техн. конф.,
• Пенза, 25-28 апреля 2000 г. - Пенза: ПНИЭИ, 2000. - С. 5.
6. Цивин C.B. Задачи защиты программного обеспечения // Технические средства охраны, комплексы охранной сигнализации и системы управления доступом: Тезисы докладов III Всерос. науч.-практ. конф:, г. Заречный, Пенз.. обл., 10-12 октября 2000 г. - Пенза: Изд-во Пенз. гос. унта, 2000. - С. 160. .
Оглавление автор диссертации — кандидата технических наук Цивин, Сергей Владимирович
введение.»
глава 1. анализ проблемы защиты пс.
1.1. Основные понятия.
1.2. ПС как объект защиты.
1.3 . Угрозы, актуальные для ПС.
1.4. Концепция построения методов защиты ПС.
Введение 2000 год, диссертация по информатике, вычислительной технике и управлению, Цивин, Сергей Владимирович
Современный этап развития информационных технологий характеризуется постоянным увеличением доли функций, реализуемых с помощью программных средств (ПС). Одновременно возрастает ответственность возлагаемых на ПС функций, увеличивается сфера и разнообразие условий их применения. В то же время многие вопросы безопасности применения ПС еще недостаточно исследованы, и многие проблемы не решены.
Ярким примером является проблема несанкционированного копирования (НСК) или "компьютерное пиратство". Эта проблема приносит значительный материальный ущерб производителям и правообладателям ПС. Несмотря на то, что проблема остро стоит в течение длительного времени, для нее до сих пор не найдено эффективного технического решения, которое, с одной стороны, обеспечивало бы надежную защиту, а с другой, не создавало помех работе пользователя и имело приемлемую стоимость [11].
Нерешенные проблемы имеются и в рамках задачи защиты ПС в интересах их пользователей. До недавнего времени этот аспект проблемы безопасного применения ПС считался более «благополучным», поскольку проблема, как правило, рассматривалась не самостоятельно, а в рамках обеспечения безопасности информационной системы в целом. Для решения задачи защиты ПС в такой постановке разработаны эффективные механизмы, и, в частности, механизмы, основанные на криптографических методах. Однако развитие информационных технологий привело к появлению новых сфер применения ПС, где подобный подход оказывается неприменимым.
Примером может служить технология мобильных программных агентов [38, 45], которая является новым шагом в развитии концепции распределенных вычислений [40]. Эта технология имеет большие перспективы в приложениях электронной коммерции, а также для управления, диагностирования и обеспечения безопасности вычислительных сетей, в частности, в системах обнаружения вторжения [35, 43]. Мобильные программные агенты (МПА) представляют собой разновидность ПС, отличительная особенность которых состоит в том, что они имеют возможность автономно перемещаться по узлам сети (хостам). Это приводит к возникновению новой угрозы: оператор хоста может атаковать программного агента, находящегося на контролируемом им хосте. Эта проблема безопасности ПС получила название проблемы злоумышленного хоста [44].
Проблема ИСК и проблема злоумышленного хоста сходны тем, что в обоих случаях вычислительная среда, в которой функционируют ПС, не является доверенной. Для проблемы ИСК субъектом, в интересах которого осуществляется защита, является правообладатель ПС, а субъектом, контролирующим вычислительную среду, является пользователь ПС. Интересы этих субъектов, как правило, не совпадают. В случае проблемы злоумышленного хоста защита ПС осуществляется в интересах пользователя, а вычислительная среда контролируется оператором хоста.
Проблемы безопасности ПС, которые приводят к необходимости решения задачи защиты ПС вне доверенной вычислительной среды, показаны на рис. 1.
Рис. 1. Проблемы безопасности ПС, требующие обеспечения защиты ПС вне доверенной вычислительной среды
Задача защиты ПС вне доверенной вычислительной среды представляет собой наиболее сложный и малоисследованный аспект обеспечения безопасности применения ПС. Традиционный подход, опирающийся на аппаратные средства, входящие в вычислительную среду, в данном случае оказывается неприменимым. В условиях враждебной вычислительной среды защита ПС может основываться либо на использовании вспомогательных аппаратных средств, либо на защитных свойствах самих ПС. Первый подход приводит к удорожанию ПС и ограничивает сферу их применения, а иногда и вообще неприемлем (например, когда необходимо обеспечить полностью программное решение). Второй подход, хотя он часто используется на практике, не имеет проработанного теоретического обоснования.
С точки зрения обеспечения безопасности, свойства ПС невыгодно отличаются от свойств многих других объектов защиты. С одной стороны, ПС являются информационным объектом и не обладают естественными защитными свойствами физических объектов, например, физической оболочкой. С другой стороны, условия применения ПС не позволяют эффективно использовать для их защиты методы, традиционно применяемые для обеспечения безопасности других информационных объектов. Рассмотрим проблемы безопасности применения ПС более подробно.
Разработка ПС требует значительных усилий и капиталовложений. В то же время их несанкционированное копирование практически не требует материальных затрат. Схема осуществления ИСК проста. Пользователь каким-либо образом, возможно законным, приобретает экземпляр ПС, после чего осуществляет его незаконное копирование и распространение.
Известная схема защиты от ИСК состоит в том, чтобы искусственными мерами создать связь между экземплярами ПС и некоторыми внешними по отношению к ПС объектами, копирование которых затруднено. Такие объекты называют идентифицирующими элементами [21]. В качестве идентифицирующего элемента может быть использован физический объект, индивидуальные характеристики вычислительной среды или некоторый информационный объект (серийный номер, ключ активации и т.п.) Для обеспечения взаимосвязи ПС и идентифицирующего элемента к ПС добавляют некоторую функцию, осуществляющую взаимодействие с этим элементом. Схема защиты ПС от ИСК показана на рис. 2.
Прямая атака на такую схему защиты состоит в копировании идентифицирующего элемента. Однако, в большинстве случаев, более эффективной оказывается косвенная атака, направленная на модификацию или фальсификацию работы функции проверки идентифицирующего элемента. Функция взаимодействия с идентифицирующим элементом является слабым местом защиты от НСК и определяет низкую эффективность таких методов в целом. Таким образом, основная трудность защиты от НСК состоит в отсутствии эффективных методов защиты текста ПС от изучения и модификации.
Актуальность проблемы защиты ПС от НСК объясняется также тем, что ее решение позволило бы обеспечить техническую защиту авторского права и на другие объекты, например, данные, представленные в электронном виде (справочные системы, базы данных, и т.п.) Для осуществления защиты данные представляются в
Экземпляр ПС
Функция проверки идентифицирующего ^ элемента соответствие
Рис. 2. Схема защиты ПС от НСК маскированном виде. Доступ к ним возможен только с помощью специализированного ПС. Схема защиты авторских прав на данные показана на рис. 3.
ПС доступа к данным маскирование/ демаскирование
Маскированные данные
Пользователь
Рис. 3. Защита авторских прав на данные
Эффективность такой защиты определяется эффективностью защиты ПС доступа к данным от ИСК. Кроме того, ПС должно быть защищено от изучения, чтобы нарушитель не мог восстановить алгоритм демаскирования данных.
Другая упомянутая нами проблема - проблема злоумышленного хоста - затрагивает интересы пользователей мобильных программных агентов. Вычислительная среда, в которой функционирует агент, называется агентной платформой. Агентная платформа, на которой агент начинает свою жизнь, называется домашней. Эта платформа контролируется пользователем агента и является доверенной. Остальные агентные платформы являются потенциально враждебными.
Находясь на враждебной платформе, агент уязвим для широкого класса атак. Например, агент уязвим даже для таких простых атак, как неправильное выполнение системных функций платформы или задержка исполнения агента до тех пор, пока его цель не потеряет смысл. Очевидно, что обеспечить защиту от некоторых из этих атак невозможно. В то же время путем защиты текста ПС от изучения можно добиться того, что атаки нарушителя будут иметь случайный характер [44].
Таким образом, уже на интуитивном уровне видно, что для решения задачи защиты ПС вне доверенной вычислительной среды основным условием является обеспечение скрытности деталей реализации ПС от нарушителя, т.е. создание аналога физической защитной оболочки вокруг ПС. Различные методы защиты ПС по-разному пытаются решить эту задачу. Классификация существующих методов защиты показана на рис. 4.
Рис. 4. Классификация известных методов защиты ПС
В основу первого уровня классификации положена степень зрелости методов защиты. Исследование проблемы защиты ПС вне доверенной вычислительной среды находится в начальной фазе, поэтому основная масса используемых методов защиты принадлежит к классу интуитивных методов. Формализованные методы защиты ПС до сих пор не получили широкого распространения. Кроме того, большинство из них опирается на использование вспомогательных аппаратных средств, например, криптопроцессоров [34, 36, 41, 46], что ограничивает область их применения.
Одним из принципиально новых направлений в области защиты ПС является метод вычислений с зашифрованными функциями, предложенный Т. Сандером и С. Чудиным [52, 53, 54]. Данный метод основан на оригинальной идее, заключающейся в переносе защиты с синтаксического уровня на семантический (маскируется не текст ПС, а реализуемая им функция). В результате уязвимость, порождаемая отсутствием оболочки вокруг текста ПС, становится неактуальной. В тоже время метод по своей природе не является универсальным, т.к. зашифрованная функция вырабатывает зашифрованный результат, который не может быть использован без взаимодействия с доверенными компонентами информационной системы.
Недостатки интуитивных методов очевидны, однако анализ этих методов дает возможность «нащупать» подходы к формальному решению проблемы. С этой точки зрения все методы данного класса можно разделить на две группы: методы, использующие для защиты универсальные свойства ПС, и методы, использующие особенности конкретных вычислительных сред и/или инструментов нарушителя [11, 23, 24]. Методы второй группы не являются универсальными и не могут служить основой для построения формализованных методов защиты.
В числе методов первой группы можно назвать маскирование [11], осуществляющее преобразование кодов, и алгоритмы запутывания [44], осуществляющие преобразование структуры ПС. Оба метода изменяют свойства ПС, увеличивая трудоемкость задачи изучения деталей реализации ПС нарушителем. Основные недостатки данной группы методов проистекают из их неформального характера. Эффективность этих методов практически полностью зависит от субъективных факторов, кроме того, для этих методов невозможно получить достоверную оценку защищенности.
Целью настоящей работы является разработка и анализ методов защиты ПС вне доверенной вычислительной среды без использования вспомогательных аппаратных средств.
Задачи исследования:
1. Разработать метод защиты ПС вне доверенной вычислительной среды путем формального преобразования кодов.
2. Разработать метод защиты ПС вне доверенной вычислительной среды путем формального преобразования структуры.
3. Разработать комбинированный метод защиты ПС вне доверенной вычислительной среды, сочетающий в себе преобразование кодов и структуры.
4. Провести анализ характеристик разработанных методов.
Методы исследования основаны на использовании аппарата теории графов, теории схем программ, теории конечных автоматов и имитационного моделирования.
Научная новизна работы состоит в следующем:
1. Предложен метод защиты ПС путем формального преобразования их кодов, основанный на использовании множества одноразовых алгоритмов маскирования.
2. Предложен метод защиты ПС путем формального преобразования их структуры, основанный на замене статических связей по управлению динамическими.
3. Предложен метод защиты ПС путем комбинирования преобразований их кодов и структуры.
4. Предложена методика исследования характеристик методов защиты ПС с помощью имитационного моделирования.
Практическая ценность:
1. Разработан эффективный метод защиты ПС вне доверенной вычислительной среды, основанный на комбинированном преобразовании.
2. Разработана методика получения характеристик методов защиты ПС, позволяющая выбирать оптимальное сочетание защищенности и вычислительной эффективности.
3. Разработаны технология и программные средства, реализующие комбинированный метод защиты ПС.
13
Основные результаты диссертационной работы и разработанное программное обеспечение внедрены при построении систем защиты ПС для ЗАО «Лукойл-информ». Результаты внедрения подтверждены соответствующими актами.
Автор выражает глубокую благодарность своему научному руководителю С.Л. Зефирову, а также В.В. Андрианову, В.Г. Пучкову, С.Л. Бочкареву, А.И. Иванову, Л.Н. Сапегину за оказанную поддержку и ценные замечания. Автор особо признателен В.Б. Голованову, предоставившему ценные литературные источники.
Заключение диссертация на тему "Методы защиты программных средств вне доверенной вычислительной среды"
4.4. Основные результаты и выводы
1. Сформулированы требования к реализации метода защиты ПС: переносимость и вычислительная эффективность.
2. Показана принципиальная возможность обеспечения переносимости для комбинированного метода защиты. Показано, что все источники возможной непереносимости реализации метода связаны с использованием преобразований текста ПС на уровне машинных команд. Для преодоления указанных препятствий предложено использовать псевдокод.
3. Рассмотрены вопросы вычислительной эффективности метода защиты ПС. Показано, что снижение производительности ПС, вызванное необходимостью интерпретации псевдокода, может быть уменьшено за счет иерархического построения программы.
4. Описаны основные этапы технологического процесса защиты ПС.
Заключение
В результате проведенных исследований в диссертационной работе получены следующие основные научные и практические результаты:
1. На основе анализа свойств ПС как объекта защиты показана принципиальная возможность защиты ПС вне доверенной вычислительной среды путем обеспечения скрытности деталей реализации ПС.
2. Для обеспечения скрытности деталей реализации ПС предложено использовать формальные преобразования текста ПС, усиливающие их свойства защищенности.
3. Разработан метод динамического кодирования, обеспечивающий защиту ПС с помощью формального преобразования кодов.
4. Разработан метод автоматного преобразования, обеспечивающий защиту ПС с помощью формального преобразования структуры.
5. Разработан метод комбинированного преобразования, сочетающий преобразование кодов и структуры ПС.
6. Предложена имитационная модель для исследования характеристик методов защиты ПС.
7. С помощью модельных экспериментов проведен анализ разработанных методов защиты. Для каждого метода определена эффективность защиты и величина накладных расходов на защиту.
8. Разработаны технология и программные средства, реализующие метод защиты, основанный на комбинированном преобразовании.
Библиография Цивин, Сергей Владимирович, диссертация по теме Методы и системы защиты информации, информационная безопасность
1. Батырь А. Не пора ли сменить замки? // PC Magazine Russian Edition- 1999. -№1.
2. Вентцель E.C. Теория вероятностей. M.: Наука, 1969. - 576 с.
3. Герасименко В. А. Защита информации в автоматизированных системах обработки данных. М.: Энергоатомиздат, 1994. -кн.1,кн.2.
4. Герасименко В. А., Малюк А. А. Основы защиты информации.- М.: Инкомбук, 1997. 537 с.
5. Грушо А. А., Тимонина Е. Е. Теоретические основы защиты информации. М.: Изд-во Агентства "Яхтсмен", - 1996. -192 с.
6. Гусенко М.Ю. Метод поэтапной декомпиляции исполняемой программы //Методы и технические средства обеспечения безопасности информации: Тезисы докл. Российской науч,-техн. конф., Санкт-Петербург, 13-15 октября 1999 г. С.-Пб.: ГТУ, 1999
7. Дал У., Дейкстра Э., Хоор К. Структурное программирование.- М.: Мир, 1975.-248 с.
8. Ершов А. П. Введение в теоретическое программирование. -М: Наука, 1977.
9. Защита информации. Испытания программных средств на наличие компьютерных вирусов. Типовое руководство: ГОСТ Р 51188-98. Введ. 01.07.99. — М.,1998.
10. Защита программного обеспечения: Пер. с англ. / Под ред. Д. Гроувера. М.: Мир, 1992 - 280 с.
11. Изосимов А. В., Рыжко А. Л. Метрическая оценка качества программ. М.: изд-во МАИ, 1989.
12. ИткинВ. Э. Логико-термальная эквивалентность схем программ // Кибернетика. 1972. - № 1. - С. 5-27.
13. Короткий С. Ловушка для взломщика // Мир ПК 1999. - №4. -С. 154-159.
14. Котов В. Е., Сабельфельд В. К. Теория схем программ. -М.: Наука, 1991.-248 с.
15. Лазарев И. А. Информация и безопасность. Композиционная технология информационного моделирования сложных объектов принятия решений. М.: Моск. гор. центр НТИ, 1997. -336 с.
16. Летичевский А. А. Функциональная эквивалентность дискретных преобразователей I // Кибернетика. 1969. - № 2. - С.5-15.
17. Мельников В. В. Защита информации в компьютерных системах. М.: Финансы и статистика; Электронинформ, 1997.
18. Отавин А. Д. Мониторинг работы приложений \Vin32 //Методы и технические средства обеспечения безопасности информации: Тезисы докл. Российской науч.-техн. конф., Санкт-Петербург, 13-15 октября 1999 г. С.-Пб.: ГТУ, 1999
19. Программно-аппаратные средства обеспечения информационной безопасности. Защита программ и данных: Учеб. пособие для вузов / Белкин П. Ю., Михальский О. О., Першаков А. С. и др. М.: Радио и связь, 1999. - 168 с.
20. Расторгуев С. П. Принципы целостности и изменчивости в решении задачи обеспечения безопасности // Защита информации. Конфидент. 1998. - №3.
21. Расторгуев С. П., Дмитриевский Н. Н. Искусство защиты и "раздевания" программ. М.: Совмаркет, 1991.
22. Расторгуев С. П. Программные методы защиты информации в компьютерах и сетях. М.: Изд-во агентства "Яхтсмен", 1993.
23. Растригин J1. А. Современные принципы управления сложными объектами. -М.: Сов. Радио, 1980.
24. Теория и практика обеспечения информационной безопасности /Под ред. П.Д. Зегжды. М.: Изд-во агентства "Яхтсмен", 1996. -192 с.
25. Цивин С. В., Голованов В. Б. Обеспечение безопасности в ОС SCO UNIX // Специальная техника средств связи: Науч.-техн. сборник. Серия «Системы, сети и технические средства конфиденциальной связи». Вып. 2. - Пенза: ПНИЭИ, 1997. - С. 2632.
26. Цивин С. В. Противодействие изучению исполняемого кода путем маскирования // Безопасность и конфиденциальность информации в сетях и системах связи: Тезисы докладов науч,-техн. конф., Пенза, 6-9 октября 1998 г. Пенза: ПНИЭИ, 1998. -С. 60.
27. Цивин С. В. Оценка эффективности защиты программных средств // Специальная техника средств связи: Науч.-техн. сборник. Серия «Системы, сети и технические средства конфиденциальной связи». Вып. 2. - Пенза: ПНИЭИ, 1999. - С. 7982.
28. Цивин С. В. Защита программных средств путем преобразования их структуры // Защита информации в сетях и системах связи: Тезисы докладов науч.-техн. конф., Пенза, 25-28 апреля 2000 г. Пенза: ПНИЭИ, 2000. - С. 5.
29. Шеннон Р. Имитационное моделирование систем искусство и наука: Пер. с англ. / Под ред. Е. К. Масловского. - М.: Мир, 1978,-418 с.
30. AmirH., Shlomit S. Pinter Public protection of software //ACM Transactions on Computer Systems. -1987. -V. 5, №. 4 P. 371393.
31. AsakaM., OkazawaS., Taguchi A., Goto S. A Method of Tracing Intruders by Use of Mobile Agents // Proceedings of the 9th Annual Internet Society Conference INET'99. San Jose, California, June 1999.
32. BestR. Microprocessor for Executing Encrypted Programs //US Patent 4,1683396 September 1979.
33. Common Criteria for Information Technology Security Evaluation. Introduction and General Model: ISO/IEC 15408 May 1998.
34. Farmer W., GuttmannJ., Swarup V. Security for Mobile Agents: Authentication and State Appraisal // Proceedings of the European Symposium on Research in Computer Security (ESORICS). -Springer LNCS 1146, 1996.-P. 118-130.
35. Fenton N., Whitty R. Axiomatic Approach to Software Metrication. // The Computer Journal 1986. - V. 29.
36. FuggettaA., PiccoG. P., VignaG. Understanding Code Mobility //IEEE Transactions on Software Engineering. -1998. V. 24, №5.
37. GoldreichO., OstrovskyR. Software protection and Simulation on Oblivious RAMs: Technical Report TR-93-072. -1993. 44 p.
38. HalsteadM. Elements of Software Science Elservier, North-Holland, 1977.
39. HelmerG., Wong J., HonavarV., Miller L. Intelligent Agents for Intrusion Detection // Proceedings of the IEEE Information Technology Conference. Syracuse, NY, September 1998. - P. 121-124.
40. Hohl F. Time Limited Blackbox Security: Protecting Mobile Agents from Malicious Hosts In: Mobile Agents and Security / Edited by Vinga G. - Springer-Verlag, 1998. - P. 92-113.
41. Jansen W. A. Mobile Agents and Security // Canadian Information Technology Security Symposium, May 1999.
42. Kent S. T. Protecting Externally Supplied Software in Small Computers: Ph. D. Thesis. MIT/LCS/TR-255, 1980.
43. Lars R., Sverker J. Simulated Social Control for Secure Internet Commerce // New Security Paradigms'96. ACM Press, 1996.
44. Luckham D. C., Park D. M., Paterson M. S. On Formalized Computer Programs // J. Computer and System Sci. 1970. - V. 4, № 3. - P. 220-249.
45. McCabe T. A Complexity Measure // IEEE Trans. Software Eng. -1976. -SE-2, №. 4. p. 308-320.
46. Palmer E. An Introduction to Citadel a secure crypto coprocessor for workstations // Proceedings of the IFIP SEC'94 Conference. -1994.
47. Prather R. An Axiomatic Theory of Software Complexity Measure. // The Computer Journal. 1984. - V. 27, № 4, - P. 340-347.
48. Sander T., Tschudin C. Protecting Mobile Agents Against Malicious Hosts In: Mobile Agents and Security / Edited by Vinga G. - Springer-Verlag, 1998.
49. Sander T., Tschudin C. Towards Mobile Cryptography: Technical Report 97-049, International Computer Science Institute, Berkley.1997.
50. Sander T., Tschudin C. On Software Protection via Function Hiding. // 2nd International Workshop on Information Hiding, December1998.
51. Torn A., AnderssonT., EnholmK. An Effort-Length-Complexity Metrics Model for Software: TUCS Technical Report № 99, March 1997.
52. WeyukerE. Evaluating Software Complexity Measures //IEEE Trans. Software Eng. 1988. - V. 14. - P. 1357-1365.
-
Похожие работы
- Методы и средства обеспечения доверенного доступа к информационным ресурсам органов внутренних дел Российской Федерации
- Метод защиты программных средств на основе запутывающих преобразований
- Проектирование компонентов доверенной среды реляционной СУБД на основе CASE-технологий
- Методы и аппаратные средства защиты информационных технологий электронного документооборота
- Методы синтеза систем безопасности в распределенных компьютерных системах на основе создания изолированной программной среды
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность