CSP-CERT® Resources:
Security Advisory Series – Meltdown and Spectre

by CSP-CERT® Blue Team
posted July 2018



ABSTRACT

We always encounter attacks that relies on software vulnerabilities, but in a matter of short period of time, it would eventually be patched up by the vendors. This case study illustrates that the attack that occurs on hardware could lead into catastrophic effect on our privacy that will quite hunt us. Unlike software, it is not that easy to come up with a solution for hardware vulnerability. Sometimes it could lead to the redesigning if it’s hardware architecture.

Most of our modern computer system relies on memory isolation where kernel address range is marked as non-accessible and protected by user access.


INTRODUCTION

Early this January 2018, Google Project Zero disclosed a vulnerability that affects almost all modern CPU’s today. The effects were that the attacker allows the overcoming of memory isolation by just providing a way on any user process to read the kernel (in this case it’s the entire kernel) memory of our machine it executed. Also, it includes physical memory all mapped on the kernel and at a high level, violates memory isolation boundaries by combining speculative and data exfiltration on micro-architectural covert channel that the attacker starts on locating the sequence of instructions within the victim’s address process space. When it is executed, it acts as a covert channel then it will leak the victim’s memory or register contents. This vulnerability is named as Meltdown and Spectre.


Meltdown

Most of our microprocessors are using Out Of Order Execution (OoOE) - a paradigm used on high-performance microprocessors to make use of instruction cycles.

The side effect of OoOE is the cause of the meltdown which caused the reading on the arbitrary kernel memory locations that includes personal data and passwords. The attacker would take the advantage of the OoOE side effect and leak the victims’ physical memory.

This vulnerability that allows the independent operation on its operating system means that it will work on any platform and would not rely on any software vulnerability. Meltdown breaks the security assumptions given by the address space that is isolated in this case including well paravirtualized environments (virtual machines) and every security mechanism built on this foundation.


Meltdown P.o.C




Meltdown in action on an AMD A6 seems to be not working but it is too early to conclude due to the lack of OoOE execution feature of the processor.


Spectre

Another part of our modern processor is the using of the branch prediction and the speculative execution to maximize the performance. Branch prediction or predictor function improves the flow on the instruction pipe. The speculative execution is an optimization technique where the computer system performs some task but that may be discarded later if not needed.

Side channel plays a big part of this attack. The side channel or what they refer as side channel attack occurs when some electronic circuit is inherently leaky that they produce emission (in this case heat and electromagnetic emission) that is a feasible source of information for an attacker.

Spectre came from the side effect of speculative execution that induces victims to perform speculative operations that would not occur during correct program execution and can result on the leaking of confidential information via a side channel to the adversary.


Spectre P.o.C


This image displays a secret message from a set of custom target address. In this case, my AMD A6 processor is vulnerable (you will know if your vulnerable on the attack if you will be experiencing the same output).


USE CASE

We can use Meltdown and Spectre on:

  • Data Gathering
  • Digital forensic
  • Offensive attacks

The objective of this case study is to help us boost information gathering on our target.


FINDINGS AND PATCHES

Windows, MacOS, Linux and Android have lately released patches that is now widely known as “KAISER”. It is applied for the purposes of mitigation during Meltdown issue but it does not protect us from Spectre.

As Spectre haunts you for a time period and it will require a change of architecture design on our CPU’s.


UPDATES


Raspberry Pi

Raspberry Pi 3 is using CPU 4 × ARM Cortex-A53, 1.2GHz and S.O.C (System on a Chip) Broadcom BCM2837, some of ARM models were affected by this vulnerability but this model is an exemption because it is immune to the attack due to the lack of speculative execution feature on its microarchitecture design.


Issues on Patch

After updates were release for patching up our system on this issue, numerous problem like spontaneous reboot and that would result to the blue-screen every time I try to reboot my system. This resulted me to do a system restore to return to the last state before the update using AMD A6.


Malwares with Meltdown and Spectre

There is early news out from some article that shows the number of related meltdown & spectre sample of malwares tested by attackers. The samples came from the extended java-script P.O.C of the said vulnerability.

Below shows the image on the number of related meltdown and spectre malware sample tested by attackers:


The red colour represents the total “unique” sample and the blue one color represents “new unique” sample per day.

On my research, an article by thehackernews.com provides a link that you can find SHA256 hashes for all malware sample related on meltdown and spectre. The current sample figure is at 139, which can be found on this link:

https://plus.google.com/+avtestorg/posts/dCvrjtFxoav

