I report sulle vulnerabilità generati dall'IA stanno causando grattacapi a Linus Torvalds e alla sua azienda.

  • Linus Torvalds riferisce che l'elenco di sicurezza privato del kernel Linux è diventato quasi ingestibile a causa di segnalazioni duplicate generate dall'intelligenza artificiale.
  • La nuova documentazione di Linux 7.1 ridefinisce cosa costituisce una vera vulnerabilità e cosa dovrebbe essere trattato come un normale bug nei canali pubblici.
  • I guasti rilevati tramite l'intelligenza artificiale diventano di fatto pubblici e devono essere segnalati con report brevi, verificabili e in formato testo semplice.
  • Il progetto incoraggia l'utilizzo dell'IA non solo per individuare i bug, ma anche per proporre e testare patch che apportino un valore reale all'ecosistema.

Intelligenza artificiale nel kernel Linux

La comunità del kernel Linux sta vivendo un momento di Analisi approfondita delle modalità di segnalazione e gestione delle vulnerabilità.Ciò è dovuto in gran parte all'impatto diretto degli strumenti di intelligenza artificiale sull'analisi del codice. L'adozione diffusa di questi sistemi ha aumentato drasticamente il volume degli avvisi di sicurezza, ma ha anche rivelato un serio problema di duplicazione, rumore e un ulteriore onere per i manutentori.

Linus Torvalds, figura centrale del progetto, è arrivato a descriverlo (nel Note di rilascio di Linux 7.1-rc4) l'elenco di sicurezza privato del kernel come “quasi completamente ingestibile” a causa della valanga di report supportati dall’IAMolte di queste segnalazioni erano duplicate o classificate in modo errato. Per questo motivo, il progetto ha rilasciato una nuova documentazione integrata in Linux 7.1 che ridefinisce cosa costituisce una vera vulnerabilità di sicurezza e come devono essere gestite le segnalazioni generate utilizzando modelli di intelligenza artificiale.

Un elenco di sicurezza sommerso da segnalazioni duplicate

Nelle sue recenti comunicazioni riguardanti lo sviluppo di Linux 7.1, Torvalds ha avvertito che la mailing list sulle vulnerabilità è diventata un collo di bottiglia dove gli avvisi importanti si mescolano a una moltitudine di rapporti ridondantiIl problema non è solo la quantità, ma il fatto che persone diverse, utilizzando gli stessi strumenti automatizzati, finiscono per presentare esattamente gli stessi risultati.

Come ha spiegato, gli sviluppatori perdono molto tempo a inoltrare messaggi a chi dovrebbe effettivamente riceverli o a chiarire che il bug è già stato risolto. corretto giorni o settimane fa nei rami del kernelQuesta situazione, paragonata da alcuni a un "diluvio" di email, costringe a dedicare risorse alla risoluzione dei duplicati anziché concentrarsi su vulnerabilità nuove e gravi.

Willy Tarreau, un veterano manutentore del kernel stabile, noto per il suo lavoro su HAProxy, ha fornito delle figure illustrative: Solo un paio di anni fa, la mailing list privata riceveva tra due e tre segnalazioni a settimana.Attualmente, vengono gestite dalle cinque alle dieci segnalazioni al giorno. Molte provengono da analisi assistite dall'intelligenza artificiale che, pur evidenziando talvolta problemi reali, arrivano in formati poco pratici e senza fornire informazioni aggiuntive rilevanti.

Torvalds non si scaglia contro l'intelligenza artificiale in generale, ma contro il suo uso improprio.

Sebbene possa sembrare il contrario, Torvalds ha chiarito che Non si oppone all'uso dell'intelligenza artificiale come strumento di sviluppo e di verifica.Lui stesso ammette di utilizzare questi tipi di sistemi nel suo lavoro, ma insiste sul fatto che debbano essere utilizzati in modo responsabile e giudizioso.

Nei suoi messaggi alla comunità, ha sottolineato che gli strumenti di IA “sono fantastici” quando effettivamente aiutano, ma diventano un problema quando generano “dolore inutile e lavoro fittizio senza scopo”In altre parole, il semplice fatto che un modello automatizzato segnali una possibile vulnerabilità non giustifica l'inondazione dei canali di sicurezza con segnalazioni scarsamente verificate o prive di contesto tecnico.

Torvalds insiste sul fatto che chiunque utilizzi l'IA per trovare bug non dovrebbe semplicemente inoltrare un risultato grezzo, ma Leggete la documentazione del kernel, comprendete il modello di minaccia e, ove possibile, fornite una patch o almeno una spiegazione esaustiva dell'impatto.L'obiettivo è che gli esseri umani aggiungano valore al lavoro automatizzato, anziché fungere da semplici intermediari tra lo strumento e la mailing list.

