0% found this document useful (0 votes)
11 views

Unit_II_Lectures

The document discusses worms in the context of malware, detailing their characteristics, propagation processes, and impacts such as network disruption, data loss, and economic consequences. It outlines prevention and protection strategies, including software updates, antivirus tools, and user education, as well as detection algorithms like signature-based and behavioral detection. Notable examples of worms, such as the Morris Worm and ILOVEYOU Worm, are also mentioned to illustrate their historical significance and effects.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Unit_II_Lectures

The document discusses worms in the context of malware, detailing their characteristics, propagation processes, and impacts such as network disruption, data loss, and economic consequences. It outlines prevention and protection strategies, including software updates, antivirus tools, and user education, as well as detection algorithms like signature-based and behavioral detection. Notable examples of worms, such as the Morris Worm and ILOVEYOU Worm, are also mentioned to illustrate their historical significance and effects.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 117

WORMS

UNIT II: Malware and Vulnerability

Adarsh Kumar
Professor, Systems, School of Computer Science, UPES, Dehradun,
Uttarakhand, India
[email protected]

January 17, 2025

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 1 / 93


Table of Contents

1 Worms
Introduction
Worm’ Characteristics
Worm Propagation Process
Prevention and Protection Against Worms
Detection and Prevention Algorithms
Signature-Based Prevention Algorithm
Behavioral Prevention Algorithm
Network-Based Prevention
Patch Management
Access Control
Network Segmentation
Least Privilege Principle

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 2 / 93


Impact of Worms

Network Disruption

Worms can cause severe network slowdowns and outages by generating excessive traffic as they spread.

Data Loss and Theft

Some worms carry payloads that steal sensitive information, delete files, or encrypt data, leading to data breaches and
loss.

Economic Impact

Businesses can suffer financial losses due to downtime, data recovery costs, and damage to reputation caused by worm
infections.

System Instability

Worms can consume system resources, leading to crashes and reduced performance of infected computers.

Formation of Botnets

Some worms turn infected computers into bots (zombies) that can be controlled remotely by cybercriminals for further
malicious activities, such as sending spam or launching distributed denial-of-service (DDoS) attacks.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 3 / 93


Characteristics of Worms

Self-replicating
Worms have the ability to make copies of themselves without any human interaction. This allows them to spread rapidly across
networks.

Standalone
Unlike viruses, worms do not need a host program to attach themselves to. They can operate and propagate independently.

Network Spreading
Worms are designed to exploit network vulnerabilities to spread to other connected systems. They often use the infected
computer’s network resources to find new targets.

Payload Delivery
Some worms carry a malicious payload (additional malware), such as ransomware, keyloggers, or backdoors, which can perform
harmful activities on the infected system.

Resource Consumption
Worms can consume a significant amount of network bandwidth and system resources as they spread, leading to network
slowdowns and system instability.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 4 / 93


How Worms Spread

Email Attachments
Worms can spread via email by tricking users into opening malicious attachments or clicking on harmful links.

Network Exploits
Worms often exploit vulnerabilities in network services or software. For example, they may exploit open ports, unpatched
operating systems, or vulnerabilities in network protocols to spread.

File Sharing
Worms can spread through shared network drives, USB drives, or peer-to-peer file-sharing networks.

Instant Messaging and Social Media


Worms can use instant messaging applications or social media platforms to send malicious links to contacts.

Internet Downloads
Malicious websites or compromised legitimate websites can host worm malware, which infects systems when users visit or
download content.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 5 / 93


Notable Examples of Worms (1/2)

Morris Worm (1988)


One of the first worms to gain widespread attention, it exploited vulnerabilities in Unix systems
and caused significant disruption on the early internet.

ILOVEYOU Worm (2000)


Spread through email with a subject line ”ILOVEYOU,” tricking users into opening a malicious
attachment. It caused widespread damage by overwriting files and sending itself to contacts.

Code Red (2001)


Exploited a vulnerability in Microsoft’s IIS web server to infect and deface websites, leading to
significant server downtime.

Slammer Worm (2003)


Spread rapidly by exploiting a vulnerability in Microsoft’s SQL Server, causing network
congestion and denial of service.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 6 / 93


Notable Examples of Worms (2/2)

Conficker (2008)
Exploited Windows vulnerabilities, creating a botnet that affected millions
of computers worldwide. It had the capability to disable security features
and download additional malware.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 7 / 93


Worm Propagation Process

1. Find New Targets


IP random scanning

2. Compromise Targets
Exploit vulnerability
Trick users to run malicious code (e.g., Spam)

3. Newly Infected Join Infection Army


Infected systems contribute to further spread of the worm

F i n d N e w Ta r g e t s

C o m p r o m i s e Ta r g e t s IP r a n d o m s c anning

N e w l y Infec ted J oi n Infec ti on A rm y E x p l o i t vu l n e r a b i l i t y Tri c k u s e r s t o r u n m a l i c i o u s c o d e

Infec ted s y s t e m s c ontri bute to further s p r e a d of the w orm

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 8 / 93


Impact of Worms

Network Disruption
Worms can cause severe network slowdowns and outages by generating excessive traffic as they spread.

Data Loss and Theft


Some worms carry payloads that steal sensitive information, delete files, or encrypt data, leading to data breaches and loss.

Economic Impact
Businesses can suffer financial losses due to downtime, data recovery costs, and damage to reputation caused by worm infections.

System Instability
Worms can consume system resources, leading to crashes and reduced performance of infected computers.

Formation of Botnets
Some worms turn infected computers into bots (zombies) that can be controlled remotely by cybercriminals for further malicious
activities, such as sending spam or launching distributed denial-of-service (DDoS) attacks.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 9 / 93


Prevention and Protection Against Worms (1/2)

Regular Software Updates


Keep operating systems, software, and applications up to date with the latest security patches to protect against known
vulnerabilities.

Use Antivirus and Antimalware Software


Install and regularly update reputable antivirus and antimalware software to detect and remove worms.

Firewalls
Use network and host-based firewalls to block unauthorized access and monitor suspicious network activity.

User Education
Educate users about the dangers of opening email attachments or clicking on links from unknown or untrusted sources.

Network Segmentation
Isolate critical systems and data from the rest of the network to minimize the spread of worms in case of an infection.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 10 / 93


Prevention and Protection Against Worms (2/2)

Disable Unnecessary Services


Turn off services and ports that are not needed to reduce the attack
surface that worms can exploit.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 11 / 93


Detection and Prevention Algorithms

Detection Algorithms Prevention Algorithms


Signature-Based Detection Signature-Based Prevention
Heuristic-Based Detection Behavioral Prevention
Behavioral-Based Detection Network-Based Prevention
Anomaly-Based Detection Patch Management
Sandboxing Access Control
Static Code Analysis Network Segmentation
Least Privilege Principle

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 12 / 93


Signature-Based Prevention Algorithm
Signature Database Creation:
Signature Definition: Each signature represents a specific pattern of malicious activity.
These patterns could be sequences of bytes, hashes of files, or known exploit sequences.
Mathematical Representation: Let S = {s 1 , s 2 , . . . , s n } be the set of all signatures
where each s i is a signature defined in a specific format (e.g., byte sequences).

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 13 / 93


Signature-Based Prevention Algorithm
Signature Database Creation:
Signature Definition: Each signature represents a specific pattern of malicious activity.
These patterns could be sequences of bytes, hashes of files, or known exploit sequences.
Mathematical Representation: Let S = {s 1 , s 2 , . . . , s n } be the set of all signatures
where each s i is a signature defined in a specific format (e.g., byte sequences).
Data Collection:
Incoming Data: Let D represent the incoming data stream which needs to be analyzed
for threats.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 13 / 93


