0% found this document useful (0 votes)
14 views83 pages

Module 2

Module 2 covers replication, consistency, and fault tolerance in distributed systems, detailing fault classification into crash and Byzantine faults, and various common fault types. It discusses the importance of fault tolerance for maintaining service levels and outlines proactive and reactive approaches to managing faults. The module also explores replication models and their impact on scalability, emphasizing the trade-offs between consistency, availability, and performance.

Uploaded by

p01259803
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)
14 views83 pages

Module 2

Module 2 covers replication, consistency, and fault tolerance in distributed systems, detailing fault classification into crash and Byzantine faults, and various common fault types. It discusses the importance of fault tolerance for maintaining service levels and outlines proactive and reactive approaches to managing faults. The module also explores replication models and their impact on scalability, emphasizing the trade-offs between consistency, availability, and performance.

Uploaded by

p01259803
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

Module 2

Replication, Consistency, and Fault


Tolerance in Distributed Systems
Contents
 Fault Classification in Distributed Computing
 Introduction to Fault Tolerance
 Fault Tolerance Approaches
 Consistency in Distributed Systems
 Security in Distributed Systems
Fault Classification in Distributed
Computing - Overview
 Two broad categories:
 CrashFaults
 Byzantine Faults

 Importance of classification:
 Helps in designing appropriate fault tolerance
strategies
 Enables efficient resource allocation for fault handling

 Facilitates proactive and reactive approaches to fault


management
Crash Faults - In-depth Look
 Definition: Failures of system components that lead
to complete stop of functionality
 Characteristics:
 Affectsphysical structure of the system
 Often requires manual intervention for repair

 Can be detected and handled by software agents


Contd…
 Examples:
 Power supply failure
 Hard disk crash
 Memory chip malfunction
 CPU failure
 Network switch or router breakdown

 Detection methods:
 Heartbeat protocols
 Watchdog timers
 Error logs analysis
Byzantine Faults - Detailed Explanation

 Definition: Faults that create ambiguity in the expected


output, resulting in unpredictable system behavior
 Named after the Byzantine Generals' Problem in
distributed systems
 Characteristics:
 Affects logical structure of the system
 Can be handled through software-based fault tolerance
strategies
 Difficult to examine due to system complexity and diversity
Contd…
 Examples:
 Arbitrary behavior of system components
 Malicious attacks leading to data corruption

 Software bugs causing inconsistent outputs

 Challenges in handling Byzantine faults:


 Difficulty
in fault detection
 Complexity in designing fault-tolerant algorithms

 Increased overhead for consensus mechanisms


Common Fault Types in Distributed
Systems
 Configuration faults:
 Caused by incorrect system or application settings
 Can lead to performance issues or service unavailability
 Constraint faults:
 Occur when system constraints are violated or ignored
 May result in resource allocation problems
 Hardware faults:
 Physical component failures in the infrastructure
 Can cascade to affect multiple services
 Network faults:
 Issues with network connectivity or performance
 Can isolate parts of the system or degrade service quality
Contd…
 Parametric faults:
 Caused by unexpected variations in system parameters
 Can lead to performance degradation or incorrect results
 Participant faults:
 Arise from conflicts between cloud stakeholders (providers, consumers,
administrators)
 May result in access control issues or service disputes
 Resource contention faults:
 Occur when multiple processes compete for shared resources
 Can cause deadlocks or performance bottlenecks
 Retrospective faults:
 Result from insufficient historical data about system behavior
 Can lead to incorrect decision-making in resource management
Contd…
 Software faults:
 Bugs or errors in application or system software
 Can cause crashes, data corruption, or security vulnerabilities
 Stochastic faults:
 Random faults that occur due to unpredictable events
 Challenging to prevent but can be mitigated through redundancy
 System faults:
 Arise from incomplete knowledge of the processes controlling service
provisioning
 Can lead to unexpected system behavior or resource misallocation
 Time constraint faults:
 Occur when applications fail to complete tasks within specified
deadlines
 Critical in real-time systems and time-sensitive applications
Introduction to Fault Tolerance
 Definition: Fault tolerance is the ability of a system
to continue performing its intended function despite
the presence of faults
 Key aspects:
 Fault detection
 Fault isolation

 Fault recovery

 Importance: Critical for maintaining service level


