La sécurité est-elle l’amie ou l’ennemie de droits humains ? - Stéphane Bortzmeyer

Titre :
La sécurité est-elle l’amie ou l’ennemie de droits humains ?
Intervenant :
Stéphane Bortzmeyer
Lieu :
Journée de la sécurité informatique en Normandie - Rouen
Date :
novembre 2018
Durée :
38 min
Visionner la conférence

Diaporama support de la conférence

Licence de la transcription :
Verbatim
Illustration :
Ophelia Noor, Stéphane Bortzmeyer Pas Sage en Seine 2012 - Licence Creative Commons Attribution-Share Alike 2.0 Generic license

Les positions exprimées sont celles des personnes qui interviennent et ne rejoignent pas nécessairement celles de l’April, qui ne sera en aucun cas tenue responsable de leurs propos.

Transcription

Bonjour.

Traditionnellement dans les conférences de sécurité, surtout quand ça s’adresse à un public d’étudiants en informatique, on a des conférences sur des sujets très techniques, du reversing de malware sur Windows, avec du code Assembleur en vert sur fond noir qui défile sur l’écran ; ou alors des trucs : « comment pirater sa Tesla » ou des choses de ce genre. Ici, non. Je vais surtout parler de politique donc ça va être moins rigolo question trucs qui défilent sur l’écran, moins technique, mais c’est parce que j’ai l’impression que dans le domaine de la sécurité les aspects politiques, éthiques, sont souvent passés un peu sous le tapis alors qu’ils méritent un peu d’intérêt.

Liberté et sécurité

D’abord quelques trucs de niveau conceptuel et ensuite, quand même, quelques études de cas sur des sujets techniques pour montrer en quoi il y a un rapport entre la sécurité et des questions d’ordre politique.

Le débat liberté-sécurité, ou sécurité droits de l’homme, comme vous voulez le positionner – pardon droits humains pas droits de l’homme : c’est le 70e anniversaire d’ailleurs, le 10 décembre, de la Déclaration universelle des droits humains – est un débat politique classique, vous l’avez souvent entendu à la télévision, dans les journaux, sur les réseaux sociaux, par exemple quand il s’agit de la lutte contre le terrorisme, on peut s’empailler sans fin sur liberté-sécurité et souvent il est présenté de manière binaire. On ne peut pas vraiment discuter. En fait, ça part souvent très vite de manière binaire et donc c’est très difficile d’analyser réellement les mesures de sécurité.

Par exemple, en matière de lutte contre le terrorisme, dès qu’on pose une critique ou même simplement une question c’est : « Mais alors vous êtes pour les terroristes », donc on peut difficilement analyser les mesures de sécurité, voir si elles sont pertinentes, si elles sont efficaces. Il ne suffit pas d’être liberticide pour être efficace, c’est plus compliqué que ça. On a donc du mal à faire avancer la sécurité dans ce cas-là.

C’est par exemple une question qui est longuement discutée dans les bouquins de Bruce Schneier. Si vous vous intéressez à la sécurité informatique, il faut vraiment lire tous ses livres notamment Au-delà de la peur [Beyond Fear
Thinking Sensibly about Security in an Uncertain World
], qui n’est pas de la sécurité informatique ; Au-delà de la peur est surtout consacré à la lutte contre le terrorisme et il montre que ce n’est pas juste parce qu’une mesure est pénible qu’elle est efficace. Elle peut être pénible, dangereuse pour les libertés, et être quand même inefficace.
Les deux, en fait, sont cruciales. Évidemment on a besoin de liberté et de sécurité, je crois qu’il n’y a pas grand monde qui va dire le contraire, enfin j’espère, mais la sécurité est très souvent utilisée comme un prétexte. Par exemple, quand il y avait eu un piratage au ministère de l’Économie, à Bercy, l’infection s’était faite par un grand classique : un message où il y avait une charge utile dans la pièce jointe liée au message ; quelqu’un l’avait ouverte, enfin les sujets dont avait parlé l’orateur de l’ANSSI [Agence nationale de la sécurité des systèmes d’information] ce matin. Dans les mesures qui avaient été prises suite à ce piratage, le ministère avait bloqué l’accès à Twitter depuis les locaux alors que Twitter n’avait absolument rien à voir avec le piratage, mais c’était présenté pour des raisons de sécurité. En fait, ça faisait longtemps que ça gonflait des gens au ministère que les employés utilisent Twitter donc le piratage a été un excellent prétexte pour faire passer des mesures qui n’avaient rien à voir avec la sécurité.

