Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Luigi Thirty
Apr 30, 2006

Emergency confection port.

is my UltraSPARC II-based Sun server safe :ohdear:

Adbot
ADBOT LOVES YOU

Wiggly Wayne DDS
Sep 11, 2010



i said before that there's 34c3 talks that explain the theory behind all of this but i've made a list:

Microarchitectural Attacks on Trusted Execution Environments by Keegan Ryan (55:02)
- great visual introduction to a variety of side-channel techniques, including improving the effectiveness and branch prediction attacks (sound familiar?)

Everything you want to know about x86 microcode, but might have been afraid to ask by Benjamin Kollenda and Philipp Koppe (57:25)
- think a microcode update will fix this all? have a talk on reversing microcode updates and implementing your own to get an idea of what's possible

ASLR on the line by brainsmoke (44:14)
- a feasible javascript-based attack on defeating aslr - must watch given how quickly the speaker reimplemented a poc for meltdown based off of pre-publication info

Heresiarch
Oct 6, 2005

Literature is not exhaustible, for the sufficient and simple reason that no single book is. A book is not an isolated being: it is a relationship, an axis of innumerable relationships.
i've been doing a bunch of reading this morning about this mess and the idea that you could write exploits for either meltdown or spectre in browser javascript seems kind of nonsensical to me

based on what i've read, both of these exploits require allocating, writing, and/or reading memory directly in order to work, which simply isn't possible in browser javascript or any sort of similar managed environment. the descriptions and the example code all suggest that you'd need to be writing your exploit code in C or assembly or something similar, where the kernel itself is providing you memory access and not a VM or interpreter of some kind

but then we also have google, mozilla, and microsoft all implementing mitigations in their browsers and i don't entirely understand why

it would seem to me that these mitigations are to prevent meltdown/spectre attacks from outside the browser, by malicious executables, but the wording of the descriptions from these organizations suggests they're concerned about exploits running in the browser itself

what am i missing here? am i actually just outright wrong, and you could write effective meltdown/spectre exploits in javascript? and if so, where did my understanding of the situation go awry?

Notorious b.s.d.
Jan 25, 2003

by Reene

Cybernetic Vermin posted:

googles poc for the branch predictor (spectre) case reads 1500 bytes/sec with 10-30 minutes setup, and seeing how all you need is 8-32 bytes for some cookie/certificate you can spend a fair few bytes to figure out where some interesting 32 bytes are

figuring out where the interesting bytes are is typically why i want to leak a bunch of kernel memory, no?

with aslr and kpti i can't know where anything is without either having control over the process (to read its /proc/maps) or dumping a lot of memory....

Luigi Thirty posted:

is my UltraSPARC II-based Sun server safe :ohdear:

not by design, but maybe accidentally -- no one is writing shellcode for sparc in this day and age

on the other hand you probably have eight gazillion unpatched holes in solaris, unless you are paying $10k+ a year to oracle

Wiggly Wayne DDS
Sep 11, 2010



Heresiarch posted:

i've been doing a bunch of reading this morning about this mess and the idea that you could write exploits for either meltdown or spectre in browser javascript seems kind of nonsensical to me

based on what i've read, both of these exploits require allocating, writing, and/or reading memory directly in order to work, which simply isn't possible in browser javascript or any sort of similar managed environment. the descriptions and the example code all suggest that you'd need to be writing your exploit code in C or assembly or something similar, where the kernel itself is providing you memory access and not a VM or interpreter of some kind

but then we also have google, mozilla, and microsoft all implementing mitigations in their browsers and i don't entirely understand why

it would seem to me that these mitigations are to prevent meltdown/spectre attacks from outside the browser, by malicious executables, but the wording of the descriptions from these organizations suggests they're concerned about exploits running in the browser itself

what am i missing here? am i actually just outright wrong, and you could write effective meltdown/spectre exploits in javascript? and if so, where did my understanding of the situation go awry?
they just introduce abstractions - those abstractions still have to perform syscalls to alter memory and by understanding how they work you can use them as primitives, essentially ignoring the layer exists.

meet: rowhammer.js
meet: ASLR on the line

or a meltdown poc that was removed from youtube (someone report-bombed it) to show that read-only doesn't mean useless:

