Simple Science

Scienza all'avanguardia spiegata semplicemente

# Informatica# Crittografia e sicurezza

Migliorare la cybersicurezza nelle catene di fornitura software

Affrontare le crescenti minacce informatiche alle catene di fornitura software tramite sforzi collaborativi e migliori pratiche.

― 7 leggere min


Cybersecurity nelleCybersecurity nellefiliere del softwareinformatiche nello sviluppo software.Contrastare le crescenti minacce
Indice

Negli ultimi anni, c'è stata una significativa crescita degli attacchi informatici mirati alla catena di fornitura del software. Questi attacchi possono causare danni seri a aziende e organizzazioni. Incidenti noti, come quelli di SolarWinds e log4j, hanno colpito numerosi clienti e organizzazioni. In risposta, sia il governo statunitense che l'industria tecnologica stanno dando priorità alla sicurezza della catena di fornitura del software.

Il 22 febbraio 2023, i ricercatori hanno organizzato un summit incentrato sulla sicurezza della catena di fornitura del software. Questo evento ha coinvolto 17 professionisti del settore provenienti da 15 aziende diverse. L'obiettivo era condividere intuizioni e esperienze relative alla sicurezza della catena di fornitura del software e promuovere nuove collaborazioni.

Argomenti Chiave di Discussione

Durante il summit, i partecipanti hanno partecipato a sei discussioni di panel incentrate su vari argomenti, tra cui:

  1. Software Bill Of Materials (SBOMs)
  2. Committ di tipo malevolo
  3. Selezione di nuove dipendenze
  4. Pratiche di build e deployment
  5. Executive Order 14028
  6. Dipendenze vulnerabili

Le discussioni aperte tra i partecipanti hanno aiutato a evidenziare le sfide comuni affrontate da coloro che lavorano nella sicurezza della catena di fornitura del software.

Attori Maligni nell'Ecosistema Software

Uno dei principali problemi discussi è stata la presenza di attori maligni che sfruttano la catena di fornitura del software. Queste persone guadagnano la fiducia dei team di sviluppo e utilizzano metodi come il typosquatting, dove creano nomi di pacchetti simili per ingannare gli sviluppatori nell'uso del loro software malevolo.

Alte tecniche menzionate includono la confusione delle dipendenze, che comporta ingannare gli sviluppatori nel scaricare pacchetti malevoli invece di quelli legittimi. Inoltre, è stata discussa la minaccia del protestware, codice che esegue azioni indesiderate sotto le spoglie di software legittimo. Le iniezioni di codice malevolo sono state segnalate come un altro rischio significativo negli ecosistemi open-source.

Percezioni sulla Sicurezza dell'Open Source

C'è una convinzione comune che il software open-source sia rischioso. Tuttavia, i dati suggeriscono che fino al 98% dei progetti open-source ha versioni che non contengono vulnerabilità conosciute. Molte vulnerabilità vengono corrette prima di essere divulgate.

Eppure, la realtà è che gli sviluppatori spesso utilizzano versioni di software che sono vulnerabili. Ad esempio, il 68% delle applicazioni riportano di utilizzare componenti con vulnerabilità note, dimostrando che mantenere il software aggiornato è cruciale per minimizzare i rischi.

L'Impatto dell'Executive Order 14028

Nel maggio 2021, il governo statunitense ha emesso l'Executive Order 14028, indirizzando le organizzazioni che forniscono software critico a migliorare le loro pratiche di sicurezza. I partecipanti hanno avuto esperienze varie con questo ordine. Alcuni hanno notato che ha fornito un buon quadro per migliorare le pratiche di sicurezza, mentre altri hanno sentito che non ha portato a cambiamenti significativi o risorse aggiuntive.

L'ordine sottolinea la necessità di software bill of materials (SBOMs), che sono fondamentalmente inventari dei componenti che compongono un prodotto software. Tuttavia, c'erano preoccupazioni che produrre questi SBOMs potesse portare a una semplice conformità senza miglioramenti significativi nella sicurezza.

Il Ruolo e le Sfide degli SBOMs

Un SBOM è un elenco che dettaglia tutti i componenti utilizzati in un prodotto software. Aiuta gli utenti a identificare componenti di terze parti e dipendenze. Sebbene molti partecipanti abbiano espresso supporto per l'idea di SBOMs, ci sono state preoccupazioni sulla loro efficacia e le sfide per generarli.

Molti strumenti di generazione degli SBOM non soddisfano i requisiti minimi stabiliti dalle autorità nazionali. Inoltre, grandi file SBOM possono essere ingombranti da gestire, e condividerli comporta rischi, poiché potrebbero fornire agli attaccanti informazioni sulle vulnerabilità del software.

Selezionare Dipendenze Software

Scegliere le giuste dipendenze software è fondamentale per mantenere la sicurezza. Le dipendenze open-source variano ampiamente in termini di qualità, manutenzione e sicurezza. I partecipanti hanno discusso vari approcci per selezionare dipendenze, come basarsi sulla popolarità d'uso o sulle vulnerabilità note.

Sebbene alcune aziende utilizzino metriche come OpenSSF Scorecard per valutare la sicurezza delle dipendenze, non esiste un metodo universalmente accettato per valutare i rischi dei vari componenti. Questa mancanza di standardizzazione rende difficile per gli sviluppatori prendere decisioni informate quando selezionano dipendenze.

Affrontare le Vulnerabilità nelle Dipendenze

I progetti software si basano fortemente su dipendenze di terze parti, che possono introdurre vulnerabilità. Notare e risolvere prontamente queste vulnerabilità è cruciale. I partecipanti hanno discusso vari approcci per affrontare le vulnerabilità nelle dipendenze, tra cui rimuovere, correggere o aggiornare.

