Tutorial 1.5: Computer Viruses

Table of Contents

Learning Objectives

Upon completion of this tutorial, you will be able to:

  1. Explain the fundamental architecture of a computer virus, including its components and their interactions.
  2. Describe the virus lifecycle and the stages from infection to propagation.
  3. Analyze various virus infection strategies and their impact on systems.
  4. Compare and contrast different virus types: boot sector, file infector, macro, multipartite, and stealth viruses.
  5. Evaluate advanced virus technologies such as polymorphism, metamorphism, and encryption.
  6. Assess the strengths and weaknesses of signature‑based, heuristic, and behavior‑based detection methods.
  7. Describe the architecture of antivirus systems and common scanning techniques.
  8. Identify the limitations of traditional antivirus software in the face of modern threats.
  9. Apply virus detection and prevention strategies in enterprise environments.
  10. Investigate historical virus outbreaks to understand evolution and defense lessons.

Overview

Tutorial 1.4 laid the foundation for understanding malicious software, covering malware categories, infection methods, detection, analysis, and response. Now, we turn our focus to one of the oldest and most iconic forms of malware: the computer virus. Despite being a well‑known term, viruses continue to evolve and remain a significant threat, especially when combined with advanced evasion techniques.

This tutorial provides an in‑depth examination of computer viruses, from their internal architecture to their propagation and detection. We begin by defining what constitutes a virus and distinguishing it from other forms of malware (e.g., worms, Trojans). The fundamental characteristic of a virus is its ability to replicate by attaching to legitimate programs or files and executing when the host is run, relying on user intervention to spread.

We explore the virus architecture, including the infection mechanism, payload, trigger conditions, and optional components like stealth and obfuscation. The virus lifecycle is detailed, showing how a virus identifies targets, infects them, and may deliver its payload while attempting to avoid detection.

We then classify viruses into several types: boot sector viruses that infect the master boot record; file infectors that attach to executable files; macro viruses that exploit macros in documents; multipartite viruses that infect both files and boot sectors; and stealth viruses that actively hide their presence. Each type has distinct infection vectors and persistence mechanisms.

Advanced virus technologies have made detection more challenging. Polymorphic viruses change their code each time they replicate, metamorphic viruses rewrite their entire structure, and encrypted viruses use encryption to hide their payload. Understanding these techniques is critical for designing effective defenses.

We also delve into virus detection methods: signature‑based (the traditional approach), heuristic (looking for suspicious behavior patterns), and behavior‑based (monitoring runtime activity). We then examine the architecture of antivirus systems, including scanning techniques (on‑access, on‑demand, heuristics) and the limitations of antivirus in the face of zero‑day and advanced threats.

Throughout the tutorial, we draw on real‑world examples, such as the Melissa virus, ILOVEYOU, and modern fileless attacks. By the end, you will have a thorough understanding of computer viruses and the defenses required to counter them.


5.1 Virus Fundamentals

5.1.1 Virus Architecture

A computer virus is a self‑replicating program that attaches itself to a legitimate executable or document. When the host file is opened or executed, the virus code runs, typically infecting other files and possibly delivering a malicious payload. The architecture of a virus typically includes the following components:

Unlike worms, viruses do not self‑propagate without user intervention; they rely on the host file being executed. This makes them slower to spread but also harder to detect because they piggyback on legitimate activity.

5.1.2 Virus Lifecycle

The typical lifecycle of a virus can be broken into several phases:

  1. Creation: The virus author writes the code, often using high‑level languages or scripting tools.
  2. Infection: The virus is delivered to a target system (e.g., via email, USB, or download) and infects its first host file.
  3. Replication: When the infected file is executed, the virus searches for other files to infect, attaching its code to them.
  4. Activation: When the trigger condition is met, the payload executes. This may happen immediately or after a delay.
  5. Propagation: Some viruses may spread to other systems through network shares, email, or removable media.
  6. Persistence: The virus ensures it remains active, possibly by infecting system files or creating copies in memory.

The lifecycle is cyclic, with each infected file becoming a vector for further infection.

5.1.3 Virus Propagation