Sample Meltdown/Spetcre malware (hash: 00c34b01d7ceb48f32d0d72017d768f88a6c1a3edc9f51fb5803d52b53aa8bc4 checked using VirusTotal):

Ad-Aware Generic.Exploit.Spectre.C74EE844 20180207
AegisLab Virus.Exploit.Spectre!c 20180207
AhnLab-V3 Trojan/Win64.Spectre.C2392259 20180207
ALYac Generic.Exploit.Spectre.C74EE844 20180207
Antiy-AVL Trojan/Win32.TSGeneric 20180207
Arcabit Generic.Exploit.Spectre.C74EE844 20180207
AVG MacOS:CVE-2017-5753-A [Trj] 20180207
Avira (no cloud) TR/RedCap.tkpmq 20180207
AVware Trojan.Win32.Generic!BT 20180207
BitDefender Generic.Exploit.Spectre.C74EE844 20180207
CAT-QuickHeal Trojan.IGENERIC 20180206
CrowdStrike Falcon (ML) malicious_confidence_100% (W) 20170201
Cybereason malicious.5d0efb 20180205
Cylance Unsafe 20180207
Emsisoft Generic.Exploit.Spectre.C74EE844 (B) 20180207
ESET-NOD32 a variant of Generik.HNVAEHP 20180207
F-Secure Generic.Exploit.Spectre.C74EE844 20180207
Fortinet Riskware/SpectrePOC 20180207
GData Generic.Exploit.Spectre.C74EE844 20180207
Ikarus Exploit.CVE-2017-5753 20180206
Jiangmin Trojan.Agentb.crs 20180207
K7AntiVirus Riskware ( 0040eff71 ) 20180207
K7GW Riskware ( 0040eff71 ) 20180207
Kaspersky Trojan.Win64.Agentb.d 20180207
Malwarebytes Exploit.Spectre.POC 20180207
MAX malware (ai score=99) 20180207
McAfee Trojan-Spectre!18267E55D0EF 20180207
McAfee-GW-Edition Trojan-Spectre!18267E55D0EF 20180207
Microsoft Exploit:Win32/Spectre.A 20180207
eScan Generic.Exploit.Spectre.C74EE844 20180207
NANO-Antivirus Trojan.Win64.RedCap.exeeau 20180207
Palo Alto Networks (Known Signatures) generic.ml 20180207
Panda Exploit/Spectre.A 20180206
Qihoo-360 Win32/Trojan.ae7 20180207
Sophos AV Mal/Spectre-A 20180207
Symantec Trojan.Gen.2 20180207
Tencent Win32.Exploit.Cve-2017-5753.Nvar 20180207
VIPRE Trojan.Win32.Generic!BT 20180207
ViRobot Trojan.Win64.S.Spectre.134662 20180207
Webroot W32.Trojan.Gen 20180207
ZoneAlarm by Check Point Trojan.Win64.Agentb.d 20180207

Note: This list represents one of the hash provided by AV-TEST.

Before this came down, there was a fake Meltdown/Spectre patch that was released that caused the spread of the Smoke Loader known also as “Dofoil malware”. Early versions have been advertised on the black market since year 2011 which they used a bot to download other malware.

I was able to retrieve the file through this link (update: this link is now inactive)

sicherheit-informationstechnik.bid/Download/Sicherheitsupdate/Intel-AMD-SecurityPatch-11-01bsi.zip
CD17CE11DF9DE507AF025EF46398CFDCB99D3904B2B5718BFF2DC0B01AEAE38C

The file was named “Intel-AMD-SecurityPatch-11-01bsi.zip”.


Intel Facing 32 Lawsuits

Ever since meltdown and spectre came out, personal to business related entity were affected. Last February 15, 2018 Intel was facing a 30-customer class lawsuit as well as 2 class action lawsuit related to security.

The 30-customer lawsuit was seeking for monetary and equitable relief and the 2-security class action lawsuit alleged that Intel and their officers were violating security laws because they were making a false and miss leading statements about their product and internal control which led to the disclosure of the security vulnerability. Example of this case was from Apple reports which one of the class lawsuit was seeking $5bn from Intel.

It is not surprising that if Intel would receive multiple lawsuit because of this vulnerability as many user and businesses were affected.

Until now, Intel is still struggling by giving patches and updates for Spectre that caused PC and Laptops to reboot. Intel are still extending their bug bounty program to see if there are still related problems left.


Networking Business on Meltdown & Spectre

Switches that were built were used with vulnerable processors. While it was built with the vulnerable processor, it was also built with the architecture as the packet processor. The attacker will have no other way to inject on the ethernet frame to trigger the vulnerability.

