We may earn an affiliate commission when you visit our partners.
Course image
Course image
Coursera logo

Malware Analysis and Introduction to Assembly Language

IBM Skills Network Team

Malicious software, or malware, is typically delivered over a network and is designed to cause disruption to a computer, client, server, or network. Disruptions can include leaked private information, unauthorized access to information or systems, blocked user access, interference with security and privacy, or numerous other variations of attacking systems.

Read more

Malicious software, or malware, is typically delivered over a network and is designed to cause disruption to a computer, client, server, or network. Disruptions can include leaked private information, unauthorized access to information or systems, blocked user access, interference with security and privacy, or numerous other variations of attacking systems.

Malware analysis dissects malware to gather information about the malware functionality, how the system was compromised so that you can defend against future attacks.

Assembly is a low-level language that is used to communicate with the machine. Assembly programming is writing human-readable machine codes or machine instructions that are directly read by the computer. All high-level languages compiled programs like C or C++ can be broken down, analyzed, and understood using Assembly language with the help of a debugger. This process is known as reverse engineering. Understanding what an executable program does is easy if you have direct access to the source code. But if not, such as the case with malware, learning Assembly can be helpful.

In this course, through video demonstrations, hands-on reverse engineering, and capture-the-flag type activities, you will be introduced to the processes and methods for conducting malware analysis of different file types. You will analyze native executable files, and analyze popular files like PowerShell, JavaScripts, and Microsoft Office documents.

Then you will learn the fundamentals of Assembly language, basic Win32 Assembly programming concepts, and how Reverse Engineers use Assembly to analyze malware.

Enroll now

What's inside

Syllabus

Malware analysis overview and process
In this module, you will learn about malware analysis and the process.
Virtual Machine Setup
In this module, you will be given guidance on how to create a testing VM in your own environment, which will provide a safe self-contained system in which to analyze sample files.
Read more
Static and Dynamic analysis
In this module, you will learn about and set up static and dynamic analysis
Manual code reversing
In this module, you will learn about and perform manual code reversing.
Analyze PowerShell, JavaScript, and macro-enabled documents
In this module, you will analyze several common sample types.
Analyze ELF file format
ELF is the default executable file format on Linux systems. In this module, you will learn how to set up REMnux and analyze an ELF file.
Analyze ASPX Webshell and JAR files
In this module, you will learn how to analyze webshells and JAR files.
Introduction to Assembly Language
Digital Badge

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Builds a strong foundation for beginners in malware analysis
Develops foundational skills for reverse engineering using assembly language
Delves into manual code reversing, a valuable hands-on approach in malware analysis
Covers a wide range of file types commonly targeted by malware, including native executables, PowerShell, JavaScript, and Microsoft Office documents
Provides guidance on setting up a virtual machine for safe malware analysis, a valuable practical component
Not suitable for those with no experience in computer science or programming

Save this course

Save Malware Analysis and Introduction to Assembly Language to your list so you can find it easily later:
Save

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 Introduction to Assembly Language with these activities:
Review lecture notes and textbook readings
Familiarize yourself with the basic concepts of malware analysis and reverse engineering before starting the course.
Browse courses on Malware Analysis
Show steps
  • Review lecture notes from previous courses or online resources on malware analysis and reverse engineering.
  • Read assigned textbook chapters or online articles to reinforce your understanding of the concepts.
Follow online tutorials on malware analysis
Gain practical experience in malware analysis by following step-by-step tutorials.
Browse courses on Malware Analysis
Show steps
  • Identify reputable online resources or platforms that offer malware analysis tutorials.
  • Select a tutorial that aligns with your skill level and interests.
  • Follow the instructions carefully, performing hands-on analysis on sample malware.
Analyze real-world malware samples
Apply your skills to real-world scenarios by analyzing actual malware samples.
Browse courses on Malware Analysis
Show steps
  • Obtain access to a sandbox environment or virtual machine.
  • Download and import real-world malware samples.
  • Use malware analysis tools and techniques to examine the samples.
  • Document your findings and write a report on your analysis.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Participate in discussions on malware analysis forums
Engage with other learners and industry professionals to discuss malware analysis techniques and case studies.
Browse courses on Malware Analysis
Show steps
  • Join online forums or communities dedicated to malware analysis.
  • Participate in discussions, asking questions, sharing insights, and learning from others.
Create a presentation on a malware analysis case study
Reinforce your understanding and share your knowledge by creating a presentation on a malware analysis case study.
Browse courses on Malware Analysis
Show steps
  • Select a real-world malware analysis case study that interests you.
  • Research and gather information about the malware, its behavior, and the analysis process.
  • Create a presentation that outlines your findings, including technical details, implications, and recommendations.
