{"id":14732,"date":"2019-03-01T09:10:02","date_gmt":"2019-03-01T17:10:02","guid":{"rendered":"http:\/\/www.palada.net\/index.php\/2019\/03\/01\/news-8481\/"},"modified":"2019-03-01T09:10:02","modified_gmt":"2019-03-01T17:10:02","slug":"news-8481","status":"publish","type":"post","link":"http:\/\/www.palada.net\/index.php\/2019\/03\/01\/news-8481\/","title":{"rendered":"Spectre, Google, and the Universal Read Gadget"},"content":{"rendered":"<p><strong>Credit to Author: Christopher Boyd| Date: Fri, 01 Mar 2019 16:43:37 +0000<\/strong><\/p>\n<p>Spectre, a seemingly never ending menace to processors, is back in the limelight once again thanks to the Universal Read Gadget. First seen at the start of 2018, Spectre emerged alongside Meltdown as a major potential threat to people\u2019s system security.<\/p>\n<h3>Meltdown and Spectre<\/h3>\n<p>Meltdown targeted Intel processors and required a malicious process running on the system to interact with it. Spectre could be launched from browsers via a script. As these threats were targeting hardware flaws in the CPU, they were difficult to address and required BIOS updates and some other things to ensure a safe online experience. As per our <a href=\"https:\/\/blog.malwarebytes.com\/security-world\/2018\/01\/meltdown-and-spectre-what-you-need-to-know\/\" target=\"_blank\" rel=\"noopener\">original blog<\/a>:<\/p>\n<blockquote>\n<p><em>The core issue stems from a design flaw that allows attackers access to memory contents from any device, be it desktop, smart phone, or cloud server, exposing passwords and other sensitive data. The flaw in question is tied to what is called <a href=\"https:\/\/cyber.wtf\/2017\/07\/28\/negative-result-reading-kernel-memory-from-user-mode\/\" target=\"_blank\" rel=\"noopener\">speculative execution<\/a>, which happens when a processor guesses the next operations to perform based on previously cached iterations.<\/em><\/p>\n<p><em>The Meltdown variant only impacts Intel CPUs, whereas the second set of Spectre variants impacts all vendors of CPUs with support of speculative execution. This includes most CPUs produced during the last 15 years from Intel, AMD, ARM, and IBM.<\/em><\/p>\n<\/blockquote>\n<p>This is not a great situation for everyone to suddenly find themselves in. Manufacturers were caught on the backfoot and customers rightly demanded a solution.<\/p>\n<p>If this is the part where you\u2019re thinking, \u201cWhat caused this again?\u201d then you\u2019re in luck.<\/p>\n<h3>Speculative patching woes<\/h3>\n<p>The issues came from something called \u201cspeculative execution.&#8221; As we said in <a href=\"https:\/\/blog.malwarebytes.com\/cybercrime\/exploits\/2018\/01\/meltdown-and-spectre-fallout-patching-problems-persist\/\" target=\"_blank\" rel=\"noopener\">this follow up blog<\/a> about patching difficulties:<\/p>\n<blockquote>\n<p><em>Speculative execution is an effective optimization technique used by most modern processors to determine where code is likely to go next. Hence, when it encounters a conditional branch instruction, the processor makes a guess for which branch might be executed based on the previous branches\u2019 processing history. It then speculatively executes instructions until the original condition is known to be true or false. If the latter, the pending instructions are abandoned, and the processor reloads its state based on what it determines to be the correct execution path.<\/em><\/p>\n<p><em>The issue with this behaviour and the way it\u2019s currently implemented in numerous chips is that when the processor makes a wrong guess, it has already speculatively executed a few instructions. These are saved in cache, even if they are from the invalid branch. Spectre and Meltdown take advantage of this situation by comparing the loading time of two variables, determining if one has been loaded during the speculative execution, and deducing its value.<\/em><\/p>\n<\/blockquote>\n<p>Four variants existed across Spectre and Meltdown, with Intel, IBM, ARM, and AMD being snagged by Spectre and \u201cjust\u201d Intel being caught up by Meltdown.<\/p>\n<p>The vulnerabilities impacting CPUs (central processing units) made it a tricky thing to fix. Software alterations could cause performance snags, and hardware fixes could be even more complicated. A working group was formed to try and thrash out the incredibly complicated details of how this issue would be tackled.<\/p>\n<p>In January 2018, researchers stressed the only real way to solve Spectre was redesigning computer hardware from the ground up. This is no easy task. <a href=\"https:\/\/twitter.com\/reason42\/status\/948912244418637824\" target=\"_blank\" rel=\"noopener\">Replace everything<\/a>, or suffer the possible performance hit from any software fixes. Fairly complex patching nightmares abound, with operating systems, pre\/post <a href=\"https:\/\/en.wikipedia.org\/wiki\/Skylake_(microarchitecture)\" target=\"_blank\" rel=\"noopener\">Skylake<\/a> CPUs, and more needing tweaks or wholesale changes.<\/p>\n<h3>Additional complications<\/h3>\n<p>It wasn\u2019t long before scams started capitalising on the rush to patch. Now people suddenly had to deal with unrelated fakes, malware, and phishes on top of actual Meltdown\/Spectre threats.<\/p>\n<p>Alongside the previously mentioned scams, <a href=\"https:\/\/blog.malwarebytes.com\/cybercrime\/2018\/01\/fake-spectre-and-meltdown-patch-pushes-smoke-loader\/\" target=\"_blank\" rel=\"noopener\">fake websites<\/a> started to pop up, too. Typically they claimed to be an official government portals, or plain old download sites offering up a fix. They might also make use of SSL, because displaying a padlock is now a common trick of phishers. That&#8217;s a false sense of security\u2014just because there\u2019s a padlock, doesn\u2019t mean it\u2019s a safe site. All it means is the data on it is encrypted. Beyond that, you\u2019re on your own.<\/p>\n<p>The site in our example offered up a zipfile. Contained within was SmokeLoader, well known for attempting to grab <a href=\"https:\/\/blog.malwarebytes.com\/threat-analysis\/2016\/08\/smoke-loader-downloader-with-a-smokescreen-still-alive\/\" target=\"_blank\" rel=\"noopener\">additional malicious downloads<\/a>.<\/p>\n<p><a href=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2019\/02\/SmokeLoader.png\" data-rel=\"lightbox-0\" title=\"\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"27336\" data-permalink=\"https:\/\/blog.malwarebytes.com\/cybercrime\/2019\/03\/spectre-google-universal-read-gadget\/attachment\/smokeloader-2\/\" data-orig-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2019\/02\/SmokeLoader.png\" data-orig-size=\"772,583\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"SmokeLoader\" data-image-description=\"\" data-medium-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2019\/02\/SmokeLoader-300x227.png\" data-large-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2019\/02\/SmokeLoader-600x453.png\" class=\"aligncenter size-medium wp-image-27336\" src=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2019\/02\/SmokeLoader-300x227.png\" alt=\"SmokeLoader\" width=\"300\" height=\"227\" srcset=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2019\/02\/SmokeLoader-300x227.png 300w, https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2019\/02\/SmokeLoader-600x453.png 600w, https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2019\/02\/SmokeLoader.png 772w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"text-align: center;\">Click to enlarge<\/p>\n<p>Eventually, the furore died down and people slowly forgot about Spectre. It\u2019d pop up again in occasional news articles, but for the most part, people treated it as out of sight, out of mind.<\/p>\n<p>Which brings us to last week\u2019s news.<\/p>\n<h3>Spectre: What happened now?<\/h3>\n<p>What happened now is a reiteration of the \u201cit\u2019s not safe yet\u201d message. The threat is mostly the same, and a lot of people may not need to worry about this. However, as <a href=\"https:\/\/www.theregister.co.uk\/2019\/02\/18\/spectre_cant_be_killed\/\" target=\"_blank\" rel=\"noopener\">The Register<\/a> notes, the problem hasn\u2019t gone away and some developers will need to keep it in mind.<\/p>\n<p>Google has released a paper titled, unsurprisingly enough,<span class=\"Apple-converted-space\">\u00a0<\/span>&#8220;Spectre is here to stay: An analysis of side-channels and speculative execution.&#8221;<\/p>\n<h3>The Google paper<\/h3>\n<p>First thing\u2019s first: It\u2019s complicated, and you can read the full paper [PDF] <a href=\"https:\/\/arxiv.org\/pdf\/1902.05178.pdf\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<p>There\u2019s a lot of moving parts to this, and frankly nobody should be expected to understand everything in it unless they\u2019re working in or around this in some capacity. Some of this has already been mentioned, but it&#8217;s already about 700 words or so ago so a short recap may be handy:<\/p>\n<ol>\n<li>Side channels are bad. Your computer may be doing a bunch of secure tasks, keeping your data safe. All those bits and pieces of hardware, however, are doing all sorts of things to make those secure processes happen. Side channel attacks come at the otherwise secure data from another angle, in the realm of the mechanical. Sound, power consumption, timing between events, electromagnetic leaks, cameras, and more. All of these provide a means for a clever attacker to exploit this leaky side channel and grab data you\u2019d rather they didn\u2019t.<\/li>\n<li>They do this in Spectre\u2019s case by exploiting speculative execution. Modern processors are big fans of speculative execution, given they make use of it extensively. It helps improve performance, by making guesses about what programs will do next and then abandoning if it turns out that doesn\u2019t happen after all. Conversely, the retained paths are deployed and everything gets a nice speed boost. Those future potential possibilities is where Spectre comes in.<\/li>\n<li>As the paper says, \u201ccomputations that should never have happened\u2026allow for information to be leaked\u201d via Spectre. It allows the attacker to inject \u201cdangerously speculative behaviour\u201d into trusted code, or untrusted code typically subjected to safety checks. Both are done through triggering \u201cordinarily impossible computations\u201d through specific manipulations of the processor\u2019s shared micro-architectural states.<\/li>\n<\/ol>\n<p>Everything is a bit speed versus security, and security lost out. The manufacturers realised too late that the speed\/security tradeoff came with a hefty security price the moment Spectre arrived on the scene. Thinking bad actors couldn\u2019t tamper with with speculative executions\u2014or worse, not considering this in the first place\u2014has turned<span class=\"Apple-converted-space\">\u00a0<\/span>out to be a bit of a disaster.<\/p>\n<p>The paper goes on to list that Intel, ARM, AMD, MIPS, IBM, and Oracle have all reported being affected. It\u2019s also clear that:<\/p>\n<blockquote>\n<p><em>Our paper shows these leaks are not only design flaws, but are in fact foundational, at the very base of theoretical computation.<\/em><\/p>\n<\/blockquote>\n<p>This isn\u2019t great. Nor is the fact that they estimate it\u2019s probably more widely distributed than any security flaw in history, affecting \u201cbillions of CPUs in production across all device classes.\u201d<\/p>\n<h3>Spectre: no exorcism due<\/h3>\n<p>The research paper asserts that Spectre is going to be around for a long time. Software-based techniques to ward off the threat will never quite remove the issue. They may ward off the threat but add a performance cost, with more layers of defence potentially making things too much of a drag to consider them beneficial.<\/p>\n<p>The fixes end up<span class=\"Apple-converted-space\">\u00a0<\/span>being a mixed bag of trade-offs and performance hits, and Spectre is so variable and evasive that it quickly becomes impossible to pin down a 100 percent satisfactory solution. At this point, Google\u2019s \u201cUniversal Read Gadget\u201d wades in and makes everything worse.<\/p>\n<h3>What is the Universal Read Gadget?<\/h3>\n<p>A way to read data without permission that is for all intents and purposes unstoppable. When multiple vulnerabilities in current languages run on the CPU, it allows construction of said read gadget and that&#8217;s the real meat of Google&#8217;s research.\u00a0Nobody is going to ditch speculative execution anytime soon, and nobody is going to magically come up with a way to solve the side channel issue, much less something like a Universal Read Gadget.<\/p>\n<p>As the paper states,<\/p>\n<blockquote>\n<p><em>We now believe that speculative vulnerabilities on today&#8217;s hardware defeat all language-enforced confidentiality with no known comprehensive software mitigations&#8230;as we have discovered that untrusted code can construct a universal read gadget to read all memory in the same address space through side-channels.<\/em><\/p>\n<\/blockquote>\n<p>On the other hand, it\u2019s clear we shouldn\u2019t start panicking. It sounds bad, and it is bad, but it\u2019s unlikely anyone is exploiting you using these techniques. Of course, unlikely doesn\u2019t mean unfeasible, and this is why hardware and software organisations continue to wrestle with this particular genie.<\/p>\n<p>The research paper stresses that the URG is very difficult to pull off.<\/p>\n<div class=\"page\" title=\"Page 17\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<blockquote>\n<p><em>The universal read gadget is not necessarily a straightforward construction. It requires detailed knowledge of the \u03bc-architectural characteristics of the CPU and knowledge of the language implementation, whether that be a static compiler or a virtual machine. Additionally, the gadget might have particularly unusual performance and concurrency characteristics<\/em><\/p>\n<\/blockquote>\n<p>Numerous scenarios will require different approaches, and it lists multiple instances where the gadget will potentially fail. In short, nobody is going to come along and Universal Read Gadget your computer. For now, much of this is at the theoretical stage. That doesn&#8217;t mean tech giants are becoming complacent however, and hardware and software organisations have a long road ahead to finally lay this spectre to rest.<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<p>The post <a rel=\"nofollow\" href=\"https:\/\/blog.malwarebytes.com\/cybercrime\/2019\/03\/spectre-google-universal-read-gadget\/\">Spectre, Google, and the Universal Read Gadget<\/a> appeared first on <a rel=\"nofollow\" href=\"https:\/\/blog.malwarebytes.com\">Malwarebytes Labs<\/a>.<\/p>\n<p><a href=\"https:\/\/blog.malwarebytes.com\/cybercrime\/2019\/03\/spectre-google-universal-read-gadget\/\" target=\"bwo\" >https:\/\/blog.malwarebytes.com\/feed\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><strong>Credit to Author: Christopher Boyd| Date: Fri, 01 Mar 2019 16:43:37 +0000<\/strong><\/p>\n<table cellpadding='10'>\n<tr>\n<td valign='top' align='center'><a href='https:\/\/blog.malwarebytes.com\/cybercrime\/2019\/03\/spectre-google-universal-read-gadget\/' title='Spectre, Google, and the Universal Read Gadget'><img src='https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2019\/02\/shutterstock_792553828.jpg' border='0'  width='300px'  \/><\/a><\/td>\n<\/tr>\n<tr>\n<td valign='top' align='left'>A recently released paper by Google has resurrected the spirit of Spectre, a seemingly never-ending threat to most makes of processor. We take a look at what this means, and what the Universal Read Gadget means for most technology users.<\/p>\n<p>Categories: <\/p>\n<ul class=\"post-categories\">\n<li><a href=\"https:\/\/blog.malwarebytes.com\/category\/cybercrime\/\" rel=\"category tag\">Cybercrime<\/a><\/li>\n<li><a href=\"https:\/\/blog.malwarebytes.com\/category\/cybercrime\/hacking\/\" rel=\"category tag\">Hacking<\/a><\/li>\n<\/ul>\n<p>Tags: <a href=\"https:\/\/blog.malwarebytes.com\/tag\/cpu\/\" rel=\"tag\">CPU<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/exploit\/\" rel=\"tag\">exploit<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/google\/\" rel=\"tag\">Google<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/meltdown\/\" rel=\"tag\">Meltdown<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/meltdown-and-spectre\/\" rel=\"tag\">meltdown and spectre<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/spectre\/\" rel=\"tag\">Spectre<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/universal-read-gadget\/\" rel=\"tag\">universal read gadget<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/vulnerability\/\" rel=\"tag\">vulnerability<\/a><\/p>\n<table width='100%'>\n<tr>\n<td align=right>\n<p><b>(<a href='https:\/\/blog.malwarebytes.com\/cybercrime\/2019\/03\/spectre-google-universal-read-gadget\/' title='Spectre, Google, and the Universal Read Gadget'>Read more&#8230;<\/a>)<\/b><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<\/td>\n<\/tr>\n<\/table>\n<p>The post <a rel=\"nofollow\" href=\"https:\/\/blog.malwarebytes.com\/cybercrime\/2019\/03\/spectre-google-universal-read-gadget\/\">Spectre, Google, and the Universal Read Gadget<\/a> appeared first on <a rel=\"nofollow\" href=\"https:\/\/blog.malwarebytes.com\">Malwarebytes Labs<\/a>.<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[10488,10378],"tags":[20099,4503,11638,1670,3919,14989,17085,17082,21095,10467],"class_list":["post-14732","post","type-post","status-publish","format-standard","hentry","category-malwarebytes","category-security","tag-cpu","tag-cybercrime","tag-exploit","tag-google","tag-hacking","tag-meltdown","tag-meltdown-and-spectre","tag-spectre","tag-universal-read-gadget","tag-vulnerability"],"_links":{"self":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/14732","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/comments?post=14732"}],"version-history":[{"count":0,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/14732\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/media?parent=14732"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/categories?post=14732"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/tags?post=14732"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}