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