- •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. Защита от закладок при разработке программ
7. 2.1. Современные технологии программирования
Для разработки программных средств, свободных от ошибок и закладок, необходимо выполнение следующих условий:
использование современных технологий программирования;
наличие автоматизированной системы разработки;
наличие автоматизированных контрольно-испытательных стендов;
представление готовых программ на языках высокого уровня;
наличие трансляторов для обнаружения закладок. Современные технологии программирования предполагают высокую степень автоматизации процессов создания, отладки и тестирования программ. Применение стандартных модулей позволяет упростить процесс создания программ, поиска ошибок и закладок.
Одним из перспективных направлений создания программного обеспечения повышенной безопасности является использование объектно-ориентированного программирования, идущего на смену структурному программированию [19].
Применение объектно-ориентированного программирования (ООП) позволяет разделить фазы описания и фазы реализации абстрактных типов данных. Два выделенных модуля допускают раздельную компиляцию. В модуле описания задаются имена и типы внутренних защищенных и внешних данных, а также перечень процедур (методов) с описанием типов и количества параметров для них. В модуле реализации находятся собственно процедуры, обрабатывающие данные. Такое разделение повышает надежность программирования, так как доступ к внутренним данным возможен только с помощью процедур, перечисленных в модуле описания. Это позволяет определять большую часть ошибок
95
в обработке абстрактного типа данных на этапе компиляции, а не на этапе выполнения. Анализ программных средств на наличие > закладок облегчается, так как допустимые действия с абстракт-; ными данными задаются в модуле описания, а не в теле процедур.
Одним из центральных понятий ООП является понятие «класс». С помощью этого понятия осуществляется связывание определенного типа данных с набором процедур и функций, которые могут манипулировать с этим типом данных.
Преимущество ООП заключается также в предоставлении возможности модификации функционирования, добавления новых свойств или уничтожении ненужных элементов, не изменяя того, что уже написано и отлажено. Пользователю достаточно оп-, ределить объекты, принадлежащие уже созданным классам и по- , сылать им сообщения. При этом контроль безопасности программного продукта сводится к анализу модулей описания классов. Если класс из библиотеки классов не удовлетворяет разработчика, то он может создать класс, производный от базового, произвести в нем необходимые изменения и работать с объектами полученного производного класса. Если данные и методы базового класса не должны быть доступны в производных классах, то их следует описать как внутренние.
Концепция ООП вынуждает разработчиков программных продуктов тщательно продумывать структуру данных класса и набор методов (процедур), которые необходимы для обработки этих данных. Получаемые программы представляют собой множество легко читаемых, самодокументируемых модулей описаний классов и множество модулей реализации тел методов. Такое представление программ упрощает их семантический анализ и контроль на наличие в них закладок.