Viruses propagate by infecting other files. Common propagation methods include:

Viruses may also use techniques like polymorphism and encryption to avoid detection during propagation.

5.1.4 Virus Infection Strategies

Viruses employ various strategies to infect files and ensure their code is executed:

Advanced viruses may use multiple strategies to increase their spread and evade detection.

Figure 5.1: Typical Virus Infection Flow

+-----------------------------------------------------------+ | VIRUS INFECTION FLOW | | | | [1] User executes infected file (e.g., program.exe) | | ↓ | | [2] Virus code runs (may be before or after host) | | ↓ | | [3] Virus searches for uninfected target files | | ↓ | | [4] Virus modifies target file (append, prepend, etc.) | | ↓ | | [5] If trigger condition met, payload executes | | ↓ | | [6] Host file's normal execution continues (if not altered)| | | | Note: Virus may also spread via email or network shares | +-----------------------------------------------------------+

5.2 Virus Types

Viruses can be classified by their target medium, infection method, and behavior. Below are the major categories.

5.2.1 Boot Sector Viruses

Boot sector viruses infect the Master Boot Record (MBR) or the boot sector of floppy disks and hard drives. They are executed during system startup, before the operating system loads, giving them full control over the system. Examples include Brain (the first PC virus) and Stoned. They are less common today due to UEFI and secure boot, but they remain a threat for legacy systems.

5.2.2 File Infector Viruses

File infector viruses attach themselves to executable files (e.g., .exe, .com, .dll). They are the most common type. They may be direct action (infecting files when executed) or resident (loading into memory and infecting files in real‑time). Examples include CIH (Chernobyl) and Win32.Virut.

5.2.3 Macro Viruses

Macro viruses are written in scripting languages (e.g., VBA for Microsoft Office) and infect documents and templates. They are platform‑independent and spread via email attachments. They can be very damaging, as they often run automatically when the document is opened. Examples include Melissa and ILOVEYOU (which was actually a worm, but often called a virus).

5.2.4 Multipartite Viruses

Multipartite viruses infect both the boot sector and executable files, combining the characteristics of boot and file infectors. They are more difficult to remove because they can re‑infect from either source. An example is Teqila.

5.2.5 Stealth Viruses

Stealth viruses actively hide their presence by intercepting system functions (e.g., file system calls) and returning false information. For instance, they may intercept the file read request and return the original, uninfected version of the file, so the user and antivirus see a clean file. They may also hide their processes from task managers. Examples include Frodo and Whale.

Table 5.1: Comparison of Virus Types

Type Target Infection Method Notable Examples
Boot Sector MBR, boot sector Resides in boot code; runs on startup Brain, Stoned
File Infector Executable files (.exe, .com, .dll) Appends/prepends code to executable CIH, Win32.Virut
Macro Virus Office documents Infected macros in documents Melissa
Multipartite Both boot sector and files Infects both; dual propagation Teqila
Stealth Any Intercepts system calls to hide Frodo, Whale

5.3 Advanced Virus Technologies

To evade detection, modern viruses employ sophisticated techniques that make them harder to identify and analyze.

5.3.1 Polymorphic Viruses

Polymorphic viruses change their appearance each time they infect a new file. They do this by encrypting the virus body and using a variable decryption routine. The decryption routine itself may change from infection to infection, producing a different signature each time. This makes signature‑based detection challenging. Examples include Teqila and Virus.Win32.Virut.

Polymorphism can be implemented using:

5.3.2 Metamorphic Viruses

Metamorphic viruses are even more advanced: they completely rewrite their own code each time they replicate, without relying on an encryption layer. The virus uses a metamorphic engine that translates its code into a functionally equivalent but syntactically different version. This can involve changing variable names, reordering instructions, and altering control flow. Metamorphic viruses are extremely difficult to detect because they have no constant signature at all. Examples include Win32/Simile and Metamorphic virus (concept).

5.3.3 Encrypted Viruses

