Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

22
Accountability Aditya Akella

Transcript of Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Page 1: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Accountability

Aditya Akella

Page 2: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Outline

• Accountable Virtual Machines• Accountability in and via SDN

Page 3: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

AVM Scenario: Multiplayer game

• Alice decides to play a game of Counterstrike with Bob and Charlie

3

Alice Bob

Charlie

Network

I'd like to play a game

Page 4: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

What Alice sees

Movie

4Alice

Page 5: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Could Bob be cheating?

• In Counterstrike, ammunition is local state– Bob can manipulate counter and prevent it from decrementing– Such cheats (and many others) do exist, and are being used

5

Charlie

Network

Alice Bob

Ammo

353637

Page 6: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

• Cheating is a serious problem in itself– Multi-billion-dollar industry

• A more general problem:– Alice relies on software that runs on a third-party machine– Examples: Competitive system (auction), federated system...– How does Alice know if the software running as intended?

6

NetworkAlice Bob

Software

Page 7: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Goal: Accountability

• We want Alice to be able to– Detect when the remote machine is faulty– Obtain evidence of the fault that would convince a third party

• Challenges:– Alice and Bob may not trust each other

• Possibility of intentional misbehavior (example: cheating)

– Neither Alice nor Bob may understand how the software works• Binary only - no specification of the correct behavior

7

NetworkAlice Bob

Software

Page 8: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

• Bob runs Alice's software image in an AVM– AVM maintains a log of network in-/outputs

• Alice can check this log with a reference image– AVM correct: Reference image can produce same network

outputs when started in same state and given same inputs– AVM faulty: Otherwise

8

Network

Alice Bob

Virtualmachineimage

AVMM

AVM

AccountableVirtual Machine(AVM)

AccountableVirtual Machine Monitor (AVMM)

Log

What if Bob manipulates

the log?

Alice must trust her own

reference imageHow can Alice find this execution, if it exists?

Page 9: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Firing

Tamper-evident logging

