|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Anti-Tampering Guidelines
The security that the LSAPI provides is only as good as the security of the application code and the secret values themselves.
Distribution of application code to end users means that an intruder can recover the shared secrets and use them to create a license system flow that appears to be correct for whatever challenge the application issues. An intruder can also locate and modify the code that compares and then validates the license system's challenge response. You should take defensive steps by using antivirus programming techniques and other measures to prevent code modification, and also to make it difficult to circumvent the basic challenge protocol. Following are guidelines that you can use when you develop an application that includes calls to the LSAPI functions. For additional information, see Table Lookup Method.
When you select the license secrets
· Choose unique secrets for each one of your company's applications. · Choose unique secrets for each application version.
When you code the application
· If you include the secrets in the application, obscure them by encrypting them or scattering them throughout the code. · Place most of the challenge code and data in discardable overlays, if possible. · Incorporate an obscure internal checksum over the code that interfaces with the license system and with the challenge verification. · Use different challenge values for calls to the LSRequest and LSUpdate functions.
· Verify the code offset when your application calls the challenge algorithm, at the entry point to the algorithm, if applicable. · Avoid simple comparisons and obscure critical comparisons. · Save the challenge response that the license system returns. Do not compare it for equality immediately after a call to the LSRequest or LSUpdate function. · Perform a meaningless comparison immediately after a call to the LSRequest or LSUpdate function.
· Verify the challenge result more than once. · Perform mathematical operations with the challenge response, and compute another result that your application verifies later in the code. · Perform multiple operations with the challenge response, like meaningless read, comparison, and subtraction operations, before doing a final comparison. If the intruder uses a hardware monitor, this strategy can increase the number of hardware breakpoints that occur and thereby cause additional confusion for the intruder.
· To verify that the current license is still valid, call the LSUpdate function periodically.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
РУКОВОДЯЩИЕ принципы Anti-Tampering
Безопасность, что LSAPI обеспечивает, - только так же хорошо как безопасность прикладного кода и секретные величины сам.
Распределение прикладного кода конечным пользователям означает, что злоумышленник может восстановить коллективные секреты и использовать их, чтобы создавать лицензионный системный поток, который оказывается - правильно для независимо от того какого вызова прикладные вопросы. Злоумышленник может также расположить и модифицировать код, который сравнивает и затем подтверждает лицензионный системный ответ вызова. Вы должны предпринять защитные меры используя antivirus программируя методы и другие меры, чтобы предохранять кодовую модификацию, и также, чтобы делать это трудно, чтобы обходить основной протокол вызова. Следующее является руководящими принципами, которые Вы можете использовать когда Вы разрабатываете приложение, которое включает вызовы в функции LSAPI. Для дополнительной информации, смотри Табличный Метод Поиска.
Когда Вы выбираете лицензионные секреты
Уникальные секреты Выбора для каждого ваших приложений компании. Уникальные секреты Выбора для каждой прикладной версии.
Когда Вы кодируете приложение
Если Вы включаете секреты в приложение, затемните их кодируя их или разбрасывая их для всего кода. Место наиболее код вызов и данные в исключаемых оверлеях, если возможно. Включать затемненную внутреннюю контрольную сумму над кодом, который связывается с лицензионной системой и с проверкой вызова. Другой вызов Использования оценивается для вызовов в LSRequest и функции LSUpdate.
Проверять кодовое смещение когда ваше приложение называет алгоритм вызова, в точке входа на алгоритм, если необходимо. Избегать простых сравнений и затемнять критические сравнения. Сохраняемый ответ вызова, что лицензионная система возвращает. Не сравнивайте это для равенства немедленно после вызова на LSRequest или функция LSUpdate. Выполнять бессмысленное сравнение немедленно после вызова на LSRequest или функция LSUpdate.
Проверять результат вызова неоднократно. Выполнять математические операции с ответом вызова и вычислять другой результат, который ваше приложение проверяет позже в коде. Выполнять многочисленные операции с ответом вызова, подобно бессмысленному чтению, сравнению, и операциям вычитания, перед занятием конечного сравнения. Если злоумышленник использует аппаратный монитор, эта стратегия может увеличить количество аппаратных точечных разрывов, которые происходят и этим самым вызывают дополнительную неразбериху для злоумышленника.
, Чтобы проверять, что текущая лицензия все еще правильная, называет функцию LSUpdate периодически.
|
|
|
|
| |