SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Application
Security Guide
for Beginners.
INTRODUCTION
This beginner’s guide to application
security focuses on the main concepts
and keywords used in the Application
Security domain.
This guide is divided into the following
categories:
Code
2
ApplicationSecuritySolutions
CodeDevelopmentMethodologies
Commonthreatsandtheir impacts
WHAT IS SDLC?
Most organizations develop applications
according to a clear process by which each
application is designed, developed, tested,
and deployed. This sequence is called the
software development lifecycle, orSDLC.
SDLCshapesthe way applications are built
and defines the processes and milestones
an application needs to pass before going
to the next stageof development.
WHATISASECURESDLC?
Secure SDLC is a process where security
touch points are added to each stage of
the SDLC.SecureSDLCapplies security best
practices to ensure that applications are
secure upon release while fitting into any
developer’scontinuousintegrationworkflow.
Secure SDLCProcess
1 32
Risk
Assessment
ThreatModeling
&DesignReview
Static
Analysis
SecurityTesting
&CodeReview
SecurityAssessment&
SecureConfiguration
4 5
SDLCProcess
1 32 4 5
Requirements
Design
Development
Testing
Deployment
3 5
STATIC APPLICATION SECURITY
TESTING WITH SECURE SDLC
Static Applications Security Testing (SAST)
is one of the driving forces behind the
secure SDLC. SAST empowers developers
to deliver secure applications by seamlessly
integrating with their development
processes andenvironments.
In a secure SDLC, SAST solutions detect
vulnerabilities which may expose the
application to security risksandbreaches.
6 7
SASTIntegration Points
<CODE DEVELOPMENT
METHODOLOGIES/>
Processfor planning, creating, testing and
deploying anapplication.
Software Development
Life Cycle (SDLC)
Alternative to traditional project management
wherethe emphasisisplaced onempowering
people to collaborate and make team
decisions in addition to continuous planning,
testing andintegration.
AGILE Model
10 11
Sequential design process, used in software
development processes, in which progress is
seen as flowing steadily downwards (like a
waterfall) through the phasesof requirement,
design, development andtesting.
Waterfall Model
Development method that uses minimal
planning in favor of rapid prototyping. A
prototype is equivalent to a component of
theproduct.
Rapid Application
Development (RAD)
12 13
<CODE/>
Collectionof sourcecodethat isusedto build
a particular software system, application or
softwarecomponent.
Codebase (or code base)
Frameworksarefairly largepre-madepieces
of code. Thedevelopers write their code on
top of the framework.
Notableexamples:
Struts
Telerik
GWT
Frameworks
16 17
Atool designed to automate the process of
program compilation. Build systems come
in various forms and are used for a variety
of software buildtasks.
Notableexamples:
Jenkins
AnthillPro
Build Systems
(or Build Server, Build Automation)
File archive or web hosting facility where
large amounts of software source code are
kept either publicly or privately.
Archived files may also beversioned.
Notable examples:
Source Code Repository
18 19
TFS
GIT
Perforce
SVN
Software application that keeps track of
reported bugs, issuesor tasks ina project.
Notableexamples:
TFS
Jira
HP-QC
Bug Tracking Systems
(Issue Tracking Systems)
Modern interpretation of service-oriented
architectures used to build distributed
software systems.Processesthat communicate
with eachother over the network in order to
fulfill atask.
Example: Microservices can be found in
Facebookor LinkedIn; someparts of the GUI
havedowntimefor updatesandsomedon’t.
Micro Services
20 21
The artifact created after compiling and
building source code for C++ and other
Microsoft codinglanguages.
DLL (Dynamic Link Library)
The artifact created after compiling and
building source code for Java coding
language.
JAR (Java Archive)
22 23
Development is built around predefined
code test cases.This means that only after
the test cases have been created, the
developers can start writing the code.
Test Driven Development
(TDD)
24
<APPLICATION
SECURITY
SOLUTIONS/>
Security testing which analyzes an
applications source code or binary code
to determineif securityvulnerabilitiesexist.
SAST solutions analyze the application
‘from the inside-out’, in many cases SAST
solutions do need compiledcode.
Static Application
Security Testing (SAST)
Security experts trying to find and exploit
vulnerabilities that an attacker could
use. The testing is done with or without
dedicated hackingtools.
Penetration Testing
(AKA Pen Testing)
28 29
Detect conditions of a security vulnerability
in an application in its running state.
Dynamic Application Security testing
generates automated attacks which may
be used by realattackers.
Dynamic Application
Security Testing (DAST)
Security technology that is built or linked
into an application or application runtime
environment and is capable of detecting
and preventing real-timeattacks.
Runtime Application Self-
Protection (RASP)
30 31
List of software weakness. List is created
by community cooperation.
Software weaknesses are errors that can
lead to software vulnerabilities.
Common Weakness
Enumeration (CWE)
A publicly available and free to use list
or dictionary of standardized identifiers
for common computer vulnerabilities
and exposures.
Common Vulnerabilities
and Exposures (CVE)
32 33
Community which creates freely-available
methodologies, tools, standards and
technologies in the field of application
security.
Open Web Application
Security Project (OWASP)
Combines elements of SAST and DAST
simultaneously. It is typically implemented
as an agent within the test runtime
application or environment that observes
attacks and identifiesvulnerabilities.
IAST determines whether a vulnerability
is exploitable with increased accuracy,
and can identify where specifically the
vulnerability is located in the code.
Interactive Application
Security Testing (IAST)
34 35
When a security scanner indicates that
a vulnerability exists (for example, SQL
Injection), while in reality it doesn’t exist.
False Positive
Whena vulnerability exists and the security
scanner doesn’t detect it. Therefore the
userisnot notified about the vulnerability.
False Negative
36 37
Protects web applications by monitoring
and controlling its input and output and the
accessto and from the application.
Running as an appliance, server plug-in
or cloud-based service, a WAF inspects
monitors, filters or blocks malicious traffic
to and from a Webapplication.
Web Application Firewall
(WAF)
BinaryAnalysisisaformof StaticApplication
Security testing based on analysis of a
compiled code-base rather than the raw
sourcecode. Abinary is a machine readable
file which can be executed and run.
Binary Analysis
38 39
Agreement offered by many websites and
software development companies by which
individuals can receive recognition and
compensation for reporting bugs, exploits
andvulnerabilities.
Bug Bounty Program
Security practice where after the code is
written it issentto securityexpert to undergo
inspection after which the developer needs
to alter the code accordingly.
Security Gate
40 41
<COMMON THREATS
AND
THEIR IMPACTS />
OWASP TOP 6
THREAT:
Code injection technique used to attack
data-driven applications, in which
malicious SQLfragment are inserted into
an entry field for execution.
SQL Injection
IMPACT:
May reflect sensitive information,
plant information or damage data
May be used to reveal customer’s
credit card numbers or any other
personal data stored on the DB
Attacker could change system
administrator credentials forthe
databaseserver
Can affect public image of the
company resulting in profit loss
44 45
THREAT:
Vulnerability typically found in web
applications enabling attackers to inject
client-side scripts into web pages viewed
by other users.
Cross Site Scripting
(XSS)
IMPACT:
May gain access touser’s identity
and act on their behalf
Ability to spread web worms or Trojans
Possible business impact ofpublic
exposure aboutvulnerability
Attacker may gain access to all the
end-user information kept on the
Client Server (cookies, session IDand
Client identity)
46 47
THREAT:
Attacker uses multiple transparent layers
to trick a user into clicking on a button
or link that is not the originally intended
target area. Therefore, the attacker is
rerouting (hijacking) the user to another
page, likely owned by another application.
Keystrokes can also be hijacked using the
samemethod.
Clickjacking
(UI redress attack)
IMPACT:
Can be used to utilize the computer's
microphone andcamera
May activate print screen to capture
sensitiveinformation
48 49
THREAT:
Attack that forces an end user to execute
unwanted actions on a web application
in which they're currently authenticated.
Inherits the identity and privileges of the
victim to perform an undesired function
on the victim'sbehalf.
Cross Site Request
Forgery (CSRF)
IMPACT:
If the victim is an administrative
account, can be usedto force the user
to perform state changing requests
like transferring funds, changing their
email address, and soforth.
Can compromise the entireweb
application
50 51
THREAT:
Exploit which allows attackers to access
restricted directories and execute
commands outside of the web server's
intendeddirectory.
Path Traversal
(Directory Traversal)
IMPACT:
Can be used to access to restricted
areas and files causing a critical
information leak
52 53
THREAT:
Vulnerability that permits an attacker
to hijack a valid user session. The attack
explores a limitation in the way the
web application manages the session
ID and specifically the vulnerable web
application.
Session Fixation
(dot-dot-slash)
IMPACT:
Canbe used to hijack the user-
validated sessionby utilizing the
knowledge of thesessionID
54 55
www.checkmarx.com
Thanks for reading!
Learn more at:

Más contenido relacionado

La actualidad más candente

Web Application Security Testing
Web Application Security TestingWeb Application Security Testing
Web Application Security Testing
Marco Morana
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
Abdul Wahid
 
Application Threat Modeling
Application Threat ModelingApplication Threat Modeling
Application Threat Modeling
Marco Morana
 
Web application security & Testing
Web application security  & TestingWeb application security  & Testing
Web application security & Testing
Deepu S Nath
 

La actualidad más candente (20)

Introduction to Web Application Penetration Testing
Introduction to Web Application Penetration TestingIntroduction to Web Application Penetration Testing
Introduction to Web Application Penetration Testing
 
CNIT 123 Ch 10: Hacking Web Servers
CNIT 123 Ch 10: Hacking Web ServersCNIT 123 Ch 10: Hacking Web Servers
CNIT 123 Ch 10: Hacking Web Servers
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defensesCross site scripting attacks and defenses
Cross site scripting attacks and defenses
 
Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)
 
Security testing
Security testingSecurity testing
Security testing
 
Secure code practices
Secure code practicesSecure code practices
Secure code practices
 
Web Application Security Testing
Web Application Security TestingWeb Application Security Testing
Web Application Security Testing
 
What is security testing and why it is so important?
What is security testing and why it is so important?What is security testing and why it is so important?
What is security testing and why it is so important?
 
Security Testing for Web Application
Security Testing for Web ApplicationSecurity Testing for Web Application
Security Testing for Web Application
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
 
Secure software development presentation
Secure software development presentationSecure software development presentation
Secure software development presentation
 
Different types of attacks in internet
Different types of attacks in internetDifferent types of attacks in internet
Different types of attacks in internet
 
Microservices Security
Microservices SecurityMicroservices Security
Microservices Security
 
Secure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa WorkshopSecure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa Workshop
 
Application Threat Modeling
Application Threat ModelingApplication Threat Modeling
Application Threat Modeling
 
Web application security & Testing
Web application security  & TestingWeb application security  & Testing
Web application security & Testing
 
Web Application Penetration Testing
Web Application Penetration Testing Web Application Penetration Testing
Web Application Penetration Testing
 
Secure Coding principles by example: Build Security In from the start - Carlo...
Secure Coding principles by example: Build Security In from the start - Carlo...Secure Coding principles by example: Build Security In from the start - Carlo...
Secure Coding principles by example: Build Security In from the start - Carlo...
 
How to identify and prevent SQL injection
How to identify and prevent SQL injection  How to identify and prevent SQL injection
How to identify and prevent SQL injection
 
OWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITISOWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITIS
 

Destacado

Happy New Year!
Happy New Year!Happy New Year!
Happy New Year!
Checkmarx
 

Destacado (13)

[ITAS.VN]CxSuite Enterprise Edition
[ITAS.VN]CxSuite Enterprise Edition[ITAS.VN]CxSuite Enterprise Edition
[ITAS.VN]CxSuite Enterprise Edition
 
Devops security-An Insight into Secure-SDLC
Devops security-An Insight into Secure-SDLCDevops security-An Insight into Secure-SDLC
Devops security-An Insight into Secure-SDLC
 
Security Tests as Part of CI - Nir Koren, SAP - DevOpsDays Tel Aviv 2015
Security Tests as Part of CI - Nir Koren, SAP - DevOpsDays Tel Aviv 2015Security Tests as Part of CI - Nir Koren, SAP - DevOpsDays Tel Aviv 2015
Security Tests as Part of CI - Nir Koren, SAP - DevOpsDays Tel Aviv 2015
 
A Successful SAST Tool Implementation
A Successful SAST Tool ImplementationA Successful SAST Tool Implementation
A Successful SAST Tool Implementation
 
Application Security Management with ThreadFix
Application Security Management with ThreadFixApplication Security Management with ThreadFix
Application Security Management with ThreadFix
 
DEVSECOPS: Coding DevSecOps journey
DEVSECOPS: Coding DevSecOps journeyDEVSECOPS: Coding DevSecOps journey
DEVSECOPS: Coding DevSecOps journey
 
Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...
 
Happy New Year!
Happy New Year!Happy New Year!
Happy New Year!
 
DevSecOps in Baby Steps
DevSecOps in Baby StepsDevSecOps in Baby Steps
DevSecOps in Baby Steps
 
Graph Visualization - OWASP NYC Chapter
Graph Visualization - OWASP NYC ChapterGraph Visualization - OWASP NYC Chapter
Graph Visualization - OWASP NYC Chapter
 
DevSecOps Singapore 2017 - Security in the Delivery Pipeline
DevSecOps Singapore 2017 - Security in the Delivery PipelineDevSecOps Singapore 2017 - Security in the Delivery Pipeline
DevSecOps Singapore 2017 - Security in the Delivery Pipeline
 
DevOps & Security: Here & Now
DevOps & Security: Here & NowDevOps & Security: Here & Now
DevOps & Security: Here & Now
 
Implementing an Application Security Pipeline in Jenkins
Implementing an Application Security Pipeline in JenkinsImplementing an Application Security Pipeline in Jenkins
Implementing an Application Security Pipeline in Jenkins
 

Similar a Application Security Guide for Beginners

Blackhat Europe 2009 - Detecting Certified Pre Owned Software
Blackhat Europe 2009 - Detecting Certified Pre Owned SoftwareBlackhat Europe 2009 - Detecting Certified Pre Owned Software
Blackhat Europe 2009 - Detecting Certified Pre Owned Software
Tyler Shields
 
10 Tips to Keep Your Software a Step Ahead of the Hackers
10 Tips to Keep Your Software a Step Ahead of the Hackers10 Tips to Keep Your Software a Step Ahead of the Hackers
10 Tips to Keep Your Software a Step Ahead of the Hackers
Checkmarx
 
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
IJNSA Journal
 
Brochure Swascan Overview
Brochure Swascan OverviewBrochure Swascan Overview
Brochure Swascan Overview
Sara Colnago
 

Similar a Application Security Guide for Beginners (20)

OWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference GuideOWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference Guide
 
Handy penetration testing tools
Handy penetration testing toolsHandy penetration testing tools
Handy penetration testing tools
 
website vulnerability scanner and reporter research paper
website vulnerability scanner and reporter research paperwebsite vulnerability scanner and reporter research paper
website vulnerability scanner and reporter research paper
 
IRJET- Bug Hunting using Web Application Penetration Testing Techniques.
IRJET- Bug Hunting using Web Application Penetration Testing Techniques.IRJET- Bug Hunting using Web Application Penetration Testing Techniques.
IRJET- Bug Hunting using Web Application Penetration Testing Techniques.
 
FALCON.pptx
FALCON.pptxFALCON.pptx
FALCON.pptx
 
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptxSecure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
 
OWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideOWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference Guide
 
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
 
Improving web application security, part ii
Improving web application security, part iiImproving web application security, part ii
Improving web application security, part ii
 
Blackhat Europe 2009 - Detecting Certified Pre Owned Software
Blackhat Europe 2009 - Detecting Certified Pre Owned SoftwareBlackhat Europe 2009 - Detecting Certified Pre Owned Software
Blackhat Europe 2009 - Detecting Certified Pre Owned Software
 
10 Best DevSecOps Tools for 2023
10 Best DevSecOps Tools for 202310 Best DevSecOps Tools for 2023
10 Best DevSecOps Tools for 2023
 
Vulnerability Management System
Vulnerability Management SystemVulnerability Management System
Vulnerability Management System
 
Security Process in DevSecOps
Security Process in DevSecOpsSecurity Process in DevSecOps
Security Process in DevSecOps
 
10 Tips to Keep Your Software a Step Ahead of the Hackers
10 Tips to Keep Your Software a Step Ahead of the Hackers10 Tips to Keep Your Software a Step Ahead of the Hackers
10 Tips to Keep Your Software a Step Ahead of the Hackers
 
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
 
Devoid Web Application From SQL Injection Attack
Devoid Web Application From SQL Injection AttackDevoid Web Application From SQL Injection Attack
Devoid Web Application From SQL Injection Attack
 
Brochure Swascan Overview
Brochure Swascan OverviewBrochure Swascan Overview
Brochure Swascan Overview
 
Swascan
Swascan Swascan
Swascan
 
Managing Security in External Software Dependencies
Managing Security in External Software DependenciesManaging Security in External Software Dependencies
Managing Security in External Software Dependencies
 
Managing Security in External Software Dependencies
Managing Security in External Software DependenciesManaging Security in External Software Dependencies
Managing Security in External Software Dependencies
 

Más de Checkmarx

Más de Checkmarx (9)

The Web AppSec How-To: The Defender's Toolbox
The Web AppSec How-To: The Defender's ToolboxThe Web AppSec How-To: The Defender's Toolbox
The Web AppSec How-To: The Defender's Toolbox
 
The 5 Biggest Benefits of Source Code Analysis
The 5 Biggest Benefits of Source Code AnalysisThe 5 Biggest Benefits of Source Code Analysis
The 5 Biggest Benefits of Source Code Analysis
 
A Platform for Application Risk Intelligence
A Platform for Application Risk IntelligenceA Platform for Application Risk Intelligence
A Platform for Application Risk Intelligence
 
How Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code AnalysisHow Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code Analysis
 
Source Code vs. Binary Code Analysis
Source Code vs. Binary Code AnalysisSource Code vs. Binary Code Analysis
Source Code vs. Binary Code Analysis
 
AppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOpsAppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOps
 
The App Sec How-To: Choosing a SAST Tool
The App Sec How-To: Choosing a SAST ToolThe App Sec How-To: Choosing a SAST Tool
The App Sec How-To: Choosing a SAST Tool
 
The Security State of The Most Popular WordPress Plug-Ins
The Security State of The Most Popular WordPress Plug-InsThe Security State of The Most Popular WordPress Plug-Ins
The Security State of The Most Popular WordPress Plug-Ins
 
