24
04.12.2017 | SPIN | TK Lab | CYSEC Cybersecurity [at] TU Darmstadt | 1 Emmanouil Vasilomanolakis, Jan Helge Wolf, Leon Böck, Shankar Karuppayah, Max Mühlhäuser I Trust My Zombies: A Trust-Enabled Botnet

I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

  • Upload
    vokhue

  • View
    219

  • Download
    2

Embed Size (px)

Citation preview

Page 1: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

04.12.2017 | SPIN | TK Lab | CYSEC – Cybersecurity [at] TU Darmstadt | 1

Emmanouil Vasilomanolakis, Jan Helge Wolf, Leon Böck,

Shankar Karuppayah, Max Mühlhäuser

I Trust My Zombies: A Trust-Enabled Botnet

Page 2: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Introduction #1

• Botnet monitoring is turning into a cat and mouse game…

• What if we start thinking like the bad guys?

I Trust My Zombies | Blackhat Europe 2017 2

Page 3: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Introduction #2

• Think as the attacker

• Envision the botnets of the futureExploit the limitations of defenders

Mechanism for detecting the presence of sophisticated defenders

• Research Goal: Botnet in which monitoring is difficult/infeasible

I Trust My Zombies | Blackhat Europe 2017 3

Page 4: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Terminology #1

Hi! I am a zombie

(Bot)

I am the evil Botmaster!

I am the good guy!

I Trust My Zombies | Blackhat Europe 2017 4

P2P Botnet:a number of bots that communicate in a P2P fashion

and in which a botmaster can issue commands

Page 5: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Membership Maintenance (MM) mechanism• Ensures overlay remains connected• Periodically maintains a Neighborlist (NL)

Probes responsiveness frequently Update/Replace entries as needed Request additional neighbors

A

B

C

D

E

F

G

H

I

J

Bot D

No. Neighbor

1 E

2 F

3 G

Bot D

No. Neighbor

1 E

2 F

3 I

*The size of an NL ranges between 50-1000 entries

Terminology #2

I Trust My Zombies | Blackhat Europe 2017 5

Page 6: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

How can P2P botnets be taken down?

I Trust My Zombies | Blackhat Europe 2017 6

Reverse engineering

Analysis

Preliminaries Monitoring

Crawlers

Sensors

Disrupt

Partition

Sinkhole/Disarm

Page 7: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Background: crawlers & sensors

I Trust My Zombies | Blackhat Europe 2017 7

Crawler

Sensor

• Aggressively crawls the botnet

• Attempts to create a holistic image of the

botnet asap

• Can be easily detected and contended

• Acts like a normal bot and builds up its

knowledge (slowly)

• Harder to create a holistic view of the botnet

• Very passive compared to crawlers

• Cannot be easily detected and contended

Page 8: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

NeedBrainzzzCoffee!

Background: Computational Trust

I Trust My Zombies | Blackhat Europe 2017 8

interactions

recommendations

stereotypes

trustee analysis

credentials

Two classes of evidence:

Subjectiveutility based decisionTrust Computation

sound models(math, ML)

trust score

experiences

indicators

Page 9: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Worldwide, 1st half 2016 (Source: Statista)

Background: the Sality P2P Botnet

• Early versions: 2003-2004!

• Very sophisticated all-around malware

• P2P since 2008

• Extremely resilient

• Communication protocol Membership maintenance Command dissemination

• Basic trust management goodCount

I Trust My Zombies | Blackhat Europe 2017 9

Page 10: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Background: Sality “Hello” messages

id IP lastOnline goodCount

B 1.2.3.4 0000-00-00 00:00:00

0

C 2.3.4.5 2017-10-0512:30:03

6

… … … …

Hello (cmdSeq=512)

cmdSeq: 515cmdSeq: 515

HelloReply (cmdSeq=515, cmdSet=<…>)

id IP lastOnline goodCount

B 1.2.3.4. 2017-10-05 13:38:03

1

C 2.3.4.5 2017-10-0512:30:03

6

… … … …

cmdSeq: 510

Id IP lastOnline goodCount

B 1.2.3.4 2017-10-05 13:38:03

1

C 2.3.4.5 0000-00-00 00:00:00

5

… … … …

cmdSeq: 512

