Security through obscurity
Security through obscurity oder security by obscurity (engl. "Sicherheit durch Unklarheit") bezeichnet ein Prinzip in der Computer- und Netzwerksicherheit, nach dem versucht wird, Sicherheit durch Geheimhaltung zu erreichen.
Wenn zum Beispiel jemand den Schlüssel seiner Haustüre in einem Blumentopf versteckt, für den Fall, dass er sich aus dem Haus ausschließt, verlässt er sich auf Security through obscurity. Der theoretische Schwachpunkt dieser Vorgehensweise ist offensichtlich: Jeder, der weiß, wo der Schlüssel versteckt ist, kann die Haustüre öffnen. Der Hauseigentümer nimmt jedoch an, dass niemand von dem Versteck weiß und auch ein Einbrecher den Schlüssel kaum finden würde.
The enemy knows the system. -- Claude Shannon
"Der Feind kennt das System", das ist der Ansatzpunkt, von dem man bei der Erstellung von Sicherheitskonzepten ausgehen sollte. Sicherheit, die nur auf der Geheimhaltung von Informationen beruht, stellt sich sehr oft als ungenügend heraus.
Es bleibt jedoch festzuhalten, dass die Entschlüsselung immer durch Geheimhaltung von Daten verhindert wird. Die Frage ist lediglich, ob nur ein relativ kleiner Schlüssel geheimgehalten wird oder auch der verwendete Algorithmus. Ein guter Algorithmus wie der DES erfordert jedoch keine Geheimhaltung.
Beispiele
Häufig wird security through obscurity von unwissenden Benutzern dilettantisch angewendet:
Portscans "ignorieren": Software wie Personal Firewalls melden Portscans fälschlicherweise oft als "Angriff" auf den Computer. Viele Benutzer konfigurieren ihre Personal Firewall deshalb so, dass Anfragen auf Ports ignoriert (DENY) anstatt negativ beantwortet werden (REJECT) und hoffen so, unsichtbar und sicherer zu sein. In diesem Fall werden sogar legitime Benutzer und Server behindert und ein DoS-Angriff provoziert.
Ping "ignorieren": Einige Hosts sind aus den gleichen Gründen wie bei Portscans so konfiguriert, dass sie ICMP Echo Request-Pakete ignorieren. Das erhoffte Unsichtbarsein ist allerdings ebenfalls ein Trugschluss. Ist man nämlich tatsächlich nicht online, bekommt man von einem Router ein ICMP Destination unreachable als Antwort. Das heißt, bekommt man überhaupt keine Antwort, weiß man, dass der Computer online ist, aber nicht antwortet.
Ernstere Beispiele in der Netzwerksicherheit:
IP-Adressen "verbergen": Mit NAT oder Masquerading lässt sich die interne Netzwerkstruktur nach außen hin verbergen.
Closed Source-Software: Wie sich Open Source und Closed Source unter dem Aspekt der Sicherheit verhalten, ist sehr umstritten. Linux zum Beispiel profitiert davon, dass der Quelltext von vielen Programmierern durchgesehen wird und so auch Programmfehler gefunden werden.
In diesem Zusammenhang wird oft Linus' Law zitiert (ursprünglich von Eric Raymond):
- Given enough eyeballs, all bugs are shallow.
Passwörter: Das sehr weit verbreitete Konzept von Passwörtern ist auf den ersten Blick auch security through obscurity: Man hält ein Passwort geheim, um sicher zu gehen, dass nur Befugte Zugang oder Zugriff auf Etwas haben.
Dieses Konzept besteht aus den zwei Teilen Passwort und (Passwort-)Eingabemaske, die einander bedingen. Wenn man nicht annähme, dass man beide Komponenten tatsächlich geheimhalten könnte, wäre das Passwort-Konzept ad absurdum geführt. Man spricht deshalb nur dann von security through obscurity, wenn versucht wird, beide Komponenten geheimzuhalten.