Esposizione segreta CI/CD

Esposizione segreta CI/CD

Un'eco di debug inserisce la chiave di distribuzione in un registro di compilazione pubblico.

Cos’è Esposizione segreta CI/CD?

Le pipeline di build gestiscono i segreti e i log di build sono più pubblici di quanto presuppongono gli autori del flusso di lavoro. Un passaggio di debug che fa eco a un segreto d'ambiente lo stampa in testo normale. Lo stesso flusso di lavoro spesso presenta un secondo problema: il titolo di una richiesta pull interpolato direttamente in una fase di esecuzione, dove viene eseguito come shell. Copierai una chiave di distribuzione dai log delle azioni pubbliche e la invierai, quindi rimuoverai l'eco, smetterai di interpolare input non attendibili, bloccherai azioni di terze parti tramite commit SHA e ruoterai la chiave, perché mascherare i log futuri non annulla nulla.

Cosa imparerai in Esposizione segreta CI/CD

Esposizione segreta CI/CD — Fasi della formazione

  1. Registri di build pubblici

    Vellmoor costruisce il suo transcodificatore edge all'aperto, quindi la pipeline del repository è pubblica, così come tutto ciò che stampa. Bob non ha bisogno di un account, di un invito o di un singolo exploit per iniziare. Apre la cronologia delle corse e legge.

  2. Aprire un'esecuzione di rilascio

    L'integrazione esegue solo la creazione e il test. Il flusso di lavoro di rilascio è quello interessante, perché un rilascio deve raggiungere la produzione e raggiungere la produzione richiede una credenziale. Bob apre l'esecuzione del rilascio più recente.

  3. Espandi il passaggio di distribuzione

    La corsa è un elenco di passaggi, ognuno compresso. Il checkout e la creazione sono operazioni di routine. Il passaggio che Bob desidera è quello che comunica con la produzione, perché è lì che deve essere utilizzata una credenziale.

  4. Il token, in testo semplice

    Il passaggio si apre e la credenziale è semplicemente lì. Qualcuno ha aggiunto una riga per stampare il token mentre inseguiva una distribuzione interrotta, la distribuzione è stata corretta e la linea è rimasta. Bob non deve rompere nulla. Seleziona il valore e lo copia.

  5. Da quanto tempo sta stampando

    Una riga di registro è una copia. Bob torna alla cronologia delle esecuzioni e cerca nell'output di ogni esecuzione il prefisso del token, per scoprire da quanto tempo ciò accade. La risposta decide quante persone potrebbero già tenerlo in mano.

  6. Cosa può raggiungere il token

    Prima di utilizzarla, Bob chiede al servizio di distribuzione di Vellmoor cosa è consentito fare con questa credenziale. Chiama l'endpoint dell'ambiente con il token in un'intestazione di autorizzazione. La risposta arriva senza alcuna sfida e non è limitata a un ambiente di test.

  7. Spedisci la sua build

    Bob non ha bisogno di toccare il repository, aprire una richiesta pull o attendere una revisione. Al servizio di distribuzione non interessa da dove proviene un'immagine, ma solo che il chiamante abbia un token valido. Indica la produzione verso un'immagine nel suo registro.

  8. Verifica della conoscenza

    Hai appena visto una credenziale di produzione prelevata da un registro di compilazione senza alcun exploit coinvolto. Blocca come è arrivato lì.

  9. Arriva l'allerta

    Possiedi i flussi di lavoro CI di Vellmoor. Questa mattina la sicurezza della piattaforma ha avuto entrambe le metà di una brutta notte: una credenziale trovata nell'output pubblico e una distribuzione in produzione che nessuno ha pianificato.

  10. Guardalo sulla tua pipeline

    Le segnalazioni di perdite sono una cosa. Apri l'esecuzione a cui puntano gli avvisi per vedere cosa ha effettivamente pubblicato la tua pipeline.

Copertura dei framework di sicurezza

CWE

  • CWE-532 Insertion of Sensitive Information into Log File
  • CWE-540 Inclusion of Sensitive Information in Source Code

MITRE ATT&CK

  • T1552.001 Unsecured Credentials: Credentials In Files

CIS Controls

  • CIS 16 Application Software Security
  • CIS 8 Audit Log Management

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security
  • DE.AE Adverse Event Analysis