Advanced search
1 file | 258.70 KB Add to list

Resilient Self-Debugging Software Protection

(2020)
Author
Organization
Project
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
reverse engineering, software protection, anti-tampering, anti-debugging, self-debugging

Downloads

  • paper.pdf
    • full text (Accepted manuscript)
    • |
    • open access
    • |
    • PDF
    • |
    • 258.70 KB

Citation

Please use this url to cite or link to this publication:

MLA
Abrath, Bert, et al. Resilient Self-Debugging Software Protection. 2020.
APA
Abrath, B., Coppens, B., Nevolin, I., & De Sutter, B. (2020). Resilient Self-Debugging Software Protection. Presented at the 1st Workshop on Software Attacks and Defenses.
Chicago author-date
Abrath, Bert, Bart Coppens, Ilja Nevolin, and Bjorn De Sutter. 2020. “Resilient Self-Debugging Software Protection.” In .
Chicago author-date (all authors)
Abrath, Bert, Bart Coppens, Ilja Nevolin, and Bjorn De Sutter. 2020. “Resilient Self-Debugging Software Protection.” In .
Vancouver
1.
Abrath B, Coppens B, Nevolin I, De Sutter B. Resilient Self-Debugging Software Protection. In 2020.
IEEE
[1]
B. Abrath, B. Coppens, I. Nevolin, and B. De Sutter, “Resilient Self-Debugging Software Protection,” presented at the 1st Workshop on Software Attacks and Defenses, 2020.
@inproceedings{8668175,
  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.},
  author       = {Abrath, Bert and Coppens, Bart and Nevolin, Ilja and De Sutter, Bjorn},
  keywords     = {reverse engineering,software protection,anti-tampering,anti-debugging,self-debugging},
  language     = {und},
  title        = {Resilient Self-Debugging Software Protection},
  year         = {2020},
}