Ça c’est un grand classique et il suffit de dire dans beaucoup de discussions « c’est pour des raisons de sécurité » et là, plus de discussion possible.
Le débat est classique, liberté et sécurité, c’est un débat très fréquent, mais beaucoup moins fréquent dans le monde du numérique, dans le monde de la cybersécurité. Là on constate qu’il n’y a pas tellement ce débat politique. C’est souvent traité comme un problème purement technique : on prend des mesures de sécurité, on ne discute jamais, ou très rarement en tout cas, de leurs conséquences politiques, de leurs conséquences sur les libertés, de leurs conséquences sur les droits humains. Au début c’était justifié par le fait que le monde numérique était un petit truc, très à part, pour lequel on se disait : il n’y a pas vraiment d’enjeux politiques. Mais aujourd’hui où la quasi-totalité des activités humaines se mène en grande partie sur Internet ou via des systèmes informatiques, ce n’est plus possible. Toute décision aujourd’hui qui affecte, d’une manière ou d’une autre, l’utilisation des outils numériques, l’utilisation de l’Internet, va forcément avoir des conséquences politiques et donc doit être discutée comme telle, c’est-à-dire doit être pesée, genre quels sont les avantages, quels sont les inconvénients ? Qu’est-ce qu’on perd, qu’est-ce qu’on gagne ? Je cite encore une autre phrase favorite de Bruce Schneier : « La sécurité c’est toujours un compromis ». C’est-à-dire qu’on va gagner en sécurité, on l’espère si les mesures sont bien conçues, on va perdre sur d’autres aspects, par exemple le coût, le côté pratique, des choses comme ça, et ce calcul, cette balance entre les deux est très rarement faite dans le monde de la cybersécurité où, en général, on saute d’autant plus rapidement que la sécurité c’est compliqué. Ce n’est pas évident. Qu’est-ce qui est le mieux pour la sécurité ? Souvent il y a des mesures qui peuvent sembler améliorer la sécurité, mais, en fait, sont dangereuses ; il y a eu des tas de débats là-dessus. Et en plus la sécurité, dans le monde numérique, eh bien il y a un aspect technique ; c’est compliqué. J’ai encore eu l’autre jour une discussion avec quelqu’un à qui je prônais l’utilisation du chiffrement comme l’a fait l’ANSSI ce matin, notamment spécialement dans le contexte de http, qu’il fallait que le site web soit en https et qui m’expliquait que « mais non, parce qu’en fait https ce n’était pas sûr et donc ça ne servait à rien de mettre https». Donc il y a comme ça des débats techniques pas évidents parce qu’il n’a pas complètement tort, mais je ne peux pas juste lui dire « tout ça c’est faux ». Il faut argumenter, il faut discuter et ça contribue à dépolitiser le débat. On oublie plus facilement les aspects politiques quand il y a un aspect technique compliqué qui fait que la majorité des citoyens, n’étant pas technicienne, se sent exclue.

La liberté

La liberté ! C’est déjà un concept compliqué la liberté ! Même si on se limite déjà à la Déclaration universelle des droits humains, il y a des aspects dans cette Déclaration qui peuvent rentrer en conflit l’un-l’autre. Par exemple elle dit à la fois, cette Déclaration, que la liberté d’expression c’est important, mais aussi qu’on a le droit de ne pas se faire insulter ou harceler. Donc les deux. On a des droits qui ne sont pas absolus, ça les rend compliqués. Et puis, en plus, il y a les libertés théoriques et les libertés réelles. Pour prendre un exemple typique, dans un pays comme la France on a le droit de sortir dans la rue à n’importe quelle heure, comme on veut, il n’y a pas de contrainte là-dessus, mais cette liberté est théorique ; par exemple pour les femmes, elle est beaucoup plus théorique que pour les hommes, puisque sortir seule le soir peut être beaucoup plus dangereux. Donc il y a souvent des problèmes comme ça qui rendent difficiles les débats autour de l’exercice de la liberté.

Dans un pays comme la France très peu de gens vont dire ouvertement qu’ils sont contre les libertés. Ça arrive de temps en temps, mais enfin c’est quand même relativement rare, en général tout le monde dit qu’il est pour, mais en pratique, derrière, ça ne veut pas dire que les gens, en plus, soient réellement sincères. Donc des fois, quand on dit qu’on est pour la liberté, c’est ce que les États-Unis appellent le lip service, c’est-à-dire qu’on le dit parce qu’il faut le dire, mais derrière on n’en pense pas moins et ça revient souvent dans les discussions.
La liberté, évidemment, ça implique la liberté de critiquer la sécurité. C’est l’exemple que j’avais cité sur le terrorisme où c’est très difficile de participer à une discussion sur les mesures qui sont prises pour lutter contre le terrorisme, parce que dès qu’on émet une critique pouf ! on est classé comme partisan des terroristes.
Ça c’était le coût des œuvres protégées. C’était, par exemple, la discussion qu’il y avait eue récemment sur une directive européenne, pas le RGPD qui est un règlement, mais une autre sur le copyright où, dès qu’on émettait des critiques, c’était : « Oui mais vous êtes pour tuer les artistes alors ! » Ou alors : « Oui mais vous êtes payé par Google ». Donc ça rend souvent difficile les discussions.

La sécurité

La sécurité, évidemment c’est bien. Personne ne va dire « non, non, moi je veux courir des risques tout le temps, ne jamais être tranquille, c’est bien ça réveille ». Non, non ! Évidemment tout le monde veut de la sécurité, il n’y a pas de problème là-dessus. C’est pour ça qu’on participe à cette journée, c’est parce qu’on pense que la sécurité informatique, comme les autres, est importante. Mais comme la liberté, elle soulève des tas de problèmes dès qu’on creuse un petit peu, dès qu’on ne reste pas au niveau du slogan binaire. Dès qu’on creuse un petit peu, il y a des problèmes.

