Modo molto veloce ed efficiente per verificare che i contenuti della directory non siano stati modificati

1

Ho bisogno di un modo per determinare se i contenuti di una cartella contenente alcuni elementi eseguibili non sono stati modificati in alcun modo un momento prima che decida di eseguire ciò che è contenuto. Controlla ogni volta prima di eseguire.

Il problema è che sono molto limitato in termini di tempo (il controllo deve essere eseguito quasi istantaneamente, qualcosa come 100ms sarebbe troppo per questo caso particolare) e un po 'di potenza computazionale (eseguendo il tutto solo su un computer che ha un sacco di altre cose su di esso - la navigazione su Internet, la riproduzione di musica, qualsiasi cosa).

Parlando di una macchina Linux. La dimensione delle cartelle potrebbe essere fino a 6 MB nel caso peggiore.

La mia idea principale era di avere una sorta di checksum-map-storing-file tenuto da qualche parte crittografato e confrontando un nuovo valore calcolato con quello memorizzato. Non ho una grande preoccupazione per la memorizzazione del file di checksum. Ho una preoccupazione sull'utilizzo di un algoritmo efficiente che mi consente di essere il più sicuro possibile che i file non siano stati modificati.

Suggerimenti? Sarebbe abbastanza sicuro per, ad esempio, esaminare solo i metadati dei file? o controllerebbe il contenuto anche ogni volta?

L'algoritmo che userò è al sicuro con me - posso essere certo che l'intruso non può "saperlo", quindi non è una mia preoccupazione.

Sento che la steganografia potrebbe tornare utile qui, ma non riesco a capire un possibile modo utile per farlo qui.

    
posta niralittle 09.07.2016 - 03:15
fonte

2 risposte

4

Potresti semplicemente usare md5sum .

Prima mantieni una copia del checksum corrente:

md5sum /path/to/files/* > /path/to/safedirectory/checksum

Quindi puoi eseguire quanto segue per verificare le differenze:

md5sum /path/to/files/*|diff /path/to/safedirectory/checksum -

Un'alternativa proposta da @Jedi è di usare l'opzione -c :

md5sum -c /path/to/safedirectory/checksum
    
risposta data 09.07.2016 - 04:01
fonte
0

Crea un'impronta digitale visivamente riconoscibile basata su shasum e usala per la verifica.

$ bishop $(find| LC_ALL=C sort|tar -cf - -T - --no-recursion|shasum|tr -d ' -')
+--[ RandomArt ]--+
| .. ooooo        |
|  Eo . .         |
|  .   .          |
|       .         |
|        S o      |
|         o Oo.   |
|          +.Xo   |
|          .* o*  |
|          o+=Bo. |
+-----------------+

Ottieni bishop qui

    
risposta data 10.07.2016 - 00:21
fonte

Leggi altre domande sui tag