Torna al blog
dns Pubblicato: AEU DNS Newsroom

NLnet Labs Dedica Tempo di Ingegneria per Migliorare il Compilatore Rust per un Software DNS più Sicuro

NLnet Labs Dedica Tempo di Ingegneria per Migliorare il Compilatore Rust per un Software DNS più Sicuro

Il produttore di software DNS open source sta pagando un ingegnere per lavorare sul compilatore Rust un giorno a settimana, rafforzando le fondamenta di DNSSEC e degli strumenti resolver.

NLnet Labs, l'organizzazione no-profit dietro agli strumenti DNS ampiamente utilizzati, ha annunciato il 14 luglio 2026 che restituirà alla comunità del linguaggio di programmazione Rust. Rust è un linguaggio di programmazione moderno progettato per prevenire bug legati alla memoria, il che lo rende attraente per software critici per la sicurezza. Negli ultimi sei anni, ogni nuovo progetto di NLnet Labs è stato scritto in Rust. Il team ha ora deciso di supportare direttamente lo sviluppo di Rust permettendo all'ingegnere Arya K. di dedicare un giorno a settimana, a partire dal 22 luglio, al compilatore Rust stesso. Questa mossa non è solo beneficenza software; è un investimento nella sicurezza dell'ecosistema DNS su cui molti utenti Internet fanno affidamento ogni giorno.

La storia di Rust illustra sia la promessa che la fragilità dello sviluppo open source. Il linguaggio è stato creato da Mozilla e ha goduto di anni di supporto dai suoi sviluppatori. Man mano che la sua popolarità cresceva, altre aziende hanno contribuito al progetto. Ma intorno al 2020, licenziamenti diffusi e ristrutturazioni hanno fatto sì che molti contributori sponsorizzati dalle aziende non potessero più giustificare il tempo di lavoro dedicato a Rust. Il progetto ha poi visto un'ondata di contributi volontari da parte di persone che lavoravano nel tempo libero, portando al burnout tra i manutentori. Dall'anno scorso, RustNL, l'organizzazione no-profit dietro la conferenza RustWeek, e The Rust Foundation hanno lanciato iniziative per finanziare i principali manutentori, ma le loro risorse sono limitate e la stragrande maggioranza dei contributori di Rust lavora ancora senza retribuzione.

Arya K. è entrata in NLnet Labs nel 2024 per lavorare sui suoi progetti DNS basati su Rust. Sta guidando una riprogettazione dell'API della libreria di dominio ed è un membro fondamentale del team Cascade, che costruisce un firmatario DNSSEC nascosto. DNSSEC, acronimo di Domain Name System Security Extensions, aggiunge firme digitali ai record DNS in modo che gli utenti Internet possano fidarsi che l'indirizzo del sito web ricevuto non sia stato manomesso. Arya era già un'entusiasta utente di Rust prima di entrare. Il suo passatempo preferito è l'ottimizzazione, e si è spostata naturalmente dallo scrivere codice Rust veloce al cercare di far compilare codice più velocemente al compilatore Rust stesso. Sebbene sia una fan di SIMD (Single Instruction, Multiple Data) e di altre tecniche di basso livello, si è interessata all'ottimizzazione del compilatore per un motivo diverso: vuole trovare modi architetturali su larga scala per sbloccare prestazioni migliori. Un anno fa, ha iniziato a costruire un compilatore Rust da zero nel suo tempo libero. Chiamato Krabby, è un parco giochi per sperimentare un'architettura di compilatore radicalmente diversa. Presenterà Krabby a EuroRust 2026 a Barcellona.

Il nuovo accordo in NLnet Labs è una collaborazione con RustNL. Arya lavorerà sotto la guida dei manutentori di Rust per pianificare il suo lavoro e connettersi con altri contributori di rustc, il compilatore ufficiale di Rust. Attualmente, si sta concentrando sull'accelerare l'elaborazione da parte di rustc delle macro dichiarative, che sono modelli di codice che generano automaticamente altro codice e sono comuni nei progetti Rust. Il suo lavoro è tracciato attraverso i numeri di problema del progetto Rust #158577, #158974 e #158976. Nel tempo, prevede di spostarsi attraverso rustc componente per componente, ottimizzando ciò che può e testando modifiche architetturali in Krabby. Ulteriori dettagli sono disponibili sul suo blog personale.

