Samstag, Mai 4, 2024

Das böse Büro

Uriel Fanellis Blog in deutscher Sprache

Uriel Fanelli

Injektion unsicherer Gewohnheiten.

Wenn wir über IT-Sicherheit sprechen und uns fragen, warum so viele Systeme unsicher sind und ständig von Angriffen geplagt werden, verlieren wir tendenziell die Wahrnehmung einer Tatsache: Die Website oder das System hinter den APIs Ihrer APPs, sie sind Software. Und als Software werden sie von Programmierern geschrieben. Welche Programmierer sind, wie es heute oft vorkommt, völlig ahnungslos in Bezug auf ein Netzwerk oder eine Infrastruktur im Allgemeinen. Für sie ist es schwarze Magie.

Komplizierter wird es bei der Programmierung sicherer Software. Wenn Sie einen modernen Programmierer fragen, wird er Ihnen sagen, dass die Software sicher ist, wenn er "clientIPAddress" anstelle von "clientIpAddress" schreibt, weil sich alles im Namen der Variablen befindet oder in irgendeinem irrelevanten Bullshit, mit dem sie ihre Zeit verbringen . Sie haben buchstäblich keine Ahnung, was Sicherheit ist.

Lassen Sie mich Ihnen ein Beispiel geben: Passwort-Manager.

Ich benutze seit Jahrzehnten einen Passwort-Manager. Es hat sich im Laufe der Zeit weiterentwickelt und ich muss sagen, dass ich mit dem Konzept an sich wirklich zufrieden bin.

Warum ist ein Passwort-Manager sinnvoll? Das Konzept ist einfach: Installieren Sie das Programm auf Ihrem Computer, speichern Sie alle Passwörter in einer Datei, die unleserlich ist, es sei denn, Sie kennen ein Master-Passwort, und wenn Sie dann auf ein spezielles Plugin zugreifen müssen, können Sie damit Passwörter in Ihren Browser schreiben.

Das ist praktisch, weil:

  • Der Passwort-Manager ist mit allen Browsern kompatibel, sodass Sie es, sobald Sie sich das Passwort gemerkt haben, mit allen verwenden können. Wenn Sie den Browser-Passwort-Manager verwenden, werden die Passwörter natürlich nur in einem Browser gespeichert. dass es vielleicht auch von Google ist. Äh… aber auch nein.
  • Speichern Sie eine Datei und speichern Sie alles. Das Speichern von Passwörtern aus ganzen Browser-Passwort-Managern ist ein enormer Aufwand und nicht immer möglich.
  • Es ermöglicht Ihnen eine übermenschliche Anzahl verschiedener Passwörter, die sich buchstäblich nicht lange merken können. das heißt, sehr sicher.

Wenn wir jetzt die Sicherheit der Systeme erhöhen wollten, müssten wir die Bevölkerung wahrscheinlich dazu drängen, einen Passwort-Manager zu verwenden. Sie existieren auch für Mobile.

Aber hier kommen die Programmierer. Sie entscheiden, nein, die Seite wird sicherer, wenn jede Seite eine eigene URL hat und wenn jede Seite Javascript verwendet, um das Anmeldemenü zu generieren, sodass die Passwort-Manager die Seite nicht mehr erkennen.

Wenn ich sie frage, warum sie den Login auf diese Weise verwaltet haben, beginnen sie mit Schlagworten, aber am Ende lautet die eigentliche Antwort: „Ich habe es auf StackOverflow gefunden, und ich habe keine Ahnung, was ich tue, aber es ist idiomatisch.“

Das Problem ist, dass, selbst wenn die Site Sicherheit gegen einen Angriff gewinnt, sagen wir, ein CVE, das bekanntermaßen 100 Hacker sind, Hunderttausende oder Millionen von Clients unsicher werden, wenn sie die Verwendung von Passwortmanagern verhindern.

Das Konzept, das klar sein muss, aber nicht ist, ist, dass es in der Beziehung zwischen Client und Server sinnlos ist, die Sicherheit des Servers AUF KOSTEN DER UNSICHERHEIT DER CLIENTS zu erhöhen.

Und das aus einem einfachen Grund: Für jeden Server gibt es Tausende, wenn nicht Millionen (oder Milliarden bei Facebook) von Clients. Selbst ein minimaler Verlust der Client-seitigen Sicherheit erzeugt eine enorme globale Unsicherheit.

Wenn wir zwei Millionen Passwörter von einem globalen Dienst stehlen wollen, müssen wir nur alle Benutzer mit einem schwachen Passwort als Passwort bürsten:

Injektion unsicherer Gewohnheiten.

"Juventus". Ernsthaft?

Jetzt werden mir die üblichen Idioten sagen, dann reicht eine Passwortrichtlinie, und dann wird aus Juventus Juventus 36! .

Und wenn Sie darauf bestehen, dass eine solche Richtlinie zu schwach ist, wird Ihnen der Programmierer sagen, dass er Passwörter sowieso nicht im Klartext speichert, und er streut sogar Salz hinein!. Was Insipidous aufhalten wird, aber ich weiß nichts über Anonymous. Aber unser Programmierer konzentriert sich voll und ganz auf den Server, und wen kümmert es, wenn er jemandem erlaubt, Accounts zu stehlen, weil er ein einfaches Passwort hat? (aber salzig, wohlgemerkt).

Glückwünsche.

Was versuche ich zu sagen? Dass das Missverhältnis zwischen der Anzahl der Server und der Anzahl der Clients so groß ist, dass es keinen Sinn macht, sich zuerst auf die Serversicherheit zu konzentrieren: Jemand muss dafür sorgen, dass der Client nicht das Problem ist.

Heutzutage ist es notwendig, den Benutzern von Diensten gute Gewohnheiten einzuflößen. Wie die Verwendung eines Passwort-Managers.

Möchten Sie eine Kennwortrichtlinie, die die Benutzer dazu zwingt, einen Kennwortmanager zu verwenden? Gut:

  • das Passwort muss mindestens 48 Zeichen lang sein.
  • es muss sowohl Groß- als auch Kleinbuchstaben enthalten.
  • es muss mindestens 5 verschiedene und nicht aufeinanderfolgende Satzzeichen enthalten.
  • es muss mindestens 11 Nummern enthalten, die nicht auf andere Nummern folgen.

An dieser Stelle würden Sie die Leute dazu zwingen, einen Passwort-Manager zu verwenden, und Sie hätten die Sicherheit des Systems wirklich erhöht. Nicht auf der Serverseite, sondern auf der Clientseite.

Das Problem ist, dass kaum jemand unter den Programmierern kundenorientiert arbeitet. Alles, was sie tun (wenn sie es tun), ist, gute Praktiken in die Entwicklung des Systems auf der Serverseite einzubringen: aber keine Vorsichtsmaßnahme auf der Serverseite wird 223375 Italiener daran hindern, Passwörter wie „Juventus“ oder „juventus.36“ zu verwenden.

Injektion unsicherer Gewohnheiten.

Und hier ist das Problem. Menschen werden NIEMALS einen Passwort-Manager verwenden, wenn sie nicht dazu gedrängt werden und wenn Websites weiterhin ähnliche Dinge akzeptieren:

Injektion unsicherer Gewohnheiten.

Im Gegenteil, aktuelle Websites ermutigen nicht zum Einsatz von Passwort-Managern, im Gegenteil, sie raten davon ab, denn zwischen benutzerdefinierten Anmeldeseiten und Javascript, als würde es regnen, fällt es Passwort-Managern immer schwerer, die Seite zu identifizieren.

Na und?

Ich fordere Sie auf, eines zu tun: KEINE Website zu verwenden, auf der die Verwendung Ihres Passwort-Managers nicht sofort erfolgt.

Es ist definitiv eine unsichere Seite, die von inkompetenten Schurken geschrieben wurde, und früher oder später wird irgendein Hacker, nachdem er ein einfaches Passwort erraten hat, seine Privilegien eskalieren und alle Passwörter nehmen.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert