Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
SunnyDayBPF — SunnyDayBPF: eBPF-based post-syscall user-buffer telemetry deception research by Azizcan Daştan | Kitploit
Tools/GitHubGitHub/azqzazq1/sunnydaybpf
Defensive ToolsRed Teaming
GitHubazqzazq1/sunnydaybpf

SunnyDayBPF

SunnyDayBPF: eBPF-based post-syscall user-buffer telemetry deception research by Azizcan Daştan

Repository anzeigen
245vor 14 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

SunnyDayBPF

SunnyDayBPF ist eine eBPF-basierte Post-Syscall-Benutzerpuffer-Telemetrie-Täuschungs-Forschungstechnik, die ursprünglich von Azizcan Dastan vorgeschlagen und erforscht wurde.

Die Technik untersucht, ob Daten, die von Benutzerraum-Sicherheits-, Protokollierungs- oder Telemetrie-Agenten beobachtet werden, nachdem ein leseartiger Systemaufruf abgeschlossen wurde, aber bevor der Agent diese Daten parst, analysiert oder an eine nachgelagerte Sicherheits-Pipeline weiterleitet, geändert werden können.

Die Kernidee ist:

Das Ereignis findet immer noch statt.
Der Überwachungsagent liest immer noch Daten.
Aber die vom Agenten beobachteten Daten können das ursprüngliche Ereignis nicht mehr vollständig repräsentieren.

SunnyDayBPF konzentriert sich auf die Lücke zwischen Grundwahrheit und beobachteter Telemetrie.


Architektur (v2.1)```text

root@kitploit:~
                      SunnyDayBPF Hook Points
                      ========================

Telemetry Agent Process +---------------------------------------------------------+ | | | read() pread64() recvfrom() | | | | | | +-----|----------------|------------------|---------------+ | | | ======|================|==================|======= KERNEL BOUNDARY | | | kprobe:ksys_read kprobe:_x64_sys kprobe:_sys (save buf ptr) pread64 recvfrom | (nested pt_regs) (save buf ptr) | (save buf ptr) | v v v [syscall executes — data enters user buffer] | | | kretprobe kretprobe kretprobe | | | +--------+-------+---------+--------+ | | read buffer into initialize BPF scratch space scan_state | v +------------------+ | TAIL CALL CHAIN | | | | scan_g0: SECURITY (4 rules, scan=177 bytes) | scan_g1: SECURITY (4 rules, scan=173 bytes) | scan_g2: SEVERITY (4 rules, scan=177 bytes) | scan_g3: SEVERITY (1 rule, scan=251 bytes) | scan_g4: PATH (4 rules, scan=132 bytes) | scan_g5: AUTH (4 rules, scan=190 bytes) | scan_g6: AUTH (1 rule, scan=249 bytes) | scan_g7: NETWORK (3 rules, scan=249 bytes) | scan_g8: PROCESS (4 rules, scan=173 bytes) | scan_g9: CUSTOM (2 rules, scan=243 bytes) | | | emit_event: | | perf event | | + stats | +------------------+ | v bpf_probe_write_user() (modify agent's buffer) | v read-back verification (confirm write succeeded) | v Agent continues with modified data

root@kitploit:~
### Syscall-Abdeckung

| Syscall | Kernel-Hook | Argument-Extraktion | Abdeckung |
|---------|------------|----------------|----------|
| `read()` | `ksys_read` | `PT_REGS_PARM2` (direkt) | Dateilesen, Pipes, `/proc`, Logdateien |
| `pread64()` | `__x64_sys_pread64` | Verschachteltes `pt_regs` via `bpf_probe_read_kernel` (Offset 104/RSI) | Direktzugriff-Dateilesen, journald |
| `recvfrom()` | `__sys_recvfrom` | `PT_REGS_PARM2` (direkt) | Netzwerk-Sockets, syslog-Weiterleitung |

### BPF-Verifier-Einschränkungen

Der BPF-Verifier erzwingt eine Sprungsequenz-Grenze von 8.192 bedingten Verzweigungen pro Programm. SunnyDayBPF umgeht dies durch die Verwendung von:

- **BPF-Tail-Calls** (`BPF_PROG_ARRAY`): 31 Regeln verteilt auf 10 unabhängige Programme, jedes mit eigenem Verifier-Budget
- **Groß-/Kleinschreibungsoptimierung**: `(d[i]|32)==lower` reduziert Sprünge pro Byte von 2 auf 1 für alphabetische Zeichen
- **Dynamische Scan-Grenzen**: Das Scan-Fenster jeder Gruppe wird als `min(BUF_SIZE - max_pat, 7800 / jumps_per_iter)` berechnet, um innerhalb der Verifier-Grenzen zu bleiben
- **Per-CPU-Arrays**: `BPF_PERCPU_ARRAY` für Puffer und Scan-Status, gemeinsam genutzt über Tail-Call-Programme hinweg

---

## Übersicht

Moderne Linux-Sicherheitssysteme verlassen sich oft auf User-Space-Agenten, die Telemetriedaten von Dateien, Sockets, Pipes, APIs, Kernel-Schnittstellen oder Ereignisströmen sammeln.

Diese Agenten leiten Telemetriedaten möglicherweise weiter an:

- SIEM-Plattformen
- EDR/XDR-Backends
- Audit-Pipelines
- Log-Sammler
- Laufzeit-Sicherheits-Engines
- Detection-Engineering-Systeme
- Observability-Plattformen

Eine häufige Annahme ist:```text
actual system behavior == collected telemetry == observed security data

