SlideShare a Scribd company logo
IBM Software Group
IBM Confidential | June 2008 © 2008 IBM Corporation
IBM Rational AppScan
Developer Edition &
Build Edition
Ashish Patel
AppScan Architect & Development Lead
ashishp@ca.ibm.com
IBM Rational
IBM Confidential © 2008 IBM Corporation
Overview
 AppScan Developer Edition & Demonstration
 Future of IBM’s Static Analysis: String Analysis
 AppScan Build Edition
 Cross-Product Integration
IBM Rational
IBM Confidential © 2008 IBM Corporation
BuildCode SecurityQA
AppScan
Standard Ed
(desktop)
Rational
ClearQuest
IBM Rational AppScan SDLC Ecosystem
AppScan
Enterprise user
(web client)
Includes Fall
2008 Releases
Rational
BuildForge
AppScan Build Ed
(headless eclipse)
IBM Rational Web Based Training for AppScan
AppScan
Tester Ed
(QA client)
AppScan
Tester Ed
(scanning agent)
Rational Quality
Manager
IBM Rational AppScan Enterprise / Reporting Console
AppScan Ent.
QuickScan
(web client)
AppScan
Developer Ed
(Eclipse IDE)
Rational
Application
Developer
Automate Security /
Compliance testing in
the Build Process
Build security testing
into the IDE
Security / compliance testing
incorporated into testing &
remediation workflows
Security and Compliance
Testing, oversight, control,
policy, in-depth tests
Rational
Software
Analyzer
Rational
ClearCase
IBM Rational
IBM Confidential © 2008 IBM Corporation
Rational AppScan Developer Edition
 Dynamic Analysis (black box)
– Automated testing of your deployed application, outside-in
– Pros: Finding issues in your app using same techniques available to hackers.
– Cons: Not able to pinpoint the problems areas in your code. *yet*
 Static Analysis (white box)
– Static analysis of your web application code, inside-out
– Pros: Coverage / Reported issues point directly to the suspect lines of code.
– Cons: White box is building a model of your code, may find issues that can’t actually be
exploited. *yet*
 Runtime Analysis
– Trace the flow of the application for any security issue found using dynamic analysis
– Pros: Coverage / Reported issues point directly to the suspect lines of code.
– Cons: Not able to pinpoint which method in the coverage caused the issue. *yet*
IBM Rational
IBM Confidential © 2008 IBM Corporation
Dynamic Analysis (black box)
 AppScan is the market leader in Black Box testing
 A “hacker in a box”. Tests by sending modified HTTP requests
to the app server and examining the responses to validate
security rules.
SQL Injection Test Example:
 Original Request: http://server/page.jsp?param=value
 Test Requests: http://server/page.jsp?param=‘ or 1=1 or ‘’=‘
http://server/page.jsp?param=“ or 1=1 or “”=“
http://server/page.jsp?param=‘ --
http://server/page.jsp?param=+1+1+1
IBM Rational
IBM Confidential © 2008 IBM Corporation
Dynamic Analysis (black box)
 AppScan Developer Edition brings this AppScan technology
to Eclipse
 Focus in AppScan Developer Edition is on core development
use cases:
– Local test server environment (WebSphere, Tomcat)
– Focused scans
– Developer education (Fix Advisories, Fix Recommendations)
– Team collaboration of scan configurations and results (CVS, SVN,
ClearCase)
IBM Rational
IBM Confidential © 2008 IBM Corporation
Runtime Analysis: Bridging the gap between black box
testing and source code
 Locating and understanding the code flow responsible for an issue
found by a Black Box scan can be tricky.
 Runtime Analysis addresses this through instrumentation of your
web application code.
 During Black Box testing method invocations are traced, and the
trace information is mapped to specific Black Box issues.
 Allows you to understand exactly what your application was doing
while AppScan was busy exploiting it.
IBM Rational
IBM Confidential © 2008 IBM Corporation
Static Analysis
 XSS, SQLi and other problems are instances of information-
flow problems
 They can be solved using static taint analysis
