Security Threats & Vulnerabilities Module 3
Security Threats & Vulnerabilities Module 3
Key Techniques:
• Symmetric Key Encryption: Both the sender and the receiver use the same key to
encrypt and decrypt data. The most common algorithms are:
o AES (Advanced Encryption Standard): A widely used symmetric encryption
algorithm known for its strength and efficiency.
o DES (Data Encryption Standard): An older symmetric algorithm, considered
insecure today due to its relatively small key size.
• Asymmetric Key Encryption: This involves two keys: a public key for encryption and a
private key for decryption. The most common asymmetric encryption algorithm is:
o RSA: A widely used public-key encryption algorithm that secures sensitive data
and digital communications.
• Hash Functions: Used for ensuring data integrity by producing a fixed-size hash value
from input data. Common hash algorithms include:
o SHA-256 (Secure Hash Algorithm): Generates a unique 256-bit hash value,
used in blockchain and digital signatures.
o MD5 (Message Digest Algorithm 5): An older hash function, though it is
considered weak and prone to collisions.
• Digital Signatures: These are used to verify the authenticity and integrity of data. A
digital signature is created using the sender’s private key and verified using their public
key. It ensures that the message hasn’t been tampered with and that it comes from
the expected sender.
• Elliptic Curve Cryptography (ECC): A type of asymmetric encryption based on the
algebraic structure of elliptic curves. It is more efficient than RSA with shorter key
lengths.
Use Cases:
Countermeasures:
• Regularly update cryptographic protocols to ensure they are resistant to known
attacks.
• Use strong encryption standards like AES-256 for sensitive data.
• Employ perfect forward secrecy (PFS) in cryptographic protocols to ensure session
keys are not compromised even if long-term keys are leaked.
Key Features:
• Key Generation and Storage: HSMs generate and store cryptographic keys in a
tamper-resistant environment, preventing unauthorized access or extraction of keys.
• Secure Cryptographic Operations: HSMs perform cryptographic functions like
encryption and decryption, ensuring that sensitive data is never exposed outside the
hardware module.
• Tamper-Resistance: HSMs are designed to resist physical tampering and unauthorized
access, making them a trusted solution for key management in sensitive
environments.
Applications:
• Digital Certificates: HSMs are used to generate and store the private keys for SSL/TLS
certificates.
• Banking and Financial Systems: HSMs are widely used in banking to securely manage
payment systems and authentication processes.
Best Practices:
• Use FIPS 140-2 certified HSMs for compliance with government standards.
• Regularly monitor and audit the use of HSMs to ensure proper key management and
security.
• Implement role-based access control (RBAC) to restrict who can perform
cryptographic operations.
3. Client-Side Security
Definition: Client-side security refers to the protection mechanisms that are implemented on
the user's device or browser to prevent unauthorized access, data leakage, and exploitation
of vulnerabilities.
Key Measures:
Countermeasures:
• Ensure that client-side applications are updated and patched to fix vulnerabilities.
• Educate users on secure browsing practices, such as avoiding suspicious links and not
downloading unknown files.
4. Server-Side Security
Definition: Server-side security refers to the protection measures implemented on the server
where websites or applications are hosted. It aims to secure the server environment,
databases, and data processing mechanisms.
Key Measures:
• Firewalls: Configuring firewalls to filter out malicious traffic and prevent unauthorized
access to the server.
• Web Application Firewalls (WAFs): Specialized firewalls that filter, monitor, and block
HTTP traffic to and from a web application. They protect against SQL injection, cross-
site scripting (XSS), and other web-based attacks.
• Encryption: Encrypt sensitive data stored on servers using strong encryption
algorithms (AES-256, RSA). Additionally, use SSL/TLS protocols to secure data in
transit.
• Patch Management: Regularly applying security patches and updates to the server
operating system and software to prevent exploitation of known vulnerabilities.
• Server Hardening: Configuring the server to minimize attack surfaces by disabling
unnecessary services, using strong authentication mechanisms, and limiting user
privileges.
Countermeasures:
• Implement strong access control policies and only allow necessary ports and
protocols.
5. Protecting Websites
Definition: Website security involves measures to protect websites and web applications
from attacks that could compromise data, disrupt services, or damage the website’s
reputation.
Key Measures:
• SSL/TLS Encryption: Ensuring that all data exchanged between the user’s browser and
the server is encrypted using SSL/TLS certificates to prevent eavesdropping.
• Cross-Site Scripting (XSS) Prevention: Validating and sanitizing user inputs to prevent
malicious scripts from being executed in a user’s browser.
• Cross-Site Request Forgery (CSRF) Prevention: Implementing anti-CSRF tokens to
ensure that requests made to the server are legitimate and initiated by the
authenticated user.
• SQL Injection Protection: Using parameterized queries and prepared statements to
prevent SQL injection attacks, which could allow attackers to manipulate databases.
• Regular Security Audits: Regularly conducting vulnerability assessments and
penetration testing to identify and fix potential security flaws.
Countermeasures:
• Use secure coding practices, such as input validation and output encoding.
• Regularly update content management systems (CMS) and plugins to fix known
vulnerabilities.
6. Database Security
Definition: Database security involves protecting databases from unauthorized access,
corruption, or theft of data. It includes securing both the database itself and the data it stores.
Key Measures:
• Access Control: Implementing role-based access control (RBAC) to ensure that users
only have access to the data necessary for their role.
• Data Encryption: Encrypting sensitive data stored in databases to ensure it remains
protected, even if the database is compromised.
• Backup and Recovery: Ensuring regular backups of databases and implementing a
disaster recovery plan in case of a security breach or data loss.
• Database Firewalls: Using database firewalls to monitor and block suspicious
database traffic and prevent unauthorized access attempts.
Countermeasures:
• Encrypt sensitive data both at rest and in transit.
• Perform regular audits to monitor who is accessing the database and what actions
they are taking.