SlideShare a Scribd company logo
Zen	
  and	
  the	
  Art	
  of	
  
Security	
  Testing
Testing	
  for	
  security	
  issues	
  as	
  a	
  variation	
  on	
  what	
  you	
  already	
  
do
About Cigital
UK  and  US  consulting  firm  specializing  in  software  security.  Global  
leader  in  helping  organizations  build  security  in.
Over  20  years  of  research  and  successful  software  security  consulting  
engagements  throughout  the  world.
Offers  consulting,  training,  mobile  application  security.  Published  in  
books,  white  papers,  and  articles.
About Me
• Consultant 13 years
• Software security: code, design, risk
• Financial, gaming, retail
• Source code, architecture, security testing
• (ISC)² European Advisory Council
• CISSP and CSSLP exam item author
• Author: 2 books + 1 chapter
• OWASP Mobile Top Ten contributor
• BS and MS in Computer Science
• Passionate about software testers as an untapped
resource in software security
Inspiration
www.eurostarsoftwaretesting.com
The Inspiration
Before one studies Zen, mountains are
mountains and waters are waters;
after a first glimpse into the truth of
Zen, mountains are no longer
mountains and waters are no longer
waters;
Photo: © 2009 Abi Skipp, via Flickr
The Metaphor
Before one learns security testing,
software is software and test cases are
test cases;
after a first glimpse into security
testing, software is no longer software
and test cases are no longer test cases;
Functional Testing vs.
Security Testing
Testing against the design/requirements is not enough:
Design
specification
& requirements
Actual
implementation
Missing features
(found in
functional testing)
Potential security
vulnerabilities
(not found in
functional tests)
Boundary condition
analysis (edge and
corner cases) Security testers
must think
“outside the box”
Goals
• Finding places in the user journey to do security testing
• Working that into user stories
• Working it into tests
• Modifying existing test cases to cover security
• Use tools for intercepting and modifying web requests
www.eurostarsoftwaretesting.com
INJECTING SECURITY
TESTS INTO USER
STORIES
the fundamentals
www.eurostarsoftwaretesting.com
Agile User Story
As a customer,
I want to change my shipping
address
so that packages will come to
my new address
THOUGHTS
UNDER
CONSTRUCTION
CAUTION
www.eurostarsoftwaretesting.com
Security User Stories
User Story
As a customer, I want
to track the shipment
of my order so that I
know when it will
arrive.
Security Story
As a fraudster, I want
to see the details of an
order that is not my
own so that I can learn
another person’s
private information.
12
“Bad Guys” in Security User Stories
Bad Guys
• Competitor
• Misbehaving customer
• Hacker
• Journalist
• Criminal
• Vandal
• Disgruntled employee
Goals
• Learn private
information
• Commit a fraudulent
transaction
• Damage the company’s
brand
• Prevent people from
doing their job
• Sell valuable information
“Bad Guy” User Stories
Acceptance Criterion
Given that the user is logged in
And the session is valid
And the request is for an order that does not
belong to the logged-in user,
When the user requests details
Then display an error message
And ensure the user is no longer logged in
And log an error to the application log.
As a criminal,
I want to see the details of an order that is not mine
So that I can learn private information of another person
“Good Guys” in Security User
Stories
Users
• Fraud Analyst
• Customer Service Rep
• System Operator
• Well-behaved user
• Manager
• Auditor
Goals
• Verify a transaction
• Determine some
important information
• Report on error
conditions
• Display the status of
something 15
“Good Guy” User Stories
As a security analyst,
I want to see a list of sessions with
unusal characteristics
So that I can identify and terminate bot
and fraud sessions
As a registered user,
I want to receive a notification when a
new device is added to my account
So that I know how many devices are
attached to my account
Goals of Security User Stories
• Identify an important actor (developers, security
people, IT people are usually not important)
• Identify an action or activity with tangible
outputs
• An easy tangible output is an error message
• Force the business to be engaged by getting them to
describe these output
• Create test cases that exercise the software that
way
• Can you make the error message appear?
www.eurostarsoftwaretesting.com
SECURITY TESTING
TECHNIQUES
www.eurostarsoftwaretesting.com
Web Security Testing vs.
Network Penetration Testing
Penetration Testing
• Finds services and open
ports
• Checks for vulnerable or
misconfigured
components
• Often targets standard
software, COTS
Web Security Testing
• Focuses on what is
running over HTTP(S)
• System usually contains
custom-built code
• Requires deeper
knowledge of business
processes and rules
The Idea
Functional Testers Know the Most!
• Test data to exercise this
whole flow
• Insert security test data
at each point
o SQL injection
o XML
o Cross-site scripting (XSS)
o JSON
o CSV
www.eurostarsoftwaretesting.com
Old Skool: Boundary Value Testing
Example Scenario
• App allows you to share mobile
minutes
• 1000 minutes across 3 lines
• Inputs are non-negative, integer
minute values
• Must sum to exactly 1000
• 0 and 1000 are valid
Examples
Line 1 250
Line 2 250
Line 3 500
Total 1000
Line 1 0
Line 2 1000
Line 3 0
Total 1000
Line 1 1
Line 2 1
Line 3 998
Total 1000
www.eurostarsoftwaretesting.com
Old Skool: Boundary Value Testing
Boundary Values
• One more, one less, and boundary
value
• -1, 0, 1, 999, 1000, 1001
• This is testing 101
A few other interesting ones
• MAXINT
• MININT
Examples
Line 1 -1
Line 2 0
Line 3 1
Total err
Line 1 999
Line 2 1000
Line 3 1001
Total err
Line 1 -1
Line 2 0
Line 3 1001
Total err
www.eurostarsoftwaretesting.com
Equivalence Class Partitioning
Sampling from Equivalence Classes
• Negative numbers
• Aphabetic characters
• Character set, encoding variations
• Unicode UTF-8
• Unicode UTF-16
• Unicode ISO-8859-1
• Null / missing / empty
Examples
Line 1 ABCD
Line 2 500
Line 3 500
Total err
Line 1 完全な失敗
Line 2 başarısızlık
Line 3 ‫ﻞﺸﻓ‬
Total err
Line 1
Line 2 1
Line 3 998
Total err
www.eurostarsoftwaretesting.com
Security and
Equivalence Class Partitioning
New Equivalence Classes
• SQL Injection
'or  1=1;  -­‐-­‐
'  and  'A'='A';
• Cross-site scripting
<script>
<img  src="http://.../"…>
• Other encoding issues
• URI encoding
• HTTP encoding
• Base64 misalignments
• Etc.
Examples
Line 1 ‘ or 1=1’;
Line 2 ’ and a=a; --
Line 3 ‘ group by --
Total err
Line 1 <script>
Line 2 <body
onload=>
Line 3 <a
onmousover>
Total err
www.eurostarsoftwaretesting.com
Where do I get these
test data?
• Cross-site Scripting (XSS)
• OWASP Cross Site Scripting Cheat Sheet
• https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sh
eet
• http://htmlpurifier.org/live/smoketests/xssAttacks.php
• SQL Injection
• SQLNinja
• SQLMap
• Kali Linux (many security tools built in)
• HTML, XML, JSON
www.eurostarsoftwaretesting.com
SECURITY TOOLS FOR
WEB TESTING
www.eurostarsoftwaretesting.com
Two Important Tools
1.Firebug
2.Burp
(don’t forget Selenium)
www.eurostarsoftwaretesting.com
Firebug
• Add-on for Firefox (http://getfirebug.com/)
• Views the DOM as it really is
• Interactively manipulates the DOM
• Great things to do:
• Undo disabled="true"
• Identify
XPATH
for
Selenium
www.eurostarsoftwaretesting.com
Intercepting Traffic
• Local proxy acts as man-in-
the-middle
• HTTPS traffic is decrypted
and viewable in plain text in
local proxy
• Insert data that you can’t put
into a field via the browser
• See hidden fields, cookies,
etc.
Even HTTPS traffic can be intercepted:
Tester’s Machine
Server
Tester’s Browser
Tester’s Proxy
HTTPS
Tunnel 1
HTTPS
Tunnel 2
Burp Proxy
• Start local proxy and configure
interface and port to listen to
• If necessary, configure
upstream proxy server(s)
You can run a local HTTP proxy on your own machine:
Security Testing
Monitor, intercept, and rewrite traffic in your local proxy:
Modify Parameters
www.eurostarsoftwaretesting.com
Bypassing All Client Side Checks
• After inputs are checked
• Before they’re received by
the server
Works on Mobile Too
Tester’s Machine
Server
Tester’s Browser
Tester’s Proxy
Rewrite
responses?
Wrapping	
  Up
Everyone who
has something to do with
SOFTWARE
has something to do with
SOFTWARE SECURITY
Wrapping Up
• User stories let us describe security behaviour
• Good Guys
• Bad Guys
• Error messages
• Put security test data into standard functional tests
• Get test data ideas from OWASP
• Get free tools and try them
• Use a proxy to intercept and modify HTTP
communication
www.eurostarsoftwaretesting.com
37
The best time to plant an oak
tree was twenty years ago.
The next best time is now.
—Ancient Proverb
Paco Hope, CISSP,CSSLP
paco@cigital.com
Twitter: @pacohope

More Related Content

What's hot

DevSecCon Asia 2017 Ofer Maor: AppSec DevOps automation – real world cases
DevSecCon Asia 2017 Ofer Maor: AppSec DevOps automation – real world casesDevSecCon Asia 2017 Ofer Maor: AppSec DevOps automation – real world cases
DevSecCon Asia 2017 Ofer Maor: AppSec DevOps automation – real world cases
DevSecCon
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Denim Group
 
SecDevOps Risk Workflow - v0.6
SecDevOps Risk Workflow - v0.6SecDevOps Risk Workflow - v0.6
SecDevOps Risk Workflow - v0.6
Dinis Cruz
 
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)
Dinis Cruz
 
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
Kevin Fealey
 
