Retour aux mises à jour
New releaseJul 29, 2026

owLSM v0.9.0

Moteur de règles Sigma à l'intérieur du noyau Linux utilisant eBPF. Axé sur les capacités de prévention.

Partager

owLSM_logo-Photoroom

🛡️ owLSM aspire à devenir la référence en matière de prévention et de détection pour Linux 🛡️

Docs Discord Agent Friendly CI passing

owLSM est un agent eBPF LSM qui implémente un moteur de règles Sigma avec état, axé sur la prévention.

Qu'est-ce que le projet : owLSM se concentre sur trois aspects principaux :
1) Des capacités de prévention via un moteur de règles Sigma implémenté avec eBPF LSM.
2) La corrélation de données entre les sondes eBPF pour des capacités de prévention avec état.
3) Une surveillance système axée sur la sécurité où chaque événement contient tout le contexte dont un expert en sécurité a besoin.

À qui s'adresse-t-il : Aux équipes qui défendent les systèmes Linux, aux entreprises proposant des solutions de sécurité Linux/Cloud, ainsi qu'aux développeurs et agents cherchant des exemples d'implémentation de solutions eBPF complexes.

Où est-il déjà utilisé : Chez les clients des sociétés de sécurité Cybereason et LevelBlue.

Pourquoi avons-nous créé ce projet : Après des années d'utilisation de projets comme Falco, Tetragon et KubeArmor, nous avons toujours rencontré les mêmes lacunes. Ces solutions offrent peu ou pas de capacités de prévention (application). Celles qui proposent des règles d'application manquent de fonctionnalités de base comme la correspondance de sous-chaînes, les expressions régulières, la correspondance complète de la commande du processus, et la terminaison du processus parent des processus malveillants.
Nous avons décidé d'adopter une approche radicalement différente :
1) Utiliser la structure standard des règles Sigma et prendre en charge autant de fonctionnalités que possible (nous en ajoutons constamment).
2) Résoudre la limitation fondamentale des projets eBPF LSM actuels : ils sont sans état. Presque toutes les données disponibles dans une règle d'application proviennent uniquement du crochet actuel.
Nous avons créé des programmes eBPF avec état qui utilisent plusieurs points de crochet consécutifs et corrèlent les données entre eux, afin qu'au moment de la décision de prévention, les utilisateurs disposent de toutes les données nécessaires. Nous avons poussé cette approche étatique si loin que, par exemple, lors de la surveillance des événements d'écriture, vous pouvez spécifier des règles de prévention basées sur la commande shell qui a initié l'écriture.


Aidez-nous à grandir et à protéger le monde en nous donnant une ⭐

Le support cloud viendra dans le futur

Comment compiler

# Télécharger l'image Docker
docker pull ghcr.io/cybereason-public/owlsm-ci:latest

# Lancer le conteneur de compilation
docker run -it --rm -v "$PWD":/workspace -w /workspace ghcr.io/cybereason-public/owlsm-ci:latest bash

# Compiler les binaires owlsm et rules_generator
make -j$(nproc)

# Compiler les tests unitaires
make test -j$(nproc)

# Quitter le conteneur (on ne peut pas exécuter owlsm ni les tests dans Docker)
exit

Exécuter owLSM

À faire en dehors de Docker

cd build/owlsm/bin

# Exécuter sans configuration
sudo ./owlsm 

# "-c" exécuter avec une configuration
sudo ./owlsm -c /config/path.json

# "-e" PIDs exclus (généralement on souhaite exclure les processus parents)
sudo ./owlsm -c /path/to/config.json -e 123 -e 456

# "-p" PIDs protégés. Ces PIDs sont protégés contre l'anti-contrefaçon
sudo ./owlsm -c /path/to/config.json -e 123 -e 456 -p 123 -p 789

# Exécuter owlsm et passer la configuration via stdin (lorsque vous ne voulez pas sauvegarder le fichier de config sur le disque)
# owLSM s'attend à recevoir la configuration en moins de 10 secondes.
sudo ./owlsm --stdin

Remarque : Le démarrage d'owLSM prend 10 à 50 secondes selon le système. C'est le temps nécessaire au vérificateur eBPF pour valider tous les programmes avant leur chargement dans le noyau. Une fois terminé, owLSM est pleinement actif.

Configuration et règles

Voir Rules/README.md

Exécuter les tests unitaires

cd build/unit_tests/bin

# Lancer les tests unitaires
sudo ./unit_tests

Vérifier la compatibilité

Avant d'exécuter owLSM, vérifiez que votre système remplit les conditions requises :

chmod +x scripts/check_compatibility.sh && ./scripts/check_compatibility.sh

Tests d'automatisation (tests d'intégration)

Voir src/Tests/Automation/README.md pour exécuter les tests d'automatisation.

Rejoindre la communauté

Pour participer au projet owLSM, visitez notre Discord.
Si vous avez des questions, posez-les sur le Discord ou ouvrez un ticket approprié.

📖 Consultez la documentation pour tout ce dont vous avez besoin — comment utiliser le projet, écrire des règles, comprendre l'architecture, etc.

Contributeurs

Nous sommes ravis que vous souhaitiez contribuer à owLSM !
Veuillez consulter CONTRIBUTING.md pour connaître les règles, les conventions et même les outils IA et agents sympas qui vous aideront beaucoup !

Licence

owLSM est sous licence GNU General Public License v2.0 (GPL-2.0).

Bibliothèques tierces

Ce projet inclut plusieurs bibliothèques tierces avec leurs propres licences (toutes compatibles GPL). Voir THIRD_PARTY_LICENSES pour les détails.

Catégories