Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca
TM RedHotCyber 970x120 042543
Banner Ransomfeed 320x100 1
Rust contro i bug di Memoria del Firmare. Riscrivere in logica Shim le librerie è la chiave

Rust contro i bug di Memoria del Firmare. Riscrivere in logica Shim le librerie è la chiave

Redazione RHC : 12 Settembre 2024 07:17

Google ha sostenuto l’implementazione di Rust nel firmware di basso livello, promuovendo la traduzione del codice legacy come mezzo per combattere i bug che minacciano la sicurezza dell’accesso alla memoria.

In un nuovo post sul blog, il team di Android sostiene che il passaggio da C o C++ a Rust nel firmware esistente fornirà garanzie di sicurezza della memoria a livelli inferiori al sistema operativo che non dispone di standard di sicurezza.

Secondo gli esperti, la perdita di produttività in questo caso è trascurabile, anche la dimensione dei codici Rust è comparabile, l’importante è sostituire i codici base per gradi, iniziando con quelli nuovi e più critici. Il processo non richiederà molti sforzi e nel tempo il numero di vulnerabilità di accesso alla memoria sarà significativamente ridotto.

Riscrivere gradualmente il codice delle librerie utilizzando la logica Shim


Nuovo Fumetto Betti

CALL FOR SPONSOR - Sponsorizza l'ottavo episodio della serie Betti-RHC

Sei un'azienda innovativa, che crede nella diffusione di concetti attraverso metodi "non convenzionali"? 
Conosci il nostro corso sul cybersecurity awareness a fumetti? 
Red Hot Cyber sta ricercando un nuovo sponsor per una nuova puntata del fumetto Betti-RHC mentre il team è impegnato a realizzare 3 nuovi episodi che ci sono stati commissionati. 
Contattaci tramite WhatsApp al numero 375 593 1011 per richiedere ulteriori informazioni oppure alla casella di posta [email protected]


Supporta Red Hot Cyber attraverso: 

  1. L'acquisto del fumetto sul Cybersecurity Awareness
  2. Ascoltando i nostri Podcast
  3. Seguendo RHC su WhatsApp
  4. Seguendo RHC su Telegram
  5. Scarica gratuitamente “Byte The Silence”, il fumetto sul Cyberbullismo di Red Hot Cyber

Se ti piacciono le novità e gli articoli riportati su di Red Hot Cyber, iscriviti immediatamente alla newsletter settimanale per non perdere nessun articolo. La newsletter generalmente viene inviata ai nostri lettori ad inizio settimana, indicativamente di lunedì.

Per facilitare la transizione, è possibile ad esempio, creare un sottile strato Rust, il preloader Shim , che copierà l’API C ed esporterà per la base di codice esistente. “Shim funge da wrapper attorno all’API della libreria Rust, collegando l’API C esistente e l’API Rust”, spiegano gli esperti. “Questo è quello che si fa di solito, riscrivendo le librerie o sostituendole con un’alternativa a Rust.”

Secondo Google, fino a poco tempo fa, i bug di sicurezza nella memoria erano la principale fonte di vulnerabilità in Chrome e Android. Grazie all’implementazione di linguaggi di programmazione in grado di liberare i prodotti da questa piaga, tra il 2019 e il 2022 il numero annuo di tali errori nel sistema operativo mobile è stato ridotto da 223 a 85.

L’anno scorso, Microsoft ha avviato il processo di migrazione del kernel di Windows su Rust.

La versione 11 della build del sistema operativo, rilasciata a maggio 2023, conteneva driver in questo linguaggio. Allo stesso tempo, si è saputo dei piani del colosso tecnologico per aumentare in modo simile la sicurezza del processore Pluton, che non ha ancora trovato un utilizzo diffuso.

Rust la chiave dei bug di memoria

Il linguaggio di programmazione Rust è stato progettato per risolvere problemi legati alla sicurezza della memoria e alla gestione concorrente dei dati, affrontando alcune delle vulnerabilità più comuni presenti in linguaggi come C e C++. Ecco i principali tipi di bug che Rust risolve:

1. Bug di gestione della memoria (Memory Safety Issues)

  • Dereferenziazione di puntatori nulli (Null Pointer Dereference): In linguaggi come C e C++, è comune che i puntatori nulli causino crash del programma o comportamenti imprevisti. Rust previene questo problema usando il tipo Option, che fornisce un modo sicuro di gestire valori che potrebbero essere nulli.
  • Use-After-Free: Questo bug si verifica quando un programma tenta di accedere a un’area di memoria che è già stata liberata. In Rust, grazie al sistema di proprietà (ownership) e al concetto di borrow checker, non è possibile accedere alla memoria dopo che è stata rilasciata.
  • Double Free: In C o C++, liberare la stessa area di memoria due volte può causare instabilità o vulnerabilità. Rust gestisce la liberazione della memoria in modo automatico e sicuro attraverso la sua gestione di ownership, prevenendo il rischio di liberazioni multiple della stessa risorsa.

