17
The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS University of Genova and Security & Trust FBK, Trento (on behalf of the SPaCIoS consortium) STREP Project number: 257876 Objective ICT-2009.1.4 c: Technology and Tools for Trustworthy ICT 01.10.10 − 31.01.14 www.spacios.eu

The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps

Alessandro Armando

DIBRIS – University of Genova and Security & Trust – FBK, Trento

(on behalf of the SPaCIoS consortium)

STREP Project number: 257876

Objective ICT-2009.1.4 c: Technology and Tools for Trustworthy ICT

01.10.10 − 31.01.14

www.spacios.eu

Page 2: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

Motivations

Page 3: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

Goal

Page 4: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

Model Checking vs Penetration Testing

Model

Checking

Penetration Testing The SPaCIoS Ideal

Target of

Verification

Abstraction of

Actual System

(the Model)

Actual System (the

System Under

Validation, SUV)

1. Use model to test

system

2. Use system to

discharge spurious

attacks

3. Use system to build

model

Scope Design flaws Implementation flaws Design and

Implementation flaws

(and their interaction)

Input Model + Spec

of Sec. Goals

& Assumptions

Vulnerabilities to seek

(attack surface

automatically

discovered)

Partial model, sec.

goals & assumptions,

vulnerabilities (in user

friendly notation)

Automation High Low High

Page 5: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

Model of the SUV

Abstract execution trace

Test case

The SPaCIoS Tool

Test Execution Engine

Vulnerabilities

Attack Patterns

Security Goals

Attacker Models

User Interface

Model of theSUV

Securitygoals

Userguidance

Security

Analyst

Model inference and adjustment

Property-driven and vulnerability-driven

test case generation

Libraries

Tes

t R

esu

lts

Model ofthe attacker

Faultlocation

SUVsource

code

Sourcebased

inference

Trace-driven faultlocalization

SUV

Research prototype

• model checking

• security testing

• penetration testing

• …

Complements state-of-the-art

Targets industrially-relevant

Security Protocols & Web Apps

Broad security range

• logic-flaws, injections, AC, …

• good coverage of OWASP top 10

Promising results

• SAML SSO, OAuth2, ..

• WebGoat, Shopping Cart, ..

On-going transfers to SAP and

SIEMENS

(System Under Validation)

Page 6: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

Research prototype

• model checking

• security testing

• penetration testing

• …

Complements state-of-the-art

Targets industrially-relevant

Security Protocols & Web Apps

Broad security range

• logic-flaws, injections, AC, …

• good coverage of OWASP top 10

Promising results

• SAML SSO, OAuth2, ..

• WebGoat, Shopping Cart, ..

On-going transfers to SAP and

SIEMENS

Page 7: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

The SPaCIoS Tool

Property-driven Security Testing

Model Inference

Mutation-based Testing

Vulnerabilty-driven Testing

Page 8: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

Model Property Model

Model

Checker

SUV

Property

Attack

trace

Test case Test execution

engine

Input

Output

Security

impact?

Concretization SUV data

GET http:// …

HTTP/1.1 200 OK …

GET http:// …

HTTP/1.1 302…

1. Step_C_1(…)

2. Step_SP_1(…)

3. Step_C_2(…)

…``

property-driven security testing

Page 9: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

Property

SUV

Property

Test case Test execution

engine

Input

Output

Models?

Model Model

Black-box model-

inference

Model Model

Model inference

Model

Checker

Attack

trace

Concretization SUV data

: black-box

Page 10: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

Property

SUV

Property

Test case Test execution

engine

Input

Output

Models?

Model Model

White-box model-

inference

Model Model

Model inference: white-box

source code

of system

Model

Checker

Attack

trace

Concretization SUV data

Page 11: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

Property

SUV

Property

Test case Test execution

engine

Input

Output

Models?

Model Model

translator

Model Model

Model inference: sequence diagrams

Sequence

diagrams

Model

Checker

Attack

trace

Concretization SUV data

Page 12: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

Model Property Model

SUV

Property

Test case Test execution

engine

Input

Output

No attack

traces?

Mutation

operators

Mutation

engine Mutated

Model

Model

Checker

Attack

trace

Concretization SUV data

Mutation-based Testing

Page 13: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

Model Property Model

Model

Checker

SUV

Property

Attack

trace

Test case Test execution

engine

Input

Output

Concretization SUV data

Vulnerability-driven Testing Well-known

vulnerabilities?

Page 14: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

SUV Test case Test execution

engine

Input

Output

Well-known

vulnerabilities?

Attack

pattern

models

Instantiation

files

SUV data Concretization

Page 15: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

Attack Pattern + Instantiation file + SUV data

Page 16: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

OWASP Top 10 The SPaCIoS Tool

A1 Injection WebGoat lesson: String SQL Injection

WebGoat lesson: Numeric SQL Injection

SIEMENS InfoBase and eHealth

A2 Broken Authentication &

Session Management

SAML, OpenID, OAuth: e.g., authentication logic-flaws

Password brute-forcing on SIEMENS InfoBase and eHealth

A3 Cross-Site Scripting WebGoat lesson: Stored XSS

WebGoat lesson: Reflected XSS

SIEMENS InfoCase and eHealth

A4 Insecure Direct Object

References

SIEMENS InfoBase and eHealth: File Enumeration and Path Traversal

A5 Security Misconfiguration WebGoat lesson: Forced Browsing (File Enumeration)

A6 Sensitive Data Exposure SAML, OpenID, OAuth: data confidentiality logic flaws

A7 Missing Function Level

Access Control

WebGoat lesson: Bypass Business Layer Access Control,

WebGoat lesson: Bypass Data Layer Access Control

WebGoat lesson: Role Based Access Control

SIEMENS eHealth

A8 CSRF SIEMENS InfoBase and eHealth

A9 Using Components with

Known Vulnerabilities

A10 Unvalidated Redirects and

Forwards

Page 17: The SPaCIoS Tool - uniurb.it · The SPaCIoS Tool property-driven and vulnerability-driven security testing for Web-based apps Alessandro Armando DIBRIS – University of Genova and

Research prototype

• model checking

• security testing

• penetration testing

• …

Complements state-of-the-art

Targets industrially-relevant

Security Protocols & Web Apps

Broad security range

• logic-flaws, injections, AC, …

• good coverage of OWASP top 10

Promising results

• SAML SSO, OAuth2, ..

• WebGoat, Shopping Cart, ..

On-going transfers to SAP and

SIEMENS

Thank you!

Model of the SUV

Abstract execution trace

Test case

The SPaCIoS Tool

Test Execution Engine

Vulnerabilities

Attack Patterns

Security Goals

Attacker Models

User Interface

Model of theSUV

Securitygoals

Userguidance

Security

Analyst

Model inference and adjustment

Property-driven and vulnerability-driven

test case generation

Libraries

Tes

t R

esu

lts

Model ofthe attacker

Faultlocation

SUVsource

code

Sourcebased

inference

Trace-driven faultlocalization

SUV

The SPaCIoS Tool is available for public

download at http://www.spacios.eu