SlideShare a Scribd company logo
1 of 31
Download to read offline
Bridging the Gap - Security and
Software Testing
Roberto Suggi Liverani
ANZTB Test Conference - March 2011




                                     1
Agenda


 Roberto, what test are you doing?

 Is this a defect, vulnerability or both?

 What can we do to improve things?



                                             2
About Me

 Roberto Suggi Liverani
 Principal Security Consultant - Security-Assessment.com
    roberto.suggi@security-assessment.com
    http://www.security-assessment.com
 Founded OWASP New Zealand Chapter
    http://owasp.org/index.php/owasp_new_zealand
 Research topics:
    Black SEO
    Firefox Extensions
    Bug discovery 
 Blog: http://malerisch.net
 Twitter: https://twitter.com/malerisch

                                                            3
Part I

Roberto, what test are you doing?




                                    4
What do I do for living (and fun)


 Hack almost everything
    Web Applications, Software, Networks, etc

 Experience
    From small companies to large enterprises

 Findings bugs
    Not just my work, it’s also my passion




                                                 5
Security Testing

 Type of assessment
    Black Box
    Grey Box
    White Box

 Type of services
    Web application intrusion testing
    Source code review
    Software testing

 Scope
    Discover security bugs
    Provide recommendations
                                         6
Prerequisites

 NO QA = NO Security Testing
    Target software/application must be 100% functional
    A correct QA process ensures reliable results



 The environment must be stable during testing
    No testing while changes occur
    A “confirmed” security issue must be reproducible

 The real world
    Applications haven’t had through QA testing
    Functionality issues (defects) often found

                                                           7
Security Testing

 Process
    Information gathering
    Follow “hacker” instinct
    Spot vulnerability before starting testing

 Follow methodologies
    Web Application
        OWASP Testing Guide
    Software testing
        The art of software security assessment
        Exploiting software



                                                   8
Tools

 Web hacking
   Web Proxies
   Web Scanner Frameworks
   Browser + Extensions/Add-ons
   Manual testing

 Software testing
    Disassembler and debugger
    Extensions + Plugins
    Fuzzing tools

 Source code review
    Static analysis tools
                                   9
What do we find?

   Common vulnerabilities in web applications
     A1: Injection
     A2: Cross-Site Scripting (XSS)
     A3: Broken Authentication and Session Management
     A4: Insecure Direct Object References
     […]

 Frameworks
    PHP
    Java
    .NET



                                                         10
Bugs In Software

 Memory corruption bugs
    Stack/Heap buffer overflows

 Other bugs
    Filter controls bypass

 Where?
   Some examples from our research:
      Browser and browser plugins
      Internet Kiosks
      File Formats (e.g. chm)
      MS Office Products

                                       11
After Testing

 Reporting
    Exec/tech overviews
    Details section
    Recommendations

 Classification and severity
    Type of vulnerability
    Level of exploitability

 Discussion with clients




                                12
Ideal Approach

 Ideal approach
    Security should be a priority in early phases
    Security must be a component of every project
        From the initial stage to production

 Changes in the industry
    Some of our clients are moving in this direction
    New project:
       Ask us - “What do you think?”
       Recommendations can help avoid serious design flaws




                                                              13
Part II

Is this a defect, vulnerability or both?




                                           14
A defect or a vulnerability?

 Definition
    defect = potential vulnerability

 Defects can:
    Hide an underlying vulnerability
    Have security implications (and so it is also a vulnerability)
    Lead in the discovery of a vulnerable associated component

 Strategy prior testing
    Ask for more info from QA testers




                                                                      15
Sharing is caring!

 QA feedback
    User A edits profile page; has details of user B
    Could not reproduce the issue

 Assumption
    “This is a proxy/load balancing issue”

 Analysis
    Security issues in the session management

 Conclusions
    Each team might have their own ideas about the issue
    Further investigation is required if opinion differs on the same matter
                                                                               16
Login Fails Open

 QA Feedback
    “When I login using these steps, the Welcome page is blank”

 Analysis
    Login bypass via internal pages

 Conclusion
    A defect affecting a critical security component (e.g. authentication) is
     a vulnerability




                                                                             17
