Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Kann JS/jQuery mehr Sicherheit bringen?

Diskussion: Kann JS/jQuery mehr Sicherheit bringen? im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hi Leute, da ich mich - wie in einem anderen Thread bereits gesagt - mit Javascript und jQuery beschäftige, ...

Antwort
Alt 02.07.11, 18:24   #1 (permalink)
 
Registriert seit: 24.06.11
Clarity Leistung: Z3
Likes: 3
Standard Kann JS/jQuery mehr Sicherheit bringen?

Anzeige

Hi Leute,

da ich mich - wie in einem anderen Thread bereits gesagt - mit Javascript und jQuery beschäftige, habe ich mir auch mal Gedanken darüber gemacht, ob man jQuery nicht nur zur DOM - Aufhübschung oder AJAX nutzen kann, sondern auch, um eventuell die Sicherheit einer Webseite zu erhöhen.


Zum einen könnte man damit doch sicherlich Logins ziemlich gut absichern. Sagen wir mal, man hätte eine HTML - Seite. Auf dieser befinden sich 6 Teilbilder, die zusammen ein großes ergeben. Erst wenn man die 6 Teile (die zufällig auf der Seite verstreut liegen zusammensetzt, wird eine Loginform erzeugt.
Wäre es damit nicht möglich automatisierte Bruteforceangriffe abzuwehren gesetzt dem Fall, die PHP - Datei, die den Login per POST verarbeitet, hat einen zufällig und schwer bis unmöglich erratbaren Dateinamen, sodass ein direktes Ansprechen der Login - PHP nicht möglich wäre und man die erzeugte Form zwangsweise braucht?
Wie könnte man sowas umgehen bzw. wie schwer wäre es dann, einen Bot zu bauen, der die Teilelement auf die Zielfläche zieht?

Clarity ist offline   Mit Zitat antworten
Alt 02.07.11, 19:04   #2 (permalink)
 
Registriert seit: 13.05.07
Enterprize1 Leistung: Facit NTK
Likes: 0
Standard

Hi,

mit JavaScript lässt sich nicht viel mehr Sicherheit "erzeugen", da die Form letztenendes immer noch vom Browser abgesendet werden muss, damit überhaupt eine Funktionalität besteht. Aus demselben Grund kann man auch niemals die Datei auf dem Server verstecken, da alles was im Browser passiert auch gesehen werden kann.

Ein Beispiel:
In neueren Browsern sind Entwicklungswerkzeuge eingebaut (oder können hinzugefügt werden), die genau aufzeichnen welche Requests an den Server gesenedet wurden d.h. man benötigt nur einen Blick um die Login-Datei zu finden, die aufgerufen wird.

Wirksame Sicherheit kann meiner Meinung nach nur auf der Server-Seite erzeugt werden, da ein Angreifer alles sehen kann was bei ihm auf dem PC passiert.

Beispielsweise wäre eine IP-Sperre nach x fehlgeschlagenen Login versuchen schon recht gut (wie auch bei diesem Board der Fall), aber nichts geht über ein möglichst komplexes Passwort, was sich nicht so einfach Brute-Forcen lässt.
Enterprize1 ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 02.07.11, 19:30   #3 (permalink)
Themenstarter
 
Registriert seit: 24.06.11
Clarity Leistung: Z3
Likes: 3
Standard

Danke für deine Meinung.

Aber was wäre, wenn ich die Logindatei (also die mit dem Loginmechanismus) dynamisch per PHP erstelle? Dann könnt ich auch den Namen der Datei jedes Mal zufällig erstellen.
Einzig wäre die Frage, wie man dann Javascript mitteilt, wie die zufällige Logindatei heißt, ohne es plaintext in den HTML - oder Javascript - Text zu schreiben.
Clarity ist offline   Mit Zitat antworten
Alt 02.07.11, 19:46   #4 (permalink)
 
Registriert seit: 13.05.07
Enterprize1 Leistung: Facit NTK
Likes: 0
Standard

Wenn die Logindatei immer anders heisst (oder du einen zufälligen Wert mit der Form übergibst, der nur einmal gültig ist) erhöhst du die Sicherheit insofern, als das man zwei Requests für einen Passwort Versuch gibt. Aber auch hier wieder dasselbe Problem, was du schon angesprochen hast:
Den Namen der Datei (oder den zufälligen Wert) musst du dem "normalen" Client mitteilen, aber auch wenn du ihn verschlüsselst muss er irgendwo wieder entschlüsselt und gesendet werden. Und genau dasselbe kann dann auch der Angreifer machen, da der Client-Quelltext für jeden sichtbar ist.
Enterprize1 ist offline   Mit Zitat antworten
Alt 04.07.11, 14:38   #5 (permalink)
Senior Member
 
Registriert seit: 13.07.08
enkore Leistung: K 6-3enkore Leistung: K 6-3enkore Leistung: K 6-3
Likes: 85
Standard

Man kann Logins aber gegen MITM (teilweise) durch Clientkryptografie via JS sichern. Wenn der MITM aber schreiben kann -> fail.
Am sichersten ist halt SSL, erzeugt aber wiederrum viel Serverlast -> DoS -> fail.
Normales Form -> fail.
Form mit Key -> 2 Requests -> noch mehr Serverlast -> fail.
Captcha -> sehr viel mehr Serverlast -> fail, aber halbwegs sicher, nervt User aber extrem. (Autologin geht dann nicht mehr)

Letzendlich ist ein Loginform immer fail wie du siehst.
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist gerade online   Mit Zitat antworten
Alt 04.07.11, 17:41   #6 (permalink)
 
Benutzerbild von Eydeet
 
Registriert seit: 14.04.06
Eydeet Leistung: Facit NTK
Likes: 4
Standard

An sich ist dein Puzzle-Spiel auch eine Art von Captcha. Du musst halt schauen, dass du ausreichend Puzzle-Aufgaben erstellst, und dass diese möglichst nicht so einfach durch Computer zu lösen sind. Wenn du zu wenige Aufgaben hast, dann kann ein Angreifer schnell manuell jedes der Puzzles lösen und seinem Bot die Lösungen für die Bilder fest einprogrammieren.
Wenn die Aufgaben zu leicht / zu ähnlich sind, dann ist es auch nicht schnell, einem Bot das Lösen beizubringen. Bei Fotos weisen die Ränder von nebeneinanderliegenden Puzzleteilen zum Beispiel hohe Ähnlichkeiten auf, wenn du Nummern auf die Teile schreibst, dann braucht man da u.U. nur eine einfache Ziffernerkennung.
Eine zusätzliche Sicherheit durch JavaScript ergibt sich nicht, man braucht keinen Bot, der Bilder hin und herzieht, es reicht, die richtigen Anfragen an den Server zu schicken.
Captchas lassen sich zudem einfach durch Crowdsourcing ("Wenn du diese Pornos sehen willst, löse das Captcha") oder durch günstige chinesische Arbeitskräfte umgehen.
Selbst gebaute Captchas erhöhen für "unwichtige" / uninteressante Ziele auf jeden Fall die Brute Force-Sicherheit enorm, allerdings auf Kosten der Benutzer.

Wenn es dir nur darum geht, ein Passwort-Brute-Forcing zu verhindern, dann kommst du mit einer IP-Sperre, die nach 5-maligem fehlgeschlagenen Login für ein paar Stunden den Zugriff verweigert, sehr viel weiter.
Eydeet ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » JavaScript Kann JS/jQuery mehr Sicherheit bringen?
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61