Методическое пособие по изучению методов защиты программного обеспечения с использованием аппаратных ключей HASP4 по курсу "Программно-аппаратные средства защиты информации". Бабенко Л.К - 25 стр.

UptoLike

25
4.7. Использование функциональности программы в качестве
реакции на отсутствие ключа HASP
Существует определенный набор действий, которые могут служить
реакцией на отсутствие соответствующего устройства HASP. Самым простым
действие является вывод на экран подсказки типа «HASP не найден». Однако
это сразу же дает понять, что была осуществлена операция по проверке наличия
ключа.
Вместо появления подобной
подсказки можно предусмотреть
последовательность действий, прерывающих нормальное функционирование
защищаемого приложения до тех пор, пока соответствующий ключ HASP не
будет подсоединен. Например, в случае, если ключ HASP не был найден, можно
отключить клавиатуру, а включить ее только в том случае, если будет
подключен верный ключ HASP. Незаконный пользователь может подумать, что
сбой был вызван
ошибкой в программе. Он может и не понять, что была
осуществлена проверка HASP, а проблема возникла из-за отсутствия
соответствующего ключа.
Однако, предусматривая подобные процедуры при работе приложения,
не следует забывать о том, что законный пользователь может по ошибке забыть
подключить свой ключ HASP.
4.8. Создание помех
Вызовите процедуру hasp() и сделайте так, чтобы
она передавала
параметры с неверными значениями. Эти значения могут быть получены при
помощи генератора случайных чисел, при помощи измерения времени, при
получении каких-либо результатов промежуточных вычислений и т.д. Понятно,
что такие вызовы процедуры hasp() не должны приводить к какому-либо
значимому действию. Создание подобных помех способно создать
дополнительные трудности
при попытке взлома защищаемого приложения.
4.9. Использование зависимых от HASP данных
При использовании хранящихся в памяти HASP данных перед тем, как
продолжить работу, обычно проверяется правильность полученных значений.
Однако такие проверки вынуждают вас включать реальные значения
непосредственно в приложение. Вследствие этого значения могут быть
взломаны.
Для предотвращения несанкционированного доступа к этим данным
используйте
их в приложении неявным образом. Если HASP подсоединен, то
значение верно. В противном случаезначение неверно и приводит к ошибке.