Ist mein SmartHome sicher?

Begonnen von Tinko, 01 April 2016, 21:31:01

Vorheriges Thema - Nächstes Thema

Tinko

Hallo zusammen

ich bin Anfänger aber habe inzwischen ein paar Geräte von Homematic mit dem HM-USB zum laufen gebracht. Fhem läuft dabei bei mir auf einem Raspberry PI.

Heute habe ich mich einem HM-Sec-SCo Türsensor-Bausatz gewidmet und ihn zusammengelötet. Ist ja recht einfach. Was mich gewundert hat, ich habe den Türsensor nach dem Zusammenbau bereits in FHEM auffinden können. Ich habe bisher alle Geräte via autocreate hinzugefügt. Es war aber dieses mal nicht nötig einen
set hmusb hmPairForSec 60 abzusetzen.

Ist das normal?

Das wollte ich zum Anlass nehmen, um euch zu fragen ob ich "als Anfänger" vielleicht irgendeinen Sicherheitsmaßnahme vergessen haben könnte? Auch falls es normal sein sollte, dass sich der Türsensor automatisch finden ließ ohne einen Pairing-Befehl abzusetzen.

Was ich bisher gemacht habe: meine Netzwerk ist von außen nur mittels VPN erreichbar. FHEM Port Weiterleitung habe ich auch nicht. ist ja bei einer VPN auch nicht notwendig. Kann ja sein, dass es noch andere Sachen gibt. Hauscodes gibt es ja nicht bei Homematic so wie ich das verstanden haben. Über die AES Encryption habe ich gelesen. Würde mich interessieren ob ihr es nutzt. Vielleicht fällt euch was ein was man unbedingt für die Sicherheit tun sollte.

Gruß Tinko
Don't hate me cause u ain't me!

Raspberry PI II mit FHEM Jessy
HM-USB und Phillips Hue

Rince

Dein Türsensor ist nicht mit fhem gepaired.
Du kannst lediglich dessen Statusmeldungen sehen. Das geht bei HM eigentlich immer.

Wenn du ein list vom Sensor machst, steht da im Moment sinngemäß: paired to 0000000.

Ergo:
Du kannst ihn weder abfragen, noch mit anderen Devices peeren....
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

budy

Moin Tinko,

Zitat von: Tinko am 01 April 2016, 21:31:01
Über die AES Encryption habe ich gelesen. Würde mich interessieren ob ihr es nutzt. Vielleicht fällt euch was ein was man unbedingt für die Sicherheit tun sollte.

Gruß Tinko

HM unterstützt keine AES Encryption, sondern nur AES Signing. Das bedeutet, dass die HM-Komponenten, wenn sie AES Signing können, nur Kommandos akzeptieren, welche mit dem geheimen AES Key "ge-signed" sind. Und ja, ich setzte das bei allen HM-Geräten ein, wenn sie es können.

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

Rince

AES setze ich nur bei der Haustür ein. Da geht es auch gar nicht anders btw.

Ansonsten nicht. HM macht bei mir hauptsächlich Licht.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Tinko

#4
Zitat von: Rince am 01 April 2016, 22:13:04
Dein Türsensor ist nicht mit fhem gepaired.
Du kannst lediglich dessen Statusmeldungen sehen. Das geht bei HM eigentlich immer.

Wenn du ein list vom Sensor machst, steht da im Moment sinngemäß: paired to 0000000.

Ergo:
Du kannst ihn weder abfragen, noch mit anderen Devices peeren....