Lethal Injections

 QA Feedback
    Last name with single quote (e.g. N’Doba) accepted
    Database error when changing last name from user profile page

 Analysis
    The single quote broke the SQL query statement
    SQL injection allowed remote code execution

 Conclusion
    Simple observations can make the difference




                                                                     18
I like refunds…

 QA Feedback
    Refund action is possible
    For each refund, 50 cents is given to merchant
    System accepted 2 split refund transactions for the same payment

 Analysis
    A 10 dollar payment refunded with mini transactions of 1 cent
    For each mini transaction, 50 cents were given to the merchant
    Fraud was possible

 Conclusion
    A defect can lead to discovery of security issues in other components
     associated to the defect
                                                                             19
I would like all the seats, please.

 QA Feedback
    “System is fine but we did not test the release
     mechanism for booked seats”

 Analysis
    System failed to free booked seats if not purchased

 Conclusion
    Untested/out-of-scope area can lead to discovery of issues with
     security implications




                                                                       20
Part III

What can we do to improve things?




                                    21
Some ideas

 Security testing is not part of QA.
    Is it someone’s fault?

 Would like access to:
   Bug tracking software
   Access to identified defects (database)

 Spot weaknesses by area (e.g. authentication)
    Gives an indication where to look first or with more focus

 Pre-testing meeting with QA team
    See what they think about the application

                                                                  22
Security and QA

 Provide security test cases
    Preliminary security testing
    No exploitation – flag potential issues
    Manual testing and white box approach



 Identify defects with security impacts earlier
    Worst case: QA needs to be re-performed after a major re-design

 Costs vs ROI
    Costs increase for additional testing during QA
    ROI achieved if no delays or unexpected costs arise

                                                                       23
Example of preliminary checks

 Case-sensitive login
    Username:
       Test
       test

 Authorisation controls
    Profile.aspx?memberId=10000
    Try: memberId=10001

    If user 10000 can access user 10001’s page without authorisation




                                                                        24
Further examples

 Strong password format
    User can choose “password” as password
    User can choose “qwerty” as password

 Credentials enumeration
    Error message returns “wrong username”
    Error message returns “wrong password”

 Malformed request
    Debug exception output is publicly viewable




                                                   25
Quick checks

 Cookie settings
    No Secure flag in HTTPS
    No HTTPOnly flag
    Sensitive info in cookie
    Cookie domain and path incorrectly set

 Data Transport
    Sensitive information transmitted over HTTP

 Data Storage
    Credentials stored in database with no hash



                                                   26
Collaboration

 Online collaboration
    OWASP Project to bridge gap between security and QA
    QA communities should do the same

 Local collaboration
    Increase collaboration between chapters
        OWASP NZ chapter
        ANZTB SIGIST
    Security talks at QA chapter meetings and vice versa




                                                            27
Conclusion

 Wrap up

    QA is prerequisite for any security testing

    QA defect database should be accessed by security staff

    Preliminary security test-cases can identify low-hanging fruit




                                                                      28
Questions?

 Thanks!




 E-mail: roberto.suggi@security-assessment.com

 Blog: http://malerisch.net
 Twitter: https://twitter.com/malerisch




                                                  29
References/Useful Links

 Software Security Testing in Quality Assurance and Development
    http://www.qasec.com/
 Fuzzing for Software Security Testing and Quality Assurance
    ISBN-10: 1596932147, Artech House; 1 edition (June 30, 2008)
 OWASP – Software Quality Assurance
    https://www.owasp.org/index.php/Software_Quality_Assurance
 Vulnerability as a Function of Software Quality
    https://www.giac.org/paper/gsec/647/vulnerability-function-software-
     quality/101493
 Why QA Doesn't Do Security Testing
    https://www.infosecisland.com/blogview/10736-Why-QA-Doesnt-Do-
     Security-Testing.html


                                                                            30
References/Useful links

 Security is the sexy part of QA
    http://www.madirish.net/justin/security-sexy-part-qa
 Are Security and Quality Assurance Part of Your Software
  Development Life Cycle?
    http://www.educause.edu/ir/library/powerpoint/WRC0667.pps




                                                                 31

More Related Content

What's hot

Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b...
Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b...Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b...
Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b...Rana Khalil
 
