Learning Malware Analysis
Explore the concepts, tools, and techniques to analyze and investigate Windows malware
Monnappa K A
- 510 pagine
- English
- ePUB (disponibile sull'app)
- Disponibile su iOS e Android
Learning Malware Analysis
Explore the concepts, tools, and techniques to analyze and investigate Windows malware
Monnappa K A
Informazioni sul libro
Understand malware analysis and its practical implementationAbout This Book• Explore the key concepts of malware analysis and memory forensics using real-world examples• Learn the art of detecting, analyzing, and investigating malware threats• Understand adversary tactics and techniquesWho This Book Is ForThis book is for incident responders, cyber-security investigators, system administrators, malware analyst, forensic practitioners, student, or curious security professionals interested in learning malware analysis and memory forensics. Knowledge of programming languages such as C and Python is helpful but is not mandatory. If you have written few lines of code and have a basic understanding of programming concepts, you'll be able to get most out of this book.What You Will Learn• Create a safe and isolated lab environment for malware analysis• Extract the metadata associated with malware• Determine malware's interaction with the system• Perform code analysis using IDA Pro and x64dbg• Reverse-engineer various malware functionalities• Reverse engineer and decode common encoding/encryption algorithms• Perform different code injection and hooking techniques• Investigate and hunt malware using memory forensicsIn DetailMalware analysis and memory forensics are powerful analysis and investigation techniques used in reverse engineering, digital forensics, and incident response. With adversaries becoming sophisticated and carrying out advanced malware attacks on critical infrastructures, data centers, and private and public organizations, detecting, responding to, and investigating such intrusions is critical to information security professionals. Malware analysis and memory forensics have become must-have skills to fight advanced malware, targeted attacks, and security breaches.This book teaches you the concepts, techniques, and tools to understand the behavior and characteristics of malware through malware analysis. It also teaches you techniques to investigate and hunt malware using memory forensics. This book introduces you to the basics of malware analysis, and then gradually progresses into the more advanced concepts of code analysis and memory forensics. It uses real-world malware samples, infected memory images, and visual diagrams to help you gain a better understanding of the subject and to equip you with the skills required to analyze, investigate, and respond to malware-related incidents.Style and approachThe book takes the reader through all the concepts, techniques and tools to understand the behavior and characteristics of malware by using malware analysis and it also teaches the techniques to investigate and hunt malware using memory forensics.
Domande frequenti
Informazioni
Debugging Malicious Binaries
1. General Debugging Concepts
1.1 Launching And Attaching To Processes
1.2 Controlling Process Execution
- Continue (Run): This executes all of the instructions, until a breakpoint is reached or an exception occurs. When you load a malware into a debugger and use the continue (Run) option without setting the breakpoint, it will execute all of the instructions without giving you any control; so, you normally use this option along with breakpoint, to interrupt the program at the breakpoint location.
- Step into and Step over: Using step into and step over, you can execute a single instruction. After executing the single instruction, the debugger stops, giving you a chance to inspect the process's resources. The difference between step into and step over occurs when you are executing an instruction that calls a function. For example, in the following code, at ➊, there is a call to the function sub_401000. When you use the step into option on this instruction, the debugger will stop at the start of the function (at the address 0x401000), whereas when you use step over, the entire function will be executed, and the debugger will pause at the next instruction, ➋ (that is, the address 0x00401018). You will normally use step into to get inside a function, to understand its inner workings. Step over is used when you already know what a function does (suc...