Система анализа программного обеспечения на отсутствие недекларированных возможностей



Система анализа программного обеспечения на отсутствие недекларированных возможностей
Система анализа программного обеспечения на отсутствие недекларированных возможностей
Система анализа программного обеспечения на отсутствие недекларированных возможностей

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг. 1 - Блок-схема системы анализа программного обеспечения на отсутствие недекларированных возможностей.

Фиг. 2 - Блок-схема блока фиксации исходного состояния исходных текстов программного обеспечения.

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

Фиг.4 - Блок-схема блока анализа и систематизации контекстной информации.

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

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

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

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

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

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

Блок-схема блока фиксации исходного состояния исходных текстов программного обеспечения представлена на фиг. 2. Данный блок состоит из двух элементов: блок 16.1, в котором производится расчет контрольных сумм файлов исходных текстов (фиг. 2), блок 16.2 (фиг. 2), в котором осуществляется сравнение полученных контрольных сумм с эталонными (указанными в документации, поставляемой с исследуемым ПО), и блок 16.3, в котором осуществляется сохранение результатов контрольного суммирования в файл отчета (фиг. 2). Реализация блоков 16.1 и 16.2, входящих в состав блока 16, возможна на основе сертифицированных программных средств, таких как: «Средство фиксации и контроля исходного состояния программного комплекса ФИКС» [www.cbi-info.ru] или «ПИК - Эшелон» [www.npo-echelon.ru]. Алгоритмы контрольного суммирования, используемые данными программными средствами, широко известны и описаны в литературе [ГОСТ Р 34.11-94; ГОСТ Р 34.11-2012; RFC 1321; RFC 3174; «The MD5 Message-Digest Algoritm» R. Rivest, MIT Laboratory for Computer Science and RSA Data Security, Inc. 1992].

Блок-схема блока проверки избыточности исходных текстов представлена на фиг. 3. Данный блок состоит из трех элементов: блок 17.1, в данном блоке осуществляется поиск в файлах исходных текстов исследуемого ПО неиспользуемых участков кода (фиг. 3), блок 17.2 - проводит анализ выявленной избыточности (фиг. 3) и блок 17.3, в котором принимается решение о влиянии критичности выявленной избыточности на возможность и целесообразность проведения дальнейших проверок (фиг. 3). Реализация блока 17.1 в плане поиска неиспользуемых участков исходных текстов возможна с использованием различного инструментария, в том числе и с использованием средств фиксации факта доступа к файлам. В ОС Linux для этого используется скрипт проверки параметра «access time» (данный параметр показывает время последнего доступа к файлу) соответствующего файла, в Windows - это Process Monitor (данная программа в режиме реального времени отображает активность файловой системы, реестра, а также процессов и потоков) [https://technet.microsoft.com/ru-ru/sysinternals/processmonitor.aspx] в совокупности с компилятором (например, gcc) [https://gcc.gnu.org]. После чего выявленная избыточность передается на вход блока 17.2 в котором оператором осуществляется ее экспертный анализ, на основе результатов которого принимается решение в блоке 17.3.

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

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

Таким образом, заявленный технический результат достигнут за счет введения блоков фиксации исходного состояния, проверки избыточности и анализа контекстной информации в исходных текстах исследуемого программного обеспечения, использование которых повышает достоверность результатов анализа программного обеспечения на отсутствие недекларированных возможностей и позволяет проводить сертификационные исследования ПО согласно п. 2 и подпункта 3.1 перечня требований к уровням контроля, представленного в Руководящем документе «Защита от несанкционированного доступа к информации. Ч.1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей».

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



 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Изобретение относится к вычислительной технике. .

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