У рассмотренных различных
по целям воздействия моделей закладок
имеется важная общая черта - наличие операции
записи, производимой закладкой (в оперативную
или внешнюю память). При отсутствии данной
операции никакое негативное влияние
невозможно. Вполне понятно, что для направленного
воздействия закладка должна также выполнять
и операции чтения. Так, например, можно
реализовать функцию целенаправленной
модификации данных в каком-либо секторе
жесткого диска, которая возможна только
после их прочтения.
Таким образом, исполнение кода
закладки может быть сопровождено операциями
несанкционированной записи (НСЗ), например,
для сохранения некоторых фрагментов
информации, и несанкционированного считывания
(НСЧ), которое может происходить отдельно
от операций чтения прикладной программы
или совместно с ними. При этом операции
считывания и записи могут быть не связаны
с получением информации, например считывание
параметров устройства или его инициализация
- закладка может использовать для своей
работы и такие операции, в частности,
для инициирования сбойных ситуаций или
переназначения ввода вывода.
Возможные комбинации несанкционированных
действий (НСЧ и НСЗ), а также санкционированных
действий прикладной программы или операционной
среды по записи (СЗ) или считыванию (СЧ)
приведены в табл. 1.2 [ПАС].
Ситуации 1 - 4 соответствуют
нормальной работе прикладной программы,
когда закладка не оказывает на нее никакого
воздействия.
Ситуация 5 может быть связана
либо с разрушением кода прикладной программы
в оперативной памяти ЭВМ, поскольку прикладная
программа не выполняет санкционированные
действия по записи и считыванию, либо
с сохранением уже накопленной в ОП информации.
Ситуация 6 связана с разрушением
или с сохранением информации (искажение
или сохранение выходного потока), записываемой
прикладной программой.
Ситуация 7 связана с сохранением
информации (сохранение входного потока)
считываемой прикладной программой.
Ситуация 8 связана с сохранением
информации закладкой при считывании
или записи информации прикладной программой.
Ситуация 9 не связана с прямым
негативным воздействием, поскольку прикладная
программа не активна, а закладка производит
только НСЧ (процесс «настройки»).
Ситуация 10 может быть связана
с сохранением выводимой информации в
оперативную память.
Ситуация 11 может быть связана
с сохранением вводимой информации в оперативную
память либо с изменением параметров процесса
санкционированного чтения закладкой.
Ситуация 12 может быть связана
с сохранением как вводимой, так и выводимой
прикладной программой информации в оперативную
память.
Ситуация 13 может быть связана
с размножением закладки, сохранением
накопленной в буферах ОП информации или
с разрушением кода и данных в файлах,
поскольку прикладная программа не активна.
1.4 Основные принципы
обеспечения безопасности
В качестве объекта обеспечения
технологической и эксплуатационной безопасности
ПО рассматривается вся совокупность
его компонентов в рамках конкретной КС.
В качестве доминирующей должна использоваться
стратегия сквозного тотального контроля
технологического и эксплуатационного
этапов жизненного цикла компонентов
ПО. Совокупность мероприятий по обеспечению
технологической и эксплуатационной безопасности
компонентов ПО должна носить, по возможности,
конфиденциальный характер. Необходимо
обеспечить постоянный, комплексный и
действенный контроль за деятельностью
разработчиков и пользователей компонентов
ПО. Кроме общих принципов, обычно необходимо
конкретизировать принципы обеспечения
безопасности ПО на каждом этапе его жизненного
цикла. Далее приводятся один из вариантов
разработки таких принципов.
1.4.1 Принципы обеспечения
технологической безопасности при обосновании,
планировании работ и проектном анализе
ПО
Принципы обеспечения безопасности
ПО на данном этапе включают принципы:
Комплексности обеспечения
безопасности ПО, предполагающей рассмотрение
проблемы безопасности информационно
- вычислительных процессов с учетом всех
структур КС, возможных каналов утечки
информации и несанкционированного доступа
к ней, времени и условий их возникновения,
комплексного применения организационных
и технических мероприятий.
Планируемости применения средств
безопасности программ, предполагающей
перенос акцента на совместное системное
проектирование ПО и средств его безопасности,
планирование их использования в предполагаемых
условиях эксплуатации.
Обоснованности средств обеспечения
безопасности ПО, заключающейся в глубоком
научно-обоснованном подходе к принятию
проектных решений по оценке степени безопасности,
прогнозированию угроз безопасности,
всесторонней априорной оценке показателей
средств защиты.
Достаточности защищенности
программ, отражающей необходимость поиска
наиболее эффективных и надежных мер безопасности
при одновременной минимизации их стоимости.
Гибкости управления защитой
программ, требующей от системы контроля
и управления обеспечением безопасности
ПО способности к диагностированию, опережающей
нейтрализации, оперативному и эффективному
устранению возникающих угроз,
Заблаговременности разработки
средств обеспечения безопасности и контроля
производства ПО, заключающейся в предупредительном
характере мер обеспечения технологической
безопасности работ в интересах недопущения
снижения эффективности системы безопасности
процесса создания ПО.
Документируемости технологии
создания программ, подразумевающей разработку
пакета нормативно-технических документов
по контролю программных средств на наличие
преднамеренных дефектов.
Принципы достижения технологической
безопасности ПО
в процессе его разработки
Принципы обеспечения безопасности
ПО на данном этапе включают принципы:
регламентации технологических
этапов разработки ПО, включающей упорядоченные
фазы промежуточного контроля, спецификацию
программных модулей и стандартизацию
функций и формата представления данных;
автоматизации средств контроля
управляющих и вычислительных программ
на наличие преднамеренных дефектов;
создания типовой общей информационной
базы алгоритмов, исходных текстов и программных
средств, позволяющих выявлять преднамеренные
программные дефекты;
последовательной многоуровневой
фильтрации программных модулей в процессе
их создания с применением функционального
дублирования разработок и поэтапного
контроля;
типизации алгоритмов, программ
и средств информационной безопасности,
обеспечивающей информационную, технологическую
и программную совместимость, на основе
максимальной их унификации по всем компонентам
и интерфейсам;
централизованного управления
базами данных проектов ПО и администрирование
технологии их разработки с жестким разграничением
функций, ограничением доступа в соответствии
со средствами диагностики, контроля и
защиты;
блокирования несанкционированного
доступа соисполнителей и абонентов государственных
и негосударственных сетей связи, подключенных
к стендам для разработки программ;
статистического учета и ведения
системных журналов о всех процессах разработки
ПО с целью контроля технологической безопасности;
использования только сертифицированных
и выбранных в качестве единых инструментальных
средств разработки программ для новых
технологий обработки информации и перспективных
архитектур вычислительных систем;
1.4.2 Принципы обеспечения
технологической безопасности на этапах
стендовых и приемо-сдаточных испытаний
Принципы обеспечения безопасности
ПО на данном этапе включают принципы:
тестирования ПО на основе разработки
комплексов тестов, параметризуемых на
конкретные классы программ с возможностью
функционального и статистического контроля
в широком диапазоне изменения входных
и выходных данных;
проведения натурных испытаний
программ при экстремальных нагрузках
с имитацией воздействия активных дефектов;
осуществления «фильтрации»
программных комплексов с целью выявления
возможных преднамеренных дефектов определенного
назначения на базе создания моделей угроз
и соответствующих сканирующих программных
средств;
разработки и экспериментальной
отработки средств верификации программных
изделий;
проведения стендовых испытаний
ПО для определения непреднамеренных
программных ошибок проектирования и
ошибок разработчика, приводящих к невыполнению
целевых функций программ, а также выявление
потенциально «узких» мест в программных
средствах для разрушительного воздействия;
отработки средств защиты от
несанкционированного воздействия нарушителей
на ПО;
сертификации программных изделий
КС по требованиям безопасности с выпуском
сертификата соответствия этого изделия
требованиям технического задания;
1.4.3 Принципы обеспечения
безопасности при эксплуатации
программного обеспечения
Принципы обеспечения безопасности
ПО на данном этапе включают принципы:
сохранения эталонов и ограничения
доступа к ним программных средств, недопущение
внесения изменений в эталоны;
профилактического выборочного
тестирования и полного сканирования
программных средств на наличие преднамеренных
дефектов;
идентификации ПО на момент
ввода его в эксплуатацию в соответствии
с предполагаемыми угрозами безопасности
ПО и его контроль;
обеспечения модификации программных
изделий во время их эксплуатации путем
замены отдельных модулей без изменения
общей структуры и связей с другими модулями;
строгого учета и каталогизации
всех сопровождаемых программных средств,
а также собираемой, обрабатываемой и
хранимой информации;
статистического анализа информации
обо всех процессах, рабочих операциях,
отступлениях от режимов штатного функционирования
ПО.
гибкого применения дополнительных
средств защиты ПО в случае выявления
новых, непрогнозируемых угроз информационной
безопасности;
1.5 Жизненный цикл
программного обеспечения компьютерных
систем. Технологическая и эксплуатационная
безопасность программ
Необходимость определения
этапов жизненного цикла (ЖЦ) ПО обусловлена
стремлением разработчиков к повышению
качества ПО за счет оптимального управления
разработкой и использования разнообразных
механизмов контроля качества на каждом
этапе, начиная от постановки задачи и
заканчивая авторским сопровождением
ПО. Наиболее общим представлением жизненного
цикла ПО является модель в виде базовых
этапов – процессов [Лип1], к которым относятся:
системный анализ
и обоснование требований к ПО;
предварительное
(эскизное) и детальное (техническое) проектирование
ПО;
разработка программных
компонент, их комплексирование и отладка
ПО в целом;
испытания, опытная эксплуатация
и тиражирование ПО;
регулярная эксплуатация ПО,
поддержка эксплуатации и анализ результатов;
сопровождение
ПО, его модификация и совершенствование,
создание новых версий.
Данная модель является общепринятой
и соответствует как отечественным нормативным
документам в области разработки программного
обеспечения, так и зарубежным. С точки
зрения обеспечения технологической безопасности
целесообразно рассмотреть более подробно
особенности представления этапов ЖЦ.
Графическое представление
моделей ЖЦ позволяет наглядно выделить
их особенности и некоторые свойства процессов.
Первоначально была создана каскадная
модель ЖЦ [Лип1], в которой крупные этапы
начинались друг за другом с использованием
результатов предыдущих работ. Наиболее
специфической является спиралевидная
модель ЖЦ [Лип1]. В этой модели внимание
концентрируется на итерационном процессе
начальных этапов проектирования. На этих
этапах последовательно создаются концепции,
спецификации требований, предварительный
и детальный проект. На каждом витке уточняется
содержание работ и концентрируется облик
создаваемого ПО.
Для проектирования ПО сложной
системы, особенно системы реального времени,
целесообразно использовать общесистемную
модель ЖЦ, основанную на объединении
всех известных работ в рамках рассмотренных
базовых процессов. Эта модель предназначена
для использования при планировании, составлении
рабочих графиков, управлении различными
программными проектами.
Совокупность этапов данной
модели ЖЦ целесообразно делить на две
части, существенно различающихся особенностями
процессов, технико-экономическими характеристиками
и влияющими на них факторами.
В первой части ЖЦ производится
системный анализ, проектирование, разработка,
тестирование и испытания ПО. Номенклатура
работ, их трудоемкость, длительность
и другие характеристики на этих этапах
существенно зависят от объекта и среды
разработки. Изучение подобных зависимостей
для различных классов ПО позволяет прогнозировать
состав и основные характеристики графиков
работ для новых версий ПО.
Этой совокупности этапов ЖЦ
ПО соответствует процесс внесения в разрабатываемые
программы определенных защитных функций.
Этот процесс называется обеспечением технологической
безопасности и характеризуется необходимостью
предотвращения модификации ПО за счет
внедрения РПС априорного типа (алгоритмических
и программных закладок).
Вторая часть ЖЦ, отражающая
поддержку эксплуатации и сопровождения
ПО, относительно слабо связана с характеристиками
объекта и среды разработки. Номенклатура
работ на этих этапах более стабильна,
а их трудоемкость и длительность могут
существенно изменяться, и зависят от
массовости применения ПО. Для любой модели
ЖЦ обеспечение высокого качества программных
комплексов возможно лишь при использовании
регламентированного технологического
процесса на каждом из этих этапов. Такой
процесс поддерживается CASE-средствами
(средствами автоматизации разработки
ПО), которые целесообразно выбирать из
имеющихся или создавать с учетом объекта
разработки и адекватного ему перечня
работ.
Этапам эксплуатации и сопровождения
ПО соответствует процесс обеспечения эксплуатационной
безопасности ПО. Этот процесс характеризуется
необходимостью защиты программ от компьютерных
вирусов и программных закладок апостериорного
типа. Последние могут внедряться за счет
злонамеренного использования методов
исследования программ и их спецификаций.
Кроме того, на этапе обеспечения эксплуатационной
безопасности ПО применяются методы защиты
программ от несанкционированного копирования,
распространения и использования.
- Практическая часть
- Профилактика проникновения
вредоносного программного обеспечения
посредством исследования Реестра ОС Windows