Security through obscurity

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Security through obscurity oder Security by obscurity (deutsch „Sicherheit durch Obskurität“, auch „Sicherheit durch Unklarheit“) ist ein Prinzip in der Computer- und Netzwerksicherheit. Es versucht, die Sicherheit eines Systems oder eines Verfahrens zu gewährleisten, indem seine Funktionsweise geheim gehalten wird.

Das Gegenkonzept dazu ist Sicherheit durch weitestgehende Transparenz, als Kerckhoffs’ Prinzip oder Full disclosure bezeichnet. Ausgehend von der Kryptologie wird hierbei vorgeschlagen, so wenig wie möglich geheim zu halten, um dieses dann umso leichter schützen und gegebenenfalls ersetzen zu können.[1]

Das Prinzip security through obscurity ist sehr umstritten. So rät das National Institute of Standards and Technology (NIST), Sicherheitssysteme nicht auf dieser Basis zu konzipieren: “System security should not depend on the secrecy of the implementation or its components.[2]

Auf diesem Prinzip beruhende Systeme sind intransparent für dessen Anwender und damit wenig geeignet, Vertrauen in Sicherheit zu schaffen: „Security by Obscurity ist ein Prinzip, das nicht nur ungeeignet als Sicherungsprinzip bleibt, es ist obendrein kundenfeindlich.“[3]

Hintergrund[Bearbeiten | Quelltext bearbeiten]

Der Ausspruch des Informationstheoretikers Claude Shannon The enemy knows the system („Der Feind kennt das System“) ist ein Ansatzpunkt, von dem heute bei der Erstellung von Sicherheitskonzepten ausgegangen werden sollte. Sicherheit, die ausschließlich auf der Geheimhaltung oder Verschleierung von Verfahren beruht, hat sich oft als ungenügend herausgestellt. Als Ergänzung bestehender Sicherheitskonzepte konnte sich Verschleierung – bis zur Verbreitung automatisierter Test-Umgebungen ("Fuzzing") – jedoch als wirkungsvoll z. B. gegenüber automatisierten Angriffen erweisen.

Kryptographie 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 geheim gehalten 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, beispielsweise der Advanced Encryption Standard oder das RSA-Kryptosystem, erfordert aus der Sicht der reinen Kryptographie-Sicherheit keine Geheimhaltung des Verfahrens, sondern nur des verwendeten Schlüssels. Die Kryptographie-Sicherheit beschäftigt sich mit der Sicherheit eines Verfahrens.

Gleichwohl werden immer wieder Verschlüsselungsalgorithmen geheim gehalten. Schließlich können durch deren Kenntnis die eventuellen Schwachstellen entdeckt werden, so dass sich erst später herausstellt, dass die Verschlüsselung nicht effektiv war. Ein Beispiel ist RC4, welcher sieben Jahre lang geheim gehalten wurde, bis 1994 der Quellcode anonym veröffentlicht wurde – inzwischen gilt RC4 als massiv unsicher.

Auf diese Weise führt security by obscurity zu einem Verlust von Sicherheit, da bei diesem Prinzip die vermeintlichen Sicherheitsmethoden nicht auf ihre Wirksamkeit überprüft und die unwirksamen Methoden nicht frühzeitig als solche verworfen werden können.

Das sehr weit verbreitete Konzept von Passwörtern ist trotz der offensichtlichen Geheimhaltung ebendieser meist keine security through obscurity. Das Passwort entspricht dem verwendeten Schlüssel, der sowohl bei security through obscurity als auch bei dem Kerckhoffs’schen Prinzip geheim gehalten werden muss, um Unbefugten Zugang bzw. Zugriff zu verwehren. Unabhängig davon ist die Methode zur Überprüfung der Eingabe und dem Abgleich des richtigen Passworts. Diese sollte nach dem Kerckhoffs’schen Prinzip offengelegt werden bzw. wäre eine Geheimhaltung des Prinzips als security through obscurity einzustufen.

Beispiele[Bearbeiten | Quelltext bearbeiten]