Il consenso generale era che rimuovere dipendenze non necessarie è il modo più efficace per gestire il rischio. Quando non è possibile eliminare una dipendenza, diventa necessario correggere o aggiornare a una versione sicura. Tuttavia, trovare modi per gestire e aggiornare queste dipendenze rimane una sfida per molte organizzazioni.

L'Importanza della Comunicazione e della Cultura

Un fattore essenziale per garantire la sicurezza della catena di fornitura del software è la cultura all'interno di un'organizzazione. Gli sviluppatori spesso hanno una passione per il loro lavoro, rendendo cruciale fornire loro gli strumenti e le linee guida giuste per mantenere pratiche sicure. Imporre strumenti o processi specifici potrebbe non essere sempre efficace.

Invece, promuovere un ambiente in cui gli sviluppatori si sentano responsabili della sicurezza e siano incoraggiati a comunicare sulle vulnerabilità può migliorare le pratiche di sicurezza complessive all'interno di un'azienda. Identificare e affrontare il debito tecnico è anche vitale per mantenere software sicuro.

Rilevare Committ Maligni

Rilevare committ maligni nei repository software è un'altra sfida menzionata durante il summit. Alcune delle strategie discusse per mitigare i rischi includevano l'uso di revisioni a due persone e avere un elenco di manutentori fidati che possono unire le modifiche al codice. Tuttavia, queste strategie hanno limitazioni, poiché anche membri del team ben intenzionati possono trascurare il codice malevolo.

I partecipanti hanno anche discusso il potenziale ruolo dell'intelligenza artificiale e dell'apprendimento automatico nel rilevare codice malevolo. Sebbene queste tecnologie possano offrire soluzioni, ci sono preoccupazioni riguardo il loro potenziale abuso, specialmente se addestrate su codice vulnerabile.

Sicurezza del Processo di Build e Deployment

Il processo di build e deployment è un aspetto cruciale dello sviluppo software. I partecipanti hanno discusso vari modi per proteggere questi processi, incluso l'uso di ambienti di build consistenti e l'isolamento delle fasi di build. Molte aziende stanno adottando framework come Supply-chain Levels for Software Artifacts (SLSA) per migliorare le loro pratiche di sicurezza per il build.

I partecipanti hanno condiviso che passare a processi di build più sicuri può essere difficile, soprattutto per i sistemi legacy. I progetti più recenti tendono a beneficiare delle lezioni apprese durante il processo di build, consentendo misure di sicurezza migliori fin dall'inizio.

Build Riproducibili e le Loro Sfide

I build riproducibili sono essenziali per garantire che il software possa essere costruito e distribuito in modo affidabile. Sebbene molti partecipanti abbiano espresso entusiasmo per il potenziale dei build riproducibili, esistono ancora sfide, in particolare per i sistemi legacy che potrebbero non supportare queste pratiche.

La conversazione ha evidenziato l'importanza di mantenere processi chiari per costruire software e garantire che tutte le dipendenze siano contabilizzate in modo coerente. I partecipanti hanno notato che i Dockerfile e file simili possono presentare sfide per i build riproducibili, poiché possono variare ampiamente a seconda di come vengono creati.

Conclusione

La catena di fornitura del software sta affrontando numerose sfide in vista dell'aumento delle minacce informatiche. Individui e organizzazioni coinvolti nello sviluppo software devono dare priorità alla sicurezza adottando le migliori pratiche e impegnandosi in una comunicazione aperta con colleghi e pari.

Utilizzando strumenti come gli SBOM, selezionando dipendenze sicure e mantenendo un focus sulla gestione delle vulnerabilità, le organizzazioni possono proteggersi meglio dai rischi potenziali. Inoltre, coltivare una forte cultura della sicurezza tra gli sviluppatori faciliterà gli sforzi collettivi per migliorare la sicurezza della catena di fornitura del software.

Con l'evoluzione del panorama dello sviluppo software, un'educazione continua sulle pratiche di sicurezza e un investimento nella comunità open-source possono ulteriormente migliorare la resilienza della catena di fornitura del software.

Fonte originale

Titolo: S3C2 Summit 2023-02: Industry Secure Supply Chain Summit

Estratto: Recent years have shown increased cyber attacks targeting less secure elements in the software supply chain and causing fatal damage to businesses and organizations. Past well-known examples of software supply chain attacks are the SolarWinds or log4j incidents that have affected thousands of customers and businesses. The US government and industry are equally interested in enhancing software supply chain security. On February 22, 2023, researchers from the NSF-supported Secure Software Supply Chain Center (S3C2) conducted a Secure Software Supply Chain Summit with a diverse set of 17 practitioners from 15 companies. The goal of the Summit is to enable sharing between industry practitioners having practical experiences and challenges with software supply chain security and helping to form new collaborations. We conducted six-panel discussions based upon open-ended questions regarding software bill of materials (SBOMs), malicious commits, choosing new dependencies, build and deploy,the Executive Order 14028, and vulnerable dependencies. The open discussions enabled mutual sharing and shed light on common challenges that industry practitioners with practical experience face when securing their software supply chain. In this paper, we provide a summary of the Summit. Full panel questions can be found in the appendix.

Autori: Trevor Dunlap, Yasemin Acar, Michel Cucker, William Enck, Alexandros Kapravelos, Christian Kastner, Laurie Williams

Ultimo aggiornamento: 2023-07-31 00:00:00

Lingua: English

URL di origine: https://arxiv.org/abs/2307.16557

Fonte PDF: https://arxiv.org/pdf/2307.16557

Licenza: https://creativecommons.org/licenses/by-nc-sa/4.0/

Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.

Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.

Altro dagli autori

Articoli simili