» »

Ranljivost v implementaciji ASLR v Haswellu

Ranljivost v implementaciji ASLR v Haswellu

Ars Technica - ASLR je ena izmed pomembnih tehnologij za omejevanje škode, ki jo lahko napadalci povzročijo s prekoračitvijo predpomnilnika. Operacijski sistem namreč različne dele programov v pomnilnik nalaga naključno, tako da ni mogoče zanesljivo predvideti, kaj se v pomnilniku nahaja za koncem bloka, ki pripada nekemu programu. Na ta način s prekoračitvijo predpomnilnika ni mogoče skočiti na želeno mesto. Raziskovalci z Univerze v Kaliforniji pa so sedaj ugotovili, da imajo Intellovi procesorji iz serije Haswell ranljivost, ki omogoča poznavanje lokacije, kam sistem naloži posamezne programe.

Ranljivost tiči v delu procesorja, ki se ukvarja z napovedovanjem, po kateri poti po IF-stavku se bo koda izvedla, še preden se pogoj dejansko preveri (branch predictor), kar je nujno za učinkovito delovanje modernih cevovodov. Raziskovalci so pokazali, kako lahko izkoristijo tabelo naslovov zadnjih operacij, ki jo ima branch predictor. S primerno napisanim programom, ki povzroči kolizijo v v tabeli (BTB, branch target buffer), ki jo ima branch predictor za lastne potrebe, lahko ugotovijo ASLR.

V članku so pokazali, kako lahko napadejo Intel Core i7-4800MQ, na katerem teče Linux. Ranljivi so seveda Windows, Mac OS X in Linux, saj je težava strojna. Ena izmed rešitev za omiljenje posledic je uporaba dovolj velikega vira entropije, ki vsebuje vsaj 17 bitov - recimo Windows 8 jih že uporablja 24 bitov, zato bi moral biti načeloma odporen na novi napad.

11 komentarjev

JeBelaCesta ::

NSA backdoor maybe ?
lep pozdrav iz višav ;-)

erunno ::

Dvomljivo, ker so strojne ranljivosti zelo škodljive tudi tebi in tvojim partnerjem/podizvajalcem. Še posebej če lahko narediš lahko larkoli na vseh ostalih ravneh.

pegasus ::

OpenBSD ima zagotovo workaround že par let :D

LightBit ::

pegasus je izjavil:

OpenBSD ima zagotovo workaround že par let :D

Ja, kernel panic, če zazna Haswell. >:D

GupeM ::

erunno je izjavil:

Dvomljivo, ker so strojne ranljivosti zelo škodljive tudi tebi in tvojim partnerjem/podizvajalcem. Še posebej če lahko narediš lahko larkoli na vseh ostalih ravneh.

Razen, če za ranljivost veš in ne uporabljaš Haswella.

Looooooka ::

Al pa če je rešitev že napisana in ni nobenega problema. Simple software update.

BivšiUser2 ::

Razen, če za ranljivost veš in ne uporabljaš Haswella.

A misliš, da na Skylake in drugih ranljivosti ni?
Koliko pa je realnih napadov s strani hekerjev, ki niso "javni" znanstveniki ali zaposleni pri državnih agencijah za varnost in ostalih takih organizacij?
SloTech - če nisi z nami, si persona non grata.

Furbo ::

BivšiUser2 je izjavil:

Razen, če za ranljivost veš in ne uporabljaš Haswella.

A misliš, da na Skylake in drugih ranljivosti ni?
Koliko pa je realnih napadov s strani hekerjev, ki niso "javni" znanstveniki ali zaposleni pri državnih agencijah za varnost in ostalih takih organizacij?

Torej, koliko je realnih napadov s strani ljudi, ki so sposobni in ki niso pripravljeni delati za majhen denar v neki agenciji? >:D
i5-13600K, Noctua NH-D15, STRIX Z790-F, 32GB DDR5, 2TB Samsung 990PRO,
Toughpower GF3 1000W, RTX3070, ALIENWARE AW3423DWF, Dell S2722QC

dunker ::

