trusted system elements and examples
play

Trusted System Elements and Examples CS461/ECE422 Spring - PowerPoint PPT Presentation

Trusted System Elements and Examples CS461/ECE422 Spring 2012 Reading Material Chapter 10 in the text. Sec@ons 3, 4, and 5 Intel Architectures


  1. Trusted ¡System ¡Elements ¡and ¡ Examples ¡ CS461/ECE422 ¡ Spring ¡2012 ¡

  2. Reading ¡Material ¡ • Chapter ¡10 ¡in ¡the ¡text. ¡ ¡Sec@ons ¡3, ¡4, ¡and ¡5 ¡ • Intel ¡Architectures ¡SoGware ¡Developer ¡Manuals ¡ – hKp://www.intel.com/content/www/us/en/ processors/architectures-­‑soGware-­‑developer-­‑ manuals.html ¡ • TCG ¡Specifica@on ¡Architecture ¡Overview ¡ Specifica@on ¡ – hKp://www.trustedcompu@nggroup.org/resources/ tcg_architecture_overview_version_14 ¡ – More ¡details ¡on ¡TPM ¡

  3. What ¡is ¡a ¡Trusted ¡Computer ¡System? ¡ • A ¡system ¡that ¡employs ¡sufficient ¡hardware ¡ and ¡soGware ¡assurance ¡mechanisms ¡to ¡allow ¡ its ¡use ¡for ¡simultaneous ¡processing ¡of ¡a ¡range ¡ of ¡sensi@ve ¡or ¡classified ¡informa@on. ¡ • Implements ¡strong ¡security ¡mechanisms ¡ – Effec@ve ¡ – Expressible ¡ • High ¡assurance ¡implementa@on ¡ – Proof ¡that ¡the ¡system ¡works ¡as ¡adver@sed. ¡

  4. Reference ¡Monitor ¡ • Regulates ¡access ¡of ¡subjects ¡to ¡objects ¡ – Access ¡policy ¡in ¡Security ¡Kernel ¡Database ¡ • Must ¡provide: ¡ – Complete ¡media@on ¡ – Isola@on ¡– ¡no ¡unauthorized ¡modifica@on ¡ – Verifiability ¡– ¡prove ¡correctness ¡of ¡ implementa@on ¡

  5. Reference ¡Monitor ¡ Audit ¡ File ¡ Subject ¡ Subject ¡ Reference ¡ Subject ¡ Object ¡ Monitor ¡ Object ¡ Object ¡ Security ¡kernel ¡db ¡ Subject: ¡security ¡ clearance ¡ Object: ¡security ¡ classifica@on ¡

  6. Trusted ¡Compu@ng ¡Base ¡(TCB) ¡ • TCB ¡contains ¡elements ¡of ¡hardware ¡and ¡ soGware ¡that ¡enforce ¡security ¡ – Reference ¡Monitor ¡ – SoGware/hardware ¡primi@ves ¡that ¡reference ¡ monitor ¡relies ¡on ¡ • TCB ¡must ¡be ¡tamperproof ¡ • TCB ¡cannot ¡be ¡circumvented ¡

  7. Trojan ¡Horse ¡example ¡ • Thompson ¡Turing ¡award ¡lecture ¡ compile(source) ¡{ ¡ ¡if ¡(match(source, ¡“check_password”)) ¡{ ¡ ¡ ¡ ¡insert(source, ¡A) ¡ ¡ ¡ ¡} ¡ ¡if ¡(match(source, ¡“compile”)) ¡{ ¡ ¡ ¡ ¡insert(source, ¡B); ¡ ¡} ¡ ¡ ¡ ¡... ¡ } ¡

  8. Memory ¡Protec@on ¡Rings ¡ • Originally ¡in ¡ Mul@cs ¡ • In ¡Intel ¡arch ¡ since ¡x386 ¡

  9. Privilege ¡Levels ¡ • CPU ¡enforces ¡constraints ¡on ¡memory ¡access ¡and ¡ changes ¡of ¡control ¡between ¡different ¡privilege ¡levels ¡ • Similar ¡in ¡spirit ¡to ¡Bell-­‑LaPadula ¡access ¡control ¡ restric@ons ¡ • Hardware ¡enforcement ¡of ¡division ¡between ¡user ¡ mode ¡and ¡kernel ¡mode ¡in ¡opera@ng ¡systems ¡ – Simple ¡malicious ¡code ¡cannot ¡jump ¡into ¡kernel ¡space ¡

  10. Data ¡Access ¡Rules ¡ • Access ¡allowed ¡if ¡ – CPL ¡<= ¡DPL ¡and ¡RPL ¡<= ¡DPL ¡

  11. Data ¡Access ¡Rules ¡ • Three ¡players ¡ – Code ¡segment ¡has ¡a ¡current ¡privilege ¡level ¡CPL ¡ – Operand ¡segment ¡selector ¡has ¡a ¡requested ¡privilege ¡level ¡ RPL ¡ – Data ¡Segment ¡Descriptor ¡for ¡each ¡memory ¡includes ¡a ¡data ¡ privilege ¡level ¡DPL ¡ • Segment ¡is ¡loaded ¡if ¡CPL ¡<= ¡DPL ¡and ¡RPL ¡<= ¡DPL ¡ ¡ – i.e. ¡both ¡CPL ¡and ¡RPL ¡are ¡from ¡more ¡privileged ¡rings ¡

  12. Data ¡Access ¡Examples ¡

  13. Calling ¡Through ¡Gates ¡ DLP

  14. Call ¡Gate ¡Access ¡Rules ¡ • For ¡Call ¡ – CPL ¡<= ¡CG ¡DPL ¡ – RPL ¡<= ¡CG ¡DPL ¡ – Dst ¡CS ¡DPL ¡<= ¡CPL ¡ • Same ¡for ¡JMP ¡but ¡ – Dst ¡CS ¡DPL ¡== ¡CPL ¡

  15. Call ¡Gate ¡Examples ¡

  16. Stack ¡Switching ¡ • Automa@cally ¡performed ¡when ¡calling ¡more ¡ privileged ¡code ¡ – Prevents ¡less ¡privileged ¡code ¡from ¡passing ¡in ¡short ¡ stack ¡and ¡crashing ¡more ¡privileged ¡code ¡ – Each ¡task ¡has ¡a ¡stack ¡defined ¡for ¡each ¡privilege ¡ level ¡

  17. Hardware ¡Rings ¡ • Only ¡most ¡basic ¡features ¡generally ¡used ¡ – 2 ¡rings ¡ – Installed ¡base ¡ • Time ¡to ¡adop@on ¡ – Must ¡wait ¡for ¡widespread ¡system ¡code, ¡e.g. ¡ Windows ¡NT ¡

  18. Limi@ng ¡Memory ¡Access ¡Type ¡ • The ¡Pen@um ¡architecture ¡supports ¡making ¡pages ¡ read/only ¡versus ¡read/write ¡ • A ¡more ¡recent ¡development ¡is ¡the ¡Execute ¡Disable ¡ Bit ¡(XD-­‑bit) ¡ – Added ¡in ¡2001 ¡ – Supported ¡by ¡Windows ¡XP ¡SP2 ¡ • Similar ¡func@onality ¡in ¡AMD ¡Altheon ¡64 ¡ – Called ¡No ¡Execute ¡bit ¡(NX-­‑bit) ¡

  19. Trusted ¡Compu@ng ¡Group ¡ • Consor@um ¡developing ¡standards ¡for ¡computer ¡ architectures ¡using ¡secure ¡co-­‑processors ¡ – Called ¡the ¡Trusted ¡Plarorm ¡Module ¡(TPM) ¡ – hKp://trustedcompu@nggroup.org ¡ • Numerous ¡computers ¡(par@cularly ¡laptops) ¡already ¡ ship ¡with ¡TPM’s ¡ – Windows ¡7 ¡uses ¡TPM ¡for ¡bitlocker. ¡ ¡Secure ¡boo@ng? ¡ – Many ¡vendors ¡targe@ng ¡specific ¡enterprises ¡like ¡Health ¡ Care ¡that ¡are ¡par@cularly ¡concerned ¡with ¡privacy ¡(due ¡to ¡ HIPAA) ¡

  20. TPM ¡Basics ¡ • TPM ¡stores ¡a ¡number ¡of ¡key ¡pairs ¡ – Private ¡Endorsement ¡Key ¡(EK) ¡encoded ¡at ¡@me ¡of ¡ manufacturing ¡ – Manufacturer ¡signs ¡Endorsement ¡cer@ficate. ¡ • TPM ¡has ¡some ¡protected ¡storage ¡ – Plarorm ¡Configura@on ¡Registers ¡(PCRs) ¡ • TPM ¡can ¡be ¡used ¡to ¡boot ¡strap ¡security ¡locally ¡ • TPM ¡can ¡respond ¡to ¡remote ¡requests ¡for ¡system ¡ data ¡ – E.g. ¡what ¡version ¡of ¡libraries ¡is ¡the ¡system ¡running ¡

  21. TPM ¡Layout ¡

  22. Root ¡of ¡Trust ¡for ¡Storage ¡(RTS) ¡

  23. TPM ¡Protected ¡Message ¡Exchanges ¡ • Binding ¡– ¡Encryp@ng ¡using ¡public ¡key ¡ – If ¡using ¡non-­‑migratable ¡key ¡value ¡is ¡bound ¡to ¡TPM ¡ • Signing ¡– ¡Using ¡the ¡private ¡key ¡ – Some ¡keys ¡are ¡indicated ¡as ¡signing ¡only ¡keys ¡ • Sealing ¡– ¡Binding ¡a ¡message ¡with ¡set ¡of ¡plarorm ¡ metrics ¡(expressed ¡in ¡PCRs) ¡ – So ¡can ¡only ¡unseal ¡values ¡when ¡the ¡plarorm ¡metrics ¡ match ¡ • Sealed-­‑signing ¡– ¡Have ¡a ¡signature ¡also ¡be ¡con@ngent ¡ on ¡PCR ¡values ¡ ¡

  24. TPM ¡Supported ¡Disk ¡Encryp@on ¡ • Used ¡by ¡Bitlocker ¡in ¡Windows ¡7 ¡ – hKp://windows.microsoG.com/en-­‑US/windows-­‑vista/ BitLocker-­‑Drive-­‑Encryp@on-­‑Overview ¡ • TPM ¡creates ¡a ¡symmetric ¡key ¡ – Seals ¡key ¡ – Will ¡only ¡unseal ¡key ¡if ¡the ¡specified ¡system ¡ components ¡match ¡the ¡values ¡sealed ¡with ¡the ¡key ¡ • Moving ¡disk ¡to ¡another ¡system ¡will ¡fail ¡ – Key ¡can ¡only ¡be ¡decrypted ¡by ¡TPM ¡on ¡original ¡system ¡

  25. TPM ¡Architecture ¡Overview ¡

  26. AKesta@on ¡in ¡Boo@ng ¡ • TPM ¡leverages ¡trusted ¡building ¡blocks ¡(as ¡ shown ¡in ¡bold ¡in ¡previous ¡diagram) ¡ – CRTM ¡== ¡Core ¡root ¡of ¡trust ¡for ¡measurement ¡ • TPM ¡signs ¡system ¡state ¡using ¡an ¡AKesta@on ¡ Iden@ty ¡Key ¡(AIK) ¡ • CRTM ¡verifies ¡integrity ¡of ¡next ¡level ¡boot ¡code ¡ before ¡proceeding ¡ – Induc@vely ¡each ¡level ¡verifies ¡the ¡next ¡higher ¡level ¡

  27. Transi@ve ¡Trust ¡

  28. Cer@fica@on ¡Services ¡ • Measurement ¡values ¡ – Representa@on ¡of ¡data ¡or ¡program ¡code ¡ – Can ¡be ¡stored ¡anywhere ¡ • Measurement ¡digests ¡ – Hash ¡of ¡the ¡measurement ¡values ¡ – Stored ¡in ¡the ¡TPM ¡ – Fixed ¡number ¡of ¡Plarorm ¡Configura@on ¡Registers ¡(PCRs) ¡

Recommend


More recommend