SlideShare a Scribd company logo

Bridging the gap - Security and Software Testing

Roberto Suggi Liverani
Roberto Suggi LiveraniPentester/Reseacher
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
1 of 31

Bridging the gap - Security and Software Testing

Download to read offline

When performing a security testing, I often sit in a room with other QA and Software testers. During that time, it is likely I receive questions such as: "Roberto, are you hacking this? Are you breaking this again? What exactly are you testing?" Whi l e talking to them I realise there is an information gap between us, especially when they share information which is essential for my testing and crucial to identify security vulnerabilities. After a good number of security tests, I came to a conclusion that people in our industry do not realise that software testing and security testing have a lot to share. This talk intends to reduce that information gap and provides an introduction to security software testing, methodologies, and most importantly offers some food for thought to stimulate synergy between security and software testers

Roberto Suggi Liverani
Roberto Suggi LiveraniPentester/Reseacher

Recommended

None More Black - the Dark Side of SEO by
None More Black - the Dark Side of SEONone More Black - the Dark Side of SEO
None More Black - the Dark Side of SEORoberto Suggi Liverani
21K views58 slides
Introduction to Web Application Penetration Testing by
Introduction to Web Application Penetration TestingIntroduction to Web Application Penetration Testing
Introduction to Web Application Penetration TestingRana Khalil
629 views56 slides
What? Why? Who? How? Of Application Security Testing by
What? Why? Who? How? Of Application Security Testing What? Why? Who? How? Of Application Security Testing
What? Why? Who? How? Of Application Security Testing TEST Huddle
1.5K views26 slides
Security Testing by Ken De Souza by
Security Testing by Ken De SouzaSecurity Testing by Ken De Souza
Security Testing by Ken De SouzaQA or the Highway
465 views75 slides
Web Application Penetration Testing - 101 by
Web Application Penetration Testing - 101Web Application Penetration Testing - 101
Web Application Penetration Testing - 101Andrea Hauser
158 views98 slides
Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b... by
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
738 views44 slides
AuthN & AuthZ testing: it’s not only about the login form by
AuthN & AuthZ testing:  it’s not only about the login formAuthN & AuthZ testing:  it’s not only about the login form
AuthN & AuthZ testing: it’s not only about the login formDiana Pinchuk
50 views61 slides
11th Website Security Statistics -- Presentation Slides (Q1 2011) by
11th Website Security Statistics -- Presentation Slides (Q1 2011)11th Website Security Statistics -- Presentation Slides (Q1 2011)
11th Website Security Statistics -- Presentation Slides (Q1 2011)Jeremiah Grossman
3.2K views22 slides

More Related Content

What's hot

Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b... by
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
168 views32 slides
Hackfest 2019 Talk by
Hackfest 2019 TalkHackfest 2019 Talk
Hackfest 2019 TalkRana Khalil
882 views33 slides
Security as a new metric for Business, Product and Development Lifecycle by
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.
641 views68 slides
Static Analysis Security Testing for Dummies... and You by
Static Analysis Security Testing for Dummies... and YouStatic Analysis Security Testing for Dummies... and You
Static Analysis Security Testing for Dummies... and YouKevin Fealey
3.7K views58 slides
Bringing the hacker mindset into requirements and testing by Eapen Thomas and... by
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
556 views29 slides
Essential security measures in ASP.NET MVC by
Essential security measures in ASP.NET MVC Essential security measures in ASP.NET MVC
Essential security measures in ASP.NET MVC Rafał Hryniewski
767 views82 slides
Owasp top 10 web application security hazards - Part 1 by
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
1.3K views137 slides
Owasp top 10 web application security hazards part 2 by
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
875 views103 slides
New Era of Software with modern Application Security (v0.6) by
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
2.4K views68 slides
2009: Securing Applications With Web Application Firewalls and Vulnerability ... by
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
3.3K views58 slides
Making Security Agile by
Making Security AgileMaking Security Agile
Making Security AgileOleg Gryb
1.4K views48 slides
10 Steps To Secure Agile Development by
10 Steps To Secure Agile Development10 Steps To Secure Agile Development
10 Steps To Secure Agile DevelopmentCheckmarx
759 views5 slides
Hack through Injections by
Hack through InjectionsHack through Injections
Hack through InjectionsNazar Tymoshyk, CEH, Ph.D.
5.2K views39 slides
IBM AppScan - the total software security solution by
IBM AppScan - the total software security solutionIBM AppScan - the total software security solution
IBM AppScan - the total software security solutionhearme limited company
3.1K views26 slides
Bug Bounty #Defconlucknow2016 by
Bug Bounty #Defconlucknow2016Bug Bounty #Defconlucknow2016
Bug Bounty #Defconlucknow2016Shubham Gupta
2.4K views40 slides
Subgraph vega countermeasure2012 by
Subgraph vega countermeasure2012Subgraph vega countermeasure2012
Subgraph vega countermeasure2012David Mirza
1.5K views34 slides
AppSec California 2016 - Making Security Agile by
AppSec California 2016 - Making Security AgileAppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileOleg Gryb
933 views39 slides
Android Secure Coding by
Android Secure CodingAndroid Secure Coding
Android Secure CodingJPCERT Coordination Center
8.9K views259 slides
Penetration testing dont just leave it to chance by
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)
1.7K views45 slides
What Good is this Tool? A Guide to Choosing the Right Application Security Te... by
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
2.1K views29 slides

