15
BW12 Session 6/5/2013 3:45 PM "Hybrid Security Analysis: Bridge the Gap Between Inside-Out and Outside-In" Presented by: Arthur Hicken Parasoft Corporation Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 8882688770 9042780524 [email protected] www.sqe.com

Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

Embed Size (px)

DESCRIPTION

With the rising adoption of the cloud and the mobile revolution, software security is more important and complex than ever. The efforts of developers and testers are frequently disconnected, wasting time and reducing effectiveness. Arthur Hicken describes how hybrid security analysis bridges the gap between static analysis and penetration testing by detecting security vulnerabilities with unprecedented accuracy—and few false positives. Testers receive an instant assessment of where security attacks actually penetrated the application. Unlike traditional penetration testing, this pinpoints where attacks really succeeded—not just areas that may be vulnerable to attack. Hybrid analysis involves running penetration attack scenarios against existing functional test scenarios, monitoring the back-end to determine whether security is actually compromised, and correlating source code with the failed tests so you can trace each error to a particular requirement. Learn the drawbacks of static analysis and penetration testing—and how to turn these drawbacks into strengths.

Citation preview

Page 1: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

 

 

BW12 Session 6/5/2013 3:45 PM 

      

"Hybrid Security Analysis: Bridge the Gap Between Inside-Out

and Outside-In"    

Presented by:

Arthur Hicken Parasoft Corporation

        

Brought to you by:  

  

340 Corporate Way, Suite 300, Orange Park, FL 32073 888‐268‐8770 ∙ 904‐278‐0524 ∙ [email protected] ∙ www.sqe.com

Page 2: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

Arthur Hicken Parasoft

Arthur Hicken has been involved in automating various practices at Parasoft for more than twenty years. He has worked on projects including database development, the software development lifecycle, web publishing and monitoring, and integration with legacy systems. Arthur has worked with IT departments in companies including Cisco, Vanguard, and Motorola to help improve their software development practices. He has developed and conducted numerous technical training courses at Parasoft. An expert in his field, Arthur has been quoted in Business 2.0, Internet Week, and CNET news.com regarding website quality issues.

 

Page 3: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

Hybrid Security AnalysisHybrid Security AnalysisBridge the Gap Between Inside‐out and Outside‐inBridge the Gap Between Inside‐out and Outside‐in

Copyright © 2013 Parasoft 1

Arthur HickenParasoft Corporation

June 2013

AgendaAgenda

Existing methodologies benefits and limitsPenetrating static analysisEnhanced testing methodsCutting the cordVirtuous security testing circle

Copyright © 2013 Parasoft 22

Page 4: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

Security Testing TechniquesSecurity Testing Techniques

Penetration TestingD Fl A l iData Flow AnalysisStatic Code AnalysisUnit TestingRegression Testing

Copyright © 2013 Parasoft 33

Runtime Error Detection

Penetration Testing OverviewPenetration Testing Overview

Outside‐inRealistic testingEver growing lists of exploits to be testedNumber of tests for real site is prohibitively huge

Copyright © 2013 Parasoft 44

Page 5: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

Data Flow Analysis OverviewData Flow Analysis Overview

Simulate hypothetical execution pathsD ibl l h hDetect possible errors along those pathsData flow analysis error categories include:

ExceptionsOptimizationResource Leaks

Copyright © 2013 Parasoft 55

Resource LeaksAPI misuseSecurity

Static Code Analysis OverviewStatic Code Analysis Overview

Inside‐outQuick scan to list possible problemsQuick scan to list possible problemsFixing violations prevents certain classes of errorsStatic analysis categories include:

Logical ErrorsAPI MisuseTypographical Errors

Copyright © 2013 Parasoft 66

SecurityThreads and SynchronizationPerformance and Optimization

Page 6: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

Unit Test OverviewUnit Test Overview

Check smaller piecesEasy to run before application is completeUse to bridge the gap from outside to insideStub and isolate dependenciesPeer review for design

Copyright © 2013 Parasoft 77

Regression Testing OverviewRegression Testing Overview

Capture current behavior of covered code pathspaths

Whether the current behavior is right or wrong

Alert when code modifications cause a change in behaviorDevelopers can then mark assertions as

Copyright © 2013 Parasoft 88

