На главную страницу
О журнале План выхода Подписка Интернет-Магазин Реклама Контакты и реквизиты English На главную страницу Карта сайта Поиск по сайту Обратная связь

перейти к Содержанию номера

№ 3 май-июнь 2007 г.
Тема номера:
ОБУЧЕНИЕ CISO


ЭКСПЕРТИЗА И ЗАЩИТА КОДА ПРОГРАММ
НА ОСНОВЕ АВТОМАТОВ ДИНАМИЧЕСКОГО КОНТРОЛЯ

Р. И. Компаниец, директор департамента разработки и сертификации программного обеспечения,
В. В. Ковалев, к. т. н., доцент, главный специалист, Е. В. Маньков, инженер-программист
ООО «Газинформсервис»


Предыдущая статьяСледующая статья

Введение

Безопасность современных информационных технологий в значительной мере определяется отсутствием в них скрытых дефектов – недекларированных возможностей (НДВ). Выявление НДВ, вернее контроль их отсутствия, выполняется в процессе сертификационных испытаний программного обеспечения в рамках статического и динамического анализа программного обеспечения.

Декларированные возможности выявляются на основе структурного анализа и декомпозиции исходных текстов программ (статический анализ). Во время динамического анализа проводится трассировка фактических маршрутов выполнения функциональных объектов с последующим сопоставлением с маршрутами, построенными в процессе проведения статического анализа.

Повышение достоверности испытаний на отсутствие НДВ связано в первую очередь с методическим и инструментальным обеспечением процесса сертификационных испытаний, и, прежде всего, качеством выполнения статического анализа. Создание качественного статического анализатора исходных текстов программ для современных систем программирования по трудоемкости сопоставимо с созданием компилятора.

Однако после компиляции исходная программа в конечном итоге превращается в исполняемый код, который более консервативен с точки зрения синтаксиса, структуры и состава управляющих конструкций. Здесь, конечно, существуют свои трудности. Прежде всего, это проблема качества дизассемблирования исполняемого кода, которой в данной статье мы касаться не будем. Отметим только, что существует мощный дизассемблер IDA PRO, который позволяет решить многие проблемы и, прежде всего, получать дизассемблированный код, дающий достаточно полное представление о потоках управления в испытываемой программе.

Целью данной статьи является освещение теоретических вопросов, положенных в основу построения разработанных в ООО «Газинформсервис» технологии и набора инструментов под общим названием IRIDA. IRIDA – это инструментальный комплекс (ИК) для проведения статического и динамического анализа потоков управления в исполняемых кодах программ. Входными данными для ИК является дизассемблированный с помощью интерактивного дизассемблера IDA PRO исполняемый код программы. На основе дизассемблированного кода в ИК создается модельное представление программы в виде базы данных комплекса.

Суть предлагаемой технологии состоит в следующем. Для заданной программы при подготовке ее для динамического исследования, то есть. выявления реальных маршрутов выполнения программы, формируется множество контрольных точек (КТ), которые встраиваются в исследуемую программу.

КТ формирует сигнал о выполнении запроса к функциональному объекту и возврате управления от вызываемого функционального объекта в вызывающую программу. Исходной моделью программы является управляющий граф программы (УГП или граф хода выполнения программы) в терминах линейных участков программы. Построение УГП осуществляется на этапе статического анализа исполняемого кода программы. Одновременно со встраиванием КТ создается модель возможного поведения последней при ее реальном функционировании. Эта модель создается в виде распознающего автомата – автомата динамического контроля (АДК). АДК функционирует совместно с испытуемой программой, обрабатывает прерывания от КТ и допускает маршрут, если он соответствует модели поведения программы, построенной во время статического анализа, либо отвергает его, если маршрут является недекларированным.

< ... >


 

Полную версию статьи смотрите на страницах журнала «Защита информации. Инсайд»


Обращайтесь!!!
e-mail:    magazine@inside-zi.ru
тел.:        +7 (921) 958-25-50, +7 (911) 921-68-24


Предыдущая статья    СОДЕРЖАНИЕ НОМЕРА    Следующая статья

 

| Начало | О журнале | План выхода | Подписка | Интернет-магазин | Реклама | Координаты |

Copyright © 2004-2013 «Защита информации. Инсайд». Все права защищены
webmaster@inside-zi.ru

Rambler's Top100