David Madore's WebLog: Typologie des risques de l'Internet des Objets

Index of all entries / Index de toutes les entréesXML (RSS 1.0) • Recent comments / Commentaires récents

↓Entry #2553 [older| permalink|newer] / ↓Entrée #2553 [précédente| permalien|suivante] ↓

(mardi)

Typologie des risques de l'Internet des Objets

L'Internet des Objets, ou en anglais Internet of Things (IoT), désigne l'ensemble des objets parfois qualifiés d'intelligents (et qui, fort logiquement, brillent souvent par leur stupidité) ou de connectés : de la smartwatch à la voiture autonome en passant par l'assistant électronique et la maison dont on peut contrôler les alarmes à distance, c'est une nébuleuse d'objets censément intelligents et qui deviennent vite un champ de mines pour la sécurité informatique.

Il n'aura pas échappé aux lecteurs réguliers de ce blog que je me méfie — et c'est un euphémisme — de l'Internet des Objets. Je ne vais pas essayer de développer longuement tous les problèmes qu'il peut poser (pour une approche humoristique, voir l'excellent compte Twitter Internet of Shit (@internetofshit) ; voir aussi cette entrée passée et les commentaires dessus). Mais il est utile d'essayer de faire une petite typologie des problèmes qui se posent, parce qu'il ne faut pas tous les confondre. Je distingue trois grands domaines de problèmes, que je divise ensuite en sous-problèmes :

  • La sécurité informatique épouvantablement pourrie.

    Ceci résulte d'une combinaison de facteurs. Les programmeurs sont généralement mauvais et mal formés, le public n'est pas conscient du problème et/ou ne juge pas les objets sur leur sécurité si bien que le constructeur n'a que très peu d'intérêt économique à améliorer la situation, et il est légalement difficile de le faire tenir pour responsable des problèmes qui peuvent survenir (quand un pont s'effondre, on peut au moins s'attendre à ce qu'un architecte ou un ingénieur, quelque part, perde son travail — en informatique, la culture de la responsabilité n'existe pas) ; et au niveau des mises à jour de sécurité : leur validation est problématique et peut être elle-même source de trous de sécurité, le public les voit comme un emmerdement (apportant parfois des bugs et rarement des fonctionnalités utiles à ses yeux), la pratique du logiciel propriétaire empêche qui que ce soit d'autre que le constructeur de faire des mises à jour (et donc qui que ce soit si le constructeur fait faillite), et les systèmes embarqués compliquent encore la chose.

    Bref, un terreau fertile pour les pires problèmes : on doit malheureusement considérer que quasiment tout objet connecté à Internet peut être contrôlé à distance par des personnes malveillantes. Je vois deux principales sortes de problèmes avec les objets ainsi piratables :

    • L'objet (contrôlé en masse, sous forme de botnet de millions d'objets identiques) peut servir comme point de relais pour monter d'autres attaques, pas spécialement liées à l'Internet des Objets : typiquement des attaques déni de service distribué (DDoS) sur des services Internet cruciaux, l'Internet des Objets fournissant la bande passante de l'attaque. (Explication pour Madame Michu : imaginez par exemple que votre frigo connecté, comme cent millions d'autres dans le monde, contrôlés par un même pirate, se mette à saturer un site Web en le submergeant de requêtes, et le rende ainsi inutilisable.)

      Pour moi, ce risque-là est le plus sérieux et le plus problématique ; je n'écarte pas la possibilité que, par ce mécanisme, l'Internet des Objets mette en péril la civilisation (par exemple en cas d'attaques contre le réseau électrique). Et c'est entre autres à cause du fait que le grand public n'a aucune conscience de cette catégorie de risques (ou, même s'il en a conscience, s'en moque ; c'est un peu comme la pollution : même si on est conscient que la voiture pollue et contribue à un changement climatique mettant possiblement en danger la survie même de l'humanité, on n'est pas prêt à renoncer au confort qu'elle apporte). Les pirates qui constituent des botnets sont assez malins pour faire en sorte que leur action soit aussi transparente que possible pour le propriétaire de l'objet qu'ils piratent.

    • L'objet peut servir pour monter une attaque directe contre son propriétaire, sa vie privée ou son environnement : pensez à une télé qui peut vous filmer (parce que, évidemment, elle a une caméra, on ne sait pas trop pourquoi).

      Comme cas un peu hybride entre cet item et le précédent, je pense à la possibilité d'une attaque terroriste par les voitures autonomes : le jour où il y aura des centaines de milliers de voitures autonomes sur les routes et où quelqu'un les reprogrammera pour, à partir du même moment, chercher à heurter les passants au lieu de chercher à les éviter et qu'on aura des centaines de milliers de fois l'attentat de Nice simultanément, peut-être qu'on prendra ce problème au sérieux — mais ce serait bien si on pouvait le prendre au sérieux avant.

      Indépendamment de la possibilité d'une attaque de grande ampleur, je ne comprends pas qu'on envisage sérieusement d'autoriser les voitures autonomes (l'argument statistique selon lequel elles causent moins d'accidents que les conducteurs humains est valable et sérieux quand on l'applique aux bugs qui se produisent aléatoirement, mais il ne vaut rien quand on l'applique aux possibilités de piratage qui sont des grandes déviations non étudiables statistiquement).

  • Les pannes logicielles diverses ne se rapportant pas à la sécurité.

    Autrement dit, des objets tout le temps en panne pour des raisons stupides, si bien qu'on se retrouve à avoir des problèmes logiciels sur des objets (voitures, frigos, ampoules(!)) qui auparavant ne connaissaient aucun concept de logiciel. On peut subdiviser en deux sortes de problèmes :

    • les objets momentanément indisponibles pour une raison idiote, les plus fréquentes étant un problème Internet (exemple aléatoire) ou une mise à jour logicielle (veuillez ne pas tenter d'éteindre votre ampoule, une mise à jour est en cours(!!!), je ne plaisante pas ; l'ironie est qu'il s'agit précisément du genre de problèmes qui donnent une mauvaise image aux mises à jour de sécurité et encouragent les utilisateurs à chercher à les éviter, aggravant d'autant le problème du grand point précédent),
    • les objets définitivement cassés (bricked : pétrifiés ?) parce que, par exemple, une mise à jour a échoué, un bug ridicule empêche de s'en servir, parce qu'ils ont subi une attaque (soit ayant pour but délibéré de casser soit ayant mal fonctionné), ou parce que le constructeur a fait faillite et arrêté de faire tourner un service vital (voir plus bas sur l'obsolescence logicielle).

    C'est ce type de problèmes que le compte Twitter @internetofshit signale le plus souvent. À un certain niveau on peut dire tant pis pour les gens qui choisissent d'acheter de telles merdes, mais dans certains domaines devient de plus en plus difficile d'acheter des objets qui ne soient pas des merdes connectées.

  • Le fait que le constructeur conserve un pouvoir à distance sur l'objet, dont on n'est donc jamais vraiment propriétaire.

    (Disons qu'il s'agit là de tous les problèmes qui n'ont pas trait aux bugs ou aux problèmes de sécurité mais à la malice ou à l'incurie générale du constructeur.)

    Il s'agit là d'un problème d'érosion du droit de propriété et du droit à la vie privée. Je vois un certain nombre d'exemples, que je ne sais pas très bien organiser (et qui souvent débordent de l'Internet des Objets vers les questions de propriété intellectuelle) :

    • Le constructeur peut contrôler quand et comment on peut se servir de l'objet dans sa fonction primaire. Il peut limiter son usage, y compris en ajoutant des limitations plus tard dans le temps. Il peut utiliser son pouvoir pour verrouiller des marchés (par exemple ne permettre l'usage de l'objet qu'avec d'autres objets de sa gamme — mais là on s'écarte des problèmes particuliers de l'Internet des Objets).
    • Le constructeur peut utiliser son pouvoir pour limiter des droits secondaires. Par exemple, il peut empêcher qu'on prête ou revende l'objet (tuer le marché de la seconde main) en liant l'objet à un compte informatique.
    • Le constructeur peut cesser de maintenir l'objet (soit volontairement parce qu'il ne commercialise plus ce modèle, soit simplement parce qu'il fait faillite) et le rendre ainsi inutilisable parce que l'objet a besoin d'accéder à un service en ligne chez ce constructeur. (À titre d'exemple, beaucoup de liseuses électroniques cesseront de fonctionner le jour où leur constructeur fera faillite. Ce fait n'est généralement pas clair pour qui les achète.) Il s'agit donc d'une forme d'obsolescence programmée (je n'aime pas trop insister sur l'obsolescence programmée, qui est réelle mais touche parfois à la théorie du complot chez ceux qui veulent la voir partout et à tout propos — mais dans le cas de l'Internet des Objets, c'est une évidence).
    • Le constructeur peut obtenir des informations personnelles sur l'utilisateur ou ses habitudes, et les monétariser ou même s'en servir pour espionner. Ici, on rejoint mon premier point, mais avec le constructeur lui-même à la place d'un pirate. (Dans les petites anecdotes, on peut mentionner le gode vibrant qui vous espionne.)

Je ne sais pas si ma typologie est très bonne. Si vous avez une meilleure classification à proposer, n'hésitez pas. Il y a aussi sans doute toutes sortes de grandes catégories de problèmes que je n'ai pas évoquées : par exemple, le genre de choses qu'on pourrait espérer que l'Internet des Objets permît (du genre, pouvoir programmer soi-même n'importe quel objet connecté de façon Turing-complète et l'interfacer avec n'importe quel autre objet connecté), mais qu'il ne permet pas parce que les interfaces sont propriétaires et limitées (et parce que la possibilité de faire n'importe quoi ou de tout interfacer avec tout est souvent antagoniste de la sécurité).

Je suis pessimiste quant à l'avenir. Le grand public semble avoir un tout petit peu conscience des problèmes touchant à la vie privée, mais presque aucune des problèmes liés à la sécurité, et même les quelques problèmes dont il a conscience, il est généralement prêt à les ignorer complètement en échange de la promesse de n'importe quelle fonctionnalité luisante. Je n'ai même pas réussi à persuader mes propres parents de ne pas donner le mot de passe du wifi à leur télé[#]. C'est déprimant.

Ajout () :

On me signale que la RTBF a publié sur son site Web () une sorte de réponse à ce billet. Il aurait été sympa de leur part de me contacter avant, au moins pour me le dire, et peut-être pour me demander si je voulais être signalé autrement que comme un internaute, ce qui donne l'impression que je suis moins qualifié que le spécialiste, […] directeur technique chez […] une entreprise spécialisée dans la sécurité informatique qu'ils ont appelé pour me donner réponse, alors que, bon, si on veut jouer des titres, je suis maître de conférence chez une grande école spécialisée dans le monde numérique. Passons.

Disons surtout que c'est un peu dommage d'attirer l'attention sur ce billet qui ne prétendait être qu'une typologie (quels types de problèmes faut-il considérer) et pas une argumentation détaillant les problèmes eux-mêmes, sur lesquels je n'ai été qu'assez allusif (en tout cas par rapport aux tartines de mots que j'écris normalement sur de blog !) ; mais c'est la loi d'Internet, et une fois que je mets quelque chose en ligne, je ne peux pas me plaindre que ça soit lu.

Sur le fond, je n'ai pas trop de désaccord majeur avec l'article de la RTBF (je suis certainement d'accord avec le fait de ne pas accuser Linux !). Je reconnais que le manque de fiabilité des objets connectés peut avoir été compensé par d'autres avancées de la technique, et que la Tesla est sans doute plus fiable qu'une 2CV : mais la plupart des progrès de la technologie (certes pas tous) sont indépendants de l'aspect connecté, donc il est légitime de demander ces progrès sans les soucis qui vont avec ce mot. Je trouve cependant assez trompeuse la comparaison avec les avions (la phrase est : Si tout ce qui est connecté peut être piraté, l'exemple de l'aéronautique devrait nous rassurer), donc il est utile que je développe ce point :

Un avion n'est pas vraiment un objet connecté (en tout cas certainement pas au sens de l'Internet des Objets) : l'Internet n'y joue un rôle que pour le confort des passagers, pas pour le pilotage ni même pour l'assistance des pilotes, et l'industrie aéronautique a appris à séparer strictement les différents niveaux de criticités (même si je me suis inquiété par le passé qu'ils ne le fassent pas forcément au niveau des câbles, ils le font au moins strictement au niveau de la commutation : il ne doit y avoir aucune interaction entre le système de pilotage et le on-flight entertainment). C'est justement largement cette bonne pratique de faire que l'avion ne soit pas un objet connecté qui a permis d'assurer la sécurité (et de certifier des choses qui seraient, sinon, impossibles à certifier).

Comme je le dis dans un commentaire de cette entrée, sans doute que notre société dans son ensemble est beaucoup moins tolérante aux morts dus à l'aviation qu'aux morts dus à l'automobile (il y a plusieurs dizaines de milliers de fois plus de morts dus à la circulation automobile et pourtant on ne relâche pas la pression sur les constructeurs d'avions). Sans doute que l'industrie de l'aviation a acquis une attitude de saine méfiance vis-à-vis du logiciel et de ses failles (et de conservatisme prudent en général) que l'industrie automobile n'a pas. Toujours est-il que les voitures actuelles sont des passoires à sécurité, les avions ne le sont pas.

On peut évidemment espérer un progrès. Mais le bon niveau de la sécurité aérienne s'est construit par une forte réticence dès les origines par rapport à toute forme de « connexion » et certainement à Internet ; et il s'est construit sous l'effet d'une constante pression de la société, des pouvoirs publics et des organismes de certification ; il sera beaucoup plus difficile de revenir sur les mauvaises habitudes prises par l'industrie automobile. Personne n'imaginerait une seule seconde qu'un avion mette à jour son logiciel de vol par Internet : apparemment, pour une voiture, c'est « normal » !

[#] Mais ça permet de regarder des émissions en replay.Certes, mais si la télé peut le faire, l'ordinateur doit pouvoir le faire aussi, et sa sécurité est peut-être un peu moins épouvantable.Mais l'écran de l'ordinateur est moins commode. — Là j'aimerais bien répondre qu'il suffit alors de mettre le contenu sur clé USB et de la connecter à la télé, mais c'est vrai que c'est assez malcommode, surtout que tout va probablement être fait pour empêcher le replay d'être sauvegardé. Ceci dit, j'aimerais bien savoir ce que fait exactement la télé en question pour aller chercher le replay automagiquement.

↑Entry #2553 [older| permalink|newer] / ↑Entrée #2553 [précédente| permalien|suivante] ↑

Recent entries / Entrées récentesIndex of all entries / Index de toutes les entrées