Система анализа программного обеспечения на отсутствие потенциально опасных функциональных объектов



Система анализа программного обеспечения на отсутствие потенциально опасных функциональных объектов
Система анализа программного обеспечения на отсутствие потенциально опасных функциональных объектов
Система анализа программного обеспечения на отсутствие потенциально опасных функциональных объектов

Владельцы патента RU 2675210:

Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) (RU)

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

 

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

Толкование терминов, используемых в заявке:

CWE (Common Weakness Enumeration) - общий перечень дефектов безопасности. Предназначен для разработчиков и специалистов по обеспечению безопасности ПО. Он представляет собой официальный реестр или словарь общих дефектов безопасности, которые могут проявиться в архитектуре, проектировании, коде или реализации ПО, и могут быть использованы злоумышленниками для получения несанкционированного доступа к системе. Данный перечень был разработан в качестве универсального формального языка для описания дефектов безопасности ПО, а также в качестве стандарта для измерения эффективности инструментов, выявляющих такие дефекты, и для распознавания, устранения и предотвращения этих дефектов (Как PVS-Studio может помочь в поиске уязвимостей? Электронный ресурс: https://www.viva64.com/ru/b/0514/).

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

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

массивы бинарных данных - информационные объекты, не относящиеся к исходному тексту программы, представляющие собой интегрированные в исходный текст готовые программные модули, такие как драйверы устройств, кодеки и объекты электронного обмена процессов цифровыми данными (Рябоконь В.В. Алгоритмы поиска и идентификации массивов бинарных данных в исходных текстах программного обеспечения [Электронный ресурс] http://dekanat.bsu.edu.ru/f.php//1/disser/case/filedisser/filedisser/815_Dissertaciya_Ryabokon.pdf.)

Известна система контроля отсутствия недекларированных возможностей в программном обеспечении (Патент РФ №2434265, кл. G06F 11/00, опубл. 20.11.2011. Бюл. №32). Система содержит блок сохранения найденных потоков управления исследуемого программного обеспечения, блок хранения файлов исходных текстов программного обеспечения, блок установки контрольных точек в файлы исходных текстов программного обеспечения, блок компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками, блок выполнения скомпилированных файлов программного обеспечения, блок сохранения перечня пройденных контрольных точек, блок сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, блок хранения перечня потенциально опасных программных конструкций, блок поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения, блок экспертной корректировки результатов автоматизированного анализа, блок сохранения итоговых результатов, блок тестирования потенциально опасных программных конструкций.

Наиболее близким по своей технической сущности и выполняемым функциям аналогом (прототипом) к заявленной системе является система анализа программного обеспечения на отсутствие недекларированных возможностей (Патент РФ №2622622, кл. G06F 21/00, G06F 21/50, G06F 11/30, G06F 12/16 опубл. 16.06.2017. Бюл. №17). Система содержит блок сохранения найденных потоков управления исследуемого программного обеспечения, блок хранения файлов исходных текстов программного обеспечения, блок установки контрольных точек в файлы исходных текстов программного обеспечения, блок компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками, блок выполнения скомпилированных файлов программного обеспечения, блок сохранения перечня пройденных контрольных точек, блок сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, блок хранения перечня потенциально опасных программных конструкций, блок поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения, блок экспертной корректировки результатов автоматизированного анализа, блок тестирования потенциально опасных программных конструкций, блок сохранения итоговых результатов,

Контроль отсутствия недекларированных возможностей в программном обеспечении заключается в том, что файлы исходных текстов программного обеспечения с входа 12 после сохранения в блоке 2 поступают в блок 16 где происходит фиксация исходного состояния исходных текстов программного обеспечения. После чего файлы исходных текстов программного обеспечения поступают в блок 17, где происходит проверка избыточности исходных текстов. Затем в блоке 18 осуществляется анализ и систематизация контекстной информации и файлы исходных текстов передаются в блок 3, где происходит установка контрольных точек в файлы, а также процедуры и функции исходных текстов. После чего файлы исходных текстов программного обеспечения с установленными контрольными точками поступают в блок 4, где происходит их компиляция. Скомпилированные файлы исходных текстов поступают в блок 5, где происходит их запуск на выполнение, обработка запросов из скомпилированных файлов и к ним со стороны других исполняемых файлов, перехват информации о найденных потоках управления исследуемого программного обеспечения и ее передаче в блок 1 для сохранения, перехват информации о пройденных контрольных точках и ее передаче в блок 6 для сохранения, перехват информации о пройденных трассах маршрутов выполнения скомпилированных файлов программного обеспечения и ее передаче в блок 7 для сохранения. Файлы исходных текстов поступают в блок 9, где в них осуществляется поиск потенциально опасных программных конструкций, перечень которых поступает из блока 8. После чего в блоке 15 потенциально опасные программные конструкции тестируются. Предварительное формирование перечня потенциально опасных программных конструкций осуществляется с входа 13. Результаты автоматизированного анализа файлов исходных текстов поступают из блоков 1, 6, 7 и 15 в блок 10, где осуществляют корректировку с помощью интерактивного взаимодействия с экспертами. Полученные итоговые результаты после сохранения в блоке 11 поступают на выход 14.

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

Среда функционирования включает в себя:

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

- дополнительные программные средства защиты информации (QP, SPack);

- элементы управления аппаратными средствами доступными из ОС (BIOS).

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

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

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

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

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

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

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

«Промышленная применимость» системы обусловлена наличием программного обеспечения и элементной базы, на основе которого указанные блоки могут быть выполнены. Сравнение массивов данных с массивами имеющимися в репозитории возможно с помощью микросхем компараторов описанных в [Комбинационные коды. Ч.1. Электронный ресурс: http://www.intuit.ru/studies/courses/104/104/lecture/3037?page=5]. Хранение массивов данных возможно с помощью устройств хранения информации, описанных в [Устройства хранения информации. Электронный ресурс: http://www.studfiles.ru/preview/4235419/]. Быстрый просмотр репозитория массивов данных возможен с помощью микросхем для быстрого просмотра базы данных (Микросхемы для быстрого просмотра базы данных. Электронный ресурс: http://www.az-design.ru/index.shtml?Support&HardWare&GeneralElectric/A19811103Elc005)

Заявленные объекты системы поясняются чертежами, на которых показаны:

Фиг. 1 - Блок-схема системы анализа программного обеспечения на отсутствие потенциального опасных функциональных объектов.

Фиг. 2 - Блок-схема блока анализа массивов бинарных данных.

Фиг. 3 - Блок-схема блока оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации.

Фиг. 4 - Метрики исследуемого программного обеспечения.

Фиг. 5 - Сравнительные результаты анализа программного обеспечения системой-прототипом и предлагаемой системой

Блок схема предлагаемой системы анализа программного обеспечения на отсутствие потенциального опасных функциональных объектов приведена на фиг. 1, содержит блок сохранения найденных потоков управления исследуемого программного обеспечения 1, блок хранения файлов исходных текстов программного обеспечения 2, блок фиксации исходного состояния исходных текстов программного обеспечения 16, блок проверки избыточности исходных текстов 17, блок анализа и систематизации контекстной информации 18, блок установки контрольных точек в файлы исходных текстов программного обеспечения 3, блок компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками 4, блок выполнения скомпилированных файлов программного обеспечения 5, блок сохранения перечня пройденных контрольных точек 6, блок сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения 7, блок хранения перечня потенциально опасных программных конструкций 8, блок поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения 9, блок экспертной корректировки результатов автоматизированного анализа 10, блок тестирования потенциально опасных программных конструкций 15, блок сохранения итоговых результатов 11, вход файлов исходных текстов программного обеспечения 12, вход перечня потенциально опасных программных конструкций 13, блок анализа массивов бинарных данных 19, блок оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации 20, вход репозитория массивов бинарных данных 21, вход репозитория функций взаимодействующих с элементами программных и программно-технических средств защиты информации 22.

Причем вход блока хранения файлов исходных текстов программного обеспечения 2 соединен с входом получения файлов исходных текстов программного обеспечения 12, первый выход - входом блока фиксации исходного состояния исходных текстов программного обеспечения 16, второй выход - с входом блока поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения 9, выход блока фиксации исходного состояния исходных текстов программного обеспечения 16 соединен с входом блока проверки избыточности исходных текстов 17, выход блока проверки избыточности исходных текстов 17 соединен с входом блока анализа и систематизации контекстной информации 18 выход которого соединен с входом блока анализа массивов бинарных данных 19 второй вход которого соединен с репозиторием массивов бинарных данных 21, выход блока анализа массивов бинарных данных соединен с входом блока установки контрольных точек в файлы исходных текстов программного обеспечения 3, выход которого соединен с входом блока компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками 4, выход которого соединен с входом блока выполнения скомпилированных файлов программного обеспечения 5, первый выход которого соединен с входом блока сохранения найденных потоков управления исследуемого программного обеспечения 1, второй выход - с входом блока сохранения перечня пройденных контрольных точек 6, третий выход - с входом блока сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения 7, выход блока сохранения найденных потоков управления исследуемого программного обеспечения 1 соединен с первым входом блока экспертной корректировки результатов автоматизированного анализа 10, второй вход которого соединен с выходом блока сохранения перечня пройденных контрольных точек 6, третий вход - с выходом блока сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения 7, выход - с входом блока оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации 20, второй вход которого соединен с выходом репозитория функций взаимодействующих с элементами программных и программно-технических средств защиты информации 22, выход блока оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации 20 соединен с входом блока сохранения итоговых результатов 11, выход которого соединен с выходом выдачи итоговых результатов контроля 14.

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

Блок-схема блока анализа массивов бинарных данных представлена на фиг. 2 Данный блок состоит из четырех элементов: блок 19.1 (в данном блоке осуществляется поиск в файлах исходных текстов исследуемого ПО массивов бинарных данных фиг. 2), блок 19.2 (в данном блоке сохраняются найденные массивы бинарных данных фиг. 2), блок 19.3 (в данном блоке осуществляется анализ обнаруженных массивов бинарных данных, фиг. 2). Поиск в файлах исходных текстов исследуемого ПО массивов бинарных данных (блок 19.1, фиг. 2) описан в [Рябоконь В.В., Лебеденко Е.В. Автоматизация процесса проверки исходных текстов специального программного обеспечения на наличие бинарных вставок. Информационные технологии моделирования и управления. 2014, №4 (88). С. 328-333] Полученные массивы бинарных данных сохраняются в блоке 19.2. Анализ обнаруженных массивов бинарных данных проводится в блоке 19.3, фиг. 2. Основными операциями на данном этапе является идентификация найденных массивов данных, анализ неизвестных массивов данных и принятие решения о наличии бинарных вставок. Алгоритмы и методы идентификации массивов бинарных данных описаны в [Рябоконь В.В., Игнатов Ю.И., Лебеденко Е.В. Выбор управляемых параметров алгоритма идентификации массивов бинарных данных. Интернет-журнал Науковедение. 2016. Т. 8 №3 (34). С. 126; Рябоконь В.В., Лебеденко Е.В., Лапко А.Н., Куцакин М.А. Экспериментальное исследование метода идентификации массивов бинарных данных. Известия Тульского государственного университета. Технические науки. 2017. №5. С. 265-277] Данные алгоритмы и методы могут быть реализованы как экспертным путем, так и в виде специализированного программного обеспечения.

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

- идентификация и аутентификация;

- аудит;

- дискреционный контроль доступа;

- мандатный контроль доступа;

Заявленная система работает следующим образом. Файлы исходных текстов ПО с входа 12 после сохранения в блоке 2 поступают в блок 16, где происходит фиксация исходного состояния файлов исходных текстов исследуемого ПО. После этого файлы исходных текстов поступают в блок 17, где осуществляется проверка избыточности исходных текстов, а затем передаются в блок 18 для анализа и систематизации контекстной информации. Следующим этапом является выявление массивов бинарных данных в блоке 19, в котором обнаруженные массивы бинарных данных сравниваются с массивами поступающими со входа 21 из репозитория массивов бинарных данных 21. После чего обрабатывают файлы исходных текстов в блоке 3, где происходит установка контрольных точек в файлы, а также процедуры и функции исходных текстов. После чего файлы исходных текстов программного обеспечения с установленными контрольными точками поступают в блок 4, где происходит их компиляция. Скомпилированные файлы исходных текстов из блока 4 поступают в блок 5, где происходит их запуск на выполнение, обработка запросов из скомпилированных файлов и к ним со стороны других исполняемых файлов, перехват информации о найденных потоках управления исследуемого программного обеспечения и ее передаче в блок 1 для сохранения, перехват информации о пройденных контрольных точках и ее передаче в блок 6 для сохранения, перехват информации о пройденных трассах маршрутов выполнения скомпилированных файлов программного обеспечения и ее передаче в блок 7 для сохранения. Помимо этого, файлы исходных текстов поступают в блок 9, где в них осуществляется поиск потенциально опасных программных конструкций, перечень которых поступает из блока 8. Предварительное формирование перечня потенциально опасных программных конструкций осуществляется с входа 13. Результаты автоматизированного анализа файлов исходных текстов поступают из блоков 1, 6, 7 и 9 в блок 10, где осуществляют корректировку с помощью интерактивного взаимодействия с экспертами. Полученные итоговые результаты поступают в блок 20, куда также поступают данные в входа 22 репозитория функций взаимодействующих с элементами программных и программно-технических средств защиты информации. После чего в блоке 20 с помощью интерактивного взаимодействия с экспертами осуществляется оценка влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации, по окончании которого полученные данные поступают в блок 11 где происходит их сохранение и затем данные поступают на выход 14.

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

В данное ПО были добавлены потенциально опасные функциональные объекты, после чего ПО было проанализировано системой-прототипом и разработанной системой. Результаты анализа представлены на фиг. 5.

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

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



 

Похожие патенты:

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

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

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

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

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

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

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

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении формирования сверток безопасных событий.

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

Группа изобретений относится к управлению памятью. Технический результат - обеспечение возможности увеличения объема памяти.

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

Группа изобретений относится к технической поддержке пользователей. Технический результат – повышение качества технической поддержки пользователей.

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

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

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

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

Изобретение относится к вычислительной технике. Технический результат – повышение скорости и качества диагностики.

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

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

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

Наверх