Les Big Data peuvent-ils faire la pluie et le beau temps ?

Éric Blayo est professeur à l’Université de Grenoble Alpes où il est membre du Laboratoire Jean Kuntzmann. Il est membre de l’équipe AIRSEA après avoir dirigé pendant 10 ans l’équipe-projet commune MOISE (Inria-CNRS-UGA) Il s’intéresse à la modélisation mathématique et numérique des sciences de l’environnement (météo, système océan-atmosphère, climat). Ces processus complexes doivent selon lui faire l’objet de modélisation (éventuellement à plusieurs échelles de temps et d’espace) et d’assimilation de données qui permettent de corriger des modèles par essence toujours imparfaits. Pour Binaire, il nous parle ici de l’apport des Big Data dans son domaine de recherche. Antoine Rousseau. Cet article est publié en collaboration avec The Conversation.
Éric Blayo, Crédit Photo Inria

La prévision météorologique fut un des tout premiers domaines scientifiques à faire usage de la simulation numérique : dès la fin des années 40 (première prévision numérique du temps par une équipe pilotée par Jule Charney et John Von Neumann en 1950), et même virtuellement 30 ans plus tôt dans les travaux visionnaires de Lewis Fry Richardson, qui en posait les bases et décrivait même ce que pourrait être une forecast factory (usine à prévision) météorologique. Depuis lors, des systèmes de prévision ont été développés progressivement pour toutes les sciences environnementales : météorologie, océanographie, pollution de l’air, hydraulique fluviale, climat… Mais alors, forts de décennies de travail et d’expérience, bénéficiant de la progression exponentielle de la puissance de calcul, alimentés par des quantités de données (notamment satellitaires) colossales, et maintenant baignés dans la révolution de l’intelligence artificielle, pourquoi ces systèmes numériques ne fournissent-ils pas encore des prévisions quasi parfaites ?

Un système de prévision, qu’est-ce que c’est ?

Pour tenter de comprendre cela, commençons par décrire ce qu’est un système de prévision dans ces domaines applicatifs. Avant tout, il est basé sur la connaissance de la physique des phénomènes mis en jeu. Ces lois physiques, qui traduisent en général des principes simples comme la conservation de la masse ou de l’énergie, sont exprimées sous forme d’équations mathématiques. Beaucoup sont d’ailleurs connues depuis les travaux de grands scientifiques comme Euler, Fourier, Navier, Stokes, Coriolis ou Boussinesq il y a deux siècles. Ces équations, qui mettent en jeu vitesse, pression, température, sont toutefois trop complexes pour être résolues exactement, et l’on va construire un modèle numérique afin de les résoudre de façon approchée (mais pas approximative !). Autrement dit, on remplace l’équation mathématique exacte par une expression approchée calculable par un ordinateur.

Mais, comme l’a dit Niels Bohr, physicien de génie et grand pourvoyeur de citations restées à la postérité : « Prévoir est très difficile, surtout lorsque cela concerne l’avenir ». Ainsi notre modèle numérique ne nous sera que de peu d’utilité pour prédire la situation de demain s’il n’est pas bien « calé », c’est-à-dire renseigné aussi précisément que possible sur la situation d’aujourd’hui : votre état de santé à l’issue d’une chute sera loin d’être le même suivant que vous trébuchez sur une plage de sable fin ou du haut d’une falaise de 30 mètres, et une connaissance parfaite de la loi de la gravitation n’y changera rien. Concrètement, cela signifie qu’il faut fixer les valeurs de toutes les variables du modèle à un instant donné, et donc utiliser pour cela les observations disponibles au même moment. Des techniques mathématiques très sophistiquées ont été développées pour cela, qu’on englobe sous le terme d’ « assimilation de données ».

A ce stade, on dispose donc d’un système qui, utilisant les données sur l’état actuel, est capable de prédire un état futur. Pour parfaire le tout, on essaie même le plus souvent d’évaluer la fiabilité de cette prévision : c’est par exemple l’« indice de confiance » associé aux prévisions météo. Le montagnard, le marin, ou plus simplement le cycliste, connait son importance, et fera des choix prudents si l’incertitude est grande. Cette incertitude est évaluée généralement par des techniques de « prévisions d’ensemble », consistant à réaliser de nombreuses prévisions en perturbant légèrement à chaque fois un paramètre du système, comme son état initial. Si les prévisions demeurent très cohérentes entre elles, alors on dira que la prévision est fiable ; si au contraire elles présentent des disparités fortes, on considérera que la prévision est incertaine.

Des erreurs, un papillon, et pourtant elle tourne !

Un système de prévision très précis serait synonyme d’une incertitude très faible dans toutes les situations possibles. Or, dans ce domaine des fluides géophysiques, il y a des erreurs significatives à tous les stades :
dès les équations, déjà : on ne comprend pas toute la physique, et on la représente donc imparfaitement. La physique à l’intérieur des nuages par exemple est encore bien loin d’être parfaitement comprise.
dans la partie numérique ensuite, qui par essence est une approximation. Incapable, même avec le meilleur ordinateur du monde, de calculer la solution approchée en tout lieu et à chaque instant, on va se contenter de le faire sur un maillage (figure), c’est-à-dire en des points répartis géographiquement (les modèles numériques actuels en considèrent tout de même fréquemment la bagatelle de plusieurs dizaines ou centaines de millions). Ce faisant, on ne peut donc pas représenter ce qui se passe à des échelles plus petites que celle du maillage, et l’on va, soit choisir de l’ignorer totalement, soit tenter de simuler l’effet de ces petites échelles non représentées sur la solution : c’est ce que l’on appelle une « paramétrisation sous-maille », art extrêmement difficile.
dans la description de l’existant enfin : on ne connait évidemment pas parfaitement la température actuelle en tout point de l’océan, ni la perméabilité du sol partout sur terre. Et si l’assimilation de données expliquée plus haut permet de remédier partiellement à cela, elle est basée sur l’utilisation de mesures qui par essence comportent des erreurs, instrumentales d’une part et de représentativité d’autre part (pour faire court : on ne mesure pas forcément directement la quantité représentée dans le modèle, et en plus cette mesure n’est ni à un endroit ni à un instant correspondant au maillage du modèle).
Si l’on ajoute à cela le fameux effet papillon popularisé par Ed Lorenz, c’est-à-dire le fait que, pour certains écoulements ou certaines échelles, une légère différence initiale puisse amener à une situation totalement différente après quelque temps, il y a finalement de quoi être pessimiste quant à la capacité à prévoir de façon fiable. Et pourtant, quoiqu’on en dise dans la file d’attente à la boulangerie ou à la boucherie, la qualité des prévisions est maintenant bien meilleure qu’il y a quelques années, et a fortiori décennies. Soyons honnêtes : si nous râlons aujourd’hui contre une prévision météo, ce n’est pas parce qu’il a plu toute la journée alors que celle-ci était annoncée ensoleillée, mais plus vraisemblablement parce que la pluie est arrivée deux heures plus tôt qu’annoncée, ou que le front de nuages était décalé de 40 kms.

