Bouton Amazon Dash: rétrospective



L'Internet des objets va révolutionner partout! La production? Promenade de chien? Redémarrez les machines à café? Conduire une voiture? La nutrition? Mettez le capteur là-dedans! Le marketing affirme que n'importe quelle partie de notre vie sera améliorée avec l'IoT. Pourquoi? Parce qu'avec un simple capteur et une symphonie de bavardages d'entreprise vides sur l'apprentissage automatique, une révolution s'apparente au phénomène iPhone sur le point de se produire! Et le voici: Amazon Dash , vers 2014.

Le premier produit de la famille Dash était le lecteur de codes-barres Amazon Dash Wand - il a été distribué gratuitement aux clients Amazon Fresh [ services de livraison de nourriture / env. perev. ], qui étaient censés l'accrocher dans la cuisine, par exemple, à l'aide d'un aimant pour réfrigérateur. Lorsque le client de Fresh manque de lait, il peut scanner le sac avant de le jeter et de l'ajouter au panier. Je soupçonne que ces appareils étaient assez chers et suffisamment sophistiqués pour être utilisés comme Amazon le souhaitait (leur lancement était donc si limité). L'objectif d'Amazon était de permettre aux clients potentiels de passer des commandes avec le moins d'effort possible, afin qu'ils finissent par acheter autant que possible. Rappelez-vous le bouton Acheter maintenant pour 1 clic?



Et cette baguette a finalement été mise à jour vers un appareil contenant Alex, activé par un bouton (laissant le lecteur de code-barres et l'aimant sur le réfrigérateur), qui est disponible pour tout le monde . Cependant, Amazon a placé ses espoirs dans un nouveau gadget. À la mi-2015, Amazon a introduit le «service de réapprovisionnement» Dash Replenishment Service avec son produit, le Dash Button. Ce bouton était censé être un bouton «achat en un clic» dans le monde physique. Pour utiliser le scanner de codes-barres Wand, l'utilisateur devait se rappeler qu'il était allongé quelque part, trouver le code-barres, le scanner, se rappeler la nécessité d'ouvrir son panier et de commander les marchandises. Trop d'étapes, trop d'occasions de descendre des montagnes russes commerciales de Bezos. Le bouton Dash fonctionnait plus facilement! Appuyez sur le bouton, obtenez le produit marqué à l'adresse enregistrée. Chaque bouton devait être acheté (pour 5 $ avec un coupon de réduction de 5 $) lié à une marque spécifique, puis configuré en ligne pour acheter un produit spécifique lorsqu'il était pressé. Dans les publicités, des familles heureuses les plaçaient sur des machines à laver pour acheter Tide, sur des armoires de cuisine pour acheter des serviettes en papier. Assez délicat - c'est vraiment un achat maintenant pour 1 bouton clic pour le monde physique.

Les boutons du tableau de bord avaient deux options. Les deux avaient la même interface et fonctionnaient essentiellement de la même manière. L'appareil avait un bouton (le logiciel peut reconnaître plusieurs séquences de clics), une LED RGB et un microphone (non, il n'a pas écouté vos conversations, mais nous y reviendrons). Et il avait également un émetteur WiFi. La deuxième version (qui a été discrètement publiée en 2016) a ajouté une connexion Bluetooth et le remplissage a complètement changé, bien que cela ne soit pas perceptible pour l'utilisateur.

En février 2019, Amazon a cessé de vendre des boutons Dash.

Mais nous écrivons sur les glandes, pas sur les affaires


Les boutons Dash étaient un hack sympa! Dans un monde familier avec ESP8266, les presse-étoupes comme le bouton Dash sont considérés comme un projet d'entrée de gamme standard pour la domotique. Mais en 2015, lorsque les boutons viennent d'être libérés, ESP commençait à peine. Jusque-là, le WiFi signifiait un appareil inhabituel comme Electric Imp ou un circuit intégré étiqueté Texas . Le marché des appareils à bas prix avec une connexion Internet était complètement différent et plus cher.

Probablement, Amazon n'avait aucun sens de produire un tel bouton s'il coûtait plus de quelques dollars, donc lors de son développement, la société a mis en place quelques astuces pour réduire le coût sans réduire les qualités des consommateurs.



