SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
Application Security Testing: Building
Software Resilient to Attacks
Lima, 7th WCSQ

Michael Hidalgo, March 22, 2017
Who Am I?
• Software Engineer based in Costa Rica

• OWASP Costa Rica Chapter Leader

• Recurrent Speaker on Application Security
conferences

• Head of Software Development Engineering
at DeepRecce, a Cybersecurity company
with offices in Costa Rica.

• Hacker looking for challenging the Status
Quo
Disclaimer
The opinions expressed in this presentation and on the following
slides are solely my own and not necessarily those of my
employee.
The techniques presented on this talk have the unique purpose
of teaching and creating awareness about Application Security.
–Michael Howard, Microsoft Senior Security Program Manager
“If your engineers know nothing about the basic security tenets,
common security defect types, basic secure design, or security
testing, there really is no reasonable chance they could produce
secure software.”
Why this presentation?
• According to Verizon DBIR 2016: Web
Application Attacks are the #1 Source of
Data Breaches.
Source: Verizon 2016 Data Breach Investigation Report:
https://www.verizondigitalmedia.com/blog/2016/06/verizon-dbir-2016-web-application-attacks-are-the-1-source-of-data-breaches
Why this presentation?
• Looking to the future : Cisco IBSG predicts
there will be 50 billion devices connected to
the Internet by 2020
Source: Cisco Internet Business Solutions Group The Internet of Things How the Next Evolution of the Internet Is Changing Everything
http://www.cisco.com/c/dam/en_us/about/ac79/docs/innov/IoT_IBSG_0411FINAL.pdf
Why this presentation?
Image source : http://www.gridshore.nl/wp-content/uploads/costofdefects.jpg
Why this presentation?
Source: https://consumerist.com/2011/06/14/how-hackers-stole-200000-citi-accounts-by-exploiting-basic-browser-vulnerability/
Why this presentation?
Source: http://www.bbc.co.uk/news/world-us-canada-38324527
Why this presentation?
Source: http://thehackernews.com/2017/02/iot-teddy-bear.html
Building Blocks Information Security
1. Confidentiality
• Security concept that has to do with
protection against unauthorized information
disclosure.

• It also helps to maintain data privacy.

• It is the concept of preventing the
disclosure of information to unauthorized
parties.

• Core function is keeping secrets secret.
2. Integrity
• Refers to protecting data from unauthorized
alteration.

• Is the measure of software resiliency.

• Integrity software ensure that the data that
are transmitted, processed and stored are
as accurate as the originator intended.

• It must ensure that software performs
reliably.
3. Availability
• Access to the system by authorized
personnel.

• Criticality of data and it uses in the system
are essential factors to determine system’s
availability.

• Service Level Agreement (SLA) is an
instrument that can be used to explicitly
state and govern availability requirements
for business partners and clients.
4. Authentication
• Process of determining the identity of a user.

• Foundational element of security.

• It ensures that only valid users are admitted.

• It is the process used to verify into a
computer system that the individual is who it
claims to be.

• Three methods are used:

• Something you know.

• Something you have.

• Something you are.
5. Authorization
• Process of applying access control rules to
a user process.

• Determines whether or not a user has
access to a given object.

• Access to objects is controlled based on
the rights and privileges that are granted to
a requestor by the owner of the data or
system.

• Once we know who you are, authorization
responds to the question, What do you
have access to?
6. Auditing/Logging
• Passive detective control mechanism.

• Nonrepudiation addresses the deniability of
actions taken either by a user or software
on behalf o a user.

• Auditing can be seen as a form of recording
historical events on a system.
Building Blocks Application Security
The Core Of Application Security : User can submit arbitrary input
• The end user is outside of the application’s control, and they could send
arbitrary input to the server-side application.
• The application must always treat all input as if it was damaging.
• It is important to ensure that the input data cannot be manipulated to interfere
with the application business logic.
• Most of the attacks targeting Web applications, contains crafted payloads to
trigger an event that was not considered by the application or by it’s design.
Source: The Web Application Hacker Handbook 2nd Edition, page 9
All Input is Evil!
URL
Form	fields
GET	
Parameters
POST	
Payloads
HTTP	
Headers
Web	
Services
Cookies
External	
Services
Database
Trusted and Untrusted Data
Image taken from : http://blog.prestonbailey.com/files/2010/11/Overcoming-Challenging-Obstacles.jpg
Application Security Implementation Challenges
Iron Triangle Constraints
• A software development project, from design to implementation, there is a
need for Schedule (time), Scope (resources) and Budget (cost).
• Resources with technical skills and knowledge are not always readily available.
• Having the need to incorpore security into the software is seen as an extra and
costly activity.
• Constraints in terms of Schedule, Scope and Budget are sometimes the
reasons why security is left behind.
Security as an Afterthought
• Sometimes security is being considered as an afterthought and a process that
is hard to justify as a part of the security investment.
• The value added of security into an application is not easy to show.
• End users don’t perceive security as an asset in their day to day activities.
• Addressing security vulnerabilities before a product is released is very
expensive.
Security versus Usability
• Traditionally, security has had a negative impact in the usability of the software.
That is, the software is seen more complex, more restrictive and less usable.
• As an example, a secure password policy might force the users to follow a
pattern including a minimum and maximum of characters, upper and lower
case and numbers.
• Sometimes when detective controls (e.g logs) are included into the system, it
leads to slowdown the process and you can find users complaining about the
security measure slowed down the operation because of the amount of time it
takes to execute a process.
Why the Application Security Problem is Growing?
… And why you should care.
Complexity of modern Software Applications and Infrastructure
Image Source: https://www.reddit.com/r/funny/comments/5q59nd/in_case_of_cyberattack
Because….
Writing Insecure Code is relatively easy.
What if there is an error
inside this function?
This code will be
executed.
Source: Writing Secure Code 2nd Edition. Michael Howard and David LeBlanc page 65
Overwhelming number of Javascript frameworks.
Image source: https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f#.2mwrox3hf
High Dependency on Third Party Libraries
Why Good engineers write
bad code?
• Technical Factors: Intrinsic complexity in
underlaying technologies.

• Physiological Factors: Programmers are
humans and security errors are easy to
overlook.