Ping „ignorieren“
Einige Hosts sind so konfiguriert, dass sie kein Gesuch um ein Echo erfüllen. Unbeachtet bleibt dabei, dass das Internet Control Message Protocol Rückmeldungen des Gateways vorsieht, wenn der hinter dem Gateway befindliche Host nicht erreichbar ist. Bleibt eine solche Rückmeldung aus, kann man daraus auf die Erreichbarkeit des Hosts schließen.[4]
Portscans „ignorieren“
Konfiguration einer Firewall, so dass Anfragen auf Ports still verworfen (DROP) statt ablehnend beantwortet (REJECT) werden. Dies hat allerdings den Nebeneffekt, dass auf sendender Seite Timeouts auftreten, die z. B. automatisierte Brute-Force-Angriffe über Netzwerke sehr stark verlangsamen oder gar unmöglich machen sollen.
Netzwerkdienste verstecken
Dienste wie die Secure Shell oder MySQL nicht auf ihren standardisierten Ports, sondern auf anderen Ports laufen lassen. Bei einem automatisierten Angriff mit der Frequenz von 50 Millisekunden auf dem Niveau einer Paketumlaufzeit im Internet dauert das Ausprobieren aller 65.535 Ports knapp eine Stunde. Übliche Portscanner wie Nmap unterstützen meist einen parallelen Angriff (Multithreading) auf die einzelnen Ports, dadurch lässt sich der Zeitaufwand ohne weiteres auf unter 5 Minuten verkürzen.
Ausgabe von Fehlinformationen
Die auf eingehende Verbindungen folgende reguläre Antwort ändern, beispielsweise Namen oder Versionsnummern der Programme, um Angreifern eine andere Software vorzugaukeln, die uninteressant ist. Dieses Verfahren verwenden auch Honeypots.
Closed-Source-Software
Wie sich Open Source und Closed Source unter dem Aspekt der Sicherheit verhalten, wird teilweise kontrovers diskutiert. Betriebssysteme mit öffentlich einsehbarem Quellcode wie BSD, OpenSolaris oder Linux profitieren davon, dass der Quelltext von vielen Programmierern durchgesehen werden kann und so auch Programmfehler gefunden werden. In diesem Zusammenhang wird oft Eric Raymond zitiert: “Given enough eyeballs, all bugs are shallow.” Wichtig ist der Aspekt des zugänglichen Quellcodes bei allen konkreten Algorithmen der Kryptographie (Kerckhoffs’ Prinzip) – dies ist selbst unter Microsoft Windows 10 nicht gewährt, weswegen das BSI vom Einsatz in sicherheitskritischen Bereichen abrät.[5]
E-Postbrief
In einem Interview mit dem Magazin CIO gab der Projektleiter des E-Postbriefs, Georg Rau, an: „Grundsätzlich gilt, dass wir hier bei uns keine Sicherheitslücke sehen. Mehr will ich nicht sagen. Denn ein wesentlicher Aspekt unseres Sicherheitskonzeptes ist: Wir reden in der Öffentlichkeit nicht darüber. Das ist Teil des Sicherheitskonzeptes.“[6]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Javier Galbally Herrero: Vulnerabilities and Attack Protection in Security Systems Based on Biometric Recognition. Universidad Autónoma de Madrid, November 2009, S. 7 (englisch, books.google.de).
  2. Guide to General Server Security. (PDF; 258 kB) National Institute of Standards and Technology, Juli 2008, abgerufen am 2. Oktober 2011 (englisch).
  3. Klartext: Ganz sicher? Nicht. Heise Zeitschriften Verlag, 13. August 2013, abgerufen am 28. November 2013.
  4. RFC 792 – Internet Control Message Protocol. September 1981 (englisch).
  5. SiSyPHuS Win10: Studie zu Systemaufbau, Protokollierung, Härtung und Sicherheitsfunktionen in Windows 10. In: Cyber-Sicherheit. Bundesamt für Sicherheit in der Informationstechnik. Auf BSI.Bund.de, abgerufen am 24. Januar 2022.
  6. Johannes Klostermeier: Exklusiv-Interview: Post wehrt sich gegen Kritik am E-Brief. In: CIO, 25. August 2010. International Data Group; abgerufen am 29. Oktober 2020.