SlideShare a Scribd company logo
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

PDF
None More Black - the Dark Side of SEO
PPTX
Introduction to Web Application Penetration Testing
PPTX
What? Why? Who? How? Of Application Security Testing
PPTX
Security Testing by Ken De Souza
PDF
Web Application Penetration Testing - 101
PPTX
Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b...
PDF
AuthN & AuthZ testing: it’s not only about the login form
PDF
11th Website Security Statistics -- Presentation Slides (Q1 2011)
None More Black - the Dark Side of SEO
Introduction to Web Application Penetration Testing
What? Why? Who? How? Of Application Security Testing
Security Testing by Ken De Souza
Web Application Penetration Testing - 101
Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b...
AuthN & AuthZ testing: it’s not only about the login form
11th Website Security Statistics -- Presentation Slides (Q1 2011)

What's hot (20)

PPTX
Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b...
PPTX
Hackfest 2019 Talk
PPTX
Security as a new metric for Business, Product and Development Lifecycle
PPTX
Static Analysis Security Testing for Dummies... and You
PDF
Bringing the hacker mindset into requirements and testing by Eapen Thomas and...
PPTX
Essential security measures in ASP.NET MVC
PDF
Owasp top 10 web application security hazards - Part 1
PDF
Owasp top 10 web application security hazards part 2
PDF
New Era of Software with modern Application Security (v0.6)
PPT
2009: Securing Applications With Web Application Firewalls and Vulnerability ...
PPTX
Making Security Agile
PDF
10 Steps To Secure Agile Development
PPTX
Hack through Injections
PPT
IBM AppScan - the total software security solution
PPTX
Bug Bounty #Defconlucknow2016
PDF
Subgraph vega countermeasure2012
PPTX
AppSec California 2016 - Making Security Agile
PDF
Android Secure Coding
PPTX
Penetration testing dont just leave it to chance
PPTX
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b...
Hackfest 2019 Talk
Security as a new metric for Business, Product and Development Lifecycle
Static Analysis Security Testing for Dummies... and You
Bringing the hacker mindset into requirements and testing by Eapen Thomas and...
Essential security measures in ASP.NET MVC
Owasp top 10 web application security hazards - Part 1
Owasp top 10 web application security hazards part 2
New Era of Software with modern Application Security (v0.6)
2009: Securing Applications With Web Application Firewalls and Vulnerability ...
Making Security Agile
10 Steps To Secure Agile Development
Hack through Injections
IBM AppScan - the total software security solution
Bug Bounty #Defconlucknow2016
Subgraph vega countermeasure2012
AppSec California 2016 - Making Security Agile
Android Secure Coding
Penetration testing dont just leave it to chance
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
Ad

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

PDF
SecurityBSides London - Agnitio: it's static analysis but not as we know it
PPT
Security Testing
PPTX
Started In Security Now I'm Here
PDF
An Introduction to Secure Application Development
PPTX
Hacker vs Tools: Which to Choose?
PPTX
Hacker vs tools
PDF
Web Application Remediation - OWASP San Antonio March 2007
PDF
Hack in Paris - Agnitio
PPTX
Integrating security into the application development process
PPT
SoftwareSecurity.ppt
PDF
Injecting simplicity not SQL RSA Europe 2010
PPT
香港六合彩
PPT
Web Application Security Testing
PPT
Software Security Engineering
PPT
CohenNancyPresentation.ppt
PDF
Security testing
PDF
24 031030davidtillemanssecuresdlcpub-110325054740-phpapp02
PDF
OWASP Top Ten in Practice
PPTX
Application Security TRENDS – Lessons Learnt- Firosh Ummer
PPTX
How to Test for The OWASP Top Ten
SecurityBSides London - Agnitio: it's static analysis but not as we know it
Security Testing
Started In Security Now I'm Here
An Introduction to Secure Application Development
Hacker vs Tools: Which to Choose?
Hacker vs tools
Web Application Remediation - OWASP San Antonio March 2007
Hack in Paris - Agnitio
Integrating security into the application development process
SoftwareSecurity.ppt
Injecting simplicity not SQL RSA Europe 2010
香港六合彩
Web Application Security Testing
Software Security Engineering
CohenNancyPresentation.ppt
Security testing
24 031030davidtillemanssecuresdlcpub-110325054740-phpapp02
OWASP Top Ten in Practice
Application Security TRENDS – Lessons Learnt- Firosh Ummer
How to Test for The OWASP Top Ten
Ad

More from Roberto Suggi Liverani (12)

PDF
I got 99 trends and a # is all of them
PDF
Augmented reality in your web proxy
PPTX
Cross Context Scripting attacks & exploitation
PDF
Window Shopping Browser - Bug Hunting in 2012
PDF
Defending Against Application DoS attacks
PDF
Exploiting Firefox Extensions
PPT
Black Energy18 - Russian botnet package analysis
PPT
XPath Injection
PPT
Web Spam Techniques
PPT
Reversing JavaScript
PPT
Ajax Security
PPT
Browser Security
I got 99 trends and a # is all of them
Augmented reality in your web proxy
Cross Context Scripting attacks & exploitation
Window Shopping Browser - Bug Hunting in 2012
Defending Against Application DoS attacks
Exploiting Firefox Extensions
Black Energy18 - Russian botnet package analysis
XPath Injection
Web Spam Techniques
Reversing JavaScript
Ajax Security
Browser Security

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
KodekX | Application Modernization Development
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Network Security Unit 5.pdf for BCA BBA.
cuic standard and advanced reporting.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Reach Out and Touch Someone: Haptics and Empathic Computing
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Big Data Technologies - Introduction.pptx
KodekX | Application Modernization Development
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
The Rise and Fall of 3GPP – Time for a Sabbatical?
The AUB Centre for AI in Media Proposal.docx
“AI and Expert System Decision Support & Business Intelligence Systems”
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Encapsulation_ Review paper, used for researhc scholars
NewMind AI Monthly Chronicles - July 2025
Diabetes mellitus diagnosis method based random forest with bat algorithm
Network Security Unit 5.pdf for BCA BBA.

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