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

кандидата технических наук
Беляков, Игорь Александрович
город
Санкт-Петербург
год
2013
специальность ВАК РФ
05.13.19
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Метод поддержки принятия решения о безопасности программного обеспечения»

Автореферат диссертации по теме "Метод поддержки принятия решения о безопасности программного обеспечения"

На правах рукописи

БЕЛЯКОВ ИГОРЬ АЛЕКСАНДРОВИЧ

МЕТОД ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЯ О БЕЗОПАСНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

05.13.19 - МЕТОДЫ И СИСТЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ, ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ

Автореферат

диссертации на соискание ученой степени кандидата технических наук

7 ФЬВ 2013 005049378

Санкт-Петербург 2013

005049378

Работа выполнена в Федеральном государственном бюджетном образовательном учреждении высшего профессионального образования «Петербургский государственный университет путей сообщения» на кафедре «Информатика и информационная безопасность».

Ведущая организация: Санкт-Петербургский филиал ОАО «Научно-исследовательский и проектно-конструкторский институт информатизации, автоматизации и связи на железнодорожном транспорте» (СПБФ ОАО «НИИАС»)

Защита диссертации состоится «21» февраля 2013 г. в 13 часов 30 минут на заседании диссертационного совета Д 218.008.06 на базе Петербургского государственного университета путей сообщения по адресу: 190031, Санкт-Петербург, Московский пр., д. 9, ауд., 1-217.

С диссертацией можно ознакомиться в научно-технической библиотеке Петербургского государственного университета путей сообщения.

Автореферат разослан «21» января 2013 г.

Ученый секретарь диссертационного совета кандидат технических наук,

Научный руководитель:

доктор технических наук, профессор Еремеев Михаил Алексеевич

Официальные оппоненты:

доктор технических наук, профессор Кустов Владимир Николаевич Генеральный директор ООО «Удостоверяющий центр Газинформсервис»

кандидат технических наук, доцент Солодянников Александр Владимирович Генеральный директор ЗАО «Ассоциация специалистов

информационных систем»

профессор

Кудряшов Владимир Александрович

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы исследования

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

Исследованию в области безопасности ПО и защиты ИС. посвящены труды таких российских и зарубежных ученых как: Амир Пнуели, Эдмунд М. Кларк, Аллен Эмерсон и Иосиф Сифакис в области верификации безопасности программ, Брайан Чесс, Джейкоб Вест, Ломако А.Г., Корт С.С., Новиков В.А. в области различных методов анализа ПО, а также работы в области безопасности программ: Тампе Л., Корниенко A.A., Зегжда П.Д., Липаев В.В., Казарин О.В., Марков А., Цирлов В, Иванов-Сотиров А. В основном эти труды посвящены проблеме представления программ в виде, пригодном для его верификации. Отдельные работы посвящены автоматизации выявления некоторых типов уязвимостей.

Также вопросами обеспечения безопасности ПО занимаются такие компании как IBM, Microsoft, Oracle, институт SAMATE, организации OWASP, WASC и MITRE (курирует проект - Common Vulnerabilities and Exposures (CVE)). Анализ проведенных исследований показывает, что количество новых уязвимостей существенно увеличивается с каждым годом. Нельзя не отметить, что в направлении мобильного ПО рост выявляемых уязвимостей составил более 200%.

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

выделить несколько месяцев на получение сертификата безопасности.

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

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

Целью исследования является сокращение временных затрат на проведение сертификационных испытаний ПО.

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

Достижение поставленной цели и решение научной задачи требует решения следующих частных задач:

— Исследование существующих подходов выявления уязвимостей и подтверждения соответствия программ требованиям безопасности.

— Анализ процесса принятия решения экспертом при проведении сертификационных испытаний.

— Разработка модели системы верификации соответствия ПО требованиям безопасности.

— Разработка метода принятия решения о безопасности ПО.

— Разработка методики верификации соответствия ПО требованиям безопасности.

— Разработка прототипа системы выявления уязвимостей.

Методы исследования. Для решения поставленных задач

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

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

На защиту выносятся следующие научные результаты:

— Метод принятия решения о соответствии ПО требованиям безопасности с применением аппарата искусственных нейронных сетей.

- Алгоритм обучения нейронной сети, решающей задачу оценки соответствия ПО требованиям безопасности.