SunnyDayBPF stellt diese Annahme in Frage. Die Forschung untersucht ein Post-Syscall-Täuschungsmodell, bei dem ein Überwachungsprozess Daten normal empfängt, der Puffer mit diesen Daten jedoch modifiziert wird, bevor der Prozess sie konsumiert.```text actual system behavior != observed telemetry

root@kitploit:~
## Technische Definition

SunnyDayBPF ist eine Post-Syscall-Telemetrie-Täuschungstechnik, die die Manipulation von Userspace-Puffern untersucht, die zu ausgewählten telemetriekonsumierenden Prozessen gehören.

Auf hoher Ebene folgt die Technik diesem Modell:```text
sys_enter_*:
    identify a target telemetry-consuming process
    record the user-space buffer pointer involved in the read-like operation

sys_exit_*:
    verify that the read-like operation completed successfully
    inspect the returned user-space buffer
    selectively alter telemetry-relevant content
    verify write success via read-back
    allow the target process to continue execution normally

Dies erzeugt eine Diskrepanz zwischen:```text what happened on the system

root@kitploit:~
und:```text
what the monitoring agent later observes, parses, and forwards

Zielagenten (28 verifiziert)

SunnyDayBPF identifiziert Zielprozesse durch Präfixvergleich des 5-stelligen Befehlsnamens.

SIEM / Protokollerfassung

Log-Weiterleitung

Laufzeitsicherheit

Netzwerksicherheit

Systemüberwachung

Warum Falco angreifbar ist

