Under Construction
Trusted Signature Database (TSD)
Um die Integrität von Executables, Libraries, Skripten und Kernel Extensions sicherstellen zu können, muss der Soll-Zustand bekannt sein. Um Änderungen an Berechtigungen, Eigentümer und Inhalt erkennen zu können, müssen mindestens diese Informationen an einer sicheren Stelle hinterlegt sein. Für Trusted Execution (TE) dient hierfür die sogenannte Trusted Signature Database oder kurz TSD. Diese kann entweder lokal auf dem AIX System abgelegt werden (/etc/security/tsd/tsd.dat) oder sie kann alternativ auch auf einem LDAP-Server hinterlegt werden.
Einträge in der TSD enthalten die folgenden Datei-Attribute:
owner - Der Name des Eigentümers der Datei (keine UID)
group - Der Name des Gruppen-Eigentümers der Datei (keine GID)
type - Der Dateityp: reguläre Datei, Verzeichnis, FIFO, Gerätedatei
mode - Die Zugriffsrechte der Datei
size - Die Größe der Datei in Bytes
Um Änderungen des Inhalts einer Datei erkennen zu können, werden die folgenden weiteren Attribute verwendet:
hash_value - cryptographisher Hash über den Inhalt der Datei
signature - digitale Signatur der Datei (mit RSA berechnet)
cert_tag - Die ID des digitalen Zertifikats das für die Ermittlung der Signatur verwendet wurde
Es gibt eine Reihe von weiteren Attributen, die an späterer Stelle diskutiert werden.
Gibt es zu einem Executable, einer Shared Library, einem Skript oder einer Kernel-Extension einen Eintrag in der TSD, dann wird das Executable (Shared Library, Skript, Kernel-Extension) als vertrauenswürdig (trusted) bezeichnet. Gibt es umgekehrt keinen Eintrag in der TSD, dann ist das Executable (Shared Library, Skript, Kernel-Extension) nicht vertrauenswürdig (untrusted).
Jedes Executable (Shared Library, Skript, Kernel-Extension) ist damit entweder vertrauenswürdig (trusted) oder nicht vertrauenswürdig (untrusted), abhängig davon ob es einen zugehörigen Eintrag in der TSD gibt, oder nicht. Für vertrauenswürdige (trusted) Objekte kann die Integrität des Objekts mit Hilfe der TSD überprüft werden. Für nicht vertrauenswürdige (untrusted) Objekte ist eine Überprüfung nicht möglich.
Überprüfung (Audit) des Sicherheitsstatus eines Systems
Dateien mit sich häufig änderndem (volatile) Inhalt
Dateien deren Inhalt überwacht werden soll
Erzeugen eines self-signed Zertifikats mit „trustchk -k“
Erzeugen eines self-signed Zertifikats mit OpenSSL
Hinzufügen von nicht-volatilen Dateien
Hinzufügen von Datei-Definitionen