OWASP Top 10 practice workshop by Stanislav Breslavskyi
OWASP Top 10 practice workshop by Stanislav BreslavskyiOWASP Top 10 practice workshop by Stanislav Breslavskyi
OWASP Top 10 practice workshop by Stanislav Breslavskyi
Nazar Tymoshyk, CEH, Ph.D.
 
Manual Code Review
Manual Code ReviewManual Code Review
Simplify Dev with Complicated Security Tools
Simplify Dev with Complicated Security ToolsSimplify Dev with Complicated Security Tools
Simplify Dev with Complicated Security Tools
Kevin Fealey
 
The Journey to DevSecOps
The Journey to DevSecOpsThe Journey to DevSecOps
The Journey to DevSecOps
SeniorStoryteller
 
DevSecCon Singapore 2018 - Pushing left like a boss by Tanya Janca
DevSecCon Singapore 2018 - Pushing left like a boss by Tanya JancaDevSecCon Singapore 2018 - Pushing left like a boss by Tanya Janca
DevSecCon Singapore 2018 - Pushing left like a boss by Tanya Janca
DevSecCon
 
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
Nick Galbreath
 
Evil User Stories - Improve Your Application Security
Evil User Stories - Improve Your Application SecurityEvil User Stories - Improve Your Application Security
Evil User Stories - Improve Your Application Security
Anne Oikarinen
 
