SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
Security Code Reviews
                                 Does Your Code Need an Open Heart Surgery?
                                 6-Points Strategy to Get Your Application in Security Shape




                                          Sherif Koussa
                                          OWASP Ottawa Chapter Leader
                         OWASP            Static Analysis Tools Evaluation Criteria Project Leader
                                          Application Security Specialist - Software Secured


                                           Copyright 2007 © The OWASP Foundation
                                           Permission is granted to copy, distribute and/or modify this document
                                           under the terms of the OWASP License.




                                           The OWASP Foundation
                                           http://www.owasp.org

Saturday, 13 April, 13
2011                                                                     Bio
                         Static Analysis Code Evaluation Criteria
                         Project Lead




  2008
                         Steering Committee Member
                         GSSP-Java, GSSP-Net
                         DEV-541, DEV0544, SEC540




  2007                                                              Softwar S cur

                         OWASP Chapter Leader
                         WebGoat 5.0 Developer
                                                                            OWASP   2



Saturday, 13 April, 13                                               2
The 6 Points Strategy to
      Get Your Applications Back
      in Top Security Shape...


                            OWASP   3



Saturday, 13 April, 13
1. DRASTIC CHANGES
      NEED DRASTIC MEASURES!
      Get to the bottom of things quickly!




                                             OWASP   4



Saturday, 13 April, 13
Open Heart Surgery

    Steps:




                         OWASP   5



Saturday, 13 April, 13
Open Heart Surgery

    Steps:
     Step 1: Sawing Through the Sternum
     Step 2: Working on the Heart
     Step 3: Putting the Sternum Back Together
     Step 4: Stitching Up the Skin




                                                 OWASP   5



Saturday, 13 April, 13
Open Heart Surgery

    Steps:
     Step 1: Sawing Through the Sternum
     Step 2: Working on the Heart
     Step 3: Putting the Sternum Back Together
     Step 4: Stitching Up the Skin




                                                 OWASP   5



Saturday, 13 April, 13
Open Heart Surgery

    Steps:
     Step 1: Sawing Through the Sternum
     Step 2: Working on the Heart
     Step 3: Putting the Sternum Back Together
     Step 4: Stitching Up the Skin




   Causes:




                                                 OWASP   5



Saturday, 13 April, 13
Open Heart Surgery

    Steps:
     Step 1: Sawing Through the Sternum
     Step 2: Working on the Heart
     Step 3: Putting the Sternum Back Together
     Step 4: Stitching Up the Skin




   Causes:
     Repair or replace heart valves, which control blood flow through the heart
     Repair abnormal or damaged structures in the heart
     Implant medical devices that help control the heartbeat or support heart
     function and blood flow
     Replace a damaged heart with a healthy heart from a donor




                                                                                  OWASP   5



Saturday, 13 April, 13
Open Code Surgery (AKA Code Review)




                                       OWASP   6



Saturday, 13 April, 13
Open Code Surgery (AKA Code Review)

       Why Security Code Reviews:




                                       OWASP   6



Saturday, 13 April, 13
Open Code Surgery (AKA Code Review)

       Why Security Code Reviews:

          Effectiveness of Security Controls Against Known Threats
          Testing All Application Execution Paths
          Find All Instances of a Certain Vulnerability
          The Only Way to Find Certain Types of Vulnerabilities
          Effective Remediation Instructions




                                                                     OWASP   6



Saturday, 13 April, 13
Code Review Types

           Peer Security Code Review: peer code reviews combined
           with secure coding best practices.
           Automatic Security Code Review: running a static code
           analysis tool.
           Modular Review: pure manual code review line by line.
           Ad-hoc Security Code Review: security done on selected
           modules of the application.
           Source-Code Driven Code Review: Full code review
           process combined with penetration testing.



                                                        OWASP       7



Saturday, 13 April, 13
Code Review Types

           Peer Security Code Review: peer code reviews combined
           with secure coding best practices.
           Automatic Security Code Review: running a static code
           analysis tool.
           Modular Review: pure manual code review line by line.
           Ad-hoc Security Code Review: security done on selected
           modules of the application.
           Source-Code Driven Code Review: Full code review
           process combined with penetration testing.



                                                        OWASP       7



Saturday, 13 April, 13
2. COVER THE BASICS FIRST
      Don’t run before you can walk!




                                       OWASP   8



Saturday, 13 April, 13
OWASP Top 10 - 2010                             OWASP Top 10 - 2013
         A1. Injection

         A2. Cross-Site Scripting

         A3. Broken Authentication and
             Session Management

         A4. Insecure Direct Object
              References

        A5. Cross-Site Request Forgery

        A6. Security Misconfiguration

        A7. Insecure Cryptographic Storage

        A8. Failure to Restrict URL Access

         A9. Insufficient Transport Layer
             Protection

         A10. Unvalidated Redirects and
              Forwards

                                                                     OWASP   9
                                             2010   Modified   New

Saturday, 13 April, 13
OWASP Top 10 - 2010                             OWASP Top 10 - 2013
         A1. Injection                                         A1. Injection

         A2. Cross-Site Scripting                              A2. Broken Authentication and
                                                                   Session Management
         A3. Broken Authentication and
             Session Management                                A3. Cross-Site Scripting


         A4. Insecure Direct Object                            A4. Insecure Direct Object
              References                                            References

                                                               A5. Security Misconfiguration
        A5. Cross-Site Request Forgery

                                                               A6. Sensitive Data Exposure
        A6. Security Misconfiguration
                                                               A7. Missing Function Level Access
        A7. Insecure Cryptographic Storage                         Control

        A8. Failure to Restrict URL Access                     A8. Cross-Site Request Forgery

         A9. Insufficient Transport Layer                      A9. Using Known Vulnerable
             Protection                                            Components

         A10. Unvalidated Redirects and                        A10. Unvalidated Redirects and
              Forwards                                              Forwards

                                                                                             OWASP   9
                                             2010   Modified       New

