{'fraction_non_alphanumeric': 0.021783526208304968, 'fraction_numerical': 0.0, 'mean_word_length': 5.363636363636363, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Designing software locking mechanisms against reverse engineering, using artificial neural networks

Protection of intellectual property against unwanted tampering is a pressing issue to many content providers. Access to sensitive information typically takes the form of copyright violations. To address this issue, owners typically employ different protection mechanisms. Many are weak (e.g., they have single points of failure), rendering them vulnerable to static analysis. Others are expensive to implement (e.g., they induce large performance penalties). In this paper we present a new method of protecting copyrighted material by using a locking mechanism based on artificial neural networks (ANN). Understanding the operation of a ANN is difficult as the knowledge is embedded in a complex, distributed, and sometimes self-contradictory form. The security of our system is based on replacing the decryption function of the protected information with a semantically equivalent artificial neural network. We designed the system so as to eliminate single points of failure and allow for retroactive key generations for the same protected material. This allows a many-to-one relationship between the keys and the encryption. The protection offered by our mechanism is resilient to reverse engineering and static analysis. We also describe a methodology for creating these types of locking mechanisms and also evaluate the proposed system based on several properties.