1 / 14 Next Page
Information
Show Menu
1 / 14 Next Page
Page Background

DOI: 10.18698/0236-3933-2016-1-98-111

УДК 004.056

ЭВРИСТИЧЕСКИЙ АНАЛИЗ БЕЗОПАСНОСТИ ПРОГРАММНОГО

КОДА

А.С. Марков

1

,

В.А. Матвеев

1

,

А.А. Фадин

2

,

В.Л. Цирлов

1

1

МГТУ им. Н.Э. Баумана, Москва, Российская Федерация

e-mail:

a.markov@bmstu.ru

;

v.a.matveev@bmstu.ru

;

v.tsirlov@bmstu.ru

2

НПО “Эшелон”, Москва, Российская Федерация

e-mail:

af@cnpo.ru

Рассмотрены структурный статический анализ безопасности программного

кода и решение задачи обеспечения полноты проводимых проверок. Для реализа-

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

использование эвристического (сигнатурного) анализа безопасности программ,

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

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

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

вления программного кода. Отмечено, что наиболее актуальными моделями

представления программ с позиции безопасности являются абстрактное син-

таксическое дерево и абстрактный синтаксический граф. Необходимый уро-

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

стического анализа могут быть достигнуты применением системы продукци-

онных правил. Приведены примеры частных семантических моделей эвристик

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

достоинства и ограничения предложенных решений. Представлены сведения о

практической реализации и апробации предлагаемых решений. Отмечено, что

в практике сертификационных испытаний средств защиты информации 88%

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

стического анализа. Сделан вывод, что эвристический анализ может служить

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

кода.

Ключевые слова

:

информационная безопасность, безопасность программ, те-

стирование, статический анализ, продукционные модели, эвристический анализ,

уязвимости, дефекты, недекларированные возможности.

HEURISTIC ANALYSIS OF SOURCE CODE SECURITY

A.S. Markov

1

,

V.A. Matveev

1

,

A.A. Fadin

2

,

V.L. Tsirlov

1

1

Bauman Moscow State Technical University, Moscow, Russian Federation

e-mail:

a.markov@bmstu.ru

;

v.a.matveev@bmstu.ru

;

v.tsirlov@bmstu.ru

2

Scientific Production Association Echelon, Moscow, Russian Federation

e-mail:

af@cnpo.ru

The paper is devoted to the structural static analysis of source code security

and the problem of ensuring the conducted inspection completeness. To detect

comprehensively the source code vulnerabilities the heuristic (signature) analysis

of program security is used taking into account the whole range of program defects

classes. The semantic metamodel of the heuristic algorithms description to detect

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