Previous Page  3 / 14 Next Page
Information
Show Menu
Previous Page 3 / 14 Next Page
Page Background

Рис. 1. Схема, иллюстрирующая факторы безопасности информации в рамках

жизненного цикла программ

уязвимость конкретного класса. В таком случае статический анали-

затор манипулирует собственно не с уязвимостями (vulnerability), а с

дефектами безопасности кода, под которым понимают недостаток со-

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

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

бой уязвимость, реализация которой на объекте информатизации со-

ставляет угрозу информационной безопасности (ИБ) для конкретного

ресурса (рис. 1).

Под эвристическим анализом будем понимать поиск программных

дефектов в программном коде путем сопоставления фрагментов кода с

образцами из базы данных шаблонов (эвристических правил) дефектов

безопасности.

Объектами исследования при анализе, кроме исходных текстов

программного обеспечения (ПО), могут быть объектный и исполня-

емый программные коды, проектная, компиляционная, отладочная и

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

уровня унификации) выполнен на различных моделях представле-

ния кода, например, на лексическом коде, синтаксическом дереве, аб-

страктном синтаксическом дереве (дереве Канторовича), графе потока

управления, графе потока данных, модели однократного статического

присваивания, абстрактном семантическом графе.

Полнота проверок может быть достигнута путем привязки базы

данных шаблонов к актуальным реестрам дефектов программ (CWE,

HP Fortify, DoD SFP, WASC-TC и др.) [13].

Сопоставление методов статического анализа — методов приклад-

ной верификации (проверки свойств) и метода эвристического анали-

за — на наиболее популярных уровнях представления кода приведено

в табл. 1.

Повышение качества работы статического анализа кода связано

со снижением числа ложных срабатываний при сохранении макси-

мальной полноты обнаруживаемых классов потенциально опасных

конструкций [14–16]. Аппарат, описывающий шаблоны (сигнатуры,

эвристики) дефектов кода, должен обеспечивать максимально гибкое

100 ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2016. № 1