String str = req.getParameter(“searchvalue");
resp.getWriter().println(str);
String str = req.getParameter(“searchvalue");
resp.getWriter().println(str);
Source
Sink
IBM Rational
IBM Confidential © 2008 IBM Corporation
Static Analysis – follow your tainted data
 Build System Dependence Graph
 Build “program slice” starting from
sources
 Detect whether we encounter a
sink
 Take sanitizers into account
App
Library
Core
IBM Rational
IBM Confidential © 2008 IBM Corporation
Static Analysis rules
 Groups of sources, sinks, sanitizers determine issue types
Sources:
Sinks:
XSS SQLi HTTPRSSanitizers:
IBM Rational
IBM Confidential © 2008 IBM Corporation
The Future: IBM’s String Analysis Technology
 Novel string analysis is the “game-changer” in the market place
– Patented technology from IBM Research
– Currently commercializing and under testing
– Sought as the next generation of static analyzer technology
 Automatically and statically detects the grammar of a string at the
point of use
public void submitQuery(String userName) {
userName = clean(userName);
String query = "SELECT id FROM users WHERE name = '" +
userName + "'";
execute(query);
}
public String clean(String input) {
return input.replaceAll(";","").replaceAll("'","");
}
public void submitQuery(String userName) {
userName = clean(userName);
String query = "SELECT id FROM users WHERE name = '" +
userName + "'";
execute(query);
}
public String clean(String input) {
return input.replaceAll(";","").replaceAll("'","");
}
input  .*
output  [~;’]*
IBM Rational
IBM Confidential © 2008 IBM Corporation
String analysis – How it works…
public void submitQuery(String userName) {
userName = clean(userName);
String query = "SELECT id FROM users WHERE name = '" +
userName + "'";
execute(query);
}
public String clean(String input) {
String output = input.replaceAll(";","").replaceAll("'","");
return output;
}
public void submitQuery(String userName) {
userName = clean(userName);
String query = "SELECT id FROM users WHERE name = '" +
userName + "'";
execute(query);
}
public String clean(String input) {
String output = input.replaceAll(";","").replaceAll("'","");
return output;
}
submitQuery
clean
execute
userName = Σ*userName = Σ*
output = {Σ - {;,'}}*output = {Σ - {;,'}}*
userName = {Σ - {;,'}}*userName = {Σ - {;,'}}*
query = SELECT id FROM users WHERE
name = '{Σ - {;,'}}*'
query = SELECT id FROM users WHERE
name = '{Σ - {;,'}}*'
input = Σ*input = Σ*
IBM Rational
IBM Confidential © 2008 IBM Corporation
Other Uses: Stored Vulnerabilities
 Detects whether taint flows through a container (database, map, session, etc.)
ResultSet rs = statement.executeQuery(
"SELECT * FROM " + tableName + ";");
ResultSet rs = statement.executeQuery(
"SELECT * FROM " + tableName + ";");
statement.executeUpdate("UPDATE " + tableName + " SET Name='" +
firstName + "' WHERE LastName = '" + lastName + "';");
statement.executeUpdate("UPDATE " + tableName + " SET Name='" +
firstName + "' WHERE LastName = '" + lastName + "';");
IBM Rational
IBM Confidential © 2008 IBM Corporation
Advantages of String Analysis
 No need to define what the sanitizers are
 Understands inline sanitization code
 Understands validators
 Can verify your sanitizers really do their job
 What this means for you
– Greater accuracy out-of-the-box:
– Fewer false-positives
– Fewer false-negatives (detect buggy sanitizers!)
– Less configuration
IBM Tokyo Research Lab
IBM Rational
IBM Confidential © 2008 IBM Corporation
Rational AppScan Developer Edition: Highlights
 New offering from the AppScan family
of products
 Eclipse-based, integrates with the
Rational SDP
 Dynamic/Static/Runtime Analysis
 A collaboration with IBM Research
 First version will support Java, JSP,
Struts
 Sharable assets (scans and reports)
 Rule updates
 Integrated with:
– AppScan Standard Edition
– AppScan Enterprise Edition
– ClearQuest
– Change and version control
IBM Software Group
IBM Confidential | June 2008 © 2008 IBM Corporation
IBM Rational AppScan
Developer Edition
Demonstration
IBM Rational
IBM Confidential © 2008 IBM Corporation
Rational AppScan Build Edition
 Command line Interface (CLI) into Rational AppScan DE
 Runs as a “headless” eclipse-based environment
 Integrates with BuildForge or any 3rd
