crash safe
play

CRASH/SAFE Benjamin C. Pierce March 11, 2011 Present-day - PowerPoint PPT Presentation

CRASH/SAFE Benjamin C. Pierce March 11, 2011 Present-day compuCng plaForms are distressingly insecure! One culprit: legacy requirements complex instrucCon


  1. CRASH/SAFE ¡ Benjamin ¡C. ¡Pierce ¡ March ¡11, ¡2011 ¡

  2. Present-­‑day ¡compuCng ¡plaForms ¡ ¡ are ¡distressingly ¡insecure! ¡

  3. One ¡culprit: ¡legacy ¡requirements ¡ complex ¡instrucCon ¡sets ¡ complex, ¡monolithic ¡operaCng ¡systems ¡ insecure, ¡low-­‑level ¡programming ¡languages ¡ Patch? ¡ Reboot! ¡

  4. CRASH ¡ Clean-­‑Slate ¡Design ¡ ¡ of ¡Resilient, ¡AdapCve, ¡Secure ¡Hosts ¡

  5. SAFE ¡Team ¡ Consul-ng ¡ André ¡DeHon ¡ Tom ¡Knight ¡ Bryan ¡Loyall ¡ Greg ¡Sullivan ¡ University ¡of ¡Pennsylvania ¡ Northeastern ¡ BAE ¡Systems ¡ Howard ¡Reubenstein ¡ Benjamin ¡Pierce ¡ Olin ¡Shivers ¡ Basil ¡Krikeles ¡ Harvard ¡ Jothy ¡Rosenberg ¡ Jonathan ¡Smith ¡ Greg ¡Morrise[ ¡ Greg ¡Frazier ¡ Also: ¡Ben ¡Karel, ¡Benoit ¡ Also: ¡Tim ¡Anderson, ¡Chris ¡White, ¡… ¡ Also: ¡Gregory ¡Malecha ¡ Montagu ¡ 5 ¡

  6. Core ¡Principles ¡ ● Fine-grained compartmentalization: supported by hardware, with runtime intents & security interlocks, without compromising performance ● Tagged data for compartmentalization and intent ● Programmable Rulesets ● Hardware Tag Management Unit for complete mediation on cycle-by- cycle basis. Checking performed in parallel to mainline for high performance. ● Radical Co-design for pervasive verification: define clean semantics and omit complicating features to make verification tractable ● Prevention-in-Depth: radical decomposition of systems into mutually suspicious components with separated privileges.

  7. Topic ¡Areas ¡ 1. Tagged ¡Processor ¡Architectures ¡ 2. “Zero-­‑Kernel” ¡OperaCng ¡Systems ¡ 1. Strong ¡compartmentalizaCon ¡ 2. Mutual ¡suspicion ¡ 3. Programming ¡Languages ¡ 1. Tempest ¡– ¡low-­‑level ¡systems ¡programming ¡(C-­‑like) ¡ 2. Breeze ¡– ¡high-­‑level ¡applicaCons ¡programming ¡(ML/ Haskell-­‑like) ¡ ¡ 4. System-­‑wide ¡applicaCon ¡of ¡Formal ¡Methods ¡ 1. Design ¡for ¡verifiability ¡

  8. HARDWARE ¡

  9. • Process ¡tags ¡in ¡parallel ¡with ¡ datapath ¡ – No ¡impact ¡on ¡cycle ¡Cme ¡ • Leverage ¡exisCng ¡ speculaCon/in-­‑order ¡ excepCon ¡and ¡reCrement ¡ hardware ¡ • Implement ¡with ¡fast, ¡small ¡ Tag ¡Management ¡Unit ¡ – Similar ¡in ¡size/complexity ¡to ¡ TLB ¡ 11/2/2010 ¡ CRASH ¡SAFE ¡ 10 ¡

  10. A ¡taste ¡of ¡ µ Breeze ¡

  11. µ Breeze ¡overview ¡ • Straw-­‑man ¡design ¡– ¡just ¡to ¡gain ¡experience ¡ • An ¡untyped, ¡CBV ¡lambda-­‑calculus ¡with ¡ – informaCon-­‑flow ¡tracking ¡ a ¡la ¡JIF/JFlow ¡ • every ¡value ¡is ¡tagged ¡with ¡a ¡ label ¡specifying ¡who ¡may ¡ read ¡(eliminate) ¡it ¡ – communicaCon ¡channels ¡(elided ¡for ¡today) ¡and ¡ threads ¡(soon) ¡

  12. Syntax ¡

  13. EvaluaCon ¡ current ¡PC ¡label ¡ current ¡environment ¡ (binding ¡variables ¡to ¡ result ¡ current ¡authority ¡ their ¡values) ¡ (atom ¡= ¡value+label) ¡ current ¡store ¡ new ¡store ¡ expression ¡being ¡evaluated ¡

  14. Labels ¡ confiden+ality ¡part ¡ integrity ¡part ¡ [E: ¡{Benjamin: ¡Simon, ¡Steve}, ¡I: ¡…] ¡ ¡ owner ¡ readers ¡

  15. Labels ¡ Decentralized ¡Label ¡Model ¡ (Liskov/Myers) ¡ MulCple ¡owners, ¡ each ¡asserCng ¡a ¡constraint ¡on ¡who ¡may ¡read ¡ owner ¡ readers ¡ [E: ¡{Benjamin: ¡Simon, ¡Steve; ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Stephanie: ¡Simon, ¡John, ¡Mary}, ¡I: ¡…] ¡ ¡ owner ¡ readers ¡

  16. Authority ¡

  17. Values ¡and ¡Atoms ¡

  18. EvaluaCon ¡

  19. EvaluaCon ¡

  20. Example ¡ val bool = � auth BOOL in � let label private = � [ E: BOOL:BOOL | * & I: * : {} ] in � let label public = � [ E: * : * & I: * : {} ] in � { true = (\t f. t) \/ private � ; false = (\t f. f) \/ private � ; ifthen = (\b t f. � let label L = � [ E: BOOL : * | {} & I: * : * ] � in (b t f) /\ L) � \/ public � } \/ public � � �

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