Logo Zéphyrnet

S3 Ep65 : Conniption de la chaîne d'approvisionnement, trou NetUSB, flashback Honda, muscle FTC [Podcast + Transcription]

Date :

ÉCOUTER MAINTENANT

Cliquez et faites glisser sur les ondes sonores ci-dessous pour passer à n'importe quel point. Vous pouvez également écouter directement sur Soundcloud.

Avec Doug Aamoth et Paul Ducklin. Musique d'intro et d'outro par Edith Mud.

Vous pouvez nous écouter sur Soundcloud, Podcasts Apple, Podcasts Google, Spotify, piqueur et partout où l'on trouve de bons podcasts. Ou déposez simplement le URL de notre flux RSS dans votre podcatcher préféré.

LIRE LA TRANSCRIPTION


DOUG AMOTH. Javascript, NetUSB, Log4Shell, FTC…

Tout cela et plus encore : c'est le podcast Naked Security.

[MODÈME MUSICAL]

Bienvenue sur le podcast, tout le monde.

Je m'appelle paul; c'est Doug...


PAUL DUCLIN. [RIRE] Je pense que vous avez fait une véritable erreur, n'est-ce pas ?


DOUG. J'ai fait.


CANARD. Ce n'était pas vraiment une blague.


DOUG. *Je suis* Doug… Je suis en pilotage automatique, comme toujours, pendant la première minute du show.


CANARD. Eh bien, nous allons parler de nombreux bogues logiciels… il est facile de faire ce genre d'erreur.


DOUG. Nous avons beaucoup de choses à dire, alors nous allons nous y atteler.

Nous avons une sorte d'éclair aujourd'hui; beaucoup d'histoires à couvrir.

Et comme vous le savez, nous aimons commencer le spectacle avec un Fait amusant: si vous êtes superstitieux à propos du vendredi XNUMX, vous n'êtes pas seul à moins que vous ne viviez en Grèce, en Espagne ou en Italie.

La Grèce et l'Espagne considèrent le mardi XNUMX comme le jour le plus malchanceux ; Les Italiens se méfient du vendredi XNUMX ; et Paul, comme vous le savez, nous allons rattacher cela dans le Cette semaine dans l'histoire de la technologie segment plus tard dans le spectacle.


CANARD. Triskaidekaphobie !


DOUG. J'ai vu cela écrit à quelques endroits, et je suis content que vous l'ayez dit à haute voix car il est presque impossible à lire si vous ne l'avez pas déjà entendu…


CANARD. Τρισκαίδεκα… c'est juste le mot grec ancien pour treize, avec le mot pour la peur.

Donc en fait, c'est la peur du treize, plutôt que nécessairement juste le vendredi XNUMX, mais ils vont en quelque sorte ensemble.


DOUG. Un jour où des choses effrayantes et étranges se produisent.

Et en parlant de fantasmagorie et d'étrange, cette histoire de « développeur JavaScript » est folle !


CANARD. Je ne sais pas si c'est effrayant, mais oui, c'est étrange. Peut-être un peu triste.


DOUG. Alors que s'est-il passé ici ?


CANARD. Eh bien, c'était ce que vous pourriez appeler une attaque de chaîne d'approvisionnement, où les gens aspirent du code écrit en JavaScript dans leurs projets - à partir de NPM, ou GitHub, ou partout où ils l'obtiennent, à partir d'un module open source qui est consommé par de nombreux projets différents, publié sous la licence Open Source MIT.

Vous êtes donc libre de l'utiliser, à condition de ne pas prétendre qu'il vous appartient - vous pouvez même l'utiliser dans un code commercial.

Et le développeur de deux de ces projets, faker.js et colours.js, a soudainement décidé qu'il en avait assez.

Il avait donné quelques indications, il y a quelques années, qu'il était un peu fatigué de faire tout ce travail et de ne pas être payé…

…comme le célèbre dessin animé XKCD, Doug.


DOUG. [DES RIRES]


CANARD. « Tout est soutenu par ce mince petit pilier de programme, maintenu inlassablement par une personne au hasard dans le Nebraska depuis 2003 » - *ce* dessin animé XKCD.


DOUG. Oui.


CANARD. Ce type a manifestement décidé : « Eh bien, j'en ai assez. »

Donc, pour faker.js, il a simplement débranché le tout – il a supprimé tout le code source.

Il a créé, si vous voulez, une version finale du projet sans code source ; il a le commentaire "Endgame" ; et il dit juste dans le README, "Qu'est-il arrivé à Aaron Schwartz?"

Il était le célèbre hacktiviste qui s'est très tristement suicidé après avoir été arrêté pour avoir pris tout un tas de dossiers - des documents universitaires qui, selon lui, ne devraient pas être derrière un pare-feu, mais la loi en pensait autrement.

C'est donc ce qu'il a fait avec ce faker.js

Et bien que ce soit un nom étrange pour un programme, c'était en fait une chose très utile car cela crée de fausses données pour vous.

Vous en avez parlé dans un podcast récent, n'est-ce pas, Doug ?