Party system
IBM Rational
IBM Confidential © 2008 IBM Corporation
Rational AppScan Build Edition Inputs/Outputs
 AppScan DE Scan (sscn)
– Static Analysis
– Dynamic Analysis (supports Manual Explore)
– Runtime Analysis (not available)
 AppScan scan file (Dynamic Analysis only, supports auto-explore)
 AppScan DE Report (srpt), including API to extract:
– Issues and information from static & dynamic analysis, correlation, execution
flow, code snippets, etc.
– RSAR-Format Static Analysis Results Only (XML)
– AppScan-Format Dynamic Analysis Results Only (XML) for AppScan Std. Edition
IBM Rational
IBM Confidential © 2008 IBM Corporation
Rational AppScan Cross-Product Integration
Rational ClearQuest
(or other defect system)
AppScan Build Ed
(CLI to headless
eclipse)
AppScan
Developer Ed
(Eclipse IDE)Rational
Application
Developer
Rational ClearCase
(or other file repository:
CVS, RAM …)
AppScan
Standard Ed
(desktop)
AppScan
Enterprise /
Reporting
console (web
client)
DE Scan (.sscn)
AppScan Scan (.scan)AppScan results (.srpt & XML)
Issue management
DE Scan and Reports
Post-processing
of build output
Log a security issue as a defect
DE Report (.srpt)
IBM Software Group
IBM Confidential | June 2008 © 2008 IBM Corporation
Q&A
June 27, 2008
ashishp@ca.ibm.com

More Related Content

What's hot (20)

PPTX
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
Kevin Fealey
 
PDF
SAST vs. DAST: What’s the Best Method For Application Security Testing?
Cigital
 
ODP
Mobile App Security Testing -2
Krisshhna Daasaarii
 
PPTX
Application Security at DevOps Speed and Portfolio Scale
Jeff Williams
 
PDF
8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal
Threat Stack
 
PDF
Innovating Faster with Continuous Application Security
Jeff Williams
 
PPTX
Secure Code review - Veracode SaaS Platform - Saudi Green Method
Salil Kumar Subramony
 
PDF
Qualitykiosk And Its Deliverables
bibhupadhi
 
PDF
DevSecOps
Spv Reddy
 
PPTX
Crafting Super-Powered Risk Assessments by Digital Defense Inc & Veracode
Digital Defense Inc
 
PPTX
2017-11 Three Ways of Security - OWASP London
Jeff Williams
 
PDF
Mobile Trends And The New Threats - Is Your SAP System Vulnerable to Cyber At...
Virtual Forge
 
PDF
Manual Code Review
n|u - The Open Security Community
 
PDF
Pactera - App Security Assessment - Mobile, Web App, IoT - v2
Kyle Lai
 
PDF
Veracode - Overview
Stephen Durrant
 
PPTX
Veracode - Inglês
DeServ - Tecnologia e Servços
 
PPTX
Security as a new metric for Business, Product and Development Lifecycle
Nazar Tymoshyk, CEH, Ph.D.
 
PPTX
Dynamic Security Analysis & Static Security Analysis for Android Apps.
VodqaBLR
 
PDF
The Web AppSec How-To: The Defender's Toolbox
Checkmarx
 
PDF
AppsSec In a DevOps World
Parasoft
 
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
Kevin Fealey
 
SAST vs. DAST: What’s the Best Method For Application Security Testing?
Cigital
 
Mobile App Security Testing -2
Krisshhna Daasaarii
 
Application Security at DevOps Speed and Portfolio Scale
Jeff Williams
 
8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal
Threat Stack
 
Innovating Faster with Continuous Application Security
Jeff Williams
 
Secure Code review - Veracode SaaS Platform - Saudi Green Method
Salil Kumar Subramony
 
Qualitykiosk And Its Deliverables
bibhupadhi
 
DevSecOps
Spv Reddy
 
Crafting Super-Powered Risk Assessments by Digital Defense Inc & Veracode
Digital Defense Inc
 
2017-11 Three Ways of Security - OWASP London
Jeff Williams
 
Mobile Trends And The New Threats - Is Your SAP System Vulnerable to Cyber At...
Virtual Forge
 
Pactera - App Security Assessment - Mobile, Web App, IoT - v2
Kyle Lai
 
Veracode - Overview
Stephen Durrant
 
Veracode - Inglês
DeServ - Tecnologia e Servços
 
