Slashdot Mirror


Researchers Detail New CPU Side-Channel Attack Named SpectreRSB (bleepingcomputer.com)

An anonymous reader writes: "Scientists from the University of California, Riverside (UCR) have published details last week about a new Spectre-class attack that they call SpectreRSB," reports Bleeping Computer. "Just like all 'Spectre-class' attacks, SpectreRSB takes advantage of the process of speculative execution -- a feature found in all modern CPUs that has the role of improving performance by computing operations in advance and later discarding unneeded data. The difference from previous Spectre-like attacks is that SpectreRSB recovers data from the speculative execution process by attacking a different CPU component involved in this 'speculation' routine, namely the Return Stack Buffer (RSB)." In a research paper, academics say they've used SpectreRSB attacks to recover data belonging to other processes, and have even tricked the RSB into spilling SGX secrets. The attack works on Intel, AMD, and ARM processors, known to use RSB. The attack can also bypass all the mitigations put in place for the original Spectre/Meltdown flaws.

39 comments

  1. OpenBSD by jmccue · · Score: 5, Interesting

    Because the RSB is shared among hardware threads that execute on the same virtual processor, this pollution enables inter-process, and even inter-VM, pollution of the RSB.

    Well I guess there is a reason OpenBSD folks did this:

    https://arstechnica.com/civis/...

    1. Re:OpenBSD by Anonymous Coward · · Score: 0

      The attack works on Intel, AMD, and ARM processors, known to use RSB.

      In related news, all Intel, ARM and AMD chips are affected by this and Meltdown if they are made by Intel.

    2. Re:OpenBSD by Carewolf · · Score: 1

      Because the RSB is shared among hardware threads that execute on the same virtual processor, this pollution enables inter-process, and even inter-VM, pollution of the RSB.

      Well I guess there is a reason OpenBSD folks did this:

      https://arstechnica.com/civis/...

      If it requires hyperthreading, how are ARM chips affected, and I assume in this case then only the Ryzen chips from AMD would be affected, since older AMD chips had no hyperthreading?

    3. Re: OpenBSD by Anonymous Coward · · Score: 0

      Is Mips 20k affected?

    4. Re:OpenBSD by Anonymous Coward · · Score: 0

      Well I guess there is a reason OpenBSD folks did this:

      https://arstechnica.com/civis/...

      The change that you cite doesn't prevent SpectreRSB. But just today the OpenBSD developers introduced new mitigations that specifcally address SpectreRSB:

      http://www.undeadly.org/cgi?action=article;sid=20180724072257

    5. Re:OpenBSD by ET3D · · Score: 1

      It doesn't. That's just one way of using it. All it requires is speculation regarding the return address. In this sense it's no different than previously discovered variants. The basic idea of all these attacks is that user space processes can get access to memory which would normally be protected.

    6. Re:OpenBSD by Carewolf · · Score: 1

      It doesn't. That's just one way of using it. All it requires is speculation regarding the return address. In this sense it's no different than previously discovered variants. The basic idea of all these attacks is that user space processes can get access to memory which would normally be protected.

      True, but depending on what mechanism they use to store information from the speculation they are sometimes bound by sharing the same cache or internal-cpu buffers.

  2. doable from low privileged scripting languages? by Rockoon · · Score: 2

    What concerns me arent the attacks where the attackers binary is already running on my machine. What concerns me are the attacks that can be performed via "drive-by."

    --
    "His name was James Damore."
    1. Re:doable from low privileged scripting languages? by Anonymous Coward · · Score: 0

      This article describes the results that were obtained in the "lab". Which means the researchers have total unfettered access to the machine they are and processes they are testing. The have an unlimited number of tries to exploit the targeted weakness. If researchers were able to find a CPU they could not exploit chances are the CPU in question would be so secure and rigid that it becomes useless. These days it is perimeter security that determine whether or not a system is secure. Nothing is safe if the exploiter has physical access to your machine. Your best protection is concentrating your efforts on perimeter security, thorough OS security rollouts, firmware vigilance for every physical device connected to your network, and aggressive firewall configurations, auto shifting of port assignments, and enforce white lists to control what your users can do when on the Internet.

  3. Defcon ... by Anonymous Coward · · Score: 0

    Glad I skipped this year. Wouldn't want to be anywhere NEAR Vegas.

    ROWHAMMER are NOT new.. Intel should be on the hook for at _least_ the i7 and i9.

    At some point Governments WILL have to start fining and banning these companies. What happens after that is likely going to be worse (architecture changes).

  4. Javascript and virtualisation as vectors by Anonymous Coward · · Score: 5, Informative

    Javascript in browsers means EVERY workstation is running insecure remote code. Being this far from the hardware limits some attacks, but it basically gives the attackers all day, every day on every machine to work at it.

    Cloud services (virtualisation) gives every attacker the opportunity to run their code on the same hardware as any number of potential victims. Again, they can attack all day, every day. They will win some, often enough to matter. It's like a giant bad guy lottery.

    1. Re:Javascript and virtualisation as vectors by Anonymous Coward · · Score: 1

      Javascript in browsers means EVERY workstation is running insecure remote code

      Yes.... and can we all just take a moment and finally admit that running Javascript by default is a bad, bad, BAD idea?

      That was always going to lead to a disaster.

    2. Re:Javascript and virtualisation as vectors by Anonymous Coward · · Score: 0

      I was never greatly fond of hyper-threading since it never seemed to do that much and it blurred the line between what is and what is not a core.

      It is worth noting that one solution to some of this mess is simply more cores and segregation, plus a lot of careful work to make sure everything is cleared between a task switch. Power usage should be similar, since you can put idle cores in a powered down state.

      Beyond that we might need chips that explicitly separate cache and even main memory, with a locked down interop path. Basically have it where trust is minimized.

      If the untrusted code is in its own processor core jail with its own memory and all the rest, then the damage it can do is somewhat more limited.

  5. What ARM processors are NOT susceptible to Spectre by Futurepower(R) · · Score: 1

    "The attack works on Intel, AMD, and ARM processors, known to use RSB."

    What ARM processors are NOT susceptible to SpectreRSB? Some were said not to be susceptible to Meltdown and Spectre. For example, Eben Upton Explains Why Raspberry Pi Isn't Vulnerable To Spectre Or Meltdown

    Quote: "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."

  6. Re:might as well throw everything away by Anonymous Coward · · Score: 0

    all tech is garbage

    Can you fuck off with the spam?? We get it, you're trying to get Slashdot to remove anon posting. On any other board even you would be downvoted.

    Can't believe the first message in yet another thread is literally a fuckin copypasta bible of some rant.

    Take your fuckin bots elswhere.

  7. Re:What ARM processors are NOT susceptible to Spec by Anonymous Coward · · Score: 0

    "The attack works on Intel, AMD, and ARM processors, known to use RSB."

      What ARM processors are NOT susceptible to SpectreRSB? Some were said not to be susceptible to Meltdown and Spectre. For example, Eben Upton Explains Why Raspberry Pi Isn't Vulnerable To Spectre Or Meltdown

    Quote: "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."

    and , just to reiterate...

    The attack works on Intel, AMD, and ARM processors, known to use RSB.

    In related news, all Intel, ARM and AMD chips are affected by this and Meltdown if they are made by Intel.

  8. "The attack works on Intel, AMD, and ARM ..." by Megol · · Score: 5, Informative

    Citation needed. I'll provide the one in the paper: "Although we did not demonstrate attacks on AMD and ARM processors, they also use RSBs to predict return addresses"

    I'll also note that the only demonstrated working attack is against Intel SGX enclaves, something that is Intel specific. There are demonstrations that do not expose information within a process and between two co-operating processes however those are normally not a security problem.

    No doubt some type of attack using the return address stack is possible on AMD, ARM, and other processors with branch prediction. However that isn't demonstrated and it isn't claimed in the linked paper.

  9. Re: doable from low privileged scripting languages by Anonymous Coward · · Score: 0

    If you have systems in a consolidated server, at a cloud provider for example - then you should be concerned. A random attacker can rent a vm on the same hardware as yours then have all the needed time to attack your systems, eventually managing to extract your data. Once exploit code is out in the public, potentially anyone could do it with little effort.

    Donâ(TM)t dismiss a security vulnerability, on the pretext that no valid use case comes to your mind at first thought. An attacker may happen to have better imagination than you have - especially if there is motivation to attack your systems.

  10. Re: doable from low privileged scripting languages by Anonymous Coward · · Score: 0

    Ever heard of virtualization and consolidation of systems on the same hardware? These days it is quite common for cloud service providers to stack multiple customers or the same hardware. Even you own the hardware, you may have systems of different security levels virtualized on the same hardware. An attacker that manages to compromise your perimeter web server can now attempt attacks against your internal systems, running on the same hypervisor.

    Virtualization should never be used to replace physical security segmentation.

  11. And THIS is why you always need to trash the RSB by Anonymous Coward · · Score: 0

    with a pop and a jump. Make life good again! Dump Trump is a shit hole country, like Iran! Put Trump in a red white and blue straight jacket and ship Trump off to Iran. Let them wacky Iranians deal with Trump. Two birds! One stone!

  12. Vulnerability description by Anonymous Coward · · Score: 3, Informative

    Here's a summary of the vulnerability, for those of you who don't want to (or don't have the time to) read TFA.
    Every modern CPU has a branch predictor to make it possible to speculatively execute instructions after a branch instruction (a jump to code at another memory location). However, branch predictors often don't perform particularly well for the return instructions that occur at the end of a function, since a single function might be called lots of times from various other functions. So to aid in speculatively executing instructions after a return instruction, any manufacturers have added a return stack buffer, or RSB for short, to their processors.
    It works like this. When a call instruction is executed, the address of the next instruction is placed on the stack, to be later taken from the stack by the return instruction that makes execution return to that address. Wouldn't it be great if you could use this address instead of the branch predictor when speculatively executing a return instruction? Unfortunately, doing this would force you to exactly keep track of what the stack pointer is doing and speculatively load the memory page containing that part of the stack and then speculatively read the return address from it. This is a lot of work. But we want to get the result of all this work to the return instruction when it is speculatively executed, so fairly ahead of time, otherwise there'd be no point in trying to speculatively execute it as you might as well just end the pipeline at every return instruction and just normally execute it in that case. And this is where the RSB comes in. Most of the time the return address doesn't change, so when a call instruction is executed, the processor doesn't just push it on the stack, but also on a fairly small stack of return addresses within the CPU itself. This is the RSB. When the corresponding return instruction is speculatively executed, the CPU consults the RSB to determine the return address and continues speculatively executing instructions from there.
    So how can this be exploited? Suppose you have a call instruction immediately followed by code that reads a value from memory you aren't supposed to be able to access and then uses that value to index into an array and read a value from that array. The call instruction itself jumps to code that changes the return address on the stack to the actual code to execute next and then returns. When this return instruction is speculatively executed, the RSB is consulted and the normally inaccessible value is speculatively read. Of course during normal execution that would trigger an access violation exception, but during speculative execution the read happens before any access checks have been completed. So this value can be speculatively used to index into the array and the next speculative read from the array will pull a page from the array into the CPU cache. However, as the pipeline advances and the return instruction starts to be committed, the CPU realises the value on the stack doesn't match the value in the RSB. The pipeline stalls and the return instruction jumps to the actual return address, where some code is located to probe the processor cache. Based on the timing, the aforementioned value located in supposedly inaccessible memory can be deduced, even though it was only speculatively read and never officially.
    The article contains some more examples of inter-thread, inter-process, and inter-privilege-mode shenanigans, but this is the gist of it.

  13. Please answer the question. by Futurepower(R) · · Score: 1

    I hope someone else gives a meaningful answer.

  14. Re:might as well throw everything away by Anonymous Coward · · Score: 0

    all tech is garbage

    Can you fuck off with the spam?? We get it, you're trying to get Slashdot to remove anon posting.

    Stating that "all tech is garbage" is not spam. It is a user stating an opinion, and it's an opinion that appears to be supported by TFA. What's wrong with that?

    (Bonus question: Why should it matter whether the person stating an opinion is anonynous or not?)

  15. What ARM processors are NOT susceptible to Spectre by Futurepower(R) · · Score: 2

    The referenced article: Vulnerability of Speculative Processors to Cache Timing Side-Channel Mechanism

    Quote: "The majority of Arm processors are not impacted by any variation of this side-channel speculation mechanism. A definitive list of the small subset of Arm-designed processors that are susceptible can be found below."

    Question: What processors are NOT vulnerable? The article lists only the processors that ARE vulnerable.

  16. CPUs with speculative execution by Anonymous Coward · · Score: 0

    Just rip this fucking unit out of the CPU and be done with it. Intel asshats.

  17. Re: ALL Fake news comes from FAKE JEWS by Anonymous Coward · · Score: 0

    Holy shit Cartman...do you ever shut up?

  18. Looking for neighbors by Thrakkerzog · · Score: 1

    I wonder if VPS providers will have to throttle VM creation because nefarious people spin up VMs looking for a particular neighboring host on the same physical server..

  19. Re: might as well throw everything away by Anonymous Coward · · Score: 0

    Are you a fucking flat-earther? Fuck, you are dumb.