• Message log is tamper-evident [SOSP'07]– Log is structured as a hash chain– Messages contain signed authenticators

• Result: Alice can either...– ... detect that the log has been tampered with, or– ... get a complete log with all the observable messages

9

473: SEND(Charlie, Got ammo)

472: RECV(Alice, Got medipack)

471: SEND(Charlie, Moving left)

...

474: SEND(Alice, Firing)

Moving right

AVMM

AVM

Page 10: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Execution logging

• How does Alice know whether the log matches a correct execution of her software image?

• Idea: AVMM can specify an execution– AVMM additionally logs all nondeterministic inputs– AVM correct: Can replay inputs to get execution– AVM faulty: Replay inevitably (!) fails

10

474: SEND(Alice, Firing)

473: SEND(Charlie, Got ammo)

472: RECV(Alice, Got medipack)

471: SEND(Charlie, Moving left)

...

AVMM

AVM 474: SEND(Alice, Firing)473: Mouse button clicked472: SEND(Charlie, Got ammo)471: RECV(Alice, Got medipack)470: Got network interrupt469: SEND(Charlie, Moving left)

Page 11: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Auditing and replay

11

Network

Alice Bob

AVMM

AVM

AVMM

AVM

...

371: SEND(Alice, Firing)370: SEND(Alice, Firing)369: SEND(Alice, Firing)368: Mouse button clicked367: SEND(Alice, Got medipack)366: Mouse moved left

ModificationEvidence

371: SEND(Alice, Firing)370: SEND(Alice, Firing)369: SEND(Alice, Firing)368: Mouse button clicked367: SEND(Alice, Got medipack)366: Mouse moved left

372: SEND(Alice, Firing)373: SEND(Alice, Firing)

Page 12: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

AVM properties• Strong accountability

– Detects faults– Produces evidence– No false positives

• Works for arbitrary, unmodified binaries– Nondeterministic events can be captured by AVM Monitor

• Alice does not have to trust Bob, the AVMM, or any software that runs on Bob's machine– If Bob tampers with the log, Alice can detect this– If Bob's AVM is faulty, ANY log Bob could produce would

inevitably cause a divergence during replay12

If it runs in a VM, it will

work

Page 13: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

AVM Offers…

• Accountability: ensuring code is executed as expected

• But does not offer:– Isolation/Confidentiality– Debugging

• Other issues with AVM?– Buy the multi-party story?– Scalability?

Page 14: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Relevance to SDN/SD*

• Can SDN enable better AVM-driven accountability? (e.g., better scalability?)

• Accountability in SDNs– What does it mean? – Does SDN make enforcing accountability easier

than traditional networks?– How to implement? Can ideas from AVM help?

• Software-defined accountability?

Page 15: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Backup slides

Page 16: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Evaluation Methodology

• We built a prototype AVMM– Based on logging/replay engine in VMware

Workstation 6.5.1 – Extended with tamper-evident logging and auditing

• Evaluation: Cheat detection in games– Setup models competition / LAN party– Three players playing Counterstrike 1.6– Nehalem machines (i7 860)– Windows XP SP3

16

Page 17: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Evaluation topics

• Effectiveness against real cheats• Overhead

– Disk space (for the log)– Time (auditing, replay)– Network bandwidth (for authenticators)– Computation (signatures)– Latency (signatures)

• Impact on game performance• Online auditing• Spot checking tradeoffs

– Using a different application: MySQL on Linux

17

Please refer tothe paper foradditional results!

Page 18: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

AVMs can detect real cheats

• If the cheat needs to be installed in the AVM to be effective, AVM can trivially detect it– Reason: Event timing + control flow change– Examined real 26 cheats from the Internet; all detectable

18

98: RECV(Alice, Missed)97: SEND(Alice, Fire@(3,9))96: Mouse button clicked95: Interrupt received94: RECV(Alice, Jumping)...

BC=53BC=52BC=47BC=44BC=37...

Bob's log

EIP=0xb382EIP=0x3633EIP=0xc490EIP=0x6771EIP=0x570f...

Event timing (for replay)

AVMM

AVMBC=59

BC=54BC=49BC=44BC=37...

EIP=0x861eEIP=0x2d16EIP=0xc43eEIP=0x6771EIP=0x570f...

97: SEND(Alice, Fire@(2,7))98: RECV(Alice, Hit)

Page 19: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

96: RECV(Alice, Missed)95: SEND(Alice, Fire@(3,9))94: Mouse button clicked93: Interrupt received92: RECV(Alice, Jumping)...

BC=53BC=52BC=47BC=44BC=37...

EIP=0xb382EIP=0x3633EIP=0xc490EIP=0x6771EIP=0x570f...

99: RECV(Alice, Hit)98: SEND(Alice, Fire@(2,7))97: Mouse button clicked96: Mouse move right 1 inch

94: Mouse move up 1 inch

92: RECV(Alice, Jumping)...

BC=BC=BC=BC=

BC= BC=...

EIP=EIP=EIP=EIP=

EIP= EIP=...

AVMs can detect real cheats

• Couldn't cheaters adapt their cheats?• There are three types of cheats:

1. Detection impossible (Example: Collusion)2. Detection not guaranteed, but evasion technically difficult3. Detection guaranteed (15% of the cheats in our sample)

19

AVMM

AVM

?

??

??

?

??

??

?

Page 20: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Impact on frame rate

• Frame rate is ~13% lower than on bare hw– 137fps is still a lot! 60--80fps generally recommended– 11% due to logging; additional cost for accountability is small

20

200

150

100

50

0

Aver

age

fram

e ra

te

Barehardware

VMware(no logging)

VMware(logging)

AVMM(no crypto)

AVMM

158fps-13%

Different machines with different players

-11%

No fps capWindow mode800x600Softw. rendering

Page 21: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Cost of auditing

• When auditing a player after a one-hour game,– How big is the log we have to download?– How much time is needed for replay?

21

VMware AVMM

Aver

age

log

grow

th (M

B/m

inut

e)

12

10

8

6

4

2

0

~8 MBper minute2.47 MB

per minute(compressed)

148 MB

Added byaccountability

~ 1 hour

Page 22: Accountability Aditya Akella. Outline Accountable Virtual Machines Accountability in and via SDN.

Online auditing

• Idea: Stream logs to auditors during the game– Result: Detection within seconds after fault occurs– Replay can utilize unused cores; frame rate penalty is low

22

200

150

100

50

0

Aver

age

fram

e ra

te

No onlineauditing

One auditper player

Two auditsper player

Alice

Bob Charlie

Gam

e

Logg

ing

Repl

ay

Repl

ay