Title: au4
1au4
IDS - IPS
Pierre LE BACCON IR3 22 Janvier
2008 pierre.le.baccon_at_gmail.com
2SOMMAIRE
- Sécurité des systèmes informatiques
- gt Enjeux pour les entreprises
- gt Anatomie dune attaque
- gt Attaques et Intrusions
- gt Sécurité active et passive
- Les systèmes de détection et de prévention
dintrusion (IDPS) - gt Les différents types dIDS/IPS
- gt Faux positif et faux négatif
- gt Détection dintrusions
3SOMMAIRE
- Les IDS IPS en pratique
- gt HIDS HIPS (Host Intrusion Detection/Prevention
System) - gt NIDS NIPS (Network Intrusion
Detection/Prevention System) - gt Réactions des IDS/IPS
- Contournement des IDS
- gt Contournement HIDS
- gt Contournement NIDS
- Démo de reconnaissance dattaque
- Bilan
41
Sécurité des systèmes informatiques
51. Sécurité des systèmes informatiquesEnjeux
pour les entreprises
- gt Attaque et intrusion comportements hostiles
dirigés au sein du réseau. - gt Confidentialité de linformation
- gt Intégrité
- gt Disponibilité
- gt Non répudiation
61. Sécurité des systèmes informatiquesEnjeux
pour les entreprises
- gt Perte de capitaux pour les entreprises.
- gt Palmarès des systèmes de sécurité mis en œuvre
- 1. Firewall.
- 2. Antivirus.
- 3. VPN.
- 4. IDS.
- Nécessité de se prémunir contre les attaques.
71. Sécurité des systèmes informatiquesAnatomie
dune attaque
81. Sécurité des systèmes informatiquesAttaques
et intrusions
- gt Attaque
- Recherche de failles dans le réseau et son
exploitation - gt Intrusion
- Prise de contrôle dune machine
- gt Différents types dattaques
- Virus
- Spoofing (IP, ARP, DNS)
- DoS (Denial of Services)
- Bugs
- etc.
91. Sécurité des systèmes informatiquesSécurité
active et passive
- gt Sécurité active
- Filtrer et bloquer des flux (IPS)
- gt Sécurité passive
- Détection/Reconnaissance dintrusions (IDS)
102
Les systèmes de détection et de prévention
dintrusions
112. Les systèmes de détection et de prévention
dintrusionsLes différents types dIDS/IPS
- gt N-IDS H-IDS
- Détection dintrusions sur le réseau/hôtes
- Sécurité passive
- gt N-IPS H-IPS
- Prévention des intrusions sur le réseau/hôtes.
- Défense proactive
- Fonctionnalité intégrée aux firewalls
- Un IPS ne remplace pas un firewall
- gt IDS Hybrides
- Surveillance du réseau et de terminaux
- NIDS HIDS
122. Les systèmes de détection et de prévention
dintrusions Faux positif et faux négatif
- gt Alertes formatées
- IDWG (IETF) Intrusion Detection Working Group
standardisation - Norme IDMEF Intrusion Detection Message
Exchange Format (RFC 4765) - XML
- Protocole IDXP Intrusion Detection eXchange
Protocol (RFC 4767) - Encore au statut expérimental
- gt Faux positif
- Détection erronée
- gt Faux négatif
- Non détection dun paquet malicieux
132. Les systèmes de détection et de prévention
dintrusions Détection dintrusions
- Approche par scénarios et approche
comportementale - Approche par scénarios
- Recherche de motifs (Pattern matching)
- Facilité de mise à jour.
- Limite 0 day et modification des signatures
- Exemple
- - Recherche de /cgi-bin/phf (tentative
dexploit). - - 8 premiers octets des données UDP CE63D1D2
16E713CF tentative de connexion avec back
orifice avec mot de passe par défaut. Changement
du mot de passe ( evade ) 8E42A52C
0666BC4A . - Analyse de protocoles protocoles et conformité
- Exemple Ping of death et fragmentation
- Analyse heuristique
- Exemple nombre de sessions dépassant un seuil
défini
142. Les systèmes de détection et de prévention
dintrusions Détection dintrusions
- Approche comportementale
- Détection en fonction du comportement passé de
lutilisateur - Exemple de métriques charge CPU, volumes de
données échangées, heures de connexion,
répartition statistiques des protocoles utilisés,
etc. - Approche probabiliste
- Représentation dune utilisation courante dune
application ou d un protocole. - Approche statistique
- Quantification des paramètres liés à
lutilisateur - Utilisation processeurs, mémoire, nombre de
connexions sortantes par jour, vitesse de frappe
au clavier, sites les plus visités etc. - Difficultés de mise en place
- Contrôle dintégrité
- Limites des IDS remontent énormément dalertes
par défaut.
153
Les IDS/IPS en pratiques
163. Les IDS et IPS en pratiqueHIDS HIPS (Host
Intrusion Detection Prevention System)
- gt Basé sur lintégrité du système
- gt Tripwire
- Vérifie les empruntes de fichiers (MD5, SHA,
etc.) périodicité via le cron. - Base de référence des fichiers à analyser
- Emprunte des fichiers de configuration et base de
données de TripWire - gt Logsurfer
- Analyse les logs en se basant sur des règles
(regex)
Exemples de HIDS Tripwire, Logsufer, Swatch,
Nocol, Osiris, Prelude (Hybride), etc.
173. Les IDS et IPS en pratique HIDS HIPS (Host
Intrusion Detection Prevention System)
- gt HIPS bloquent le comportement tels que
- Lecture / écriture de fichiers protégés
- Accès à des ports non autorisés
- Tentative d'exploitation de débordement de pile
(détection de Shellcode) - Accès à certaines zones de la base de registres
- Connexions suspectes (sessions RPC actives
anormalement longues sur des machines distantes,
etc.) - MAIS couteux, et problème dinteropérabilité.
Exemples de HIPS Entercept, Okena (Cisco),
ServerLock, etc.
183. Les IDS et IPS en pratique NIDS NIPS
(Network Intrusion Detection Prevention System)
- gt Historiquement TCPDump
- gt Interface en mode promiscuous
- gt Avertissement de ladministrateur
- Syslog, logfile, mail etc.
Exemples de NIDS Snort (IDPS, le plus
répandu), OpenSnort, Shadow, etc.
193. Les IDS et IPS en pratique NIDS NIPS
Positionnement du NIDS au sein du réseau
203. Les IDS et IPS en pratique NIDS NIPS -
Snort
- gt Open source
- gt Peu couteux en ressources
- gt Pas dinterface graphique
- gt Grande base de signatures mise à jour
- gt Gestion du réassemblage
- gt Analyse protocolaire (exping of death) et
pattern matching - gt 3 modes de fonctionnement
- Sniffer de paquets
- Logger de paquets
- Détection / Prévention dintrusions
- gt Langage de description des règles
213. Les IDS et IPS en pratique NIDS NIPS -
Snort
- gt Créer ses propres règles
- Syntaxe générale
- Action alert, log, pass, activate, dynamic
- Protocole tcp/udp/icmp
- Options dune règle
- 15 mots clés disponibles
- ack,msg, flags, react, resp, content-list,
Action protocole _at_src port_src -gtltgt _at_dest port_dest (options_de_règle)
(mot_clévaleurmot_clé2valeur2)
223. Les IDS et IPS en pratique NIDS NIPS -
Snort
- gt msg
- Description de la règle
- gt flags
- Test des drapeaux TCP (ACK, SYN), opérateur
logique (,,!) - Exemple (flagsSFmsg"SYN FIN scan")
- gt ack
- Teste le champ dacquittement TCP pour une valeur
donnée - Exemple (flagsAack0msg"NMap TCP ping")
- gt TTL
- Teste la valeur du TTL
- Exemple (alert tcp any any -gt any any(msg
Traceroute"TTL1)
233. Les IDS et IPS en pratique NIDS NIPS -
Snort
- gt resp
- Met en œuvre des réponses flexibles
- Exemple (alert tcp any any -gt 192.168.0.1/24
1524 (flagsS resprst_all msg "Root shell
backdoor attempt") - Valeur rst_all - envoie des paquets TCP_RST
dans les deux directions - gt react
- Réponse active (block, msg) sur connexions HTTP.
- Exemple (alert tcp any any ltgt 192.168.0.1/24 80
(content-list "adults" msg Adult sites"
react block,msg)
243. Les IDS et IPS en pratique NIDS NIPS
- gt Réponse des NIPS
- TCP FIN et ICMP Host Unreachable
- Mais faux positifs
Exemples de NIPS Snort (IDPS), WatchGuard,
NetScreen, TopLayer, etc.
253. Les IDS et IPS en pratique Actions des H/N
IPDS
- Autres actions possibles des IPDS
- gt Reconfiguration déquipements tiers
- gt Envoi dun trap SNMP à un agent de supervision
- gt Envoi dun E-mail à un ou plusieurs
utilisateurs - gt Journaliser une attaque
- gt Sauvegarder les paquets suspicieux
- gt Démarrage dune application
- gt Envoi dun RST_KILL construction dun paquet
TCP FIN. - gt Notification visuelle dune alerte.
264
Contournement des IDS
274. Contournement des IDSQuelques techniques
- gt Déni de service contre un IDS
- gt Attaque par insertion
- Ajout de paquets superflus
- Ex fragmentation IP et recouvrement de
fragments (modification des champs longueur
et décalage ). - Ex Exploiter le Timeout pour le réassemblage
(60s sur machines, lt60s sur IDS) - gt Attaque par évasion
- Ne pas faire détecter le paquet par lIDS
- Ex modification des chaînes de caractères
- GET /etc/rc.d/../././././/.//./passwd
- GET 657463/706173737764 (codage en
hexadécimal) - URL longues, Remplacer espaces par tabulations,
/ par \ etc.
284. Contournement des IDS Quelques techniques
- gt Shellcode
- Remplacer les NOP par dautres instructions
29DEMO Détection d une intrusion avec Snort
30BILAN
31Bilan
- gt Evaluer les besoins IDS et/ou IPS ?
- gt Auditer le réseau (Mehari etc.) et tester la
détection - dintrusion
- gt Protéger lIDS/IPS
- Avenir IDXF et IDS hybrides (Prélude)
32Sources
- gt Wikipédia (http//fr.wikipedia.org)
- gt Snort (http//www.snort.org)
- gt Mag-securs (http//www.mag-securs.com/)
- gt Computer Security Institute (http//www.gocsi.co
m/) - gt Sécurité.org (http//www.securite.org/)
- gt CGSecurity (http//www.cgsecurity.org)
- gt Groar écriture des règles snort
(http//www.groar.org/trad/snort/snort-faq/writing
_snort_rules.html) - gt HSC consultant en sécurité informatique
(www.hsc.fr)
33Questions
34Backup
35Exemple dalerte IDMEF (Extrait de la FRC 4765)
1/2
lt?xml version"1.0" encoding"UTF-8"?gt ltidmefIDMEF-Message xmlnsidmef"http//iana.org/idmef" version"1.0"gt ltidmefAlert messageid"abc123456789"gt ltidmefAnalyzer analyzerid"hq-dmz-analyzer01"gt ltidmefNode category"dns"gt ltidmeflocationgtHeadquarters DMZ Networklt/idmeflocationgt ltidmefnamegtanalyzer01.example.comlt/idmefnamegt lt/idmefNodegt lt/idmefAnalyzergt ltidmefCreateTime ntpstamp"0xbc723b45.0xef449129"gt 2000-03-09T100125.93464-0500 lt/idmefCreateTimegt ltidmefSource ident"a1b2c3d4"gt ltidmefNode ident"a1b2c3d4-001" category"dns"gt ltidmefnamegtbadguy.example.netlt/idmefnamegt ltidmefAddress ident"a1b2c3d4-002" category"ipv4-net-mask"gt ltidmefaddressgt192.0.2.50lt/idmefaddressgt ltidmefnetmaskgt255.255.255.255lt/idmefnetmaskgt lt/idmefAddressgt lt/idmefNodegt lt/idmefSourcegt
36Exemple dalerte IDMEF (Extrait de la FRC 4765)
2/2
ltidmefTarget ident"d1c2b3a4"gt ltidmefNode ident"d1c2b3a4-001" category"dns"gt ltidmefAddress category"ipv4-addr-hex"gt ltidmefaddressgt0xde796f70lt/idmefaddressgt lt/idmefAddressgt lt/idmefNodegt lt/idmefTargetgt ltidmefClassification text"Teardrop detected"gt ltidmefReference origin"bugtraqid"gt ltidmefnamegt124lt/idmefnamegt ltidmefurlgthttp//www.securityfocus.com/bid/124lt/idmefurlgt lt/idmefReferencegt lt/idmefClassificationgt lt/idmefAlertgt
37(No Transcript)
38(No Transcript)
39(No Transcript)
40(No Transcript)
41(No Transcript)
42(No Transcript)
43Exploit phf
http//host.com/cgi-bin/phf?Qalias0A/bin/cat20/etc/passwd
44En-tête IP
- Champs Length sur 16 bits taille totale 64K
45En-tête TCP
46Attaques
- gt SYN/FIN scan
- SYN renvoie SYN/ACK (port ouvert) ou RST
- FIN ne renvoie rien si le port est ouvert, ou RST
si le port est fermé
47Shellcode
- gt /bin/sh ou command.com
- gt Débordement de tampon
- gt Ne peut contenir de caractère nul (0x00 fin
de chaîne de caractères) - gt Valeur de retour modifiée dans la pile
- gt Exemple
char shellcode "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b" "\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd" "\x80\xe8\xdc\xff\xff\xff/bin/sh"
48Fonctionnement de Tripwire