voice over ip vulnerability assessment · denial of service (e.g. ooding, network services...

62
Voice over IP Vulnerability Assessment Ph.D Thesis Defense Humberto J. Abdelnur Henri Poincar´ e University - Nancy 1 INRIA - Nancy Grand Est March 30, 2009 Humberto J. Abdelnur 1

Upload: others

Post on 23-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Voice over IP Vulnerability AssessmentPh.D Thesis Defense

Humberto J. Abdelnur

Henri Poincare University - Nancy 1

INRIA - Nancy Grand Est

March 30, 2009

Humberto J. Abdelnur 1

Page 2: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Outline

Introduction

1 Background

2 Motivation

3 Challenges

Contributions

4 Fingerprinting

5 Fuzzing

6 Authentication Analysis

Conclusion

7 Summary of Results

8 Future Work

Humberto J. Abdelnur 2

Page 3: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Background Motivation Challenges

Introduction

Humberto J. Abdelnur 3

Page 4: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Background Motivation Challenges

Voice over IP Telephony (VoIP)

Humberto J. Abdelnur 4

VoIPIntelligence distributed over theequipments

Packet-switched network

Evolution depends on softwareupgrades

Data flows over an open publicnetwork

PSTNIntelligence concentrated in thenetwork

Circuit-switched network

Evolution depends on the corehardware

Data flows over a closed network

Page 5: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Background Motivation Challenges

Voice over IP Telephony (VoIP)

Humberto J. Abdelnur 4

VoIPIntelligence distributed over theequipments

Packet-switched network

Evolution depends on softwareupgrades

Data flows over an open publicnetwork

PSTNIntelligence concentrated in thenetwork

Circuit-switched network

Evolution depends on the corehardware

Data flows over a closed network

Page 6: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Background Motivation Challenges

VoIPSA1 VoIP Threat Taxonomy

Eavesdropping, interception and modification(e.g. rerouting, alteration, hijacking)

Denial of Service(e.g. flooding, network services DoS/DDoS, malformed protocol messages,

fake teardown of session)

Service Abuse(e.g bill bypassing, hijacking)

Social threats(e.g. misrepresentation of entities,unwanted contacts, . . . )

Physical access(e.g. social engineering attacks)

Interruption of services(e.g. loss of power, resource exhaustion, latency)

1VoIP Security Alliance. http://voipsa.org

Humberto J. Abdelnur 5

Page 7: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Background Motivation Challenges

Rethinking the Threats

No need to use huge resources to perform an attackTraffic sniffing is not always required

e.g. remote-eavesdropping can be setup by tricky-signallingonly

Operational toll-fraud on VoIP networks is easy to performStandard protocols (here SIP) have weaknessesVoIP can serve as a new attack vector

Humberto J. Abdelnur 6

Page 8: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Background Motivation Challenges

SIP Context

Humberto J. Abdelnur 7

What is SIP?

A signalling protocol

Request/Responsestructure (HTTP-like)

Stateful

Text-based protocol

What SIP is not?

Media transport

INVITE sip:[email protected] Via: SIP/2.0/UDP 192.168.0.1 ;branch=z9hG4bK34

From: <sip:[email protected] >;tag=as07b23bad

To: <sip:[email protected] >

Call-ID : [email protected]

Cseq: 100 INVITE

100 Trying...

[email protected] [email protected]

180 Ringing Via: SIP/2.0/UDP 192.168.0.2 ;branch=z9hG4bK78

From: <sip:[email protected] >;tag=as07b23bad

To: <sip:[email protected] >;tag=Cq0eb2d

Call-ID : [email protected]

Cseq: 100 INVITE

200 OK...

ACK sip:[email protected] Via: SIP/2.0/UDP 192.168.0.1 ;branch=z9hG4bK34

From: <sip:[email protected] >;tag=as07b23bad

To: <sip:[email protected] >;tag=Cq0eb2d

Call-ID : [email protected]

Cseq: 100 ACK

Bye sip:[email protected] Via: SIP/2.0/UDP 192.168.0.2 ;branch=z9hG4bK78

From: <sip:[email protected] >;tag=Cq0eb2d

To: <sip:[email protected]>;tag=as07b23bad

Call-ID : [email protected]

Cseq: 101 BYE

200 OK...

Page 9: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Background Motivation Challenges

Research Challenges

Network FingerprintingIdentifies who is the source entity of specific messages

Assessment, discovery of deployed equipments

Need of an automation bootstrapping phase

SIP is a complex protocol widely implemented

FuzzingSoftware testing technique to discovery vulnerabilities

Need to go deeper in the testing

SIP is a stateful protocol

Need for blackbox testing approaches

Most implementations are embedded devices

SIP AuthenticationAnalysis of the authentication mechanism of SIP

Humberto J. Abdelnur 8

Page 10: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Background Motivation Challenges

Contributions

Humberto J. Abdelnur 9

Page 11: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Contribution 1:

Fingerprinting

Humberto J. Abdelnur 10

Page 12: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Network Signatures

Network Fingerprinting

ObjectiveIdentify specific devices running a common protocolDetermine the implementation/vendor from the traffic

ApplicabilityNetwork topology discovery, inventoryDetect attacks/worms/SPIT systems and stealth intruders

DifficultiesBanners (if any) can’t be trustedSignatures can be expressively hiddenIdentify only the significant featuresComplex protocols need to be dealt with

Humberto J. Abdelnur 11

Page 13: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Network Signatures

Current Approaches

Active Fingerprinting

Request/Response queries to observe behaviorNormal/abnormal messages sentNetwork flow invasive

Passive FingerprintingMonitors and classifies trafficObserves syntax, state machine, timing“What you see is what you get”No overhead traffic generationSuitable for “on the fly” fingerprinting

Humberto J. Abdelnur 12

Page 14: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Network Signatures

Syntax Signatures

Problem StatementBehavior is not fully/specifically documented in RFCsImplementations don’t fully comply to the specifications

Humberto J. Abdelnur 13

Page 15: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Network Signatures

Syntax Signatures

Problem StatementBehavior is not fully/specifically documented in RFCsImplementations don’t fully comply to the specifications

Humberto J. Abdelnur 13

Page 16: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Network Signatures

Syntax Signatures

Problem StatementBehavior is not fully/specifically documented in RFCsImplementations don’t fully comply to the specifications

Humberto J. Abdelnur 13

Page 17: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Syntax Fingerprinting

Relevant Work

“Incorporating Active Fingerprinting into SPIT Prevention Systems”[7]

Signatures over the content messageManually identified (≈10 devices)Not scalable

“Catching the Picospams” [8]

Automated signature identificationSource per message identificationSignatures over natural language written sentences

“Fig: Automatic Fingerprint Generation”[9]

Automated queries generationQueries discrimination based on different observed behaviorActive approach

“Network Protocol System Fingerprinting”[10]

State machine induction by tracesIdentify the source by following the transitions

Humberto J. Abdelnur 14

Page 18: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Syntax Fingerprinting

The Big Picture

Challenges1

Be robust to malicious scrubbersIdentify the source for eachmessageAutomate signature discovery

1Assuming we know the protocol

Operational Framework

Structural Inference

Semantic Comparison

Variants Identification

Invariants Identification

Features Construction

Messages Classification

Humberto J. Abdelnur 15

H. Abdelnur, R. State and O. Festor.

“Advanced Network Fingerprinting”.Recent Advances in Intrusion Detection, RAID 2008.

H. Abdelnur, R. State and O. Festor.

“Advanced Structural Fingerprinting in SIP” Live demo.Principles, Systems and Applications of IP Telecommunications, IPTcomm 2008.

Page 19: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Syntax Fingerprinting

Syntax Inference

ABNF grammar specification is knownMessages can be represented by a tree structureStructure used rather than just lexiconGeneric approach, allows the parsing of any rule of anygrammar RESPONSE/2 (bob)(x.org)(5060)

Terminal

Terminal value

Non-Terminal

Sequence

Repetition

Blue filled shapes meanthe Choice option is set

Message

Header

’RESPONSE’

’RESPONSE’

’/’

’/’

Version

*

DIGIT

”[0-9]”

’2’

*

SP

” ”

’ ’

*

Value

’(’

’(’

User

*

ALPHA

”[a-z]”

’b’

ALPHA

”[a-z]”

’o’

ALPHA

”[a-z]”

’b’

’)’

’)’

Value

’(’

’(’

Host

URL

*

ALPHA

”[a-z]”

’x’

’.’

’.’

ALPHA

”[a-z]”

’o’

ALPHA

”[a-z]”

’r’

ALPHA

”[a-z]”

’g’

’)’

’)’

Value

’(’

’(’

Port

*

DIGIT

”[0-9]”

’5’

DIGIT

”[0-9]”

’0’

DIGIT

”[0-9]”

’6’

DIGIT

”[0-9]”

’0’

’)’

’)’

Humberto J. Abdelnur 16

Page 20: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Syntax Fingerprinting

Structural Features

Humberto J. Abdelnur 17

Field pathFeature associated

Type ValueMessage.2.(2) Order User, Host, PortMessage.1.(?) Length 1Message.0.Header.2 Content ’2’

RESPONSE/2 (Bob)(domain.org)(5060)

Message

Header

’RESPONSE’

’RESPONSE’

’/’

’/’

Version

*

DIGIT

”[0-9]”

’2’

*

SP

” ”

’ ’

*

Value

’(’

’(’

User

*

ALPHA

”[A-Z]”

’B’

ALPHA

”[a-z]”

’o’

ALPHA

”[a-z]”

’b’

’)’

’)’

Value

’(’

’(’

Host

URL

...’domain.org’

’)’

’)’

Value

’(’

’(’

Port

...’5060’

’)’

’)’

Identify signatures in the paths of the treeIdentify signatures as:

ContentsLengthsOrdersFunctions

Save Path, Type & Value tripletsClassify messages usingClosest Neighbor

Page 21: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Syntax Fingerprinting

Node Comparison

Comparison Matching

Shared items between nodes

Tags and ancestors tags must be equal

Sequences children must be ordered equally

Repetitions can be unordered

RESPONSE/2 (bob) (x.org) (192.168.1.9)

Message

’Header’

...’RESPONSE/2’

*

...’ ’

*

Value

’(’

’(’

User

*

ALPHA

”[a-z]”

’b’

ALPHA

”[a-z]”

’o’

ALPHA

”[a-z]”

’b’

’)’

’)’

Value

’(’

’(’

Host

URL

*

ALPHA

”[a-z]”

’x’

’.’

’.’

ALPHA

”[a-z]”

’o’

ALPHA

”[a-z]”

’r’

ALPHA

”[a-z]”

’g’

’)’

’)’

Value

’(’

’(’

Host

IPv4

...192.168.1.9

’)’

’)’

RESPONSE/2 (Org) (192.168.1.2)

Message

’Header’

...’RESPONSE/2’

*

...’ ’

*

Value

’(’

’(’

User

*

ALPHA

”[A-Z]”

’O’

ALPHA

”[a-z]”

’r’

ALPHA

”[a-z]”

’g’

’)’

’)’

Value

’(’

’(’

Host

IPv4

...’192.168.1.2’

’)’

’)’

Humberto J. Abdelnur 18

Page 22: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Syntax Fingerprinting

Node Comparison

Comparison Matching

Shared items between nodes

Tags and ancestors tags must be equal

Sequences children must be ordered equally

Repetitions can be unordered

RESPONSE/2 (bob) (x.org) (192.168.1.9)

Message

’Header’

...’RESPONSE/2’

*

...’ ’

*

Value

’(’

’(’

User

*

ALPHA

”[a-z]”

’b’

ALPHA

”[a-z]”

’o’

ALPHA

”[a-z]”

’b’

’)’

’)’

Value

’(’

’(’

Host

URL

*

ALPHA

”[a-z]”

’x’

’.’

’.’

ALPHA

”[a-z]”

’o’

ALPHA

”[a-z]”

’r’

ALPHA

”[a-z]”

’g’

’)’

’)’

Value

’(’

’(’

Host

IPv4

...192.168.1.9

’)’

’)’

RESPONSE/2 (Org) (192.168.1.2)

Message

’Header’

...’RESPONSE/2’

*

...’ ’

*

Value

’(’

’(’

User

*

ALPHA

”[A-Z]”

’O’

ALPHA

”[a-z]”

’r’

ALPHA

”[a-z]”

’g’

’)’

’)’

Value

’(’

’(’

Host

IPv4

...’192.168.1.2’

’)’

’)’

Humberto J. Abdelnur 18

Page 23: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Syntax Fingerprinting

Node Comparison

Comparison Matching

Shared items between nodes

Tags and ancestors tags must be equal

Sequences children must be ordered equally

Repetitions can be unordered

RESPONSE/2 (bob) (x.org) (192.168.1.9)

Message

’Header’

...’RESPONSE/2’

*

...’ ’

*

Value

’(’

’(’

User

*

ALPHA

”[a-z]”

’b’

ALPHA

”[a-z]”

’o’

ALPHA

”[a-z]”

’b’

’)’

’)’

Value

’(’

’(’

Host

URL

*

ALPHA

”[a-z]”

’x’

’.’

’.’

ALPHA

”[a-z]”

’o’

ALPHA

”[a-z]”

’r’

ALPHA

”[a-z]”

’g’

’)’

’)’

Value

’(’

’(’

Host

IPv4

...192.168.1.9

’)’

’)’

RESPONSE/2 (Org) (192.168.1.2)

Message

’Header’

...’RESPONSE/2’

*

...’ ’

*

Value

’(’

’(’

User

*

ALPHA

”[A-Z]”

’O’

ALPHA

”[a-z]”

’r’

ALPHA

”[a-z]”

’g’

’)’

’)’

Value

’(’

’(’

Host

IPv4

...’192.168.1.2’

’)’

’)’

Humberto J. Abdelnur 18

Page 24: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Training Phase

Phase 1: Variants Identification

Message x from device A Message y from device A

StructuralInference

StructuralComparison

VariantsIdentification

Message x from device A Message y from device A

StructuralInference

StructuralComparison

VariantsIdentification

Message x from device A Message y from device A

StructuralInference

StructuralComparison

VariantsIdentification

Humberto J. Abdelnur 19

Pairwise comparison of messages from the same device

The differences identifythe Variant fieldsThese fields are of no interest

Configuration valuesContext specific values

Page 25: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Training Phase

Phase 2: Features Identification

Message x from device A Message y from device A

StructuralInference

StructuralComparison

VariantsIdentification

Message x from device A Message y from device B

StructuralInference

StructuralComparison

InvariantIdentification

Humberto J. Abdelnur 20

Pairwise comparison of messages from different devices

Filter differences that are Invariant fieldsThese fields are the Signatures

Same values for the same devicebut different withinimplementations

Page 26: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Experimental Results

Experimental Results

1Experiments were carried out using the Grid’5000 experimental testbedHumberto J. Abdelnur 21

Accuracy

Classification

True Positive False Positive21422 32

False Negative True Negative490 N.A.

Accuracy Sensitivity Specificity0.998 0.976 0.999

Efficiency1501 Xeon-Woodcrest nodes,

dual-core 64 bits, 2GB RAMActions computed Total

actions timePhase 1 571.234 1 hourPhase 2 8.175.419 10 hours

Fingerprinting framework implemented in Python21981 recollected SIP messages labeled(from 26 different apps/conf)15% of the messages weresufficient to train the system271 features discoveredClassifications:

Used between 10 to 58 featuresAverage classification time 0.06 seconds

Page 27: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Experimental Results

Error Analysis559 (2.5%)

missclassifications

37syntactically

invalid

32False

Positive

172nd-choice

93nd-choice

490False

Negative

203OPTIONS

same dev.as

keep Alive

126100 Trying

from thesame dev

95ACK

42same dev.

38same dev.

93 6= dev.

64left

454 filtered correctly in top-224 filtered correctly in top-311 filtered correctly in top-4

OPTIONS sip:192.168.1.4:5060 SIP/2.0Via: SIP/2.0/UDP 192.168.1.101;rport;branch=z9hG4bKc0a801650000000b4550c64f000000f5000000e2Content-Length: 0Call-ID: [email protected]: 20 OPTIONSFrom: <sip:[email protected]>;tag=1286870423922Max-Forwards: 70To: <sip:192.168.1.4:5060>

Humberto J. Abdelnur 22

Page 28: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Experimental Results

Scalability

2091 recollected SIP messages (6 different applications)Trained several times with only 15% of the traces

perfect

lineof

no

disc

rim

inat

ionbetter

worse

1 - specificity

sen

siti

vit

y

0.1 0.3 0.5 0.7 0.9

0.1

0.3

0.5

0.7

0.9

Msgs Feat. FP FN Acc.15% 125 ∼

1893 ∼23

35 ∼231

0.997 ∼0.979

20 ∼ 40% 133 ∼194

6 ∼24

18 ∼44

0.998 ∼0.995

50 ∼ 90% 165 ∼193

1 ∼2

20 ∼19

0.998

100% 174 1 20 0.998

0.01 0.03 0.05 0.07 0.09

0.91

0.93

0.95

0.97

0.99

Humberto J. Abdelnur 23

Page 29: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Summary

Summary

We built a robust automated signature discoveryframework that:

Does not rely on lexiconExploit arborescent structuresIs generic

It was successfully applied to SIPWe have a large database of device tracesAccuracy of the system is convincing

Limitations:Syntactically known protocolsClear text flows

Humberto J. Abdelnur 24

Page 30: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Contribution 2:

Fuzzing

Humberto J. Abdelnur 25

Page 31: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

How to Find Bugs?

Fuzzing

Emerged as a branch of Software TestingFunctional verification is marginalMain objective is to find possible potential vulnerabilitiesImportant topic for Development Cycle/IndependentAssessmentBased on input data validation

Random or invalid characters (not too random actually)Malicious data (e.g. string formatters)

Humberto J. Abdelnur 26

Page 32: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

How to Find Bugs?

Relevant work

Mini-Simulation Toolkit [13]

Send malformed messages to the target

Limited data generation

SnooZe[11], Sulley[15]

Framework for messages generation

Requires more specification as more precise it gets

GPF[12], Sidewinder[14]

Evolutionary methods to generate messages

Hard to estimate what will be the generated output/expected answer

In-Depth Testing of Web Applications[16]

Replay traces to get deeper in the test

There is no knowledge between right/wrong transitions (i.e. stateless)

Generally

Success evaluation depends on crashed or NOT-crashed

Past events are not considered

Unable to decide when to stop

Time of testingQuantity of tests or some new metrics?

Humberto J. Abdelnur 27

Page 33: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

How to Find Bugs?

What to Fuzz?

Syntax fuzzing

Invalid messages may reveal vulnerabilities

Consider which items of the message should be fuzzed

Headers or input values may be fuzzed

Which values may be replaced

New values may or may not be syntactically correct

Stateful fuzzing

Unexpected messages may reveal vulnerabilities

Decide what type of message to send

Decide when to send the next message

Humberto J. Abdelnur 28

H. Abdelnur, R. State and O. Festor.

“KiF: A stateful SIP fuzzer”.Principles, Systems and Applications of IP Telecommunications, IPTcomm 2007.

H. Abdelnur, R. State and O. Festor.

“SIPping your network”.East coast hacker convention, ShmooCon 2008.

H. Abdelnur, R. State and O. Festor.

“Fuzzing for vulnerabilities in the VoIP space”.European Expert Group for IT-Security, EICAR 2008.

Page 34: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Syntax Fuzzing

Making Things Easier

Terminal

Non-Terminal

Sequence

Repetition

Filled shapes mean theChoice Option is set

Message

Header 1* 1*

'Reply' 1* Entity

1*

ALPHA

%x41-5A

SP

%x20

SP

%x20

SP

%x20 '(' ')'Opt-Value

Version

'(' ')'Opt-Value

Ack

'(' ')'Opt-Value

Value

ALPHA ALPHA ALPHA

'U' 'S' 'E' 'R'

' '' '

'Reply' ' ' '(' ')' '(' ')' '(' ')'

'.'DIGIT'Version' 1*

SP

%x20

%x30-39

DIGIT

%x30-39

' '

'1'

'.'

'1'

'Ack' 1*

DIGIT

%x30-39

'1'

'Version' 'Ack'

HCOLON

*

SP

%x20

' '

':'

':'

*

SP

%x20

' '

'Value' 1*

ALPHA

%x41-5A

'A'

'Value'

HCOLON

*

SP

%x20

' '

':'

':'

*

SP

%x20

' '

%x41-5A %x41-5A %x41-5A

Terminal value

ALPHA

%x61-7A

'l'

ALPHA

%x61-7A

'e'

ALPHA

%x61-7A

'x'

Reply USER (Version 1.1)(Ack : 1)(Value : Alex)

Message = Header 1*SP 1*( "(" Opt-Value ")" )

Header = ("Query" / "Reply") 1*SP Entity

Opt-Value = (Ack / Value / Version)

Entity = 1*ALPHA

Ack = "Ack" HCOLON 1*DIGIT

Value = "Value" HCOLON 1*ALPHA

Version = "Version" 1*SP DIGIT ”.” DIGIT

ALPHA = %x41-5A / %x61-7A ; A-Z / a-z

DIGIT = %x30-39 ; 0-9

HCOLON = *SP ":" *SP

SP = %x20 ; space

Humberto J. Abdelnur 29

Each protocol has its own grammar specification(e.g ABNF grammars as defined in RFC 2234).Why not reuse it?

Full and precise description of the Protocol Syntax

Generic approach, allows Parsing & Fuzzing to anyRule of any Grammar

Page 35: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Syntax Fuzzing

Syntax Modifications

Any grammar rule may be generated (i.e. generation from scratch)

Statistic measures may influence the reduction (i.e. learning from the past)

Any existing reduction may be replaced (i.e. mutation or merging)

New rules can be defined on the fly (i.e. evolving rules)

Semantic computation may be applied from other nodes (e.g. checksum

computations)

Message

Header

1*

'Reply' 1* Entity

1*

Reply USER (Version 1.1)(Ack : 1)(Value : Alex)

(a) Example message compliant with the grammar

(b) Infered structure from the Message in (a)

'\x'2*2

StringFormat

Request ROOT \x00 (Version 1.1)(Ack : 1)(Value : Alex)

'Request'

(c) Structure modifications to the Message in (b)

(d) Representing message after (c) modifications

'Reply'

'Request'

SP

%x20

' '

SP

%x20

' '

SP

%x20

' '

SP

%x20

' '

SP

%x20

' '

ALPHA

%x41-5A

ALPHA ALPHA ALPHA

'U' 'S' 'E' 'R'

%x41-5A %x41-5A %x41-5A

'\x'DIGIT

%x30-39

'0'

........(Version 1.1)(Ack : 1)(Value : Alex)

Header.0 = (''Query'' | ''Reply'')

Message.1 = *(SP | StringFormat )

StringFormat = '\x' 2DIGITa

DIGIT

%x30-39

'0'

ALPHA

%x41-5A

ALPHA ALPHA ALPHA

'R' 'O' 'O' 'T'

%x41-5A %x41-5A %x41-5A

Entity Statistics:ROOT: 15%USER: 30 %...

Humberto J. Abdelnur 30

Page 36: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Stateful Fuzzing

KiF Framework Overview

State Protocol Fuzzer

Syntax Fuzzer

SIP Phone

UACemulator

UASemulator

MessageFuzzer

SyntaxScenario

Statisticsmesures

ErrorReporter

ProtocolTransition

Engine

Passive TestingState Machine

5

67

8

2

MessageGLR-Parser

1

3

Active TestingState Machine

4

INVITE sip:Bob@domain

100 Trying

CANCEL sip:Bob@domain

180 Ringing

Protocol Scenario

Humberto J. Abdelnur 31

Page 37: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Stateful Fuzzing

Behavioral testing

Passive Testing

Collect traces under normal conditions to deduce normal behavior(NP-hard[17])

Just observes the current traffic

Infers current state of the unit under test

Detects abnormal events

?404

?100

?407

?180enable(CANCEL)

?200enable(INFO)enable(BYE)

!ACK?480

?486

?603

?487

?302

!INVITE

INVITE

100 Trying

180 Ringing

Entity B

Current State

Entity A

Humberto J. Abdelnur 32

Page 38: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Stateful Fuzzing

Behavioral Testing

Active Testing

Leads the target into a specific state

Specify which action must be taken at each step

Event-Driven Probabilistic Finite Automata based Scenarios

Stateful Scenario

!INVITEScenario3

weight = 1Start

INVITE

100 Trying

180 Ringing

KiF SIP Phone

SyntaxFuzzer

Scenario1

Timeout

?[4-5][0-9]*timeout= (0,5)

?100timeout= (0,5)

?180timeout= (0,5)

?407timeout= (0,5)

SaveChallengeenable(Authentication)

!ACKScenario1weight = 3

?601timeout= (0,5)

!ACKScenario3weight = 3

?200timeout= (0,15)enable(BYE)

?[4-5][0-9]*timeout= (0,5) Timeout

!INVITE Scenario2weight = 3

![0-9]+Scenario2

timeout= (0,5)183 Session in Progress

Current State

SyntaxFuzzer

Scenario2

SyntaxFuzzer

Scenario3

Syntax Scenarios

Humberto J. Abdelnur 33

Page 39: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Evaluation Impact

Errors Reporting Conditions

Syntactically incorrect messagesNo existent passive state machine transitionsUnexpected message in the current scenario(i.e. when the scenario

is trying to avoid the normal protocol flow, e.g. for authenticating)

Unresponding device

Humberto J. Abdelnur 34

Page 40: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Fuzzing Summary

Summary

Precise and specific fuzzing approachDynamic, results will always be differentAdaptability & stateful

We reach deeper surface of testingTested it in more than 15 leading market devices

All implementations present vulnerabilities!

Humberto J. Abdelnur 35

Page 41: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Contribution 3:

Authentication Analysis

Humberto J. Abdelnur 36

Page 42: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

SIP Authentication Mechanism

BackgroundAuthentication based on the design of HTTPShared secret modelSIP is one of the longest specification made by IETFMore than 60 extensions exists in the IETF

ObjectiveDesign fuzzing cases for bypassing authenticationAnalysis of possible failures

Humberto J. Abdelnur 37

Page 43: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

SIP Authentication Background2

2RFC-3261, RFC-2617Humberto J. Abdelnur 38

Page 44: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Re-INVITE feature in SIP

How re-INVITEs work:

Can we ask to authenticate re-INVITEs?

Humberto J. Abdelnur 39

Page 45: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Toll-fraud: a SIP Design Flaw

We may use such authentication at will :)