À propos de l'importance de ne pas utiliser de données réelles afin de ne pas avoir de problèmes de confidentialité.

Eh bien, il a débranché celui-là, donc si vous avez mis à jour la dernière version, tout est parti.

Vous n'êtes pas obligé de mettre à jour - vous êtes légalement autorisé à continuer à utiliser l'ancien - mais clairement, il a décidé qu'il était temps de quitter Dodge City.

Mais avec colors.js… malheureusement, il a adopté une approche moins compréhensible, en ce sens qu'il a publié une nouvelle version qui incluait une boucle infinie, provoquant essentiellement l'impression de déchets étranges lorsque vous l'exécutiez, au lieu de simplement vous laisser ajouter des couleurs à la sortie de votre console.

Vous savez comment les gens aiment les couleurs pour mettre en évidence des mots comme ERREUR, AVERTISSEMENT, peu importe.

Mais si vous acceptiez cette mise à jour automatiquement, dans le cadre de ce que vous pourriez appeler votre chaîne d'approvisionnement, alors soudainement votre programme subirait un déni de service car il entrerait dans cette boucle qui partait d'une valeur de départ de 666…


DOUG. [DES RIRES]


CANARD. … jusqu'à, mais non compris, la valeur JavaScript Infinity.

Cette boucle imprime "tester, tester, tester, tester, tester" avec tout un tas de déchets ajoutés.

Vous pourriez dire que ce n'était pas une chose très agréable à faire, mais vous n'aviez pas à accepter la nouvelle version, et le code était là pour que vous puissiez le voir : il n'était en aucun cas caché.

C'est open source, vous pouvez aller le revoir.

Quoi qu'il en soit, certaines personnes ont été touchées et ont dû revenir à l'ancienne version, ce qui a déclenché toute une chaîne de commentaires sur son compte GitHub.

Je crois qu'il a été exclu de son compte GitHub, peut-être compréhensible, mais il y a des centaines de commentaires là-dessus.

Certaines personnes disent: «Ouais, je suis avec toi, mon frère»; Je comprends d'où vous venez », et d'autres personnes disant : « Vous savez quoi ? Probablement un pas trop loin.


DOUG. Pensez au nombre de progiciels commerciaux qui reposent sur des choses comme celle-ci…


CANARD. Vous avez presque dit Log4j, Doug.


DOUG. [RIRES] Parlons-en un peu plus tard.


CANARD. Eh bien, je me demande si le timing n'a peut-être pas été précipité par l'agitation autour de Log4j>

C'est peut-être ce qui a provoqué ce type ?

Parce que je crois comprendre qu'il a essayé de commercialiser la boîte à outils faker.js, ce qui est très utile ; un corps de code assez important qui pourrait créer des données réalistes de toutes sortes.

Il a essayé de le commercialiser et de créer des services en ligne que les gens qui voulaient pouvaient le payer, mais il semble que cela n'ait pas fonctionné pour lui, et donc ce n'était pas vraiment durable.

Alors il a débranché celui-là.

Mais malheureusement, il a empoisonné le puits sur l'autre projet, et c'est là où nous en sommes.


DOUG. Je suppose que cela refait surface la question de l'idée d'un Nomenclature du logiciel, ou une liste d'ingrédients, si vous voulez, pour les consommateurs ou les personnes qui vont acheter votre logiciel…

…afin qu'ils puissent voir combien de composants open source il a, ou d'où tout vient.


CANARD. Oui, c'est peut-être le bon côté des choses.

Log4j n'a pas résolu le problème sous-jacent : cette fonctionnalité a été ajoutée à Log4j, quoi, en 2013 ?

Et personne ne l'a remarqué jusqu'à présent, et quand ils l'ont fait, "Oh mon Dieu, comment oses-tu?"

Eh bien, vous avez introduit le code dans votre logiciel il y a des années sans vous rendre compte qu'il avait ce problème, et vous n'avez pas payé pour cela ; c'est peut-être un peu exagéré de suggérer que c'était la faute de quelqu'un d'autre que la vôtre, parce que vous vous êtes fait prendre.

Alors peut-être que la doublure argentée est que, bien que vous puissiez dire que c'était une chose un peu enfantine à faire, peut-être que cela nous aidera tous à accepter, comme vous le dites, un Nomenclature du logiciel – « ingrédients listés ».

C'est peut-être une bonne idée.


DOUG. Très bien, beaucoup de bonnes discussions là-bas.

Cette histoire s'appelle Un développeur JavaScript détruit ses propres projets dans la « leçon » de la chaîne d'approvisionnement sur nudesecurity.sophos.com

Vous pouvez donc vous y rendre pour lire et donner votre avis.

Et maintenant, nous allons parler de NetUSB.

Je me souviens du plaisir de brancher mon imprimante directement sur mon routeur domestique via USB, il y a combien d'années et de dire : « Wow, nous avons réussi ! La technologie a enfin atteint son apogée !"


CANARD. NetUSB est un produit que vous pouvez obtenir sous licence auprès d'une société taïwanaise appelée Kcodes.

