Diese Seite enthält eine grobe Übersicht von Schritten, die notwendig sind, um ein Paket einer Sicherheitsüberprüfung zu unterziehen.
Die erste Handlung sollte sein, ein Paket auszuwählen. Hierbei sollte man sich auf möglichst sicherheitskritische Pakete konzentrieren.
Um diese Entscheidung zu vereinfachen führen wir eine Liste von Paketen, bei denen wir eine Prüfung für wichtig halten.
Bitte beachten Sie: Wir versuchen nicht sicherzustellen, dass ein Paket nur einmal geprüft wird. Wenn mehrere Personen ein Paket auf seine Sicherheit prüfen, ist dies eine gute Sache und ein Indiz dafür, dass das Paket sicherheitskritisch ist.
Indem wir eine wahllose Auswahl der Pakete erlauben, eliminieren wir das Problem, uns die Frage stellen zu müssen, inwiefern man einer Person vertrauen kann, dass sie eine gute Überprüfung durchführt (früher oder später wird eine andere Person das selbe Paket einer Überprüfung unterziehen).
Nachdem das Paket ausgewählt wurde, ist es an der Zeit die Überprüfung durchführen.
Falls man sich der Probleme, nach denen man sucht, nicht bewusst ist, so empfiehlt es sich, zuerst ein Buch über die sichere Entwicklung von Software zu lesen.
Das Sichere Programmierung für Linux und Unix HOWTO enthält viele Informationen, die hilfreich sein können. Secure Coding: Principles & Practices von Mark G. Graff und Kenneth R. van Wyk ist ebenfalls ein exzellentes Buch.
Auch wenn Hilfsprogramme nicht perfekt sind, können sie extrem hilfreich sein womögliche Verwundbarkeiten aufzuspüren. Hierzu haben wir eine Liste von Hilfsprogrammen zusammengestellt und wir erklären, wie sie verwendet werden.
Ebenso wie das Lesen des Quellcodes ist es auch eine gute Idee die Dokumentation des Paketes anzusehen sowie es zu installieren und zu benutzen.
Dies erlaubt es, sich eine Vorstellung davon zu machen, wie man das Programm in seinem typischen Einsatzumfeld missbrauchen könnte.
Findet man einen Fehler, so ist es wichtig auf diesen aufmerksam zu
machen. Wenn Sie ein Sicherheitsproblem melden, versuchen Sie auch einen
Patch dafür bereitzustellen, so dass die Entwickler das Problem zeitnah
beheben können. Es ist nicht notwendig, ein Angriffsbeispiel beizusteuern
(oft exploit
oder proof of concept
genannt); da der
Patch für sich selbst sprechen sollte, ist es für gewöhnlich besser
die Zeit aufzuwenden einen angemessenen Patch bereitzustellen, als einen
erfolgreichen Angriff zur Ausnutzung des Fehlers beizusteuern.
Hier ist eine Liste der empfohlenen Schritte, sobald Sie eine Sicherheitslücke in Debian gefunden haben:
Sollten Sie über keinen Lösungsvorschlag verfügen, ist es nützlich, möglichst viele Informationen bezüglich des Problems, seiner relativen Schwere und Vorschlägen, wie man es umgehen kann, bereitzustellen.
StableDebian-Veröffentlichung enthalten ist oder ob er eventuell in anderen Distributionen oder in einer von den Ursprungsautoren bereitgestellten Version enthalten ist.
full disclosure- (
Offenlegungs)-Mailinglisten wie z.B. full-disclosure oder Bugtraq weiterleiten.
Beachten Sie, dass all diese Schritte von dem mit einer entdeckten Verwundbarkeit verbundenen Risiko beeinflusst werden. Sie müssen das Risiko basierend auf den folgenden Punkten einschätzen:
Es sollten beispielsweise unterschiedliche Maßnahmen ergriffen werden, um einen lokalen Symlink-Angriff zu berichten, der nur von authentifizierten Benutzern ausgenutzt werden kann und das System nur schädigt, im Vergleich zu einem entfernt ausnutzbaren Pufferüberlauf, der administrative Privilegien bereitstellt und in einer Software mit hohem Verbreitungsgrad enthalten ist.
Da sicherheitskritische Fehler nicht veröffentlicht werden sollten, bevor sie nicht ausgemerzt wurden, sollten Sie nicht auf dem üblichen Weg (über die Debian-Fehlerdatenbank) von diesen Fehlern berichten, sondern in den meisten Fällen wenden Sie sich zuerst direkt an das Sicherheits-Team, welches sich der Veröffentlichung eines aktualisierten Pakets annehmen wird und, sobald der Fehler behoben ist, diesen an das BTS berichten wird.