Mac OS X = macOS.

fiction ::

Naslov je malo zavajujoč, ker ASLR ni implementiran na nivoju procesorja. Gre samo za zanimiv side-channel napad, s katerim tvoj program dobi podatke o nekem drugem programu (po možnosti z višjimi privilegiji), ki se izvaja sočasno na istem jedru. S pomočjo minimalne razlike v času zaradi BTB kolizije lahko ugotoviš kateri naslovi so veljavni cilji skokov v drugem programu (kljub temu, da ne moreš poškiliti v njegov naslovni prostor).

S tem torej izveš, da je na tistih naslovih (zelo verjetno) neka koda. To, da se drug program izvaja točno na istem CPU-ju zahteva kar nekaj telovadbe ("DoS" vseh ostalih jeder ali pa poganjanje tvojega programa na vseh jedrih). Je pa vse skupaj priročno v primeru KASLR, kjer je entropija razmeroma majhna pa še sistemski klic se v bistvu izvede vedno na istem jedru (samo v bolj priviligiranem načinu). In ker je v bistvu pri KASLR samo naključno zamaknjen začetek, en majhen leak, če poznaš točno verzijo jedra, takoj povzroči, da poznaš celoten memory layout.

Vsi moderni procesorji imajo špekulativno izvajanje in napovedovanje skokov, tako da ne vem, če dejstvo, da je raziskovalcem uspelo prikazati delovanje na Haswell procesorju lahko pove kaj o tem, kako ranljivi ali ne-ranljivi so drugi procesorji. Verjetno bi morali dodat nek naključen šum, samo s tem je pa spet težava. Na ta način bi procesor delal tako počasi kot v najslabšem primeru, ki se pri normalni uporabi zgodi razmeroma redko.

Tale članek je tudi zanimiv.

fiction ::

Aja medpomnilnik = buffer, predpomnilnik = cache ali se motim?

Furbo je izjavil:

BivšiUser2 je izjavil:

Razen, če za ranljivost veš in ne uporabljaš Haswella.

A misliš, da na Skylake in drugih ranljivosti ni?
Koliko pa je realnih napadov s strani hekerjev, ki niso "javni" znanstveniki ali zaposleni pri državnih agencijah za varnost in ostalih takih organizacij?

Torej, koliko je realnih napadov s strani ljudi, ki so sposobni in ki niso pripravljeni delati za majhen denar v neki agenciji? >:D


Napadov s strani hekerjev, ki bi to izkoriščali (seveda v povezavi s še kakšno drugo ranljivostjo) verjetno ni bilo veliko, je pa za pričakovati, da je, če je kdo to prej ugotovil, odkritje za primerno ceno prodal naprej. Ne vem sicer, kakšna bi bila cena česa takega, ampak določene 0day ranljivosti dosežejo tudi 100k+. Zdej si pa predstavljaj, da sediš na nečem takem. Seveda lahko vse skupaj uporabiš tudi za to, da shekaš sosedovega mulca, ampak pri tem vedno obstaja riziko. Če se nekje ohrani samo drobec, poleg kazenskega pregona lahko izgubiš tudi celo premoženje.

Zaposleni v državnih agencijah za majhen denar najbrž samo ("script-kiddie" style) izvajajo napade. Večji del budgeta gre pa za raziskave oz. odkupovanje stvari na sivem trgu.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kaj vemo o napadih Spectre in Meltdown na procesorje (strani: 1 2 )

Oddelek: Novice / Varnost
9136300 (30795) D3m
»

Računalniški virus v biološki DNK

Oddelek: Novice / Znanost in tehnologija
228373 (6761) DamijanD
»

SOI zmanjša porabo

Oddelek: Novice / Apple iPhone/iPad/iPod
273943 (2827) win64
»

Apple naznanil prehod na Intelove procesorje (strani: 1 2 )

Oddelek: Novice / Procesorji
8011094 (9113) mercutio
»

INTEL SE VRAČA!!

Oddelek: Strojna oprema
351846 (877) TESKAn

Več podobnih tem