La puissance de calcul et l’IA à la rescousse ?

La précédente litanie des erreurs montre qu’il reste de la marge pour de futures améliorations. Les progrès de l’informatique et le boom de l’intelligence artificielle doivent-ils nous rendre optimistes et nous faire miroiter des lendemains qui, à défaut de chanter, verraient leur météo parfaitement anticipée ? C’est en fait plus compliqué qu’on ne pourrait le croire.

À quoi servent des ordinateurs plus puissants ?

  • A utiliser des méthodes numériques plus coûteuses, car plus précises : la solution numérique est alors plus proche de la solution exacte des équations mathématiques. C’est bien, mais comme on l’a vu, ces équations sont incomplètes et cette erreur d’approximation numérique n’est qu’une petite partie du problème.
  • A augmenter la « résolution », c’est-à-dire la finesse du maillage. On pourrait alors se dire qu’on va là encore, mécaniquement, diminuer l’erreur d’approximation numérique. C’est vrai… mais le diable se niche dans les détails. En augmentant la résolution, on représente une physique plus riche, de nouveaux phénomènes sont présents, dont certains peut-être mal compris, des rétroactions apparaissent dont on ne soupçonnait pas forcément l’ampleur. Et il faut in fine comprendre tout cela, et peaufiner un nouveau réglage de ce que nous avons appelé la « paramétrisation sous-maille ». Bref, augmenter la résolution est en général encore absolument nécessaire pour les applications dont nous parlons, mais s’accompagne d’un lourd travail de compréhension physique et de réglage avant d’aboutir à un réel gain en précision.
  • A mieux quantifier l’incertitude (améliorer l’indice de confiance), en rendant possible de plus nombreuses simulations.

Et l’intelligence artificielle dans tout ça ? On nous explique que l’IA est capable de tout analyser et de tout prédire. Alors, peut-elle aider ici ? A vrai dire, l’apport de l’IA est particulièrement spectaculaire sur des données disparates et/ou concernant des sujets dont le comportement repose sur des lois mal connues, voire inexistantes. Or, pour les fluides géophysiques, les équations mathématiques utilisées actuellement sont d’ores et déjà une bonne représentation de la vraie physique, et l’assimilation de données permet souvent de combiner mesures et modèles de façon quasi optimale. On est donc dans un contexte où l’IA ne doit donc pas être attendue comme le messie. Par contre, elle peut très certainement s’avérer extrêmement utile pour tout ce qui se situe « hors cadre ». Par exemple tout ce qui relève d’une physique encore mal comprise dans ces systèmes de prévision : les interactions complexes entre l’océan et l’atmosphère, la micro-physique, les paramétrisations sous-mailles… Les scientifiques saisissent en ce moment tous ces sujets à bras le corps.

Et l’humain dans tout ça ?

N’oublions toutefois pas, dans ce large panorama, un facteur essentiel : le savoir-faire humain, le tour de main du scientifique modélisateur. Les systèmes de prévision sont des mécaniques complexes, et celui-ci les règle minutieusement, et réalise en fait de la « compensation d’erreur ».  De la même façon que, pour obtenir une meilleure tarte, on compensera sur le moment la trop grande acidité des fruits à notre disposition en dépassant la quantité de sucre prescrite par la recette, le modélisateur sait adapter son système pour qu’il fournisse les meilleurs résultats possibles. Une conséquence directe en est qu’apporter au système ce qui devrait être une amélioration (une meilleure méthode, une nouvelle paramétrisation…) s’avère souvent décevant au premier abord, voire même détériore la qualité des prévisions. En effet, l’introduction de cette nouveauté met à terre le subtil équilibre des réglages du modèle. Ainsi, quand on pense pouvoir améliorer un élément d’un système de modélisation, le chemin est souvent encore long avant que cela n’améliore les prévisions elles-mêmes, car cela passe par une nouvelle phase de réglages.

En guise de conclusion

Plus que par bonds spectaculaires de lièvre sous EPO, comme ça peut être le cas dans dans certains domaines scientifiques où l’invention d’un nouvel instrument ou d’une nouvelle théorie engendre une véritable révolution, la connaissance et la prévision des milieux géophysiques comme l’atmosphère ou l’océan progressent à petits pas réguliers de tortue : moins romanesque, mais tout aussi efficace sur la durée. A cet égard, l’IA est une nouvelle ressource venant enrichir le panel des outils disponibles. Sans révolutionner la discipline, elle permettra sans nul doute de nouvelles avancées. La tortue poursuit son chemin.

Éric Blayo, professeur à l’Université de Grenoble Alpes

Algorithmes : à la recherche de l’universalité perdue

Rachid Guerraoui est professeur à l’École Polytechnique Fédérale de Lausanne où il dirige le Laboratoire de Calcul Distribué. Il est le tout nouveau titulaire de la Chaire « Informatique et sciences numériques » du Collège de France où il présente un cours intitulé « Algorithmes : à la recherche de l’universalité perdue » (leçon inaugurale le 24 octobre 2018). L’informatique est efficace et robuste parce qu’on sait « répartir » un calcul entre plein de processeurs. Rachid Guerraoui est un des meilleurs spécialistes mondiaux en informatique répartie, le sujet de son cours. Rachid a aussi participé aux lancements des plateformes d’enseignement en ligne Wandida et Zetabytes, et il écrit régulièrement pour Binaire.  Serge Abiteboul. Cet article est publié en collaboration avec The Conversation.
Rachid Guerraoui Crédit photo R.G

Nous sommes en 2018. Les humains sont contrôlés par des algorithmes. Tous les humains ? Tous. Aucun village d’irréductibles ne résiste encore et toujours aux algorithmes ?  Aucun.