L'impegno di NLnet Labs verso Rust è strettamente legato al suo lavoro sulla sicurezza DNS. Ad esempio, il suo software Routinator, che aiuta a validare le informazioni di routing Internet, è stato recentemente sottoposto a audit dalla società di sicurezza X41 D-Sec. Gli auditor hanno concluso che "il sistema sembra essere a un buon livello di sicurezza e utilizza bene le caratteristiche di sicurezza di Rust," un risultato diretto delle garanzie di sicurezza della memoria del linguaggio. La sicurezza della memoria significa che errori di programmazione comuni come i buffer overflow, spesso sfruttati dagli attaccanti, sono in gran parte prevenuti in fase di compilazione. Un altro progetto, Cascade beta 1, un firmatario DNSSEC nascosto soprannominato "Slàinte mhath," è stato rilasciato per i test all'incontro DNS OARC 46 a Edimburgo. Un firmatario nascosto mantiene le chiavi di firma DNSSEC offline, rendendole molto più difficili da rubare. NLnet Labs ha anche celebrato un anno di Roto, un linguaggio di scripting incorporato compilato JIT per applicazioni Rust, con il rilascio della versione 0.11.0.

Supportando i miglioramenti del compilatore Rust, NLnet Labs sta aiutando a proteggere il software che alimenta il sistema dei nomi di dominio stesso. Questo è importante per ogni utente Internet, perché un DNS debole può essere sfruttato per phishing, tracciamento o censura. Per la protezione quotidiana, anche se non sei un programmatore, puoi scegliere un resolver DNS che dia priorità a sicurezza e privacy. Usare un servizio DNS privato e crittografato come AEU DNS aggiunge un ulteriore livello di protezione per la tua navigazione, proteggendo le tue query da occhi indiscreti mentre l'ecosistema open source sottostante diventa più forte.

Termini spiegati

Rust
Un linguaggio di programmazione moderno che aiuta a prevenire comuni bug di sicurezza gestendo la memoria in modo sicuro.
Compiler
Uno strumento che traduce il codice sorgente leggibile dall'uomo nel codice macchina che un computer può eseguire.
DNSSEC
Un'estensione del sistema dei nomi di dominio che aggiunge firme digitali ai record DNS per prevenire manomissioni e spoofing.
Declarative macros
In Rust, una funzionalità che permette ai programmatori di definire modelli di codice che generano automaticamente codice ripetuto, riducendo gli errori.
SIMD
Acronimo di Single Instruction, Multiple Data, una tecnica che permette a un processore di eseguire la stessa operazione su molti dati contemporaneamente per velocità.
Memory safety
Una proprietà di alcuni linguaggi di programmazione che impedisce ai programmi di accedere accidentalmente a memoria non valida, prevenendo molti attacchi.
rustc
Il compilatore ufficiale per il linguaggio di programmazione Rust.
Open source
Software il cui codice sorgente è pubblicamente disponibile per essere ispezionato, modificato e migliorato da chiunque.

Come proteggerti

  1. Attiva il DNS crittografato (chiamato DNS over HTTPS o DNS over TLS) nelle impostazioni del browser web o del telefono; questo mescola le tue richieste DNS così nessuno sulla rete può vedere quali siti web visiti.
  2. Abilita la validazione DNSSEC sul router o sul dispositivo se l'opzione esiste; DNSSEC verifica la firma digitale sulle risposte DNS per assicurarsi che non siano state contraffatte.
  3. Mantieni aggiornati il firmware del router e il browser web, perché gli aggiornamenti spesso correggono buchi DNS e di sicurezza che gli attaccanti potrebbero usare per reindirizzarti.
  4. Scegli un provider DNS che dichiari apertamente di supportare DNS crittografato e validazione DNSSEC, e leggi la sua politica sulla privacy per confermare che non venda i tuoi dati di navigazione.
  5. Se gestisci un sito web, chiedi al tuo registrar di domini o al provider di hosting DNS di abilitare DNSSEC per il tuo dominio, così i visitatori possono fidarsi dell'indirizzo del tuo sito.

Fonte: blog.nlnetlabs.nl

Ottieni un DNS privato e cifrato