Frage

Ich bin in der Planungsphase der Entwicklung einer Webanwendung, die ich so sicher wie möglich machen möchte. Ich bin mir ziemlich klar, wie man das aus technischer Sicht macht, aber es gibt ein massives potenzielles Sicherheitsloch: Ich möchte, dass die Website Benutzer hat.

Wie jeder, der jemals ein Benutzer war, weiß, vergessen Benutzer Benutzernamen, vergessen Passwörter und vergessen manchmal, dass sie sogar ein Konto bei Ihrer Website hatten. Benutzer antworten auf Phishing -E -Mails und verschenken ihre Anmeldeinformationen. Wenn Sie etwas tun, was sie zu kompliziert finden, werden sie Ihre Website nicht verwenden. Es muss einfach sein und alles in so wenigen Klicks wie möglich passieren, aber wir müssen dies ausgleichen, indem wir es den Benutzern so schwer wie möglich machen, versehentlich Verschenken Sie ihre Anmeldeinformationen und halten Sie den Zugang zum Dienst so sicher wie möglich.

Was mich besonders interessiert, sind Strategien, die über den Standard -Benutzernamen- und Kennwortkombination hinausgehen und Kennwörter wiederherstellen oder zurücksetzen, die den Benutzern die Dinge einfach machen, aber für jeden schwierig sind, der versucht, sein Konto zu stehlen. Ich weiß, dass viele Websites eine zusätzliche Sicherheitsfrage der Benutzer-Set-Sicherheits-Sicherheitsrate enthalten, aber da ich nicht vertraue, dass Benutzer keine dumme Frage erstellen, wie "Was ist 1+1", sehe ich nicht, wie dies die Sicherheit garantieren kann.

Gibt es Strategien, die für den ahnungslosen Benutzer verwendet werden könnten, aber einen entschlossenen und gezielten Angriff herausfordernd, der darauf abzielt, in ihr Konto einzudringen? Wenn nicht, was können wir am nächsten kommen? Als Benutzer was sind die besten/schlechtesten Websites dafür, dass Sie begegnet sind und warum?

War es hilfreich?

Lösung

Die einzige Möglichkeit, eine wirklich sichere Website zu erstellen, besteht darin, ein Passwort zu benötigen und ein Herausforderung/Antwort -Gerät zu haben.

Zum Beispiel sendet TreasuryDirect.gov eine Karte mit einem Raster mit zufälligen Zeichen. Im Rahmen des Anmeldeprozesses werden Sie gebeten, die Zeichen anzugeben, die in bestimmten Zellen des Netzes enthalten sind. Aber das ist teuer und zeitaufwändig; Es erfordert, die Karten zu bekommen, sie zu verfolgen und sie herauszuschicken. Wenn eine Person die Karte verliert, können sie sich nicht anmelden, wenn Sie eine neue Karte erhalten. Im Falle von TreasuryDirect, wo Sie Millionen von Dollar verwalten könnten, ist dieser Ärger es wert. Nur Sie können feststellen, ob es sich für Ihre Website lohnt.

Eine andere Möglichkeit besteht darin, ein Validierungsbild hinzuzufügen, wie es viele Banken tun. Ich glaube, diese Option hilft nur, einige Phishing -Angriffe zu vereiteln. Wenn Sie also der Meinung sind, dass Phishing ein Problem ist, kann dies eine Option sein.

Ich glaube, die anderen Alternativen, einschließlich dessen, was die meisten Banken verwenden, scheinen sicher zu sein, sind aber nicht wirklich. Sicherheitsfragen zum Beispiel glaube ich, dass es mehr Kompromisse von Websites als helfen, als sie helfen. Andere denken auch das auch.

Eine andere Sache wird darin bestehen, Benutzer zu ermutigen, eine "Passphrase" anstelle eines Passworts zu verwenden Jeff Atwood empfiehlt. Amazon hat diesen Ansatz auch mit ihrem neueren Payphrase gewählt.

Andere Tipps

Ich denke, Sie sollten das Rad nicht neu erfinden. Die meisten Websites verfügen über eine Lösung, die für vergessene Passwörter funktioniert, und sendet einen Link zum E-Mail-Konto des Benutzers. Der einzige Weg, wie dieser Plan ist, ist, wenn das E-Mail-Konto kompromittiert wurde.