Humberto J. Abdelnur 40

Page 46: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Fingerprinting Fuzzing Authentication Analysis

Summary

It sets up a MiM attack without been in the middleFlaw based on using the same Method name for differentaction

Authentication responseA1 = username ":" realm ":" passwdA2 = Method ":" Digest-URIresp = MD5(MD5(A1) ":" nonce ":" MD5(A2))

Solved by changing the SIP method from“INVITE” to “REINVITE”Evaluating the perturbation for SIP

Humberto J. Abdelnur 41

H. Abdelnur, T. Avanesov, M. Rusinowitch and R. State.

“Abusing SIP Authentication”.Information Assurance and Security, 2008, ISIAS ’08.

R. State, O. Festor, H. Abdelnur, V. Pascual, J. Kuthan, R. Coeffic, J. Janak, J. Floroiu

“SIP digest authentication relay attack”.The Internet Engineering Task Force, IETF.

Page 47: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Summary of Results Future Work

Conclusions

Humberto J. Abdelnur 42

Page 48: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Summary of Results Future Work

Conclusions

Assessment ArchitectureIntegrated framerwork for VoIP assessment

FuzzingA complete & specific syntax fuzzerStateful approach designActive & Passive testing merged

Network FingerprintingSuccessful automated syntax signatures discoveryGeneric approach based on the syntax structure