agreements (SLAs) and user trust
Importance of Fault Tolerance
 Ensuring high availability (typically 99.99% uptime
or higher)
 Maintaining data integrity and consistency
 Protecting against data loss
 Minimizing service disruptions
 Supporting scalability and elasticity of distributed
services
 Enhancing overall system reliability and user
satisfaction
Layered Architecture of Fault Tolerance
 Fault tolerance follows the layered structure services
 Interdependencies between service delivery layers:
 IaaS faults can affect PaaS and SaaS
 PaaS faults can affect SaaS
 Example scenario:
 Hard drive failure at IaaS level
 Leads to OS crash at PaaS level
 Results in application failure at SaaS level
 Importance of layered approach:
 Enables targeted fault tolerance strategies at each level
 Facilitates isolation of faults to minimize cascading effects
 Supports efficient resource allocation for fault handling
General Fault Tolerance Procedure
 Fault Detection:
 Continuous monitoring of system components
 Use of health checks, heartbeats, and performance metrics
 Application of machine learning for anomaly detection
 Fault Analysis:
 Identifying the root cause of the detected fault
 Assessing the potential impact on system performance and
reliability
 Fault Recovery:
 Implementing appropriate recovery mechanisms
 May involve failover, rollback, or self-healing techniques
Contd…
 Service Continuity:
 Ensuring minimal disruption to end-users
 Maintaining data consistency and integrity throughout
the recovery process
 Post-Recovery Analysis:
 Logging and analyzing fault incidents
 Updating fault tolerance strategies based on new
insights
Fault Tolerance Approaches -
Overview
 Two main categories:
 Proactive Approaches:
 Anticipate and prevent faults before they occur
 Based on continuous monitoring and predictive analysis
 Reactive Approaches:
 Respond to faults after they have occurred
 Focus on quick recovery and minimizing impact
 Key differences:
 Timing of action (before vs. after fault occurrence)
 Resource utilization (ongoing monitoring vs. on-demand
recovery)
 Complexity (predictive models vs. recovery mechanisms)
Proactive Fault Tolerance - Principles
 Definition: Preparing for potential faults before
they occur
 Key aspects:
 Continuous system monitoring
 Application of artificial intelligence and machine
learning
 Predictive analysis based on historical data and
patterns
Contd…
 Advantages:
 Minimizes service interruptions
 Reduces recovery time and data loss

 Improves overall system reliability

 Challenges:
 Resource overhead for constant monitoring
 Complexity in developing accurate predictive models

 Potential for false positives leading to unnecessary


actions
Proactive Fault Tolerance - Self-
Healing
 Definition: Autonomous recovery from faults without
human intervention Inspired by biological systems'
ability to repair themselves
 Key components:
 Faultdetection mechanisms
 Diagnosis algorithms

 Recovery procedures
Contd…
 Implementation strategies:
 Redundancy: Maintaining backup components or services
 Reconfiguration: Dynamically adjusting system parameters

 Software rejuvenation: Periodic restarts to clear error


conditions
 Examples:
 Automatic VM migration in case of predicted host failure
 Dynamic load balancing to prevent resource exhaustion

 Self-repairing database systems


Proactive Fault Tolerance - Pre-emptive
Migration
 Definition: Proactively moving computation away from
failure-prone nodes
 Key aspects:
 Continuous monitoring of node health and performance
 Predictive analysis to identify potential failures
 Seamless migration of tasks or VMs to healthy nodes
 Implementation considerations:
 Migration triggers: CPU temperature, memory usage, disk
I/O patterns
 Migration overhead: Network bandwidth, service
interruption
 Destination selection: Load balancing, resource availability
Contd…
 Advantages:
 Prevents service interruptions due to node failures
 Enables efficient resource utilization

 Facilitates maintenance without downtime

 Challenges:
 Accuracy of failure predictions
 Balancing migration frequency with system stability

 Handling false positives to avoid unnecessary


migrations
Proactive Fault Tolerance - System
Rejuvenation
 Definition: Periodic refreshing of system state to prevent
software aging and accumulation of errors
 Types:
 Fixed-time rejuvenation: Regular intervals between refreshes
 Variable-time rejuvenation: Adaptive intervals based on
system conditions
 Implementation strategies:
 Full rejuvenation: Refreshing all system components
simultaneously
 Partial rejuvenation: Refreshing specific components or
