Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/2577
Title: Моделі та методи підвищення безпеки байт-код орієнтованого програмного забезпечення в умовах кібератак
Other Titles: Models and methods of increasing the bytecode-oriented software security of during cyberattacks
Authors: ДАВИДОВ, ВЯЧЕСЛАВ ВАДИМОВИЧ
Keywords: кібератаки;захист авторських прав;водяні знаки;обфускація;GERT-мережі;безпека програмного забезпечення;метрики якості коду;цифрові ідентифікатори;логіко-смислова подібність;Standalone-застосунки
Issue Date: 6-Aug-2021
Abstract: Дисертаційна робота присвячена вирішенню актуальної науково-технічної проблеми підвищення безпеки програмного забезпечення в умовах кібератак у комп’ютерних системах на основі розробки моделей та методів обфускації програмного коду та створення ліцензійних ключів для захисту авторських прав. Проведено дослідження та порівняльний аналіз моделей та методів безпеки байт-код орієнтованого програмного забезпечення, який показав, що існуючі моделі і методи безпеки десктопного програмного забезпечення на системному рівні проектування в повній мірі не дозволяють усунути вплив засобів формування відповідних загроз безпеки. Тому існуючі моделі і методи захисту програмного забезпечення не відповідають вимогам якості, що регламентуються міжнародними стандартами та стандартами України щодо якості програмного забезпечення. Показано, що підвищення показників захищеності програмного забезпечення впливає на інші показники якості програмного забезпечення, а саме: переносимість, супроводжуваність, продуктивність. Розроблено метод перевірки логіко-смислової подібності стандартних послідовних схем програм, що заснований на пошуку найбільш схожих з точки зору термальної історії шляхів в програмі. Цей метод використовує в якості опорної структури граф узгоджених маршрутів програм. Розмітка цього графу відповідає перетворенням термальних історій змінних на всіх можливих маршрутів програми, а сам алгоритм, в свою чергу, зводиться до обчислення точних нижніх меж на множині підстановок. Ітеративна процедура, що здійснює це обчислення, і є процедурою побудови розмітки графа. Розроблений метод дозволив перейти до поліноміальних обчислювань пошуку лексемної історії шляхів на етапі розмітки графу для паралельних обчислень замість існуючих експоненціальних, що в свою чергу зменшило час перевірки коду на логіко-смислову подібність для визначення впливу розробленого методу обфускації коду на його коректність. Розроблено GERT-модель процесу обфускації програмних модулів, в основі якої лежить математичний апарат гамма-розподілу на всіх етапах моделювання процесу обфускації. Це дозволило досягти уніфікації моделі в умовах модифікації GERT-мережі. Результати дослідження показали, що для розробленої математичної моделі при додаванні ще одного процесу обфускації дисперсія часу виконання збільшується на 12%, а при його видаленні з системи – зменшується до 13%. Математичне сподівання часу виконання змінюється в геометричній прогресії – так, при видаленні 1 вузла відбувається зменшення математичного сподівання на 9%, а при збільшенні на 1 вузол – збільшення математичного сподівання на 26%. Це показує незначність змін досліджуваних показників в умовах модифікації моделі і підтверджує гіпотезу про уніфікацію моделі в умовах використання математичного апарату гамма-розподілу як основного. Дані результати дають розробнику можливість спрогнозувати поведінку системи захисту програмних модулів з точки зору часу виконання. Це дозволяє зменшити час на прийняття рішення про доцільність використання процесу обфускації в умовах використання гнучких методологій. Розроблено метод безпечного переходу в GERT-мережах, що використовуються в якості графа керуючої логіки програмного продукту. Дана логіка впроваджується в залежності від ідентифікаційного або серійного номера. Розроблено методологію масштабування розробленої математичної моделі. Показана доцільність використання кожного типу масштабування з урахуванням критичності часу виконання перевірки безпеки програмного забезпечення на основі ліцензійних ідентифікаторів. Так, при вертикальному масштабуванні, в зв’язку з використанням паралельного процесу, час обробки даних практично не змінився. Це дає передумови використання даного типу масштабування при критичності часу виконання процесу, а також при необхідності істотного нарощування довжини ліцензійного ключа на слабких пристроях (наприклад, вбудованих пристроях та IoT). При горизонтальному масштабуванні, в зв’язку з використанням додаткових послідовних процесів обробки даних, час обробки значно збільшився (в 3,43 рази). Однак, введення додаткових послідовних дій збільшує час аналізу алгоритму поведінки. Це дає передумови використання даного типу масштабування при використанні прикладного програмного забезпечення, де час запуску програми не критичний. Розроблено модель формування цифрового ідентифікатора програмного забезпечення, відмінною особливістю якої є використання індивідуальних даних про комп’ютерні системи кінцевого користувача для однозначної ідентифікації приналежності, на які ліцензійне програмне забезпечення встановлюється в процесі формування ліцензійного цифрового ідентифікатора. Це дає можливість підвищити безпеку програмного забезпечення шляхом захисту від неліцензійного копіювання. Запропоновано алгоритм функціонування системи і генерації ліцензійного ключа, адаптований до вхідних даних і можливих умов верифікації програмного забезпечення. Також, модель враховує можливість вбудовування довільного (заданого розробниками) коду в тіло ліцензійного ключа, який буде виконуватися при верифікації. Дані маніпуляції призвели до ускладнення аналізу і зламу ліцензійної складової програмного забезпечення. Це дозволило збільшити середній час зламу в 1,29 разів. Розроблено відповідні алгоритми обфускації програмних модулів і генерації ліцензійних ключів та реалізовано систему безпеки програмного забезпечення, що базується на підсистемі роботи з ліцензійними ідентифікаторами та обфускацією програмного коду. Розроблено спосіб отримання метрик обфускованості для багатопроектного рішення на основі існуючих та удосконалених метрик якості коду, що дозволяє кількісно оцінити ступінь обфускованості коду. Дослідження розробленої системи дозволило підвищити безпеку байт-код орієнтованого програмного забезпечення в 1,4 разів. Проведено оцінку достовірності та ефективності запропонованих методів і моделей підвищення безпеки байт-код орієнтованого програмного забезпечення.
The dissertation is devoted to solving the current scientific and technical problem of improving the security of software during cyberattacks in computer systems based on the development the models and methods of software code obfuscation and the license keys creation for copyright protection. A study and comparative analysis of bytecode-oriented software models and methods security was conducted, which showed that the existing models and methods of desktop software security at the system level of design do not fully eliminate the impact of threats to the corresponding security threats. Therefore, the existing modules and methods of software protection do not meet the quality requirements regulated by international standards and standards of Ukraine on software quality. It is shown that increasing the security of software affects other indicators of software quality, namely: portability, maintainability, performance. A method for checking the logical and semantic similarity of standard sequential program schemes has been developed, which is based on finding the most similar in terms of thermal history paths in the program. This method uses a graph of agreed program paths as a reference structure. The iterative procedure that performs this calculation is the procedure for constructing the graph markup. The developed method allowed to pass to polynomial calculations of thermal history ways search at a stage of the graph marking for parallel calculations instead of existing exponential. This allowed to reduce the time of checking the code for logical and semantic similarity to determine the impact of the code obfuscation developed method on its correctness. A GERT-model of the obfuscation process of software modules has been developed, which is based on the mathematical apparatus of the Gamma-distribution at all stages of modeling the obfuscation process. This allowed to achieve the model unification in terms of the GERT-network modification. The results of the study showed that for the developed mathematical model, when adding another obfuscation process, the variance of the execution time increases by 12%, and when it is removed from the system, it decreases to 13%. The mathematical expectation of execution time changes in a geometric progression – so, when removing 1 node there is a decrease in mathematical expectation by 9%, and when increasing by 1 node – an increase in mathematical expectation by 26%. This shows the insignificance of changes in the studied indicators in terms of model modification and confirms the hypothesis of model unification in terms of using the mathematical apparatus of the Gamma-distribution as the main one. These results allow the developer to predict the behavior of the software modules protection system in terms of execution time. This reduces the time to decide on the feasibility of using the obfuscation process in the use of flexible methodologies. The method of safe transition in GERT-networks used as a graph of the control logic of the software product is developed. This logic is implemented depending on the identification or serial number. The methodology of scaling of the developed mathematical model by its horizontal and vertical scaling is developed. The expediency of using each type of scaling is shown taking into account the criticality of the execution time of the software security check based on the license identifiers. Thus, with vertical scaling, due to the use of a parallel data processing process, the data processing time has not changed. This gives the prerequisites for the use of this type of scaling at the critical time of the process, as well as the need to significantly increase the length of the license key on weak devices (e.g., embedded devices and Internet of Things). When scaling horizontally, due to the use of additional sequential data processing processes, the processing time increased significantly (3.43 times). However, the introduction of additional sequential actions increases the analysis time of the behavior algorithm. This gives the prerequisites for the use of this type of scaling when using application software, where the start time of the program is not critical. A model of digital software identifier creation has been developed. A distinctive feature of created identifier is the individual data on end-user computer systems usage for unambiguous identification of accessories for which licensed software is installed in the process of licensing digital identifier creation. This makes it possible to increase the security of the software by protecting against unlicensed copying. An algorithm for the operation of the system and the generation of a license key, adapted to the input data and possible conditions for software verification, is proposed. Also, the model takes into account the possibility of embedding an arbitrary (specified by the developers) code in the body of the license key, which will be executed during verification. This allowed to increase the average breaking time by 1.29 times. Appropriate algorithms for software modules obfuscation and license keys generation have been developed and a software security system based on the subsystem of work with license identifiers and software code obfuscation has been implemented. A method for obtaining obfuscation metrics for a multi-project solution based on existing and improved code quality metrics has been developed, which allows to quantify the degree of code obfuscation. The study of the developed system allowed to increase the security of bytecode-oriented software by 1.4 times.
URI: https://er.chdtu.edu.ua/handle/ChSTU/2577
Number of Pages: 313
Specialization: 05.13.05 – комп'ютерні системи та компоненти
Appears in Collections:05.13.05 – комп'ютерні системи та компоненти



Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.