Est-ce grave ? Question de perspective. Les algorithmes ne boivent pas, ne s’énervent pas et s’endorment pas. Pourquoi ne pas les laisser conduire nos voitures ? Nous accusons la voiture d’être le moyen de transport le plus dangereux quand nous devrions plutôt accuser le chauffard, lui qui boit, s’énerve ou s’endort. Et si nous avions pu envoyer des algorithmes pilotant des robots au fond d’une mine, nous aurions raté de grands livres, certes, mais nous aurions sauvé nombre de vies humaines. A ce propos justement, des algorithmes sont souvent plus efficaces que les médecins lorsqu’il s’agit de détecter certaines maladies à partir d’une radiographie.

Les algorithmes sont efficaces car ils s’exécutent sur des systèmes informatiques extrêmement robustes et rapides. La robustesse vient de la répartition globale du système informatique sur plusieurs sites, parfois disposés aux quatre coins du monde et tolérant donc la panne de certains de ces sites. La rapidité vient de la répartition locale du calcul car, au cœur même de chaque ordinateur, cohabitent aujourd’hui un grand nombre de processeurs.

Faire transcrire par des informaticiens chevronnés les savoirs d’une équipe médicale dans un algorithme ne peut être intrinsèquement mauvais, puisque l’on décuplera la force des médecins. Vive donc les algorithmes et nous avec !

Nous pourrions nous arrêter sur cette note positive.  Seulement voilà, les algorithmes peuvent aussi parfois dire n’importe quoi. Nous le constatons régulièrement. Ils peuvent même raconter des bêtises énormes. Et certaines bêtises peuvent être dangereuses car amplifiées par la puissance du système informatique exécutant l’algorithme.

Le grand danger n’est pas l’intelligence artificielle des algorithmes, mais leur bêtise naturelle. Ce danger est concret, réel, palpable. Il n’est pas du registre de la science-fiction comme la prétendue super intelligence des algorithmes, trop souvent médiatisée. Plus nous dépendons des algorithmes, plus nous sommes vulnérables à leur bêtise.

Mais ne pouvons-nous rien contre cette bêtise ? Les informaticiens n’ont-ils pas développé, depuis près d’un siècle, des techniques de preuves théoriques et de tests empiriques qui devraient nous permettre de réduire la probabilité de mauvaises surprises ? Oui. Mais ces techniques reposent sur une hypothèse fondamentale : l’universalité de Turing.

En effet, Alan Turing a fait de l’informatique une science en créant un modèle d’ordinateur universel, la machine de Turing. Tout ce qui peut être calculé par un algorithme le peut par cette machine. Depuis un demi-siècle, les ordinateurs sont construits suivant ce modèle universel. Cela permet, tout en profitant de la puissance d’un ordinateur, de s’affranchir des détails technologiques de son architecture pour apprivoiser les algorithmes. Ces algorithmes peuvent ainsi être conçus et analysés à partir de principes abstraits rigoureux, puis testés concrètement sur n’importe quelle machine universelle donnée, avant d’être déployés sur une autre. Cette universalité nous a permis d’espérer un monde algorithmique sans erreurs.

Malheureusement, cette universalité a été perdue dans une large mesure. Elle a été perdue sans parfois qu’on ne le réalise, lorsque l’on a voulu répartir les systèmes informatiques pour en faire des machines super-robustes et super-efficaces. En cherchant la robustesse et l’efficacité, nous avons perdu l’universalité.   Alors qu’une seule machine de Turing permet d’exécuter n’importe quel algorithme, un réseau de machines ne le peut plus.

La perte de l’universalité de Turing implique que l’on ne peut pas déployer sur un réseau de machines, un algorithme conçu à partir de principes abstraits issus de l’algorithmique classique, centralisée, ou testé sur d’autres machines, et s’attendre à ce que l’algorithme fonctionne de la même manière. Les détails technologiques du réseau entrent en jeu : l’abstraction et la rigueur en pâtissent.

La discipline scientifique qui étudie les algorithmes déployés sur des systèmes informatiques répartis s’appelle l’algorithmique répartie. Elle étudie aussi bien les algorithmes déployés sur un ensemble d’ordinateurs géographiquement distants et communiquant par envois de messages, que les algorithmes déployés sur plusieurs processeurs au cœur du même ordinateur. On parle aussi parfois dans ce dernier cas d’algorithmes concurrents car partageant la même mémoire.

L’un des objectifs principaux de l’algorithmique répartie est d’identifier les conditions nécessaires et suffisantes sur les réseaux, grands ou petits, permettant de retrouver l’universalité de Turing. Lorsque ces conditions ne sont pas satisfaites, il s’agît de définir les formes d’universalités restreintes que l’on peut réaliser.

Un résultat fondamental en algorithmique répartie stipule que la perte de l’universalité de Turing est intimement liée à l’impossibilité pour des machines connectée par un réseau asynchrone (dans lequel on ne fait pas d’hypothèse sur les temps de communication) d’atteindre un consensus. Intuitivement, cette impossibilité signifie que lorsque l’on déploie un algorithme sur un réseaux de machines, elles ne peuvent pas se mettre d’accord sur l’ordre d’exécution des instructions de l’algorithme. D’autres résultats d’algorithmique répartie, plus positifs, définissent des conditions permettant de contourner l’impossibilité du consensus et d’obtenir une nouvelle forme d’universalité, certes restreinte, mais suffisante pour de nombreuses applications et réseaux.

En informatique répartie, les algorithmes sont constitués, en plus des instructions élémentaires des algorithmes classiques centralisés, d’instructions permettant de faire communiquer plusieurs machines, comme des envois de messages ou des accès à des variables partagées. Ces instructions de communication ont un impact fondamental sur la nature des algorithmes. Leur complexité s’en trouve profondément affectée et de nouvelles métriques sont nécessaires pour mesurer leur efficacité, basées par exemple sur le nombre de messages envoyés en fonction du nombre d’ordinateurs connectés. Ces métriques permettent d’étudier le compromis entre les super pouvoirs de la machine répartie obtenue : robustesse et efficacité. Les algorithmes d’apprentissage sous-jacents à l’intelligence artificielle moderne illustrent ce compromis. Du fait de la grande quantité de données disponible, l’apprentissage est réparti sur plusieurs machines. Une moyenne des analyses obtenues est alors effectuée. Mais une seule machine donnant des valeurs extravagantes conduit à la défaillance du tout.

