Check point je predstavil varnostno tehniko varnega povezovanja

Kontrolna točka (globalni ponudnik IT varnostnih rešitev) izšel pred nekaj dnevi uvod varnostnega mehanizma "Varno povezovanje", da otežuje ustvarjanje podvigov ki manipulirajo z definicijo ali spreminjanjem kazalcev na dodeljene medpomnilnike med klicem malloc.

Nov mehanizem «Varno povezovanje» ne blokira v celoti možnosti izkoriščanja ranljivosti, vendar z minimalnimi režijskimi stroški zaplete ustvarjanje nekaterih kategorij podvigovKer je poleg izkoriščenega prelivanja medpomnilnika treba najti še drugo ranljivost, ki povzroča informacije o lokaciji kopice (kopice) v pomnilniku.

Pripravljeni popravki za varno povezovanje za Glibc (ptmalloc), uClibc-NG (dlmalloc), gperftools (tcmalloc) in Google TCMalloc ter predlog za posodobitev zaščite v Chromiumu (Chromium je od leta 2012 že vključen v rešitve za isti problem) Tehnika zaščite MaskPtr, vendar rešitev Checkpoint kaže boljše delovanje).

Predlagani popravki so bili že odobreni za dostavo v avgustovski izdaji Glibc 3.32 in varno povezovanje bo privzeto omogočeno. V uClibc-NG je bila podpora za varno povezavo vključena v različico 1.0.33 in je privzeto omogočena. V gperftools (stari tcmalloc) so spremembe sprejete, vendar bodo na voljo kot možnost v prihodnji izdaji.

Razvijalci TCMalloc zavrnili spremembo, cz uspešnim uspehom in potrebo po dodajanju naprednih testov, s katerimi redno preverjamo, ali vse deluje pravilno.

Preskusi, ki jih je opravil Inženirji kontrolnih točk so pokazali, da metoda varne povezave ne vodi do dodatne porabe pomnilnika in zmogljivost pri izvajanju kopičenja se v povprečju zmanjša le za 0.02%, v najslabšem primeru pa za 1.5%

Omogočanje varne povezave vodi do izvajanja 2-3 dodatnih navodil sestavljalca z vsakim klicem na free () in 3-4 navodil pri klicanju malloc (). Inicializacija in generiranje naključnih vrednosti ni potrebna.

Varna povezava se lahko uporablja ne samo za povečanje varnosti različnih izvedb kopice, sino tudi za dodajanje preverjanj integritete kateri koli podatkovni strukturi ki uporablja seznam posamično povezanih kazalcev, ki se nahajajo poleg medpomnilnikov.

Metoda je zelo preprost za izvajanje in zahteva samo dodajanje makra in ga uporabite za kazalce na naslednji blok kode (na primer za Glibc se spremeni le nekaj vrstic v kodi).

Bistvo metode je uporaba naključnih podatkov iz mehanizma za randomizacijo naslovov ASLR (mmap_base) za zaščito posamično povezanih seznamov, kot sta Fast-Bins in TCache. Pred uporabo vrednosti kazalca za naslednji element na seznamu se izvede pretvorba maske in preverjanje poravnave vzdolž roba strani pomnilnika. Kazalec se nadomesti z rezultatom operacije "(L >> PAGE_SHIFT) XOR (P)", kjer je P vrednost kazalca, L pa mesto v pomnilniku, kjer je ta kazalec shranjen.

Ko se uporabljajo v sistemu ASLR (Address Space Layout Randomization), nekateri L bitovi z osnovnim naslovom kupa vsebujejo naključne vrednosti, ki se uporabljajo kot ključ za kodiranje P (izvlečejo jih z 12 bitov za 4096- strani bajtov).

Takšna manipulacija zmanjšuje tveganje za zajemanje kazalca v izkoriščanju, ker kazalec ni shranjen v prvotni obliki in ga morate zamenjati, morate vedeti informacije o lokaciji kupa.

Metoda je učinkovita pri zaščiti pred napadi, pri katerih se uporablja delna redefinicija kazalca (premik nizkega bajta), popolno prepisovanje kazalcev (preusmerite na kodo napadalca) in spremenite položaj seznama v neskladni smeri.

Kot primer je prikazano, da bi uporaba varne povezave v mallocu blokirala izkoriščanje ranljivosti CVE-2020-6007, ki so jo isti raziskovalci nedavno odkrili v pametni osvetlitvi Philips Hue Bridge zaradi prelivanja medpomnilnika in omogočila nadzor napravo.

vir: https://research.checkpoint.com


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.