services
Contd…
 Key steps in rejuvenation process:
 Taking system or component backup
 Cleaning and repairing bugs and errors
 Reinstating the cleaned system state
 Benefits:
 Prevents gradual performance degradation
 Clears memory leaks and fragmentation
 Resets system to a known good state
 Considerations:
 Balancing rejuvenation frequency with system availability
 Minimizing impact on running applications
 Ensuring data consistency during the rejuvenation process
Reactive Fault Tolerance - Principles
 Definition: Responding to faults after their
occurrence to minimize impact
 Key aspects:
 Quick fault detection and isolation
 Efficient recovery mechanisms

 Minimizing service disruption and data loss


Contd…
 Advantages:
 No ongoing overhead for fault prediction
 Simpler implementation compared to proactive approaches

 Effective for handling unexpected or rare fault scenarios

 Challenges:
 Potential for service interruption during recovery
 Risk of data loss between fault occurrence and detection

 Dependency on robust backup and recovery systems


Reactive Fault Tolerance - Checkpoint
Restart
 Definition: Periodically saving system state to enable
recovery from the last known good state
 Key components:
 Checkpointing mechanism: Capturing and storing system state
 Storage system: Reliable storage for checkpoint data
 Restart procedure: Mechanism to resume from a saved checkpoint
 Types of checkpointing:
 Application-level: Managed by the application itself
 System-level: Managed by the underlying system or hypervisor
 Coordinated: Synchronized checkpoints across multiple
components
Contd…
 Considerations:
 Frequency of checkpoints: Balancing overhead vs. potential data loss
 Checkpoint storage: Local vs. distributed storage systems
 Consistency: Ensuring consistent state across distributed components
 Advantages:
 Reduces amount of lost work in case of failures
 Enables flexible recovery options (e.g., rolling back to different points)
 Supports debugging and analysis of failure scenarios
 Challenges:
 Overhead of taking regular checkpoints
 Storage requirements for checkpoint data
 Complexity in ensuring consistent checkpoints in distributed systems
Reactive Fault Tolerance - Job
Migration
 Definition: Moving tasks or jobs from failed or failing
resources to healthy ones
 Key aspects:
 Fault detection: Identifying failed or underperforming
resources
 Resource selection: Choosing appropriate destination for
migration
 State transfer: Moving necessary data and execution state
 Types of migration:
 Live migration: Moving running tasks with minimal downtime
 Cold migration: Stopping tasks before migration and
restarting on new resources
Contd…
 Implementation:
 VM migration: Moving entire virtual machines between hosts
 Container migration: Transferring containerized applications
 Process migration: Moving individual processes or threads
 Advantages:
 Maintains service continuity despite resource failures
 Enables dynamic load balancing and resource optimization
 Facilitates system maintenance without complete service shutdown
 Challenges:
 Minimizing downtime during migration
 Handling network-related issues during state transfer
 Ensuring consistency of distributed applications after migration
Reactive Fault Tolerance - Replication
 Definition: Maintaining multiple copies of tasks, services, or data to ensure
availability
 Types of replication:
 Active replication: All replicas process requests simultaneously
 Passive replication: One primary replica processes requests, others act as
backups
 Key components:
 Replica creation and management
 Synchronization mechanisms
 Failover procedures
 Replication strategies:
 VM replication: Maintaining copies of entire virtual machines
 Database replication: Keeping multiple synchronized copies of databases
 Service replication: Running multiple instances of cloud services
Contd…
 Variations of replication method:
 Recovery blocks: Sequential execution on standby replicas upon primary failure
 N-version programming: Simultaneous execution with voting for final result
 Active replication: All replicas process requests, first correct response used
 Advantages:
 High availability and fault tolerance
 Load balancing capabilities
 Improved read performance for distributed applications
 Challenges:
 Consistency management across replicas
 Increased resource consumption and cost
 Complexity in handling conflicting updates in active replication
Replication Models
 Primary-Backup (Master-Slave) Model:
 One primary replica handles all writes
 Backups receive updates from the primary
 Pros: Simplicity, strong consistency
 Cons: Limited write scalability
 Multi-Primary (Multi-Master) Model:
 Multiple replicas can handle writes
 Pros: Improved write scalability
 Cons: Complex conflict resolution
 Peer-to-Peer Model:
 All replicas are equal
 Updates can occur at any replica
 Pros: High availability, no single point of failure
 Cons: Complex consistency management