Signature-Based Prevention Algorithm
Signature Database Creation:
Signature Definition: Each signature represents a specific pattern of malicious activity.
These patterns could be sequences of bytes, hashes of files, or known exploit sequences.
Mathematical Representation: Let S = {s 1 , s 2 , . . . , s n } be the set of all signatures
where each s i is a signature defined in a specific format (e.g., byte sequences).
Data Collection:
Incoming Data: Let D represent the incoming data stream which needs to be analyzed
for threats.
Pattern Matching:
Matching Process: For each signature s i in the signature database S , the algorithm
checks if s i exists in the incoming data D .
Mathematical Operation: This can be represented as a search operation where the
algorithm searches for occurrences of s i in D .
Naive Search: For each s i , scan through D to find if s i is a substring of D . This is a
basic form of pattern matching with a time complexity of O ( m · n), where m is the length
of D and n is the length of s i .
Optimized Search: Using algorithms like Knuth-Morris-Pratt or Boyer-Moore can improve
search efficiency, potentially reducing time complexity to O ( m + n ) in practice.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 13 / 93


Signature-Based Prevention Algorithm
Signature Database Creation:
Signature Definition: Each signature represents a specific pattern of malicious activity.
These patterns could be sequences of bytes, hashes of files, or known exploit sequences.
Mathematical Representation: Let S = {s 1 , s 2 , . . . , s n } be the set of all signatures
where each s i is a signature defined in a specific format (e.g., byte sequences).
Data Collection:
Incoming Data: Let D represent the incoming data stream which needs to be analyzed
for threats.
Pattern Matching:
Matching Process: For each signature s i in the signature database S , the algorithm
checks if s i exists in the incoming data D .
Mathematical Operation: This can be represented as a search operation where the
algorithm searches for occurrences of s i in D .
Naive Search: For each s i , scan through D to find if s i is a substring of D . This is a
basic form of pattern matching with a time complexity of O ( m · n), where m is the length
of D and n is the length of s i .
Optimized Search: Using algorithms like Knuth-Morris-Pratt or Boyer-Moore can improve
search efficiency, potentially reducing time complexity to O ( m + n ) in practice.
Detection and Prevention:
Detection: If a signature s i is found in D , a match is detected.
Prevention Actions: Based on the detected signatures, predefined actions are taken, such
as blocking the data, alerting the user, or logging the event.
Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 13 / 93
Example: Byte Sequence Matching

Example Scenario: Let’s consider a simple example where D is a byte stream, and each
signature s i is a sequence of bytes.
Signature Database Example:
s 1 = 0x90, 0x90, 0x90 (NOP sled)
s 2 = 0xDE, 0xAD, 0xBE, 0xEF (Example signature)

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 14 / 93


Example: Byte Sequence Matching

Example Scenario: Let’s consider a simple example where D is a byte stream, and each
signature s i is a sequence of bytes.
Signature Database Example:
s 1 = 0x90, 0x90, 0x90 (NOP sled)
s 2 = 0xDE, 0xAD, 0xBE, 0xEF (Example signature)
Data to Scan:
D = 0x00, 0x00, 0x90, 0x90, 0x90, 0xAB, 0xCD

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 14 / 93


Example: Byte Sequence Matching

Example Scenario: Let’s consider a simple example where D is a byte stream, and each
signature s i is a sequence of bytes.
Signature Database Example:
s 1 = 0x90, 0x90, 0x90 (NOP sled)
s 2 = 0xDE, 0xAD, 0xBE, 0xEF (Example signature)
Data to Scan:
D = 0x00, 0x00, 0x90, 0x90, 0x90, 0xAB, 0xCD
Matching Process:
For s 1 : Scan D for the byte sequence 0x90, 0x90, 0x90.
For s 2 : Scan D for the byte sequence 0xDE, 0xAD, 0xBE, 0xEF.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 14 / 93


Example: Byte Sequence Matching

Example Scenario: Let’s consider a simple example where D is a byte stream, and each
signature s i is a sequence of bytes.
Signature Database Example:
s 1 = 0x90, 0x90, 0x90 (NOP sled)
s 2 = 0xDE, 0xAD, 0xBE, 0xEF (Example signature)
Data to Scan:
D = 0x00, 0x00, 0x90, 0x90, 0x90, 0xAB, 0xCD
Matching Process:
For s 1 : Scan D for the byte sequence 0x90, 0x90, 0x90.
For s 2 : Scan D for the byte sequence 0xDE, 0xAD, 0xBE, 0xEF.
Result:
s 1 is found at position 2 in D , so a match is detected, and appropriate action is taken.
s 2 is not found in D , so no action is taken for s 2 .

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 14 / 93


Example: Byte Sequence Matching

Example Scenario: Let’s consider a simple example where D is a byte stream, and each
signature s i is a sequence of bytes.
Signature Database Example:
s 1 = 0x90, 0x90, 0x90 (NOP sled)
s 2 = 0xDE, 0xAD, 0xBE, 0xEF (Example signature)
Data to Scan:
D = 0x00, 0x00, 0x90, 0x90, 0x90, 0xAB, 0xCD
Matching Process:
For s 1 : Scan D for the byte sequence 0x90, 0x90, 0x90.
For s 2 : Scan D for the byte sequence 0xDE, 0xAD, 0xBE, 0xEF.
Result:
s 1 is found at position 2 in D , so a match is detected, and appropriate action is taken.
s 2 is not found in D , so no action is taken for s 2 .
Note: A NOP sled is a sequence of ”No Operation” (NOP) instructions placed in the memory
area where an attacker intends to execute malicious code. Its purpose is to create a large,
contiguous region of memory that does nothing (i.e., it executes no operations), allowing the
attacker to direct the execution flow to any part of this region and still eventually reach the
malicious payload.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 14 / 93


Limitations and Mathematical Extensions

Limitations
Signature-Based Detection Limitations
This approach only detects known threats. It cannot identify new, unknown
threats that do not have corresponding signatures.
The efficiency of the matching process can vary based on the size of the
database and the complexity of the signatures.

Mathematical Extensions
Probabilistic Models
Some systems use probabilistic models or machine learning to improve detection
accuracy and reduce false positives.

Hash-Based Matching
Using hash functions to represent signatures and hashes of data can speed up the
matching process.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 15 / 93


Behavioral Prevention Algorithm
Behavioral Prevention in cybersecurity is a technique used to detect and
prevent threats based on the behavior of programs or processes, rather
than relying on known signatures. This approach aims to identify and
block malicious activities by analyzing deviations from normal behavior
patterns.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 16 / 93


Behavioral Prevention Algorithm (Step 1):Data Collection and
Profiling
Normal Behavior Profiling:
Definition: Establish a profile of normal behavior for programs or
processes. This profile includes typical resource usage patterns,
system calls, file operations, network activity, etc.
Mathematical Representation: Let B represent the normal
behavior profile. This profile can be defined as a set of parameters or
statistical distributions for various metrics.
For example, if analyzing CPU usage, BCPU might be modeled as a
normal distribution N (µCPU, σCPU) where µCPU is the mean CPU
usage and σCPU is the standard deviation.
Data Collection:
Collect data from the system or application to build the normal
behavior profile. This data can be represented as a vector of features
X = [x 1 , x 2 , . . . , x n ] where each x i represents a specific behavior
metric.
Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 17 / 93
Behavioral Prevention Algorithm (Step 2):Behavior Analysis
Feature Extraction:
Extract features from ongoing system activities or program executions. Let
X t = [x 1,t , x 2 , t , . . . , x n , t ] denote the feature vector at time t.
Behavioral Modeling:
Statistical Analysis: Use statistical models to represent the normal behavior. For
example, a multivariate normal distribution can be used to model normal behavior across
multiple features.
Mean Vector (µ): Average of observed features.
Covariance Matrix ( Σ ) : Measures the variance and correlation between features.
The normal behavior B can be represented as N (µ, Σ ) .
Anomaly Detection:
Mahalanobis Distance: Measure the distance of the current behavior X t from the normal
behavior profile using the Mahalanobis distance.
,
D M (Xt) = (X t − µ ) T Σ − 1 ( X t − µ)

