-
Natural sciences
- Computer system security
- Programming languages and technologies
- Software engineering
Software protections aim to prevent that attackers violate confidentiality and integrity requirements of assets embedded in software, such as cryptographic keys, valuable algorithms, license and digital rights managers, etc. Effective and efficient deployment of software protections to mitigate reverse engineering and software tampering today requires considerable time and effort from human experts. Due to a lack of effective automated decision support techniques, experts need to select and configure compositions of protections manually (in a huge search space), based on their understanding of the assets and their security requirements, as well as on their domain knowledge. The required effort and expertise make good software protection unaffordable for many software vendors.
In this project, we will design new models and corresponding methods for automated decision support for software protection. The main novelty will be more fine-grained modeling of protections, attack techniques, and the relations between them than what has been done in past research. With the new models, we aim to take important responsibilities out of the software protection experts' hands as much as possible, improving their productivity when they face complex and critical risk mitigation cases, and making them redundant for less complex, less critical cases, thus making adequate protection available to beneficiaries that cannot afford human experts today.