Come identificare se un campo è crittografato?

0

Ho l'obbligo di identificare se i dati sono crittografati o meno. I dati sono un campo che sarà in formato Json. Ho trovato un'altra domanda su

Come identificare l'algoritmo di crittografia per i dati che arrivano in campo / valori di attributo di un xml

Ma questo per identificare il tipo di tecnica di crittografia e il suo dal 2014 non so se è ancora valido.

Un'altra cosa che voglio solo assicurarmi che il campo sia crittografato non voglio identificare la tecnica di crittografia.

    
posta Anoop 07.09.2017 - 18:12
fonte

3 risposte

4

A seconda dei tipi di dati che ti aspetti, potresti provare a guardare l'entropia (casualità) dei dati. I dati correttamente crittografati dovrebbero essere praticamente indistinguibili dal rumore casuale e avranno un'entropia molto più alta rispetto a qualsiasi tipo di dati strutturati.

L'entropia di Shannon è un modo comune per determinare il livello di "casualità" delle stringhe: puoi trovare un sacco di codice di esempio in varie lingue.

Ci sono alcuni altri tipi di dati che avranno anche un'entropia molto alta (immagini, dati compressi, ecc.), ma probabilmente puoi controllare se guardano le firme / i byte magici.

Non infallibile, ma potrebbe darti un buon punto di partenza.

    
risposta data 07.03.2018 - 13:58
fonte
1

A meno che non siate coinvolti nello svolgimento di test di penetrazione / controllo della sicurezza, verrà eseguito un set di strumenti di decodifica hash per verificare se i dati sono codificati. Il controllo del dizionario è la prima fase, la quale fase secondaria esegue il decodificatore hash per decodificare l'hash popolare come Base64, ROT, codifica 7bit; o utilizzando semplici bit XOR / NOR (da +1 bit in su) per l'offuscamento.
Quindi è necessario eseguire un filtro per verificare il formato dei dati e sperare che corrisponda a una sorta di modello di file.

Tuttavia, è impossibile verificare quale sia il meccanismo di crittografia esatto per i file che crittografano utilizzando una PKI avanzata.

    
risposta data 07.09.2017 - 19:16
fonte
0

Potresti eseguire alcuni test con dati diversi per verificare ad esempio se la stringa ottenuta ha sempre la stessa lunghezza o meno. Se è sempre lo stesso, probabilmente i dati sono hash e non crittografati (es .: AES). Un'altra possibilità è che è appena codificato per esempio in Base64, Hex, ecc. (Qui la lunghezza non sarà riparata neanche). Per questi controlli di codifica mi piace questo web che fornisce diversi codificatori allo stesso tempo, quindi facilita i test: link

Anche se non sei interessato al tipo di crittografia, c'è uno strumento utile che può aiutarti a identificare l'algoritmo hash (se questo è il caso!) usato e quindi determinare che è encrpyted (hash in questo caso): link

Semplicemente eseguilo contro il tuo codice e controllerà i pattern, la lunghezza, i caratteri speciali e altri segni che potrebbero dare un suggerimento sul tipo di algoritmo utilizzato.

    
risposta data 08.09.2017 - 09:05
fonte

Leggi altre domande sui tag