Содержание статьи:
Аппаратные средства защиты информации – это набор средств для защиты безопасности информации и информационных систем, которые реализованы на аппаратном уровне. Эти компоненты являются незаменимыми в понятии безопасности информационных систем, но разработчики аппаратного обеспечения предпочитают оставлять вопрос безопасности программистам.
Средства защиты информации: история создания модели
Проблема защиты стала объектом рассмотрения большого количества мировых фирм. Вопрос не оставил без интереса и фирму Intel, которая разработала систему 432. Но возникшие обстоятельства привели этот проект к неудаче, поэтому система 432 не обрела популярности. Существует мнение, что эта причина стала основой того, что остальные фирмы не стали пытаться реализовывать этот проект.
Именно создание вычислительной базы «Эльбрус-1» разрешило вопрос аппаратной защиты информации и информационных систем. Вычислительный проект «Эльбрус-1» был создан группой советских разработчиков. Они внесли в разработку основополагающую идею контроля над типами, которая используется на всех уровнях информационных систем. Разработка стала популярно использоваться и на аппаратном уровне. Вычислительная база «Эльбрус-1» была реализована планомерно. Многие считают, что именно такой подход обеспечил успех советских разработчиков.
На видео – интересные материалы о системах защиты информации:
Обобщенная модель системы защиты информации
Создатели «Эльбрус-1» внесли в разработку свою модель защиты информационной системы. Она выглядела следующим образом.
Сама информационная система может быть представлена как некое информационное пространство, которое способно обслуживать и обрабатывать устройство.
Система вычислений имеет модульный тип, то есть процесс разбит на несколько блоков (модулей), которые располагаются во всем пространстве информационной системы. Схема метода разработки очень сложна, но ее можно представить обобщенно: устройство, которое находится под обработкой программы, способно делать запросы к информационному пространству, проводя его чтение и редактирование.
Для того чтобы иметь четкое представление того, о чем идет речь, необходимо внести следующие определения:
- Узел – это отдельная локация информации произвольного объема с приложенной к ней ссылкой, которая указывается из обрабатывающего устройства;
- Адрес – путь, хранящий информацию и имеющий к ней доступ для редактирования. Задача системы заключается в том, чтобы обеспечивался контроль над используемыми ссылками, которые находятся под управлением операций. Должен осуществляться запрет на использование данных другого типа. Цель системы еще предусматривает такое условие, чтобы адрес поддерживал ограничение модификаций в операциях с аргументами иного типа;
- Программный контекст – совокупность данных, которые доступны для вычислений в блочном режиме (модульный режим);
- Базовые понятия и средства функциональности в моделях аппаратной защиты информации.
Сначала следует создать узел произвольного объема, который будет хранить данные. После появления узла произвольного объема новый узел должен быть подобен следующему описанию:
- Узел должен быть пуст;
- Узел должен предусматривать доступ только для одного обрабатывающего устройства через указанную ссылку.
Удаление узла:
- При попытке получить доступ к удаленному узлу должно происходить прерывание.
- Замена контекста или редактирование процедуры выполняемой обрабатывающим устройством.
Появившийся контекст имеет следующий состав:
- В контексте содержатся глобальные переменные, которые были переданы с помощью ссылки из прошлого контекста;
- Часть параметров, которые были переданы копированием;
- Данные из локальной сети, появившиеся в созданном модуле.
Основные правила, согласно которым должны реализовываться методы переключения контекста:
- Аутентификация добавленного контекста (к примеру, уникальный адрес, который позволяет перескакивать между контекстами);
- Сам переход контекста (выполнение уже имеющегося кода после перехода контекста невозможно, соответственно, с правами защищенности);
- Процессы формирования ссылки или иной схемы для аутентификации и перехода контекста.
Осуществить эти операции можно несколькими способами (даже без уникальных ссылок), однако принципы выполнения должны быть в обязательном виде:
- Входная точка в контекст определяется непосредственно внутри данного контекста;
- Подобная информация открыта для видимости другим контекстам;
- Исходный код и сам контекст переключаются синхронно;
- Средства защиты информации: изучение модели.
База характеризуется следующими особенностями:
- Защита аппаратных средств основывается на принципиальных понятиях:
- Модуль – это единственный компонент модели защиты информации, который имеет доступ к узлу, если его создателем он сам и есть (узел может быть доступен другим компонентам модели, если модуль подразумевает добровольную передачу информации);
- Совокупность данных из информации, которые открыты для модуля, всегда находится под контролем контекста;
- Действующая защита построена по довольно строгим принципам, однако она не мешает работе и возможностям программиста. Некоторые модули могут работать одновременно, если они не пересекаются между собой и не мешают друг другу. Такие модули способны передавать информацию между собой. Чтобы осуществить передачу данных, нужно, чтобы каждый модуль содержал в себе адрес переключения на другой контекст.
- Разработанная концепция является универсальной, так как она облегчает работу в системе. Строгий контроль над типами способствует качественному исправлению ошибок. К примеру, любое старание изменить адрес подразумевает мгновенное аппаратное прерывание на месте допущения ошибки. Следовательно, ошибка легко находится и доступна к быстрому исправлению.
- Гарантируется модульность в программировании. Неверно построенная программа не мешает работе другим. Негодный модуль способен выдать только найденные ошибки в результатах.
- Для работы в системе программисту не требуется прилагать дополнительных стараний. Помимо этого, при составлении программы, которая основывается на подобной модели, уже не стоит предусматривать права доступа и методы их передачи.
Аппаратные средства защиты: изучение архитектуры «Эльбрус»
В концепции модели «Эльбрус» существенна реализация, при которой для каждого слова в памяти имеется соответствующий тег, что служит для качественного разграничения типов.
По такому принципу можно рассчитать, будет ли определенное слово адресом либо принадлежать одному из типов данных.
Работа с адресом происходит следующим образом. Адрес содержит подробное описание некоторой области, по которой он ссылается, а также имеет определенный набор прав для доступа. Иными словами, это дескриптор. Он хранит всю информацию об адресе и объеме данных.
Дескриптор имеет следующие форматы:
- Дескриптор объекта;
- Дескриптор массива.
Дескриптор объекта незаменим в работе ООП (объектно-ориентированное программирование). В дескрипторе имеются модификаторы доступа, которые бывают приватными, публичными и защищенными. По стандарту всегда будет стоять публичная область, она доступна для видимости и использования всех компонентов исходного кода. Приватная область данных доступна для видимости в том случае, если проверяемый реестр дал на это разрешение.
При получении доступа к определенной ячейке памяти проходит проверка на определение корректности адреса.
Основные операции при работе с адресом:
- Индексация (определение адреса на компонент массива);
- Процесс операции CAST для дескрипторов объекта (модуляция к основному классу);
- Компактировка (процесс ликвидации адреса, который содержал путь на удаленную память).
Средства защиты информации: методы работы с контекстами
Модульный контекст структурирован из данных, хранение которых осуществляется в памяти ОЗУ (оперативная память, или оперативное запоминающее устройство), и выдается в виде адреса на регистр определенного процесса.
Переход между контекстами – это процесс вызова или возврата процедуры. При старте процесса исходного контекстного модуля происходит его сохранение, а при запуске нового – его создание. На выходе из процедуры контекст удаляется.
Что представляет собой процесс работы защищенного стека?
В модели «Эльбрус» применим особый механизм стека, который служит для повышения производительности при распределении памяти для локальных данных. Такая реализация разделяет три основные категории стековых данных, которые классифицируют по функционалу и модификации доступа, по отношению к пользователю.
Категории стековых данных:
- Форматы, данные из локального представления, а также посредствующие значения процесса, которые размещаются в процедуре стека;
- Форматы и локальные процессы, хранящиеся в стеке, который служит памятью пользователя;
- Соединяющая информация, которая имеет описание к прошлому (запустившемуся) процессу в стеке процедур.
Стек процедур имеет предназначение для работы с данными, которые вынесены на оперативные регистры. Для каждой процедуры характерно работать в собственном окне. Такие окна могут пересекаться с ранее установленными параметрами. Пользователь способен запросить данные только в используемом окне, которые находятся в оперативном реестре.
Стек пользователя служит для работы с данными, которые по нужде пользователя можно переместить в память.
Стек, соединяющий информацию, рассчитан на размещение информации о прошлой процедуре (вызванной ранее) и применимой при возврате. При выполнении условия безопасного программирования пользователь ограничен в доступе по отношению к изменению информации. Поэтому существует особый стек, которым могут манипулировать аппаратные средства и сама операционная система. Стек соединяющей информации построен по такому же принципу, как и стек процедур.
В стеке существует виртуальная память, и ей свойственно менять предназначение, именно поэтому возникает проблема безопасности данных. Этот вопрос имеет 2 аспекта:
- Перепредназначение памяти (выделение памяти под освобожденное пространство): здесь чаще всего оказываются адреса, которые уже недоступны для модуля;
- Зависшие указатели (адреса старого пользователя).
Первый аспект проблемы исправляется с помощью автоматической очистки перепредназначенной памяти. Концепция нахождения правильного пути во втором случае такова: указатели текущего фрейма можно сохранить только в используемом фрейме либо отправлять в виде параметра в вызываемый процесс (то есть происходит передача в верхний стек). Следовательно, указатели нельзя записать в глобальную область данных, передать как возвращаемое значение, а также нельзя записать в саму глубину стека.
На видео описаны современные средства защиты информации: