Why I chose my project
When I was first looking through the options for my Senior Capstone Project what immediately caught my eye was the malware analysis project. My concentration for my degree is in cybersecurity, so for that reason I thought it would be the most applicable choice for me. This was also the clear choice for me based on my interests which I have found through my years at Oregon State. My all-time favorite class up to the point of choosing this project was CS 373 – Defense Against the Dark Arts. The class was all about introducing anti-malware and computer forensic principles and methodologies, so I thought this would be a great continuation of those fields.
It turns out that my initial reasonings were correct, and this has by far been my favorite class throughout my senior year. I have really enjoyed getting a hands-on experience in analyzing malware and my knowledge of both what to look for and how to use the various analysis tools has grown substantially. As I reflect on everything I have learned, I think I can best summarize my insights into five major takeaways.
The five major takeaways
1. VM creation and handling
The very first step of this project (after the planning phase) was to create a VM environment that is isolated from the host network and then install all the necessary analysis tools as well as the malware samples onto it. Up until this course my only experience with VM’s was working with those which were pre-built for the purpose of the course which I needed them for.
2. Static analysis is essential for an impactful dynamic analysis
In the various samples that I analyzed this term, I have always found that the stronger my static analysis was, the easier and more conclusive my finding were in dynamic analysis. This initial phase helped me to identify key indicators, like API calls, suspicious strings, file structure, etc. which guided me in my approach during the malwares execution. Essentially, static analysis was my guide for what to look for when I finally executed the program and began monitoring its behavior in real time.
3. Malware analysis required a wide tech stack
I quickly found out when I began analyzing the samples, that I always needed to add another tool in order to get a complete grasp of the software. No single tool or analysis technique will paint a comprehensive picture of the intent of a piece of malware.
4. Simulated networks are vital for finding malware intent
Without using a tool like FakeNet to simulate network traffic, my isolated VM, being disconnected from the internet, would have been insufficient in analyzing samples that utilize a command-and-control (C2) server. FakeNet was able to mimic the expected network responses, so that the malware would behave as if it had successfully made a connection to its C2 server, which lead to further findings of the malwares intent and functionality.
5. Documentation is key to a proper analysis
As I investigated the malware samples, I made a habit of documenting everything I found. This proved extremely useful as I continued my study of the sample. I was always able to look back at what I had documented which made tracking patterns within the sample and understanding how everything tied together much easier.