» »

Nova zloraba v Linux jedru 2.6.31 omogoča dvig privilegijev uporabnika

Nova zloraba v Linux jedru 2.6.31 omogoča dvig privilegijev uporabnika

Slo-Tech - Brad Spender, znani varnostni strokovnjak iz GR Security je na YouTube objavil kratek video, v katerem demonstrira novo zlorabo v Linux jedru 2.6.31, ki omogoča dvig privilegijev.

V predstavitvi Spender zlorabo prikazuje na sistemu, ki uporablja SELinux in ima naložene vse varnostne popravke. Zlonamerna koda deluje na 32 in 64-bitnih sistemih, omogoča pa dvig privilegijev na nivo Ring 0 ter popolno onemogočanje varnostnih mehanizmov SELinuxa. Debata o ranljivosti že poteka na našem forumu.

Spender je svoj filmček na YouTube objavil pod kategorijo "Komedija" in morda je čas, da razvijalci Linuxa sprevidijo, da varnost vsekakor ni šala...

45 komentarjev

Looooooka ::

what...no UAC? :D

nekikr ::

To sigurno ne more biti res. Linux je superioren v vseh pogledih. Jype, potrdi prosim.

jype ::

Potrjujem, reč nikakor ne drži, Linux nima nobene napake!

jishiri ::

jype ce mislis da zato ker je linux, in odprtokoden da pomeni da nima nobene napake?
dokler bojo ljudje pisali kodo bodo vedno napake in luknje... ker saj ves kako pravijo delati napake je clovesko...

ali pa mogoce ker bolj malo slisis o varnostnih luknah? seveda ker ima le majhen delez po svetu in se nekaterimi ne da ubadati z linuxom temvec za windowsi ker je bolj razsirjen in za nekatere bolj dobickonosen...

Zgodovina sprememb…

  • spremenilo: jishiri ()

PaX_MaN ::

ali pa mogoce ker bolj malo slisis o varnostnih luknah?

Na Svetu Kanala A tega res ne poročajo...

Blisk ::

Ok o tem je že bila debata, človk mora bit fizično na PCju, da mu rata to.
Torej ni straha, če je server dobro nastavljen.

jishiri ::

Pax man...

kok si ti en brihten clovk... :P

PaX_MaN ::

kok si ti en brihten clovk...

Hvala za kompliment.

kriko1 ::

A poleg fizičnega dostopa potrebuješ še SELinux?

Blisk ::

A poleg fizičnega dostopa potrebuješ še SELinux?

Seveda, jst sicer imam SElinux je disablan, tako da ne vem ali to kljub temu pomeni da lahko "zlorabiš" pc ali ne.
Vsekakor pa ni panike, vsi uporabniki imajo NOLOGIN, razen mene.
>Če pa ugane moje geslo pa itak zjebe cel sistem.

jype ::

jishiri> jype ce mislis da zato ker je linux, in odprtokoden da pomeni da nima nobene napake?

Ma ne, po službeni dolžnosti morm rečt to. Kakšen trol bi pa bil, če bi priznal, da se motim?

poweroff ::

jishiri ne pametuj o Win vs. Lin in razširjenosti. Dejstvo je pač, da imajo vsi sistemi ranljivosti. Se pa zasnova razlikuje, zato neposredno ("na pamet") primerjanje enega ali drugega ni na mestu.
sudo poweroff

Zero0ne ::

Take ranljivosti so v večini primerih odpravljene v parih dneh - to je, še preden velika večina uporabnikov najnovejšo verzijo kernela sploh inštalira.

Lonsarg ::

Te novice so mi tko smešne, pa naj bo o Linuxu, ali pa Windowsu sej je enako, napišejo novo ranljivost, pa zmeraj je tako, da deluje samo, če imaš fizični dostop.

Lej, če imaš fizični dostop sploh nima veze, ker operacijski je gor, samo disk ven vzameš, pa ga uporabiš kot data, samo kriptiranje lahko reši to, kar pa na serverjih folk načeloma ne uporablja.

AndrejS ::

Linux je bil varen dokler so ga uporabljali pingvini, sedaj pa so ga začeli uporabljati tudi ljudje :D

jype ::

Azgard> pa zmeraj je tako, da deluje samo, če imaš fizični dostop.

Nope, v tem primeru deluje že, če imaš kakršenkoli dostop do mašine - sposoben moraš biti zgolj pognati kodo na njej.

BlueRunner ::

Fizičen dostop je skoraj vedno game-over.

Lokalen dostop kjer imajo uporabniki omogočen dostop zaradi takšnih ali drugačnih stvari je občutljiv, saj so tovrstne napake v jedru in/ali aplikacijah pogoste.

Oddaljena dostopnost (sistem dostopen iz javnega omrežja) pa je danes že zelo redka napaka. Nikakor pa ne nemogoča.

Uspešna zloraba običajno gradi na izkoriščanju napak, ki omogočajo najprej dostop do sistema, nato pa se ta dostop "nadgradi" na nadzor sistema. Tako ti lahko npr. ranljivost v kakšni obskurni aplikaciji (lahko tudi spletni PHP aplikaciji) omogoči izvrševanje kode na računalniku, ta koda pa lahko uspešno doseže nadzor računalnika in/ali sproži procese, ki omogočijo tudi lažji dostop do računalnika (netcat, ssh, ...).

Zato so vse lokalne ranljivosti vsaj pri tistih, ki razumemo logiko varovanja sistemov, vedno povezave s tem, da lahko obstajajo tudi oddaljena vrata, ki lahko pripeljejo do zlorabe lokalne ranljivosti že samo z uporabo omrežne povezave.

Tipkovnica, miš in zaklenjene omare so v teh primerih obsolete...

poweroff ::

Pozabi na fizični dostop. Zadeva zna biti uporabna predvsem v primeru multiuser sistemov, kjer si samo navaden uporabnik...
sudo poweroff

BigWhale ::

Ja, dela. Tam kjer laufajo kernel 2.6.31. Stvar je bla popravljena se preden je bil bug objavljen.

Zdej je bil pa objavljen tko pompozno.

mspiller ::

Nobena uradno releasana distribucija ne uporablja na 2.6.31. Imajo pa nekatere razvojne verzije distribucij novo verzijo.

Sem bil pa presenecen, da je toliko security bugov v kernelu 2.6 (191 Secunia advisories, 363 Vulnerabilities v 6 letih).
Kar je bilo zanimivo je to da jih posamezne distribucije nimajo toliko. Zgleda jih vecino popravijo predno izide nova verzije kaksne distribucije.

driver_x ::

Ali je 2.6.31 uradno že zunaj?

jype ::

mspiller> Sem bil pa presenecen, da je toliko security bugov v kernelu 2.6

To je predvsem zato, ker se je v 2.6 drastično spremenil razvojni model. Posledica je tudi precej manjša stabilnost določenih delov jedra in večja dostopnost podpore za strojno opremo in različne programske vmesnike v samem jedru.

sammy73> Ali je 2.6.31 uradno že zunaj?

Ja. The Linux Kernel Archives

Zgodovina sprememb…

  • spremenilo: jype ()

techfreak :) ::

In koliko jih že uporablja nov kernel?

poweroff ::

Almost nobody.
sudo poweroff

jype ::

DejanL15> In koliko jih že uporablja nov kernel?

Kakor kje. Jaz imam dve virtualni mašini za testiranje in na obeh je že popravljeni 2.6.31.1.

driver_x ::

OpenSuSE 11.2 izide 12. novembra, trenutni milestone vsebuje 2.6.31-rc9, tako da lahko verjetno pričakujemo 2.6.31 tudi takrat.

denial ::

Exploit seveda deluje tudi na non-SELinux sistemih s kernelom 2.6.31.
SELECT finger FROM hand WHERE id=3;

filip007 ::

Ubuntu mi je res nekaj danes rihtal kernel ni dal do 31 gor, je pa pregledal disk sam od sebe ob zagonu, super dela kot urca.
Trevor Philips Industries

LightBit ::

Tut ostale verzije niso varne.
Zaščitit se pa da z grsecurity.

Zgodovina sprememb…

  • spremenil: LightBit ()

fiction ::

Te novice so mi tko smešne, pa naj bo o Linuxu, ali pa Windowsu sej je enako, napišejo novo ranljivost, pa zmeraj je tako, da deluje samo, če imaš fizični dostop.
Bolj smesno (ali pa zalostno) je kako ljudje komentirajo novice o racunalniski varnosti ne da bi imeli zadostno znanje o tem, kaj sele da bi prebrali v novici vsebovane reference. "Local exploit" ponavadi pomeni, da napako lahko izkorisca uporabnik z uporabniskim racunom na ranljivem racunalniku. Seveda pa ni nujno da ima ta tudi fizicni dostop do racunalnika. Se strinjam, da so nekateri opisi ranljivosti overhyped, ampak ponavadi se vedno gre za neko bolj ali manj kriticno stvar. To, da nekdo s fizicnim dostopom lahko naredi prakticno vse, je znano dejstvo.