Replication and Scalability
 Scalability: The ability of a system to handle
increased load
 Horizontal scaling: Adding more nodes to the system
 Vertical scaling: Increasing the capacity of existing
nodes
How replication improves scalability?

 Load distribution:
 Distributing
read requests across multiple replicas
 Reduced load on individual nodes

 Improved response time:


 Servingrequests from geographically closer replicas
 Reduced network latency

 Increased availability:
 System remains operational even if some replicas fail
Replication Trade-offs
 Consistency vs. Availability:
 Strong consistency may reduce availability during
partitions
 Eventual consistency can improve availability but may
lead to temporary inconsistencies
 Performance vs. Consistency:
 Synchronous updates ensure consistency but may impact
performance
 Asynchronous updates improve performance but may
lead to inconsistencies
Contd..
 Storage overhead:
 Fullreplication requires more storage
 Partial replication reduces storage needs but increases
complexity
 Network bandwidth:
 Replicationincreases network traffic for update
propagation
 Need for efficient update protocols
Introduction to Consistency in
Distributed Systems
 Definition: Consistency refers to the agreement
among replicas on the value of shared data.
 Importance:
 Ensurescorrect system behavior
 Provides guarantees about data visibility and ordering

 Consistency models:
A contract between the system and its clients
 Specifies the allowed behaviors of the system
Consistency Spectrum
 Stronger consistency <-------------> Weaker consistency
 Strict Consistency
 Sequential Consistency

 Causal Consistency

 Eventual Consistency

 Trade-offs:
 Stronger consistency: Better data integrity, lower
performance
 Weaker consistency: Higher performance, potential
inconsistencies
Strict Consistency
 Definition: Any read operation returns the value of the most
recent write operation, regardless of the replica accessed.
 Properties:
 Absolute time ordering of all operations
 Instant visibility of updates across all replicas
 Challenges in distributed systems:
 Requires perfect clock synchronization
 High latency due to synchronization overhead
 Reduced availability during network partitions
 Use cases:
 Financial transactions
 Critical systems where data integrity is paramount
Sequential Consistency
 Definition: The result of any execution is the same as if all operations
were executed in some sequential order, and the operations of each
process appear in this sequence in the order specified by its
program.
 Properties:
 Preserves program order for each process
 All processes see the same global order of operations
 Does not require a global real-time ordering
 Implementation challenges:
 Coordinating the global order of operations
 Potential performance impact due to synchronization
 Use cases:
 Shared memory systems
 Distributed databases with strong consistency requirements
Causal Consistency
 Definition: Writes that are causally related must be seen by all processes in the
same order. Concurrent writes may be seen in different orders by different
processes.
 Key concepts:
 Causal relationship: "happens-before" relation
 Concurrent operations: Neither operation happened before the other
 Properties:
 Preserves cause-effect relationships
 Allows for higher performance than sequential consistency
 Implementation techniques:
 Vector clocks
 Causal history graphs
 Use cases:
 Collaborative editing systems
 Social media feeds
Eventual Consistency
 Definition: Given enough time without updates, all replicas will
converge to the same state.
 Properties:
 Weak consistency model
 High availability and partition tolerance
 Allows for temporary inconsistencies
 Conflict resolution strategies:
 Last-writer-wins
 Vector clocks with reconciliation
 Application-specific merge functions
 Use cases:
 DNS (Domain Name System)
 Highly available key-value stores (e.g., Amazon DynamoDB)
CAP Theorem
 Theorem: In a distributed system, it is impossible to
simultaneously guarantee all three of the following:
 Consistency (C): All nodes see the same data at the same time
 Availability (A): Every request receives a response, without
guarantee that it contains the most recent version of the data
 Partition tolerance (P): The system continues to operate despite
arbitrary partitioning due to network failures
 Implications:
 In the presence of a network partition, one must choose between
consistency and availability
 Real-world systems often make trade-offs between these
properties
Consistency Models in Practice
 Strong Consistency Systems:
 Traditional relational databases (e.g., PostgreSQL)
 Consensus-based systems (e.g., Apache ZooKeeper)

 Eventually Consistent Systems:


 NoSQL databases (e.g., Apache Cassandra)
 Content Delivery Networks (CDNs)

 Hybrid Approaches:
 Tunable consistency (e.g., Apache Cassandra's configurable
consistency levels)
 Multi-level consistency (e.g., different consistency guarantees
for different types of data)
Introduction to Security in Distributed
Systems
 Definition: Protecting distributed systems and their