Security & DevOps- Ways To Make Sure Your Apps & Infrastructure Are Secure
Security & DevOps- Ways To Make Sure Your Apps & Infrastructure Are SecureSecurity & DevOps- Ways To Make Sure Your Apps & Infrastructure Are Secure
Security & DevOps- Ways To Make Sure Your Apps & Infrastructure Are Secure
Puppet
 
Static Analysis Security Testing for Dummies... and You
Static Analysis Security Testing for Dummies... and YouStatic Analysis Security Testing for Dummies... and You
Static Analysis Security Testing for Dummies... and You
Kevin Fealey
 
Blending Automated and Manual Testing
Blending Automated and Manual TestingBlending Automated and Manual Testing
Blending Automated and Manual Testing
Denim Group
 
Lessons from DevOps: Taking DevOps practices into your AppSec Life
Lessons from DevOps: Taking DevOps practices into your AppSec LifeLessons from DevOps: Taking DevOps practices into your AppSec Life
Lessons from DevOps: Taking DevOps practices into your AppSec Life
Matt Tesauro
 
Shifting left – embedding security into the devops pipeline by Mike d. Kail
Shifting left – embedding security into the devops pipeline by Mike d. KailShifting left – embedding security into the devops pipeline by Mike d. Kail
Shifting left – embedding security into the devops pipeline by Mike d. Kail
DevSecCon
 
Integrating DevOps and Security
Integrating DevOps and SecurityIntegrating DevOps and Security
Integrating DevOps and Security
Stijn Muylle
 
Making Security Agile
Making Security AgileMaking Security Agile
Making Security Agile
Oleg Gryb
 

What's hot (20)

DevSecCon Asia 2017 Ofer Maor: AppSec DevOps automation – real world cases
DevSecCon Asia 2017 Ofer Maor: AppSec DevOps automation – real world casesDevSecCon Asia 2017 Ofer Maor: AppSec DevOps automation – real world cases
DevSecCon Asia 2017 Ofer Maor: AppSec DevOps automation – real world cases
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
 
Agile and Secure Development
Agile and Secure DevelopmentAgile and Secure Development
Agile and Secure Development
 
SecDevOps Risk Workflow - v0.6
SecDevOps Risk Workflow - v0.6SecDevOps Risk Workflow - v0.6
SecDevOps Risk Workflow - v0.6
 
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)
 
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
 
OWASP Top 10 practice workshop by Stanislav Breslavskyi
OWASP Top 10 practice workshop by Stanislav BreslavskyiOWASP Top 10 practice workshop by Stanislav Breslavskyi
OWASP Top 10 practice workshop by Stanislav Breslavskyi
 
Manual Code Review
Manual Code ReviewManual Code Review
Manual Code Review
 
Simplify Dev with Complicated Security Tools
Simplify Dev with Complicated Security ToolsSimplify Dev with Complicated Security Tools
Simplify Dev with Complicated Security Tools
 
The Journey to DevSecOps
The Journey to DevSecOpsThe Journey to DevSecOps
The Journey to DevSecOps
 
DevSecCon Singapore 2018 - Pushing left like a boss by Tanya Janca
DevSecCon Singapore 2018 - Pushing left like a boss by Tanya JancaDevSecCon Singapore 2018 - Pushing left like a boss by Tanya Janca
DevSecCon Singapore 2018 - Pushing left like a boss by Tanya Janca
 
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
 
Evil User Stories - Improve Your Application Security
Evil User Stories - Improve Your Application SecurityEvil User Stories - Improve Your Application Security
Evil User Stories - Improve Your Application Security
 
Security & DevOps- Ways To Make Sure Your Apps & Infrastructure Are Secure
Security & DevOps- Ways To Make Sure Your Apps & Infrastructure Are SecureSecurity & DevOps- Ways To Make Sure Your Apps & Infrastructure Are Secure
Security & DevOps- Ways To Make Sure Your Apps & Infrastructure Are Secure
 
