Ci sono dei pericoli nell'esporre gli hash di commit git sha1?

6

Per un repository non pubblico, ci sono potenziali problemi di sicurezza nella condivisione degli hash di commit git? Ad esempio, quando pubblico una domanda di stackoverflow relativa a git che coinvolge git commit da repository privati, cambierò leggermente gli hash dalla paranoia.

O forse un sito web servirà un hash di commit git in un'intestazione per mostrare quale versione del codice è in esecuzione il sito per gli sviluppatori interni.

Continuando a pensare, ci sono dei dubbi su un utente malintenzionato che ha accesso agli hash sha1 sequenziali?

    
posta Andy Ray 27.08.2013 - 06:18
fonte

2 risposte

8

Come spiegato , gli hash SHA-1 sono identificatori per gli oggetti memorizzati , compresi i commit: sono calcolati in modo deterministico dal contenuto dell'oggetto. Non c'è segreto in là. Sebbene SHA-1 sia nominalmente a senso unico, questo teoricamente consente a un utente malintenzionato, che vuole indovinare il contenuto di un oggetto, di verificare se la sua ipotesi è corretta o meno . Ciò comporterebbe indovinare esattamente , fino all'ultimo bit, inclusi i timestamp e altre cose simili.

Se il tuo oggetto contiene alcuni dati segreti che possono essere forzati brute (ad esempio una password, soggetti agli attacchi al dizionario ) quindi un utente potrebbe utilizzare l'hash SHA-1 come test. Questo sembra difficile a causa della condizione di indovinare tutto il resto correttamente, ma la possibilità è lì. Pertanto, se il tuo commit contiene tali dati segreti, hai ragione a cambiare il valore hash - ma in tal caso, non cambiarlo leggermente , perché un quasi- la partita è valida come una corrispondenza esatta sui valori hash, per l'attaccante. Modifica completamente i valori hash: sostituisci ognuno di essi con una sequenza di 40 caratteri esadecimali casuali.

Nota che conoscere i valori hash non concede nessun altro potere aggiuntivo all'attaccante; in particolare, non gli danno accesso al repository.

    
risposta data 27.08.2013 - 15:12
fonte
0

For a non-public repository, are there any potential security concerns in sharing git commit hashes?

Sicuramente no. Non è assolutamente possibile correlare l'hash SHA 1 di un commit git ai contenuti effettivi del commit.

Continuing the thought, are there any concerns about an attacker getting access to sequential sha1 hashes?

Che cosa intendi esattamente per hash SHA 1 sequenziali?

    
risposta data 27.08.2013 - 06:21
fonte

Leggi altre domande sui tag