Skip to content

Latest commit

 

History

History
100 lines (80 loc) · 5.28 KB

index.md

File metadata and controls

100 lines (80 loc) · 5.28 KB
title layout
Introduction to Malware Analysis and Reverse Engineering
default

{{ page.title }}

CS6038/CS5138 Malware Analysis Department of Electrical Engineering and Computing Systems
College of Engineering and Applied Science
University of Cincinnati
Meets every Tue/Thu in 3210 RECCENTER @ 4:00PM-5:20PM

Want to participate?: Apply to Graduate School Here

This class will introduce the CS graduate students to malware concepts, malware analysis, and black-box reverse engineering techniques. The target audience is focused on computer science graduate students or undergraduate seniors without prior cyber security or malware experience. It is intended to introduce the students to types of malware, common attack recipes, some tools, and a wide array of malware analysis techniques.

In general, if you've taken the following courses, you should have a good foundation for the class:
CS4029/6029 - Operating Systems
CS2029 - Data Structures

As virtualization is a key ingredient to any malware analysis, students are expected to have access to a laptop which can run multiple virtual machines at a time, with adequate CPU, RAM, and available disk storage. The minimum configuration expected to work well is a system with 4 cores (4 or 8 threads), 16GB of RAM and at least 150GB of free space on disk. Lesser configurations may work, but will likely increase the amount of wait time, minimized multitasking, and generally add to frustration.

Ghidra API Documentation

As the https://ghidra.re site appears to be down, I have hosted an up to date copy of the Ghidra API documentation here:

Feel free to Open an Issue in Github if you ever find it is out of date, and I will update it.

Explore By Topic

Here are a list of topics that I have done lectures on, feel free to explore the content if you're looking for information on specific areas of malware analysis or reversing.

{% for t in site.explore_topics %}{{t}} {% endfor %}

Course syllabus

{% assign year = "now" | date: "%Y" %}

Lectures/notes/videos (from {{ year }} class)

{% for post in site.posts %}{% assign pyear = post.date | date: "%Y" %}{% if post.tags contains "lecture" and pyear == year %}{{post.date | date: "%Y-%m-%d"}} - {{post.title}} (lecture)
{% endif %}{% endfor %}

Lectures/notes/videos (from prior classes)

Previous Lectures Archived Here (Look here if you'd like complete sets of lectures)

Assignments

{% for post in site.posts %}{% assign pyear = post.date | date: "%Y" %}{% if post.tags contains "assignment" and pyear == year %}{{post.assignment}}: {{post.title}} (Due: {{post.due}})
{% endif %}{% endfor %}

Assignments (old)

{% for post in site.posts %}{% assign pyear = post.date | date: "%Y" %}{% if post.tags contains "assignment" and pyear != year %}{{post.assignment}}: {{post.title}} (Due: {{post.due}})
{% endif %}{% endfor %}

Other videos on malware I've done

  • Malware Analysis on a Budget - Discussion of malware analysis tools and research projects out in the open-source community
  • MalwareDNA - Talk about an instruction-analysis technique I devised in 2013

Recommended Resources