
Air Force Institute of Technology AFIT Scholar Theses and Dissertations Student Graduate Works 3-5-2007 A Study of Rootkit Stealth Techniques and Associated Detection Methods Daniel D. Nerenberg Follow this and additional works at: https://scholar.afit.edu/etd Part of the Other Computer Engineering Commons Recommended Citation Nerenberg, Daniel D., "A Study of Rootkit Stealth Techniques and Associated Detection Methods" (2007). Theses and Dissertations. 3106. https://scholar.afit.edu/etd/3106 This Thesis is brought to you for free and open access by the Student Graduate Works at AFIT Scholar. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of AFIT Scholar. For more information, please contact [email protected]. A Study of Rootkit Stealth Techniques and Associated Detection Methods THESIS Daniel D. Nerenberg, 1st Lieutenant, USAF AFIT/GCE/ENG/07-10 DEPARTMENT OF THE AIR FORCE AIR UNIVERSITY AIR FORCE INSTITUTE OF TECHNOLOGY Wright-Patterson Air Force Base, Ohio APPROVED FOR PUBLIC RELEASE; DISTRIBUTION UNLIMITED. The views expressed in this thesis are those of the author and do not reflect the official policy or position of the United States Air Force, Department of Defense, or the U.S. Government. AFIT/GCE/ENG/07-10 A Study of Rootkit Stealth Techniques and Associated Detection Methods THESIS Presented to the Faculty Department of Electrical and Computer Engineering Graduate School of Engineering and Management Air Force Institute of Technology Air University Air Education and Training Command In Partial Fulfillment of the Requirements for the Degree of Master of Science in Computer Engineering Daniel D. Nerenberg, B.S.C.E. 1st Lieutenant, USAF March 2007 APPROVED FOR PUBLIC RELEASE; DISTRIBUTION UNLIMITED. AFIT/GCE/ENG/07-10 A Study of Rootkit Stealth Techniques and Associated Detection Methods Daniel D. Nerenberg, B.S.C.E. 1st Lieutenant, USAF Approved: /signed/ 5 Mar 2007 Major P. Williams, PhD (Chairman) date /signed/ 5 Mar 2007 Dr. R. Baldwin (Member) date /signed/ 5 Mar 2007 Dr. R. Raines (Member) date AFIT/GCE/ENG/07-10 Abstract In today’s world of advanced computing power at the fingertips of any user, computer security should be a primary concern. Information is power and this power is within the computer system. If the information within computer systems cannot be trusted then the power that comes from such information cannot be properly used. Rootkits are software programs that are designed to establish and maintain an environment in which malware may hide on a computer system after successful compromise of that computer system. Rootkits cut at the very foundation of the trust in information and subsequent power. This thesis examines rootkit hiding techniques, rootkit finding techniques and develops attack trees and defense trees to identify deficiencies in detection and further increase the trust in information systems. The developed attack and defense trees identified that enumeration is not sufficient to defend against rootkits. A developed classification of rootkits helps fill the gaps in enumeration of rootkit techniques and gives direction for further detection development. By fully understanding what areas need to be addressed in detection, better and more complete tools will come to fruition. iv Acknowledgements First and foremost I would like to thank my Heavenly Father for blessing me with the ability to complete this thesis. Secondly, I would like to thank my wife and children for supporting and encouraging me throughout this educational adventure. I would also like to express my sincere appreciation to my faculty advisor, Major Paul Williams, and committee members, Dr. Rusty Baldwin and Dr. Richard Raines, for their guidance and support throughout the course of this thesis effort. Their insight and experience was certainly appreciated. I would, also, like to thank Mr. Lacey for his expertise and support in everything. Special thanks to Greg Hoglund, James Butler and all those who participate in www.rootkit.com, and in the writing of Rootkits: Subverting the Windows Kernel; these were priceless in my rootkit research. Daniel D. Nerenberg v Table of Contents Page Abstract..................................... iv Acknowledgements ............................... v ListofFigures ................................. ix ListofTables.................................. xi ListofAbbreviations.............................. xii I. Introduction ............................. 1 1.1 Motivation ......................... 1 1.2 Overview .......................... 2 1.3 ResearchStatement .................... 2 1.4 ThesisOrganization .................... 3 II. LiteratureReview .......................... 4 2.1 Background......................... 4 2.2 OperatingSystems ..................... 5 2.2.1 WindowsOS ................... 7 2.2.2 Linux&FreeBSDOSs .............. 8 2.2.3 Prevention..................... 9 2.3 Classifications........................ 11 2.3.1 Achieved Access . 11 2.3.2 Automation .................... 11 2.3.3 AttackType.................... 11 2.3.4 AttackTree .................... 11 2.4 TrustedComputing..................... 14 2.5 ExploitsvsPatches..................... 16 2.6 Rootkits........................... 17 2.6.1 Binary Rootkits . 18 2.6.2 Kernel Rootkits . 19 2.6.3 LibraryRootkits ................. 20 2.7 Summary .......................... 21 vi Page III. RootkitHidingandFindingTechniques . 22 3.1 ChapterOverview ..................... 22 3.2 RootkitStealth....................... 22 3.2.1 Hooking ...................... 23 3.2.2 Patching...................... 30 3.2.3 Data Structure Manipulation . 30 3.2.4 Virtual Machine and Virtual Memory . 32 3.2.5 Hardware ..................... 33 3.2.6 Rootkit Examples - Hooking . 33 3.2.7 Rootkit Examples - Patching . 35 3.2.8 Rootkit Examples - Data Structure Manipulation 36 3.2.9 Rootkit Examples - Virtual Memory . 37 3.3 Rootkit Detection . 37 3.3.1 Behavioral Detection Class . 42 3.3.2 Static Detection Class . 43 3.3.3 Rootkit Detection Examples - Behavioral . 45 3.3.4 Rootkit Detection Examples - Signature . 47 IV. ExperimentationandResults .................... 52 4.1 ChapterOverview ..................... 52 4.2 RootkitAttackTree .................... 52 4.3 Rootkit Defense Tree . 54 4.4 Furtheringthestateoftheart. 55 4.5 SystemUnderTest..................... 55 4.5.1 BaseSystem.................... 56 4.5.2 TestedSystem................... 56 4.5.3 Software...................... 56 4.6 Experiment Overview: Rooted Rootkits . 56 4.7 Experimentsetup...................... 57 4.8 Outcomes.......................... 57 4.8.1 Experiment 1 Modified HPH vs unmodified HPH 57 4.8.2 Experiment 2 Modified HPH vs Hxdef100r . 57 4.8.3 Experiment 3 Modified HPH vs AFX2005 . 57 4.8.4 Experiment 4 Modified HPH vs Fu . 57 4.9 Metrics ........................... 58 vii Page V. Summary............................... 59 5.1 Conclusion ......................... 59 5.2 FutureResearch ...................... 59 5.2.1 Rootkit Detection concept: Screen Sweeping . 59 5.2.2 Rootkit Detection concept: Memory Tracking . 60 5.2.3 Research Questions . 60 AppendixA. WindowsArchitecture ................... 62 AppendixB. UNIXArchitecture..................... 63 Bibliography .................................. 64 Glossary..................................... 69 viii List of Figures Figure Page 2.1. Abstract view of the components of a computer system. 5 2.2. UNIX-like OS: System call flow. 7 2.3. Block Diagram of Windows XP OS. 8 2.4. BlockDiagramofLinuxOS. ................... 9 2.5. Example Threat Tree, House Burglary . 13 2.6. Exploitation Cycle . 17 2.7. Protection Rings from the Intel Developer Manual . 20 3.1. Rootkit Technology Picture . 23 3.2. Temporal ordering of a detoured function . 24 3.3. ExampleSSDTHook ....................... 26 3.4. ExampleIDTHook ........................ 27 3.5. ExampleIRPHook ........................ 27 3.6. Device Driver Physical Structure from Microsoft . 28 3.7. Normal execution path vs. hooked execution path for an IAT hook ................................ 29 3.8. Direct Kernel Object Manipulation . 31 3.9. Rootkit Hiding Categories . 34 3.10. Detection Classification 1 . 41 3.11. Detection Classification 2 . 42 3.12. Detection Classification 3 . 43 3.13. Trampoline Function with Modification . 46 4.1. Attack Tree 2: Rootkit Hiding Techniques . 52 4.2. RootkitHierarchy ......................... 53 4.3. RootkitDefenseTree ....................... 54 4.4. Rootkit Defense Tree:Klister Example . 55 ix Figure Page 4.5. TestResults ............................ 58 A.1. WindowsArchitecture....................... 62 B.1. UNIXArchitecture......................... 63 B.2. UNIXArchitecture......................... 63 x List of Tables Table Page 2.1. Incident Categories (AFI 33-138) . 12 3.1. InlineFunctionHook ....................... 30 3.2. RootkitExamples ......................... 38 3.3. Rootkit Detection Examples . 50 xi List of Abbreviations Abbreviation Page IDS Intrusion Detection Systems . 1 IPS InstrusionPreventionSystems................ 1 RHTs Rootkit Hiding Techniques . 2 RDTs Rootkit Detection Techniques . 2 SUT SystemUnderTest...................... 3 LKM LoadableKernelModule................... 19 SSDT System Service Descriptor Table . 24 IDT InterruptDescriptorTable.................. 24 IRP I/O Request Packet . 24 IAT ImportAddressTable .................... 28 DSM DataStructureManipulation ................ 30 DKOM Direct Kernel Object Manipulation . 30 FLINK forwardlink.......................... 31 BLINK backwardlink........................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages85 Page
-
File Size-