ПРОЕКТЫ: neoGuard - система защиты от взлома на основе виртуальной машины

Описание

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

Схема работы системы защиты программ от взломана основе виртуальной машины neoGuard

Основные возможности и свойства

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

Мы можем предложить несколько вариантов исполнения защиты от НСК на основе виртуального процессора neoGuard.

Защита с использованием стандартных электронных ключей

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

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

В технологии защиты на электронном ключе использованы следующие решения:

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

Защита с использованием серийного номера

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

В качестве привязки лицензии может использоваться как данные о компьютера, такие как физический номер винчестера, контрольная сумма BIOSа, так и имя владельца или данные операционной системы. В первом случае идентификатор является некопируемым, во втором - копируемым. Каждый из вариантов обладает своими достоинствами и недостатками.

При защите серийным номером ЗАО "Секьюлэб" реализует следующие решения:

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

Защита с использованием сетевого менеджера лицензий

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

Сетевой менеджер лицензий, реализованный с использованием neoGuard, обладает следующими возможностями:

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

Технические характеристики виртуальной машины neoGuard

  • реализация алгоритмов шифрования и цифровой подписи RSA/DES/AES/RC5/RC6/MD5/SHA-1/GOST;
  • реализация на языке виртуальной машины neoGuard алгоритмов разработчика;
  • возможность работы с внешними функциями и WinAPI;
  • подключение к любому компилятору Win32 и Unix x86, поддерживающему работу с DLL или объектными файлами формата COFF / OMF;
  • максимально эффективное и надежное использование совместно с электронными ключами CodeShelter и SenseLock или токеном trueToken;
  • работа с любыми электронными ключами компаний Aladdin Knowledge Systems, Rainbow Technologies, Marx, Wibu, в частности HASP HL, Sentinel SuperPRO;
  • использование токенов компаний Aladdin Knowledge Systems, Rainbow Technologies, в частности eToken, iKey;
  • работа с любой операционной системой, поддерживающей 32х разрядную адресацию;
  • работа с любым 32х битным процессором семейства x86, рекомендуется Pentium 100 и выше;
  • возможность использования в драйверах Windows 95/98/ME/NT/2000/XP/2003.