Things you must know before you can understand Meltdown as a developer
As others have already said, if you&#x27;re a programmer, please just read the original papers:<p><a href="https:&#x2F;&#x2F;meltdownattack.com&#x2F;meltdown.pdf" rel="nofollow">https:&#x2F;&#x2F;meltdownattack.com&#x2F;meltdown.pdf</a> (start with this one)<p><a href="https:&#x2F;&#x2F;spectreattack.com&#x2F;spectre.pdf" rel="nofollow">https:&#x2F;&#x2F;spectreattack.com&#x2F;spectre.pdf</a><p>They are extremely well written, clear and to the point. Understanding them will take you less time than trying to get rid of all the tortured analogies and unnecessary simplifications people have been trying to make up over the past week. It&#x27;s bad enough that we face the daunting task of explaining this stuff to people who don&#x27;t care about computers, there&#x27;s no need to perpetuate misunderstanding among those who deal with computers for a living. Just read the real thing.<p>And on the subject of explaining this to others, it might surprise you how far you can get if you try to honestly explain how the attacks work. I refuse to use the silly train station metaphors, so I tried to describe the basic idea of how speculative execution works in out of order CPUs to my parents (who can browse the Internet, with some effort, and were patient enough to listen to me for 10 minutes or so). I don&#x27;t think I got the notion of return-oriented programming across very well, but the basic idea of Meltdown and side channel timing attacks in general is actually very easy to convey on the basis of a reasonably simplified picture of a CPU - you need the explain the basic role of cache memory, virtual vs physical addressing, the TLB and the basic notion of branch prediction. That&#x27;s all you need to understand the principle of how the attacks work, if not the details of the implementation.