Café vie privée

Les tribulations d’un petit paquet réseau

@aeris
27 avril 2015, Viveris Technologies

Aeris

Groupe crypto-terroriste individuel
autoradicalisé sur Internet

Chaton des Internets

Mail / Jabber : aeris@imirhil.fr
GNU/Social : https://status.imirhil.fr/
Blog : https://blog.imirhil.fr/
Conférences : https://confs.imirhil.fr/
GPG : EFB7 4277 ECE4 E222
OTR : 5769 616D 2D3D AC72
Hacktiviste

Sommaire

On va étudier le (long) voyage d’un petit paquet IP
sur le grand réseau Internet
Et regarder comment sécuriser chacune des étapes !
  • Sécurité physique / locale
  • Sécurité des communications
  • Sécurité des services / hébergements
  • le bordel problème du web

Internet — rappels

Internet, ce n’est malheureusement pas ça…

Internet — rappels

Internet, c’est ça…

Sécurité locale

Sécurité locale — Hygiène informatique

  • Utiliser du logiciel libre ⇒ GNU/Linux
  • Mettre à jour régulièrement son système
    ⇒ Au moins 1× par semaine ⇒ Au mieux 1× par jour !
  • Gérer correctement ses mots de passe
    ⇒ Pas le même partout ! ⇒ KeepassX
  • Chiffrer ses données
    ⇒ TrueCrypt, , LUKS pour les disques durs
    ⇒ SMSSecure , pour les SMS

Sécurité locale = hygiène informatique

  • Pare-feu efficace
    ⇒ Tout ce qui n’est pas autorisé est interdit
  • Ne pas laisser traîner son ordinateur tout seul
    ⇒ Verrouiller sa session
    ⇒ Machine en veille/hibernation
    ⇒ Éteindre complètement la machine
  • Ne pas brancher un périphérique USB inconnu
    ⇒ Même pour charger un téléphone
    ⇒ Salons, conférences, séminaires
    ⇒ Transports
    ⇒ Supports publicitaires
  • Si vraiment machine tierce / environnement critique
    ⇒ Tails

Sécurité des communications


Sécurité des communications — DNS

« imirhil.fr » est inconnu d’un point de vue réseau
Besoin de l’adresse IP (5.135.187.37 ou 2001:41d0:8:c425::1) ⇒ DNS Généralement, on utilise le résolveur DNS de son FAI
Malheureusement, certains ont pour mauvaise habitude de mentir
  • but commercial : pub, trafic…
  • but « technique » : mise-en-cache, optimisation… (généralement sur mobile)
  • sur demande judiciaire : loi terrorisme
  • dictature : censure
On peut aussi se faire pirater son réseau local
ARP spoofing, injection de paquet, IP spoofing

Sécurité des communications — DNS

Sécurité des communications — DNS

Sécurité des communications — DNS

Installer son propre résolveur local
Interroge directement les serveurs DNS racine d’Internet
(Ce qui n’est pas très cool pour les chatons 😿)
Profiter pour activer DNSSec
Taper sur les FAI/autres pour support de DNSSec
(Comme ça on sauve des chatons 😹)
(Et on les empèche de pouvoir mentir ! 😈)
(Et le support de IPv6 aussi au passage…)
(Et puis les IP fixes hein…)
(Et tant qu’à faire, la fibre optique…)
(Proprement !)

Sécurité des communications — DNS

Vraiment en situation d’urgence :
8.8.8.8 / 8.8.4.4
2001:4860:4860::8888 / 2001:4860:4860::8844
(Merci Google…)

Sécurité des communications — DNS

Vraiment en situation d’urgence :
8.8.8.8 / 8.8.4.4
2001:4860:4860::8888 / 2001:4860:4860::8844
(Merci Google…)

Sécurité des communications — Transport

Les communications circulent de routeurs en routeurs,
contrôlés par moultes entités
FAI, opérateurs, peering, dorsales…
Certains tentent de lire les communications
Espionnage industriel, surveillance globale, régime totalitaire…
⇒ Nécessaire de chiffrer ses communications

Sécurité des communications — Transport

2 modes de protection
  • Point-à-point (TLS…)
  • End-to-End (GPG, OTR…)

Sécurité des communications — TLS

  • 1994 :  SSL v1.0 (théorie, jamais mise en œuvre)
  • 1995 : SSL v2.0 (trop moisi, SSL v3.0 lancé dans la foulée)
  • 1996 : RFC 6101, SSL v3.0 (tout moisi aussi, + 2014 : Poodle)
  •  
  • 1999 : RFC 2246, TLS v1.0
  • 2006 : RFC 4346, TLS v1.1
  • 2008 : RFC 5246, TLS v1.2