resources from unauthorized access, use, disclosure,
disruption, modification, or destruction.
 Importance in distributed systems:
 Increased attack surface due to network exposure
 Complexity of securing multiple interconnected components
 Need to protect both data in transit and at rest
 Key security objectives:
 Confidentiality
 Integrity
 Availability
Security Challenges in Distributed
Systems
 Lack of central control: Difficulty in implementing and enforcing
uniform security policies
 Heterogeneity: Different components may have varying security
capabilities
 Large attack surface: Multiple entry points for potential attacks
 Network vulnerabilities: Susceptibility to network-based attacks
(e.g., man-in-the-middle)
 Data distribution: Sensitive data spread across multiple nodes
 Authentication and authorization complexity: Managing identities
and access rights across distributed components
 Scalability of security solutions: Security mechanisms must scale with
the system
Threat Model for Distributed Systems
 Definition: A structured representation of potential security threats to the
system.
 Components of a threat model:
 Assets: What are we trying to protect?
 Data, services, resources, reputation
 Threat agents: Who might attack the system?
 External hackers, malicious insiders, competitors
 Attack vectors: How might the system be attacked?
 Network-based attacks, social engineering, physical access
 Vulnerabilities: What weaknesses could be exploited?
 Software bugs, misconfigurations, design flaws
 Impact: What are the consequences of a successful attack?
 Data breach, service disruption, financial loss
 Likelihood: How probable is each type of attack?
 Based on attacker motivation and capability
Types of Security Threats in Distributed
Systems
 Eavesdropping (Passive attack):
 Unauthorized interception of network communications
 Threat to confidentiality
 Masquerading:
 Impersonation of legitimate users or system components
 Threat to authentication and authorization
 Message tampering (Active attack):
 Unauthorized modification of data in transit
 Threat to integrity
 Replay attacks:
 Resending captured valid messages to deceive the system
 Threat to authentication and integrity
Contd…
 Denial of Service (DoS):
 Overwhelming system resources to disrupt services
 Threat to availability

 Distributed Denial of Service (DDoS):


 DoS attack using multiple compromised systems
 More difficult to mitigate than simple DoS

 Man-in-the-Middle (MITM) attacks:


 Interceptingand potentially altering communication
between parties
 Threat to confidentiality and integrity
Authentication in Distributed Systems
 Definition: Verifying the identity of users, processes,
or devices in the distributed system.
 Authentication methods:
 Password-based:
 Simple but vulnerable to various attacks
 Enhanced security with password policies and multi-factor
authentication
 Public Key Infrastructure (PKI):
 Uses digital certificates for identity verification
 Scalable and suitable for large distributed systems
Contd…
 Kerberos:
 Ticket-based authentication protocol
 Provides mutual authentication

 Biometric authentication:
 Uses unique physical characteristics for identification
 Challenges in distributed storage and verification of biometric
data
 Single Sign-On (SSO):
 Allows users to access multiple services with one set of credentials
 Improves user experience but requires careful implementation to
avoid single point of failure
Authorization in Distributed Systems
 Definition: Determining what actions or resources an
authenticated entity is allowed to access or use.
 Authorization models:
 Discretionary Access Control (DAC):
 Access rights are determined by the owner of the resource
 Flexible but can lead to complex and inconsistent policies

 Mandatory Access Control (MAC):


 Access rights are determined by a central authority
 Provides strong security but can be inflexible
Contd…
 Role-Based Access Control (RBAC):
 Access rights are associated with roles, and users are assigned to
roles
 Simplifies administration in large systems
 Attribute-Based Access Control (ABAC):
 Access decisions are made based on attributes of the user, resource,
and environment
 Highly flexible and context-aware
 Challenges in distributed authorization:
 Maintaining consistent access policies across distributed
components
 Efficiently evaluating access rights in a distributed environment
 Handling revocation of access rights
Encryption in Distributed Systems
 Definition: The process of encoding information to
protect its confidentiality.
 Types of encryption:
 Symmetric encryption:
 Uses the same key for encryption and decryption
 Fast, but key distribution is challenging in distributed systems

 Asymmetric encryption (Public-key cryptography):


 Uses a pair of public and private keys
 Solves key distribution problem, but computationally