Authentication AnalysisMayor vulnerability in the SIP authentication methodTrue concerned flaw identifiedHumberto J. Abdelnur 43

Page 49: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Summary of Results Future Work

Industrial Impact

KiF: a Stateful SIP Fuzzer tool40K lines of codeUsers

Georgia Tech, Alcatel-Lucent, Orange Telecom, BritishTelecom, IPtel, NEC, ...

Free project

FiF: a Structural Passive Fingerprinting tool15K lines of codePatent over the methods

Humberto J. Abdelnur 44

Page 50: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Summary of Results Future Work

Security Advisories

Common Vulnerabilities and Exposures (CVE)

Database of publicly known security vulnerabilities andexposuresVulnerabilities are reviewed before being added

CVE’s listResponsible disclosure policiesMore than 15 CVEs disclosed (3 months period)

DoSToll-fraudRemote eavesdropping

Humberto J. Abdelnur 45

Page 51: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Summary of Results Future Work

Publications

Publications

International ConferencesRecent Advances in Intrusion Detection (RAID 08), Boston, USA. 25%acceptancePrinciples, Systems and Applications of IP Telecommunications(IPTComm 07), New York, USA.European Expert Group for IT-Security, (EICAR 08), Laval, France.Integrated Management (IM 07), Munich, Germany. 31 % acceptanceInformation Assurance and Security (IAS 08), Naples, Italy.

