analyse d’une architecture réseau

52
Analyse d’une architecture réseau Mastère SSI Module M9 Jean-Christophe GALLARD [email protected]

Upload: caron

Post on 19-Jan-2016

46 views

Category:

Documents


0 download

DESCRIPTION

Analyse d’une architecture réseau. Mastère SSI Module M9 Jean-Christophe GALLARD [email protected]. Plan du Cours. Introduction Méthodologie - une introduction Limites de telles analyses Prise d’empreinte Utilisation des outils d ’audit Identification et exploitation des vulnérabilités - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Analyse d’une architecture réseau

Analyse d’une architecture réseau

Mastère SSI

Module M9

Jean-Christophe GALLARD

[email protected]

Page 2: Analyse d’une architecture réseau

Plan du Cours

• Introduction

• Méthodologie - une introduction

• Limites de telles analyses

• Prise d’empreinte

• Utilisation des outils d ’audit

• Identification et exploitation des vulnérabilités

• Le rapport d’analyse

• Conclusion

Page 3: Analyse d’une architecture réseau

Introduction

Page 4: Analyse d’une architecture réseau

Introduction

• A quoi sert un audit technique?

=> Fournir un « instantané » technique objectif de l’état de la sécurité d’un Système

• Deux grand types d’audit :

– « Boîte blanche »

– « Boîte noire » (red team, pen test - test intrusif en conditions quasi réelles)

Page 5: Analyse d’une architecture réseau

Introduction

• Audit « boîte blanche » :

– type d’audit dans lequel l’auditeur dispose :

• de toutes les informations voulues (documentation, administrateurs…),

• d’un accès physique aux éléments constitutifs du Système d’Information

– volonté d’exhaustivité des vulnérabilités (vœux pieux…)

Page 6: Analyse d’une architecture réseau

Introduction

• Audit « boîte noire » :

– type d’audit dans lequel l’auditeur se place dans la position d’un attaquant probable (dénommé également « test intrusif »).

• L’attaquant supposé n’est pas nécessairement un pirate sévissant sur l’Internet (attaquant interne à l’entreprise par exemple)

• Les informations utiles ne sont pas forcément toutes disponibles

• On cherche surtout à démontrer la faisabilité d’une attaque depuis un point donné.

Page 7: Analyse d’une architecture réseau

Introduction

• Différences entre les deux méthodes:

– motivations

– furtivité (quoi que…)

– phase d’apprentissage plus lourde en boite noire

– résultats plus riches en boîte blanche

• Similitudes :

– mêmes outils à de rares différences près

– mêmes techniques

– PAS de garantie d’exhaustivité

=> raisons pour lesquelles ce même cours recouvre les deux aspects

Page 8: Analyse d’une architecture réseau

Méthodologie - une introduction

Page 9: Analyse d’une architecture réseau

Problématique de l’analyse de vulnérabilités

• Que cherche t-on ?

• Quelles sont les conditions initiales (accès local, distant…)

• Jusqu’où est on autorisé à aller ?

• Problèmes légaux

Page 10: Analyse d’une architecture réseau

Traçabilité des actions (1/2)

• Toute analyse technique revêt une part de risque :

– pour l’audité (mise à mal de son système, déni de service, traces mal effacées…), et ses éventuels partenaires (dommages collatéraux ?)

– mais aussi pour l’auditeur (risque juridique - code pénal)

Page 11: Analyse d’une architecture réseau

Traçabilité des actions (2/2)

• D’ou une nécessité de TOUJOURS tracer la moindre action :

– journal de bord

– logs des outils

– logs systèmes

– keylogger

– ...

Page 12: Analyse d’une architecture réseau

Les bases de vulnérabilités (1/2)

• Domaine très vaste

• Présentes sous deux formes :

– bases formelles : souvent présentes dans les outils d’analyse automatique et couplées aux « exploits » correspondants,

– bases informelles : bases personnelles, mais surtout sites Internet spécialisés

Page 13: Analyse d’une architecture réseau

Les bases de vulnérabilités(2/2)

• Quelques sites incontournables :

– Packetstorm

• http://packetstorm.dnsi.info/ (miroir France)

– SecurityFocus

• http://www.securityfocus.com/

– La liste bugtraq / NTBugtraq

• http://www.ntbugtraq.com/

• http://www.bugtraq.com/

– Le site CVE :

• http://cve.mitre.org/

– CERT

• http://www.cert.org

– Microsoft

• http://www.microsoft.com/technet/security/current.asp

Page 14: Analyse d’une architecture réseau

La prise de renseignement technique (1/2)

• Notion de prise d’empreinte (fingerprinting)

• Principe de base :

– « Chaque système trahit son existence et ses paramètres par son comportement »

Page 15: Analyse d’une architecture réseau

La prise de renseignement technique (2/2)

