+ All Categories
Home > Documents > DAWN: A Novel Strategy for Detecting ASCII Worms in Networks

DAWN: A Novel Strategy for Detecting ASCII Worms in Networks

Date post: 31-Dec-2015
Category:
Upload: leo-shannon
View: 28 times
Download: 0 times
Share this document with a friend
Description:
DAWN: A Novel Strategy for Detecting ASCII Worms in Networks. Parbati Kumar Manna Sanjay Ranka Shigang Chen Department of Computer and Information Science and Engineering, University of Florida IEEE INFOCOM 08. Outline. Introduction ASCII Worm Detection Strategies Probabilistic Analysis - PowerPoint PPT Presentation
28
1 DAWN: A Novel Strategy for Detecting ASCII Worms in Networks Parbati Kumar Manna Sanjay Ranka Shigang Chen Department of Computer and Information S cience and Engineering, University of Fl orida IEEE INFOCOM 08
Transcript
Page 1: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

1

DAWN: A Novel Strategy for Detecting

ASCII Worms in Networks

Parbati Kumar Manna

Sanjay Ranka

Shigang ChenDepartment of Computer and Information Science and

Engineering, University of Florida

IEEE INFOCOM 08

Page 2: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

2

Outline

IntroductionASCII WormDetection StrategiesProbabilistic AnalysisImplementationEvaluationConclusions

Page 3: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

3

Introduction

Almost any ASCII string translates into a syntactically correct sequence of instructions

The proportion of branch instructions for ASCII data is significantly higher than that of binary data

Prune the number of path to be inspected

Page 4: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

4

ASCII Worm

ASCII data: 0x20 ~ 0x7EMaximal valid instruction sequence

LMVI: Length of Maximal Valid Instruction sequenece

Page 5: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

5

ASCII Worm

Intel opcodes in ASCII Dual-operand register/memory manipulation

sub, xor, inc, imul Single-operand register manipulation

inc, dec Stack-manipulation

push, pop, popa Jump

jo, jno, jb, jae, je, jne, jbe, ja, js, jns, jp, jnp, jnge, jnl, jng

Page 6: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

6

ASCII Worm

I/O operation insb, insd, outsb, outsd

Miscellaneous aaa, daa, das, bound, arpl

Operand and Segment override prefixes cs, ds, es, fs, gs, ss, a16, o16

Move eax, ebx push ebx

pop eax

Page 7: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

7

ASCII Worm

Page 8: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

8

ASCII Worm

Both the decrypter and the encrypted payload should be ASCII

The size of the decrypter should be smallThere should not be a significant size discr

epancy between the encrypted payload and the cleartext

Page 9: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

9

Detection Strategies

Constraints of an ASCII Worm Opcode Unavailability Difficulty in Encryption Control Flow Constraints

Self-mutation is a mandatory constraintn bytes instructions O(n) bytes decrypte

r

Page 10: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

10

Detection Strategies

Prevalence of Privileged Instructions l, m, n, o insb, insd, outsb, outsd

Illegal Memory Access Uninitialized register Wrong Segment selector Explicit Memory Address

Page 11: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

11

Probabilistic Analysis

Assumptions: The characters in the traffic are independently

distributed

Bernoulli trial

Page 12: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

12

Probabilistic Analysis

Invalid instruction Privileged instruction Memory-accessing instructions

Page 13: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

13

Probabilistic Analysis

Notation: p: the probability of invalid instruction n: the total num of instructions N: total num of invalid instructions (the num of v

alid instruction sequences) Instruction stream (S1S2S3…SN) Xi: the length of Si Xmax: max{X1,X2,…,XN}

Page 14: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

14

Probabilistic Analysis

p.m.f of N: p.m.f of Xi: c.d.f of Xi:

NnNNn pp )1()(

1)1( xppxp)1(1

Page 15: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

15

Probabilistic Analysis

For a instance of exactly N sequences

Page 16: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

16

Probabilistic Analysis

The c.d.f of Xmax

Page 17: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

17

Probabilistic Analysis

The p.m.f of Xmax

Page 18: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

18

Probabilistic Analysis

Verifying Model Using Monte-Carlo Simulation

Page 19: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

19

Probabilistic Analysis

Threshold τ

)1log(

log)1(1log(1

p

pn

Page 20: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

20

Implementation

Instruction DisassemblyInstruction Sequence Analysis

Page 21: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

21

Evaluation

Creation of the Test Data Benign data: 100 cases, each containing nearly

4K printable ASCII characters

Page 22: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

22

Evaluation

Determining Appropriate Thresholds for the Test Data Determining p

0.227 Determining n

1540 Determining the threshold τ

40 (when α = 0.01)

Page 23: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

23

Evaluation

Experimental Results and Assessing the Effectiveness of the Detection Method

Page 24: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

24

Evaluation

Page 25: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

25

Conclusions

An ASCII worm must self-mutate to generate binary opcodes

This mutation requires a lots of memory-writing instructions

The size of a decrypter is relatively big for ASCII worm

Page 26: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

26

Conclusions

Benign ASCII data does not have such a long executable instruction sequence

The length of the maximal valid instruction sequence can be used to differentiate between benign and malicious data

Page 27: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

27

Determining p

Prob[I/O instruction]

+Prob[wrong-Segment-override memory-accessing-instruction]

= 18.5% + 4.2% = 22.7%

Page 28: DAWN:  A Novel Strategy for Detecting ASCII Worms in Networks

28

Determining n

E[length of instruction]

= E[length of prefix chain]

+E[length of actual instruction] = 2.6n = Total num of input characters / E[instru

ction size]

= 4000/2.6 = 1540


Recommended