In rete si trovano diversi strumenti open source molto utili per i ricercatori di sicurezza, oggi ve ne presento uno tutto nuovo annunciato da GitLab: Package Hunter.
I moderni linguaggi di programmazione rendono il riutilizzo del codice molto semplice. Sebbene il riuso di pacchetti disponibili su repository pubblici abbia tanti vantaggi, su tutti la riduzione del tempo necessario per scrivere un’app, ci sono anche aspetti negativi. Le app dipendono da centinaia di pacchetti legati tra loro e i programmatori spesso si fidano del fatto che questi pacchetti non contengano codice dannoso. In un mondo ideale, tutto il codice da cui dipende un programma deve essere accuratamente controllato prima di essere incluso in un programma, tuttavia ciò è spesso irrealizzabile a causa dell’enorme quantità di codice che deve essere revisionato.
L’assenza di verifiche puntuali del codice presente nelle dipendenze è stata sfruttata diverse volte da cybercriminali, qui trovate un report a riguardo.
GitLab, Package Hunter
Package Hunter viene in soccorso degli sviluppatori perché consente di rilevare facilmente il codice dannoso eventualmente presente in un pacchetto.
Normalmente, l’autore dell’attacco inietta codice dannoso in uno o più package, oppure crea un repository privato separato per distribuire la dipendenza dannosa che apparentemente è sicura. Le tecniche usate sono sempre più sofisticate. I controlli eseguiti da un classico gestore di pacchetti vengono superati, soprattutto perché va alla ricerca di vulnerabilità note.
Quindi, con un controllo aggiuntivo, si può aumentare la sicurezza della catena di approvvigionamento del software. Se la sicurezza della catena di approvvigionamento migliora, anche la sicurezza del software open source migliorerà di conseguenza.
Come fa Package Hunter ad intercettare eventuali anomalie e tentativi di injection? Il tool effettua le sue verifiche installando le dipendenze in un ambiente sandbox e monitorando le chiamate di sistema eseguite durante l’installazione. Eventuali chiamate sospette vengono segnalate all’utente per un riesame. Attualmente supporta il test di moduli NodeJS e Ruby Gems.
Package Hunter si integra perfettamente con GitLab. Per iniziare ad utilizzarlo, è necessario partire dal template CI di GitLab, in modo da aggiungere un job e configurare un server Package Hunter. Fate riferimento alla documentazione ufficiale per ulteriori dettagli tecnici.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.