Security as a new metric for Business, Product and Development Lifecycle
Nazar Tymoshyk, CEH, Ph.D.
 
Dynamic Security Analysis & Static Security Analysis for Android Apps.
VodqaBLR
 
The Web AppSec How-To: The Defender's Toolbox
Checkmarx
 
AppsSec In a DevOps World
Parasoft
 

Viewers also liked (6)

PDF
Rational Team Concert (RTC) installation and setup guide
Karunakar Singh Thakur
 
PDF
Extending Rhapsody -Rick boldt
Roopa Nadkarni
 
PPTX
Sys ml helperprofile-rhapsody813-obtainandinstall-v1
Fraser Chadburn
 
PPTX
Installing Installing IBM Rational Rhapsody Designer and Architect for MBSE
Fraser Chadburn
 
PDF
Rhapsody reverseengineering
Scott Althouse
 
PDF
RFT - Ashish Mathur
Roopa Nadkarni
 
Rational Team Concert (RTC) installation and setup guide
Karunakar Singh Thakur
 
Extending Rhapsody -Rick boldt
Roopa Nadkarni
 
Sys ml helperprofile-rhapsody813-obtainandinstall-v1
Fraser Chadburn
 
Installing Installing IBM Rational Rhapsody Designer and Architect for MBSE
Fraser Chadburn
 
Rhapsody reverseengineering
Scott Althouse
 
RFT - Ashish Mathur
Roopa Nadkarni
 
Ad

Similar to IBM Rational AppScan Technical Overview (20)

PPTX
Apache Eagle: Architecture Evolvement and New Features
Hao Chen
 
PDF
Apache Eagle Architecture Evolvement
Hao Chen
 
PDF
Rational App Scan&Policy Tester
Kristina O'Regan
 
PPT
IBM Performance Optimizaiton Toolkit for Rational Performance Tester
Ashish Patel
 
PPT
Application Response Measurement (ARM) based Monitoring for Eclipse
Ashish Patel
 
PPS
About Qtp 92
techgajanan
 
PPS
About Qtp_1 92
techgajanan
 
PPS
About QTP 9.2
chandrasekhar
 
PDF
Mobile Analytics mit Elasticsearch und Kibana
inovex GmbH
 
PPTX
Iwsm2014 measuring cosmic software size from functional execution traces of...
Nesma
 
PDF
Dev309 from asgard to zuul - netflix oss-final
Ruslan Meshenberg
 
PDF
점진적인 레거시 웹 애플리케이션 개선 과정
Arawn Park
 
PPT
COMPRO- WEB ALBUM & MOTION ANALYZER
Ashish Tanwer
 
PPTX
Monitoring distributed (micro-)services
Rafael Winterhalter
 
PPTX
OWASP_Top_Ten_Proactive_Controls_v2.pptx
cgt38842
 
PPT
QTP Online Training
QualityPoint Technologies
 
PDF
What is system level analysis
CAST
 
PPTX
OWASP_Top_Ten_Proactive_Controls version 2
ssuser18349f1
 
PPTX
OWASP_Top_Ten_Proactive_Controls_v2.pptx
azida3
 
PPTX
OWASP_Top_Ten_Proactive_Controls_v2.pptx
johnpragasam1
 
Apache Eagle: Architecture Evolvement and New Features
Hao Chen
 
Apache Eagle Architecture Evolvement
Hao Chen
 
Rational App Scan&Policy Tester
Kristina O'Regan
 
IBM Performance Optimizaiton Toolkit for Rational Performance Tester
Ashish Patel
 
Application Response Measurement (ARM) based Monitoring for Eclipse
Ashish Patel
 
About Qtp 92
techgajanan
 
About Qtp_1 92
techgajanan
 
About QTP 9.2
chandrasekhar
 
Mobile Analytics mit Elasticsearch und Kibana
inovex GmbH
 
Iwsm2014 measuring cosmic software size from functional execution traces of...
Nesma
 
Dev309 from asgard to zuul - netflix oss-final
Ruslan Meshenberg
 
점진적인 레거시 웹 애플리케이션 개선 과정
Arawn Park
 
COMPRO- WEB ALBUM & MOTION ANALYZER
Ashish Tanwer
 
Monitoring distributed (micro-)services
Rafael Winterhalter
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
cgt38842
 
