English

Resilient Self-Debugging Software Protection

Cryptography and Security 2020-11-02 v1

Abstract

Debuggers are a popular reverse engineering and tampering tool. Self-debugging is an effective technique for applications to defend themselves against hostile debuggers. In penetration tests on state-of-the-art self-debugging, we observed several opportunities through which it could be attacked, however. We therefore improved upon the existing technique, making it more resilient by introducing reciprocal debugging and making the transfers of control between protected application and self-debugger more stealthy. This paper presents the improved self-debugging design, and details our research efforts into realizing reciprocal debugging. In our evaluation we show that the improved design is significantly harder for attackers to defeat.

Keywords

Cite

@article{arxiv.2004.06417,
  title  = {Resilient Self-Debugging Software Protection},
  author = {Bert Abrath and Bart Coppens and Ilja Nevolin and Bjorn De Sutter},
  journal= {arXiv preprint arXiv:2004.06417},
  year   = {2020}
}

Comments

10 pages, 2 figures