Aujourd'hui a été publiée la faille de sécurité Drown,
touchant notamment la bibliothèque cryptographique
Le même jour, huit (!) failles de sécurité dans
Pourtant, je suis étonné de
constater que certaines choses n'ont pas été comprises. Par
exemple bien des gens croient que, puisque leur serveur
Prenons un exemple : le serveur du journal quotidien
% openssl s_client -connect www.ouest-france.fr:443 -ssl2
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 48 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : SSLv2
Cipher : 0000
...
Mais on trouve, sur un tout autre réseau, une machine
% openssl s_client -connect 93.17.51.145:443 -ssl2
CONNECTED(00000003)
...
subject=/C=FR/postalCode=35000/ST=Ille-et-Vilaine/L=RENNES/street=10 rue Du Breil/street=ZI Rennes Sud-Est/O=SOCIETE OUEST FRANCE/OU=0002 377714654/CN=*.ouest-france.fr
...
SSL handshake has read 1609 bytes and written 367 bytes
---
New, SSLv2, Cipher is RC2-CBC-MD5
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : SSLv2
Cipher : RC2-CBC-MD5
Session-ID: 6F1500003AE7F4EF421B7C964089D28B
Le journal Ouest-France est hébergé par SDV et
cette
% openssl s_client -connect 93.17.51.145:443 | openssl x509 -pubkey -noout
...
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu83rhWk01bad5z55tfKN
TlqWSdXou/QXTNVsk0J47FFEYCvumcd5TgrLtsRDjz23K1+8T9KXgIzNN4wXwWUc
7O1Hu0ddX4w0OOiSaq2rxPcXdzeF98Mth+MtclUliYZTPa94TXEMSM/xPeELkfmi
sAqJjVFfGqacFcuzI0QryQPkAAU4ts0JtAoaUhHDNc+3Mz2UnHtaYsLEh9cHdkKq
QzpggPPN4emqcEr3fbvTPl0JIYossH/mOI8E4NTyVaZaScimi8efklxF3JEc+/6w
AqzGXt8CL2/ce+E4BojHCfilGrxU4WEeo7e9sMXHuhWCQ/fxT/6o3yktI+sLSv61
RQIDAQAB
-----END PUBLIC KEY-----
% openssl s_client -connect www.ouest-france.fr:443 | openssl x509 -pubkey -noout
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu83rhWk01bad5z55tfKN
TlqWSdXou/QXTNVsk0J47FFEYCvumcd5TgrLtsRDjz23K1+8T9KXgIzNN4wXwWUc
7O1Hu0ddX4w0OOiSaq2rxPcXdzeF98Mth+MtclUliYZTPa94TXEMSM/xPeELkfmi
sAqJjVFfGqacFcuzI0QryQPkAAU4ts0JtAoaUhHDNc+3Mz2UnHtaYsLEh9cHdkKq
QzpggPPN4emqcEr3fbvTPl0JIYossH/mOI8E4NTyVaZaScimi8efklxF3JEc+/6w
AqzGXt8CL2/ce+E4BojHCfilGrxU4WEeo7e9sMXHuhWCQ/fxT/6o3yktI+sLSv61
RQIDAQAB
-----END PUBLIC KEY-----
On trouvait d'ailleurs cette clé sur plein d'autres machines
du réseau
En revanche, si on regarde un autre domaine signalé sur le site
Web de Drown,
# Machine vulnérable car acceptant SSLv2 dans certaines conditions
% openssl s_client -connect 50.87.196.92:443 | openssl x509 -pubkey -noout
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsXMk8xOJaaqKmz88RicY
Mt4e4VlY0uTVaUS7mbgnUGgd15wQ/tLH91RL5S9c1C1FFrcjBpomODJXBdgTXjWi
x4OVRl0sEe6OjIX1FLqBl15n+Lx++933lQUWinMSInEVLnBBjcr9If5+ozJvscRS
eF/hikjhDYW/rDwF1f7ivTiiok8f12zTa2lhlxOH4KxcFPaFklXDa45DccDjdCIZ
uVLpFSngo5iS3nney+LPK4afYYffEWK9aN2Rj9NE8zRm3hGoGDva2vNmKGbewd3w
1huqr3o7fc3WZyW9HZlM7PjZF6YLhgJnAI09XXDHD3t+G4ijcS6F4Rh9B36whuoo
CQIDAQAB
-----END PUBLIC KEY-----
# Serveur Web public
% openssl s_client -connect www.blockchain.com:443 | openssl x509 -pubkey -noout
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8DGz/3DLSflRPxO5uHuiww7EbqEP
/S3VWfdw4PGs4WcuqWTtIGht1rwiuTjrU3Es1uxm3T+JfT1JOOhYut8IjA==
-----END PUBLIC KEY-----
Pour résumer
ce point essentiel «
(Au passage, petite note technique : certains
On voit d'ailleurs un effet négatif de la
Autre question posée par Drown, pourquoi est-ce qu'il y a autant de
machines qui acceptent encore SSLv2 ? Il a été officiellement
abandonné en
Compte-tenu de cela, est-ce que Drown représente un réel danger
aujourd'hui, et faut-il patcher d'urgence ? Bien sûr, il faut patcher,
c'est le B. A. BA de la sécurité pour une machine connectée à
l'Internet. Mais le danger exact de Drown n'est pas facile à
évaluer. On est dans le cas classique en sécurité du verre que
l'optimiste voit à moitié plein alors que le pessimiste le voit à
moitié vide. L'optimiste va faire remarquer que l'exploitation
effective de Drown est très difficile, dans les conditions du monde
réel (en laboratoire, ça marche toujours mieux). Le pessimiste
rétorquera que les attaques ne vont toujours qu'en s'améliorant. Si
Drown est difficile à exploiter aujourd'hui, cela ne durera pas
éternellement. À noter que, pour la raison expliquée plus haut, cela
ne sert à rien de patcher votre serveur principal : il faut patcher
Je suggère d'ailleurs d'en tirer une leçon : ne jamais partager un certificat (et donc une clé privée) entre des machines qui ont des administrateurs différents : le risque est en effet très élevé que l'une d'elles soit moins sécurisée que les autres, permettant une attaque.
Ah, notez aussi que patcher
Merci à Léo pour avoir signalé une grosse approximation dans l'article original.