Static Analysis Security Testing for Dummies... and You
Static Analysis Security Testing for Dummies... and YouStatic Analysis Security Testing for Dummies... and You
Static Analysis Security Testing for Dummies... and You
 
Blending Automated and Manual Testing
Blending Automated and Manual TestingBlending Automated and Manual Testing
Blending Automated and Manual Testing
 
Lessons from DevOps: Taking DevOps practices into your AppSec Life
Lessons from DevOps: Taking DevOps practices into your AppSec LifeLessons from DevOps: Taking DevOps practices into your AppSec Life
Lessons from DevOps: Taking DevOps practices into your AppSec Life
 
Shifting left – embedding security into the devops pipeline by Mike d. Kail
Shifting left – embedding security into the devops pipeline by Mike d. KailShifting left – embedding security into the devops pipeline by Mike d. Kail
Shifting left – embedding security into the devops pipeline by Mike d. Kail
 
Integrating DevOps and Security
Integrating DevOps and SecurityIntegrating DevOps and Security
Integrating DevOps and Security
 
Making Security Agile
Making Security AgileMaking Security Agile
Making Security Agile
 

Viewers also liked

Can virtualization transform your API lifecycle?
Can virtualization transform your API lifecycle?Can virtualization transform your API lifecycle?
Can virtualization transform your API lifecycle?
TEST Huddle
 
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
TEST Huddle
 
OWASP Overview of Projects You Can Use Today - DefCamp 2012
OWASP Overview of Projects You Can Use Today - DefCamp 2012OWASP Overview of Projects You Can Use Today - DefCamp 2012
OWASP Overview of Projects You Can Use Today - DefCamp 2012DefCamp
 
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
TEST Huddle
 
Confess 2013: OWASP Top 10 and Java EE security in practice
Confess 2013: OWASP Top 10 and Java EE security in practiceConfess 2013: OWASP Top 10 and Java EE security in practice
Confess 2013: OWASP Top 10 and Java EE security in practice
Masoud Kalali
 
Digital Transformation, Testing and Automation
Digital Transformation, Testing and AutomationDigital Transformation, Testing and Automation
Digital Transformation, Testing and Automation
TEST Huddle
 
Security Development Lifecycle Tools
Security Development Lifecycle ToolsSecurity Development Lifecycle Tools
Security Development Lifecycle Tools
n|u - The Open Security Community
 
Testing as a Service Model
Testing as a Service ModelTesting as a Service Model
Testing as a Service Model
TEST Huddle
 
The current state of mobile testing by stephen janaway
The current state of mobile testing by stephen janawayThe current state of mobile testing by stephen janaway
The current state of mobile testing by stephen janaway
TEST Huddle
 
Continuous everything
Continuous everythingContinuous everything
Continuous everything
TEST Huddle
 
The Evolution of Test Automation for DevOps
The Evolution of Test Automation for DevOpsThe Evolution of Test Automation for DevOps
The Evolution of Test Automation for DevOps
TEST Huddle
 
'The Real Agile Testing Quadrants' with Michael Bolton
'The Real Agile Testing Quadrants' with Michael Bolton'The Real Agile Testing Quadrants' with Michael Bolton
'The Real Agile Testing Quadrants' with Michael Bolton
TEST Huddle
 
Kanban Testing And Lego
Kanban Testing And LegoKanban Testing And Lego
Kanban Testing And Lego
TEST Huddle
 
Are Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageAre Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test Coverage
TEST Huddle
 
Five Digital Age Trends That Will Dramatically Impact Testing And Quality Sk...
 Five Digital Age Trends That Will Dramatically Impact Testing And Quality Sk... Five Digital Age Trends That Will Dramatically Impact Testing And Quality Sk...
Five Digital Age Trends That Will Dramatically Impact Testing And Quality Sk...
TEST Huddle
 
Do we need testers on agile teams?
Do we need testers on agile teams?Do we need testers on agile teams?
Do we need testers on agile teams?
TEST Huddle
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
Amit Ranjan
 

Viewers also liked (17)

Can virtualization transform your API lifecycle?
Can virtualization transform your API lifecycle?Can virtualization transform your API lifecycle?
Can virtualization transform your API lifecycle?
 
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
 
OWASP Overview of Projects You Can Use Today - DefCamp 2012
OWASP Overview of Projects You Can Use Today - DefCamp 2012OWASP Overview of Projects You Can Use Today - DefCamp 2012
OWASP Overview of Projects You Can Use Today - DefCamp 2012
 
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
 
Confess 2013: OWASP Top 10 and Java EE security in practice
Confess 2013: OWASP Top 10 and Java EE security in practiceConfess 2013: OWASP Top 10 and Java EE security in practice
Confess 2013: OWASP Top 10 and Java EE security in practice
 
Digital Transformation, Testing and Automation
Digital Transformation, Testing and AutomationDigital Transformation, Testing and Automation
Digital Transformation, Testing and Automation
 