Ils affirment dans leur matériel de marketing que plus de 20 % des appareils réseau dans le monde ont désormais du code Kcodes intégré, il semble donc qu'ils aient eu beaucoup de succès.

Et NetUSB est, si vous voulez, un virtualiseur USB générique.

Ce n'est donc pas seulement que vous pouvez brancher un disque dur ou un NAS centralisé, ou une imprimante, comme vous l'avez fait.

NetUSB peut gérer d'autres choses comme les tuners TV, les appareils audio, toutes sortes de choses, de manière centralisée.

Il y a donc une sorte de câble USB virtuel qui passe sur votre réseau, entre votre ordinateur et (malheureusement) un pilote noyau spécial sur votre routeur…

… un pilote qui s'est avéré contenir un bogue qui aurait pu, en théorie, permettre à presque n'importe qui de prendre le contrôle de votre routeur.

Oh cher.


DOUG. Oh mon Dieu, en effet.


CANARD. Ainsi, ce bogue a été trouvé par un chercheur appelé Max van Amerongen de Sentinel One.

Apparemment, il envisageait de participer au concours de piratage Pwn2Own IoT pour 2021.

Il a vu que Netgear avait un appareil sur la liste, alors il s'est dit : « Oh, j'ai déjà regardé ces appareils ; Laisse-moi regarder."

Il a découvert qu'il y avait un pilote du noyau qui écoutait sur le port TCP 20005… ce nombre semble être arbitraire, donc ce n'est pas un indicateur fiable que vous avez ce problème, mais cela pourrait être un point de départ si vous savez comment faire une analyse de port .

Et Max s'est dit : « Hé, la liste des pilotes du noyau sur toutes les interfaces réseau - localhost, LAN et WAN ? S'il y a une vulnérabilité là-dedans, elle pourrait être exploitable à distance. C'est là que je vais commencer à me concentrer.

Et donc il a creusé dans le code là-bas.

Comme vous pouvez l'imaginer, quelque chose comme NetUSB - il va avoir beaucoup de fonctions différentes qu'il prend en charge.

Si vous pensez à HTTP, eh bien, il contient des dizaines de commandes : GET, POST, HEAD, OPTION... mais quelque chose comme NetUSB, avec des dizaines de types d'appareils différents, avec des dizaines de fonctionnalités différentes, prend probablement en charge des centaines de commandes différentes.

Et il a trouvé que la commande 0x805F – je pense que c'est juste arbitraire, 32863…

Cette commande, lorsqu'elle traitait les données qui devaient lui être envoyées, avait un vilain petit bogue, Douglas, impliquant le numéro 17.

Fondamentalement, le bogue va comme ça.

Lorsque vous souhaitez exécuter cette commande, la commande est quelque chose à voir avec un message ; Je ne sais pas ce que fait la commande, car c'est en fait le pré-traitement qui pose problème, pas la commande elle-même…

… la première chose que fait le pilote du noyau est de dire : « OK, je vais avoir besoin de quelques données de votre part. Dites-moi combien de données vous allez envoyer », et il accepte une valeur de quatre octets. (Vous pouvez voir où cela mène...)

Ensuite, il alloue autant de mémoire.

Maintenant, cela sonne mal parce qu'il ne fait pas de vérification de longueur.

Et si la personne dit : « Oh, je veux allouer trois Go de RAM ? [RIRE]

Eh bien, vous imaginez, sur le routeur domestique moyen, cela ne fonctionnera tout simplement pas et il échouera gracieusement.

Le problème, c'est que si vous dites "Je veux 4 Go moins un octet", c'est-à-dire FFFFFFFF en hexadécimal.

Ensuite, au lieu d'essayer d'allouer autant d'octets, ce qui ne fonctionnera clairement pas car un routeur 32 bits n'aura pas 4 Go de RAM à sa disposition…

… ce que le code ferait, il dirait : « Eh bien, je vais allouer autant de mémoire que vous le souhaitez au cas où vous en auriez besoin, même si vous ne l'utilisez pas. Et j'ai besoin de 17 octets supplémentaires pour mon propre usage temporaire.

Ainsi, il allouerait un très, très grand entier positif non signé *plus 17 octets* de mémoire.

Cela s'enroulerait autour, un bogue du millénaire ou un style d'odomètre de voiture.

Ainsi, un attaquant pourrait dire : "Je veux que vous m'allouiez 4 Go-1 octets de RAM, ce qui signifie que je pourrai vous envoyer des messages de n'importe quelle taille jusqu'à ce montant à l'avenir."

Mais le noyau allouerait alors un buffer de seulement 16 octets, à cause du débordement d'entier.

Ensuite, le noyau dirait: "Bien, envoyez-moi vos données", et vous l'envoyez autant que vous le souhaitez...

Bien sûr, si vous lui envoyez ensuite plus de 16 octets, ce qui est accidentellement tout ce qu'il a alloué, vous avez un débordement de tampon à l'intérieur du noyau !

Merci d'être venu; jeu terminé.


DOUG. OK, on ​​dirait que nous devons attendre une mise à jour du firmware !


CANARD. Eh bien, la bonne nouvelle est que cela a été divulgué de manière responsable.