QTP Online Training
QualityPoint Technologies
 
What is system level analysis
CAST
 
OWASP_Top_Ten_Proactive_Controls version 2
ssuser18349f1
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
azida3
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
johnpragasam1
 
Ad

More from Ashish Patel (13)

PDF
Thinking In Cloud Native
Ashish Patel
 
PDF
American Marketing Association, Legendary Leadership Series: Think like a sof...
Ashish Patel
 
PDF
Digital is more than just technology
Ashish Patel
 
PDF
Digital Transformation: Embracing a Growth Mindset
Ashish Patel
 
PDF
Can your business survive the next disaster?
Ashish Patel
 
PPTX
Where in the world is your Corporate data?
Ashish Patel
 
PPTX
DevOps and the Enterprise Cloud
Ashish Patel
 
PPTX
TeraGo Corporate Services Overview
Ashish Patel
 
PPTX
IBM Cloud OpenStack Services
Ashish Patel
 
PPT
IBM Corporate Services Corps - Experience in Malaysia
Ashish Patel
 
PPT
Security in Cloud Computing
Ashish Patel
 
PPT
IBM Performance Optimizaiton Toolkit for Rational Application Developer
Ashish Patel
 
PPT
Using and Extending the Eclipse Test and Performance Tools Platform (TPTP) fo...
Ashish Patel
 
Thinking In Cloud Native
Ashish Patel
 
American Marketing Association, Legendary Leadership Series: Think like a sof...
Ashish Patel
 
Digital is more than just technology
Ashish Patel
 
Digital Transformation: Embracing a Growth Mindset
Ashish Patel
 
Can your business survive the next disaster?
Ashish Patel
 
Where in the world is your Corporate data?
Ashish Patel
 
DevOps and the Enterprise Cloud
Ashish Patel
 
TeraGo Corporate Services Overview
Ashish Patel
 
IBM Cloud OpenStack Services
Ashish Patel
 
IBM Corporate Services Corps - Experience in Malaysia
Ashish Patel
 
Security in Cloud Computing
Ashish Patel
 
IBM Performance Optimizaiton Toolkit for Rational Application Developer
Ashish Patel
 
Using and Extending the Eclipse Test and Performance Tools Platform (TPTP) fo...
Ashish Patel
 

Recently uploaded (20)

PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
Python basic programing language for automation
DanialHabibi2
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 