Should it come from the outside of the router, it did not have control with what was sent to the switches. On the other hand, if you had the control of the router, it can be possible that the access was from the CLI based interface.


Microsoft Microcode Updates

Recently, Microsoft released the microcode patches against spectre via Windows 10 system update for some running under the 6th-gen SkyLake CPU’s.

Intel lately had a good progress on creating microcode for their CPU’s protection againts Spectre vulnerability. So far, they have released updates for this CPU’s 4th-gen Haswell, 5th-gen Broadwell, 6th-gen SkyLake, 7th-gen Kaby Lake, and for 8th-gen Coffee Lake.

However, we need to be aware that this is not a permanent solution as a patch via BIOS updates. This is not a permanent fix. The vulnerability requires fixes on multiple levels of their system design architecture.


Intel’s SGx enclave security content exposed entire content via Spectre like-attack

SgxPectre vulnerability exposes the contents of secure enclaves used on 6th-gen new intel processors. This mainly features the securing of crypthographic key for encrypted communication and DRM against access to other programs, or on a host OS in a virtualized environment.

The source is from a demonstration of researchers at Ohio State University, where the method adapts to the Spectre to read data that is protected by SGx (Software Guard Extension). SGx allows creation of a secured enclave memory from protecting data for the purposes of being used by applications at a high-level privilege.

The original design of Spectre were relying on branching prediction and speculation to read memory kernel-level, which are not able to read SGx, protected by secured enclaves.

SGxPectre was derive from combining branch prediction and speculation attributes from the original Spectre with code vulnerability pattern of SGx runtime libraries which researchers enumerate specifically:

Intel SGx SDK, Rust-SGx, and Graphene-SGx


This gave them complete access on the contents of the secured enclaves. The programs running/utilizing with SGx is un secured, independently on how SGx utilization were implemented on the program.

Theoretically, it makes the vulnerability exploitable across virtual machines on the same host and not just host-to-guests.

Intel is aware of this research paper from Ohio State University. Intel’s fix for SGxPectre exploit is due on March 16, 2018 via software.


Update causes bigger Security Hole

The last January patch on Windows 7 for Meltdown opens a not so good or let us say big security hole. Apparently, the problem was discovered while Ulf Frisk was working on PCILeech. It just so happens that the patch accidentally flip a bit that controls access permission for kernel memory. Frisk says:

“The User/Supervisor bit was set’ to User in PML4 self-referencing entry. These results to making the page tables available to a User mode code in every process. Normally this page tables is only accessible by kernel itself only.”

Note: PCILeech is a device that created by Ulf Frisk that were carrying DMA attacks (Direct Memory Access) that dumps protected OS memory.

Note: PML4 is the base of the 4-level in-memory page table hierarchy were the CPU MMU (Memory Management Unit) use to translate virtual address of process into physical memory address of RAM.

On early March this issue has been patched. The issue affects 64-bit ver. of Windows 7 and Windows Server 2008 R2 “Frisk said”. The issue is fixed but flipping the PML4 permission bit back to its original state. Windows 7 and Windows Server 2008 R2 should applied/installed both January 2018 and March 2018 patch.


Linux kernel 4.16 update

April fool’s day did not stop Linus Torvalds to release the 4.16 update even if there is a last-minute influx of network update in release of candidate 7 (RC7) of 4.16. It did not stop Linus on going ahead with the launch on April 1.

He wrote (from the release of announcement):

"So the take from final week of the 4.16 release looks a lot like RC7, in that about half of it is networking. If it wasn't for that, it would all be very small and calm"

"We had a number of fixes and clean-ups elsewhere, but none of it made me go 'uhhuh, better let this soak for another week'"

He added:

"Outside of networking, most of the last week was various arch fixlets (powerpc, arm, x86, arm64), some driver fixes (mainly scsi and rdma)and misc other noise (documentation, vm, perf)"

Linus acknowledge the 4.15 when it went live and it’s not like their done with Meltdown/Spectre. Also for networking updates, the latest version of the kernel includes more fixes for Meltdown and Spectre exploits against 64 bit, Arm based processors and the S390 Spectre defense named “expoline”.


Intel decides to halt microcode updates for “old” processors

Intel lately ordered a halt on releasing update on some older chips based on recent microcode release update.

Here are the list of older products that they will no longer release patch; Wolfdale, Bloomfield, Clarksfield, Gulftown, Harpertown, Jasper Forest, SoFIA 3GR, and Yorkfield.