where D M ( X t ) is the Mahalanobis distance, µ is the mean vector of normal behavior, and
Σ − 1 is the inverse of the covariance matrix.
Thresholding: Compare the Mahalanobis distance with a predefined threshold θ. If
D M ( X t ) > θ, the behavior is considered anomalous.
Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 18 / 93
Behavioral Prevention Algorithm (Step 3):Response
Mechanism

Alert Generation:
If the behavior is detected as anomalous, generate an alert or log the
event.
Preventive Actions:
Based on the severity of the detected anomaly, take preventive
actions such as blocking the process, isolating the system, or
terminating the suspicious activity.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 19 / 93


Network-Based Prevention

Worms are malicious programs that propagate through a network by


exploiting vulnerabilities in systems.
To prevent the spread of worms, it is crucial to detect and contain
them early.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 20 / 93


Network-Based Prevention

Worms are malicious programs that propagate through a network by


exploiting vulnerabilities in systems.
To prevent the spread of worms, it is crucial to detect and contain
them early.
We use a Susceptible-Infected-Recovered (SIR) model to
mathematically represent the propagation dynamics.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 20 / 93


Network-Based Prevention

Worms are malicious programs that propagate through a network by


exploiting vulnerabilities in systems.
To prevent the spread of worms, it is crucial to detect and contain
them early.
We use a Susceptible-Infected-Recovered (SIR) model to
mathematically represent the propagation dynamics.
The susceptible-infected-Recovered (SIR) model can be applied to
network worm prevention by treating the network as a population and
the worm as an infectious disease.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 20 / 93


Network-Based Prevention

Worms are malicious programs that propagate through a network by


exploiting vulnerabilities in systems.
To prevent the spread of worms, it is crucial to detect and contain
them early.
We use a Susceptible-Infected-Recovered (SIR) model to
mathematically represent the propagation dynamics.
The susceptible-infected-Recovered (SIR) model can be applied to
network worm prevention by treating the network as a population and
the worm as an infectious disease.
The SIR model is a mathematical model used to describe the spread
of infectious diseases.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 20 / 93


Network-Based Prevention

Worms are malicious programs that propagate through a network by


exploiting vulnerabilities in systems.
To prevent the spread of worms, it is crucial to detect and contain
them early.
We use a Susceptible-Infected-Recovered (SIR) model to
mathematically represent the propagation dynamics.
The susceptible-infected-Recovered (SIR) model can be applied to
network worm prevention by treating the network as a population and
the worm as an infectious disease.
The SIR model is a mathematical model used to describe the spread
of infectious diseases.
It divides the population into three compartments: Susceptible (S),
Infected (I), and Recovered (R).

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 20 / 93


Mathematical Modeling of Network Traffic

Let:
N : Total number of nodes (hosts) in the network.
t: Time variable (continuous time).
S(t): Number of susceptible nodes at time t.
I(t): Number of infected nodes at time t.
R(t): Number of removed (recovered) nodes at time t.
λ: Infection rate (worm spread rate from infected to susceptible nodes).
δ: Recovery rate (rate at which infected nodes are removed).

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 21 / 93


Differential Equations for Worm Propagation

SIR Model Equations

dS(t)
= −λS(t)I(t) (1)
dt
dI(t)
= λ S (t)I(t) − δI(t) (2)
dt
dR(t)
= δI(t) (3)
dt

These equations model the rate of change in susceptible, infected,


and recovered nodes.
The goal is to minimize I(t), the number of infected nodes, over time.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 22 / 93


Prevention Strategy

Monitor network traffic for abnormal patterns indicating worm


propagation.
Use early warning systems to detect rapid increases in I(t).
Isolate infected nodes to prevent further spread:

Isolate Node if I ( t ) > Threshold (4)

Apply patches to susceptible nodes to reduce λ.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 23 / 93


Numerical Example - Initial Conditions

Consider a network of 1000 computers.


Initial conditions:
S(0) = 990 (Susceptible computers)
I(0) = 10 (Infected computers)
R(0) = 0 (Recovered/Patched computers)
Parameters:
Infection rate β = 0.3
Recovery rate γ = 0.1

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 24 / 93


Mathematical Equations

Change in Susceptible (S):


dS I
= −β ·S ·
dt N
Change in Infected (I):
dI I
= β ·S · − γ ·I
dt N
Change in Recovered (R):
dR
= γ ·I
dt

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 25 / 93


Time Step 0 (t = 0)

Initial conditions:
S(0) = 990
I(0) = 10
R(0) = 0

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 26 / 93


Time Step 1 (t = 1)

Change in Susceptible (S):


I(0)
∆ S = −β ·S(0) ·
N
10
∆ S = −0.3 ·990 · = −2.97 ≈ −3
1000
Change in Infected (I):
I(0)
∆ I = β ·S(0) · —γ ·I(0)
N
∆ I = 2.97 − 1 = 1.97 ≈ 2
Change in Recovered (R):

∆ R = γ ·I(0)

∆ R = 0.1 ·10 = 1
Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 27 / 93
Updated Values at Time Step 1

S(1) = S(0) + ∆ S = 990 − 3 = 987


I(1 ) = I(0 ) + ∆ I = 10 + 2 = 12
R(1) = R(0) + ∆ R = 0 + 1 = 1

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 28 / 93


Time Step 2 (t = 2)

Change in Susceptible (S):


12
∆ S = −0.3 ·987 · = −3.56 ≈ −4
1000
Change in Infected (I):
12
∆ I = 0.3 ·987 · —0.1 ·12 = 2.36 ≈ 2
1000
Change in Recovered (R):

∆ R = 0.1 ·12 = 1.2 ≈ 1

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 29 / 93


Updated Values at Time Step 2

S(2) = S(1) + ∆ S = 987 − 4 = 983


I(2 ) = I(1 ) + ∆ I = 12 + 2 = 14
R(2) = R(1) + ∆ R = 1 + 1 = 2

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 30 / 93


Real-Time SIR Model Extension

Real-Time Data Integration:


Continuously collecting data from network monitoring systems.
Monitoring the number of susceptible, infected, and recovered
computers in real-time.
Dynamic Parameter Adjustment:
Adjusting parameters like the infection rate (β) and recovery rate (γ)
based on real-time observations.
Adapting to changing network conditions and worm behavior.
Feedback Mechanisms:
Implementing feedback loops for immediate action based on model
predictions.
Actions include isolating infected computers or updating security
policies.
Prediction and Control:
Using the model to predict future worm propagation trends.
Controlling the spread by applying appropriate security measures.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 31 / 93


Example 2: Initial Setup

Network Size: 1000 computers


Initial Conditions: S(0) = 980, I(0 ) = 20, R(0) = 0
Infection Rate: β = 0.3
Recovery Rate: γ = 0.1

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 32 / 93


Dynamic Update at t = 1 Minute

Observations indicate increased infection rate.


Updated Infection Rate: β = 0.35
Updated Recovery Rate: γ = 0.1
Calculations:
∆ S = −7, ∆ I = 5, ∆R = 2
Updated Values: S(1) = 973, I(1 ) = 25, R(1) = 2

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 33 / 93


Dynamic Update at t = 2 Minutes

Recovery efforts improve, reducing infection rate.


Updated Infection Rate: β = 0.3
Updated Recovery Rate: γ = 0.2
Calculations:
∆ S = −7, ∆ I = 2, ∆R = 5
Updated Values: S(2) = 966, I(2 ) = 27, R(2) = 7

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 34 / 93


SIR Model Results

Day (t) S(t) I(t) R(t)


0 980.00 20.00 0.00
1 974.12 24.44 1.44
2 966.99 29.75 3.26
3 958.17 35.88 5.95
4 947.94 42.80 9.26
5 936.56 50.41 13.03
6 924.16 58.63 17.21
7 910.86 67.27 21.87
8 896.70 76.12 27.17
9 881.67 84.92 33.41
10 865.75 93.35 40.90
11 848.88 101.06 49.26
12 830.95 107.64 58.41

