- •Методы и средства анализа безопасности программного обеспечения
- •Общие замечания
- •Контрольно-испытательные методы анализа безопасности программного обеспечения
- •Логико-аналитические методы контроля безопасности программ
- •Сравнение логико-аналитических и контрольно-испытательных методов анализа безопасности программ
- •Способы тестирования программного обеспечения при испытаниях его на технологическую безопасность
- •Обобщенные способы анализа программных средств на предмет наличия (отсутствия) элементов разрушающих программных средств Статистические и динамические способы исследования по
- •Особенности исследования защищенного по
- •Описание способов проведения испытаний, оценки качества и сертификации программных средств
- •Состав методического обеспечения проведения испытаний программ
- •Состав инструментальных средств проведения испытания программ
- •Общая номенклатура показателей качества по
- •Выбор номенклатуры показателей качества
- •Оценка значений показателей качества по
- •Организационные вопросы проведения испытаний по
- •Методологические вопросы проведения испытаний по
- •Построение программно-аппаратных комплексов для контроля технологической безопасности программ Состав инструментальных средств контроля безопасности по при его разработке
- •Структура и принципы построения программно-аппаратных средств контрольно-испытательного стенда испытания технологической безопасности по
- •Метод расчета вероятности наличия рпс на этапе испытаний программного обеспечения вычислительных задач
- •Постановка задачи
- •Обоснование состава множества информативных характеристик
- •Алгоритмы приближенных вычислений вероятностных характеристик наличия в программах рпс
- •Алгоритм a
- •Алгоритм б
- •Обоснование критериев принятия решения о наличии в программе рпс
- •Подходы к исследованию сложных программных комплексов
- •Общие замечания
- •Анализ характеристик программных модулей с помощью управляющего графа
- •Алгоритм а
- •Определение характеристик взаимосвязи модулей и структурной сложности программ с учетом полного числа связей
- •Построение критических путей, подлежащих обязательному тестированию
- •Алгоритм б
Сравнение логико-аналитических и контрольно-испытательных методов анализа безопасности программ
Для сравнения методов предлагаются следующие признаки: представления предметной области, методы решения проблем неразрешимости легитимности и неперечислимости рабочего пространства, а также надежность получаемых результатов [ПБП]. Надежность методов анализа определяется вероятностью ошибок первогоивторого рода. Под ошибкой первого рода понимается принятие за РПС безопасной программы, а под ошибкой второго рода - объявление программы безопасной, когда на самом деле она содержит РПС.
С методической точки зрения логико-аналитические методы выглядят более предпочтительными, так как основываются на формальном подходе и приближают перспективное решение проблемы связанное с доказательством разрешимости множества РПС. Кроме того, они позволяют создать легко применяемые средства анализа, независящие от анализируемых программ. Однако на данное время любой из этих методов имеет существенный недостаток - исследование безопасности проводится лишь относительно некоторого подмножества РПС.
С практической точки зрения, - с точки зрения обеспечения безопасности КС контрольно-испытательные методы обладают рядом преимуществ, связанных с их привязкой к конкретной КС и программе‚ а также с их надежностью в отношении ошибок второго рода. Однако затраты, необходимые для организации процесса тестирования, являются преградой для их применения, за исключением критических компьютерных систем.
Из вышесказанного можно сделать вывод, что ни один из методов не имеет решающего преимущества перед другим. Использование методов той и другой группы должно опираться только на их соответствие решаемой задаче, необходимо применять те методы, которые в данной ситуации наиболее эффективны и оправданы.
Разделение методов, их особенности и преимущества показаны в табл.7.1.
Таким образом, проблема анализа безопасности программного обеспечения в условиях распространения РПС является весьма актуальной. Данная проблема находится в тесной связи с проблемами анализа ПО и его верификацией. Без решения данной проблемы невозможно решить задачу создания защищенных КС, гарантированно являющихся безопасными и целостными.
Для полного решения проблемы анализа безопасности программ необходимо осуществить следующие действия [ПБП].
Таблица 7.1
Методы |
Контрольно-испытательные |
Логико-аналитические |
Способ представления предметной области |
Пространство отношений программы с объектами КС. |
Пространство программ. |
Принцип поиска РПС |
Фиксация установления программой нелегитимности отношения доступа к объектам КС. |
Доказательство принадлежности программы к множеству РПС. |
Поиск проблемы неразрешимости легитимности отношений |
С помощью аппроксимации пространства легитимных отношений для данной программы и КС. |
С помощью сведения к проблеме разрешимости множества РПС и анализ безопасности относительно разрешимого подмножества РПС. |
Решение проблемы перечислимости рабочего пространства |
Статистические и экстраполяционные методы теории верификации и функционального тестирования. |
Не требуется. |
Продолжение таблицы 7.1
Ошибки первого рода |
Весьма вероятны. Чем строже требования, предъявляемые в заданной КС, тем больше вероятность ошибки. |
При строгом доказательстве разрешимости подмножества РПС и корректно определенной характеристической функции исключены. |
Ошибки второго рода |
Маловероятны. Чем строже требования по безопасности, тем меньше вероятность ошибки. |
Неизбежны. Определяются мощностью выбранного разрешимого подмножества РПС. |
Преимущества |
Не требует теоретической подготовки. Допускает использование имеющихся стандартных программных средств. Устойчивость к ошибкам второго рода. Метод отражает требования конкретных КС. |
Опирается на формальные методы. Не требует значительных затрат на этапе применения. Высокая надежность полученных результатов относительно выбранного подмножества РПС. Инвариантность метода по отношению к различным классам программ. Позволяет создавать автоматические простые и доступные средства проверки безопасности. |
Недостатки |
Проведение испытаний требует существенных затрат времени и других ресурсов. Процесс тестирования требует выделения испытательной КС и должен проводится специалистами. |
Подтверждены ошибками второго рода – проверяется лишь часть множества РПС. |
Создать теоретические основы анализа безопасности ПО, создать словарь предметной области и осуществить в рамках этого словаря формальную постановку задачи анализа безопасности ПО;
Создать методы анализа безопасности ПО, используя выбранные формальные определения, доказать их эффективность и реализуемость;
Создать конкретные программные средства, реализующие методы анализа безопасности программ в конкретных аппаратно-программных средах;
Создать методики применения этих средств и оценить их эффективность.