» »

Reverzni razvoj zlonamerne kode iz varnostne posodobitve

Reverzni razvoj zlonamerne kode iz varnostne posodobitve

Schneier.com - Ko zaposleni v Microsoftu odkrijejo ali izvedo za varnostne ranljivosti v Microsoftovi programski opremi, razvijejo varnostne posodobitve, ki jih preko storitve Windows Update pošljejo svojim uporabnikom.

Marsikateri potencialni napadalec se sprašuje, ali bi bilo mogoče iz teh varnostnih posodobitev z reverznim inženiringom samodejno razviti zlonamerno kodo, ki bi omogočila izrabo varnostne ranljivosti?

Vprašanje so si zastavili tudi varnostni strokovnjaki David Brumley, Dawn Song in Jiang Zheng ter odkrili, da to vsekakor je mogoče.

V članku Automatic Patch-Based Exploit Generation is Possible: Techniques and Implications so opisali nekaj tehnik, s katerimi je mogoče iz varnostne posodobitve, posredovane preko Microsoftove storitve Windows Update, samodejno zgenerirati zlonamerno kodo (tim. exploit).

Odkritje kaže na to, da bo napadalec z ustreznim orodjem lahko samo počakal na novo varnostno posodobitev, nekaj sekund nato pa bo že imel zlonamerni program, ki ga bo lahko uporabil na vseh tistih računalnikih, ki varnostnih posodobitev še nimajo naloženih.

10 komentarjev

DJ MartiNi ::

Krasno...ni kej.
1:Phenom II X3 720BE/ASRock 970M Pro3/2x8GB G.Skill Aegis/Radeon HD2600XT
2:Athlon X2 BE-2300/Foxconn A7DA-S/2x2GB A-Data PC2-6400/Radeon HD3300

3p ::

No, saj najbrž kdo ne misli, da je to specifično za Microsoftovo programje - kot napeljuje prvi stavek novice.

jype ::

In ker je reč avtomatična tudi "za ostale operacijske sisteme se to ne splača" argument zvodeni.

Bojevnik ::

Toda Microsoft je že "prislil" windows (pa čeprav samo enkrat do sedaj), da se avtomatično posodobijo, med ko pri drugih sistem, si lahko še vedno sam izbereš ali boš posodobil.

jype ::

Kar te seveda še vedno ne naredi imunega na varnostno težavo dokler ne naložiš posodobitve, tisti, ki bi rad to reč izkoristil pa zagotovo ne potrebuje tvojega privoljenja, da si sam pridobi te posodobitve.

RejZoR ::

Toda Microsoft je že "prislil" windows (pa čeprav samo enkrat do sedaj), da se avtomatično posodobijo, med ko pri drugih sistem, si lahko še vedno sam izbereš ali boš posodobil.


Settings mofo, do you use them?
Angry Sheep Blog @ www.rejzor.com

Loki ::

kaj je ze bila tista posodobitev, ko so jo kar vsilili? se spomnim, samo ne vem, kaj
I left my wallet in El Segundo

fiction ::

Zanimiv clanek. V bistvu ni fora v tem, da direktno patch pretvoris v exploit, ampak da ti popravek lahko zelo veliko pove o naravi napake, tudi ce ne nimas izvorne kode (security-through-obscurity se nikjer ne obnese).

Hoces, da bi cimvec ljudi namestilo popravek, ampak s tem istocasno tudi razkrijes vsem kako bi se napako dalo izkoristiti. S stalisca varnosti bi bilo mogoce res se najbolj pametno, ce se popravek forca in vsi racunalniki na enkrat upgradajo, samo v praksi to ni izvedljivo. Se pa seveda strinjam, da ne more Microsoft kar sam odlocati ali se nek popravek instalira kljub temu da sistemski administrator tega mogoce sploh noce (zaradi cesarkoli ze).

Danes je 0-day veliko manj casa 0-day exploit in za to se zahvalimo lahko prav "full disclosure" principu. Takoj ko je izdan popravek, nima vec smisla skrivati za kaj gre pri ranljivosti - kako se stvar izkoristi zlobnezi lahko itak razberejo iz popravka, advisory pa opise tehnicno ozadje problema ter morda tudi kako se mu izogniti in tako predstavlja dodatno vrednost za sistemskega administratorja oz. druge programerje, ki morebiti delajo isto neumnost. To ni prirocnik za blackhata kot nekateri mislijo, ceprav mu to lahko seveda malo pomaga.

Postopek v clanku je tak, da primerjajo med sabo staro in novo izvrsljivo kodo in poskusajo najti dodatna preverjanja vhoda oz. specificno nek vhod, ki bi ga star program sprejel medtem, ko ga nov ne vec.

Ponavadi je popravek namrec samo nek dodaten if-stavek, ki prepreci problem. Ko najdejo tak vhod, ki ne izpolnjuje pogoja v tem novem if-u - samo se preverijo, ce je vhod res problematicen s stalisca varnosti, ko ga podtaknejo staremu programu.
It ain't rocket science. Neke vrste fuzz-testing, ki ga usmerja popravek.

denial ::

RCE popravkov je standardna procedura pri razvoju exploitov. "Corporate hekerji" Immunity in Core Security to intenzivno prakticirajo. HD Moore pa je pred časom celo demonstriral step-by-step postopek "od-popravka-do-exploita".
SELECT finger FROM hand WHERE id=3;

Zgodovina sprememb…

  • spremenil: denial ()

fiction ::

Kar je novo tukaj je pac samo, da ta proces deluje avtomaticno in posledicno hitreje dobis exploit. Ni pa ravno nekaj sekund kot pise, ampak je ponavadi okrog par minut ali se vec (pri cemer se predpostavlja, da ima hacker dovolj racunalniske moci, ki mu pri tem pomaga). Se vedno je to toliko hitro, da nastane race-condition. Ce hacker prvi dobi popravek lahko takoj napada ostale, ki tega popravka se nimajo, obenem pa mu sploh ni treba iskati napak v programih. Nek malware napisan na tak nacin, bi se lahko zelo hitro siril brez social engineeringa.

Vse skupaj je nekako kot bi imel nek if stavek, ti bi pa moral povedati kaksen vhod moras dati programu, da pogoj ni izpolnjen. Mene to se najbolj spominja na ILP in Prolog. Imas izhod, sedaj moras pa generirati program, ki daje tak izhod. S tem lahko "naucis" Prolog sortirnih algoritmov in se cesa...

Zgodovina sprememb…

  • spremenil: fiction ()


Vredno ogleda ...

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

Resna ranljivost v Bluetoothu

Oddelek: Novice / Varnost
269734 (6628) GizmoX
»

Sesuvanje win10 po nadgradnji

Oddelek: Operacijski sistemi
171688 (1003) bobby
»

Windows 10 ukinja torek za popravke, krepi zaščito

Oddelek: Novice / Operacijski sistemi
1514045 (11723) M.B.
»

Posodabljanje Linux jedra brez ponovnega zagona računalnika (strani: 1 2 )

Oddelek: Novice / Ostala programska oprema
978574 (6102) ABX
»

Zaradi večje varnosti Windows 7 se slabo piše Linux in Mac uporabnikom (strani: 1 2 )

Oddelek: Novice / Varnost
9810994 (7350) MrStein

Več podobnih tem