{"id":177035,"date":"2017-02-13T09:00:12","date_gmt":"2017-02-13T14:00:12","guid":{"rendered":"http:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/google-project-zero-how-we-cracked-samsungs-dod-and-nsa-certified-knox-zdnet\/"},"modified":"2017-02-13T09:00:12","modified_gmt":"2017-02-13T14:00:12","slug":"google-project-zero-how-we-cracked-samsungs-dod-and-nsa-certified-knox-zdnet","status":"publish","type":"post","link":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/nsa-2\/google-project-zero-how-we-cracked-samsungs-dod-and-nsa-certified-knox-zdnet\/","title":{"rendered":"Google Project Zero: How we cracked Samsung&#8217;s DoD- and NSA-certified Knox &#8211; ZDNet"},"content":{"rendered":"<p><p>    Google Project Zero's Gal Beniamini    details four key errors he used to bypass Knox's kernel    protections on a Galaxy S7 edge.  <\/p>\n<p>    Google's Project Zero hackers have detailed several    high-severity flaws that undermined a core defense in Samsung's    Knox platform that protects Galaxy handsets in the enterprise.  <\/p>\n<p>    Since launching Knox in 2013, the platform has been certified    for internal use by UK and US government departments, including    the US DoD and NSA. Given these certifications,    defense-in-depth mechanisms should be rock solid.  <\/p>\n<p>    But according to Project Zero's Gal Beniamini, who last year    tore apart Android's full disk encryption,    a Knox hypervisor designed to protect the Linux kernel during    runtime can be subverted multiple ways.  <\/p>\n<p>    Beniamini details four key errors he used    to bypass Knox's kernel protections on a Galaxy S7 edge with    Samsung's Exynos chipset. They're rather serious given that    compromising the kernel would allow an attacker to access    system data, hide malware, change system behavior, or take over    the system.  <\/p>\n<p>    While Android's Trusted Boot protects the integrity of the    kernel during boot, it doesn't protect the kernel after it's    booted and running. This shortcoming was why Samsung introduced    its Knox hypervisor, known as Real-time Kernel Protection or    RKP, which uses the ARM TrustZone to create a \"secure world\"    walled from the \"normal world\".  <\/p>\n<p>    Samsung fixed the six RKP issues reported by Beniamini in its    January Android patch and lists them as memory corruption,    information disclosure, privilege escalation, and    authentication bypass bugs.  <\/p>\n<p>    As Beniamini explains, since Knox v2.6, Samsung devices    implemented an exploit-mitigation feature called Kernel Address    Space Layout Randomization (KASLR), which should prevent an    attacker predicting the address the kernel is loaded to.    However, a simple coding error by Samsung made it possible to    calculate the location.  <\/p>\n<p>    \"This security feature introduces a random 'offset', generated    each time the device boots, by which the base address of the    kernel is shifted. Normally, the kernel is loaded into a fixed    physical address, which corresponds to a fixed virtual address    in the VAS of the kernel. By introducing KASLR, all the    kernel's memory, including its code, is shifted by this    randomized offset, also known as a 'slide',\" explains    Beniamini.  <\/p>\n<p>    However, as he notes, since all of the kernel is shifted by a    single slide value, \"leaking any pointer in the kernel    which resides at a known offset from the kernel's base address    would allow us to easily calculate the slide's value\".  <\/p>\n<p>    Beniamini says most Android devices correctly implement a    function known as ktpr_restrict to hide a pointer's    value using the anonymizing format specifier %pK,    specifically with an upper case K. As Beniamini has previously highlighted, all kernel pointers    printed using %pK are hidden. However, Samsung \"rather    amusingly\" used a lowercase k.  <\/p>\n<p>    \"This allows us to simply read the contents of pm_qos,    and subtract the pointer's value from its known offset from the    kernel's base address, thus giving us the value of the KASLR    slide,\" he explains.  <\/p>\n<p>    Beniamini details three other RKP mitigations he got around,    and several recommended steps Samsung could take to shield it    from future attacks.  <\/p>\n<p><!-- Auto Generated --><\/p>\n<p>The rest is here:<br \/>\n<a target=\"_blank\" href=\"http:\/\/www.zdnet.com\/article\/google-project-zero-how-we-cracked-samsungs-dod-and-nsa-certified-knox\/\" title=\"Google Project Zero: How we cracked Samsung's DoD- and NSA-certified Knox - ZDNet\">Google Project Zero: How we cracked Samsung's DoD- and NSA-certified Knox - ZDNet<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p> Google Project Zero's Gal Beniamini details four key errors he used to bypass Knox's kernel protections on a Galaxy S7 edge. Google's Project Zero hackers have detailed several high-severity flaws that undermined a core defense in Samsung's Knox platform that protects Galaxy handsets in the enterprise. Since launching Knox in 2013, the platform has been certified for internal use by UK and US government departments, including the US DoD and NSA <a href=\"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/nsa-2\/google-project-zero-how-we-cracked-samsungs-dod-and-nsa-certified-knox-zdnet\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[94881],"tags":[],"class_list":["post-177035","post","type-post","status-publish","format-standard","hentry","category-nsa-2"],"_links":{"self":[{"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/posts\/177035"}],"collection":[{"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/comments?post=177035"}],"version-history":[{"count":0,"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/posts\/177035\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/media?parent=177035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/categories?post=177035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/tags?post=177035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}