Security Development Lifecycle Tools
Security Development Lifecycle ToolsSecurity Development Lifecycle Tools
Security Development Lifecycle Tools
 
Testing as a Service Model
Testing as a Service ModelTesting as a Service Model
Testing as a Service Model
 
The current state of mobile testing by stephen janaway
The current state of mobile testing by stephen janawayThe current state of mobile testing by stephen janaway
The current state of mobile testing by stephen janaway
 
Continuous everything
Continuous everythingContinuous everything
Continuous everything
 
The Evolution of Test Automation for DevOps
The Evolution of Test Automation for DevOpsThe Evolution of Test Automation for DevOps
The Evolution of Test Automation for DevOps
 
'The Real Agile Testing Quadrants' with Michael Bolton
'The Real Agile Testing Quadrants' with Michael Bolton'The Real Agile Testing Quadrants' with Michael Bolton
'The Real Agile Testing Quadrants' with Michael Bolton
 
Kanban Testing And Lego
Kanban Testing And LegoKanban Testing And Lego
Kanban Testing And Lego
 
Are Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageAre Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test Coverage
 
Five Digital Age Trends That Will Dramatically Impact Testing And Quality Sk...
 Five Digital Age Trends That Will Dramatically Impact Testing And Quality Sk... Five Digital Age Trends That Will Dramatically Impact Testing And Quality Sk...
Five Digital Age Trends That Will Dramatically Impact Testing And Quality Sk...
 
Do we need testers on agile teams?
Do we need testers on agile teams?Do we need testers on agile teams?
Do we need testers on agile teams?
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
 

Similar to Zen and the art of Security Testing

What Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software SecurityWhat Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software Security
Anne Oikarinen
 
Java application security the hard way - a workshop for the serious developer
Java application security the hard way - a workshop for the serious developerJava application security the hard way - a workshop for the serious developer
Java application security the hard way - a workshop for the serious developer
Steve Poole
 
How an Attacker "Audits" Your Software Systems
How an Attacker "Audits" Your Software SystemsHow an Attacker "Audits" Your Software Systems
How an Attacker "Audits" Your Software Systems
Security Innovation
 
Intro to INFOSEC
Intro to INFOSECIntro to INFOSEC
Intro to INFOSEC
Sean Whalen
 
How to Destroy a Database
How to Destroy a DatabaseHow to Destroy a Database
How to Destroy a Database
John Ashmead
 
Security Testing.pptx
Security Testing.pptxSecurity Testing.pptx
Security Testing.pptx
osandadeshan
 
AppSec in an Agile World
AppSec in an Agile WorldAppSec in an Agile World
AppSec in an Agile World
David Lindner
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top Ten
Security Innovation
 
Crash Course In Brain Surgery
Crash Course In Brain SurgeryCrash Course In Brain Surgery
Crash Course In Brain Surgery
morisson
 
Evaluating Web App, Mobile App, and API Security - Matt Cohen
Evaluating Web App, Mobile App, and API Security - Matt CohenEvaluating Web App, Mobile App, and API Security - Matt Cohen
Evaluating Web App, Mobile App, and API Security - Matt Cohen
Inman News
 
IBWAS 2010: Web Security From an Auditor's Standpoint
IBWAS 2010: Web Security From an Auditor's StandpointIBWAS 2010: Web Security From an Auditor's Standpoint
IBWAS 2010: Web Security From an Auditor's Standpoint
Luis Grangeia
 
Keeping Secrets on the Internet of Things - Mobile Web Application Security
Keeping Secrets on the Internet of Things - Mobile Web Application SecurityKeeping Secrets on the Internet of Things - Mobile Web Application Security
Keeping Secrets on the Internet of Things - Mobile Web Application Security
Kelly Robertson
 
Outpost24 webinar - Demystifying Web Application Security with Attack Surface...
Outpost24 webinar - Demystifying Web Application Security with Attack Surface...Outpost24 webinar - Demystifying Web Application Security with Attack Surface...
Outpost24 webinar - Demystifying Web Application Security with Attack Surface...
Outpost24
 
Identifying a Compromised WordPress Site
Identifying a Compromised WordPress SiteIdentifying a Compromised WordPress Site
Identifying a Compromised WordPress Site
Chris Burgess
 
iOS Application Security.pdf
iOS Application Security.pdfiOS Application Security.pdf
iOS Application Security.pdf
Ravi Aggarwal
 
Tune in for the Ultimate WAF Torture Test: Bots Attack!
Tune in for the Ultimate WAF Torture Test: Bots Attack!Tune in for the Ultimate WAF Torture Test: Bots Attack!
Tune in for the Ultimate WAF Torture Test: Bots Attack!
Distil Networks
 
Jason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional ToolsJason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional Tools
centralohioissa
 
Top 20 certified ethical hacker interview questions and answer
Top 20 certified ethical hacker interview questions and answerTop 20 certified ethical hacker interview questions and answer
Top 20 certified ethical hacker interview questions and answer
ShivamSharma909
 
Survey Presentation About Application Security
Survey Presentation About Application SecuritySurvey Presentation About Application Security
Survey Presentation About Application Security
Nicholas Davis
 

Similar to Zen and the art of Security Testing (20)

What Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software SecurityWhat Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software Security
 
Java application security the hard way - a workshop for the serious developer
Java application security the hard way - a workshop for the serious developerJava application security the hard way - a workshop for the serious developer
Java application security the hard way - a workshop for the serious developer
 
How an Attacker "Audits" Your Software Systems
How an Attacker "Audits" Your Software SystemsHow an Attacker "Audits" Your Software Systems
How an Attacker "Audits" Your Software Systems
 
Intro to INFOSEC
Intro to INFOSECIntro to INFOSEC
Intro to INFOSEC
 
How to Destroy a Database
How to Destroy a DatabaseHow to Destroy a Database
How to Destroy a Database
 
Security Testing.pptx
Security Testing.pptxSecurity Testing.pptx
Security Testing.pptx
 
AppSec in an Agile World
AppSec in an Agile WorldAppSec in an Agile World
AppSec in an Agile World
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top Ten
 
Crash Course In Brain Surgery
Crash Course In Brain SurgeryCrash Course In Brain Surgery
Crash Course In Brain Surgery
 
Evaluating Web App, Mobile App, and API Security - Matt Cohen
Evaluating Web App, Mobile App, and API Security - Matt CohenEvaluating Web App, Mobile App, and API Security - Matt Cohen
Evaluating Web App, Mobile App, and API Security - Matt Cohen
 
Luis Grangeia IBWAS
Luis Grangeia IBWASLuis Grangeia IBWAS
Luis Grangeia IBWAS
 
IBWAS 2010: Web Security From an Auditor's Standpoint
IBWAS 2010: Web Security From an Auditor's StandpointIBWAS 2010: Web Security From an Auditor's Standpoint
IBWAS 2010: Web Security From an Auditor's Standpoint
 
Keeping Secrets on the Internet of Things - Mobile Web Application Security
Keeping Secrets on the Internet of Things - Mobile Web Application SecurityKeeping Secrets on the Internet of Things - Mobile Web Application Security
Keeping Secrets on the Internet of Things - Mobile Web Application Security
 
Outpost24 webinar - Demystifying Web Application Security with Attack Surface...
Outpost24 webinar - Demystifying Web Application Security with Attack Surface...Outpost24 webinar - Demystifying Web Application Security with Attack Surface...
Outpost24 webinar - Demystifying Web Application Security with Attack Surface...
 
Identifying a Compromised WordPress Site
Identifying a Compromised WordPress SiteIdentifying a Compromised WordPress Site
Identifying a Compromised WordPress Site
 
iOS Application Security.pdf
iOS Application Security.pdfiOS Application Security.pdf
iOS Application Security.pdf
 
Tune in for the Ultimate WAF Torture Test: Bots Attack!
Tune in for the Ultimate WAF Torture Test: Bots Attack!Tune in for the Ultimate WAF Torture Test: Bots Attack!
Tune in for the Ultimate WAF Torture Test: Bots Attack!
 
Jason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional ToolsJason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional Tools
 
Top 20 certified ethical hacker interview questions and answer
Top 20 certified ethical hacker interview questions and answerTop 20 certified ethical hacker interview questions and answer
Top 20 certified ethical hacker interview questions and answer
 
Survey Presentation About Application Security
Survey Presentation About Application SecuritySurvey Presentation About Application Security
Survey Presentation About Application Security
 

More from TEST Huddle

Why We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureWhy We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- Accenture
TEST Huddle
 
Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar
TEST Huddle
 
Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway
TEST Huddle
 
Being a Tester in Scrum
Being a Tester in ScrumBeing a Tester in Scrum
Being a Tester in Scrum
TEST Huddle
 
Leveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsLeveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional Tests
TEST Huddle
 
Using Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkUsing Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test Work
TEST Huddle
 
Big Data: The Magic to Attain New Heights
Big Data:  The Magic to Attain New HeightsBig Data:  The Magic to Attain New Heights
Big Data: The Magic to Attain New Heights
TEST Huddle
 
Will Robots Replace Testers?
Will Robots Replace Testers?Will Robots Replace Testers?
Will Robots Replace Testers?
TEST Huddle
 
TDD For The Rest Of Us
TDD For The Rest Of UsTDD For The Rest Of Us
TDD For The Rest Of Us
TEST Huddle
 
Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)
TEST Huddle
 
Creating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesCreating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger Enterprises
TEST Huddle
 
Is There A Risk?
Is There A Risk?Is There A Risk?
Is There A Risk?
TEST Huddle
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
TEST Huddle
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
TEST Huddle
 
Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey
TEST Huddle
 
Practical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsPractical Test Strategy Using Heuristics
Practical Test Strategy Using Heuristics
TEST Huddle
 
Thinking Through Your Role
Thinking Through Your RoleThinking Through Your Role
Thinking Through Your Role
TEST Huddle
 
Using Selenium 3 0
Using Selenium 3 0Using Selenium 3 0
Using Selenium 3 0
TEST Huddle
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and Tool
TEST Huddle
 
