CransWiki:

HeartBleed

De quoi parle-t-on

Cette page vise à détailler de façon un peu plus exhaustive les faits autour de la faille de sécurité baptisée « HeartBleed ».

Celle-ci a été identifiée il y a peu par un ingénieur chez Google, qui a prévenu les développeurs du paquet. Deux personnes se sont proposées pour créer un correctif.

En quoi consiste le bug

Le bug se situe dans le module heartbeats d'OpenSSL (pour ceux qui n'ont pas compilé OpenSSL avec ce module, pas de danger donc). En gros, le problème est qu'une fonction pouvait aller lire des données qu'elle n'était pas censée pouvoir lire, du fait d'un mauvais contrôle sur la quantité de données qu'on pouvait aller lire dans une zone mémoire. Ainsi, des données « importantes » pouvaient être lues par un processus non vital, et retournées au demandeur. Techniquement, la taille maximale du buffer de lecture était 64ko, ce qui signifie qu'environ 64ko de données non accessibles théoriquement pouvaient être lus. Mais il suffisait de redemander à nouveau des données pour récupérer à nouveau 64ko de données « privées ».

Les conséquences

Les conséquences sont assez faciles à comprendre, des données privées ont pu être lues par des personnes non autorisées. Aussi bien la clef de chiffrement SSL que vos logins/mots de passe. Le fait que ce bug existe depuis deux ans fait qu'il a très bien pu être exploité pendant une longue durée sans que personne ne le sache. C'est pour cette raison que nous recommandons à nos utilisateurs de changer leurs mots de passe sur l'ensemble des services qui ont déjà été mis à jour et sont protégés.

Sites compromis

Pour savoir si un site est encore compromis, on peut les tester via ce site : http://filippo.io/Heartbleed/ . D'autre part, un script perl ici https://github.com/noxxi/p5-scripts/blob/master/check-ssl-heartbleed.pl permet de mieux comprendre comment exploiter le bug en question. Nous ne recommandons à personne de le faire, car ce genre d'activité est illicite si elle n'est pas strictement encadrée.

Le correctif

Voici un lien vers celui-ci, pour les amateurs de programmation en C : https://github.com/openssl/openssl/commit/731f431497f463f3a2a97236fe0187b11c44aead (pour les paranoïaques, allez voir directement le dépôt git d'openssl : http://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=731f431497f463f3a2a97236fe0187b11c44aead ).

Côté Cr@ns

Les serveurs du Cr@ns utilisant la version d'OpenSSL incluse dans la version stable (wheezy) de Debian, l'association a été dans l'obligation de remplacer ses certificats de serveurs. Les nouveaux certificats ainsi que leur empreinte SHA1 sont détaillés ci-dessous.

cas.crans.org
SHA1 Fingerprint=E6:63:22:96:89:DD:20:CC:82:2E:6A:C2:3C:15:5F:DE:9D:7A:6C:B3
 
freebox.crans.org
SHA1 Fingerprint=A0:CE:D4:E2:58:B6:FB:36:CC:0E:58:5F:81:21:9A:19:21:F6:A1:CF
 
horde.crans.org
SHA1 Fingerprint=D1:B0:40:5B:56:DF:0E:F1:5E:B8:DC:EB:E2:98:1B:43:39:E7:97:A1
 
intranet2.crans.org
SHA1 Fingerprint=27:5D:EB:0A:64:E7:02:D8:F1:61:F5:E9:F4:5A:86:9F:D6:A1:41:88
 
lists.crans.org
SHA1 Fingerprint=80:C6:1C:91:70:A6:BE:78:21:1E:A4:D8:A5:FE:10:F5:C9:8D:08:88
 
niomniom.crans.org
SHA1 Fingerprint=F4:42:5E:D8:EE:DA:12:2D:FA:2A:30:30:54:F8:7E:F0:8B:C0:18:87
 
owl.crans.org
SHA1 Fingerprint=9D:88:C4:93:48:0C:B1:BD:92:D3:09:96:D2:6D:8C:07:DB:64:F4:F0
 
redisdead.crans.org
SHA1 Fingerprint=8E:78:B9:F4:79:BF:66:76:BA:7C:C6:F3:21:BD:40:5D:F6:8E:1A:2C
 
roundcube.crans.org
SHA1 Fingerprint=8D:F9:57:AF:9D:C3:1F:7E:26:0B:7B:0B:C2:47:E8:6D:97:A4:FD:12
 
sogo.crans.org
SHA1 Fingerprint=E1:DA:1C:94:B3:9A:9B:B9:2A:B5:86:F6:12:40:41:FC:5D:63:52:65
 
soyouz.crans.org
SHA1 Fingerprint=E4:3B:28:73:22:5B:A9:5A:7E:C2:8B:F8:0E:19:28:D9:1C:D9:54:94
 
zamok.crans.org
SHA1 Fingerprint=6A:5C:31:0A:31:F4:3E:AB:CB:71:46:AE:FC:61:C6:42:02:0D:EB:0C

Les services internes au campus seront mis à jour d'ici samedi 12 avril 2014 au soir, de légères perturbations pourraient survenir.


CransWiki: HeartBleed (dernière édition le 2014-04-11 15:12:36 par PeBecue)