Nuove regole in Linux 7.1: cosa costituisce una vulnerabilità e cosa no

In risposta a questa situazione, il progetto del kernel ha incorporato una documentazione più precisa in Linux 7.1 riguardo Quali guasti devono essere trattati come vulnerabilità di sicurezza e quali sono semplicemente bug da gestire attraverso i canali usualiIl testo, scritto da Willy Tarreau, è già presente nell'albero Git del kernel ed è disponibile prima del rilascio di Linux 7.1-rc4.

La guida parte da un'idea semplice: La maggior parte degli errori non dovrebbe essere instradata attraverso l'elenco di sicurezza privatoAl contrario, questi problemi dovrebbero essere affrontati apertamente nelle mailing list pubbliche di sviluppo. Discutere i problemi pubblicamente attrae un maggior numero di revisori, copre più casi d'uso e, in generale, porta a soluzioni di qualità superiore.

Il documento osserva che Linux aveva già un modello di minaccia chiaramente definitoQuesto diventa ora il principale punto di riferimento per decidere se una vulnerabilità debba essere gestita privatamente. Una vulnerabilità di sicurezza è definita come una vulnerabilità che consente a un aggressore di ottenere funzionalità che un sistema di produzione correttamente configurato non dovrebbe avere, che è ragionevolmente sfruttabile e che rappresenta una minaccia reale per un numero significativo di utenti.

In pratica, coloro che scoprono problemi sono invitati a chiedersi se l'errore In un contesto tipico, ciò oltrepassa davvero il limite della fiducia.Se la risposta è negativa, l'approccio consigliato è quello di controllare le mailing list pubbliche (come LKML e le mailing list specifiche per i sottosistemi), non il canale di sicurezza riservato. Ciononostante, la guida ammette un certo grado di cautela: in caso di dubbio, è preferibile esaminare privatamente una segnalazione sospetta piuttosto che lasciare che una vulnerabilità reale passi inosservata.

Un altro punto chiave del testo è che Inviare segnalazioni di bug comuni alla mailing list privata non ne accelera la risoluzione.Al contrario, consuma il tempo di triage di cui il team di sicurezza ha bisogno per dare priorità ai guasti realmente critici. Inondare quel canale con problemi di minore importanza finisce per peggiorare la protezione complessiva dei sistemi basati su Linux, inclusi server, infrastrutture cloud e dispositivi industriali.

Il modello di minaccia: separazione dei privilegi e casi esclusi

La nuova documentazione aggiorna e dettaglia il modello di minaccia del kernel, che elenca le garanzie la cui violazione è considerata un problema di sicurezza che merita un'attenzione prioritariaQueste includono la separazione tra spazio utente e kernel, l'isolamento della memoria tra processi, le restrizioni ptrace, l'isolamento dei meccanismi IPC e di rete e le protezioni associate a funzionalità sensibili come CAP_SYS_ADMIN, CAP_NET_ADMIN o CAP_SYS_PTRACE.

Particolare attenzione viene dedicata agli spazi dei nomi utente, dove impostazioni come CONFIG_USER_NS consentono agli utenti non privilegiati di creare ambienti isolati. Il progetto prevede che tali casi non possono compromettere il sistema globalein modo che qualsiasi violazione di tale isolamento diventi un problema di sicurezza.

Vengono inoltre analizzate le interfacce di debug come /proc/kmsg, perf o debugfs, tenendo presente che l'accesso a informazioni sensibili tramite questi meccanismi è rischioso. Deve essere bloccato a meno che non sia espressamente autorizzato dall'amministratore.Altrimenti, sussiste il rischio di fughe di dati che potrebbero essere utilizzati per perfezionare gli attacchi o per elevare i privilegi.

Insieme a questa definizione di garanzie, la guida chiarisce quali tipi di problemi Non dovrebbero essere etichettate automaticamente come vulnerabilitàQuesta categoria comprende errori in rami del kernel obsoleti, opzioni di compilazione non sicure scelte dall'amministratore, permessi errati in sysctl o nei file system, funzioni riservate al debug (LOCKDEP, KASAN, FAULT_INJECTION) e codice sperimentale nelle aree di staging.

Difetti che richiedono Privilegi eccessivi, scenari di laboratorio lontani dall'uso nel mondo reale, hardware manipolato, un numero ingestibile di tentativi o configurazioni che nessun amministratore sensato applicherebbe in produzione. Allo stesso modo, le fughe di dati senza un exploit evidente e alcuni problemi nelle immagini del file system, che in genere vengono gestiti da strumenti come fsck, esulano dall'ambito principale del canale di sicurezza.

Risultati ottenuti grazie all'intelligenza artificiale: dal settore privato a quello pubblico.