Volunteer at a cybersecurity organization
Gain practical experience and make connections by volunteering at a cybersecurity organization.
Browse courses on Malware Analysis
Show steps
  • Identify cybersecurity organizations in your area that offer volunteer opportunities.
  • Inquire about volunteering roles that align with your interests and skills.
  • Participate in projects, assist with research, or provide support to the organization's mission.
Contribute to open-source malware analysis tools
Enhance your understanding and contribute to the malware analysis community by participating in open-source projects.
Browse courses on Malware Analysis
Show steps
  • Identify open-source malware analysis tools that interest you.
  • Review the project's documentation and contribute code, documentation, or bug fixes.

Career center

Learners who complete Malware Analysis and Introduction to Assembly Language will develop knowledge and skills that may be useful to these careers:
Malware Analyst
Malware Analysts use their knowledge of malware, Assembly language, and tools to build a foundation for malware analysis. You will analyze files such as PowerShell, JavaScripts, Microsoft Office documents, and more. By learning how assembly language can help reverse engineers analyze malware, in addition to static and dynamic analysis, you will gain a deeper understanding of how to conduct malware analysis and defend against future attacks in this role.
Security Engineer
A Security Engineer is responsible for securing an organization, its systems, and data from attack. Learn the processes and methods for conducting malware analysis and ways to protect your organization.
Computer Systems Analyst
Computer Systems Analysts can use their skills to help organizations improve efficiency and productivity. This course will help you analyze systems for security and vulnerabilities.
Penetration Tester
Penetration Testers look for security vulnerabilities in an organization's systems. With this course, you will learn how to build a foundation for analyzing systems for security and vulnerabilities.
Information Security Analyst
Information Security Analysts protect systems and networks from cyberattacks. This course can help you analyze systems for security and vulnerabilities.
Software Developer
Software Developers are often responsible for ensuring their developed software is secure. Understanding Assembly language can help developers write more secure code. Additionally, the course's approach to static and dynamic analysis can be useful for software development.
IT Auditor
IT Auditors assess an organization's IT systems and processes. This course can help you learn more about IT security in general.
Cybersecurity Specialist
Cybersecurity Specialists protect organizations from cyberattacks. Learn the processes and methods for conducting malware analysis and ways to protect your organization.
Incident Responder
Incident Responders are responsible for responding to and recovering from security incidents. This course can help you learn the processes and methods for conducting malware analysis and ways to protect your organization.
Cybersecurity Engineer
Cybersecurity Engineers design and implement security controls to protect organizations from cyberattacks. Learn the processes and methods for conducting malware analysis and ways to protect your organization.
Vulnerability Assessor
Vulnerability Assessors identify and assess vulnerabilities in an organization's systems and networks. Learn how to analyze systems for security and vulnerabilities.
Security Consultant
Security Consultants provide advice and guidance to organizations on how to improve their security posture. Learn the processes and methods for conducting malware analysis and ways to protect your organization.
Risk Analyst
Risk Analysts assess and manage risks to an organization's systems and networks. Learn how to analyze systems for security and vulnerabilities.
Compliance Analyst
Compliance Analysts ensure that an organization's systems and processes comply with regulatory requirements. Learn how to analyze systems for security and vulnerabilities.
IT Manager
IT Managers oversee the planning, implementation, and operation of an organization's IT systems. Learn how to analyze systems for security and vulnerabilities.

Reading list

We've selected six 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 Introduction to Assembly Language.
Comprehensive guide to reverse engineering. It covers a wide range of topics, including static and dynamic analysis, debugging, and binary exploitation.
Provides a comprehensive overview of malware forensics. It covers a wide range of topics, including malware analysis, incident response, and forensics.
Comprehensive introduction to assembly language. It covers the basics of assembly language programming, as well as more advanced topics such as debugging and optimization.
Provides a comprehensive overview of the art of exploitation. It covers a wide range of topics, including buffer overflows, format string attacks, and shellcode.
Comprehensive introduction to assembly language programming for x86 processors. It covers a wide range of topics, including the x86 instruction set, assembly language syntax, and debugging.
Practical guide to assembly language programming. It covers the basics of assembly language programming, as well as more advanced topics such as interfacing with the operating system.

Share

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

Similar courses

Here are nine courses similar to Malware Analysis and Introduction to Assembly Language.
Malware Analysis and Assembly Language Introduction
Most relevant
x64 Assembly Language and Reverse Engineering Practicals
Most relevant
Getting Started with Reverse Engineering
Most relevant
Assembly Language Programming for Reverse Engineering
Most relevant
Analyzing Malware for .NET and Java Binaries
Most relevant
Introduction to Microprocessors
Most relevant
Introduction to Microprocessors
Most relevant
Specialized Exploits: Windows and Linux Shellcode
Most relevant
IDA Pro Concepts and Basic Functionality
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 - 2024 OpenCourser