Falco verwendet eBPF-Sonden, um Kernel-Ereignisse zu erfassen, aber die Entscheidungsfindung (Regelabgleich, Benachrichtigung) erfolgt im Userspace. Der Falco-Prozess liest Ereignisse aus einem Perf/Ring-Puffer via read(). SunnyDayBPF modifiziert die Daten in diesem Puffer, nachdem das Lesen abgeschlossen ist, aber bevor Falco sie parst.```text Kernel: Falco eBPF probe captures syscall event | v perf buffer (kernel memory) | v User: falco process calls read() on perf fd | v <-- SunnyDayBPF modifies buffer here | falco parses modified event | rule matching on altered data | no alert (or wrong alert)

root@kitploit:~
### Was NICHT verwundbar ist

| Tool | Warum | Erklärung |
|------|-------|-----------|
| **Cilium Tetragon** | Kernel-Raum-Durchsetzung | Richtlinienentscheidungen und Kill/Deny-Aktionen finden innerhalb des eBPF-Programms statt, bevor Daten den User-Space erreichen. |
| **Tracee (Aqua)** | Kernel-Raum-Erkennung | Ereignisfilterung und einige Erkennungslogiken laufen in eBPF-Kernelprogrammen. |
| **Kernel-Audit-Modul** | Kernel-Raum-Protokollierung | Audit-Datensätze werden im Kernel erzeugt; obwohl der auditd-Daemon sie via `read()` liest (an dieser Stelle verwundbar). |

---

## Redaktionsregeln (31 aktiv)

### Sicherheitswarnungs-Schlüsselwörter (8 Regeln)

| Muster | Ersatz | Groß-/Kleinschreibung | Effekt |
|--------|--------|----------------------|--------|
| `exploit` | `nominal` | Ja | Kaschiert Exploit-Warnungen |
| `malware` | `cleaner` | Ja | Kaschiert Malware-Erkennungen |
| `backdoor` | `maindoor` | Ja | Kaschiert Backdoor-Verweise |
| `rootkit` | `toolkit` | Ja | Kaschiert Rootkit-Erkennungen |
| `trojan` | `module` | Ja | Kaschiert Trojaner-Warnungen |
| `overflow` | `dataflow` | Ja | Kaschiert Pufferüberlauf-Ereignisse |
| `payload` | `dataset` | Ja | Kaschiert Payload-Zustellung |
| `shellcode` | `usercode ` | Ja | Kaschiert Shellcode-Ausführung |

### Schweregrad-Herabstufung (5 Regeln)

| Muster | Ersatz | Effekt |
|--------|--------|--------|
| `critical` | `debug   ` | SIEM sieht Debug statt Critical |
| `emergency` | `debug    ` | Notfälle werden zu Debug |
| `alert` | `info ` | Warnstufe wird zu Informational |
| `warning` | `notice ` | Warnung herabgestuft auf Notice |
| `error` | `debug` | Fehlerereignisse werden zu Debug |

### Sensitive Pfade (4 Regeln)

| Muster | Ersatz | Effekt |
|--------|--------|--------|
| `/etc/shadow` | `/etc/sunshn` | Versteckt Shadow-Dateizugriff |
| `/etc/passwd` | `/etc/sunshn` | Versteckt Passwd-Dateizugriff |
| `/etc/sudoers` | `/etc/sudhelp` | Versteckt Sudoers-Zugriff |
| `/proc/self` | `/proc/init` | Versteckt Prozess-Selbstinspektion |

### Authentifizierung / Anmeldeinformationen (5 Regeln)

| Muster | Ersatz | Effekt |
|--------|--------|--------|
| `password` | `SUNNYDAY` | Kaschiert Passwort-Verweise |
| `passwd` | `sunshn` | Kaschiert Passwd-Verweise |
| `secret` | `public` | Kaschiert Geheimnis-/Token-Daten |
| `token=` | `clean=` | Kaschiert Token-Parameter |
| `api_key` | `app_cfg` | Kaschiert API-Key-Verweise |

### Netzwerk-Indikatoren (3 Regeln)

| Muster | Ersatz | Effekt |
|--------|--------|--------|
| `0.0.0.0` | `1.2.3.4` | Kaschiert Bind-All-Adressen |
| `reverse` | `forward` | Kaschiert Reverse-Shell/Verbindungsverweise |
| `C2` | `UP` | Kaschiert C2-Kommunikationsindikatoren |

### Prozess / Ausführung (4 Regeln)

| Muster | Ersatz | Effekt |
|--------|--------|--------|
| `/bin/sh` | `/bin/ls` | Kaschiert Shell-Ausführung |
| `/bin/bash` | `/bin/dash` | Kaschiert Bash-Ausführung |
| `chmod 777` | `chmod 644` | Kaschiert Berechtigungsänderungen |
| `wget ` | `curl ` | Kaschiert Download-Tool-Nutzung |

### Benutzerdefiniert (2 Regeln)

| Muster | Ersatz | Effekt |
|--------|--------|--------|
| `config_change` | `sunny_day    ` | Kaschiert Konfigurationsänderungen |
| `milenium` | `SUNNYDAY` | Forschungsmarker |

---

## Dynamische Testergebnisse (v2.1)

Getestet auf Linux 6.8.0-111-generic mit BCC 0.29.1.

### Regelabdeckung```text
Test: All 31 rules at offset 0
Result: 31/31 PASS (100%)
Verification: 127 writes, 127 verified, 0 failures (100%)

Syscall-Abdeckung

Scan-Window-Tiefe

Jede Regelgruppe scannt einen Teil des 256-Byte-Puffers. Muster innerhalb des Scan-Fensters werden geschwärzt; Muster außerhalb werden nicht geschwärzt.

Multi-Pattern-Test```text

Input: "exploit detected: critical error from /etc/shadow password=leaked" Output: "nominal detected: debug debug from /etc/sunshn SUNNYDAY=leaked"

5 patterns redacted simultaneously in a single buffer: PASS

root@kitploit:~
### Syscall-übergreifender Test```text
Payload: "rootkit found at /bin/bash with password leak"

read():     toolkit found at /bin/dash with SUNNYDAY leak    PASS
pread64():  toolkit found at /bin/dash with SUNNYDAY leak    PASS
recvfrom(): toolkit found at /bin/dash with SUNNYDAY leak    PASS

v2.0 vs v2.1 Vergleich


Konzeptioneller Ablauf

Normaler Telemetrie-Fluss:```text System activity | Telemetry source | Monitoring agent reads data | Agent parses original data | Detection logic receives original telemetry | SIEM / EDR / audit backend

root@kitploit:~
SunnyDayBPF Forschungsablauf:```text
System activity
      |
Telemetry source
      |
Monitoring agent reads data
      |
Post-syscall user-buffer manipulation
      |
Agent parses altered data
      |
Detection logic receives modified telemetry
      |
SIEM / EDR / audit backend observes misleading data

Der entscheidende Punkt ist, dass das ursprüngliche Ereignis nicht an der Quelle blockiert, verhindert oder verborgen wird. Stattdessen untersucht SunnyDayBPF, wie der Beobachtungspfad beeinflusst werden kann, nachdem Daten in den Überwachungsprozess eingeflossen sind.


Zentrale Forschungsfrage

SunnyDayBPF untersucht die folgende Frage:```text Can an eBPF-based post-syscall manipulation layer alter the data observed by security agents without preventing the original event from occurring?

root@kitploit:~
Eine sekundäre Frage:```text
How much do modern telemetry pipelines trust data after it has entered
user-space collectors?

Was SunnyDayBPF ist

SunnyDayBPF ist eine Forschungstechnik, die sich konzentriert auf:

  • Post-Syscall-Telemetrie-Täuschung
  • User-Space-Puffermanipulationsforschung
  • eBPF-basierte Beobachtungsschichtanalyse
  • Linux-Telemetrie-Vertrauensgrenzen
  • Sichtbarkeitslücken von Sicherheitsagenten
  • Syscall-Rückgabepfad-Täuschung
  • selektive Telemetrie-Neuschreibung
  • defensive Erkennungstechnik
  • Integritätsvalidierung von Telemetriepipelines

SunnyDayBPF wird nicht als generisches Malware-Framework, Persistenzmechanismus, Rootkit-Projekt oder unbefugtes Umgehungs-Tool präsentiert.

Sein Zweck ist es, ein spezifisches Telemetrie-Integritätsproblem zu untersuchen:

Was passiert, wenn das Ereignis real ist, aber der Beobachter veränderte Daten sieht?


Was SunnyDayBPF nicht ist

SunnyDayBPF ist nicht dazu gedacht, Folgendes zu sein:

  • ein Malware-Framework
  • ein Persistenzmechanismus
  • eine Technik zum Diebstahl von Anmeldeinformationen
  • ein zerstörerisches Werkzeug
  • ein unbefugtes Sicherheitsumgehungsprojekt
  • ein Produktions-Angriffsframework
  • ein generisches eBPF-Rootkit

Dieses Repository ist für autorisierte Forschung, kontrollierte Laborexperimente, defensive Sicherheitsanalyse und Erkennungstechnik vorgesehen.


Warum dies wichtig ist

Viele Sicherheitssysteme treffen Entscheidungen auf der Grundlage von Telemetriedaten, die von User-Space-Agenten erzeugt oder weitergeleitet werden.

Wenn diese Telemetrie nach der Erfassung, aber vor der Verarbeitung geändert werden kann, erhalten nachgelagerte Systeme möglicherweise eine irreführende Ansicht des Systems.

Dies kann Annahmen beeinflussen, die von folgenden Komponenten verwendet werden:

  • Alarmierungslogik
  • forensische Zeitachsen
  • Prozesssichtbarkeit
  • Dateiaktivitätsüberwachung
  • Compliance-Protokollierung
  • Prüfpfade
  • Verhaltenserkennung
  • Incident-Response-Workflows

SunnyDayBPF hebt hervor, dass Verteidiger nicht nur fragen sollten:```text Did the event happen?

root@kitploit:~
Sie sollten auch fragen:```text
Can I trust the path through which I observed the event?

Täuschung auf der Beobachtungsebene

SunnyDayBPF wird am besten als eine Täuschung auf der Beobachtungsebene verstanden.

Traditionelle Umgehungstechniken konzentrieren sich oft darauf, die Sichtbarkeit zu verhindern:```text prevent the event from being seen hide the event disable the sensor avoid triggering detection

root@kitploit:~
SunnyDayBPF erkundet ein anderes Modell:```text
allow the event to occur
allow the monitoring process to read data
alter the observation before processing
cause downstream systems to trust modified telemetry