La raison pour laquelle il n'a été écrit que pour cette année, même si le travail a été effectué au milieu de 2021, c'est que cela a été divulgué de manière responsable à la société qui fabrique le produit NetUSB, puis à tous les fournisseurs qui pourraient accorder une licence à leur des produits.

Donc, ils étaient tous conscients qu'il y avait ce bogue et qu'ils devaient le corriger.

Il a donc été divulgué de manière responsable et des correctifs sont disponibles.

Le seul problème est : comment savoir si vous êtes vulnérable ?

Comme je l'ai mentionné plus tôt, vous pouvez essayer d'utiliser un programme comme Nmap ou quelque chose, un scanner de port, et voir si vous avez le port 20005 ouvert sur votre routeur, ce qui serait un bon indice que vous pourriez avoir cette chose, parce que c'est ainsi le chercheur l'a trouvé en premier lieu.

Mais, bien sûr, ce n'est qu'un symptôme : que vous ayez ce port ouvert ou fermé ne signifie pas que vous avez ou non le bogue.

Donc, si vous avez un routeur qui prend en charge cette fonctionnalité NetUSB, qui vous permet de brancher non seulement des imprimantes mais presque tous les périphériques USB de manière centralisée, rendez-vous sur le site Web du fournisseur de votre routeur et vérifiez s'il existe une mise à jour.


DOUG. OK, et nous avons d'autres conseils qui peuvent nous aider à atténuer de tels méfaits à l'avenir.


CANARD. Oui, l'autre conseil que nous avons mis dans l'article n'était pas destiné aux utilisateurs de routeurs domestiques qui pourraient être à risque, où tout ce que nous pouvons vraiment dire, c'est : « Corrigez tôt, corrigez souvent ; vérifiez si un correctif est disponible.

Nous avons mis quelques conseils pour les programmeurs : trois choses rapides.

Tout d'abord, n'écoutez pas sur toutes les interfaces réseau par défaut, sauf si vous en avez vraiment besoin.

Deuxièmement, vérifiez toujours les résultats de l'arithmétique entière, en particulier en ce qui concerne l'allocation de mémoire.

Et la troisième astuce consiste à vérifier le sous-dépassement d'entier, ainsi que le dépassement d'entier.

Si vous imaginez faire fonctionner un odomètre de voiture de la vieille école à l'envers, le nombre avant 000000 est 999999, pas -1, car les odomètres de voiture ne peuvent pas faire de nombres négatifs.

Ne pensez pas, "Il y a forcément 17 octets de réserve", car il pourrait ne pas y en avoir...

… vous devez vérifier à vos utilisateurs.


DOUG. D'ACCORD.

L'article est : Les routeurs domestiques avec prise en charge NetUSB pourraient avoir un trou critique dans le noyau, sur nudesecurity.sophos.com

Il est maintenant temps pour Cette semaine dans l'histoire de la technologie!

Nous avons parlé du vendredi XNUMX plus tôt dans l'émission….


CANARD. J'ai une petite idée d'où ça va, et je pense que ça va être lié aux virus informatiques, Doug. [RIRE]

C'est mon soupçon...


DOUG. Comment *saviez-vous* ? [RIRE]

Cette semaine, le vendredi 13 janvier 1989, un virus du vendredi XNUMX a infecté des ordinateurs à travers la Grande-Bretagne.

Ce n'était pas le premier virus du vendredi 1988, et il s'agissait peut-être ou non d'une variante du soi-disant virus de Jérusalem avant lui, qui était un virus à retardement qui devait se déclencher à partir du vendredi 1989 mai. XNUMX, qui était le plus récent vendredi XNUMX avant janvier XNUMX.

Les deux virus ont ralenti les machines, mais ont laissé COMMAND.COM tranquille.

Et Paul, tu as de la couleur dans tout ça parce que tu l'as vécu. "Tu étais là, mec."


CANARD. Comme l'histoire se répète !

Beaucoup de leçons de ces jours que nous pouvons prendre ces jours-ci, mais celle sur COMMAND.COM est assez intéressante.

De mémoire, l'un des tout premiers virus infectant des fichiers dans le monde DOS - je pense que c'était peut-être le virus Lehigh des États-Unis - c'était très évident, car lorsqu'il a infecté le fichier COMMAND.COM, il n'y avait que quelques variantes de COMMAND.COM, et certaines personnes avaient mémorisé la taille de ce fichier.

Alors, le mot s'est rapidement répandu : « Hé, cette affaire de virus est triviale à gérer. Tout ce que vous avez à faire est de surveiller la taille de COMMAND.COM, et si elle change, vous avez un virus !"

Et l'inférence que les gens ont été invités à faire était donc : si cela ne change pas, vous n'avez pas de virus.

Alors, qu'est-ce que les auteurs de virus ont commencé à faire presque immédiatement ?


DOUG. [DES RIRES]


CANARD. Ils ont infecté tous les fichiers *sauf* pour COMMAND.COM, car c'était celui sur lequel tout le monde se concentrait.

