De futurs problèmes à venir avec les mac porteurs d'anciennes versions de Safari
Merci au lecteur, Monsieur Z, pour le contenu très intéressant de cette brève.
À quelques jours du lancement d’OS X El Capitan, il me semble important de rappeler un aspect de la politique d’Apple vis-à-vis des mises à jours de sécurité et mettre en lumière certaines faiblesses des anciennes versions de Safari qui risquent de devenir bien plus problématiques en 2016.
Échec de négociation TLS entre Safari 6.1.6 et le serveur d’un sympathique hacktiviste configuré uniquement pour de la crypto moderne.
Apple fournit traditionnellement des mises à jour de sécurité pour la version courante d’OS X ainsi que les deux précédentes, cela signifie que les utilisateurs de Mountain Lion (OS X 10.8) seront prochainement laissés à l’abandon. Avec la politique de gratuité d’Apple vis-à-vis d’OS X, migrer vers une version plus récente n’est pas réellement un problème, en pratique le Mac App Store ne propose que la version courante d’OS X.
Mon propos n’est pas de vous faire peur en vous expliquant qu’un Mac avec un vieux système dont la sécurité est délaissée finira nécessairement enrôlé dans un botnet qui servira sporadiquement à mener des attaques DDoS ou des campagnes de SPAM à votre insu. Mais il y a toutefois un logiciel qui pose un problème particulier : Safari, plus précisément les vieilles versions antérieures à la 7 (donc avant Mavericks OS X 10.9).
Il y a actuellement en service, au niveau mondial, près de 25 % de navigateurs sur ordinateurs (hors tablettes et smartphones) qui ne supportent pas la crypto moderne… au rang desquels figurent Safari 6 et 5.
Résultat de l’analyse réalisée pour Safari 6.1.6 par le site How’s my SSL?
La cryptographie moderne dans le contexte du web, ça veut principalement dire TLS 1.2 avec du chiffrement AES-GCM et quelques raffinements, par opposition à TLS 1.0 ou pire SSLv3.
Pour faire simple, lorsqu’un navigateur web accède à un site sécurisé en HTTPS (donc avec le fameux et trop simpliste petit cadenas) il vérifie l’identité du site en contrôlant le certificat présenté par celui-ci et négocie l’ouverture d’une session sécurisée (chiffrée donc) au sein de laquelle transiteront les données HTTP, pour ce faire pendant très (trop) longtemps le protocole SSL a été très majoritairement utilisé bien que notoirement imparfait. Fin 2014 une faille de sécurité facilement exploitable nommée POODLE a poussé brutalement SSLv3 vers la sortie au profit de TLS, qui n’est en définitive qu’une évolution de SSL juste plus aboutie et normalisée par l’IETF. TLS existe en fait depuis 1999 et est décliné en plusieurs versions : 1.0, 1.1, 1.2 et prochainement 1.3, elles sont apparues chronologiquement et apportent à chaque fois quelques améliorations. L’usage quasi exclusif de SSLv3 pendant plus de 15 ans a fait que TLS a souvent été considéré comme une version de luxe de SSL implémentée uniquement dans sa version de base en raison de son faible usage. Mais depuis 2014 et le passage précipité de SSLv3 à TLS 1.0 tout s’accélère, en effet on sait depuis 2011 que TLS 1.0 présente une vulnérabilité nommée BEAST lorsqu’on l’utilise en conjonction avec la méthode de chiffrement par bloc AES-CBC, pour contourner celle-ci la méthode de chiffrement de flux RC4 a été préconisée un temps, celle-ci présente l’avantage d’être plus rapide… et l’inconvénient d’être moins robuste. Le hic étant que plus le temps passe et plus RC4 est démontré comme étant faible, Google, Microsoft et Mozilla ont d’ailleurs annoncé son retrait de leurs navigateurs début 2016, d’un autre côté une contre-mesure à la vulnérabilité BEAST, le 1/n-1 split, a été implémentée dans certains navigateurs… mais Apple s’est illustrée en rendant l’activation optionnelle et foireuse dans Mountain Lion OS X 10.8 (sans parler de ce qui est antérieur et qui est déjà à l’abandon).
Toujours est-il que TLS 1.0 n’offre plus assez de garanties de sécurité (trop d’aléas d’implémentations) et n’a, par exemple, pas été retenu pour HTTP/2, pire encore en avril dernier le PCI SSC (Payment Card Industry Security Standards Council, c'est-à-dire VISA, MasterCard et les autres réseaux de cartes) a décidé de manière quelque peu anticipée de bannir cette version de TLS prochainement. PCI DSS 3.1 constitue les règles d’utilisation des données cartes actuellement en vigueur et imposées à tous les acteurs qui collectent, font transiter ou stockent celles-ci (le but étant d’éviter les divulgations massives qui entrainent de coûteuses révocations et pourraient entamer la confiance des utilisateurs dans le système de cartes en lui-même ; les méthodes de paiement alternatives comme le Bitcoin n’étant pas trop la tasse de thé des membres de PCI).
Après le 30 juin 2016 il ne sera donc plus question de confier des données carte à TLS 1.0 depuis un formulaire de paiement sur un site d’e-commerce, mais actuellement il n’y a moins de 1 % des sites qui nécessitent uniquement TLS 1.1 et plus… il reste 9 mois pour arriver à 100 % des sites d’e-commerce (plus de 160 000 en France).
Extrait du supplément de PCI DSS 3.1 destiné à clarifier la fin de SSLv3 et TLS 1.0.
Julien Vehent est un membre de Mozilla particulièrement impliqué dans la sécurité et le Wiki Server Side TLS
On se doute bien que les sites d’e-commerce qui n’ont pas envie de perdre plus 20 % de leurs clients du jour au lendemain, car une grosse population d’internautes utilise encore de vieux navigateurs comme Safari 6, Internet Explorer sur Vista et XP est également concerné (avec Windows 7 il faut manuellement activer une option si on utilise IE 10 ou moins), les chiffres sur mobile sont bien pire encore à cause d’Android, Apple a bien mieux soigné iOS, qui bénéficie de TLS 1.2 depuis très longtemps. Pour l’instant le problème est assez méconnu et si l’état du parc des navigateurs n’évolue pas considérablement avant juin 2016, il n’est pas impossible que les PSP (fournisseurs de solutions de paiement) et les banques tentent de négocier avec le PCI SSC pour reporter l’échéance (et donc faire passer le business avant la sécurité).
Par ailleurs en raison des révélations d’Edward Snowden concernant les moyens colossaux mis en œuvre pas la NSA, on assiste actuellement à un mouvement de fond pour déployer de la crypto partout sur le web (HTTP serait délaissé au profit du seul HTTPS) et qui plus est de la crypto robuste moins influencée par certains organismes fédéraux américains, c’est-à-dire TLS 1.3 qui s’affranchit des travaux du NIST (National Institute of Standards and Technology), il ne fait aucun doute que Google et même Apple (qui est très volontariste concernant l’utilisation de TLS 1.2 dans iOS 9 et OS X El Capitan) finiront par promouvoir l’adoption de TLS 1.3 et cela se fera nécessairement au détriment de TLS 1.0.
Tout ça pour dire qu’il est grand temps d’arrêter d’utiliser les vieilles versions de Safari car cela ralentit l’adoption de méthodes de chiffrement plus robustes, ce qui finira tout de même par arriver, si ce n’est en 2016 ce sera en 2017, donc si vous tenez à Safari passez à une version récente d’OS X, si pour une raison X ou Y vous êtes coincés sur une vieille version d’OS X adoptez dès maintenant un navigateur alternatif comme Firefox qui lui est à jour au niveau sécurité. Quand je dis « vous » je ne pense pas aux seuls lecteurs de MacBidouille qui sont certainement plus à jour que l’ensemble des utilisateurs de Macs et je sais pertinemment qu’il faut parfois investir dans des mises à jours de logiciels tiers quand ceux dont on dispose ne sont pas compatibles avec un système plus récent, ce qui peut constituer un frein à la migration et finalement, si on ne s’en préoccupe pas spécialement, on se retrouve avec un système qui a quelques années au compteur… tout en remplissant très bien sa tâche. Mais désormais vous êtes prévenus : le web va doucement se fermer aux navigateurs trop anciens et de manière bien plus radicale que de petits défauts d’affichage, donc passez le mot et aidez vos proches à faire le saut vers un OS X récent ou au minimum un navigateur alternatif à jour.
https://support.apple.com/fr-fr/HT201222
https://community.qualys.com/blogs/laws-of-vulnerabilities/2014/10/16/sslv3-and-poodle-attacks
https://community.qualys.com/blogs/securitylabs/2011/10/17/mitigating-the-beast-attack-on-tls
http://www.rc4nomore.com/
https://community.qualys.com/blogs/securitylabs/2013/03/19/rc4-in-tls-is-broken-now-what
http://venturebeat.com/2015/09/01/google-microsoft-and-mozilla-will-drop-rc4-support-in-chrome-edge-ie-and-firefox-next-year/
https://community.qualys.com/blogs/securitylabs/2013/10/31/apple-enabled-beast-mitigations-in-os-x-109-mavericks
https://letsencrypt.org/
http://standblog.org/blog/post/2015/08/27/Flicage-brouillon-Partie-4-chapitre-28-Choisir-et-personnaliser-son-navigateur