* Andre Tann wrote on Wed, Dec 28, 2005 at 17:36 +0100:
Steffen Dettmer, Mittwoch, 28. Dezember 2005 16:34:
Gefährlich an "Security by Obscurity" ist, dass es suggeriert, es wäre ein Unterschied - ist's aber nicht.
Man muß natürlich wissen, was man tut, klar.
Ja, genau. Die Idee hier war ja nur, dass der Portwechsel nichts "sicherer" macht. Du hast das ja auch nicht gemacht, damit es sicherer wird, sondern um die Logfiles zu entlasten. Du weisst also, was Du tust.
Ein brauchbarer Portscanner bekommt SSH ganz einfach und sicher raus (SSH meldet sich ja entsprechend). Also "indirekt gefährlich". Jetzt, wo Du weniger scans siehst, denkst Du vielleicht, kurze Passwörter reichen ja doch - oder sowas in der Art.
Im Gegenteil - Leute, die meinen sshd auf einem krummen Port finden, sind gefährlicher als die, die es nur bis zum Port 22 schaffen.
Wieso "Gegenteil", sind IMHO zwei Sachen. Solange Du die Sicherheit nicht vernachlässigst, weil ja "weniger Scans" gemacht werden, ist ja alles in Ordnung. Andere könnten möglicherweise denken: meinen Port findet ja eh keiner, also wozu 8 stellige Passwörter, 4 Zeichen reichen ja auch. Oder sowas. Das wäre dann IMHO ein Beispiel für Gefahren von "Security by Obscurity". Aber wenn Du trotzdem gute Passwörter oder noch besser, gar keine und nur Keys verwendest, ist natürlich alles in Butter. [...]
Der Einzige Unterschied hier ist, ob ich den Algorithmus (port + 29978) kenne, oder nicht. Keine Sicherheit, weil solche Geheimnisse selten welche bleiben. Vielleicht liest die Angreiferin mit und korrgiert gerade den auto-rooter :)
Doch, es ist Security by Obscurity. Wenn ich den Port des sshd nicht kenne, dann muß ich ihn suchen. Das ist soviel wie ein brute force Angriff auf ein Paßwort mit 3-4 Stellen (26^3 = ca. 17.000, 26^4 = ca. 450.000; es gibt ca. 65.000 Ports).
Na ja, nicht ganz. Zum einen kann man Scans parallelisieren. Weiterhin könnte man durch traffic-Mitschnitte den SSH-Port "sehen" - "im Klartext", da in so einem Fall ja der Port im TCP Paket übertragen werden würde (was bei Passwörtern von SSH ja nie gemacht wird). Weiterhin sind (langsame, multi-source, ...) Portscans schwieriger zu erkennen, also erfolglose SSH-Authentifizierungsversuche - und es geht mit viel weniger Rechenaufwand (sprich: eine Angreiferin kann vielleicht drei SSH Passwörter brute-forcen, weil sie nur einen P500 am E3 hat, mit der gleichen Ausstattung aber zwanzig oder hundert hosts Portscannen). Ist natürlich recht theoretisch, klar.
Bei zehn Buchstaben suche ich dann eben noch etwas länger, und spätestens bei 30 Buchstaben wirds ungemütlich, aber ich brauche nur zu suchen, irgendwann habe ich auch dieses Paßwort geknackt, und zwar mit Sicherheit.
Bei 1000 Versuchen pro Sekunde sind das: 26^30/1000/60/60/24/356 == 91.461.158.619.588.337.470.694.868.056.074 Jahre. Das Universum ist aber nur 15.000.000.000 Jahre alt und möglicherweise in schon 15.000.000.000.000 Jahren so kalt, dass Du keinen Strom mehr für den PC bekommst :-) Daher würde ich ein 30-Zeichen-Passwort als "praktisch unerratbar" einstufen. Aber natürlich hast Du Recht, man könnte ja zufällig "OkWXEJUJ0WT*Dz+EdLgQxihnKb6kCZ" als Passwort haben und als ersten Versuch raten, obwohl es statistisch natürlich 45.730.579.309.794.168.735.347.434.028.037 Jahre dauern würde :)
Ebenso verhält es sich bei Public Key Verfahren. Algorithmus hin, Bekanntheit her: ich brauche nur zu suchen: irgendwann habe ich den Key erraten. Zwar reicht die gesamte verfügbare Energie dafür vermutlich nicht.
Ja, das mit der Universums-Gesammt-Energie ist aber ein ernstes Problem... Auch preislich: für diese Kosten (also kurz: alles) macht es keinen Sinn, Dein Geheimnis zu erraten, weil es ungleich billiger ist, sich das komplette Sonnensystem atomgenau (oder auch Quantenzustandsgenau) nachzubauen. Man kann Dich auch einfach entführen und Dir eine Pistole an den Kopf setzen, ist sicherlich für wenige tausend Dollar zu machen, vielleicht ne Million, egal, alles Spielgeld im Vergleich zu "alles" :-) Sicherheit muss nur deutlich teurer als der Wert der zu schützendes Geheimnisses sein. Ist es teurer, eine Bank anzugreifen als sie zu kaufen, wird man sie nicht angreifen (sondern kaufen) :-) Ein anderes Beispiel eines RSA Angriffs besagte in etwa folgendes: Wenn man einen ganz leichten Speicher hätte (also Tesafilm mit superhoher Speicherdichte), müsste man dennoch so viele Zwischenergebnisse speichern (bei dictionary-style-attack), dass man so viele Tesafilmrollen bräuchte, dass deren Masse (um Grössenordnungen!) über der kritischen Masse eines schwarzen Lochs läge, so dass man das Ergebnis am Ende auch nicht so recht nutzen könnte :-)
Aber das ändert nichts am Prinzip. Es bleibt security by obscurity.
Was ist an 45.730.579.309.794.168.735.347.434.028.037 Jahren obskur? oki, Steffen -- Dieses Schreiben wurde maschinell erstellt, es trägt daher weder Unterschrift noch Siegel.