Automated Mitigation Of Malicious Application Logic
A crucial challenge facing secure software currently is the problem of determining the presence of malicious logic in critical applications. The problem is exacerbated with compile-time malicious code injections, undermining source-level analysis efforts.
Model-checking is a powerful and flexible tool that can offer creative solutions to this difficult problem. Given a specification of classes of malicious logic, a model-checker can not only identify all control-flows with such logic, but more importantly, a model-checker can provide a proof of non-existence if no such logic exists in any control-flows, thereby providing formal assurance crucial for highly-sensitive or critical software.
In this project, we propose a model-checking solution to check for malicious logic in binary applications, with policy discovery using automated trace analysis. The solution will combine the strength of the traditional model-checking approach with the flexibility of automated policy specification.
Model-checking is a powerful and flexible tool that can offer creative solutions to this difficult problem. Given a specification of classes of malicious logic, a model-checker can not only identify all control-flows with such logic, but more importantly, a model-checker can provide a proof of non-existence if no such logic exists in any control-flows, thereby providing formal assurance crucial for highly-sensitive or critical software.
In this project, we propose a model-checking solution to check for malicious logic in binary applications, with policy discovery using automated trace analysis. The solution will combine the strength of the traditional model-checking approach with the flexibility of automated policy specification.