Современные технологии защиты программ

Чтобы объяснить своим клиентам принципы работы этой технологии и правильного ее использования, компания MultiSoft провела 6 декабря семинар «Современные технологии защиты программ и данных».

Сейчас существует три вида аппаратных ключей — с памятью, алгоритмические и микропроцессорные. Ключи с памятью недостаточно надежны и сейчас уже почти не используются, а микропроцессорные ключи слишком дороги — около 150 долл., и их применение часто невыгодно для производителей недорогих программ. Поэтому наибольшей популярностью пользуются те аппаратные ключи, которые имеют внутри микроконтроллер с прошитым в нем определенным алгоритмом, применяющим в процессе работы вшитый в ключ уникальный идентификатор. Чем активнее алгоритм ключа используется в работе защищаемой системы, тем сложнее пиратам блокировать защиту (см. врезку «Советы по защите»). Другим применением аппаратного ключа является идентификация пользователей.

MultiSoft продает не только ключи иностранных производителей, но и собственный MPKey, который выпускается в двух вариантах: просто алгоритмический ключ MPKey и ключ с памятью KPKey-Memo.

Они реализованы на микроконтроллере производства MicroChip. Правда, скорость шифрования небольшая — 56 байт/с, но для идентификации и защиты программ ее вполне хватает. Сейчас компания разрабатывает следующее поколение своих ключей под названием MSKey. В них будет использоваться алгоритм шифрования уже собственной разработки. Стоить он будет дешевле, а шифровать быстрее. Кроме того, он будет реализован в двух вариантах — для портов LPT или USB.

Несмотря на то что аппаратный ключ может шифровать данные, использовать его для кодирования в потоковом режиме невозможно — слишком мала скорость. Для этого лучше пользоваться программным обеспечением, предназначенным для шифрования данных. Его на семинаре представил Алексей Волчков, президент ассоциации «РусКрипто», рассказавший о продуктах компании «ЛАН Крипто».

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

Сейчас компания разработала комплект программ для офиса «КриптоОфис», который позволяет шифровать всю информацию — от файлов на диске до электронной почты. Пакет программ «ЛАН Крипто» также работает с офисными приложениями Microsoft Word, Excel, Access и другими. Кроме того, компания разработала устройство аппаратного шифрования содержимого диска под названием «Грим-Диск». Таким образом, программные продукты «ЛАН Крипто» и MultiSoft хорошо дополняют друг друга: одни защищают данные от копирования, а другие — программы от модификации, а также идентифицируют пользователей. При использовании продуктов обоих производителей можно построить достаточно надежную корпоративную систему защиты.


Советы по защите

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

Естественно, систем принятия решений нужно делать как можно больше, причем сам код не должен повторяться.

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