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

More Related Content

Viewers also liked

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
Katy Anton
 
Attacking HTML5
Attacking HTML5Attacking HTML5
Attacking HTML5
AppSec_Labs
 
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
Magno Logan
 
AppSec Pipeline Reference Architecture
AppSec Pipeline Reference ArchitectureAppSec Pipeline Reference Architecture
AppSec Pipeline Reference Architecture
Aaron Weaver
 
Why AppSec Matters
Why AppSec MattersWhy AppSec Matters
Why AppSec Matters
InnoTech
 
Appsec Introduction
Appsec IntroductionAppsec Introduction
Appsec Introduction
Mohamed Ridha CHEBBI, CISSP
 
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
Magno Logan
 
OWASP TOP 10 for PHP Programmers
OWASP TOP 10 for PHP ProgrammersOWASP TOP 10 for PHP Programmers
OWASP TOP 10 for PHP Programmers
rjsmelo
 

Viewers also liked (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
 

Similar to 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.
 
Db trends final
Db trends   finalDb trends   final
Db trends final
Craig Mullins
 
SwiftKnowledge Multitenancy
SwiftKnowledge MultitenancySwiftKnowledge Multitenancy
SwiftKnowledge Multitenancy
PivotLogix
 
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
 
Industrial IoT bootcamp
Industrial IoT bootcampIndustrial IoT bootcamp
Industrial IoT bootcamp
Lothar Schubert
 
管理向云的迁移过程
管理向云的迁移过程管理向云的迁移过程
管理向云的迁移过程
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 action
Milan Vukoje
 
3-18-11
3-18-113-18-11
3-18-11
MDuckinson
 
Track and Trace Solution Details
Track and Trace Solution DetailsTrack and Trace Solution Details
Track and Trace Solution Details
Propix 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 TREDS
Syed 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 explosion
Stefan 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 2018
Chris 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 Websites
Ben Rushlo
 
Windows Azure For Architects
Windows Azure For ArchitectsWindows Azure For Architects
Windows Azure For Architects
Anko Duizer
 
Real User Experience Insight External
Real User Experience Insight ExternalReal User Experience Insight External
Real User Experience Insight External
oracleonthebrain
 
Itsm serena x-change2011
Itsm serena x-change2011Itsm serena x-change2011
Itsm serena x-change2011
Derek 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 borghmans
Yannick Borghmans
 

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

More from 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 2024
Rafal 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].pdf
Rafal 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 Security
Rafal 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 Metrics
Rafal Los
 
Losing battles, winning wars
Losing battles, winning warsLosing battles, winning wars
Losing battles, winning wars
Rafal 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 2013
Rafal 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 enterprise
Rafal 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 Business
Rafal 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 Assurance
Rafal 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 Automation
Rafal 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 Model
Rafal 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
 

More from 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)
 

Recently uploaded

Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 

Recently uploaded (20)

Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 

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