The eBPF File Creation Blocker is a cutting-edge security module designed to prevent file creation in specified directories using the Eunomia eBPF Runtime.

Leveraging the Linux Security Module (LSM) framework and eBPF technology, this tool offers an efficient and lightweight solution for enforcing directory-specific file creation policies.

Key Features

  • Directory Restriction: Blocks file creation attempts specifically within the /etc/test/ directory.
  • Efficient Enforcement: Utilizes eBPF LSM hooks, minimizing overhead compared to traditional kernel modules.
  • Compatibility: Fully integrates with Eunomia eBPF Runtime for seamless deployment.
  • Logging Capability: Logs blocked attempts via bpf_printk, enabling administrators to monitor security events.

The blocker uses LSM hooks, such as security_file_permission, to intercept file creation operations. When triggered, the eBPF program checks the target directory and denies access if it matches the restricted path.

This inline enforcement ensures that unauthorized file creation is blocked before it occurs, enhancing system security without significant performance trade-offs.

Prerequisites:

  • A Linux kernel with eBPF and BTF support (CONFIG_DEBUG_INFO_BTF=y).
  • Clang/LLVM for compiling eBPF programs.
  • Eunomia-bpf installed.

Steps:

  1. Clone the repository: bashgit clone https://github.com/YOUR_GITHUB_USERNAME/ebpf-block-file.git cd ebpf-block-file
  2. Compile using Eunomia’s eBPF Compiler: bashecc block_file_create.c
  3. Load the program: bashecli run package.json

To test functionality, attempt to create a file in /etc/test/:

bashtouch /etc/test/file

The operation will fail with an error: Operation not permitted.

For logs of blocked attempts, use:

bashsudo cat /sys/kernel/debug/tracing/trace_pipe

Example log output:

texttouch-2502 [007] ....1 161.355842: bpf_trace_printk: Blocked file creation in /etc/test: file

Advantages Of eBPF

eBPF-based solutions like this blocker offer significant benefits over traditional methods. By executing code directly in kernel space, they reduce latency and overhead while providing granular control over system operations.

This project is licensed under GPL-2.0, ensuring open-source accessibility for further development and customization.

The eBPF File Creation Blocker exemplifies how modern technologies like eBPF can be harnessed to enhance system security efficiently and effectively.

LEAVE A REPLY

Please enter your comment!
Please enter your name here