Chiusura della risorsa aperta: dissipare la fantasia
Pubblicato: 2022-03-31A seguito della divulgazione della vulnerabilità di Log4j nel dicembre 2021 e della nuova circostanza di uno sviluppatore che sabota le sue librerie Javascript in possesso - "color.js" e "faker.js", lo stato del software per computer open source è stato messo in discussione.
Con un incontro di alto profilo presso la White Property sull'open up source e gli ordini del governo del presidente degli Stati Uniti Biden, alcuni hanno persino suggerito che si tratta della "risorsa di apertura". Sebbene possa essere allettante verificare una grave vulnerabilità come segno di apertura dell'offerta che in qualche modo rimane carente, la verità è significativamente da quella.
Il software open source non è molto più né meno sicuro del pacchetto software aziendale. In realtà, la maggior parte dei software per computer professionali è possibile che funzioni o funzioni su sistemi open-source. La fornitura aperta significa solo che il programma software è formulato in un modo esattamente in cui il codice della fornitura è accessibile a chiunque lo desideri.
Quello che abbiamo visto con la risposta di Log4j dal team di Apache Log4j è esattamente quello che ci auguriamo di vedere: un team che sta prendendo sul serio il pacchetto software che sviluppa e che attualmente risponde ai desideri della sua fondazione. Considerando che sono volontari, questo tipo di risposta è indicativo del piacere della proprietà che vediamo spesso all'interno delle comunità di risorse aperte.
Un po 'che istigare la chiusura dell'open source, è molto probabile che un incidente come Log4j migliori il miglioramento dell'open source nel suo insieme, in modo molto simile a come Heartbleed ha migliorato i metodi di avanzamento dei due gruppi di crescita open e closed source. Quindi, se l'open source è elencato qui per continuare ad essere, cosa dovrebbero fare le organizzazioni trasferendosi in avanti per rilevare e mitigare le vulnerabilità in modo molto più efficiente?
Affrontare la protezione del software del computer a livello organizzativo
Perfettamente, la strategia di identificazione e mitigazione delle vulnerabilità ci richiede di delineare alcuni ruoli in anticipo. La maggior parte delle persone spera che i fornitori di pacchetti software, vale a dire le persone che sviluppano il software per computer da cui dipendono, controllino quel software. Il risultato finale di tale test sarebbe una serie di risultati che evidenzieranno i punti deboli del software fornito dal fornitore. In un grande mondo intero, ognuna di tutte queste debolezze verrebbe risolta prima della spedizione e consegna del programma.
Nel pianeta autentico, anche così, alcuni di tutti questi punti deboli saranno preimpostati, alcuni saranno contrassegnati come "nessun programma da correggere" e alcuni saranno ottimisticamente corretti in un lancio a lungo termine. Qual è l'elenco dei punti deboli e quali sono stati impostati, non è poco qualcosa che un fornitore di solito divulga. Inoltre, non esiste uno strumento in grado di scoprire tutti i punti deboli e alcuni funzionano solo se si dispone del codice della risorsa, sebbene altre persone richiedano un software in esecuzione.
Prenderete atto che in questo non è stata fatta menzione della parola "vulnerabilità", poiché ha un'indicazione specifica e di base. In applicazione, una vulnerabilità è semplicemente una debolezza che può essere sfruttata o che ha una realistica opportunità di sfruttamento.
La maggior parte, ma non tutte, le vulnerabilità vengono divulgate tramite una procedura centralizzata riconosciuta come Nationwide Vulnerability Databases o solo NVD. Anche se l'NVD ha radici negli Stati Uniti ed è curato dalle autorità statunitensi, i contenuti dell'NVD sono accessibili a tutti e replicati in più sedi internazionali. Da un punto di vista della governance, verificare la presenza di miglioramenti nei contenuti della NVD è un ottimo modo per tenere il passo con le nuove rivelazioni di vulnerabilità.
Il problema è che l'NVD si aggiorna più lentamente della copertura mediatica, quindi con vulnerabilità chiave come Log4Shell, HeartBleed e Dirty Cow, la forza lavoro che trova la vulnerabilità potrebbe creare un titolo marchiato per la vulnerabilità nel tentativo di ampliare la consapevolezza della difficoltà. La produzione di un piano di governance che scherma la protezione dei media da questi cyber-raduni non è sicuramente una pratica fantastica.
Se la copertura mediatica come accesso all'amministrazione della vulnerabilità è una cattiva idea e la NVD è un po' graduale nel presentare tutti i fatti, qual è allora la politica di governance più efficace? Ciò proverrà da una forma di strumento di sicurezza noto come "Analisi della composizione del software" o SCA. Un software SCA sembra essere sia il codice sorgente di un'applicazione, sia l'eseguibile o le librerie che definiscono l'applicazione, e tenta di capire quali librerie open source sono state impiegate per creare quel software.
L'elenco di queste biblioteche di persone è noto come SBOM, o Distinta dei materiali del software per computer. Supponendo che l'applicazione SCA svolga la sua occupazione in modo efficace, è possibile definire una politica di governance che associ i dettagli NVD allo SBOM in modo da sapere cosa correggere... Solo che ci sono comunque fatti NVD latenti di cui tenere conto.
Alcuni degli strumenti SCA molto più avanzati risolvono questa sfida generando avvisi che avvisano in modo proattivo i clienti quando c'è una voce NVD in sospeso ma in cui i dettagli di tale voce NVD sono aumentati dal fornitore SCA. Alcune delle apparecchiature più all'avanguardia si dedicano anche allo screening o alla convalida di quali variazioni del software del computer sono interessate dalla divulgazione della vulnerabilità.

