Защита программного обеспечения во время выполнения

Содержание

Слайд 2

Риск копирования, реверс­инжиниринга и манипуляции программными решениями ставит под угрозу дальнейшее

Риск копирования, реверс­инжиниринга и манипуляции программными решениями ставит под угрозу дальнейшее

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

Актуальность исследования

Слайд 3

Так, цель практики заключается в создании электронного ключа и защиты программного

Так, цель практики заключается в создании электронного ключа и защиты программного

обеспечения во время выполнения.
Для достижения цели исследования необходимо решение ряда задач, а именно:
1. Рассмотреть теоретико-­методологические аспекты разработки крипто­графического метода защиты программного обеспечения;
2. Продемонстрировать ход создания электронного ключа с целью защи­ты программного обеспечения во время выполнения.

Цель и задачи

Слайд 4

Изучение теоретико-методологических основ разработки крипто­ графического метода защиты программного обеспечения показало,

Изучение теоретико-методологических основ разработки крипто­ графического метода защиты программного обеспечения показало,

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

Теоретико-методологические основы разработки криптографического метода защиты программного обеспечения

Слайд 5

Реализуем методы защиты Процедура закрытия IDA Pro: bool ida_closing_procedure() { Проверяем,

Реализуем методы защиты

Процедура закрытия IDA Pro:
bool ida_closing_procedure()
{
Проверяем, созданы ли мьютексы

отладчика, если созданы, то возвращаем соответствующий результат:
auto trusted_mtx = OpenMutexA(MUTEX_ALL_ACCESS, FALSE, xor_string("$ IDA trusted_idbs"));
if (!trusted_mtx)
trusted_mtx = CreateMutexA(nullptr, FALSE, xor_string("$ IDA trusted_idbs"));
else
{
CloseHandle(trusted_mtx);
return false;
}
auto registry_mtx = OpenMutexA(MUTEX_ALL_ACCESS, FALSE, xor_string("$ IDA registry mutex $"));
if (!registry_mtx)
registry_mtx = CreateMutexA(nullptr, FALSE, xor_string("$ IDA registry mutex $"));
else
{
CloseHandle(registry_mtx);
return false;
}
if (!trusted_mtx || !registry_mtx)
return false;
Слайд 6

Реализуем методы защиты Если не созданы, то мы их создаем и

Реализуем методы защиты

Если не созданы, то мы их создаем и

отправляем сигнал с ожиданием на наш процесс:
WaitForSingleObject(trusted_mtx, INFINITE);
WaitForSingleObject(registry_mtx, INFINITE);
В результате, когда отладчик пытается дождаться завершения этих мьютексов, функция WaitForSingleObject возвращается с ошибкой и IDA Pro выдает ошибку и закрывается:
Слайд 7

Реализуем методы защиты

Реализуем методы защиты

Слайд 8

Реализуем методы защиты

Реализуем методы защиты

Слайд 9

Реализуем методы защиты

Реализуем методы защиты

Слайд 10

Заключение

Заключение

Слайд 11

Список использованных источников Барабанов А. В. и др. Статистика выявления уязвимостей

Список использованных источников

Барабанов А. В. и др. Статистика выявления уязвимостей

программного обеспечения при проведении сертификационных испытаний // Вопросы кибербезопасности. – 2017. – №. 2 (20). – С. 64-77.
Белова Е. В., Белов В. Н. USB ключ как один из способ защиты информации // Актуальные вопросы в науке и практике. – 2018. – С. 45-53.
Бутин А. А. Методические аспекты разработки систем защиты программного обеспечения // Вестник науки и образования. – 2018. – №. 16-1 (52). – С. 117-124.
Бутин А. А. Технологии защиты программного обеспечения // Информационные технологии и математическое моделирование в управлении сложными системами. – 2019. – №. 2. – С. 53.
Давыдов В. В., Гребенюк Д. С. Комплекс процедур генерации лицензионного ключа для защиты авторских прав интеллектуальной собственности на программное обеспечение // Системи управління, навігації та зв'язку. – 2017. – №. 1. – С. 11-15.
Емельянова Н. Ю. Анализ электронных ключей для защиты программного обеспечения от несанкционированного копирования // Наука в современном обществе: закономерности и тенденции развития. – 2016. – С. 49-50.
Прокопенко В. В. Защита программного обеспечения от нелегального использования // Экономические и правовые аспекты развития международной интеграции в современных условиях. – 2017. – С. 235.
Селедец И. Е. Защита от взлома программных средств // Синергия Наук. – 2017. – №. 13. – С. 615-625.
Татаринов А. А., Болдырихин Н. В. Анализ методов обнаружения вредоносного программного обеспечения на основе поведенческих признаков // Национальная безопасность России: актуальные аспекты. – 2020. – С. 18-22.
Хлестова Д. Р., Редников Д. В. Электронные ключи-средство для защиты информации // Инновационное развитие. – 2017. – №. 6. – С. 22-23.
Цыцура К. С., Потоловский А. И. Технология защиты от несанкционированного использования программного обеспечения «Электронный ключ» // Актуальные проблемы авиации и космонавтики. – 2016. – Т. 1. – №. 12. – С. 89-94.
Rasch A., Wenzel T. The impact of piracy on prominent and non-prominent software developers // Telecommunications Policy. – 2015. – Т. 39. – №. 8. – P. 735-744.
Sander, T.; Tschudin C.F. On Software Protection via Function Hiding. Proceedings of Information Hiding ’98. Springer-Verlag. LNCS 1525. – P.111-123.
Schaumüller-Bichl1, I.; Piller, E. A Method of Software Protection Based on the Use of Smart Cards and Cryptographic Techniques. Proceedings of Eurocrypt’84. Springer-Verlag. LNCS 0209. – P. 446- 454.
Shaikh S. A., Londhe B. R. Intricacies of software protection: a techno-legal review. – 2016. – P. 157-165.