IBM Rational AppScan Technical Overview

  • 1. IBM Software Group IBM Confidential | June 2008 © 2008 IBM Corporation IBM Rational AppScan Developer Edition & Build Edition Ashish Patel AppScan Architect & Development Lead [email protected]
  • 2. IBM Rational IBM Confidential © 2008 IBM Corporation Overview  AppScan Developer Edition & Demonstration  Future of IBM’s Static Analysis: String Analysis  AppScan Build Edition  Cross-Product Integration
  • 3. IBM Rational IBM Confidential © 2008 IBM Corporation BuildCode SecurityQA AppScan Standard Ed (desktop) Rational ClearQuest IBM Rational AppScan SDLC Ecosystem AppScan Enterprise user (web client) Includes Fall 2008 Releases Rational BuildForge AppScan Build Ed (headless eclipse) IBM Rational Web Based Training for AppScan AppScan Tester Ed (QA client) AppScan Tester Ed (scanning agent) Rational Quality Manager IBM Rational AppScan Enterprise / Reporting Console AppScan Ent. QuickScan (web client) AppScan Developer Ed (Eclipse IDE) Rational Application Developer Automate Security / Compliance testing in the Build Process Build security testing into the IDE Security / compliance testing incorporated into testing & remediation workflows Security and Compliance Testing, oversight, control, policy, in-depth tests Rational Software Analyzer Rational ClearCase
  • 4. IBM Rational IBM Confidential © 2008 IBM Corporation Rational AppScan Developer Edition  Dynamic Analysis (black box) – Automated testing of your deployed application, outside-in – Pros: Finding issues in your app using same techniques available to hackers. – Cons: Not able to pinpoint the problems areas in your code. *yet*  Static Analysis (white box) – Static analysis of your web application code, inside-out – Pros: Coverage / Reported issues point directly to the suspect lines of code. – Cons: White box is building a model of your code, may find issues that can’t actually be exploited. *yet*  Runtime Analysis – Trace the flow of the application for any security issue found using dynamic analysis – Pros: Coverage / Reported issues point directly to the suspect lines of code. – Cons: Not able to pinpoint which method in the coverage caused the issue. *yet*
  • 5. IBM Rational IBM Confidential © 2008 IBM Corporation Dynamic Analysis (black box)  AppScan is the market leader in Black Box testing  A “hacker in a box”. Tests by sending modified HTTP requests to the app server and examining the responses to validate security rules. SQL Injection Test Example:  Original Request: http://server/page.jsp?param=value  Test Requests: http://server/page.jsp?param=‘ or 1=1 or ‘’=‘ http://server/page.jsp?param=“ or 1=1 or “”=“ http://server/page.jsp?param=‘ -- http://server/page.jsp?param=+1+1+1
  • 6. IBM Rational IBM Confidential © 2008 IBM Corporation Dynamic Analysis (black box)  AppScan Developer Edition brings this AppScan technology to Eclipse  Focus in AppScan Developer Edition is on core development use cases: – Local test server environment (WebSphere, Tomcat) – Focused scans – Developer education (Fix Advisories, Fix Recommendations) – Team collaboration of scan configurations and results (CVS, SVN, ClearCase)
  • 7. IBM Rational IBM Confidential © 2008 IBM Corporation Runtime Analysis: Bridging the gap between black box testing and source code  Locating and understanding the code flow responsible for an issue found by a Black Box scan can be tricky.  Runtime Analysis addresses this through instrumentation of your web application code.  During Black Box testing method invocations are traced, and the trace information is mapped to specific Black Box issues.  Allows you to understand exactly what your application was doing while AppScan was busy exploiting it.
  • 8. IBM Rational IBM Confidential © 2008 IBM Corporation Static Analysis  XSS, SQLi and other problems are instances of information- flow problems  They can be solved using static taint analysis String str = req.getParameter(“searchvalue"); resp.getWriter().println(str); String str = req.getParameter(“searchvalue"); resp.getWriter().println(str); Source Sink
  • 9. IBM Rational IBM Confidential © 2008 IBM Corporation Static Analysis – follow your tainted data  Build System Dependence Graph  Build “program slice” starting from sources  Detect whether we encounter a sink  Take sanitizers into account App Library Core
  • 10. IBM Rational IBM Confidential © 2008 IBM Corporation Static Analysis rules  Groups of sources, sinks, sanitizers determine issue types Sources: Sinks: XSS SQLi HTTPRSSanitizers:
  • 11. IBM Rational IBM Confidential © 2008 IBM Corporation The Future: IBM’s String Analysis Technology  Novel string analysis is the “game-changer” in the market place – Patented technology from IBM Research – Currently commercializing and under testing – Sought as the next generation of static analyzer technology  Automatically and statically detects the grammar of a string at the point of use public void submitQuery(String userName) { userName = clean(userName); String query = "SELECT id FROM users WHERE name = '" + userName + "'"; execute(query); } public String clean(String input) { return input.replaceAll(";","").replaceAll("'",""); } public void submitQuery(String userName) { userName = clean(userName); String query = "SELECT id FROM users WHERE name = '" + userName + "'"; execute(query); } public String clean(String input) { return input.replaceAll(";","").replaceAll("'",""); } input  .* output  [~;’]*
  • 12. IBM Rational IBM Confidential © 2008 IBM Corporation String analysis – How it works… public void submitQuery(String userName) { userName = clean(userName); String query = "SELECT id FROM users WHERE name = '" + userName + "'"; execute(query); } public String clean(String input) { String output = input.replaceAll(";","").replaceAll("'",""); return output; } public void submitQuery(String userName) { userName = clean(userName); String query = "SELECT id FROM users WHERE name = '" + userName + "'"; execute(query); } public String clean(String input) { String output = input.replaceAll(";","").replaceAll("'",""); return output; } submitQuery clean execute userName = Σ*userName = Σ* output = {Σ - {;,'}}*output = {Σ - {;,'}}* userName = {Σ - {;,'}}*userName = {Σ - {;,'}}* query = SELECT id FROM users WHERE name = '{Σ - {;,'}}*' query = SELECT id FROM users WHERE name = '{Σ - {;,'}}*' input = Σ*input = Σ*
  • 13. IBM Rational IBM Confidential © 2008 IBM Corporation Other Uses: Stored Vulnerabilities  Detects whether taint flows through a container (database, map, session, etc.) ResultSet rs = statement.executeQuery( "SELECT * FROM " + tableName + ";"); ResultSet rs = statement.executeQuery( "SELECT * FROM " + tableName + ";"); statement.executeUpdate("UPDATE " + tableName + " SET Name='" + firstName + "' WHERE LastName = '" + lastName + "';"); statement.executeUpdate("UPDATE " + tableName + " SET Name='" + firstName + "' WHERE LastName = '" + lastName + "';");
  • 14. IBM Rational IBM Confidential © 2008 IBM Corporation Advantages of String Analysis  No need to define what the sanitizers are  Understands inline sanitization code  Understands validators  Can verify your sanitizers really do their job  What this means for you – Greater accuracy out-of-the-box: – Fewer false-positives – Fewer false-negatives (detect buggy sanitizers!) – Less configuration IBM Tokyo Research Lab
  • 15. IBM Rational IBM Confidential © 2008 IBM Corporation Rational AppScan Developer Edition: Highlights  New offering from the AppScan family of products  Eclipse-based, integrates with the Rational SDP  Dynamic/Static/Runtime Analysis  A collaboration with IBM Research  First version will support Java, JSP, Struts  Sharable assets (scans and reports)  Rule updates  Integrated with: – AppScan Standard Edition – AppScan Enterprise Edition – ClearQuest – Change and version control
  • 16. IBM Software Group IBM Confidential | June 2008 © 2008 IBM Corporation IBM Rational AppScan Developer Edition Demonstration
  • 17. IBM Rational IBM Confidential © 2008 IBM Corporation Rational AppScan Build Edition  Command line Interface (CLI) into Rational AppScan DE  Runs as a “headless” eclipse-based environment  Integrates with BuildForge or any 3rd Party system
  • 18. IBM Rational IBM Confidential © 2008 IBM Corporation Rational AppScan Build Edition Inputs/Outputs  AppScan DE Scan (sscn) – Static Analysis – Dynamic Analysis (supports Manual Explore) – Runtime Analysis (not available)  AppScan scan file (Dynamic Analysis only, supports auto-explore)  AppScan DE Report (srpt), including API to extract: – Issues and information from static & dynamic analysis, correlation, execution flow, code snippets, etc. – RSAR-Format Static Analysis Results Only (XML) – AppScan-Format Dynamic Analysis Results Only (XML) for AppScan Std. Edition
  • 19. IBM Rational IBM Confidential © 2008 IBM Corporation Rational AppScan Cross-Product Integration Rational ClearQuest (or other defect system) AppScan Build Ed (CLI to headless eclipse) AppScan Developer Ed (Eclipse IDE)Rational Application Developer Rational ClearCase (or other file repository: CVS, RAM …) AppScan Standard Ed (desktop) AppScan Enterprise / Reporting console (web client) DE Scan (.sscn) AppScan Scan (.scan)AppScan results (.srpt & XML) Issue management DE Scan and Reports Post-processing of build output Log a security issue as a defect DE Report (.srpt)
  • 20. IBM Software Group IBM Confidential | June 2008 © 2008 IBM Corporation Q&A June 27, 2008 [email protected]

Editor's Notes

  • #4: Security: Use Rational AppScan Standard Edition and AppScan Enterprise Edition to test for Web 2.0 security & compliance issues according to regulatory demands such as PCI Push results to Rational ClearQuest to define & manage remediation QA: Rational AppScan Tester Ed integrated with Rational Quality Manager provides non-security trained QA Professionals the tools to successfully test for security issues Two-way defect tracking between Rational AppScan Enterprise & Rational ClearQuest allows for efficient remediation and visibility into the security of the web applications Build: Standardize & automate the build process to ensure PCI security compliance with Rational BuildForge & Rational AppScan Developer Ed for Build Systems Continue to leverage Rational ClearQuest & AppScan Enterprise for remediation of security issues Operate on iterative releases/binaries from Rational ClearCase Coding: Enable security scanning at the early stages with Rational AppScan Developer Ed & Rational Software Analyzer Select from a choice of end-points for developer uses cases with QuickScan web client or AppScan Developer Edition Manage code versions and tasks in Rational ClearCase and Rational ClearQuest