Bird
Raised Fist0
Cybersecurityknowledge~5 mins

Malware analysis basics in Cybersecurity - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is malware?
Malware is software designed to harm, exploit, or damage computers and networks without the user's consent.
Click to reveal answer
beginner
Name two main types of malware analysis.
The two main types are static analysis, which examines the code without running it, and dynamic analysis, which observes the malware behavior while it runs.
Click to reveal answer
beginner
Why is a sandbox environment used in malware analysis?
A sandbox is a safe, isolated space where malware can be run and studied without risking harm to real systems.
Click to reveal answer
beginner
What is the goal of malware analysis?
The goal is to understand how malware works, what damage it can cause, and how to detect or remove it.
Click to reveal answer
beginner
What is a signature in malware detection?
A signature is a unique pattern or code snippet that helps identify a specific malware.
Click to reveal answer
Which type of malware analysis involves running the malware to observe its behavior?
AStatic analysis
BNetwork analysis
CDynamic analysis
DSignature analysis
What is the main purpose of using a sandbox in malware analysis?
ATo speed up the malware
BTo delete malware automatically
CTo encrypt malware
DTo safely observe malware behavior
Which of the following is NOT a type of malware?
AFirewall
BWorm
CVirus
DTrojan
What does a malware signature help with?
AEncrypting files
BIdentifying malware
CRunning malware faster
DBacking up data
Static analysis means:
AExamining malware code without running it
BRunning malware in a sandbox
CDeleting malware automatically
DMonitoring network traffic
Explain the difference between static and dynamic malware analysis.
Think about whether the malware is running or not during analysis.
You got /3 concepts.
    Describe why malware analysts use sandbox environments.
    Consider safety and control when running dangerous software.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of malware analysis?
      easy
      A. To understand and identify harmful software
      B. To create new software applications
      C. To speed up computer performance
      D. To backup important files

      Solution

      1. Step 1: Understand the goal of malware analysis

        Malware analysis is done to study harmful software to know how it works and how to stop it.
      2. Step 2: Compare options with the goal

        Only To understand and identify harmful software matches this goal. Other options relate to different computer tasks.
      3. Final Answer:

        To understand and identify harmful software -> Option A
      4. Quick Check:

        Malware analysis = Understand harmful software [OK]
      Hint: Focus on understanding malware's purpose [OK]
      Common Mistakes:
      • Confusing malware analysis with software development
      • Thinking malware analysis improves computer speed
      • Mixing malware analysis with file backup tasks
      2. Which method is used in static malware analysis?
      easy
      A. Running the malware in a safe environment
      B. Deleting the malware immediately
      C. Monitoring network traffic during infection
      D. Examining the malware code without executing it

      Solution

      1. Step 1: Define static analysis

        Static analysis means studying malware without running it, usually by looking at its code or files.
      2. Step 2: Match options to static analysis

        Examining the malware code without executing it describes examining code without execution, which is static analysis. Other options involve running or removing malware.
      3. Final Answer:

        Examining the malware code without executing it -> Option D
      4. Quick Check:

        Static analysis = Code examination without running [OK]
      Hint: Static means no running, just code study [OK]
      Common Mistakes:
      • Confusing static with dynamic analysis
      • Thinking static analysis involves running malware
      • Assuming deleting malware is analysis
      3. Consider this code snippet used in dynamic malware analysis:
      log = []
      for action in ['open_file', 'modify_registry', 'send_data']:
          log.append(f"Action: {action}")
      print(log)

      What will be the output?
      medium
      A. ['open_file', 'modify_registry', 'send_data']
      B. Action: open_file Action: modify_registry Action: send_data
      C. ['Action: open_file', 'Action: modify_registry', 'Action: send_data']
      D. Error: log is not defined

      Solution

      1. Step 1: Understand the loop and append operation

        The loop goes through each action and appends a string with 'Action: ' plus the action name to the list log.
      2. Step 2: Determine the final list content

        After the loop, log contains three strings: 'Action: open_file', 'Action: modify_registry', and 'Action: send_data'. Printing log shows this list.
      3. Final Answer:

        ['Action: open_file', 'Action: modify_registry', 'Action: send_data'] -> Option C
      4. Quick Check:

        Loop appends formatted strings = list with 'Action: ...' [OK]
      Hint: Look for string formatting inside loop append [OK]
      Common Mistakes:
      • Ignoring the 'Action: ' prefix in strings
      • Confusing list print with separate print lines
      • Assuming a runtime error without reason
      4. A malware analyst wrote this code to check if a file is malicious:
      def is_malicious(file):
          if file.endswith('.exe') or '.dll':
              return True
          else:
              return False

      What is the error in this code?
      medium
      A. The condition always returns True because of incorrect or usage
      B. The function does not return any value
      C. The file variable is not defined
      D. The function should use 'and' instead of 'or'

      Solution

      1. Step 1: Analyze the condition in the if statement

        The condition is 'file.endswith('.exe') or '.dll''. The second part '.dll' is a non-empty string, which is always True in Python.
      2. Step 2: Understand the effect of the condition

        Because '.dll' is always True, the whole condition always evaluates to True, so the function always returns True regardless of the file extension.
      3. Final Answer:

        The condition always returns True because of incorrect or usage -> Option A
      4. Quick Check:

        Non-empty string in or condition = always True [OK]
      Hint: Check if all parts of 'or' are boolean expressions [OK]
      Common Mistakes:
      • Thinking the function never returns True
      • Assuming file variable is undefined
      • Believing 'and' fixes the logic without changing condition
      5. You want to create a dictionary summarizing malware actions and their counts from this list:
      actions = ['open_file', 'send_data', 'open_file', 'modify_registry', 'send_data', 'send_data']

      Which dictionary comprehension correctly counts each action?
      hard
      A. {action: actions.index(action) for action in actions}
      B. {action: actions.count(action) for action in set(actions)}
      C. {actions.count(action): action for action in actions}
      D. {action: len(action) for action in actions}

      Solution

      1. Step 1: Understand the goal of counting actions

        We want a dictionary where keys are unique actions and values are how many times each appears.
      2. Step 2: Analyze each option

        {action: actions.count(action) for action in set(actions)} uses set(actions) to get unique actions and counts each correctly. {action: actions.index(action) for action in actions} uses index which gives first position, not count. {actions.count(action): action for action in actions} reverses keys and values incorrectly. {action: len(action) for action in actions} counts string length, not occurrences.
      3. Final Answer:

        {action: actions.count(action) for action in set(actions)} -> Option B
      4. Quick Check:

        Use set for unique keys and count for values [OK]
      Hint: Use set() for unique keys and count() for values [OK]
      Common Mistakes:
      • Using list instead of set for keys causing duplicates
      • Using index instead of count for frequency
      • Mixing keys and values in comprehension
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard