La vérification d'integrité, c'est marrant et tout, blablabla, etc mais c'est pas fiable.
J'explique :
La sécurité du niveau n d'un système dépend de la sécurité des niveaux 0 à (n-1).
Donc avec mon brave vérificateur d'intégrité, je fais quoi :
open(monfichier)
->vérifie_intégrité(monfichier)
->opérations diverses et variées
close(monfichier)
Vous voyez la faille ? Je fais quoi si je ne peux pas être sur de mon open, que se soit celui de la glibc ou celui du noyau (techniques de hooking) ? C'est à dire : que vaut le contrôle d'intégrité si les appels qu'il fait aux systèmes en dessous ne sont plus sûrs ? pas grand chose...
Donc à partir du moment où il y a compromission, le contrôle d'intégrité est mort. Le mieux c'est encore de faire une analyse offline à partir d'une autre machine, en utilisant des binaires compilés statiquement et c'est pas encore la panacée : interruption de services, copie des fichiers, etc.
[^] # Re: Le top 75 des outils sécurité
Posté par AlphA . En réponse à la dépêche Le top 75 des outils sécurité. Évalué à 6.
La vérification d'integrité, c'est marrant et tout, blablabla, etc mais c'est pas fiable.
J'explique :
La sécurité du niveau n d'un système dépend de la sécurité des niveaux 0 à (n-1).
Donc avec mon brave vérificateur d'intégrité, je fais quoi :
open(monfichier)
->vérifie_intégrité(monfichier)
->opérations diverses et variées
close(monfichier)
Vous voyez la faille ? Je fais quoi si je ne peux pas être sur de mon open, que se soit celui de la glibc ou celui du noyau (techniques de hooking) ? C'est à dire : que vaut le contrôle d'intégrité si les appels qu'il fait aux systèmes en dessous ne sont plus sûrs ? pas grand chose...
Donc à partir du moment où il y a compromission, le contrôle d'intégrité est mort. Le mieux c'est encore de faire une analyse offline à partir d'une autre machine, en utilisant des binaires compilés statiquement et c'est pas encore la panacée : interruption de services, copie des fichiers, etc.
Un petit proof of concept écrit par un ami : http://www.iiens.net/pilon/muriel/index.php(...)
Un bête lkm qui fist tripwire.
Le plus simple, c'est encore de s'assurer que les fichiers qui n'ont pas à être modifiés ne peuvent pas l'être tout court : partition en ro, etc.