https://twitter.com/misc0110/status/948706387491786752

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
iiuc the basic idea is that js array accesses do ultimately contain code like if (i < array_inline_length) result = array_storage[i], so while you have to defeat the aslr++ slide of ((char*) kernel_aslr_base - (char*) array_storage), that load can still be fooled into accessing arbitrary memory on the speculative path

apseudonym
Feb 25, 2011

Notorious b.s.d. posted:

figuring out where the interesting bytes are is typically why i want to leak a bunch of kernel memory, no?

with aslr and kpti i can't know where anything is without either having control over the process (to read its /proc/maps) or dumping a lot of memory....


not by design, but maybe accidentally -- no one is writing shellcode for sparc in this day and age

on the other hand you probably have eight gazillion unpatched holes in solaris, unless you are paying $10k+ a year to oracle

ASLR defeating Info leaks are extremely common and the early version of this work was against KASLR, putting a lot of reliance of ASLR this day in age is pretty risky.

This is less about getting a kernel address so you can set up your rop gadgets and more "gently caress it give me those crypto keys without bothering to get exec"

haveblue
Aug 15, 2005



Toilet Rascal

Heresiarch posted:

i've been doing a bunch of reading this morning about this mess and the idea that you could write exploits for either meltdown or spectre in browser javascript seems kind of nonsensical to me

based on what i've read, both of these exploits require allocating, writing, and/or reading memory directly in order to work, which simply isn't possible in browser javascript or any sort of similar managed environment. the descriptions and the example code all suggest that you'd need to be writing your exploit code in C or assembly or something similar, where the kernel itself is providing you memory access and not a VM or interpreter of some kind

but then we also have google, mozilla, and microsoft all implementing mitigations in their browsers and i don't entirely understand why

it would seem to me that these mitigations are to prevent meltdown/spectre attacks from outside the browser, by malicious executables, but the wording of the descriptions from these organizations suggests they're concerned about exploits running in the browser itself

what am i missing here? am i actually just outright wrong, and you could write effective meltdown/spectre exploits in javascript? and if so, where did my understanding of the situation go awry?

executing javascript eventually involves turning it into machine code via a predictable process (the JIT compiler) so if you understand that process well enough (and most leading JIT compilers are open source) you can write javascript that it will transform into the machine code you want

Notorious b.s.d.
Jan 25, 2003

by Reene

apseudonym posted:

This is less about getting a kernel address so you can set up your rop gadgets and more "gently caress it give me those crypto keys without bothering to get exec"

ok so how do i get those crypto keys?

with meltdown, the answer is obvious -- just dump enough memory at 500 kb/s and you will find some good stuff at random.

with the branch predictor exploit, i just don't get it

Heresiarch
Oct 6, 2005

Literature is not exhaustible, for the sufficient and simple reason that no single book is. A book is not an isolated being: it is a relationship, an axis of innumerable relationships.

Wiggly Wayne DDS posted:

they just introduce abstractions - those abstractions still have to perform syscalls to alter memory and by understanding how they work you can use them as primitives, essentially ignoring the layer exists.

haveblue posted:

executing javascript eventually involves turning it into machine code via a predictable process (the JIT compiler) so if you understand that process well enough (and most leading JIT compilers are open source) you can write javascript that it will transform into the machine code you want

fair enough

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

Notorious b.s.d. posted:

ok so how do i get those crypto keys?

with meltdown, the answer is obvious -- just dump enough memory at 500 kb/s and you will find some good stuff at random.

with the branch predictor exploit, i just don't get it

just how much entropy do you think there is in the kernel's aslr?

Cybernetic Vermin
Apr 18, 2005

Notorious b.s.d. posted:

ok so how do i get those crypto keys?

with meltdown, the answer is obvious -- just dump enough memory at 500 kb/s and you will find some good stuff at random.

with the branch predictor exploit, i just don't get it

tbqh this is a good question, but not good enough to be terribly optimistic. as long as you can find *a* branch in the target (which may in fact be googles preprocessing 10-30 minutes) the exploit is pretty friendly, since you can start reading the values surrounding that and infer where you are, after which point you can start extracting pointers inside the kernel to get where you need to go, you only need that one jump-off and things seem to get pretty straightforward

