Différences entre les versions de « La sécurité est-elle l'amie ou l'ennemie de droits humains - Stéphane Bortzmeyer »

De April MediaWiki
Aller à la navigationAller à la recherche
Ligne 92 : Ligne 92 :
  
 
===Générativité et engins fermés===
 
===Générativité et engins fermés===
 +
 +
Le problème de la générativité.<br/>
 +
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 et 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 en 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.<br/>
 +
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 <em>root</em> ; c’est-à-cire que sur votre propre machine vous n’êtes pas <em>root</em>. Vous ne l’êtes pas pas seulement par défaut, ça c’est un peu raisonnable, mais vous n’avez même pas moyen de passer <em>root</em> 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.<br/>
 +
Il y a un chercheur étasunien qui s’appelle Jonathan Zittrain, qui a fait un bouquin qui s’appelle <em>Le futur de l’internet et comment l’arrêter</em>, 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.<br/>
 +
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.<br/>
 +
Les systèmes non génératifs ont des avantages du point 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, c’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 de 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 un, 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 comme ça, qui sont des engins. 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 <em>root</em> 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 ce qu’ils veulent et ça soulève évidemment des tas de problèmes. Apple s’est récemment positionné 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.<br/>
 +
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 <em>root</em>, 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 de 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.
 +
 +
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.<br/>
 +
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. Et 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.
 +
 +
==26’ 34==
 +
 +
===Chiffrement et ses conséquences===

Version du 21 décembre 2018 à 15:48


Titre : La sécurité est-elle l'amie ou l'ennemie de droits humains ?

Intervenants : 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 :

NB : transcription réalisée par nos soins, fidèle aux propos de l'intervenant mais rendant le discours fluide.
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.

Statut : Transcrit MO

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 version fontwork 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 ce qui défile 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. Le débat 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 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, 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 ouvert, enfin les sujets dont avait parlé l’orateur de l’ANSSI 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 possibles.

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’enjeu politique, 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, forcément va 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 fallais que le site web soit en https mais, et m’expliquait que « mais non, parce qu’en fait htpps ce n’était pas sûr et donc ça ne servait à rien de mettre https ».
Donc il y a des débats comme ça techniques, pas évidents parce qu’il n’a pas complètement tort, mais je ne peux pas en plus 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é ! Si on se limite même 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 n’a pas le droit de 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. 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 libservice(???), 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 une discussion le coup 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.

8’ 40

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 mais dès qu’on creuse un petit peu, il y a des problèmes.
Par exemple la sécurité de qui ? Solenn Brunet avait rappelé dans son exposé, 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 et donc des décisions qui conviennent pour l’un peuvent ne pas convenir pour les autres. D’autre on a déjà le premier problème de 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é c’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 le mettre dans un petit nombre d’endroits bien contrôlés. Donc 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 la plupart des ordinateurs aujourd’hui 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 on ne peut évidemment 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. 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 est 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 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 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 ???, UPnP, pCP et j’en passe, pour arriver à communiquer quand même.
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 et c’est vrai que c’est la technique la plus efficace, c’est un grand classique de tous les pannes tests : vous achetez 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 bien 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.

19’ 08

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 et 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 en 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-à-cire 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 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, 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 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, c’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 de 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 un, 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 comme ça, qui sont des engins. 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 ce qu’ils veulent et ça soulève évidemment des tas de problèmes. Apple s’est récemment positionné 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 de 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.

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. Et 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.

26’ 34

Chiffrement et ses conséquences