Tuttavia, sebbene il programma software SCA possa colmare il divario tra la divulgazione e l'identificazione, è necessario osservare che presenta un limite fondamentale. Se il programma SCA non ha scansionato tutti i tuoi programmi, nella migliore delle ipotesi può solo segnalare nuove rivelazioni di vulnerabilità per un sottoinsieme dei tuoi programmi.
Dal punto di vista della copertura della governance, quindi ottiene un intervento IT per stabilire tutti i programmi software e una funzionalità di approvvigionamento per assicurarsi che tutte le applicazioni, come aggiornamenti e download gratuiti, le due appaiano sotto una SBOM e che la SBOM sia convalidata applicando Programma software SCA. Poiché il programma è disponibile sia in formato sorgente che binario, è importante che i team di governance che seguono questo percorso scelgano un programma software SCA in grado di agire efficacemente in tutte le varietà e formati. Questi tipi di piano di governance aiuterebbero l'identificazione di nuove rivelazioni di vulnerabilità e l'impatto sull'impresa, ma lascerebbero la differenza di mitigazione produttiva a una politica unica, dato che la mitigazione richiederebbe test del software.
Garantire la sicurezza della propria ingegneria è solo un punto, ma l'eleganza dell'open-resource è che è progettato per essere collaborativo.
Per parafrasare Abraham Lincoln, la risorsa aperta è il know-how delle persone, degli individui e per gli individui. Il movimento alla moda dell'open source è stato avviato sul principio di base che se non ti piaceva il modo in cui il codice funzionava, allora sei stato libero di modificarlo e affrontare, indipendentemente dalle lacune nelle funzionalità che alla fine sono state percepite come esistenti.
L'elemento della difficoltà che affrontiamo in questi giorni è un sentimento per cui i consumatori o gli utenti finali di progetti open-source si comportano come se la sfida dell'open supply fosse un venditore di applicazioni aziendali.
Se appari all'elenco delle sfide di qualsiasi impresa di risorse di apertura ragionevolmente nota su GitHub, vedrai richieste di funzioni e recensioni su quando i problemi selezionati potrebbero essere risolti. Tali storie di problemi e lamentele sulla funzionalità hanno un'aspettativa implicita che un product manager sia alla fine di quelle richieste di persone e che verranno aggiunte a una tabella di marcia e ad un certo punto saranno lanciate, il tutto gratuitamente.
In effetti, le lacune nelle funzionalità e persino nei bug percepiti, significano possibilità non di richiedere servizi di esperti di programmazione gratuiti ma come alternativa per contribuire ai risultati a lungo termine del codice che è sostanzialmente cruciale per la persona che si lamenta.
Naturalmente, alcune persone non conosceranno il linguaggio di programmazione impiegato dal progetto, ma aspettarsi che altre persone diano la priorità a un reclamo da una terza parte sconosciuta più delle variazioni che chiariscono le complicazioni per i contributori energici non sembra reale. In modo significativo come qualsiasi altra cosa, le risorse aperte sono caratterizzate dall'altruismo dei contributori.
Più di recente abbiamo ascoltato per molto tempo i principali contributori per i noti lavori di apertura delle risorse specifico fastidio per i guadagni realizzati dalle grandi imprese dall'uso del loro pacchetto software. Mentre è facile relazionarsi con qualcuno che mette il proprio potere in un compito solo per ottenere un terzo dei guadagni dei tentativi, la realtà è che se quel terzo colpo sta traendo profitto dai tentativi di una forza lavoro aperta per l'avanzamento delle risorse, allora dovrebbero contribuire al suo successo a lungo termine.
In caso contrario, corrono il rischio che non solo il codice in questione possa trasformarsi in metodi su cui non facevano affidamento, ma anche che, quando i problemi di protezione vengono identificati e risolti, potrebbero avere ritardi nell'applicazione delle correzioni alle persone. Dopotutto, se una piccola impresa non si prende il tempo di interagire con i team che producono il software per computer che alimenta la propria impresa, è possibile che non conoscano il luogo in cui ha origine tutto il programma che alimenta la propria impresa e non siano in grado di applicare patch in modo affidabile esso.
La scoperta delle vulnerabilità nell'offerta di apertura non è un problema, ma l'individuazione di difetti del programma che rappresentano una debolezza che potrebbe essere sfruttata, è un argomento importante. Sebbene il pacchetto software open source e closed supply abbia un potenziale equivalente per problemi di stabilità, con la risorsa open up è possibile per chiunque determinare tutti questi problemi. Con questo in testa, le organizzazioni devono ottenere misure proattive, che non dipendono dalla protezione dei media, per monitorare le vulnerabilità più aggiornate.
Altrettanto cruciale, dovrebbero svolgere uno scopo contribuente agli incarichi di fornitura aperta da cui premiano, altrimenti potrebbero far cadere il malato a variazioni del codice impreviste o alla consapevolezza ritardata di patch significative.
Tim Mackey è Principal Protection Strategist presso Synopsys .