Security ConventionShmoocon 2008, annual East coast hacker convention, Washington, USA.

Popular MagazineMISC Magazine - Edition francaise: Multi-System & Internet SecurityCookbook. Misc #39

Internet Engineering Task Force (IETF) Draft ProposalsThe Common Log File (CLF) format for SIPSIP digest authentication relay attack

Humberto J. Abdelnur 46

Page 52: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Summary of Results Future Work

Future Work

FingerprintingMeasure entropy of the fieldsRecognize behavior of protocol stacksLearn signatures from unknown protocols

FuzzingLinking testing techniques with fuzzingALCATEL-LUCENT/INRIA joint labs:

Extend KiF to be SIP independentANR Project VAMPIRE:

Evaluation of optimal fuzzing strategiesVirtualisation instrumentationClosed-loop fuzzing

Humberto J. Abdelnur 47

Page 53: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

Summary of Results Future Work

Questions&Answers

Humberto J. Abdelnur 48

Page 54: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

References Vulnerabilities

[1] J. F. Ransome and J. Rittinghouse.

“Voice over Internet Protocol (VoIP) Security”.Digital Press. Newton, USA.

[2] P. Thermos and A. Takanen.

“Securing VoIP Networks: Threats, Vulnerabilities, and Countermeasures”.Addison-Wesley Professional.

[3] T. Porter and J. Kanclirz and A. Zmolek and A. Rosela and M. Cross and L. Chaffin

and B. Baskin and C. Shim.“Practical VoIP Security”.Andrew Williams.

[4] D R Kuhn and T J Walsh and S Fries.

“Security Considerations for Voice Over IP Systems”.National Institute of Standards and Technology.

[5] Defense Information Systems Agency.

“Voice Over Internet Protocol (VOIP) Security Technical Implementation Guide”.

[6] Juniper Networks.

“VoIP Security - best practices Outline”.

[7] H. Yan and K. Sripanidkulchai and H. Zhang and Z. Shae and D. Saha.

“Incorporating Active Fingerprinting into SPIT Prevention Systems”.Third Annual VoIP Security Workshop (VSW’06).

Humberto J. Abdelnur 49

Page 55: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

References Vulnerabilities

[8] M. Chang and C. K. Poon.

“Catching the Picospams”.In International Syposium on Methodologies for Intelligent Systems (ISMIS 2005).

[9] J. Caballero and S. Venkataraman and P. Poosankam and M. G. Kang and D. Song

and A. Blum.“FiG: Automatic Fingerprint Generation”.The 14th Annual Network & Distributed System Security Conference (NDSS 2007).

[10] G. Shu and D. Lee.

