GitHub è utilizzato dagli sviluppatori di tutto il mondo per archiviare e condividere il codice dei progetti. Consente agli sviluppatori di creare repository pubblici e collaborare a vari progetti. Fondato nel 2008, GitHub è un servizio basato su cloud che fornisce funzionalità di hosting ed è stato acquisito da Microsoft nel 2018.
GitHub dispone di un sistema di controllo delle versioni che offre funzionalità quali l'emissione di richieste di software, il tracciamento dei bug, la gestione delle attività, ecc. È open source, accessibile e dispone di oltre 372 milioni di repository. Tuttavia, i creatori di GitHub avrebbero dovuto tenere conto della sicurezza e talvolta possono verificarsi compromissioni. Le password possono essere rubate e i segreti di GitHub possono essere relativamente poco sicuri.
GitHub dispone di un programma di scansione dei segreti per analizzare i formati dei token segreti e cercare commit accidentali. Può inviare i risultati di queste scansioni ai fornitori di servizi cloud per verificare gli endpoint. Le scansioni di GitHub impediscono anche l'uso fraudolento delle credenziali e possono essere applicate ai pacchetti npm pubblici. Le organizzazioni possono scansionare repository privati, visualizzare e gestire la scansione dei segreti e altro ancora. GitHub dispone anche di un servizio di allerta segreto che accetta webhook da GitHub noti per ospitare payload di messaggi di scansione segreti.
Questa guida tratterà tutto ciò che c'è da sapere su GitHub Secret Scanning e approfondirà i dettagli.
Che cos'è GitHub Secret Scanning?
GitHub Secret Scanning comprende varie funzionalità di sicurezza che proteggono i segreti all'interno delle organizzazioni. Alcune di queste funzionalità sono disponibili come strumenti, mentre le aziende che utilizzano le soluzioni di sicurezza avanzate di GitHub godono di vantaggi esclusivi.
GitHub Secret Scanning estrae i segreti dall'intera cronologia Git di tutti i rami nei repository GitHub.
Perché GitHub Secret Scanning è importante?
La scansione dei segreti GitHub è necessaria perché previene potenziali fughe di credenziali e aiuta a definire i modelli regex degli sviluppatori. Tutti sanno che i repository sono a rischio di esposizione di dati sensibili e che hardcodare i segreti nel codice sorgente è una cattiva pratica. I team DevOps utilizzano le azioni GitHub per automatizzare i flussi di lavoro e distribuire le applicazioni, e dispongono di una potente funzionalità integrata chiamata "segreti". Essa consente agli utenti di archiviare e utilizzare in modo sicuro i valori all'interno del codice sorgente, ma gli esperti ritengono che per garantire un livello di sicurezza adeguato sia necessario qualcosa di più dell'utilizzo dello strumento.
Gli strumenti di scansione dei segreti di terze parti sono servizi esterni che forniscono un modo sicuro, protetto e centralizzato per gestire e archiviare i segreti nei flussi di lavoro DevOps. Offrono una maggiore flessibilità rispetto ai segreti di GitHub Actions e funzionalità aggiuntive come maggiori capacità di archiviazione, limiti di archiviazione più elevati, rotazione delle chiavi segrete, gestione del controllo degli accessi, auditing, versioning, ecc.
Funzionalità disponibili per la scansione dei segreti in GitHub
- I segreti di GitHub Actions sono visibili solo a GitHub Actions e non vengono mostrati nei log di output o nelle interfacce web
- La scansione dei segreti GitHub può essere utilizzata per archiviare file di dati crittografati come i certificati SSH e può essere aggiornata o eliminata in qualsiasi momento
- I segreti GitHub Actions seguono specifiche politiche di sicurezza e protocolli di crittografia che solo gli utenti autorizzati possono visualizzare e a cui possono accedere
Tuttavia, GitHub Secret Scanner predefinito presenta varie limitazioni:
- La prima è che esiste un limite massimo di dimensione di 64 KB per segreto e che è possibile archiviare solo 100 segreti nei repository
- Un'organizzazione non può memorizzare più di 1.000 segreti e non dispone di funzionalità di sicurezza avanzate come la rotazione delle chiavi segrete, l'auditing, il versioning, ecc.
- Non è disponibile il supporto cross-repository e le organizzazioni non possono sincronizzare, condividere, organizzare o aggiornare i segreti simultaneamente su più flussi di lavoro o progetti.
Come funziona la scansione dei segreti di GitHub?
Gli utenti possono configurare la modalità di ricezione degli avvisi in tempo reale per la scansione dei repository alla ricerca di segreti trapelati. La funzione di scansione dei segreti di GitHub può essere abilitata per qualsiasi repository pubblico di loro proprietà. Una volta attivata, GitHub esegue la scansione di tutti i segreti nell'intera cronologia Git per tutti i rami presenti nel repository GitHub.
La scansione dei segreti funziona per più repository all'interno della stessa organizzazione. La scansione dei segreti di GitHub aiuta le organizzazioni a prevenire l'uso fraudolento dei segreti ed elimina il rischio che vengano commessi accidentalmente.
Come configurare la scansione dei segreti di GitHub?
- Visita GitHub.com e vai alla pagina principale del repository
- Clicca sulla scheda Impostazioni per aprire un menu a tendina. Nella sezione sicurezza situata nella barra laterale, clicca su Sicurezza e analisi del codice
- Verifica che GitHub Advanced Security sia abilitato. Se non lo è, clicca su Abilita.
- Clicca su Abilita GitHub Advanced Security per questo repository.
- Una volta fatto ciò, la scansione dei segreti verrà automaticamente abilitata per il repository pubblico dell'organizzazione. Se accanto alla funzione Scansione dei segreti è presente un pulsante Abilita, dovrai cliccarci sopra. Puoi disattivare la scansione dei segreti cliccando sul pulsante Disabilita.
- La scansione dei segreti di GitHub blocca anche i commit che contengono segreti supportati e offre una funzione di protezione dei push. È possibile fare clic su Abilita se si desidera rivedere manualmente i push.
Quali sono le migliori pratiche per la scansione dei segreti GitHub?
Ecco alcune delle migliori pratiche per la scansione dei segreti GitHub:
- Dare priorità ai nuovi segreti
È essenziale esaminare le credenziali inviate di recente prima di archiviarle nei segreti. Ciò contribuisce a mantenere basso il numero di segreti per le organizzazioni e utilizza i webhook per indirizzare le notifiche dei nuovi segreti ai team giusti. Gli sviluppatori dovrebbero ricevere una documentazione di formazione adeguata e distribuirla prima di impegnare nuovi segreti. Il follow-up degli avvisi e l'implementazione di un processo di correzione avanzato sono fondamentali per ogni tipo di segreto.
- Affrontare i segreti confermati
È fondamentale affrontare i segreti confermati più critici e iniziare a rivedere quelli più vecchi. Dopo aver identificato ogni tipo di segreto, gli sviluppatori dovrebbero definire e documentare il processo di correzione. Dovrebbero inoltre comunicare eventuali modifiche apportate ai nuovi utenti e stabilire linee guida per la gestione dei repository interessati.
- Eseguire scansioni di sicurezza avanzate
È possibile impostare scansioni di sicurezza avanzate utilizzando GitHub Enterprise Cloud. La tua organizzazione avrà bisogno di una licenza GitHub Advanced Security e GitHub potrà eseguire automaticamente scansioni dei modelli dei partner su qualsiasi repository pubblico.
Pro e contro della scansione dei segreti GitHub
Pro della scansione dei segreti Git
La scansione dei segreti è una funzione preziosa che aiuta le organizzazioni a identificare le informazioni sensibili e ad adottare misure per proteggerle. L'utilizzo di strumenti di scansione segreta aiuta le aziende a rafforzare la loro intera posizione di sicurezza cloud. GitHub offre la scansione segreta gratuitamente su tutti i repository pubblici e collabora con fornitori di servizi basati su cloud per segnalare le credenziali trapelate attraverso il suo programma di partnership per la scansione segreta.
Gli sviluppatori open source hanno accesso gratuito agli avvisi relativi alle fughe di segreti nel codice, possono monitorare le modifiche e intraprendere le azioni appropriate. GitHub ha anche aggiunto la protezione push per tutti i suoi clienti GitHub Advanced Security, con effetto da aprile 2022, per la scansione proattiva dei segreti e la prevenzione delle fughe prima che vengano commesse. La protezione push per i modelli personalizzati viene configurata e applicata modello per modello. Di seguito è riportato un elenco dei vantaggi di GitHub Secret Scanning:
- GitHub Secret Scanning è gratuito per le organizzazioni di tutte le dimensioni e garantisce l'accesso pubblico
- Offre una maggiore sicurezza e rende estremamente comodo tenere traccia di tutti i segreti memorizzati nei repository pubblici
- GitHub Secrets Scanning è molto più veloce rispetto alla revisione manuale delle singole righe di codice
- I settori sanitario, finanziario e della vendita al dettaglio possono crittografare le informazioni sensibili e garantire la conformità agli standard e alle normative pertinenti.
Svantaggi della scansione dei segreti Git
Di seguito sono riportati gli svantaggi della scansione dei segreti GitHub:
- L'analisi delle minacce può richiedere troppo tempo
- Durante il rilevamento dei segreti possono verificarsi falsi positivi e falsi negativi
- Può rallentare i tempi di sviluppo
- Esiste la possibilità di errori di compilazione automatica
- Rispetto agli strumenti di scansione dei segreti GitHub di terze parti, vengono scansionate meno righe
- Errori di estrazione nei database e avvisi nel codice generato
- La configurazione della scansione dei segreti per i modelli dei partner sui repository pubblici non può essere modificata
In che modo SentinelOne può aiutare nella scansione dei segreti GitHub?
Le credenziali rubate sono responsabili di quasi la metà di tutti gli attacchi alla sicurezza informatica. GitHub ha rilevato oltre 1 milione di segreti trapelati su repository pubblici e più di una dozzina di fughe accidentali ogni minuto.
Le fughe accidentali di API, token e altri segreti aumentano il rischio di violazioni dei dati nel cloud violazioni dei dati, danni alla reputazione e responsabilità legali. Il GitHub Secret Scanner predefinito si basa su modelli di attacco e firme noti per rilevare l'uso improprio delle credenziali. Le organizzazioni non hanno realmente modo di indagare su come si accede a questi segreti e trascurano il fattore umano.
È qui che entra in gioco SentinelOne.
SentinelOne identifica le configurazioni errate del cloud, le fughe di credenziali e revisiona i modelli Infrastructure as Code (IaC). Consente ai team di sicurezza di rintracciare istanze non gestite, cluster Kubernetes e diversi servizi cloud.
Il CNAPP completo di SentinelOne fa un passo avanti e applica la sicurezza shift-left. Il suo Offensive Security Engine identifica tutti i potenziali exploit e risolve le vulnerabilità sconosciute o nascoste. SentinelOne CNAPP esegue la scansione dei repository cloud pubblici e privati e protegge i carichi di lavoro mission-critical. Offre un'automazione della sicurezza in grado di migliorare istantaneamente la postura di sicurezza cloud di un'organizzazione. La piattaforma è in grado di rilevare oltre 750 tipi diversi di segreti e previene anche la fuga di credenziali cloud.
Utilizzando una combinazione di analisi statica machine learning e analisi comportamentale dinamica, i team di sicurezza possono scansionare e correggere i problemi relativi ai segreti in tempo reale. SentinelOne CNAPP ruota regolarmente le chiavi segrete, riducendo così il rischio che le informazioni riservate vengano compromesse. La piattaforma implementa algoritmi di crittografia simmetrica come AES, DES e 3DES per una protezione avanzata. Purple AI è il tuo analista di sicurezza personale e accelera le tue operazioni di sicurezza con un piano di controllo unificato basato sull'intelligenza artificiale. Riduce il tempo medio di risposta e semplifica le indagini sui segreti.
Vedere SentinelOne in azione
Scoprite come la sicurezza del cloud basata sull'intelligenza artificiale può proteggere la vostra organizzazione con una demo individuale con un esperto dei prodotti SentinelOne.
Richiedi una demoConclusione
Sebbene GitHub Secret Scanning possa consumare molte risorse, le organizzazioni devono prestare attenzione a questo aspetto. Buone tecniche di GitHub secret scanning possono aiutare a prevenire violazioni dei dati, proteggere i clienti e ridurre al minimo i guasti operativi.
La scansione dei segreti GitHub è una componente essenziale della sicurezza cloud e aiuta a identificare i difetti dei repository di codice. Senza gli strumenti di scansione dei segreti GitHub, le entità sarebbero vulnerabili, con conseguenze potenzialmente gravi.
"FAQs
La scansione dei segreti GitHub prevede l'utilizzo di strumenti e processi per la scansione dei segreti nei repository pubblici e privati. Esegue la scansione dei segreti nel codice alla ricerca di difetti, rileva derive o modifiche di configurazione e pianifica azioni efficaci e misure di correzione delle minacce.
Gli utenti possono utilizzare la funzione predefinita di scansione dei segreti di GitHub per eseguire la scansione dei segreti nel codice. In alternativa, possono utilizzare uno strumento completo di scansione dei segreti di GitHub come SentinelOne per una sicurezza e una protezione olistiche.
La scansione dei segreti GitHub, offerta da GitHub, è completamente gratuita. Lo strumento di scansione GitHub SentinelOne incluso in CNAPP ha un costo minimo di 2000 USD al mese con il piano Starter.
La scansione del codice GitHub è gratuita per gli utenti GitHub per impostazione predefinita. Tuttavia, può presentare varie limitazioni risolvibili con strumenti premium a pagamento come SentinelOne.
