ATVM & Infra Training Content Day - 1
ATVM & Infra Training Content Day - 1
ATVM & Infra Training Content Day - 1
Day 1
LTI 20-09-2023
Introduction to Security
. 2
WHY VM
vulnerability management
3
WHY VM
vulnerability management
4
Types of Hack
Hacking encompasses a wide range of activities, and hackers use various techniques to exploit vulnerabilities for different purposes,
both malicious and ethical. Here are some common types of hacks, along with suitable examples or case studies:
1. Phishing Attacks:
• Definition: Phishing is a social engineering attack where hackers impersonate a trustworthy entity to trick individuals into
revealing sensitive information, such as login credentials or financial details.
• Example: In the 2016 phishing attack on the Democratic National Committee (DNC), hackers sent fake emails to DNC staff members,
prompting them to enter their email credentials. This led to the compromise of thousands of emails and significant political
repercussions.
2. Malware Attacks:
• Definition: Malware (malicious software) attacks involve the installation of malicious software on a victim's device to gain
unauthorized access, steal data, or cause harm.
• Example: The WannaCry ransomware attack in 2017 infected hundreds of thousands of computers worldwide by exploiting a
vulnerability in Windows. It encrypted files and demanded a ransom for decryption keys, causing massive disruption.
3. Distributed Denial of Service (DDoS) Attacks:
• Definition: DDoS attacks involve overwhelming a target server or network with a flood of traffic, rendering it unavailable to
legitimate users.
• Example: In 2016, the Mirai botnet launched massive DDoS attacks by infecting Internet of Things (IoT) devices like cameras and
routers. These attacks disrupted major online services, including Twitter, Netflix, and GitHub.
5
Types of Hack
5. Zero-Day Exploits:
• Definition: Zero-day exploits target vulnerabilities in software or hardware that are unknown to the vendor or unpatched.
• Example: Stuxnet, discovered in 2010, was a highly sophisticated worm that targeted Iran's nuclear facilities. It leveraged
multiple zero-day exploits to sabotage industrial control systems.
6. Man-in-the-Middle (MitM) Attacks:
• Definition: MitM attacks intercept and manipulate communication between two parties without their knowledge, allowing
attackers to eavesdrop or modify data.
• Example: The Superfish adware pre-installed on Lenovo laptops in 2014 performed MitM attacks by injecting ads into
encrypted web pages, compromising user privacy and security.
7. Social Engineering Attacks:
• Definition: Social engineering exploits human psychology to deceive individuals into divulging confidential information or
performing actions against their best interests.
• Example: Kevin Mitnick, a famous hacker, used social engineering techniques to gain unauthorized access to computer
systems. In one case, he posed as a security expert to elicit sensitive information from employees.
6
Types of Hack
7
Vulnerability
A vulnerability is a weakness or flaw in a system, software, hardware, or process that can be exploited by an attacker to
compromise the security or functionality of the target. Vulnerabilities can exist in various forms and affect different aspects
of information technology and systems. Here are some key aspects of vulnerabilities:
1. Types of Vulnerabilities:
• Software Vulnerabilities: These vulnerabilities exist in software applications, operating systems, and firmware. Examples
include code flaws, programming errors, and design weaknesses that could allow attackers to exploit the software.
• Hardware Vulnerabilities: Hardware vulnerabilities pertain to weaknesses in physical components like microprocessors,
memory, or networking hardware. For example, the Spectre and Meltdown vulnerabilities in CPUs allowed attackers to
extract sensitive data.
• Network Vulnerabilities: Network vulnerabilities can result from misconfigurations, weak authentication protocols, or flaws
in network devices. Attackers can exploit these weaknesses to gain unauthorized access or disrupt network operations.
• Human Vulnerabilities: Often overlooked, human vulnerabilities involve weaknesses in human behavior and decision-
making. Social engineering attacks, like phishing, rely on exploiting human vulnerabilities to manipulate individuals into
disclosing sensitive information.
8
Vulnerability
2. Common Vulnerabilities:
• Buffer Overflow: This occurs when a program writes more data to a buffer (temporary storage) than it can hold, potentially
allowing an attacker to overwrite adjacent memory.
• SQL Injection: SQL injection vulnerabilities arise when malicious SQL code is inserted into input fields, allowing attackers to
manipulate a database and retrieve or modify data.
• Cross-Site Scripting (XSS): XSS vulnerabilities enable attackers to inject malicious scripts into web applications viewed by other
users, potentially leading to session hijacking or data theft.
• Insecure Authentication: Weak or improperly implemented authentication mechanisms can allow attackers to guess passwords or
bypass authentication entirely.
• Outdated Software: Running outdated or unpatched software can leave systems vulnerable to known exploits that have already
been addressed by software updates.
9
Vulnerability
It's crucial for individuals, organizations, and security professionals to actively manage and mitigate vulnerabilities to protect
against potential threats and security breaches. Regular security assessments and proactive measures are essential for
maintaining robust cybersecurity.
10
Introduction to Security Best Practices
OWASP, SANS, NIST
11
Introduction to Security Best Practices -
OWASP, SANS, NIST
OWASP is a nonprofit organization that works to improve the security of software. It provides resources and tools for
developers and security professionals to build and maintain secure systems.
1. Implement strong authentication and password policies:
Use strong passwords and implement multi-factor authentication to protect against brute-force attacks. Strong passwords
should be at least 12–15 characters long and include a mix of upper and lowercase letters, numbers, and special characters.
Multi-factor authentication (MFA) adds an additional layer of security by requiring users to provide two or more forms of
identification, such as a password and a fingerprint or a password and a one-time code sent to a mobile device.
2. Implement proper access controls:
Ensure that users have the least privilege necessary to perform their duties. This will minimize the damage that can be done
if an attacker gains access to a user’s account. This can be done by implementing role-based access controls (RBAC) that
assign different levels of access to different groups of users. This way, even if an attacker gains access to a user’s account,
they will only have access to the resources that the user is authorized to access.
3. Regularly patch and update software:
Keep all software up to date with the latest security patches to protect against known vulnerabilities. Software vendors often
release patches to fix known security vulnerabilities, so it’s important to keep your software up to date to protect against
these issues.
12
Introduction to Security Best Practices -
OWASP, SANS, NIST
13
Introduction to Security Best Practices -
OWASP, SANS, NIST
14
Security in the SDLC
15
Introduction to Security Best Practices -
OWASP, SANS, NIST
16
Introduction to Security Testing
17
Introduction to Security Testing
Security testing is a crucial aspect of software testing and quality assurance, focused on identifying vulnerabilities and
weaknesses in a system's security controls. The primary goal is to assess whether an application or system can withstand
malicious attacks and protect sensitive data. Security testing is essential because cybersecurity threats are constantly
evolving, and organizations need to proactively address potential risks.
Types of Security Testing:
1. Vulnerability Assessment: Identifies known vulnerabilities in the system, such as outdated software versions,
misconfigurations, and weak security settings.
2. Penetration Testing: Involves simulated attacks by ethical hackers to uncover weaknesses that may not be apparent
through other testing methods.
3. Security Scanning: Uses automated tools to scan for vulnerabilities, including SQL injection, cross-site scripting (XSS), and
more.
4. Security Code Review: Manual review of the source code to identify security flaws and coding errors.
5. Security Architecture Review: Evaluates the overall design and architecture of the system for security weaknesses.
6. Security Compliance Testing: Ensures that the system complies with industry-specific regulations and standards (e.g.,
HIPAA, GDPR).
18
Importance of Security Testing
1. Risk Mitigation: Security testing helps organizations identify and address vulnerabilities before they can be exploited by
malicious actors, reducing the risk of security breaches.
2. Cost Savings: Early detection and remediation of security flaws are more cost-effective than dealing with the
consequences of a breach.
3. Reputation Protection: Security breaches can damage an organization's reputation. Effective security testing helps
maintain trust with customers and stakeholders.
4. Legal and Regulatory Compliance: Many industries have strict regulations regarding data protection. Security testing helps
ensure compliance.
19
Case Study
20
Case Study: Equifax Data Breach (2017)
The Equifax data breach is a notable case study in security testing. In 2017, Equifax, one of the largest credit reporting
agencies in the United States, suffered a massive data breach that exposed the personal and financial information of
approximately 147 million individuals. The breach occurred due to a vulnerability in Apache Struts, a popular open-source
web application framework. Equifax failed to apply a critical security patch, leaving the system vulnerable.
This case highlights the importance of regular security testing, patch management, and vulnerability assessment to prevent
severe data breaches.
21
Security Testing Statistics (Last 5 Years)
It's important to note that specific security testing statistics can vary greatly depending on factors such as industry, region,
and the types of systems being tested. However, here are some general trends and statistics related to security testing over
the last five years:
1. Rise in Data Breaches: The number of data breaches and cyberattacks has increased steadily over the past five years, with
attackers targeting various industries, including healthcare, finance, and e-commerce.
2. Cost of Breaches: The financial cost of data breaches has also risen, with significant expenses related to incident response,
legal fees, and reputation damage.
3. Increased Adoption of Security Testing: Organizations are increasingly recognizing the importance of security testing,
leading to higher adoption rates of security testing practices and tools.
4. Focus on Application Security: Application security has become a primary concern, with a growing emphasis on securing
web and mobile applications through testing and code review.
22
Security Testing Statistics (Last 5 Years)
5. Regulatory Changes: The introduction of new data protection regulations, such as the General Data Protection Regulation
(GDPR), has driven organizations to invest in security testing to ensure compliance.
6. Automation and AI: The use of automation and artificial intelligence (AI) in security testing tools has grown, enabling faster
and more comprehensive assessments.
7. Skills Gap: A shortage of skilled cybersecurity professionals has created challenges for organizations looking to implement
effective security testing programs.
In conclusion, security testing is a critical component of a robust cybersecurity strategy, and its importance has grown
significantly in response to the increasing frequency and severity of cyber threats. Staying informed about industry trends
and regularly conducting security testing are essential for organizations looking to protect their assets and data.
23
Application Security Testing
24
What is Application Security Testing
Application security testing (AST) is the process of making applications more resistant to security threats, by identifying
security weaknesses and vulnerabilities in source code.
AST started as a manual process. Today, due to the growing modularity of enterprise software, the huge number of open-
source components, and the large number of known vulnerabilities and threat vectors, AST must be automated. Most
organizations use a combination of several application security tools.
25
Application Security Testing
Static testing tools can be applied to non-compiled code to find issues like syntax errors, math errors, input validation issues,
invalid or insecure references. They can also run on compiled code using binary and byte-code analyzers.
DAST tools can be used to conduct large-scale scans simulating a large number of unexpected or malicious test cases and
reporting on the application’s response.
26
Application Security Testing
IAST tools can provide valuable information about the root cause of vulnerabilities and the specific lines of code that are
affected, making remediation much easier. They can analyze source code, data flow, configuration and third-party libraries,
and are suitable for API testing.
27
Application Security Testing
Like the previous generation of tools, RASP has visibility into application source code and can analyze weaknesses and
vulnerabilities. It goes one step further by identifying that security weaknesses have been exploited, and providing active protection
by terminating the session or issuing an alert.
RASP tools integrate with applications and analyze traffic at runtime, and can not only detect and warn about vulnerabilities, but
actually prevent attacks. Having this type of in-depth inspection and protection at runtime makes SAST, DAST and IAST much less
important, making it possible to detect and prevent security issues without costly development work.
28
Application Security Testing Best Practices
• Help developers understand security concerns and enforce security best practices at the development stage.
• Help testers identify security issues early before software ships to production.
• Advanced tools like RASP can identify and block vulnerabilities in source code in production.
• Test internal interfaces, not just APIs and Uis
It is natural to focus application security testing on external threats, such as user inputs submitted via web forms or public
API requests. However, it is even more common to see attackers exploit weak authentication or vulnerabilities on internal
systems, once already inside the security perimeter. AST should be leveraged to test that inputs, connections and
integrations between internal systems are secure.
29
Application Security Testing Best Practices
Test often
New vulnerabilities are discovered every day, and enterprise applications use thousands of components, any of which could
go end of life (EOL) or require a security update. It is essential to test critical systems as often as possible, prioritize issues
focusing on business-critical systems and high-impact threats, and allocate resources to remediate them fast.
30
Application Security Testing Best Practices
In addition, Imperva provides multi-layered protection to make sure websites and applications are available, easily accessible and
safe. These application security solutions include:
• DDoS Protection—maintain uptime in all situations. Prevent any type of DDoS attack, of any size, from preventing access to your
website and network infrastructure.
• CDN—enhance website performance and reduce bandwidth costs with a CDN designed for developers. Cache static resources at
the edge while accelerating APIs and dynamic websites.
• Cloud WAF—permit legitimate traffic and prevent bad traffic. Safeguard your applications at the edge with an enterprise-class
cloud WAF.
• Gateway WAF—keep applications and APIs inside your network safe with Imperva Gateway WAF.
• Attack analytics—mitigate and respond to real security threats efficiently and accurately with actionable intelligence across all
your layers of defense.
• Account takeover protection—uses an intent-based detection process to identify and defends against attempts to take over users’
accounts for malicious purposes.
• API security—protects APIs by ensuring only desired traffic can access your API endpoint, as well as detecting and blocking
exploits of vulnerabilities.
• Advanced bot protection—analyzes your bot traffic to pinpoint anomalies, identifies bad bot behavior and validates it via challenge
mechanisms that do not impact user traffic.
31
Application Security Testing- Tools
32
Application Security Testing Tools Pyramid
33
Application Security Testing Tools Pyramid
Application security testing tools are essential for identifying and mitigating security vulnerabilities in software applications.
These tools help developers and security professionals find and fix security issues early in the development lifecycle,
reducing the risk of data breaches and other security incidents. There are several types of application security testing tools,
each designed to address specific aspects of security testing. Here are some common categories of application security
testing tools:
34
Application Security Testing Tools Pyramid
35
Application Security Testing Tools Pyramid
36
Application Security Testing Tools Pyramid
37
Introduction to Application Penetration Testing
Application penetration testing, commonly known as app pen testing or simply app testing, is a crucial cybersecurity practice
used to evaluate the security of software applications. Its primary purpose is to identify vulnerabilities, weaknesses, and
potential exploits in an application's code, configuration, and design. By simulating real-world attacks, penetration testers
(often referred to as ethical hackers) help organizations discover and remediate security issues before malicious actors can
exploit them. This proactive approach is essential for maintaining the confidentiality, integrity, and availability of sensitive
data and systems.
38
Tools and Manual Techniques for
Application Penetration Testing
39
Tools and Manual Techniques for
Application Penetration Testing
2. Authentication Testing:
• Tools: Hydra, Burp Suite Intruder
• Manual Techniques: Brute-force attacks, password spraying, and testing for weak or default credentials.
40
Tools and Manual Techniques for
Application Penetration Testing
41
Tools and Manual Techniques for
Application Penetration Testing
9. API Testing:
• Tools: Postman, OWASP API Security Top 10
• Manual Techniques: Exploring API endpoints, testing for authentication issues, and inspecting data leakage through APIs.
42
Tools and Manual Techniques for
Application Penetration Testing
10. File Upload Testing:
• Tools: Burp Suite, OWASP ZAP
• Manual Techniques: Uploading malicious files to test for security misconfigurations, path traversal, and executable file
vulnerabilities.
43
Tools and Manual Techniques for
Application Penetration Testing
Successful application penetration testing requires a combination of automated tools and manual techniques, as well as a
deep understanding of application architecture and common security vulnerabilities. It is essential for organizations to
conduct regular and comprehensive app pen tests to ensure the security of their software applications and protect sensitive
data from potential threats.
44
Thank You
45