intensive
Contd…
 Hybrid encryption:
 Combines symmetric and asymmetric encryption
 Leverages strengths of both approaches

 Encryption applications in distributed systems:


 Securing communication channels (e.g., TLS/SSL)
 Protecting data at rest (e.g., encrypted databases)

 Secure key exchange (e.g., Diffie-Hellman key


exchange)
Integrity Checks in Distributed Systems

 Definition: Mechanisms to ensure that data has not been


tampered with or corrupted.
 Integrity check methods:
 Hash functions:
 Generate fixed-size output (hash) from input data
 Any change in input produces a different hash
 Examples: SHA-256, SHA-3
 Message Authentication Codes (MAC):
 Combination of hash function and secret key
 Provides both integrity and authentication
 Example: HMAC
Contd…
 Digital signatures:
 Uses asymmetric cryptography to sign messages
 Provides integrity, authentication, and non-repudiation
 Example: RSA signatures, ECDSA

 Applications in distributed systems:


 Verifying integrity of messages in transit
 Ensuring integrity of stored data

 Validating software updates and patches


Non-repudiation in Distributed Systems

 Definition: The ability to prove that a specific action


or transaction occurred, preventing parties from
denying their involvement.
 Importance in distributed systems:
 Crucial for systems involving financial transactions or
legal agreements
 Helps in auditing and dispute resolution
Contd…
 Techniques for achieving non-repudiation:
 Digital signatures:
 Sender signs the message with their private key
 Receiver can verify the signature using the sender's public key
 Trusted timestamping:
 A trusted third party attests to the existence of certain data at a specific time
 Useful for proving when a transaction occurred
 Blockchain technology:
 Provides an immutable, distributed ledger of transactions
 Each transaction is cryptographically linked to previous transactions
 Challenges:
 Key management and protection of private keys
 Long-term preservation of non-repudiation evidence
Secure Communication Protocols
 Transport Layer Security (TLS) / Secure Sockets Layer (SSL):
 Provides end-to-end encryption for network communications
 Features:
 Authentication of communicating parties
 Confidentiality through encryption
 Message integrity checks
 Widely used for securing web traffic (HTTPS)
 Internet Protocol Security (IPsec):
 Suite of protocols for securing IP communications
 Can operate in transport mode (encrypting payload) or tunnel
mode (encrypting entire packet)
 Used in Virtual Private Networks (VPNs)
Contd…
 Secure Shell (SSH):
 Protocolfor secure remote login and other secure
network services
 Provides strong encryption and authentication
 Commonly used for remote administration of servers

 Pretty Good Privacy (PGP) / GNU Privacy Guard


(GPG):
 Encryptionand signing system often used for secure
email communication
 Uses a web of trust model for key verification
Access Control Mechanisms in
Distributed Systems
 Firewalls:
 Controlincoming and outgoing network traffic based on
predetermined security rules
 Types:
 Packet filtering firewalls
 Stateful inspection firewalls
 Application-level gateways (proxy firewalls)

 Virtual Private Networks (VPNs):


 Extend a private network across a public network
 Provide secure, encrypted connections for remote access
Contd…
 Intrusion Detection Systems (IDS) / Intrusion Prevention
Systems (IPS):
 Monitor network traffic for suspicious activity
 IPS can automatically take action to prevent detected threats
 Network Access Control (NAC):
 Restricts access to a network based on device identity and
security posture
 Ensures only compliant and authorized devices can connect
 Software-Defined Perimeter (SDP):
 Creates dynamic, identity-centric perimeters around distributed
resources
 Implements a "zero trust" model where all access attempts are
verified
Trust Management in Distributed
Systems
 Definition: Establishing and managing trust relationships
between entities in a distributed system.
 Trust models:
 Hierarchical trust (PKI model):
 Trust flows from root certificate authorities to intermediate CAs
and end entities
 Widely used in TLS/SSL for website authentication

 Web of trust:
 Decentralized trust model where users vouch for each other's
identities
 Used in PGP for email encryption and signing
Contd…
 Reputation-based trust:
 Trust is derived from past behavior and feedback from other
entities
 Common in peer-to-peer systems and online marketplaces
 Blockchain-based trust:
 Trust is established through consensus mechanisms and