• Principalement utilisée en boîte noire, mais peut être une précieuse alliée même en boite blanche

• Techniques actives et/ou passives

• En boîte blanche ; sert de complément indispensable à l’analyse des documentations fournies

=> vérification de leur justesse et situation réelle comparée à celle supposée

Page 16: Analyse d’une architecture réseau

L’identification des vulnérabilités (1/2)

• Un seul outil reste vraiment indispensable :

Un cerveau(standard et de préférence en

état de

fonctionnement)

Page 17: Analyse d’une architecture réseau

L’identification des vulnérabilités (2/2)

• Des outils + ou - automatiques peuvent être employés :

– scanners de services (port scanners)

– scanners de vulnérabilités (spécifiques ou généralistes)

– outils standards détournés de leur utilisation normale (telnet, traceroute, nslookup…)

– outillage réseau complémentaire (sniffers, générateurs de paquets)

Page 18: Analyse d’une architecture réseau

L’exploitation des vulnérabilités

• La mise de jour de certaines vulnérabilités peut amener à progresser plus avant dans le système si on les exploite

• En boite boire : c’est un peu le but du jeu…

• En boîte blanche : ATTENTION à ne pas outrepasser ses droits

• A tracer avec la plus extrême minutie

Page 19: Analyse d’une architecture réseau

Limites des analyses

Page 20: Analyse d’une architecture réseau

Limites techniques / exhaustivité des résultats

• La qualité des résultats obtenus reste fortement dépendante des facteurs suivants :

– caractéristiques des moyens de com (débit du point d’accès, QoS…)

– efficacité des outils de tests à disposition

– efficacité des moyens de filtrages entre « l’attaquant » et sa cible

– présence ou non de contres-mesures (IDS, systèmes réactifs, honeypot…)

– types de protocoles utilisés...

• Dans tous les cas il n’existe AUCUNE garantie d’exhaustivité => problème du niveau d’assurance

Page 21: Analyse d’une architecture réseau

Contraintes

• Certaines contraintes techniques et/ou organisationnelles peuvent s’avérer particulièrement pénalisantes pour l’auditeur :

– méfiance des utilisateurs / administrateurs (boîte blanche) => rétention d ’information, voire désinformation

– débit du point d’accès insuffisant pour mener certains tests

– nécessité de mener des tests furtifs

– délais d’audit très courts

– Déni de service

Page 22: Analyse d’une architecture réseau

Problématique du déni de service

• De nombreuses vulnérabilités en déni de service ne peuvent être mises en évidence qu’en réalisant le test « en live ».

=> si le test est positif, le système cible devient hors service !

=> l’auditeur censé améliorer la sécurité devient alors celui qui la dégrade...

• Une règle : ne JAMAIS réaliser de test en DoS sauf en cas de demande écrite explicite.

Page 23: Analyse d’une architecture réseau

L’abaissement du niveau de sécurité d’origine

• Un mal nécessaire ?

• Progresser dans un SI nécessite parfois que l’auditeur (en particulier en red team) s’installe une ou plusieurs portes de services dans le système cible.

• Conséquence : cette action dégrade la sécurité du système cible

• Si cette action apparaît inévitable ; faire en sorte de protéger ces entrées de services.

• Toujours avertir le responsable avant l’introduction d’une telle porte d’entrée

Page 24: Analyse d’une architecture réseau

La prise d’empreinte

Page 25: Analyse d’une architecture réseau

Techniques passives (1/2)

• Technique de base : le « sniffing »

• Analyse de flux binaires sur un réseau :

– identifier les machines et leurs rôles,

– les services utilisés,

– les utilisateurs,

– les habitudes de fonctionnement

• De très nombreux outils disponibles (de 0 à 40.000 €), plus ou moins performants et spécialisés

Page 26: Analyse d’une architecture réseau

Techniques passives (2/2)

• Reconstitution de l ’architecture d ’un réseau :

– Cette phase, souvent utilisée en Red Team simulant une attaque interne, consiste à tenter de reconstituer l ’architecture d’un SI à l ’aide d’informations récupérées passivement.

– sera par la suite complétée par des investigations actives

Page 27: Analyse d’une architecture réseau

Techniques actives (1/9)

• Exploitation des particularités des protocoles réseau :

– En-têtes Ethernet (id constructeur)

– Protocoles ARP/RARP

– ICMP (traceroute, enregistrement de routes, messages de paquets détruits, pings…)

– broadcasting (ethernet, IP)

– Bannières de connexions

Page 28: Analyse d’une architecture réseau

Techniques actives (2/9)

• Environnements commutés :

– dans un environnement switché, il n’est plus possible de capturer tout le traffic sur un segment de réseau.

• Cependant, il est parfois possible de contourner la difficulté :

– Trames de broadcast (passif)

– passage du switch en mode « diffusion » (aggressif)

– manipulation ARP/RARP

