Il documento collegato specifica un formato di scambio dati basato su XML. Descrive come impacchettare tutti i dati (incluso fingerprint.codex.xml) in 3. (U) Struttura delle directory .
Gli interi dati CODEX inclusi singoli file xml (ad esempio fingerprint.codex) o metadati dei dati recuperati (come e-mail o screenshot) non devono essere generati sull'host di destinazione:
Generation of these metadata files and
formats MUST NOT take place on the target. Instead, tools MUST ship back to the user the necessary
details such that a Codex file or structure can be produced from the tool-specific custom format on usercontrolled,
potentially not internet connected, hardware. To repeat, tools MUST not store data on
target in Codex format or generate any custom Codex format on target.
Target qui significa: un host monitorato / attaccato. L'utente qui probabilmente significa: un valutatore / elaboratore di dati dell'agenzia o uno dei suoi appaltatori.
Di conseguenza fingerprint.codex.xml non esiste nemmeno sull'host del target ma viene generato da qualche altra parte in base ai dati trasmessi.
Secondo il documento ( 4.4 (U // FOUO) Fingerprint XML Format ) un'impronta digitale macOS consiste semplicemente nell'UUID minuscolo md5 del sistema radice. Tutte le altre chiavi tranne usertag sono correlate ai sistemi operativi Windows o Linux.
L'UUID può essere recuperato inserendo:
diskutil info / | grep "Volume UUID" | tr '[:upper:]' '[:lower:]' | awk '{print $3}'
e il suo hash md5 con:
md5 -s $(diskutil info / | grep "Volume UUID" | tr '[:upper:]' '[:lower:]' | awk '{print $3}')
L'intero file di impronte digitali sarebbe simile a un Mac (qui un esempio di macOS VM):
<codex version=”1”>
<fingerprint target=”machine” type=”os” version=”1”>
<uid>“db78ec1b99a4e71fabbc0e23888baf64</uid>
<rootfsid>d15d6f4e-d213-373d-893e-f975126cb767</rootfsid>
<usertag>NONE</usertag>
</fingerprint>
<fingerprint target=”machine” type=”hardware” version=”1”>
</fingerprint>
<timestamp>2017-03-24 07:11:00.000000Z</timestamp>
</codex>
Nelle circostanze date il file delle impronte digitali non può essere "corrotto" o "falsificato" sul tuo host: è semplicemente generato e memorizzato da qualche altra parte.
Ovviamente puoi invalidare l'impronta digitale corrente relativa al tuo Mac cancellando il volume di avvio e installando un nuovo sistema - questo genererà un nuovo UUID Volume (o rootfsid).
Non so se l'agenzia abbia uno strumento o un metodo per collegare una nuova impronta digitale (e i relativi dati CODEX) creati dopo una "seconda visita amichevole" / sorveglianza / attacco alla vecchia impronta digitale (e relativi dati CODEX) del tuo volume di root ora sovrascritto. Probabilmente ha!
E per rispondere in qualche modo alle tue domande:
- Non è possibile rilevare se il file delle impronte digitali è danneggiato perché probabilmente non si ha accesso alle strutture di archiviazione dei dati CIA
- Non è possibile eseguire lo spoofing del file di impronte digitali perché probabilmente non si ha accesso alle strutture di archiviazione dei dati della CIA e in che modo il malware potrebbe non funzionare all'avvio da un file di impronte digitali remoto?
- È possibile utilizzare un algoritmo hash più o meno "sicuro" per calcolare l'uid nel file delle impronte digitali. Per definizione è comunque md5.