Sécuriser l'interrupteur mural 433 MHz


12

Je prévois d'utiliser un simple interrupteur d'éclairage, qui est placé sur le mur. Le commutateur est alimenté par la batterie ou le piezo et envoie des séquences uniques de données (sur et hors événements) sur 433 MHz au récepteur, qui est connecté à mon SmartHome-RaspberryPI.

Puisque je vis au rez-de-chaussée, j'ai quelques considérations sur la sécurité. Quelqu'un pourrait enregistrer et rejouer des séquences uniques que le commutateur envoie.

Est-il possible d'améliorer la sécurité en utilisant du matériel ou des logiciels?


2
Vous devriez voir comment cela se fait avec les porte-clés (de voiture). security.stackexchange.com/questions/43050/…
goldilocks

@delicateLatticeworkFever Mais attention, de nombreuses clés de voiture ne sont pas sécurisées.
Gilles 'SO- arrête d'être méchant'

Je comprends la sécurité, mais pas la radio. Que signifie votre configuration en termes de bande passante et de puissance de calcul? C'est-à-dire combien de bits pouvez-vous envoyer dans chaque direction pour un événement marche / arrêt, combien de cycles d'horloge le commutateur et la lumière peuvent-ils raisonnablement utiliser, et combien de mémoire et de stockage chaque côté possède-t-il?
Gilles 'SO- arrête d'être méchant'

@Gilles Je n'en doute pas (je pense que ce lien en dit autant). J'imagine que mon point de vue était s'il y a une sécurité de pointe, c'est probablement la direction à regarder. - probablement aucun schéma de cryptage asymétrique ici!
goldilocks

1
Qu'est-ce que quelqu'un va exactement accomplir en contrôlant vos lumières sans autorisation, à part vous ennuyer légèrement et annoncer sa présence ? S'ils sont assez proches pour recevoir vos transmissions, ils peuvent probablement vous regarder aller et venir.
Chris Stratton

Réponses:


10

Oui, vous pouvez améliorer considérablement la sécurité de presque tous les protocoles de bas niveau en utilisant un logiciel - mais toute solution de brassage maison est toujours susceptible d'avoir des défauts.

Vous devez considérer au moins 3 possibilités d'attaque.

  1. Déni de service. Il existe peut-être un mode de fonctionnement de secours que vous souhaitez utiliser si le canal radio est bloqué. Vous pourriez également être en mesure de filtrer les comportements inhabituels visant à épuiser le matériel.

  2. Messages voyous. Un simple message statique est trivialement enregistré et rejoué, mais les codes de roulement et le cryptage peuvent aider à atténuer le risque ici.

  3. Les messages peuvent divulguer des informations que vous préférez garder secrètes. La présence du message et le contenu de l'information peuvent fuir. Les messages de remplissage et factices atténueraient ici.


7

Je pense que quelque chose à considérer est le suivant: quelqu'un peut-il envoyer des informations sur la fréquence 433 MHz au Raspberry Pi? Quelles informations peuvent être envoyées? Existe-t-il une vulnérabilité dans l'application qui traduit les messages entre le Pi OS et le commutateur d'éclairage? Fondamentalement, le récepteur 433 MHz donne-t-il à un attaquant un point d'ancrage dans le reste de votre réseau? Je ne peux pas répondre à ces questions pour vous sans une analyse complète des vulnérabilités sur votre configuration, mais quiconque s'occupe de la sécurité de l'IoT doit penser de cette façon plutôt que de "faire une grosse affaire s'il peut allumer la lumière". L'attaquant ne veut pas allumer ou éteindre vos lumières. L'attaquant souhaite pivoter vers le reste de votre réseau.


5

Si vous contrôlez l'appareil qui transmet le signal, vous pouvez essayer d'envoyer une séquence de validation supplémentaire. Cette séquence peut indiquer au logiciel qui reçoit les données quelles règles il doit utiliser pour déchiffrer le signal. Ainsi, les données réelles (marche / arrêt) pourraient être chiffrées dynamiquement, tandis que la validation peut être déchiffrée à l'aide d'une clé spéciale que seuls le matériel et le logiciel connaissent.

Ceci est similaire à l' autorisation basée sur le hachage .

Cependant, je pense qu'il est important de regarder de manière réaliste les appareils IoT.

Personnellement, si quelqu'un a du mal à surveiller / filtrer la fréquence de mon interrupteur d'éclairage, je le laisse faire.

Nous rencontrons de telles violations partout où nous allons aujourd'hui. La vraie question porte toujours sur "Combien suis-je prêt à payer pour cela?". Lorsque vous acceptez les cookies sur un site Web afin que vous n'ayez plus à vous connecter, vous acceptez le risque d'une violation de la sécurité parce que vous sentez que vous tirez davantage parti du risque que vous n'en subiriez les conséquences.


En effet, s'ils sont suffisamment proches pour capter une faible transmission à distance de 433 MHz, ils peuvent également être suffisamment proches pour voir la lumière couler autour des rideaux ou vous regarder aller et venir de la propriété. Allumer et éteindre les lumières de quelqu'un sans autorisation est une forme d'attaque plutôt inutile - cela causerait généralement des nuisances et ne ferait que du mal dans de rares situations, mais cela alerterait la victime que l'attaquant est là et a la capacité , ce qui est susceptible d'inciter le technicien ou des recours juridiques ... ou débrancher le système IoT.
Chris Stratton

1

Utilisez un code tournant, semblable à ce que les portes de garage utilisent actuellement. Voici un exemple open source .


2
Il n'est pas nécessaire de supprimer le lien dans votre message, @ GusGorman402; hardilib vous suggère d'élargir votre réponse et d'inclure une citation des sections les plus pertinentes pour référence. Nous déconseillons les réponses qui ne sont que des liens ailleurs sans aucune autre information, donc si vous avez une autre expérience avec les codes glissants (par exemple pourquoi ils sont appropriés ici, comment vous pouvez choisir de les implémenter), cela aiderait à en faire un excellent répondre.
Aurora0001
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.