Page 29: Analyse d’une architecture réseau

Techniques actives (3/9)

• Le « port scanning » :

– « déterminer la liste exhaustive des services réseaux disponible sur une machine donnée »

• Utilise les particularités des protocoles TCP-UDP/IP :

– Syn Scan (scan classique)

– Half Syn Scan (furtivité de base)

– Idle Host Scanning (furtivité évoluée)

– …

• Très nombreux outils (nmap : la « star »)

Page 30: Analyse d’une architecture réseau

Techniques actives (4/9)

SYN

ACK

ACK, SYN

Client Serveur

(poursuite deséchanges)

• Principe de base de détection de port TCP ouvert :

Toute réponse d’acquittementà une trame de type SYN impliqueque le port TCP correspondant est ouvert

Page 31: Analyse d’une architecture réseau

Techniques actives (5/9)

• Technique du Half-Syn Scan :

– Identique au SYN scan à ceci près que, lors d’une réponse « ACK,SYN », l’attaquant ne poursuit pas les échanges

=> comme la connexion n’est pas menée à son terme, rien n’apparaît dans les éventuels logs du système.

Page 32: Analyse d’une architecture réseau

Techniques actives (6/9)

• Technique de l’Idle Host Scanning :

– on utilise une machine tierce, inactive et dont les numéros de séquence TCP sont prévisibles

– utilisation de Hping pour émettre des paquets IP à la cible et dont l’adresse source est falsifiée (source = machine tierce)

– envoi de trames (hping) à la machine tierce et analyse des numéros de séquences renvoyés

– Vu de la victime : c’est la machine tierce qui réalise les scans

Page 33: Analyse d’une architecture réseau

Techniques actives (7/9)

• Cas 1 : port TCP ouvert

Attaquant

Cible

MachineTierce

1 : Src = BA

C

B

2 :

AC

K, S

YN

3: R

ST

4 : requêtes IP5 : Réponses IP

(Sauts de séquences

car paquets RST émis dans

l’intervalle)Plus de prévisibilité des numérosde séquence :=> Le port est ouvert

Page 34: Analyse d’une architecture réseau

Techniques actives (8/9)

• Cas 2 : port TCP fermé

Attaquant

Cible

MachineTierce

1 : Src = BA

C

B

2 :

RS

T

3 : requêtes IP4 : Réponse IP

(pas de sauts de séquences)

Poubelle !

Prévisibilité des numérosde séquence maintenus=> Le port est fermé

Page 35: Analyse d’une architecture réseau

Techniques actives (9/9)

• OS Fingerprinting : détection de système d’exploitation

• Plusieurs techniques « ancestrales »:

– état global des services disponibles (+ ou - fiable)

– bannières de connexion (problèmes de falsification ou d’absence)

– exploitation de certains services réseaux (ex : Netbios)

• Méthode de Fyodor (nmap): technique la plus aboutie

– « repérer les particularités des piles TCP/IP des OS par analyse des réponses à des requêtes IP données »

– il existe cependant des patchs (Linux) pourleurrer cette technique (IP personality)

Page 36: Analyse d’une architecture réseau

Détection des paramètres de configuration d’un OS (1/2)

• Les services « bavards » :

• certains services réseau donnent de nombreuses informations sur l’état de configuration d’un OS => exploiter ces particularités pour se renseigner.

– Finger,

– SNMP

– FTP

– E-Mail

– et bien sûr : SMB-CIFS / NetBios

Page 37: Analyse d’une architecture réseau

Détection des paramètres de configuration d’un OS (2/2)

Cas de Windows

• Les services réseau de Windows sont TRES bavards

• En outre, selon la configuration choisie, la récupération d’information peut se faire sans être authentifié sur le système cible.

– LanGuard NetWork Scanner

– Winfingerprint

– Hyena

– ...

Page 38: Analyse d’une architecture réseau

Utilisation des outils d’audit

Page 39: Analyse d’une architecture réseau

Les scanners de vulnérabilités (1/2)

• Les « Stars » :

– ISS

– Nessus

– Saint

– Cybercop Scanner (anciennement Balista)

Page 40: Analyse d’une architecture réseau

Les scanners de vulnérabilités(2/2)

• Offre du marché (non exhaustif):

Nom Type CiblesNessus Open Source GénéralisteISS Commercial GénéralisteISS Database Scanner Commercial Bases de donnéesCybercop Scanner Commercial GénéralisteSaint Open Source GénéralisteNet Reconn Commercial GénéralisteHyena Freeware WindowsLanguard Freeware WindowsCain Freeware WindowsWinfingerprint Open Source Windowssmbbf Freeware WindowsNetBios Auditing Tool (NAT) Open Source WindowsFluxay (contient un trojan !) Freeware Serveurs WebStealth Freeware Serveurs Webwhisker Open Source Serveurs WebRouter Auditing Tool (RAT) ??? RouteursPandora Freeware Novell Netware

