Скачать AGAVA FireWall

           КОМПЬЮТЕРНАЯ  
            ЗАЩИТА
 

     АППАРАТНЫЕ КЛЮЧИ ЗАЩИТЫ  

ГЛАВНАЯ  СТРАНИЦА

Угрозы  безопасности

Системы  обнаружения
атак  сетевого  уровня
Системы  обнаружения
атак  системного  уровня
Защита  от  удаленных  атак
в  сети  Internet
Административные   методы
з
ащиты   в  сети  Internet
ППрограммно-аппаратные
методы   защиты  в  Internet
Рынок  систем  безопасности
Лидеры  на  рынке
систем  безопасности
Вирусы  в  сети  Internet
Защита  информации  на
персональном  компьютере
Информационная
безопасность  в  Intranet
Меры  процедурного  уровня
Фильтрация  информации
Безопасность
программной  среды
ы
Виртуальные  частные  сети
Задачи  информационной
безопасности
Избыточная  защита
Оценка 
эффективности  защиты
Криптография  как  наука
Модели
криптоаналитических  атак
Криптография
для  программиста
Актуальные  задачи
защиты  программ

Аппаратные ключи защиты

Стеганографическая
защита  информации

Ослабление
средств  защиты

Исследования  
средств  защиты

Концепции безопасности

Защита  компьютера  от  несанкционированного доступа

Защита  компьютера 
от  сбоев

Безопасность  
в  сети  Интернет

Атаки  из  сети  Интернет

 

На рынке средств защиты программ от несанкционированного тиражирования присутствуют так называемые аппаратные ключи защиты. Насколько серьезным препятствием могут служить аппаратные ключи? Для защиты неважно, какого цвета корпус у ключа и на каком языке можно читать документацию. А по-настоящему важно только то, что в ключе является секретным и неповторимым и способно ли это "нечто" обеспечить необходимый уровень защиты.  

Поэтому в дальнейшем ключи рассматриваются исключительно как аппаратные устройства, работающие в определенных условиях и имеющие некоторую функциональность. Полезными признаются только те функции, которые невозможно реализовать чисто программными средствами и для которых не существует эффективной атаки.

 Модификация кода и эмуляция. Для того чтобы заставить программу работать так, как она работала бы с ключом, можно или внести исправления в программу, или эмулировать наличие ключа. Модификация программы, как правило, возможна лишь в тех случаях, когда ответы, полученные от ключа, просто проверяются, но не являются математически необходимыми для обеспечения работоспособности программы. Но это значит, что ключ, по большому счету, не требуется для достижения полной функциональности. Такое случается, когда программа не использует всех возможностей ключа или когда возможности ключа очень ограничены.

При эмуляции никакого воздействия на программу не происходит, т. е., например, не нарушается контрольная сумма исполняемых модулей. И полный эмулятор, если его удается построить, просто повторяет все поведение реального ключа. Не вдаваясь очень глубоко в технические подробности, будем исходить из предположения, что у противника есть следующие возможности: перехватывать все обращения к ключу; протоколировать и анализировать эти обращения; посылать запросы к ключу; получать ответы от ключа; протоколировать и анализировать эти ответы; посылать ответы от имени ключа.

Такие широкие возможности противника можно объяснить тем, что в его распоряжении есть вся та информация, какая есть и у программиста, защищающего программу с помощью аппаратного ключа. То есть противник имеет доступ ко всем открытым интерфейсам, документации, драйверам и может их анализировать на практике с привлечением любых средств. Следовательно, можно предположить, что противник со временем научится полностью контролировать протокол, по которому происходит обмен информацией между прикладной программой и ключом. Контроль может осуществляться на любом уровне, но чаще всего запросы перехватываются при передаче данных между программой и драйвером ключа. Однако стоит учитывать, что возможность эмуляции еще не означает, что противник способен вычислять правильные ответы на любые запросы, которые посылает ключу программа. 

Ключи с памятью. Это, наверное, самый простой тип ключей. Ключи с памятью имеют определенное число ячеек, из которых разрешено считывание. В некоторые из этих ячеек также может производиться запись. Обычно в ячейках, недоступных для записи, хранится уникальный идентификатор ключа. Правда, и ключи с памятью не способны противостоять эмуляции. Достаточно один раз прочитать всю память и сохранить ее в эмуляторе. После этого правильно эмулировать ответы на все запросы к ключу не составит большого труда. Таким образом, аппаратные ключи с памятью в заданных условиях не способны дать никаких преимуществ по сравнению с чисто программными системами.   (продолжение)