3 dépôts
Techniques for retrieving structured or primitive data from kernel-space memory and objects.
Distinct from Structured Data Extraction: Existing candidates focus on generic structured data or educational data structures; this is specifically about extracting runtime state from the Linux kernel.
Explore 3 awesome GitHub repositories matching operating systems & systems programming · Kernel Data Extraction. Refine with filters or upvote what's useful.
Tetragon est une suite d'outils de sécurité et d'observabilité runtime basée sur eBPF, conçue pour les environnements Linux et Kubernetes. Il fonctionne comme un gestionnaire de politiques de sécurité, un agent d'observabilité et un moteur d'application qui s'interface avec les fonctions du noyau et les tracepoints pour détecter l'élévation de privilèges, les évasions de conteneurs et les activités système non autorisées. Le projet se distingue par sa capacité à effectuer une application des règles en temps réel au niveau du noyau, permettant de terminer de manière synchrone des processus malveillants ou de modifier les valeurs de retour des fonctions avant qu'un appel système ne soit terminé. Il offre une intégration Kubernetes poussée en synchronisant les identités des conteneurs et en mappant les événements noyau de bas niveau directement aux pods et aux namespaces. Ses capacités plus larges couvrent l'audit complet des appels système, le suivi des connexions réseau et la surveillance de l'intégrité des fichiers. Le système prend en charge la gestion dynamique des politiques et fournit des outils de diagnostic pour surveiller les performances et l'utilisation des ressources BPF. Le déploiement est pris en charge sur les clusters Kubernetes via des charts Helm, ainsi que via des conteneurs autonomes et des paquets système natifs.
Provides the ability to retrieve primitive integers, strings, and complex structures directly from kernel objects.
Ce projet est une ressource éducative fournissant un tutoriel de développement complet pour écrire et charger des programmes eBPF en utilisant C, Go et Rust au sein du noyau Linux. Il sert de guide technique pour développer une logique personnalisée à exécuter directement dans le noyau. Les matériaux couvrent des domaines spécialisés, notamment l'observabilité et le traçage du noyau, l'implémentation de la sécurité pour la détection d'intrusion et l'ingénierie réseau haute performance pour le filtrage de paquets et l'équilibrage de charge. Il inclut également des manuels dédiés pour le traçage du noyau Linux et l'utilisation de kprobes, uprobes et tracepoints. Le projet englobe un large éventail de domaines de capacités, tels que l'instrumentation du noyau, la surveillance et l'observabilité du système, l'analyse réseau et l'application de la sécurité. Il s'étend en outre au débogage au niveau matériel pour les GPU et les pilotes, ainsi qu'à la manipulation système de bas niveau et à la gestion des ressources.
Transfers captured kernel data to applications asynchronously using high-performance memory buffers.
pwru is a tooling implementation for tracing, filtering, and debugging network packet movements and transformations within the Linux kernel. It functions as an eBPF network packet tracer and debugger used to analyze kernel state and identify where network packets are dropped or redirected. The project provides specialized capabilities for monitoring the packet lifecycle, including tracking packets through NAT transformations and tunnel decapsulation. It includes an eBPF traffic filter that reduces noise by restricting traced packets based on namespaces, interfaces, and kernel function names.
Extracts structured runtime data and packet headers from kernel-space memory.