Table: SIR model simulation results until S (t) approaches zero

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 35 / 93


Patch Management

Patch Management Process

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 36 / 93


Introduction to Patch Management

Patch management is the process of applying updates to software,


drivers, and firmware to protect against vulnerabilities. Effective patch
management also helps ensure the best operating performance of sys-
tems, boosting productivity.
Patch management involves the process of distributing and applying
updates to software to correct vulnerabilities.
Patches are crucial in preventing worms and other malware from ex-
ploiting known security flaws.
Regular patching helps maintain the integrity, confidentiality, and avail-
ability of systems.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 37 / 93


Importance of Patch Management

Vulnerability Fixes: Patches close security gaps that worms and


malware exploit.
Compliance: Helps organizations meet regulatory requirements (e.g.,
GDPR, HIPAA).
Performance Improvements: Patches can also improve software
stability and performance.
Minimized Downtime: Regular patching can prevent major system
outages due to exploits.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 38 / 93


Comparison of Patch Management Methods for Worm Prevention

Patch Management Performance Advantages Disadvantages Use Case


Method

Automated Patch Manage- High Reduces manual effort, ensures Requires setup and mainte- Large organizations
ment Tools consistency, fast deployment nance; potential deployment of needing consistent
faulty patches patch deployment
Centralized Patch Manage- High Better control, reduced band- Potential single point of failure, Organizations with
ment width usage, efficient manage- complex setup many devices in multi-
ment ple locations
Regular Patch Testing and Medium Reduces patch-related issues, Slower deployment, requires ad- Environments where up-
Validation ensures compatibility and stabil- ditional resources time and stability are
ity critical
Patch Prioritization and Variable Focuses on critical vulnerabili- Less critical patches might be Security-sensitive envi-
Risk Assessment ties, optimized resource use delayed, potential exposure ronments
Patch Management Policy Medium Establishes clear procedures, en- Requires audits and adherence, All organizations, partic-
and Compliance hances accountability, ensures challenging to enforce ularly regulated indus-
regular updates tries
Vulnerability Scanning and High Early detection of vulnerabilities, False positives/negatives, un- Dynamic and evolving
Patch Monitoring ensures patch compliance necessary work or missed threats IT environments
Third-Party Patch Manage- High Comprehensive security cover- Complexity in managing patches Organizations using a
ment age, reduces attack surface for various software vendors wide range of third-
party software
Emergency Patch Deploy- High (criti- Quick response to critical vulner- Potential disruption, high ur- High exposure to zero-
ment Protocol cal) abilities, reduces exposure win- gency requires readiness day vulnerabilities
dow
Cloud-Based Patch Man- High Scalability, remote management, Dependence on internet connec- Remote or geographi-
agement Solutions reduced on-prem infrastructure tivity, potential latency issues cally dispersed infras-
tructure
End-User Awareness and Low (di- Enhances security culture, re- Relies on user participation, in- Any organization aiming
Training rectly) duces risk of delayed updates direct impact on patch perfor- for holistic security
mance

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 39 / 93


Patch Management Methods and Example Tools

Patch Management Method Example Tools


Automated Patch Management Tools Microsoft SCCM, SolarWinds Patch Manager,
Ivanti Patch Management
Centralized Patch Management IBM BigFix, ManageEngine Patch Manager
Plus, Windows Server Update Services (WSUS)
Regular Patch Testing and Validation Qualys Patch Management, GFI LanGuard,
Ivanti Security Controls
Patch Prioritization and Risk Assessment Rapid7 InsightVM, Nessus, Tenable.sc
Patch Management Policy and Compli- Microsoft SCCM, Symantec Endpoint Manage-
ance ment, Qualys Patch Management
Vulnerability Scanning and Patch Moni- Qualys Vulnerability Management, Nessus,
toring OpenVAS
Third-Party Patch Management SolarWinds Patch Manager, GFI LanGuard,
ManageEngine Patch Manager Plus
Emergency Patch Deployment Protocol IBM BigFix, Automox, Symantec Endpoint Man-
agement
Cloud-Based Patch Management Solu- Automox, Qualys Cloud Platform, Microsoft In-
tions tune
End-User
Adarsh Kumar Awareness and Training KnowBe4, Infosec IQ, SSecurity
Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in AwarenessA NS
January 17, 2025 40 / 93
Scenario Setup

Network Size: 1000 computers


Initial Worm Infection: 10 computers
Patch Availability: A patch is available to fix the vulnerability
Patch Deployment Rate: 50 computers per day from susceptible
computers category
Infection Rate: Each infected computer can infect 2 new computers
per day
Timeframe: Analysis over 10 days

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 41 / 93


Initial Conditions

Susceptible Computers (S): 990


Infected Computers (I): 10
Recovered/Patched Computers (R): 0

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 42 / 93


Day 1: Patch Management and Infection Spread

Infection Spread: I=10 infected computers infect 10x2= 20 new


computers

S = 990 − 20 = 970, I = 10 + 20 = 30

Patch Deployment: 50 computers patched

S = 970 − 50 = 920, R = 0 + 50 = 50

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 43 / 93


Day 2: Patch Management and Infection Spread

Infection Spread: I=30 infected computers infect 30x2= 60 new


computers

S = 920 − 60 = 860, I = 30 + 60 = 90

Patch Deployment: 50 more computers patched

S = 860 − 50 = 810, R = 50 + 50 = 100

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 44 / 93


Day 3: Patch Management and Infection Spread

Infection Spread: I=90 infected computers infect 180 new


computers

S = 810 − 180 = 630, I = 90 + 180 = 270

Patch Deployment: 50 more computers patched

S = 630 − 50 = 580, R = 100 + 50 = 150

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 45 / 93


Day 4: Patch Management and Infection Spread

Infection Spread: 270 infected computers infect 540 new computers

S = 580 − 540 = 40, I = 270 + 540 = 810

Patch Deployment: 50 more computers patched

S = 40 − 50 = −10 (No more susceptible left), R = 150 + 50 = 200

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 46 / 93


Day 5: Patch Management and Infection Spread

Infection Spread: All remaining 40 computers get infected

S = 0, I = 810 + 40 = 850

Patch Deployment: No more susceptible computers left to patch

S = 0, R = 200

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 47 / 93


Analysis of Results

By Day 5, all susceptible computers are either infected or patched.


Total infected computers: 850
Total patched computers: 200
Patch management initially slowed the spread of the worm but was
not enough to prevent widespread infection due to the high infection
rate.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 48 / 93


Example 1: Automated Patch Management Tools

Scenario
An organization with 1,000 computers is at risk of infection from a newly
discovered worm exploiting a zero-day vulnerability in a commonly used
software application.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 49 / 93


Example 1: Automated Patch Management Tools

Scenario
An organization with 1,000 computers is at risk of infection from a newly
discovered worm exploiting a zero-day vulnerability in a commonly used
software application.

Initial Vulnerability: All 1,000 computers are initially vulnerable.


Patch Availability: A patch is released by the software vendor.
Automated Patch Deployment Rate: Using automated tools like
Microsoft SCCM, patches are deployed to 200 computers per hour.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 49 / 93


Example 1: Automated Patch Management Tools

Scenario
An organization with 1,000 computers is at risk of infection from a newly
discovered worm exploiting a zero-day vulnerability in a commonly used
software application.

Initial Vulnerability: All 1,000 computers are initially vulnerable.


Patch Availability: A patch is released by the software vendor.
Automated Patch Deployment Rate: Using automated tools like
Microsoft SCCM, patches are deployed to 200 computers per hour.

Impact
After 1 hour: 200 computers patched, 800 computers still vulnerable.
After 2 hours: 400 computers patched, 600 computers still vulnerable.
After 3 hours: 600 computers patched, 400 computers still vulnerable.
After 5 hours: All 1,000 computers patched, no computers vulnerable.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 49 / 93


Example 2: Centralized Patch Management

Scenario
A multinational organization with 5,000 devices distributed across five locations worldwide faces
a threat from a worm exploiting a known vulnerability in its email client.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 50 / 93


Example 2: Centralized Patch Management

Scenario
A multinational organization with 5,000 devices distributed across five locations worldwide faces
a threat from a worm exploiting a known vulnerability in its email client.

Initial Vulnerability: All 5,000 devices are vulnerable.


Patch Availability: A patch is available and needs to be deployed.
Centralized Patch Deployment Rate: Using tools like IBM BigFix, patches are deployed
to 500 devices per location per hour.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 50 / 93


Example 2: Centralized Patch Management

Scenario
A multinational organization with 5,000 devices distributed across five locations worldwide faces
a threat from a worm exploiting a known vulnerability in its email client.

Initial Vulnerability: All 5,000 devices are vulnerable.


Patch Availability: A patch is available and needs to be deployed.
Centralized Patch Deployment Rate: Using tools like IBM BigFix, patches are deployed
to 500 devices per location per hour.

Calculation
Total Devices Patched per Hour:

500 devices/location × 5 locations = 2, 500 devices/hour

After 1 hour: 2,500 devices patched, 2,500 vulnerable.


After 2 hours: 5,000 devices patched, 0 vulnerable.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 50 / 93


Example 2: Centralized Patch Management

Scenario
A multinational organization with 5,000 devices distributed across five locations worldwide faces
a threat from a worm exploiting a known vulnerability in its email client.

Initial Vulnerability: All 5,000 devices are vulnerable.


Patch Availability: A patch is available and needs to be deployed.
Centralized Patch Deployment Rate: Using tools like IBM BigFix, patches are deployed
to 500 devices per location per hour.

Calculation
Total Devices Patched per Hour:

500 devices/location × 5 locations = 2, 500 devices/hour

After 1 hour: 2,500 devices patched, 2,500 vulnerable.


After 2 hours: 5,000 devices patched, 0 vulnerable.

Outcome
Using centralized patch management, all devices across the organization are patched within 2
hours, minimizing the risk of a worm infection.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 50 / 93


Example 3: Patch Prioritization and Risk Assessment

Scenario
A healthcare organization with 2,000 devices has a critical vulnerability affecting its patient
management software. The organization decides to prioritize patching high-risk devices first.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 51 / 93


Example 3: Patch Prioritization and Risk Assessment

Scenario
A healthcare organization with 2,000 devices has a critical vulnerability affecting its patient
management software. The organization decides to prioritize patching high-risk devices first.

Initial Vulnerability: 2,000 devices are vulnerable.


Patch Deployment Plan:
High-risk devices (e.g., those connected to critical patient systems):
800 devices, patched within 1 day.
Medium-risk devices: 700 devices, patched within 2 days.
Low-risk devices: 500 devices, patched within 3 days.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 51 / 93


Example 3: Patch Prioritization and Risk Assessment

Scenario
A healthcare organization with 2,000 devices has a critical vulnerability affecting its patient
management software. The organization decides to prioritize patching high-risk devices first.

Initial Vulnerability: 2,000 devices are vulnerable.


Patch Deployment Plan:
High-risk devices (e.g., those connected to critical patient systems):
800 devices, patched within 1 day.
Medium-risk devices: 700 devices, patched within 2 days.
Low-risk devices: 500 devices, patched within 3 days.
Calculation
Day 1: 800 high-risk devices patched, 1,200 devices remain vulnerable.
Day 2: Additional 700 medium-risk devices patched, 500 devices remain vulnerable.
Day 3: All 500 low-risk devices patched, 0 devices remain vulnerable.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 51 / 93


Example 3: Patch Prioritization and Risk Assessment

Scenario
A healthcare organization with 2,000 devices has a critical vulnerability affecting its patient
management software. The organization decides to prioritize patching high-risk devices first.

Initial Vulnerability: 2,000 devices are vulnerable.


Patch Deployment Plan:
High-risk devices (e.g., those connected to critical patient systems):
800 devices, patched within 1 day.
Medium-risk devices: 700 devices, patched within 2 days.
Low-risk devices: 500 devices, patched within 3 days.
Calculation
Day 1: 800 high-risk devices patched, 1,200 devices remain vulnerable.
Day 2: Additional 700 medium-risk devices patched, 500 devices remain vulnerable.
Day 3: All 500 low-risk devices patched, 0 devices remain vulnerable.

Outcome
By prioritizing patch deployment based on risk, the healthcare organization reduces the risk of a
worm infection impacting critical systems within 24 hours while fully securing all devices within
3 days.
Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 51 / 93
Example 4: Emergency Patch Deployment Protocol

Scenario
A financial institution with 10,000 endpoints detects a worm exploiting a
zero-day vulnerability. An emergency patch deployment is initiated.

Initial Vulnerability: All 10,000 endpoints are vulnerable.


Emergency Deployment Rate: Using emergency protocols and
tools like Automox, patches are deployed to 1,000 endpoints per hour.
Calculation
After 1 hour: 1,000 endpoints patched, 9,000 vulnerable.
After 5 hours: 5,000 endpoints patched, 5,000 vulnerable.
After 10 hours: 10,000 endpoints patched, 0 vulnerable.

Outcome
The emergency patch deployment protocol patches all endpoints within 10
hours, drastically reducing the potential impact of the worm.
Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 52 / 93
Example 5: Cloud-Based Patch Management Solutions

Scenario
A tech company with a distributed workforce (remote) has 3,000 devices connected via the
cloud. A critical security patch is required for a newly identified worm threat.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 53 / 93


Example 5: Cloud-Based Patch Management Solutions

Scenario
A tech company with a distributed workforce (remote) has 3,000 devices connected via the
cloud. A critical security patch is required for a newly identified worm threat.

Initial Vulnerability: All 3,000 devices are vulnerable.


Patch Deployment via Cloud Management: Using a cloud-based solution like Microsoft
Intune, patches are pushed remotely.
Deployment Rate: 500 devices per hour.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 53 / 93


Example 5: Cloud-Based Patch Management Solutions

Scenario
A tech company with a distributed workforce (remote) has 3,000 devices connected via the
cloud. A critical security patch is required for a newly identified worm threat.

Initial Vulnerability: All 3,000 devices are vulnerable.


Patch Deployment via Cloud Management: Using a cloud-based solution like Microsoft
Intune, patches are pushed remotely.
Deployment Rate: 500 devices per hour.

Calculation
After 1 hour: 500 devices patched, 2,500 vulnerable.
After 3 hours: 1,500 devices patched, 1,500 vulnerable.
After 6 hours: 3,000 devices patched, 0 vulnerable.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 53 / 93


Example 5: Cloud-Based Patch Management Solutions

Scenario
A tech company with a distributed workforce (remote) has 3,000 devices connected via the
cloud. A critical security patch is required for a newly identified worm threat.

Initial Vulnerability: All 3,000 devices are vulnerable.


Patch Deployment via Cloud Management: Using a cloud-based solution like Microsoft
Intune, patches are pushed remotely.
Deployment Rate: 500 devices per hour.

Calculation
After 1 hour: 500 devices patched, 2,500 vulnerable.
After 3 hours: 1,500 devices patched, 1,500 vulnerable.
After 6 hours: 3,000 devices patched, 0 vulnerable.

Outcome
The cloud-based patch management system ensures that all remote devices are patched within 6
hours, providing effective and quick mitigation against the worm threat.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 53 / 93


Example 6: Third-Party Patch Management

Scenario
Initial Vulnerability: 2,000 workstations are potentially vulnerable to worm infections due to
outdated third-party applications. Patch Deployment Rate: ManageEngine Patch Manager
Plus can patch 200 workstations per hour. Patching Schedule: Patches are applied overnight to
minimize disruption.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 54 / 93


Example 6: Third-Party Patch Management

Scenario
Initial Vulnerability: 2,000 workstations are potentially vulnerable to worm infections due to
outdated third-party applications. Patch Deployment Rate: ManageEngine Patch Manager
Plus can patch 200 workstations per hour. Patching Schedule: Patches are applied overnight to
minimize disruption.