- Прототип системы верификации соответствия ПО требованиям безопасности, построенной в соответствии с предложенным методом.

Научной новизной обладают следующие результаты:

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

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

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

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

Эффективность применения подтверждена численным анализом.

Основные результаты работы использованы в ОАО «Научно-исследовательский и проектно-конструкторский институт информатизации, автоматизации и связи на железнодорожном транспорте», в учебном процессе ПГУПС в дисциплинах «Комплексное обеспечение информационной безопасности автоматизированных систем» и «Безопасность операционных систем», а также работе Испытательной лаборатории средств защиты информации ПГУПС.

Апробация работы. Основные положения и результаты диссертации докладывались и обсуждались на заседаниях кафедры «Информатика и информационная безопасность», международной научно-практической конференции (МНПК) «ИнтеллектТранс 2011», МНПК «ИнтеллектТранс 2012», юбилейной научно-технической конференции «Инновации на железнодорожном транспорте - 2009», Юбилейной 20-й научно-технической конференции «Методы и технические средства обеспечения безопасности информации».

Публикации. По теме диссертации опубликовано одиннадцать

печатных работ (статьи и доклады на научно-технических и научно-практических конференциях), из них четыре в изданиях, рекомендованных ВАК Минобрнауки России.

Структура и объем диссертации. Диссертационная работа состоит из введения, четырех разделов основного содержания с выводами по каждому разделу, заключения, списка используемых источников, включающего 151 наименование. Материалы диссертации изложены на 197 страницах машинописного текста, включающих 88 иллюстраций и 22 таблицы, а также приложения объемом 19 страниц, включая 1 таблицу и 2 рисунка.

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

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

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

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

Вторая глава посвящена формализации работы эксперта и разработке модели СВУ, позволяющей снизить временные затраты на

выявление уязвимостей.

Существующую СВУ можно представить как отображение множества исходной информации о ПО в решение о его безопасности (1).

Рсву-У^>* О)

где V- множество исходных данных, Я - решение о безопасности ПО.

Исходные данные V - это информация, которую предоставляет заявитель при проведении сертификационных испытаний. Она состоит из исходных текстов - ИТ, исполняемых файлов - ИФ и файла проекта - ФП: Г = (ИТ,ИФ,ФП} (2)

Существующая СВУ не учитывает возможности принятия неверного решения - неуверенности в решении. В ней возможны только два варианта решения Я ПО либо соответствует, либо несоответствует требованиям безопасности.

К основным компонентам СВУ также относятся: требования безопасности, комплекс средств анализа (КСА) ПО и эксперт, который обрабатывает данные анализа и принимает решение о безопасности ПО:

Гсву={У,К,РКСА,Рэ,Я) (3)

Для проведения первичного анализа ПО используются специализированные КСА, например: АИСТ, АКВС, ИРИДА и д.р. Результатом работы КСА является представление ПО в виде, пригодном для экспертного анализа:

Множество 2 состоит из списка файлов - СФ, графа вызова функций - ГВФ, матрицы вызова функциональных объектов - МФО, матрицы передачи информационных объектов - МИО, контрольных сумм предоставленных и полученных файлов - КС, КС\ а также списка выявленных опасных конструкций - СОК.

В существующей системе сертификационных испытаний используются требования безопасности, определенные в РД ФСТЭК РФ «Защита от несанкционированного доступа к информации. Часть 1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия НДВ» (РД ВДВ). Этими требованиями руководствуется эксперт при принятии решения. Требования безопасности разделены на 4 уровня, отличающихся полнотой набора требований.

После того, как множество 2 сформировано, эксперт анализирует его и принимает решение о его безопасности на основании результатов проведенного анализа:

^з : 2 Л (5)

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

эксперта. Это обусловлено большим объемом и структурной сложностью множества 2, а также естественными ограничениями в работе эксперта. Необходимо отметить, что множество Ъ, полученное при анализе среднестатистического ПО (5 Мб) в КСА «АИСТ» содержит, в общей сложности, более 5000 строк. Следовательно, для достижения поставленной цели необходимо автоматизировать преобразование Z —> Я . Для этого предлагается дополнить существующую СБУ модулем определения оцениваемых характеристик безопасности и модулем принятия решения о соответствии безопасности ПО заявленному уровню контроля (Рисунок 1).

