- Security through Obscurity
-
Security through obscurity oder security by obscurity (engl. „Sicherheit durch Unklarheit“) bezeichnet ein kontroverses Prinzip in der Computer- und Netzwerksicherheit, nach dem versucht wird, Sicherheit durch Verschleierung bzw. Geheimhaltung zu erreichen. Ein System sollte sich niemals allein auf security through obscurity verlassen, aber es kann sinnvoll sein, dadurch die Schwelle für potentielle Angreifer anzuheben.
Hintergrund
Claude Shannons Ausspruch The enemy knows the system („Der Feind kennt das System“) ist ein Ansatzpunkt, von dem heute bei der Erstellung von Sicherheitskonzepten ausgegangen wird. Sicherheit, die ausschließlich auf der Geheimhaltung oder Verschleierung von Verfahren beruht, hat sich oft als ungenügend herausgestellt. Als Ergänzung bestehender Sicherheitskonzepte kann sich Verschleierung jedoch als wirkungsvoll z. B. gegenüber automatisierten Angriffen erweisen.
Kryptologie beruht grundsätzlich darauf, dass die Entschlüsselung durch Geheimhaltung von Daten verhindert wird. Der Unterschied besteht darin, ob ein Schlüssel oder auch der verwendete Algorithmus geheimgehalten wird - denn sobald der Algorithmus für viele Dinge verwendet wird, ist er nicht mehr geheim, sondern weit verbreitet. Security by obscurity wäre dann der Versuch, Dinge geheim zu halten, die weite Verbreitung finden.
Ein starker Algorithmus wie z. B. der Advanced Encryption Standard erfordert aus der Sicht der reinen Kryptographie-Sicherheit keine Geheimhaltung des Verfahrens, sondern nur des Schlüssels. Die Kryptographie-Sicherheit beschäftigt sich mit der Sicherheit eines Verfahrens.
Gleichwohl werden immer wieder Verschlüsselungsalgorithmen geheim gehalten. Denn durch deren Kenntnis können die eventuellen Schwachstellen entdeckt werden, sodass sich erst später herausstellt, dass die Verschlüsselung nicht effektiv war. Ein Beispiel ist RC4, die Basis der WEP-Verschlüsselung heute weit verbreiteter WLANs.
Auf diese Weise führt security by obscurity zu einem Verlust von Sicherheit, da wegen security by obscurity die vermeintlichen Sicherheits-Methoden nicht auf ihre Wirksamkeit überprüft, die unwirksamen Methoden nicht frühzeitig als solche verworfen werden.
Das sehr weit verbreitete Konzept von Kennwörtern ist trotz der offensichtlichen Geheimhaltung meist keine security through obscurity: Man hält zwar ein Passwort geheim, um sicher zu gehen, dass nur Befugte Zugang oder Zugriff haben, allerdings sind die (Passwort-)Eingabemaske und der verwendete Mechanismus (der Zugang erfolgt bei korrektem Passwort) im Regelfall bekannt.
Beispiele
- Ein weiterer, funktionsloser Zugang
- Das Anbringen eines zusätzlichen, offensichtlichen Login-Feldes, welches ohne Funktion ist, um so vom eigentlichen Angriffspunkt abzulenken. Vergleichbar ist hier das Anbringen eines funktionslosen Schlüssellochs an einer Tür und das Tarnen des eigentlichen Schlüssellochs. Dies soll einen Einbrecher dazu bewegen, seine Energie auf das funktionslose Schlüsselloch zu fokussieren.
- Schlüssel in einem Blumentopf
- Ein Beispiel für die Nachteile des Prinzips wäre jemand, der den Schlüssel seiner Haustüre in einem Blumentopf versteckt, für den Fall, dass er sich aus dem Haus ausschließt. Der Schwachpunkt dieser Vorgehensweise ist offensichtlich: Jeder, der weiß, wo der Schlüssel versteckt ist, kann die Haustüre öffnen. Der Hauseigentümer nimmt an, dass niemand von dem Versteck weiß und auch ein Einbrecher den Schlüssel kaum finden würde. Die Sicherheit der Schließanlage wird hier irrelevant.
- Portscans „ignorieren“
- Konfiguration einer Firewall, so dass Anfragen auf Ports ignoriert (DENY/DROP) anstatt negativ beantwortet werden (REJECT).
- Dienste (Ports) verstecken
- Dienste wie z. B. SSH oder MySQL nicht auf den Standardports, sondern auf einem anderen Port laufen lassen, um automatisierte Angriffe ins Leere laufen zu lassen.
- Ping „ignorieren“
- Einige Hosts sind aus den gleichen Gründen wie bei Portscans so konfiguriert, dass sie ICMP Echo Request-Pakete ignorieren.
- Closed-Source-Software
- Wie sich Open Source und Closed Source unter dem Aspekt der Sicherheit verhalten, ist sehr umstritten. Betriebssysteme mit öffentlich einsehbarem Quellcode wie BSD, OpenSolaris oder Linux profitieren davon, dass der Quelltext von vielen Programmierern durchgesehen wird und so auch Programmfehler gefunden werden. In diesem Zusammenhang wird oft Eric Raymond zitiert: Given enough eyeballs, all bugs are shallow. Auf eine generell größere Sicherheit von Open-Source-Software zu schließen, ist aber falsch. Wichtiger ist der Aspekt zugänglichen Quellcodes bei konkreten Algorithmen der Kryptographie.
- Ausgabe von Fehlinformationen
- Die Ausgabe durch Verbindungen auf Ports verändern oder das Entfernen bzw. Verändern der Versions-Informationen von Webapplikationen. Durch die Veränderungen der Anwendungsinformationen wird versucht, einem Angreifer das Vorhandensein von anderer Software vorzugaukeln. Dieses Verfahren verwenden auch Honeypots.
Siehe auch
Wikimedia Foundation.