Всем доброго времени суток!
Как неоднократно замечалось мной и другими пользователями данного блога, многое, что здесь размещено, имеет к Линуксу опосредованное отношение. В большинстве случаев, это какие-то IT-заметки, IT-рассказы. Вот и сегодня речь пойдёт не о Юниксах, а, скорее, о Windows, ведь поговорить я хочу о средствах защиты программ под этим самым Windows.
В руках у меня есть электронный ключ защиты Guardant, программатор для него «Guardant Integrator» — обе эти штуки куплены на деньги университета, в котором я учусь, так что всё законно. Программатор уже установлен на Windows XP (опять же спасибо университету), которая крутится на VMware Player под Ubuntu. Плюс ко всему вышеописанному — Visual Studio, дабы что-нибудь закодить и позащищать. Вот такая непростая схема.
Данный рассказ не является рекламой, я просто делюсь интересной (на мой взгляд) информацией.
Собственно, что такое Guardant:
Guardant — семейство электронных ключей для защиты программного обеспечения от несанкционированного копирования и распространения. Разработаны российской компанией Актив.
Аналогом Guardant’а является система HASP, которую, кстати, использует 1C. К сожалению, с компанией Aladdin Knowledge Systems у моего ВУЗа отношений не установлено, а значит, в HASP’е мне пока не покопаться.
Итак, вернёмся к Guardant’у. Из программы для программирования ключа можно посмотреть: что же на нём находится:
Поля снабжены комментариями — так что всё понятно. Единственное, что стоит пояснить: GSII64 — встроенный алгоритм симметричного шифрования, HASH64 — встроенная хеш-функция. Оба обсчитываются на самом ключе с помощью встроенного микроконтроллера. Маломощного, правда, зато «чёрный ящик», зато надёжно.
Напишем простенькую программу и, для начала, просто посмотрим, что мы можем с ней делать:
Дизассемблируем её, используя майкрософтовский IL
Всё как на ладони. Теперь используем автоматический режим защиты приложения:
В нём можно настроить несколько параметров. Вся защита держится, естественно, на ключике, поэтому сначала нашли его, теперь можно перейти к параметрам:
Для начала я поставил проверку наличия ключа (раз в минуту):
Создалось несколько файлов — изменённый exe’шник, dll’ка от Guardant’а, apw файл с настройками и батник (вроде, он как раз и «защищал» exe’шник).
Вот так приложение теперь «работает» без ключа.
А вот так дизассемблируется средствами, используемого до этого дизассемблера.
Следует отметить, что в обзоре в основном используется режим автоматической защиты. Но помимо него Guardant предоставляет ещё и другие возможности. Например, можно защитить своё приложение и вручную, используя предоставляемый API. Тогда защита будет более изощрённая, а сложность взлома — низкая.
Ещё раз замечу, что защита осуществляется с помощью ключа. Поэтому, при программировании чего-то более сложного, чем то, что предоставляет автоматический режим, могут понадобиться дополнительные поля на ключе. Их можно создать, взяв часть «Свободной памяти». Я, к примеру, создал поле SID размером 8 байт. Теперь, используя API, я могу читать и писать в него из своего приложения.
Что же, пожалуй хватит для обзора. Надеюсь, вам было так же интересно как и мне!
Спасибо. Интересно. HASP — где-то у меня завалялся. Ежели не затруднит, то чуток подробней про Visual Studio и программатор.
Ну и смысл гонять сие под Ubuntu?
Я так понял, что комплекс нормально работает с любыми exe файлами (не только Visual Studio). Встраивается по принципу вируса. Программатор — набор утилит, который покупается вместе с пакетом ключей. Возможно, есть на торрентах.
Я то VS использовал, чтобы потом потыкаться в MS дизассемблере.
Смысл гонять на убунту? Мне в любом случае нужно было всё это запускать под VMware — для изучения был получен образ с уже установленным программатором Guardant — так что разницы нет. А под убунтой был smplayer, который меня временами развлекал
Благодарю.
> Я так понял, что комплекс нормально работает с любыми exe файлами
Мне казалось до сих пор, комплекс применяется для защиты новых, вновь разрабатываемых программных продуктов, с целью недопущения несанкционированного использования. Понятно, что вовсе не обязательно, это новое, создавать в VS.
Ну, да и давно уже, существуют, так называемые эмуляторы HASP — для взлома этой защиты.
Я не говорю о том, что данное средство делает ПО неуязвимым к незаконному использованию. Практически любое средство не даёт такого эффекта. Даже, если используется криптографическая защита, она может быть взломана. Потребуется больше вычислительных ресурсов, но всё выполнимо.
> Мне казалось до сих пор, комплекс применяется для защиты новых, вновь разрабатываемых программных продуктов
На сколько я понимаю, в автоматическом режиме защищаемая программа заражается специальным вирусом, таким образом, можно защищать уже давно разработанные продукты. Моё предположение о том, что защищаются exe файлы, основано на том, что заразить произвольный файл не выйдет, нужно знать его структуру. Очевидно, разработчики нацеливались на наиболее распространённую архитектуру исполняемого файла.
Что касается предоставляемого API — тут особо ограничений я не вижу: достаточно сделать обёртку под используемый язык, и можно использовать в самых разнообразных технологиях.
Да. Согласен, всё верно. Ломать — не строить.
А, о возможности защитить этим и старые, чужие «поделия»- не думал, не слышал никогда.
P.S. Прошу прощения. Старый Мазай — разбурчался в сарае.
У меня вопрос — как сделать, чтобы Guardant стал виден из linux-машины в виртуальной. Дальше дрова и сервисы я поставлю.
У меня Altlinux, в virtualbox стоит WinXP, софт тоже виндовый.
При возможности ответьте на lexx02[at]yandex[dot]ru
День добрый, Alexey!
Если вы про ключ защиты Guardant — то тут проблема, скорее всего, в VirtualBox. Мне самому куда приятнее работать с VirtualBox, но тут пришлось использовать WMware не просто так. По сути, ключ guardant’а — обычное USB устройство (но не флешка) — вполне вероятно, что VirtualBox работает с ним неправильно.
Советую установить дополнительно ещё один Linux, на нём — WMware. У меня каждый раз, как использую WMware проблемы начинаются с системой — похоже, неправильно WMware готовит свою версию для Linux систем.
К слову сказать, вы могли подписаться на комментарии, дабы получить письмо Но мне не лень — напишу.
Уведомление: Средства защиты информации (под Windows) | Блог про Linux