Kontrolný bod predstavil bezpečnostnú techniku ​​Safe-Linking

Kontrolný bod (globálny poskytovateľ bezpečnostných riešení IT) vydala pred niekoľkými dňami úvod bezpečnostného mechanizmu „Bezpečné prepojenie“, že sťažuje vytváranie exploitov ktoré pri uskutočňovaní hovoru malloc manipulujú s definíciou alebo zmenou ukazovateľov na pridelené vyrovnávacie pamäte.

Nový mechanizmus „Safe-Linking“ nebráni úplne možnosti zneužitia zraniteľnosti, ale s minimálnou réžiou komplikuje vytváranie určitých kategórií zneužitiaPretože okrem využitého pretečenia medzipamäte je potrebné nájsť ďalšiu zraniteľnosť, ktorá spôsobuje informácie o umiestnení haldy v pamäti.

Boli pripravené implementačné opravy Safe-Linking pre Glibc (ptmalloc), uClibc-NG (dlmalloc), gperftools (tcmalloc) a Google TCMalloc, ako aj návrh na modernizáciu ochrany v prehliadači Chromium (od roku 2012 je už prehliadač Chromium integrovaný s riešeniami rovnaký problém) Ochranná technika MaskPtr, ale riešenie Checkpointu vykazuje lepší výkon).

Navrhované opravy už boli schválené na doručenie v augustovom vydaní Glibc 3.32 a funkcia Safe-Linking bude predvolene povolená. V uClibc-NG bola podpora zabezpečeného odkazu zahrnutá vo verzii 1.0.33 a je predvolene povolená. V gperftools (starý tcmalloc) sú zmeny akceptované, ale v budúcom vydaní budú ponúkané ako možnosť.

Vývojári TCMalloc odmietli prijať zmenu, cso silným výkonnostným úspechom a potrebou pridávať pokročilé testy, aby ste pravidelne overovali, či všetko funguje správne.

Testy vykonané Inžinieri kontrolných bodov ukázali, že metóda Safe-Linking nevedie k ďalšej spotrebe pamäte a výkon pri vykonávaní haldy sa v priemere zníži iba o 0.02% a v najhoršom prípade o 1.5%

Povolenie funkcie Safe-Linking vedie k vykonaniu 2–3 ďalších pokynov asemblera pri každom hovore free () a 3–4 pokynov pri volaní malloc (). Začiatok inicializácie a generovanie náhodných hodnôt nie sú potrebné.

Funkciu Safe-Linking možno použiť nielen na zvýšenie bezpečnosti rôznych implementácií haldy, sino tiež pridať kontroly integrity do akejkoľvek dátovej štruktúry ktorý používa zoznam individuálne prepojených ukazovateľov umiestnených vedľa vyrovnávacích pamätí.

Metóda jeho implementácia je veľmi jednoduchá a vyžaduje iba pridanie makra a aplikujte ho na ukazovatele na nasledujúci blok kódu (napríklad pre Glibc sa v kóde zmení iba pár riadkov).

Podstatou metódy je použitie náhodných údajov z mechanizmu randomizácie adries ASLR (mmap_base) na ochranu individuálne prepojených zoznamov, ako sú Fast-Bins a TCache. Pred aplikáciou hodnoty ukazovateľa na ďalšiu položku v zozname sa vykoná prevedenie masky a kontrola zarovnania pozdĺž okraja stránky pamäte. Ukazovateľ je nahradený výsledkom operácie „(L >> PAGE_SHIFT) XOR (P)“, kde P je hodnota ukazovateľa a L je umiestnenie v pamäti, kde je tento ukazovateľ uložený.

Pri použití v systéme ASLR (Address Space Layout Randomization) obsahujú niektoré L bity so základnou adresou haldy náhodné hodnoty, ktoré sa používajú ako kľúč na kódovanie P (extrahujú sa operáciou posunu 12 bitov. pre 4096 bajtových stránok).

Takáto manipulácia znižuje riziko zachytenia ukazovateľa pri zneužití, Pretože ukazovateľ nie je uložený v pôvodnej podobe, a aby ste ho mohli nahradiť, potrebujete poznať informácie o umiestnení haldy.

Metóda je účinná pri ochrane pred útokmi, ktoré využívajú predefinovanie časti ukazovateľa (nízky bajtový posun), úplné prepísanie ukazovateľov (presmerovanie na kód útočníka) a zmeňte pozíciu zoznamu v nezarovnanom smere.

Ako príklad sa ukazuje, že použitie funkcie Safe-Linking v malloc by blokovalo zneužitie zraniteľnosti CVE-2020-6007, ktorú nedávno objavili tí istí vedci v inteligentnom podsvietení mostu Philips Hue Bridge, spôsobenom pretečením medzipamäte a umožnením kontroly prístroj.

Fuente: https://research.checkpoint.com


Buďte prvý komentár

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.