not at all impossible that you're right, but i wouldn't get too optimistic

Lain Iwakura
Aug 5, 2004

The body exists only to verify one's own existence.

Taco Defender

The_Franz posted:

i was being sarcastic, but is ppc actually immune to these attacks or is it just a matter of nobody having checked?

i'm guessing the latter

https://twitter.com/KateLibc/status/948979943999815680

anthonypants
May 6, 2007

by Nyc_Tattoo
Dinosaur Gum
https://twitter.com/anthonypants/status/949004710500974592

Notorious b.s.d.
Jan 25, 2003

by Reene

Jabor posted:

just how much entropy do you think there is in the kernel's aslr?

even if there were zero entropy in the aslr, even if aslr were turned off -- how do you predict the heap location of the thing you are interested in?

bearing in mind your leak rate is measured in bytes per minute. guessing where the heap is, and then groveling the heap, is probably not a great choice.

Carbon dioxide
Oct 9, 2012

I installed the latest Windows updates on my Win 10 laptop, then did the verification steps as explained here:

https://support.microsoft.com/en-gb/help/4073119/windows-client-guidance-for-it-pros-to-protect-against-speculative-exe

Apparently I'm not safe because my hardware vendor (Toshiba) has not published a firmware update yet.

Now, someone told me that in case of emergency, I can update the microcode using the process explained here:

https://labs.vmware.com/flings/vmware-cpu-microcode-update-driver#summary

Question for the knowledgeable people in this thread: is it safe to do that, or is it a terrible idea to go mess around with low-level stuff like that and better to just wait and see if Toshiba poops out an update soon?

Cybernetic Vermin
Apr 18, 2005

Notorious b.s.d. posted:

even if there were zero entropy in the aslr, even if aslr were turned off -- how do you predict the heap location of the thing you are interested in?

bearing in mind your leak rate is measured in bytes per minute. guessing where the heap is, and then groveling the heap, is probably not a great choice.

well, if you can read freely you follow the sequence of pointers that the kernel needs to have to find the value when it needs it itself. it is not like that in itself is very obscure

Kazinsal
Dec 13, 2011


wait wait hold on, roll back a few pages

AggressivelyStupid posted:

Terry is in prison at the moment so it'll be a while, assuming templeOS even needs patched

what? when did this happen?

pseudorandom name
May 6, 2007


pipelined CPUs with branch predictors are also vulnerable to Spectre

Wiggly Wayne DDS
Sep 11, 2010



more information on the issues and mitigations:

https://security.googleblog.com/2018/01/more-details-about-mitigations-for-cpu_4.html

Raere
Dec 13, 2007

https://docs.google.com/spreadsheets/d/184wcDt9I9TUNFFbsAVLpzAtckQxYiuirADzf3cL42FQ/htmlview?sle=true#gid=0

Spreadsheet listing the status of AV vendors allowing the MS patch to install

Lain Iwakura
Aug 5, 2004

The body exists only to verify one's own existence.

Taco Defender

pseudorandom name posted:

pipelined CPUs with branch predictors are also vulnerable to Spectre

FOILED

also

infernal machines
Oct 11, 2012

we monitor many frequencies. we listen always. came a voice, out of the babel of tongues, speaking to us. it played us a mighty dub.
lol. also how the hell did he manage to issue a cert for just under two months?

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



60 days inclusive?

Wiggly Wayne DDS
Sep 11, 2010



infernal machines posted:

lol. also how the hell did he manage to issue a cert for just under two months?

Krankenstyle posted:

60 days inclusive?
that's a 90 day cert...

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
Isn't that how let's encrypt rolls? And you're expected to automate cert renewal?

infernal machines
Oct 11, 2012

we monitor many frequencies. we listen always. came a voice, out of the babel of tongues, speaking to us. it played us a mighty dub.

Wiggly Wayne DDS posted:

that's a 90 day cert...

can't math, send help

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp
as a person that now works heavily with TLS,


gently caress letsencrypt

oh my goddddddddddddd

redleader
Aug 18, 2005

Engage according to operational parameters

Jonny 290 posted:

as a person that now works heavily with TLS,


gently caress letsencrypt

oh my goddddddddddddd

how so?