Les hacks sympas commencent par une connexion. Les méthodes classiques de connexion à un réseau domestique d'appareils WiFi sont un cauchemar du point de vue de l'utilisateur. Téléchargez l'appareil pour la première fois, attendez qu'il se rende compte qu'il n'y a pas de connexion avec le réseau, passez en mode point d'accès, ouvrez l'application, ouvrez manuellement la page des paramètres et connectez-vous au nouveau réseau WiFi, revenez à l'application, entrez votre identifiant / mot de passe, attendez pour toujours, quand il vous informe en quelque sorte du succès. Et cela ne fonctionnera que si votre téléphone ne bat pas l'application en arrière-plan ou ne supprime pas le réseau WiFi en raison d'un manque de connexion Internet! À plusieurs reprises, les développeurs Android ont pu être contraints de changer de réseau WiFi sans intervention de l'utilisateur, mais même ainsi, l'expérience de basculer entre les plates-formes était terriblement incohérente.

Que fait un hacker? Bluetooth fonctionne plutôt bien, mais il a besoin d'un autre émetteur. Le Electric Imp mentionné a utilisé une cellule photo-électrique à laquelle il était nécessaire d'appuyer l'écran du téléphone - il a clignoté dans une certaine séquence codant l'accès. Les appareils peuvent être programmés à l'avance, comme Amazon le fait avec le nouveau Kindle, en entrant les données du compte du client là-bas, mais c'est un processus de production complexe, et il faut toujours une sorte de schéma pour changer de réseau. Mais au lieu de toutes ces solutions de contournement, Amazon a décidé d'utiliser une méthode que je ne voyais que dans les blagues: l'appariement acoustique.


Dash Button V1

Dans les deux générations, il y avait un microphone qui percevait le nom d'utilisateur / mot de passe du réseau utilisateur à travers les sons obtenus par manipulation de fréquence , à une fréquence juste en dessous de 20 kHz. Pourquoi 20 kHz et pas plus? L'appariement acoustique devrait fonctionner partout où il y a un microphone et un haut-parleur. Ces exigences sont si faciles à remplir qu'Amazon pourrait concevoir une procédure de couplage afin qu'elle ne fonctionne pas uniquement dans le cadre de leur propre application mobile - les gens pourraient utiliser n'importe quoi d'un Chromebook avec un navigateur à un autre appareil d'Amazon. Je ne suis pas au courant des cas où ces boutons ont été configurés via Amazon Echo à proximité, mais techniquement, cela aurait été possible, mais aurait ressemblé à de la magie. Compte tenu de tout cela, la fréquence doit être telle qu'elle puisse toujours être reproduite avec précision, c'est-à-dire dans la plage accessible à l'oreille humaine. Cliquez ici pour plus de détails sur l'analyse de ce protocole.


Inside V1

En regardant à l'intérieur de l'appareil, nous sommes confrontés à une surprise: une pile AA! Pas une batterie «industrielle» sous une marque différente, mais une simple batterie grand public, sans changer de marque, juste soudée aux contacts. Quoi? Eh bien, apparemment, Amazon a décidé que la batterie de la tablette ne fournirait pas une autonomie suffisamment longue, probablement en raison de la consommation d'énergie lors de la reconnexion via WiFi, et une tablette plus grande serait beaucoup plus chère qu'une batterie ordinaire. Et bien que la batterie tienne bien la batterie (ovale noir à gauche), elle est malheureusement soudée aux contacts, donc l'ensemble devra être changé lorsque la batterie est morte, après environ mille clics.

Et le reste du corps? Tout a l'air aussi simple que possible. Des vis fixent la carte à la partie supérieure du boîtier, tout le reste est collé ou soudé aux ultrasons . Les formes de tous les composants en plastique sont sélectionnées de manière à être facilement coulées. En général, l'appareil semble simple (et bon marché) à fabriquer, ce qui n'est pas si surprenant.

Crackability


Que peut-on pirater dans le bouton Dash? Si les gens commencent à jeter ces appareils incroyablement simples, pouvons-nous leur donner une seconde vie?

Le premier piratage a peut-être été l'utilisation de ces boutons à d'autres fins sans aucun piratage, à la fois logiciel et matériel. Entre les pressions, le bouton s'éteint pour économiser de l'énergie. À long terme, même de rares demandes pour rester en contact avec le WiFi consomment beaucoup d'énergie: et les boutons Dash devraient fonctionner pendant des années, afin qu'ils ne restent pas connectés en permanence. Lorsque le bouton est enfoncé, l'appareil se réveille, allume la LED, indiquant clairement qu'il est vivant, se connecte au WiFi, appelle l'API Amazon, puis tombe du réseau et éteint la LED. Lors de la connexion à un réseau, il passe sans échec par plusieurs étapes de configuration, y compris la diffusion de la demande de sonde ARP, pour s'assurer que personne d'autre n'a une telle adresse MAC.