Saturday, 13 April, 13
OWASP Top 10 - 2010                             OWASP Top 10 - 2013
         A1. Injection                                         A1. Injection

         A2. Cross-Site Scripting                              A2. Broken Authentication and
                                                                   Session Management
         A3. Broken Authentication and
             Session Management                                A3. Cross-Site Scripting


         A4. Insecure Direct Object                            A4. Insecure Direct Object
              References                                            References

                                                               A5. Security Misconfiguration
        A5. Cross-Site Request Forgery

                                                               A6. Sensitive Data Exposure
        A6. Security Misconfiguration
                                                               A7. Missing Function Level Access
        A7. Insecure Cryptographic Storage                         Control

        A8. Failure to Restrict URL Access                     A8. Cross-Site Request Forgery

         A9. Insufficient Transport Layer                      A9. Using Known Vulnerable
             Protection                                            Components

         A10. Unvalidated Redirects and                        A10. Unvalidated Redirects and
              Forwards                                              Forwards

                                                                                             OWASP   9
                                             2010   Modified       New

Saturday, 13 April, 13
Veracode Report - 2011                                  OWASP Top 10 - 2013
                                                               A1. Injection


                                          A3
                                                               A2. Broken Authentication and
                                                                   Session Management
                                     A6

                                                               A3. Cross-Site Scripting
                               A3

                                                               A4. Insecure Direct Object References
                                     A6


                                                               A5. Security Misconfiguration
                                    A4


                                                               A6. Sensitive Data Exposure
                                           A1   A3   ...


                              A1                               A7. Missing Function Level Access Control


                               A9                              A8. Cross-Site Request Forgery


                                          A2                   A9. Using Known Vulnerable Components


                                                               A10. Unvalidated Redirects and Forwards

                         A9




                                                                                          OWASP            10
                         2010                   Modified     New

Saturday, 13 April, 13
Trustwave Report - 2013                  OWASP Top 10 - 2013
                                                  A1. Injection


                                                  A2. Broken Authentication and
                                                      Session Management


                                                  A3. Cross-Site Scripting


                                                  A4. Insecure Direct Object References
                                A1

                                                  A5. Security Misconfiguration

                                A4
                                                  A6. Sensitive Data Exposure
                                A3

                                A7
                                                  A7. Missing Function Level Access Control
                                A8

                                A1                A8. Cross-Site Request Forgery
                                A4

                                A10               A9. Using Known Vulnerable Components

                                A9
                                                  A10. Unvalidated Redirects and Forwards




                                                                             OWASP            11
                         2010         Modified   New

Saturday, 13 April, 13
Whitehat Report - 2012                                            OWASP Top 10 - 2013
                                                         A3

                                                                          A1. Injection

                                                        A6
                                                                          A2. Broken Authentication and
                                                                              Session Management

                                                   A3
                                                                          A3. Cross-Site Scripting


                                    A4        A7                          A4. Insecure Direct Object References


                                                                          A5. Security Misconfiguration
                                   A7

                                                                          A6. Sensitive Data Exposure

                              A4         A7
                                                                          A7. Missing Function Level Access Control


                         A4                                               A8. Cross-Site Request Forgery


                                                                          A9. Using Known Vulnerable Components
                     A1


                                                                          A10. Unvalidated Redirects and Forwards
                     A2




                     A2                                                                                    OWASP      12
                                                        2010   Modified    New

Saturday, 13 April, 13
3.FOCUS ON WHAT MATTERS
      Really...focus on what matters!




                                        OWASP   13



Saturday, 13 April, 13
Effective Security Code Review Process

            Reconnaissance: Understand the application
            Threat Assessment: Enumerate inputs, threats and
            attack surface
            Automation: Low hanging fruits
            Manual Review: High-risk modules
            Confirmation & PoC: Confirm high-risk vulnerabilities.
            Reporting: Communicate back to the development team




                                                         OWASP       14



Saturday, 13 April, 13
Code Review Process                       Reconnaissance!
Effective Security


                                                                    Threat
                            Reporting!
                                                                  Assessment!
                                          Security
                                                     Checklist!
                                           Skills!



                                                 Tools!


                          Confirmation &
                                                                  Automation!
                              PoC!



                                          Manual Review!
                                                                         OWASP   15



 Saturday, 13 April, 13
Reconnaissance
      What REALLY Matters?
           Business Walkthrough: will
           get you right to the assets and
           the core business goal                            Reconnaissance!


                                                                                       Threat
                                               Reporting!
                                                                                     Assessment!

           Technical Walkthrough: will                       Security
                                                              Skills!
                                                                        Checklist!



           get you right to the                                     Tools!



           vulnerabilities                   Confirmation &
                                                 PoC!
                                                                                     Automation!



                                                             Manual Review!

           Roles: better understand the
           application and attack surface

                                                                         OWASP                     16



Saturday, 13 April, 13
Threat & Risk Modeling
      What REALLY Matters?
           A library of Vulnerabilities/Threats
             Industry based
             Risk Based                                             Reconnaissance!


                                                                                               Threat
                                                       Reporting!
                                                                                             Assessment!
                                                                     Security



           Thorough Understanding of Assets
                                                                                Checklist!
                                                                      Skills!



                                                                            Tools!


                                                     Confirmation &
                                                                                             Automation!
                                                         PoC!



                                                                     Manual Review!
                                 e
                                 od

                                      Att
                                  C


                                         ac
                              ble



                                            k
                                           Lib
                           era




                                              rar
                            ln
                         Vu




                                                 y




                                  Assets
                                                                     OWASP                                 17