Au-delà des considérations technologiques qui motivent l’étude de l’algorithmique répartie pour mieux appréhender les inventions humaines que sont les ordinateurs et les réseaux, cette étude est tout aussi fondamentale à la compréhension de phénomènes naturels. Lorsque l’on s’intéresse à modéliser la synchronisation du clignotement des lucioles, les mouvements coordonnés d’un banc de poissons, les formes géométriques dessinées par une nuée d’oiseaux, ou le comportement collaboratif d’un réseau de neurones, on retrouve des algorithmes répartis.

L’informatique est désormais fondamentalement répartie sur des réseaux, grands ou petits. Cette répartition décuple la puissance des ordinateurs et les rend souvent plus forts et plus efficaces. Mais elle les rend parfois incontrôlables. Apprivoiser cette informatique passe par l’étude de la discipline scientifique sous-jacente : l’algorithmique répartie. Cette discipline est tout aussi nécessaire à la compréhension de nombreux phénomènes naturels. La leçon inaugurale du cours du Collège de France racontera l’histoire de la quête d’universalité dans le contexte réparti en soulignant quelques résultats clés et quelques problèmes ouverts.

Rachid Guerraoui, Professeur au Collège de France

Enseignement au Collège de France

L’objectif de la série de cours donnée par Rachid Guerraoui au Collège de France à partir d’octobre 2018 est de présenter les fondements de l’algorithmique répartie. Les cours présenteront les résultats les plus importants obtenus dans ce domaine depuis près d’un demi-siècle et souligneront les nombreux problèmes encore ouverts.  Les cours couvriront en particulier les notions d’exécution d’un algorithme répartie et revisiteront les notions de calculabilité, d’universalité et de complexité dans le contexte réparti. Les théorèmes d’universalité et d’impossibilité du consensus seront détaillés, tout comme les hypothèses permettant de contourner cette impossibilité ainsi que les algorithmes associés. Les cours feront aussi le lien avec les architectures actuelles utilisatrices d’algorithmes répartis comme le Blockchain, et les multi-processeurs.

L’informatique en stream

Concours de vidéos : #ScienceInfoStream
« L’informatique en stream »

  • Vous êtes passionné(e)s de science informatique ?
  • Vous aimez les défis ?
  • Vous vous sentez l’âme d’un ou d’une vidéaste ?


N’attendez plus ! Prenez votre smartphone, webcam, ou caméra : vous avez moins de 256 secondes pour partager ces pépites de science qui vous fascinent.

La Société informatique de France vous invite à participer à la deuxième édition de son concours.

Votre vidéo, tournée en français, aura une durée comprise entre 27 (128) et 28 (256) secondes. Elle sera au format de votre choix (les formats libres, comme ogv, sont encouragés) et mise à disposition sur le web (via votre page personnelle ou via un site de streaming). La soumission se fera par email à l’adresse, une déclaration d’intention est attendue avant le 1er décembre 2018, la soumission finale devra arriver avant le 7 janvier 2019. Le mail contiendra, outre le lien, le titre de la vidéo et les noms et prénoms de son ou de ses auteur(s) avec une présentation succincte (âge, rôles respectifs dans le projet…).

“Ressources humaines” 1er prix du concours 2018

Un jury composé notamment d’informaticien(ne)s et de spécialistes de la médiation scientifique réalisera une première sélection de vidéos dont la diffusion et la promotion seront assurées par la SIF et ses partenaires. Trois d’entre elles seront ensuite choisies et recevront des récompenses allant de 500 à 1500 euros.  Les vidéos seront mises en ligne aussi par la SIF, de manière ouverte avec une licence Creative Commons choisie par l’auteur(e).  La remise des prix se déroulera lors du congrès de la SIF qui se déroulera les 6 et 7 février 2019 à Bordeaux en présence de nombreux intervenants prestigieux.

Faire parler une machine à café” accessit ex aequo du concours 2018

Le jury appréciera particulièrement les vidéos qui satisfont un ou plusieurs des critères suivants :

– Originalité du sujet ou du point de vue utilisé pour le traiter,

– Aptitude à susciter une vocation pour la science informatique,

– Sensibilisation aux enjeux sociétaux de la science informatique,

– Capacité à expliquer en langage simple un point de science informatique.

Qui peut participer ?

“Un ordinateur en lego pour votre salon” accessit ex aequo du concours 2018

Toutes et tous, en individuel ou en équipe, de 5 à 105 ans

Règlement et informations accessibles ici

N’hésitez pas à regarder les vidéos primées lors de l’édition 2018

Mémoires Vives

Et si on se laissait compter l’histoire de l’informatique par le doyen des ordinateurs, l’ENIAC ? Entre création artistique et médiation scientifique, Léonard Faugeron nous propose de jeter ici un regard alternatif sur ces machines qui nous ont fait basculer de l’ère industrielle à l’âge numérique. Pierre Paradinas et Thierry Viéville.

Le projet Mémoires Vives est un travail expérimental mené à l’école Boulle, dans le cadre d’études en design. (Et oui ! Boulle ça n’est pas que le bois !)

Je suis parti du constat suivant : l’informatique change nos rapports au monde d’une manière bouleversante, mais la médiation de l’informatique est peu présente en France. (expositions, valorisation du patrimoine technique, dispositifs pédagogiques…). J’ai alors cherché à parler de l’informatique différemment, d’une manière touchante, impliquante et poétique. De là est né une histoire, proche de la science-fiction, dans laquelle un vieux bougre d’ordinateur nous plonge dans sa mémoire pour y croiser ses ancêtres, sa descendance, et ainsi, mieux comprendre d’où viennent nos laptops, retracer des généalogies d’objets oubliés.
Cette histoire a été initialement conçue comme une installation, une balade dans l’espace virtuel des souvenirs d’une machine.

Voici un extrait vidéo d’une vue à la première personne :

Mémoires Vives a été réalisé en vidéo volumétrique grâce à un capteur Kinect. Il a été soutenu par Pierre Paradinas. Je remercie Isabelle Astic et Eric Gressier Soudan pour leurs conseils, Irène Stehr, Franck Calis, Michel Kolb, Lorette Collard, Baptiste Carin, Phillipe Duparchy, mes professeurs Eric Dubois et Caroline Bougourd, et enfin, Stanislas de la Tousche qui nous a prêté sa voix.

Léonard Faugeron.

Voici quelques images d’archives des machines croisées dans la vidéo :

