Fermer le menu
 

SSL : une faille majeure dans iOS et OS X

Christophe Laporte | | 22:45 |  113

La faille de sécurité relative à la vérification de la connexion SSL est sans doute l’une des plus graves dans l’histoire d’Apple. Avant d’entrer dans les détails, nous ne pouvons que vous encourager à faire de toute urgence la mise à jour de tous vos terminaux iOS. Au passage, elle n'est pas problématique pour le jailbreak.

La sortie des mises à jour de sécurité pour iOS 6.1.x et 7.0.x fait l’objet d’une belle polémique depuis hier. En proposant ce correctif, Apple a officialisé cette faille en quelque sorte et rendu publique son existence. Comment a-t-elle pu faire cela tout en laissant OS X dans le noir et dans une moindre mesure ses testeurs sous 7.1 ? Précisons d’emblée que celle-ci touche « seulement » les personnes sous Mavericks.

Pourquoi cette faille est dangereuse

Revenons-en à la faille : Transport Layer Security (TLS), et son prédécesseur Secure Sockets Layer (SSL) sont des protocoles permettant de sécuriser les échanges sur Internet. Le problème dans l’implémentation d’Apple, c’est que le système de vérification de l’authentification SSL est en proie à un gros bogue d’une étonnante maladresse (on reviendra sur ce point un peu plus tard).

Qu’est-ce que cela signifie concrètement ? Une personne malintentionnée peut exploiter ce bogue très simplement. Elle peut initier une connexion soi-disant sécurisée en disant « je suis Google.com, regarde mon certificat ». Normalement, grâce à un système de clé, le système qui initie la connexion est en mesure de vérifier l’authenticité de ce certificat. Malheureusement, le système de vérification n’étant pas du tout opérationnel, la personne malintentionnée peut sans la moindre difficulté se faire passer pour quelqu’un d’autre.

Cette faille peut être très facilement exploitée par exemple avec un hot-spot Wi-Fi. En se débrouillant bien, son propriétaire peut par exemple déchiffrer vos échanges de données. Ce n'est qu'un exemple (le plus parlant), mais les angles d'attaque sont très nombreux.

Une erreur de programmation à peine croyable

Ce qui est hallucinant dans cette affaire, c’est que cette faille est particulièrement grossière. Spécialiste de ce genre de questions, Adam Langley a publié le code fautif en question, celui-ci étant open source. Il est relatif à SecureTransport, l’implémentation d’Apple donc pour SSL et TLS.

static OSStatus

SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedParams,

uint8_t *signature, UInt16 signatureLen)

OSStatus err;

...

if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)

goto fail;

if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)

goto fail;

goto fail;

if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)

goto fail;

...

fail:

SSLFreeBuffer(&signedHashes);

SSLFreeBuffer(&hashCtx);

return err;

}

Si vous développez un peu, même sans tout comprendre, vous comprendrez aisément le problème. Ces quelques lignes de code sont donc censées vérifier l’authenticité de la connexion SSL. Le problème se situe dans la vérification de la seconde condition if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)

Il y a, à la suite de cette condition, deux goto fail. Si le premier obéit à une condition, le second s’exécute directement. Résultat, tout programme faisant appel à cette routine, pour vérifier l’authenticité d’une connexion SSL, obtient une réponse « bidon ».

L’erreur est tellement grossière que certains spécialistes en sécurité se demandent s’il ne s’agit pas d’un acte malveillant. À l’heure où nous écrivons ces lignes, personne ne sait si cette faille a été exploitée par un hacker malintentionné ou par des organismes de type NSA. Dans sa note de sécurité parue hier, Apple ne crédite personne.

Que faire pour se prémunir de cette faille ?

Ceux qui aiment bidouiller peuvent toujours installer ce correctif réalisé par l’expert en sécurité Stefan Esser. Installez-le uniquement si vous savez ce que vous faites. Et en sachant que celui-ci provoque des incompatibilités avec certains programmes.

Sur OS X, cette faille touche seulement 10.9 et ses « descendants ». Si cette faille est grave, il ne convient pas de céder à la panique pour autant. On peut imaginer qu’Apple proposera un correctif au plus tard en début de semaine prochaine.