Encrypted viruses use encryption to hide the bulk of their code. They consist of a small decryption routine (which is not encrypted) and the encrypted viral payload. When the virus executes, the decryption routine decrypts the payload in memory and then jumps to it. The decryption routine remains constant, so signatures can be created for it, but the payload itself cannot be statically analyzed. Polymorphic viruses are essentially encrypted viruses with a changing decryption routine.

Figure 5.2: Polymorphic Virus Structure

+-----------------------------------------------------------+ | POLYMORPHIC VIRUS STRUCTURE | | | | +---------------------------------------------------+ | | | Encrypted Virus Body (variable) | | | | (payload, usually encrypted with a key) | | | +---------------------------------------------------+ | | ^ | | | Decryption (mutated each time) | | +---------------------------------------------------+ | | | Decryption Routine (mutated but functionally same) | | | | (may include garbage instructions) | | | +---------------------------------------------------+ | | | | Result: Each infected file has a unique signature. | +-----------------------------------------------------------+

5.4 Virus Detection

Detecting viruses is a cat‑and‑mouse game. Antivirus software uses multiple techniques to identify infections.

5.4.1 Signature‑based Detection

Signature‑based detection scans files for known patterns (signatures) of virus code. These signatures can be simple byte sequences, hashes, or more complex patterns. This method is fast and effective for known viruses but fails against new or mutated ones. Signature databases must be regularly updated.

5.4.2 Heuristic Detection

Heuristic detection attempts to identify viruses by looking for suspicious code structures or behaviors that are typical of viruses, even if no exact signature exists. It uses rules or machine learning to classify files as potentially malicious. For example, a file that attempts to modify other executables or write to the boot sector may be flagged. Heuristics can catch new variants but may produce false positives.

5.4.3 Behavior‑based Detection

Behavior‑based detection monitors the runtime behavior of programs rather than scanning static files. It can detect viruses that attempt to replicate, modify system files, or make suspicious network connections. This method is effective against zero‑day and polymorphic viruses, but it requires real‑time monitoring and may impact performance. It is commonly used in Endpoint Detection and Response (EDR) solutions.

Table 5.2: Comparison of Virus Detection Techniques

Technique Strengths Weaknesses
Signature‑based Fast, low false positives, effective for known viruses Ineffective against new, polymorphic, or metamorphic viruses
Heuristic Can detect variants and new viruses May produce false positives; less accurate than signatures
Behavior‑based Effective against zero‑day and evasive viruses Resource‑intensive; can be evaded by sophisticated malware

5.5 Antivirus Systems

5.5.1 Antivirus Architecture

Traditional antivirus (AV) software typically consists of:

Modern AV also includes behavioral detection, machine learning, and cloud‑based lookup to improve detection rates.

5.5.2 Scanning Techniques

Antivirus scanners use several approaches to inspect files:

5.5.3 Limitations of Antivirus Software

Despite their widespread use, traditional antivirus solutions have several limitations:

To overcome these limitations, organizations are adopting layered defenses, including EDR, network monitoring, and Zero Trust architectures.

Real‑World Example: The ILOVEYOU virus (2000) spread via email as a VBS script, infecting tens of millions of computers. It was a macro‑like virus that overwrote files and stole passwords. At the time, many antivirus tools did not detect it because they lacked signatures. This incident highlighted the need for heuristic and behavioral detection.


Quiz: Tutorial 1.5

Test your understanding of computer viruses. Questions range from foundational to advanced analytical levels.

Question 1 (Foundational): What is the primary characteristic that distinguishes a computer virus from a worm?

Answer
a) A virus requires user intervention to execute and spread (e.g., opening an infected file). Worms self‑propagate without user action.

Question 2 (Foundational): Which type of virus infects the Master Boot Record (MBR) and executes during system startup?

Answer
c) Boot sector virus. It resides in the boot sector and executes before the OS loads.

Question 3 (Intermediate): Which advanced virus technology changes its code each time it replicates but does not rely on encryption?

Answer
b) Metamorphic. It rewrites its own code entirely, without encryption.

Question 4 (Intermediate): A virus that infects both boot sectors and executable files is known as:

Answer
a) Multipartite virus. It combines boot and file infection.

Question 5 (Intermediate): Which detection method scans for known patterns of virus code?

Answer
a) Signature‑based. It looks for specific byte sequences or hashes.

Question 6 (Intermediate): Which component of a virus contains the malicious action (e.g., file deletion, data theft)?

Answer
b) Payload. It is the harmful action executed when the trigger condition is met.

Question 7 (Intermediate): What is the main limitation of signature‑based antivirus detection?

Answer
b) It cannot detect new or mutated viruses until signatures are updated. It relies on known patterns.

Question 8 (Advanced): Which infection strategy involves placing virus code in unused space within a host file without increasing the file size?

Answer
c) Cavity infection. It exploits gaps in the file structure to hide the virus.

Question 9 (Advanced): A stealth virus hides its presence by:

Answer
b) Intercepting system calls and returning false information, such as showing the original, uninfected file.

Question 10 (Advanced Scenario): An organization's antivirus software fails to detect a new virus variant, but the security team observes that the infected systems are attempting to connect to a known malicious domain. Which detection technique would have been most effective?

Answer
c) Behavior‑based detection. It would detect the anomalous network connection attempt, even without a signature.

Question 11 (Theoretical): Explain the difference between a polymorphic virus and a metamorphic virus in terms of how they evade detection.

Answer
Polymorphic viruses change their appearance by encrypting the payload and mutating the decryption routine; metamorphic viruses rewrite the entire code structure without encryption. Both produce different signatures, but metamorphic is more complex and harder to detect.

Question 12 (Scenario): A user receives a Word document via email and opens it, which triggers a macro that downloads and installs a backdoor. This malware does not replicate on its own. Is this a virus? Why or why not?

Answer
No. This is a Trojan horse (or a dropper). A virus must self‑replicate by infecting other files. This macro only downloads a payload and does not propagate to other files.

Exercises

Apply your knowledge of computer viruses through these practical scenarios.

Exercise 1 (Intermediate): Virus Analysis
You receive a suspicious executable file. Initial static analysis shows it is packed and contains multiple sections. You suspect it may be a virus. (a) What steps would you take to safely perform dynamic analysis? (b) What indicators would you look for to confirm it is a virus (rather than a worm or Trojan)? (c) How would you determine if it is polymorphic? (d) What would you look for to identify its infection strategy?

Sample Solution

(a) Perform dynamic analysis in an isolated sandbox environment (e.g., Cuckoo or a dedicated VM) to observe its behavior. Monitor file system changes, registry modifications, and network connections. Use process monitoring and API logging.

(b) Indicators of a virus: It infects other executable files by appending/prepending code; it may have a trigger condition; it does not self‑propagate without user intervention (unlike worms). Also, it may attempt to hide via stealth techniques.

(c) Check if the decryption routine or code changes after each infection. If the file’s signature changes on each infection while the functionality remains the same, it is likely polymorphic.

(d) Observe how it modifies target files: does it append, prepend, overwrite, or use cavity infection? Check for changes in file size or metadata. Also, examine its target file types (e.g., .exe, .doc).

Exercise 2 (Advanced): Boot Sector Virus Response
A university's lab computers are infected with a boot sector virus that spreads via USB drives. The virus prevents the system from booting normally. (a) Describe the infection vector and how it propagates. (b) What immediate containment actions should be taken? (c) How can the IT team eradicate the virus without losing data? (d) What preventive measures should be implemented to avoid recurrence?

Sample Solution

(a) Infection vector: USB drives inserted into infected systems; the virus writes itself to the MBR of the USB drive, and when the USB is inserted into another system, it infects that system's MBR during boot.

(b) Immediate containment: Disconnect all lab computers from the network; disable USB ports or block autorun; use clean boot media (e.g., live CD) to start systems without executing the MBR.

(c) Eradication: Boot from a clean antivirus rescue disk to scan and repair the MBR. Use tools like `fdisk /mbr` or `bootrec /fixmbr` to rewrite the MBR, but ensure data backups are available. Alternatively, reinstall the OS after backing up data.

(d) Preventive measures: Disable autorun for USB drives; enforce endpoint security; regularly update antivirus; implement USB device control policies; conduct security awareness training on not using unknown USB drives.