Un abaque chinois pour « poser´´ le calcul et utiliser un mécanisme pour le réaliser. Abaque_(calcul)
  Une carte perforée pour mémoriser des données binaires, nombres, textes ou symboles. Carte_perforée
  Le premier ordinateur électronique, ENIAC, des débuts de l’informatique. ENIAC
  Le métier à tisser de Vaucanson est une machine programmable, parmi les premiers exemples d’automate industriel. Jacques_Vaucanson
  Un des premiers mini-ordinateurs dont les descendants sont nos ordinateurs, tablettes et smartphones actuels. Olivetti_Elea

Pour en savoir plus :

Champion européen du numérique

On peut passer son temps à se plaindre de l’impérialisme de grandes entreprises du Web ou, comme Qwant, on peut essayer de changer cela. Binaire a parlé de cette start-up l’an dernier : Qwant, aux armes citoyens ! Depuis, l’entreprise a fait un bout de chemin. En juin 2018, elle était créditée plus de 2% du marché français des recherches Web, contre près de 90% pour Google. Il s’agit bien d’une concurrence féroce et de souveraineté. Un historien, Pierre Mounier-Kuhn confronte la situation de Qwant à celle du Plan Calcul, un plan gouvernemental français lancé en 1966 par Charles De Gaulle  en favorisant le développement d’une industrie mais aussi d’une recherche françaises de haut niveau. Il est de bon ton de considérer que ce plan fut un échec, mais il ne l’a sans doute pas été pour la recherche et pour ceux qui ont découvert l’informatique grâce à lui. Pour Qwant, on espère que le succès de son appropriation par les citoyens sera au rendez-vous de l’histoire. Serge Abiteboul

Lancé en 2013, Qwant est un moteur de recherches développé en France, dans le but déclaré d’offrir une solution alternative à Google. Une solution européenne pour réduire la dépendance des internautes au géant américain. Une alternative qui offre un avantage comparatif : contrairement à Google, Qwant n’enregistre pas nos données personnelles ou les traces de nos requêtes sur l’internet – et ne les transmet pas aux services secrets d’une grande puissance étrangère. Qwant est donc un instrument à la fois de concurrence et de souveraineté[1].

Rappelons au passage que Google jouit en Europe d’une position encore plus dominante (environ 90 %) qu’aux États-Unis (78 %), tandis qu’elle n’a que des parts mineures de marché en Chine et en Russie, où dominent respectivement Baidu et Yandex. Google est hégémonique en Inde (94 % des requêtes) [2].

Sur le créneau des moteurs de recherche et des logiciels associés, Google domine nettement plus que ne le faisait IBM entre les années 1930 et la fin du XXe siècle, dans la « grande informatique » où IBM détenait environ deux tiers des parts du marché – si l’on en croit les statistiques de l’époque qui mesurent surtout le marché américain. Le reste du marché se partageait pour l’essentiel entre d’autres constructeurs américains d’ordinateurs.

C’est pour contrer cette domination états-unienne que plusieurs pays d’Europe occidentale avaient initié, dans la seconde moitié des années 1960, des politiques visant à reprendre une autonomie technique en soutenant des entreprises qui développaient des ordinateurs et des systèmes d’exploitation[3]. Ces « champions nationaux » étaient principalement l’anglais ICL, les allemands Siemens et Telefunken, le hollandais Philips, tandis qu’en France un « Plan Calcul » gouvernemental avait poussé trois petits constructeurs à fusionner pour former la Compagnie internationale pour l’informatique (CII). En 1973 la CII, Siemens et Philips avaient uni leurs forces en créant un constructeur informatique européen : Unidata. Simultanément démarrait, dans le cadre du Plan Calcul, le réseau d’ordinateurs « Cyclades », considéré aujourd’hui comme l’un des ancêtres de l’internet.

Le Plan Calcul fut abandonné en 1975 après l’élection de Giscard d’Estaing, et avec lui Unidata quand la CII fut absorbée par Honeywell-Bull (le réseau numérique Cyclades fut tué deux ans plus tard). Mais la logique qui l’avait inspiré a perduré sous diverses formes, évoluant avec les défis et les problèmes posés à la fois par les changements techniques et par les nouveaux acteurs qui les incarnent : GAFAM et industries du SE asiatique notamment. Si le terme Plan Calcul inspire des réactions pavloviennes de rejet, tant il a été assimilé à un échec[4] – alors que sa fin résulta d’une décision politique d’abandon –, on ne compte plus les nombreuses tentatives pour rendre à l’Europe une autonomie dans les technologies numériques, une souveraineté sur l’usage des données de ses citoyens, une maîtrise des flux économiques et une stratégie cohérente en ce domaine[5]. La tâche est encore plus difficile qu’au temps du Plan Calcul, ne serait-ce qu’à cause des faiblesses inhérentes à une coalition de 27 pays aux intérêts divergents.

Tentons une comparaison entre ces deux épisodes de l’histoire de l’informatique, distants d’un demi-siècle. Peut-être pourra-t-on en tirer des enseignements, tant pour l’histoire que pour la politique du numérique. On doit évidemment tenir compte de la différence des métiers : Qwant ne produit pas de matériels, n’a pas d’usines ou de laboratoires et ne forme pas ses clients à la programmation ; elle emploie 160 personnes, soit cinquante fois moins que la CII, et son modèle économique est autre. C’est surtout de la motivation politique que découlent les similitudes, et de quelques traits permanents du monde numérique depuis l’invention de l’ordinateur[6].

Si la majorité du capital de Qwant reste détenu par ses trois fondateurs, son financement repose en partie sur des capitaux apportés par des acteurs publics français. La Caisse des dépôts a acquis 20 % du capital, suivie par la Banque européenne d’investissement (10 % sous forme de prêt). Un apport décisif, peu après le démarrage de l’entreprise, a été celui du groupe de presse privé allemand Axel Springer qui a pris 20 % du capital, motivé par les conditions de référencement léonines que lui imposait Google : on retrouve ici une motivation très comparable à celle des clients qui soutenaient Bull ou la CII/Unidata dans les années 1930 ou 1970, pour échapper à l’emprise arrogante d’IBM. Dans les deux cas, les investissements doivent suivre une croissance rapide du chiffre d’affaires, de l’ordre de 20% par an.

La grande différence avec le Plan Calcul, sur le plan financier, est que l’État ne participait nullement au capital de la CII, filiale de sociétés privées… et ennemies. L’État intervenait de deux façons : il finançait l’essentiel de la R&D ; il incitait vivement le secteur public à s’équiper en ordinateurs français. On ne voit pas aujourd’hui que l’État s’active beaucoup pour éjecter Google et sa filiale YouTube, pas plus que Facebook, des pratiques de ses administrations… au contraire.