D’ici là, pour minimiser les risques, passez-vous de Safari et de Mail. Chrome et Firefox, par exemple, ne sont apparemment pas concernés par ce problème, ils utilisent leur propre implémentation de SSL. Le souci c’est que ce problème n’est pas limité à Safari et Mail, un grand nombre de programmes font appel à des connexions sécurisées. Une page de test a d’ailleurs été mise au point pour savoir si votre navigateur est concerné ou non par cette faille. Si votre configuration est sécurisée, vous devriez obtenir un message d’erreur. Sinon, vous obtiendrez un court message vous confirmant que votre navigateur est bel et bien vulnérable. Enfin, évitez d’utiliser des connexions Internet qui ne sont pas dignes de confiance comme les hot-spot Wi-Fi.

Catégories: 
Tags : 

Les derniers dossiers

Ailleurs sur le Web


113 Commentaires Signaler un abus dans les commentaires

avatar BennyLaMalice 23/02/2014 - 00:31 via iGeneration pour iPad

N'est-ce pas l'un des intérêts de l'open-source d'éviter ce style d'erreur grossière ? Tous mes collègues experts en sécurité ne jurent que par les implémentations "publiques" justement pour ça...?!?

avatar kaos 23/02/2014 - 01:00

Je suis tout seul à avoir rien compris ???

Ceux qui n'ont rien compris se demandent donc si on les à vus aller sur Youporn non ? ;D

Plusérieusement, je tombe déjà 2 fois par mois sur Flashback alors la sécurité d'OSX hein ... j'y ai jamais vraiment cru et ça fait un bail que j'ai un antivirus.

http://nsa20.casimages.com/img/2014/02/23/140223010536126167.jpg

avatar nayals 23/02/2014 - 09:27 via iGeneration pour iPad

@kaos

Aucun antivirus ne te protège de cette faille. Ce sont deux choses qui n'ont vraiment rien à voir.

Là, on ne parle pas d'installer quoi que ce soit sur ta machine. Juste que quand tu es assis au WiFi d'un café, un voleur quelques tables plus loin peut voir tout ce que tu fais, voire récupérer mot de passes et CB si tu vas sur des sites marchands.



avatar Jean-Jacques Cortes 23/02/2014 - 01:03

Cette histoire sent le copier-coller mal fait. Le programmeur n'a pas voulu retaper la seconde condition et a repris la première mais a aussi repris le goto fail avec.
C'est marrant, mais en Basic, l'instruction goto était source d'erreur et faisait figure de programmation spaghetti.

avatar supermars 23/02/2014 - 02:38 via iGeneration pour iOS

Inadmissible !

avatar Log_Boy 23/02/2014 - 03:07 via iGeneration pour iPad

J'ai du mal a croire qu'Apple puisse laisser passer un bout de code aussi dangereux, c'est tout simplement irréel. Si ce truc la est passé j'imagine même pas ce qui a pu passé à côté sans qu'on ne l'ai encore découvert. Sincèrement ça sent l'amateurisme à plein nez la.

avatar redchou 23/02/2014 - 04:35

Le code nucléaire américain a été "00000000" pendant les 15 ans...

avatar byte_order 25/02/2014 - 12:29

Exact.

Sur recommandation expresse de la NSA, ayant constaté que beaucoup de gens semblaient le connaitre, c'est désormais 12345678.

Oh, wait!...

avatar alan63 23/02/2014 - 04:34

Chrome va faire exploser ses stats ....

avatar patrick86 23/02/2014 - 12:54 (edité)

"Chrome va faire exploser ses stats ..."

Ou pas.

avatar Ducletho 23/02/2014 - 07:12 (edité)

Effectivement, là c'est vraiment pas sérieux. Le SSL sécure, c'est un minimum ...

avatar Beaubarre 23/02/2014 - 07:34

Un acte malveillant de la part d'Apple + NSA

C'est impossible, au-delà dela revue du code, de pas faire des tests lorsque le code est nouveau pour voir si cela fonctionne ou pas, et normalement le test a du montrer que le code ne marchait pas.

Grâce à cette faille, ils ont pu peut-être enregistrer en masse les logins de tous les utilisateurs iphone à gmail, caisse d'epargne, facebook etc - au cas ou vous serez associés à des terroristes un jour (ce jour là terroriste sera peut etre travailler pour Airbus qui gagne de parts de marchés sur Boeing en 2027).

C'est pour éviter cela que j'utilise autre chose que safari quand je surfe sur iphone ou ipad.

avatar Le docteur 23/02/2014 - 09:15

Et tu utilises quoi ? Firefox ? :D

avatar Beaubarre 23/02/2014 - 13:41

