Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Nikola Milosevic

Every cyber-attack utilizes some malicious code and some malware. The average loss that a company suffers from a single malware attack is $2.4 million. Companies around the world are losing billions of dollars every year because of information security breaches usually caused by malware. The number of malware attacks grows yearly at an exponential rate. Malicious code or malware is a piece of code that intends to harm or disrupt computer operation of the victim. If you want to understand how malware and cyber-attacks work, this is the right course for you. In this course, you will learn how to analyse malware and incidents that happened using the malicious code.

Read more

Every cyber-attack utilizes some malicious code and some malware. The average loss that a company suffers from a single malware attack is $2.4 million. Companies around the world are losing billions of dollars every year because of information security breaches usually caused by malware. The number of malware attacks grows yearly at an exponential rate. Malicious code or malware is a piece of code that intends to harm or disrupt computer operation of the victim. If you want to understand how malware and cyber-attacks work, this is the right course for you. In this course, you will learn how to analyse malware and incidents that happened using the malicious code.

This course is intended for anyone who wants to know how malware analysis and reverse engineering of software is performed. This course can train you for a career in any of the anti-virus companies around the world or can give you skills that you can use to analyse and stop breaches to the networks of organizations you work with.

The course is tough by Dr. Nikola Milosevic, a PhD in computer science with track record of publications and successful projects in information and cyber-security. Nikola is OWASP chapter and project leader and has been teaching on several reputable Universities over the past 5 years.  I have also published scientific papers on malware analysis. Now he wants to share this knowledge with you and help you develop your career.

This course will teach you the following:

  • History of malware and malicious software on PC (from Brain.A to Stuxnet and further)

  • The topology of malware (you will learn what is virus, worm, Trojan, rootkit, ransomware, mobile malicious code, etc.)

  • How malicious software work and propagate, how they use exploits

  • How to build your own malware analysis lab

  • How to perform static and dynamic malware analysis

  • How to apply your skills to reverse engineer non-malicious software and gain insight into how they operate

  • How AI and machine learning can help to detect malware

In this course, you will also learn how to fingerprint malware and use tools like WinMD5, Strings, PEid, Dependency Walker, Resource Hacker, WinHex, OllyDbg, IDA Pro, Process Monitor, Process Explorer, RegShot, Wireshark, NetCat, etc.

The course does not require any particular previous knowledge, apart from your apatite to learn and basics of networking, how operating systems work and a tiny bit of programming. However, if you are versed in computer science and interested in security, this is the right course for you.

Go ahead and enroll.

Enroll now

What's inside

Learning objectives

  • Topology of malware (what is virus, trojan, worm, ransomware, rootkit, etc.)
  • How to reverse engineer software in general
  • How to perform static and dynamic analysis of malware
  • History of malware (from brain.a to stuxnet and beyond)
  • How to build signatures to stop malware
  • How to use artificial intelligence and machine learning in malware analysis

Syllabus

Introduction

In the first lecture we dig into the topology and kinds of malware (explore what is virus, Trojan, worm, ransomware, rootkit, mobile malware code, combination malware) and we explore how malware developed and changed over time.

Read more

In this part we explore what are the different approaches to malware analysis and dig deep into static malware analysis. We discuss what information we can get from Strings, linked DLLs, function and API calls that can be retrieved. Also we introduce tools such as PEiD, DependencyWalker, IDA Pro and others that can help in static analysis

This lectures does hands-on walk through of couple of tools in a virtual environment and shows how to statically analyse malware using these tools.

This lecture takes us through the techniques for dynamic or behavioral malware analysis. We explore how to set up the malware analysis lab, how to isolate it and how to use tools to capture the malware actions (process logs, network logs, registry logs) as well as what kind of debuggers can be used and in which way.

In this lecture we'll have a look at tools that help performing dynamic malware analysis, such as Wireshark, RegShot, ProcMon, and Process Explorer.

This lecture gives a short overview how artificial intelligence (AI) and machine learning can help automate analysis of software and malware detection.

In this section we will have a look at some additional resources that will help you understand how malware and malware analysis worlds function.

Learn about additional learning resources that we provide.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Teaches static and dynamic malware analysis, which are essential skills for incident response and threat intelligence roles
Explores the history of malware, from early viruses to sophisticated threats like Stuxnet, providing valuable context for understanding modern attacks
Covers a range of malware types, including viruses, worms, Trojans, ransomware, and rootkits, offering a comprehensive overview of the threat landscape
Requires a basic understanding of networking, operating systems, and programming, which may necessitate additional preparation for some learners
Includes hands-on labs using tools like IDA Pro, Wireshark, and Process Monitor, providing practical experience in malware analysis
Introduces the use of AI and machine learning for malware detection, which is a growing area of importance in cybersecurity

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Practical introduction to malware analysis