10 Steps To Secure Agile Development
10 Steps To Secure Agile Development10 Steps To Secure Agile Development
10 Steps To Secure Agile Development
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Application Security Guide for Beginners

  • 2. INTRODUCTION This beginner’s guide to application security focuses on the main concepts and keywords used in the Application Security domain. This guide is divided into the following categories: Code 2 ApplicationSecuritySolutions CodeDevelopmentMethodologies Commonthreatsandtheir impacts
  • 3. WHAT IS SDLC? Most organizations develop applications according to a clear process by which each application is designed, developed, tested, and deployed. This sequence is called the software development lifecycle, orSDLC. SDLCshapesthe way applications are built and defines the processes and milestones an application needs to pass before going to the next stageof development. WHATISASECURESDLC? Secure SDLC is a process where security touch points are added to each stage of the SDLC.SecureSDLCapplies security best practices to ensure that applications are secure upon release while fitting into any developer’scontinuousintegrationworkflow. Secure SDLCProcess 1 32 Risk Assessment ThreatModeling &DesignReview Static Analysis SecurityTesting &CodeReview SecurityAssessment& SecureConfiguration 4 5 SDLCProcess 1 32 4 5 Requirements Design Development Testing Deployment 3 5
  • 4. STATIC APPLICATION SECURITY TESTING WITH SECURE SDLC Static Applications Security Testing (SAST) is one of the driving forces behind the secure SDLC. SAST empowers developers to deliver secure applications by seamlessly integrating with their development processes andenvironments. In a secure SDLC, SAST solutions detect vulnerabilities which may expose the application to security risksandbreaches. 6 7 SASTIntegration Points
  • 6. Processfor planning, creating, testing and deploying anapplication. Software Development Life Cycle (SDLC) Alternative to traditional project management wherethe emphasisisplaced onempowering people to collaborate and make team decisions in addition to continuous planning, testing andintegration. AGILE Model 10 11
  • 7. Sequential design process, used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phasesof requirement, design, development andtesting. Waterfall Model Development method that uses minimal planning in favor of rapid prototyping. A prototype is equivalent to a component of theproduct. Rapid Application Development (RAD) 12 13
  • 9. Collectionof sourcecodethat isusedto build a particular software system, application or softwarecomponent. Codebase (or code base) Frameworksarefairly largepre-madepieces of code. Thedevelopers write their code on top of the framework. Notableexamples: Struts Telerik GWT Frameworks 16 17
  • 10. Atool designed to automate the process of program compilation. Build systems come in various forms and are used for a variety of software buildtasks. Notableexamples: Jenkins AnthillPro Build Systems (or Build Server, Build Automation) File archive or web hosting facility where large amounts of software source code are kept either publicly or privately. Archived files may also beversioned. Notable examples: Source Code Repository 18 19 TFS GIT Perforce SVN
  • 11. Software application that keeps track of reported bugs, issuesor tasks ina project. Notableexamples: TFS Jira HP-QC Bug Tracking Systems (Issue Tracking Systems) Modern interpretation of service-oriented architectures used to build distributed software systems.Processesthat communicate with eachother over the network in order to fulfill atask. Example: Microservices can be found in Facebookor LinkedIn; someparts of the GUI havedowntimefor updatesandsomedon’t. Micro Services 20 21
  • 12. The artifact created after compiling and building source code for C++ and other Microsoft codinglanguages. DLL (Dynamic Link Library) The artifact created after compiling and building source code for Java coding language. JAR (Java Archive) 22 23
  • 13. Development is built around predefined code test cases.This means that only after the test cases have been created, the developers can start writing the code. Test Driven Development (TDD) 24
  • 15. Security testing which analyzes an applications source code or binary code to determineif securityvulnerabilitiesexist. SAST solutions analyze the application ‘from the inside-out’, in many cases SAST solutions do need compiledcode. Static Application Security Testing (SAST) Security experts trying to find and exploit vulnerabilities that an attacker could use. The testing is done with or without dedicated hackingtools. Penetration Testing (AKA Pen Testing) 28 29
  • 16. Detect conditions of a security vulnerability in an application in its running state. Dynamic Application Security testing generates automated attacks which may be used by realattackers. Dynamic Application Security Testing (DAST) Security technology that is built or linked into an application or application runtime environment and is capable of detecting and preventing real-timeattacks. Runtime Application Self- Protection (RASP) 30 31
  • 17. List of software weakness. List is created by community cooperation. Software weaknesses are errors that can lead to software vulnerabilities. Common Weakness Enumeration (CWE) A publicly available and free to use list or dictionary of standardized identifiers for common computer vulnerabilities and exposures. Common Vulnerabilities and Exposures (CVE) 32 33
  • 18. Community which creates freely-available methodologies, tools, standards and technologies in the field of application security. Open Web Application Security Project (OWASP) Combines elements of SAST and DAST simultaneously. It is typically implemented as an agent within the test runtime application or environment that observes attacks and identifiesvulnerabilities. IAST determines whether a vulnerability is exploitable with increased accuracy, and can identify where specifically the vulnerability is located in the code. Interactive Application Security Testing (IAST) 34 35
  • 19. When a security scanner indicates that a vulnerability exists (for example, SQL Injection), while in reality it doesn’t exist. False Positive Whena vulnerability exists and the security scanner doesn’t detect it. Therefore the userisnot notified about the vulnerability. False Negative 36 37
  • 20. Protects web applications by monitoring and controlling its input and output and the accessto and from the application. Running as an appliance, server plug-in or cloud-based service, a WAF inspects monitors, filters or blocks malicious traffic to and from a Webapplication. Web Application Firewall (WAF) BinaryAnalysisisaformof StaticApplication Security testing based on analysis of a compiled code-base rather than the raw sourcecode. Abinary is a machine readable file which can be executed and run. Binary Analysis 38 39
  • 21. Agreement offered by many websites and software development companies by which individuals can receive recognition and compensation for reporting bugs, exploits andvulnerabilities. Bug Bounty Program Security practice where after the code is written it issentto securityexpert to undergo inspection after which the developer needs to alter the code accordingly. Security Gate 40 41
  • 23. THREAT: Code injection technique used to attack data-driven applications, in which malicious SQLfragment are inserted into an entry field for execution. SQL Injection IMPACT: May reflect sensitive information, plant information or damage data May be used to reveal customer’s credit card numbers or any other personal data stored on the DB Attacker could change system administrator credentials forthe databaseserver Can affect public image of the company resulting in profit loss 44 45
  • 24. THREAT: Vulnerability typically found in web applications enabling attackers to inject client-side scripts into web pages viewed by other users. Cross Site Scripting (XSS) IMPACT: May gain access touser’s identity and act on their behalf Ability to spread web worms or Trojans Possible business impact ofpublic exposure aboutvulnerability Attacker may gain access to all the end-user information kept on the Client Server (cookies, session IDand Client identity) 46 47
  • 25. THREAT: Attacker uses multiple transparent layers to trick a user into clicking on a button or link that is not the originally intended target area. Therefore, the attacker is rerouting (hijacking) the user to another page, likely owned by another application. Keystrokes can also be hijacked using the samemethod. Clickjacking (UI redress attack) IMPACT: Can be used to utilize the computer's microphone andcamera May activate print screen to capture sensitiveinformation 48 49
  • 26. THREAT: Attack that forces an end user to execute unwanted actions on a web application in which they're currently authenticated. Inherits the identity and privileges of the victim to perform an undesired function on the victim'sbehalf. Cross Site Request Forgery (CSRF) IMPACT: If the victim is an administrative account, can be usedto force the user to perform state changing requests like transferring funds, changing their email address, and soforth. Can compromise the entireweb application 50 51
  • 27. THREAT: Exploit which allows attackers to access restricted directories and execute commands outside of the web server's intendeddirectory. Path Traversal (Directory Traversal) IMPACT: Can be used to access to restricted areas and files causing a critical information leak 52 53
  • 28. THREAT: Vulnerability that permits an attacker to hijack a valid user session. The attack explores a limitation in the way the web application manages the session ID and specifically the vulnerable web application. Session Fixation (dot-dot-slash) IMPACT: Canbe used to hijack the user- validated sessionby utilizing the knowledge of thesessionID 54 55