• Risk Assessment Problems: It’s hard to find
a security issue in a code review if we don’t
understand what security means.
The proliferation of insecure Mobile Applications and API’s
Security is everyones job!
Security is everyone’s job
• Security is Holistic: Software is only as secure as the weakest link.
• Application, Host and Network needs to be secured adequately and
appropriately.
• Builders must practice Secure Engineering.
• Operations must continue architecting reasonable networks.
• Executives must understand how early investment on security design and
analysis affects their products.
Security must be a priority on every Software Development Team
Source: Introduction to the Microsoft Secure Development Lifecycle (SDL)
https://download.microsoft.com/download/9/3/5/935520EC-D9E2-413E-BEA7-0B865A79B18C/Introduction%20to%20the%20Microsoft%20Security%20Development%20Lifecycle%20(SDL).ppsx
Education Accountability
Administer	and	track	security	
training	
Incident
Response	
(MSRC)	
Establish	release	criteria	and	
sign-off	as	part	of	FSR
Ongoing	 Process	Improvements
Process
Guide	product	teams	to	meet	
SDL	requirements
An approach for Application Security Testing
What is Application Security Testing?
• Security Testing is different.
• It is about demonstrating that a tester can’t spoof a user’s identity.
• It is about verifying that a tester can’t tamper parameters.
• Security Testing is about proving that defensive mechanisms work correctly.
• Type of testing focused on checking that some features appear to fail.
• A security test is a method of evaluating the security of a computer system or
network by methodically validating and verifying the effectiveness of application
security controls.
Old Security Vulnerabilities on new Clothes!
Source: https://www.owasp.org/index.php/Top_10_2013-Top_10
OWASP Testing Guide : The Goodness of Open Source
This guide can be downloaded from : https://www.owasp.org/images/1/19/OTGv4.pdf
The OWASP Testing Framework Explained.
Phase 1: Before Development Begins
Phase 2: During Definition and Design
Phase 3: During Development
Phase 4: During Deployment
Phase 5: Maintenance and Operations
OWASP Web Application Security Testing
OWASP Testing Methodology
Reporting
1. Executive Summary
2. Test Parameters
1. Project Objective
2. Project Scope
3. Project Schedule
4. Targets
5. Limitations
3. Findings
Findings Template
Full access to the reporting section: https://www.owasp.org/index.php/Reporting
Other Resources
OWASP Zed Attack Proxy Project
• It is one of the world’s most popular free security tools and is actively
maintained by hundreds of international volunteers.
• It can help you automatically find security vulnerabilities in your web
applications while you are developing and testing your applications.
• Its also a great tool for experienced pentesters to use for manual security
testing.
OWASP ZAP
OWASP Code Review Guide
• Alpha Release OWASP Code Review 2.0
• It is a technical book written for those responsible for code reviews
(management, developers, security professionals).
• While security scanners are improving every day the need for manual security
code reviews still needs to have a prominent place in organizations SDLC
(Secure development life cycle) that desires good secure code in production.
Full access to the Code Review Guide here : https://www.owasp.org/index.php/Category:OWASP_Code_Review_Project
ISTQB: Advanced Security Tester
Full access to the Certification here : http://www.istqb.org/certification-path-root/advanced-security-tester/advanced-security-tester-contents.html
Book references:
Other references
• The Open Web Application Security Project OWASP https://www.owasp.org/
index.php/Main_Page
• Microsoft Secure Development Lifecycle https://www.microsoft.com/en-us/
sdl/
• Infosec Institute Penetration Testing Methodology and Standards http://
resources.infosecinstitute.com/penetration-testing-methodologies-and-
standards/
• ISTQB Security Tester http://www.istqb.org/certification-path-root/advanced-
security-tester.html
Q&A.
Michael Hidalgo
michael.hidalgo@owasp.org

Weitere ähnliche Inhalte

Was ist angesagt?

Vulnerability assessment and penetration testing
Vulnerability assessment and penetration testingVulnerability assessment and penetration testing
Vulnerability assessment and penetration testingAbu Sadat Mohammed Yasin
 
Threat modelling with_sample_application
Threat modelling with_sample_applicationThreat modelling with_sample_application
Threat modelling with_sample_applicationUmut IŞIK
 
Penetration testing reporting and methodology
Penetration testing reporting and methodologyPenetration testing reporting and methodology
Penetration testing reporting and methodologyRashad Aliyev
 
"CERT Secure Coding Standards" by Dr. Mark Sherman
"CERT Secure Coding Standards" by Dr. Mark Sherman"CERT Secure Coding Standards" by Dr. Mark Sherman
"CERT Secure Coding Standards" by Dr. Mark ShermanRinaldi Rampen
 
5 things i wish i knew about sast (DSO-LG July 2021)
5 things i wish i knew about sast (DSO-LG July 2021)5 things i wish i knew about sast (DSO-LG July 2021)
5 things i wish i knew about sast (DSO-LG July 2021)Michael Man
 
Real World Application Threat Modelling By Example
Real World Application Threat Modelling By ExampleReal World Application Threat Modelling By Example
Real World Application Threat Modelling By ExampleNCC Group
 
Client-Side Penetration Testing Presentation
Client-Side Penetration Testing PresentationClient-Side Penetration Testing Presentation
Client-Side Penetration Testing PresentationChris Gates
 
An Example of use the Threat Modeling Tool (FFRI Monthly Research Nov 2016)
An Example of use the Threat Modeling Tool (FFRI Monthly Research Nov 2016)An Example of use the Threat Modeling Tool (FFRI Monthly Research Nov 2016)
An Example of use the Threat Modeling Tool (FFRI Monthly Research Nov 2016)FFRI, Inc.
 