Exercise 3 (Advanced): Polymorphic Macro Virus
A company's antivirus solution is detecting a macro virus in Word documents sent via email. The virus is polymorphic and changes its signature with each document. (a) Why is signature‑based detection failing? (b) What alternative detection techniques could be used? (c) How would you stop the spread of the virus? (d) What long‑term measures would you recommend?

Sample Solution

(a) Signature‑based detection fails because the virus modifies its code (polymorphism) to evade signatures; each infected document has a different signature.

(b) Use heuristic detection to identify suspicious macro code patterns (e.g., calls to `Shell`, `FileSystemObject`, or unusual VBA routines). Behavior‑based detection can monitor document execution for unauthorized actions. Consider using a sandbox to analyze the document before delivery.

(c) Stop spread by blocking macro‑enabled documents at the email gateway (if not required). Educate users not to enable macros unless they trust the sender. Use Group Policies to disable macros in Office by default.

(d) Long‑term: Implement application whitelisting for Office; use advanced threat protection (ATP) that emulates documents; enforce regular updates and patch management; conduct security training for employees.

Exercise 4 (Advanced): Antivirus Evaluation
You are tasked with evaluating an antivirus product for a large enterprise. The vendor claims it uses machine learning and behavioral detection to catch zero‑day viruses. (a) What specific capabilities would you look for? (b) How would you test its effectiveness against polymorphic viruses? (c) What are the potential downsides of using a machine‑learning‑based AV? (d) How would you integrate it with other security layers?

Sample Solution

(a) Look for real‑time behavioral monitoring, sandbox integration, cloud‑based threat intelligence, and ability to detect fileless attacks. Verify that it provides detailed alerts and investigation capabilities.

(b) Test with a set of polymorphic virus samples (e.g., from malware repositories) to see if the AV detects them without signatures. Also, test with benign files to check for false positives. Run simulated attacks to observe detection.

(c) Downsides: machine learning models may be evaded by adversarial examples; they may have higher false positives; they require significant computational resources; they need regular retraining with new data.

(d) Integrate with SIEM for correlation, use network firewalls and IDS to block malicious traffic, and deploy endpoint detection and response (EDR) for deeper investigation. Ensure the AV works with the organization's security orchestration and automation.

Exercise 5 (Advanced Research): File Infector Eradication
A file infector virus is discovered on a company's file server. The virus infects all .exe files that are executed. (a) Describe the likely infection mechanism. (b) How would you identify all infected files? (c) What containment strategy would you use? (d) How would you eradicate the virus without losing the functionality of the infected executables? (e) What post‑recovery steps should be taken?

Sample Solution

(a) The virus likely modifies the entry point of .exe files, appending its code and redirecting execution to the virus, then jumping back to the original code.

(b) Use a trusted antivirus scanner with an up‑to‑date signature database. Alternatively, use a file integrity monitoring tool to identify recently modified executables. You can also compare file hashes against known clean versions.

(c) Isolate the file server from the network to prevent further infection. Disable file sharing. Limit access to the server to IT staff only.

(d) If the virus is file‑infecting, using a clean‑up tool that can remove the virus code without deleting the host file (e.g., a disinfector). If that is not possible, replace infected files with clean copies from backups or reinstall the software. Ensure backups are verified clean.

(e) After eradication, patch any vulnerabilities exploited by the virus, review access controls, and increase monitoring. Conduct a post‑mortem to determine how the initial infection occurred and update security policies accordingly.


Homework

These assignments require deep research and synthesis.

Homework 1: CIH (Chernobyl) Virus
Research the CIH (Chernobyl) virus. Write a 700‑word report covering: (a) its infection vector and payload; (b) why it was so destructive; (c) how it evaded detection at the time; (d) the lessons learned for virus defense; and (e) how modern defenses would mitigate similar threats.

Sample Answer (Abridged)

CIH (Chernobyl) Virus: Infected Windows 9x executables, destructive payload overwrote flash BIOS and hard drive data on specific dates. Spread via email. Evaded detection due to stealth and slow signature updates. Lessons: need for proactive detection and BIOS write protection. Modern defenses: UEFI Secure Boot, behavioral monitoring, cloud‑based intelligence.

