Under Construction

Sind die Einträge in der TSD korrekt?

Nachdem die Echtheit der verwendeten Zertifikate sichergestellt ist, stellt sich die Frage ob die Einträge in der TSD korrekt sind. Mit dem Kommando „trustchk -n ALL“ kann man zwar schnell ein System überprüfen:

# trustchk -n ALL
#

Aber damit ist nicht sichergestellt, dass keine Modifikationen von einem Angreifer auf dem System durchgeführt wurden. Schließlich könnte die TSD selbst ja auch modifiziert worden sein.

Hinweis: Im gezeigten Beispiel gibt es keine Abweichungen auf dem System zu den TSD-Einträgen.

Ein Angreifer, der Zugriff auf das System erlangt hat, könnte eine oder mehrere der folgenden Aktionen durchgeführt haben:

    • Anlegen einer leeren TSD, jede Überprüfung mit „trustchk -n ALL“ ist dann immer erfolgreich.
    • Entfernen von einzelnen TSD-Einträgen, damit würde eine Modifikation der zugehörigen Dateien bei einer Überprüfung mit „trustchk -n ALL“ nicht auffallen.
    • Ändern von Eigentümer, Gruppe oder Zugriffsrechte einer Datei und Anpassen der zugehörigen TSD-Einträge. Dies ändert weder den Hash-Wert noch die Signatur, daher würde eine solche Änderung auch nicht auffallen.
    • Ändern oder Ersetzen eines Executables, aktualisieren des zugehörigen TSD-Eintrags und dabei die Datei auf volatile setzen. Der Dateiinhalt wird dann nicht mehr überprüft.

Es gibt, ohne geeignete Vorbereitungen, keine Möglichkeit auf dem System selbst sicher festzustellen, ob nicht einzelne oder gar alle Einträge in der TSD modifiziert wurden.

Vertraut man auf Kryptographie, kann man zumindest ausschließen, das Dateien mit einer digitalen Signatur in der TSD inhaltlich geändert oder ersetzt wurden. Das sollte nicht möglich sein (die Echtheit der Zertifikate hatten wir ja schon überprüft). Für Dateien ohne digitale Signatur in der TSD, lässt sich grundsätzlich eine Änderung nicht feststellen. Zumindest wenn der Angreifer den zugehörigen TSD-Eintrag entsprechend abändert.

Ein Vergleich von TSDs zwischen verschiedenen Systemen ist auch nicht ganz so einfach möglich. Sind die beiden Systeme nicht identisch installiert und weisen nicht bei allen Filesets die gleichen Versionsstände auf, dann unterscheiden sich auch die TSDs der beiden Systeme.

Um dennoch die Korrektheit und Vollständigkeit der TSD nachweisen zu können, versuchen wir nachfolgend die TSD eines Systems zu rekonstruieren.