Here’s a statement of Intel from ThreatPost:

“We’ve now completed release of microcode updates for Intel microprocessor products launched in the last 9+ years that required protection against the side-channel vulnerabilities discovered by Google Project Zero”

“However, as indicated in our latest microcode revision guidance, we will not be providing updated microcode for a select number of older platforms for several reasons, including limited ecosystem support and customer feedback.”

In relation to Intel’s microcode update:

“After a comprehensive investigation of the microarchitectures and microcode capabilities for… products, Intel has determined to not release microcode updates for these products for one or more reasons.”

Here are some possible reasons why:

  • Micro-architectural characteristics that preclude a practical implementation of features mitigating Variant 2 (CVE-2017-5715)
  • Limited Commercially Available System Software support
  • Based on customer inputs, most of these products are implemented as “closed systems” and therefore are expected to have a lower likelihood of exposure to these vulnerabilities.

Intel never stops on pushing updates and creating patches for Meltdown and Spectre vulnerability ever since it was released few months ago.

Tim Woods (VP of Technology Alliances at FireMon) stated to ThreatPost that Intel might have ceased plans to patch some chips due to inability of partners to push updates, as well on architectural challenge that blocks practical implementation of updates.

Tim said:

“Regardless of Intel’s reason, their posture underscores the critical importance of an organization to take ownership of the security of their infrastructure”

“This entails looking at physical security, cloud-based assets, network, server, and desktop assets. In the case of Intel’s resistance to finding a suitable patch for the Spectre vulnerability, it may be that those affected systems must be replaced.”

Intel is said to design a new set of CPU that features works with Operating System to install what they call “Virtual Fence” that uses protection to variants of spectre speculative execution attacks.

Chipzilla launched some 8-Gen Core i9 parts for laptop that were “allegedly” free of Meltdown and Spectre.

Lately, the Core i9 reportedly slowed down after patches were installed and, in my opinion,, it was because of the fix of branch prediction and speculative execution that was previously discussed on optimization techniques. This, however, is also the reason we have this vulnerability (Spectre).


New Spectre-Class Attack

This past few days, there are rumors being spread about a new spectre class attack, and said to be disclosed this May 7, 2018. Earlier this week, Heise.de claimed that they’ve seen eight (8) evidence of spectre-class attacks that will be unveiled shortly. Details were already unveiled to manufacturers and they call it Spectre-NG (Next Generation).

Intel is preparing for the second round of updates that is scheduled for May and August.


Intel had to ask researchers to not disclose’ the new Spectre-NG yet

Intel had to ask researchers for extension on disclosing the new eight (8) spectre flaws, which is named’ as Spectre-NG (Next Generation).

So here’s the deal why they (Intel) are asking researchers to postponed the unveiling: Intel right now is having a problem getting the patches ready on time. They asked the researchers not to disclose it yet since it is just the “1st wave” and we will be expecting another after this.

The 1st wave is said to include patches for four (4) “medium risk” flaws, a disclosure of two (2) “high risk bug”.

Intel asked another extension until July and for the 2nd wave of patches which should address the “high risk” and it is said to be released on August.

The “high risk” flaws affects all the Intel’s processor, and to spice it up, it also includes the Xeon line-up. Some of the flaws are even worse than the first spectre effects.

Example given:

  • Attackers allows bypassing not just through virtual machines, but also within and even with other virtual machines that can lead to exploiting the host machine.
  • It Can bypass the Software Guard Extension (SGX) that is security guaranteed by Intel. An example given is through the “Signal messenger” that protects the privacy of user contacts.

“These eight (8) Spectre-NG vulnerability impact is not just for Core I and Xeon chips but also affects smartphones, and tablets. It also includes atom-based budget laptops as well as Atom-based Celeron and Pentiums.” – As per Heise.de

This could be the outcome of what we are talking for the past few months as the catastrophic outcome of the vulnerability.

Still we are waiting in vain for the patches to be released quickly which only the official researchers of these eight (8) flaws only knew. If this will not be resolved quickly, a new attacker will take advantage of this vulnerability and launch a new attack.

As for today, AMD has not yet confirmed that they are not affected on this new vulnerability.


SOURCES

Official documentation

https://meltdownattack.com


Other References

https://sbscyber.com/resources/spectre-and-meltdown

https://gist.github.com/ErikAugust/724d4a969fb2c6ae1bbd7b2a9e3d4bb6

https://github.com/crozone/SpectrePoC

https://thehackernews.com/2018/01/meltdown-spectre-patches.html

