ti e e ffi cient server audit problem deduplicated re
play

Ti e E ffi cient Server Audit Problem, Deduplicated Re-execution, - PowerPoint PPT Presentation

Ti e E ffi cient Server Audit Problem, Deduplicated Re-execution, and the Web Cheng Tan, Lingfan Yu, Joshua B. Leners*, and Michael Wal fj sh NYU Department of Computer Science, Courant Institute *Two Sigma Investments company Amazon Web


  1. Ti e E ffi cient Server Audit Problem, Deduplicated Re-execution, and the Web Cheng Tan, Lingfan Yu, Joshua B. Leners*, and Michael Wal fj sh NYU Department of Computer Science, Courant Institute *Two Sigma Investments

  2. company Amazon Web Services wiki PHP Alice employee employee

  3. company Amazon Web Services Alice wiki PHP database request PHP runtime employee response web server employee OS hypervisor hardware

  4. company Amazon Web Services Alice wiki PHP database request PHP runtime employee response web server employee OS hypervisor hardware • Alice has con fj dence in the wiki's PHP code

  5. company Amazon Web Services Alice wiki PHP database request PHP runtime employee response web server employee OS hypervisor hardware • Alice has con fj dence in the wiki's PHP code • Still, lots of things can go wrong ...

  6. company Amazon Web Services Alice kiwi PHP wiki PHP database request PHP runtime employee response web server employee OS hypervisor hardware • Alice has con fj dence in the wiki's PHP code • Still, lots of things can go wrong ...

  7. company Amazon Web Services Alice wiki PHP database request PHP runtime PCP runtime employee response web server employee OS hypervisor hardware • Alice has con fj dence in the wiki's PHP code • Still, lots of things can go wrong ...

  8. company Amazon Web Services Alice wiki PHP database request PHP runtime employee response web server employee OS OS OS hypervisor hypervisor hardware • Alice has con fj dence in the wiki's PHP code • Still, lots of things can go wrong ...

  9. company Amazon Web Services Alice wiki PHP database request PHP runtime employee response web server web server employee OS hypervisor hardware • Alice has con fj dence in the wiki's PHP code • Still, lots of things can go wrong ...

  10. company Amazon Web Services Alice kiwi PHP wiki PHP database request PHP runtime PCP runtime employee response web server web server employee OS OS OS hypervisor hypervisor hardware • Alice has con fj dence in the wiki's PHP code • Still, lots of things can go wrong ...

  11. company Amazon Web Services Alice kiwi PHP wiki PHP database request PHP runtime PCP runtime employee response web server web server employee OS OS OS hypervisor hypervisor hardware • Alice has con fj dence in the wiki's PHP code • Still, lots of things can go wrong ...

  12. company Amazon Web Services Alice kiwi PHP wiki PHP database request PHP runtime PCP runtime employee response web server web server employee OS OS OS hypervisor hypervisor hardware • Alice has con fj dence in the wiki's PHP code • Still, lots of things can go wrong ... • Ti us, Alice wants to audit the delivered responses – Are they derived from executing the actual application?

  13. Ti e E ffi cient Server Audit Problem server program

  14. Ti e E ffi cient Server Audit Problem online phase server requests program clients responses

  15. Ti e E ffi cient Server Audit Problem online phase server requests program clients responses 1. server is untrusted; can respond arbitrarily 2. server is concurrent

  16. Ti e E ffi cient Server Audit Problem online phase trace server collector requests program clients responses trace 1. server is untrusted; can respond arbitrarily 2. server is concurrent

  17. company Amazon Web Services wiki PHP Alice kiwi PHP wiki PHP database request PHP runtime PCP runtime employee response web server web server employee OS OS OS trace hypervisor hypervisor collector hardware

  18. Ti e E ffi cient Server Audit Problem online phase audit phase trace server collector verifier requests program clients responses trace 1. server is untrusted; can respond arbitrarily 2. server is concurrent

  19. Ti e E ffi cient Server Audit Problem online phase audit phase trace server collector verifier requests program requests program + clients ? responses = responses trace 1. server is untrusted; can respond arbitrarily 2. server is concurrent

  20. Ti e E ffi cient Server Audit Problem online phase audit phase trace server collector verifier requests program requests program + clients ? responses = responses trace 1. server is untrusted; can respond arbitrarily 2. server is concurrent 3. veri fj er is weaker than server 4. server overhead is low; legacy applications supported

  21. 1. server is untrusted… 2. server is concurrent Ti e E ffi cient Server Audit Problem 3. veri fj er is weaker than server 4. server overhead is low... online phase audit phase trace server collector verifier requests program requests program + clients ? responses = responses trace

  22. 1. server is untrusted… 1. server is untrusted… 2. server is concurrent 2. server is concurrent Ti e E ffi cient Server Audit Problem 3. veri fj er is weaker than server 3. veri fj er is weaker than server 4. server overhead is low... 4. server overhead is low... online phase audit phase trace server collector verifier requests program requests program + clients ? responses = responses trace • Combination of these four is a new problem. • Execution integrity is complementary to program veri fj cation.

  23. 1. server is untrusted… 2. server is concurrent What about naive re-execution? 3. veri fj er is weaker than server 4. server overhead is low... online phase audit phase trace server verifier collector requests program clients responses trace

  24. 1. server is untrusted… 2. server is concurrent What about naive re-execution? 3. veri fj er is weaker than server 4. server overhead is low... online phase audit phase trace server verifier collector requests program clients responses delivered responses trace ? = produced responses

  25. ✔ 1. server is untrusted… ✔ 2. server is concurrent What about naive re-execution? ❌ 3. v 3. veri eri fj fj er is weaker than server er is weaker than server ✔ 4. server overhead is low... online phase audit phase trace server verifier collector requests program clients responses delivered responses trace ? = produced responses • Ti is does not save the veri fj er work.

  26. ✔ ❓ 1. server is untrusted… 1. server is untrusted… 1. server is untrusted… ✔ ❓ 2. server is concurrent 2. server is concurrent 2. server is concurrent What about naive re-execution? ✔ ❌ 3. veri fj er is weaker than server 3. veri 3. veri fj er is weaker than server 3. v eri fj fj er is weaker than server er is weaker than server ❓ ✔ 4. server overhead is low... 4. server overhead is low... 4. server overhead is low... online phase audit phase trace server verifier collector requests program clients responses delivered responses trace ? = produced responses • Ti is does not save the veri fj er work. • Instead, we will accelerate re-execution.

  27. Rest of the talk 1. How does the veri fj er accelerate re-execution? (these two are in tension) 2. Why are shared objects (such as DBs) challenging? 3. Does our implementation for PHP perform well?

  28. Rest of the talk 1. How does the veri fj er accelerate re-execution? 1. How does the veri fj er accelerate re-execution? 2. Why are shared objects (such as DBs) challenging? 3. Does our implementation for PHP perform well?

  29. Accelerating re-execution: a 30,000-foot view server (online) verifier (offline) advice • Deduplicate computation across requests

  30. Poirot’s observation: repeated computation T. Kim, R. Chandra, and N. Zeldovich. Efficient patch-based audi>ng for web applica>ons. OSDI , 2012

  31. Poirot’s observation: repeated computation T. Kim, R. Chandra, and N. Zeldovich. Efficient patch-based audi>ng for web applica>ons. OSDI , 2012

  32. Poirot’s observation: repeated computation req i “My paper” req j “Another paper” T. Kim, R. Chandra, and N. Zeldovich. Efficient patch-based audi>ng for web applica>ons. OSDI , 2012

  33. Poirot’s observation: repeated computation req i “My paper” requires trusting the requires trusting the req j advice advice “Another paper” T. Kim, R. Chandra, and N. Zeldovich. Efficient patch-based audi>ng for web applica>ons. OSDI , 2012

  34. We accelerate re-execution without trusting the server server (online) verifier (offline) C : tag → {set of reqs} for each tag: – execute C (tag) with SIMD-on-demand – conduct unanimity checks

  35. We accelerate re-execution without trusting the server server (online) verifier (offline) C : tag → {set of reqs} for each tag: – execute C (tag) with SIMD-on-demand – conduct unanimity checks SIMD-on-demand re-executes identical instructions once. server verifier req i req i +req j req j

  36. SIMD-on-demand eliminates redundant computation main(a,b): req i: a=1;b=2 c ← a * b req j: a=2;b=1 c ← c + 1

  37. SIMD-on-demand eliminates redundant computation main(a,b): req i: a=1;b=2 c ← a * b req j: a=2;b=1 c ← c + 1 a=[1,2] * b=[2,1] c=[2,2] req i +req j +1 * • Multi-value represents di ff erent values of the same variable.

Recommend


More recommend