Ce module dynamique du noyau permet d'obtenir un niveau de sécurité C2 pour notre OS préféré, en ajoutant des capacités d'audit et de détection d'intrusion au niveau 'host' (et non réseau comme des projets tel que Snort).
SNARE se compose d'un module noyau à installer ou à recompiler (snare-core) et d'une interface graphique (snare-gui) pour définir le paramétrage de l'audit et avoir un journal d'événements (voir screenshots très ressemblant au journal événement de NT).
Aller plus loin
- SNARE (12 clics)
- Article sur NewsForge (2 clics)
# les modules et la securite
Posté par tfing . Évalué à 10.
je sais qu'il existe St Michael pour surveiller ca mais quand meme je me pose des questions
il s'agit donc de reduire son niveau de securite d'un cote pour l'augmenter de l'autre
au final, de quel cote penche la balance ?
[^] # Re: les modules et la securite
Posté par Gaël Le Mignot . Évalué à 10.
Par exemple, si ton noyau est monolithique, tu ne peux rajouter de nouveaux modules pour Netfilter (un protocol helper, le module port-scan detection, ...) sans recompiler le noyau et rebooter la machine. Ca peut être très génant.
[^] # On peut charger des modules avec un noyau monolithique !
Posté par pappy (site web personnel) . Évalué à 10.
Le support des modules donne accès à des utilitaires qui te permettent de charger/décharger des modules. Maintenant, si tu parviens à mettre du code dans la mémoire "kernel", les instructions seront exécutées quand même. Pour cela, il "suffit" d'attaquer le fichier /dev/kmem.
L'article qui explique ceci : http://www.big.net.au/~silvio/runtime-kernel-kmem-patching.txt(...)
Il date un peu, mais l'idée est encore très intéressante :)
[^] # Re: On peut charger des modules avec un noyau monolithique !
Posté par tfing . Évalué à 10.
supposons que mon kernel (un 2.4 vanilla) soit compile sans le support des modules, qu'un intrus ait reussi a s'introduire chez moi et qu'il ait tous les droits. d'apres l'article precedent, il pourrait donc charge du code en memoire
je suppose alors qu'il pourrait alors aussi detourner tous les appels systemes et tout ca sans passer par la fonction init_module
merci de me corriger si j'ai encore ecrit une connerie plus grosse que moi
[^] # Re: On peut charger des modules avec un noyau monolithique !
Posté par _PinG _ . Évalué à 10.
[^] # Re: On peut charger des modules avec un noyau monolithique !
Posté par Yéman . Évalué à 7.
Une fois root c'est sûr qu'après il fait ce qu'il veut...
#dd bs=2048 if=/dev/zero of=/proc/kcore ... je vous le conseille...
[^] # Re: On peut charger des modules avec un noyau monolithique !
Posté par Gaël Le Mignot . Évalué à 10.
1/ Faire en sorte que son intrusion ne soit pas détecter
2/ Se ménager une porte d'entrée facile, mais non détectable, et ceci même si le trou initial est patché.
Pour cela, il existe des "root-kits" qui remplacent certaines commandes (ls, md5sum, ...) pour que les fichiers modifiés apparaissent comme sains. Le fin du fin dans les rootkits est de faire un module noyau, totalement indétectable, qui "ment" aux applications pour que le système paraisse sain.
L'absence de support pour les modules dans le noyau rend ce travail plus difficile, mais pas impossinle comme l'a signalé Pappy plus haut.
[^] # pub
Posté par pappy (site web personnel) . Évalué à 10.
J'avais écrit un article là-dessus pour le HS de Linux Mag sur la sécurité. Il est en ligne :
http://minimum.inria.fr/~raynal/index.php3?page=404(...)
</pub>
[^] # portscan detection
Posté par Alexandre T. . Évalué à 10.
[^] # Re: portscan detection
Posté par Gaël Le Mignot . Évalué à 10.
La doc se trouve, toujours dans le package source d'ipables, dans le fichier patch-o-matic/psd.patch.help.
La syntaxe c'est
iptables -m psd [options] -j DROP
# Ca compile pas...
Posté par Anonyme . Évalué à -7.
newton:/usr/src/snare/snare-core-0.8# make
gcc -c -g -O6 -DMODVERSIONS -Iinclude -DMODULE -D__KERNEL__ -DLINUX auditmodule.c
auditmodule.c:64: `spin_lock' redeclared as different kind of symbol
/usr/include/asm/spinlock.h:79: previous declaration of `spin_lock'
auditmodule.c: In function `auditmodule_read':
auditmodule.c:453: called object is not a function
auditmodule.c: In function `auditmodule_close':
auditmodule.c:603: called object is not a function
auditmodule.c: In function `audit_event':
auditmodule.c:1286: called object is not a function
auditmodule.c: In function `write_event':
auditmodule.c:1390: called object is not a function
auditmodule.c:1396: called object is not a function
auditmodule.c:1445: called object is not a function
auditmodule.c:1455: called object is not a function
auditmodule.c: In function `timeout':
auditmodule.c:1504: called object is not a function
make: *** [auditmodule] Error 1
[^] # Re: Ca compile pas...
Posté par Anonyme . Évalué à -7.
[^] # Re: Ca compile pas...
Posté par Anonyme . Évalué à -10.
[^] # Re: Ca compile pas...
Posté par Anonyme . Évalué à -10.
[^] # Re: Ca compile pas...
Posté par Anonyme . Évalué à -7.
mais au lieu de scorer négativement, dites plutôt si ça compile ou si ça compile pas chez vous..
Ca compile pas...
[^] # Re: Ca compile pas...
Posté par Anonyme . Évalué à -2.
plutôt si ça compile ou si ça compile pas chez vous..
Avec de l'habitude, on s'apercoit que si on est
incapable de compiler ce genre d'outil, c'est qu'on
n'est pas suffisamment "hacker" et encore trop "cracker"
(encore des trucs à lire, faire etc...)
Par contre, si on y arrive finalement en cherchant, on y gagne
beaucoup!
C'est ainsi que se fait la selection
des outils "kifontdumal" d'une part largement
répandus et d'autre part tres bon...
Apres quelques modifications ça compile:
la structure redéfinie, je l'ai vu une bonne
douzaine de fois...
Ca marche a tout les coups avec les script-kiddies
pressé de péter le serveur de leur école.
ps: inutile de me demander les modifs à apporter
pps: je sais que ca va en enerver un paquet,
alors je poste en anonyme...
[^] # Re: Ca compile pas...
Posté par Anonyme . Évalué à -1.
# pas C2
Posté par Alain Tésio . Évalué à 10.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.