- •II. Методы и средства защиты информации в компьютерных системах 28
- •Глава 12. Построение комплексных систем защиты информации 210
- •Глава 13. Организация функционирования комплекс ных систем защиты информации 245
- •Глава 1
- •1.1. Предмет защиты
- •5. Сложность объективной оценки количества информации.
- •1.2. Объект защиты информации
- •Глава 2
- •2.1. Случайные угрозы
- •2.2.4. Несанкционированная модификация структур
- •II. Методы и средства защиты информации в компьютерных системах
- •Глава 3
- •3.1. Правовое регулирование в области безопасности информации
- •3.1.1. Политика государства рф в области безопасности информационных технологий
- •3.2. Общая характеристика организационных методов защиты информации в кс
- •Глава 4
- •4.1. Дублирование информации
- •4.2. Повышение надежности кс
- •4.3. Создание отказоустойчивых кс
- •4.4. Блокировка ошибочных операций
- •4.5. Оптимизация взаимодействия пользователей и обслуживающего персонала с кс
- •Глава 5
- •5.1. Система охраны объекта кс
- •5.1.1. Инженерные конструкции
- •5.1.2. Охранная сигнализация
- •5.1.5. Дежурная смена охраны
- •5.2. Организация работ с конфиденциальными информационными ресурсами на объектах кс
- •5.3. Противодействие наблюдению в оптическом диапазоне
- •5.4. Противодействие подслушиванию
- •5.5. Средства борьбы с закладными подслушивающими устройствами
- •5.6. Защита от злоумышленных действий обслуживающего персонала и пользователей
- •Глава 6
- •6.2. Активные методы защиты от пэмин
- •Глава 7
- •7.1. Общие требования к защищенности кс от несанкционированного изменения структур
- •7.2. Защита от закладок при разработке программ
- •7.2.2. Автоматизированная система разработки программных средств
- •7.3. Защита от внедрения аппаратных закладок на этапе разработки и производства
- •7.4. Защита от несанкционированного изменения структур кс в процессе эксплуатации
- •Глава 8
- •8.1. Система разграничения доступа к информации в кс
- •8.1.3. Концепция построения систем разграничения доступа
- •8.2. Система защиты программных средств от копирования и исследования
- •8.2.1. Методы, затрудняющие считывание скопированной информации
- •8.2.2. Методы, препятствующие использованию скопированной информации
- •Глава 9
- •9.2. Шифрование. Основные понятия
- •9.3.3.Аналитические методы шифрования
- •9.3.4. Аддитивные методы шифрования
- •9.5.1. Российский стандарт на шифрование информации гост 28147-89
- •Глава 10
- •10.1. Классификация компьютерных вирусов
- •10.2. Файловые вирусы
- •10.2.2. Алгоритм работы файлового вируса
- •10.2.3. Особенности макровирусов
- •10.3. Загрузочные вирусы
- •10.4. Вирусы и операционные системы
- •10.5.2. Методы удаления последствий заражения вирусами
- •Глава 11
- •11.2. Особенности защиты информации в ркс
- •11.7. Особенности защиты информации в базах данных
- •Глава 12
- •12.2. Этапы создания комплексной системы защиты информации
- •12.3. Научно-исследовательская разработка ксзи
- •12.4.1. Специальные методы неформального моделирования
- •12.7.1. Классический подход
- •12.7.2. Официальный подход
- •12.8. Создание организационной структуры ксзи
- •Глава 13
7.2.2. Автоматизированная система разработки программных средств
Автоматизированная система создается на базе локальной вычислительной сети (ЛВС). В состав ЛВС входят рабочие станции программистов и сервер администратора [19]. Программисты имеют полный доступ только к информации своей ЭВМ и доступ к ЭВМ других программистов в режиме чтения. С рабочего места
96
администратора возможен доступ в режиме чтения к любой ЭВМ разработчиков.
База данных алгоритмов разрабатываемого программного средства находится на„сервере администратора и включает в себя архив утвержденных организацией-разработчиком и контролирующей организацией алгоритмов программного средства в виде блок-схем, описания на псевдокоде для их контроля администратором.
На сервере администратора располагается база данных листингов программ разрабатываемого программного средства, включающая в себя архив утвержденных организацией-разработчиком и контролирующей организацией программ для их контроля администратором с применением программ сравнения листингов и поиска измененных и добавленных участков программ.
На сервере администратора находится также база данных эталонных выполняемых модулей программ разрабатываемого программного средства для их контроля с применением программ поиска изменений в этих модулях.
Программы контроля версий листингов программ и сравнения выполняемых модулей должны быть разработаны организацией, не связанной ни с организацией-разработчиком, ни с контролирующей организацией и должны контролировать программы любого назначения.
Контроль за безопасностью разработки может осуществляться следующим образом.
Администратор в соответствии со своим графиком без уведомления разработчиков считывает в базы данных листинги программ и выполняемые модули. С помощью программ сравнения администратор выявляет и анализирует изменения, которые внесены разработчиком, по сравнению с последним контролем.
По мере разработки выполняемых модулей в базе администратора накапливаются готовые к сдаче заказчику эталонные образцы выполняемых модулей, сохранность которых контролируется администратором.
Применение такой организации работ позволяет администратору выявлять закладки и непреднамеренные ошибки на всех стадиях разработки программного средства. Администратор не мо-
4 В И Завгоролний 97
жет сам внедрить закладку, так как у него нет права на модификацию программ, разрабатываемых программистами.
7.2.3. Контрольно-испытательный стенд
Одним из наиболее эффективных путей обнаружения закладок и ошибок в разрабатываемых программных средствах является создание комплексного контрольно-испытательного стенда разрабатываемой системы. Он позволяет анализировать программные средства путем подачи многократных входных воздействий на фоне изменяющихся внешних факторов, с помощью которых имитируется воздействие возможных закладок. Таким образом, контрольно-испытательный стенд может рассматриваться как детальная имитационная модель разрабатываемой системы, позволяющая обеспечить всесторонний анализ функционирования разрабатываемого программного средства в условиях воздействия закладок.
Контрольно-испытательный стенд должен отвечать следующим требованиям [19]:
Стенд строится как открытая система, допускающая модер низацию и наращивание возможностей.
Стенд должен обеспечивать адекватность структуры и ин формационных потоков структуре и информационным потокам реальной системы.
Необходимо поддерживать взаимозаменяемость программ ных модулей модели и реальной системы.
Стенд должен позволять проводить как автономные испы тания модулей, так и всего программного средства в целом.
Контрольно-испытательный стенд может содержать следующие модули (рис. 11):
модель системы, которая состоит из моделей программных модулей и программных модулей реальной системы;
модуль конфигурации модели системы, осуществляющий регистрацию и динамическое включение программных модулей реальной системы и моделей программных модулей из соответствующих баз данных;
база данных моделей угроз - для накопления и модификации моделей угроз, представленных в формализованном виде;
98
модуль формирования входных воздействий, учитывающий возможные угрозы, ограничения на входную информацию и результаты тестирования на предыдущем шаге;
ММ — модель программного модуля; МС - программный модуль реальной системы.
Рис. 11. Структурнаясхемаконтрольно-испытательного
стенда
модель внешних воздействий, предназначенная для учета воздействий, внешних по отношению к моделируемой системе;
модуль анализа результатов тестирования. При разработке программных продуктов для обработки конфиденциальных данных готовые программы должны представляться на сертификацию в виде исходных программ на языках
99
высокого уровня и в виде выполняемого модуля. Наличие программы на языке высокого уровня значительно упрощает процесс контроля программы на отсутствие закладок. На этом уровне программирования применяются стандартные подходы к разработке конструкций языка, как правило, не используются особенности конкретных аппаратных средств, на которых выполняется программа. При наличии транслятора, проверенного на отсутствие ошибок и закладок, из проверенной программы на языке высокого уровня легко получается выполняемый модуль, который сравнивается с представленным разработчиком выполняемым модулем. Проверка программных средств осуществляется с помощью специальных программ, которые позволяют автоматизировать анализ на ошибки и закладки. Они контролируют отсутствие скрытых входов в блоки («люков»), отсутствие тупиковых ветвей алгоритмов, выдают информацию о наличии операторов, блоков, назначение которых программе неизвестно. Особое внимание уделяется участкам программ, написанных на языках более низкого уровня, а также попыткам выполнения действий в обход операционной системы (если это допускает система программирования). Окончательное решение принимается программистом после тщательного анализа информации, полученной специальной программой контроля.
Выполняемые модули программных средств проверяются в процессе сертификации на специальных аппаратно-программных стендах, способных имитировать функционирование испытываемого программного средства на допустимом множестве входных и внешних воздействий. При контроле выполняется операция, обратная транслированию - дизассемблирование. Для упрощения анализа выполняемых модулей применяются также отладчики, программы-трассировщики, которые позволяют проконтролировать последовательность событий, порядок выполнения команд.