Ja, dela. Tam kjer laufajo kernel 2.6.31. Stvar je bla popravljena se preden je bil bug objavljen.
Ja, sej point "novice" ni samo o tem, da je jedro ranljivo, ampak o tem, da je bila ranljivost odpravljena kot "kernel crash" oz. "DoS issue". Dokler Spender ni napisal exploita, ki omogoca dvig privilegijev, se o tem sploh ni govorilo. Vprasanje tukaj je ali ljudje, ki so napisali oz. potrdili popravek, niso opazili kriticnosti odpravljene napake (glede na to, da gre za enostaven buffer overflow) ali pa je enostavno niso hoteli opaziti.

Take ranljivosti so v večini primerih odpravljene v parih dneh - to je, še preden velika večina uporabnikov najnovejšo verzijo kernela sploh inštalira.
Ce bi slo za kriticno napako je to res. Ampak tukaj je v bistvu vse skupaj postalo "minor issue", ki so ga potihem zakrpali. Sicer je bila napaka odpravljena, ampak novo jedro ni bilo takoj izdano, niti niso bili ljudje zadostno opozorjeni na napako. Posledicno je bilo okno za izkoriscanje napake precej siroko.

Zadnje case je bilo kar nekaj ranljivosti v Linux jedru, tako da ni tako neverjetno, da so ljudje presli na latest-greatest verzijo 2.6.31. Ne glede na to, da je distribucije se niso zacele uporabljati. Navsezadnje kako naj bodo ljudje z 2.6.30 brez bolj podrobnih preiskav prepricani, da mogoce ni tam kaksne skrite ranljivosti, ki je bila potihem odpravljena. Mogoce so raje kar takoj sli na 2.6.31 :)

Tut ostale verzije niso varne.
Ni res.
Ker gre za napako v novi perf_counter kodi so ranljive verzije od 2.6.31-rc1 do 2.6.31.
Pa se jedro mora biti prevedeno z CONFIG_PROFILING=y.

Zaščitit se pa da z grsecurity.
Tudi o tem mocno dvomim. Grsecurity sicer lahko enforca nonexec stack in podobne zadeve, ampak kolikor vem je to misljeno za preprecevanje napadov v user-mode-u. Pri napaki v jedru ti vse skupaj ne pomaga prav dosti.

jishiri ::

jishiri ne pametuj o Win vs. Lin in razširjenosti. Dejstvo je pač, da imajo vsi sistemi ranljivosti. Se pa zasnova razlikuje, zato neposredno ("na pamet") primerjanje enega ali drugega ni na mestu.



jishiri> jype ce mislis da zato ker je linux, in odprtokoden da pomeni da nima nobene napake?

Ma ne, po službeni dolžnosti morm rečt to. Kakšen trol bi pa bil, če bi priznal, da se motim?





no me veseli, da sta zacela sodelovati v tej novici...

BigWhale ::

> Vprasanje tukaj je ali ljudje, ki so napisali oz. potrdili popravek, niso opazili kriticnosti odpravljene napake (glede na to, da gre za enostaven buffer overflow) ali pa je enostavno niso hoteli opaziti.

A vidis v tem je problem. Clovek je povedal, da stvari ni opazil, da bi jo moral in se zraven pokesal in priznal svojo zmoto. Ampak, takoj se najdejo ljudje, ki takoj vidijo zaroto in nek 'foul play'.

"Zajebal smo."
"Ja, mogoce ste pa ZANALASC zajebal!"

To je, po pravici povedano, otrocje, bebavo in nedoraslo. Pa tudi ce se je kaj taksnega ze kdaj prej zgodilo.

fiction ::

I take responsibility for this having slipped through (i should have caught it), and let me defend those other hard working people, who take an active part in the upstream kernel development process. Yes, nobody is infallible, and no, i dont think your repeated attempts to ridicule them is fair or justified.
Hm, imas prav. Tip se je pokesal po parih dneh. Na zacetku sta se pa precej jeb* med sabo. Ampak ni samo Spender kriv s svojimi provokacijami. Jaz cisto verjamem, da se mu zdi, da se developerji delajo, da niso opazili kaksen impact ima kak bug zanalasc. Posebej ce je tako ociten overflow oz. ce je toliko podobnih napak v tako kratkem casu. Je pa jasno lazje druge kritizirati kot sam kaj konkretnega narediti. Ceprav se je kot vodja PaX / grsecurity tudi sam izkazal. Ni tako da ne bi imel pojma.

No ja, shit happens. Bug samo dokazuje, da ne glede na to koliko ljudi naredi review kode, ta se vedno ni nujno optimalna oz. varna.

jype ::

fiction> No ja, shit happens. Bug samo dokazuje, da ne glede na to koliko ljudi naredi review kode, ta se vedno ni nujno optimalna oz. varna.

Je pa verjetnost, da bug je, obratno sorazmerna s številom ljudi, ki so kodo prebrali.

poweroff ::