2. Race conditions e problemi di concorrenza (Concurrency Bugs)

  • Data Race: Una data race si verifica quando due thread accedono contemporaneamente alla stessa memoria, con almeno uno che esegue un’operazione di scrittura, senza la necessaria sincronizzazione. Rust usa tipi come Mutex e RwLock, e il borrow checker assicura che le risorse condivise siano accessibili in modo sicuro, prevenendo le data race a compile-time.
  • Thread Safety: Rust applica rigorose regole di concorrenza e sincronizzazione attraverso il sistema di tipi, assicurandosi che le risorse condivise tra thread siano sicure da usare.

3. Buffer overflow

  • Questo è uno dei bug di sicurezza più comuni in linguaggi come C e C++, dove l’accesso a buffer di memoria oltre i limiti definiti può causare comportamenti imprevisti o vulnerabilità di sicurezza. Rust impedisce questo bug grazie al suo controllo rigoroso dei limiti degli array e delle slice, rendendo impossibile l’accesso fuori dai limiti a meno che non sia esplicitamente consentito.

4. Dangling Pointers

  • Un dangling pointer è un puntatore che fa riferimento a una locazione di memoria che non è più valida. In Rust, il sistema di ownership impedisce la creazione di puntatori invalidi o di riferimenti a memoria liberata, eliminando i dangling pointers.

5. Memory Leaks

  • Anche se Rust non garantisce di prevenire ogni perdita di memoria (poiché può esserci memoria ciclicamente referenziata che non viene rilasciata), è molto più difficile incorrere in memory leaks rispetto a linguaggi come C/C++. La gestione della memoria basata su ownership e il sistema di borrowing fanno sì che le risorse vengano rilasciate automaticamente quando non sono più utilizzate.

6. Errori di tipo (Type Safety Issues)

  • Rust è un linguaggio fortemente tipizzato, e molte operazioni che in altri linguaggi potrebbero fallire a runtime vengono bloccate a compile-time. Questo impedisce errori legati al tipo di dati, come assegnare valori a variabili di tipo incompatibile o effettuare operazioni non valide tra tipi diversi.

7. Stack Overflow per ricorsione non controllata

  • Rust include l’uso di tail-call optimizations per ridurre il rischio di overflow dello stack nelle funzioni ricorsive. Anche se non previene completamente il problema, il suo sistema di tipi e la gestione delle risorse rendono più facile evitare errori di questo tipo.

Immagine del sitoRedazione
La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.

Lista degli articoli

Articoli in evidenza

Immagine del sito
Phishing contro PagoPA: nuova campagna abusa di open redirect Google
Di Redazione RHC - 17/10/2025

Il CERT-AGID ha rilevato una nuova variante del phishing ai danni di PagoPA. La campagna, ancora a tema multe come le precedenti, sfrutta questa volta un meccanismo di open redirect su domini legittim...

Immagine del sito
Nvidia perde il 95% dal mercato AI Cinese! Le restrizioni all’export fanno crollare la quota
Di Redazione RHC - 17/10/2025

Jen-Hsun Huang, fondatore e CEO di Nvidia, ha rivelato che le recenti restrizioni all’esportazione hanno drasticamente ridotto la presenza dei chip AI dell’azienda in Cina, passando dal 95% a una ...

Immagine del sito
Cyber-droni, elusione radar e sciami autonomi: Roma, la sfida invisibile del Giubileo 2025
Di Francesco Demarcus - 17/10/2025

Il Giubileo 2025 a Roma rappresenta una sfida non solo per la gestione di milioni di pellegrini e turisti, ma anche per la protezione dello spazio aereo urbano. I droni, sempre più diffusi e accessib...

Immagine del sito
100 anni di Intelligence italiana! Mattarella celebra il centenario del SIM al Quirinale
Di Redazione RHC - 16/10/2025

Il 15 ottobre 2025 segna un anniversario di eccezionale rilievo nella storia della sicurezza nazionale italiana: cento anni dalla nascita del Servizio Informazioni Militare (SIM), primo servizio di in...

Immagine del sito
Allarme: migliaia di siti italiani a rischio! 526.000 siti e 6.500 db in vendita nel Darkweb
Di Luca Stivali - 16/10/2025

Un nuovo post sul dark web offre l’accesso completo a migliaia di server e database MySQL appartenenti a provider italiani di hosting condiviso. Nelle ultime ore è apparso su un forum underground u...