jp112sdl / AskSinAnalyzer

Analyzer for radio telegrams in a HomeMatic environment
Other
73 stars 12 forks source link

WPS-Kopplung implementieren #45

Closed t0mx closed 4 years ago

t0mx commented 4 years ago

Eingabe des WLAN-Passworts im AP-Modus des ESP32 ist unsicher. Auch wenn die Wahrscheinlichkeit, dass es im richtigen Moment aufgeschnappt wird, recht gering ist, bleibt es eine Sicherheitslücke, die durch den Einsatz von WPS geschlossen werden könnte. Zumindest für diejenigen, die sich des Risikos bewusst sind.

jp112sdl commented 4 years ago

Zum Thema WPS: https://www.tecchannel.de/a/netzwerk-in-gefahr-wie-angreifer-wlans-hacken,2039709,4 https://blog.avira.com/de/wi-fi-protected-setup-wps-sicherheitsrisiko/

"Auch wenn die Wahrscheinlichkeit, ..., recht gering ist..." Willst du trotzdem noch WPS nutzen? ^^

Wie im Forum bereits geschrieben, werde ich da nichts machen.

Aber ich lass das mal offen, vielleicht hat ein anderer mal Lust und Laune, das zu implementieren

stan23 commented 4 years ago

Kann man das Problem vielleicht ganz anders lösen? In dem man die Werte direkt in den Speicher schreibt? Bietet eines der ESP-Flasher-Tools einen Editor für den Speicher? Oder jemand implementiert die Touch-Unterstützung und einen Bildschirmtastatur.

jp112sdl commented 4 years ago

In dem man die Werte direkt in den Speicher schreibt? Bietet eines der ESP-Flasher-Tools einen Editor für den Speicher?

Da kenne ich mich nicht aus. Hab mich mit den Internas des NVS nie befasst. Ansatz wäre wohl die Preferences-Implementierung im Detail zu betrachten, bzw. der dabei verwendeten nvs.h.

Oder jemand implementiert die Touch-Unterstützung und einen Bildschirmtastatur.

Vergebene Müh'... Dann kommt einer mit "Ich nutze den Analyser ohne Display." 🤓

t0mx commented 4 years ago

Die in den Links beschriebene Sicherheitslücke bezieht sich, soweit ich weiß auf die WPS-Methode mit PIN. Über die andere Methode konnte ich nichts dergleichen finden, sollte sie sich als genau so unsicher erweisen, wäre das natürlich auch vergebene Mühe. Der Aufwand scheint überschaubar zu sein: https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WPS/WPS.ino, aber ich wüsste nicht, wo ich das Ganze einfügen kann, insbesondere müsste man ja auch eine Möglichkeit zum Anstoßen in der WebUI vorsehen.

jp112sdl commented 4 years ago

Der Aufwand scheint überschaubar zu sein

Na dann... Feuer frei!

aber ich wüsste nicht, wo ich das Ganze einfügen kann, insbesondere müsste man ja auch eine Möglichkeit zum Anstoßen in der WebUI vorsehen.

Das (beides) muss in den WiFiManager rein, der ist in der WM.h sowie WM.cpp zu finden. Dort stehen für den ESP32 WPS Kram auch schon TODO marker.

Der WiFiManager kommt ursprünglich von hier: https://github.com/tzapu/WiFiManager

Evtl. ist da auch WPS jetzt schon drin und du kannst es dir von dort rüberholen.