The world class webinar series
The world class webinar seriesThe world class webinar series
The world class webinar series
TEST Huddle
 

More from TEST Huddle (20)

Why We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureWhy We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- Accenture
 
Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar
 
Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway
 
Being a Tester in Scrum
Being a Tester in ScrumBeing a Tester in Scrum
Being a Tester in Scrum
 
Leveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsLeveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional Tests
 
Using Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkUsing Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test Work
 
Big Data: The Magic to Attain New Heights
Big Data:  The Magic to Attain New HeightsBig Data:  The Magic to Attain New Heights
Big Data: The Magic to Attain New Heights
 
Will Robots Replace Testers?
Will Robots Replace Testers?Will Robots Replace Testers?
Will Robots Replace Testers?
 
TDD For The Rest Of Us
TDD For The Rest Of UsTDD For The Rest Of Us
TDD For The Rest Of Us
 
Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)
 
Creating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesCreating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger Enterprises
 
Is There A Risk?
Is There A Risk?Is There A Risk?
Is There A Risk?
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
 
Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey
 
Practical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsPractical Test Strategy Using Heuristics
Practical Test Strategy Using Heuristics
 
Thinking Through Your Role
Thinking Through Your RoleThinking Through Your Role
Thinking Through Your Role
 
Using Selenium 3 0
Using Selenium 3 0Using Selenium 3 0
Using Selenium 3 0
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and Tool
 
The world class webinar series
The world class webinar seriesThe world class webinar series
The world class webinar series
 

Recently uploaded

Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 

Recently uploaded (20)

Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 

