70% di i prublemi di sicurità in Chromium sò causati da errori di memoria

Sviluppatori di u prughjettu Chromium analizatu 912 vulnerabilità d'altu risicu è critiche identificate in versioni stabili di Chrome da u 2015, è cuncludi chì u 70% di elli sò stati causati da insicurezza di memoria (errori quandu travaglianu cù puntatori in codice C/C++). A mità di sti prublemi (36.1%) sò causati da l'accessu à u buffer dopu a liberazione di a memoria assuciata cù questu (usu-dopu-free).

70% di i prublemi di sicurità in Chromium sò causati da errori di memoria

Quandu hà designatu Chromium era inizialmente pusatu, chì hè pussibile per l'errore per apparisce in u codice, cusì un grande enfasi hè stata fatta nantu à l'usu di l'isolamentu di sandbox per limità e cunsequenze di vulnerabili. Attualmente, e pussibulità di utilizà sta tecnulugia anu righjuntu u limitu di e so capacità è a più frammentazione in prucessi ùn hè micca pratica da u puntu di vista di u cunsumu di risorse.

Per mantene a sicurità di a basa di codice, Google impone ancu "regula di dui", secondu a quale ogni codice aghjuntu ùn deve micca più di duie di trè cundizioni: travaglià cù dati di input micca validati, utilizendu una lingua di prugrammazione insegura (C / C ++) è curriri cù privilegi elevati. Questa regula implica chì u codice per processà e dati esterni deve esse ridutta à privilegi minimi (isolati) o scrittu in una lingua di prugrammazione sicura.

Per rinfurzà ancu più a sicurità di a basa di codice, un prughjettu hè statu lanciatu per impedisce l'errore di memoria chì appare in a basa di codice. Ci sò trè approcci principali: creazione di biblioteche C ++ cù funzioni per u funziunamentu sicuru di a memoria è espansione u scopu di u cullettivu di basura, utilizendu miccanismi di prutezzione di hardware. MTE (Memory Tagging Extension) è cumpunenti di scrittura in lingue chì assicuranu u travagliu sicuru cù a memoria (Java, Kotlin, JavaScript, Rust, Swift).

Hè previstu chì u travagliu serà focalizatu in duie zone:

  • Cambiamentu significativu à u prucessu di sviluppu C++, chì ùn esclude micca un impattu negativu nantu à u rendiment (cuntrolli di limiti supplementari è raccolta di basura). Invece di puntatori crudi, hè prupostu di utilizà u tipu MiraclePtr, chì vi permette di riduce l'errori sfruttabili di usu dopu à i crashes chì ùn ponenu micca una minaccia per a sicurità, senza un impattu negativu noteu nantu à u rendiment, u cunsumu di memoria è a stabilità.
  • L'usu di lingue pensate per eseguisce cuntrolli di sicurezza di memoria in tempu di compilazione (eliminarà l'impattu negativu nantu à u rendiment inherente à tali cuntrolli durante l'esekzione di codice, ma portarà à costi supplementari per urganizà l'interazzione di codice in una nova lingua cù codice in C++).

Utilizà e librerie di memoria sicura hè u modu più simplice, ma ancu menu efficiente. Riscrittura di codice in Rust hè valutata cum'è u modu più efficace, ma ancu assai caru.

70% di i prublemi di sicurità in Chromium sò causati da errori di memoria

Source: opennet.ru

Add a comment