![]() |
| Block diagram of a basic uniprocessor-CPU computer via Wikipedia |
The biggest tech news at the start of 2018, unfortunately, was the disclosure of a serious hardware design error in some CPUs which allowed a number of possible attack vectors on a multitude on computing devices using those units. This included Intel, AMD and ARM units, running Windows, iOS/macOS and Linux operating systems. The issue was discovered in 2017 by Google's Project Zero computer security research initiative, working primarily on zero-day vulnerabilities.
The issues stem from a processor optimization technique called speculative execution. In order to speed up instruction execution, CPUs sometimes try to make an educated guess on what code paths are most likely to be executed in the future, and execute them beforehand, sometimes out-of-order to how the instructions originally arrived for execution. If the predictive execution branch turned out to be irrelevant, those instructions would be rolled back without effect to actual running software.What the hardware vulnerability allows is for unauthorized code to possibly gain access to protected memory areas of the execution stack, sometimes even within the OS kernel (@shanselman offered a great non-tech simplification: https://twitter.com/shanselman/status/949162622607216641).
Three forms of the vulnerability has been identified, categorized broadly as Meltdown (variant 3) and Spectre (variants 1/2).
- Variant 1: bounds check bypass (CVE-2017-5753)
- Variant 2: branch target injection (CVE-2017-5715)
- Variant 3: rogue data cache load (CVE-2017-5754)
Although publicly uncovered a few days back, it has just started to gain mainstream attention. Some service providers have already take steps to protect their products and services from the issues, however some patches are pending. The vulnerability has to be fixed in kernel patches in bare metal software such as operating systems and hypervisors.
I've collated the below list of resources mostly from major vendors/service providers on the issue, mitigation steps and upcoming patches. I'll be updating this list as more information comes to hand:
- Google Project Zero blog post on the issue can be found at https://googleprojectzero.blogspot.com.au/2018/01/reading-privileged-memory-with-side.html. This article probably is the most authoritative on the vulnerabilities themselves.
- The issue first came to public space via The Register article on the 2nd of Jan: https://www.theregister.co.uk/2018/01/02/intel_cpu_design_flaw/
- Apple support web page about the issue is at https://support.apple.com/en-us/HT208394. It provides a summary of how Apple ecosystem devices and software are affected, and what needs to be done.
- A really good article on mitigation techniques for the Spectre version of the issue can be found at the Google support web page Retpoline: a software construct for preventing branch-target-injection
- Key information for Google Cloud, GSuite and Chrome customers/users can be found at https://blog.google/topics/google-cloud/what-google-cloud-g-suite-and-chrome-customers-need-know-about-industry-wide-cpu-vulnerability/
- The vulnerability can be exploited via JavaScript running on a Web page loaded in a browser. Google Chrome provides a limited-scope protection step called Site Isolation which provides extra protection between sites loaded onto Chrome browser. Instructions to enable this feature can be found at https://support.google.com/chrome/answer/7623121?hl=en. Further information on this feature is available on the Chromium developer web page at https://www.chromium.org/Home/chromium-security/site-isolation
- Update and related information for the popular Linux distribution Ubuntu is at https://insights.ubuntu.com/2018/01/04/ubuntu-updates-for-the-meltdown-spectre-vulnerabilities/ and RedHat's at https://access.redhat.com/security/vulnerabilities/speculativeexecution
- Intel's web page addressing the issue can be found at https://newsroom.intel.com/news/intel-responds-to-security-research-findings/
- AMD's primary web page on the issue is at https://www.amd.com/en/corporate/speculative-execution and ARM's is at https://developer.arm.com/support/security-update
- Cisco Systems' security alert on the case is at https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180104-cpusidechannel, classified as a medium threat at the moment.
- Amazon Web Services (https://aws.amazon.com/security/security-bulletins/AWS-2018-013/), Google Cloud (https://support.google.com/faqs/answer/7622138) and Microsoft Azure (https://azure.microsoft.com/en-us/blog/securing-azure-customers-from-cpu-vulnerability/) cloud providers have published information specific to the vulnerabilities and products/services affected.
- Security update from Coinbase: https://engineering.coinbase.com/update-on-meltdown-and-spectre-45d344c47b5
- Raspberry Pi isn't affected, the way Intel/AMD/ARM are. Read about it here: https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulnerable-to-spectre-or-meltdown/
- If you're using any IBM POWER family of processors, relevant information on how you're affected is at https://www.ibm.com/blogs/psirt/potential-impact-processors-power-family/
- Intel has published another whitepaper-style digest on the issue at https://newsroom.intel.com/wp-content/uploads/sites/11/2018/01/Intel-Analysis-of-Speculative-Execution-Side-Channels.pdf
- A definitive reference work on this subject is Computer Architecture by Hennessy & Patterson, which has a lot of information on the performance enhancement features in the centre of these bugs (I'm dusting mine off the shelf right now).

No comments:
Post a Comment