According to learners, this course offers a practical, hands-on introduction to malware analysis and reverse engineering. Students particularly appreciate the detailed tool demonstrations and the hands-on labs, which provide valuable experience in setting up a malware analysis lab and applying learned techniques. While many find the course provides a solid foundation for beginners or those new to the field, some note that the content can be dense and may require more prerequisite knowledge than initially expected, particularly in programming and operating systems. The course is seen as largely positive for building practical skills, though it may not delve into advanced topics deeply enough for experienced practitioners.
Provides a solid intro but not advanced coverage.
"This course gave me a really good starting point for understanding malware analysis fundamentals."
"It's a great introduction to the topic, perfect for getting your feet wet, but don't expect to become an expert."
"The course covers the basics well, but I wished for more depth on complex reverse engineering techniques."
Emphasizes hands-on practice and tool usage.
"I really enjoyed the hands-on approach and the detailed walkthroughs of various tools like IDA Pro and Wireshark."
"The most valuable part was learning how to use tools like PEiD and Process Explorer for static and dynamic analysis."
"Getting practical experience with setting up a lab environment was incredibly useful for me."
Can be challenging, some background helps.
"Found it quite challenging at times, especially without a strong programming background."
"While the course states no prerequisites, having some knowledge of C/C++ and Windows internals definitely helps."
"The material is dense and requires dedication, but it's rewarding if you put in the work."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Malware analysis and reverse engineering with these activities:
Review Operating System Fundamentals
Reinforce your understanding of operating system concepts, which are crucial for understanding how malware interacts with a system.
Browse courses on Operating Systems
Show steps
  • Review key OS concepts like processes, memory management, and file systems.
  • Practice identifying how malware might exploit OS vulnerabilities.
Brush Up on Assembly Language
Improve your ability to read and understand disassembled code, which is essential for static malware analysis.
Browse courses on Assembly Language
Show steps
  • Review basic assembly instructions and syntax.
  • Practice reading disassembled code snippets.
  • Try to identify common programming constructs in assembly.
Read 'Practical Malware Analysis'
Supplement your learning with a comprehensive guide to malware analysis techniques.
Show steps
  • Read the chapters on static and dynamic analysis.
  • Work through the examples provided in the book.
  • Try to apply the techniques to real-world malware samples.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice Static Analysis with PEiD and Strings
Reinforce your static analysis skills by repeatedly using PEiD and Strings on different files.
Show steps
  • Download and install PEiD and a strings utility.
  • Run PEiD and Strings on various executable files.
  • Analyze the output to identify file types and potential indicators of maliciousness.
Write a Malware Analysis Report
Solidify your understanding by documenting your analysis of a specific malware sample.
Show steps
  • Select a malware sample to analyze.
  • Perform static and dynamic analysis on the sample.
  • Document your findings in a detailed report, including indicators of compromise (IOCs).
Read 'Reversing: Reverse Engineering for Beginners'
Expand your knowledge of reverse engineering principles to better understand malware behavior.
View Alter Ego: A Novel on Amazon
Show steps
  • Read the chapters on disassembly and debugging.
  • Practice reverse engineering simple programs.
  • Apply the techniques to analyze malware samples.
Build a Malware Analysis Lab
Deepen your understanding by creating a secure environment for analyzing malware.
Show steps
  • Set up a virtual machine with a suitable operating system.
  • Install necessary tools like debuggers, disassemblers, and network monitoring software.
  • Configure the network to isolate the lab from the host system.
  • Test the lab by analyzing a benign file.

Career center

Learners who complete Malware analysis and reverse engineering will develop knowledge and skills that may be useful to these careers:
Malware Analyst
A malware analyst examines malicious software to understand its behavior and purpose. This course is tailored for those who want to become malware analysts, as it teaches the core skills needed for the role. The course covers the history of malware, its topology, and how it propagates. Furthermore, it provides practical experience in static and dynamic malware analysis. Learning how to build malware signatures and use AI for malware detection directly prepares you for a career as a malware analyst.
Security Analyst
A security analyst protects computer systems and networks from cyber threats. Security analysts investigate security breaches and implement measures to prevent future incidents. This course directly supports a security analyst's work by teaching how to analyze malware and incidents involving malicious code. The course provides hands on experience in analysis using tools such as Wireshark and Process Monitor. Those aspiring to become security analysts should take this course, especially given its coverage of static and dynamic malware analysis techniques, which build a foundation for understanding and mitigating threats.
Threat Intelligence Analyst
Threat intelligence analysts identify, track, and analyze cyber threats to provide actionable intelligence. This course directly prepares threat intelligence analysts by teaching them how to analyze malware and understand attacker tactics, techniques, and procedures. The course's coverage of malware topologies, reverse engineering techniques, and AI-driven malware detection enhances an analyst's ability to produce timely and relevant threat intelligence. Threat intelligence analysts should consider taking this course.
Reverse Engineer
Reverse engineers analyze software to understand its functionality, often without access to the source code. This course directly addresses reverse engineering by teaching how to reverse engineer both malicious and non-malicious software. The hands-on exercises using tools like IDA Pro and OllyDbg are useful to reverse engineers. The course's treatment of static and dynamic analysis techniques provides a strong base for reverse engineering activities. Those who wish to reverse engineer should find this course useful.
Security Operations Center Analyst
A security operations center analyst monitors security systems and responds to security alerts. This course helps security operations center analysts by providing skills in malware analysis and incident response. The course enables analysts to understand malware behavior and effectively triage security incidents. It also prepares them for more advanced security roles. The course’s coverage of static and dynamic malware analysis makes it a valuable asset for security operations center analysts.
Digital Forensics Analyst
Digital forensics analysts investigate cybercrimes and security incidents to collect and analyze digital evidence. This course helps digital forensics analysts by providing skills in malware analysis and reverse engineering. The course enables analysts to understand the behavior of malware involved in incidents and extract valuable forensic artifacts. The hands-on exercises using tools like Process Monitor and RegShot can enhance a digital forensics analyst's ability to reconstruct events and attribute malicious activity.
Application Security Engineer
Application security engineers focus on securing software applications throughout the development lifecycle. This course is useful, since it covers reverse engineering and vulnerability analysis, which are particularly relevant to application security. The course can teach them how to identify and remediate security flaws in applications. Further, the course's coverage of static and dynamic analysis techniques, as well as the tools involved, makes it a good fit for those working to improve application security.
Incident Responder
An incident responder is responsible for managing and mitigating the impact of security incidents. This course helps incident responders by providing a strong understanding of malware analysis. The course teaches techniques for static and dynamic analysis, as well as how to build your own malware analysis lab, which is useful during incident investigations. This course may further assist incident responders in effectively containing malware outbreaks and restoring systems to a secure state.
Vulnerability Analyst
Vulnerability analysts identify and assess weaknesses in systems and applications. This course helps vulnerability analysts by providing a deeper understanding of how malware exploits vulnerabilities. The course's coverage of reverse engineering techniques and exploitation methods can assist vulnerability analysts in discovering and mitigating security flaws. Vulnerability analysts should find this course helpful for identifying zero-days.
Penetration Tester
Penetration testers, sometimes called ethical hackers, assess the security of systems by simulating attacks. This course helps penetration testers understand the tactics and techniques used by threat actors. By learning how malware works, penetration testers become better equipped to identify vulnerabilities and secure systems against exploitation. The course's exploration of malware topologies and reverse engineering techniques makes it useful for anyone looking to discover zero-days and improve the security posture of organizations. This course may be useful for a penetration tester.
Cybersecurity Engineer
A cybersecurity engineer designs, implements, and manages security systems. This course helps cybersecurity engineers by providing a deeper understanding of malware threats and defenses. The knowledge gained from this course can be applied to improve security architectures and incident response plans. The course's focus on malware analysis techniques and tools, such as Wireshark and Process Monitor, contributes to a cybersecurity engineer's ability to protect systems from vulnerabilities. Cyber security engineers may find this course useful.
Security Architect
A security architect designs and implements security solutions for organizations. While deep technical expertise is not always needed, this course helps security architects by providing insights into malware threats and defenses, which could be valuable during high stakes situations. The knowledge gained from this course can be applied to improve security architectures and incident response plans. This course may assist in making informed decisions around network security.
Security Consultant
Security consultants advise organizations on how to improve their security posture. This course helps security consultants by providing insights into malware analysis and incident response. The course provides consultants with the knowledge and skills to assess security risks and recommend appropriate security measures. Security consultants may find this course helpful when making recommendations.
Information Security Manager
An information security manager oversees an organization's information security program. While this role often requires advanced degrees, this course helps information security managers by providing a technical foundation in malware analysis. The course can enhance their ability to make informed decisions about security investments and incident response strategies. Information security managers may find the detailed coverage helpful for defending against modern attacks.
Software Developer
Software developers create and maintain software applications. While not a core focus, this course helps software developers by providing a better understanding of software security. By learning about malware and reverse engineering, developers can write more secure code and protect against common attack vectors. The course may assist developers prevent vulnerabilities in software.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Malware analysis and reverse engineering.
Comprehensive guide to malware analysis, covering both static and dynamic analysis techniques. It aligns perfectly with the course's focus on practical skills, providing step-by-step instructions and real-world examples. It is often used as a textbook in malware analysis courses. This book will help you build a solid foundation in malware analysis.
Provides a solid foundation in reverse engineering principles. It covers essential topics such as disassembly, debugging, and code analysis. While not solely focused on malware, it provides valuable background knowledge for understanding how software works at a low level. This book is more valuable as additional reading to build a strong foundation in reverse engineering.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser