SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Subgraph vega countermeasure2012
Subgraph vega countermeasure2012Subgraph vega countermeasure2012
Subgraph vega countermeasure2012
David Mirza
 
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
 

La actualidad más candente (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 a Bridging the gap - Security and Software Testing

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
OWASP-Qatar Chapter
 
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
Amazon 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 Essay
Diane Allen
 

Similar a 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
 

Más de Roberto Suggi Liverani

Más de 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
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

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