Objectifs

Les chiffrements symétriques (AES, RC4, DES) sont
rapides et supportent les flux
mais reposent sur un partage de secret
Les chiffrements asymétriques (RSA, DSS, ECDSA) sont
lents et ne supportent pas les flux
mais ne supposent pas une ligne sécurisée

Objectifs

SSL/TLS est un protocole couplant
  • un échange de secret par chiffrement asymétrique
  • un chiffrement symétrique avec ce secret
SSL/TLS doit assurer 3 fonctions :
  • l’authentification
  • le chiffrement
  • l’intégrité

Authentification & échange de clef

Chiffrement

Intégrité

Exemple : IE 6

Exemple : IE 11

Exemple : Chrome 37

Exemple : Firefox 32

Perfect Forward Secrecy (PFS)

  • un attaquant peut enregistrer l’intégralité du flux chiffré
  • il peut mettre la main sur la clef privée par la suite
  • il peut alors déchiffrer l’intégralité des communications enregistrées !
⇒ Nécessité de la Perfect Forward Secrecy
(Promis, je vous épargne la théorie mathématique 😁)

HTTP Strict Transport Security (HSTS)

  • Un site peut commencer en clair et décider ensuite de faire du HTTPS
  • Tout le monde peut faire des liens vers n’importe qui et n’importe comment
  • Il y a des gros michants qui s’amusent avec le réseau (SSLStrip)

HTTP Strict Transport Security (HSTS)

On a quand même envie de protéger nos utilisateurs et de les obliger à passer en HTTPS
  • S’il clique sur un (vieux) lien HTTP
  • S’il clique sur un lien qu’on ne maîtrise pas
  • S’il y a un gros michant sur sa ligne

⇒ En-tête HSTS

Une fois le site consulté une 1ère fois, il mémorise qu’il doit obligatoirement revenir dessus en HTTPS

S’il voit du HTTP, il redirige automatiquement et sans aucune requête en clair vers la version HTTPS

L’enfer TLS

Très dépendant de la compétence des administrateurs https://imirhil.fr/tls/index.html

L’enfer TLS

Très dépendant de la compétence des administrateurs https://www.ssllabs.com/ssltest/

L’enfer TLS

4 lignes pour se mettre à l’abri
Caisse d’Épargne : 2 ans and counting…
SSLCipherSuite ALL:!aNULL:!eNULL:!LOW:!EXP:!RC4:!3DES;+HIGH:+MEDIUM
#SSLCipherSuite AES256+EECDH:AES256+EDH:AES128+EECDH:AES128+EDH:+SHA
SSLHonorCipherOrder on
SSLProtocol all -SSLv2 -SSLv3
SSLCompression off

Sécurité des communications — TLS

Vrai ou faux ?

HTTPS garantit que :
  • seule ma banque peut lire mes informations ?
  • je suis sur le serveur de ma banque ?

FAUX !

HTTPS garantit uniquement que :
  • seul le serveur en face peut lire mes informations
  • que le serveur en face a été approuvé par une des 181 autorités de certification embarquées dans le navigateur
  • Pas que c’est bien ma banque en face !

Sécurité des communications — TLS

TLS est basé sur une chaîne de confiance :
Les amis de mes amis sont mes amis.

Mais qui sont mes amis qui n’ont aucun ami au-dessus ?
⇒ Embarqués « en dur » dans le navigateur
181 dans Mozilla Firefox
Problème :
Gouvernement chinois, syrien, turc, français…
Microsoft, Dell, AOL, Atos…
Comodo, Digicert, RSA…
Bref, la moitié de la planète…

Sécurité des communications — TLS

CACert, autorité de certification communautaire
⇒ Supprimée des dépôts standards

  • Considération purement technique/physique
    • Résister à 1600° pendant 2h
    • Résister au crash d’un Boeing à pleine vitesse
  • Mais qu’une didactature ou une entité commerciale/gouvernementale ait accès à la clef privée n’est pas génant

Sécurité des communications — TLS

Non !!!
Le cadenas et
la barre verte
ne suffisent pas !

Sécurité des communications — E₂E

P₂P repose uniquement sur la bonne coopération des différents acteurs techniques.
En réalité plus commercants que techniques
La sécurité ne semble pas les concerner…
Tu veux de la sécurite ?

Fait-la toi-même !

Sécurité des communications — E₂E

E₂E reprend les mêmes techniques que P₂P
Cryptographie à clef publique :
  • On signe avec notre clef privée , notre destinataire nous authentifie avec notre clef publique
  • On chiffre avec la clef publique de notre destinataire, qui déchiffrera avec sa clef privée
