Security through obscurity: Unterschied zwischen den Versionen

Aus Foxwiki
Subpages:
Keine Bearbeitungszusammenfassung
 
(52 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' - Kurzbeschreibung
'''Security Through Obscurity''' - Sicherheit durch Verheimlichung
 
== Beschreibung ==
== Beschreibung ==
'''Security through obscurity''' oder '''Security by obscurity''' (deutsch „Sicherheit durch [[Obskurität]], auch „Sicherheit durch Unklarheit“ oder „Sicherheit durch Dunkelheit“) ist ein Prinzip in der [[Computersicherheit|Computer-]] und [[Netzwerksicherheit]]. Es versucht, die Sicherheit eines Systems oder eines Verfahrens zu gewährleisten, indem seine Funktionsweise geheim gehalten wird.
''Security Through Obscurity'' ist ein Ansatz, Sicherheit durch Geheimhaltung der Funktionsweise von Systemen zu gewährleisten
* ''Security through obscurity''
* ''Security by obscurity''
* Verwirrung
* Unklarheit
* Dunkelheit
 
; ''Security Through Obscurity'' wirt NICHT empfohlen
Ungeeignetes Sicherungsprinzip
* [[National Institute of Standards and Technology]] (NIST) rät Sicherheitssysteme nicht auf dieser Basis zu konzipieren
*: "System security should not depend on the secrecy of the implementation or its components"
 
; Nachteile
Solche Systeme sind
* Intransparent
* Kundenfeindlich
* Wenig geeignet, Vertrauen in Sicherheit zu schaffen
 
== Beispiele ==
{| class="wikitable options big"
|-
! Beispiel !! Beschreibung
|-
| [[#Ping ignorieren|Ping ignorieren]] ||
|-
| [[#Portscan ignorieren|Portscan ignorieren]] ||
|-
| [[#Netzwerkdienste verstecken|Netzwerkdienste verstecken]] ||
|-
| [[#Ausgabe von Fehlinformationen|Ausgabe von Fehlinformationen]] ||
|-
| [[#Closed-Source-Software|Closed-Source-Software]] ||
|}


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.<ref>{{Literatur |Autor=Javier Galbally Herrero |Titel=Vulnerabilities and Attack Protection in Security Systems Based on Biometric Recognition |Verlag=[[Universidad Autónoma de Madrid]] |Datum=2009-11 |Seiten=7 |Sprache=en |Online=[https://books.google.de/books?id=heLJva2yQqUC&lpg=PR1&hl=de&pg=PA7#v=onepage&f=true books.google.de]}}</ref>
=== 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 [[Gateway (Informatik)|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


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: {{" |Sprache=en |Text=System security should not depend on the secrecy of the implementation or its components.}}<ref>{{Internetquelle |url=http://csrc.nist.gov/publications/nistpubs/800-123/SP800-123.pdf |titel=Guide to General Server Security |hrsg=National Institute of Standards and Technology |datum=2008-07 |format=PDF; 258&nbsp;kB |sprache=en |abruf=2011-10-02}}</ref>
=== Portscan ignorieren ===
Konfiguration einer [[Firewall]], so dass Anfragen auf [[Port (Netzwerkadresse)|Ports]] still verworfen (''DROP'') statt ablehnend beantwortet (''REJECT'') werden
* Dies hat den Nebeneffekt, dass auf sendender Seite [[Timeout (Netzwerktechnik)|Timeouts]] auftreten, die z.&nbsp;B.&nbsp;automatisierte [[Brute-Force-Methode|Brute-Force]]-Angriffe über Netzwerke sehr stark verlangsamen oder gar unmöglich machen sollen


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.“<ref>{{Internetquelle |url=https://www.heise.de/autos/artikel/Klartext-Ganz-sicher-Nicht-1934849.html |titel=Klartext: Ganz sicher? Nicht. |hrsg=Heise Zeitschriften Verlag |datum=2013-08-13 |sprache=de |abruf=2013-11-28}}</ref>
==== Netzwerkdienste verstecken ====
Dienste wie die [[Secure Shell]] oder [[MySQL]] nicht auf ihren [[Liste der Portnummern|standardisierten Ports]], sondern auf anderen Ports laufen lassen
* Bei einem automatisierten Angriff mit der Frequenz von 50&nbsp;Millisekunden auf dem Niveau einer [[Paketumlaufzeit]] im Internet dauert das Ausprobieren aller 65.535&nbsp;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&nbsp;Minuten verkürzen


== Hintergrund ==
=== Ausgabe von Fehlinformationen ===
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.&nbsp;B. gegenüber automatisierten Angriffen erweisen.
Die auf eingehende Verbindungen folgende reguläre Antwort ändern, beispielsweise Namen oder Versionsnummern der Programme, um Angreifern eine andere Software vorzugaukeln, die uninteressant ist.&nbsp;Dieses Verfahren verwenden auch [[Honeypot]]s


[[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.
=== 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 [[Berkeley Software Distribution|BSD]], [[OpenSolaris]] oder [[Linux]] profitieren davon, dass der Quelltext von vielen Programmierern durchgesehen werden kann und so auch [[Programmfehler]] gefunden werden


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.
In diesem Zusammenhang wird oft [[Eric Raymond]] zitiert: "Given enough eyeballs, all bugs are shallow"


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.
Wichtig ist der Aspekt des zugänglichen Quellcodes bei allen konkreten Algorithmen der Kryptographie ([[Kerckhoffs’ Prinzip]]) – dies ist selbst unter Microsoft Windows&nbsp;10 nicht gewährt, weswegen das [[Bundesamt für Sicherheit in der Informationstechnik|BSI]] vom Einsatz in sicherheitskritischen Bereichen abrät


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.
== Gegenkonzept ==
Sicherheit durch weitestgehende Transparenz
* [[Kerckhoffs’ Prinzip]]
* [[Full disclosure]]


Das sehr weit verbreitete Konzept von [[Passwort|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.
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


== Beispiele ==
{|
| [[Ping (Datenübertragung)|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 [[Gateway (Informatik)|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.<ref>{{RFC-Internet |RFC=792 |Titel=Internet Control Message Protocol |Datum=1981-09}}</ref>
|-
| [[Portscan]]s „ignorieren“ ||  Konfiguration einer [[Firewall]], so dass Anfragen auf [[Port (Netzwerkadresse)|Ports]] still verworfen (''DROP'') statt ablehnend beantwortet (''REJECT'') werden. Dies hat allerdings den Nebeneffekt, dass auf sendender Seite [[Timeout (Netzwerktechnik)|Timeouts]] auftreten, die z.&nbsp;B. automatisierte [[Brute-Force-Methode|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 [[Liste der Portnummern|standardisierten Ports]], sondern auf anderen Ports laufen lassen. Bei einem automatisierten Angriff mit der Frequenz von 50&nbsp;Millisekunden auf dem Niveau einer [[Paketumlaufzeit]] im Internet dauert das Ausprobieren aller 65.535&nbsp;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&nbsp;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 [[Honeypot]]s.
|-
| 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 [[Berkeley Software Distribution|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: {{" |Sprache=en |Text=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&nbsp;10 nicht gewährt, weswegen das [[Bundesamt für Sicherheit in der Informationstechnik|BSI]] vom Einsatz in sicherheitskritischen Bereichen abrät.<ref>[https://www.bsi.bund.de/DE/Service-Navi/Publikationen/Studien/SiSyPHuS_Win10/SiSyPHuS_node.html ''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.&nbsp;Januar 2022.</ref>
|-
| E-Postbrief ||  In einem Interview mit dem Magazin ''[[CIO (Magazin)|CIO]]'' gab der Projektleiter des [[E-Postbrief]]s, 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.“<ref name="E-Postbrief">Johannes Klostermeier: [https://www.cio.de/a/post-wehrt-sich-gegen-kritik-am-e-brief,2244179 ''Exklusiv-Interview: Post wehrt sich gegen Kritik am E-Brief.''] In: ''CIO'', 25.&nbsp;August 2010. International Data Group; abgerufen am 29.&nbsp;Oktober 2020.</ref>
|}


<noinclude>
<noinclude>
Zeile 41: Zeile 75:
== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
{{Special:PrefixIndex/Security}}
==== Links ====
==== Links ====
===== Weblinks =====
===== Weblinks =====
Zeile 47: Zeile 81:


[[Kategorie:IT-Sicherheit]]
[[Kategorie:IT-Sicherheit]]
</noinclude>
</noinclude>

Aktuelle Version vom 25. November 2024, 20:29 Uhr

Security Through Obscurity - Sicherheit durch Verheimlichung

Beschreibung

Security Through Obscurity ist ein Ansatz, Sicherheit durch Geheimhaltung der Funktionsweise von Systemen zu gewährleisten

  • Security through obscurity
  • Security by obscurity
  • Verwirrung
  • Unklarheit
  • Dunkelheit
Security Through Obscurity wirt NICHT empfohlen

Ungeeignetes Sicherungsprinzip

Nachteile

Solche Systeme sind

  • Intransparent
  • Kundenfeindlich
  • Wenig geeignet, Vertrauen in Sicherheit zu schaffen

Beispiele

Beispiel Beschreibung
Ping ignorieren
Portscan ignorieren
Netzwerkdienste verstecken
Ausgabe von Fehlinformationen
Closed-Source-Software

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

Portscan ignorieren

Konfiguration einer Firewall, so dass Anfragen auf Ports still verworfen (DROP) statt ablehnend beantwortet (REJECT) werden

  • Dies hat 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

Gegenkonzept

Sicherheit durch weitestgehende Transparenz

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



Anhang

Siehe auch

Links

Weblinks
  1. https://de.wikipedia.org/wiki/Security_through_obscurity