What's hot (20)

Why Johnny Still Can’t Pentest: A Comparative Analysis of Open-source Black-b... by Rana Khalil
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 Khalil168 views
Hackfest 2019 Talk by Rana Khalil
Hackfest 2019 TalkHackfest 2019 Talk
Hackfest 2019 Talk
Rana Khalil882 views
Static Analysis Security Testing for Dummies... and You by Kevin Fealey
Static Analysis Security Testing for Dummies... and YouStatic Analysis Security Testing for Dummies... and You
Static Analysis Security Testing for Dummies... and You
Kevin Fealey3.7K views
Bringing the hacker mindset into requirements and testing by Eapen Thomas and... by QA or the Highway
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 Highway556 views
Essential security measures in ASP.NET MVC by Rafał Hryniewski
Essential security measures in ASP.NET MVC Essential security measures in ASP.NET MVC
Essential security measures in ASP.NET MVC
Rafał Hryniewski767 views
Owasp top 10 web application security hazards - Part 1 by Abhinav Sejpal
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
Abhinav Sejpal1.3K views
Owasp top 10 web application security hazards part 2 by Abhinav Sejpal
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
Abhinav Sejpal875 views
New Era of Software with modern Application Security (v0.6) by Dinis Cruz
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 Cruz2.4K views
2009: Securing Applications With Web Application Firewalls and Vulnerability ... by Neil Matatall
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 Matatall3.3K views
Making Security Agile by Oleg Gryb
Making Security AgileMaking Security Agile
Making Security Agile
Oleg Gryb1.4K views
10 Steps To Secure Agile Development by Checkmarx
10 Steps To Secure Agile Development10 Steps To Secure Agile Development
10 Steps To Secure Agile Development
Checkmarx759 views
Bug Bounty #Defconlucknow2016 by Shubham Gupta
Bug Bounty #Defconlucknow2016Bug Bounty #Defconlucknow2016
Bug Bounty #Defconlucknow2016
Shubham Gupta2.4K views
Subgraph vega countermeasure2012 by David Mirza
Subgraph vega countermeasure2012Subgraph vega countermeasure2012
Subgraph vega countermeasure2012
David Mirza1.5K views
AppSec California 2016 - Making Security Agile by Oleg Gryb
AppSec California 2016 - Making Security AgileAppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security Agile
Oleg Gryb933 views
What Good is this Tool? A Guide to Choosing the Right Application Security Te... by Kevin Fealey
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 Fealey2.1K views

Similar to Bridging the gap - Security and Software Testing