ГВФ - граф вызова функций МФО - матрица вызова ФО МИО - матрица передачи ИО УР - уровень контроля безопасности БСА - блок-схема алгоритма программы СОК - список опасных конструкций

Рисунок 1 — Схема системы верификации безопасности ПО с использованием методов искусственного интеллекта

ИТ - исходные тексты

ФП - файл проекта

ИФ (ИФ') - исполняемые файлы

СФ - список файлов

КС (КС') - контрольная сумма

Необходимым условием автоматизации процесса принятия решения является систематизация оцениваемых характеристик безопасности и представление их в виде функции:

Рпд^->х (б)

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

х = (х,,х2,...,хп),хе[0Д] (7)

Модуль принятия решения обеспечит обработку х при принятии решения R на основании проведенного анализа:

Fmp : х -> R (8)

В сравнении с существующей системой, в новую СБУ добавляются две процедуры: интеллектуальная обработка и принятие решения. Также добавляются связанные с этими процедурами данные:

СБУ' = {V,K,FKCA,x,F0XB,y,Fnnp,F3,R) (9)

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

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

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

1. Определение оцениваемых характеристик безопасности.

2. Расчет классификационных признаков (принятие решения).

3. Логическая обработка (интерпретация решения).

На этапе определения ключевых характеристик происходит заполнение вектора х, первые 4 элемента которого определяют класс безопасности, а оставшиеся элементы - полученные значения характеристик безопасности.

Далее на этапе обработки осуществляется классификация характеристик безопасности х и принятие решения у. Решению подобных задач посвящен широкий спектр работ, из которых следует отметить работы Загоруйко Н.Г., Ларичева О.И., Литвак Б.Г., Геловани В.А. и Микони C.B. Исследование отмеченных работ показало, что для решения задачи принятия решения о соответствии ПО заявленным требованиям наиболее подходящими являются аппараты нечетких множеств и искусственных нейронных сетей (ИНС). В ходе дальнейшего исследования был сделан выбор в пользу аппарата ИНС. Этот выбор обусловлен тем, что при увеличении количества оцениваемых элементов, существенно возрастает количество используемых функций принадлежности. При применении аппарата ИНС требуется существенно меньшее количество нейронов. Также следует отметить, что в виду недостаточной проработанности проблемы принятия решения о безопасности ПО,

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

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

У ~ (УиУгХУ! е [ОД] 0°)

Принятие окончательного решения осуществляется путем определения положения текущего решения в пространстве возможных решений. Для этого рассчитывается расстояние от эталонного положительного Я1П1С и отрицательного решения Я/аие{ 13). Значения эталонных решений равны: у=(1;0) - эталон положительного решения о соответствии ПО требованиям безопасности, а у=(0;1) - эталон отрицательного решения. За максимальное отклонение решения принята длина диагонали квадрата со стороной равной единице, =1,414.

На основании полученного вектора у определяется положение полученного решения в пространстве возможных решений (рисунок 2).

Эталонное значение безопасности ПО

У,

R

true

L valid

sr

Rv,

valid

0 R ' RJ,

lv error 1 vJaise

У,

Эталонное значение не безопасности ПО Рисунок 2 - Пространство возможных решений II Если полученное решение находится в окрестности положительного

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

Мера уверенности системы в принятом решении определяется расстоянием от принятого решения до эталонного. Окрестность принятия решения определяется в ходе практической апробации.

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

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

Входной слой Скрытый слой Результирующий слой

г—\ г-г

а1=4а1^(1\Уих1+Ь1> a2=tansig(LW2дal+b2)

Рисунок 3 - Модель разработанной ИНС

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

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

Основной принцип метода обратного распространения ошибки заключается в том, что существует известная целевая зависимость F:\-iy, значения которой известны только на объектах конечной обучающей выборки Т:

где х - вектор исходных данных, а у - результирующий вектор.

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

Для повышения эффективности метода обратного распространения ошибки предлагается расширить его дополнительными требованиями к обучающим примерам и их последовательности в процессе обучения (рисунок 4). Основными принципами при этом являются:

- Концентрация внимания ИНС в области пороговых значений.

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

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

— Уравновешенность в представлении как положительных, так и отрицательных примеров. В процессе обучения, ИНС в равном количестве представляются как положительные, так и отрицательные примеры.

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

(И)

о 1 а к 2 К Л С

О Щ

н

ЕГ

И О

И

Область несоответствия

/

Область соответствия

I №

О Ф 1

Значение оцениваемой характеристики Рисунок 4 - Алгоритм генерации обучающих примеров

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

Алгоритм обратного Модифицированный

распространения алгоритм обратного

ошибок распространения ошибок

(МхСеп) (Ссп1еас11)

Класс безопасности 4 3 2 1 4 3 2 1

Количество элементов в выборке 4000 4000

Положительных 500 500 500 500 500 500 500 500

Отрицательных 500 500 500 500 500 500 500 500

Количество верных решений 640 795 871 934 991 997 999 1000

% верных решений 64 79,5 87,1 93,4 99,1 99,7 99,9 100

Количество верных решений 3240 3987

% верных решений 81% 99,7%

Таким образом, применение предложенного метода позволило увеличить количество верных решений на 18% и вплотную приблизится к 100% результату. Также, применение предложенного алгоритма позволило избежать таких известных проблем:

- Паралич сети (запоминание всех обучающих образцов).

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

1

0.9955

0.599

0.9985

0.956

; 0.9975

> 0.99/ )

0.9965 0.996 0.9955 0.995

Рапределение полученных результатов по решениям

Ссответстзует Не соответствует

Распределение полученных результатов по решениям

ё

Г Й 1

-1- Соответстаует 5 Не соответстеует

Не соответствует

0 5555 С555 0.9595

Не соответс1вует

Рисунок 5 - График распределения множества полученных решений

Анализ среднеквадратичного отклонения показывает, что в серии из 4000 испытаний (по 1000 для каждого класса) среднеквадратичное отклонение полученного решения от эталонного составило 1,7 105, что составляет менее 1% от максимально возможного отклонения. При условии, что оцениваемое ПО в полной мере соответствует всем требованиям безопасности, следует заметить, что чем менее строгие требования предъявляются к ПО в рамках класса безопасности, тем больший разброс наблюдается в отклонении получаемых решений. Результаты проведенного эксперимента показывают, что применение ИНС для верификации безопасности ПО является оправданным и эффективным.

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

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

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

Система выявления уязвимостей

Рисунок 6 - Формальная схема прототипа СВУ

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

Таблица 2 - Характеристики тестового ПО

№ Название программы Объем, КБ Кол-во SLOC

файлов папок ФО ИО

Эксп.01 CalendarGadget 193 30 5 76 50 3080

Эксп.02 TrueCrypt 7.1а 4 696 259 13 527 802 114951

Эксп.ОЗ Arkanoid 9 627 62 5 620 371 45518

Эксп.04 Paint 480 26 1 33 45 2871

Эксп.05 Miranda IM 2 890 208 34 2045 974 61082

Эксп.06 MSN protocol 1 150 76 3 124 285 24912

Эксп.07 JabberG protocol 3 448 329 7 978 870 49312

Эксп.08 КСИУ КСАУКС 2 394 175 15 112 159 69200

Эксп.09 NoAutorun-win 986 34 0 175 240 8796

Эксп.10 WinDjView-2.0.1 3 816 253 4 209 275 132423

В ходе эксперимента, для каждого программного продукта было рассчитано, с использованием КСА «АИСТ», множество 2, которое далее было преобразовано в вектор характеристик безопасности х. Затем вектор х использовался для принятия решения. В процессе принятия решения выполнялась классификация х и интерпретация полученного результата классификации. Результаты применения разработанного прототипа СВУ представлены в таблице 3.

№ МПР МИР

у1 У2 ^гие В-Ыае Кт1Ш я

Эксп.01 0,9212 0,1101 0,0957 0,9057 0,01 -1

Эксп.02 0,9847 0,0336 0,0261 0,9757 0,01 -1

Эксп.ОЗ 0,0016 0,9990 0,9988 0,0013 0,01 0

Эксп.04 0,9999 0,0001 0,0001 1,0000 0,01 1

Эксп.05 0,0071 0,9940 0,9936 0,0066 0,01 0

Эксп.06 0,9999 0,0001 0,0001 1,0000 0,01 1

Эксп.07 0,9720 0,0036 0,0199 0,9844 0,01 -1

Эксп.08 0,9999 0,0001 0,0001 1,0000 0,01 1

Эксп.09 0,9999 0,0001 0,0001 1,0000 0,01 1

Эксп.10 0,9999 0,0001 0,0001 1,0000 0,0100 1

Гистограмма распределения временных затрат (Рисунок 7) показывает значительное снижение количества времени, требуемого на оценку соответствия ПО требованиям безопасности.

Подготовка Анализ Обработка Принятие Подготовка

решения отчета Этап сертификационных испытаний

Рисунок 7 - Анализ временных затрат

Необходимо отметить, что все решения, принятые СВУ совпали с решениями, принятыми экспертом. Таким образом, экспериментально доказано, что предложенная система является эффективным средством для оценки соответствия ПО требованиям безопасности.

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

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

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

3. На основании анализа работы эксперта разработана модель СВУ, позволяющая снизить нагрузку на эксперта.

4. Разработан метод принятия решения о соответствии ПО требованиям безопасности. Экспериментально доказано, что вероятность верного решения, при принятии решения о соответствии ПО требованиям безопасности, равняется 99,8%.

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

6. В соответствии с принципами метода принятия решения разработана методика верификации соответствия ПО требованиям безопасности.

7. Разработан прототип системы выявления уязвимостей в ПО. Экспериментально установлено, что, в результате применения прототипа СВУ, время сертификационных испытаний снизилось в среднем на 34%.

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

— Расширение и дополнение системы определения ключевых характеристик безопасности. Апробация для различных систем (ГОСТ, РД и д.р.) требований и метрик безопасности.

- Полная автоматизация всей процедуры проведения сертификационных испытаний, которая позволит выдавать электронные сертификаты, подписанные на основе ЭЦП, без вмешательства эксперта.

ОСНОВНЫЕ ПУБЛИКАЦИИ ПО ТЕМЕ РАБОТЫ

(публикации в изданиях, рекомендованных ВАК Минобрнауки России, выделены курсивом)

1. Беляков И.А., Еремеев М.А., Подход к построению подсистемы принятия решения о наличии / отсутствии недекларированных возможностей в сертифицируемом программном обеспечении на основе данных апатического анализа //

Проблемы информационной безопасности. Компьютерные системы. - СПб.: СПбГТУ, 2008. -Ks4.-С. 66-72.

2. Беляков H.A., Применение искусственных нейронных сетей при поиске уязвимостей в исходных текстах программного обеспечения // Известия Петербургского университета путей сообщения. - СПб: ПГУПС, 2011. - Выпуск 1 (26). - С. 120-129.

3. Беляков H.A., Еремеев М.А., Интеллектуальные технологии при сертификации программ // Автоматика, связь, информатика - Москва:, 2012 - Выпуск 2- С. 23-25

4. Беляков И.А., Метод генерации множества обучающих примеров для нейронной сети, решающей задачу верификации // Известия Петербургского университета путей сообщения. - СПб: ПГУПС, 2012. - Выпуск 3 (32). - С. 19-28.

5. Беляков И.А., Система поддержки принятия решения о наличии недекларированных возможностей в сертифицируемом программном обеспечении //Инновации на железнодорожном транспорте - 2009: доклады юбилейной научно-технической конференции (СПб.; 28-29 сент. 2009 г.). - СПб.: ПГУПС, 2009. - С. 43-48.

6. Беляков И.А., Применение интеллектуальных технологий при сертификации программного обеспечения // Современные техника и технологии: Сборник трудов XVII Межд. научно-практ. конф. студ., аспир. и мол. учен. : в 3-х т. (17; 18-22 апр. 2011 г.; Томск). - Томск: Изд-во Томск, политехи, ун-та, 2011. - Т. 2. - С. 289-290.

7. Беляков И.А., Подходы к автоматизации работы эксперта при оценивании соответствия программного обеспечения требованиям безопасности // Методы и технические средства обеспечения безопасности информации: сборник материалов Юбилейной 20-й научно-технической конференции (20; 27 июня-01 июля 2011 г.; СПб.). - СПб.: Изд-во Политехи, ун-та, 2011. - С. 125-127.

8. Беляков И.А., Интеллектуальная система поддержки принятия решений о безопасности программного обеспечения // Интеллектуальные системы на транспорте: сборн. материалов 1-й Межд. научно-практ. конф. (1; 24-26 марта 2011 г.; СПб.). - СПб.: ПГУПС, 2011. - С. 374-379.

9. Беляков И.А., Еремеев М.А. Применение интеллектуальных технологий в процессе сертификации программного обеспечения//Молодой ученый: ежемес. науч. журн.-Чита: Изд-во "Молодойученый", 2011.-Т. 1, № И (34). - С. 23-31.

10. Беляков И.А., Подход к оцениванию сложности проведения сертификационных испытаний программного обеспечения // Молодой ученый: ежемес. науч. журн. - Чита: Изд-во "Молодой ученый", 2011. - Т.1, № 12 (35). - С. 70-75.

11. Беляков И.А., Методика интеллектуального поиска заданных конструкций в исходных текстах программного обеспечения // Сборник работ инновационных проектов молодых ученых по результатам Всероссийского Конкурса «Инновационный потенциал молодежи 2012»: в 5 ч. / Ч. 2 - Ульяновск: ООО «Колор-Принт», 2011. - С.

198-205.

Подписано к печати Печать - ризография. Тираж 100 экз.

16.01.2013 г. Бумага для множит, апп. Зак. 29

Печ.л. 1,0 Формат 60x80 1/16

ФГБОУ ВПО ПГУПС, 190031, г. Санкт-Петербург, Московский пр., 9

Текст работы Беляков, Игорь Александрович, диссертация по теме Методы и системы защиты информации, информационная безопасность

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ПУТЕЙ СООБЩЕНИЯ

На правах рукописи

БЕЛЯКОВ Игорь Александрович

МЕТОД ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЯ О БЕЗОПАСНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Специальность 05.13.19 - Методы и системы защиты информации,

информационная безопасность

Диссертация на соискание ученой степени кандидата технических наук

Научный руководитель доктор технических наук, профессор

М.А. ЕРЕМЕЕВ

Санкт-Петербург - 2013

ОГЛАВЛЕНИЕ

СПИСОК СОКРАЩЕНИЙ..........................................5

ВВЕДЕНИЕ.......................................................6

ГЛАВА 1 АНАЛИЗ ПРОБЛЕМЫ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В АВТОМАТИЗИРОВАННЫХ СИСТЕМАХ ОАО «РЖД»...........................................11

1.1 Общая характеристика предметной области.........................11

1.2 Анализ проблемы обеспечения безопасности ПО....................13

1.2.1 Уязвимости программного обеспечения...........................16

1.2.2 Классификация и учет уязвимостей ПО...........................19

1.2.3 Последствия эксплуатации уязвимого ПО.........................23

1.2.4 Анализ недекларированных возможностей как уязвимостей ПО......25

1.3 Обзор существующих методов выявления уязвимостей...............29

1.3.1 Стандарты разработки программного обеспечения..................33

1.3.2 Методы тестирования безопасности..............................35

1.3.3 Особенности сертификации безопасности программного обеспечения. .38

1.3.4 Методы статического анализа...................................44

1.4 Постановка научной и частных задач исследования..................56

ВЫВОДЫ ПО ГЛАВЕ 1.............................................58

ГЛАВА 2 МОДЕЛЬ СИСТЕМЫ ОЦЕНКИ СООТВЕТСТВИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ТРЕБОВАНИЯМ БЕЗОПАСНОСТИ............60

2.1 Анализ существующей системы выявления уязвимостей..............60

2.1.1 Формализация показателей, оцениваемых экспертом................64

2.1.2 Обобщение и систематизация данных статического анализа..........71

2.1.3 Модель системы...............................................73

2.2 Выбор и обоснование используемых математических методов.........75

2.3 Особенности применения аппарата искусственных нейронных сетей ... 81

2.3.1 Модель нейрона...............................................84

2.3.2 Классификация нейронных сетей................................87

2.3.3 Исследование процесса обучения нейронных сетей.................89

2.3.4 Применение нейронных сетей для решения задач классификации.....93

2.4 Разработка модели системы поддержки принятия решения о

соответствии программного обеспечения требованиям безопасности.......97

ВЫВОД ПО ГЛАВЕ 2..............................................99

ГЛАВА 3 РАЗРАБОТКА МЕТОДА ПРИНЯТИЯ РЕШЕНИЯ О СООТВЕСТ-ВИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ТРЕБОВАНИЯМ БЕЗОПАСНОСТИ..........................................................102

3.1 Метод верификации безопасности ПО..............................102

3.1.1 Основные этапы метода........................................103

3.1.2 Формирование вектора характеристик безопасности ПО.............105

3.1.3 Оценивание характеристик безопасности......................... 105

3.1.4 Принятие решения о соответствии ПО требованиям безопасности .... 107

3.2 Разработка архитектуры нейронной сети для решения задачи верификации безопасности ПО.......................................110

3.2.1 Определение условий решаемой задачи...........................110

3.2.2 Определение топологии ИНС................................... 111

3.2.3 Расчет мощности ИНС..........................................112

3.2.4 Разработка метода обучения искусственной нейронной сети используемой в качестве решателя в модуле принятия решений....................114

3.2.5 Анализ полученных результатов обучения.........................128

3.3 Разработка метода использования ИНС для решения задачи поиска заданных конструкций..............................................132

3.3.1 Разработка модели подсистемы поиска заданных конструкций........133

3.3.2 Анализ полученных результатов.................................137

3.4 Методика автоматизированной верификации безопасности ПО.........141

ВЫВОДЫ ПО ГЛАВЕ 3........................................... 142

ГЛАВА 4 ОПИСАНИЕ ПРОТОТИПА СИСТЕМЫ ВЫЯВЛЕНИЯ УЯЗВИМОСТЕЙ И ПРЕДЛОЖЕНИЙ ПО ЕГО ПРАКТИЧЕСКОЙ

РЕАЛИЗАЦИИ....................................................143

4.1 Разработка прототипа системы....................................143

4.1.1 Разработка функциональных требований..........................146

4.1.2 Методика обучения и тестирования системы.......................147

4.1.3 Проверка корректности исходных данных.........................150

4.1.4 Расчет характеристик безопасности ПО...........................152

4.1.5 Определение классификатора соответствия........................152

4.1.6 Принятие решения о соответствии ПО требованиям безопасности.....154

4.2 Апробация прототипа........................................... 156

4.2.1 Структура системы верификации безопасности ПО АС ОАО «РЖД». . . 158

4.2.2 Интерфейс системы верификации ПО............................ 160

4.2.3 Анализ соответствия проекта требованиям безопасности............162

4.3 Методика проведения испытаний..................................168

4.4 Анализ полученных результатов и разработка предложений по

практическому применению СВУ.....................................174

ВЫВОДЫ ПО ГЛАВЕ 4.............................................179

ЗАКЛЮЧЕНИЕ....................................................182

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ........................185

СПИСОК СОКРАЩЕНИЙ

АСД - Абстрактное синтаксическое дерево. ЗИ - Защита информации. ЗК - Заданная конструкция. ИБ - Информационная безопасность. ИЛ - Испытательная лаборатория. ИНС - искусственная нейронная сеть. ИО - Информационный объект. ИТ - Исходные тексты. МИО - Матрица передачи информационных объектов (переменных). МИД - Модуль подготовки данных МПР - Модуль принятия решения МФО - Матрица вызова функциональных объектов.

НДВ - недекларированные возможности программного обеспечения. РД НДВ ФСЭК России. ПО - программное обеспечение. РД НДВ - руководящий документ ФСТЭК России: «Защита от несанкционированного доступа к информации. Часть 1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей». СВУ - Система выявления уязвимо стей. СЗИ - Средство защиты информации. СППР - система поддержки принятия решения. ФО - Функциональный объект. ФСТЭК - Федеральная служба по техническому и экспортному контролю.

С VE - Common Vulnerabilities and Exposures. OWASP - The Open Web Application Security Project. HARM - Hailstorm Application Risk Metric.

ВВЕДЕНИЕ

Современное общество невозможно представить без широкого применения информационных технологий во многих областях человеческой деятельности. Программное обеспечение (ПО) является составной частью подавляющего большинства устройств и систем, используемых в повседневной жизни. Интенсивное развитие и растущее многообразие информационных технологий ставит новые задачи в области обеспечения информационной безопасности, а существующие проблемы безопасности становятся все более актуальными. Начиная с 2002 года проблеме создания безопасных программ уделяется повышенное внимание [3]. Существующая ситуация показывает [6, 17, 19], что проблема обеспечения информационной безопасности ПО, с развитием информационных технологий становится только актуальнее. Исследования в области обеспечения безопасности ПО ведутся такими международными организациями как NIST, OWASP. В России вопросы обеспечения безопасности ПО находятся в ведении Федеральной службы по техническому и экспортному контролю и Федеральной службы безопасности. Также внутренние РД есть у других министерств и ведомств (МинОбр, Минфин), регламентирующие использование ПО в рамках своей компетенции.

Повсеместное использование ПО в сферах деятельности человека, в которых цена ошибки играет важнейшую роль, предполагает, что оно должно проходить специализированные проверки на функциональную и информационную безопасность. ПО, не прошедшее соответствующие проверки, представляет угрозу как для жизни и здоровья, так и для материальных ценностей. Это особенно актуально в транспортной сфере, особенно в области организации железнодорожных перевозок. Пассажирооборот, по итогам 2011 года, составил более 150 миллиардов пасс/км, в то же время грузооборот превышает 999 тонн/км. Принимая во внимание, что нормальное функционирование подавляющего большинства подразделений ОАО «РЖД» находится в непосредственной зависимости от ИС. К настоящему времени в

ОАО используется более 100 автоматизированных систем, к наиболее важным из которых, в первую очередь, относятся: АСУ ЭКСПРЕСС, АСУ ПП, ЕКАСУФР, ДИСПАРК, ДИСТПС [79].

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

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

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

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

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

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

Объектом исследования, в диссертационной работе, является существующая система выявления недекларированных возможностей в ПО, применяемая в рамках существующей процедуры сертификации. Исследования проводились на базе испытательной лаборатории средств защиты информации ПГУПС, департамента безопасности ОАО «РЖД», ОАО «НИИАС».

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

Для достижения поставленной цели в работе решались следующие задачи:

- Исследование существующих подходов выявления уязвимостей и подтверждения соответствия программ требованиям безопасности.

- Анализ процесса принятия решения экспертом при проведении сертификационных испытаний.

- Разработка модели системы верификации соответствия ПО требованиям безопасности.

- Разработка метода принятия решения о безопасности ПО.

- Разработка методики верификации соответствия ПО требованиям безопасности.

- Разработка прототипа системы выявления уязвимостей.

- Оценка полученных результатов и представление заключения по

дальнейшему развитию.

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

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

Научной новизной обладают следующие результаты диссертационной работы:

- Модель системы верификации ПО требованиям безопасности с применением методов искусственного интеллекта.

- Метод поддержки принятия решения о соответствии ПО заданным требованиям безопасности.

- Алгоритм обучения ИНС для решения поставленной задачи верификации.

- Методика применения метода поддержки принятия решения в существующих системах сертификации безопасности ПО.

- Прототип системы верификации соответствия ПО требованиям безопасности, построенной в соответствии с предложенным методом.

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

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

Эффективность применения подтверждена численным анализом.

Реализация и внедрение результатов исследований.

Основные результаты диссертации использованы в ОАО «Научно-исследовательский и проектно-конструкторский институт информатизации, автоматизации и связи на железнодорожном транспорте», в учебном процессе ПГУПС в дисциплинах «Комплексное обеспечение информационной безопасности автоматизированных систем» и «Безопасность операционных систем», а также работе Испытательной лаборатории средств защиты информации ПГУПС.

Апробация результатов работы. Основные положения и результаты диссертации докладывались и обсуждались на заседаниях кафедры «Информатика и информационная безопасность», международной научно-практической конференции (МНПК) «ИнтеллектТранс 2011», МНПК «ИнтеллектТранс 2012», юбилейной научно-технической конференции «Инновации на железнодорожном транспорте - 2009», Юбилейной 20-й научно-технической конференции «Методы и технические средства обеспечения безопасности информации».

По теме диссертации опубликовано одиннадцать печатных работ (статьи и доклады на научно-технических и научно-практических конференциях), из них четыре в изданиях, рекомендованных ВАК Минобрнауки России.

Структура и объем диссертации. Диссертационная работа состоит из введения, четырех разделов основного содержания с выводами по каждому разделу, заключения, списка используемых источников, включающего 151 наименование. Материалы диссертации изложены на 197 страницах машинописного текста, включающих 88 иллюстраций и 22 таблицы, а также приложения объемом 19 страниц, включая 1 таблицу и 2 рисунка.

ГЛАВА 1 АНАЛИЗ ПРОБЛЕМЫ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В АВТОМАТИЗИРОВАННЫХ СИСТЕМАХ ОАО «РЖД»

1.1 Общая характеристика предметной области

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

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

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