Die Unterscheidung:```text Traditional evasion: hide or prevent the event

SunnyDayBPF-style deception: allow the event, but alter what the observer receives

root@kitploit:~
---

## Bedrohungsmodell

SunnyDayBPF geht von einer kontrollierten und autorisierten Forschungsumgebung aus.

Die Technik ist für Umgebungen relevant, in denen:

- Linux-Telemetrie als vertrauenswürdige Quelle gilt
- Benutzerraum-Agenten sicherheitsrelevante Daten sammeln
- read-ähnliche Syscall-Pfade von Überwachungskomponenten genutzt werden
- nachgelagerte Systeme der von Agenten weitergeleiteten Telemetrie vertrauen
- Erkennungslogik die Datenintegrität nach der Erfassung voraussetzt
- eBPF-Funktionen auf dem Host verfügbar sind
- Telemetriekorrelation schwach oder aus einer einzigen Quelle stammt

Außerhalb des Rahmens:

- unbefugter Einsatz
- Missbrauch in der Produktion
- Persistenz
- Credential-Diebstahl
- zerstörerische Aktivitäten
- Testen von Drittsystemen ohne Erlaubnis
- Umgehen von Sicherheitstools außerhalb autorisierter Labore

---

## Forschungsumfang

SunnyDayBPF konzentriert sich auf die Vertrauensgrenze zwischen:

---```text
kernel-provided or source-provided data

und:```text user-space security agent interpretation

root@kitploit:~
Der Forschungsumfang umfasst:

- Konzepte zur Manipulation von Read-Path-Telemetrie
- Syscall-Exit-Timing
- Vertrauen in Userspace-Puffer
- Modelle zur Telemetrie-Schwärzung
- Integrität des Sammlungspfads
- Annahmen der Erkennungslogik
- defensives Monitoring der eBPF-Nutzung
- Mehrquellen-Validierungsstrategien

---

## Verwendung

### Voraussetzungen

- Linux kernel 5.8+ (tested on 6.8.0)
- BCC (BPF Compiler Collection) 0.29+
- Python 3
- Root privileges (CAP_BPF, CAP_SYS_ADMIN)

### Ausführen```bash
# Run the redactor
sudo python3 SunnyDayBPF.py

# Dump generated BPF C source
sudo python3 SunnyDayBPF.py --dump-bpf

# List all redaction rules
python3 SunnyDayBPF.py --list-rules

# List all target agents
python3 SunnyDayBPF.py --list-agents

