eliminating cache based timing attacks with instruction
play

Eliminating cache-based timing attacks with instruction-based - PowerPoint PPT Presentation

Eliminating cache-based timing attacks with instruction-based scheduling Deian Stefan , Pablo Buiras, Edward Z. Yang, Amit Levy, David Terei, Alejandro Russo, and David Mazires Motivation: IFC Web platforms Platforms allow 3rd-party developers


  1. Eliminating cache-based timing attacks with instruction-based scheduling Deian Stefan , Pablo Buiras, Edward Z. Yang, Amit Levy, David Terei, Alejandro Russo, and David Mazières

  2. Motivation: IFC Web platforms Platforms allow 3rd-party developers to build apps that use our personal data ➤ Extend the websites beyond original intent!

  3. Motivation: IFC Web platforms Platforms allow 3rd-party developers to build apps that use our personal data ^and sometimes leak ➤ Extend the websites beyond original intent!

  4. Motivation: IFC Web platforms editor ... Challenge: can we ensure address photo apps don’t leak data? book Current approach: DAC Platform ➤ Restrict what data app can access Cannot guarantee what app does with data

  5. Motivation: IFC Web platforms editor ... Challenge: can we ensure address photo apps don’t leak data? book Current approach: DAC Platform ✗ ➤ Restrict what data app can access Cannot guarantee what app does with data

  6. Motivation: IFC Web platforms editor ... Challenge: can we ensure address photo apps don’t leak data? book Current approach: DAC Platform ➤ Restrict what data app can access Cannot guarantee what app does with data

  7. Motivation: IFC Web platforms editor ... Challenge: can we ensure address photo apps don’t leak data? book Current approach: DAC Platform ➤ Restrict what data app can access Cannot guarantee what app does with data

  8. Motivation: IFC Web platforms editor ... Challenge: can we ensure address photo apps don’t leak data? book Current approach: DAC Platform ➤ Restrict what data app can access ✦ All your contacts Cannot guarantee what app does with data

  9. Motivation: IFC Web platforms editor ... Challenge: can we ensure address photo apps don’t leak data? book Name: Joe Smith Nick: Small J Occupation: N/A Current approach: DAC Platform ➤ Restrict what data app can access ✦ All your contacts Cannot guarantee what app does with data

  10. Motivation: IFC Web platforms Name: Jullian Assange Nick: Big J Occupation: make U.S. gov unhappy editor ... Challenge: can we ensure address photo apps don’t leak data? book Name: Joe Smith Nick: Small J Occupation: N/A Current approach: DAC Platform ➤ Restrict what data app can access ✦ All your contacts Cannot guarantee what app does with data

  11. Motivation: IFC Web platforms Name: Jullian Assange Nick: Big J Occupation: make U.S. gov unhappy editor ... Challenge: can we ensure address photo apps don’t leak data? book Name: Joe Smith Nick: Small J Occupation: N/A Current approach: DAC Platform ➤ Restrict what data app can access ✦ All your contacts Cannot guarantee what app does with data

  12. Motivation: IFC Web platforms Solution: Information flow editor ... control Web platform: Hails address photo book Hails IFC enforcement: Hails platform ➤ Restrict what data app can access with clearance ➤ Restrict who app can communicate with depending on data it reads

  13. Motivation: IFC Web platforms Solution: Information flow editor ... control Web platform: Hails address photo book Hails IFC enforcement: Hails platform ➤ Restrict what data app can access with clearance IFC: Can app read sensitive ➤ Restrict who app can data from the database? communicate with depending on data it reads

  14. Motivation: IFC Web platforms Solution: Information flow editor ... control Web platform: Hails address photo book Name: Joe Smith Nick: Small J Occupation: N/A Hails IFC enforcement: Hails platform ➤ Restrict what data app can access with clearance IFC: Can app read sensitive ➤ Restrict who app can data from the database? communicate with depending on data it reads

  15. Motivation: IFC Web platforms Name: Jullian Assange Nick: Big J Occupation: make U.S. gov unhappy Solution: Information flow editor ... control Web platform: Hails address photo book Name: Joe Smith Nick: Small J Occupation: N/A Hails IFC enforcement: Hails platform ➤ Restrict what data app can access with clearance IFC: Can app read sensitive ➤ Restrict who app can data from the database? communicate with depending on data it reads

  16. Motivation: IFC Web platforms Name: Jullian Assange Nick: Big J Occupation: make U.S. gov unhappy Solution: Information flow editor ... control Web platform: Hails address photo book Name: Joe Smith Nick: Small J Occupation: N/A Hails IFC enforcement: Hails platform ➤ Restrict what data app IFC: Can app write can access with clearance sensitive data to nsa.gov? IFC: Can app read sensitive ➤ Restrict who app can data from the database? communicate with depending on data it reads

  17. Motivation: IFC Web platforms Name: Jullian Assange Nick: Big J ✗ Occupation: make U.S. gov unhappy Solution: Information flow editor ... control Web platform: Hails address photo book Name: Joe Smith Nick: Small J Occupation: N/A Hails IFC enforcement: Hails platform ➤ Restrict what data app IFC: Can app write can access with clearance sensitive data to nsa.gov? IFC: Can app read sensitive ➤ Restrict who app can data from the database? communicate with depending on data it reads

  18. Hails Web-platform framework wiki.gitstar.com • Hails is built atop the LIO learnbyhacking.org Hails framework www.gitstar.com ➤ Concurrent, dynamic, Hails framework ≀≀ ≀ LIO IFC system ≀ language-level IFC system Hails framework ≀≀ ≀ LIO IFC system ≀ GHC Haskell Runtime ≀≀ ≀ LIO IFC system ≀ • Hails apps are LIO programs GHC Haskell Runtime GHC Haskell Runtime ➤ Access database, filesystem, network, etc. according to IFC

  19. Challenge: covert channels • Malicious apps will try to leak data through any means, including covert channels ➤ E.g., termination, internal timing, and external timing channels • LIO addresses these channels at the language level Theorem: Termination-sensitive non-interference ➤ Confidentiality and integrity of data is preserved regardless of the timing/termination behavior of threads

  20. Challenge: covert channels • Malicious apps will try to leak data through any means, including covert channels ➤ E.g., termination, internal timing, and external timing channels ✗ • LIO addresses these channels at the language level Theorem: Termination-sensitive non-interference ➤ Confidentiality and integrity of data is preserved regardless of the timing/termination behavior of threads

  21. Reality check Cache Rules Everything Around Me • Not modeling hardware features ➠ theorem only holds for ideal execution machine • Can usually exploit system by leveraging features not captured by model ➤ E.g., finite memory, disk-head location, CPU- bus, translation look-aside buffer, L1-L3 caches Focus: hardware-level caches

  22. Cache-based attack Cache lowArray := fillArray( ) if friend == “Julian Assange” highArray := fillArray( ) Thread A Thread B readArray(lowArray) for 1..3 do skip output output := A 1: 2: output := B

  23. Cache-based attack Cache lowArray := fillArray( ) Run 1 if friend == “Julian Assange” highArray := fillArray( ) Thread A Thread B readArray(lowArray) for 1..3 do skip output 1: 2:

  24. Cache-based attack Cache lowArray := fillArray( ) Run 1 if friend == “Julian Assange” highArray := fillArray( ) Thread A Thread B readArray(lowArray) for 1..3 do skip output 1: 2:

  25. Cache-based attack Cache lowArray := fillArray( ) Run 1 if friend == “Julian Assange” highArray := fillArray( ) Thread A Thread B readArray(lowArray) for 1..3 do skip output 1: A output := A 2:

  26. Cache-based attack Cache lowArray := fillArray( ) Run 1 if friend == “Julian Assange” highArray := fillArray( ) Thread A Thread B readArray(lowArray) for 1..3 do skip output 1: A output := A 2:

  27. Cache-based attack Cache lowArray := fillArray( ) Run 1 if friend == “Julian Assange” highArray := fillArray( ) Thread A Thread B readArray(lowArray) for 1..3 do skip output 1: A output := A 2:

  28. Cache-based attack Cache lowArray := fillArray( ) Run 1 if friend == “Julian Assange” highArray := fillArray( ) Thread A Thread B readArray(lowArray) for 1..3 do skip output 1: B A output := A 2: output := B

  29. Cache-based attack Cache lowArray := fillArray( ) Run 2 if friend == “Julian Assange” highArray := fillArray( ) Thread A Thread B readArray(lowArray) for 1..3 do skip output 1: B A output := A 2:

  30. Cache-based attack Cache lowArray := fillArray( ) Run 2 if friend == “Julian Assange” highArray := fillArray( ) Thread A Thread B readArray(lowArray) for 1..3 do skip output 1: B A output := A 2: B output := B

  31. Cache-based attack Cache lowArray := fillArray( ) Run 2 if friend == “Julian Assange” highArray := fillArray( ) Thread A Thread B readArray(lowArray) for 1..3 do skip output 1: B A output := A 2: A B output := B output := A

  32. Cache-based attack Cache lowArray := fillArray( ) Run 2 if friend == “Julian Assange” highArray := fillArray( ) Thread A Thread B readArray(lowArray) for 1..3 do skip output 1: B A output := A 2: A B output := B Directly encodes / . output := A

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend