Come utilizzare stringhe e configurazioni interne crittografate? [duplicare]

1

Stavo leggendo i documenti trapelati dalla CIA su wikileaks, ho visto nella loro sezione "best practice" che si consigliava di crittografare tutte le stringhe e le informazioni di configurazione e di decrittografare in memoria quando necessario.

Mi stavo chiedendo come funziona. Capisco come decodificare al volo e la logica alla base della crittografia delle stringhe di configurazione nel programma; in modo che chiunque cerchi di decodificare il programma non riesca a vedere alcuna stringa significativa.

Ma come conservi la chiave? se si tratta di un virus autonomo, la chiave per decodificare tali stringhe e dati di configurazione deve essere memorizzata anche nel programma? come conservi la chiave in modo che il programma possa usarla, ma un tecnico inverso non la troverà?

A meno che non abbia frainteso il tipo di programma che impiegherebbe questa pratica.

    
posta uhsl_m 10.03.2017 - 13:04
fonte

1 risposta

0

Hai ragione che la chiave dovrà sempre essere disponibile per il programma che utilizza la decodifica al volo di alcune parti di esso. Non c'è modo di aggirare questo, il che significa che questo è il tipo di sicurezza che ti protegge contro la tua sorellina, ma non contro un determinato aggressore (parafrasando Schneier qui). È impossibile impedire a un aggressore in grado di trovare la chiave.

Per i virus, la crittografia è utile per un altro motivo: gli scanner antivirus eseguono la scansione di pattern specifici e, se si inviano grandi parti del virus, utilizzando chiavi generate in modo casuale, gran parte della corrispondenza del modello diventa inutile. L'unica cosa rimasta a confronto è spesso il codice di inizializzazione e la funzione di decrittografia, e ci sono anche trucchi per cambiare l'impronta digitale binaria di queste parti.

Il modo in cui questo potrebbe funzionare è che quando un virus infetta un nuovo sistema, crea una copia di se stesso, ma usa una chiave di crittografia diversa e rimescola varie parti della funzione di decodifica e del codice init, quindi il virus copiato non lo fa sembra proprio l'originale.

Ciò che leggete potrebbe essere correlato a questo: se crittografate le stringhe di configurazione, diventa molto più difficile semplicemente grep per una stringa per rilevare un programma specifico. Ma è difficile dirlo senza riferimento al documento che hai citato.

    
risposta data 10.03.2017 - 13:24
fonte

Leggi altre domande sui tag