Reverse Engineering for Security

Reverse engineering is the filthy end of the security industry; it is the business of extracting information from a program when the source is unavailable. Reversing is often necessary when performing a security audit on a product that relies on third-party software such as a library. Security engineers also reverse to reason about the latest malicious programs and devise antivirus software. The PhD studentship will explore using abstract interpretation (program analysis) techniques to automatically extract information from binaries, to support the reverse engineering process.