Kontrolní bod představil bezpečnostní techniku ​​Safe-Linking

Kontrolní bod (globální poskytovatel IT bezpečnostních řešení) vydal před několika dny úvod bezpečnostního mechanismu "Safe-Linking", že ztěžuje vytváření exploitů které manipulují s definicí nebo změnou ukazatelů na přidělené vyrovnávací paměti při volání malloc.

Nový mechanismus «Safe-Linking» zcela neblokuje možnost zneužití zranitelností, ale s minimální režií komplikuje vytváření určitých kategorií exploitůProtože kromě přetečení využívané vyrovnávací paměti je nutné najít další chybu zabezpečení, která způsobuje informace o umístění haldy v paměti.

Byly připraveny implementační opravy Safe-Linking pro Glibc (ptmalloc), uClibc-NG (dlmalloc), gperftools (tcmalloc) a Google TCMalloc, stejně jako návrh na modernizaci ochrany v Chromu (od roku 2012 je již Chromium integrován s řešeními stejný problém) Technika ochrany MaskPtr, ale řešení Checkpoint vykazuje lepší výkon).

Navrhované opravy již byly schváleny k dodání v srpnovém vydání Glibc 3.32 a funkce Safe-Linking bude ve výchozím nastavení povolena. V uClibc-NG byla ve verzi 1.0.33 zahrnuta podpora zabezpečeného odkazu a je ve výchozím nastavení povolena. V gperftools (starý tcmalloc) jsou změny přijaty, ale budou nabízeny jako volba v budoucím vydání.

Vývojáři TCMalloc odmítli změnu přijmout, cse silným výkonovým úspěchem a nutností přidávat pokročilé testy, aby se pravidelně ověřovalo, že vše funguje správně.

Zkoušky provedené Technici kontrolních bodů ukázali, že metoda Safe-Linking nevede k další spotřebě paměti a výkon při provádění haldy klesá v průměru pouze o 0.02% a v nejhorším případě o 1.5%

Povolení funkce Safe-Linking vede k provedení 2–3 dalších instrukcí assembleru při každém volání metody free () a 3–4 pokynů při volání malloc (). Začátek inicializace a generování náhodných hodnot není vyžadováno.

Safe-Linking lze použít nejen ke zvýšení bezpečnosti různých implementací haldy, sino také přidat kontroly integrity do jakékoli datové struktury , který používá seznam jednotlivě propojených ukazatelů umístěných vedle vyrovnávacích pamětí.

Metoda jeho implementace je velmi jednoduchá a vyžaduje pouze přidání makra a aplikujte jej na ukazatele na další blok kódu (například pro Glibc je v kódu změněno pouze několik řádků).

Podstatou metody je použití náhodných dat z mechanismu randomizace adres ASLR (mmap_base) k ochraně jednotlivě propojených seznamů, jako jsou Fast-Bins a TCache. Před použitím hodnoty ukazatele na další položku v seznamu se provede převod masky a kontrola zarovnání podél okraje stránky paměti. Ukazatel je nahrazen výsledkem operace "(L >> PAGE_SHIFT) XOR (P)", kde P je hodnota ukazatele a L je umístění v paměti, kde je tento ukazatel uložen.

Při použití v systému ASLR (Randomizace rozložení adresového prostoru) obsahují některé L bity se základní adresou haldy náhodné hodnoty, které se používají jako klíč pro kódování P (jsou extrahovány operací posunu 12 bitů pro stránky 4096 bajtů).

Taková manipulace snižuje riziko zachycení ukazatele při zneužití, Vzhledem k tomu, že ukazatel není uložen v původní podobě a chcete-li jej nahradit, potřebujete znát informace o umístění haldy.

Metoda je účinná při ochraně před útoky, které používají částečné předefinování ukazatele (nízký posun bytu), kompletní přepis ukazatelů (přesměrování na kód útočníka) a změňte pozici seznamu v nevyrovnaném směru.

Jako příklad se ukazuje, že použití funkce Safe-Linking v malloc by blokovalo zneužití zranitelnosti CVE-2020-6007, kterou nedávno objevili stejní vědci v inteligentním podsvícení Philips Hue Bridge způsobeném přetečením vyrovnávací paměti a umožněním kontroly zařízení.

zdroj: https://research.checkpoint.com


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.