Les pirates informatiques ont réalisé que si vous surveillez le trafic LAN, vous pouvez intercepter ces demandes et elles incluront l'adresse MAC unique de l'appareil. Et en raison du style spécial du bouton Dash, si nous voyons la demande de sonde ARP, alors nous savons que l'appareil vient de se réveiller, ce qui signifie que le bouton vient d'être pressé. Ensuite, vous pouvez faire tout ce que vous voulez avec cela [en faisant le bouton ne rien commander / env. trad.]. Pour la première fois, j'ai découvert cette méthode sur le blog de Ted . Et même lorsque le backend Amazon s'arrête, les boutons ne cessent pas de fonctionner.


Board V1

Le trappage de requêtes ARP fonctionne, mais cela ne me semble pas très pratique. Ces appareils ont déjà des processeurs, alors laissez-les dire ce dont ils ont besoin. Qu'en est-il de la programmation des boutons Dash? Il n'est pas surprenant que les gens aient déjà traité le tableau et peint ce qui va où. Aucune des versions de bouton ne possède de pièces de rechange particulièrement rares: la version 1 dispose d'un module Broadcom Cypress BCM943362WCD4 de la famille WICED, qui n'est en fait qu'un STM32F205, câblé avec un émetteur - pour cela, il existe un kit développeur . Sur la version 2 sont les Atmel Microchip ATSAMG55 et Atmel Microchip ATWINC1500B, avec l'émetteur Bluetooth Cypress CYBL10563-68FNXI. Ce sont des processeurs ARM accessibles à tous avec une documentation détaillée.

Et, malgré la disponibilité du fer et des boutons, personne ne semble avoir avancé loin sur ce front. Il est facile de trouver du matériel de formation sur les appareils de reprogrammation et les LED clignotantes ou les presses de bouton de suivi, mais tous les matériaux que j'ai trouvés se retrouvent à l'endroit le plus intéressant: "maintenant, nous devons gérer le WiFi". Alors oui, ils peuvent être reprogrammés dans des dispositifs de test étranges, mais jusqu'à présent, nous n'avons pas encore vu comment quelqu'un sera en mesure de subjuguer complètement ce bouton pour accéder à toutes les riches possibilités qui y sont cachées.

Et ensuite?


Au final, quelques mots sur Amazon. Les projets de fabrication de petits appareils comme Dash Button et Wand sont mes types d'expérimentation d'entreprise préférés. J'aime toujours quand une entreprise essaie de fabriquer un appareil inhabituel. C'est bien mieux que de tuer ces projets avant même qu'ils ne sortent du laboratoire.

D'un autre côté, le bouton Dash est une chose assez inutile. Bien qu'ils aient une durée de vie limitée, cependant, aucune marque sur eux ne les empêchera d'être jetés à la poubelle après avoir cessé de fonctionner. Qu'attend Amazon d'autre des clients? L'appareil a évidemment une batterie à l'intérieur, cependant, car il n'y a aucune indication claire sur le sujet sur le boîtier, les utilisateurs peuvent ne pas se rendre compte qu'il doit être envoyé à l'endroit où les batteries sont recyclées. L'utilisation d'une batterie ordinaire ordinaire est une idée délicate, mais elle devrait être suivie d'une manière évidente de la retirer, ce qui permettrait d'utiliser le produit sans limite de temps, et il serait préférable de se rapporter à l'environnement.

Le plus sera que bientôt nous pourrons récupérer ces boutons dans des sacs! Lorsqu'ils commencent à échouer, nous pouvons interrompre le flux des déchets électroniques en les collectant et en les refaisant à d'autres fins.

Après avoir commencé à observer une vague de projets avec ces boutons, nous aurons deux façons intéressantes d'étudier ces appareils. L'une consiste à trouver un support de batterie bien dimensionné pour la carte afin que les batteries puissent être changées, et à proposer également un étui adapté à l'impression, dans lequel tout cela s'insère. Le bouton Dash pourra alors sortir de ses entraves de durée de vie limitée et fonctionner aussi longtemps que nous le voudrons.

La deuxième façon est évidente - faites fonctionner le WiFi! D'après mon expérience, le WiFi de Broadcom sous la marque WICED peut être assez compliqué, mais le WINC1500 ne semble pas exotique. Comme indiqué en 2016 , ce module a été utilisé dans l'Arduino MKR1000 et le WiFi Shield 101, ainsi que dans plusieurs cartes d'Adafruit. Puis-je le comprendre? Nous l'espérons!

Source: https://habr.com/ru/post/fr468913/


All Articles