Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 368)
Detail práce
   Přihlásit přes CAS
Undetectable Debugger
Název práce v češtině: Undetectable Debugger
Název v anglickém jazyce: Undetectable Debugger
Klíčová slova: virtualization, debugging, malware
Klíčová slova anglicky: virtualization, debugging, malware
Akademický rok vypsání: 2011/2012
Typ práce: diplomová práce
Jazyk práce: angličtina
Ústav: Katedra distribuovaných a spolehlivých systémů (32-KDSS)
Vedoucí / školitel: Mgr. Martin Děcký, Ph.D.
Řešitel: skrytý - zadáno a potvrzeno stud. odd.
Datum přihlášení: 14.10.2011
Datum zadání: 31.10.2011
Datum potvrzení stud. oddělením: 07.12.2011
Datum a čas obhajoby: 03.09.2012 10:30
Datum odevzdání elektronické podoby:03.08.2012
Datum odevzdání tištěné podoby:03.08.2012
Datum proběhlé obhajoby: 03.09.2012
Oponenti: RNDr. Mgr. Lukáš Marek, Ph.D.
 
 
 
Zásady pro vypracování
Using debuggers is a common means for identifying and analysing malware (such as viruses, trojan horses, worms, spyware, rootkits, etc.). However, most user-space and even kernel-based debuggers can be detected by malware via observing different behaviour of specific OS API calls, continuous checksumming of the malware code and identifying breakpoint instructions and observing discrepancies in CPU behaviour, effectively hiding the malicious code from the person analysing the malware and making the process tedious and error-prone at best.

The goal of this thesis is to implement a basic debugger server which uses hardware virtualization (based on QEMU/KVM) to hide completely its existence from the debugee and at the same time creating a safe sandbox where the malware is free to execute its malicious code without actually endangering any valuable assets. Although the debugger can technically control the entire virtual machine, it also keeps track of the internal data structures of the guest operating system to be able to follow the execution path of a single thread in the guest operating system (and ignore other threads, context switches, kernel exception handling, etc.), thus providing the same comfort to the end-user as in the case of any common user-space debugger.
Seznam odborné literatury
Tanenbaum, Woodhull: Operating Systems Design and Implementation
Hofmann: The Solaris Operating System on x86 Platforms, Crashdump Analysis, Operating System Internals
Jackson: An Anti-Reverse Engineering Guide (http://www.codeproject.com/KB/security/AntiReverseEngineering.aspx)
Předběžná náplň práce
Using debuggers is a common means for identifying and analysing malware (such as viruses, trojan horses, worms, spyware, rootkits, etc.). However, most user-space and even kernel-based debuggers can be detected by malware via observing different behaviour of specific OS API calls, continuous checksumming of the malware code and identifying breakpoint instructions and observing discrepancies in CPU behaviour, effectively hiding the malicious code from the person analysing the malware and making the process tedious and error-prone at best.

The goal of this thesis is to implement a basic debugger server which uses hardware virtualization (based on QEMU/KVM) to hide completely its existence from the debugee and at the same time creating a safe sandbox where the malware is free to execute its malicious code without actually endangering any valuable assets. Although the debugger can technically control the entire virtual machine, it also keeps track of the internal data structures of the guest operating system to be able to follow the execution path of a single thread in the guest operating system (and ignore other threads, context switches, kernel exception handling, etc.), thus providing the same comfort to the end-user as in the case of any common user-space debugger.
Předběžná náplň práce v anglickém jazyce
Using debuggers is a common means for identifying and analysing malware (such as viruses, trojan horses, worms, spyware, rootkits, etc.). However, most user-space and even kernel-based debuggers can be detected by malware via observing different behaviour of specific OS API calls, continuous checksumming of the malware code and identifying breakpoint instructions and observing discrepancies in CPU behaviour, effectively hiding the malicious code from the person analysing the malware and making the process tedious and error-prone at best.

The goal of this thesis is to implement a basic debugger server which uses hardware virtualization (based on QEMU/KVM) to hide completely its existence from the debugee and at the same time creating a safe sandbox where the malware is free to execute its malicious code without actually endangering any valuable assets. Although the debugger can technically control the entire virtual machine, it also keeps track of the internal data structures of the guest operating system to be able to follow the execution path of a single thread in the guest operating system (and ignore other threads, context switches, kernel exception handling, etc.), thus providing the same comfort to the end-user as in the case of any common user-space debugger.
 
Univerzita Karlova | Informační systém UK