Saturday, 13 April, 13
Automation:
      What REALLY Matters - Fitted Tool
       Static Analysis Tools Evaluation Criteria
           Deployment Model
           Technology Support                                                                              Reconnaissance!


           Scan, Command and Control Support                                                 Reporting!
                                                                                                                                     Threat
                                                                                                                                   Assessment!

           Product Signature Update                                                                        Security
                                                                                                            Skills!
                                                                                                                      Checklist!




           Triage and Remediation Support
                                                                                                                  Tools!


                                                                                           Confirmation &
                                                                                                                                   Automation!
                                                                                               PoC!

           Reporting Capabilities                                                                          Manual Review!


           Enterprise Level Support

        Find more at http://projects.webappsec.org/w/page/41188978/Static Analysis Tools
        Evaluation Criteria




                                                                                                          OWASP                            18



Saturday, 13 April, 13
Automation:
      What REALLY Matters - 3rd Party Libs
           3rd Party Libraries Discovery.
             DependencyCheck       (https://github.com/jeremylong/DependencyCheck)




                                           Reconnaissance!


                                                                     Threat
                             Reporting!
                                                                   Assessment!
                                           Security
                                                      Checklist!
                                            Skills!



                                                  Tools!


                           Confirmation &
                                                                   Automation!
                               PoC!



                                           Manual Review!




                                                                                 OWASP   19



Saturday, 13 April, 13
4. GET YOUR HANDS DIRTY!
      No pain...no gain...




                             OWASP   20



Saturday, 13 April, 13
What Needs Manual Review?
      This REALLY Matters!

           Authentication & Authorization Controls                   Reconnaissance!


           Encryption Modules                          Reporting!
                                                                                               Threat
                                                                                             Assessment!


           File Upload and Download Operations
                                                                     Security
                                                                                Checklist!
                                                                      Skills!



                                                                            Tools!



           Validation ControlsInput Filters         Confirmation &
                                                         PoC!
                                                                                             Automation!




           Security-Sensitive Application Logic                      Manual Review!




                                                                    OWASP                              21



Saturday, 13 April, 13
Authentication and Authorization
 Controls




                           OWASP    22



Saturday, 13 April, 13
Authentication and Authorization
 Controls




                           OWASP    22



Saturday, 13 April, 13
Authentication and Authorization
 Controls




                         WebMethods Don’t Follow
                         Regular ASP.net Page Lifecycle
                                                          OWASP   22



Saturday, 13 April, 13
Encryption Modules




                         OWASP   23



Saturday, 13 April, 13
Encryption Modules




                         OWASP   23



Saturday, 13 April, 13
Encryption Modules




                         OWASP   23



Saturday, 13 April, 13
Encryption Modules




                         There is a possibility of
                         returning empty hashes on
                         error




                                       OWASP    23



Saturday, 13 April, 13
Security Controls




                          OWASP   24



 Saturday, 13 April, 13
Security Controls




                          OWASP   24



 Saturday, 13 April, 13
Security Controls




                          OWASP   24



 Saturday, 13 April, 13
Security Controls




                          OWASP   24



 Saturday, 13 April, 13
Security Controls




                          Directory traversal is
                          possible on post-back.



                                         OWASP     24



 Saturday, 13 April, 13
5. GET YOUR B-17 FIX!
      Gain strategic advantage over the attackers...




                                                  OWASP   25



Saturday, 13 April, 13
Checklists Advances Technology

               Aviation:
                         Model 299-1934: “Too much airplane for one man to fly”.

                         B-17 plane (Model 299 Successor) gave the U.S. major
                         strategic advantage in WWII

               Intensive Care Units:
                         Usage of checklists brought down infection rates in
                         Michigan by 66%



                                                                        OWASP     26



Saturday, 13 April, 13
Resources To Conduct Your
      Checklist
           NIST Checklist Project
              http://checklists.nist.gov/



           Mozilla’s Secure Coding QA Checklist
              https://wiki.mozilla.org/WebAppSec/Secure_Coding_QA_Checklist



           Oracle’s Secure Coding Checklist -
              http://www.oracle.com/technetwork/java/seccodeguide-139067.html



           MSDN Managed Code Checklist
              http://msdn.microsoft.com/en-us/library/ff648189.aspx




                                                                                 OWASP   27



Saturday, 13 April, 13
6. FINISH STRONG!
                         Flex your communications muscles!




                                                             OWASP   28



Saturday, 13 April, 13
Reporting
                                                                    SQL Injection:
        Weakness Metadata
                                                                    Location: sourceACMEPortalupdateinfo.aspx.cs:
        Thorough Description
                                                                    Description: The code below is build dynamic sql
        Recommendation                                              statement using unvalidated data (i.e. name) which can
                                                                    lead to SQL Injection
        Assign Appropriate                                          51 SqlDataAdapter myCommand = new
                                                                       SqlDataAdapter(
        Priority                                                    52 "SELECT au_lname, au_fname FROM author
                                                                       WHERE au_id = '" +
                                                                    53 SSN.Text + "'", myConnection);

                              Reconnaissance!
                                                                    Priority: High
                                                        Threat
                Reporting!
                                                      Assessment!   Recommendation: Use parameterized SQL
                              Security
                               Skills!
                                         Checklist!
                                                                    instead of dynamic concatenation, refer to http://
                                     Tools!
                                                                    msdn.microsoft.com/en-us/library/ff648339.aspx for
              Confirmation &
                                                      Automation!
                                                                    details.
                  PoC!



                              Manual Review!
                                                                    Owner: John Smith

                                                                                                      OWASP            29



Saturday, 13 April, 13
The 6-Points Strategy...


      1. Drastic Changes Requires Drastic Measures.
      2. Cover The Basics First.
      3. Focus on What Matters.
      4. Get Your Hands Dirty.
      5. Get Your B-17 Fix.
      6. Finish Strong.




                                                OWASP   30



Saturday, 13 April, 13
QUESTIONS?
              sherif.koussa@owasp.org
              sherif@softwaresecured.com




                                           OWASP   31



Saturday, 13 April, 13

Contenu connexe

Tendances

Create code confidence for better application security
Create code confidence for better application securityCreate code confidence for better application security
Create code confidence for better application securityRogue Wave Software
 
Owasp top 10 web application security hazards - Part 1
Owasp top 10 web application security hazards - Part 1Owasp top 10 web application security hazards - Part 1
Owasp top 10 web application security hazards - Part 1Abhinav Sejpal
 
SARCON Talk - Vandana Verma Sehgal
SARCON Talk - Vandana Verma SehgalSARCON Talk - Vandana Verma Sehgal
SARCON Talk - Vandana Verma SehgalVandana Verma
 
[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architecture[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architectureOWASP
 
Lessons from a recovering runtime application self protection addict
Lessons from a recovering runtime application self protection addictLessons from a recovering runtime application self protection addict
Lessons from a recovering runtime application self protection addictPriyanka Aash
 
Continuous Application Security at Scale with IAST and RASP -- Transforming D...
Continuous Application Security at Scale with IAST and RASP -- Transforming D...Continuous Application Security at Scale with IAST and RASP -- Transforming D...
Continuous Application Security at Scale with IAST and RASP -- Transforming D...Jeff Williams
 
OISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec PrimerOISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec PrimerCiNPA Security SIG
 
[OWASP Poland Day] Security in developer's life
[OWASP Poland Day] Security in developer's life[OWASP Poland Day] Security in developer's life
[OWASP Poland Day] Security in developer's lifeOWASP
 
Owasp top 10 web application security hazards part 2
Owasp top 10 web application security hazards part 2Owasp top 10 web application security hazards part 2
Owasp top 10 web application security hazards part 2Abhinav Sejpal
 
The Hacker's Guide to NoSQL Injection
The Hacker's Guide to NoSQL InjectionThe Hacker's Guide to NoSQL Injection
The Hacker's Guide to NoSQL InjectionPatrycja Wegrzynowicz
 
Good Security Starts with Software Assurance - Software Assurance Market Plac...
Good Security Starts with Software Assurance - Software Assurance Market Plac...Good Security Starts with Software Assurance - Software Assurance Market Plac...
Good Security Starts with Software Assurance - Software Assurance Market Plac...Phil Agcaoili
 
OWASP Knoxville Inaugural Chapter Meeting
OWASP Knoxville Inaugural Chapter MeetingOWASP Knoxville Inaugural Chapter Meeting
OWASP Knoxville Inaugural Chapter MeetingPhil Agcaoili
 
Bug Bounty #Defconlucknow2016
Bug Bounty #Defconlucknow2016Bug Bounty #Defconlucknow2016
Bug Bounty #Defconlucknow2016Shubham Gupta
 
Securing your web applications a pragmatic approach
Securing your web applications a pragmatic approachSecuring your web applications a pragmatic approach
Securing your web applications a pragmatic approachAntonio Parata
 

Tendances (20)

Create code confidence for better application security
Create code confidence for better application securityCreate code confidence for better application security
Create code confidence for better application security
 
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
 
SARCON Talk - Vandana Verma Sehgal
SARCON Talk - Vandana Verma SehgalSARCON Talk - Vandana Verma Sehgal
SARCON Talk - Vandana Verma Sehgal
 
[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architecture[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architecture
 
Lessons from a recovering runtime application self protection addict
Lessons from a recovering runtime application self protection addictLessons from a recovering runtime application self protection addict
Lessons from a recovering runtime application self protection addict
 
Continuous Application Security at Scale with IAST and RASP -- Transforming D...
Continuous Application Security at Scale with IAST and RASP -- Transforming D...Continuous Application Security at Scale with IAST and RASP -- Transforming D...
Continuous Application Security at Scale with IAST and RASP -- Transforming D...
 
OISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec PrimerOISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec Primer
 
[OWASP Poland Day] Security in developer's life
[OWASP Poland Day] Security in developer's life[OWASP Poland Day] Security in developer's life
[OWASP Poland Day] Security in developer's life
 
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
 
The Hacker's Guide to NoSQL Injection
The Hacker's Guide to NoSQL InjectionThe Hacker's Guide to NoSQL Injection
The Hacker's Guide to NoSQL Injection
 
The Hacker's Guide to XSS
The Hacker's Guide to XSSThe Hacker's Guide to XSS
The Hacker's Guide to XSS
 
Good Security Starts with Software Assurance - Software Assurance Market Plac...
Good Security Starts with Software Assurance - Software Assurance Market Plac...Good Security Starts with Software Assurance - Software Assurance Market Plac...
Good Security Starts with Software Assurance - Software Assurance Market Plac...
 
OWASP Knoxville Inaugural Chapter Meeting
OWASP Knoxville Inaugural Chapter MeetingOWASP Knoxville Inaugural Chapter Meeting
OWASP Knoxville Inaugural Chapter Meeting
 
Hack through Injections
Hack through InjectionsHack through Injections
Hack through Injections
 
The Hacker's Guide to JWT Security
The Hacker's Guide to JWT SecurityThe Hacker's Guide to JWT Security
The Hacker's Guide to JWT Security
 
Bug Bounty #Defconlucknow2016
Bug Bounty #Defconlucknow2016Bug Bounty #Defconlucknow2016
Bug Bounty #Defconlucknow2016
 
Bug bounty
Bug bountyBug bounty
Bug bounty
 
(Un)safe Python
(Un)safe Python(Un)safe Python
(Un)safe Python
 
Bug Bounty 101
Bug Bounty 101Bug Bounty 101
Bug Bounty 101
 
Securing your web applications a pragmatic approach
Securing your web applications a pragmatic approachSecuring your web applications a pragmatic approach
Securing your web applications a pragmatic approach
 

Similaire à Security Code Reviews. Does Your Code Need an Open Heart Surgery and The 6 Points Methodology To Get Your Applications in Top Security Shape

Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)
Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)
Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)OWASP Ottawa
 
Owasp london training course 2010 - Matteo Meucci
Owasp london training course 2010 - Matteo MeucciOwasp london training course 2010 - Matteo Meucci
Owasp london training course 2010 - Matteo MeucciMatteo Meucci
 
OWASP Khartoum Top 10 A4 - 7th meeting
OWASP Khartoum   Top 10 A4 - 7th meetingOWASP Khartoum   Top 10 A4 - 7th meeting
OWASP Khartoum Top 10 A4 - 7th meetingOWASP Khartoum
 
Open Source Libraries - Managing Risk in Cloud
Open Source Libraries - Managing Risk in Cloud Open Source Libraries - Managing Risk in Cloud
Open Source Libraries - Managing Risk in Cloud Suman Sourav
 
OWASP Overview of Projects You Can Use Today - DefCamp 2012
OWASP Overview of Projects You Can Use Today - DefCamp 2012OWASP Overview of Projects You Can Use Today - DefCamp 2012
OWASP Overview of Projects You Can Use Today - DefCamp 2012DefCamp
 
[OWASP-Bulgaria] G. Geshev - Chapter Introductory Lecture
[OWASP-Bulgaria] G. Geshev - Chapter Introductory Lecture[OWASP-Bulgaria] G. Geshev - Chapter Introductory Lecture
[OWASP-Bulgaria] G. Geshev - Chapter Introductory LectureG. Geshev
 
OWASP Serbia - A6 security misconfiguration
OWASP Serbia - A6 security misconfigurationOWASP Serbia - A6 security misconfiguration
OWASP Serbia - A6 security misconfigurationNikola Milosevic
 
Owasp tools - OWASP Serbia
Owasp tools - OWASP SerbiaOwasp tools - OWASP Serbia
Owasp tools - OWASP SerbiaNikola Milosevic
 
OWASP, the life and the universe
OWASP, the life and the universeOWASP, the life and the universe
OWASP, the life and the universeSébastien GIORIA
 
OWASP_Top_10_Introduction_and_Remedies_2017.ppt
OWASP_Top_10_Introduction_and_Remedies_2017.pptOWASP_Top_10_Introduction_and_Remedies_2017.ppt
OWASP_Top_10_Introduction_and_Remedies_2017.pptjangomanso
 
OWASP Top 10 2007 for JavaEE
OWASP Top 10 2007 for JavaEE OWASP Top 10 2007 for JavaEE
OWASP Top 10 2007 for JavaEE Magno Logan
 
OWASP App Sec US - 2010
OWASP App Sec US - 2010OWASP App Sec US - 2010
OWASP App Sec US - 2010Aditya K Sood
 
OWASP-Web-Security-testing-4.2
OWASP-Web-Security-testing-4.2OWASP-Web-Security-testing-4.2
OWASP-Web-Security-testing-4.2Massimo Talia
 
OWASP Khartoum Top 10 A3 - 6th meeting
OWASP Khartoum   Top 10 A3 - 6th meetingOWASP Khartoum   Top 10 A3 - 6th meeting
OWASP Khartoum Top 10 A3 - 6th meetingOWASP Khartoum
 
CiNPA Security SIG - AppSec Presentation
CiNPA Security SIG - AppSec PresentationCiNPA Security SIG - AppSec Presentation
CiNPA Security SIG - AppSec PresentationCiNPA Security SIG
 

Similaire à Security Code Reviews. Does Your Code Need an Open Heart Surgery and The 6 Points Methodology To Get Your Applications in Top Security Shape (20)

Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)
Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)
Security Code Review for .NET - Sherif Koussa (OWASP Ottawa)
 
