<story><title>Why Raspberry Pi Isn&apos;t Vulnerable to Spectre or Meltdown</title><url>https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulnerable-to-spectre-or-meltdown/</url></story><parent_chain><item><author>ploxiln</author><text>This covers both Meltdown and Spectre.&lt;p&gt;&amp;gt; Both vulnerabilities exploit performance features (caching and speculative execution) common to many modern processors to leak data via a so-called side-channel attack. Happily, the Raspberry Pi isn’t susceptible to these vulnerabilities, because of the particular ARM cores that we use.&lt;p&gt;The reason why Spectre is not a problem is because there is no branch predictor in these simpler arm cores. Instructions are processed in parallel when possible, but not before dependencies, including branch decisions.&lt;p&gt;EDIT: under &amp;quot;What is speculation?&amp;quot; branch prediction is described. Then in the conclusion: &amp;quot;The lack of speculation in the ARM1176, Cortex-A7, and Cortex-A53 cores used in Raspberry Pi render us immune to attacks of the sort.&amp;quot;</text></item><item><author>tptacek</author><text>This is great, but remember that it covers Meltdown, not Spectre. Meltdown is the more immediate disaster, but Spectre is the more batshit vulnerability. You &lt;i&gt;really&lt;/i&gt; want to get your head around:&lt;p&gt;* The branch target injection variant of Spectre if you want to get a sense of how amazing this vulnerability is: you can spoof the branch predictor to trick a target process into running arbitrary code in its address space! This is crazy!&lt;p&gt;* The misprediction variant of Spectre if you want to get a hopeless feeling in the pit of your stomach, since the implications of mispredict are that certain &lt;i&gt;kinds&lt;/i&gt; of programs are riddled with a new kind of side channel we didn&amp;#x27;t really grok until last week, and no upcoming microcode update seems to be in the offing.&lt;p&gt;You could probably use the same Python conceit to illustrate the other two attacks; someone might take a crack at that.&lt;p&gt;(I&amp;#x27;m not disputing that the R-Pi&amp;#x27;s aren&amp;#x27;t vulnerable to Spectre).</text></item></parent_chain><comment><author>makomk</author><text>A lot of the cheaper Pi-like boards also aren&amp;#x27;t affected for the same reason, as are lower-end Android phones. The articles claiming it affected every modern CPU were basically mistaken. It was an easy mistake to make, given that ARM&amp;#x27;s announcement only listed the cores that were affected and had a little note saying everything not listed was unaffected by both Meltdown and Spectre. (There is precisely one ARM-designed core that is affected by Meltdown, a high-end one so new that no chips based on it have been released yet.)</text></comment>
<story><title>Why Raspberry Pi Isn&apos;t Vulnerable to Spectre or Meltdown</title><url>https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulnerable-to-spectre-or-meltdown/</url></story><parent_chain><item><author>ploxiln</author><text>This covers both Meltdown and Spectre.&lt;p&gt;&amp;gt; Both vulnerabilities exploit performance features (caching and speculative execution) common to many modern processors to leak data via a so-called side-channel attack. Happily, the Raspberry Pi isn’t susceptible to these vulnerabilities, because of the particular ARM cores that we use.&lt;p&gt;The reason why Spectre is not a problem is because there is no branch predictor in these simpler arm cores. Instructions are processed in parallel when possible, but not before dependencies, including branch decisions.&lt;p&gt;EDIT: under &amp;quot;What is speculation?&amp;quot; branch prediction is described. Then in the conclusion: &amp;quot;The lack of speculation in the ARM1176, Cortex-A7, and Cortex-A53 cores used in Raspberry Pi render us immune to attacks of the sort.&amp;quot;</text></item><item><author>tptacek</author><text>This is great, but remember that it covers Meltdown, not Spectre. Meltdown is the more immediate disaster, but Spectre is the more batshit vulnerability. You &lt;i&gt;really&lt;/i&gt; want to get your head around:&lt;p&gt;* The branch target injection variant of Spectre if you want to get a sense of how amazing this vulnerability is: you can spoof the branch predictor to trick a target process into running arbitrary code in its address space! This is crazy!&lt;p&gt;* The misprediction variant of Spectre if you want to get a hopeless feeling in the pit of your stomach, since the implications of mispredict are that certain &lt;i&gt;kinds&lt;/i&gt; of programs are riddled with a new kind of side channel we didn&amp;#x27;t really grok until last week, and no upcoming microcode update seems to be in the offing.&lt;p&gt;You could probably use the same Python conceit to illustrate the other two attacks; someone might take a crack at that.&lt;p&gt;(I&amp;#x27;m not disputing that the R-Pi&amp;#x27;s aren&amp;#x27;t vulnerable to Spectre).</text></item></parent_chain><comment><author>loeg</author><text>There is almost certainly a branch predictor even in these simple ARM cores.</text></comment>