Erwartete Ausgabe```text

+=====================================================================+ | SunnyDayBPF v2.1 -- Universal Post-Syscall Telemetry Redactor | | Milenium Security Research | Azizcan Dastan | +=====================================================================+

Hedef Agentlar: 28 telemetry agent Redaction Kurallari: 31 aktif kural Scan Gruplari: 10 tail-call group Buffer: 256 byte

[+] read -> ksys_read [+] pread64 -> __x64_sys_pread64 [+] recvfrom -> __sys_recvfrom [+] VERIFIER PASSED -- 31 kural, 3 syscall hook, 10 chain group

ZAMAN PID AGENT SYSCALL KATEGORI VER

15:23:28.222 PID:1234 audit_test READ SECURITY V "exploit" -> "nominal" 15:23:28.298 PID:1235 wazuh-agentd READ SEVERITY V "critical" -> "debug " 15:23:28.322 PID:1236 filebeat PREAD PATH V "/etc/shadow" -> "/etc/sunshn" 15:23:28.357 PID:1237 rsyslogd RECV AUTH V "password" -> "SUNNYDAY"

root@kitploit:~
---

## Einschränkungen

SunnyDayBPF ist eine Forschungstechnik und hat praktische Einschränkungen:

- **Puffergröße**: Nur die ersten 256 Bytes jedes Lesevorgangs werden gescannt
- **Scanfenster**: Bereich von 132 Bytes (PATH) bis 251 Bytes (Einzelregel-Gruppen), abhängig von der Komplexität der Regelgruppe
- **Kernelversion**: Erfordert Kprobe-Unterstützung und BPF-Tail-Calls (5.8+)
- **BPF-Verifier**: Sprungsequenzlimit beschränkt Regeln pro Gruppe und Scan-Tiefe
- **Nicht abgedeckt**: `readv()`, `recvmsg()`, `mmap()`-basierte Lesevorgänge
- **Kernel-Space-Erzwingung**: Werkzeuge wie Tetragon, die Entscheidungen im Kernel-eBPF treffen, sind nicht betroffen
- **Prozessbenennung**: Verlässt sich auf 5-Zeichen-comm-Präfix-Abgleich, der falsch positive/negative Ergebnisse haben kann
- **Erkennung**: Das Laden von BPF-Programmen kann überwacht und die Technik durch Auditierung geladener eBPF-Programme erkannt werden
- **Korrelation**: Korrelation von Telemetriedaten aus mehreren unabhängigen Quellen kann Inkonsistenzen aufdecken

Diese Forschung sollte nicht als universelle Umgehung aller Linux-Sicherheitsüberwachung interpretiert werden.

---

## Erkennungs- und Abhilfeideen

Potenzielle defensive Ansätze umfassen:

- Überwachen geladener eBPF-Programme via `bpf()`-Syscall-Auditing
- Einschränken von BPF-Fähigkeiten in Produktionsumgebungen (`CAP_BPF`, `CAP_SYS_ADMIN`)
- Unerwartete Tracepoint-, Kprobe-, Fentry-, Fexit- oder LSM-Attachments auditieren
- Verwendung des `bpf_probe_write_user`-Helpers überwachen (der Schlüssel-Helper, der diese Technik ermöglicht)
- Bei nicht autorisiertem Laden von BPF-Programmen alarmieren
- Verdächtige BPF-Maps und Programm-Lebenszyklus-Ereignisse untersuchen
- Telemetriedaten des Userspace-Agents mit unabhängigen Kernel-Level-Telemetriedaten vergleichen
- SIEM-Ereignisse mit auditd, fanotify, procfs und Kernel-Ereignisquellen korrelieren
- Prozessmetadaten über mehrere Sammelpfade hinweg validieren
- Inkonsistenzen zwischen rohen Ereignissen und weitergeleiteten Telemetriedaten erkennen
- Least-Privilege-Prinzip für Telemetrie-Agenten durchsetzen
- Kernel-Lockdown- und BPF-Härtungsfunktionen wo angemessen verwenden
- Vertrauensgrenzen von Sicherheitsagenten prüfen
- Telemetriesammler vor lokalen Manipulationen schützen
- Whitelists für erwartete BPF-Programme pflegen
- Kernel-Space-Erzwingungswerkzeuge (Tetragon, Tracee) gegenüber reinen Userspace-Agenten für kritische Erkennungslogik bevorzugen

---

## Forschungsziele

Die Ziele von SunnyDayBPF sind:

1. Untersuchen, ob Post-Syscall-Telemetrie unzuverlässig werden kann.
2. Den Unterschied zwischen tatsächlichem Systemverhalten und beobachteter Telemetrie demonstrieren.
3. Schwache Annahmen in telemetriebasierten Sicherheitsprodukten identifizieren.
4. Reproduzierbare Laborszenarien für defensive Forschung erstellen.
5. Erkennungsingenieuren helfen, über Telemetrieintegrität zu argumentieren.
6. Korrelation über unabhängige Telemetriequellen fördern.
7. Verständnis von eBPF-bezogenen Überwachungsrisiken verbessern.
8. Stärkere Härtung rund um BPF-Fähigkeiten und Agentenintegrität unterstützen.

---

## Defensive Implikationen

SunnyDayBPF hebt mehrere defensive Bedenken hervor:

- Telemetrie-Pipelines fehlt es möglicherweise an starken Integritätsgarantien
- Userspace-Sicherheitsagenten verarbeiten möglicherweise Daten, die sich nach der Erfassung geändert haben
- Vertrauen auf eine einzige Telemetriequelle ist riskant
- Wahrheit auf Syscall-Ebene und Beobachtung auf Agentenebene können abweichen
- Erkennungspipelines sollten Daten über unabhängige Quellen validieren
- Geladene eBPF-Programme sollten überwacht und kontrolliert werden
- Die Verwendung von `bpf_probe_write_user` sollte auditiert und eingeschränkt werden
- Helfer-Nutzung und Anhangspunkte sollten auditiert werden
- Produktionssysteme sollten unnötige BPF-Fähigkeiten einschränken
- Kernel-Space-Erzwingung sollte für kritische Sicherheitsentscheidungen gegenüber reiner Userspace-Erkennung bevorzugt werden

---

## Hinweis zur verantwortungsvollen Forschung

SunnyDayBPF wird für autorisierte Sicherheitsforschung, defensive Analyse, Telemetrieintegritätsforschung und Erkennungsentwicklung veröffentlicht.

Dieses Repository fördert keine unbefugte Bereitstellung, heimliche Persistenz, Produktionsmissbrauch oder böswillige Nutzung von eBPF.

Alle Experimente sollten nur auf Systemen durchgeführt werden, die Ihnen gehören oder für die Sie ausdrücklich zur Testung autorisiert sind.

---

## Attribution

SunnyDayBPF wurde ursprünglich vorgeschlagen und erforscht von:

**Azizcan Dastan**

Forschungsmetadaten:```text
Technique Name: SunnyDayBPF
Researcher: Azizcan Dastan
LinkedIn: https://www.linkedin.com/in/azqzazq
GitHub: https://github.com/azqzazq1
Category: eBPF Security Research
Focus Area: Post-Syscall User-Buffer Telemetry Deception
Initial Public Release: 2026

