Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL...

19
Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014 …. et un peu plus v1r0 – 12 Juin 2014

Transcript of Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL...

Page 1: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services

faille OpenSSL Heartbleed

8es Rencontres de l’ARCSI

Toulouse13 Juin 2014

…. et un peu plus

v1r0

– 1

2 Ju

in 2

014

Page 2: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #2

agenda

1.pour commencer, quelques révisions

2.une connexion SSL comment ça

marche ?

3.fonctionnement de Heartbleed

4.répondre à Heartbleed... les principes

5.conclusion

Page 3: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #3

quelques révisions

une seule et même clef pour chiffrer et déchiffrer

• partage nécessaire de la clef

• renouvellement fréquent

ex: AES, Camellia

chiffrement symétrique

deux clefs intimement liéesclef publique / privée

ce que chiffre l’une des clefs, l’autre le déchiffre

ex: RSA

chiffrement asymétrique

un « condensé » d’infos

• non réversible• non prédictible

ex: MD5, SHA, ….

condensat / hash-code

chiffrement d’un hash-code avec la partie privée d’une

clef RSA

vérification d’authenticité

Ex: RSA

signature

Page 4: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #4

phases d’une connexion SSL

client serveur

passage en mode chiffré sur base

de la clef négociée en (#2) et algorithmes en

(#1)

les messages sont chiffrés et

confidentiels

négociation des algorithmes

& authentification

du serveur

négociation clef de chiffrement

Page 5: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #5

certificat SSL et pre-master

vérification du certificat SSL

Le client vérifie la validité du certificat SSL envoyé par le serveur

OCSP, CRL

Certificate Pinning, Perspectives, …

échange d’une pre-master keyle client génère la “pre-master key” et l’envoie au serveur chiffrant celle-ci à

l’aide de la clef publique RSA du serveur

négociation d’une pre-master keyle client et le serveur négocient la « pre-master key » sans jamais la transmettre

Diffie-Hellman

RSA

Page 6: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #6

messages TLS

clientserveu

r

messages TLS

Alert21

• permet de maintenir active une session• peut être émis dès la phase de négociation et durant toute la phase

d’échange de données

Heartbeat24

Handshake22

ChangeCipherSpec20

Heartbeat24

Application23

Page 7: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #7

TLS Heartbeat Request/Response

HELLOPROFF (10 bytes)

Padding (16 bytes)

18

Heartbeat message

24 (0x18)

Record Length

29 (0x1D)

TLS Version

03 03 : TLS 1.2

Heartbeat Message

Type

01 – Request02 - Response

Payload Length

10 (0x0A)

00 1D03 03 01

00 0A

Record-Length(1 + 2 + 10 + 16)

lors de la réception du « HB Request », cette valeur est utilisée par le serveur

pour allouer un espace mémoire en RAM et y stocker le contenu

(« HELLOPROFF ») du HeartBeatPayload-Length

Lors de la construction de la réponse « HB Response »,

cette valeur est utilisée pour compter le nombre d’octets

mémoire à lire depuis la RAM et à envoyer

si Payload-Length > (Record-Length -1 – 2 -16 ) alors

car lecture d’informations dans la RAM au-delà de celles reçues…

Heartbeat Payload

« HELLOPROFF » !

* *

Page 8: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #8

TLS heartbeat Request (non-Heartbleed)

RAM (heap)

<…>

RSA-PrivateKeyusername=prof

pass=secret

Request Length = 29Payload Length = 10(Actual Length = 10)

HELLOPROFF

TLS heartbeat Request1

Emission d’un message TLS de contrôle « Heartbeat Request »

1

Le serveur réceptionne le message, alloue de la mémoire pour le stocker

2

TLS heartbeat Response

Response Length = 29

Payload Length = 10(Actual Length = 10)

HELLOPROFF

4

Le serveur créé la « Heartbeat Response » en recopiant le message présent en RAM

3

Emission du message TLS de contrôle « Heartbeat Response »4

3

length=10HELLOPROFF

2

Page 9: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #9

TLS heartbeat Request (Heartbleed)

RAM (heap)

<…>

RSA-PrivateKeyusername=prof

pass=secret<garbage>

Emission d’un message TLS de contrôle « Heartbeat Request »

1

Le serveur réceptionne le message, alloue de la mémoire pour le stocker

2

Le serveur créé la « Heartbeat Response » mais va au-delà de la Payload et recopie dans la réponse le contenu d’une partie la mémoire du serveur

3

Emission d’un message TLS de contrôle « Heartbeat Response » contenant des données sensibles

4

HEARTBLEED

2

Request Length = 29Payload Length =

16384(Actual Length = 10)

HEARTBLEED

TLS heartbeat Request1

TLS heartbeat Response

4<garbage>pass=secret

username=profRSA-PrivateKey

Payload Length = 16384

HEARTBLEED

3

length=16384

Page 10: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #10

Heartbleed - test

http://bit.ly/1iBexs1

Page 11: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #11

Heartbleed – conséquences & impacts

Informations récupérables via Heartbleed– Clef RSA privée du serveur– Clefs de session TLS– Tickets de session TLS– Données confidentielles (mots de passe, cookies, …)– Données à caractère personnel– …

Conséquences– Attaques en MitM (Man in the Middle)– Déchiffrement des sessions en cours– Accès non-autorisés– Déchiffrement des échanges antérieurs

le tout sans laisser de traces dans les logs …

Page 12: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #12

qui est concerné ?

serveurs clientsHeartbleedreverse

Heartbleed

VoIPVisio

Conference (DTLS)

Wifi (EAP-TLS)

Services Cloud

logiciels/systèmes propriétaires

logiciels/systèmes

Opensource

HTTPSIMAP/POP3/SMTP

(STARTTLS)VPN-SSL

Page 13: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #13

principes d’actions en réponse à HeartBleed

évaluation du contexte

identification des systèmes impactés

définition d’une stratégie de réponsedéploiement des contre-mesures (patchs)

renouvellement des clefs et certificats

changement des mots de passe

Page 14: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #14

importance de la communication et

synchronisation des actions (en interne et en

externe)

la crypto est restée fiable c’est sa mise en

œuvre qui a été défaillante

accélérer la maitrise de la cryptographie et des conditions de mise en

œuvre

nécessité d’intégrer les services Cloud dans la

gestion des vulnérabilités et

incidents

inventaire des systèmes internes

et externes et contacts associés

conclusion

Page 15: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #15

http://www.oran.ge/securite

Page 16: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

des questions ?

des réponses !

Page 17: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #17

clef privée compromise : c’est grave professeur ?

temps

clef privéecompromise

… mais pas seulement !

attaques en MitM (Man in the Middle)

Page 18: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

Orange - diffusion libre - page #18

la confidentialité des communications passées est

conservée

la confidentialité des communications passées est

compromise

PFS (Perfect Forward Secrecy)

1

2

si les échanges SSL ont été enregistrés, la « pre-master key » peut être déchiffrée à postériori

la clef privée du serveur web ne permet aucunement de recouvrir la « pre-

master key »

1 2

PFS via DHE ou ECDHEpas de PFS avec échange RSA

Page 19: Jean-François (Jeff) AUDENARD – CyberSecurity Advisor – Orange Business Services faille OpenSSL Heartbleed 8es Rencontres de l’ARCSI Toulouse 13 Juin 2014.

merci !