Hackfest 2019 Talk
Hackfest 2019 TalkHackfest 2019 Talk
Hackfest 2019 TalkRana Khalil
 
Security as a new metric for Business, Product and Development Lifecycle
Security as a new metric for Business, Product and Development LifecycleSecurity as a new metric for Business, Product and Development Lifecycle
Security as a new metric for Business, Product and Development LifecycleNazar Tymoshyk, CEH, Ph.D.
 
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 YouKevin Fealey
 
Bringing the hacker mindset into requirements and testing by Eapen Thomas and...
Bringing the hacker mindset into requirements and testing by Eapen Thomas and...Bringing the hacker mindset into requirements and testing by Eapen Thomas and...
Bringing the hacker mindset into requirements and testing by Eapen Thomas and...QA or the Highway
 
Essential security measures in ASP.NET MVC
Essential security measures in ASP.NET MVC Essential security measures in ASP.NET MVC
Essential security measures in ASP.NET MVC Rafał Hryniewski
 
Owasp top 10 web application security hazards - Part 1
Owasp top 10 web application security hazards - Part 1Owasp top 10 web application security hazards - Part 1
Owasp top 10 web application security hazards - Part 1Abhinav Sejpal
 
Owasp top 10 web application security hazards part 2
Owasp top 10 web application security hazards part 2Owasp top 10 web application security hazards part 2
Owasp top 10 web application security hazards part 2Abhinav Sejpal
 
New Era of Software with modern Application Security (v0.6)
New Era of Software with modern Application Security (v0.6)New Era of Software with modern Application Security (v0.6)
New Era of Software with modern Application Security (v0.6)Dinis Cruz
 
2009: Securing Applications With Web Application Firewalls and Vulnerability ...
2009: Securing Applications With Web Application Firewalls and Vulnerability ...2009: Securing Applications With Web Application Firewalls and Vulnerability ...
2009: Securing Applications With Web Application Firewalls and Vulnerability ...Neil Matatall
 
Making Security Agile
Making Security AgileMaking Security Agile
Making Security AgileOleg Gryb
 
10 Steps To Secure Agile Development
10 Steps To Secure Agile Development10 Steps To Secure Agile Development
10 Steps To Secure Agile DevelopmentCheckmarx
 
IBM AppScan - the total software security solution
IBM AppScan - the total software security solutionIBM AppScan - the total software security solution
IBM AppScan - the total software security solutionhearme limited company
 
Bug Bounty #Defconlucknow2016
Bug Bounty #Defconlucknow2016Bug Bounty #Defconlucknow2016
Bug Bounty #Defconlucknow2016Shubham Gupta
 
Subgraph vega countermeasure2012
Subgraph vega countermeasure2012Subgraph vega countermeasure2012
Subgraph vega countermeasure2012David Mirza
 
AppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileAppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileOleg Gryb
 
Penetration testing dont just leave it to chance
Penetration testing dont just leave it to chancePenetration testing dont just leave it to chance
Penetration testing dont just leave it to chanceDr. Anish Cheriyan (PhD)
 
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
 

What's hot (20)

Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b...
Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b...Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b...
Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b...
 
Hackfest 2019 Talk
Hackfest 2019 TalkHackfest 2019 Talk
Hackfest 2019 Talk
 
Security as a new metric for Business, Product and Development Lifecycle
Security as a new metric for Business, Product and Development LifecycleSecurity as a new metric for Business, Product and Development Lifecycle
Security as a new metric for Business, Product and Development Lifecycle
 
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
 
Bringing the hacker mindset into requirements and testing by Eapen Thomas and...
Bringing the hacker mindset into requirements and testing by Eapen Thomas and...Bringing the hacker mindset into requirements and testing by Eapen Thomas and...
Bringing the hacker mindset into requirements and testing by Eapen Thomas and...
 
Essential security measures in ASP.NET MVC
Essential security measures in ASP.NET MVC Essential security measures in ASP.NET MVC
Essential security measures in ASP.NET MVC
 
Owasp top 10 web application security hazards - Part 1
Owasp top 10 web application security hazards - Part 1Owasp top 10 web application security hazards - Part 1
Owasp top 10 web application security hazards - Part 1
 
Owasp top 10 web application security hazards part 2
Owasp top 10 web application security hazards part 2Owasp top 10 web application security hazards part 2
Owasp top 10 web application security hazards part 2
 
New Era of Software with modern Application Security (v0.6)
New Era of Software with modern Application Security (v0.6)New Era of Software with modern Application Security (v0.6)
New Era of Software with modern Application Security (v0.6)
 
2009: Securing Applications With Web Application Firewalls and Vulnerability ...
2009: Securing Applications With Web Application Firewalls and Vulnerability ...2009: Securing Applications With Web Application Firewalls and Vulnerability ...
2009: Securing Applications With Web Application Firewalls and Vulnerability ...
 
Making Security Agile
Making Security AgileMaking Security Agile
Making Security Agile
 
10 Steps To Secure Agile Development
10 Steps To Secure Agile Development10 Steps To Secure Agile Development
10 Steps To Secure Agile Development
 
Hack through Injections
Hack through InjectionsHack through Injections
Hack through Injections
 
IBM AppScan - the total software security solution
IBM AppScan - the total software security solutionIBM AppScan - the total software security solution
IBM AppScan - the total software security solution
 
Bug Bounty #Defconlucknow2016
Bug Bounty #Defconlucknow2016Bug Bounty #Defconlucknow2016
Bug Bounty #Defconlucknow2016
 
Subgraph vega countermeasure2012
Subgraph vega countermeasure2012Subgraph vega countermeasure2012
Subgraph vega countermeasure2012
 
AppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileAppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security Agile
 
Android Secure Coding
Android Secure CodingAndroid Secure Coding
Android Secure Coding
 
Penetration testing dont just leave it to chance
Penetration testing dont just leave it to chancePenetration testing dont just leave it to chance
Penetration testing dont just leave it to chance
 
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...
 

Similar to Bridging the gap - Security and Software Testing

Agnitio: its static analysis, but not as we know it
Agnitio: its static analysis, but not as we know itAgnitio: its static analysis, but not as we know it
Agnitio: its static analysis, but not as we know itSecurity BSides London
 
Application Security TRENDS – Lessons Learnt- Firosh Ummer
Application Security TRENDS – Lessons Learnt- Firosh UmmerApplication Security TRENDS – Lessons Learnt- Firosh Ummer
Application Security TRENDS – Lessons Learnt- Firosh UmmerOWASP-Qatar Chapter
 
Testing in a glance
Testing in a glanceTesting in a glance
Testing in a glanceRajesh Kumar
 
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 SecurityAnne Oikarinen
 
Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Sigma Software
 
BUSTED! How to Find Security Bugs Fast!
BUSTED! How to Find Security Bugs Fast!BUSTED! How to Find Security Bugs Fast!
BUSTED! How to Find Security Bugs Fast!Parasoft
 
Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...
Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...
Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...John Kinsella
 
The Security Vulnerability Assessment Process & Best Practices
The Security Vulnerability Assessment Process & Best PracticesThe Security Vulnerability Assessment Process & Best Practices
The Security Vulnerability Assessment Process & Best PracticesKellep Charles
 
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_SingaporePractical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_SingaporeAmazon Web Services
 
Manual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaEdureka!
 
Getting Started with Amazon Inspector - AWS June 2016 Webinar Series
Getting Started with Amazon Inspector - AWS June 2016 Webinar SeriesGetting Started with Amazon Inspector - AWS June 2016 Webinar Series
Getting Started with Amazon Inspector - AWS June 2016 Webinar SeriesAmazon Web Services
 
Project Pluto Will Adopt The Incremental Build Model Essay
Project Pluto Will Adopt The Incremental Build Model EssayProject Pluto Will Adopt The Incremental Build Model Essay
Project Pluto Will Adopt The Incremental Build Model EssayDiane Allen
 
Web applications security conference slides
Web applications security  conference slidesWeb applications security  conference slides
Web applications security conference slidesBassam Al-Khatib
 
OWASP: Building Secure Web Apps
OWASP: Building Secure Web AppsOWASP: Building Secure Web Apps
OWASP: Building Secure Web Appsmlogvinov
 
[India Merge World Tour] Coverity
[India Merge World Tour] Coverity[India Merge World Tour] Coverity
[India Merge World Tour] CoverityPerforce
 
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)Lviv Startup Club
 
How GitLab and HackerOne help organizations innovate faster without compromis...
How GitLab and HackerOne help organizations innovate faster without compromis...How GitLab and HackerOne help organizations innovate faster without compromis...
How GitLab and HackerOne help organizations innovate faster without compromis...HackerOne
 
Using security to drive chaos engineering - April 2018
Using security to drive chaos engineering - April 2018Using security to drive chaos engineering - April 2018
Using security to drive chaos engineering - April 2018Dinis Cruz
 

Similar to Bridging the gap - Security and Software Testing (20)

Agnitio: its static analysis, but not as we know it
Agnitio: its static analysis, but not as we know itAgnitio: its static analysis, but not as we know it
Agnitio: its static analysis, but not as we know it
 
Application Security TRENDS – Lessons Learnt- Firosh Ummer
Application Security TRENDS – Lessons Learnt- Firosh UmmerApplication Security TRENDS – Lessons Learnt- Firosh Ummer
Application Security TRENDS – Lessons Learnt- Firosh Ummer
 
Testing in a glance
Testing in a glanceTesting in a glance
Testing in a glance
 
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
 
Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"
 
BUSTED! How to Find Security Bugs Fast!
BUSTED! How to Find Security Bugs Fast!BUSTED! How to Find Security Bugs Fast!
BUSTED! How to Find Security Bugs Fast!
 
Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...
Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...
Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...
 
The Security Vulnerability Assessment Process & Best Practices
The Security Vulnerability Assessment Process & Best PracticesThe Security Vulnerability Assessment Process & Best Practices
The Security Vulnerability Assessment Process & Best Practices
 
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_SingaporePractical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
 
Software testing
Software testingSoftware testing
Software testing
 
Manual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | Edureka
 
Getting Started with Amazon Inspector - AWS June 2016 Webinar Series
Getting Started with Amazon Inspector - AWS June 2016 Webinar SeriesGetting Started with Amazon Inspector - AWS June 2016 Webinar Series
Getting Started with Amazon Inspector - AWS June 2016 Webinar Series
 
Project Pluto Will Adopt The Incremental Build Model Essay
Project Pluto Will Adopt The Incremental Build Model EssayProject Pluto Will Adopt The Incremental Build Model Essay
Project Pluto Will Adopt The Incremental Build Model Essay
 
Web applications security conference slides
Web applications security  conference slidesWeb applications security  conference slides
Web applications security conference slides
 
OWASP: Building Secure Web Apps
OWASP: Building Secure Web AppsOWASP: Building Secure Web Apps
OWASP: Building Secure Web Apps
 
[India Merge World Tour] Coverity
[India Merge World Tour] Coverity[India Merge World Tour] Coverity
[India Merge World Tour] Coverity
 
nullcon 2011 - Fuzzing with Complexities
nullcon 2011 - Fuzzing with Complexitiesnullcon 2011 - Fuzzing with Complexities
nullcon 2011 - Fuzzing with Complexities
 
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)
 
How GitLab and HackerOne help organizations innovate faster without compromis...
How GitLab and HackerOne help organizations innovate faster without compromis...How GitLab and HackerOne help organizations innovate faster without compromis...
How GitLab and HackerOne help organizations innovate faster without compromis...
 
Using security to drive chaos engineering - April 2018
Using security to drive chaos engineering - April 2018Using security to drive chaos engineering - April 2018
Using security to drive chaos engineering - April 2018
 

More from Roberto Suggi Liverani

More from Roberto Suggi Liverani (12)

I got 99 trends and a # is all of them
I got 99 trends and a # is all of themI got 99 trends and a # is all of them
I got 99 trends and a # is all of them
 
Augmented reality in your web proxy
Augmented reality in your web proxyAugmented reality in your web proxy
Augmented reality in your web proxy
 
Cross Context Scripting attacks & exploitation
Cross Context Scripting attacks & exploitationCross Context Scripting attacks & exploitation
Cross Context Scripting attacks & exploitation
 
Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012
 
Defending Against Application DoS attacks
Defending Against Application DoS attacksDefending Against Application DoS attacks
Defending Against Application DoS attacks
 
Exploiting Firefox Extensions
Exploiting Firefox ExtensionsExploiting Firefox Extensions
Exploiting Firefox Extensions
 