Mais cela montre qu'il s'agissait d'une autre époque… où l'on pouvait nommer un virus d'après une *ville* entière, en supposant qu'il y avait si peu de virus qu'il y avait une chance qu'ils en soient un autre du même endroit ?


DOUG. Oui, les temps changent, et pas toujours pour le mieux.

En parlant de temps qui changent, il semble que Honda ait son propre petit moment Y2K, ou qu'elle ait construit par inadvertance quelque chose qui fonctionne comme une machine à remonter le temps.


CANARD. J'adore ton travail là-bas, Doug – c'est une très bonne séquence.


DOUG. Merci!


CANARD.Je savais ce qui allait suivre, et je ne l'avais pas prédit.

Oui, la machine à remonter le temps Honda.

C'est définitivement Retour au passé, n'est-ce pas ? Pas Retour vers le futur.

Apparemment, les propriétaires de voitures Honda d'un certain âge - pas de toutes neuves, ni de marques anciennes non plus ; les voitures doivent apparemment avoir environ une décennie…

… le jour de l'An 2022, lorsque les gens démarraient leurs voitures, après un certain temps, l'horloge se remettait à environ minuit le 01er janvier 2002.

Et je ne devrais pas dire ça, parce que c'est une chose cruelle à faire, mais je vais dire que si vous ne vous souvenez pas de 2002…


DOUG. Oh, non, non, noooooooooooon….


CANARD. Suis-je autorisé à le faire ?


DOUG. Non!


CANARD. Disons simplement qu'il y avait une chanson dans les charts avec des paroles qui vont, "La la la, la la la la-la, la la la la-la la la-la", par la petite pop star australienne Kylie Minogue - c'est comme ça loin en arrière nous sommes allés.

Et personne ne savait vraiment pourquoi.

La meilleure supposition jusqu'à présent semble être que cela se rapporte à ce qu'on appelle le retournement GPS, de la même manière que le bogue Millennium a été causé par des gens qui disaient : « Vous savez quoi ? Nous allons juste en déduire 19 et utiliserons deux chiffres pour l'année.

Eh bien, bien sûr, le GPS a été inventé dans les années 1970, et la bande passante de ces satellites lointains est très, très limitée.

Et ils ont pensé, eh bien, ce que nous allons faire, c'est courir sur des intervalles de 1024 semaines au lieu d'années.

Donc, il y a un "numéro de semaine", et il n'y a que 10 bits disponibles pour le numéro de semaine.

Ainsi, toutes les 1024 semaines, les appareils GPS de la vieille école reviennent à ce que vous pourriez appeler le jour zéro.

Je les appelle « kiloweekaries » », et ces kilowwekaries vont de 1980 à 1999 ; 1999 à 2019 ; et 2019 à 2039.

Maintenant, il y a eu une tristement célèbre réinitialisation kilohebdomadaire le 06 avril 2019, où les personnes avec de vieux récepteurs GPS se demandaient : « Vont-ils revenir à 1999 ? »

Certains l'ont fait, d'autres non.

Mais bien sûr, comme le bogue du millénaire, vous n'êtes pas obligé d'être touché par cela * uniquement à la période de roulement exacte *.

Comme vous vous en souvenez, avec le bogue Millennium, ce que beaucoup de logiciels ont fait était de supposer que tout ce qui se passait avant 50 se référait en fait au prochain millénaire.

Par conséquent, 50 signifie 1950, mais 49 signifie 2049 - vous avez donc toujours un bogue Millennium, mais vous le déplacez un peu.


DOUG. Que les générations futures s'en chargent !


CANARD. Absolument.

Bien sûr, vous pouvez le faire avec le renversement GPS, et c'est ce que font beaucoup de logiciels.

Comment savoir quelle date de début utiliser ? Eh bien, la façon évidente de le faire est d'utiliser l'heure, ou la date, ou l'année au cours de laquelle vous compilez le logiciel en cours d'exécution sur l'appareil GPS - car cela ne peut jamais revenir en arrière.

Et donc vous pouvez faire une comparaison qui dit : « Je ne m'attends pas à ce que ce logiciel entre en jeu avant, disons, 2003. Donc, si jamais je vois une année qui est avant 2003, je supposerai simplement que je n'ai plus intervalle."

Et ce que vous faites, c'est que vous tirez quelques jours, semaines, mois, années du début d'une période GPS de 1024 semaines – environ 20 ans ; 19 ans, sept mois et demi….

… vous prenez essentiellement quelques jours et vous les décalez à la fin de la période kilohebdomadaire actuelle.

Et la suggestion est que c'est peut-être ce qui a attiré Honda ici.

La raison pour laquelle je suppose que c'est le cas est qu'un lecteur de The Register, qui est une publication informatique populaire au Royaume-Uni, a commenté qu'il avait un Honda CR-V qui était affecté par cela, et chaque fois qu'il démarre sa voiture , l'heure revient au 01er janvier 2002, comme si l'horloge ne savait tout simplement pas quoi faire.