Es ist offensichtlich, dass die Benutzerdaten auf Ihrer Website je wichtiger sind, desto mehr Sicherheitsmaßnahmen haben Sie, aber diese zusätzlichen Sicherheitsmaßnahmen haben Auswirkungen auf die Benutzerfreundlichkeit Ihrer Website. Wie kritisch sind die Daten auf Ihrer Website? Sollten Sie 2 oder 3 Authentifizierungssysteme haben, wie es manchmal E-Banks tun?

Der wichtigste Aspekt ist "nicht der Benutzereingabe vertrauen". Wenn Sie dies tun, existieren die meisten Sicherheitsprobleme nicht und es wird keinen Einfluss auf die Benutzerfreundlichkeit haben. Wenn Sie paranoid sein möchten, bauen Sie ein ausgefallenes Sicherheitssystem auf, vergessen Sie jedoch nicht, dass dies die Art und Weise, wie Benutzer Ihre Website verwenden (für das schlechteste), beeinflussen könnten. Sie müssen ein Gleichgewicht zwischen diesen beiden Dingen finden.

Zum OP: Verwenden Sie Standardansätze für die Sicherheit auf Websites. Es wird unweigerlich Idiotennutzer geben, die von Ihrer sicheren Website ertrinken und weggehen, aber das ist die Natur des Tieres. Sie möchten Sicherheit, Sie müssen eine gewisse Flexibilität opfern (und wieder gibt es bekannt, dass Sicherheitspraktiken aus benutzerfreundlicher Sicht gut funktionieren.)

Wenn ein Benutzer weggeht, ist dies normalerweise für andere Dinge als die Sicherheit (beschissenes Webdesign, verwirrende Navigation, schlechte Leistung, Unzuverlässigkeit usw.). Erregende Sicherheit ist normalerweise das Ergebnis einer schlechten Architektur und nicht der Sicherheit selbst. Merk dir das.

Mein einziger Vorschlag zur "nutzbaren, aber sicheren" Front wäre, Fragen zu stellen, aber benutzerdefinierte Antworten (z. B. bemerkenswerter Ort, Name des ersten Haustieres, bemerkenswertes Datum). Obwohl diese nicht einzeln wasserdicht sind, sollte es gut genug sein, eine Kombination aus zwei oder drei personenbezogenen Fragen zu beantworten.

Und vergessen Sie keine Captcha-Wörter oder ähnlich, um Brute-Forcing zu verlangsamen oder zu identifizieren.

Sie können auch verwenden OpenID und OAuth Anstatt ein neues Konto zu erstellen,

Wenn Sie nicht alle Kantenfälle im sicheren Umgang mit Authentifizierung und Sitzungen verstehen, implementieren Sie dies nicht selbst.

Kaputte Authentifizierung und Sitzungsmanagement ist eines der Top 10 OWASP -Sicherheitsprobleme, und dafür gibt es einen Grund. "Get it Right" ist so komplex, dass Sie ein Websicherheitsexperte sein müssen.

Verwenden Sie nach Möglichkeit ein Auth -System von Drittanbietern. Verwenden Sie beispielsweise Google -Konten. Lassen Sie sie sich um all diese Dinge Sorgen machen.

Laut Ihrem Kommentar

Ich vertraue nicht darauf, dass Benutzer keine dumme Frage erstellen, wie "Was ist 1+1". Ich sehe nicht, wie dies die Sicherheit garantieren kann.

Sie müssen keine Sicherheit garantieren - tatsächlich sollte eine solche Frage kein Problem sein. Lassen Sie Benutzer die Anweisungen festlegen, die sie benötigen.

Nun zum EBANKINGINGing gibt es ein saftig genuges Ziel, das Phishers gut Geld verdienen. Wenn Sie sich also im selben Raum befinden, können Sie sich ansehen, was einige der Banken im Anti -Phishing -Raum sehr erfolgreich tun - antiphishing.org hat einige nützliche Informationen, dann wie Bewerbungen wie Truster's Rapport Bereitstellung weiterer Sicherheit in Bezug auf die Verbindung und für die Bereiche höherer Wert verwenden sie 2 -Faktor -Auth, häufig in Form von Smartcards.

Die Lösungen für unterschiedliche Risiken und Benutzerfreundlichkeitsniveaus sind ziemlich gut bekannt, sodass Sie möglicherweise feststellen, dass es einfacher ist, ein vorhandenes Konzept wiederzuverwenden als die Sanierung - die Kosten für Usability -Tests könnten hoch sein!

Lizenziert unter: CC-BY-SA mit Zuschreibung
scroll top