side channel and covert channel a1acks on microkernel
play

+ Side Channel and Covert Channel A1acks on Microkernel - PowerPoint PPT Presentation

+ Side Channel and Covert Channel A1acks on Microkernel Architectures WAMOS 2015 Advanced Opera3ng Systems Hochschule RheinMain Alexander Baumgrtner and


  1. + ¡ Side ¡Channel ¡and ¡Covert ¡Channel ¡A1acks ¡on ¡Microkernel ¡Architectures ¡ WAMOS ¡2015 ¡ ¡ Advanced ¡Opera3ng ¡Systems ¡– ¡Hochschule ¡RheinMain ¡ Alexander ¡Baumgärtner ¡and ¡Florian ¡Schneider ¡ 06. ¡August ¡2015 ¡

  2. + ¡ Agenda ¡ 2 ¡ § Introduc3on ¡ § Timing ¡Channels ¡ -­‑ Basic ¡Idea ¡ -­‑ Example ¡Exploits ¡ -­‑ Counter ¡Measurement ¡Strategies ¡ § Storage ¡Channels ¡ -­‑ Basic ¡Idea ¡ -­‑ Fiasco.OC ¡Memory ¡Management ¡ -­‑ Storage ¡Channel ¡ANack ¡on ¡Fiasco.OC ¡ § Conclusion ¡ § Discussion ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡ 06. ¡August ¡2015 ¡

  3. + ¡ Introduc3on ¡ Side ¡Channels ¡and ¡Covert ¡Channels ¡ 3 ¡ 06. ¡August ¡2015 ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡

  4. + ¡ Introduc3on ¡ 4 ¡ à ¡Goal: ¡get ¡secret ¡data ¡ Side ¡Channel ¡ Covert ¡Channel ¡ n use ¡physical ¡data ¡as ¡addi3onal ¡ n “not ¡intended ¡for ¡informa3on ¡ informa3on ¡ transfer ¡at ¡all” ¡ n does ¡not ¡break ¡the ¡program ¡ n on ¡purpose ¡ algorithm ¡ n e.g. ¡manipulate ¡3ming ¡informa3on ¡ n e.g. ¡measure ¡3me ¡from ¡compu3ng ¡ between ¡two ¡processes ¡ opera3ons ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡ 06. ¡August ¡2015 ¡

  5. + ¡ Timing ¡Channels ¡ Basic ¡Idea ¡ 5 ¡ 06. ¡August ¡2015 ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡

  6. + ¡ Timing ¡Channels ¡ 6 ¡ Basic ¡Idea ¡ n use ¡3ming ¡informa3on ¡of ¡different ¡events ¡on ¡the ¡system ¡ n must ¡be ¡dealt ¡with ¡empirically ¡ n goal: ¡reduce ¡bandwidth ¡between ¡two ¡events ¡ n only ¡black ¡box ¡tests ¡are ¡considered ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡ 06. ¡August ¡2015 ¡

  7. + ¡ Timing ¡Channels ¡ Example ¡Exploits ¡ 7 ¡ 06. ¡August ¡2015 ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡

  8. + ¡ Timing ¡Channels ¡ 8 ¡ Example ¡Exploits ¡ n cache-­‑conten3on ¡channel ¡ n high ¡bandwidth ¡3ming ¡channel ¡ n sender ¡and ¡receiver ¡share ¡same ¡amount ¡of ¡blocks ¡in ¡processor ¡cache ¡ n channel ¡exists: ¡sender ¡manipulates ¡blocks ¡of ¡receiver ¡within ¡the ¡cache ¡ n measures ¡memory ¡access ¡3me ¡of ¡the ¡receiver ¡through ¡receiver ¡clock ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡ 06. ¡August ¡2015 ¡

  9. + ¡ Timing ¡Channels ¡ 9 ¡ Example ¡Exploits ¡ n Preemp3on-­‑Tick ¡Exploit ¡ Source: ¡An ¡empirical ¡study ¡of ¡3ming ¡channels ¡on ¡sel4 ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡ 06. ¡August ¡2015 ¡

  10. + ¡ Timing ¡Channels ¡ Counter ¡Measurement ¡Strategies ¡ 10 ¡ 06. ¡August ¡2015 ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡

  11. + ¡ Timing ¡Channels ¡ 11 ¡ Counter ¡Measurement ¡Strategies ¡ n basically ¡three ¡strategies: ¡ n receiver ¡has ¡only ¡on ¡clock ¡ n restric3ng ¡receiver ¡to ¡access ¡the ¡senders ¡blocks ¡in ¡the ¡cache ¡ n adding ¡noise ¡to ¡the ¡clocks ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡ 06. ¡August ¡2015 ¡

  12. + ¡ Timing ¡Channels ¡ 12 ¡ Counter ¡Measurement ¡Strategies ¡ n adding ¡ noise ¡to ¡the ¡clocks ¡ n preven3ng ¡the ¡receiver ¡to ¡calculate ¡clock ¡rate ¡so ¡easily ¡ n using ¡an3correlated ¡or ¡uncorrelated ¡noise ¡techniques ¡ n degrades ¡system ¡performance ¡massively ¡ Source: ¡An ¡empirical ¡study ¡of ¡3ming ¡channels ¡on ¡sel4 ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡ 06. ¡August ¡2015 ¡

  13. + ¡ Timing ¡Channels ¡ 13 ¡ Counter ¡Measurement ¡Strategies ¡ n instruc3on-­‑based ¡scheduling ¡ n restricts ¡the ¡receiver ¡to ¡use ¡the ¡preemp3on-­‑3ck ¡ n seL4 ¡allows ¡crea3on ¡of ¡own ¡helper ¡thread ¡to ¡access ¡the ¡preemp3on-­‑3ck ¡ n control ¡kernel-­‑scheduled ¡tasks ¡ n uses ¡performance ¡measurement ¡unit ¡to ¡trigger ¡preemp3ons ¡aaer ¡a ¡fixed ¡ number ¡of ¡instruc3ons ¡ n creates ¡excep3on ¡aaer ¡fixed ¡number ¡of ¡instruc3ons ¡ n goal: ¡reduce ¡availability ¡of ¡bandwidth ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡ 06. ¡August ¡2015 ¡

  14. + ¡ Timing ¡Channels ¡ 14 ¡ Counter ¡Measurement ¡Strategies ¡ ¡ n cache ¡colouring ¡ n does ¡not ¡deny ¡receiver ¡to ¡access ¡the ¡wall-­‑clock ¡ n colours ¡caches ¡between ¡sender ¡and ¡receiver ¡ n dyeing ¡physical ¡memory ¡on ¡page ¡level ¡ n uses ¡colours ¡for ¡each ¡disjunct ¡par33on ¡ n cost: ¡flush ¡par33ons ¡aaer ¡context ¡switch ¡ Source: ¡An ¡empirical ¡study ¡of ¡3ming ¡channels ¡on ¡sel4 ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡ 06. ¡August ¡2015 ¡

  15. + ¡ Storage ¡Channels ¡ Basic ¡Idea ¡ 15 ¡ 06. ¡August ¡2015 ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡

  16. + ¡ Storage ¡Channels ¡ 16 ¡ Basic ¡Idea ¡ n use ¡the ¡storage ¡of ¡a ¡system ¡for ¡communica3on ¡ n not ¡detectable ¡by ¡the ¡system ¡ n bypass ¡exis3ng ¡security ¡policies ¡ Source: ¡Undermining ¡Isola3on ¡through ¡Covert ¡Channels ¡in ¡the ¡Fiasco.OC ¡Microkernel ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡ 06. ¡August ¡2015 ¡

  17. + ¡ Storage ¡Channels ¡ Fiasco.OC ¡Memory ¡Management ¡ 17 ¡ 06. ¡August ¡2015 ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡

  18. + ¡ Storage ¡Channels ¡ 18 ¡ Fiasco.OC ¡Memory ¡Management ¡ n microkernel ¡without ¡formally ¡proven ¡correctness ¡ n implementa3on ¡of ¡memory ¡management ¡can ¡be ¡exploited ¡ n kernel ¡objects ¡are ¡stored ¡in ¡slabs ¡ n each ¡slab ¡stores ¡mul3ple ¡objects ¡of ¡same ¡type ¡ n only ¡empty ¡slabs ¡are ¡deleted ¡ n half-­‑empty ¡slabs ¡cannot ¡be ¡rearranged ¡ n many ¡slabs ¡with ¡one ¡object ¡can ¡block ¡much ¡memory ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡ 06. ¡August ¡2015 ¡

  19. + ¡ Storage ¡Channels ¡ 19 ¡ Fiasco.OC ¡Memory ¡Management ¡ ¡ n memory ¡usage ¡example ¡ Source: ¡Undermining ¡Isola3on ¡through ¡Covert ¡Channels ¡in ¡the ¡Fiasco.OC ¡Microkernel ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡ 06. ¡August ¡2015 ¡

  20. + ¡ Storage ¡Channels ¡ Storage ¡Channel ¡ANack ¡on ¡Fiasco.OC ¡ 20 ¡ 06. ¡August ¡2015 ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡

  21. + ¡ Storage ¡Channels ¡ 21 ¡ Storage ¡Channel ¡ANack ¡on ¡Fiasco.OC ¡ n ini3al ¡state: ¡slab ¡for ¡data ¡transfer ¡with ¡one ¡empty ¡slot ¡ n sending ¡of ¡one ¡bit ¡by ¡filling ¡or ¡not ¡filling ¡this ¡slot ¡ n receiver ¡reads ¡data ¡by ¡also ¡trying ¡to ¡fill ¡this ¡slot ¡ n if ¡successful ¡ à ¡0 ¡is ¡read ¡ n if ¡failure ¡ à ¡1 ¡is ¡read ¡ n aaerwards ¡restoring ¡ini3al ¡state ¡for ¡transfer ¡of ¡next ¡data ¡bit ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡ 06. ¡August ¡2015 ¡

  22. + ¡ Storage ¡Channels ¡ 22 ¡ Storage ¡Channel ¡ANack ¡on ¡Fiasco.OC ¡ ¡ n data ¡transfer ¡example ¡ Source: ¡Undermining ¡Isola3on ¡through ¡Covert ¡Channels ¡in ¡the ¡Fiasco.OC ¡Microkernel ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡ 06. ¡August ¡2015 ¡

  23. + ¡ Conclusion ¡ Side ¡Channels ¡and ¡Covert ¡Channels ¡ ¡ 23 ¡ 06. ¡August ¡2015 ¡ WAMOS ¡2015 ¡| ¡Baumgärtner ¡& ¡Schneider ¡

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