“Network Protocol System Fingerprinting - A Formal Approach”.INFOCOM 2006. 25th IEEE International Conference on Computer Communications.

[11] G. Banks and M. Cova and V. Felmetsger and K. Almeroth and R. Kemmerer and

G.Vigna.“SNOOZE: Toward a Stateful NetwOrk prOtocol fuzZEr”.Springer, Lecture Notes in Computer Science 2006.

[12] J. Demott and R. Enbody and W .Punch

“Revolutionizing the Field of Grey-box Attack Surface Testing with EvolutionaryFuzzing”Black Hat 2007

[13] R. Kaksonen.

“A Functional Method for Assessing Protocol. Implementation Security”.VTT Electronics. VTT Publications 448

Humberto J. Abdelnur 50

Page 56: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

References Vulnerabilities

[14] S. Embleton and S. Sparks and R. Cunningham.

“Sidewinder: An Evolutionary Guidance System for Malicious Input Crafting”.Black Hat 2007

[15] M. Sutton and A. Greene and P. Amini.

“Fuzzing: Brute Force Vulnerability Discovery”.Addison-Wesley Professional

[16] S. McAllister and E. Kirda and C. Krugel.

“Expanding human interactions for in-depth testing of web applications”.RAID 2008, 11th Symposium on Recent Advances in Intrusion Detection

