Rustinel: Unified Endpoint Detection untuk Windows, Linux & macOS

Rustinel: Unified Endpoint Detection untuk Windows, Linux & macOS

Rustinel adalah open-source endpoint detection engine berbasis Rust — satu binary, satu ruleset, tiga platform. Telemetri native via ETW (Windows) dan eBPF (Linux), dievaluasi dengan Sigma rules, YARA signatures, dan IOC indicators, lalu dikeluarkan sebagai ECS NDJSON yang langsung bisa dikirim ke SIEM manapun. Apache 2.0, developer: Foucher (alias Karib0u).

Open-source endpoint detection selama ini terpecah dua: tools khusus Windows yang dibangun di atas Sysmon, dan tools Linux yang pakai eBPF atau auditd. Defender di environment campuran terpaksa maintain dua pipeline, dua ruleset, dan dua beban maintenance terpisah. Rustinel lahir buat nyatuin semua itu ke satu codebase — dengan pendekatan yang sengaja dipilih: transparent userspace engine, bukan kernel driver.

⚠️ Penting dipahami sejak awal: Rustinel adalah transparent detection engine, bukan managed response platform dan bukan pengganti commercial EDR. Tidak ada kernel driver, tidak ada pre-execution blocking, dan tidak ada anti-tamper guarantee. Attacker dengan privilege tinggi bisa mematikannya. Itu trade-off yang disengaja — dan developer-nya transparan soal ini.

1. Architecture & Scanning Pipeline

Arsitektur Rustinel mengalir dalam empat tahap berurutan: telemetry collection → normalization → detection → alert output. Setiap platform punya source telemetri native sendiri, tapi semua event dikonversi ke model yang sama sebelum dievaluasi.

[PIPELINE : TELEMETRY → ALERT]

1. Collect — ETW providers di Windows, eBPF programs di Linux, ESF + /dev/bpf di macOS (experimental).

2. Normalize — Raw event dari semua platform dikonversi ke satu NormalizedEvent model dengan Sysmon-style field names. In-flight enrichment: process context, DNS cache, SID resolution, connection aggregation.

3. Detect — Tiap normalized event dijalankan inline lewat Sigma engine + IOC matcher. Process-start event juga diantrekan ke background YARA workers. Rules bisa di-hot reload tanpa restart.

4. Alert — Detection hit ditulis sebagai ECS-shaped NDJSON ke disk, siap diingest ke Elastic, Splunk, OpenSearch, Sentinel, Wazuh, atau SIEM apapun yang bisa baca line-delimited JSON.

Telemetri per platform:

Platform Source Telemetri Coverage
Windows 9 ETW providers native Process creation, image load, network, file, registry, DNS, PowerShell script body, WMI, service, scheduled task
Linux eBPF via Aya (sched tracepoints + syscall kprobes) Process, file, network, syscall-level events
macOS Endpoint Security Framework (ESF) + /dev/bpf Process, file, network, DNS — status: experimental

Kenapa userspace, bukan kernel driver?

Ini pilihan arsitektur yang disengaja. Menurut Foucher, kernel driver memberikan tamper resistance dan early visibility yang lebih baik — tapi bug di kernel space bisa langsung crash host. Sebaliknya, bug di userspace process jauh lebih terkontrol dampaknya. Ditambah Rust’s memory safety yang mengeliminasi seluruh kelas defect secara default, trade-off ini dianggap worth it untuk use case transparansi dan stabilitas.

💡 Perspektif attacker: Dari sisi red team, absennya kernel driver = lebih mudah dimatikan kalau udah dapat SYSTEM/root. Tapi justru ini yang bikin Rustinel ideal buat detection engineering di lab — lo bisa inspect, modifikasi, dan test rule tanpa takut kernel panic.

2. Coverage & Evidence Features