Kakorkoli že, Linux sicer kar nekaj naporov usmerja v varnost, zdi se mi pa, da bi se morali področja varnosti lotiti še bolj sistematično in obsežno.
sudo poweroff

preem ::

zanimivo, čist vsak bug v linuxu najde svojo novico na slo-techu.

admin, a rabš kak link še do win bugov?

in potem neučenim zgleda, kot da je res linux najslabš zadeva ever. all hail the mighty windoz.

2 sekunde za tam naletim na to stran: http://tecneek.com/how-to-hack-xp-vista...

Zgodovina sprememb…

  • spremenilo: preem ()

5er--> ::

Za to stvar moraš imet fizičen dostop do škatle poleg tega pa moraš bootat mašino iz drugega medija... tako lahko hackneš praktično vsako stvar, (če ni kriptirana) kot je nekdo že tudi napisal.

Drugače pa imaš zgoraj link Pošlji novico, in lahko komot tudi sam kaj napišeš.

poweroff ::

preem: Ophcrack... stara zadeva.
sudo poweroff

McMallar ::

@preem
S tem CD-jem v moj sistem ne boš prišel. Veš zakaj? Ker so priložene precompiled rainbow tables narejene samo za gesla, ki vsebujejo velike in male črke ter številke. Če želiš še kaj drugega zraven boš rabil vsaj DL DVD (pa kakšen mesec zraven, da jih izdelaš).

Je pa zanimiva sledeča stvar

Preverjeno deluje in sem prepričan da velika večina AD administratorjev ni spremenila te nastavitve.
Why can't a programmer tell the difference between Halloween and Christmas?
Because OCT31 = DEC25

denial ::

@McMallar:
Hash injection == Pass the hash

@jype:
"Given enough eyeballs all bugs are shallow" koncept ne deluje. Potrebuješ ljudi, ki se spoznajo na security in ne morje (sicer odličnih) programerjev. Spender že nekaj mesecev to lepo potrjuje.

@preem:
Ne, samo tisti najbolj zanimivi/hype bugi dobijo mesto med novicami. Tako ljudje vsaj slišijo za buge v Linuxu, za katere sicer nikdar ne bi izvedeli. Za Windows se itak ve, da je poln bugov. Pri MSFT so zadeve glede objavljanja varnostnih obvestil veliko bolj transparentne.
SELECT finger FROM hand WHERE id=3;

Zgodovina sprememb…

  • spremenil: denial ()

jype ::

denial> "Given enough eyeballs all bugs are shallow" koncept ne deluje. Potrebuješ ljudi, ki se spoznajo na security in ne morje (sicer odličnih) programerjev. Spender že nekaj mesecev to lepo potrjuje.

Jasno, s tem se popolnoma strinjam, a _verjetnost_ se še vedno obnaša, kot se.

Sicer se mi pa itak zdi, da kode Linux jedra že leta nihče več ne bere, sam še pišejo jo.

poweroff ::

Sicer se mi pa itak zdi, da kode Linux jedra že leta nihče več ne bere, sam še pišejo jo.

That is exactly a problem.
sudo poweroff

preem ::

@preem:
...Za Windows se itak ve, da je poln bugov...


Kaj?? Windows pa ja nima bugov, kaj pa ti govoriš! :o

LightBit ::

Ni res.
Ker gre za napako v novi perf_counter kodi so ranljive verzije od 2.6.31-rc1 do 2.6.31.
Pa se jedro mora biti prevedeno z CONFIG_PROFILING=y.

Nisem mislil ravno te ranljivosti: ,

denial ::

Zaščitit se pa da z grsecurity.

Tudi o tem mocno dvomim. Grsecurity sicer lahko enforca nonexec stack in podobne zadeve, ampak kolikor vem je to misljeno za preprecevanje napadov v user-mode-u. Pri napaki v jedru ti vse skupaj ne pomaga prav dosti.


PaX/GRSec KERNEXEC preprečuje exploit na x86 ne pa tudi na x64.
SELECT finger FROM hand WHERE id=3;


Vredno ogleda ...

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

It's not a bug...

Oddelek: Informacijska varnost
151500 (1037) fiction
»

Nova zloraba v Linux jedru 2.6.31 omogoča dvig privilegijev uporabnika

Oddelek: Novice / Varnost
454503 (2959) denial
»

It's Spender time again...

Oddelek: Informacijska varnost
121876 (1329) fiction
»

Nova resna ranljivost v Linux jedrih 2.4 in 2.6 (strani: 1 2 )

Oddelek: Novice / Varnost
7310526 (7924) karafeka
»

Nice summer reading

Oddelek: Informacijska varnost
172428 (1865) poweroff

Več podobnih tem