Je voulais revenir sur ça à tête reposée.
Très bonne analyse de Reflets.
Tuerie de San Bernardino -> le FBI veut accéder au contenu de l'iPhone d'un des auteurs de la tuerie sauf qu'il est intégralement chiffré -> le FBI exige la coopération d'Apple pour procéder au déchiffrement. Sauf qu'Apple n'a pas la clé car elle est unique à chaque iPhone et elle n'est pas stockée en dehors du téléphone. Apple ne veut pas produire un outil générique de contournement (qui serait signé avec la clé privée d'Apple donc qui serait lancé par le bootloader de tout appareil Apple et qui permettrait de ne pas activer la destruction du contenu après 10 essais de mdp infructueux et de simplifier le bruteforce du bouzin en autorisant la transmission des tentatives autrement qu'en les tapant sur le clavier) au motif qu'il sera utilisé par les autorités dans absolument tout type de dossier et par les criminels et par les dictatures et par les gouvernements de tout poil contre les ONG ou autre. -> le FBI traîne Apple en justice puis se désiste bien avant une décision définitive.
Gros +1 … … …
Bien sûr, officiellement, ce fichier ne sera utilisé que pour lutter contre la fraude identitaire.
‒ Bonjour. Ceci est une ogive nucléaire. Bien sûr, elle est juste là pour assurer la sécurité du hall de l'immeuble.[...]
Bref, quels que soient les garde-fous (bien minces) mis en place, la réalité, c'est qu'un tel fichier va exister. Et que nous n'avons aucune idée de la façon dont il sera utilisé à l'évenir.
Combien de temps avant que des pratiques « alégales » (faux-cuïsme signifiant « complètement illégale mais comme ça vient d'en haut, on va dire que ça passe ») se développent en toute discrétion [...] ?
‒ Mais M. Pujadas, je comprends bien que nos services de renseignement n'avaient techniquement pas le droit d'utiliser le fichier TES pour identifier ces manifestants. Mais enfin on a arrêté des vilains casseurs pas beaux grâce à ça. Elle est pas belle, la vie ?Combien de temps avant un nouvel attentat qui permettra encore de faire sauter les derniers garde-fous ?
‒ Vous vous rendez compte ? Nous avons un fichier qui permettrait d'identifier les assassins en fuite et nous ne pouvons pas l'utiliser à cause de quelques bobos droits-de-l'hommistes ! Est-ce bien sérieux, Mme Ferrari, je vous le demande ?Bref, encore des libertés que nous perdons aujourd'hui. Encore des libertés que nous ne récupérerons jamais, même si la menace terroriste (terrorisme qui fait moins de morts que les accidents domestiques, rappelons-le) s'atténue à l'avenir.
In November 2016, an investigation by journalists from the German TV channel NDR showed that WOT collects, records, analyzes and sells user-related data to third-parties, allowing third-parties to identify individual users, despite WOT's claims they would anonymize the data.[18][19][20] The data obtained was traceable to WOT and could be assigned to specific individuals.[21][22] The investigation was based on freely available sample data, and revealed that sensitive private information of more than 50 users could be retrieved.[19] This information included the visited web-sites, account names, mail addresses and other data potentially enabling the tracking of browser surfing activity, travel plans, illnesses, sexual preferences, drug consumption, and reconstruction of confidential company revenue data of a media house as well as details regarding ongoing police investigations.[18] WOT chose not to comment on the findings when prompted by German media with the results of the investigation prior to the publication of the report.
LALA.
J'ai loupé une bonne partie du début et je n'ai pas la prétention d'avoir tout noté/retenu/compris mais voici quelques notes :
ÉDIT DU 04/11/2016 À 11H35 : ça me sidère que même Mediapart (https://www.mediapart.fr/journal/france/041116/debat-de-la-primaire-sarkozy-transforme-en-punching-ball ) n'a rien relevé d'autre que les querelles politiciennes de bas étage. Presse différente, où es-tu ?! FIN DE L'ÉDIT.
J'ai zappé de faire tourner cette info. L'implémentation OpenPGP des Yubikeys 4 (les séries précédentes ne sont pas concernées mais gèrent uniquement des clés jusqu'à 2048 bits) est du code privateur bien fermé. :(
Technically it's not running any applet, as the YK4 does not have a JavaCard environment. It's running a proprietary implementation of the OpenPGP card specification. [...]
[...]
The implementation is not open source, that is correct. We have both internal and external review of our code to ensure that it is secure. It's important to remember that open source code is no guarantee that bugs/vulnerabilities will be detected as the bug you've linked to demonstrates quite well. The bug was inherited from the upstream project which ykneo-openpgp is based on, and was NOT detected by any audit of the source code. It was interaction with the device itself which lead to it's discovery.
We're all for open source, and we try to open source as much of our code as possible when and where it makes sense, but in this case it was determined not to be so. One reason is that on the YubiKey NEO, each applet runs in its own sandbox, isolated from the rest of the system and can be audited/reasoned about on its own. This is not the case on the YubiKey 4, where each part of the system interacts with several others. Another reason that ykneo-openpgp was implemented as an open source project (aside from being able to leverage an existing project) was that it was useful for others, as it can run on a variety of devices. Again, this is not the case for the implementation running on the YubiKey 4.
Via https://twitter.com/aeris22 , si ma mémoire est bonne.
Parmi toutes les directives de configuration géniales d'OpenVPN, j'en ai encore découverts deux : config et local.
La première, config, permet d'inclure un ou plusieurs fichiers de configuration dans un autre fichier de configuration. C'est extrêmement utile pour factoriser votre configuration quand vous avez plusieurs isntances (UDP et TCP, sécurisée et moins sécurisée, etc.).
La deuxième, local permet d'écouter sur une ou plusieurs IP spécifiées au lieu d'écouter sur toutes les interfaces réseaux. Bon, forcément, vous perdez la fonctionnalité de Linux qui permet d'écouter en IPv6 et en IPv4 en même temps, avec la même socket. Du coup, il vous faudra plusieurs instances : une v4, une v6. Pour peu que vous ayez déjà une instance udp et une instance tcp, ça vous fera 4 instances.
J'ai utilisé la deuxième option pour monter deux VPN dans une même VM : l'un proposant un chiffrement du canal de transport des données en Blowfish + SHA-1 (la config' par défaut depuis des années) et l'autre proposant un chiffrement AES-128 + SHA-256. On route 2 IPv4 et v6 jusqu'à la VM, on attribue les IP sur l'interface. Ensuite, on souhaite associer chaque VPN à une IP. Ce type de configurations permet de conserver un ancien VPN avec un chiffrement qui tend à être démodé aujourd'hui tout en mettant en prod' un VPN avec un chiffrement plus fort pour qu'il puisse être essayé par les utilisateur-rice-s car le chiffrement peut impacter le débit (bon, pas sur l'ADSL, faut pas charrier) et la latence sous certaines conditions, voir : https://shaarli.guiguishow.info/?r6npkg. Au total, on se retrouve avec 8 processus OpenVPN, 8 instances : legacy ipv4 udp, legacy ipv4 tcp, legacy ipv6 udp, legacy ipv6 tcp et la même chose pour le VPN au chiffrement différent. :D
Pourquoi ne pas avoir mis le VPN de test dans une autre VM ?
Parce que ça pose un problème de routage dans notre infra. Hé oui, par défaut, les blocs d'adresses IPv4 et v6 que nous dédions à notre service de VPn sont routés sur le VPN "classique". mais il faut bien que les IPs des aboné-e-s qui testent le VPN "renforcé" soient routées sur l'autre VM. Ça suppose d'utiliser un protocole de routage dynamique pour que l'utilisateur-rice puisse tester en changeant de VPN (classique ou renforcé) à volonté. Sauf que ce routage pose problème.
Si l'on monte 2 sessions BGP (une avec chacun de nos routeurs), ça foire lorsque la VM est sur le routeur qui n'est pas équipé de Quagga. Car, du point de vue de ce routeur Quagga, le next-hop est alors récursif : le next-hop du VPN est l'IP de la VM, le next-hop de la VM, c'est l'autre routeur. Or, Quagga refuse la récursivité quand elle consiste à piocher dans autre chose que des routes statiques ou des routes apprises grâce à un protocole de routage interne. Vieux principe Cisco. Or, nous utilisons exclusivement BGP puisque nos deux routeurs sont les seuls routeurs de notra infra.
Une piste possible est de monter deux sessions BGP et d'envoyer les routes uniquement au routeur-hyperviseur sur laquelle la VM se trouve présentement. Celui-ci sera chargé de le re-annoncer en iBGP à l'autre routeur et vu qu'on écrase le next-hop sur cette session iBGP, ça fonctionnerait. C'est du routage conditionnel. Ça se fait plutôt bien avec ExaBGP, il nous faut juste écrire le programme kiVaBien. Juste, ça sera un while(true) bien monstrueux (ben oui, quoi d'autre pour vérifier si la VM n'a pas changé d'hyperviseur-routeur ?).
Si l'on monte une seule session BGP, uniquement avec le routeur-hyperviseur sur lequel la VM est active présentement, il faut le faire sur une IP locale au lien sinon les deux sessions se monteront automatiquement. Cela fonctionne en IPv4 mais en IPv6, il est impossible de monter une session sans préciser l'interface… sauf qu'avec Ganeti, on ne la connaît pas à l'avance donc impossible de la mettre dans la configuration du routeur BGP. On peut faire un mix incluant neighbor IPv6 globale et source-address locale + multihop mais BIRD ne supporte pas (ce qui est logique, c'est totalement illogique).
De plus, si on a qu'une seule session active à la fois, le monitoring va gueuler (bah oui, y'a une session configurée mais down, c'est bien son rôle de prévenir). Certes, on peut re-écrire le check pour exclure la session BGP avec la VM VPN.
Y'a des services qui refusent de démarrer au boot quand on leur demande d'écouter sur une ou plusieurs IPs (v4 ou v6) spécifiques. C'est typiquement le cas d'Unbound, de BIND et d'OpenVPN.
Ces services s'attendent à trouver les IP configurées sur une interface réseau dès leur lancement. Or, même s'ils sont lancés après le réseau par l'init, en IPv6, il y a une vérification automatique que l'IP n'est pas déjà utilisée sur le réseau. Pendant cette vérification, le noyau n'indique pas aux applications qu'une IPv6 est associée à l'interface réseau, ce qui entraîne l'arrêt des services sus-mentionnés.
Le meilleur moyen de résoudre ce problème est de vérifier si le logiciel n'a pas une option pour re-scanner les interfaces réseaux. BIND dispose de interface-interval, NTPd dispose de -U, par exemple.
Si ce n'est pas le cas, il est toujours possible de désactiver la détection d'IPs dupliquées en ajoutant la ligne suivante dans la définition de l'interface réseau dans /etc/network/interfaces :
pre-up /sbin/sysctl -w net.ipv6.conf.$IFACE.accept_dad=0
ÉDIT DU 1/11/2016 À 22h55 : non, « dad-attempts 0 » ne permet pas de résoudre ce problème. FIN DE L'ÉDIT.
Excellente vidéo qui résume bien les dangers de la robotisation de la censure privée ainsi que les problèmes de flous juridiques auxquels doivent faire face les auteur-e-s de vidéos.
Content ID : les vidéos uploadées sur Youtube sont automatiquement comparées à une base de données d'empreintes de vidéo/image/son fourni par des détenteurs de droits sur des contenus. Il s'agit donc d'une censure privée et aveugle. Si Content ID détecte quelque chose, le détenteur des droits de l'œuvre reproduite peut :
Il y a des abus en masse, que ça soit sur des caricatures, des critiques (droit de citation) ou de la pédagogie. Même pour 8 secondes de vidéo (soit 0,36 % de l'œuvre) situé après le générique (qui a donc été vu par moins de 20 % des personnes qui ont visionné la vidéo). L'auteur peut être dépossédé de l'intégralité des revenus publicitaires qu'il perçoit sur la vidéo pour 8 secondes d'extrait ! De même, l'accès aux Youtube Space (lieux loués par Youtube avec décors, matos et tout) est refusé s'il y a usage d'extraits… Quelques abus célèbres :
Pistes d'amélioration :
https://www.youtube.com/watch?v=JWQLhBVuuB4 :
Entretien avec Stéphanie Bortzmeyer par Camille Paloque-Berges et Valérie Schafer le 23 avril 2015 dans le cadre du projet WEB90. http://web90.hypotheses.org
Le but du projet de recherche WEB90 est de comprendre et documenter les années 1990 en matière de numérique.
Quelques notes :
À l'époque :
Comme Youtube et les vidéos coupées, c'est le mal, je mets à disposition une version complète et dans un format libre (webm / VP8 / Vorbis) : http://www.guiguishow.info/wp-content/uploads/videos/Web90-Stephane_Bortzmeyer-15-04-2015.webm
En 2012, lorsqu’ils avaient attaqué devant le Conseil constitutionnel la proposition de loi relative à la protection de l'identité, une cohorte de sénateurs et députés socialistes, dont Jean-Jacques Urvoas, avait dénoncé le super fichier voulu par la majorité d’alors. Une mégabase regroupant l’ensemble des informations du passeport français et de la carte nationale d'identité qui représentait selon eux « une ingérence dans l'exercice du droit de toute personne au respect de sa vie privée ».
[...]
Quatre ans plus tard, le changement. Le gouvernement a donné naissance ce week-end au fichier des « Titres électroniques sécurisés » (TES). Moins ambitieux que les dispositions censurées, il regroupe bien des informations similaires en procédant à la même logique.
Une fois les arrêtés publiés, il conduira à la suppression du Fichier national de gestion (FNG) relatif aux cartes nationales d'identité et du système TES lié à la délivrance du passeport, et une belle unification dans un seul et même fichier.
Dans son cœur, évidemment l’état civil, mais aussi la couleur des yeux, la taille, l’adresse, la filiation des parents, l'image numérisée du visage et en principe des empreintes digitales de tous les Français. S’y ajouteront l'image numérisée de la signature du demandeur, l’adresse email et les coordonnées téléphoniques du demandeur qui passe par une procédure à distance, le code de connexion délivré par l'administration, etc.
[...]
Sans doute pour s’échapper des ombres de 1940, le texte ne permettra pas d’exploiter un outil de recherche « permettant l'identification à partir de l'image numérisée du visage ou de l'image numérisée des empreintes digitales enregistrées dans ce traitement. »
[...]
De plus, rien ne permet de préjuger d’une modification future des règles, surtout avec les progrès de la reconnaissance faciale ou sous le coup de l'émotion d'un futur attentat. Sur ce point, la CNIL ajoute que « les données biométriques présentent la particularité de permettre à tout moment l'identification de la personne concernée sur la base d'une réalité biologique qui lui est propre, qui est permanente dans le temps et dont elle ne peut s'affranchir. Ces données sont susceptibles d'être rapprochées de traces physiques laissées involontairement par la personne ou collectées à son insu et sont donc particulièrement sensibles ».
Sur le terrain administratif, qui peut accéder à ces traitements ? Évidemment, les services centraux du ministère de l’Intérieur chargés de l’application de la réglementation aux titres. Pourront également le consulter les préfectures, mais aussi les services du renseignement.
[...]
La direction centrale de la police judiciaire, en lien avec Interpol ou le système d’information Schengen, profitera du même sésame « à l'exclusion de l'image numérisée des empreintes digitales ».
[...]
Le texte profite de cette réforme pour revenir d’ailleurs sur les conditions de délivrance de la carte nationale d’identité. Alors que le régime antérieur prévoyait le relevé « d'une empreinte digitale », désormais c’est chacun des index du demandeur qui passeront sous des yeux électroniques (voire l’image du majeur ou de l'annulaire en cas d’impossibilité).
Miam, miam miam, une base centralisée, bien piratable comme il faut, accessible par tout un tas de gens y compris dans Schengen sans aucun vrai contrôle. Putain de merde d'enfoiré-e-s !
L’accord validé le 12 juillet 2016 par la Commission européenne vient remplacer un précédent document datant de 2000. La Cour de justice de l’Union européenne avait alors sanctionné sur l’autel de la vie privée ce Safe Harbor, qui permettait jusqu’à présent aux entreprises installées outre-Atlantique d’importer les données des internautes européens. Les révélations Snowden et la mainmise de la NSA sur ce flux et ce stock ont poussé la CJUE à considérer que les États-Unis étaient tout sauf un port sûr, de niveau équivalent un État membre européen.
Et pour la Quadrature, FDN et FFDN le même reproche peut être adressé à l’accord de Privacy Shield.
[...]
De la même manière, l’accord négligerait de limiter l’exploitation des données au strict nécessaire de l’ingérence dans la vie privée. L’utilisation de ce vivier sera limitée à six motifs. Il y a certes l’espionnage, le terrorisme, les armes de destruction massive, mais également « les menaces pour la cybersécurité ». Pour les trois organisations, on serait bien loin des exigences de la CJUE, à savoir « des fins précises, strictement restreintes et susceptibles de justifier l’ingérence ».
Le mécanisme en outre violerait le droit au recours effectif pourtant exigé par la Cour de Luxembourg, en ne prévoyant pas des règles aussi protectrices que celles en vigueur de ce côté de l’Atlantique.
Enfin, les requérants se souviennent de l’arrêt Digital Right Ireland. En avril 2014, la CJUE avait épinglé la directive sur la conservation des données parce que justement elle avait oublié d’imposer l’intervention d’une autorité indépendante pour limiter l’accès à ces précieuses informations.
[...]
Le front des trois structures n’est pas le seul ouvert contre le Privacy Shield. Digital Right Ireland a également attaqué ce document afin de solliciter son annulation.
À suivre. :)
Quelques remarques intéressantes sur l'écosystème numérique français :
Quelques anecdotes :
Pour le reste, l'orateur raconte aussi n'importe quoi :
Via http://lehollandaisvolant.net/?mode=links, très probablement.
Les limites de Docker exposées par Aeris.
Docker. Une technologie si jeune (2013) et pourtant dorénavant vendue un peu partout comme la technologie miracle qui va résoudre tous les problèmes de déploiement, vous rendre riche et vous ramener l’être aimé. Et pourtant, en pratique cette technologie me pose pas mal de problèmes et de cas de conscience. Revue de détails.
Objectif : portabilité
Le but initial est un peu dans le prolongement de ce qu’a fait Java : construire une fois, déployer partout (« build once, deploy everywhere »). On ne peut nier que l’idée initiale soit bonne tellement le problème du déploiement est un véritable parcours du combattant en pratique.
Un logiciel est rarement un morceau totalement isolé. Il vient avec son interpréteur, ses bibliothèques, nécessite un moteur de base de données, des fichiers de configuration, un serveur web et tout un tas d’autres choses. Cet écosystème va être à gérer tout au long de la chaîne de fabrication, que ça soit en développement, en phase de validation/qualification, en recette ou encore en production.
[...]
Besoins de dev ≠ besoin de la prod
Le premier rempart à l’usage de Docker est que les besoins entre la production et le développement sont assez différents. Un développeur va vouloir accéder facilement aux journaux, si possible en mode debug, alors que la prod préférera les envoyer à un Logstash et en mode info voire warn ou error. Un développeur préférera utiliser directement le serveur d’application léger de son choix comme Jetty, Thin ou Gunicorn, alors que la production configurera un backend Nginx devant ou utilisera des serveurs d’application plus puissant tel que Tomcat ou Passenger. Un développeur préférera sûrement compiler en mode debug pour avoir des retours utilisables en cas de problème alors que la production insistera pour le faire en mode release. La production voudra mettre en place un pare-feu, ou ses outils de supervision de parc, dont le développement n’a même aucune idée de l’existence puisque ça ne fait pas partie de ses compétences ! [...]
Pour les environnements différents, il « suffit » que les devs travaillent hors Docker à l’ancienne, puis une fois parvenus à quelque chose de satisfaisant, s’attaquent à la construction d’une image Docker. Ça implique une espèce de mini-chaîne complète (dev/test/validation/qualification/production) faite uniquement par les développeurs, afin de s’assurer que l’image finale est à peu près conforme à ce qui est attendu (quel logiciel fournir, quelles dépendances disponibles…). Parce que du coup ça n’implique plus que si ça tourne sur leur environnement de dev, ça tourne sur l’environnement Docker. Pas forcément très folichon niveau processus sinon avoir ramené toutes les considérations des autres étapes sur celle de développement.
Pour les besoins propres à la production (pare-feu, monitoring…), Docker permet de créer une image à partir d’une autre. La production repartira donc de l’image fournie par les développeurs pour refaire sa propre image incluant tout le nécessaire. Ça casse aussi l’intérêt de Docker qui garantit que ça tournera en production, étant donné que la production peut elle aussi introduire des bugs. Par exemple l’installation d’un pare-feu va peut-être installer une bibliothèque utilisée par l’application mais dans une version différente. La production devra donc aussi repasser une bonne partie des étapes précédentes (test/validation/qualification) avant la mise en production réelle. Pas folichon non plus.
Dans les deux cas il aurait été plus intelligent que le dev et la prod travaillent ensemble dès le départ (qui a dit Devops ?) pour fournir une image Docker à la QA qui partira en production telle quelle une fois approuvée. Mais alors qu’on utilise Docker ou n’importe quelle autre technologie (virtualisation classique, automatisation d’installation via un outil comme Chef, Puppet, Ansible ou Salt) on aurait obtenu le même résultat.
En commentaire, on trouve cela :
‒ Dev != prod : Oui effectivement, mais justement c'est à toi de construire ton dockerfile en fonction de tes besoins, et pouvoir donc passer d'un environnement d'intégration à un environnement de production via une simple variable. Tu peux par exemple via ces variables, choisir de passer par syslog pour l'intégration et par logstash (ou autre) pour la prod. Si le dockerfile est bien construit, aucun soucis. Je pense qu'il faut absolument garder le contrôle sur ces images.
‒ Dev vs Prod : oui on peut faire, on peut toujours tout faire (même avec du BrainFuck). Avec des terrachiées de variable d’env ou des tonnes de fichiers de config. Mais ça casse tout l’intérêt du « build once run everywhere » tant vanté par Docker. Parce que la version « prod » ne sera pas/peu testée en « dev ». Et donc qu’on repart dans les bons vieux aller-retours dev/prod. Autant virer Docker.
[...]
Quid de la sécurité ?
[...]
Docker repose sur le principe d’immuabilité des images. Une fois une image livrée, on n’y touche plus et au prochain changement nécessaire, on refait une image depuis zéro.
Ça pose un problème assez énorme en termes de sécurité. Le jour où vous avez une faille dans le logiciel livré, on comprend bien qu’on n’échappera de toute façon pas à un correctif, une regénération, un passage intégral de toute la chaîne de qualification et une nouvelle mise en production. Mais si c’est une bibliothèque utilisée par le logiciel, par exemple OpenSSL qui connaît au moins une faille critique de sécurité par jour ?
Dans une infrastructure sans Docker, les gentils administrateurs systèmes se seraient sagement connectés en SSH aux machines impactées, auraient simplement fait un apt update && apt upgrade et basta.
Un patch de sécurité n’introduisant pas de changement de fonctionnalités et les développeurs de OpenSSL faisant bien leur travail, ils livrent des versions patchées assurant la rétro-compatibilité avec les versions précédentes. Les admins peuvent donc appliquer le patch assez rapidement sans avoir besoin de consulter les développeurs. Et la faille est rapidement corrigée avec un risque de régression négligeable (qu’on a parfaitement su accepter et maîtriser pendant des décennies, et même Docker ne pourra jamais garantir le 0 bug). En prime, le logiciel final, lui, n’a pas changé de version.Dans une infrastructure dockerisée, c’est une autre histoire… Les conteneurs devant être immuables, il est interdit aux administrateurs de se connecter aux machines pour les mettre à jour. Un changement de sécurité sur une bibliothèque réclame donc de redérouler l’intégralité de la chaîne : on met à jour la bibliothèque, on construit une nouvelle image Docker (qui change donc de version), on repasse toute la QA, on met en production. La mise en production nécessite un arrêt de l’ancienne image, la migration des données sur la nouvelle image et le redémarrage du système. Bref, vous allez tourner un long moment avec votre image trouée avant d’avoir pu fixer le problème…
Hum, non, on ne repasse pas la QA. Dans les deux cas (sans Docker ou avec), tu as normalement que la lib qui a changée. Comparons ce qui est comparable. :)
Quand on évoque ce problème avec la communauté Docker, ils avancent alors leur recette miracle : l’intégration continue. Certes, si vous réussissez à intégrer l’intégralité de la QA (tests unitaires, tests fonctionnels, tests d’intégration, tests de validation, tests de qualification, tests de recette) dans une suite de tests automatiques, c’est peut-être envisageable de faire une modification dans le code, de cliquer sur un bouton et d’avoir automagiquement la nouvelle version en production. En pratique, on a déjà du mal à atteindre 100% de couverture sur les tests unitaires, et plus on monte dans les étages plus c’est compliqué. Les tests fonctionnels doivent simuler des humains presse-boutons, les tests d’intégration sont un enfer à réaliser vu le nombre de composants en jeu, les tests de qualification sont souvent longs (tests de performance, de tenue de charge…), etc.
Les plus perspicaces d’entre vous auront noté que tout ce qui précède repose sur une hypothèse très forte : on doit être mainteneur de l’image Docker utilisée ! En pratique, beaucoup utilisent des images pré-construites qu’ils assemblent selon leurs besoins. Il existe des dépôts d’images, dont le plus connu est le Hub Docker. Du coup, en cas de faille, il va vous falloir attendre une mise-à-jour. L’unique mainteneur est passé sous un bus ? Vous êtes mal… En termes de sécurité, c’est même encore plus gore dans ce cas, puisque vous n’avez pas beaucoup de moyens de vous assurer que l’image de 600Mo (n’oublions pas que ça intègre un OS complet) que vous allez utiliser n’intègre pas une porte dérobée ou une version obsolète d’une bibliothèque, surtout quand l’image est réalisée avec les pieds et ne permettent aucune vérification a posteriori. Les paquets Debian sont par exemple construits en compilation reproductible et vous pouvez facilement vous assurer que le nginx que vous utilisez est bien le même que celui du paquet Debian officiel alors que sous Docker, je vous souhaite bien du courage ne serait-ce que pour connaître le numéro de version utilisé. Sur chaque image Docker, il faudrait faire une revue assez poussée de ce qui se trouve sur l’image, au moins pour lister les différents composants et bibliothèques intégrés et ainsi connaître les impacts réels sur votre parc d’un correctif de sécurité.
Haha, excellent l'exemple du nginx compilé depuis les sources dans une image Docker. Oui, identifier le bazar dans chaque couche de l'overlay, c'est déjà une plaie.
Dans les commentaires :
Et pour le délai, je prend les paris qu’une image avec 39 overlays comme Sidekiq ne sera pas mise à jour rapidement. Certainement pas en 2h pour les cas très urgents (Heartbleed), ni même en quelques jours. L’image Sidekiq est par exemple toujours bloquée en OpenSSL 1.0.1f, datée de janvier 2014 et toujours faillible à Heartbleed 2 ans après (corrigée dans 1.0.1g…).
Sur twitter - https://twitter.com/aeris22/status/785399182978875392 :
59 overlays Docker pris au pif. 38 faillibles à Heartbleed…
[...]
Mono-processus : ma vie, mon œuvre
L’humanité s’est battue pendant des décennies pour mettre en place le multi-processus, puis le multi-thread… Mais ça c’était avant ! Avec Docker, vous ne pouvez lancer qu’un seul et unique processus dans une image. Pas plus. Ça n’a l’air de rien, mais c’est très handicapant en pratique. Vous ne pouvez pas avoir cron à tourner régulièrement par exemple. Donc pas de logrotate. Vous ne pouvez pas avoir de serveur SSH pour vous connecter à distance sur l’image. Pas de serveur de mail non plus, par exemple pour les rapports journaliers de logwatch (de toute façon on n’a pas cron pour les lancer…). Rien. La seule et unique chose que vous allez pouvoir lancer sera donc votre application. Et c’est tout.
Le problème est que comme on l’a vu précédemment, une application se suffit généralement assez peu à elle-même. Elle nécessite par exemple une base de données, un frontal web, de pouvoir envoyer des courriels… Et donc de lancer plusieurs processus !
En méthode quick & dirty, vous pouvez contourner le problème en lançant un bête script bash qui lancera tout en arrière-plan, ou plus malin un gestionnaire de processus comme supervisord ou pups qui se chargera lui-même de lancer tout le reste de ce que vous avez besoin. C’est tout de même assez galère à faire puisque votre distribution adorée vous fournira des scripts de démarrage pour le système d’init habituel (sysv, systemd, upstart…) et non pour supervisord ou pups, il vous faudra donc faire un travail de portage pour chaque composant nécessaire.
La méthode recommandée par Docker pour gérer vos environnements est l’utilisation de Docker Compose. Vous allez créer autant de conteneurs que de composants de votre écosystème (un pour l’application, un pour la base de données, un pour le serveur de courriel…) et les assembler entre-eux pour qu’ils communiquent correctement.
Pour certains composants comme la base de données, je trouve ça intéressant de séparer du reste, exactement comme on l’aurait fait dans une infrastructure non virtualisée. Pour d’autres, comme un serveur de courriel dédié pour envoyer 3 courriels au mois, c’est du gaspillage de ressources flagrant. Et pour la majorité, c’est d’une prise de tête sans nom… Par exemple dans une application Ruby-on-Rails utilisant Sidekiq comme ordonnanceur, on va se retrouver à avoir 4 conteneurs :
- 1 pour l’application Ruby-on-Rails
- 1 pour le backend web nginx
- 1 pour Sidekiq
- 1 pour le serveur Redis qui sert à la communication entre RoR et Sidekiq
Alors que tout mettre sur la même machine se justifie largement tant qu’on n’a pas une volumétrie délirante (je tiens les 200.000 vues quotidiennes sur Cryptcheck sans soucis avec 1 seul conteneur), on se retrouve avec 4 machines à gérer et à devoir mettre à jour (les 4 utilisent OpenSSL par exemple) et une duplication de l’environnement Ruby (RoR & Sidekiq). On risque aussi de rencontrer des dégradations de performances, puisqu’on passe de communications sur la boucle locale voire des sockets UNIX à une communication TCP/IP externe. Et la sécurité devient tout autant un enfer, avec de la gestion de pare-feu à mettre en œuvre.
On peut très bien avoir plusieurs processus par conteneur Docker mais ce qu'Aeris écrit reste parfaitement valable : si c'est pour déroger à l'un des principes de Docker, le microservice, alors c'est peut-être que ton cas d'utilisation n'entre pas dans la liste de ceux auxquels Docker apporte quelque chose et dans ce cas-là, oui, il vaut peut-être mieux rester à un déployement LXC + ochestration & co. Et la question est : quels microservices tournent de manière parfaitement autonome, sans rien d'autre ?
[...]
De la chasse aux méga-octets à la chasse aux bugs non reproductibles
On a vu juste avant que Docker incite à créer plein de conteneurs pour les assembler entre eux. En interne pour la fabrication de ses propres images, Docker se base aussi sur des images pré-construites qu’il empile les unes sur les autres au travers de OverlayFS. Pour l’image Sidekiq, c’est pas moins de 39 couches empilées.
Déjà, ça n’aide pas à la sécurité non plus, puisqu’une faille corrigée sur une couche réclame la reconstruction de toutes les images situées sur les couches supérieures. Ou alors vous corrigez violemment sur votre couche terminale, mais vous dupliquez alors vos bibliothèques (installées par une couche N mais masquées via overlayfs par la couche N+X) et vous avez le travail à faire sur toutes vos images utilisant la couche faillible.
Ensuite, si on utilisait des images standard, on se retrouverait à consommer plusieurs giga-octets pour pas grand-chose. Du coup, la communauté Docker a commencé à faire la chasse aux méga-octets, et s’est prise de passion pour une distribution présentée comme très légère : Alpine Linux.
Cette distribution vient avec un gros piège… Elle est conçue à la base pour aider à débugger des kernel ! Parce que quand vous développez ce genre de logiciel, vous êtes bien content d’avoir une image de 5Mo qui démarre en 2s, vu le nombre de redémarrages que vous allez faire. Et comme vous ne ferez presque rien côté utilisateur, on peut y mettre des trucs très légers comme musl et busybox au lieu des mastodontes que sont la glibc et les coreutils.
Sauf que musl n’est pas compatible avec la glibc disponible un peu partout. Ni au niveau binaire, ce qui signifie que vous devez compiler explicitement vos logiciels avec cette libc et donc maintenir à la fois un livrable -glibc pour les gens hors de Alpine et un -musl pour Alpine. Ni au niveau fonctionnalités, ce qui fait que vous pouvez rencontrer des bugs incompréhensibles et non reproductibles sur d’autres plate-formes plus standard. Ça peut aller jusqu’à l’impossibilité totale de compiler votre logiciel, comme c’est le cas actuellement avec OpenJDK 8 ou Phusion Passenger.
Bref, vous allez vous retrouver à soit utiliser des images du Hub Docker avec une chance non négligeable d’utiliser un conteneur Alpine dans votre chaîne et faire la chasse aux bugs vraiment chiants à comprendre, soit à devoir faire votre propre image personnelle sans Alpine… Le tout en croisant les doigts à chaque construction d’image pour ne pas tomber en plus sur une image contenant une faille de sécurité…
Au final, Docker passe en plus complètement à côté de la plaque en termes de consommation de ressources. À titre d’exemple, la stack précédente RoR/Redis/Sidekiq/Nginx ramène pour 60 overlays Docker et 3.1 Go d’espace disque, quand je m’en tire pour 1.8 Go pour Cryptcheck avec une stack dev/RoR/Redis/Sidekiq/Nginx/Elasticsearch/CryptCheck/données. Un beau gâchis d’espace…
[...]
Un petit conteneur LXC tout simple, construit à partir de debootstrap générant une image de maximum 200Mo toute mouillée et dans laquelle vous allez installer vos logiciels au mieux avec du apt/dpkg standard et au pire quelques scripts automatisant l’installation (du bon vieux bash over chroot ou du ansible/salt), ça fonctionne simplement et c’est facile à gérer côté sécurité. Et vous découpez vos conteneurs non plus par logiciel comme sous Docker, mais par besoin : 1 conteneur pour toute la stack Discourse, 1 pour votre serveur de courriel entrant, 1 pour votre serveur DNS faisant autorité, etc.
Gros +1
Mon plus gros reproche, en dehors des problèmes de sécurité présentés par Aeris, c'est qu'il est très facile de mal utiliser Docker pour outrepasser les adminsys qui se contenteraient alors de mettre en prod' des dockers et de ne plus y toucher. Hé bah non, adminsys, c'est un métier, dev' s'en est un autre. Le dev' n'a aucune idée de toutes les emmerdes de la prod' (ce n'est pas ce que l'on attend de lui !) et il faudrait mettre son docker en prod' sans rien faire ? L-O-L, on va droit dans le mur. Docker peut facilement se transformer en boîtes noires mises en prod' sans aucun suivi, bref se transformer en supplétif du code jetable que l'on observe bien trop souvent.
À partir de la fin du XIXe siècle, le terme « terroriste » tend le plus souvent à disqualifier certaines formes d’opposition, plus ou moins violentes, aux pouvoirs en place. Il vise moins un comportement donné — et susceptible à ce titre d’une définition juridique rigoureuse — qu’une motivation spécifique, réelle ou supposée, dans la perpétration d’actes pouvant recevoir une qualification pénale. La qualification de terrorisme relève donc davantage du rapport de forces politique que de l’herméneutique juridique.
Aucune convention internationale ne parvient à en proposer une véritable définition. Un flou d’autant plus regrettable que la répression des infractions considérées comme terroristes se traduit par un emballement coercitif à tous les stades du procès pénal. Pourquoi conserver une catégorie juridique aussi peu satisfaisante alors que la réponse pénale doit présenter un caractère exceptionnel et pondéré ?
[...]
[...] Or la spécificité du terrorisme, tel qu’il est apparu dans notre droit il y a trente ans, est d’être en quelque sorte une infraction dérivée, se greffant sur des crimes et délits de droit commun dès lors qu’ils sont commis « en relation avec une entreprise individuelle ou collective ayant pour but de troubler gravement l’ordre public par l’intimidation ou la terreur (3) ». Ainsi, c’est d’abord l’existence de faits, entre autres, d’assassinat, de destruction ou encore de séquestration qui doit être démontrée pour déterminer si l’infraction terroriste a été commise.
[...]
Peut-être nous objectera-t-on que ce qui fonde la singularité du terrorisme réside dans la particulière gravité des faits incriminés. Pourtant, si l’on veut bien prendre quelque distance avec l’effet d’intimidation et de sidération propre à leur mise en scène, cet argument ne résiste guère à l’analyse. Qu’est-ce qui permet de considérer qu’un crime qualifié de terroriste porte davantage atteinte à la cohésion sociale qu’un crime mafieux, qui témoigne d’une hostilité aux fondements de l’État de droit au moins équivalente ? Pour prendre un exemple, peut-on sérieusement affirmer qu’un assassinat commis par fanatisme politique ou religieux est plus « nuisible à la société » qu’un assassinat commis par intérêt, par esprit de clan ou même par pur sadisme ?
On nous opposera alors le caractère massif de certains actes terroristes, tels les attentats de New York en 2001, de Madrid en 2004 ou, plus récemment, de Tunis et de Paris en 2015, de Bruxelles, Istanbul, Bagdad et Nice rien qu’en 2016. C’est oublier qu’il existe pour de tels faits une qualification pénale infiniment plus précise et pertinente : celle de crime contre l’humanité. Le meurtre de dizaines, voire de centaines, de personnes au seul motif de leur appartenance à un État ou à un groupe « ennemi » peut aisément être qualifié d’atteinte volontaire à la vie commise « en exécution d’un plan concerté à l’encontre d’un groupe de population civile dans le cadre d’une attaque généralisée ou systématique (5) »
En définitive, la seule raison d’être de l’infraction de terrorisme réside dans la prise en compte du mobile réel ou supposé de son auteur — à savoir la volonté de « troubler gravement l’ordre public par l’intimidation ou la terreur ». Une incongruité juridique, dans la mesure où le mobile (6) est traditionnellement indifférent à la constitution de l’infraction : il n’apporte qu’un élément permettant d’apprécier sa gravité relative et, ainsi, de déterminer le choix de la sanction. Intégrer le mobile dans la définition d’une infraction, c’est abandonner sa détermination à une appréciation nécessairement subjective des autorités.
Déterminer à partir de quand des infractions de droit commun usuelles comme les atteintes aux personnes ou, plus encore, les dégradations ou détériorations peuvent être considérées comme de nature à troubler gravement l’ordre public au point d’intimider ou de terroriser relève en dernière analyse du fait du prince. La marge d’appréciation est d’autant plus forte qu’il ne s’agit pas seulement de jauger la gravité relative du trouble à l’ordre public, mais aussi de déterminer si l’auteur des faits manifeste en outre une volonté d’intimidation. Elle peut devenir totalement démesurée dans l’hypothèse où les personnes sont poursuivies du chef d’« association de malfaiteurs terroriste (7) » pour avoir préparé un attentat sans parvenir à le commettre.
En somme, la qualification de terrorisme résulte nécessairement d’un rapport de forces et d’une appréciation politiques, au terme desquels les pouvoirs en place l’appliquent de façon plus ou moins discrétionnaire à tel phénomène délictueux plutôt qu’à tel autre. D’un point de vue strictement juridique, rien ne justifie ainsi que l’appellation soit réservée à des attentats à l’explosif par un mouvement régionaliste plutôt qu’à la destruction méthodique de portiques de contrôle par des chauffeurs routiers, les deux actes pouvant être analysés comme destinés à intimider les pouvoirs publics en troublant l’ordre public. De la même façon, rien n’interdit, en l’état des textes répressifs, de voir l’infraction d’« association de malfaiteurs terroriste » utilisée pour poursuivre tel ou tel mouvement syndical ou politique par un gouvernement qui se révélerait peu soucieux de sa légitimité démocratique.
Même dans l’hypothèse où les personnes revendiquent sans ambiguïté une volonté de déstabilisation violente de l’ordre établi, l’arbitraire demeure. Car l’étiquette du terrorisme reste aussi un outil visant à disqualifier comme criminel un mouvement d’opposition politique, que sa violence soit réelle ou non. Les sabotages, destructions et autres exécutions de militaires allemands ou de miliciens commis par les résistants visaient à troubler l’ordre public par l’intimidation ou la terreur, afin de mettre un terme à l’Occupation. Ils furent, à ce titre, poursuivis comme faits de terrorisme par le régime de Vichy (8). Que cette qualification ne soit aujourd’hui plus retenue — ni même d’ailleurs envisageable — ne tient qu’à la légitimité donnée à ces actions dans une perspective historique.
[...] D’une certaine façon, l’inscription sur les listes des organisations terroristes recensées par les États-Unis ou l’Union européenne dépend du lien entretenu par ces puissances avec le régime combattu. Pour ne prendre qu’un exemple, aucune analyse juridique ne peut expliquer que la répression de ses opposants par le gouvernement égyptien soit tolérée au nom de la lutte antiterroriste quand celle menée en Syrie est condamnée comme criminelle.
En d’autres termes, l’importance du trouble à l’ordre social causé par l’infraction et l’émotion qu’il suscite sont mises, sinon en scène, du moins en avant pour justifier l’affaissement plus ou moins important de l’exigence de proportionnalité de la répression et, partant, des garanties du justiciable. En ce sens, la succession de modifications législatives de plus en plus rapide que nous connaissons depuis trente ans relève moins de la volonté d’affiner l’appréhension pénale du phénomène que de monter en épingle le péril terroriste pour justifier un accroissement démesuré des prérogatives des autorités répressives. Cette tendance se traduit par des mesures d’enquêtes particulièrement attentatoires aux libertés sans nécessité de démontrer l’existence d’une organisation criminelle, puisqu’il suffit de relever l’intention supposée de l’individu de « terroriser ». [...]
[...]
Les dernières réformes ont encore aggravé cette tendance. Ainsi, la loi du 13 novembre 2014 a introduit dans notre droit la singulière infraction d’« entreprise terroriste individuelle ». Supposée répondre à l’acte isolé de l’individu préparant seul un attentat, cette incrimination permet en réalité d’embrasser de très nombreux comportements, depuis le simple intérêt pour un fanatisme idéologique jusqu’à la préparation effective d’un assassinat. Là encore, l’extensivité du délit découle moins de la matérialité des actes préparatoires que de l’intention supposée de leur auteur. Il eût en effet été possible de n’incriminer que la préparation d’un attentat à l’explosif pour donner un fondement légal aux poursuites intentées — et ainsi aux mesures de contrainte prises au cours de l’enquête ou de l’information. Mais le législateur a préféré considérer comme terroriste, au même titre qu’un groupe criminel organisé, toute personne qui aura, en plus de rechercher des explosifs, consulté « habituellement un ou plusieurs services de communication au public en ligne (…) provoquant directement à la commission d’actes de terrorisme ou en faisant l’apologie », ou encore « séjourné à l’étranger sur un théâtre d’opérations de groupements terroristes »
Au-delà de son arbitraire, une telle extension risque d’affaiblir l’efficacité de la réponse pénale, dans un contexte où la politique pénale vise prioritairement à poursuivre et à sanctionner les actes au stade de leur préparation. Elle conduit en effet à mobiliser l’attention des magistrats et des services d’enquête sur un nombre toujours plus grand de faits, depuis le projet abouti d’attentat jusqu’à la plus petite déclaration d’intention. Une dynamique qui épuise les moyens humains et logistiques disponibles. Sans compter que, si toute infraction est potentiellement terroriste, rien ne permet plus de distinguer ce qui mérite une attention particulière.
[...]
Dans certains cas, la « terreur » au nom de laquelle on voudrait légitimer le surcroît de répression découle autant, sinon davantage, de la réaction aux actes incriminés que des actes en eux-mêmes. Souvent, c’est avant tout parce qu’une infraction est qualifiée de terroriste que, par le truchement de la caisse de résonance politico-médiatique qui accompagne généralement cet estampillage, elle en devient source d’intimidation, voire de terreur. Cela est particulièrement vrai, par exemple, dans le cas où l’auteur de l’acte est poursuivi du chef d’association de malfaiteurs. À partir du moment où le projet d’attentat n’a, par hypothèse, pu avoir lieu, la dramatisation plus ou moins orchestrée de ses conséquences putatives crée l’effet terroriste.
Des actes aussi effroyables que le massacre de Nice ne peuvent que nous bouleverser profondément et durablement. Mais, même dans l’hypothèse où l’acte recèle en lui-même un potentiel d’intimidation des pouvoirs publics, le qualifier de « terroriste » ne contribue qu’à renforcer son pouvoir symbolique. D’abord, cela a mécaniquement pour effet de mettre sur le même plan la répression en France d’actes qui, même d’une gravité exceptionnelle, n’en demeurent pas moins délictueux et la répression d’opposants politiques pratiquée dans d’autres États sous couvert de la même qualification.
[...]
Les arrêts rendus en la matière par la Cour européenne des droits de l’homme en témoignent. Ils mettent en évidence la propension des autorités, dès lors qu’il est question de « terrorisme », à ne plus prendre en considération le risque de traitements inhumains, voire de torture, que courent les personnes mises en cause dans certains États « partenaires » (13). Cela alimente la rhétorique des groupes criminels qui dénoncent la complicité des puissances occidentales avec des gouvernements corrompus et autoritaires pour appeler, en Europe comme dans les pays concernés, à rejoindre leurs rangs.
Via #arn
Normalement, cette règle ne devrait être fournie qu’à ceux qui en ont besoin, après avoir dument montré patte blanche. Mais Microsoft a fait pour ainsi dire une petite boulette : cette règle « mode debug » est présente dans toutes les machines. Elle ne devrait évidemment pas, mais la conséquence est bien là.
[...]
Il ne semble pas possible pour l’instant d’insérer le moindre malware dans la chaine du démarrage sans que l’utilisateur ne s’en aperçoive. Par contre, la désactivation du contrôle de boot permet à un appareil de démarrer sur n’importe quel système d’exploitation. Il peut s’agir de PC, de tablettes ou de smartphones, les architectures x86 et ARM étant supportées. Certains voient déjà de quoi redonner une nouvelle jeunesse à des Surface RT laissées à l’abandon. Ou pourquoi pas installer Android sur des Lumia.
[...]
Comme indiqué à de nombreuses reprises, il n’existe rien de tel. Une porte ne peut être à la fois dérobée et sécurisée, car il existera toujours le risque que la clé échappe aux propriétaires ou qu’elle soit trouvée d’une autre manière. L’erreur de Microsoft prouve – s’il y en avait encore besoin – que le danger est réel.
Cela rappelle l'histoire de Juniper ( http://shaarli.guiguishow.info/?z-I-1A ) ou les protections anti-copies DVDCSS et HDDVD dont les clés maître ont été dérobées dans les deux cas. Bref, même vieille histoire, même fin.
Via #arn
Le Conseil constitutionnel vient de rendre sa décision en réponse à la question prioritaire de constitutionnalité soulevée par les Exégètes amateurs sur la surveillance hertzienne. Reprenant nos arguments, il constate l’inconstitutionnalité de l’article L. 811-5 du code de la sécurité intérieure permettant une surveillance des communications hertziennes, celle-ci n’étant soumise « à aucune condition de fond ni de procédure » et sa « mise en oeuvre » n’étant encadrée « d’aucune garantie ».
[...]
En effet, les dispositions censurées ne peuvent dès à présent plus « servir de fondement à des mesures d’interception de correspondances, de recueil de données de connexion ou de captation de données informatiques » en France comme à l’international. Les seules mesures pouvant encore être prises sur la base de cet article semblent donc exclure toute atteinte à la vie privée.
[...]
Par ailleurs, le Conseil constitutionnel n’apportant guère de précision quant aux mesures fondées sur l’article L. 811-5 qui pourraient survivre à ces limites, nous espérons que la CNCTR saura, par exemple dans son rapport annnuel à paraître prochainement, fournir quelques explications pratiques à cet égard.
La décision rendue ce jour par le Conseil est un succès incontestable, puisqu’elle doit mettre fin à des mesures attentatoires à la vie privée et aux libertés parfaitement inconstitutionnelles et disproportionnées. En privant les services de renseignement d’une couverture juridique laissant libre cours à toutes sortes de mesures de surveillance illégale, cette décision marque une première victoire dans la procédure engagée par les Exégètes amateurs contre la loi renseignement et ses décrets d’application.
On rappellera que ce bout de texte, qui date de 1991 (!), excluait les communications par voie hertzienne (GSM, 3G/4G, Wi-FI, etc.) et les données liées (données de connexion) du périmètre de l'autorité de contrôle des services de renseignement si le motif "d'atteinte à la sécurité nationale" était utilisé. Évidemment, de nombreux abus ont eu lieu, voir : http://shaarli.guiguishow.info/?k6W51A . La censure par le Conseil Constitutionnel est donc une excellente nouvelle. \o/ Reste à voir le bout de texte qui repoussera derrière mais, quel qu'il soit, il ne pourra pas aller contre le Conseil et il faudra donc de l'encadrement et des conditions de fonds et de forme. L'open-bar est donc refermé ou, à défaut, ne pourra pas se faire de la même façon.
Bon, c'est du classique. Dit et redit des millions de fois mais bon, c'est bien formulé.
Peu de choses m’agacent plus qu’un site quelconque qui me demande « Ne voulez-vous pas utiliser plutôt notre application ? ». Évidemment que je ne veux pas, c’est pour ça que j’utilise votre site web. Certaines personnes aiment les applications et d’autres non, mais au-delà des préférences personnelles, il existe un enjeu plus important. [...]
[...]
Pour comprendre pourquoi le Web est si important, il faut s’imaginer le monde d’avant le Web. De nombreux systèmes d’information existaient mais aucun ne pouvait réellement être interfacé avec les autres. Chaque source d’information nécessitait sa propre application. Dans cette situation, on comprend pourquoi la majeure partie de la population ne prenait pas la peine d’accéder à aucun de ces systèmes d’information.
Le Web a permis de libérer l’information grâce à une interface uniforme. Enfin, un seul logiciel – un navigateur web – suffisait pour interagir avec plusieurs sources. Mieux encore, le Web est ouvert : n’importe qui peut créer des navigateurs et des serveurs, et ils sont tous compatibles entre eux grâce à des standards ouverts. [...]
Au fil des années, les gens se mirent à naviguer sur le Web avec une large panoplie d’appareils qui étaient inimaginables à l’époque de la création du Web. Malgré cela, tous ces appareils peuvent accéder au Web grâce à cette interface uniforme. Il suffit de construire un site web une fois pour que celui-ci soit accessible depuis n’importe quel navigateur sur n’importe quel appareil (tant qu’on n’utilise rien de spécial ou qu’on suit au moins les méthodes d’amélioration progressive). De plus, un tel site continuera à fonctionner indéfiniment, comme le prouve le premier site web jamais créé. La compatibilité fonctionne dans les deux sens : mon site fonctionne même dans les navigateurs qui lui préexistaient.
[...]
Pourquoi les éditeurs de contenus préfèrent-ils les applications ? Parce-qu’elles leur donnent bien plus de contrôle sur ce que nous pouvons et ne pouvons pas faire. Le « problème » avec les navigateurs, du point de vue de l’éditeur, est qu’ils appartiennent aux utilisateurs. Cela signifie que nous sommes libres d’utiliser le navigateur de notre choix. Cela signifie que nous pouvons utiliser des plugins qui vont étendre les capacités du navigateur, par exemple pour des raisons d’accessibilité, ou pour ajouter de nouvelles fonctionnalités. Cela signifie que nous pouvons installer des bloqueurs de publicité afin de restreindre à notre guise l’accès de tierces parties à notre activité en ligne. Et plus important encore, cela signifie que nous pouvons nous échapper vers d’autres sites web d’un simple clic.
Si, en revanche, vous utilisez l’application, ce sont eux qui décident à quoi vous avez accès. Votre comportement est pisté sans relâche, les publicités sont affichées sans pitié. Et la protection légale est bien moindre dans ce cadre. L’application offre les fonctionnalités que le fournisseur choisit, à prendre ou à laisser, et vous ne pourrez ni les modifier ni les contourner. Contrairement au Web qui vous donne accès au code source de la page, les applications sont distribuées sous forme de paquets binaires fermés.
[...]
[...] Leur objectif principal, en réalité, est de nous garder dans l’application. Depuis iOS 9, cliquer sur un lien dans une application permet d’ouvrir un navigateur interne à l’application. Non seulement cette fonctionnalité prête à confusion (depuis quelle application suis-je parti(e), déjà ?), mais surtout elle augmente le contrôle de l’application sur votre activité en ligne. Et une simple pression du doigt vous « ramène » vers l’application que vous n’aviez en fait jamais quittée. Dans ce sens, les applications contribuent sciemment à la « bulle de filtre ».
[...] Les Articles Instantanés [ NDLR : de Facebook ] sont vendus comme une expérience « interactive et immersive » avec plus de « flexibilité et de contrôle » (pour les fournisseurs de contenu bien sûr) qui entraînent de nouvelles possibilités de monétisation, et nous rendent une fois de plus « mesurables et traçables ». [...] Le nom « Articles Instantanés » fait référence à la promesse d’une rapidité accrue, et bien qu’ils soient effectivement plus rapides, cette rapidité ne nous est pas vraiment destinée. Facebook explique que les utilisateurs lisent 20 % d’articles en plus et ont 70 % de chances en moins d’abandonner leur lecture. Ces résultats favorisent principalement les éditeurs… et Facebook, qui a la possibilité de prendre une part des revenus publicitaires.
Ne vous y trompez pas : les applications prétendent exister pour notre confort, mais leur véritable rôle est de nous attirer dans un environnement clos pour que les éditeurs de contenu puissent gagner plus d’argent en récoltant nos données et en vendant des publicités auxquelles on ne peut pas échapper.
Les développeurs aussi gagnent plus, puisqu’ils sont désormais amenés à élaborer des interfaces pour plusieurs plate-formes au lieu d’une seule, le Web (comme si l’interface de programmation du Web n’était pas déjà assez coûteuse).
[...]
Cette chanson me rappelle soudain le directeur de Facebook comparant les sites web et le vinyle. L’analogie ne pourrait pas être plus juste. Le Web est un disquaire, les sites sont des disques et le navigateur un tourne-disque : il peut jouer n’importe quel disque, et différents tourne-disques peuvent jouer le même disque. En revanche, une application est une boîte à musique : elle est peut-être aussi rapide qu’un fichier MP3, mais elle ne joue qu’un seul morceau, et contient tout un mécanisme dont vous n’auriez même pas besoin si seulement ce morceau était disponible en disque. Et ai-je déjà mentionné le fait qu’une boîte à musique ne vous laisse pas choisir le morceau qu’elle joue ?
Petit annuaire des traités internationaux, directives européennes, lois françaises, décret, décisions de justice concernant Internet, avant 2010. On y apprend des bouts très lol genre que la HADOPI 2 a bien un droit de couper les accès Internet dans la théorie ou que l'ARJEL veut un accès chiffré permanent aux casinos en ligne. :D Je note aussi que les mauvaises idées se sont propagées très vite de lois en lois. Genre la sécurisation des accès à Internet qui est la mécanisme clé d'HADOPI est présent dans DADVSI sous une forme non contraignante. :-
Pour les parties portant sur les données de connexion, ça se lit en parallèle de ça : http://shaarli.guiguishow.info/?Cqvmhw
Traité de l’OMPI sur le droit d’auteur = Traité du 20 décembre 1996
L’article 4 protège les programmes d’ordinateurs et tant qu’ "oeuvres littéraires".
Convention sur la cybercriminalité = Convention de Budapest – du 23 novembre 2001 = « Convention on Cybercrime »
Interdit le "hacking", le pedoporn, les atteintes à la propriété intellectuelle. Pedoporn au même niveau que "hacking" et propriété intellectuelle. ;)
Dans l’article 16, les parties s’engagent à conserver les données de connexion « au maximum 90 jours »
Dans l’article 21, les parties s’engagent à obliger les F.A.I. à « intercepter les données relatives au contenu », pour « un éventail d’infractions graves ».
[...]
La Directive dite IPRED = Directive 2004/48/EC du 29 avril 2004 « directive on the enforcement of intellectual property rights »
Ils [ NDLR : les États membres ] doivent poursuivre pénalement et permettre aux ayant droits de poursuivre, les personnes morales dont les services sont utilisés par les contrefacteurs (implicitement, les F.A.I. et les plates-formes de P2P).
[...]
Loi Godfrain Loi du 5 janvier 1988 (une loi ’anti-hackers’ de fait) « Loi relative à la fraude informatique »
Cette loi très courte (un seul article) interdit toute intrusion dans un système informatique, même sans modification ni utilisation des données rendues accessibles. (2 mois de prison et 50.000F d’amende).
Les peines augmentent évidemment en cas de vol ou de destruction des données.
Loi définissant les obligations des éditeurs de sites internet = Loi du 1er août 2000. « Loi modifiant la loi n°86-1067 du 30 septembre 1986 relative à la liberté de communication
Ébauche de la LCEN : les éditeurs de sites web doivent indiquer les noms et adresses de la personne responsable des publications ou, si ce ne sont pas des pros, les coordonnées de leur hébergeur + début de conservation des données de connexion + retrait des contenus illégaux sur demande par les hébergeurs.
Loi LSQ = loi du 15 novembre 2001 Loi relative à la sécurité quotidienne.
l’article 29 autorise « l’autorité judiciaire » à demander la conservation des données de connexion pendant 1 an (une mesure qui sera généralisée par la directive ’data retention’).
les article 30 et suivants sont relatifs à la « cryptologie ». L’autorité judiciaire peut faire appel à des experts soumis au ’secret-défense’ pour effectuer des opérations de déchiffrement.
Le fait de refuser de donner les chiffres nécessaires au déchiffrement est puni selon les cas :
- de 2 ans d’emprisonnement et de 30.000 euro d’amende
- de 3 ans d’emprisonnement et de 45.000 euro d’amende
- de 5 ans d’emprisonnement et de 75.000 euro d’amende
Quelques infos en plus : http://shaarli.guiguishow.info/?ztARDA
Loi LCEN = loi du 21 juin 2004 » « Loi pour la confiance dans l’économie numérique »
L’article 18 permet à une autorité administrative de fermer un site de vente en ligne.
L’article 31 « la fourniture de prestations de cryptologie doit être déclarée auprès du premier ministre ». (sinon : 2 ans d’emprisonnement et 30.000 euro d’amende)
L’article 46 interdit de mettre à disposition et même de détenir (donc même d’inventer) un programme permettant de s’introduire dans un système informatique.
[...]
Loi DADVSI = loi du 1er aout 2006 « Loi relative aux droits d’auteurs et aux droits voisins dans la société de l’information »
Elle contenait à l’origine un dispositif de « riposte graduée » appliquée au P2P, qui a été censuré par le conseil constitutionnel
Aricle 19 : il est interdit de contourner une mesure technique de protection (DRM)
Article 21 : il est interdit de diffuser un logiciel de contournement de mesure technique de protection : 3 ans de prison et 300.000 euro d’amende. (la fin de l’article 21 sur le P2P a été censurée par le conseil constitutionnel).
Article 23 : il est interdit de se ’casser’ une protection par un bricolage personnel (3750 euro d’amende)
Article 25 : Le titulaire d’un abonnement internet doit veiller à ce que sa ligne ne serve pas au piratage. Son F.A.I. doit lui proposer des « moyens de sécurisation » à cet effet.
Article 27 : les logiciels « principalement utilisés pour la diffusion illicite d’oeuvres » (=P2P) peuvent être sommés par un juge de ne laisser passer que les contenus libres de droits.
Les derniers articles obligent les hébergeurs à envoyer des copies de leurs pages hébergées à la bibliothèque nationale, pour archivage.
Loi prévention délinquance = Loi du 5 mars 2007 loi relative à la prévention de la délinquance.
ARTICLE 40 modifiant l’ARTICLE 6 de la LCEN. Cet article ajoute à la liste des ’contenus odieux’ (négationnisme + haine raciale + pornographie infantine) « l’incitation à la violence et les atteintes à la dignité humaine ».
Les hébergeurs et F.A.I. doivent aussi signaler à leurs abonnés « les services de communication au public en ligne tenus pour répréhensibles »
[...]
Loi dite HADOPI 2 « LOI n° 2009-1311 du 28 octobre 2009 relative à la protection pénale de la propriété littéraire et artistique sur internet »
Elle permet de couper la connexion internet des gens. Elle utilise une astuce juridique expliquée dans ce blog
Ho, donc c'est resté malgré la censure du Conseil Constitutionnel :O Cette possibilité a été supprimé par décret sous la présidence d'Hollande : http://www.huffingtonpost.fr/2013/07/09/hadopi-la-coupure-dinternet-cest-termine-un-seul-internaute/
Loi du 12 mai 2010 relative à l’ouverture à la concurrence et à la régulation du secteur des jeux d’argent en ligne = loi jeux en ligne / loi ARJEL
ARTICLE 16 : Accès permanent de l’ARJEL aux serveurs. Les agents de l’ARJEL peuvent entrer à tout moment dans le le local ou se trouvent les serveurs.
[...]
Décret du 6 Fevrier 2007 relatif à l’attribution et à la gestion des noms de domaine sur internet.
Ce décret ajoute une section « noms de domaines » au code des postes et communications.
[...]
Décret (HADOPI) du 5 mars 2010 relatif au traitement automatisé des données à caractère personnel
(remarque : la LCEN n’oblige pas les F.A.I. à communiquer ces données à une autorité non judiciaire, ni à fournir une adresse électronique à leurs abonnés) ; le décret appelle donc de ses voeux une« convention » avec chaque F.A.I. pour réaliser « l’interconnexion » de ses données avec celles qui sont apportées par les ayant-droit.
Ho, c'est donc pour ça les conventions et le fait que les FAI non conventionnés échappent au radar de la HADOPI !
[...]
L’arrêté ARJEL (= le cahier des charges) Arrêté du 17 mai 2010 portant approbation du cahier des charges applicable aux opérateurs de jeux en ligne
L’ARJEL veut aussi une connexion chiffrée permanente avec l’opérateur de jeu agréé
Via #tetaneutral.net
Vu que l'on a entendu tout et son contraire à longueur de temps, je voulais revenir à tête reposée sur l'utilisation de la cryptographie par les terroristes auteurs d'attentats.
Oui, mon angle d'attaque du sujet est très restreint puisque j'exclu ainsi la propagande de Daesh sur Telegram ou ailleurs (ce qui exclu ce genre de choses : https://fr.sputniknews.com/france/201609251027914228-attentat-police-terroriste-detention-messagerie/ ) , par exemple. Ce qui m'intéresse, c'est la préparation et la commission d'actes. La propagande, ça reste des mots, c'est une pente glissante comme je l'ai déjà écrit dans d'autres shaarlis.
Petite liste :
En dehors des attentats, on trouve diverses choses :
Farouk ben Abbes, un Belge de 39 ans, a lui été impliqué dans de nombreux dossiers terroristes : mis en cause dans la filière d’Artigat, il a été interpellé après l’attentat du Caire et mis en examen en 2010 dans le cadre du projet d’attaque visant le Bataclan [...] Lors de son interpellation en Egypte, Farouk Ben Abbes était en possession de documents relatifs à la fabrication d’explosifs et d’une clé de chiffrement informatique au nom d’Abou Khattab, le responsable de « l’Armée de l’islam ». Un mail intercepté le 10 mars 2009 entre Abou Khattab et Mustapha Debchi, membre du Groupe salafiste pour la prédication et le combat, semble étayer les soupçons égyptiens : « Pour ce qui est du frère belge qui aspire à l’érudition, la franchise n’est pas non plus pour me déplaire. Demande-lui mot pour mot : est-il prêt à commettre une opération martyre en France ? (…) Donne-lui mon adresse électronique et la clé et envoie-moi sa clé à lui. »
C'est très intéressant, on dirait une utilisation d'OpenPGP. Source : http://www.lemonde.fr/attaques-a-paris/article/2016/02/16/aux-origines-des-attaques-du-13-novembre_4866149_4809495.html
Chez la jeune femme, les enquêteurs ont saisi des clés de chiffrement ayant potentiellement servi à crypter des SMS et à enregistrer des numéros de portable.
« Elle » désigne Emilie L., compagne de Sid Ahmed Ghlam, auteur présumé de "l'attentat" déjoué de Villejuif en avril 2015. Et visiblement, on n'a jamais eu de confirmation de ces faits écrits au conditionnel. Voir http://www.liberation.fr/societe/2015/04/24/sid-ahmed-ghlam-un-suspect-surveille-d-un-peu-trop-loin_1264926
Dans un reportage sur les liens entre les terroristes de Bruxelles, la chaîne CNN rapporte avoir pris connaissance de la transcription d’un interrogatoire de Reda Hame, un djihadiste français revenu en France en août 2015, aussitôt arrêté par la Direction générale de sécurité intérieure (DGSI). Entraîné par Abdelhamid Abaaoud, Hame aurait expliqué aux enquêteurs avoir reçu une formation sur TrueCrypt, un outil qui permet de créer un disque dur virtuel chiffré. [...] Déjà en février dernier, L’Obs rapportait que lors de son arrestation, Reda Hame avait raconté qu’il devait préparer une action contre une salle de spectacle (c’était quelques mois avant la tuerie du Bataclan), et que « chez lui, les enquêteurs découvrent une clé USB contenant trois utilitaires de destruction de données numériques et le logiciel de chiffrement TrueCrypt ».
Une chose est sûre en tout cas : l'utilisation de méthodes de chiffrement (et de Telegram) n'empêche pas la police de remonter les réseaux, notamment les personnes en contact avec Rachid Kassim. Voir https://www.letemps.ch/monde/2016/09/16/deux-personnes-soupconnees-dactivites-terroristes-ont-arretees-belgique et http://www.7sur7.be/7s7/fr/31902/La-menace-EI/article/detail/2867542/2016/09/12/La-messagerie-cryptee-Telegram-un-defi-de-taille-pour-les-enqueteurs.dhtml
En s’inspirant des problèmes d’accès à l’informatique des personnes déficientes visuelles, Jean-Philippe et Corentin, les fondateurs d’Hypra (dont plusieurs membres sont aveugles ou mal voyants) ont conçu un modèle qui personnalise l’accompagnement de l’utilisateur. Leur « Système à Accès Universel » facilite la migration vers le logiciel libre, y compris pour le grand public.
Deux possibilités, soit je suis complètement aveugle (environ 100 000 personnes en France) et je recours à un transcripteur braille que je connecte à mon ordinateur (mais une minorité des aveugles lisent le braille), soit j’utilise un retour vocal.
Si je suis malvoyant, je vais utiliser un certain nombre de fonctionnalités d’assistance visuelle : le zoom, l’inversion des contrastes, un localisateur de curseur, de souris etc.
[...]
Notre innovation tient d’abord à cela. Pour la première fois, Hypra fournit un système d’exploitation à ses utilisateurs qui leur assure cette complémentarité. Et là où JAWS, le retour vocal historique, coûte 1 500 euros (pris en charge sur les fonds publics), et où ZoomText, la solution leader sur la malvoyance, coûte 600 euros, notre couplage de solution est lui gratuit.
[...]
Nos utilisateurs payent pour du service, c’est à dire justement la personnalisation de l’accompagnement. Au global, cela leur revient le prix qu’ils payeraient pour un simple ordinateur Mac ou Windows sur deux ou trois ans, c’est à dire 1 500 à 1 600 euros. Mais plutôt que de les payer sans visibilité sur deux, trois ans, ils payent d’une traite avec la garantie de ne plus avoir à subir de coûts cachés liés aux problèmes de mise à jour, de sécurité, mais aussi de matériel. Nous sommes en effet en train de ficeler un solide accord-cadre avec plusieurs constructeurs de manière à offrir un S.A.V. irréprochable et global (logiciel et matériel).
[...] Bien sûr, pour celles et ceux qui aiment la débrouillardise et qui ont du temps à y consacrer, il est possible de se passer de formation et d’accompagnement sur la durée, et le prix est alors ramené entre 800 à 1 000 euros. Nous ne le conseillons qu’aux utilisateurs très avancés.
Ce que nous proposons, nous, en définitive, c’est une continuité de service qui garantit de trouver un interlocuteur et un dialogue de qualité, une exigence de performance et de délais lorsqu’un problème quelconque se présente. Cela permet d’économiser sur l’autre grand coût caché de l’informatique : le temps. [...]
[...]
Notre engagement éthique en ce domaine est clair : nous ne recourons à des logiciels propriétaires que lorsque aucun autre choix non-handicapant pour l’utilisateur n’est possible. Nous l’avons fait pour le retour vocal, nous allons le faire pour un logiciel qui permet aux aveugles de lire leur courrier papier (via la reconnaissance optique de caractères). Seuls des logiciels propriétaires pouvaient assurer une performance suffisante. Nous avons déjà en tête de proposer dans le futur la même performance mais sous la forme de logiciels libres dont nous aurions coordonné le développement.
[...]
Je dirais que c’est l’inverse. Les handicapés, mieux que personne, comprennent l’importance fondamentale du logiciel libre. [...] Par ailleurs, ce sont aussi les premiers à souffrir des rentes de monopole que constituent les entreprises qui conçoivent et commercialisent des logiciels propriétaires. Notre grand sondage mené en janvier 2015 montrait qu’une grande partie de la population déficiente visuelle était consciente que JAWS (le retour vocal à 1 500 euros) était sur-tarifé pour les évolutions qu’il connaît dans le temps. Beaucoup s’indignaient sur l’effet d’aubaine de la prise en charge publique (par les Conseils Généraux) d’un logiciel aussi cher. Mais surtout, 75 % des 450 répondants se déclaraient prêts à passer au logiciel libre si une offre de service de qualité était fournie.
Si l’on se tourne vers le grand public, l’équation n’est pas si différente, mais la prise de conscience est peut-être moins avancée. Je dis bien peut-être. Car les gens sont fatigués des mises à jour incessantes et déstabilisantes sous Windows dont le paroxysme est Windows 10, ils sont également fatigués de la sous-traitance du service de Apple à des organismes agréés qui sont des machines à cash. [...]
[...] Il faut bien comprendre que le libre, ça n’a pas une bonne image parmi le public (au mieux l’indifférence, au pire le rejet par préjugé). Pour pleins de raisons et parce que sa compréhension exige de réfléchir à des choses que les gens ne soupçonnent pas. Ou elle renvoie à un historique, une image, pas toujours génial. Du coup, tout en affirmant notre ancrage libriste sans complexe, on ne le met pas en avant auprès de nouveaux clients, sauf si ça permet d’aborder un sujet qui préoccupe un utilisateur [...]
[...] Enfin, quand on forme les gens, pas question d’empêcher les installations non Hypra, les mises à jour, contrairement à Ordissimo. [...] Ordissimo se base sur Debian et protège son travail de paramétrage en ne le reversant pas et en n’y autorisant pas de modification. Hypra est transparent et dans une logique de dialogue mutuel constant avec Debian, et nous l’affirmons. [...]