Des chocs politiques ont dans les deux cas joué un rôle stimulant. En 1966 le gouvernement gaulliste a utilisé l’embargo américain sur des supercalculateurs commandés par le Commissariat à l’énergie atomique, pour justifier une politique d’autonomie informatique – c’est le mythe d’origine du Plan Calcul, répété en boucle depuis cinquante ans. Début 2018, tandis que l’Union européenne commençait enfin à demander aux GAFA de se plier aux règles communes, le scandale Cambridge Analytica a boosté l’utilisation de Qwant : le trafic du moteur de recherche est passé de 48 à 70 millions de visiteurs par mois au premier semestre 2018. Prise de conscience très tardive, et encore très partielle, des dangers de la perte d’autonomie technique et de ses conséquences stratégiques.

La comparaison fonctionne bien si l’on considère la stratégie de développement technique. La CII avait démarré dans une forte dépendance aux technologies américaines, puis avait fait les efforts de R&D nécessaires pour maîtriser son autonomie technique. Qwant a commencé par utiliser des algorithmes et des bases de données acquis auprès d’autres firmes, notamment américaines, avant d’intégrer le navigateur Liberty développé par la société anglo-polonaise LibertyVaults ; elle s’équipe de supercalculateurs californiens Nvidia plutôt que de processeurs Bull (seul constructeur européen survivant au XXIe siècle). Dans les deux cas la priorité est d’occuper rapidement une place sur le marché, quitte à essuyer des critiques pointant la dépendance technique sous les proclamations de souveraineté. L’expérience acquise dans l’interaction avec les utilisateurs permet ensuite d’orienter la R&D. De fait, Qwant a bien progressé en rapidité et en pertinence, soutenant la comparaison avec les principaux moteurs de recherche.

En novembre 2017, l’Inria et Qwant se sont associés dans un partenariat quadriennal, fondant un laboratoire commun qui étudie les problèmes d’usage des données personnelles et la technique des moteurs de recherche. Ici la ressemblance avec le Plan Calcul est frappante : la CII a mis cinq ans à se rapprocher de l’IRIA, pourtant créé pour être le pôle Recherche du Plan Calcul. Dans les deux cas, contrairement au schéma linéaire où la recherche engendre l’innovation qui fonde l’entreprise, c’est seulement après avoir maîtrisé les bases techniques et commercialisé des produits que l’industriel se tourne vers la recherche, pour mieux comprendre les principes sous-jacents et explorer des pistes d’innovation de rupture.

À 50 ans de distance, les deux entreprises ont diversifié leurs applications et se sont internationalisées, toujours pour gagner à la fois des parts de marchés et une crédibilité, des références devant renforcer l’action commerciale et amorcer une dynamique cumulative d’expansion. Les recherches sur Qwant sont maintenant possibles en 28 langues et l’entreprise a ouvert des bureaux en Allemagne, en Italie et en Chine. La CII, six ans après sa création, vendait des ordinateurs dans toute l’Europe continentale, y compris dans les pays communistes, ainsi qu’en Amérique latine et en Chine. Mais la grande majorité de ses clients était en France, tout comme Qwant dont 80% des requêtes proviennent encore de l’Hexagone (200 000 utilisateurs fin 2017). À ce stade il est vital de se faire connaître et apprécier, sur un marché où googler est pour beaucoup synonyme de « chercher sur l’internet », comme IBM était naguère synonyme d’ « informatique ».

Pour passer à un niveau supérieur, faut-il concentrer l’investissement sur le développement interne en s’alliant avec des partenaires (Control Data pour la CII, Firefox et Liberty pour Qwant, par exemple) ? Ou bien fusionner avec d’autres acteurs minoritaires, dans un de ces meccanos industriels qui ont la faveur de politiques et des financiers, mais absorbent beaucoup de ressources au sein de l’entreprise ? Sur ce plan stratégique, les compromis sont aussi difficiles que le soutien politique à long terme est vital. La différence avec l’époque des mainframes est que, dans le cas de Qwant, citoyens et consommateurs ont la possibilité d’agir et de participer directement en pesant dans le rapport des forces.

Pierre Mounier-Kuhn, CNRS & Sorbonne Université
@MounierKuhn

[1] Sur la géopolitique du numérique, on lira avec plaisir et profit Laurent Bloch, Révolution cyberindustrielle en France, Economica, coll. Cyberstratégie, 2015..

[2] Chiffres 2017, https://www.statista.com/statistics/220534/googles-share-of-search-market-in-selected-countries/.

[3] P. Mounier-Kuhn
, « 50e anniversaire du Plan Calcul. Un demi-siècle de politique française en informatique », Le Monde-Binaire, 12 avril 2017, http://binaire.blog.lemonde.fr/2017/04/12/50e-anniversaire-du-plan-calcul/#comment-1438.

[4] Rédigeant ces lignes, je reçois un article qui tombe à pic en reprenant ce cliché : https://fr.irefeurope.org/Publications/Articles/article/Madame-le-ministre-de-la-Culture-je-suis-un-reactionnaire.

[5] Voir par exemple Jean-Noël Jeanneney, Quand Google défie l’Europe: plaidoyer pour un sursaut, Mille et une Nuits, 2005 ; et le manifeste de Pierre Bellanger, La Souveraineté numérique, Éditions Stock, 2014.

[6] Emmanuel Lazard et Pierre Mounier-Kuhn, Histoire illustrée de l’informatique, (préface de Gérard Berry), EDP Sciences, 2016.

Nouvelles mises à jour disponibles

Régulièrement, nous sommes informé.e.s des mises à jour que nous devons apporter à nos ordinateurs. Principal support des correctifs aux failles de sécurité apportés par les éditeurs de logiciels, leur utilité n’est pas discutable. Cependant, selon l’environnement de notre machine, leur mise en œuvre n’est pas toujours simple . Dans cet article, Charles Cuveliez et Jean-Jacques Quisquater nous apportent un éclairage sur ce sujet important en passant en revue les différents équipements concernés : les systèmes d’exploitations, les machines virtuelles, les téléphones portables, les micro-processeurs et enfin, plus complexe encore, l’arrivée de l’internet des objets qui pose des questions sans véritable réponse à ce jour. Pascal Guitton