https://github.com/speed47/spectre-meltdown-checker

https://www.theverge.com/2018/2/16/17020048/intel-spectre-meltdown-class-action-lawsuits

https://www.notebookcheck.net/Meltdown-Spectre-CPU-vulnerabilities-brought-Intel-32-lawsuits-in-1-5-months.284704.0.html

https://www.theregister.co.uk/2018/02/20/why_is_the_ethernet_switch_biz_dozing_through_meltdown/

https://techspective.net/2018/03/22/intel-steps-up-further-to-fix-spectre-meltdown-vulnerabilities/

http://securityaffairs.co/wordpress/70561/hacking/chrome-os-meltdown-spectre.html

https://www.neowin.net/news/intels-upcoming-processors-may-not-fix-the-latest-spectre-variant

https://mcpmag.com/articles/2018/05/25/cpu-attacks-mimic-spectre-meltdown.aspx

https://appleinsider.com/articles/18/05/21/intel-promises-fix-for-new-variant-4-meltdown-spectre-vulnerability

https://www.express.co.uk/life-style/science-technology/963341/Microsoft-Windows-10-update-Google-Spectre-Meltdown-bug-warning-intel

https://www.windowscentral.com/intel-discloses-new-variant-meltdown-and-spectre-exploits

https://www.wired.com/story/speculative-store-bypass-spectre-meltdown-vulnerability/

https://news.softpedia.com/news/microsoft-releases-new-meltdown-and-spectre-patches-for-surface-3-521390.shtml

https://9to5mac.com/2018/05/21/intel-spectre-meltdown-variant-4/

https://www.exploit-db.com/exploits/43427/

https://www.reddit.com/r/windows/comments/8nf6np/new_meltdown_spectre_variant_fix_turn_off/

https://www.technicalfriends.com/meltdown-spectre-chip-flaws-whos-affected/

https://www.patriotssoapbox.com/forums/forum/technology/13198-8-new-spectre-class-vulnerabilities-spectre-ng-found-in-intel-cpus/

https://www.whizsec.com/blog/new-spectre-class-flaws-in-intel-cpus/

https://www.theinquirer.net/inquirer/news/3031915/intel-reportedly-delays-patches-for-spectre-ng-cpu-flaws

https://www.tomshardware.com/news/intel-spectre-ng-cpu-flaws,37018.html

https://www.zdnet.com/article/are-8-new-spectre-class-flaws-about-to-be-exposed/

http://www.talkmarkets.com/content/stocks--equities/amd-not-affected-by-intels-latest-spectre-ng-flaw?post=175976

https://threatpost.com/report-intel-facing-new-spectre-like-security-flaws/131714/

https://www.extremetech.com/computing/268831-a-new-wave-of-spectre-class-attacks-may-be-coming-for-intel-cpus

https://www.trendmicro.com/vinfo/us/security/news/vulnerabilities-and-exploits/spectre-next-generation-new-intel-cpu-vulnerabilities-found

https://www.macrumors.com/2018/05/07/intel-foundry-and-vulnerability-issues/

https://blog.barkly.com/meltdown-spectre-bugs-explained

https://www.redhat.com/en/blog/what-are-meltdown-and-spectre-heres-what-you-need-know

https://www.zdnet.com/article/meltdown-and-spectre-now-microsoft-blocks-security-updates-for-some-amd-based-devices/

https://en.wikipedia.org/wiki/Spectre_(security_vulnerability)

https://hothardware.com/news/intel-8th-gen-core-cpus-10-slowdown-javascript-spectre-meltdown-patches

https://www.theregister.co.uk/2018/04/04/intel_spectre_microcode_updates/

https://threatpost.com/intel-halts-spectre-fixes-on-older-chips-citing-limited-ecosystem-support/130965/

https://www.theinquirer.net/inquirer/news/3029473/linux-416-is-once-again-focused-on-meltdown-and-spectre

https://www.firstpost.com/tech/news-analysis/security-researchers-have-discovered-security-flaws-in-amd-chipsets-impact-could-be-worse-than-meltdown-and-spectre-4389377.html

http://www.theregister.co.uk/2018/04/04/intel_spectre_microcode_updates/

https://www.zdnet.com/article/linux-4-16-arrives-bringing-more-spectre-and-meltdown-fixes/


Video References

https://www.youtube.com/watch?v=bs0xswK0eZk

https://www.youtube.com/watch?v=mgAN4w7LH2o

https://www.youtube.com/watch?v=k4gqNSRHISk

https://www.youtube.com/watch?v=d7ILCoU9d4k