Calculation
After 1 hour: 200 workstations patched, 1,800 vulnerable.
After 5 hours: 1,000 workstations patched, 1,000 vulnerable.
After 10 hours: 2,000 workstations patched, 0 vulnerable.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 54 / 93


Example 6: Third-Party Patch Management

Scenario
Initial Vulnerability: 2,000 workstations are potentially vulnerable to worm infections due to
outdated third-party applications. Patch Deployment Rate: ManageEngine Patch Manager
Plus can patch 200 workstations per hour. Patching Schedule: Patches are applied overnight to
minimize disruption.

Calculation
After 1 hour: 200 workstations patched, 1,800 vulnerable.
After 5 hours: 1,000 workstations patched, 1,000 vulnerable.
After 10 hours: 2,000 workstations patched, 0 vulnerable.

Outcome
By using ManageEngine Patch Manager Plus, the company can ensure that all third-party
applications across its 2,000 workstations are patched within 10 hours, reducing the risk of worm
infections exploiting known vulnerabilities.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 54 / 93


Key Insights

Patch Deployment Rate: Must match or exceed infection rate to


control worm spread.
Infection Rate: High infection rates lead to exponential growth;
quick response is critical.
Early Patch Deployment: Patching early can significantly reduce
infection spread.
Dynamic Response: Real-time monitoring and adaptive patching
strategies can improve worm prevention.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 55 / 93


Patch Management Lifecycle

1 Detection: Identify vulnerabilities and available patches.


2 Assessment: Evaluate the relevance and impact of patches.
3 Prioritization: Prioritize patches based on severity and potential risk.
4 Deployment: Apply patches to systems in a controlled manner.
5 Verification: Ensure patches are applied correctly and monitor for
issues.
6 Documentation: Record patching activities for future reference and
compliance.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 56 / 93


Patch Management Algorithm

Algorithm Steps
Input: List of vulnerabilities V = {v 1 , v2, . . . , v n }, Patch database
P = {p 1 , p2, . . . , p m }.
Output: Successfully patched systems.
1 Initialization: Set S = ∅, where S is the set of patched systems.
2 For each vulnerability v i in V :
Find corresponding patch p j in P such that p j addresses vi.
If p j is not already applied:
Apply p j to affected systems.
Add affected systems to S.
3
End For
4 Verification: Check that all systems in S have been patched
correctly.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 57 / 93


Examples of Patches for Worm Prevention
MS17-010 (EternalBlue):
Released by Microsoft in March 2017.
Addressed vulnerabilities in the SMBv1 protocol exploited by the WannaCry ransomware worm.
Importance: Prevented the spread of WannaCry, which affected over 200,000 computers worldwide, by patching
the exploit.

MS08-067 (Conficker Worm):


Released by Microsoft in October 2008.
Fixed a vulnerability in the Windows Server service used by the Conficker worm to spread.
Importance: Essential in mitigating the spread of Conficker, one of the most widespread network worms,
affecting millions of systems globally.

MS04-011 (Sasser Worm):


Released by Microsoft in April 2004.
Addressed a vulnerability in the Local Security Authority Subsystem Service (LSASS) exploited by the Sasser
worm.
Importance: Helped prevent the Sasser worm from infecting millions of computers by exploiting the LSASS
vulnerability, causing widespread network disruptions.

MS03-026 (Blaster Worm):


Released by Microsoft in July 2003.
Addressed a critical vulnerability in the Windows DCOM RPC interface exploited by the Blaster worm.
Importance: Critical in stopping the spread of the Blaster worm, which affected hundreds of thousands of
computers, causing network congestion and system reboots.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 58 / 93


Best Practices in Patch Management

Best Practices:
Regularly scan systems for vulnerabilities.
Test patches in a non-production environment before deployment.
Automate the patching process where possible to ensure consistency.
Keep a backup before applying critical patches.
Educate users about the importance of security updates.
Advantages:
Patch management is a critical component of cybersecurity.
A well-defined patch management process helps in mitigating the
risks posed by worms and other malware.
Regular updates and adherence to best practices ensure the security
and reliability of systems.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 59 / 93


Introduction to Access Control Management

Access control determines who is allowed to access or modify


information in a system.
It is a critical component of cybersecurity, preventing unauthorized
access.
Helps in reducing the spread of worms by limiting access based on
user roles and permissions.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 60 / 93


Importance of Access Control in Worm Prevention

Minimizes Attack Surface


Restricting access to sensitive parts of the system reduces the number of potential entry points
for worms, minimizing the overall attack surface.

Ensures Accountability
Access control mechanisms often include logging and monitoring features that track user
activities, helping to quickly identify and isolate compromised accounts.

Enforces Least Privilege Principle


Ensures that users and applications have only the minimal access necessary to perform their
tasks, limiting the ability of worms to exploit privileges to spread across systems.

Segmentation of Network Resources


Access control can segment network resources, creating isolated environments where worms
cannot easily propagate across different segments of the network.

Supports Incident Response


Access control can be used to quickly revoke or modify access rights during a worm infection,
helping to contain and mitigate the impact.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 61 / 93


Types of Access Control Models

Discretionary Access Control (DAC):


Access is based on the identity of users and groups.
Each resource has an Access Control List (ACL) specifying which users
can access it.
Mandatory Access Control (MAC):
Access decisions are based on predefined policies and security labels.
Typically used in government and military applications.
Role-Based Access Control (RBAC):
Access is granted based on user roles within an organization.
Simplifies management by assigning permissions to roles rather than
individuals.
Attribute-Based Access Control (ABAC):
Access is determined by evaluating attributes (e.g., user attributes,
resource attributes).
Offers flexibility and fine-grained access control.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 62 / 93


Access Control Algorithm for Worm Prevention

Algorithm Steps
Input: User request R, Access Control Policy P , User attributes U ,
Resource attributes Res.
Output: Access granted or denied.
1 Step 1: Validate the user identity U and resource Res.
2 Step 2: Check the access control policy P for user role R and
corresponding permissions.
3 Step 3: Evaluate conditions based on attributes (ABAC model):

If (U.role = P.role) ∧ (Res.type = P.resource type) ⇒ Grant Access

4 Step 4: Log the access request and outcome.


5 Step 5: If access is denied, alert the system administrator.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 63 / 93


Scenario Setup

User Request (R): Alice attempts to access a critical server.


User Attributes (U):
Name: Alice
Role: System Administrator
Department: IT
Resource Attributes (Res):
Resource Name: critical server 01
Resource Type: Critical Server
Department: IT
Access Control Policy (P):
Role required: System Administrator
Resource type: Critical Server
Department: IT
Permissions: Read, Write, Execute

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 64 / 93


Algorithm Execution

Step-by-Step Execution
1 Validate User and Resource: Alice and critical server 01 are valid.
2 Check Access Control Policy:
Alice’s Role: System Administrator (Matches)
Resource Type: Critical Server (Matches)
Department: IT (Matches)
3 Evaluate Conditions:

(U.role = P.role) ∧ (Re s. t yp e = P.resource type) ∧ (U.department = P.department) ⇒ Grant Access

4 Log Outcome: ”Access request by Alice to critical server 01 granted.”


5 Alert: Not required, access was granted.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 65 / 93


Result

Access granted to Alice for read, write, and execute operations on


critical server 01.
Access request and outcome are logged for audit purposes.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 66 / 93


Access Control Algorithm Example

Example Scenario
User Request: Alice requests access to the financial report R .
Access Control Policy: Policy P requires that only users with the role ”Manager” can access financial reports.
User Attributes: Alice’s role U . r o l e = ”Manager”.
Resource Attributes: The resource type R e s . t y p e = ”Financial Report”.
Output: Access granted.

1 Step 1: Validate Alice’s identity U and the requested resource R e s .


2 Step 2: Check the access control policy P for Alice’s role U . r o l e = ”Manager” and corresponding permissions.
3 Step 3: Evaluate the following condition:

If ( U . r o l e = ”Manager”) ∧ ( R e s . t y p e = ”Financial Report”) ⇒ Grant Access

Since Alice’s role is ”Manager” and the resource type is ”Financial Report”, the condition is true.
4 Step 4: Log Alice’s access request and the outcome (Access granted).
5 Step 5: No alert is necessary as access is granted.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 67 / 93


Detailed ABAC Algorithm for Worm Prevention

Algorithm Steps
Input: User request R , ABAC Policy P a b a c , User attributes U , Resource attributes R e s .
Output: Access granted or denied.

1 Step 1: Extract attributes: {U.role, U.department, U.security level, . . . } and {Re s. t yp e , Res.sensitivity level, . . .}.
2 Step 2: Match user attributes against policy:

If (U.department = Pabac.department) ∧ (U.security level ≥ Res.sensitivity level) ⇒ Grant Access

3 Step 3: Evaluate any additional conditions defined in P a b a c :

If ∀ i (U.attribute i = P a b a c .attribute i ) ⇒ Grant Access

4
Step 4: Log access request and decision.
5
Step 5: If denied, notify security monitoring system.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 68 / 93


Scenario Setup

User Request (R): Bob attempts to access a confidential file.


User Attributes (U):
Name: Bob
Role: Manager
Department: IT
Security Level: 6
Resource Attributes (Res):
Resource Name: confidential file.txt
Resource Type: File
Sensitivity Level: 5
Location: Internal Server
ABAC Policy (P abac ):
Required Department: IT
Minimum Security Level: 5
Additional Condition: User role must be Manager or above

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 69 / 93


Algorithm Execution

Step-by-Step Execution
1 Extract Attributes:

U = {Manager, IT, 6}, R e s = {File, 5}

2 Match User Attributes Against Policy:

U.department = Pabac.department (IT matches IT)

U.security level ≥ Res.sensitivity level (6 ≥ 5)


3 Evaluate Additional Conditions:

User role = Manager ≥ Manager (Condition met)

4 Log Outcome: ”Access request by Bob for confidential file.txt was granted.”
5 Notify if Denied: Not required, access was granted.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 70 / 93


Result

Access is granted to Bob for the confidential file.


The access request and outcome are logged.
No notification sent to the security monitoring system.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 71 / 93


Detailed ABAC Algorithm Example

Example Scenario
User Request: Bob requests access to a classified project file R .
ABAC Policy: Policy P a b a c requires that the user must be in the ”Research” department and have a security level of 5
or higher to access classified project files.

User Attributes:
U.role = ”Researcher”
U.department = ”Research”
U.security level = 5

Resource Attributes:
Re s. t yp e = ”Classified Project File”
Res.sensitivity level = 4
Output: Access granted.

1 Step 1: Extract attributes:

{U.role = ”Researcher”, U.department = ”Research”, U.security level = 5 }

{Res. type = ”Classified Project File”, Res.sensitivity level = 4 }

2 Step 2: Match user attributes against policy:

If (U.department = P abac .department = ”Research”)


∧ (U.security level = 5 ≥ Res.sensitivity level = 4)
⇒ Grant Access

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 72 / 93


Detailed ABAC Algorithm Example

Example Scenario
3 Step 3: Evaluate any additional conditions defined in P a b a c :

No additional conditions apply, so Grant Access

4 Step 4: Log Bob’s access request and the decision (Access granted).
5 Step 5: Since access is granted, no notification to the security monitoring system is needed.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 73 / 93


Detailed RBAC Algorithm for Worm Prevention

Algorithm Steps
Input: User role U.role, RBAC Policy Prbac.
Output: Access granted or denied.
1 Step 1: Identify user’s role U.role.
2 Step 2: Retrieve permissions associated with U.role from Prbac.
3 Step 3: Check if the requested action is within the permissions:

If R.action ∈ Prbac.permissions ⇒ Grant Access

4 Step 4: Log the access request and outcome.


5 Step 5: If access is denied, generate a security incident report.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 74 / 93


Detailed RBAC Algorithm Example

Example Scenario
User Role: John is assigned the role of ”Network Administrator” U.role = ”Network Admin”.
RBAC Policy: The RBAC Policy P r b a c specifies that the ”Network Admin” role has permissions to ”Monitor Traffic”
and ”Configure Routers.”
Output: Access granted or denied based on John’s role and the requested action.

1 Step 1: Identify John’s role U.role = ”Network Admin”.

2 Step 2: Retrieve permissions associated with the ”Network Admin” role from P r b a c .
Permissions retrieved: ”Monitor Traffic,” ”Configure Routers.”
3 Step 3: Check if the requested action is within the permissions:

Requested action: ”Monitor Traffic”


If R.action = ”Monitor Traffic” ∈ P rbac .permissions ⇒ Grant Access

Since ”Monitor Traffic” is within the permissions, access is granted.


4 Step 4: Log the access request and outcome (Access granted).
5 Step 5: No security incident report is generated as access is granted.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 75 / 93


Detailed DAC Algorithm for Worm Prevention

Algorithm Steps
Input: User U , Resource R e s , DAC Policy P d a c .
Output: Access granted or denied.

1 Step 1: Check if user U is the owner of the resource R e s .


2 Step 2: Evaluate access rights from P d a c :

If ( U = Res.owner) ∨ (U.role = admin) ⇒ Grant Access

3 Step 3: If no explicit permission is found, deny access.


4 Step 4: Log the access request and outcome.
5 Step 5: If denied, escalate to owner review.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 76 / 93


Detailed DAC Algorithm Example

Example Scenario
User: Alice requests access to a proprietary design document R e s .
Resource Owner: The document is owned by Bob Res.owner = ”Bob”.
DAC Policy: The policy P d a c specifies that access is granted if the user is the owner or an admin.
Output: Access granted or denied.

1 Step 1: Check if Alice U is the owner of the resource R e s :


U = ”Alice”
Res.owner = ”Bob”
Alice is not the owner.
2 Step 2: Evaluate access rights from P d a c :

If ( U = ”Alice” ̸ = ”Bob”) ∨ (U.role = admin)


⇒ Grant Access

Since Alice is neither the owner nor an admin, access is denied.


3 Step 3: No explicit permission is found for Alice. Access is denied.
4 Step 4: Log Alice’s access request and the outcome (Access denied).
5 Step 5: Since access is denied, escalate the request to the resource owner, Bob, for review.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 77 / 93


Best Practices for Implementing Access Control

Regularly update access control policies to adapt to new threats.


Use the principle of least privilege: grant minimum necessary
permissions.
Implement multi-factor authentication (MFA) for sensitive operations.
Conduct periodic audits and reviews of access control settings.
Educate users about the importance of secure access practices.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 78 / 93


Important Notes

Effective access control is essential to prevent unauthorized access


and reduce worm propagation.
Different models (DAC, MAC, RBAC, ABAC) offer varying levels of
control and flexibility.
Implementing best practices ensures the security and integrity of
sensitive information.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 79 / 93


Network Segmentation for Worm Prevention

Overview
Network segmentation involves dividing a network into smaller, isolated segments to limit the spread of worms and other
malicious activities. This approach enhances security by controlling traffic flow and reducing the attack surface.

Algorithm Steps
Input: Network topology N , Segmentation policy S , Traffic rules T , Security requirements R .
Output: Segmented network with defined security zones.

1 Step 1: Analyze the network topology N .


Identify all network nodes, devices, and connections.

N = {Node 1 , Node 2 , . . . , Noden}

2 Step 2: Define segmentation policy S .


Determine the criteria for segmenting the network, such as based on departments, functions, or sensitivity of
data.

S = {Segment1, Segment2, . . . , Segmentk }

3 Step 3: Implement traffic rules T between segments.


Define access controls and communication rules for traffic between segments.
(
Allowed if Segmenti and Segmentj are permitted to communicate
T ij =
Denied otherwise

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 80 / 93


Network Segmentation for Worm Prevention

Overview
1 Step 4: Apply security controls R within each segment.
Implement security measures such as firewalls, intrusion detection systems, and access controls tailored to each
segment’s requirements.

R = {Firewall Rules, IDS, Access Controls}

2 Step 5: Monitor and maintain segmented network.


Continuously monitor traffic and enforce policies to ensure the effectiveness of segmentation.

Monitor(N, S , T , R )

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 81 / 93


Network Segmentation for Worm Prevention

Example Scenario
A company implements network segmentation to prevent the spread of a
worm infection. The network is divided into four segments:
Development
Marketing
Finance
HR

The aim is to contain any worm infection within a single segment and
prevent it from spreading to others.

Implementation Steps
Input: Network topology N , Segmentation policy S , Traffic rules T , Security controls C .
Output: Secured and isolated network segments.

1 Step 1: Segment the network N .


Define segments based on departments.

N = {Dev, Mkt, Fin, HR}

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 82 / 93


Network Segmentation for Worm Prevention

Implementation Steps
1 Step 2: Define access rules T between segments.
Control which segments can communicate with each other.
(
Allowed if Segmenti and Segmentj are permitted to communicate
T ij =
Denied otherwise

Example:
TDev, Mkt = Allowed, TDev, Fin = Denied

2 Step 3: Implement security controls C for each segment.


Apply firewalls, IDS, and access controls.

C = {Firewall for Dev, IDS for Mkt, Access Controls for HR}

3 Step 4: Monitor traffic between segments.


Track and analyze traffic to detect any anomalies or attempts to breach segmentation.

Monitor(N, T , C )

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 83 / 93


Network Segmentation for Worm Prevention

Numerical Example
Consider a network with the following topology and segmentation policy:
Network Topology N :
N = { A , B, C, D, E}

Segmentation Policy S :

S = {Segment1 = { A , B } , Segment2 = { C } , Segment3 = { D , E}}

Traffic Rules T :

(
Allowed if Segmenti and Segmentj are permitted to communicate
T ij =
Denied otherwise

For example:
T 1 2 = Allowed, T 1 3 = Denied, T 2 3 = Allowed, T 2 4 = Denied

Security Controls R :
R = {Firewalls, IDS, Access Controls}

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 84 / 93


Network Segmentation for Worm Prevention

Numerical Example (continued)


Applying the policy and rules:
For Segment 1 (Nodes A, B):

Traffic Rules: T 1 2 = Allowed, Firewalls:Allow internal segment communication.

For Segment 2 (Node C):

Traffic Rules: T 1 3 = Denied, IDS: Monitor traffic to/from Segments 1 and 3.

For Segment 3 (Nodes D, E):

Traffic Rules: T 2 4 = Denied, Access Controls: Restrict external access to segment.

Monitoring:
Monitor(N, S , T , R ) = Evaluate effectiveness of segmentation and security controls.

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 85 / 93


Least Privilege Principle for Worm Prevention

Overview
The Least Privilege Principle dictates that users and systems should be granted the minimum level of access necessary to
perform their functions. This principle helps to limit the spread of worms and other malicious threats by minimizing the
potential damage that can be caused by compromised accounts or systems.

Implementation Steps
Input: User roles R , Resource access requirements A , Security policy P , Current access levels C .
Output: Restricted access permissions.

1 Step 1: Identify user roles R and their required access levels.


Define roles based on job functions and responsibilities.

R = {Role1, Role2, . . . , Rolek }

2 Step 2: Assess access requirements A for each role.


Determine the minimum access needed for each role to perform its duties.

A i = {Resource1, Resource2, . . . , Resourcem}

3 Step 3: Define security policy P based on least privilege.


Implement access controls to enforce the least privilege principle.
(
Allowed if Rolei requires access to Resourcej
P ij =
Denied otherwise

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 86 / 93


Least Privilege Principle for Worm Prevention

Implementation Steps
5 Step 4: Review and adjust current access levels C .
Audit existing permissions and adjust to align with the least privilege policy.

C i = {Access1, Access2, . . . , Accessn}

6 Step 5: Monitor and enforce compliance with the least privilege policy.
Continuously review access levels and adjust as necessary to maintain minimal access.

Monitor(R, A , C , P )

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 87 / 93


Example: Least Privilege Principle for Worm Prevention

Implementation Steps

Input: User roles R , Resource access requirements A , Security policy P , Current access levels C .
Output: Restricted access permissions.
1 Step 1: Identify user roles R and their required access levels.
Define roles based on job functions and responsibilities.

R = {Admin, Developer, Analyst}

2 Step 2: Assess access requirements A for each role.


Determine the minimum access needed for each role to perform its duties.

AAdmin = {Database, Server, Configuration}

ADeveloper = {Source Code, Development Environment}

AAnalyst = {Reports, Analytics Tools}

3 Step 3: Define security policy P based on least privilege.


Implement access controls to enforce the least privilege principle.

PAdmin, Database = Allowed

PDeveloper, Database = Denied

PAnalyst, Reports = Allowed

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 88 / 93


Least Privilege Principle for Worm Prevention

Implementation Steps
5 Step 4: Review and adjust current access levels C .
Audit existing permissions and adjust to align with the least privilege policy.

CAdmin = {Database, Server, Configuration}

CDeveloper = {Source Code, Development Environment}

CAnalyst = {Reports, Analytics Tools}

6 Step 5: Monitor and enforce compliance with the least privilege policy.
Continuously review access levels and adjust as necessary to maintain minimal access.

Monitor(R, A , C , P ) → Regularly review and update access permissions

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 89 / 93


Example : Least Privilege Principle for Worm Prevention

Implementation Steps
Input: User roles R , Resource access requirements A , Security policy P , Current access levels C .
Output: Restricted access permissions.

1 Step 1: Identify user roles R and their required access levels.


Define roles based on job functions and responsibilities.

R = {Admin, Developer, Analyst}

Example Roles and Responsibilities:


Admin: Full access to system configuration and databases
Developer: Access to source code and development tools
Analyst: Access to reports and analytical tools
2 Step 2: Assess access requirements A for each role.
Determine the minimum access needed for each role.

AAdmin = {Database, Server, Configuration}

ADeveloper = {Source Code, Development Environment}

AAnalyst = {Reports, Analytics Tools}

Example Access Requirements:


Admin: Required access to all critical resources
Developer: Required access to only development-related resources
Analyst: Required access to only report-related resources
Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 90 / 93
Example : Least Privilege Principle for Worm Prevention

Implementation Steps
3 Step 3: Define security policy P based on least privilege.
Implement access controls to enforce the least privilege principle.

PAdmin, Database = Allowed

PDeveloper, Database = Denied

PAnalyst, Reports = Allowed

Example Policy Rules:


Admin can access all critical resources
Developer cannot access the database or server configurations
Analyst can access only the reports

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 91 / 93


Example : Least Privilege Principle for Worm Prevention

Implementation Steps
4 Step 4: Review and adjust current access levels C .
Audit existing permissions and adjust to align with the least privilege policy.

CAdmin = {Database, Server, Configuration}

CDeveloper = {Source Code, Development Environment}

CAnalyst = {Reports, Analytics Tools}

Example Current Access Levels:


Admin: Access to all resources as required
Developer: Access to development-related resources only
Analyst: Access to report-related resources only

5 Step 5: Monitor and enforce compliance with the least privilege policy.
Continuously review access levels and adjust as necessary to maintain minimal access.

Monitor(R, A , C , P ) → Regularly review and update access permissions

Example Monitoring Actions:


Perform regular audits of access permissions
Update permissions based on changes in job roles or responsibilities

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 92 / 93


Thank You

Thank You!

For your attention and participation

Adarsh Kumar Adarsh[dot]Kumar[at]ddn[dot]upes[dot]ac[dot]in January 17, 2025 93 / 93

You might also like