On le sait, un des meilleurs moyens de se prémunir contre les cyberattaques est de mettre à jour sa machine, le plus vite possible, PC, laptop ou smartphone. Mais a-t-on déjà songé à la complexité du mécanisme de mise à jour pour le fabricant ou pour le concepteur du système d’exploitation ou du logiciel ? Il doit y veiller au niveau mondial et pour des centaines de millions d’utilisateurs. Dans le cas de systèmes d’exploitation très utilisés, la mise à jour, suite à un bug ou une vulnérabilité, doit parfois couvrir l’ensemble des versions, qui ont été produites avec cette vulnérabilité. Que faut-il faire ? Privilégier la version la plus récente et ainsi protéger la grande majorité des clients (mais en rendant vulnérables les utilisateurs de versions antérieures) ou attendre que la correction soit prête pour toutes les versions (un délai supplémentaire mis à profit par les hackers) ?

Puis se pose la question de savoir qui est responsable pour faire la mise à jour ? L’utilisateur final ? Le fabricant ? C’est là que la lecture des conditions imprimées en petits caractères du contrat de licence, que seuls des gens payés pour le faire lisent (en général quand il est trop tard), importe. Les mises à jour ne concernent pas que les systèmes d’exploitation mais aussi les logiciels, des appareils électroniques….

Les systèmes propriétaires : Windows 10

© wikicommons

C’est Microsoft qui le premier n’a plus laissé le choix aux utilisateurs sur les mises à jour à installer. Désormais avec Windows 10, l’utilisateur reçoit un paquet de mise à jour que l’utilisateur doit installer dans sa globalité. C’était indispensable : les mises à jour sont conçues en partant de l’hypothèse que le PC sur lequel elles seront installées est déjà protégé des vulnérabilités précédentes ! Il y a les mises à jour qui résolvent des problèmes de sécurité et, de façon séparée, celles qui apportent de nouvelles fonctionnalités. Ces dernières sont optionnelles car elles peuvent créer des instabilités ou même des vulnérabilités dans d’autres logiciels installés sur la machine.

Les utilisateurs peuvent d’ailleurs décider, avec Windows 10, de  rester avec les mêmes fonctionnalités pendant 10 ans, le temps de support garanti des OS. Ceci dit, on l’a vu avec Windows XP ou avec Windows Server 2003 : ces 10 ans sont rarement suffisants. Les demandes d’extension restent fréquentes.

Ce n’est pas tout de déployer et distribuer la mise à jour. Encore faut-il s’assurer que la mise à jour est installée, ce qui peut prendre du temps, par exemple pour des machines sur lesquelles Windows et un autre système d’exploitation fonctionnent simultanément.

Les logiciels open source : Linux

© Larry Ewing

Les logiciels open source ne sont pas moins sûrs que les logiciels commerciaux mais la conception des mises à jour y est forcément différente. Les logiciels open source sont de nature collaborative. Il n’y aucune décision centralisée possible qui décidera du jour pour pousser la mise à jour. C’est à l’utilisateur de s’en préoccuper : une manière de l’aider est d’être transparent au niveau des composants utilisés (souvent des logiciels ou bibliothèques libres d’accès eux-mêmes). Car si, dans l’idéal, ce serait au développeur du logiciel open source de le faire lui-même, comment s’assurer que ce soit bien le cas ? Ceux qui choisiront une version commerciale Linux attendront légitimement ce service de la part de la société qui a fait d’une version libre une version payante. La nature collaborative des logiciels libres peut avoir comme conséquence un temps plus long avant de découvrir une vulnérabilité. Ensuite, lorsqu’une mise à jour est disponible, il y a beaucoup de canaux via lesquels le déployer : GitHub, RedHat…  Et ne vous croyez pas à l’abri  des logiciels libres si vous vous en méfiez (vous auriez tort) car des logiciels commerciaux ne rechignent pas à les utiliser comme briques pour leurs propres produits. Cisco a ainsi eu de grandes difficultés pour les mises à jour de ses logiciels après la découverte de Heartbleed.

Chaque logiciel open source est un projet à part entière et sa manière de réaliser les mises à jour lui est propre. Quand les développeurs qui maintiennent Open SSL déploient une mise à jour, elle est toujours qualifiée de mise à jour de sécurité et est très détaillée. Il n’en est rien pour les mises à jour des noyaux Linux. Elles ne sont jamais qualifiées de sécurité car la communauté Linux a pour philosophie de considérer que tout bug peut affecter la sécurité. Les utilisateurs de Linux doivent-ils alors installer les mises à jour du noyau, parfois hebdomadaires, au risque de rendre leur machine instable ? Ceci dit, les distributions de Linux prévoient une marche arrière possible en cas de comportement instable (i.e.: retour à une version antérieure). Dans d’autres cas, on interdit aux utilisateurs de revenir à une version antérieure, via une protection matérielle, pour les empêcher de revenir à un état vulnérable. Et puis, de toute façon, il n’y a entre développeurs et utilisateurs de logiciel libre, par définition, aucune obligation sur les mises à jour.

Les  machines virtuelles et codes éphémères

Schéma de machines virtuelles ©wikipédia

Vous avez peut-être déjà entendu parler de machine virtuelle ? Il s’agit d’installer sur un ordinateur un logiciel qui vous donne l’impression d’utiliser un « autre » environnement. Par exemple, vous pouvez installer une machine virtuelle proposant Windows sur un ordinateur Linux de façon à pouvoir utiliser des logiciels fonctionnant sur l’un quelconque des deux environnements sans manipulation compliquée.

Cette approche entraine que des mises à jour de sécurité doivent non seulement concerner le système d’exploitation natif mais aussi les logiciels s’exécutant grâce à la machine virtuelle. Les codes éphémères, souvent utilisés par des services Web que nous utilisons tous les jours engendrent un autre souci. Les versions de Javascript, le langage de programmation le plus utilisé pour offrir ces services, évoluent tellement vite qu’on ne sait parfois pas sur quelle version vulnérable ou non, un logiciel a été conçu.

Les mobiles

© wikicommons

Passons maintenant aux téléphones mobiles qui sont partout mais dont les politiques de mise à jour du système d’exploitation ne sont pas reluisantes au point que les USA ont ouvert une enquête en 2016 à l’encontre du secteur pour manquement à la sécurité des consommateurs. Le problème, dans ce secteur, vient de la diversité des modèles de smartphones et des fabricants sur le marché sans compter les opérateurs mobiles, qui demanderont des customisations sur les modèles de tiers qu’ils vendent. Un système d’exploitation va donc exister sous des centaines de  variantes et il ne faut pas demander aux opérateurs aux capacités limitées de tester dans leurs laboratoires, quand ils le font, la sécurité de tous les appareils qu’ils proposent.

