Check point presento una tècnica de seguretat de Safe-Linking

Punt de revisió (Un proveïdor global de solucions de seguretat IT) va donar a conèixer fa diversos dies la introducció de l'mecanisme de seguretat "Safe-Linking", que dificulta la creació d'gestes que manipulen la definició o el canvi de punters a buffers assignats a l'realitzar una trucada malloc.

El nou mecanisme «Safe-Linking» no bloqueja completament la possibilitat d'explotar vulnerabilitats, però amb una sobrecàrrega mínima complica la creació de certes categories de gestes, Ja que a més de l'desbordament de la memòria intermèdia explotat, cal trobar una altra vulnerabilitat que causi informació sobre la ubicació de la pila (heap) en la memòria.

Es van preparar pegats d'implementació Safe-Linking per Glibc (ptmalloc), uClibc-NG (dlmalloc), gperftools (tcmalloc) i Google TCMalloc, així com es va proposar modernitzar la protecció en Chromium (des de 2012 Chromium ja s'ha integrat amb solucions a la mateixa problema) Tècnica de protecció MaskPtr, però la solució de Checkpoint demostra un millor rendiment).

Els pegats proposats ja han estat aprovats per al seu lliurament en la versió d'agost de Glibc 3.32 i Safe-Linking estarà habilitat per defecte. En uClibc-NG, el suport d'enllaç segur es va incloure en la versió 1.0.33 i està habilitat per defecte. En gperftools (antic tcmalloc) s'accepten els canvis, però s'oferiran com una opció en una versió futura.

Els desenvolupadors de TCMalloc es van negar a acceptar el canvi, citando un fort èxit en el rendiment i la necessitat d'afegir proves avançades per verificar regularment que tot funcioni correctament.

Les proves realitzades per els enginyers de Check point van mostrar que el mètode Safe-Linking no condueix a un consum de memòria addicional i el rendiment a l'realitzar operacions d'emmagatzematge dinàmic de mitjana disminueix només en un 0.02%, i en el pitjor dels casos en un 1.5%

Habilitar Safe-Linking condueix a l'execució de 2-3 instruccions d'assemblador addicionals amb cada trucada a free () i 3-4 instruccions a l'trucar a malloc (). No es requereix l'inici de la inicialització i generació de valors aleatoris.

Safe-Linking es pot usar no només per augmentar la seguretat de diverses implementacions d'emmagatzematge dinàmic, sino també per afegir controls d'integritat a qualsevol estructura de dades que usi una llista de punters vinculats individualment situats a la banda dels buffers.

el mètode és molt simple d'implementar i només requereix afegir una macro i aplicar-la als punters a el següent bloc de el codi (per exemple, per Glibc només es canvien unes poques línies al codi).

L'essència de l'mètode és aplicar dades aleatòries de l'mecanisme d'aleatorització d'adreces ASLR (mmap_base) per protegir llistes enllaçades individualment, com Fast-Bins i TCache. Abans d'aplicar el valor de l'punter a l'element següent de la llista, es realitza la conversió de màscara i la verificació de l'alineació al llarg de la vora de la pàgina de memòria. El punter es reemplaça amb el resultat de l'operació «(L >> PAGE_SHIFT) XOR (P)», on P és el valor de l'punter i L és la ubicació en la memòria on s'emmagatzema aquest punter.

Quan s'usa en el sistema ASLR (assignació aleatòria de el disseny de l'espai d'adreces), alguns dels bits L amb l'adreça base de la pila contenen valors aleatoris que s'usen com a clau per a codificar P (s'extreuen mitjançant una operació de desplaçament de 12 bits per a pàgines de 4096 bytes).

tal manipulació redueix el risc de capturar un punter a un exploit, ja que el punter no està emmagatzemat en la seva forma original i per canviar-lo, necessita conèixer informació sobre la ubicació de la pila.

El mètode és efectiu per protegir contra atacs que utilitzen la redefinició parcial de punters (Canvi de bytes baixos), reescriptura completa de punters (Redirecció a el codi de l'atacant) i canvi de posició de la llista en una direcció no alineada.

Com a exemple, es mostra que l'ús de Safe-Linking a malloc bloquejaria l'explotació de la vulnerabilitat CVE-2020-6007 descoberta recentment pels mateixos investigadors a la llum de fons intel·ligent Philips Hue Bridge causada pel desbordament de la memòria intermèdia i permetent controlar el dispositiu.

font: https://research.checkpoint.com


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.