Par exemple la sécurité de qui ? Solenn Brunet a rappelé dans son exposé qu’en entreprise la sécurité du patron et celle des employés ce n’est pas tout à fait la même chose. Ils n’ont pas les mêmes intérêts, donc des décisions qui conviennent pour l’un peuvent ne pas convenir pour les autres. On a déjà le premier problème : qui on veut protéger ? Qui est menacé et qui on veut protéger ? Et quels sont les intérêts qui sont mis en sécurité ?
La sécurité est aussi un domaine complexe où il y a beaucoup d’intérêts, beaucoup de conceptions différentes de la sécurité, même si on se limite au point de vue purement technique. Vous savez que la sécurité, en fait, on ne devrait pas l’utiliser. Dans le contexte du monde numérique, on ne devrait jamais utiliser le mot « sécurité » parce qu’il est trop vague. Il inclut des tas de services complètement différents et qui peuvent être contradictoires. Un exemple classique c’est confidentialité et disponibilité. Pour qu’une ressource soit disponible, on a intérêt à la placer au plus d’endroits possibles et à ne pas les protéger pour que ce soit facilement accessible. La confidentialité c’est le contraire. On veut la mettre dans un petit nombre d’endroits bien contrôlés. Les deux services sont tous les deux des services de sécurité et ils sont clairement contradictoires. Donc c’est une autre chose qui brouille souvent le débat, c’est qu’on utilise un mot trop général, trop vague – « sécurité » est un mot positif, je l’ai dit, tout le monde est pour la sécurité –, on utilise ce mot trop vague et on ne comprend pas forcément ce qu’il y a en dessous.
Et puis bien sûr, si on veut profiter de la liberté, il faut effectivement être en sécurité, ça c’est le point important de la sécurité, mais l’inverse est vrai aussi : on veut être en sécurité pour profiter des libertés qu’on a. Par exemple dans le domaine de la lutte contre le terrorisme, une organisation comme Daech est contre les libertés, contre les droits humains, fait tout pour les détruire, donc si, pour lutter contre Daech, on limite ou on supprime les libertés, eh bien quelque part on fait leur travail ; quelque part ils ont gagné la guerre.

Quelques cas

Après ces considérations générales et politiques sur la sécurité et la liberté, je vais parler un peu plus d’informatique avec des exemples qui sont souvent issus du monde des réseaux informatiques parce que c’est ce que je connais le mieux et puis, aujourd’hui, il n’y a plus tellement de machines qui sont isolées. Il doit y avoir dans les locaux de l’ANSSI des ordinateurs non connectés au réseau, dans une cage de Faraday, sous du béton, à 20 mètres sous terre. Mais aujourd’hui, la plupart des ordinateurs sur lesquels on travaille sont connectés de manière directe ou indirecte. Donc prendre des exemples surtout dans le monde des réseaux, ce n’est pas idiot.
Chacun des cas que je vais présenter ici est un cas compliqué, où il n’y a pas de solution binaire simple du genre : il faut faire comme ci, il faut faire comme ça.

Dans le format d’une conférence comme celle-ci évidemment on ne peut pas traiter tous les détails donc ça va forcément être un peu une introduction. Le point que je voudrais surtout faire c’est que chacun de ces problèmes nécessite de réfléchir un petit peu et d’éviter les réactions rapides genre sur les réseaux sociaux où pouf ! on répond en deux minutes avec un slogan et le problème est réglé. C’est amusant, c’est quelque chose que je fais aussi, mais ça vaudrait la peine, quand vous travaillez sérieusement sur les sujets, de prendre le temps de les analyser un peu en profondeur.
Et puis il ne faut pas se laisser impressionner par les injonctions. Le cas typique c’est dans les réunions où on parle de problèmes informatiques complexes et que quelqu’un impose son choix en disant : « C’est pour des raisons de sécurité ». Comme tout le monde est pour la sécurité, souvent personne n’ose contester et ça ne va pas plus loin. Eh bien si, il faut aller plus loin.

NAT

Premier exemple, le NAT [1]. Tout le monde sait ce qu’est le NAT ? Qui est-ce qui sait ce qu’est le NAT ? NAT, traduction d’adresses N vers 1, c’est-à-dire de N adresses IP du réseau local vers une seule adresse extérieure. À l’origine, la traduction d’adresses, c’était N vers M avec N à peu près égal à M et donc une adresse était traduite pour une autre, mais il y avait toujours une bijection. Si c’est le cas, il n’y a pas de problème. Mais aujourd’hui, ce qu’on a réellement aussi bien chez monsieur Michu qu’en entreprise ou quand on est client d’un opérateur de téléphonie mobile avec accès à Internet, ce qu’on a c’est un NAT N1, c’est-à-dire que plusieurs adresses IP sont mises en correspondance avec une.
Originellement, c’était pour traiter le problème de la pénurie d’adresses IPv4 : pas assez d’adresses IP. Par exemple monsieur Michu n’a qu’une adresse IP à la maison et il a trois téléphones, deux objets connectés qui envoient toutes ses données à l’extérieur, une télé connectée, cinq ordinateurs, donc il a besoin de plus d’adresses IP. C’était ça, à l’origine, la motivation pour le NAT.
Mais, comme toute solution technique, elle a des conséquences pratiques et aujourd’hui on voit souvent, de plus en plus, le NAT vendu comme améliorant la sécurité. Dans les débats par exemple sur le déploiement d’IPv6, qui n’a plus le problème de la pénurie d’adresses IP, j’ai des fois vu IPv6 présenté comme dangereux parce qu’il n’y aura pas de NAT donc on perdra en sécurité. Là il y a eu un déplacement considérable : au début, le but c’est de lutter contre la pénurie d’adresses, maintenant c’est un truc de sécurité ?

Ça a des conséquences en plus ce choix. Par exemple, si vous avez du NAT, vous ne pouvez pas facilement faire un serveur chez vous. Rappelez-vous ce que j’ai dit, c’est compliqué. Si vous avez quand même une adresse IP publique, une, vous pouvez toujours sur le routeur d’entrée mettre en correspondance un port comme 443 avec une machine en interne. Mais si, par exemple, vous êtes dans un système dit CGNAT [2] où l’adresse IP publique n’est pas chez vous, elle plus loin dans le réseau de l’opérateur, cette solution-là n’est plus possible, donc plus de serveur à la maison. Vous allez me dire « tant pis, ce n’est pas grave, mon serveur, de toute façon je mets tous mes articles sur médium, c’est à l’extérieur, c’est dans le cloud, je n’en ai pas besoin ». Mais ça joue aussi pour toutes les applications qui ressemblent à ça, notamment le pair à pair. Si vous faites du pair à pair vous êtes un peu client et serveur donc vous avez besoin des deux. Si vous regardez le code source d’une application qui fait du pair à pair, BitTorrent ou des trucs de WebRTC, tous les trucs qui ont besoin de faire du pair à pair, vous vous apercevez que dans le code réseau, les 4/5e du code réseau c’est contournement des problèmes posés par les NAT pour arriver quand même via des techniques comme STUN, TURN, UPnP, pCP et j’en passe, à communiquer.

Donc ça a des conséquences très concrètes sur ce qu’on peut faire et ce qu’on ne peut pas faire chez soi.
Ces conséquences ne déplaisent pas forcément à tout le monde. Ça prône un modèle Minitel où les gens ne font que accéder à du contenu et n’hébergent pas de contenu eux-mêmes. Donc il y a des tas de gens qui sont ravis, par exemple, que le pair à pair soit rendu difficile, mais ce n’est pas le cas de tout le monde.
Est-ce que, au moins, il y a un gain en sécurité ? Eh bien même pas !

Là aussi la discussion est complexe, mais en gros, la raison pour laquelle le NAT n’a absolument pas un service de sécurité c’est que, d’abord, les attaques viennent souvent de l’intérieur : la fameuse clef USB abandonnée sur le parking, vous vous souvenez ? Celle marquée « confidentiel », vous la branchez sur votre PC et, à ce moment-là, toute attaque vient de l’intérieur. Donc le NAT ne protège pas et c’est vrai que c’est la technique la plus efficace, c’est un grand classique de tous les pannes tests : vous lâchez des clefs USB comme ça et vous les récupérez indirectement. La clef vous prévient : ça y est on m’a connectée.

Et puis les attaques peuvent utiliser le contenu. C’est-à-dire qu’autrefois il y avait pas mal d’attaques qui fonctionnaient en se connectant directement à un port de la machine ou écoutaient un service ; c’est complètement passé de mode ça, aujourd’hui. Si vous regardez la différence entre Windows 98 et un Windows récent, Windows 98, par défaut, il y a avait des tas de ports où un serveur écoutait, donc si la machine avait une adresse IP publique vous pouviez vous y connecter. Aujourd’hui c’est zéro port ouvert par défaut sur tous les systèmes conçus pour le grand public. Donc les attaques se font maintenant plutôt par le contenu, la fameuse pièce jointe dans le message, vous savez le message qui dit « très urgent, lisez ce message tout de suite », ou bien « ça y est vous avez obtenu un remboursement de 10 000 euros, cliquez-là pour l’ouvrir », ces grands classiques-là font que le NAT ne vous protège pas du tout.
Si jamais, quand même, vous voulez du NAT pour des raisons de sécurité, si vous voulez empêcher qu’on se connecte à certaines machines internes, je n’ai rien contre les pare-feu. On peut mettre un pare-feu, mais explicite. Ne pas essayer de vendre une technique qui avait pour but de contourner les limitations d’IPv4 comme une technique de sécurité.

Donc l’argument qui est souvent donné aujourd’hui pour ne pas déployer IPv6 par exemple c’est : « C’est pour des raisons de sécurité, parce qu’il n’y aura pas de NAT et on ne sera pas protégé », c’est absurde ! Si vous voulez être en sécurité vous mettez un pare-feu, j’en ai un chez moi, je n’ai rien contre, c’est nécessaire pour protéger des objets genre l’imprimante qui a, par défaut, un serveur http de configuration avec login admin-mot de passe admin ; c’est sûr que cet engin-là je n’ai pas envie de lui donner un accès complet à Internet, mais, dans ce cas-là, c’est un pare-feu explicite.
C’est un peu résumé. Bien sûr, vous vous doutez que la question est bien plus complexe que ça, mais ça vous donne une première idée du fait que souvent les débats sont faussés par l’argument « c’est pour des raisons de sécurité ».
Si j’observe la quantité de bavardages qu’il y a là, je crois que beaucoup de gens ont des remarques à faire donc il y aura plein de questions après, mais je vais vous demander de garder ça encore un petit peu parce qu’il y a d’autres études de cas tout aussi intéressantes.

