Заблуждения и стереотипы относительно анализа кода

Post on 11-Jul-2015

390 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

З А Б Л У Ж Д Е Н И Я И С Т Е Р Е О Т И П Ы О Т Н О С И Т Е Л Ь Н О

А Н А Л И З А КОД А

Евгений Родыгин

Основные методы обеспечения безопасного применения ПО

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

• анализ среды функционирования ПО, направленный на выявление характеристик, которые считаются опасными или потенциально опасными

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

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

• контроль среды функционирования ПО (динамический контроль поведения, изменения характеристик и т.п.) в процессе функционирования ИС

• контроль программного обеспечения в процессе его функционирования

Типовой SAST

Исходные тексты

ПАРСЕР БД кода

Модули анализа…

ОТЧЕТЫ

БД правил

Основные методы наполнения политик SAST

SASTСтандарты

Языка

Политики качества

Отчеты

Анализ угроз

Политики безопасности

Актуальные угрозы для информационной системы

Стандартыи опыт

Интерпретация угроз

Стандартыи опыт

Проблема неопределенности SAST

Компилятор

???

Разработчик Исходные тексты SAST

Средcтва

разработки

Что происходит ?

Что происходит ?

Проблема неопределенности IDA

Реализация постановщика задачи

Язык реализации Turbo С 16 bit

Объем исходных текстов (байт) 5021

Объем программы (байт) 14510

Количество функций в исходных текстах 8

Количество функций в программе 95

Количество команд ветвления в исходных текстах 10

Количество команд ветвления в программе (jmp, call и т.п.) 468

Реализация конкурсантов (степень избыточности загрузочного кода очень мала)

Разработчик «Altair / ODDS»

Язык реализации tasm

Объем исходных текстов (байт) 2998

Объем программы (байт) 48

Количество функций в исходных текстах 3

Количество функций в программе 3

Количество команд ветвления в исходных текстах 2

Количество команд ветвления в программе (jmp, call и т.п.) 2

Выявленная таким образом избыточность устранена: (в разах)

По объему исходных текстов 1,7

По объему программы 302,3

По количеству функций в исходных текстах 2,7

По количеству функций в программе 31,7

По количеству команд ветвления в исходных текстах 5,0

По количеству команд ветвления в программе 234,0

Уровни абстракции

Уровень замысла (ТЗ)

Уровень архитектуры (алгоритмы)

Уровень реализации архитектуры (алгоритмов)

Уровень среды разработки (VC)

Уровень компилятора

Уровень линковщика

Уровень кода

Физический уровень

Динамические анализаторы Контроль

среды

Контроль кода внешний

Контроль кода внутренний

Типовой DAST

Модули анализа и реакции

ОТЧЕТЫ

БД правил

Механизм прогнозирования состояния ИС

DAST

Текущее состояние

ИС

Окно анализа

Уровни абстракции

Уровень замысла (ТЗ)

Уровень архитектуры (алгоритмы)

Уровень реализации архитектуры (алгоритмов)

Уровень среды разработки (VC)

Уровень компилятора

Уровень линковщика

Уровень кода (с учетом состояния среды)

Физический уровень

Родыгин Евгений Валентинович

+ 7 ( 9 8 1 ) 7 0 1 - 4 5 - 0 7

e.v.rodigin@mstandard.ru

www.mstandard.ru

top related