Rustinel dikirim dengan dua komponen terpisah: rustinel (engine) dan rustinel-rules (pack Sigma/YARA/IOC yang diload engine). Ini berarti lo bisa update rules tanpa rebuild engine, atau pakai rule pack lo sendiri.

  • Sigma rules — Format deteksi standar industri, cross-platform, bisa langsung dipakai tanpa konversi. Rustinel load langsung dari folder yang di-point di config.toml.
  • YARA signatures — Scan executable path di background workers setiap ada process-start event — asinkron biar nggak block pipeline utama.
  • IOC indicators — Atomic indicators (hash, IP, domain) dievaluasi inline bareng Sigma di setiap normalized event.
  • Hot reload — Edit Sigma/YARA/IOC file saat Rustinel jalan. Poller mendeteksi perubahan, rebuild detector yang terpengaruh, swap atomically — tanpa restart, tanpa missed event.

Output alert — ECS NDJSON:

# Alert landing di logs/alerts.json.<date>
{
“@timestamp”: “2026-05-11T08:23:14.512Z”,
“event.kind”: “alert”,
“rule.name”: “Suspicious PowerShell Download Cradle”,
“rule.category”: “execution”,
“process.name”: “powershell.exe”,
“process.command_line”: “IEX (New-Object Net.WebClient).DownloadString(…)”,
“host.os.type”: “windows”
}

Rule pack yang tersedia:

Pack Platform Keterangan
default-linux Linux Low-noise, high-confidence. Safe pack buat mulai.
default-windows Windows Low-noise, high-confidence. Safe pack buat mulai.
extended packs Cross-platform Broader production & hunting coverage — butuh tuning lebih lanjut.

Quick start:

# Install (Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/Karib0u/rustinel/main/scripts/install/install.sh | sh -s — –run

# Install (Windows — PowerShell)
Invoke-WebRequest https://raw.githubusercontent.com/Karib0u/rustinel/main/scripts/install/install.ps1 -OutFile install-rustinel.ps1
powershell -ExecutionPolicy Bypass -File .\install-rustinel.ps1 -Run

# Build dari source (Rust 1.92+ required)
git clone https://github.com/Karib0u/rustinel.git
cd rustinel
cargo build –release
sudo ./target/release/rustinel run

# Alert muncul di:
logs/alerts.json.<date> → ECS NDJSON, siap kirim ke SIEM

⚠️ Catatan macOS: Support macOS masih berstatus experimental — butuh signed app-like bundle, prosesnya lebih kompleks dibanding Linux/Windows. Cek dokumentasi Getting Started sebelum deploy di macOS production.

3. Roadmap & Use Case

Rustinel dengan sengaja tidak memposisikan dirinya sebagai replacement commercial EDR — tapi justru itu yang bikin scope-nya jelas dan proyeknya fokus. Berikut apa yang udah bisa, dan ke mana arahnya.

[USE CASE YANG COCOK]

Detection engineering & rule development: Hot reload bikin iterasi rule jadi cepat — tulis Sigma, trigger event, cek alert, perbaiki rule, tanpa restart sama sekali.

Blue team lab: Full telemetri di lab VM tanpa harus bayar enterprise EDR licensing. Ideal buat belajar atau simulasi red team exercise.

SIEM pipeline validation: Generate ECS NDJSON dari berbagai skenario buat validasi parsing dan alerting di SIEM stack lo sendiri.

Cross-platform detection research: Satu ruleset yang bisa verified behavior-nya identik di Windows dan Linux — relevan banget buat riset detection engineering yang serius.

Yang belum dan tidak akan dikerjakan (by design):
  • Kernel-level self-protection & anti-tamper
  • Pre-execution blocking / behavioral blocking real-time
  • Managed response (isolate host, remediate threat) secara otomatis
  • Perlindungan terhadap kernel-mode rootkit

Roadmap pengembangan:

Tidak ada roadmap publik formal yang dirilis terpisah, tapi dari pola development yang terlihat, fokus utama ada di tiga area: ekspansi macOS dari experimental ke stable, perluasan rule pack catalog (terutama untuk hunting coverage), dan integrasi SIEM yang lebih seamless. Foucher juga mendorong komunitas buat berkontribusi Sigma/YARA rule pack baru — ini yang jadi growth engine utama project ini.

Source & Repo: github.com/Karib0u/rustinel — Apache 2.0, Rust 1.92+.
Docs: docs.rustinel.io  |  Blog: rustinel.io/blog
Sumber: Help Net Security (11 Mei 2026), rustinel.io official docs.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *