- • Оформление. Фгбоу впо «Воронежский государственный технический университет», 2012
- •Введение в теорию обеспечения безопасности программного обеспечения
- •1.1. Основные положения теории безопасности программного обеспечения
- •1.2. Угрозы безопасности программного обеспечения
- •1.3. Теоретические основы дисциплины и терминология
- •1.4. Жизненный цикл программного обеспечения компьютерных систем. Технологическая и эксплуатационная безопасность программ
- •1.5. Основные принципы обеспечения безопасности программного обеспечения
- •2. Методы и средства анализа безопасности программного обеспечения
- •2.1. Общие замечания
- •2.2. Контрольно-испытательные методы анализа безопасности программного обеспечения
- •2.3. Логико - аналитические методы контроля безопасности программ
- •2.4. Сравнение логико-аналитических и контрольно-испытательных методов анализа безопасности программ
- •2.5. Выявление уязвимостей в программном обеспечении
- •2.6. Общий механизм выбора программного обеспечения безопасности для компьютерных систем
- •2.7. Модели поведения программного обеспечения
- •3. Способы тестирования программного обеспечения при испытаниях его на технологическую безопасность
- •3.1. Обобщенные способы анализа программных средств на предмет наличия (отсутствия) элементов разрушающих программных средств Статистические и динамические способы исследования по:
- •Особенности исследования защищенного по:
- •Описание способов проведения испытаний, оценки качестваи сертификации программных средств:
- •Состав методического обеспечения проведения испытаний программ:
- •Состав инструментальных средств проведения испытания программ:
- •Общая номенклатура показателей качества по:
- •Выбор номенклатуры показателей качества:
- •Оценка значений показателей качества по:
- •Организационные вопросы проведения испытаний по:
- •Методологические вопросы проведения испытаний по:
- •3.2. Построение программно-аппаратных комплексов для контроля технологической безопасности программ Состав инструментальных средств контроля безопасности по при его разработке:
- •Планировщик тестов на безопасность
- •Подсистема генерации тестов
- •База данных тестирования
- •Средства локализации дефектов по
- •Блок идентификации дефектов по Блок определения характеристик по Блок сбора статистики о дефектах и их каталогизация
- •Средства ликвидации дефектов по
- •Блок ликвидации модулей формирования дефектов Блок уделенных искаженных программ и избыточных модулей Блок удаления нарушенных информационных структур и восстановления их целостности
- •Блок оценки уровня безопасности по Генератор отчетов контроля безопасности по
- •Структура и принципы построения программно-аппаратных средств контрольно-испытательного стенда испытания технологической безопасности по:
- •4. Расчет вероятности наличия разрушающего программного средства на этапе испытаний программного обеспечения и подходы к его исследованию
- •4.1. Постановка задачи
- •4.2. Обоснование состава множества информативных характеристик
- •4.3. Алгоритмы приближенных вычислений вероятностных характеристик наличия в программах рпс
- •4.4. Обоснование критериев принятия решения о наличии в программе рпс
- •4.5. Подходы к исследованию сложных программных комплексов
- •5. Методы обеспечения надежности программ для контроля их технологической безопасности
- •5.1. Исходные данные, определения и условия
- •5.3. Модель Нельсона
- •5.4. Оценка технологической безопасности программ на базе метода Нельсона
- •6. Методы и средства обеспечения целостности и достоверности используемого программного кода
- •6.1. Методы защиты программ от несанкционированных изменений
- •6.2. Схема подписи с верификацией по запросу
- •6.3. Примеры применения схемы подписи с верификацией по запросу
- •6.4. Основные подходы к защите программ от несанкционированного копирования
- •Криптографические методы. Для защиты инсталлируемой программы откопирования при помощи криптографических методов инсталлятор программы должен выполнить следующие функции:
- •Манипуляции с кодом программы. При манипуляциях с кодом программы можно привести два следующих способа:
- •Заключение
- •Библиографический список
- •Оглавление
- •3. Способы тестирования программного обеспечения при испытаниях его на технологическую безопасность…….66
- •4. Расчет вероятности наличия разрушающего программного средства на этапе испытаний программного обеспечения и подходы к его исследованию………………………………..107
- •394026 Воронеж, Московский просп., 14
Планировщик тестов на безопасность
Подсистема генерации тестов
База данных тестирования
2
Р
3
ис. 3.1. Структурно-функциональная схема инструментального комплекса поддержки создания безопасного ПО
Средства локализации дефектов по
Блок идентификации дефектов по Блок определения характеристик по Блок сбора статистики о дефектах и их каталогизация
Средства ликвидации дефектов по
Блок ликвидации модулей формирования дефектов Блок уделенных искаженных программ и избыточных модулей Блок удаления нарушенных информационных структур и восстановления их целостности
Блок оценки уровня безопасности по Генератор отчетов контроля безопасности по
Рис. 3.1. Структурно-функциональная схема инструментального комплекса поддержки создания безопасного ПО. (продолжение)
В интересах контроля безопасности ОСПО осуществляется:
выявление критических путей в алгоритмах управления и администрирования,
регистрация фактов неверной обработки прерываний и несанкционированной передачи межмодульных сообщений,
определение наличия сбоев в управлении информационно-вычислительным процессом,
обнаружение случаев изменения приоритетов обработки заявок и нарушения штатной дисциплины их обслуживания,
контроль нарушения управления прикладными программами,
выявление недокументированных передач сообщений и изменения характера сообщений,
обнаружение нарушений целостности структур данных,
выявление возможностей упрощения алгоритмов программ.
В целях контроля безопасности СПО выполняется:
сравнение характеристик разработанных программ с параметрами эталона,
тестирование программных средств в расширенных интервалах входных данных,
подготовка спецификаций на программы,
расчет вероятностных характеристик наличия дефектов по выходным данным,
анализ устойчивости значений вероятностных характеристик,
выявление случаев искажения параметров программ и результатов их выполнения,
обнаружение попыток несанкционированного доступа прикладных программ к закрытой для них информации.
Для контроля безопасности инструментальных средств разработки программ предусмотрено:
выявление случаев генерации избыточного кода для прикладных программ,
составление спецификаций с учетом целевого применения этих средств,
построение функциональных диаграмм и таблиц решений,
определение дефектных участков в структуре программных средств,
выявление отклонений от документированных штатных функций,
дублирование и сверка объектного кода путем итерационных трансляций программ,
сравнительный анализ с другими инструментальными средствами по возможностям отладки.
Средства локализации дефектов, осуществляют их идентификацию в соответствии с принятой на момент тестирования классификацией и определение характеристик программных дефектов, к которым относятся:
одноразовость и многоразовость (саморепродуцирование) применения;
самоликвидируемость;
базируемость (на любых программах, только прикладных, использование комбинаций системных команд);
изменяемость (неизменяемость) объема программ;
модифицируемость информационных структур;
самомодифицируемость.
Рассматриваемые средства имеют возможность выявления факта внесения дефекта на основе детального анализа характеристик программ и сверки их со спецификацией. Кроме того, на этапе локализации дефектов предусматривается, в случае необходимости, дешифрования элементов ПО и информационных структур. При выявлении аппаратных дефектов или аппаратной реализации РПС формируются рекомендации по рекламации технических средств автоматизации.
Система генерации тестов и база данных тестирования обеспечивают целенаправленный выбор и компоновку набора тестов с учетом вида ПО и прогнозируемого дефекта. В перспективе прорабатывается вопрос создания средств сканирования программ по всем возможным для них угрозам безопасности.
Средства ликвидации дефектов обеспечивают удаление самих дефектов, искаженных программ и испорченной информации и включают в свой состав:
блок ликвидации модулей формирования дефектов;
блок удаления искаженных программ и избыточных модулей;
блок удаления нарушенных информационных структур и восстановления их целостности.
После завершения работы этих средств проводится дополнительная отладка и восстановление программ, корректировка их эталонов, анализ целостности информации и формирование предложений по совершенствованию системы защиты.
Средства обеспечения тестирования состоят из следующих компонентов:
блока сбора статистики о дефектах и их каталогизации;
блока оценки уровня безопасности ПО;
генератора отчетов контроля безопасности ПО.
Блок сбора статистики о дефектах и их каталогизации обеспечивает упорядоченные процедуры накопления данных в интересах уточнения структур тестов и моделей угроз. Блок оценки уровня безопасности ПО обеспечивает контроль значений вероятностных характеристик наличия в программах дефектов путем их сверки с требуемыми значениями. Генератор отчетов контроля безопасности ПО предназначен для формирования и выдачи на средства отображения выходных документов по результатам контроля технологической безопасности ПО.
Таким образом, предложенная структура и состав инструментальных средств поддержки создания безопасного программного обеспечения являются комплексной автоматизированной системой тестирования, средства которой с достаточной полнотой позволяют выявлять, каталогизировать и ликвидировать преднамеренные дефекты. Предложенные средства позволяют гибко сочетать экспертные, натурные и расчетные методы определения вероятностных характеристик наличия дефектов в программном обеспечении КС.