Générativité et engins fermés

Le problème de la générativité.

Par exemple, si vous voulez mettre une application sur l’App Store pour que tout le monde puisse l’installer sur son iPhone, vous savez que c’est sévèrement contrôlé par Apple qui ne vous laisse pas mettre n’importe quoi. C’est souvent présenté comme un truc de sécurité. Apple lui-même entretient une ambiguïté là-dessus ; ils ne disent pas clairement qu’ils vérifient la sécurité des applications et ça serait difficile – faire un audit d’une application, un audit de sécurité, c’est compliqué, ça prend du temps, ça coûte cher –, donc Apple ne dit pas clairement ça et c’est même le contraire. Si vous lisez les conditions d’utilisation de l’App Store il y a au contraire écrit qu’Apple n’est responsable de rien, que si vous récupérez une application sur l’App Store et qu’elle vous pirate, c’est bien fait pour vous ! Apple n’est pas responsable. Mais c’est souvent présenté comme un argument : on ne va pas laisser monsieur Michu installer n’importe quoi, surtout par rapport à ce qui se faisait dans le monde Windows où l’expérience prouve que les utilisateurs installaient n’importe quelle application récupérée n’importe où et se faisaient souvent pirater comme ça.

Apple contrôle tout alors qu’il ne contrôle pas ce qu’on installe sur un Mac. Pour l’instant en tout cas, sur un Mac de la même boîte, vous pouvez installer les applications que vous voulez, vous ne pouvez pas sur iPhone ; il n’y a pas de raison technique, c’est uniquement un choix ; traditionnellement la téléphonie mobile est un monde beaucoup plus fermé.
De la même façon, aussi bien sur iOS que sur la plupart des Android, quand vous achetez un téléphone Android typique, vous n’êtes pas root ; c’est-à-dire que sur votre propre machine vous n’êtes pas root. Vous ne l’êtes pas, pas seulement par défaut, ça c’est un peu raisonnable, mais vous n’avez même pas de moyen de passer root d’une manière ou d’une autre si vous voulez faire des trucs pas prévus par le constructeur.

Est-ce que c’est bien ou pas bien ? Ça c’est une grande question.
Il y a un chercheur étasunien qui s’appelle Jonathan Zittrain, qui a fait un bouquin qui s’appelle Le futur de l’internet et comment l’arrêter [The Future of the Internet and How to Stop It.], où il développe tout un tas de concepts intéressants, notamment celui de générativité.

La générativité, c’est la capacité d’un système technique à faire des choses qui n’étaient pas prévues par l’auteur du système technique. Il y a des systèmes qui ne sont pas génératifs, c’est-à-dire qu’on ne peut faire que ce qui était prévu avec.

Vous prenez un stylo, par exemple, il est conçu pour écrire, c’est la principale chose que vous pouvez faire avec. À la rigueur il y a quelques autres utilisations possibles : peut-être appuyer sur un bouton difficile à atteindre sur une machine, peut-être tuer quelqu’un, ça va être assez difficile quand même ! Donc globalement, un stylo n’est pas très génératif.

Les systèmes non génératifs ont des avantages du point de vue de sécurité. C’est facile de faire un audit puisqu’on sait ce qu’ils peuvent faire et donc ce qu’ils ne peuvent pas faire.
À l’inverse, il y a des systèmes qui sont génératifs. L’ordinateur personnel est un exemple d’un système très génératif : on peut faire des tas de choses qui n’avaient pas du tout été prévues par leur concepteur. L’Internet est aussi un bon exemple. Ce ne sont pas les concepteurs de l’Internet qui avaient prévu le Web, YouTube, BitTorrent, des choses comme ça. Tout ça a été créé après par-dessus. Donc l’Internet est une plateforme très générative.
Si on a une générativité parfaite, eh bien ça peut être dangereux. Ce sont les exemples qu’on connaît. Un ordinateur personnel, par exemple, est une plateforme très générative, donc il peut y avoir des tas de choses qui sont dessus, qui n’étaient pas prévues par le concepteur, genre du logiciel malveillant, et après les gens qui ont ça sur leur PC vont à leur tour infecter d’autres, faire des attaques par déni de service. Donc clairement, du point de vue sécurité, il y a un problème.
D’un autre côté, si une technique n’est pas générative ça a des conséquences sociales, stratégiques, ça réduit l’innovation. Par exemple, du temps où les réseaux de télécommunications étaient entièrement contrôlés par l’opérateur téléphonique historique, il n’y avait pas d’innovation parce qu’on ne pouvait faire que ce qui était prévu d’en haut. Au contraire, Internet a permis des innovations colossales absolument pas prévues, justement parce qu’il est génératif.
Et puis il y a aussi, bien sûr, des conséquences politiques. Si la technique n’est pas générative, eh bien on est limité dans ce qu’on peut faire, on n’est plus un citoyen complet, on est juste enfermé dans certaines possibilités qu’on vous donne.
Par exemple, un débat qu’il y a souvent eu en sécurité, ce sont les ordiphones. Ordiphone parce que c’est ordinateur ; parler d’un téléphone c’est une erreur : ça empêche de voir les possibilités de cet engin, aussi bien les possibilités positives que les risques de sécurité. Donc l’ordiphone est-ce qu’il doit être verrouillé ? Est-ce qu’il faut donner l’accès root aux utilisateurs ? Et la voiture, la Tesla, est-ce qu’elle doit être non hackable par l’utilisateur ? Est-ce qu’il faut la blinder pour que l’utilisateur ne puisse pas modifier sa propre voiture ? La voiture c’est un bon exemple parce que c’est clairement un engin dangereux, on le voit bien.
Surtout, le vrai problème, c’est qui décide dans ces conditions ? Qui a décidé que telle voiture était modifiable ou pas ? Là je cite une phrase que j’ai trouvée sur le blog de Puri.sm. Puri.sm est un fabricant d’ordinateurs et d’ordiphones libres, où les utilisateurs peuvent faire ce qu’ils veulent et ça soulève évidemment des tas de problèmes. [We agree with Apple that security is at the heart of all data privacy and privacy rights. Where we disagree is in who holds the keys. Your data isn’t truly private or secure, if someone else holds the keys., NdT]

