SlideShare uma empresa Scribd logo
1 de 41
Into the Rabbithole—
Evolved Web Application
Security Testing



Rafal M. Los
Security Evangelist
HP Application Security Center
Email: Rafal@hp.com – Twitter: @Wh1t3Rabbit – Skype: Wh1t3Rabbit
+1 (404) 606-6056


©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
Let’s descend
      down the
     rabbit-hole
           OR


      Better testing
    through evolved
       automation

3
Automation: Love & Hate

                           Web App Sec has a
                                LOVE|HATE
                       relationship with automation
   LOVE
    Automation speeds defect identification
    Scanning is fast, quickly producing results
                                                                      HATE
                                          Attack surface coverage unclear*
                                          Confuse automation’s purpose

*More on the coverage problem shortly…
    4
Understanding Automation

Battle lines (the classic arguments)
– Humans offer intelligence
– Automation offers limited scope


Benefits of automation
– Scalability: Analysis speed, coverage, processing
– Complexity: Applications are increasingly process-driven




5
So What?


           We’ve reached
           a tipping point




6
Why Did My Scanner Miss X?

Two real reasons
    •X     required a specific sequence, or FLOW
    •X     required DATA to get there




                                                   ?
Data + Flow  no excuses
       tools have data + logic… the result is
    • IF
     ―smarter‖ automation
    • No     more ―crawl n’ hope‖




7
―Radical‖ Testing Methodology


 STOP   point n’ scan web application security testing



      ENLIGHTENED METHODOLOGY
      • Application functional mapping w/data
      • Layered automation-infused testing
      • Concrete metrics & KPIs



                                                         8
Do what you do…




      only smarter
9
Application Functional Mapping
     with Data




10   ©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
Defect vs. Vulnerability
     How many of you have ever performed
     functional testing ?




11   ©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
Functional vs. Security Testing

 QA TEAM                  INFOSECURITY TEAM
 Functions known          Functions unknown
 Application understood   Application unknown
 Rely on functional       Rely on crawlers + experience +
 specifications           luck
 Coverage known           Coverage unknown
 Highlight key business
                          Highlight ―found‖ functionality
 logic



12
Hard Lessons Learned

Security analysts, tools [today]
 aren’t equipped to properly
 test highly complex
 applications…


MISSING PIECES
• Understanding of application

• Functional mapping of application

•   Application execution flow
•   Valid test data

                                      13
Bridging the Gaps

Is the kitchen-sink attack working?
                    Hint: It used to…not anymore

     YOU ARE HERE        IDEAL         THEY ARE THERE




                                                        14
As All This Is Happening—
Technology Drives Forward…




                             15
Application State Is Changing

HTTP State
 • Session/Cookie       State
 • Server   State

Client State
 • JavaScript   State
 • Silverlight/Flash    State

—Impossible to decouple HTTP from Client State
—You can’t just crawl/guess your way through a modern,
 complex application


                                                         16
Proposed Approach

Combine functional + security testing, compensating
 for technology


• Address technology complexities
 • Session   states
 • Code-complexity

• Address functional complexities
 • Mapping     application function as execution flows
 • Mapping     data for driving execution flows


                                                         17
Incoming New Automation Technology!




                                      18
Standards & Specifications

EFD
 Execution Flow Diagram – Functional paths through the
 application logic


ADM
 Application Data Mapping – Mapping data requirements
 against functional paths




                                                         19
Improving the Testing Process

                                Application functional
 Functional Specification
                                   mapping [EFD]


                                        +
Function-based automated
          testing           =     Application data
                                   mapping [ADM]




Manual result & coverage
        validation
Basics of the EFD & ADM




21
Basic EFD Concepts

Graph(s) of flows through the application
 - Nodes represent application states
 - Edges represent different actions
 - Paths between nodes represent state changes
 - A set of paths is a flow




                                                 22
Execution Flow Action Types

What is an action?
 • Something   that causes a change in state
 •A   human, server or browser-driven event



Three types of actions
 • Direct
 • Supplemental
 • Indirect




                                               23
Direct Flow Actions

Actions which change the browser’s document context
 • Causes    an entirely new browser page




                                                  GET /?step2
Examples-                                   P1                     P2
 • Following   hyperlink
 • Click   login button
                                            HTTP          Direct
                                            States        Flow
                                            (Pages)       Action




                                                                        24
Supplemental Flow Actions

Actions that change the state of the current document
 • Client-side   action, maintaining browser page




Examples:                                      onLoad      onMouseOver

– JavaScript menu
– Flash client event                      P1        P1.1           P1.1.1




                                           Supplementary        DOM
                                           Flows                States
                                                                            25
Indirect Flow Actions