Agnitio: its static analysis, but not as we know it by
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
1.3K views44 slides
Application Security TRENDS – Lessons Learnt- Firosh Ummer by
Application Security TRENDS – Lessons Learnt- Firosh UmmerApplication Security TRENDS – Lessons Learnt- Firosh Ummer
Application Security TRENDS – Lessons Learnt- Firosh UmmerOWASP-Qatar Chapter
1.1K views53 slides
Testing in a glance by
Testing in a glanceTesting in a glance
Testing in a glanceRajesh Kumar
2K views35 slides
What Every Developer And Tester Should Know About Software Security by
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
793 views38 slides
Дмитро Терещенко, "How to secure your application with Secure SDLC" by
Дмитро Терещенко, "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
137 views32 slides
BUSTED! How to Find Security Bugs Fast! by
BUSTED! How to Find Security Bugs Fast!BUSTED! How to Find Security Bugs Fast!
BUSTED! How to Find Security Bugs Fast!Parasoft
1.8K views39 slides
Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public... by
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
381 views44 slides
The Security Vulnerability Assessment Process & Best Practices by
The Security Vulnerability Assessment Process & Best PracticesThe Security Vulnerability Assessment Process & Best Practices
The Security Vulnerability Assessment Process & Best PracticesKellep Charles
15.8K views32 slides
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore by
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
387 views62 slides
Software testing by
Software testingSoftware testing
Software testingAbrianto Nugraha
1.1K views283 slides
Manual Testing Interview Questions | Edureka by
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaEdureka!
610 views57 slides
Getting Started with Amazon Inspector - AWS June 2016 Webinar Series by
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
3.9K views31 slides
Web applications security conference slides by
Web applications security  conference slidesWeb applications security  conference slides
Web applications security conference slidesBassam Al-Khatib
158 views78 slides
OWASP: Building Secure Web Apps by
OWASP: Building Secure Web AppsOWASP: Building Secure Web Apps
OWASP: Building Secure Web Appsmlogvinov
222 views25 slides
[India Merge World Tour] Coverity by
[India Merge World Tour] Coverity[India Merge World Tour] Coverity
[India Merge World Tour] CoverityPerforce
660 views35 slides
nullcon 2011 - Fuzzing with Complexities by
nullcon 2011 - Fuzzing with Complexitiesnullcon 2011 - Fuzzing with Complexities
nullcon 2011 - Fuzzing with Complexitiesn|u - The Open Security Community
1.4K views16 slides
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA) by
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
27 views42 slides
How GitLab and HackerOne help organizations innovate faster without compromis... by
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
6.9K views28 slides
Using security to drive chaos engineering - April 2018 by
Using security to drive chaos engineering - April 2018Using security to drive chaos engineering - April 2018
Using security to drive chaos engineering - April 2018Dinis Cruz
832 views80 slides
Devops security-An Insight into Secure-SDLC by
Devops security-An Insight into Secure-SDLCDevops security-An Insight into Secure-SDLC
Devops security-An Insight into Secure-SDLCSuman Sourav
2K views33 slides

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

Application Security TRENDS – Lessons Learnt- Firosh Ummer by OWASP-Qatar Chapter
Application Security TRENDS – Lessons Learnt- Firosh UmmerApplication Security TRENDS – Lessons Learnt- Firosh Ummer
Application Security TRENDS – Lessons Learnt- Firosh Ummer
OWASP-Qatar Chapter1.1K views
What Every Developer And Tester Should Know About Software Security by Anne Oikarinen
What Every Developer And Tester Should Know About Software SecurityWhat Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software Security
Anne Oikarinen793 views
Дмитро Терещенко, "How to secure your application with Secure SDLC" by Sigma Software
Дмитро Терещенко, "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 Software137 views
BUSTED! How to Find Security Bugs Fast! by Parasoft
BUSTED! How to Find Security Bugs Fast!BUSTED! How to Find Security Bugs Fast!
BUSTED! How to Find Security Bugs Fast!
Parasoft1.8K views
Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public... by John Kinsella
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 Kinsella381 views
The Security Vulnerability Assessment Process & Best Practices by Kellep Charles
The Security Vulnerability Assessment Process & Best PracticesThe Security Vulnerability Assessment Process & Best Practices
The Security Vulnerability Assessment Process & Best Practices
Kellep Charles15.8K views
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore by Amazon Web Services
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
Manual Testing Interview Questions | Edureka by Edureka!
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | Edureka
Edureka!610 views
Getting Started with Amazon Inspector - AWS June 2016 Webinar Series by Amazon Web Services
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
Amazon Web Services3.9K views
Web applications security conference slides by Bassam Al-Khatib
Web applications security  conference slidesWeb applications security  conference slides
Web applications security conference slides
Bassam Al-Khatib158 views
OWASP: Building Secure Web Apps by mlogvinov
OWASP: Building Secure Web AppsOWASP: Building Secure Web Apps
OWASP: Building Secure Web Apps
mlogvinov222 views
[India Merge World Tour] Coverity by Perforce
[India Merge World Tour] Coverity[India Merge World Tour] Coverity
[India Merge World Tour] Coverity
Perforce660 views
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA) by Lviv Startup Club
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... by HackerOne
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...
HackerOne6.9K views
Using security to drive chaos engineering - April 2018 by Dinis Cruz
Using security to drive chaos engineering - April 2018Using security to drive chaos engineering - April 2018
Using security to drive chaos engineering - April 2018
Dinis Cruz832 views
Devops security-An Insight into Secure-SDLC by Suman Sourav
Devops security-An Insight into Secure-SDLCDevops security-An Insight into Secure-SDLC
Devops security-An Insight into Secure-SDLC
Suman Sourav2K views

