È possibile il recupero del testo decrittografato con il dump della memoria con privilegio di root in Linux?

3

Supponiamo che Alice e Bob stiano comunicando tramite un canale sicuro e che entrambi utilizzino la chiave simmetrica algo (AES) per la crittografia / decrittografia. Lo scenario è come

1. Alice encrypt data M1 with secret key K and sends cipher text C1 to Bob.
2. Bob receives cipher text C1 and decrypt it to get plaintext M1.

3. Bob encrypt data M2 with secret key K and sends cipher text C2 to Alice.
4. Alice receives cipher text C2 and decrypt it to get plaintext M2.

Queste sequenze sono seguite ripetutamente fino alla fine della comunicazione.

Sia Alice che Bob stanno usando Linux System con l'ultimo kernel.

Ho delle domande seguenti riguardo al punto di vista della sicurezza.

  1. Se un intruso riesce in qualche modo a ottenere i privilegi di root sul sistema di Alice, l'intruso sarà in grado di catturare il testo in chiaro M2 memorizzato mentre Alice esegue un'operazione di decifratura?

  2. Nel caso in cui la chiave segreta K sia archiviata in memoria (non sono sicuro ** se lo sia) durante la crittografia / decrittografia, allora Intruder è anche in grado di recuperare la chiave segreta K allo stesso modo?

Modifica 1:

Da entrambe le risposte, è noto usando MEMORY DUMP, è possibile recuperare la chiave segreta e il testo in chiaro.

Puoi spiegare con l'esempio?

    
posta bholanath 22.06.2017 - 08:05
fonte

2 risposte

5

Questa domanda manca il contesto di implementazione, cioè il software che implementa l'algoritmo in questione. Con questo avvertimento, le risposte sono SÌ e SÌ. Intruder con root priveleges può estrarre sia i messaggi in testo sia la chiave.

Le recenti implementazioni ne sono consapevoli e proviamo a cancellare la chiave dalla memoria ASAP (le interpretazioni di questo "ASAP" variano). È comunque praticamente impossibile ridurre l'esposizione a zero sia per il messaggio che per la chiave.

Al meglio, la chiave può essere protetta in una soluzione hardware assistita ( SGX o HSM ) - o anche una soluzione di decrittazione separata (non come implicito da te - decodifica sullo stesso sistema / kernel.

Il messaggio stesso non può essere protetto finché è necessario per l'uso in quel sistema. Tuttavia, può essere gestita qualche oscurità. ad esempio, alcuni software utilizzano tecniche che superano una semplice analisi di "stringhe". Vorrei aver memorizzato il riferimento da qualche parte. Impossibile collegarlo qui.

    
risposta data 22.06.2017 - 08:33
fonte
3

Sì ad entrambe le domande. Non importa molto quale kernel stai usando, o quale sistema operativo. Il testo in chiaro decrittato sarà in memoria, a meno che tu non stia usando un sistema molto specializzato che manda via il testo in chiaro un byte alla volta, disinfettando le strutture di memoria in seguito.

Sarebbe possibile offuscare il testo in chiaro (ad esempio memorizzarlo attraverso una mappatura di scramble, ad esempio una rete Feistel o una S-Box quadrata), ma i parametri di scrambling dovrebbero essere in memoria, il che rende questa "sicurezza attraverso offuscamento "e quindi nessuna sicurezza.

Lo stesso vale per la chiave segreta, che inoltre ha per essere disponibile durante la decodifica; che, a sua volta, rende inviando il testo in chiaro e chiarendo in seguito un po 'inutile (si presume che il testo cifrato sia conosciuto dall'attaccante attraverso l'intercettazione.Una volta che K viene recuperato, il gioco è molto superiore a quello che Alice e Bob possono fare).

    
risposta data 22.06.2017 - 08:27
fonte

Leggi altre domande sui tag