Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
29 views41 pages

Chapter 4

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 41

Chapter – 4

Application and OS Security


.

1
Application Security
 The process of protecting software applications from a wide range of

threats, such as malware, buffer overflow attacks, SQL injection attacks,

and cross-site scripting (XSS) attacks.

 It involves a combination of measures such as secure coding practices,

input validation, encryption, and access control to prevent unauthorized

access or modification of data.

2
Application Security
 Applying application security throughout the software development lifecycle

(SDLC) is an essential process to ensure that applications are secure and

protected against potential threats.

 Introduce security standards and tools during design and application development

phases. E.g. vulnerability scanning during early development.

 Implement security procedures and systems to protect applications in production

environments. E.g. perform continuous security testing.

 Implement strong authentication for applications that contain sensitive data or

mission critical.

 Use security systems such as firewalls, web application firewalls (WAF), and
3
intrusion prevention systems (IPS).
Application Security architecture

 application security architecture are used to identify and assess


security weaknesses due to architectural flaws in an application
 a holistic approach to security, with multiple layers of protection
and a focus on identifying and mitigating potential risks and
vulnerabilities.

4
Application Security attack
is a type of cyber attack that targets software applications in order to exploit
vulnerabilities and gain unauthorized access to data or systems.

Security issues with web applications range from large-scale network


disruption to focused database tampering

The following are some application security attack: 5


Application Security attack …
1. Broken Access Control:- type of security vulnerability that occurs when an
application fails to properly enforce access control rules, allowing
unauthorized users to access sensitive data or perform unauthorized actions.

The most common issues:

a.Vertical privilege escalation: occurs when an attacker is able to gain access


to higher-level privileges than they are authorized for, such as exploiting a
vulnerability in an application's authentication mechanism.

b.Cryptographic Failures:- sensitive data exposure

 occur when data is not properly protected in transit and at rest.

It can expose passwords, health records, credit card numbers, and personal
6
data.
Application Security attack…
2. Security Misconfiguration: is a type of security vulnerability that occurs
when an application or system is configured in a way that leaves it vulnerable
to attack.

 common security misconfigurations:

 Using default passwords or admin accounts

Outdated software

Unsecured ports and services:

failing to apply updates or patches, or misconfiguring security settings.

XML External Entities (XXE) vulnerabilities: occur when an application


processes XML input from an untrusted source without properly validating or
7
sanitizing the input.
Application Security attack
3. Buffer Overflow(buffer overrun): is a type of software vulnerability that
can be exploited by attackers to execute arbitrary code or cause a denial of
service (DoS) attack.
It occurs when the volume of data exceeds the storage capacity of the
memory buffer.

This can cause the data to spill over into adjacent memory locations,
potentially overwriting other critical data causing the program to behave
unpredictably or crash.

E.g. C, C++

8
Application Security attack
 Solution for Buffer overflow
a. Address space randomization (ASR)-randomly moves around the
address space locations of data regions.
b. Data execution prevention:-flags certain areas of memory as non-
executable or executable, which stops an attack from running code in
a non-executable region.
c. Input validation

4. Fuzzing attack is a type of automated software testing that involves sending


random or malformed inputs to a target system to identify vulnerabilities or
defects.

 an attacker uses a fuzzing tool to generate a large number of random or


mutated inputs and sends them to the target system in an attempt to find
vulnerabilities. 9
Application Security attack
4. Fuzzing attack ….

 generation-based fuzzing, to generate inputs that are designed to trigger


specific types of vulnerabilities, such as buffer overflow or SQL injection.

 Protection mechanism

 implement secure coding practices, such as input validation and error


handling, to handle unexpected inputs.
 use specialized tools, such as fuzzing frameworks and security
scanners, to test the security and robustness of the applications and
systems before deployed in production environments.
 network administrators can also use intrusion detection and prevention
systems (IDPS) to detect and block fuzzing attacks in real-time. 10
Application Security attack
 Cross-site scripting attacks(XSS) : occur when an attacker is able to inject
malicious code, in the form of a script, into a web page that is then
executed by the user's browser.

 There are two main types of XSS attacks

1. Stored XSS attack, the attacker is able to inject malicious code directly into
the web application's database,

 Reflected XSS attack, the attacker is able to inject malicious code into a
web page that is immediately returned to the user's browser as part of a
response from the server.

11
Application Security attack
 Cross-site scripting attacks(XSS) :

 Protection
 software developers must validate user input and encode output. 12
Application Security attack
 SQL injection attacks : are a type of cyber attack that target web
applications that use SQL databases.

 The attacks inserting malicious SQL code into an application's input fields,
which can be executed by the underlying database.

 The goal SQL injection attack is to manipulate the database to perform


unauthorized actions, such as retrieving sensitive data or modifying
database records.

 It can occur when an application does not properly validate user input or
sanitize user input before using it in SQL queries.

13
Application Security attack
 SQL injection attacks

 Retrieve any number of items, including sensitive company data, user lists
or private customer details.
SELECT ItemName, ItemDescription
FROM Item
WHERE ItemNumber = ItemNumber

14
Application Security attack
 Hijacking is a type of network attack in which the attacker takes over
control and communication between the victim system and the network.

 Any kind of information theft including password, email information, bank


account information, etc.

 Prevention
 Encrypting all data transmitted on a web page.
 Using HTTPS certification on websites.
 Keeping your browsers updated and patched. 15
Types of Application Security
 Authentication, authorization, encryption, logging, and application security
testing are all examples of application security features.

 Authentication and Access Control: involves implementing strong


authentication mechanisms such as passwords, biometric authentication,
and multi-factor authentication to ensure that only authorized users can
access the application.

 The developers include protocols in an application to ensure that only


authorized users have access to it. e.g. SSH, LDAP etc

 Regular Security Assessments: conducting regular security assessments


and audits to identify and address security weaknesses in the application
and its environment. 16
Types of Application Security
 Authorization:- a user may be authorized to access and use the application after
being authenticated.

 Comparing the user's identification to a list of authorized users, the system may
verify that the user has permission to access the application.

 Encryption:- a security measures can safeguard sensitive data from being seen or
utilized by a cybercriminal after a user has been verified and using the application.

 Traffic containing sensitive data that flows between end-user and cloud in cloud-
based applications can be encrypted to keep the data safe.

 Logging :-it can assist in determining who gained access to the data and how they
did

 Application log files keep track of which parts of the application have been
17
accessed and by whom.
Tools for Application Security
 A complete application security approach used for detection, remediation
and resolution of a variety of application vulnerabilities and security
challenges.

 Finding the right application security technologies for organization is


crucial to the effectiveness of any security measures for security team
implements.
 Application Security Testing:- is the process of evaluating an application's
security posture to identify vulnerabilities and weaknesses that could be
exploited by attackers
 Application security Testing can be divided into numerous categories

1. Static Application Security Testing (SAST)

2. Dynamic Application Security Testing (DAST) 18


Application security Testing
1. Static Application Security Testing (SAST)

 It is white-box testing with access to source code, at rest, identifies


weaknesses that may lead to a vulnerability and generates a report

 analyzing the source code of an application for security


vulnerabilities

 This testing can detect issues of buffer overflows, SQL injection etc.,
which performed during the development phase of an application.

 E.g. syntax errors, input validation issues

 The ability to compare static analysis scan results with real-time


solutions speeds up the detection of security problems, decreasing
19
Application security Testing
2. Dynamic Application Security Testing (DAST)

 It is a more reactive approach, simulating security breaches on a live


web application to deliver precise information about exploitable
flaws

 It is useful for detecting runtime or environment-related errors


because it evaluates applications in production.

 helps identify issues such as query strings, use of scripts, requests and
responses, memory leakage, authentication, cookie and session
handling, execution of third-party components, and data injection.

 It does not require access to the application’s source code. 20


Application security Testing
3. Interactive Application Security Testing (IAST)

 It combines parts of SAST and DAST

 It scans the source code for vulnerabilities while running the


application and simulating the ways a user would commonly interact
with it

 helps make remediation easier by providing information about root