ChubbyThePhat
Dec 22, 2006

Who nico nico needs anyone else

Jonny 290 posted:

as a person that now works heavily with TLS,


gently caress letsencrypt

oh my goddddddddddddd

Wait, why are they bad?

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp
it is incredibly annoying and pissy to deal with customer letsencrypt poo poo when _they could just spend a few bucks and have us do all the TLS and it Just Works_

basically its kind of a mineshaft canary for Annoying Cheap Customer

if youre ok with janitoring u own poo poo, go forth and go nuts

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp
2018 and sa does not support markdown

ChubbyThePhat
Dec 22, 2006

Who nico nico needs anyone else

Jonny 290 posted:

it is incredibly annoying and pissy to deal with customer letsencrypt poo poo when _they could just spend a few bucks and have us do all the TLS and it Just Works_

basically its kind of a mineshaft canary for Annoying Cheap Customer

if youre ok with janitoring u own poo poo, go forth and go nuts

Ah. OK, yes this is fine. I'm generally breaking all my own (personal) poo poo anyways.

mrmcd
Feb 22, 2003

Pictured: The only good cop (a fictional one).


quote:

In response to the vulnerabilities that were discovered we developed a novel mitigation called “Retpoline” -- a binary modification technique that protects against “branch target injection” attacks. We shared Retpoline with our industry partners and have deployed it on Google’s systems, where we have observed negligible impact on performance.

In addition, we have deployed Kernel Page Table Isolation (KPTI) -- a general purpose technique for better protecting sensitive information in memory from other software running on a machine -- to the entire fleet of Google Linux production servers that support all of our products, including Search, Gmail, YouTube, and Google Cloud Platform.

My vijda games... still fast???

Linguica
Jul 13, 2000
You're already dead

Don't you install the letsencrypt package for your distribution and let it Just Work by itself. That's what I did??

MrMoo
Sep 14, 2000

Jonny 290 posted:

it is incredibly annoying and pissy to deal with customer letsencrypt poo poo when _they could just spend a few bucks and have us do all the TLS and it Just Works_


They finally got certbot into CentOS 7 so I'm happy, a complete poo poo show before that though. Retarded Python dependencies that wipe out on a forced automatic upgrade.

pseudorandom name
May 6, 2007

mrmcd posted:

My vijda games... still fast???

Retpolines are for Spectre variant 2, the one where you fill the Branch Target Buffer with malicious prediction data in one process (or the same process, for JITs) and then invoke some trusted code to cause it to speculatively execute basically anything based the BTB and then measure the result.

So your games are still fast because they're not going to update the game executable to mitigate this attack.

edit: oh, and apparently the retpolines hack exist because the Indirect Branch Restricted Speculation microcode update is even worse on performance than the Page Table Isolation patch, and if you don't have a kernel ABI or have to worry about third-party device drivers you can just change the compiler to generate code that can't be exploited

pseudorandom name fucked around with this message at 01:03 on Jan 5, 2018

OWLS!
Sep 17, 2009

by LITERALLY AN ADMIN

MrMoo posted:

They finally got certbot into CentOS 7 so I'm happy, a complete poo poo show before that though. Retarded Python dependencies that wipe out on a forced automatic upgrade.

All glory to the bash wrapper for that poo poo, it's still finicky as turbofuck, and about once a year I need to go fiddle with it.

Still comes out to ever so slightly cheaper in $/hour * time spent for me than buying a cert, so :effort:

Wiggly Wayne DDS
Sep 11, 2010



aha we finally find out what

https://twitter.com/taviso/status/919193639422537728

was about : https://bugs.chromium.org/p/project-zero/issues/detail?id=1389
win32k: Using SetClassLong to switch between CS_CLASSDC and CS_OWNDC corrupts DC cache

Adbot
ADBOT LOVES YOU

ChubbyThePhat
Dec 22, 2006

Who nico nico needs anyone else

Wiggly Wayne DDS posted:

aha we finally find out what

https://twitter.com/taviso/status/919193639422537728

was about : https://bugs.chromium.org/p/project-zero/issues/detail?id=1389
win32k: Using SetClassLong to switch between CS_CLASSDC and CS_OWNDC corrupts DC cache

Amazing.

  • Locked thread