Détection de failles de sécurité - détection d'attaques
- Une méthode fréquemment utilisée pour attaquer un site consiste à découvrir quels services sont disponibles à travers le réseau afin de déterminer si des failles de sécurité connues peuvent être exploitées.
- Des outils tels que SATAN peuvent être utilisés pour sonder son propre réseau à la recherche de vulnérabilités, en vue de les réparer. Ces mêmes outils peuvent aussi servir à des personnes mal intentionnées pour sonder votre réseau. Ces outils sont appelés "port scanner" (analyseur de ports). Ils essayent d'accéder systématiquement à tous les ports de chacune des machines d'un réseau et rapportent ce qu'ils ont trouvé.
- Il existe aussi des outils pour détecter les analyseurs de ports: "port scan detector" (détecteur d'analyseur de ports). Ces outils servent de système de détection d'intrusion
Comment détecter un analyseur de ports?
- Une analyse de ports implique des tentatives de connexion à de nombreux ports sur lesquels aucune écoute n'est prévue. Une "signature" qui pourrait être utilisée pour détecter une analyse de ports serait de nombreux paquets provenant de la même source vers différents ports de destination. Une autre signature serait une demande de connexion sur un port inutilisé.
- L'attaquant peut essayer de passer inaperçu en faisant l'analyse de port très lentement, en espaçant les tentatives de connexion.
- L'attaquant faisant une analyse de ports peut essayer de camoufler l'adresse de sa machine en faisant une multitude de tentatives avec une très forte proportion d'adresses source bidons. Ainsi, même si l'attaque est détectée, son origine demeurera presque impossible à retrouver.
Quelles réactions prévoir lors de la détection d'une attaque?
- On pourrait envisager de bloquer tous les paquets provenant de la source (apparente) de l'analyse de ports. Toutefois, cela pourrait servir à mettre en place une attaque du type déni de service, en simulant dans le champs d'adresse d'origine des paquets l'adresse d'une machine "innocente" qui se verra alors bloquée sans avoir rien fait pour cela. Une autre vulnérabilité de ce type de réaction est que l'adresse à bloquer doit être ajoutée dans une liste qui a forcément une taille finie. En utilisant une multitude de fausses adresses, l'attaquant peut saturer l'espace mémoire disponible pour cette liste.
- Une autre action envisageable serait d'essayer de se connecter à la machine source pour obtenir plus d'infomation. Mais si cela est automatisé, cela pourrait servir pour utiliser votre système afin d'attaquer une tierce machine.
- Il vaut mieux envisager une action manuelle.
Mesures de prévention
- Pour éviter que vos machines soient à la source d'une attaque de type déni de service avec une adresse source trafiquée, vous pouvez configurer vos routeurs de façon à rejeter tout paquet venant de l'intérieur de votre site qui aurait une adresse source extérieure à votre site ("egress filtering"). Cela n'empèchera pas que vos machines soient utilisées lors d'une attaque distribuée, mais permettra de remonter jusqu'à elles en cas d'attaque. Vous devrier aussi filtrer les paquets venant de l'extérieur qui portent une adresse source interne à votre site. Si possible, archivez ces évènements en limitant la taille du fichier d'archive (il vaut mieux ne pas archiver, sinon).
- Configurez vos routeurs pour qu'ils ne retransmettent pas dans votre réseau local des demandes de "broadcast" provenant de l'extérieur.
- Configurez vos machines clientes pour qu'elles ne répondent pas à des "broadcasts" (généralement les "broadcasts" servent aux clients à localiser des serveurs dont l'adresse n'est pas connue)
- Désactivez tous les services dont vous n'avez pas expressément besoin sur vos serveurs.
- Faites un "checksum" systématique des répertoires système et stockez cette information sur un support protégé. Cela vous permettra plus tard de déterminer quels programmes et commandes du système ont été modifiés par l'attaquant.
- Sondez votre propre réseau à intervalles réguliers avec des outils comme SATAN.
- Mettez en place un détecteur d'analyseur de port, dont le rôle sera d'avertir le responsable de la sécurité (pas de réactions automatiques)
-
Sur les machines "clientes" (ordinateurs personnels), n'installez pas de
logiciels dont la provenance est douteuse (économiseurs d'écran,
jeux, etc.). Sur la plateforme Windows 9X:
- vérifiez régulièrement l'entrée HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run de la base de registres pour voir si des programmes inhabituels sont lancés au démarage de la machine.
- Dans une fenêtre DOS, tapez la commande "netstat -an" pour voir si votre machine est à l'écoute sur un port inhabituel.
- Suivez les conseils du CERT (Security Improvement Practices)
Que faire si son site est utilisé comme intermédiaire dans une attaque distribuée?
- Le système d'exploitation de la machine utilisée a été compromis. Vous ne pouvez donc pas vous fier aux programmes et aux commandes du système, qui ont pu être remplacés par quelque chose au comportement similaire, mais qui filtrerait toute information liée au cheval de Troie, afin d'en cacher la présence.
- Commencer à noter par écrit tout ce que vous remarquez.
- N'envoyez pas d'avertissement général, qui pourrait mettre la puce à l'oreille de l'attaquant. Notifiez personnellement les personnes susceptibles de vous aider, ainsi que les autorités.
- Si vous n'avez pas une grande expérience de ce type d'attaque, demandez l'aide d'un spécialiste (interne à la société, s'il y en a, consultant, sinon).
- Déconnectez le cable réseau de la machine incriminée. Si c'est un serveur important, remplacez la machine par une machine de remplacement.
- Faites une sauvegarde complète des disques de la machine incriminée, y compris des fichiers temporaires. Utilisez si possible plus d'un logiciel de backup, dont un qui serait sur un CD-ROM et qui n'aura donc pas pu être modifié par le cheval de Troie. A l'aide d'un système minimal sur CD-ROM ou disquette, essayez d'archiver l'état du système (utilisateurs connectés, processus en cours d'exécution, connexions réseau ouvertes, etc.). Le but est de pouvoir faire une analyse post-mortem pour trouver la façon dont les attaquant s'y sont pris pour infecter votre système.
- Arrêtez la machine et, si possible, redémarez-la depuis une disquette ou un CD-ROM.
- Reformatez les disques avec un logiciel dont la provenance est vérifiée.
- Réinstallez le système d'exploitation et appliquez toutes les mises-à-jour fournies par le fabricant. Réinstallez les logiciels.
- Adaptez la configuration du système pour en éliminer toutes les failles de sécurité connues.
- Rétablissez les fichiers des utilisateurs, les fichiers de mots de passe après les avoir dûment vérifiés.
- Rétablissez la connexion au réseau
- Vérifiez les autres machines de votre réseau.
- Security Improvement Practices, du CERT (copie locale)
- Murphy's law and computer security, par Wietse Venema (auteur du logiciel SATAN et d'autres logiciels réseau), 1996
- Improving the security of your site by breaking into it, par Dan Farmer et Wietse Venema
- Computer Forensic Analysis, outils, informations et notes de cours sur l'analyse post-mortem d'une attaque, par Dan Farmer et Wietse Venema
- DDOS Attacks, par Gary Flynn.
- Designing and Attacking Port Scan Detection Tools, Phrack Magazine Volume 8, Issue 53 July 8, 1998, article 13 of 15