cryptographic proofs
 Eliminates the need for a central trusted authority

 Challenges in trust management:


 Scalability of trust relationships
 Revocation of trust
 Handling conflicting trust information
Privacy-Preserving Techniques in
Distributed Systems
 Data anonymization:
 Removing or obscuring personally identifiable information
 Techniques: k-anonymity, l-diversity, t-closeness
 Differential privacy:
 Adding controlled noise to query results to protect individual
privacy
 Provides mathematical guarantees of privacy
 Homomorphic encryption:
 Allows computations on encrypted data without decrypting
it
 Enables privacy-preserving data processing in untrusted
environments
Contd…
 Secure Multi-Party Computation (SMPC):
 Allows multiple parties to jointly compute a function
over their inputs while keeping those inputs private
 Zero-Knowledge Proofs:
 Allows one party to prove to another that they know a
value, without conveying any information apart from the
fact that they know the value
 Federated learning:
 Machine learning technique that trains algorithms on
distributed datasets without centralizing the data
Security Auditing and Monitoring
 Importance in distributed systems:
 Detecting security incidents and anomalies
 Ensuring compliance with security policies
 Providing forensic information for incident response
 Key components:
 Log management:
 Centralized collection and storage of logs from all system components
 Log analysis tools for detecting patterns and anomalies
 Security Information and Event Management (SIEM):
 Real-time analysis of security alerts generated by network hardware
and applications
 Correlation of events from different sources to detect complex attacks
Contd…
 Continuous monitoring:
 Ongoing surveillance of system activities and configurations
 Automated tools for vulnerability scanning and configuration
checking
 Penetration testing:
 Simulated attacks to identify vulnerabilities in the system
 Both external and internal testing to cover different threat
scenarios
 Security metrics and reporting:
 Quantifiable measures of security posture
 Regular reporting to stakeholders on security status and incidents
Incident Response in Distributed Systems
 Phases of incident response:
 Preparation:
 Developing incident response plans and procedures
 Training personnel and establishing communication channels
 Detection and Analysis:
 Identifying and confirming security incidents
 Determining the scope and impact of the incident
 Containment:
 Isolating affected systems to prevent further damage
 Implementing short-term fixes to halt the incident
 Eradication:
 Removing the root cause of the incident
 Patching vulnerabilities and removing malware
Contd…
 Recovery:
 Restoring systems to normal operation
 Validating system functionality and security
 Post-Incident Activities:
 Lessons learned and improving security measures
 Updating incident response plans based on experience

 Challenges in distributed systems:


 Coordinating response across multiple locations and teams
 Collecting and analyzing distributed evidence
 Ensuring consistent application of incident response
procedures
Security Considerations for Specific
Distributed System Architectures
 Client-Server Architecture:
 Protecting server resources from unauthorized client access
 Securing communication between clients and servers
 Implementing robust authentication and authorization mechanisms
 Peer-to-Peer (P2P) Systems:
 Ensuring the authenticity of peers
 Protecting against malicious peers
 Maintaining privacy in decentralized environments
 Microservices Architecture:
 Securing inter-service communication
 Implementing fine-grained access control for each microservice
 Managing secrets and credentials across multiple services
Contd…
 Cloud-based Distributed Systems:
 Data protection in multi-tenant environments
 Ensuring compliance with data protection regulations

 Managing identity and access across cloud services

 Internet of Things (IoT) Systems:


 Securing resource-constrained devices
 Protecting against large-scale attacks using
compromised devices
 Ensuring secure updates for distributed IoT devices
Emerging Trends in Distributed Systems
Security
 Zero Trust Security Model:
 Assumes no implicit trust, even within the network perimeter
 Continuously verifies every access attempt

 Artificial Intelligence and Machine Learning in Security:


 Automated threat detection and response
 Predictive security analytics

 Quantum-resistant Cryptography:
 Developing encryption algorithms resistant to quantum
computing attacks
 Preparing for the post-quantum cryptography era
Contd…
 Blockchain for Security:
 Decentralized identity management
 Immutable audit trails
 Secure, distributed consensus mechanisms
 DevSecOps:
 Integrating security practices into the DevOps pipeline
 Automating security testing and compliance checks
 Edge Computing Security:
 Securing distributed computing resources closer to data
sources
 Balancing local processing with centralized control
Thank You

You might also like