Apple s’est récemment positionnée comme défenseur de la sécurité par opposition aux boîtes comme Google ou Facebook qui vivaient des données personnelles. Le PDG d’Apple a fait un discours pour expliquer que la vie privée c’est super important et qu’Apple, d’ailleurs, était géniale de ce point de vue-là et ne posait pas de problèmes. Mais une des conséquences c’est que, par exemple, Apple défend la fermeture de l’iPhone en expliquant : c’est parce que sinon, si l’iPhone n’était pas fermé, n’était contrôlé par Apple, à ce moment-là il y aurait des applications malveillantes qui feraient fuir des données personnelles.

L’argument est techniquement faux. Il y a déjà eu sur l’iPhone des tas d’applications, acceptées sur l’App Store, et qui faisaient fuir les données personnelles, mais c’est intéressant que Apple se positionne là-dessus. La question qu’ils ne posaient pas c’était justement qui contrôle et qui décide ? C’est-à-dire que si Google décide, par exemple, « je livre un Android où vous n’êtes pas root, où vous ne pouvez rien faire, mais moi j’ai les clefs pour faire ce que je veux et installer des nouvelles versions des applications », du point de vue sécurité je comprends l’idée ; Google se dit : on est meilleur en sécurité que monsieur Michu. Du point de vue du contrôle, moi ça me pose un problème.

Google défend nos données personnelles contre les méchants

Bien illustré par cet avertissement : « Attention. Ce mode de saisie est susceptible d’enregistrer le texte que vous saisissez, y compris vos données personnelles, telles que les mots de passe et les numéros de carte de paiement. Il praovient de l’application Hacker’s Keyboard. Voulez-vous vraiment l’activer ? », NdT]
Sur Android on peut installer des claviers virtuels différents de celui du système. Il y en a que j’aime beaucoup, qui s’appelle Hacker’s Keyboard, et qui fournit notamment facilement toutes les touches dont on a besoin par exemple quand on programme. Sur un ordiphone ce n’est pas terrible parce qu’il est assez grand, donc il prend tout l’écran, mais sur une tablette c’est vraiment génial comme application.

Et quand on essaye de l’installer dans les dernières versions d’Android, on a cet avertissement qui est techniquement exact. C’est sûr, un clavier virtuel voit effectivement passer tout ce qu’on tape et il peut l’envoyer à quelqu’un. Donc l’avertissement est techniquement exact, mais il vient de qui cet avertissement ? Il vient d’Android donc de Google. Donc Google qui vous dit : « Attention, des gens peuvent capter des données personnelles », c’est quand même assez drôle et ça illustre bien le problème de qui décide, qui va prendre les décisions.

Chiffrement et ses conséquences

Le chiffrement. Ça c’est un autre beau sujet. C’est bien le chiffrement, il faut l’utiliser. Excellente idée. Ça permet aux gentils de protéger leurs communications, donc c’est bon ! Et ça permet aux méchants de protéger leurs communications, ah, ce n’est pas bon ! Là ça va poser un problème. Est-ce que le chiffrement augmente la sécurité ? Il permet à la fois aux gentils et aux méchants de se protéger. Là on a un problème !

Est-ce que ça va améliorer la sécurité ?

Déjà, premier truc. C’est souvent en raison justement d’arguments de sécurité que pas mal d’organisations, c’est souvent le cas en entreprise, mettent en place des intercepteurs TLS [Transport Layer Security ]. Le principe c’est qu’on termine la session TLS sur une machine contrôlée par l’entreprise, plus exactement par la direction de l’entreprise, et ensuite on refait une session TLS vers la vraie destination. Sur la machine de l’utilisateur on a mis une autorité de certification qui reconnaît les certificats de l’intercepteur.

Ça soulève tout un tas de problèmes, d’ailleurs je crois que l’ANSSI a fait un excellent guide au sujet de l’interception https en entreprise qui couvre tous les détails, sauf les détails politiques et éthiques – ça doit être un oubli –, mais qui couvre en tout cas tous les détails techniques.