Au prix où sont vendus les smartphones et à la vitesse à laquelle de nouveaux modèles remplacent les anciens, il est intenable, économiquement parlant, pour un fabricant de gérer les mises à jours de tous les modèles qu’il met sur le marché. C’est triste à dire mais c’est bien le prix et la popularité du modèle qui justifiera la durée pendant laquelle des mises à jour de sécurité seront proposées. Oui, il y a de fortes chances que votre mobile ne soit plus supporté depuis longtemps pour les mises à jour de sécurité. Oui, il y a de fortes chances que vous ne le sachiez pas en lisant ces lignes. Oui, vous n’avez pas été prévenus au moment où ce support  a été arrêté et le vendeur ne vous a rien dit au moment où vous l’avez acheté ! Plus étonnant encore est que la plupart des fabricants n’ont pas de politique établie sur la durée du support qu’ils fournissent. C’est au cas par cas, ce qui a rendu nerveux les autorités américaines. Tout dépend des conditions du marché mais pourquoi donc les fabricants établis depuis longtemps ne veulent-ils pas exploiter et partager leurs bonnes pratiques en la matière avec tout le recul qu’ils ont acquis ? Pire, les fabricants ne semblent même pas documenter tout ce qu’ils ont fait par le passé avec leurs anciens modèles : combien de mises à jour ils ont déployées, le temps pour les développer, la durée de la phase de test et le taux d’adoption d’installation parmi les clients, un retour d’expérience qui serait pourtant si utile à la sécurité et une pratique qui laisse un peu sans voix.

On se trouve avec les mobiles dans la situation contradictoire où la richesse et la diversité de l’écosystème mobile rend, en contrepartie, la gestion de la sécurité des mobiles aléatoire en durée et en fréquence : la période de support ne semble pas dépasser 1 ou  2 ans ! Les fabricants préfèrent se focaliser sur les nouveaux modèles ou les plus chers ou les plus populaires.

Les microprocesseurs

© wikicommons

Si les failles de sécurité Spectre, Meltdown et plus récemment Foreshadow ont montré que les microprocesseurs pouvaient être vulnérables, une situation pas suffisamment prise en compte en cybersécurité et par les concepteurs de logiciels, il ne faut pas aller si loin pour s’en méfier. Les fabricants de processeurs prévoient une couche logicielle (microcode), donc une couche intermédiaire entre le niveau logiciel le plus profond d’un système d’exploitation (par ex. le noyau linux) et le processeur ! C’est un outil de différentiation possible entre les clients qui équipent leurs appareils avec le processeur mais c’est une source de vulnérabilité possible de par la personnalisation autorisée. Il est aberrant qu’on ne puisse plus disposer de ce processeur sans cette couche logicielle même en le payant, ce qui signifie qu’on ne peut plus payer pour plus de sécurité !

L’internet des objets

© wikicommons

La mise à jour des objets qui constitueront l’internet des objets (IoT) de demain est une toute autre histoire encore à écrire. Beaucoup d’entreprises ne s’en préoccupent même pas car elles considèrent que la durée de vie de ce qu’elles fabriquent est si courte que cela n’en vaut pas la peine. De plus, la diffusion et l’installation de mises à jour sur un très grand ensemble d’objets connectés est infiniment plus complexe que pour un ordinateur « simple ». C’est une erreur. Parfois ce sont les entreprises elles-mêmes  qui sont éphémères et il n’y a alors plus personne pour réaliser les mises à jour. Une solution pourrait être de forcer les sociétés en questions à confier leur code à des tiers de confiance. Ainsi, en cas de faillite ou de disparition, d’autres pourraient reprendre le flambeau au moins pour les mises à jour de sécurité. Le cycle de développement de l’internet des objets va être beaucoup plus rapide que celui d’un système d’exploitation. Beaucoup de développeurs ne prendront pas le temps de se préoccuper de la politique de mise à jour. Certains songent à une piste inspirée d’Alexa ou des autres enceintes intelligentes à la Google qui ont aussi pour vocation de gérer les objets intelligents. On aurait des hubs qui gèrent la sécurité de tous les objets dans la maison. Ils sauraient quels sont leurs composants logiciels. Utilisent-ils les dernières versions ? Car si les utilisateurs finaux sont désormais conscients que leurs PC sont vulnérables, doivent être mis à jour, comment les convaincre que le moindre petit objet qui a l’air si inoffensif communique avec d’autres machines via Internet et peut donc être contrôlé par un hacker !

Pis, les objets de l’IoT n’auront ni l’autonomie ni la puissance de calcul suffisantes pour leur permettre d’héberger des cyberprotections dernier cri ou pour s’autoriser des mises à jour fréquentes, forcément consommatrices d’énergie.

Pour finir

Il ne faut donc pas croire que la messe est dite avec les mises à jour logicielles. Si elles sont désormais plutôt bien faites pour des systèmes très répandus comme Windows 10, ce panorama montre le chemin à parcourir presque partout ailleurs. La diversité dans les politiques de mise à jour met en évidence un pan de recherche à développer : quel type de gestion des mises à jour est-elle la plus efficace ? La réponse ne tient pas qu’au seul critère de la sécurisation : le taux d’adhésion des utilisateurs est important, la durée du support est primordiale (des mises à jour au top niveau qui s’arrêtent au bout d’un an laisse l’appareil plus vulnérable qu’avant en fin de compte), l’information au consommateur importe aussi pour qu’il puisse faire un choix raisonné pour son mobile. La sécurité n’est pas juste une question de technologie mais aussi d’usage, de comportement et de sensibilisation.

Charles Cuvelliez (École Polytechnique de Bruxelles, Université de Bruxelles) et Jean-Jacques Quisquater (École Polytechnique de Louvain, Université de Louvain) 

Pour en savoir plus :

Software Update as a Mechanism for Resilience and Security:   Proceedings of a Workshop, Committee on Cyber Resilience Workshop Series; Forum on Cyber  Resilience; Computer Science and Telecommunications Board;  Division on Engineering and Physical Sciences; National Academies of Sciences, Engineering, and Medicine, 2017

Mobile Security Updates: Understanding the Issues, Federal Trade Commission, Februari 2018