La chaîne de confiance devient :

Mes amis sont mes amis
Point.

Sécurité des communications — GPG / OTR

Les 2 systèmes E₂E les plus utilisés sont GPG (mail) et OTR (IM)
Supportés nativement (KMail, Clawsmail) ou via extensions (Enigmail, Pidgin)
Les principaux obstacles à un usage plus massif sont :
  • l’usage peu massif (œuf, poule, tout ça tout ça…)
  • la distribution des clefs

Key signing party

pub   4096R/0xEFB74277ECE4E222 2013-12-23 [expire : 2015-12-31]
	Empreinte de la clef = 6A68 B761 2629 7666 ECF4  8F03 EFB7 4277 ECE4 E222
uid                [  ultime ] Aeris <aeris@imirhil.fr>
uid                [  ultime ] Nicolas Vinot <nvinot@april.org>
uid                [  ultime ] Aeris <aeris@terrorist.es>

Key signing party

Key signing party

Key signing party

Key signing party

Le prochain qui me dit qu’on
est associal, je le mord

Sécurité des communications — Anonymat

Le serveur connaît l’adresse IP du client
Cette information peut-être critique
(lanceur d’alerte, journaliste, personne battue…)
Nécessité d’anonymiser les connexions
⇒ Tor

Sécurité des communications — Tor

S → G G → M M → E E → C
Source S.S.S.S G.G.G.G M.M.M.M E.E.E.E
Destination G.G.G.G M.M.M.M E.E.E.E D.D.D.D
Contenu 5VdN57o V05IoDU MTHpBWg Contenu
Utilité de HTTPS !

Sécurité des communications — Tor

  • Contourner la censure (Chine, Corée du Nord, Syrie…)
  • Protection des sources
  • Protection du « doxing » (militants, via Hidden Service)
  • Desktop : Tor Browser, Vidalia
  • Mobile : Orweb, Orbot
  • Critique : Tails
Vous pouvez aider ! \o/

Sécurité du stockage

Sécurité du stockage — Cloud

Problème du « cloud »
  • Où sont stockées mes données ?
  • Qui y a accès ?
  • Quel niveau de sécurité ?

Sécurité du stockage — Cloud

  • Fuites de données
    • Snapshat, CelebGate (150), Shappening (90k)
    • GMail (5G), Orange (2.3G / 30G)
    • CNIL, JP Morgan (56G de n° de CB)
  • CGU/CGV, DRM
    • MegaUpload (perte de données)
    • Amazon (retrait de données)
    • Facebook (publication de données)
  • Divers

Sécurité du stockage - Auto-hébergement

On peut parfaitement s’auto-héberger
  • Ça ne coûte pas cher
    • Raspberry Pi : 50€, 5W
    • Shuttle XS35v2 : 150€, 40W
    • Dédié Online : 7€/mois
  • Ça ne demande pas forcément beaucoup de temps / compétences
    (Mais un peu quand même)
  • C’est très formateur / intéressant
    Et ça ça n’a pas de prix

Sécurité du stockage - Auto-hébergement

On peut s’adresser à des association
http://degooglisons-internet.org/

Sécurité du stockage - Auto-hébergement

On peut auto-héberger plein de choses
  • Jabber (Prosody), GNU/Social, Diaspora*
  • Site perso , blog
  • partage de documents (Owncloud)
  • « Pad », pastebin (ZeroBin)
  • Mail (Posfix/Dovecot/Roundcube)
Attention à la sécurité !
Un serveur seul trop longtemps cherche à se faire plein d’amis

Putting it all together…

Le web

Putting it all together — Le web

Concentre massivement toutes les tares possibles et imaginables
  • HTTPS
  • Tracking utilisateur (pub)
  • « Cloud », appels externes
  • Incompétences techniques
  • Préoccupation purement commerciales
  • « N00b » compliance

Putting it all together — Le web

Putting it all together — Le web

Putting it all together — Le web

Putting it all together — Le web

Question : Suis-je chez :
  1. Wat.tv ?
  2. TF1 ?
  3. Google ?
  4. Facebook ?
  5. Twitter ?
  6. X publicitaires ?
  7. Y trackers ?
  8. moi ‽‽‽

  9. Obiwan ?
  10. 42 ?

Putting it all together — Le web

  • HTTPS Everywhere
  • µBlock
  • NoScript
  • Request Policy
  • Cookie Monster
  • Disconnect
  • Certificat Patrol
  • Cryptocat
  • DNSSec
  • Calomel SSL validation
  • Smart Referer
  • Pure URL
  • Blender
  • Au revoir UTM
  • Flagger

The end

(#oupa)