Non sur ipad j'utilise Mercury configuré comme Windows XP internet explorer 6 (du coup je suis peut etre piraté par des chinois 8-) ) + VPN Piratebay + dns opendns (et je checke que opendns marche en allant de temps en temps sur www.internetbadguys.com).

Et je coupe le wifi ou éteint l'ipad dès que je m'en sers plus.

(Non je suis pas parano j'ai été cible de voleurs de voitures qui avaient cela dans leur panoplie en plus des trucs classiques comme menaces, intimidations etc)

avatar tibet 23/02/2014 - 07:54

Puisqu'on parle de code. Je voudrais en profiter pour demander à celui qui pollue l'interface du site sur iPhone avec le bandeau qui descend à travers tout l'écran pour se scotcher en bas en "proposant" de créer un icône sur le "bureau". S'il pouvait se rendre compte que c'est Hyper chiant il supprimerait ça tout de suite. On est maintenant presque autant "agressé" sur des petits sites comme macg que dans un hypermarché ! Je vais tenter un "Merci d'avance".

avatar jujuv71 23/02/2014 - 08:03 via iGeneration pour iOS

Ce qui expliquerait que mes deux macs ne pouvaient se connecter à iCloud dans Mail ?!?!?!

avatar noooty 23/02/2014 - 08:07 (edité)

Mince, mon iMac est touché...
Bon, heureusement, je ne me promène pas avec sous le bras pour découvrir les hot-spot wifi...

avatar Marty14 23/02/2014 - 08:32 via iGeneration pour iOS

M'en fou, je ne me connecte jamais sur des Hotspot !

avatar noooty 23/02/2014 - 08:47 via iGeneration pour iOS

C'est normal que iOS 6 ne soit pas à jour pour les iPhone 4, puisqu'il est compatible avec iOS 7...

avatar Le docteur 23/02/2014 - 09:12 (edité)

Et pour la version 5 ?

avatar Philactere 23/02/2014 - 09:21 via iGeneration pour iOS

Avec sa politique d'adoption d'iOS7 pour les iDevices "éligibles", Apple refuse volontairement de mettre à jour ses appareils vendus sous iOS6 qui le seraient restés.

En clair elle laisse sciemment et volontairement ouverte une faille de sécurité majeure sur des millions d'iDevices dont les propriétaires auraient fait le choix de garder l'OS qui était livré à l'achat de cet appareil, bref un refus pour des raisons commerciales de mettre à disposition un correctif de sécurité.
Et non, iOS7 n'est pas un correctif de sécurité à iOS6, c'est un nouvel OS qui ne devrait pas être imposé mais doit rester un choix.

C'est pas pour troller mais dans le monde des éditeurs d'OS, le grand méchant en face ne s'est jamais permis un truc pareil.

avatar shenmue 23/02/2014 - 09:59 (edité)

"Et non, iOS7 n'est pas un correctif de sécurité à iOS6, c'est un nouvel OS qui ne devrait pas être imposé mais doit rester un choix."

Et non, la faille a été corrigée AUSSI sur iOS 6. Lire les news, cela permet déviter ce genre de réaction à l'emporte-pièce et qui flirte bon avec le troll tellement tu t'égares.

avatar Philactere 23/02/2014 - 10:08 via iGeneration pour iOS

@shenmue :
Lire les news est une chose, comprendre les commentaires en est une autre.
J'ai un iPad mini resté sous iOS6 (comme d'autres gardent leur iPhone 4 ou 4S sous iOS6). Pour ce dernier la mise à jour iOS6 n'est pas disponible, la seul solution étant de passer à iOS7 ce que je ne souhaite pas. C'est de cet aspect que je parlais, le correctif existe bel et bien pour iOS6 mais Apple refuse de le rendre disponible pour l'ensemble des iDevices tournant sur cet OS.
Pourquoi ?

avatar jbmg 23/02/2014 - 16:57

@Philactère
tu vas sur la page
http://support.apple.com/fr_FR/downloads/#IOS%206
et peut être que tu trouveras ton bonheur.

avatar Philactere 23/02/2014 - 17:25 via iGeneration pour iOS

@jbmg :
Ba non, rien d'autre que la roue qui tourne sans fin sur la page en question.

Je ne désespère pas qu'Apple daigne bien de soucier de la question des iDevices restés volontairement sous iOS6 alors qu'ils sont éligibles iOS7, mais pour l'instant je ne vois rien.

Pages