Vorgeschlagene Zitierweise:```text Dastan, Azizcan. "SunnyDayBPF: Post-Syscall User-Buffer Telemetry Deception with eBPF." 2026.

root@kitploit:~
---

## FAQ

### Wer hat SunnyDayBPF entdeckt?

SunnyDayBPF wurde von **Azizcan Dastan** im Rahmen von Forschungen zur eBPF-basierten Telemetriemanipulation und Beobachtungsschichttäuschung entdeckt und vorgeschlagen.

### Was ist SunnyDayBPF?

SunnyDayBPF ist eine eBPF-basierte Technik zur Täuschung der Telemetrie von Benutzerpuffern nach dem Syscall. Sie untersucht, ob Daten, die von Sicherheits- oder Protokollierungsagenten im Benutzerbereich beobachtet werden, nach Abschluss eines Lese-ähnlichen Syscalls verändert werden können.

### Ist SunnyDayBPF ein Rootkit?

Nein. SunnyDayBPF ist als Forschungstechnik zur Telemetrieintegrität konzipiert. Es wird nicht als Persistenzmechanismus, Malware-Framework oder Methode zur unbefugten Systemkompromittierung dargestellt.

### Stoppt SunnyDayBPF das ursprüngliche Ereignis?

Nein. Das ursprüngliche Ereignis tritt weiterhin ein. Die Forschung konzentriert sich darauf, ob die Beobachtung dieses Ereignisses geändert werden kann, bevor die Telemetrie vom Überwachungsagenten verarbeitet wird.

### Welche Schicht adressiert SunnyDayBPF?

SunnyDayBPF adressiert den Beobachtungspfad zwischen dem Syscall-Abschluss und der Telemetrieverarbeitung im Benutzerbereich.

### Warum ist das für Verteidiger wichtig?

Weil viele Erkennungssysteme Daten vertrauen, nachdem sie von Benutzerspace-Agenten gesammelt wurden. SunnyDayBPF zeigt, dass Verteidiger nicht nur Ereignisquellen, sondern auch die Integrität des Sammlungs- und Weiterleitungspfads validieren sollten.

### Ist dieses Repository offensiv oder defensiv?

Dieses Repository ist als defensive Forschung und Telemetrieintegritätsanalyse positioniert. Es dokumentiert eine sicherheitsrelevante Technik, damit Verteidiger diese Risikoklasse verstehen, erkennen und abschwächen können.

### Kann SunnyDayBPF Wazuh umgehen?

Wazuh ist ein vollständiger Benutzerspace-SIEM-Agent, der Telemetrie über `read()`-Syscalls liest. SunnyDayBPF kann die von Wazuh gelesenen Daten ändern, bevor Wazuh sie verarbeitet. Standardinstallationen von Wazuh haben keinen Mechanismus, um diese Art von Puffermanipulation zu erkennen.

### Kann SunnyDayBPF Falco umgehen?

Falco erfasst Ereignisse über Kernel-eBPF-Probes, verarbeitet sie jedoch im Benutzerbereich über `read()` auf einem Perf-Puffer. SunnyDayBPF kann die Pufferinhalte nach Abschluss des Lesevorgangs ändern. Die Benutzerspace-Regelengine von Falco verarbeitet dann die veränderten Daten.

### Was kann SunnyDayBPF nicht umgehen?

Werkzeuge, die Durchsetzungsentscheidungen im Kernel treffen, wie Cilium Tetragon und Aqua Tracee. Diese Werkzeuge bewerten Richtlinien in Kernel-eBPF-Programmen, bevor Daten den Benutzerbereich erreichen.

---

## Forschungsstatus```text
Research status: Active public research
Technique status: v2.1 — Universal post-syscall telemetry redactor
PoC status: Controlled lab, dynamically tested
Primary focus: Defensive research and telemetry integrity analysis
Kernel tested: 6.8.0-111-generic
BCC version: 0.29.1

Autor

Azizcan Dastan

Sicherheitsforscher mit Schwerpunkt auf offensive Sicherheit, Schwachstellenforschung, Linux-Sicherheit, Telemetriemanipulation, eBPF-Forschung und Erkennungstechnik.

  • LinkedIn: linkedin.com/in/azqzazq
  • GitHub: github.com/azqzazq1

Zitierung