Actions automatically triggered by document context
 • Usually   for supporting data, modifying document state




Examples:                                                      <script src=dojo.js />
                                                                      Indirect
– Site analytics (js)              Dojo
                                                                      Flow
                                   Library
– Stock ticker
– XMLHTTPrequest



                                     Direct Flow       Pages                       26
Basic ADM Concepts

An Application Data Map [ADM] defines flows with the
 context of data
WHY?
• Flows mean nothing without DATA*
• Data should be interchangeable
 •   Monitoring requests make this impossible – no context

• Data can be direct or indirect


*Where not specifically defined within an action (at the
 edge) the data values are assumed to be arbitrary
                                                             27
ADM + EFD Visually
Retrieve something from a safe:
1. Map the action
2. Add data (context) necessary to execute
3. Execute action using data
              I need
            something
          from that safe




                     ACTION (open safe)


                            Combination:
                           R23, L12, R31, L9
                                               28
ADM & EFD

Another example: Web site registration




                Landing             fork       Login
                Page
   START


                                Registration
                                   Page


                                               Confirm
                       User                    Account
                       Data
                                                         29
Putting It All Together (1)

 Functional
 Level                   Compose
                Login              Send
                          Email


                          Drives

  Technical
  Level



                                          30
Putting It All Together (2)

     EFD
                                                             JS DOM           HTTP
                                                      a                   GET /
                             g           8
                                                      b                   GET /?Login

                             7                        c                   GET /?Compose


                                             Drives
                                                      d onKeyPressed
     a       b                                            (160 times)
 1       2           3
                                                      e DIV.onMouseOver
                 c                   f
                                                      f   LI.onChange
                 4       d                            g FORM.submit()     GET /?Send
                             5
                                 e
                                     6

                                                                                        31
Putting It All Together (3)



       JS DOM           HTTP                       Data
a                   GET /                    N/A

b                   GET /?Login              User,Pass,Captcha

c                   GET /?Compose            N/A




                                    Drives
d onKeyPressed                               Email_Text
    (160 times)
e DIV.onMouseOver                            N/A

f   LI.onChange                              Send_To_Address

g BTN.onClick       GET /?Send               N/A




                                                                 32
Applications of Execution
     Flow Diagrams




33
Flow Based Threat Analysis

• Markup flow with Threat Information
    • Prioritize testing                         Partners
                                                  Only
    • Prioritize verified vulnerabilities
• Detect dangerous information flows
                                            Checkout with Credit Card




                                                   Viewing Items



                                                                        34
Coverage Analysis

Flows defined by functional specification can be compared to
  security testing to determine gaps!


Q: ―How much of the application was tested?‖


A: ―The scanner was able to test 8 of the 12 flows, we need
 to find out why/where it broke down‖
  EFD can be referenced to determined where
  ADM can be referenced to determine why



                                                               35
Flow-Based Reproduction

Demonstrate exactly how to reproduce a defect…


 Demonstrate where application failed
  •   Steps executed
  •   Data used

                               2                 3
                                   Landing
                         1                           fork
                                   Page
                       START                                    DATA
                                                                <script>
                                             4                  …
                                                 Registration
                                                 Page
                                                                           36
Dysfunctional Use of EFD

Vulnerabilities happen
  when using the
  application in an
                                                     g           8
  unintended way.
                                                     7

If we know the right         a       b
                         1       2           3
   logic paths…
                                         c                   f

                                         4       d
                                                     5
                                                         e
                                                             6



                                                                     37
Next Generation Automation

               Automation of execution flows
• Build maps from user-driven functional scripts
• Recording/Playback
 • Record   HTTP requests
 • Record   JavaScript events
 • Recording   Client UI events

• Attacking
 • [Re]Play   Flows
 • Auditing   HTTP Parameters and HTML Inputs




                                                   38
Next: Automatic Exploration

• Similar paths can be easily enumerated
• JS Static Analysis to find other entry points to paths



                                           Select Flight 1




                                           Select Flight 2


  Automatically
  Found                                                      39
For Next Time…
Layered automation-infused testing     Concrete metrics & KPIs


Testing must be layered to fully       In order to concretely prove
  understand the attack surface of       functional coverage, application
  the application, including             surface area coverage, defect
  multiple levels of authentication,     remediation and ultimately risk
  business logic, data sets.             reduction business-oriented
                                         metrics and KPIs must be
                                         gathered.




                                                                            40
Get to it.

             Insert cheesy cliché here…


             …or you could just go do it.


             Rafal Los
             Email: Rafal@HP.com
             Twitter: @Wh1t3Rabbit
             Skype: Wh1t3Rabbit
             Voice: (765) 247-2325
             Blog: http://www.hp.com/go/white-rabbit

41
Outcomes that matter.

Mais conteúdo relacionado

Destaque

Owasp top-ten-mapping-2015-05-lwc
Owasp top-ten-mapping-2015-05-lwcOwasp top-ten-mapping-2015-05-lwc
Owasp top-ten-mapping-2015-05-lwcKaty Anton
 
AppSec DC 2009 - Learning by breaking by Chuck Willis
AppSec DC 2009 - Learning by breaking by Chuck WillisAppSec DC 2009 - Learning by breaking by Chuck Willis
AppSec DC 2009 - Learning by breaking by Chuck WillisMagno Logan
 
AppSec Pipeline Reference Architecture
AppSec Pipeline Reference ArchitectureAppSec Pipeline Reference Architecture
AppSec Pipeline Reference ArchitectureAaron Weaver
 
Why AppSec Matters
Why AppSec MattersWhy AppSec Matters
Why AppSec MattersInnoTech
 
AppSec EU 2011 - An Introduction to ZAP by Simon Bennetts
AppSec EU 2011 - An Introduction to ZAP by Simon BennettsAppSec EU 2011 - An Introduction to ZAP by Simon Bennetts
AppSec EU 2011 - An Introduction to ZAP by Simon BennettsMagno Logan
 
OWASP TOP 10 for PHP Programmers
OWASP TOP 10 for PHP ProgrammersOWASP TOP 10 for PHP Programmers
OWASP TOP 10 for PHP Programmersrjsmelo
 

Destaque (8)

Owasp top-ten-mapping-2015-05-lwc
Owasp top-ten-mapping-2015-05-lwcOwasp top-ten-mapping-2015-05-lwc
Owasp top-ten-mapping-2015-05-lwc
 
Attacking HTML5
Attacking HTML5Attacking HTML5
Attacking HTML5
 
AppSec DC 2009 - Learning by breaking by Chuck Willis
AppSec DC 2009 - Learning by breaking by Chuck WillisAppSec DC 2009 - Learning by breaking by Chuck Willis
AppSec DC 2009 - Learning by breaking by Chuck Willis
 
AppSec Pipeline Reference Architecture
AppSec Pipeline Reference ArchitectureAppSec Pipeline Reference Architecture
AppSec Pipeline Reference Architecture
 
Why AppSec Matters
Why AppSec MattersWhy AppSec Matters
Why AppSec Matters
 
Appsec Introduction
Appsec IntroductionAppsec Introduction
Appsec Introduction
 
AppSec EU 2011 - An Introduction to ZAP by Simon Bennetts
AppSec EU 2011 - An Introduction to ZAP by Simon BennettsAppSec EU 2011 - An Introduction to ZAP by Simon Bennetts
AppSec EU 2011 - An Introduction to ZAP by Simon Bennetts
 
OWASP TOP 10 for PHP Programmers
OWASP TOP 10 for PHP ProgrammersOWASP TOP 10 for PHP Programmers
OWASP TOP 10 for PHP Programmers
 

Semelhante a Into the Rabbithole - Evolved Web App Security Testing (OWASP AppSec DC)

Techdays 2013 managing your hybrid cloud datacenter with scom 2012 and what’s...
Techdays 2013 managing your hybrid cloud datacenter with scom 2012 and what’s...Techdays 2013 managing your hybrid cloud datacenter with scom 2012 and what’s...
Techdays 2013 managing your hybrid cloud datacenter with scom 2012 and what’s...wwwally
 
Techdays 2013 managing your hybrid cloud datacenter with scom 2012 and what...
Techdays 2013   managing your hybrid cloud datacenter with scom 2012 and what...Techdays 2013   managing your hybrid cloud datacenter with scom 2012 and what...
Techdays 2013 managing your hybrid cloud datacenter with scom 2012 and what...CompuTrain. De IT opleider.
 
SwiftKnowledge Multitenancy
SwiftKnowledge MultitenancySwiftKnowledge Multitenancy
SwiftKnowledge MultitenancyPivotLogix
 
Sweet Streams (Are made of this)
Sweet Streams (Are made of this)Sweet Streams (Are made of this)
Sweet Streams (Are made of this)Corneil du Plessis
 
管理向云的迁移过程
管理向云的迁移过程管理向云的迁移过程
管理向云的迁移过程ITband
 
Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...
Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...
Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...Glen Roberts, CISSP
 
Soprex framework on .net in action
Soprex framework on .net in actionSoprex framework on .net in action
Soprex framework on .net in actionMilan Vukoje
 
Track and Trace Solution Details
Track and Trace Solution DetailsTrack and Trace Solution Details
Track and Trace Solution DetailsPropix Technologies
 
Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...
Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...
Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...Lucas Jellema
 