Le premier détail technique : il faut savoir que la plupart de ces systèmes d’interception TLS, particulièrement ceux qui tournent sur le poste de travail, mais aussi même ceux qui tournent dans des boîtiers fermés, sont horriblement bogués. Il y a eu d’innombrables articles publiés là-dedans dans des conférences de sécurité, genre l’intercepteur TLS certes il intercepte la session TLS, mais après, quand il repart vers le vrai serveur, il ne vérifie pas le certificat ; ou il ne vérifie pas certains aspects du certificat comme la révocation ; ou il accepte des algorithmes qui ne devraient plus être acceptés depuis longtemps. Donc déjà, du point de vue strictement technique, ces intercepteurs TLS qui sont en général vendus comme « c’est pour des raisons de sécurité ; si vous les contestez c’est que vous êtes pour les terroristes, pour les pirates, pour les espions chinois et des trucs comme ça », ces intercepteurs, souvent du point de vue technique déjà, diminuent la sécurité. Et c’est difficile d’en discuter parce que dès qu’on soulève un problème pouf !, on est classé comme droit-de-l’hommiste Bisounours qui est contre la sécurité. Ça rend assez difficile d’analyser les problèmes bien que dans ce cas-là le système a été vraiment clairement prouvé mauvais et prouvé négatif.

Qu’est-ce que j’ai lu dans le train ? Il y a encore une boîte récemment qui livrait un système d’interception TLS avec des bogues horribles, c’est malheureusement un problème fréquent.
Mais même sans ces bogues, supposons qu’il n’y ait pas de bogues, supposons que l’intercepteur soit bien fichu, bien fait, cette technique qui permet de détourner des communications TLS, qui est courante en entreprise, est-ce qu’elle améliore la sécurité ? Eh bien ça se discute ! Après ça dépend de tout un tas de détails, par exemple ça correspond, ça revient finalement à casser le modèle de bout en bout, à rajouter un intermédiaire, et la complexité est un des plus gros ennemis de la sécurité. Rappelez-vous, si un système de sécurité ne peut pas être expliqué très simplement, il n’est pas auditable donc il est dangereux.
Mais surtout, la question de fond, c’est la sécurité de qui ? Qu’est-ce qu’on veut faire exactement ? Contre qui on veut protéger ? Est-ce qu’on veut empêcher les lanceurs d’alerte ? Est-ce qu’on veut empêcher les espions chinois ? Ce ne sont pas les mêmes intérêts qui sont en jeu à chaque fois. C’est pour ça que, comme toutes les techniques de sécurité, ces intercepteurs TLS méritent une discussion pas seulement technique mais aussi politique.
Romain a cité les RFC [3] en me présentant. Il y a un RFC publié il y a six mois qui porte le numéro 8404 [4]. Les RFC ne sont pas seulement des normes techniques, il y en a aussi qui sont des textes décrivant en détail un problème de l’Internet ou des questions d’architecture et celui-là est consacré aux conséquences du chiffrement sur les opérateurs. L’angle qui est choisi ce sont les opérateurs réseaux et la thèse de ce RFC est que, en gros, le chiffrement c’est bien embêtant. Ça empêche les opérateurs de regarder le trafic.

Moi, naïvement, j’aurais tendance à penser que c’est un peu fait exprès, mais il y a des gens que ça dérange et donc tout le RFC est consacré à la discussion de : « Il y a certaines pratiques de sécurité comme l’examen du trafic, par exemple pour détecter les logiciels malveillants, qui sont impactées par le chiffrement et donc qu’est-ce qui est meilleur pour la sécurité ? » Je ne vous donne pas la réponse tout de suite parce que la question est compliquée, mais le RFC en question a suscité des longues discussions à l’IETF [Internet Engineering Task Force]. Ce qui le rend un petit difficile à lire aujourd’hui c’est que la première version du document était très anti-chiffrement : « c’est un problème, ça nous empêche de regarder le trafic ». Il y a eu beaucoup de discussions, beaucoup de modifications et comme toujours quand il y a un travail qui est fait en groupe le résultat n’est pas très digeste parce que c’est vraiment : d’un côté il y a ça, mais d’un autre côté il y a ça, et avec des phrases contradictoires d’un bout à l’autre du RFC ; ça le rend peu lisible pour qu’il soit accepté par tout le monde.

Attaques par déni de service

Enfin, dernière étude de cas, le problème des attaques par déni de service [5]. Aie ! Aie ! Aie ! Une grosse plaie sur l’Internet, tout le temps. Tous les gens qui gèrent des serveurs connectés à Internet connaissent ce problème ; on a tout le temps ce problème, particulièrement si on veut, par exemple, publier sur un site web des opinions qui déplaisent à certains.
C’est clairement mauvais une attaque par déni de service, c’est notamment une attaque directe contre la liberté d’expression. C’est une méthode couramment utilisée pour faire taire les gens. Effectivement, une attaque DoS sur le site web et pouf !