Owasp london training course 2010 - Matteo Meucci
Owasp london training course 2010 - Matteo MeucciOwasp london training course 2010 - Matteo Meucci
Owasp london training course 2010 - Matteo Meucci
 
OWASP Khartoum Top 10 A4 - 7th meeting
OWASP Khartoum   Top 10 A4 - 7th meetingOWASP Khartoum   Top 10 A4 - 7th meeting
OWASP Khartoum Top 10 A4 - 7th meeting
 
Open Source Libraries - Managing Risk in Cloud
Open Source Libraries - Managing Risk in Cloud Open Source Libraries - Managing Risk in Cloud
Open Source Libraries - Managing Risk in Cloud
 
OWASP Overview of Projects You Can Use Today - DefCamp 2012
OWASP Overview of Projects You Can Use Today - DefCamp 2012OWASP Overview of Projects You Can Use Today - DefCamp 2012
OWASP Overview of Projects You Can Use Today - DefCamp 2012
 
OWASP Bulgaria
OWASP BulgariaOWASP Bulgaria
OWASP Bulgaria
 
Owasp Serbia overview
Owasp Serbia overviewOwasp Serbia overview
Owasp Serbia overview
 
[OWASP-Bulgaria] G. Geshev - Chapter Introductory Lecture
[OWASP-Bulgaria] G. Geshev - Chapter Introductory Lecture[OWASP-Bulgaria] G. Geshev - Chapter Introductory Lecture
[OWASP-Bulgaria] G. Geshev - Chapter Introductory Lecture
 
OISF - AppSec Presentation
OISF - AppSec PresentationOISF - AppSec Presentation
OISF - AppSec Presentation
 
OWASP Serbia - A6 security misconfiguration
OWASP Serbia - A6 security misconfigurationOWASP Serbia - A6 security misconfiguration
OWASP Serbia - A6 security misconfiguration
 
Owasp tools - OWASP Serbia
Owasp tools - OWASP SerbiaOwasp tools - OWASP Serbia
Owasp tools - OWASP Serbia
 
Managing third party libraries
Managing third party librariesManaging third party libraries
Managing third party libraries
 
OWASP, the life and the universe
OWASP, the life and the universeOWASP, the life and the universe
OWASP, the life and the universe
 
OWASP_Top_10_Introduction_and_Remedies_2017.ppt
OWASP_Top_10_Introduction_and_Remedies_2017.pptOWASP_Top_10_Introduction_and_Remedies_2017.ppt
OWASP_Top_10_Introduction_and_Remedies_2017.ppt
 
OWASP Top 10 2007 for JavaEE
OWASP Top 10 2007 for JavaEE OWASP Top 10 2007 for JavaEE
OWASP Top 10 2007 for JavaEE
 
OWASP App Sec US - 2010
OWASP App Sec US - 2010OWASP App Sec US - 2010
OWASP App Sec US - 2010
 
OWASP-Web-Security-testing-4.2
OWASP-Web-Security-testing-4.2OWASP-Web-Security-testing-4.2
OWASP-Web-Security-testing-4.2
 
OWASP Khartoum Top 10 A3 - 6th meeting
OWASP Khartoum   Top 10 A3 - 6th meetingOWASP Khartoum   Top 10 A3 - 6th meeting
OWASP Khartoum Top 10 A3 - 6th meeting
 
CiNPA Security SIG - AppSec Presentation
CiNPA Security SIG - AppSec PresentationCiNPA Security SIG - AppSec Presentation
CiNPA Security SIG - AppSec Presentation
 
Zap vs burp
Zap vs burpZap vs burp
Zap vs burp
 

Dernier

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 

Dernier (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 

Security Code Reviews. Does Your Code Need an Open Heart Surgery and The 6 Points Methodology To Get Your Applications in Top Security Shape

  • 1. Security Code Reviews Does Your Code Need an Open Heart Surgery? 6-Points Strategy to Get Your Application in Security Shape Sherif Koussa OWASP Ottawa Chapter Leader OWASP Static Analysis Tools Evaluation Criteria Project Leader Application Security Specialist - Software Secured Copyright 2007 © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org Saturday, 13 April, 13
  • 2. 2011 Bio Static Analysis Code Evaluation Criteria Project Lead 2008 Steering Committee Member GSSP-Java, GSSP-Net DEV-541, DEV0544, SEC540 2007 Softwar S cur OWASP Chapter Leader WebGoat 5.0 Developer OWASP 2 Saturday, 13 April, 13 2
  • 3. The 6 Points Strategy to Get Your Applications Back in Top Security Shape... OWASP 3 Saturday, 13 April, 13
  • 4. 1. DRASTIC CHANGES NEED DRASTIC MEASURES! Get to the bottom of things quickly! OWASP 4 Saturday, 13 April, 13
  • 5. Open Heart Surgery Steps: OWASP 5 Saturday, 13 April, 13
  • 6. Open Heart Surgery Steps: Step 1: Sawing Through the Sternum Step 2: Working on the Heart Step 3: Putting the Sternum Back Together Step 4: Stitching Up the Skin OWASP 5 Saturday, 13 April, 13
  • 7. Open Heart Surgery Steps: Step 1: Sawing Through the Sternum Step 2: Working on the Heart Step 3: Putting the Sternum Back Together Step 4: Stitching Up the Skin OWASP 5 Saturday, 13 April, 13
  • 8. Open Heart Surgery Steps: Step 1: Sawing Through the Sternum Step 2: Working on the Heart Step 3: Putting the Sternum Back Together Step 4: Stitching Up the Skin Causes: OWASP 5 Saturday, 13 April, 13
  • 9. Open Heart Surgery Steps: Step 1: Sawing Through the Sternum Step 2: Working on the Heart Step 3: Putting the Sternum Back Together Step 4: Stitching Up the Skin Causes: Repair or replace heart valves, which control blood flow through the heart Repair abnormal or damaged structures in the heart Implant medical devices that help control the heartbeat or support heart function and blood flow Replace a damaged heart with a healthy heart from a donor OWASP 5 Saturday, 13 April, 13
  • 10. Open Code Surgery (AKA Code Review) OWASP 6 Saturday, 13 April, 13
  • 11. Open Code Surgery (AKA Code Review) Why Security Code Reviews: OWASP 6 Saturday, 13 April, 13
  • 12. Open Code Surgery (AKA Code Review) Why Security Code Reviews: Effectiveness of Security Controls Against Known Threats Testing All Application Execution Paths Find All Instances of a Certain Vulnerability The Only Way to Find Certain Types of Vulnerabilities Effective Remediation Instructions OWASP 6 Saturday, 13 April, 13
  • 13. Code Review Types Peer Security Code Review: peer code reviews combined with secure coding best practices. Automatic Security Code Review: running a static code analysis tool. Modular Review: pure manual code review line by line. Ad-hoc Security Code Review: security done on selected modules of the application. Source-Code Driven Code Review: Full code review process combined with penetration testing. OWASP 7 Saturday, 13 April, 13
  • 14. Code Review Types Peer Security Code Review: peer code reviews combined with secure coding best practices. Automatic Security Code Review: running a static code analysis tool. Modular Review: pure manual code review line by line. Ad-hoc Security Code Review: security done on selected modules of the application. Source-Code Driven Code Review: Full code review process combined with penetration testing. OWASP 7 Saturday, 13 April, 13
  • 15. 2. COVER THE BASICS FIRST Don’t run before you can walk! OWASP 8 Saturday, 13 April, 13
  • 16. OWASP Top 10 - 2010 OWASP Top 10 - 2013 A1. Injection A2. Cross-Site Scripting A3. Broken Authentication and Session Management A4. Insecure Direct Object References A5. Cross-Site Request Forgery A6. Security Misconfiguration A7. Insecure Cryptographic Storage A8. Failure to Restrict URL Access A9. Insufficient Transport Layer Protection A10. Unvalidated Redirects and Forwards OWASP 9 2010 Modified New Saturday, 13 April, 13
  • 17. OWASP Top 10 - 2010 OWASP Top 10 - 2013 A1. Injection A1. Injection A2. Cross-Site Scripting A2. Broken Authentication and Session Management A3. Broken Authentication and Session Management A3. Cross-Site Scripting A4. Insecure Direct Object A4. Insecure Direct Object References References A5. Security Misconfiguration A5. Cross-Site Request Forgery A6. Sensitive Data Exposure A6. Security Misconfiguration A7. Missing Function Level Access A7. Insecure Cryptographic Storage Control A8. Failure to Restrict URL Access A8. Cross-Site Request Forgery A9. Insufficient Transport Layer A9. Using Known Vulnerable Protection Components A10. Unvalidated Redirects and A10. Unvalidated Redirects and Forwards Forwards OWASP 9 2010 Modified New Saturday, 13 April, 13
  • 18. OWASP Top 10 - 2010 OWASP Top 10 - 2013 A1. Injection A1. Injection A2. Cross-Site Scripting A2. Broken Authentication and Session Management A3. Broken Authentication and Session Management A3. Cross-Site Scripting A4. Insecure Direct Object A4. Insecure Direct Object References References A5. Security Misconfiguration A5. Cross-Site Request Forgery A6. Sensitive Data Exposure A6. Security Misconfiguration A7. Missing Function Level Access A7. Insecure Cryptographic Storage Control A8. Failure to Restrict URL Access A8. Cross-Site Request Forgery A9. Insufficient Transport Layer A9. Using Known Vulnerable Protection Components A10. Unvalidated Redirects and A10. Unvalidated Redirects and Forwards Forwards OWASP 9 2010 Modified New Saturday, 13 April, 13
  • 19. Veracode Report - 2011 OWASP Top 10 - 2013 A1. Injection A3 A2. Broken Authentication and Session Management A6 A3. Cross-Site Scripting A3 A4. Insecure Direct Object References A6 A5. Security Misconfiguration A4 A6. Sensitive Data Exposure A1 A3 ... A1 A7. Missing Function Level Access Control A9 A8. Cross-Site Request Forgery A2 A9. Using Known Vulnerable Components A10. Unvalidated Redirects and Forwards A9 OWASP 10 2010 Modified New Saturday, 13 April, 13
  • 20. Trustwave Report - 2013 OWASP Top 10 - 2013 A1. Injection A2. Broken Authentication and Session Management A3. Cross-Site Scripting A4. Insecure Direct Object References A1 A5. Security Misconfiguration A4 A6. Sensitive Data Exposure A3 A7 A7. Missing Function Level Access Control A8 A1 A8. Cross-Site Request Forgery A4 A10 A9. Using Known Vulnerable Components A9 A10. Unvalidated Redirects and Forwards OWASP 11 2010 Modified New Saturday, 13 April, 13
  • 21. Whitehat Report - 2012 OWASP Top 10 - 2013 A3 A1. Injection A6 A2. Broken Authentication and Session Management A3 A3. Cross-Site Scripting A4 A7 A4. Insecure Direct Object References A5. Security Misconfiguration A7 A6. Sensitive Data Exposure A4 A7 A7. Missing Function Level Access Control A4 A8. Cross-Site Request Forgery A9. Using Known Vulnerable Components A1 A10. Unvalidated Redirects and Forwards A2 A2 OWASP 12 2010 Modified New Saturday, 13 April, 13
  • 22. 3.FOCUS ON WHAT MATTERS Really...focus on what matters! OWASP 13 Saturday, 13 April, 13
  • 23. Effective Security Code Review Process Reconnaissance: Understand the application Threat Assessment: Enumerate inputs, threats and attack surface Automation: Low hanging fruits Manual Review: High-risk modules Confirmation & PoC: Confirm high-risk vulnerabilities. Reporting: Communicate back to the development team OWASP 14 Saturday, 13 April, 13
  • 24. Code Review Process Reconnaissance! Effective Security Threat Reporting! Assessment! Security Checklist! Skills! Tools! Confirmation & Automation! PoC! Manual Review! OWASP 15 Saturday, 13 April, 13
  • 25. Reconnaissance What REALLY Matters? Business Walkthrough: will get you right to the assets and the core business goal Reconnaissance! Threat Reporting! Assessment! Technical Walkthrough: will Security Skills! Checklist! get you right to the Tools! vulnerabilities Confirmation & PoC! Automation! Manual Review! Roles: better understand the application and attack surface OWASP 16 Saturday, 13 April, 13
  • 26. Threat & Risk Modeling What REALLY Matters? A library of Vulnerabilities/Threats Industry based Risk Based Reconnaissance! Threat Reporting! Assessment! Security Thorough Understanding of Assets Checklist! Skills! Tools! Confirmation & Automation! PoC! Manual Review! e od Att C ac ble k Lib era rar ln Vu y Assets OWASP 17 Saturday, 13 April, 13
  • 27. Automation: What REALLY Matters - Fitted Tool Static Analysis Tools Evaluation Criteria Deployment Model Technology Support Reconnaissance! Scan, Command and Control Support Reporting! Threat Assessment! Product Signature Update Security Skills! Checklist! Triage and Remediation Support Tools! Confirmation & Automation! PoC! Reporting Capabilities Manual Review! Enterprise Level Support Find more at http://projects.webappsec.org/w/page/41188978/Static Analysis Tools Evaluation Criteria OWASP 18 Saturday, 13 April, 13
  • 28. Automation: What REALLY Matters - 3rd Party Libs 3rd Party Libraries Discovery. DependencyCheck (https://github.com/jeremylong/DependencyCheck) Reconnaissance! Threat Reporting! Assessment! Security Checklist! Skills! Tools! Confirmation & Automation! PoC! Manual Review! OWASP 19 Saturday, 13 April, 13
  • 29. 4. GET YOUR HANDS DIRTY! No pain...no gain... OWASP 20 Saturday, 13 April, 13
  • 30. What Needs Manual Review? This REALLY Matters! Authentication & Authorization Controls Reconnaissance! Encryption Modules Reporting! Threat Assessment! File Upload and Download Operations Security Checklist! Skills! Tools! Validation ControlsInput Filters Confirmation & PoC! Automation! Security-Sensitive Application Logic Manual Review! OWASP 21 Saturday, 13 April, 13
  • 31. Authentication and Authorization Controls OWASP 22 Saturday, 13 April, 13
  • 32. Authentication and Authorization Controls OWASP 22 Saturday, 13 April, 13
  • 33. Authentication and Authorization Controls WebMethods Don’t Follow Regular ASP.net Page Lifecycle OWASP 22 Saturday, 13 April, 13
  • 34. Encryption Modules OWASP 23 Saturday, 13 April, 13
  • 35. Encryption Modules OWASP 23 Saturday, 13 April, 13
  • 36. Encryption Modules OWASP 23 Saturday, 13 April, 13
  • 37. Encryption Modules There is a possibility of returning empty hashes on error OWASP 23 Saturday, 13 April, 13
  • 38. Security Controls OWASP 24 Saturday, 13 April, 13
  • 39. Security Controls OWASP 24 Saturday, 13 April, 13
  • 40. Security Controls OWASP 24 Saturday, 13 April, 13
  • 41. Security Controls OWASP 24 Saturday, 13 April, 13
  • 42. Security Controls Directory traversal is possible on post-back. OWASP 24 Saturday, 13 April, 13
  • 43. 5. GET YOUR B-17 FIX! Gain strategic advantage over the attackers... OWASP 25 Saturday, 13 April, 13
  • 44. Checklists Advances Technology Aviation: Model 299-1934: “Too much airplane for one man to fly”. B-17 plane (Model 299 Successor) gave the U.S. major strategic advantage in WWII Intensive Care Units: Usage of checklists brought down infection rates in Michigan by 66% OWASP 26 Saturday, 13 April, 13
  • 45. Resources To Conduct Your Checklist NIST Checklist Project  http://checklists.nist.gov/ Mozilla’s Secure Coding QA Checklist  https://wiki.mozilla.org/WebAppSec/Secure_Coding_QA_Checklist Oracle’s Secure Coding Checklist -  http://www.oracle.com/technetwork/java/seccodeguide-139067.html MSDN Managed Code Checklist  http://msdn.microsoft.com/en-us/library/ff648189.aspx OWASP 27 Saturday, 13 April, 13
  • 46. 6. FINISH STRONG! Flex your communications muscles! OWASP 28 Saturday, 13 April, 13
  • 47. Reporting SQL Injection: Weakness Metadata Location: sourceACMEPortalupdateinfo.aspx.cs: Thorough Description Description: The code below is build dynamic sql Recommendation statement using unvalidated data (i.e. name) which can lead to SQL Injection Assign Appropriate 51 SqlDataAdapter myCommand = new SqlDataAdapter( Priority 52 "SELECT au_lname, au_fname FROM author WHERE au_id = '" + 53 SSN.Text + "'", myConnection); Reconnaissance! Priority: High Threat Reporting! Assessment! Recommendation: Use parameterized SQL Security Skills! Checklist! instead of dynamic concatenation, refer to http:// Tools! msdn.microsoft.com/en-us/library/ff648339.aspx for Confirmation & Automation! details. PoC! Manual Review! Owner: John Smith OWASP 29 Saturday, 13 April, 13
  • 48. The 6-Points Strategy... 1. Drastic Changes Requires Drastic Measures. 2. Cover The Basics First. 3. Focus on What Matters. 4. Get Your Hands Dirty. 5. Get Your B-17 Fix. 6. Finish Strong. OWASP 30 Saturday, 13 April, 13
  • 49. QUESTIONS? sherif.koussa@owasp.org sherif@softwaresecured.com OWASP 31 Saturday, 13 April, 13