Skip to main content
Erschienen in: Journal of Computer Virology and Hacking Techniques 2/2020

05.03.2020 | Original Paper

Exploiting flaws in Windbg: how to escape or fool debuggers from existing flaws

verfasst von: François Plumerault, Baptiste David

Erschienen in: Journal of Computer Virology and Hacking Techniques | Ausgabe 2/2020

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

In order to perform their goals without being detected, Malware should have a battle of wits with the analyzer. Such a way, they use a large variety of stealth methods to perform their missions. These methods allow to slow or block analysis. Most of the time, these tricks are often operating system or CPU oriented (dll injection, exception handler or API abuse). In addition, they are although focused on the most used analyst tools. These attacks, allow, among other things, to display erroneous information on the analysis tools or to silently detect it so that the malware can change its behavior in case of analysis. Depending of the degree of error of the analyzing tools used, it could become partially or totally ineffective. More than just flowed malware analysts, it is a great drawback in order to find bugs in regular software. In this article, we show how to exploits errors inside debuggers and mainly inside one of the most use: Windbg. This list of errors impacting this Microsoft’s tool mainly concerns few flaws in the disassembly engine or in the debug procedure. Some are present in the debugger from years... More directly, we show different ways to block or disturb the normal behaviour of Windbg. Thus, even if these errors are not always critical, they can negatively impact the use of software by any user. For instance, we describe a new way to know if the current process is running under the control of Windbg. This is exactly what malware author are looking for to detect analysis. Due to the complexity of architecture such as x64 and x86, it is hard to design and develop a complete disassembling tool. In fact, no disassembling tool is perfect and most of those we tested have at least one of the flaws which are shown in this article. Among the different flaws, we have int 3 misinterpretation, wrong jump interpretation, partial instruction prefix handling and unsupported instruction. Moreover, nothing prevents these tools to have other kind of errors. Thus, in order to analyze software efficiently, it is necessary to improve the analyzer tools. In this way, we offer different solution to correct the bug we encounter on the different tools.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literatur
5.
Zurück zum Zitat Eagle, C.: The IDA Pro Book: The Unofficial Guide to the World’s Most Popular Disassembler. No Starch Press, San Francisco (2011) Eagle, C.: The IDA Pro Book: The Unofficial Guide to the World’s Most Popular Disassembler. No Starch Press, San Francisco (2011)
9.
Zurück zum Zitat Intel, Intel 64 and IA-32 Architectures Software Developer’s Manual, Intel documentation, vol. 1, pp. 3–17 (2019) Intel, Intel 64 and IA-32 Architectures Software Developer’s Manual, Intel documentation, vol. 1, pp. 3–17 (2019)
10.
Zurück zum Zitat Intel, Intel 64 and IA-32 Architectures Software Developer’s Manual, Intel documentation, vol. 1, pp. 6–13 (2019) Intel, Intel 64 and IA-32 Architectures Software Developer’s Manual, Intel documentation, vol. 1, pp. 6–13 (2019)
12.
Zurück zum Zitat Ferrie, P.: The ”Ultimate” Anti-Debugging Reference, Ferrie (2011) Ferrie, P.: The ”Ultimate” Anti-Debugging Reference, Ferrie (2011)
22.
Zurück zum Zitat Zhang, Y.K.: Software Debugging. Publishing House of Electronics Industry, Beijing (2008) Zhang, Y.K.: Software Debugging. Publishing House of Electronics Industry, Beijing (2008)
34.
Zurück zum Zitat Intel, Intel 64 and IA-32 Architectures Software Developer’s Manual, Intel documentation, vol. 2, pp. 2–1 (2019) Intel, Intel 64 and IA-32 Architectures Software Developer’s Manual, Intel documentation, vol. 2, pp. 2–1 (2019)
36.
Zurück zum Zitat Intel, Intel 64 and IA-32 Architectures Software Developer’s Manual, Intel documentation, vol. 2, pp. 2–8 (2019) Intel, Intel 64 and IA-32 Architectures Software Developer’s Manual, Intel documentation, vol. 2, pp. 2–8 (2019)
38.
Zurück zum Zitat Intel, Intel 64 and IA-32 Architectures Software Developer’s Manual, Intel documentation, vol. 2, pp. 2–20 (2019) Intel, Intel 64 and IA-32 Architectures Software Developer’s Manual, Intel documentation, vol. 2, pp. 2–20 (2019)
Metadaten
Titel
Exploiting flaws in Windbg: how to escape or fool debuggers from existing flaws
verfasst von
François Plumerault
Baptiste David
Publikationsdatum
05.03.2020
Verlag
Springer Paris
Erschienen in
Journal of Computer Virology and Hacking Techniques / Ausgabe 2/2020
Elektronische ISSN: 2263-8733
DOI
https://doi.org/10.1007/s11416-020-00347-x

Weitere Artikel der Ausgabe 2/2020

Journal of Computer Virology and Hacking Techniques 2/2020 Zur Ausgabe