it-swarm.com.de

Volkssicherheit "Cargo Cults"

In der Informations- und IT-Sicherheit besteht die unangenehme Tendenz, dass bestimmte "Best Practices" zu unantastbaren goldenen Regeln werden, was dazu führt, dass Personen empfehlen, sie anzuwenden, unabhängig davon, ob sie für eine bestimmte Situation geeignet sind (ähnlich wie Fracht) Kultprogrammierung )

Ein gutes Beispiel hierfür ist der gängige Ansatz für Kennwortrichtlinien, bei dem eine Einheitsgröße für alle Anforderungen mit einer Länge von 8 Zeichen angewendet wird, kombiniert mit Anforderungen an die hohe Komplexität, 12 vorherigen Kennwörtern, die in einem Verlauf gespeichert wurden, um die Wiederverwendung zu stoppen, 3 Sperren für falsche Versuche und 30 Tagesrotation.

Die 30-Tage-Rotation soll das Zeitfenster für einen Angreifer verringern, ein gestohlenes Kennwort zu verwenden. Es ist jedoch wahrscheinlich, dass Benutzer Sequenzkennwörter verwenden, was bedeutet, dass ein Angreifer, wenn er eine Instanz knacken kann, andere leicht herausfinden und tatsächlich umkehren kann den beabsichtigten Sicherheitsvorteil.

Die hohen Anforderungen an Länge und Komplexität sollen Brute-Force-Angriffe stoppen. Online-Brute-Force-Angriffe werden durch eine Kombination aus sinnvollen Sperrrichtlinien und Intrusion Detection besser gemindert. Offline-Brute-Force-Angriffe treten normalerweise auf, wenn ein Angreifer die Datenbank mit den Kennwörtern kompromittiert hat, und werden durch die Verwendung eines guten Speichermechanismus (z. B. bcyprt, PBKDF2) besser abgewehrt ) Ein unbeabsichtigter Nebeneffekt ist auch, dass Benutzer ein Muster finden, das funktioniert, und das Risiko erhöht, dass Benutzer das Kennwort aufschreiben.

Die 3 falsche Sperrrichtlinie soll Online-Brute-Force-Angriffe stoppen. Wenn Sie sie jedoch zu niedrig einstellen, werden die Kontosperrungen erhöht und Helpdesks überlastet. Außerdem besteht das Risiko eines Denial-of-Service (viele Online-Systeme haben Benutzernamenstrukturen wie Vorname.Nachname leicht erraten es ist einfach, Benutzer auszusperren)

Was sind andere Beispiele für Cargo-Cult-Sicherheit, die häufig unangemessen angewendet werden?

