Рис. 1. Схема, иллюстрирующая факторы безопасности информации в рамках
жизненного цикла программ
уязвимость конкретного класса. В таком случае статический анали-
затор манипулирует собственно не с уязвимостями (vulnerability), а с
дефектами безопасности кода, под которым понимают недостаток со-
здания программы, потенциально влияющий на степень безопасности
информации. Эксплуатируемый дефект безопасности представляет со-
бой уязвимость, реализация которой на объекте информатизации со-
ставляет угрозу информационной безопасности (ИБ) для конкретного
ресурса (рис. 1).
Под эвристическим анализом будем понимать поиск программных
дефектов в программном коде путем сопоставления фрагментов кода с
образцами из базы данных шаблонов (эвристических правил) дефектов
безопасности.
Объектами исследования при анализе, кроме исходных текстов
программного обеспечения (ПО), могут быть объектный и исполня-
емый программные коды, проектная, компиляционная, отладочная и
компоновочная информация. Анализ может быть (в зависимости от
уровня унификации) выполнен на различных моделях представле-
ния кода, например, на лексическом коде, синтаксическом дереве, аб-
страктном синтаксическом дереве (дереве Канторовича), графе потока
управления, графе потока данных, модели однократного статического
присваивания, абстрактном семантическом графе.
Полнота проверок может быть достигнута путем привязки базы
данных шаблонов к актуальным реестрам дефектов программ (CWE,
HP Fortify, DoD SFP, WASC-TC и др.) [13].
Сопоставление методов статического анализа — методов приклад-
ной верификации (проверки свойств) и метода эвристического анали-
за — на наиболее популярных уровнях представления кода приведено
в табл. 1.
Повышение качества работы статического анализа кода связано
со снижением числа ложных срабатываний при сохранении макси-
мальной полноты обнаруживаемых классов потенциально опасных
конструкций [14–16]. Аппарат, описывающий шаблоны (сигнатуры,
эвристики) дефектов кода, должен обеспечивать максимально гибкое
100 ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2016. № 1