Bot A

Bot B

Bot C

I Trust My Zombies | Blackhat Europe 2017 10

cmdSeq (command sequence):

• an identifier of the latest command

(simplified: the (internal) malware version)

Page 11: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Meet our Botnet

• Cautious: careful to whom you talk to

• Smart: learn from your past experiences

Core idea

• Defenders are bound to legal and ethical limitationsThey should not forward commands

Exploitation via sending special messages (to neighbors)

• Utilization of computational trustCalculation and modeling of local knowledge

I Trust My Zombies | Blackhat Europe 2017 11

Page 12: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Meet our Botnet:Bogus Command Sequence (BCS) Messages

• Extend basic botnet protocol

• Introduce a novel type of messageBased on the ethical/legal limitations of sensors/crawlers

BCS message: indistinguishable from common hello messages

Forces zombies to reveal their true self

I Trust My Zombies | Blackhat Europe 2017 12

Page 13: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Meet our Botnet:BCS Messages #1

I Trust My Zombies | Blackhat Europe 2017 13

cmdSeq: 620 cmdSeq: 618

Bot A Bot B

Hello (cmdSeq=310)

HelloReply (cmdSeq=618,

cmdSet=<…>)

(ridiculously low cmdSeq)

Page 14: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Meet our Botnet:BCS Messages #2

I Trust My Zombies | Blackhat Europe 2017 14

cmdSeq: 620 cmdSeq: 622

Bot A

Hello (cmdSeq=310)

HelloReply (cmdSeq=310,

cmdSet=NULL)

Sensor

Page 15: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Meet our Botnet: Trust Threshold and Blacklisting

• Autonomous trust score calculation

• Trust score check after every new experience

• Trust score below pre-defined trust threshold: Remove peer from neighborlist

Add to blacklist o Prevent re-adding to neighborlist

o Drop all incoming messages

• Irreversible decision

„blacklisting“

I Trust My Zombies | Blackhat Europe 2017 15

Page 16: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Meet our Botnet: Utilized Botnet Trust Models

• Four trust models EbayUserRating

BetaDistribution

SubjectiveLogic

CertainTrust

I Trust My Zombies | Blackhat Europe 2017 16

Page 17: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Experiments: objectives of monitoring

• Enumeration of the botnet Sensor popularity (indegree)

• Decrease sensor popularity

• Blacklisting precision

𝑝 =𝑇𝑃

𝑇𝑃+𝐹𝑃

I Trust My Zombies | Blackhat Europe 2017 17

Oops!

Oops!

Page 18: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Experiments: setup

• Simulation environment Botnet Simulation Framework (BSF) based on OMNeT++

• 5500 benign nodes Churn

• 1/10/50 sensors Permanently online

Cooperation among sensors

• Simulation time: 7 days

• 16 simulations per experiment

I Trust My Zombies | Blackhat Europe 2017 18

Page 19: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Experiments: Results – single-sensor

<97%

I Trust My Zombies | Blackhat Europe 2017 19

Maximum

Popularity

Page 20: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Experiments: Results – multi-sensor (10)

I Trust My Zombies | Blackhat Europe 2017 20

Maximum

Popularity

Page 21: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Accu

mu

late

dP

op

ula

rity

Experiments: Results – colluding sensors

comparison by number of sensors (BetaDistribution(3,3))

I Trust My Zombies | Blackhat Europe 2017 21

Population

Page 22: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Demo

Page 23: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

Conclusion

• The cat and mouse game will always benefit the mouseInfinite ways to improve botnets

Cannot predict them all

• Monitoring P2P Botnets might become infeasible (soon)We have shown how to decrease sensor effectiveness

by up to 97%

• The war is still not lost: collaboration might be the key Colluding sensors can provide an answer

I Trust My Zombies | Blackhat Europe 2017 23

Page 24: I Trust My Zombies: A Trust-Enabled Botnet - Black Hat · PDF fileI Trust My Zombies: A Trust-Enabled Botnet. ... C 2.3.4.5 2017-10-05 ... based on OMNeT++ • 5500 benign nodes Churn

04.12.2017 | SPIN | TK Lab | CYSEC – Cybersecurity [at] TU Darmstadt | 24

Thank you!

Questions?