Homework 2: Polymorphic vs. Metamorphic
Write a 600‑word essay that compares and contrasts polymorphic and metamorphic viruses. Address: (a) how each evades signature detection; (b) the complexity and resources required; (c) how they are detected by modern AV; (d) provide an example of each; and (e) which is more challenging to detect and why.

Sample Answer (Abridged)

Polymorphic uses variable decryption; metamorphic rewrites code structure. Polymorphic easier to detect with generic decryption; metamorphic is more challenging because no constant pattern. Examples: Teqila (polymorphic), Win32/Simile (metamorphic).

Homework 3: Enterprise Virus Prevention Strategy
Design a virus prevention and detection strategy for a large enterprise with mixed OS (Windows, macOS, Linux). Cover: (a) endpoint protection tools; (b) network controls; (c) user training; (d) patch management; (e) incident response for virus outbreaks; and (f) how to handle polymorphic viruses.

Sample Answer (Abridged)

Use unified endpoint protection with behavior monitoring. Network controls: firewalls, web filtering, email sandboxing. User training: phishing simulations. Patch management: automated patching. Incident response: isolation, scanning, recovery. For polymorphic: rely on behavior and sandboxing.

Homework 4: Fileless Viruses
Research fileless viruses. Write a 500‑word essay that explains: (a) what a fileless virus is; (b) how it differs from traditional file‑infecting viruses; (c) why it is difficult to detect; (d) detection and prevention techniques; and (e) a real‑world example.

Sample Answer (Abridged)

Fileless viruses reside in memory and exploit legitimate tools (PowerShell, WMI). They leave no file on disk, evading signature AV. Detection: behavioral monitoring, memory scanning, EDR. Prevention: disable unnecessary scripting, least privilege. Example: Poweliks.

Homework 5: Historical Virus Outbreak
Choose a historical virus outbreak (e.g., Melissa, ILOVEYOU, or Michelangelo) and write a 700‑word case study that includes: (a) the virus type and characteristics; (b) the infection and propagation methods; (c) the impact and damage caused; (d) the detection and response efforts; (e) the lessons learned for the antivirus industry; and (f) how a modern security stack would handle it differently.

Sample Answer (Abridged)

ILOVEYOU (2000): VBScript worm (often called a virus) spread via email. Overwrote files and stole passwords. Impact: $10 billion damages. Response: signatures, but many already infected. Lessons: need for heuristic detection and user education. Modern stack: email sandboxing, EDR, MFA.


Summary

This tutorial has provided a comprehensive exploration of computer viruses, one of the oldest and most persistent forms of malware. We began by defining what constitutes a virus and distinguishing it from other malware types. Viruses are self‑replicating programs that attach to legitimate files and rely on user action to spread. Their architecture typically includes an infection mechanism, a payload, a trigger condition, and optional stealth components.

We examined the virus lifecycle, from creation and infection to replication and payload activation. We also explored various infection strategies, including appending, prepending, cavity infection, and companion infection. Viruses were classified into five major types: boot sector, file infector, macro, multipartite, and stealth viruses, each with distinct propagation methods and targets.

Advanced virus technologies such as polymorphism, metamorphism, and encryption were analyzed in detail. These techniques allow viruses to evade signature‑based detection by changing their appearance or structure. We then discussed virus detection methods: signature‑based, heuristic, and behavior‑based, highlighting the strengths and limitations of each. We also reviewed the architecture of antivirus systems, their scanning techniques, and their inherent limitations, including the challenge of detecting zero‑day and fileless threats.

Real‑world examples such as the ILOVEYOU virus and the CIH virus illustrated the destructive potential of viruses and the importance of layered defenses. This tutorial equips you with the knowledge to understand, detect, and respond to virus infections. As we move to Tutorial 1.6, we will explore other malware families—worms, Trojan horses, and rootkits—which share similarities with viruses but have distinct characteristics and defensive challenges.

COMP400 — Computer and Network Security (Revision 3) • School of Computing and Information Systems, TrustOpen University