Quand Erik Johnson n’arrivant pas à faire fonctionner de manière fiable l’application mobile d’identification des étudiants de son université, il a cherché une solution de contournement.
L’application est assez importante, car elle lui permet, ainsi qu’à tous les autres étudiants de son université, de payer les repas, de participer à des événements et même de déverrouiller les portes des dortoirs, des laboratoires et d’autres installations sur le campus. L’application s’appelle GET Mobile et est développée par CBORD, une société technologique qui apporte des systèmes de contrôle d’accès et de paiement aux hôpitaux et aux universités. Mais Johnson – et les nombreuses personnes qui ont laissé les avis d’une étoile sur l’application avec frustration – ont déclaré que l’application était lente et qu’elle prendrait trop de temps à se charger. Il devait y avoir un meilleur moyen.
Ainsi, en analysant les données réseau de l’application en même temps qu’il déverrouillait la porte de son dortoir, Johnson a trouvé un moyen de reproduire la demande de réseau et de déverrouiller la porte en utilisant un bouton de raccourci en un clic sur son iPhone. Pour que cela fonctionne, le raccourci doit d’abord envoyer son emplacement précis avec la demande de déverrouillage de porte ou sa porte ne s’ouvrira pas. Johnson a déclaré qu’en tant que mesure de sécurité, les étudiants doivent être physiquement à proximité pour déverrouiller les portes à l’aide de l’application, considérée comme une mesure visant à empêcher les ouvertures accidentelles de portes sur le campus.
Cela a fonctionné, mais pourquoi s’arrêter là ? S’il pouvait déverrouiller une porte sans avoir besoin de l’application, quelles autres tâches pourrait-il reproduire ?
Johnson n’a pas eu à chercher bien loin pour obtenir de l’aide. CBORD publie une liste de commandes disponibles via son API, qui peuvent être contrôlées à l’aide des informations d’identification d’un étudiant, comme les siennes. (Une API permet à deux choses de se parler sur Internet, dans ce cas une application mobile et les serveurs d’une université stockant les données des étudiants.)
Mais il a rapidement trouvé un problème : l’API ne vérifiait pas si les informations d’identification d’un étudiant étaient valides. Cela signifiait que Johnson, ou n’importe qui d’autre sur Internet, pouvait communiquer avec l’API et prendre en charge le compte d’un autre étudiant sans avoir à connaître son mot de passe. Johnson a déclaré que l’API ne vérifiait que l’identifiant unique de l’étudiant, mais a averti que ceux-ci sont parfois identiques à un nom d’utilisateur ou à un numéro d’identification d’étudiant émis par l’université, que certaines écoles inscrivent publiquement dans leurs répertoires d’étudiants en ligne, et en tant que tel ne peuvent pas être considérés comme un secret. .
Johnson a décrit le bogue de mot de passe comme une «clé principale» pour son université – du moins pour les portes contrôlées par CBORD. Quant à la nécessité d’être à proximité d’une porte pour la déverrouiller, Johnson a déclaré que le bogue lui permettait de faire croire à l’API qu’il était physiquement présent – simplement en renvoyant les coordonnées approximatives de la serrure elle-même.
Depuis que le bogue a été trouvé dans l’API, Johnson a déclaré que le bogue pourrait affecter d’autres universités, bien qu’il n’ait pas vérifié s’il avait raison, craignant que cela ne dépasse les limites d’accès à son compte. Au lieu de cela, il a cherché un moyen de signaler le bogue à CBORD, mais n’a pas trouvé d’e-mail de sécurité dédié sur son site Web. Il a appelé la ligne d’assistance téléphonique pour divulguer la vulnérabilité, mais un représentant de l’assistance a déclaré qu’il n’avait pas de contact de sécurité et a été invité à signaler le bogue à son école.
En supposant que le bogue puisse être facilement exploité, sinon déjà, Johnson a demandé à TechCrunch de partager les détails de la vulnérabilité avec CBORD.
La vulnérabilité a été résolue peu de temps après que nous ayons contacté l’entreprise le 12 février. Dans un e-mail, le directeur de l’information de CBORD, Josh Elder, a confirmé que la vulnérabilité était désormais corrigée et que les clés de session avaient été invalidées, fermant ainsi tout accès non authentifié restant à l’API. Elder a déclaré que les clients de CBORD avaient été informés, mais Elder a refusé de partager la correspondance avec TechCrunch. Un responsable de la sécurité, dont l’organisation est également cliente de CBORD, a déclaré à TechCrunch qu’il n’avait reçu aucune notification de CBORD concernant la vulnérabilité. On ne sait pas si CBORD prévoit jamais d’informer les utilisateurs et les titulaires de compte, y compris les étudiants comme Johnson.
Elder n’a pas contesté les conclusions de Johnson, mais a refusé de commenter davantage lorsqu’on lui a demandé si l’entreprise stockait des journaux ou avait la capacité de détecter une exploitation malveillante de son API. TechCrunch n’a pas eu de réponse après que nous ayons demandé à parler à un porte-parole de l’entreprise pour répondre à nos autres questions.
Ce n’est pas la première fois que CBORD devait corriger une vulnérabilité qui aurait pu déverrouiller des portes à distance. Wired a rapporté en 2009 qu’il était possible d’intercepter une commande de déverrouillage de porte et de deviner le numéro de séquence suivant, éliminant ainsi le besoin d’une carte d’identité.