dc.contributor.author |
Muhammad Abdullah Abid |
|
dc.date.accessioned |
2021-01-27T05:38:37Z |
|
dc.date.available |
2021-01-27T05:38:37Z |
|
dc.date.issued |
2018 |
|
dc.identifier.uri |
http://10.250.8.41:8080/xmlui/handle/123456789/21890 |
|
dc.description |
Supervisor: Dr. Shahzad Saleem |
en_US |
dc.description.abstract |
The field of software engineering nowadays is of high importance due to its financial and daily life implications. So attackers find them advantageous to analyze the executables dispatched by software creating companies. In the last two decades, reverse engineering tools are increased by many folds and also their effectiveness and diversity has expanded. Due to these competent tools, the number of attacks by the malicious users have increased. Software has two types of information namely functions and data. To be secure against attacks there are many solutions and obfuscation is one of the techniques. Most of the obfuscation techniques are developed for the obfuscation of functions. For the security purpose, cryptographic techniques and encryption keys are embedded in the software executables as data. Using reverse engineering tools attacker may extract the data embedded in the executable for financial benefit. In the past different data and key storage technologies which includes hardware-based and software-based techniques. The software-based solution includes encryption, virtualization, hiding keys within the executables etc. Whereas hardware techniques involved usage of TPM chip, creating of binary state machines etc.
In this research, a software-based technique is developed for the obfuscation of data present in the executable. An application is developed that take a programming file as an input. The application extracts the constants declared in the programming file and transforms that constants into randomized code. The application then creates a new programming file, which includes the old code with some modifications, randomized code generated against the data or key, de-obfuscator function, and some supporting functions. This programming file is the output of the obfuscation application. In the end, multiple tools were used to evaluate the effectiveness of the obfuscation process designed. The evaluation done follows the techniques of static analysis. It was found that it has become harder for an attacker to extract any useful information from the executables. |
en_US |
dc.publisher |
SEECS, National University of Sciences and Technology, Islamabad |
en_US |
dc.subject |
Key Security, Obfuscation, Cryptography, Key Hiding, Open System Security, Software Security, Secure Executables |
en_US |
dc.title |
Data Set Security in a Physically Accessible System |
en_US |
dc.type |
Thesis |
en_US |