Gagner une chasse aux iBeacon au CES… sans aller au CES

J’en avais déjà parlé, il est possible d’émuler un iBeacon avec un simple Raspberry Pi. Et que se passe-t-il quand les organisateurs d’un grand salon organisent une chasse aux iBeacon ? Certains gagnent… sans même se rendre au salon en question.
ces2014

L’application du CES 2014 — le plus grand salon de l’électronique grand public au monde — intègre en effet une chasse aux iBeacon. l’idée est simple : quand on passe près d’un iBeacon, on gagne un badge. Et quand on a tous les badges, on a un prix (aucune idée de ce que c’était).

Un hacker s’est amusé avec ça. Il a découvert certaines valeurs des iBeacon en décompilant l’application Android et a déduit que l’UUID des iBeacon était celui utilisé par les concepteurs de la chasse aux iBeacon.

Pour rappel, un iBeacon envoie un UUID, un identifiant, ainsi que deux valeurs, une majeure et une mineure. En combinant les trois, on peut définir énormément de possibilités. De ce que j’ai pu voir (et Alasdair Allan a eu le même réflexe), c’est que beaucoup d’applications utilisent le même UUID. Plus simplement, quand le fournisseur est Radius Network, on a un UUID commun, quand c’est Estimote, c’est un autre, etc.

Concrètement, au CES, les iBeacon ont l’UUID 842AF9C4-08F5-11E3-9282-F23C91AEC05E, la valeur Major 65000 (FD E8 en hexadécimale) et une valeur Minor entre 65001 et 65009 (FD E9 à FD F1).

Il suffit ensuite d’émettre ces valeurs avec n’importe quel appareil Bluetooth 4.0 compatible pour que l’application considère que vous avez gagné un badge.

Sur un iPhone

Sur un iPhone


j'ai tout gagné (sous Android)

j’ai tout gagné (sous Android)

Et quand on a envoyé toutes les valeurs, on a gagné, sans même se déplacer…

Pour émettre les valeurs, il y a la solution Raspberry Pi, la possibilité d’utiliser un appareil iOS compatible comme émetteur ou alors d’utiliser un iBeacon programmable, comme le BLE Mini.

Pour ceux qui voudraient proposer des applications de ce type et éviter en partie la triche, il y a quelques solutions. D’abord, se limiter à iOS : décompiler les applications est nettement plus ardu (sans être impossible). Ensuite, recouper les informations des iBeacon avec la position GPS, par exemple. Ceci dit, même comme ça, il est assez simple de tricher, ne serait-ce qu’en sniffant les valeurs…