Zobrazit minimální záznam

Undetectable Debugger
dc.contributor.advisorDěcký, Martin
dc.creatorDemín, Michal
dc.date.accessioned2017-05-06T22:17:08Z
dc.date.available2017-05-06T22:17:08Z
dc.date.issued2012
dc.identifier.urihttp://hdl.handle.net/20.500.11956/40862
dc.description.abstractPoužívanie debuggeru je bežný prostriedok na identifikáciu a analýzu malwaru (ako sú vírusy, červy, spyware, rootkity, apod). Keďže, debugger môže byť detekovaný malwarom prostredníctvom pozorovania správania operačného systému, zmien v kóde (napr. breakpoint inštrukcií) a neštandardného správania procesora, urobiť analýzu malwaru môže byť tažké a pomalé. V tejto práci implementujeme základný debugger založený na QEMU emulátore, ktorý dokáže ukryť svoju prítomnosť pred ladenou aplikáciou. Dosahujeme to pomocou QEMU ako virtuálneho stroja a pridaním rozlišovania kontextov do už existujúceho primitívneho debuggeru. Rozlišovanie kontextov je realizované pomocou vstavaného skriptovacieho jazyka Python. Takýto systém nám umožňuje flexibilne implementovať podporu pre rôzne operačné systémy. V tejto práci sme vyvinuli dva príklady. Prvý príklad je pre operačný systém RTEMS, ktorý slúži ako ľahko pochopiteľná referenčná implementácia. Druhý príklad je vyvinutý pre operačný systém Linux, na ukázanie schopností nášho nedetekovateľného debuggeru v reálnejšom príklade.cs_CZ
dc.description.abstractUsing debuggers is a common mean for identifying and analyzing malware (such as viruses, worms, spyware, rootkits, etc.). However, debuggers can be detected by malware via observing of the behavior of operating system, changes in code (such as breakpoint instructions) and non-standard behavior of the CPU, making the analysis of the malware can be hard and tedious. In this thesis we are implementing a basic debugger based on the QEMU emulator that hides its presence from the debugged application. This is accomplished by using the QEMU as virtual machine and adding context awareness to the already existing primitive debugger. The context awareness is implemented using an embedded Python scripting engine. Such setup gives us a flexible way of implementing support for various operating systems. In this thesis, we have developed two examples. One example is for the RTEMS operating system, which serves as easy to understand reference implementation. Second example is for the Linux operating system, to show the abilities of the undetectable debugger in a more real scenario.en_US
dc.languageEnglishcs_CZ
dc.language.isoen_US
dc.publisherUniverzita Karlova, Matematicko-fyzikální fakultacs_CZ
dc.subjectvirtualizationcs_CZ
dc.subjectdebuggingcs_CZ
dc.subjectmalwarecs_CZ
dc.subjectvirtualizationen_US
dc.subjectdebuggingen_US
dc.subjectmalwareen_US
dc.titleUndetectable Debuggeren_US
dc.typediplomová prácecs_CZ
dcterms.created2012
dcterms.dateAccepted2012-09-03
dc.description.departmentDepartment of Distributed and Dependable Systemsen_US
dc.description.departmentKatedra distribuovaných a spolehlivých systémůcs_CZ
dc.description.facultyFaculty of Mathematics and Physicsen_US
dc.description.facultyMatematicko-fyzikální fakultacs_CZ
dc.identifier.repId94737
dc.title.translatedUndetectable Debuggercs_CZ
dc.contributor.refereeMarek, Lukáš
dc.identifier.aleph001498374
thesis.degree.nameMgr.
thesis.degree.levelnavazující magisterskécs_CZ
thesis.degree.disciplineSoftware Systemsen_US
thesis.degree.disciplineSoftwarové systémycs_CZ
thesis.degree.programComputer Scienceen_US
thesis.degree.programInformatikacs_CZ
uk.thesis.typediplomová prácecs_CZ
uk.taxonomy.organization-csMatematicko-fyzikální fakulta::Katedra distribuovaných a spolehlivých systémůcs_CZ
uk.taxonomy.organization-enFaculty of Mathematics and Physics::Department of Distributed and Dependable Systemsen_US
uk.faculty-name.csMatematicko-fyzikální fakultacs_CZ
uk.faculty-name.enFaculty of Mathematics and Physicsen_US
uk.faculty-abbr.csMFFcs_CZ
uk.degree-discipline.csSoftwarové systémycs_CZ
uk.degree-discipline.enSoftware Systemsen_US
uk.degree-program.csInformatikacs_CZ
uk.degree-program.enComputer Scienceen_US
thesis.grade.csDobřecs_CZ
thesis.grade.enGooden_US
uk.abstract.csPoužívanie debuggeru je bežný prostriedok na identifikáciu a analýzu malwaru (ako sú vírusy, červy, spyware, rootkity, apod). Keďže, debugger môže byť detekovaný malwarom prostredníctvom pozorovania správania operačného systému, zmien v kóde (napr. breakpoint inštrukcií) a neštandardného správania procesora, urobiť analýzu malwaru môže byť tažké a pomalé. V tejto práci implementujeme základný debugger založený na QEMU emulátore, ktorý dokáže ukryť svoju prítomnosť pred ladenou aplikáciou. Dosahujeme to pomocou QEMU ako virtuálneho stroja a pridaním rozlišovania kontextov do už existujúceho primitívneho debuggeru. Rozlišovanie kontextov je realizované pomocou vstavaného skriptovacieho jazyka Python. Takýto systém nám umožňuje flexibilne implementovať podporu pre rôzne operačné systémy. V tejto práci sme vyvinuli dva príklady. Prvý príklad je pre operačný systém RTEMS, ktorý slúži ako ľahko pochopiteľná referenčná implementácia. Druhý príklad je vyvinutý pre operačný systém Linux, na ukázanie schopností nášho nedetekovateľného debuggeru v reálnejšom príklade.cs_CZ
uk.abstract.enUsing debuggers is a common mean for identifying and analyzing malware (such as viruses, worms, spyware, rootkits, etc.). However, debuggers can be detected by malware via observing of the behavior of operating system, changes in code (such as breakpoint instructions) and non-standard behavior of the CPU, making the analysis of the malware can be hard and tedious. In this thesis we are implementing a basic debugger based on the QEMU emulator that hides its presence from the debugged application. This is accomplished by using the QEMU as virtual machine and adding context awareness to the already existing primitive debugger. The context awareness is implemented using an embedded Python scripting engine. Such setup gives us a flexible way of implementing support for various operating systems. In this thesis, we have developed two examples. One example is for the RTEMS operating system, which serves as easy to understand reference implementation. Second example is for the Linux operating system, to show the abilities of the undetectable debugger in a more real scenario.en_US
uk.publication.placePrahacs_CZ
uk.grantorUniverzita Karlova, Matematicko-fyzikální fakulta, Katedra distribuovaných a spolehlivých systémůcs_CZ
dc.identifier.lisID990014983740106986


Soubory tohoto záznamu

Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail

Tento záznam se objevuje v následujících sbírkách

Zobrazit minimální záznam


© 2017 Univerzita Karlova, Ústřední knihovna, Ovocný trh 560/5, 116 36 Praha 1; email: admin-repozitar [at] cuni.cz

Za dodržení všech ustanovení autorského zákona jsou zodpovědné jednotlivé složky Univerzity Karlovy. / Each constituent part of Charles University is responsible for adherence to all provisions of the copyright law.

Upozornění / Notice: Získané informace nemohou být použity k výdělečným účelům nebo vydávány za studijní, vědeckou nebo jinou tvůrčí činnost jiné osoby než autora. / Any retrieved information shall not be used for any commercial purposes or claimed as results of studying, scientific or any other creative activities of any person other than the author.

DSpace software copyright © 2002-2015  DuraSpace
Theme by 
@mire NV