Uno dei cambiamenti più evidenti dell'aggiornamento riguarda l'approccio ai bug scoperti con l'aiuto dell'IA. La documentazione afferma che I bug rilevati tramite analisi automatizzata dovrebbero essere trattati come essenzialmente pubblicianche se la prima spedizione viene effettuata tramite posta privata.

Il motivo è puramente pratico: la recente esperienza del team di sicurezza dimostra che questi errori tendono a verificarsi simultaneamente nelle mani di diversi ricercatori che stanno sperimentando strumenti simili. È frequente ricevere diverse email nel giro di poche ore che descrivono la stessa situazione, con lievi variazioni di formato, rendendo irrealistica qualsiasi aspettativa di riservatezza prolungata.

Questa nuova realtà porta Torvalds ad affermare che Non ha senso trattare questi risultati come segreti da tenere nascosti fino a quando non verrà rilasciata una patch.Se un'intelligenza artificiale comune è in grado di individuarle, è ragionevole supporre che altri soggetti, inclusi potenziali aggressori, possano giungere allo stesso risultato. Etichettarle come vulnerabilità riservate non fa altro che aggiungere lavoro extra e complicare il coordinamento.

Ciò non significa che sia consigliabile pubblicare tutti i dettagli tecnici senza filtraggio. La guida chiede che, nei casi rilevati tramite IA, Non è immediatamente disponibile un lettore funzionante per il bug. (la sequenza esatta di passaggi o il codice che causa l'errore). L'approccio appropriato è quello di indicare che questo materiale esiste e consentire ai manutentori di richiederlo privatamente se lo ritengono necessario per convalidare la correzione.

Con questo approccio, il progetto tenta di combinare due interessi: da un lato, Evitate di intasare la lista privata con informazioni già note ad altri.D'altro canto, è importante non offrire a chiunque una "ricetta" per lo sfruttamento delle vulnerabilità prima che siano state messe in atto misure di mitigazione. Il lettore multimediale è riconosciuto come uno strumento prezioso sia per il debug che per la valutazione dell'impatto, ma anche come una questione delicata se distribuito senza controlli minimi.

Requisiti di qualità per i report generati dall'IA

La nuova documentazione dedica un'intera sezione a come dovrebbero essere scritti i report supportati dall'IA. La lamentela ricorrente dei team di manutenzione è che molti di questi report arrivano eccessivamente gonfiato, con spiegazioni ridondanti e poca attenzione ai dati essenziali, il che ne complica la lettura e la classificazione.

Innanzitutto, si richiede che i rapporti siano breve, chiaro e in testo sempliceIl team sconsiglia l'uso di formati come Markdown, abbellimenti o strutture complesse che non si prestano bene alle risposte a catena nelle mailing list. L'idea è che, quando si inoltra o si cita il messaggio, nessuna informazione vada persa e il testo non diventi un blocco illeggibile.

Per quanto riguarda il contenuto, si consiglia di iniziare con un Un semplice riepilogo che indica il file o il sottosistema interessato, le versioni coinvolte e l'effetto osservabile del bug.Da lì, si possono aggiungere dettagli, ma sempre con l'intento di facilitare una lettura rapida che permetta di decidere se il guasto è prioritario o rientra nella categoria dei problemi minori.

Un altro aspetto importante è come viene descritto l'impatto. Gli sviluppatori del kernel avvertono che molti report generati dall'IA... Tendono a esagerare le conseguenze teoriche.concatenando scenari ipotetici che non rispettano il modello di minaccia effettivo del progetto. Invece di costruire complesse narrazioni di attacco, ai partecipanti viene chiesto di attenersi a fatti verificabili, come ad esempio spiegare concretamente quali funzionalità aggiuntive un utente potrebbe ottenere su un sistema configurato in modo standard.

La guida arriva persino a suggerire che, ove possibile, lo strumento di intelligenza artificiale stesso dovrebbe pre-leggere la documentazione del modello di minaccia di Linux. allineare le sue conclusioni ai criteri già stabiliti dal progettoL'obiettivo è ridurre i malintesi e impedire che le segnalazioni automatiche trasformino un bug con un impatto limitato in una presunta vulnerabilità critica senza alcun fondamento reale.

Giocatori, patch e buon senso nell'era dell'automazione

Oltre a descrivere il guasto, la documentazione si concentra sugli aspetti più pratici: Generazione e validazione di giocatori e patch assistite dall'intelligenza artificialeMolti strumenti moderni possono creare piccoli programmi di test o script che riproducono il bug, oltre a suggerire modifiche al codice per risolverlo, ma non sempre lo fanno in modo affidabile.

Il kernel insiste affinché, prima di inviare un rapporto, Il ricercatore deve verificare personalmente che il lettore funzioni come descritto.Se la sequenza non innesca l'errore, o se l'IA non è in grado di generare un metodo riproducibile, la validità del report risulta seriamente compromessa. Pubblicare i risultati senza questa verifica non fa altro che generare confusione e far perdere tempo ai manutentori.

Per quanto riguarda le patch, il testo sottolinea che molte IA sono persino migliori. scrivere codice che ne valuti l'impattoPertanto, si incoraggiano gli utenti di questi strumenti a chiedere non solo di identificare il problema, ma anche di proporre una soluzione. Si sottolinea, tuttavia, che il risultato deve essere esaminato e testato manualmente prima di essere inviato alle mailing list di sviluppo.

La guida è inequivocabile nei casi in cui la patch non può essere testata perché dipende da hardware esotico, protocolli di rete praticamente estinti o configurazioni estremamente rareSe una falla si manifesta solo in un ambiente così marginale da risultare difficile da verificare, è molto probabile che non rientri nella categoria di vulnerabilità di sicurezza pertinente e che non debba quindi essere oggetto di discussione nel canale privato.

Quando si propone una soluzione, il progetto ricorda agli utenti che deve essere conforme alle linee guida standard per l'invio di patch del kernel, inclusa l'etichetta “Correzioni:” indica il commit specifico che ha introdotto il bugSi consiglia inoltre di usare il buon senso: se il file interessato non è stato modificato per più di un anno ed è gestito da una sola persona, potremmo avere a che fare con un componente con pochissimi utenti effettivi, come vecchi driver hardware o file system obsoleti.

In questi casi, la raccomandazione è chiara: se il problema è banale, facile da rilevare e non ha un impatto evidente negli ambienti tipici, L'approccio più ragionevole è quello di affrontare la questione direttamente attraverso gli elenchi di sviluppo pubblico. e non è inclusa nell'elenco dedicato alla sicurezza. In questo modo, le risorse più sensibili vengono riservate agli incidenti con conseguenze potenzialmente gravi.

Dall'era del fuzzing alla valanga dell'IA: lezioni per il software libero

La situazione attuale ricorda in qualche modo l'era in cui strumenti di fuzzing come Syzkaller iniziarono a bombardare il kernel con segnalazioni di errori rilevati in modo semiautomaticoIn quel periodo, la comunità dovette imparare a integrare quel flusso continuo di scoperte nel proprio processo di sviluppo senza interrompere il lavoro quotidiano.

Qualcosa di simile accade con l'intelligenza artificiale, ma su una scala diversa. Ora, non solo viene automatizzata la generazione di input che causano errori, ma anche... la stesura dei report stessi, l'analisi statica del codice e la proposta di patchQuesto velocizza l'individuazione dei bug, ma se non vengono filtrati e prioritizzati correttamente, moltiplica anche il numero di email, discussioni parallele e aspettative su ciò che il team del kernel è in grado di gestire.

All'interno dello stesso ecosistema Linux, ci sono delle sfumature nella valutazione di questo fenomeno. Greg Kroah-Hartman, un altro importante manutentore del kernel, ha sottolineato che I report generati dall'intelligenza artificiale sono passati rapidamente dall'essere quasi sempre spazzatura a diventare contributi validi.Questa visione più ottimistica coesiste con la preoccupazione di Torvalds circa l'eccesso di duplicati e il sovraccarico della lista di sicurezza.

Piuttosto che una contraddizione, queste posizioni riflettono due lati dello stesso processo di adozioneDa un lato, l'intelligenza artificiale può essere molto utile per individuare problemi reali; dall'altro, se molte persone utilizzano gli stessi strumenti sullo stesso codice e inviano i risultati senza alcun filtro, l'effetto combinato è una "tempesta" di avvisi difficile da gestire.

Un esempio di utilizzo responsabile dell'automazione è fornito dallo stesso Kroah-Hartman, che ha pubblicato sistemi personalizzati per la scansione del kernel, la generazione di patch, il loro test e il loro invio seguendo il flusso di lavoro standard del progetto. La chiave è che, in questi casi, Lo sviluppatore si assume la piena responsabilità tecnica per l'intero ciclo di vita, invece di inoltrare semplicemente senza verificare cosa produce uno strumento.

L'intero movimento che circonda Linux 7.1 mostra un progetto che, lungi dal rifiutare l'intelligenza artificiale, è adattando i loro processi in modo che l'automazione funzioni a favore della sicurezza e non contro di essaDefinendo criteri più rigorosi per la definizione di vulnerabilità, richiedendo segnalazioni verificabili in chiaro e incoraggiando l'intelligenza artificiale a contribuire alla generazione e al test delle patch, il kernel mira a tutelare il tempo dei manutentori, ridurre il rumore di fondo e concentrare gli sforzi sui bug che possono effettivamente compromettere i sistemi di produzione.


Aggiungi come fonte preferita