Notre réflexion nous a amené à séparer notre IDS en plusieurs applications ayant des tâches différentes. Comme nous l'avons déjà entrevu,
les types d'intrusions qu'un IDS est à même de détecter peuvent être de plusieurs types :
Ce découpage nous a permis de déterminer facilement les trois sous-applications de notre IDS.
Nous avons donc développé un LKM (Loadable Kernel Module) permettant
de surveiller le système, les tentatives de compromission du système ainsi que les signatures connues de backdoors. Puisqu'il faut savoir utiliser les armes
de ses adversaires, on peut dire que nous avons finalement utilisé un rootkit.
Les agressions venant du réseau ne peuvent être détectées sans une analyse en temps réel, notre deuxième application sera donc composée d'un
sniffer et de fonctions d'analyse des paquets.
Enfin, puisqu'il n'est pas possible d'inculquer à un programme la notion de fonctionnement normal, nous avons eu recours à une analyse statistique des sockets entrants/sortants du
système afin de détecter les activités n'étant pas communes et certaines backdoors.
Il est à noter que nous avons développé notre IDS pour une exploitation sous Linux avec une architecture Intel x86, sans objectif de portabilité. Certains de nos
commentaires ne s'appliquent donc pas nécessairement sous toutes les architectures.