[17] I. Rouvellou and G. Hart.

“Inference of a probabilistic finite state machine from its output”.IEEE Transactions on Systems, Man and Cybernetics 1995.

Humberto J. Abdelnur 51

Page 57: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

References Vulnerabilities

DoS: Basic Checking

When you have nothing to say ...One message can be sufficient to kill a phoneA very simple message actually : empty UDP packet

Humberto J. Abdelnur 52

Page 58: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

References Vulnerabilities

DoS: Stateful fuzzing

One dialog prematurely cancelledDevice reach a unstable stateA new dialog hangs the device

CVE-2007-6371

KiF

INVITE sip:Bob@domain

100 Trying

OK (to the CANCEL)

CANCEL sip:Bob@domain

Nokia N95

INVITE sip:Bob@domain

100 Trying

180 Ringing

DoS

487 Request Terminated

Transaction #1

Dialog #1

Dialog #2

Transaction #2

Transaction #2

Transaction #1

Humberto J. Abdelnur 53

Page 59: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

References Vulnerabilities

Eavesdropping: Big Brother Dreams/Realities

INVITE an entity but ... reply yourself

Remote entity accepts the callwithout askingEavesdrops the conversation takenin the room

Requires stateful fuzzing to be performed !

Humberto J. Abdelnur 54

Page 60: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

References Vulnerabilities

Injections: Why VoIP Insecurity is Really BAD?

SQL Injections over SIPSQL tables used for CDRUnescaped inputsAsterisk addons

Got one SQL injection?Have one XSS for free!

Unescaped database inputsFreePBX, trixbox

XSS via SQL injectionsthrough SIP

Humberto J. Abdelnur 55

Page 61: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

References Vulnerabilities

Injections: Why VoIP Insecurity is Really BAD?

SQL Injections over SIPSQL tables used for CDRUnescaped inputsAsterisk addons

Got one SQL injection?Have one XSS for free!

Unescaped database inputsFreePBX, trixbox

XSS via SQL injectionsthrough SIP

Humberto J. Abdelnur 55

Page 62: Voice over IP Vulnerability Assessment · Denial of Service (e.g. ooding, network services DoS/DDoS, malformed protocol messages, ... 1Experiments were carried out using the Grid’5000

References Vulnerabilities

VoIP Deployment Layout [1, 2, 3, 4, 6, 5]

VoIP dedicated VLAN

Internet

TFTPServer

DHCPServer

SIPRegistrar/Proxy

DNSService

Call & UserManagement

OutsideAttackers

InsideAttackers

Humberto J. Abdelnur 56