cause of vulnerabilities and analyze data flow, source code,
configuration, and third-party libraries.

 It has access to all the application's code and components, allowing to


produce more accurate results and provide more in-depth access21 than
Application security Testing
 Run-time Application Security Protection (RASP)

 Tools could be considered a combination of testing and shielding.

 It provides continuous security checks and automatic responses to


possible breaches, e.g. send alerts , terminate session or terminate
the app itself if compromised

 Tools are continuously monitoring behavior of the app, which is


useful particularly in mobile environments when apps can be
rewritten, run on a rooted phone or have privilege abuse to turn them
into doing wicked things.

22
Application Security Approaches

1.Design Review: -architecture and design of the application can

be examined for security flaws before code is created.

The construction of a threat model is a popular strategy used at this

phase.

2. White-box Security Review or Code Review

 The security engineer inspecting source code and looking for

security issues

 Vulnerabilities unique to the application can be discovered


23
through understanding the application.
Application Security Approaches
3. Black-box Security Audit:- accomplished only through the use of an

application to test for security flaws, no source code is necessary.

4. Automated Tooling:-security tools can be automated by including in

the development or testing process.

 Automated DAST/SAST tools that incorporated into code editors or

continuous integration (CI)/continuous deployment(CD )systems

5. Coordinated Vulnerability Platform:-Many websites and software

providers offer hacker-powered application security solutions through

which individuals can be recognized and compensated for reporting


24
defects.
OS Security
 the process of protecting the underlying software and hardware that runs a
computer or other digital device.

 It is responsible for managing system resources, controlling access to sensitive


data, and providing a platform for running applications.

 Common OS Security Threats

 Malware is malicious software that is designed to compromise the


security of a system. E.g. viruses, worms, Trojans, and ransomware.

 It can be used to steal sensitive data, hijack system resources, or cause


damage to the OS or other software installed on the system.

 A Denial of Service (DoS) attack is intended to clog a system with fake requests

so it becomes overloaded, and eventually stops serving legitimate requests.


25
OS Security
 Trojan Horse: it seem to be attractive and harmless cover programs but
are really harmful hidden programs that can be used as the virus carrier

 Worms: a type of malware that replicates itself and infects other


computers while remaining active on affected systems.

 Port scanning is a mechanism or means by which a hacker can detects


system vulnerabilities to make an attack on the system.

 Network intrusion:- occurs when an individual gains access to a system for


improper use

 Buffer Overflow: temporary data stores are overflowing with data

26
Operating System Security
 Authentication: is the responsibility of the Operating System to create a
protection system which ensures that a user who is running a particular program
is authentic. E.g. user name and password, Biometric signatures etc.

 One Time passwords :- a unique password is required every time user tries to
login into the system

 Operating system policy and procedures are :

 Installing and updating anti-virus software

 Ensure the systems are patched or updated regularly

 Implementing user management policies to protect user accounts and privileges.

 Installing a firewall and ensuring that properly set to monitor all incoming and
outgoing traffic.
27
Operating System Security
 Access control:- specifies who can have access to a system resource
and what type of access each entity has.

 User management:- enables users to access and control digital assets, such
as applications, devices, networks

 Information security policy:- is a set of rules, policies and procedures


designed to ensure all end users and networks within an organization
meet minimum IT security and data protection security requirements.

e.g. Password policy , data backup policy, security system managment


policy

 Computer forensic reading assignment


28
Application and Operating System Security
 Comprehensive security

29
Mobile security the protection of mobile devices, such as smartphones
and tablets, from unauthorized access, theft, malware, and other security
threats.
 Mobile devices can be attacked by potentially malicious apps,
network-level attacks, and exploitation of vulnerabilities within the
devices and mobile OS.
Protection
 Keep your software updated
 Install a firewall.
 Download apps from official app stores.
 Always read the end-user agreement 30
 Web security: the practice of protecting websites and web
applications from various types of cybersecurity threats, such as
hacking, data breaches, and malware.
 websites and web applications often handle sensitive information,
