M 4.177 Sicherstellung der Integrität und Authentizität von Softwarepaketen
Verantwortlich für Initiierung: Leiter IT, IT-Sicherheitsmanagement
Verantwortlich für Umsetzung: Administrator
Durch unvorsichtiges Ausführen von Programmen, die aus "unsicheren" Quellen stammen, kann beträchtlicher Schaden entstehen. Bösartige Programme (so genannte Malware) können beispielsweise Programme zum Ausspähen von Passwörtern, Trojaner oder Backdoors auf einem Computer installieren, oder ganz einfach Daten beschädigen oder löschen.
Beliebte Quellen für solche Schadsoftware sind beispielsweise Programme, die sich als Windows Bildschirmschoner, Virenscanner oder sonstige Hilfsprogramme ausgeben, und per E-Mail unter gefälschten Absenderadressen an sehr viele Empfänger verschickt werden. Oft laden auch unvorsichtige Anwender die Programme aus dem Internet herunter und installieren sie ohne Überprüfung.
Zwei Beispiele, bei denen durch die Überprüfung vorhandener digitaler Signaturen Schaden hätte vermieden werden können, sind ein Vorfall vom März 2002, bei dem die Distribution des Pakets OpenSSH auf dem ftp-Server des OpenSSH-Projekts manipuliert wurde, und ein ähnlicher Vorfall vom September 2002, bei dem dies mit der Distribution des Mailservers sendmail geschah. In beiden Fällen wurden in die Distributionen Trojaner eingeschleust, die zu einer Kompromittierung des Rechners führen konnten, auf dem die Pakete kompiliert wurden. In beiden Fällen hätte eine Überprüfung der vorhandenen digitalen Signaturen die Manipulation aufdecken können.
Selbst wenn ansonsten keine Verschlüsselungs- oder Signaturtechniken zum Einsatz kommen, sollte die Nutzung in dem Umfang, wie er in dieser Maßnahme beschrieben wird, in Erwägung gezogen werden.
Software sollte grundsätzlich nur aus bekannten Quellen installiert werden, besonders dann, wenn sie nicht auf Datenträgern geliefert, sondern beispielsweise aus dem Internet heruntergeladen wurde. Dies gilt besonders für Updates oder Patches, die normalerweise nicht mehr auf Datenträgern ausgeliefert werden. Die meisten Hersteller und Distributoren bieten zu diesem Zweck Prüfsummen an, die zumindest eine Prüfung der Integrität eines Paketes erlauben. Die Prüfsummen werden dabei meist auf den Websites der Hersteller veröffentlicht oder auch per E-Mail verschickt. Um die Integrität eines heruntergeladenen Programms oder einer Archivdatei zu verifizieren wird dann die veröffentlichte Prüfsumme mit einer von einem entsprechenden Programm lokal erzeigten Prüfsumme verglichen.
Falls zu einem Softwarepaket Prüfsummen angeboten werden, so sollten diese vor der Installation des Paketes überprüft werden.
Eine Überprüfung der Authentizität kann mit Prüfsummen jedoch nicht erfolgen. Daher werden in vielen Fällen für Programme oder Pakete digitale Signaturen angeboten, die meist mit einem der Programme PGP oder GnuPG erzeugt wurden. Die zur Überprüfung der Signatur benötigten öffentlichen Schlüssel sind wiederum meist auf den Webseiten des Herstellers oder von
Public-Key-Servern verfügbar, und mit den Programmen PGP oder GnuPG können die Signaturen überprüft werden. Ergibt die Prüfung, dass es sich um eine gültige Signatur handelt, die mit einem bekannten Schlüssel erzeugt wurde, so ergibt dies einen deutlich höheren Grad an Vertrauenswürdigkeit für das Paket, als lediglich das Vorhandensein einer Prüfsumme.
Das bei Linux-Distributionen verbreitete Paketverwaltungssystem RPM (Redhat Package Manager) hat ebenso wie das Paketverwaltungssystem der Debian-Distribution bereits eine integrierte Überprüfungsfunktionalität.
Falls zu einem Softwarepaket digitale Signaturen verfügbar sind, sollten diese auf jeden Fall vor der Installation des Pakets überprüft werden.
Ein prinzipielles Problem bei der Verwendung digitaler Signaturen stellt die Verifikation der Authentizität des verwendeten Schlüssels selbst dar. Trägt der Schlüssel keine Signatur einer bekannten vertrauenswürdigen Person oder Organisation (etwa eines Trustcenters), so bieten die mit diesem Schlüssel erzeugten Signaturen keine wirkliche Sicherheit, dass das Softwarepaket tatsächlich vom Entwickler, Hersteller oder Distributor stammt. Daher sollten die öffentlichen Schlüssel, sofern sie nicht zertifiziert sind, möglichst aus einer anderen Quelle als das Softwarepaket selbst bezogen werden, beispielsweise von einer CD-ROM des Herstellers, von einem anderen Spiegelserver, auf dem das Paket ebenfalls heruntergeladen werden kann, oder von einem Public Key Server.
Zur Überprüfung von Prüfsummen und digitalen Signaturen müssen die entsprechenden Programme lokal vorhanden sein. Die Administratoren sollten über die Bedeutung und Aussagekraft von Prüfsummen und digitalen Signaturen informiert sein und die entsprechenden Programme einsetzen können.
Ergänzende Kontrollfragen:
- Ist bekannt, ob für die eingesetzten Softwarepakete Prüfsummen oder digitale Signaturen verfügbar sind?
- Sind die notwendigen Programme zur Überprüfung von Prüfsummen oder digitalen Signaturen verfügbar?
- Werden digitale Signaturen, sofern verfügbar, überprüft?