Mhh ist mit bisher nicht aufgefallen. Hatte den Sensor aber trotzdem sicherheitshalber noch mal gepaired. Ich kann mit ihm auch etwas steuern. Derzeit geht das Licht an wenn die Haustür geöffnet wird. Was mich aber wundert und vielleicht kannst du mir helfen es zu verstehen: ich wollte nach deinem Hinweis das Pairing überprüfen. Habe ein List auf den Sensornamen ausgeführt. Internals:
   CFGFN
   DEF        4669A8
   IODev      hmusb
   LASTInputDev hmusb
   MSGCNT     85
   NAME       HM_E_Door
   NR         1504
   STATE      closed
   TYPE       CUL_HM
   hmusb_MSGCNT 85
   hmusb_RAWMSG E4669A8,0000,666ED48C,FF,FFB2,6E86104669A800000006010000
   hmusb_RSSI -78
   hmusb_TIME 2016-04-02 07:35:35
   lastMsg    No:6E - t:10 s:4669A8 d:000000 06010000
   protCmdDel 4
   protLastRcv 2016-04-02 07:35:35
   protNack   1 last_at:2016-04-01 20:23:12
   protSnd    1 last_at:2016-04-01 20:23:12
   protState  CMDs_done_Errors:1
   rssi_at_hmusb avg:-69.65 min:-92 max:-55 lst:-78 cnt:85
   Readings:
     2016-04-02 06:52:58   Activity        alive
     2016-04-01 20:23:12   CommandAccepted no
     2016-04-01 20:22:52   D-firmware      1.0
     2016-04-01 20:22:52   D-serialNr      NEQ0063181
     2016-04-02 07:35:35   alive           yes
     2016-04-02 07:35:35   battery         ok
     2016-04-02 07:35:35   contact         closed (to broadcast)
     2016-04-02 07:35:35   recentStateType info
     2016-04-02 07:35:35   sabotageError   off
     2016-04-02 07:35:35   state           closed
     2016-04-01 20:55:14   trigDst_broadcast noConfig
     2016-04-01 20:55:14   trigger_cnt     98
   Helper:
     HM_CMDNR   110
     getCfgList all
     getCfgListNo ,4
     mId        00C7
     rxType     28
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Io:
       newChn     +4669A8,00,00,00
       nextSend   1459575335.94572
       prefIO
       rxt        2
       vccu
       p:
         4669A8
         00
         00
         00
     Mrssi:
       mNo        6E
       Io:
         hmusb      -76
     Prt:
       bErr       0
       sProc      0
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
     Rssi:
       At_hmusb:
         avg        -69.6588235294117
         cnt        85
         lst        -78
         max        -55
         min        -92
Attributes:
   IODev      hmusb
   actCycle   000:50
   actStatus  alive
   autoReadReg 4_reqStatus
   expert     2_raw
   firmware   1.0
   model      HM-SEC-SCo
   room       Entrance,HomeMatic
   serialNr   NEQ0063181
   subType    threeStateSensor


Laut FHEM Wiki http://www.fhemwiki.de/wiki/HomeMatic_Devices_pairen sollte ein Eintrag "R_pairCentral  0xABCDEF" auftauchen. Denn sehe ich aber gar nicht. Heißt das der Sensor ist nicht gepaired?
Don't hate me cause u ain't me!

Raspberry PI II mit FHEM Jessy
HM-USB und Phillips Hue

Tinko

Zitat von: Rince am 02 April 2016, 08:17:04
AES setze ich nur bei der Haustür ein. Da geht es auch gar nicht anders btw.

Ansonsten nicht. HM macht bei mir hauptsächlich Licht.

Wie sieht es mit der HMID aus. Ich glaube die ist bei mir noch die Standardaddresse. Gefunden hier:

http://www.fhemwiki.de/wiki/HomeMatic_Devices_pairen

Zitat...dringen zu empfehlen, die HMID vor dem Pairing der HM-Geräte mit:
attr <CUL> hmId <6-stellige Hexadresse>
zu individualisieren.
Don't hate me cause u ain't me!

Raspberry PI II mit FHEM Jessy
HM-USB und Phillips Hue

frank

Zitat von: Tinko am 02 April 2016, 08:31:16Laut FHEM Wiki http://www.fhemwiki.de/wiki/HomeMatic_Devices_pairen sollte ein Eintrag "R_pairCentral  0xABCDEF" auftauchen. Denn sehe ich aber gar nicht. Heißt das der Sensor ist nicht gepaired?
wahrscheinlich nicht. es gab auch fehler während der kommunikation, siehe internals
protState  CMDs_done_Errors:1

also drüberpairen bis es funktioniert.