Developers can then mark assertions as correct behavior to increase the severity if those assertions fail in the future

Page 7: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

Runtime Error DetectionRuntime Error Detection

Check for anti‐patterns at runtime in the applicationViolations are presented in the context of real‐world data values to stress their importanceRuntime error categories include:

Threads and SynchronizationPerformance and OptimizationApplication Crashes

Copyright © 2013 Parasoft 99

Application CrashesFunctional ErrorsSecurity

Enhanced MethodsEnhanced Methods

Automated Unit Test GenerationApplication Tracing for Unit Tests

Copyright © 2013 Parasoft 1010

Page 8: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

Automated Unit Test Generation OverviewAutomated Unit Test Generation Overview

Test code branches not covered by the application level testapplication‐level testCombine these unit tests with runtime error detection to check the new execution pathsBuild a baseline regression test suite

Copyright © 2013 Parasoft 1111

Application Tracing for Unit TestsApplication Tracing for Unit Tests

Record internal method calls inside the running application when the problem occursrunning application when the problem occursReplicate the problem in a unit testAlter the unit test to assert the correct behaviorNow possible solutions can be tested quickly

Copyright © 2013 Parasoft 1212

Now possible solutions can be tested quickly without redeploying the web application

Page 9: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

Proposed MethodProposed Method

Copyright © 2013 Parasoft 1313

Proposed MethodProposed Method

Copyright © 2013 Parasoft 1414

Page 10: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

Proposed MethodProposed Method

Copyright © 2013 Parasoft 1515

Proposed MethodProposed Method

Copyright © 2013 Parasoft 1616

Page 11: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

Best ApproachBest Approach

Copyright © 2013 Parasoft 1717

Cutting the CordCutting the Cord

Internet Internet

Business Partner

SOAP over HTTPS

Receive Transaction 

Amount> $10000

TransformMessage +                   +                   

Send Notification

NOXML XML

Check Customer Status

YES

WebApplication

Copyright © 2013 Parasoft 1818

JMS

CRM Application

Web Browser

InternetDatabase updated

Page 12: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

The Internal ChallengeThe Internal Challenge

Test environment constraints are outside the control of development and test leaving gaps in the process of developing and testing software

IT OperationsParallel development delays… Need simple, realistic access to

Staged Assets

3rd Party Assets Virtual Environments

DependentApplications

realistic  access to services…

Too much time waiting for access…Need reliable test data

Scheduling

Configuration

Copyright © 2013 Parasoft 1919

VirtualServer 1

Hyper Visor 

App App App

Need a realistic testenvironment easy to maintain

Configuration

Access Limits

The Academic WayThe Academic Way

Analyze problemsPeer review resultsQA issuesField reports

Check rules that fitReview severity

Copyright © 2013 Parasoft 2020

Review severityReview likelihoodReview cost/risk

Page 13: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

The Manual WayThe Manual Way

Analyze stack traceDebugger on running JVMRuntime trace tools

Create unit testsStubsData sources

Copyright © 2013 Parasoft 2121

Data sources

Cheating the SystemCheating the System

Fix a problemRun static analysis on the old codeRun static analysis on the new codeLook at the delta

Copyright © 2013 Parasoft 2222

Page 14: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

The Automated WayThe Automated Way

Unit test generationAutomatic test generationClean assertions – cut with sharp scissorsExpand as needed

Automatic stubsSophisticated stubs for realistic behavior

Copyright © 2013 Parasoft 2323

Sophisticated stubs for realistic behaviorIsolate as much as necessary

SummarySummary

Problem solving in web applications is a long and tedious process without proper toolstedious process without proper toolsReplicating the problem in a unit test shortens the code – test cycleStatic code analysis prevents classes of errorsRuntime error detection finds real‐time problemsUnit testing exercises more code paths

Copyright © 2013 Parasoft 2424

Unit testing exercises more code pathsData flow analysis simulates hypothetical pathsRegression tests ensure that problems stay fixed

Page 15: Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In

Q&AQ&A

[email protected] //alm parasoft comhttp://alm.parasoft.com

Facebook: https://www.facebook.com/parasoftcorporationTwitter: @Parasoft @CodeCurmudgeon

Copyright © 2013 Parasoft 2525

LinkedIn: http://www.linkedin.com/company/parasoft