IRIDA Sources
Инструментальный комплекс для автоматизации проведения статического и динамического анализа потоков управления в исходных кодах программ на языке С++ для проектов Microsoft Visual Studio NET.
Программный комплекс «IRIDA Sources» предназначен для проведения статического и динамического анализа потоков управления в исходных кодах программ на языке С++ для проектов Microsoft Visual Studio .NET.
К основной отличительной особенности этого продукта в отличии от инструментального комплекса «IRIDA» прежде всего относится следующее: входными данными для проведения анализа являются файлы исходных кодов исследуемого проекта (файлы *.cpp, *.c, *.h).
На основе этих файлов в ПК «IRIDA Sources» создается модельное представление исходных кодов контролируемого программного обеспечения в связке с ассемблерными листингами в виде базы данных комплекса.
База данных содержит информацию о функциональных объектах (ФО) анализируемой программы и связях по управлению между ними.
Специализированные процедуры из состава комплекса на основе информации из базы данных позволяют выполнить статический и динамический анализ потоков управления исследуемого кода путем встраивания в него контрольных точек. При этом в комплексе автоматизирован процесс сопоставления статических и динамических маршрутов выполнения анализируемой программы.
Рис. 1
Возможности ПК «IRIDA Sources»:
- поддержка анализа подключаемых к исследуемой программе библиотечных файлов;
- классифицирование ФО по принадлежности: пользовательские, библиотечные, ФО компилятора;
- отображение модели анализируемой программы с помощью различных представлений, в т.ч. в виде исходных кодов на языке С++ и в виде ассемблерного текста;
- графическое представление управляющих связей исследуемого ПО в виде дерева вызовов;
- синхронизация различных представлений по навигации между участками анализируемой программы (ФО, вызовами ФО);
- установление соответствия между участками исходного кода программы на языке С++ и участками ее ассемблерного текста;
- интерактивное выявление невызываемых ФО с возможностью их удаления;
- специальные мастера для установки контрольных точек (КТ) (формирования статических маршрутов) и создания лабораторной сборки;
- установка КТ на различные группы вызовов и ФО;
- предоставление расширенной статистики по ФО исследуемой программы;
- предоставление отчетов (протоколов) по результатам проведения анализа;
- интеграция с инструментальным комплексом «IRIDA».
Области применения ПК «IRIDA Sources»:
- при проведении сертификационных испытаний на отсутствие недекларированных возможностей в соответствии с руководящим документом Гостехкомиссии России «Защита от несанкционированного доступа к информации. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей»;
- для анализа и тестирования программного обеспечения (ПО), написанного на языке С++.
Средства статического анализа обеспечивают выполнение следующих технологических операций:
- контроль полноты и отсутствия избыточности исходных текстов ПО на уровне файлов;
- контроль соответствия исходных текстов ПО его объектному (загрузочному) коду;
- контроль полноты и отсутствия избыточности исходных текстов ПО на уровне ФО;
- контроль связей функциональных объектов (модулей, процедур, функций) по управлению;
- формирование перечня маршрутов выполнения функциональных объектов (процедур, функций).
Динамический анализ исходных текстов программ включает следующие технологические операции:
- контроль выполнения функциональных объектов (процедур, функций);
- сопоставление фактических маршрутов выполнения функциональных объектов (процедур, функций) и маршрутов, построенных в процессе проведения статического анализа.
По результатам проведенного анализа формируется отчет