Page 41: Analyse d’une architecture réseau

Mise en œuvre de scanners de vulnérabilités (1/2)

• Ciblage et paramétrage : ne mener que les tests utiles

• Démarche incrémentale :

– Zero knowledge

– Anonymous mode

– User mode

– Admin mode

Page 42: Analyse d’une architecture réseau

Mise en œuvre de scanners de vulnérabilités (2/2)

– Dépouillement des résultats : quelles vulnérabilités retenir ?

– Sont elles pertinentes ?– Sont elles exploitables ?– Dans quelles conditions ?– Peut-on s’en protéger ?– Comment ?

=> détermination du chemin d’attaque

Page 43: Analyse d’une architecture réseau

Tests Manuels

• Complément aux tests automatiques

• Constitue un « ciment » pour l’audit technique

• Exemples en boîte blanche :

– vérification de la configuration locale d’une machine

– analyse d’un fichier de filtrage (routeur ou firewall)

Page 44: Analyse d’une architecture réseau

Quelques outils complémentaires

Nom Type URLNetcat Le "couteau suisse" du réseau http://www.atstake.com/research/tools/index.htmlTcpdump Sniffer réseau http://www.tcpdump.orgSnort IDS / Sniifer réseau http://www.snort.orgEthereal Sniffer réseau http://www.ethereal.com/Dsniff Sniffer réseau (capture de password)http://naughty.monkey.org/~dugsong/dsniff/Hping2 Générateur de paquets http://www.hping.org/Firewalk Analyse de Firewalls http://www.packetfactory.net/Projects/Firewalk/Strobe Port Scanner http://www.insecure.org/nmap/index.html#otherl0phtcrack Cracker de mots de passe (NT) http://www.atstake.com/research/lc3/John the ripper Cracker de mots de passe (Unix, NT)http://www.openwall.com/john/Hunt Sniffer, TCP hijacking http://lin.fsid.cvut.cz/~kra/index.html#HUNTNtop Analyseur réseau http://www.ntop.orgNgrep un "grep" réseau http://www.packetfactory.net/Projects/ngrep/Crack / Cracklib Cracker de mots de passe http://www.users.dircon.co.uk/~crypto/Fragrouter Vérificateur d'IDS http://packetstorm.widexs.nl/UNIX/IDS/nidsbench/nidsbench.htmlnmap Port Scanner / OS detection http://www.nmap.org/

Page 45: Analyse d’une architecture réseau

Identification et exploitation des vulnérabilités

Page 46: Analyse d’une architecture réseau

Identification et exploitation des vulnérabilités

• La phase de dépouillement doit permettre la mise en évidence des vulnérabilités exploitables sur le système cible.

• Cette liste peut être exploitée afin de poursuivre les investigations : démarche incrémentale

• Mise en évidence de chemin(s) d’attaque et, surtout, des chemins critiques :

– permettra de valuer les vulnérabilités...

– ...et de prioriser les corrections

Page 47: Analyse d’une architecture réseau

Le rapport d’analyse

Page 48: Analyse d’une architecture réseau

Généralités

• L’objectif du rapport d’audit est de fournir à l’audité les éléments nécessaires à une meilleure sécurité de son système d ’information

• A ce titre, il ne doit pas constituer une simple liste « à la Prévert » des failles décelées.

• Chaque faille doit être pondérée en fonction :

– de sa gravité,

– de son caractère exploitable ou non, et dans quelles conditions.

Page 49: Analyse d’une architecture réseau

Généralités

• Un rapport d’audit doit également préciser une proposition de plan d’action personnalisé pour améliorer la sécurité :

– du général au particulier

– ne pas hésiter à regrouper les failles décelées sous une même contre-mesure lorsque cela est possible

– proposer des jalons temporels

– chiffrer les coûts (financiers, mais surtout humains), même approximativement

– adapter le plan d’action à l’audité(capacités financières et humaines,temps nécessaire…)

Page 50: Analyse d’une architecture réseau

Quelles informations donner ?

• Deux approches :

– Exhaustive : toutes les vulnérabilités sont listées

– Synthétique : on ne donne que les points les plus durs

• Solution optimale : opter pour un mélange des deux approches :

– une synthèse courte des problèmes rencontrés, essentiellement à l’attention des décideurs

– une ou plusieurs annexes, plutôt destinées aux administrateurs.

Page 51: Analyse d’une architecture réseau

Quelles informations donner ?

• Ne pas hésiter à marquer les esprits en disant les choses telles qu’elles sont :

– un auditeur est avant tout une personne extérieure au système, présentant ses résultats sans compromis et de la façon la plus objective.

• Toujours rester factuel, bannir le « flou artistique ».

Page 52: Analyse d’une architecture réseau

Conclusions