such as user passwords and financial data, and a security breach can
have serious consequences for both users and businesses.
 protection: browser policies, session mgmt, user authentication
 HTTPS
 Web application firewall

31
Network security: the practice of protecting computer networks from
various types of cybersecurity threats, such as unauthorized access, data
breaches, and malware.
 Network security is important because computer networks often handle
sensitive information, such as personal data, financial information, and
intellectual property, and a security breach can have serious
consequences for both individuals and organizations.
 protection
 Use access control
 VPN
 Firewall
32
Risk management
 It is the process of identifying, assessing, and controlling risks that
may impact an organization's operations, projects, or assets.
 It involves developing strategies and techniques to mitigate risks and
minimize their potential impact on the organization.
 It is an essential component of business planning and decision-
making, and it helps organizations to protect their assets, reduce
losses, and improve their overall resilience.
 Risk management process involves the following steps:
1. Risk identification: This identifying potential risks that may impact
the organization, such as financial risks, operational risks, or
reputational risks. 33
Risk management…
 Risk management process involves the following steps:
2. Risk assessment: assessing the likelihood and potential impact of
each identified risk, and prioritizing them based on their level of risk.
3. Risk mitigation: developing strategies and techniques to mitigate the
potential impact of identified risks, such as implementing control
measures, transferring risk to an insurance provider, or avoiding the risk
altogether.
4. Risk monitoring and review: monitoring the effectiveness of the risk
management strategies and reviewing the risk management plan on a
regular basis to ensure that it remains relevant and effective.

34
Risk management…
 Four main risk management strategies, or risk treatment options:
1. Risk Avoidance: avoiding the activity or situation that poses the risk,
either by not engaging in the activity or by changing the approach to
eliminate the risk altogether.
2. Risk Reduction: taking steps to reduce the likelihood or impact of the
risk.
 by implementing controls or safeguards, such as security measures to
minimize the chances of the risk occurring or lessen its impact.
3. Risk Transfer: transferring the risk to another party, such as an insurance
company or a third-party vendor
4. Risk Acceptance: accepting the risks and developing a plan to manage
them if they occur. the cost of managing the risk is greater than the 35
Risk management
frameworks
 are a set of processes, policies, and procedures that are used to
identify, assess, and manage risks in an organization.
 The goal of a risk management framework is to minimize the impact
of potential risks on an organization's operations, assets, and
reputation.
 It includes risk identification, risk measurement and assessment, risk
mitigation, risk reporting and monitoring, and risk governance.

36
Security System assessment and evaluation
 Security System assessment is the process of evaluating the security
of a system or application to identify vulnerabilities and
weaknesses that could be exploited by attackers.

 The assessment typically involves a combination of manual and


automated testing techniques, and may be performed by internal or
external security experts.

 Security system evaluation: is the process of determining whether a


system or application meets a set of predefined security
requirements or standards

37
Security System assessment and evaluation
 The choice of assessment type depends on the goals and needs of the
organization, as well as the specific risks and threats faced by the
system or application.

 Types of Security system assessment

 Vulnerability assessment:- is the process of identifying potential


vulnerabilities in a system or application, and assessing the
potential risks associated with those vulnerabilities.

 The goal of a vulnerability assessment is to identify potential


weaknesses that could be exploited by attackers and to provide
recommendations for mitigating those risks.
38
Security System assessment
 Penetrate Testing:- this type of assessment involves attempting to
exploit vulnerabilities in the system to gain unauthorized access or
to perform other malicious activities.

 The goal is to simulate a real-world attack and to identify areas


where the security controls are insufficient.

 Security Audit or Review:-a comprehensive assessment of an


organization's security posture, policies, procedures, and controls.

 The goal of a security audit is to identify potential security risks and


to provide recommendations for improving the overall security
posture of the organization.
39
Security System assessment
 Static code analysis: This type of assessment involves reviewing the
source code of the system or application to identify potential
security vulnerabilities, such as buffer overflows, SQL injection, or
cross-site scripting (XSS) attacks.

 The goal is to identify coding errors and to recommend remediation


actions..

 Abuse case development reading assignment

40
End of course

41

You might also like