Zitat von: budy am 01 April 2016, 23:20:38
HM unterstützt keine AES Encryption, sondern nur AES Signing. Das bedeutet, dass die HM-Komponenten, wenn sie AES Signing können, nur Kommandos akzeptieren, welche mit dem geheimen AES Key "ge-signed" sind. Und ja, ich setzte das bei allen HM-Geräten ein, wenn sie es können.
sicher ist es nur, wenn du einen eigenen key benutzt, da der default-key gehacked ist.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Rince

ZitatCommandAccepted no

Du kannst ihn offenbar nicht abfragen. Er ist nicht gepaired.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

linuxpaul

#8
Hi,

ich habe zwar einen Cube als CUL hatte aber auch Schwierigkeiten diesen Sesnor zu pairen
und sah das nur an einem fehlenden (leeren) PairedTo, dass er nicht gepaired ist
Man muss das Perlmodule Crypt::Rijndael nachinstallieren und dann pairen. (cpan -i Crypt::Rijndael).

Anschließend musste ich die readings löschen und dann den Connect Taster des Sensors nochmal drücken,
um alle readings richtig zu sehen.

Der Sensor signiert automatisch mit einem Std. Key. Ohne scheint das nicht zu gehen.

https://forum.fhem.de/index.php/topic,51480
https://forum.fhem.de/index.php/topic,51629

:)
linuxpaul

Edit: ggf. musst du bei deinem HM USB AES einrichten?


Tinko

#9
Zitat von: Rince am 02 April 2016, 09:44:00
Du kannst ihn offenbar nicht abfragen. Er ist nicht gepaired.

??? kapier ich gerade nicht. Was meint ihr mit "abfragen"? Er steuert gerade meine Flur-Lampe. Es ändert seinen Status of "open" sobald ich die Tür öffne und auf "closed" sobald sie zu ist. Bei "open" wird ein notify ausgelöst, dass wiederum den Flurlicht-Schalter für 5 min anstellt. Das funktioniert - darum bin ich verwirrt.

Sorry wenn ich gerade nix kapiere.

Drüber-Pairen schadet natürlich nicht. Kann ich später noch mal probieren.
Don't hate me cause u ain't me!

Raspberry PI II mit FHEM Jessy
HM-USB und Phillips Hue

budy

Der Sensor bläst halt seine Nachrichten auch so hinaus und wenn du in FHEM ein Notify auf diese Events eingerichtet hast, dann wird es auch "abgearbeitet". Die eigentliche Frage nach der Sicherheit ist also, was die AES-signierte Kommunikation hier an Sicherheit bringt.
Und da kann es ja nur heißen, dass der FEHM nur noch auf signierte Funk-Telegramme reagiert, also niemand einfach eine Art Replay-Attacke fahren kann, weil er den geheimem AES-Key nicht kennt und somit dem FHEM keinen falschen Status vorspielen kann.

Command accepted: no bedeutet einfach nur, dass der FEHM dem Sensor ein Kommando geschickt hat, welches der Sensor nicht akzeptiert hat, was sich nur durch fehlendes pairing erklären lässt. Das ganze ist natürlich bei einem Sensor, der sonst nix macht etwas weniger offensichtlich, als bei einem Aktor, der dann einfach nicht schaltet.
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

linuxpaul

#11
Frage zum Replay:
Wenn ich den Verkehr für ein Replay sniffen kann, habe ich dann nicht auch die Signatur?

@Tinko
Ich kann nur empfehlen den Sensor ordentlich zu pairen. Ohne hatte ich Stress mit Missing Acks
und Deads. Lustiger Weise auch bei meinem Thermostat was zwichendurch mal die Arbeit eingestellt hat.
Seit dem der Sensor gepaired ist, funktioniert mein FHEM ohne zucken.

:)
linuxpaul

herrmannj

ZitatFrage zum Replay:
Wenn ich den Verkehr für ein Replay sniffen kann, habe ich dann nicht auch die Signatur?
Nein.

vg
joerg

budy

Zitat von: herrmannj am 02 April 2016, 20:22:02
Nein.

vg
joerg

