Under Construction
Vor der Aktivierung von Trusted Execution
Ein AIX System läuft unter Umständen schon viele Jahre, bevor der Administrator die Verwendung von Trusted Execution in Betracht zieht. In der Regel sind in dieser Zeit einige Updates und eventuell auch Upgrades durchgeführt worden. D.h. die Trusted Signature Database (TSD) wurde sicherlich häufig geändert (aktualisiert). Außerdem haben auf einem solchen System möglicherweise eine Vielzahl von Personen Änderungen durchgeführt, vermutlich auch von system-relevanten Dateien. Die Änderung kann dabei „nur“ eine Änderung von Zugriffsrechten und/oder Eigentümer gewesen sein, möglicherweise wurden aber auch Inhalte geändert. Es ist daher möglich das eine Reihe von Einträgen in der TSD nicht mit den zugehörigen Dateien auf dem System übereinstimmen. Daher sollte unbedingt vor der Aktivierung von Trusted Execution im Kernel, untersucht werden, ob alle Dateien sich im erwarteten Zustand befinden und den erwarteten Inhalt haben.
Trusted Execution wird in vielen Fällen mit der Absicht aktiviert, nicht autorisierte Änderungen am System zu verhindern oder zumindest zu erkennen. Dabei sollen insbesondere Änderungen durch Eindringlinge (Hacker) unterbunden werden. Wird Trusted Execution erst nach einigen Jahren Laufzeit auf einem System aktiviert, kann man sich natürlich die Frage stellen, ob es nicht schon durch Hacker modifizierte Dateien gibt. Und falls dies der Fall sein sollte, wie man dies erkennen kann. Schließlich könnte ein Hacker der root Rechte erlangt hat auch TSD Einträge geändert haben, oder sogar Zertifikate von IBM durch eigene Zertifikate ausgetauscht haben. Trusted Execution würde dann feststellen das alles passt.
Ein weiterer Punkt ist die Frage ob die TSD vollständig ist. Damit ist gemeint ob alle für den Betrieb des Systems benötigten Kernel-Extensions, Binaries, Skripte und Libraries auch Einträge in der TSD besitzen und diese auch korrekt sind. Fehlen benötigte Einträge und wird STOP_UNTRUSTD gleich ON oder TROJAN oder STOP_ON_CHKFAIL gleich ON verwendet, kann dies den Betrieb des Systems unter Umständen unmöglich machen. Für AIX und PowerHA sollten alle notwendigen Einträge von Hause aus in der TSD enthalten sein. Für Applikationen auf einem System ist dies aber typischerweise nicht der Fall. Je nach geplanter Verwendung von Trusted Execution kann es notwendig sein für verwendete Applikationen eigene TSD-Einträge zu erzeugen.
Im weiteren verfolgen wir die oben schon angesprochenen Fragestellungen, sowie einige weitere Punkte die überprüft werden sollten. Dabei gehen wir davon aus, dass auf einem System schon Änderungen durch einen Angreifer erfolgt sein könnten. Wir vertrauen daher nicht darauf das der Ist-Zustand in Ordnung ist, sondern stellen alle relevanten Punkte wie Zertifikate und TSD-Einträge erst einmal in Frage. Erst nach einer Überprüfung aller verwendeten Zertifikate und TSD-Einträge fahren wir mit der Vervollständigung der TSD-Einträge fort. Wir werden an vielen Stellen Beispiele von Änderungen eines Angreifers aufzeigen und erläutern wie man diese erkennen kann.