Методы и средства привязки программного обеспечения к аппаратному окружению и физическим носителям. Методы и средства ограничения доступа.



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

Методы идентификации ПЭВМ :

· Привязка к винчестеру

· Привязка к BIOS

· Привязка к архитектуре, набору ПО, и т. д.

· Измерение производительности аппаратуры

· Метод с частичным стиранием памяти.

У информации, хранимой на винчестере, можно найти следующие уникальные характеристики :

· время создания файла (а лучше, каталога).

· номер кластера. Можно проверить, считав FAT, или открыть файл и получить номер кластера из области данных DOS.

· информация в неиспользуемом участке последнего кластера.

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

· расположение bad кластеров. Это можно считать надежным, если такие кластеры имеются на диске, причем, конечно, настоящие bad, а не только помеченные как, если, при этом, их badness каждый раз проверяется попыткой записи/чтения, и если их наличие нельзя имитировать резидентной заглушкой. К сожалению, сейчас довольно редко можно встретить по-настоящему плохой винчестер.

· информация в неиспользуемых дорожках (например, нестандартное форматирование). Такая информация имеет мало шансов на выживание. Так как эти дорожки официально неиспользуемые, то любая программа, желающая что-либо туда записать, имеет на это полное право, например, именно на них подбирается оптимальный Interleave программами типа Calibrat или Optune.

· кроме того у некоторых типов винчестеров имеется серийный номер.

 


Привязка к BIOS

При привязке к BIOS можно проверять:

· тип ПЭВМ по адресу F000:FFFE;

· дату создания BIOS (по адресу F000:FFF5-FFFD в ASCII формате);

· таблицу конфигурации BIOS (если BIOS создана после 10.1.86, то адрес таблицы возвращает в ES:BX функция C0h INT 15h);

· контрольные суммы BIOS (причем желательно рассчитывать также контрольные суммы BIOS жесткого диска и экрана).

Также можно запомнить точки входа в BIOS некоторых прерываний и, или вызывать их напрямую (PUSHF; CALL FAR addr_saved), или восстанавливать вектора на время работы. Это, кстати, весьма затруднит работу отладчиков (см. Защита от отладки). Чтобы найти точки входа, можно трассировать цепочку обработчиков прерывания, воспользоваться функцией 13h прерывания 2Fh, или надеяться, что защите не попадется компьютер, в котором INT 40h показывает не на F000:EC59 (что не так уж далеко от истины).

А в целом, метод, хотя и прост, не позволяет защищать программу в пределах серии ПЭВМ. Наилучшим выходом, возможно, было бы перепрограммирование BIOS (это, кстати, вовсе не является неразрешимой задачей, особенно на компьютерах с Flash ROM).

Привязка к архитектуре, набору ПО, и т.д.

Под привязкой к архитектуре подразумевается проверка конфигурации компьютера, как то: число и тип НГМД, число и тип НМД, тип видеоадаптера, объем ОЗУ, наличие дополнительной и/или расширенной памяти и т.д.

Под привязкой к программному обеспечению понимаются проверки наличия на ПЭВМ (т.е. на винчестере или в ОЗУ) определенных драйверов, программ. Так же можно проверять наличие в файлах AUTOEXEC.BAT или CONFYG.SYS определенной последовательности запусков программ и команд DOS. Так же можно модифицировать системные файлы и потом проверять это -- [ДМИ].

Это все хотя и простые, но крайне ненадежные методы. Для них очень велика вероятность случайного срабатывания (например, при изменении конфигурации компьютера или просто установки нового русификатора), кроме того, они очень неустойчивы к "взлому".


Дата добавления: 2022-01-22; просмотров: 124; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!