Si vous êtes intéressé par la cybersécurité, vous avez probablement lu un certain nombre de rapports ces dernières années sur l’état souvent précaire de la sécurité des appareils grand public.
De l’insécurité sonnettes à webcams, et de ampoules à routeurs domestiques, nous avons écrit notre propre part d’histoires d’horreur ces dernières années.
C’est décevant, mais pas surprenant.
Matériel informatique de ce type – un segment de marché souvent appelé Internet des objets (IoT), parce que les appareils sont généralement minuscules et ne ressemblent ni ne ressemblent à des ordinateurs traditionnels – est généralement simple à utiliser, et grâce à un marché hautement concurrentiel, il est généralement construit à un prix, ce qui est une bonne nouvelle pour les consommateurs …
… Mais cela ne laisse pas beaucoup de temps ou d’argent aux vendeurs pour la sécurité.
Les appareils IoT ont également généralement une mémoire, un disque et une capacité de traitement limités, pour des raisons de taille et de poids autant que de prix, de sorte que leur logiciel est souvent dépouillé pour s’adapter.
Cela peut bien fonctionner, car plus vous omettez de fonctionnalités, moins il y a d’endroits où les bogues se cachent; mais cela peut aussi mal se terminer car ce qui est omis inclut souvent des contrôles de sécurité qui auraient pu autrement être inclus ou mis en œuvre de manière plus approfondie.
Néanmoins, certains fournisseurs d’appareils à faible coût sont réactifs aux rapports de bogues et publient rapidement des correctifs de sécurité, ce qui conduit à un autre problème avec l’écosystème IoT, à savoir que de nombreux consommateurs adoptent une attitude «définie et oublie» à l’égard de ces appareils.
Donc, même si votre routeur domestique est régulièrement mis à jour avec des améliorations de sécurité, à quand remonte la dernière fois que vous êtes allé vérifier si la dernière version du micrologiciel était réellement installée sur votre appareil?
Eh bien, si vous avez un ASUS RT-AC1900P routeur domestique – un appareil domestique haut de gamme à large bande passante – nous vous recommandons de procéder maintenant à une vérification des mises à jour.
Les chercheurs de Trustwave ont trouvé Trous de sécurité dans le micrologiciel de ce routeur à la fin de 2019, qui ASUS a dûment patché, et ces chercheurs ont maintenant rendu public un avis de sécurité qui détaille leurs conclusions.
Ironiquement, les bogues liés au processus de mise à jour du firmware du routeur, la mise à jour corrige en fait le système de mise à jour lui-même.
Trustwave a trouvé deux vulnérabilités, appelées CVE-2020-15498 et CVE-2020-15499, qui auraient pu permettre à des escrocs de lancer une attaque à double canon:
- Une fausse mise à jour du micrologiciel n’aurait eu aucune vérification de signature numérique lors du téléchargement. En théorie, les escrocs pourraient annoncer une fausse mise à jour, ou en détourner une véritable, et ne pas être détectés.
- Les mises à jour du micrologiciel peuvent inclure des notes de version avec JavaScript que votre navigateur s’exécuterait sans avertissement. En théorie, les escrocs n’auraient même pas besoin d’un faux téléchargement de micrologiciel complet pour lancer une attaque. Un faux avis de mise à jour du firmware avec JavaScript piégé suffirait.
Le premier bogue semble avoir été un simple oubli – peut-être du code ajouté pour les tests qui n’a jamais été supprimé, ou une option non sécurisée laissée il y a des années qui n’a jamais été revue et révisée.
En termes simples, le routeur – qui exécute Linux et les outils Linux standard, comme de nombreux appareils IoT – utilisait le bien connu wget
utilitaire de commande pour organiser ses téléchargements, et correctement utilisé un lien Web HTTPS (sécurisé)…
… Mais a ajouté l’option de ligne de commande autre que celle par défaut --no-check-certificate
afin qu’un téléchargement à partir d’un faux site ne soit pas détecté.
Comme le wget
la documentation explique, cette option indique au logiciel:
Ne comparez pas le certificat du serveur aux autorités de certification disponibles. N’exigez pas non plus que le nom d’hôte de l’URL corresponde au nom commun présenté par le certificat.
Le deuxième bug reposait sur ce qu’on appelle script intersite.
C’est là qu’un serveur Web place les données que vous avez fournies à l’origine, généralement du texte, dans une page Web qu’il vous renvoie, mais autorise accidentellement le texte à inclure des commandes JavaScript.
En d’autres termes, en plaçant du JavaScript piégé dans vos notes de publication, vous pourriez amener le serveur à inclure votre script dans une page qui a été servie sous l’une de ses propres URL.
Injecter du JavaScript dans une page servie par quelqu’un d’autre est fondamentalement aussi bon que de pirater son serveur et d’y télécharger votre propre JavaScript.
Dans les deux cas, le JavaScript est livré avec l’imprimatur de ce serveur et peut donc accéder à toutes les ressources JavaScript enregistrées – cookies, stockage Web et jetons d’authentification, par exemple, qui sont censés être privés pour ce serveur.
Que faire?
Si vous possédez un modèle ASUS concerné, vérifiez la version de votre firmware.
Selon Trustwave, ces bogues sont corrigés si votre version est 3.0.0.4.385_20253 ou plus tard.
Si vous êtes un programmeur, qu’il s’agisse d’appareils IoT ou autre:
- Ne prenez pas de raccourcis cryptographiques. Un travail qui vaut la peine d’être bien fait. Si vous vous êtes donné la peine d’utiliser HTTPS en premier lieu, ne désactivez pas la vérification des certificats uniquement pour contourner un problème temporaire ou pour gagner du temps lors du codage.
- Vérifiez régulièrement le code cryptographique pour une utilisation et des paramètres périmés Même si vous avez fait un effort pour obtenir la bonne cryptographie il y a quelques années, les paramètres recommandés et les choix d’algorithmes sont régulièrement mis à jour. Comme les cryptographes aiment le dire, «les attaques ne sont que plus rapides.»
- Validez toutes vos entrées. Faites toujours attention aux entrées piégées, par exemple les chaînes trop longues ou contenant des caractères interdits. Ne donnez pas aux attaquants la possibilité de déclencher des débordements de tampon ou d’injecter des commandes non autorisées dans ce qui est censé être des données simples.
.