Donc, c'est choisir le début de l'année par défaut. (Mais alors, bien sûr, parce que l'horloge est alimentée par GPS, vous ne pouvez pas la régler manuellement.)

Dans ce cas, il semble qu'il sache quelle est l'heure exacte, mais il ne sait pas de quelle année il s'agit, alors il se dit : « Je commencerai juste à minuit, plus ou moins, plus ou moins quel que soit le fuseau horaire dans lequel je pense que vous vous trouvez.

Apparemment, ce type a découvert que son GPS pensait que c'était en mai 2002, il y a presque exactement 1024 semaines, ce qui lui a fait penser que cela sentait le renversement du GPS.


DOUG. Intéressant.


CANARD. Et c'est la meilleure supposition que j'aie pu trouver sur la façon dont cela s'est produit : que cela est causé par quelque chose comme le bogue Millennium, mais lié à une limitation qui a été intégrée au GPS, naturellement, dans les années 1970, parce que chaque bit compte quand vous doivent l'obtenir de manière fiable à travers l'espace.

Alors, qui sait ce qui s'est passé, Doug ?

Mais c'est une indication pour tout programmeur que, lorsque vous écrivez du code aujourd'hui, et que vous pensez, "Quelle est la chance que le code que je lance aujourd'hui soit encore utilisé en 2042 ?"…

… la réponse est *probablement* non, mais très *peut-être* pourrait l'être.


DOUG. On ne sait jamais!


CANARD. Et par conséquent, les décisions que vous prenez aujourd'hui pourraient vraiment affecter des personnes aussi lointaines.


DOUG. « S'il vous plaît, pensez aux enfants », vous voyez ce que je veux dire ?


CANARD. Exactement!

Comme le bogue du millénaire l'a prouvé; comme le prouvent des bogues comme celui-ci : 20 ans, c'est à la fois très long, mais aussi assez court, quand il s'agit de la longévité d'un logiciel informatique.


DOUG. Absolument.

D'accord, c'est une histoire fascinante - nous avons de bons commentaires, alors venez tout lire à ce sujet : Les voitures Honda en flashback sur 2002 - "Je ne peux pas te sortir de ma tête".

Et maintenant j'ai ce ver d'oreille….


CANARD. Tu l'as dit! Je ne pense pas avoir réellement utilisé ces mots.

Je viens de dire, [CHANTONS, S'ÉTEIGNANT GRADUELLEMENT] "La la la, la la la la-la/La la la, la la…"


DOUG. Nous n'aimons pas décevoir ici, mais malheureusement nous n'avons pas de bug Apple…


CANARD. [ANXIEUX] Je me suis vermifugé !


DOUG. Vous vous êtes vermifugé ?

Nous n'avons pas d'histoire de bogue Apple cette semaine, mais nous ne pouvons pas proposer d'histoire Log4Shell.

Alors peut-être que c'est notre nouvelle histoire Apple-bulle - nous en avons quelques-unes.


CANARD. J'espère que Log4j me sortira cette chanson de la tête parce que je me suis vraiment fait un ver d'oreille, Doug, et je ne peux pas vraiment me plaindre, n'est-ce pas ?


DOUG. Non monsieur!


CANARD. Aaaargh.

D'accord, donc ce n'est pas encore tout à fait Log4j, mais c'est un rappel important.

Comme vous le savez grâce au podcast de la semaine dernière, nous avons parlé de la façon dont le secteur public américain a décrété : « La nuit avant Noël : tu auras fait ça d'ici là. Ne le quittez pas. Fais-le aujourd'hui. Il ne va pas disparaître de lui-même. »

Eh bien, venez la nouvelle année ; venez la Federal Trade Commission – la FTC est essentiellement l'organisation américaine de défense des droits des consommateurs, et elle est sortie avec un petit rappel assez percutant et carré aux entreprises qui opèrent dans les juridictions américaines.

Même si vous êtes victime d'une cybercriminalité, si vous auriez pu l'empêcher en appliquant des correctifs, et il était raisonnable de vous attendre à ce que vous l'ayez fait, vous pourriez également en être vous-même responsable.

Ils ont été assez percutants dans ce qu'ils ont dit, et l'avertissement comprend ces mots, Doug : "La FTC a l'intention d'utiliser sa pleine autorité légale pour poursuivre les entreprises qui ne prennent pas de mesures raisonnables pour protéger les données des consommateurs contre l'exposition à la suite de Log4j ou de vulnérabilités connues similaires à l'avenir."


DOUG. Whoa!


CANARD. Il n'y a pas que Naked Security qui dit : « Corrigez tôt, corrigez souvent » !

C'est la FTC qui vous rappelle que la sympathie ne va pas si loin, et que vous pouvez être à la fois victime et coupable de cybercriminalité pour la même raison - c'est-à-dire ne pas avoir patché.

Cela laisse entrer les escrocs, et nous vous en plaindrons.

Mais si cela laisse entrer des escrocs là où on aurait pu raisonnablement s'attendre à ce qu'ils les aient empêchés d'entrer, en prenant les précautions que franchement tout le monde était, alors peut-être que vous devrez porter la boîte pour une partie de cela.


DOUG. OK, donc quand ils disent "Log4j ou des vulnérabilités connues similaires dans le futur", peu de temps après, nous avons eu une vulnérabilité similaire avec ce bogue H2.


CANARD. Oui, étonnamment similaire à Log4Shell.

Et, en fait, trouvé par des chercheurs qui recherchaient dans le code Java des types de programmation similaires qui ont conduit à la vulnérabilité Log4Shell en premier lieu.

Ce bogue, CVE-2021-42392, a été découvert par une société de gestion de la chaîne d'approvisionnement appelée JFrog.

Ils ont décidé, "Hé, allons voir tout le code Java qui pourrait contenir une utilisation similaire de cette chose JNDI" - ceci Nommage Java et interface de répertoire qui s'est avéré abusif dans le bogue Log4j.

Et si vous vous souvenez de JNDI, c'est la chose où vous dites en fait : « Hé, je veux que vous recherchiez ces données. Oh, je n'ai pas les données, mais je vais vous envoyer une URL pour certaines données ; en fait, je vous enverrai l'URL d'un programme : lancez le programme et voyez ce que cela vous dit. »

JFrog, je suppose, se demandait combien d'autres programmes ont des parties de leur code où cette fonctionnalité de recherche de nom JNDI pourrait être utilisée et peut-être surutilisée.

Malheureusement, ils en ont très rapidement trouvé un dans un moteur de base de données Java SQL populaire appelé H2.

Maintenant, je dois être honnête, Doug, je n'avais jamais entendu parler de H2 auparavant.


DOUG. Non, moi non plus.


CANARD. J'ai entendu parler de MySQL, PostgreSQL, SQLite, de toutes les bases de données No-SQL.

Mais je n'avais jamais entendu parler de H2 pour la même raison que je n'avais jamais vraiment entendu parler de Log4j : toute sa renommée était que c'était quelque chose d'assez compact pour que - contrairement à, disons, MySQL ou Microsoft SQL, où vous vous lancez un serveur et s'y connecter - hé, vous pouvez simplement l'aspirer dans votre application, avoir H2 dans le cadre de votre application.


DOUG. Oh cool!


CANARD. C'est une autre de ces choses où les applications que vous pourriez avoir installées - elles auraient pu l'intégrer, tout comme les applications Java auraient pu l'installer dans Log4j.

La mauvaise nouvelle est que le bogue fonctionne presque exactement de la même manière que la vulnérabilité Log4Shell : vous obtenez ce truc JNDI, et au lieu de simplement faire une recherche locale, vous dites : « Hé, tu sais quoi ? Pour la recherche, voici une URL ; allez chercher ce fichier de classe Java et exécutez-le.

C'est donc la même séquence d'événements qui mène à l'exploitabilité.

C'est la mauvaise nouvelle.

La bonne nouvelle est que, pour autant que je sache, la seule façon réaliste pour un attaquant d'exploiter cela est de pouvoir entrer et modifier le fichier de configuration de ce composant H2 sur l'un des ordinateurs de votre réseau.

En d'autres termes, il s'agit plus d'une élévation de privilèges ou d'une astuce de mouvement latéral que d'une exécution de code à distance.

Parce que bien que vous puissiez l'utiliser pour l'exécution de code à distance si le trou était ouvert, vous devriez obtenir un accès local afin d'ouvrir l'ensemble pour un accès à distance, si vous voyez ce que je veux dire.


DOUG. Oui.


CANARD. En d'autres termes, vous devez pénétrer dans le réseau pour pouvoir pénétrer dans le réseau.

Mais c'est néanmoins quelque chose que vous voulez patcher, car c'est une fonctionnalité qui était là par erreur, tout comme le problème Log4Shell.

Donc, c'est toujours un bogue avec le patch ; ce n'est tout simplement pas tout à fait la catastrophe potentielle d'exécution de code à distance que nous avons vue avec Log4Shell.


DOUG. OK, nous avons quelques conseils.

Si vous savez que vous avez une application qui exécute le moteur de base de données H2, vous pouvez passer à la version 2.0.206 ; ou si vous n'êtes pas sûr, vous pouvez rechercher des instances du code H2 sur votre réseau.


CANARD. Oui, c'est un peu comme le problème Log4j, n'est-ce pas ?

Lorsque les gens se sont arrêtés pour y réfléchir, ils ont réalisé qu'ils ne savaient pas combien d'applications ils avaient en Java pour commencer ; et puis ils ne savaient pas combien d'entre eux avaient inclus Log4j.

Quand ils sont allés chercher, ils ont trouvé : "Mon Dieu, il y a beaucoup plus d'applications Java que nous ne le pensions, et beaucoup d'entre elles ont juste Log4j."

Même chose avec ce H2 : il pourrait être dans un acte d'application sans même que vous vous en rendiez compte.


DOUG. Il y a encore cette nomenclature - nous avons besoin de cette nomenclature !


CANARD. Exactement!

Donc, comme vous l'avez fait avec Log4j, où vous cherchiez log4j DASH, peu importe…

… Ici, vous pouvez rechercher des fichiers appelés h2 DASH STAR DOT jar - c'est Java Archive.

Lorsque ces fichiers apparaissent, si vous en avez, ils produiront probablement quelque chose comme h2 DASH deux DOT zéro DOT un certain nombre ou un autre pot DOT.

Et comme vous l'avez dit, Doug, ce que vous recherchez est 2.0.206 ou une version ultérieure.


DOUG. OK, hop, tout le monde !

Que l'on appelle Trou de sécurité de type Log4Shell trouvé dans le moteur de base de données Java SQL populaire H2, sur nakedsecurity.sophos.com.


CANARD. Et ne nous croyez pas que vous devez sauter dessus. Prenez-le de la FTC!


DOUG. Oui, vraiment! [DES RIRES]


CANARD. Je ne veux pas dire qu'ils menacent les gens, mais ils disent : « C'est important.


DOUG. Ils sont "fortement pressés".

Et vous pouvez en savoir plus à ce sujet sur nakedsecurity.sophos.com : La FTC menace de poursuites judiciaires pour Log4j non corrigé et d'autres vulnérabilités.

Et alors que nous terminons le spectacle, il est temps pour le Oh! Non! de la semaine.

LordDragon24Aug965, utilisateur de Reddit, écrit…


CANARD. C'est tout le nom ?


DOUG. C'est le nom entier, oui.


CANARD. A refaire, je n'ai pas tout compris...


DOUG. LordDragon24 août 1965…


CANARD. [SARCASTIQUE] Ce ne serait pas son anniversaire, n'est-ce pas ?


DOUG. C'est peut-être parce qu'il commence par dire : « Dans le passé… » [RIRE]

J'étais le seul technicien d'assistance téléphonique pour l'une des maisons de clones de PC omniprésentes qui faisaient de la publicité dans les magazines informatiques.

Nous avions vendu 200 ordinateurs à une société de logiciels, et le premier est allé directement à un vice-président de la société pour qu'il le teste pendant que nous construisions le reste de la commande.

Le commercial est venu me voir en pleine panique, me disant que la machine, que j'avais testée avant de quitter le magasin, ne s'allumait pas.

J'ai appelé le vice-président qui m'a dit qu'il n'y avait aucune lumière sur la machine.

Je leur ai demandé de regarder à l'arrière et de voir si le ventilateur de l'alimentation – le seul ventilateur à l'époque – tournait.

Il m'a dit de m'accrocher – il devait allumer la lumière.

Ne le sauriez-vous pas ?

Il l'avait branché sur une prise commutée.

Et Paul, je suis intéressé de savoir si cela a même du sens pour vous….

Il se termine en disant : "Le représentant commercial m'a offert un déjeuner pour économiser sa commission."

Avez-vous même un concept de "prise commutée" dans votre coin de pays ?


CANARD. En fait, je pense que dans toutes les juridictions où j'ai vécu dans ma vie…

…Je n'ai pas rencontré le phénomène d'une prise *non commutée*.


DOUG. Oh, c'est vrai, oui !


CANARD. Pour des raisons de sécurité, pourquoi ne pas avoir un interrupteur pour pouvoir l'éteindre ?

C'est particulièrement pertinent au Royaume-Uni où nous utilisons des réseaux en anneau - si une prise est sous tension, elles sont toutes sous tension.

Nous avons donc des points de vente qui sont, si je comprends bien, commutés par la loi.

La chose étrange que nous avons - dans deux des pays où j'ai vécu a le règlement - je ne pense pas que vous l'ayez aux États-Unis - que vous n'êtes pas autorisé à allumer les interrupteurs à l'intérieur de la salle de bain.


DOUG. Intéressant.


CANARD. Vous devez soit avoir un interrupteur d'éclairage ordinaire à l'extérieur de la salle de bain, soit - le plus souvent au Royaume-Uni - vous avez un interrupteur à tirette où l'interrupteur est dans le plafond, et il est actionné par une ficelle qui ne conduit pas l'électricité.

Mais vous n'avez pas le droit d'avoir un interrupteur – ou une prise – dans une salle de bain.


DOUG. Intéressant!

Eh bien, j'ai tellement appris aujourd'hui, alors merci de m'avoir éclairé là-dessus et sur toutes les autres choses dont nous avons parlé.

Et si vous avez un Oh! Non! vous souhaitez soumettre, nous serions ravis de le lire sur le podcast.

Vous pouvez envoyer un e-mail à tips@sophos.com ; vous pouvez commenter n'importe lequel de nos articles; ou vous pouvez nous contacter sur social@NakedSecurity.

C'est notre émission d'aujourd'hui – merci beaucoup pour votre écoute.

Pour Paul Ducklin, je suis Doug Aamoth vous rappelant, jusqu'à la prochaine fois, de…


TOUS LES DEUX. Restez en sécurité!

[MODÈME MUSICAL]


Source: https://nakedsecurity.sophos.com/2022/01/13/s3-ep65-supply-chain-conniption-netusb-hole-honda-flashback-ftc-muscle-podcast-transcript/

spot_img

Dernières informations

spot_img

Discutez avec nous

Salut! Comment puis-je t'aider?