64
Rory McCune
  • Geschlossene Quelle ist sicherer als Open Source, da Angreifer den Quellcode anzeigen und Schwachstellen finden und ausnutzen können. Obwohl ich nicht behaupte, dass dies immer falsch ist Mit Open-Source-Software ist es zumindest externen Experten möglich, die Software auf klaffende Schwachstellen/Hintertüren zu überprüfen und diese dann öffentlich zu patchen. Mit Closed-Source-Software ist dies einfach nicht möglich, ohne die Binärdatei sorgfältig zu zerlegen. Und während Sie und die meisten Angreifer möglicherweise keinen Zugriff auf den Quellcode haben, gibt es wahrscheinlich mächtige Angreifer (z. B. die US-Regierung), die möglicherweise in der Lage sind, den Quellcode abzurufen oder geheime Sicherheitslücken in ihn einzuschleusen.

  • Das Senden von Daten über ein Netzwerk ist geheim, wenn Sie die Daten verschlüsseln . Die Verschlüsselung muss authentifiziert werden, um zu verhindern, dass ein Angreifer Ihre Daten ändert. Sie müssen die Identität der anderen Partei überprüfen, an die Sie Informationen senden, sonst kann ein Mann in der Mitte Ihren Datenverkehr abfangen und ändern. Selbst bei Authentifizierung und Identifizierung werden bei der Verschlüsselung häufig Informationen verloren. Sie sprechen über HTTPS mit einem Server? Netzwerk-Lauscher (jeder bei Ihrem ISP) weiß genau, wie viel Datenverkehr Sie gesendet haben, an welche IP-Adresse und wie groß die einzelnen Antworten sind (z. B. können Sie verschiedene Webseiten basierend auf der Größe aller übertragenen Ressourcen mit einem Fingerabdruck versehen). Insbesondere bei AJAX Websites) führen die von Ihnen eingegebenen Informationen häufig zu einer Serverantwort, die anhand ihrer Verkehrsmuster erkennbar ist. Siehe Seitenkanallecks in Webanwendungen .

  • Schwache Fragen zum Zurücksetzen des Passworts - Wie wurde Sarah Palins E-Mail gehackt ? Eine Person hat das Verfahren zum Zurücksetzen des Passworts durchlaufen und konnte jede Frage anhand öffentlich zugänglicher Informationen richtig beantworten. Welche Fragen zum Zurücksetzen des Passworts könnte ein Facebook-Bekannter herausfinden?

  • System X ist unzerbrechlich - es verwendet 256-Bit-AES-Verschlüsselung und würde eine Milliarde gewöhnlicher Computer eine Million Milliarden Milliarden Milliarden Milliarden Jahre brauchen, um wahrscheinlich zu knacken. Ja, es kann nicht brutal erzwungen werden, da dies ~ 2 erfordern würde256 Operationen. Das Passwort kann jedoch wiederverwendet oder in einem Wörterbuch mit gängigen Passwörtern verwendet werden. Oder Sie haben einen Keylogger auf den Computer geklebt. Oder Sie drohten jemandem mit einem 5-Dollar-Schlüssel und er sagte Ihnen das Passwort . Seitenkanalangriffe existieren. Vielleicht war der Zufallszahlengenerator fehlerhaft . Timing-Angriffe existieren. Es gibt Social-Engineering-Angriffe. Dies sind im Allgemeinen die schwächsten Glieder.

  • Diese schwache Praxis ist gut genug für uns, wir haben keine Zeit zu warten, um die Dinge sicher zu erledigen . Die US-Regierung muss sich keine Sorgen machen über Verschlüsselung der Video-Feeds von ihren Drohnen - wer weiß, wie man die richtigen Trägerfrequenzen hört; Außerdem werden Verschlüsselungsboxen schwer und teuer sein - warum sich die Mühe machen?

  • Quantencomputer können exponentielle Zeitprobleme schnell lösen und brechen alle Verschlüsselungsmethoden . Die Menschen lesen populärwissenschaftliche Artikel auf Quantencomputern und hören, dass sie diese mystischen, übermächtigen Einheiten sind, die die Rechenleistung einer nahezu unendlichen Anzahl paralleler Universen nutzen, um irgendetwas zu tun. Es ist nur ein Teil wahr. Quantencomputer ermöglichen das Faktorisieren und diskrete Logarithmen in der Polynomzeit O (n3) über Shors Algorithmus, der RSA, DSA und Verschlüsselung basierend auf diesen Falltürfunktionen leicht zerbrechlich macht. In ähnlicher Weise können Quantencomputer den Grover-Algorithmus verwenden, um ein Passwort, das O (2) annehmen soll, brutal zu erzwingenN.) Zeit in nur O (2N/2) Zeit; Die Sicherheit eines symmetrischen Schlüssels effektiv halbieren - Der Algorithmus von Granted Grover ist bekanntermaßen asymptotisch optimal für Quantencomputer. Erwarten Sie also keine weitere Verbesserung.

47
dr jimbob

Einige Beispiele:

  • Größere Schlüssel. 4096-Bit-RSA, 256-Bit-AES ... mehr Bits sind immer besser. (Siehe die Kommentare: Es macht keinen Sinn, Schlüssel zu haben, die größer als die Größe sind, was sicherstellt, dass der Status "Kann es überhaupt nicht brechen" angezeigt wird. Größere Schlüssel bedeuten jedoch Netzwerk- und CPU-Overhead, manchmal in großen Mengen.)

  • Automatische Durchsetzung von "sicheren Funktionen" wie snprintf() anstelle von sprintf() (es wird nicht viel nützen, wenn der Programmierer nicht auf das mögliche Abschneiden prüft und die Verwendung eines Benutzers nicht verhindert -bereitgestellte Zeichenfolge als Formatzeichenfolge). Zusätzliche Punkte für strncpy(), die nicht das tun, was die meisten Leute anzunehmen scheinen (insbesondere stellen sie kein endgültiges '\0' Sicher).

  • "Reinheit des Sicherheitsmanagers". Als Anwendung der Aufgabentrennung sollten alle "sicherheitsrelevanten" Entscheidungen von einem Sicherheitsspezialisten getroffen werden, der sich von den Projektdesignern und -entwicklern unterscheidet. Oft auf das fehlgeleitete Extrem gebracht, wo der Typ, der entscheidet, welche Netzwerkports auf einer Firewall offen bleiben sollen, keinerlei Kenntnis über das Projekt hat und absichtlich ablehnt diesbezüglich etwas zu lernen, weil - nabhängige Entscheidung ist wichtiger als informierte Entscheidung.

29
Tom Leek

Ich werde meine eigenen Appsec-Beispiele hinzufügen, die ich während der Beratung gesehen habe:

  • "Ich schicke Ihnen eine verschlüsselte Postleitzahl per E-Mail und füge das Passwort in dieselbe E-Mail ein ..." Das ist mir mehr als einmal passiert. Eine verschlossene Tür bleibt nicht verschlossen, wenn Sie den Schlüssel in der Tür lassen.
  • "Aber Sie hätten SQL Injection nicht bekommen können und SMTP-Injection, wir haben sanitize() für alles aufgerufen ! ". Es gibt keine Möglichkeit, eine Variable für jede Verwendung sicher zu machen. Sie müssen die Hygieneroutine für den Job verwenden.
  • "Wir können nicht gehackt werden, weil wir nur XXX-Plattform/Sprache/Betriebssystem verwenden". Jede Plattform hat Sicherheitsprobleme, Punkt.
  • "Wir haben eine jährliche Sicherheitsbewertung, Sie werden nichts finden können." Frequenz! = Qualität. Häufige Bewertungen sind eine gute Sache, aber dies garantiert nichts!
  • "Wir haben eine WAF, was bedeutet, dass wir eigentlich nichts patchen müssen." Ja, das passiert also ... Ich hatte einen Client, der bekannte CSRF-Schwachstellen nicht behoben hat, weil er davon ausgegangen ist, dass die WAF diese Angriffe stoppen kann. (Keine WAF kann dies. Ich habe einmal eine WAF gefunden, die behauptete, sie könne "alle Owasp-Top 10 verhindern", und die HTTP-Verwaltungsschnittstelle der WAF war für CSRF anfällig.)
23
rook
  • Passwörter müssen gesalzen und gehasht werden, bevor sie in der Datenbank gespeichert werden. SHA-1 passt gut, SHA-512 ist perfekt.

Ich höre das immer noch von vielen Sicherheitsexperten, Sicherheitstrainings und aktuellen Sicherheitsleitfäden.

19
AviD

Verwenden von SSL nur für die Anmeldeseite und nicht für alle authentifizierten Bereiche einer Website.

15
Shurmajee

Nur eines, aber es ist ein großes Problem: "Informationssicherheit ist ein Technologieproblem, das mit Technologie behoben werden kann."

11
Graham Hill

Um zu verhindern, dass Personen herausfinden, ob bestimmte Benutzer im System vorhanden sind - während eines fehlgeschlagenen Anmeldeversuchs wurde ausgeblendet, ob das Kennwort falsch oder der Benutzername ungültig war, ... und gleichzeitig ein Formular zum Zurücksetzen des Kennworts angeboten, das tut diese Information lecken.

5
Numeron

"Unsere Website kann nicht gehackt werden, da wir SSL verwenden". Sir, das macht es einfacher, es auszunutzen, wenn es anfällig ist, weil sogar Ihr IDS/IPS durch den SSL-Stream unbrauchbar wird.

2
void_in