Check point præsenterede en Safe-Linking sikkerhedsteknik

Kontroller punkt (en global udbyder af it-sikkerhedsløsninger) frigivet for flere dage siden introduktionen af sikkerhedsmekanismen "Safe-Linking", at gør det vanskeligt at skabe bedrifter der manipulerer definitionen eller ændringen af ​​markører til tildelte buffere, når du foretager et malloc-opkald.

Den nye «Safe-Linking» -mekanisme blokerer ikke helt muligheden for at udnytte sårbarheder, men med minimal overhead komplicerer oprettelsen af ​​visse kategorier af bedrifterSom ud over det udnyttede bufferoverløb er det nødvendigt at finde en anden sårbarhed, der forårsager information om placeringen af ​​bunken i hukommelsen.

Safe-Linking implementeringsrettelser blev forberedt til Glibc (ptmalloc), uClibc-NG (dlmalloc), gperftools (tcmalloc) og Google TCMalloc, samt et forslag om at modernisere beskyttelsen i Chrom (siden 2012 er Chrom allerede integreret med løsninger til samme problem) MaskPtr-beskyttelsesteknik, men Checkpints løsning viser bedre ydeevne).

De foreslåede programrettelser er allerede godkendt til levering i augustudgivelsen af ​​Glibc 3.32, og Safe-Linking er som standard aktiveret. I uClibc-NG var sikker link support inkluderet i version 1.0.33 og er aktiveret som standard. I gperftools (gammel tcmalloc) accepteres ændringerne, men vil blive tilbudt som en mulighed i en fremtidig udgivelse.

TCMalloc-udviklere nægtede at acceptere ændringen, cmed stærk præstationssucces og behovet for at tilføje avancerede tests for regelmæssigt at kontrollere, at alt fungerer korrekt.

Test udført af Kontrolpunktteknikere viste, at Safe-Linking-metoden ikke fører til yderligere hukommelsesforbrug og præstationen ved udførelse af bunkeoperationer i gennemsnit kun falder med 0.02% og i værste fald med 1.5%

Aktivering af Safe-Linking fører til udførelse af 2-3 ekstra montørinstruktioner med hvert opkald til gratis () og 3-4 instruktioner, når du ringer til malloc (). Initialiseringsstart og tilfældig værdigenerering er ikke påkrævet.

Safe-Linking kan ikke kun bruges til at øge sikkerheden af forskellige bunkeimplementeringer, sino også for at tilføje integritetskontrol til enhver datastruktur der bruger en liste over individuelt linkede markører placeret ved siden af ​​bufferne.

Metoden det er meget simpelt at implementere og kræver kun tilføjelse af en makro og anvend det på markørerne til den næste blok i koden (for eksempel ændres kun få linjer i Glibc i koden).

Essensen af ​​metoden er at anvende tilfældige data fra ASLR-adresse-randomiseringsmekanismen (mmap_base) for at beskytte individuelt forbundne lister såsom Fast-Bins og TCache. Før markørværdien anvendes på det næste element på listen, udføres maskekonvertering og justeringskontrol langs kanten af ​​hukommelsessiden. Markøren erstattes med resultatet af operationen "(L >> PAGE_SHIFT) XOR (P)", hvor P er markørens værdi, og L er det sted i hukommelsen, hvor denne markør er gemt.

Når de bruges i ASLR-systemet (Address Space Layout Randomization), indeholder nogle af L-bitene med bundadressen på bunken tilfældige værdier, der bruges som en nøgle til at kode P (de ekstraheres ved en skiftoperation på 12 bit til 4096-byte sider).

Sådan manipulation reducerer risikoen for at fange en markør i en udnyttelse, Da markøren ikke er gemt i sin oprindelige form, og for at udskifte den, skal du vide oplysninger om placeringen af ​​bunken.

Metoden er effektiv til at beskytte mod angreb, der bruger delvis omdefineret markør (lav byte skift), fuldstændig omskrivning af markører (omdirigere til angriberens kode) og ændre placeringen af ​​listen i en ikke-justeret retning.

Som et eksempel er det vist, at brugen af ​​Safe-Linking i malloc ville blokere udnyttelsen af ​​sårbarheden CVE-2020-6007, der for nylig blev opdaget af de samme forskere i Philips Hue Bridge smart baggrundslys forårsaget af bufferoverløb og muliggør kontrol af enheden .

kilde: https://research.checkpoint.com


Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.