Дополнительные способы противодействия
Здесь уже идет чистое описание всяких возможностей по противодействию. Даются общие вводные, ведь защита может быть эффективной только тогда, когда каждый ее модуль написан на совесть с использованием различных ухищрений. То есть все рецепты, о которых говорилось выше, должны в той или иной форме присутствовать в любой системе.
Использовать для хранения данных защиты системные ресурсы Windows: дополнительную память, выделяемую для параметров окон и локальные хранилища потоков. Суть способа состоит в нестандартном использовании стандартных областей, скажем, хранить ключи, пароли: и т.п., совсем не там, где их будут искать при взломе в первую очередь.
Использовать операции сравнения нестандартными способами, во избежание их явного присутствия. Для сравнения есть определенные инструкции микропроцессора, о которых знают и разработчики и хакеры.
А если попытаться использовать нестандартные виды сравнения, то можно слегка запутать хакера, ожидающего стандартного ответа.
Избегать обращений к переменным, относящимся к защите напрямую. То есть использовать любые косвенные способы доступа к специальным областям.
Использовать метод «зеркалирования» событий, то есть применять нестандартные действия на стандартные вызовы. Об этом говорилось выше.
Использовать для шифрования надежные, проверенные временем алгоритмы и т. д.
Здесь перечислены только основные подходы, даже не основные, а общеизвестные. А об оригинальных разработках мы узнаем позже, как только хакеры смогут взломать очередную уникальную защиту.
ЛЕКЦИЯ 15-16
Защиты от несанкционированного доступа
Существует притча о самом надежном способе хранения информации: Информация должна быть в одном экземпляре на компьютере, который находится в бронированном сейфе, отключенный от всех сетей и обесточенный.
Понятно, что работать с такой информацией, мягко говоря, неудобно. В то же время хочется защитить программы и данные от несанкционированного доступа (НСД). А чтобы доступ был санкционированным, нужно определиться, кому что можно, а что нельзя.
Для этого нужно:
· разбить на классы информацию, хранящуюся и обрабатывающуюся в компьютере;
· разбить на классы пользователей этой информации;
· поставить полученные классы информации и пользователей в определенное соответствие друг другу.
Доступ пользователей к различным классам информации должен осуществляться согласно системе паролей, в качестве которой могут выступать:
· обычные пароли;
· настоящие замки и ключи;
· специальные тесты идентификации пользователей;
· специальные алгоритмы идентификации ПЭВМ, дискеты, программного обеспечения.
Системы защиты информации от НСД обеспечивают выполнение следующих функций:
· идентификация, т.е. присвоение уникальных признаков - идентификаторов, по которым в дальнейшем система производит аутентификацию;
· аутентификация, т.е. установление подлинности на основе сравнения с эталонными идентификаторами;
· разграничение доступа пользователей к ПЭВМ;
· разграничение доступа пользователей по операциям над ресурсами (программы, данные и т.д.);
· администрирование:
· определение прав доступа к защищаемым ресурсам,
· обработка регистрационных журналов,
· установка системы защиты на ПЭВМ,
· снятие системы защиты с ПЭВМ;
· регистрация событий:
· входа пользователя в систему,
· выхода пользователя из системы,
· нарушения прав доступа;
· реакция на попытки НСД;
· контроль целостности и работоспособности систем защиты;
· обеспечение информационной безопасности при проведении ремонтно-профилактических работ;
· обеспечение информационной безопасности в аварийных ситуациях.
Права пользователей по доступу к программам и данным описывают таблицы, на основе которых и производится контроль и разграничение доступа к ресурсам. Доступ должен контролироваться программными средствами защиты.
Если запрашиваемый доступ не соответствует имеющемуся в таблице прав доступа, то системы защиты регистрирует факт НСД и инициализирует соответствующую реакцию.
O Идентификация и аутентификация пользователя
Прежде чем получить доступ к ресурсам, пользователь должен пройти процесс представления компьютерной системе, который включает две стадии:
· идентификацию – пользователь сообщает системе по ее запросу свое имя (идентификатор);
· аутентификацию – пользователь подтверждает идентификацию, вводя в систему уникальную, не известную другим пользователям информацию о себе (например, пароль).
Для проведения процедур идентификации и аутентификации пользователя необходимо наличие:
· программы аутентификации;
· уникальной информации о пользователе.
Различают две формы хранения информации о пользователе: внешняя (например, пластиковая карта или голова пользователя) и внутренняя (например, запись в базе данных). Естественно, что информация, хранящаяся в голове, и информация в базе данных должны быть семантически тождественны.
Беда с жадным братом Али-Бабы Касимом приключилась именно из-за несовпадения внешней и внутренней форм: сим-сим не тождественен гороху, рису и т.д.
Рассмотрим структуры данных и протоколы идентификации и аутентификации пользователя. Практически любому ключевому носителю информации, используемому для опознания, соответствует следующая структура данных о пользователе:
· IDi - неизменный идентификатор i-го пользователя, который является аналогом имени и используется для идентификации пользователя;
· Ki - аутентифицирующая информация пользователя, которая может изменяться и служит для аутентификации (например, пароль Pi = Ki).
Так для носителей типа пластиковых карт выделяется неизменяемая информация IDi и объект в файловой структуре карты, содержащий Ki.
Совокупную информацию в ключевом носителе можно назвать первичной аутентифицирующей информацией i-го пользователя. Очевидно, что внутренний аутентифицирующий объект не должен существовать в системе длительное время (больше времени работы конкретного пользователя).
Например, Вы ввели пароль, который программа аутентификации занесла в переменную для сравнения с хранящимися в базе данных. Эта переменная должна быть обнулена не позже, чем Вы закончите свой сеанс.
Для длительного хранения следует использовать данные в защищенной форме. Рассмотрим две типовые схемы идентификации и аутентификации.
Первая схема. В компьютерной системе хранится:
Номер пользователя
| Информация для идентификации
| Информация для аутентификации
|
| ID1
| E1
|
| ID2
| E2
| ...
| ...
| ...
| n
| IDn
| En
| Здесь Ei = F(IDi, Ki), где «невосстановимость» Ki оценивается некоторой пороговой трудоемкостью T0 решения задачи восстановления Ki по Ei и IDi.
Кроме того для пары Ki и Kj возможно совпадение соответствующих значений E. В связи с этим вероятность ложной аутентификации пользователей не должна быть больше некоторого порогового значения P0. На практике задают T0 = 1020...1030, P0 = 10-7...10-9.
Протокол идентификации и аутентификации для первой схемы
· 1. Пользователь предъявляет свой идентификатор ID.
· 2. Если существует i = 1...n, для которого ID = IDi, то пользователь идентификацию прошел успешно. Иначе пользователь не допускается к работе.
· 3. Модуль аутентификации запрашивает у пользователя его аутентификатор K.
· 4. Вычисляется значение E = F(ID, K).
· 5. Если E = Ei, то аутентификация прошла успешно. Иначе пользователь не допускается к работе.
Вторая схема (модифицированная). В компьютерной системе хранится:
Номер пользователя
| Информация для идентификации
| Информация для аутентификации
|
| ID1, S1
| E1
|
| ID2, S2
| E2
| ...
| ...
| ...
| n
| IDn, Sn
| En
| Здесь Ei = F(Si, Ki), где S - случайный вектор, задаваемый при создании идентификатора пользователя; F - функция, которая обладает свойством «невосстановимости» значения Ki по Ei и Si.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|