Threat Modeling workshop by Robert Hurlbut
Threat Modeling workshop by Robert HurlbutThreat Modeling workshop by Robert Hurlbut
Threat Modeling workshop by Robert HurlbutDevSecCon
 
Security Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and ToolsSecurity Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and ToolsYulian Slobodyan
 
Threats, Threat Modeling and Analysis
Threats, Threat Modeling and AnalysisThreats, Threat Modeling and Analysis
Threats, Threat Modeling and AnalysisIan G
 
STRIDE Variants and Security Requirements-based Threat Analysis (FFRI Monthly...
STRIDE Variants and Security Requirements-based Threat Analysis (FFRI Monthly...STRIDE Variants and Security Requirements-based Threat Analysis (FFRI Monthly...
STRIDE Variants and Security Requirements-based Threat Analysis (FFRI Monthly...FFRI, Inc.
 
Security best practices for regular users
Security best practices for regular usersSecurity best practices for regular users
Security best practices for regular usersGeoffrey Vaughan
 
7 Steps to Threat Modeling
7 Steps to Threat Modeling7 Steps to Threat Modeling
7 Steps to Threat ModelingDanny Wong
 
Rapid Threat Modeling Techniques
Rapid Threat Modeling TechniquesRapid Threat Modeling Techniques
Rapid Threat Modeling TechniquesPriyanka Aash
 
Finacle - Secure Coding Practices
Finacle - Secure Coding PracticesFinacle - Secure Coding Practices
Finacle - Secure Coding PracticesInfosys Finacle
 

Was ist angesagt? (20)

Vulnerability assessment and penetration testing
Vulnerability assessment and penetration testingVulnerability assessment and penetration testing
Vulnerability assessment and penetration testing
 
Threat modelling with_sample_application
Threat modelling with_sample_applicationThreat modelling with_sample_application
Threat modelling with_sample_application
 
Penetration testing reporting and methodology
Penetration testing reporting and methodologyPenetration testing reporting and methodology
Penetration testing reporting and methodology
 
"CERT Secure Coding Standards" by Dr. Mark Sherman
"CERT Secure Coding Standards" by Dr. Mark Sherman"CERT Secure Coding Standards" by Dr. Mark Sherman
"CERT Secure Coding Standards" by Dr. Mark Sherman
 
5 things i wish i knew about sast (DSO-LG July 2021)
5 things i wish i knew about sast (DSO-LG July 2021)5 things i wish i knew about sast (DSO-LG July 2021)
5 things i wish i knew about sast (DSO-LG July 2021)
 
5 Important Secure Coding Practices
5 Important Secure Coding Practices5 Important Secure Coding Practices
5 Important Secure Coding Practices
 
Real World Application Threat Modelling By Example
Real World Application Threat Modelling By ExampleReal World Application Threat Modelling By Example
Real World Application Threat Modelling By Example
 
Secure Coding and Threat Modeling
Secure Coding and Threat ModelingSecure Coding and Threat Modeling
Secure Coding and Threat Modeling
 
Client-Side Penetration Testing Presentation
Client-Side Penetration Testing PresentationClient-Side Penetration Testing Presentation
Client-Side Penetration Testing Presentation
 
An Example of use the Threat Modeling Tool (FFRI Monthly Research Nov 2016)
An Example of use the Threat Modeling Tool (FFRI Monthly Research Nov 2016)An Example of use the Threat Modeling Tool (FFRI Monthly Research Nov 2016)
An Example of use the Threat Modeling Tool (FFRI Monthly Research Nov 2016)
 
Threat Modeling workshop by Robert Hurlbut
Threat Modeling workshop by Robert HurlbutThreat Modeling workshop by Robert Hurlbut
Threat Modeling workshop by Robert Hurlbut
 
Security Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and ToolsSecurity Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and Tools
 
Threats, Threat Modeling and Analysis
Threats, Threat Modeling and AnalysisThreats, Threat Modeling and Analysis
Threats, Threat Modeling and Analysis
 
STRIDE Variants and Security Requirements-based Threat Analysis (FFRI Monthly...
STRIDE Variants and Security Requirements-based Threat Analysis (FFRI Monthly...STRIDE Variants and Security Requirements-based Threat Analysis (FFRI Monthly...
STRIDE Variants and Security Requirements-based Threat Analysis (FFRI Monthly...
 
Security best practices for regular users
Security best practices for regular usersSecurity best practices for regular users
Security best practices for regular users
 
7 Steps to Threat Modeling
7 Steps to Threat Modeling7 Steps to Threat Modeling
7 Steps to Threat Modeling
 
Rapid Threat Modeling Techniques
Rapid Threat Modeling TechniquesRapid Threat Modeling Techniques
Rapid Threat Modeling Techniques
 
What is pentest
What is pentestWhat is pentest
What is pentest
 
Finacle - Secure Coding Practices
Finacle - Secure Coding PracticesFinacle - Secure Coding Practices
Finacle - Secure Coding Practices
 
Application Threat Modeling
Application Threat ModelingApplication Threat Modeling
Application Threat Modeling
 

Ähnlich wie Application Security Testing for Software Engineers: An approach to build software resilient to attacks

How to develop an AppSec culture in your project
How to develop an AppSec culture in your project How to develop an AppSec culture in your project
How to develop an AppSec culture in your project 99X Technology
 
Building an AppSec Team Extended Cut
Building an AppSec Team Extended CutBuilding an AppSec Team Extended Cut
Building an AppSec Team Extended CutMike Spaulding
 
Mike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security ProgramMike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security Programcentralohioissa
 
ByteCode pentest report example
ByteCode pentest report exampleByteCode pentest report example
ByteCode pentest report exampleIhor Uzhvenko
 
Thick Client Penetration Testing Modern Approaches and Techniques.pdf
Thick Client Penetration Testing Modern Approaches and Techniques.pdfThick Client Penetration Testing Modern Approaches and Techniques.pdf
Thick Client Penetration Testing Modern Approaches and Techniques.pdfElanusTechnologies
 
Project Quality-SIPOCSelect a process of your choice and creat.docx
Project Quality-SIPOCSelect a process of your choice and creat.docxProject Quality-SIPOCSelect a process of your choice and creat.docx
Project Quality-SIPOCSelect a process of your choice and creat.docxwkyra78
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
For Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSecFor Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSecLalit Kale
 
chap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systemschap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information SystemsKashfUlHuda1
 
Cyber security series Application Security
Cyber security series   Application SecurityCyber security series   Application Security
Cyber security series Application SecurityJim Kaplan CIA CFE
 
Security Testing Approach for Web Application Testing.pdf
Security Testing Approach for Web Application Testing.pdfSecurity Testing Approach for Web Application Testing.pdf
Security Testing Approach for Web Application Testing.pdfAmeliaJonas2
 
Dealing with Web Application Security, Regulation Style
Dealing with Web Application Security, Regulation StyleDealing with Web Application Security, Regulation Style
Dealing with Web Application Security, Regulation StyleRochester Security Summit
 
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...Denim Group
 
PACE-IT, Security+ 4.1: Application Security Controls and Techniques
PACE-IT, Security+ 4.1: Application Security Controls and TechniquesPACE-IT, Security+ 4.1: Application Security Controls and Techniques
PACE-IT, Security+ 4.1: Application Security Controls and TechniquesPace IT at Edmonds Community College
 

Ähnlich wie Application Security Testing for Software Engineers: An approach to build software resilient to attacks (20)

How to develop an AppSec culture in your project
How to develop an AppSec culture in your project How to develop an AppSec culture in your project
How to develop an AppSec culture in your project
 
Building an AppSec Culture
Building an AppSec Culture Building an AppSec Culture
Building an AppSec Culture
 
Building an AppSec Team Extended Cut
Building an AppSec Team Extended CutBuilding an AppSec Team Extended Cut
Building an AppSec Team Extended Cut
 
Mike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security ProgramMike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security Program
 
ByteCode pentest report example
ByteCode pentest report exampleByteCode pentest report example
ByteCode pentest report example
 
Thick Client Penetration Testing Modern Approaches and Techniques.pdf
Thick Client Penetration Testing Modern Approaches and Techniques.pdfThick Client Penetration Testing Modern Approaches and Techniques.pdf
Thick Client Penetration Testing Modern Approaches and Techniques.pdf
 
Project Quality-SIPOCSelect a process of your choice and creat.docx
Project Quality-SIPOCSelect a process of your choice and creat.docxProject Quality-SIPOCSelect a process of your choice and creat.docx
Project Quality-SIPOCSelect a process of your choice and creat.docx
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Security Design Principles.ppt
 Security Design Principles.ppt Security Design Principles.ppt
Security Design Principles.ppt
 
Arved sandstrom - the rotwithin - atlseccon2011
Arved sandstrom - the rotwithin - atlseccon2011Arved sandstrom - the rotwithin - atlseccon2011
Arved sandstrom - the rotwithin - atlseccon2011
 
For Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSecFor Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSec
 
chap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systemschap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systems
 
How to produce more secure web apps
How to produce more secure web appsHow to produce more secure web apps
How to produce more secure web apps
 
Cyber security series Application Security
Cyber security series   Application SecurityCyber security series   Application Security
Cyber security series Application Security
 
Security Testing Approach for Web Application Testing.pdf
Security Testing Approach for Web Application Testing.pdfSecurity Testing Approach for Web Application Testing.pdf
Security Testing Approach for Web Application Testing.pdf
 
Dealing with Web Application Security, Regulation Style
Dealing with Web Application Security, Regulation StyleDealing with Web Application Security, Regulation Style
Dealing with Web Application Security, Regulation Style
 
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
 
PACE-IT, Security+ 4.1: Application Security Controls and Techniques
PACE-IT, Security+ 4.1: Application Security Controls and TechniquesPACE-IT, Security+ 4.1: Application Security Controls and Techniques
PACE-IT, Security+ 4.1: Application Security Controls and Techniques
 

Kürzlich hochgeladen

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 

Kürzlich hochgeladen (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 

Application Security Testing for Software Engineers: An approach to build software resilient to attacks

  • 1. Application Security Testing: Building Software Resilient to Attacks Lima, 7th WCSQ Michael Hidalgo, March 22, 2017
  • 2. Who Am I? • Software Engineer based in Costa Rica • OWASP Costa Rica Chapter Leader • Recurrent Speaker on Application Security conferences • Head of Software Development Engineering at DeepRecce, a Cybersecurity company with offices in Costa Rica. • Hacker looking for challenging the Status Quo
  • 3. Disclaimer The opinions expressed in this presentation and on the following slides are solely my own and not necessarily those of my employee. The techniques presented on this talk have the unique purpose of teaching and creating awareness about Application Security.
  • 4. –Michael Howard, Microsoft Senior Security Program Manager “If your engineers know nothing about the basic security tenets, common security defect types, basic secure design, or security testing, there really is no reasonable chance they could produce secure software.”
  • 5. Why this presentation? • According to Verizon DBIR 2016: Web Application Attacks are the #1 Source of Data Breaches. Source: Verizon 2016 Data Breach Investigation Report: https://www.verizondigitalmedia.com/blog/2016/06/verizon-dbir-2016-web-application-attacks-are-the-1-source-of-data-breaches
  • 6. Why this presentation? • Looking to the future : Cisco IBSG predicts there will be 50 billion devices connected to the Internet by 2020 Source: Cisco Internet Business Solutions Group The Internet of Things How the Next Evolution of the Internet Is Changing Everything http://www.cisco.com/c/dam/en_us/about/ac79/docs/innov/IoT_IBSG_0411FINAL.pdf
  • 7. Why this presentation? Image source : http://www.gridshore.nl/wp-content/uploads/costofdefects.jpg
  • 8. Why this presentation? Source: https://consumerist.com/2011/06/14/how-hackers-stole-200000-citi-accounts-by-exploiting-basic-browser-vulnerability/
  • 9. Why this presentation? Source: http://www.bbc.co.uk/news/world-us-canada-38324527
  • 10. Why this presentation? Source: http://thehackernews.com/2017/02/iot-teddy-bear.html
  • 12. 1. Confidentiality • Security concept that has to do with protection against unauthorized information disclosure. • It also helps to maintain data privacy. • It is the concept of preventing the disclosure of information to unauthorized parties. • Core function is keeping secrets secret.
  • 13. 2. Integrity • Refers to protecting data from unauthorized alteration. • Is the measure of software resiliency. • Integrity software ensure that the data that are transmitted, processed and stored are as accurate as the originator intended. • It must ensure that software performs reliably.
  • 14. 3. Availability • Access to the system by authorized personnel. • Criticality of data and it uses in the system are essential factors to determine system’s availability. • Service Level Agreement (SLA) is an instrument that can be used to explicitly state and govern availability requirements for business partners and clients.
  • 15. 4. Authentication • Process of determining the identity of a user. • Foundational element of security. • It ensures that only valid users are admitted. • It is the process used to verify into a computer system that the individual is who it claims to be. • Three methods are used: • Something you know. • Something you have. • Something you are.
  • 16. 5. Authorization • Process of applying access control rules to a user process. • Determines whether or not a user has access to a given object. • Access to objects is controlled based on the rights and privileges that are granted to a requestor by the owner of the data or system. • Once we know who you are, authorization responds to the question, What do you have access to?
  • 17. 6. Auditing/Logging • Passive detective control mechanism. • Nonrepudiation addresses the deniability of actions taken either by a user or software on behalf o a user. • Auditing can be seen as a form of recording historical events on a system.
  • 19. The Core Of Application Security : User can submit arbitrary input • The end user is outside of the application’s control, and they could send arbitrary input to the server-side application. • The application must always treat all input as if it was damaging. • It is important to ensure that the input data cannot be manipulated to interfere with the application business logic. • Most of the attacks targeting Web applications, contains crafted payloads to trigger an event that was not considered by the application or by it’s design. Source: The Web Application Hacker Handbook 2nd Edition, page 9
  • 20. All Input is Evil! URL Form fields GET Parameters POST Payloads HTTP Headers Web Services Cookies External Services Database
  • 22. Image taken from : http://blog.prestonbailey.com/files/2010/11/Overcoming-Challenging-Obstacles.jpg Application Security Implementation Challenges
  • 23. Iron Triangle Constraints • A software development project, from design to implementation, there is a need for Schedule (time), Scope (resources) and Budget (cost). • Resources with technical skills and knowledge are not always readily available. • Having the need to incorpore security into the software is seen as an extra and costly activity. • Constraints in terms of Schedule, Scope and Budget are sometimes the reasons why security is left behind.
  • 24. Security as an Afterthought • Sometimes security is being considered as an afterthought and a process that is hard to justify as a part of the security investment. • The value added of security into an application is not easy to show. • End users don’t perceive security as an asset in their day to day activities. • Addressing security vulnerabilities before a product is released is very expensive.
  • 25. Security versus Usability • Traditionally, security has had a negative impact in the usability of the software. That is, the software is seen more complex, more restrictive and less usable. • As an example, a secure password policy might force the users to follow a pattern including a minimum and maximum of characters, upper and lower case and numbers. • Sometimes when detective controls (e.g logs) are included into the system, it leads to slowdown the process and you can find users complaining about the security measure slowed down the operation because of the amount of time it takes to execute a process.
  • 26. Why the Application Security Problem is Growing? … And why you should care.
  • 27. Complexity of modern Software Applications and Infrastructure Image Source: https://www.reddit.com/r/funny/comments/5q59nd/in_case_of_cyberattack
  • 29. Writing Insecure Code is relatively easy. What if there is an error inside this function? This code will be executed. Source: Writing Secure Code 2nd Edition. Michael Howard and David LeBlanc page 65
  • 30. Overwhelming number of Javascript frameworks. Image source: https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f#.2mwrox3hf
  • 31. High Dependency on Third Party Libraries
  • 32. Why Good engineers write bad code? • Technical Factors: Intrinsic complexity in underlaying technologies. • Physiological Factors: Programmers are humans and security errors are easy to overlook. • Risk Assessment Problems: It’s hard to find a security issue in a code review if we don’t understand what security means.
  • 33. The proliferation of insecure Mobile Applications and API’s
  • 35. Security is everyone’s job • Security is Holistic: Software is only as secure as the weakest link. • Application, Host and Network needs to be secured adequately and appropriately. • Builders must practice Secure Engineering. • Operations must continue architecting reasonable networks. • Executives must understand how early investment on security design and analysis affects their products.
  • 36. Security must be a priority on every Software Development Team Source: Introduction to the Microsoft Secure Development Lifecycle (SDL) https://download.microsoft.com/download/9/3/5/935520EC-D9E2-413E-BEA7-0B865A79B18C/Introduction%20to%20the%20Microsoft%20Security%20Development%20Lifecycle%20(SDL).ppsx Education Accountability Administer and track security training Incident Response (MSRC) Establish release criteria and sign-off as part of FSR Ongoing Process Improvements Process Guide product teams to meet SDL requirements
  • 37. An approach for Application Security Testing
  • 38. What is Application Security Testing? • Security Testing is different. • It is about demonstrating that a tester can’t spoof a user’s identity. • It is about verifying that a tester can’t tamper parameters. • Security Testing is about proving that defensive mechanisms work correctly. • Type of testing focused on checking that some features appear to fail. • A security test is a method of evaluating the security of a computer system or network by methodically validating and verifying the effectiveness of application security controls.
  • 39. Old Security Vulnerabilities on new Clothes! Source: https://www.owasp.org/index.php/Top_10_2013-Top_10
  • 40. OWASP Testing Guide : The Goodness of Open Source This guide can be downloaded from : https://www.owasp.org/images/1/19/OTGv4.pdf
  • 41. The OWASP Testing Framework Explained.
  • 42. Phase 1: Before Development Begins
  • 43. Phase 2: During Definition and Design
  • 44. Phase 3: During Development
  • 45. Phase 4: During Deployment
  • 46. Phase 5: Maintenance and Operations
  • 47. OWASP Web Application Security Testing
  • 49. Reporting 1. Executive Summary 2. Test Parameters 1. Project Objective 2. Project Scope 3. Project Schedule 4. Targets 5. Limitations 3. Findings
  • 50. Findings Template Full access to the reporting section: https://www.owasp.org/index.php/Reporting
  • 52. OWASP Zed Attack Proxy Project • It is one of the world’s most popular free security tools and is actively maintained by hundreds of international volunteers. • It can help you automatically find security vulnerabilities in your web applications while you are developing and testing your applications. • Its also a great tool for experienced pentesters to use for manual security testing.
  • 53.
  • 55. OWASP Code Review Guide • Alpha Release OWASP Code Review 2.0 • It is a technical book written for those responsible for code reviews (management, developers, security professionals). • While security scanners are improving every day the need for manual security code reviews still needs to have a prominent place in organizations SDLC (Secure development life cycle) that desires good secure code in production. Full access to the Code Review Guide here : https://www.owasp.org/index.php/Category:OWASP_Code_Review_Project
  • 56. ISTQB: Advanced Security Tester Full access to the Certification here : http://www.istqb.org/certification-path-root/advanced-security-tester/advanced-security-tester-contents.html
  • 58. Other references • The Open Web Application Security Project OWASP https://www.owasp.org/ index.php/Main_Page • Microsoft Secure Development Lifecycle https://www.microsoft.com/en-us/ sdl/ • Infosec Institute Penetration Testing Methodology and Standards http:// resources.infosecinstitute.com/penetration-testing-methodologies-and- standards/ • ISTQB Security Tester http://www.istqb.org/certification-path-root/advanced- security-tester.html