Black Energy18 - Russian botnet package analysis
Black Energy18 - Russian botnet package analysisBlack Energy18 - Russian botnet package analysis
Black Energy18 - Russian botnet package analysis
 
XPath Injection
XPath InjectionXPath Injection
XPath Injection
 
Web Spam Techniques
Web Spam TechniquesWeb Spam Techniques
Web Spam Techniques
 
Reversing JavaScript
Reversing JavaScriptReversing JavaScript
Reversing JavaScript
 
Ajax Security
Ajax SecurityAjax Security
Ajax Security
 
Browser Security
Browser SecurityBrowser Security
Browser Security
 

Recently uploaded

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Recently uploaded (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Bridging the gap - Security and Software Testing

  • 1. Bridging the Gap - Security and Software Testing Roberto Suggi Liverani ANZTB Test Conference - March 2011 1
  • 2. Agenda  Roberto, what test are you doing?  Is this a defect, vulnerability or both?  What can we do to improve things? 2
  • 3. About Me  Roberto Suggi Liverani  Principal Security Consultant - Security-Assessment.com  roberto.suggi@security-assessment.com  http://www.security-assessment.com  Founded OWASP New Zealand Chapter  http://owasp.org/index.php/owasp_new_zealand  Research topics:  Black SEO  Firefox Extensions  Bug discovery   Blog: http://malerisch.net  Twitter: https://twitter.com/malerisch 3
  • 4. Part I Roberto, what test are you doing? 4
  • 5. What do I do for living (and fun)  Hack almost everything  Web Applications, Software, Networks, etc  Experience  From small companies to large enterprises  Findings bugs  Not just my work, it’s also my passion 5
  • 6. Security Testing  Type of assessment  Black Box  Grey Box  White Box  Type of services  Web application intrusion testing  Source code review  Software testing  Scope  Discover security bugs  Provide recommendations 6
  • 7. Prerequisites  NO QA = NO Security Testing  Target software/application must be 100% functional  A correct QA process ensures reliable results  The environment must be stable during testing  No testing while changes occur  A “confirmed” security issue must be reproducible  The real world  Applications haven’t had through QA testing  Functionality issues (defects) often found 7
  • 8. Security Testing  Process  Information gathering  Follow “hacker” instinct  Spot vulnerability before starting testing  Follow methodologies  Web Application  OWASP Testing Guide  Software testing  The art of software security assessment  Exploiting software 8
  • 9. Tools  Web hacking  Web Proxies  Web Scanner Frameworks  Browser + Extensions/Add-ons  Manual testing  Software testing  Disassembler and debugger  Extensions + Plugins  Fuzzing tools  Source code review  Static analysis tools 9
  • 10. What do we find?  Common vulnerabilities in web applications  A1: Injection  A2: Cross-Site Scripting (XSS)  A3: Broken Authentication and Session Management  A4: Insecure Direct Object References  […]  Frameworks  PHP  Java  .NET 10
  • 11. Bugs In Software  Memory corruption bugs  Stack/Heap buffer overflows  Other bugs  Filter controls bypass  Where?  Some examples from our research:  Browser and browser plugins  Internet Kiosks  File Formats (e.g. chm)  MS Office Products 11
  • 12. After Testing  Reporting  Exec/tech overviews  Details section  Recommendations  Classification and severity  Type of vulnerability  Level of exploitability  Discussion with clients 12
  • 13. Ideal Approach  Ideal approach  Security should be a priority in early phases  Security must be a component of every project  From the initial stage to production  Changes in the industry  Some of our clients are moving in this direction  New project:  Ask us - “What do you think?”  Recommendations can help avoid serious design flaws 13
  • 14. Part II Is this a defect, vulnerability or both? 14
  • 15. A defect or a vulnerability?  Definition  defect = potential vulnerability  Defects can:  Hide an underlying vulnerability  Have security implications (and so it is also a vulnerability)  Lead in the discovery of a vulnerable associated component  Strategy prior testing  Ask for more info from QA testers 15
  • 16. Sharing is caring!  QA feedback  User A edits profile page; has details of user B  Could not reproduce the issue  Assumption  “This is a proxy/load balancing issue”  Analysis  Security issues in the session management  Conclusions  Each team might have their own ideas about the issue  Further investigation is required if opinion differs on the same matter 16
  • 17. Login Fails Open  QA Feedback  “When I login using these steps, the Welcome page is blank”  Analysis  Login bypass via internal pages  Conclusion  A defect affecting a critical security component (e.g. authentication) is a vulnerability 17
  • 18. Lethal Injections  QA Feedback  Last name with single quote (e.g. N’Doba) accepted  Database error when changing last name from user profile page  Analysis  The single quote broke the SQL query statement  SQL injection allowed remote code execution  Conclusion  Simple observations can make the difference 18
  • 19. I like refunds…  QA Feedback  Refund action is possible  For each refund, 50 cents is given to merchant  System accepted 2 split refund transactions for the same payment  Analysis  A 10 dollar payment refunded with mini transactions of 1 cent  For each mini transaction, 50 cents were given to the merchant  Fraud was possible  Conclusion  A defect can lead to discovery of security issues in other components associated to the defect 19
  • 20. I would like all the seats, please.  QA Feedback  “System is fine but we did not test the release mechanism for booked seats”  Analysis  System failed to free booked seats if not purchased  Conclusion  Untested/out-of-scope area can lead to discovery of issues with security implications 20
  • 21. Part III What can we do to improve things? 21
  • 22. Some ideas  Security testing is not part of QA.  Is it someone’s fault?  Would like access to:  Bug tracking software  Access to identified defects (database)  Spot weaknesses by area (e.g. authentication)  Gives an indication where to look first or with more focus  Pre-testing meeting with QA team  See what they think about the application 22
  • 23. Security and QA  Provide security test cases  Preliminary security testing  No exploitation – flag potential issues  Manual testing and white box approach  Identify defects with security impacts earlier  Worst case: QA needs to be re-performed after a major re-design  Costs vs ROI  Costs increase for additional testing during QA  ROI achieved if no delays or unexpected costs arise 23
  • 24. Example of preliminary checks  Case-sensitive login  Username:  Test  test  Authorisation controls  Profile.aspx?memberId=10000  Try: memberId=10001  If user 10000 can access user 10001’s page without authorisation 24
  • 25. Further examples  Strong password format  User can choose “password” as password  User can choose “qwerty” as password  Credentials enumeration  Error message returns “wrong username”  Error message returns “wrong password”  Malformed request  Debug exception output is publicly viewable 25
  • 26. Quick checks  Cookie settings  No Secure flag in HTTPS  No HTTPOnly flag  Sensitive info in cookie  Cookie domain and path incorrectly set  Data Transport  Sensitive information transmitted over HTTP  Data Storage  Credentials stored in database with no hash 26
  • 27. Collaboration  Online collaboration  OWASP Project to bridge gap between security and QA  QA communities should do the same  Local collaboration  Increase collaboration between chapters  OWASP NZ chapter  ANZTB SIGIST  Security talks at QA chapter meetings and vice versa 27
  • 28. Conclusion  Wrap up  QA is prerequisite for any security testing  QA defect database should be accessed by security staff  Preliminary security test-cases can identify low-hanging fruit 28
  • 29. Questions?  Thanks!  E-mail: roberto.suggi@security-assessment.com  Blog: http://malerisch.net  Twitter: https://twitter.com/malerisch 29
  • 30. References/Useful Links  Software Security Testing in Quality Assurance and Development  http://www.qasec.com/  Fuzzing for Software Security Testing and Quality Assurance  ISBN-10: 1596932147, Artech House; 1 edition (June 30, 2008)  OWASP – Software Quality Assurance  https://www.owasp.org/index.php/Software_Quality_Assurance  Vulnerability as a Function of Software Quality  https://www.giac.org/paper/gsec/647/vulnerability-function-software- quality/101493  Why QA Doesn't Do Security Testing  https://www.infosecisland.com/blogview/10736-Why-QA-Doesnt-Do- Security-Testing.html 30
  • 31. References/Useful links  Security is the sexy part of QA  http://www.madirish.net/justin/security-sexy-part-qa  Are Security and Quality Assurance Part of Your Software Development Life Cycle?  http://www.educause.edu/ir/library/powerpoint/WRC0667.pps 31