Emergent architecture- a casestudy TREDS
Emergent architecture- a casestudy TREDSEmergent architecture- a casestudy TREDS
Emergent architecture- a casestudy TREDSSyed Rayhan
 
Hp discover 2012 managing the virtualization explosion
Hp discover 2012   managing the virtualization explosionHp discover 2012   managing the virtualization explosion
Hp discover 2012 managing the virtualization explosionStefan Bergstein
 
IBM API Connect Deployment `Good Practices - IBM Think 2018
IBM API Connect Deployment `Good Practices - IBM Think 2018IBM API Connect Deployment `Good Practices - IBM Think 2018
IBM API Connect Deployment `Good Practices - IBM Think 2018Chris Phillips
 
Metrics that Matter-Approaches To Managing High Performing Websites
Metrics that Matter-Approaches To Managing High Performing WebsitesMetrics that Matter-Approaches To Managing High Performing Websites
Metrics that Matter-Approaches To Managing High Performing WebsitesBen Rushlo
 
Windows Azure For Architects
Windows Azure For ArchitectsWindows Azure For Architects
Windows Azure For ArchitectsAnko Duizer
 
Real User Experience Insight External
Real User Experience Insight ExternalReal User Experience Insight External
Real User Experience Insight Externaloracleonthebrain
 
Itsm serena x-change2011
Itsm serena x-change2011Itsm serena x-change2011
Itsm serena x-change2011Derek Chang
 
Mastering sp fx in larger projects yannick borghmans
Mastering sp fx in larger projects   yannick borghmansMastering sp fx in larger projects   yannick borghmans
Mastering sp fx in larger projects yannick borghmansYannick Borghmans
 

Semelhante a Into the Rabbithole - Evolved Web App Security Testing (OWASP AppSec DC) (20)

Techdays 2013 managing your hybrid cloud datacenter with scom 2012 and what’s...
Techdays 2013 managing your hybrid cloud datacenter with scom 2012 and what’s...Techdays 2013 managing your hybrid cloud datacenter with scom 2012 and what’s...
Techdays 2013 managing your hybrid cloud datacenter with scom 2012 and what’s...
 
Techdays 2013 managing your hybrid cloud datacenter with scom 2012 and what...
Techdays 2013   managing your hybrid cloud datacenter with scom 2012 and what...Techdays 2013   managing your hybrid cloud datacenter with scom 2012 and what...
Techdays 2013 managing your hybrid cloud datacenter with scom 2012 and what...
 
Db trends final
Db trends   finalDb trends   final
Db trends final
 
SwiftKnowledge Multitenancy
SwiftKnowledge MultitenancySwiftKnowledge Multitenancy
SwiftKnowledge Multitenancy
 
Sweet Streams (Are made of this)
Sweet Streams (Are made of this)Sweet Streams (Are made of this)
Sweet Streams (Are made of this)
 
Industrial IoT bootcamp
Industrial IoT bootcampIndustrial IoT bootcamp
Industrial IoT bootcamp
 
管理向云的迁移过程
管理向云的迁移过程管理向云的迁移过程
管理向云的迁移过程
 
Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...
Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...
Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...
 
Soprex framework on .net in action
Soprex framework on .net in actionSoprex framework on .net in action
Soprex framework on .net in action
 
3-18-11
3-18-113-18-11
3-18-11
 
Track and Trace Solution Details
Track and Trace Solution DetailsTrack and Trace Solution Details
Track and Trace Solution Details
 
Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...
Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...
Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...
 
Emergent architecture- a casestudy TREDS
Emergent architecture- a casestudy TREDSEmergent architecture- a casestudy TREDS
Emergent architecture- a casestudy TREDS
 
Hp discover 2012 managing the virtualization explosion
Hp discover 2012   managing the virtualization explosionHp discover 2012   managing the virtualization explosion
Hp discover 2012 managing the virtualization explosion
 
IBM API Connect Deployment `Good Practices - IBM Think 2018
IBM API Connect Deployment `Good Practices - IBM Think 2018IBM API Connect Deployment `Good Practices - IBM Think 2018
IBM API Connect Deployment `Good Practices - IBM Think 2018
 
Metrics that Matter-Approaches To Managing High Performing Websites
Metrics that Matter-Approaches To Managing High Performing WebsitesMetrics that Matter-Approaches To Managing High Performing Websites
Metrics that Matter-Approaches To Managing High Performing Websites
 
Windows Azure For Architects
Windows Azure For ArchitectsWindows Azure For Architects
Windows Azure For Architects
 
Real User Experience Insight External
Real User Experience Insight ExternalReal User Experience Insight External
Real User Experience Insight External
 
Itsm serena x-change2011
Itsm serena x-change2011Itsm serena x-change2011
Itsm serena x-change2011
 
Mastering sp fx in larger projects yannick borghmans
Mastering sp fx in larger projects   yannick borghmansMastering sp fx in larger projects   yannick borghmans
Mastering sp fx in larger projects yannick borghmans
 

Mais de Rafal Los

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The 5 Ps of Preparedness - Hope is Not a Strategy [1].pdf
The 5 Ps of Preparedness - Hope is Not a Strategy [1].pdfThe 5 Ps of Preparedness - Hope is Not a Strategy [1].pdf
The 5 Ps of Preparedness - Hope is Not a Strategy [1].pdfRafal Los
 
Irrational But Effective - Applying Parenthood Lessons to Cyber Security
Irrational But Effective - Applying Parenthood Lessons to Cyber SecurityIrrational But Effective - Applying Parenthood Lessons to Cyber Security
Irrational But Effective - Applying Parenthood Lessons to Cyber SecurityRafal Los
 
SAINTCON 21 - Of Sandcastles and Luck (Fixing Vulnerability Management)
SAINTCON 21 - Of Sandcastles and Luck (Fixing Vulnerability Management)SAINTCON 21 - Of Sandcastles and Luck (Fixing Vulnerability Management)
SAINTCON 21 - Of Sandcastles and Luck (Fixing Vulnerability Management)Rafal Los
 
Strategies and Tactics for Effectively Managing Vulnerabilities in Diverse En...
Strategies and Tactics for Effectively Managing Vulnerabilities in Diverse En...Strategies and Tactics for Effectively Managing Vulnerabilities in Diverse En...
Strategies and Tactics for Effectively Managing Vulnerabilities in Diverse En...Rafal Los
 
Lies, Fables and Security Metrics
Lies, Fables and Security MetricsLies, Fables and Security Metrics
Lies, Fables and Security MetricsRafal Los
 
Losing battles, winning wars
Losing battles, winning warsLosing battles, winning wars
Losing battles, winning warsRafal Los
 
5 Things CFOs Need to Know About Enterprise Security - HP CFO Summit 2013
5 Things CFOs Need to Know About Enterprise Security - HP CFO Summit 20135 Things CFOs Need to Know About Enterprise Security - HP CFO Summit 2013
5 Things CFOs Need to Know About Enterprise Security - HP CFO Summit 2013Rafal Los
 
Operationalizing Security Intelligence [ InfoSec World 2014 ]
Operationalizing Security Intelligence [ InfoSec World 2014 ]Operationalizing Security Intelligence [ InfoSec World 2014 ]
Operationalizing Security Intelligence [ InfoSec World 2014 ]Rafal Los
 
Operationalizing security intelligence for the mid market - Rafal Los - RSA C...
Operationalizing security intelligence for the mid market - Rafal Los - RSA C...Operationalizing security intelligence for the mid market - Rafal Los - RSA C...
Operationalizing security intelligence for the mid market - Rafal Los - RSA C...Rafal Los
 
Rebooting the Enterprise Security Program for Defensibility - ISSA Internatio...
Rebooting the Enterprise Security Program for Defensibility - ISSA Internatio...Rebooting the Enterprise Security Program for Defensibility - ISSA Internatio...
Rebooting the Enterprise Security Program for Defensibility - ISSA Internatio...Rafal Los
 
Cloud Security Alliance- Challanges of an elastic environment v8a [public]
Cloud Security Alliance- Challanges of an elastic environment v8a [public]Cloud Security Alliance- Challanges of an elastic environment v8a [public]
Cloud Security Alliance- Challanges of an elastic environment v8a [public]Rafal Los
 
Threat modeling the security of the enterprise
Threat modeling the security of the enterpriseThreat modeling the security of the enterprise
Threat modeling the security of the enterpriseRafal Los
 
Making Measurable Gains - Contextualizing 'Secure' in Business
Making Measurable Gains - Contextualizing 'Secure' in BusinessMaking Measurable Gains - Contextualizing 'Secure' in Business
Making Measurable Gains - Contextualizing 'Secure' in BusinessRafal Los
 
Security BSides Atlanta - "The Business Doesn't Care..."
Security BSides Atlanta - "The Business Doesn't Care..."Security BSides Atlanta - "The Business Doesn't Care..."
Security BSides Atlanta - "The Business Doesn't Care..."Rafal Los
 
Software Security Assurance - Program Building (You're going to need a bigger...
Software Security Assurance - Program Building (You're going to need a bigger...Software Security Assurance - Program Building (You're going to need a bigger...
Software Security Assurance - Program Building (You're going to need a bigger...Rafal Los
 
The Future of Software Security Assurance
The Future of Software Security AssuranceThe Future of Software Security Assurance
The Future of Software Security AssuranceRafal Los
 
Defying Logic - Business Logic Testing with Automation
Defying Logic - Business Logic Testing with AutomationDefying Logic - Business Logic Testing with Automation
Defying Logic - Business Logic Testing with AutomationRafal Los
 
Ultimate Hack! Layers 8 & 9 of the OSI Model
Ultimate Hack! Layers 8 & 9 of the OSI ModelUltimate Hack! Layers 8 & 9 of the OSI Model
Ultimate Hack! Layers 8 & 9 of the OSI ModelRafal Los
 
Oh No They Didn't! 7 Web App Security Stories (v1.0)
Oh No They Didn't! 7 Web App Security Stories (v1.0)Oh No They Didn't! 7 Web App Security Stories (v1.0)
Oh No They Didn't! 7 Web App Security Stories (v1.0)Rafal Los
 

Mais de Rafal Los (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The 5 Ps of Preparedness - Hope is Not a Strategy [1].pdf
The 5 Ps of Preparedness - Hope is Not a Strategy [1].pdfThe 5 Ps of Preparedness - Hope is Not a Strategy [1].pdf
The 5 Ps of Preparedness - Hope is Not a Strategy [1].pdf
 
Irrational But Effective - Applying Parenthood Lessons to Cyber Security
Irrational But Effective - Applying Parenthood Lessons to Cyber SecurityIrrational But Effective - Applying Parenthood Lessons to Cyber Security
Irrational But Effective - Applying Parenthood Lessons to Cyber Security
 
SAINTCON 21 - Of Sandcastles and Luck (Fixing Vulnerability Management)
SAINTCON 21 - Of Sandcastles and Luck (Fixing Vulnerability Management)SAINTCON 21 - Of Sandcastles and Luck (Fixing Vulnerability Management)
SAINTCON 21 - Of Sandcastles and Luck (Fixing Vulnerability Management)
 
Strategies and Tactics for Effectively Managing Vulnerabilities in Diverse En...
Strategies and Tactics for Effectively Managing Vulnerabilities in Diverse En...Strategies and Tactics for Effectively Managing Vulnerabilities in Diverse En...
Strategies and Tactics for Effectively Managing Vulnerabilities in Diverse En...
 
Lies, Fables and Security Metrics
Lies, Fables and Security MetricsLies, Fables and Security Metrics
Lies, Fables and Security Metrics
 
Losing battles, winning wars
Losing battles, winning warsLosing battles, winning wars
Losing battles, winning wars
 
5 Things CFOs Need to Know About Enterprise Security - HP CFO Summit 2013
5 Things CFOs Need to Know About Enterprise Security - HP CFO Summit 20135 Things CFOs Need to Know About Enterprise Security - HP CFO Summit 2013
5 Things CFOs Need to Know About Enterprise Security - HP CFO Summit 2013
 
Operationalizing Security Intelligence [ InfoSec World 2014 ]
Operationalizing Security Intelligence [ InfoSec World 2014 ]Operationalizing Security Intelligence [ InfoSec World 2014 ]
Operationalizing Security Intelligence [ InfoSec World 2014 ]
 
Operationalizing security intelligence for the mid market - Rafal Los - RSA C...
Operationalizing security intelligence for the mid market - Rafal Los - RSA C...Operationalizing security intelligence for the mid market - Rafal Los - RSA C...
Operationalizing security intelligence for the mid market - Rafal Los - RSA C...
 
Rebooting the Enterprise Security Program for Defensibility - ISSA Internatio...
Rebooting the Enterprise Security Program for Defensibility - ISSA Internatio...Rebooting the Enterprise Security Program for Defensibility - ISSA Internatio...
Rebooting the Enterprise Security Program for Defensibility - ISSA Internatio...
 
Cloud Security Alliance- Challanges of an elastic environment v8a [public]
Cloud Security Alliance- Challanges of an elastic environment v8a [public]Cloud Security Alliance- Challanges of an elastic environment v8a [public]
Cloud Security Alliance- Challanges of an elastic environment v8a [public]
 
Threat modeling the security of the enterprise
Threat modeling the security of the enterpriseThreat modeling the security of the enterprise
Threat modeling the security of the enterprise
 
Making Measurable Gains - Contextualizing 'Secure' in Business
Making Measurable Gains - Contextualizing 'Secure' in BusinessMaking Measurable Gains - Contextualizing 'Secure' in Business
Making Measurable Gains - Contextualizing 'Secure' in Business
 
Security BSides Atlanta - "The Business Doesn't Care..."
Security BSides Atlanta - "The Business Doesn't Care..."Security BSides Atlanta - "The Business Doesn't Care..."
Security BSides Atlanta - "The Business Doesn't Care..."
 
Software Security Assurance - Program Building (You're going to need a bigger...
Software Security Assurance - Program Building (You're going to need a bigger...Software Security Assurance - Program Building (You're going to need a bigger...
Software Security Assurance - Program Building (You're going to need a bigger...
 
The Future of Software Security Assurance
The Future of Software Security AssuranceThe Future of Software Security Assurance
The Future of Software Security Assurance
 
Defying Logic - Business Logic Testing with Automation
Defying Logic - Business Logic Testing with AutomationDefying Logic - Business Logic Testing with Automation
Defying Logic - Business Logic Testing with Automation
 
Ultimate Hack! Layers 8 & 9 of the OSI Model
Ultimate Hack! Layers 8 & 9 of the OSI ModelUltimate Hack! Layers 8 & 9 of the OSI Model
Ultimate Hack! Layers 8 & 9 of the OSI Model
 
Oh No They Didn't! 7 Web App Security Stories (v1.0)
Oh No They Didn't! 7 Web App Security Stories (v1.0)Oh No They Didn't! 7 Web App Security Stories (v1.0)
Oh No They Didn't! 7 Web App Security Stories (v1.0)
 

Último

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Into the Rabbithole - Evolved Web App Security Testing (OWASP AppSec DC)

  • 1. Into the Rabbithole— Evolved Web Application Security Testing Rafal M. Los Security Evangelist HP Application Security Center Email: Rafal@hp.com – Twitter: @Wh1t3Rabbit – Skype: Wh1t3Rabbit +1 (404) 606-6056 ©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
  • 2. Let’s descend down the rabbit-hole OR Better testing through evolved automation 3
  • 3. Automation: Love & Hate Web App Sec has a LOVE|HATE relationship with automation LOVE  Automation speeds defect identification  Scanning is fast, quickly producing results HATE  Attack surface coverage unclear*  Confuse automation’s purpose *More on the coverage problem shortly… 4
  • 4. Understanding Automation Battle lines (the classic arguments) – Humans offer intelligence – Automation offers limited scope Benefits of automation – Scalability: Analysis speed, coverage, processing – Complexity: Applications are increasingly process-driven 5
  • 5. So What? We’ve reached a tipping point 6
  • 6. Why Did My Scanner Miss X? Two real reasons •X required a specific sequence, or FLOW •X required DATA to get there ? Data + Flow  no excuses tools have data + logic… the result is • IF ―smarter‖ automation • No more ―crawl n’ hope‖ 7
  • 7. ―Radical‖ Testing Methodology STOP point n’ scan web application security testing ENLIGHTENED METHODOLOGY • Application functional mapping w/data • Layered automation-infused testing • Concrete metrics & KPIs 8
  • 8. Do what you do… only smarter 9
  • 9. Application Functional Mapping with Data 10 ©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
  • 10. Defect vs. Vulnerability How many of you have ever performed functional testing ? 11 ©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
  • 11. Functional vs. Security Testing QA TEAM INFOSECURITY TEAM Functions known Functions unknown Application understood Application unknown Rely on functional Rely on crawlers + experience + specifications luck Coverage known Coverage unknown Highlight key business Highlight ―found‖ functionality logic 12
  • 12. Hard Lessons Learned Security analysts, tools [today] aren’t equipped to properly test highly complex applications… MISSING PIECES • Understanding of application • Functional mapping of application • Application execution flow • Valid test data 13
  • 13. Bridging the Gaps Is the kitchen-sink attack working? Hint: It used to…not anymore YOU ARE HERE IDEAL THEY ARE THERE 14
  • 14. As All This Is Happening— Technology Drives Forward… 15
  • 15. Application State Is Changing HTTP State • Session/Cookie State • Server State Client State • JavaScript State • Silverlight/Flash State —Impossible to decouple HTTP from Client State —You can’t just crawl/guess your way through a modern, complex application 16
  • 16. Proposed Approach Combine functional + security testing, compensating for technology • Address technology complexities • Session states • Code-complexity • Address functional complexities • Mapping application function as execution flows • Mapping data for driving execution flows 17
  • 17. Incoming New Automation Technology! 18
  • 18. Standards & Specifications EFD Execution Flow Diagram – Functional paths through the application logic ADM Application Data Mapping – Mapping data requirements against functional paths 19
  • 19. Improving the Testing Process Application functional Functional Specification mapping [EFD] + Function-based automated testing = Application data mapping [ADM] Manual result & coverage validation
  • 20. Basics of the EFD & ADM 21
  • 21. Basic EFD Concepts Graph(s) of flows through the application - Nodes represent application states - Edges represent different actions - Paths between nodes represent state changes - A set of paths is a flow 22
  • 22. Execution Flow Action Types What is an action? • Something that causes a change in state •A human, server or browser-driven event Three types of actions • Direct • Supplemental • Indirect 23
  • 23. Direct Flow Actions Actions which change the browser’s document context • Causes an entirely new browser page GET /?step2 Examples- P1 P2 • Following hyperlink • Click login button HTTP Direct States Flow (Pages) Action 24
  • 24. Supplemental Flow Actions Actions that change the state of the current document • Client-side action, maintaining browser page Examples: onLoad onMouseOver – JavaScript menu – Flash client event P1 P1.1 P1.1.1 Supplementary DOM Flows States 25
  • 25. Indirect Flow Actions Actions automatically triggered by document context • Usually for supporting data, modifying document state Examples: <script src=dojo.js /> Indirect – Site analytics (js) Dojo Flow Library – Stock ticker – XMLHTTPrequest Direct Flow Pages 26
  • 26. Basic ADM Concepts An Application Data Map [ADM] defines flows with the context of data WHY? • Flows mean nothing without DATA* • Data should be interchangeable • Monitoring requests make this impossible – no context • Data can be direct or indirect *Where not specifically defined within an action (at the edge) the data values are assumed to be arbitrary 27
  • 27. ADM + EFD Visually Retrieve something from a safe: 1. Map the action 2. Add data (context) necessary to execute 3. Execute action using data I need something from that safe ACTION (open safe) Combination: R23, L12, R31, L9 28
  • 28. ADM & EFD Another example: Web site registration Landing fork Login Page START Registration Page Confirm User Account Data 29
  • 29. Putting It All Together (1) Functional Level Compose Login Send Email Drives Technical Level 30
  • 30. Putting It All Together (2) EFD JS DOM HTTP a GET / g 8 b GET /?Login 7 c GET /?Compose Drives d onKeyPressed a b (160 times) 1 2 3 e DIV.onMouseOver c f f LI.onChange 4 d g FORM.submit() GET /?Send 5 e 6 31
  • 31. Putting It All Together (3) JS DOM HTTP Data a GET / N/A b GET /?Login User,Pass,Captcha c GET /?Compose N/A Drives d onKeyPressed Email_Text (160 times) e DIV.onMouseOver N/A f LI.onChange Send_To_Address g BTN.onClick GET /?Send N/A 32
  • 32. Applications of Execution Flow Diagrams 33
  • 33. Flow Based Threat Analysis • Markup flow with Threat Information • Prioritize testing Partners Only • Prioritize verified vulnerabilities • Detect dangerous information flows Checkout with Credit Card Viewing Items 34
  • 34. Coverage Analysis Flows defined by functional specification can be compared to security testing to determine gaps! Q: ―How much of the application was tested?‖ A: ―The scanner was able to test 8 of the 12 flows, we need to find out why/where it broke down‖  EFD can be referenced to determined where  ADM can be referenced to determine why 35
  • 35. Flow-Based Reproduction Demonstrate exactly how to reproduce a defect…  Demonstrate where application failed • Steps executed • Data used 2 3 Landing 1 fork Page START DATA <script> 4 … Registration Page 36
  • 36. Dysfunctional Use of EFD Vulnerabilities happen when using the application in an g 8 unintended way. 7 If we know the right a b 1 2 3 logic paths… c f 4 d 5 e 6 37
  • 37. Next Generation Automation Automation of execution flows • Build maps from user-driven functional scripts • Recording/Playback • Record HTTP requests • Record JavaScript events • Recording Client UI events • Attacking • [Re]Play Flows • Auditing HTTP Parameters and HTML Inputs 38
  • 38. Next: Automatic Exploration • Similar paths can be easily enumerated • JS Static Analysis to find other entry points to paths Select Flight 1 Select Flight 2 Automatically Found 39
  • 39. For Next Time… Layered automation-infused testing Concrete metrics & KPIs Testing must be layered to fully In order to concretely prove understand the attack surface of functional coverage, application the application, including surface area coverage, defect multiple levels of authentication, remediation and ultimately risk business logic, data sets. reduction business-oriented metrics and KPIs must be gathered. 40
  • 40. Get to it. Insert cheesy cliché here… …or you could just go do it. Rafal Los Email: Rafal@HP.com Twitter: @Wh1t3Rabbit Skype: Wh1t3Rabbit Voice: (765) 247-2325 Blog: http://www.hp.com/go/white-rabbit 41