Unit 3
Unit 3
• Definition:
o Application hardening is the process of strengthening an application's
security by reducing its vulnerabilities. This involves minimizing the
attack surface, making it more difficult for attackers to exploit
weaknesses.
• Key Techniques:
o Code Obfuscation: Making code difficult to understand to prevent
reverse engineering.
o Input Validation: Ensuring that user inputs are properly checked to
prevent injection attacks.
o Principle of Least Privilege: Granting applications only the
necessary permissions.
o Removing Unnecessary Services: Disabling features that are not
required.
o Regular Vulnerability Assessments: Proactively identifying and
addressing weaknesses.
• Importance:
o Reduces the risk of successful cyberattacks.
o Protects sensitive data from unauthorized access.
o Enhances the overall security posture of an organization.
Application Patches:
• Definition:
o Application patches are software updates that address known
vulnerabilities and bugs.
• Importance:
o Patching is critical for closing security gaps that attackers can exploit.
o Regular patching helps to maintain the integrity and stability of
applications.
o Failure to patch can leave systems vulnerable to known exploits.
• Best Practices:
o Implement a robust patch management system.
o Prioritize critical patches.
o Test patches in a controlled environment before deploying them to
production systems.
Web Servers:
• Definition:
o Web servers are software and hardware that deliver web pages and
other content to users.
• Security Considerations:
o Web servers are often targeted by attackers due to their public-facing
nature.
o Hardening web servers is essential to protect against web-based
attacks.
o This includes:
§ Keeping the web server software up to date.
§ Configuring firewalls and intrusion detection systems.
§ Implementing strong access controls.
§ secure certificate management.
• Importance:
o Protecting the data that is served up by the web server.
o Maintaining the availability of web based services.
• Manage physical access to the server. Only authorized admins should be able
to physically access the server.
• Maintain a log indicating which individuals have physically accessed the server
location. Electronic record keeping methods, such as key fob logs or
surveillance cameras are ideal for this type of audit control.
Active Directory:
• Definition:
o Active Directory (AD) is a directory service developed by Microsoft that
is used for managing users, computers, and other network resources.
• Security Considerations:
o AD is a critical component of many organizations' IT infrastructure.
o Compromising AD can give attackers control over the entire network.
o Security best practices include:
§ Implementing strong password policies.
§ Limiting administrative privileges.
§ Regularly auditing AD logs.
§ Keeping the Active directory servers patched and updated.
• Importance:
o Securing user accounts and access to resources.
o Preventing unauthorized access to sensitive data.
o Maintaining a secure and reliable network environment.
Web security threats are a critical concern for individuals and organizations alike in
today's digital landscape. As technology evolves, so do the tactics employed by
cybercriminals, making it essential to understand the various types of threats that
can compromise web applications and user data.
• Stored XSS: The malicious script is stored on the server and served to users.
• Reflected XSS: The script is reflected off a web server, typically via a URL.
• DOM-based XSS: The vulnerability exists in the client-side code rather than
the server-side.
Mitigation Strategies
Mitigation Strategies
Cross-Site Request Forgery (CSRF) is an attack that tricks a user into executing
unwanted actions on a web application in which they are authenticated. This can
lead to unauthorized fund transfers, changes in account settings, and other
malicious activities.
Mitigation Strategies
DDoS attacks aim to overwhelm a web service with excessive traffic, rendering it
unavailable to legitimate users. Attackers often use botnets to execute these attacks,
making them difficult to mitigate.
Mitigation Strategies
5. Man-in-the-Middle (MitM)
Mitigation Strategies
6. Malware
Mitigation Strategies
7. Credential Stuffing
Credential stuffing is an attack where attackers use stolen username and password
combinations from one breach to gain unauthorized access to accounts on other
platforms. This is particularly effective due to users often reusing passwords.
Mitigation Strategies
In the digital age, securing web traffic is paramount to protect sensitive information
from unauthorized access and cyber threats. Three critical security protocols: Secure
Socket Layer (SSL), Transport Layer Security (TLS), and Secure Electronic
Transaction (SET). Each of these protocols plays a vital role in ensuring the
confidentiality, integrity, and authenticity of data transmitted over the internet.
Functionality
• Encryption: SSL encrypts data transmitted between the server and client,
ensuring that sensitive information such as credit card numbers and personal
details remain confidential.
• Authentication: SSL uses digital certificates to authenticate the identity of
the server, helping users verify that they are communicating with the
intended entity.
• Data Integrity: SSL ensures that the data sent and received has not been
altered during transmission through checksums and message authentication
codes.
TLS is the successor to SSL and provides a more secure and efficient protocol for
encrypting web traffic. It was first defined in 1999 as an upgrade to SSL 3.0.
Functionality
Versions
TLS has undergone several iterations, with TLS 1.2 and TLS 1.3 being the most
widely used versions today. TLS 1.3 simplifies the handshake process and removes
outdated cryptographic algorithms, enhancing security and performance.
Secure Electronic Transaction (SET)
SET is a protocol designed specifically for securing credit card transactions over the
internet. Developed by Visa and MasterCard in the late 1990s, SET aims to provide a
secure method for online payments.
Functionality
• Dual Authentication: SET requires both the buyer and the merchant to
authenticate their identities using digital certificates, ensuring that both
parties are legitimate.
• Payment Information Security: SET encrypts payment information,
including credit card details, ensuring that sensitive data is not exposed
during transmission.
• Transaction Integrity: The protocol ensures that transaction details cannot
be altered once they are sent, providing a secure and reliable payment
process.
SET Requirements
Limitations
Despite its robust security features, SET has not gained widespread adoption due to
its complexity and the need for extensive infrastructure changes. As a result, other
payment security protocols, such as 3D Secure, have become more popular.
In conclusion, SSL, TLS, and SET are essential protocols for securing web traffic and
online transactions.
Need for web security, SSL/TLS transport layer security protocols, SET secure credit
card payment protocols are considered to provide a better security in web. SSL
provides secure channel over any TCP based protocol and it has an optional for
server authentication with public key cryptography.
While SSL has been phased out in favor of TLS due to security vulnerabilities, TLS
continues to evolve and provide robust encryption and authentication mechanisms.
SET, although secure, has not achieved widespread use due to its complexity.
Understanding these protocols is crucial for anyone involved in web security and
online commerce, as they play a significant role in protecting sensitive information in
today's digital landscape.
Buffer Overflows
Buffer overflows occur when data exceeds the allocated buffer size, leading to the
potential overwriting of adjacent memory. To mitigate this risk:
• Use Safe Functions: Prefer functions that limit the amount of data written
to buffers (e.g., strncpy instead of strcpy).
• Bounds Checking: Always validate input sizes before processing.
• Stack Canaries: Implement stack canaries to detect buffer overflows before
execution.
Code Injection
The principle of least privilege dictates that users and processes should operate with
the minimum level of access necessary to perform their functions. To implement
this:
Good Practices
• Security Policies: Establish and enforce security policies that govern coding
practices.
• Training: Provide ongoing security training for developers to keep them
informed about the latest threats and mitigation techniques.
• Compliance: Ensure adherence to relevant security standards and
regulations (e.g., OWASP, GDPR).
Testing
• Static Analysis: Use static code analysis tools to detect vulnerabilities in the
codebase.
• Dynamic Analysis: Perform dynamic testing to identify runtime
vulnerabilities.
• Penetration Testing: Conduct penetration tests to simulate attacks and
assess the application's security posture.