Ha ha - geile Antwort! Kurz, richtig - aber hilft nicht. ;)

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

Tinko

Zitat von: frank am 02 April 2016, 09:38:54
wahrscheinlich nicht. es gab auch fehler während der kommunikation, siehe internals
protState  CMDs_done_Errors:1

also drüberpairen bis es funktioniert.

sicher ist es nur, wenn du einen eigenen key benutzt, da der default-key gehacked ist.

Also noch zwei mal gepaired und nun sieht es besser aus.

Internals:
   CFGFN
   DEF        4669A8
   IODev      hmusb
   LASTInputDev hmusb
   MSGCNT     208
   NAME       HM_E_Door
   NR         1504
   STATE      closed
   TYPE       CUL_HM
   hmusb_MSGCNT 208
   hmusb_RAWMSG RD8D631D3,0021,69CCDCF9,00,FFB6,E680024669A812345600007D94B4
   hmusb_RSSI -74
   hmusb_TIME 2016-04-02 23:17:09
   lastMsg    No:E6 - t:02 s:4669A8 d:123456 00007D94B4
   protCmdDel 4
   protEvt_AESCom-ok 3 last_at:2016-04-02 23:17:09
   protLastRcv 2016-04-02 23:17:09
   protNack   1 last_at:2016-04-01 20:23:12
   protSnd    4 last_at:2016-04-02 23:17:09
   protState  CMDs_done
   rssi_at_hmusb lst:-74 cnt:202 avg:-72.02 min:-95 max:-55
   Readings:
     2016-04-02 23:17:08   Activity        alive
     2016-04-02 23:17:09   CommandAccepted yes
     2016-04-02 23:17:08   D-firmware      1.0
     2016-04-02 23:17:08   D-serialNr      NEQ0063181
     2016-04-02 23:17:08   R-pairCentral   set_0x123456
     2016-04-02 23:17:09   aesCommToDev    ok
     2016-04-02 23:17:09   aesKeyNbr       00
     2016-04-02 22:54:35   alive           yes
     2016-04-02 23:07:48   battery         ok
     2016-04-02 23:07:48   contact         closed (to broadcast)
     2016-04-02 22:54:35   recentStateType info
     2016-04-02 22:54:35   sabotageError   off
     2016-04-02 23:07:48   state           closed
     2016-04-02 23:07:48   trigDst_broadcast noConfig
     2016-04-02 23:07:48   trigger_cnt     198
   Helper:
     HM_CMDNR   230
     cSnd       011234564669A8000802010A120B340C56,011234564669A80006
     getCfgList all
     getCfgListNo ,4
     mId        00C7
     rxType     28
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Io:
       newChn     +4669A8,00,00,00
       nextSend   1459631829.59149
       prefIO
       rxt        2
       vccu
       p:
         4669A8
         00
         00
         00
     Mrssi:
       mNo        E6
       Io:
         hmusb      -72
     Prt:
       bErr       0
       sProc      0
       try        1
       Rspwait:
     Q:
       qReqConf   00
       qReqStat
     Role:
       chn        1
       dev        1
     Rssi:
       At_hmusb:
         avg        -72.0297029702971
         cnt        202
         lst        -74
         max        -55
         min        -95
     Shadowreg:
       RegL_00.    02:01 0A:12 0B:34 0C:56
Attributes:
   IODev      hmusb
   actCycle   000:50
   actStatus  alive
   autoReadReg 4_reqStatus
   expert     2_raw
   firmware   1.0
   model      HM-SEC-SCo
   room       Entrance,HomeMatic
   serialNr   NEQ0063181
   subType    threeStateSensor


Also AES Signing macht Sinn.  :) Danke für die Erklärungen. Muss jetzt mal überlegen ob ich das mache. Bisher habe ich nur Licht gesteuert. Aber wenn sich das ändert wird es spätestens Zeit dafür.

Noch mal zurück zu der Frage bezüglich HMID. Default Wert ändern oder nicht weil es ohne AES Signing eh nix bringt?
Don't hate me cause u ain't me!

Raspberry PI II mit FHEM Jessy
HM-USB und Phillips Hue