Sécurité :
2 ou 3 choses que vous ne savez peut-être pas...

Paris Web, octobre 2013

Stéphane Bortzmeyer (AFNIC)
bortzmeyer+parisweb@nic.fr

Introduction

Vous connaissez les attaques contre le logiciel :

  • Les attaques XSS ?
  • Les attaques CSRF ?
  • Les injections SQL ?

Tout programmeur Web aujourd'hui les connaît (ou devrait).

SQL m'a tuer

Bonnes pratiques

Mettre à jour le CMS...

Tout le monde le sait, tout le monde ne le fait pas.

Combien de contrats avec une Web agency prévoient cela ?

Et ensuite, je suis en sécurité ?

Hélas, il reste bien d'autres attaques possibles.

  • Attaques par déni de service,
  • Attaques contre le DNS et les noms de domaine,
  • Attaques contre HTTPS et les certificats.

Public visé

Responsable d'un site Web, webmestre...

Pas spécialement ciblé vers les programmeurs.

Beaucoup des conseils donnés nécessiteront une action de quelqu'un d'autre (l'hébergeur, souvent). Le but est que vous puissiez discuter avec lui/elle.

Pourquoi m'attaquerait-on ?

Puisque je suis gentil...

Gentil

Motivations des attaquants

  1. Fric,
  2. Politique,
  3. Amusement,
  4. Démo (oui, pour montrer à un client payant leurs capacités d'attaquant).

Même si vous n'êtes pas un gros objectif, vous pouvez être attaqué.

Sécurité difficile

Pourquoi ? Parce que nos intuitions ont été développées pour un autre environnement

Jean-Kevin fait de la sécurité

Et puis les forums sont envahis d'ignorants qui pontifient sur la sécurité...

Et qui mélangent tout et brouillent le sujet.

Attaques par déni de service

Ou DoS (Denial of Service)

L'attaquant essaie d'empêcher votre site Web de fonctionner.

Cela peut être fait en envoyant plein de requêtes (attaque volumétrique) ou, plus subtilement, en exploitant une faille qui va permettre de stopper le service avec peu de moyens.

Mon pauvre blog

10 juin 2013 : attaque contre un autre client de mon hébergeur, qui sature les liens

Ou une attaque chez OVH

Type SYN flood, 8 Mb/s (mais ce n'est pas du volumétrique)

Flash crowd

Pas de grosse ≠ entre flash crowd et attaque

Une flash crowd est quasiment comme une attaque par déni de service volumétrique.

Aussi appelé « slashdottage ».

Botnet

Anatomie d'une attaque DoS

  • Un zombie est une machine piratée qui obéit désormais aux ordres de son maître, le Méchant,
  • Un botnet est un réseau de zombies. Un clic du Seigneur des Ténèbres et tous les zombies attaquent la même cible. Attaque dDoS (distributed Denial of Service).
  • Vous n'avez pas de botnet mais vous êtes méchant ? Louez-en un ! (CaaS : Crime as a Service)

Solution de sécurité

Le plus vieux mécanisme de sécurité du monde ?

Précautions

Que faire contre une attaque DoS ?

C'est avant tout du ressort de votre hébergeur/opérateur

Mais il est bon d'être au courant de ce qu'ils peuvent faire :

  • Gros tuyaux
  • Convaincre les routeurs de laisser tomber certains paquets (non trivial)
  • Détourner le trafic vers un mercenaire spécialisé (mercenaire = celui qui fait la guerre à votre place)
(Un exemple chez OVH.)

Que puis-je faire ?

Contre une attaque volumétrique visant la capacité réseau ? Pas grand'chose : lorsqu'elle frappe votre machine, le mal est déjà fait.

Contre une attaque volumétrique visant le service Web ? Plusieurs solutions Apache : mod_evasive, mod_security, mais aussi un meilleur code...

Le mieux...

Avoir un cliché statique du site pour pouvoir le servir même en cas de flash crowd (ou d'attaque).

HTtrack est ton ami.

À préparer et tester à l'avance.

DNS et DNSSEC

http://www.jesuisleplusbeau.example/ mène forcément à mon site ?

Le DNS est souvent le maillon faible

Mal considéré, pas compris, souvent oublié...

Cf. exposé « Sécurité des noms de domaine : menaces, réalités et solutions pratiques » à la Journée du Conseil Scientifique de l'AFNIC le 4 juillet 2012

Risques liés au mécanisme d'enregistrement

  • Oubli de payer,
  • Enregistrement fait au nom d'une personne, partie depuis,
  • Contacts pas mis à jour.

Des sites à fort profil se sont fait avoir...

Attention

Piratage...

Le DNS étant arborescent, le piratage d'un registre entraîne celui de tous les domaines en dessous.

Panne...

Empoisonnement

Un ensemble de techniques permettant au méchant de mettre des fausses informations dans les serveurs DNS.

Peu utilisé apparemment, mais pourrait devenir très populaire un jour.

DNSSEC

Solution au problème de l'empoisonnement.

Signatures cryptographiques des noms, permettant la validation des données.

Tous les TLD importants sont signés.

En France, peu de résolveurs valident.

Parlez-en à votre service informatique !

HTTPS

Ou « je suis sauvé, j'ai un petit cadenas »

Ou pas...

Que garantit HTTPS ?

  1. Que je parle bien au site indiqué dans la barre d'adresse,
  2. Qu'aucun méchant n'écoute.

Un certificat...

Qui fait les vérifications ?

Les AC (Autorités de Certification) X.509

Quelques exemples ?

Autorités de Certification

  • TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı (premier de la liste dans Firefox ; vous les connaissez ?)
  • CNNIC (agence du gouvernement chinois, celui qui détourne Facebook, Twitter, etc),
  • DigiNotar (piratée avant août 2011, a émis des faux certificats),

Chacune de ces AC peut émettre un certificat pour qui elle veut (même si ce n'est pas un client).

Donc, HTTPS ne sert à rien ?

Utile contre un attaquant purement passif (Firesheep)

Contre un attaquant actif, il ne protège en effet pas assez.

Réparer X.509 (et donc HTTPS) ?

DANE (RFC 6698) permet de publier de manière sûre les caractéristiques de son certificat.

Dans certains cas, on peut se passer des AC.

DANE dépend de DNSSEC.

DANE est encore récent et peu mis en œuvre.

Conclusion

  1. La sécurité n'est pas un produit mais un processus (Schneier),
  2. Préparez et planifiez à l'avance (analyse de risques, analyse de la sécurité, audit technique, etc),
  3. Coordination et communication.