Zen and the art of Security Testing

  • 1. Zen  and  the  Art  of   Security  Testing Testing  for  security  issues  as  a  variation  on  what  you  already   do
  • 2. About Cigital UK  and  US  consulting  firm  specializing  in  software  security.  Global   leader  in  helping  organizations  build  security  in. Over  20  years  of  research  and  successful  software  security  consulting   engagements  throughout  the  world. Offers  consulting,  training,  mobile  application  security.  Published  in   books,  white  papers,  and  articles.
  • 3. About Me • Consultant 13 years • Software security: code, design, risk • Financial, gaming, retail • Source code, architecture, security testing • (ISC)² European Advisory Council • CISSP and CSSLP exam item author • Author: 2 books + 1 chapter • OWASP Mobile Top Ten contributor • BS and MS in Computer Science • Passionate about software testers as an untapped resource in software security
  • 5. The Inspiration Before one studies Zen, mountains are mountains and waters are waters; after a first glimpse into the truth of Zen, mountains are no longer mountains and waters are no longer waters; Photo: © 2009 Abi Skipp, via Flickr
  • 6. The Metaphor Before one learns security testing, software is software and test cases are test cases; after a first glimpse into security testing, software is no longer software and test cases are no longer test cases;
  • 7. Functional Testing vs. Security Testing Testing against the design/requirements is not enough: Design specification & requirements Actual implementation Missing features (found in functional testing) Potential security vulnerabilities (not found in functional tests) Boundary condition analysis (edge and corner cases) Security testers must think “outside the box”
  • 8. Goals • Finding places in the user journey to do security testing • Working that into user stories • Working it into tests • Modifying existing test cases to cover security • Use tools for intercepting and modifying web requests www.eurostarsoftwaretesting.com
  • 9. INJECTING SECURITY TESTS INTO USER STORIES the fundamentals www.eurostarsoftwaretesting.com
  • 10. Agile User Story As a customer, I want to change my shipping address so that packages will come to my new address
  • 12. Security User Stories User Story As a customer, I want to track the shipment of my order so that I know when it will arrive. Security Story As a fraudster, I want to see the details of an order that is not my own so that I can learn another person’s private information. 12
  • 13. “Bad Guys” in Security User Stories Bad Guys • Competitor • Misbehaving customer • Hacker • Journalist • Criminal • Vandal • Disgruntled employee Goals • Learn private information • Commit a fraudulent transaction • Damage the company’s brand • Prevent people from doing their job • Sell valuable information
  • 14. “Bad Guy” User Stories Acceptance Criterion Given that the user is logged in And the session is valid And the request is for an order that does not belong to the logged-in user, When the user requests details Then display an error message And ensure the user is no longer logged in And log an error to the application log. As a criminal, I want to see the details of an order that is not mine So that I can learn private information of another person
  • 15. “Good Guys” in Security User Stories Users • Fraud Analyst • Customer Service Rep • System Operator • Well-behaved user • Manager • Auditor Goals • Verify a transaction • Determine some important information • Report on error conditions • Display the status of something 15
  • 16. “Good Guy” User Stories As a security analyst, I want to see a list of sessions with unusal characteristics So that I can identify and terminate bot and fraud sessions As a registered user, I want to receive a notification when a new device is added to my account So that I know how many devices are attached to my account
  • 17. Goals of Security User Stories • Identify an important actor (developers, security people, IT people are usually not important) • Identify an action or activity with tangible outputs • An easy tangible output is an error message • Force the business to be engaged by getting them to describe these output • Create test cases that exercise the software that way • Can you make the error message appear? www.eurostarsoftwaretesting.com
  • 19. Web Security Testing vs. Network Penetration Testing Penetration Testing • Finds services and open ports • Checks for vulnerable or misconfigured components • Often targets standard software, COTS Web Security Testing • Focuses on what is running over HTTP(S) • System usually contains custom-built code • Requires deeper knowledge of business processes and rules
  • 20. The Idea Functional Testers Know the Most! • Test data to exercise this whole flow • Insert security test data at each point o SQL injection o XML o Cross-site scripting (XSS) o JSON o CSV www.eurostarsoftwaretesting.com
  • 21. Old Skool: Boundary Value Testing Example Scenario • App allows you to share mobile minutes • 1000 minutes across 3 lines • Inputs are non-negative, integer minute values • Must sum to exactly 1000 • 0 and 1000 are valid Examples Line 1 250 Line 2 250 Line 3 500 Total 1000 Line 1 0 Line 2 1000 Line 3 0 Total 1000 Line 1 1 Line 2 1 Line 3 998 Total 1000 www.eurostarsoftwaretesting.com
  • 22. Old Skool: Boundary Value Testing Boundary Values • One more, one less, and boundary value • -1, 0, 1, 999, 1000, 1001 • This is testing 101 A few other interesting ones • MAXINT • MININT Examples Line 1 -1 Line 2 0 Line 3 1 Total err Line 1 999 Line 2 1000 Line 3 1001 Total err Line 1 -1 Line 2 0 Line 3 1001 Total err www.eurostarsoftwaretesting.com
  • 23. Equivalence Class Partitioning Sampling from Equivalence Classes • Negative numbers • Aphabetic characters • Character set, encoding variations • Unicode UTF-8 • Unicode UTF-16 • Unicode ISO-8859-1 • Null / missing / empty Examples Line 1 ABCD Line 2 500 Line 3 500 Total err Line 1 完全な失敗 Line 2 başarısızlık Line 3 ‫ﻞﺸﻓ‬ Total err Line 1 Line 2 1 Line 3 998 Total err www.eurostarsoftwaretesting.com
  • 24. Security and Equivalence Class Partitioning New Equivalence Classes • SQL Injection 'or  1=1;  -­‐-­‐ '  and  'A'='A'; • Cross-site scripting <script> <img  src="http://.../"…> • Other encoding issues • URI encoding • HTTP encoding • Base64 misalignments • Etc. Examples Line 1 ‘ or 1=1’; Line 2 ’ and a=a; -- Line 3 ‘ group by -- Total err Line 1 <script> Line 2 <body onload=> Line 3 <a onmousover> Total err www.eurostarsoftwaretesting.com
  • 25. Where do I get these test data? • Cross-site Scripting (XSS) • OWASP Cross Site Scripting Cheat Sheet • https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sh eet • http://htmlpurifier.org/live/smoketests/xssAttacks.php • SQL Injection • SQLNinja • SQLMap • Kali Linux (many security tools built in) • HTML, XML, JSON www.eurostarsoftwaretesting.com
  • 26. SECURITY TOOLS FOR WEB TESTING www.eurostarsoftwaretesting.com
  • 27. Two Important Tools 1.Firebug 2.Burp (don’t forget Selenium) www.eurostarsoftwaretesting.com
  • 28. Firebug • Add-on for Firefox (http://getfirebug.com/) • Views the DOM as it really is • Interactively manipulates the DOM • Great things to do: • Undo disabled="true" • Identify XPATH for Selenium www.eurostarsoftwaretesting.com
  • 29. Intercepting Traffic • Local proxy acts as man-in- the-middle • HTTPS traffic is decrypted and viewable in plain text in local proxy • Insert data that you can’t put into a field via the browser • See hidden fields, cookies, etc. Even HTTPS traffic can be intercepted: Tester’s Machine Server Tester’s Browser Tester’s Proxy HTTPS Tunnel 1 HTTPS Tunnel 2
  • 30. Burp Proxy • Start local proxy and configure interface and port to listen to • If necessary, configure upstream proxy server(s) You can run a local HTTP proxy on your own machine:
  • 31. Security Testing Monitor, intercept, and rewrite traffic in your local proxy:
  • 33. Bypassing All Client Side Checks • After inputs are checked • Before they’re received by the server Works on Mobile Too Tester’s Machine Server Tester’s Browser Tester’s Proxy Rewrite responses?
  • 35. Everyone who has something to do with SOFTWARE has something to do with SOFTWARE SECURITY
  • 36. Wrapping Up • User stories let us describe security behaviour • Good Guys • Bad Guys • Error messages • Put security test data into standard functional tests • Get test data ideas from OWASP • Get free tools and try them • Use a proxy to intercept and modify HTTP communication www.eurostarsoftwaretesting.com
  • 37. 37 The best time to plant an oak tree was twenty years ago. The next best time is now. —Ancient Proverb Paco Hope, CISSP,CSSLP paco@cigital.com Twitter: @pacohope