More from Roberto Suggi Liverani

I got 99 trends and a # is all of them by
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 themRoberto Suggi Liverani
5.8K views122 slides
Augmented reality in your web proxy by
Augmented reality in your web proxyAugmented reality in your web proxy
Augmented reality in your web proxyRoberto Suggi Liverani
3.3K views39 slides
Cross Context Scripting attacks & exploitation by
Cross Context Scripting attacks & exploitationCross Context Scripting attacks & exploitation
Cross Context Scripting attacks & exploitationRoberto Suggi Liverani
3.5K views69 slides
Window Shopping Browser - Bug Hunting in 2012 by
Window Shopping Browser - Bug Hunting in 2012Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012Roberto Suggi Liverani
3.1K views56 slides
Defending Against Application DoS attacks by
Defending Against Application DoS attacksDefending Against Application DoS attacks
Defending Against Application DoS attacksRoberto Suggi Liverani
5.1K views51 slides
Exploiting Firefox Extensions by
Exploiting Firefox ExtensionsExploiting Firefox Extensions
Exploiting Firefox ExtensionsRoberto Suggi Liverani
3.5K views42 slides
Black Energy18 - Russian botnet package analysis by
Black Energy18 - Russian botnet package analysisBlack Energy18 - Russian botnet package analysis
Black Energy18 - Russian botnet package analysisRoberto Suggi Liverani
1.8K views48 slides
XPath Injection by
XPath InjectionXPath Injection
XPath InjectionRoberto Suggi Liverani
7.1K views23 slides
Web Spam Techniques by
Web Spam TechniquesWeb Spam Techniques
Web Spam TechniquesRoberto Suggi Liverani
78.8K views53 slides
Reversing JavaScript by
Reversing JavaScriptReversing JavaScript
Reversing JavaScriptRoberto Suggi Liverani
2.9K views48 slides
Ajax Security by
Ajax SecurityAjax Security
Ajax SecurityRoberto Suggi Liverani
2K views33 slides
Browser Security by
Browser SecurityBrowser Security
Browser SecurityRoberto Suggi Liverani
16.4K views28 slides

Recently uploaded

Cocktail of Environments. How to Mix Test and Development Environments and St... by
Cocktail of Environments. How to Mix Test and Development Environments and St...Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...Aleksandr Tarasov
27 views135 slides
GDSC GLAU Info Session.pptx by
GDSC GLAU Info Session.pptxGDSC GLAU Info Session.pptx
GDSC GLAU Info Session.pptxgauriverrma4
15 views28 slides
User Centred Design and Implementation of Useful Picture Archiving and Commun... by
User Centred Design and Implementation of Useful Picture Archiving and Commun...User Centred Design and Implementation of Useful Picture Archiving and Commun...
User Centred Design and Implementation of Useful Picture Archiving and Commun...Lighton Phiri
24 views26 slides
Incremental data processing with Hudi & Spark + dbt.pdf by
Incremental data processing with Hudi & Spark + dbt.pdfIncremental data processing with Hudi & Spark + dbt.pdf
Incremental data processing with Hudi & Spark + dbt.pdfnadine39280
17 views20 slides
Network eWaste : Community role to manage end of life Product by
Network eWaste : Community role to manage end of life ProductNetwork eWaste : Community role to manage end of life Product
Network eWaste : Community role to manage end of life ProductBangladesh Network Operators Group
26 views13 slides
Netmera Presentation.pdf by
Netmera Presentation.pdfNetmera Presentation.pdf
Netmera Presentation.pdfMustafa Kuğu
23 views50 slides
CyberSecurity Study Jam by
CyberSecurity Study JamCyberSecurity Study Jam
CyberSecurity Study JamSahilSingh368445
625 views14 slides
The Role of Patterns in the Era of Large Language Models by
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language ModelsYunyao Li
134 views65 slides
Business Analyst Series 2023 - Week 4 Session 8 by
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8DianaGray10
238 views13 slides
[2024] GDSC India - Discover, Design, Develop.pdf.pdf by
[2024] GDSC India - Discover, Design, Develop.pdf.pdf[2024] GDSC India - Discover, Design, Develop.pdf.pdf
[2024] GDSC India - Discover, Design, Develop.pdf.pdfbcedsc
28 views19 slides
Adopting Karpenter for Cost and Simplicity at Grafana Labs.pdf by
Adopting Karpenter for Cost and Simplicity at Grafana Labs.pdfAdopting Karpenter for Cost and Simplicity at Grafana Labs.pdf
Adopting Karpenter for Cost and Simplicity at Grafana Labs.pdfMichaelOLeary82
16 views74 slides
Transcript: Redefining the book supply chain: A glimpse into the future - Tec... by
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...BookNet Canada
58 views16 slides
Cencora Executive Symposium by
Cencora Executive SymposiumCencora Executive Symposium
Cencora Executive Symposiummarketingcommunicati21
216 views14 slides
This talk was not generated with ChatGPT: how AI is changing science by
This talk was not generated with ChatGPT: how AI is changing scienceThis talk was not generated with ChatGPT: how AI is changing science
This talk was not generated with ChatGPT: how AI is changing scienceElena Simperl
44 views13 slides
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOsPriyanka Aash
187 views59 slides
Modern Database Best Practices by
Modern Database Best PracticesModern Database Best Practices
Modern Database Best PracticesAll Things Open
40 views55 slides
KubeConNA23 Recap.pdf by
KubeConNA23 Recap.pdfKubeConNA23 Recap.pdf
KubeConNA23 Recap.pdfMichaelOLeary82
34 views27 slides
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... by
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...ShapeBlue
166 views12 slides
Show and tell: What’s in your tech stack? - Tech Forum 2023 by
Show and tell: What’s in your tech stack? - Tech Forum 2023Show and tell: What’s in your tech stack? - Tech Forum 2023
Show and tell: What’s in your tech stack? - Tech Forum 2023BookNet Canada
40 views78 slides
Xavier M Culmination Presenetation Final 12-7.pptx by
Xavier M Culmination Presenetation Final 12-7.pptxXavier M Culmination Presenetation Final 12-7.pptx
Xavier M Culmination Presenetation Final 12-7.pptxmanzanaresxavier28
43 views10 slides

