{"id":8907,"date":"2024-10-19T10:44:27","date_gmt":"2024-10-19T17:44:27","guid":{"rendered":"https:\/\/jasonsblog.ddns.net\/?p=8907"},"modified":"2024-10-19T10:44:27","modified_gmt":"2024-10-19T17:44:27","slug":"spectre-flaws-continue-to-haunt-intel-and-amd-as-researchers-find-fresh-attack-method","status":"publish","type":"post","link":"https:\/\/jasonsblog.ddns.net\/index.php\/2024\/10\/19\/spectre-flaws-continue-to-haunt-intel-and-amd-as-researchers-find-fresh-attack-method\/","title":{"rendered":"Spectre Flaws Continue to Haunt Intel and AMD as Researchers Find Fresh Attack Method"},"content":{"rendered":"\n<p>The hardware design flaws that won&#8217;t go away.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.theregister.com\/2024\/10\/18\/spectre_problems_continue_amd_intel\">https:\/\/www.theregister.com\/2024\/10\/18\/spectre_problems_continue_amd_intel<\/a><\/p>\n\n\n<div class=\"wp-block-ub-divider ub_divider ub-divider-orientation-horizontal\" id=\"ub_divider_30010e3e-bf1c-4f85-b119-db51e718e80a\"><div class=\"ub_divider_wrapper\" style=\"position: relative; margin-bottom: 2px; width: 100%; height: 2px; \" data-divider-alignment=\"center\"><div class=\"ub_divider_line\" style=\"border-top: 2px solid #ccc; margin-top: 2px; \"><\/div><\/div><\/div>\n\n\n<h5 class=\"wp-block-heading\">The indirect branch predictor barrier is less of a barrier than hoped<\/h5>\n\n\n\n<p>Six years after the Spectre transient execution processor design flaws were disclosed, efforts to patch the problem continue to fall short.<\/p>\n\n\n\n<p>Johannes Wikner and Kaveh Razavi of Swiss university ETH Zurich on Friday <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/comsec.ethz.ch\/breaking-the-barrier\">published details<\/a> about a cross-process Spectre attack that derandomizes <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/cloud.google.com\/blog\/topics\/threat-intelligence\/six-facts-about-address-space-layout-randomization-on-windows\/\">Address Space Layout Randomization<\/a> and leaks the hash of the root password from the Set User ID (suid) process on recent Intel processors. The researchers claim they successfully conducted such an attack.<\/p>\n\n\n\n<p><a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/meltdownattack.com\/\">Spectre<\/a> refers to a set of attacks made possible because of the way processors conduct speculative execution &#8211; a performance optimization technique that involves making calculations in advance. The results can be used if needed, or otherwise discarded.<\/p>\n\n\n\n<p>Branch prediction is a form of speculative execution, and modern processors use it to make guesses about the path a program will take. It&#8217;s related to branch target prediction, which attempts to predict the target address of the next instruction to be executed in a given branch.<\/p>\n\n\n\n<p>Spectre attacks try to make the branch predictor forward an incorrect prediction \u2013 such that when the processor executes the associated instructions, it accesses out-of-bounds memory that contains secrets like passwords or encryption keys. Subsequent operations on the memory area storing secrets may allow the attacker to infer those secrets by observing side-channels \u2013 such as CPU cache accesses and power fluctuations.<\/p>\n\n\n\n<p>The indirect branch predictor barrier (IBPB) was intended as a defense against Spectre v2 (CVE-2017-5715) attacks on x86 Intel and AMD chips. IBPB is designed to prevent forwarding of previously learned indirect branch target predictions for speculative execution.<\/p>\n\n\n\n<p>Evidently, the barrier wasn&#8217;t implemented properly.<\/p>\n\n\n\n<p>&#8220;We found a microcode bug in the recent Intel microarchitectures \u2013 like Golden Cove and Raptor Cove, found in the 12th, 13th and 14th generations of Intel Core processors, and the 5th and 6th generations of Xeon processors \u2013 which <em>retains<\/em> branch predictions such that they may still be used after IBPB should have invalidated them,&#8221; <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/gist.github.com\/sktt\/3245f1c0727e45584077f6702c291102\">explained<\/a> Wikner. &#8220;Such <em>post-barrier<\/em> speculation allows an attacker to bypass security boundaries imposed by process contexts and virtual machines.&#8221;<\/p>\n\n\n\n<p>Wikner and Razavi also managed to leak arbitrary kernel memory from an unprivileged process on AMD silicon built with its Zen 2 architecture.<\/p>\n\n\n\n<p>Videos of the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/www.youtube.com\/watch?v=VYEVcj-vnbs\">Intel<\/a> and <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/www.youtube.com\/watch?v=eODoOyhqtaQ\">AMD<\/a> attacks have been posted, with all the cinematic dynamism one might expect from command line interaction.<\/p>\n\n\n\n<p>Intel chips \u2013 including Intel Core 12th, 13th, and 14th generation and Xeon 5th and 6th \u2013 may be vulnerable. On AMD Zen 1(+) and Zen 2 hardware, the issue potentially affects Linux users.<\/p>\n\n\n\n<p>The relevant details were disclosed in June 2024, but Intel and AMD found the problem independently.<\/p>\n\n\n\n<p>Intel fixed the issue in a microcode patch (<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/www.intel.com\/content\/www\/us\/en\/security-center\/advisory\/intel-sa-00982.html\">INTEL-SA-00982<\/a>) released in March, 2024. Nonetheless, some Intel hardware may not have received that microcode update.<\/p>\n\n\n\n<p>In their technical summary, Wikner and Razavi observe: &#8220;This microcode update was, however, not available in Ubuntu repositories at the time of writing this paper.&#8221;<\/p>\n\n\n\n<p>It appears Ubuntu has subsequently <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/ubuntu.com\/security\/CVE-2023-38575\">dealt with the issue<\/a>.<\/p>\n\n\n\n<p>AMD issued its own advisory in November 2022, in security bulletin <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/www.amd.com\/en\/resources\/product-security\/bulletin\/amd-sb-1040.html\">AMD-SB-1040<\/a>. The firm notes that hypervisor and\/or operating system vendors have work to do on their own mitigations.<\/p>\n\n\n\n<p>&#8220;Because AMD\u2019s issue was previously known and tracked under AMD-SB-1040, AMD considers the issue a software bug,&#8221; the researchers explain. &#8220;We are currently working with the Linux kernel maintainers to merge our proposed software patch.&#8221; \u00ae<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The hardware design flaws that won&#8217;t go away. https:\/\/www.theregister.com\/2024\/10\/18\/spectre_problems_continue_amd_intel The indirect branch predictor barrier is less of a barrier than hoped Six years after the Spectre transient execution processor design flaws were disclosed, efforts to patch the problem continue to fall short. Johannes Wikner and Kaveh Razavi of Swiss university ETH Zurich on Friday published [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-8907","post","type-post","status-publish","format-standard","hentry","category-tech"],"blocksy_meta":[],"featured_image_src":null,"author_info":{"display_name":"Jason","author_link":"https:\/\/jasonsblog.ddns.net\/index.php\/author\/jturning\/"},"_links":{"self":[{"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/8907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/comments?post=8907"}],"version-history":[{"count":1,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/8907\/revisions"}],"predecessor-version":[{"id":8908,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/8907\/revisions\/8908"}],"wp:attachment":[{"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/media?parent=8907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/categories?post=8907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/tags?post=8907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}