En plus c’est injuste, parce que la plupart des attaques par déni de service sont volumétriques ; elles reposent sur l’envoi de grandes quantités de données. Ce ne sont pas des attaques subtiles. Il y a un biais courant des conférences de sécurité, c’est que dans les conférences de sécurité on présente ce qui est amusant pour les techniciens, donc des attaques très subtiles, très intelligentes, exploitant des failles compliquées. La réalité de la sécurité c’est en général l’exploitation de failles toutes bêtes. La plupart des actes par déni de service ne sont pas des trucs subtils où, si on met le 17e bit du paquet à 1 et qu’il est précédé d’un paquet dont la somme de contrôle était impaire alors ça va déclencher une segmentation fault dans le serveur, ce sont rarement des attaques comme ça en vrai. La plupart du temps ce n’est pas subtil, c’est : on envoie 10 gigabits par seconde et on plante le système à l’autre bout.
Le résultat c’est que ça désavantage les petits. En fait, faire un petit hébergeur web, par exemple, est difficile parce qu’on est forcément à la merci d’une attaque par déni de service alors que les gros peuvent écluser ça par la seule vertu de leur taille. Un ingénieur de Cloudflare [6] m’avait raconté à une époque que leur système de détection de problèmes ne déclenchait une alarme que quand il y avait un trafic de plus d’un gigabit par seconde sur un des serveurs, parce qu’en dessous c’était trop petit pour eux, ça ne les intéressait pas. Et c’était il y a quelques années, ça a dû augmenter depuis.
Donc les gros sont favorisés. Quel résultat ? Ça peut avoir des tas de conséquences stratégiques. Par exemple, tout le monde migre vers Cloudflare. C’est une tendance lourde actuellement de l’hébergement, c’est que de plus en plus de sites web, surtout ceux qui sont sensibles c’est-à-dire qui ont des ennemis puissants, migrent vers Cloudflare qui voit donc passer le trafic de plein de gens et a un contrôle sur une grande partie du Web. Donc ce qui était parti comme une mesure technique « je vais migrer vers tel opérateur parce que j’en ai marre d’être bloqué par les attaques par déni de service », finit par avoir des conséquences qui sont stratégiques. Alors que si on avait un cloud souverain il serait à l’abri des attaques par déni de service, j’en suis sûr ! Non, je rigole !
Cloudflare ou d’autres boîtes qui font ce genre de services prétendent souvent qu’elles fournissent une protection contre les attaques par déni de service. Le mot « protection » dans ce contexte fait un peu mal, parce que c’est un peu le type qui vient voir la pizzeria en disant « tu sais ta pizzeria, si tu ne veux pas qu’elle brûle, il faudrait que tu achètes une protection ! » Ou alors, dans un exemple plus historique, le seigneur féodal qui protège ses serfs. C’est-à-dire qu’en cas d’attaque par des brigands ou par une armée ennemie, les serfs peuvent se réfugier dans le château et le seigneur qui lui, est le seul à avoir une armure, des épées et tout ça, va les protéger. Être protégé par le seigneur c’est cool, mais ça a quelques inconvénients aussi. Et l’expérience du féodalisme, tout le monde n’a en a pas gardé un bon souvenir ; tous ceux qui ont vécu à cette époque n’en ont pas gardé un bon souvenir.

Donc la protection fournie ici par des gros qui disent : « Vous êtes petit et faible, venez chez moi », ça a aussi des conséquences politiques et des conséquences stratégiques sur la liberté d’expression, les droits humains, etc.

Un peu de pub

Maintenant une page de publicité. Mon livre. Achetez-le pour Noël. Il sort le 10 décembre, le jour du 70e anniversaire de la Déclaration universelle des droits humains, il s’appelle Cyberstructure et il est déjà disponible en souscription. Vous allez sur le site de l’éditeur ou sur le mien cyberstructure.fr [7], s’il vous reste de l’argent après avoir aidé La Quadrature du Net [8], Framasoft [9] et autres organisations de défense des droits et libertés. Il y a un chapitre qui est consacré exactement à ces questions-là de sécurité. Fin de la publicité.

Conclusion

Je vous dis tout de suite, des questions du genre « faut-il privilégier la liberté ou la sécurité ? » ne m’intéressent pas parce qu’elles n’ont vraiment aucun sens ; ces questions sont non dialectiques. En fait, la réalité c’est que les deux sont nécessaires, les deux vont ensemble et se nourrissent l’une l’autre. Par exemple c’est ce que je citais sur la possibilité de discuter les mesures de sécurité : si on n’a pas la liberté de discuter les mesures de sécurité, on va adopter des mauvaises mesures donc on ne sera pas plus en sécurité qu’avant.

Donc les deux se nourrissent l’une l’autre. Sans sécurité il n’y a pas liberté et réciproquement, donc les deux sont liées.
Mais le point important, le message que je voulais passer, c’est que la sécurité n’est pas un problème purement technique. Il y a des tas de solutions techniques, on en a discuté ici : l’anonymisation des données à propos du RGPD [Règlement général sur la protection des données], le chiffrement à propos de la sécurité informatique, tout ça ce sont des bonnes mesures, il faut les adopter. Mais le problème de fond est social. C’est une généralisation de dire « la sécurité c’est aussi une question humaine ». Une question humaine mais les humains ne sont pas isolés, ils vivent en société, donc c’est un problème social, donc politique, c’est-à-dire que tout le monde n’est pas d’accord, tout le monde n’a pas les mêmes intérêts, il faut quand même prendre des décisions. Ce qui est important c’est de pouvoir reconnaître que ce problème est aussi un problème politique, de pouvoir en discuter comme tel.
Je vous remercie et puis, avec un peu de chance, il y a la place pour quelques questions.
[Applaudissements]