Recently uploaded (20)

Cocktail of Environments. How to Mix Test and Development Environments and St... by Aleksandr Tarasov
Cocktail of Environments. How to Mix Test and Development Environments and St...Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...
GDSC GLAU Info Session.pptx by gauriverrma4
GDSC GLAU Info Session.pptxGDSC GLAU Info Session.pptx
GDSC GLAU Info Session.pptx
gauriverrma415 views
User Centred Design and Implementation of Useful Picture Archiving and Commun... by Lighton Phiri
User Centred Design and Implementation of Useful Picture Archiving and Commun...User Centred Design and Implementation of Useful Picture Archiving and Commun...
User Centred Design and Implementation of Useful Picture Archiving and Commun...
Lighton Phiri24 views
Incremental data processing with Hudi & Spark + dbt.pdf by nadine39280
Incremental data processing with Hudi & Spark + dbt.pdfIncremental data processing with Hudi & Spark + dbt.pdf
Incremental data processing with Hudi & Spark + dbt.pdf
nadine3928017 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li134 views
Business Analyst Series 2023 - Week 4 Session 8 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10238 views
[2024] GDSC India - Discover, Design, Develop.pdf.pdf by bcedsc
[2024] GDSC India - Discover, Design, Develop.pdf.pdf[2024] GDSC India - Discover, Design, Develop.pdf.pdf
[2024] GDSC India - Discover, Design, Develop.pdf.pdf
bcedsc28 views
Adopting Karpenter for Cost and Simplicity at Grafana Labs.pdf by MichaelOLeary82
Adopting Karpenter for Cost and Simplicity at Grafana Labs.pdfAdopting Karpenter for Cost and Simplicity at Grafana Labs.pdf
Adopting Karpenter for Cost and Simplicity at Grafana Labs.pdf
MichaelOLeary8216 views
Transcript: Redefining the book supply chain: A glimpse into the future - Tec... by BookNet Canada
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
BookNet Canada58 views
This talk was not generated with ChatGPT: how AI is changing science by Elena Simperl
This talk was not generated with ChatGPT: how AI is changing scienceThis talk was not generated with ChatGPT: how AI is changing science
This talk was not generated with ChatGPT: how AI is changing science
Elena Simperl44 views
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash187 views
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... by ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue166 views
Show and tell: What’s in your tech stack? - Tech Forum 2023 by BookNet Canada
Show and tell: What’s in your tech stack? - Tech Forum 2023Show and tell: What’s in your tech stack? - Tech Forum 2023
Show and tell: What’s in your tech stack? - Tech Forum 2023
BookNet Canada40 views
Xavier M Culmination Presenetation Final 12-7.pptx by manzanaresxavier28
Xavier M Culmination Presenetation Final 12-7.pptxXavier M Culmination Presenetation Final 12-7.pptx
Xavier M Culmination Presenetation Final 12-7.pptx

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