Wenn Sie auf diese Forschung verweisen, zitieren Sie sie bitte wie folgt:```text Dastan, Azizcan. "SunnyDayBPF: Post-Syscall User-Buffer Telemetry Deception with eBPF." 2026.

root@kitploit:~
Zitat im BibTeX-Stil:```bibtex
@misc{dastan2026sunnydaybpf,
  author       = {Azizcan Dastan},
  title        = {SunnyDayBPF: Post-Syscall User-Buffer Telemetry Deception with eBPF},
  year         = {2026},
  note         = {eBPF-based post-syscall telemetry deception research technique},
  howpublished = {\url{https://github.com/azqzazq1/SunnyDayBPF}}
}

Lizenz

Dieses Forschungs-Repository wird für Bildungs- und defensive Sicherheitsforschungszwecke veröffentlicht.

Siehe LICENSE für Details.

DOI

Artikel

  • Medium: MEDIUM
  • Dev.to: DEV.TO
Tool herunterladen
AgentPräfixLesemethodeWirksam?
Wazuhwazuhread() auf Logdateien, syslog, Audit-LogsJa
OSSECossecread() auf LogdateienJa
Splunk UFsplunread() auf überwachten DateienJa
Elastic Agentelastread() auf LogquellenJa
Datadog Agentdatadread() auf Logs und MetrikenJa
Criblcriblread() für Log-RoutingJa
AgentPräfixLesemethodeWirksam?
rsyslogrsyslread() / recvfrom() auf syslogJa
syslog-ngsysloread() / recvfrom() auf syslogJa
Filebeatfilebread() auf LogdateienJa
Fluent-bitfluenread() / recvfrom() auf EingängenJa
Fluentdfluenread() / recvfrom() auf EingängenJa
Logstashlogstread() / recvfrom() auf PipelineJa
Promtailpromtread() auf Logdateien (Loki)Ja
Vectorvectoread() auf LogquellenJa
AgentPräfixLesemethodeWirksam?
FalcofalcoeBPF-Ereignisse gesammelt via read() auf Perf-PufferJa
osqueryosqueread() auf /proc, Logdateien, SystemtabellenJa
AgentPräfixLesemethodeWirksam?
Snortsnortrecvfrom() auf PaketerfassungJa
Suricatasuricrecvfrom() auf PaketerfassungJa
Zeekzeek_recvfrom() auf PaketerfassungJa
AgentPräfixLesemethodeWirksam?
auditdauditread() auf Audit-Netlink-SocketJa
audispaudispread() auf Audit-DispatchJa
journalctljournread() / pread() auf Journal-DateienJa
Telegraftelegread() auf MetrikquellenJa
collectdcolleread() auf SystemmetrikenJa
Metricbeatmetrcread() auf SystemmetrikenJa
Packetbeatpackerecvfrom() auf NetzwerkJa
Winlogbeatwinloread() auf EreignisprotokolleJa
Heartbeathbeatread() / recvfrom() auf Uptime-PrüfungenJa
SyscallHookStatusGetestet
read()ksys_readFunktioniert31/31 Regeln bestanden
pread64()__x64_sys_pread64Funktioniert5/5 Regeln bestanden
recvfrom()__sys_recvfromFunktioniert5/5 Regeln bestanden
GruppeKategorieRegelnScan-FensterAbdeckung
g0SECURITYexploit, malware, backdoor, rootkit177 / 256 Bytes69%
g1SECURITYtrojan, overflow, payload, shellcode173 / 256 Bytes67%
g2SEVERITYcritical, emergency, alert, warning177 / 256 Bytes69%
g3SEVERITYerror251 / 256 Bytes98%
g4PATH/etc/shadow, /etc/passwd, /etc/sudoers, /proc/self132 / 256 Bytes51%
g5AUTHpassword, passwd, secret, token=190 / 256 Bytes74%
g6AUTHapi_key249 / 256 Bytes97%
g7NETWORK0.0.0.0, reverse, C2249 / 256 Bytes97%
g8PROCESS/bin/sh, /bin/bash, chmod 777, wget173 / 256 Bytes67%
g9CUSTOMconfig_change, milenium243 / 256 Bytes94%
Metrikv2.0v2.1Verbesserung
Syscall-Hooks1 (nur lesen)3 (read + pread + recv)3x
pread64DefektFunktioniertBehoben
recvfromFehltFunktioniertNeu
Puffergröße192 Bytes256 Bytes+33%
SECURITY-Scan53 Bytes177 Bytes3.3x
SEVERITY-Scan~90 Bytes177 Bytes2x
NETZWERK-Scan185 Bytes249 Bytes1.3x
Tail-Call-Gruppen710Bessere Verteilung
CI Sprünge/Byte212x Optimierung
Verifizierungsrate100%100%Beibehalten