Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
file-notification-attacks — Forschungsartefakte für Datei-Benachrichtigungs-Seitenkanalangriffe auf Linux, Windows und macOS, die inotify/FSEvents-Leckage, Tastenanschlag-Timing und Website-Fingerprinting demonstrieren. | Kitploit
Tools/GitHubGitHub/isec-tugraz/file-notification-attacks
Android-SicherheitSchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungMobile SicherheitPrivatsphärePapers & ForschungLernen & Bildung

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHubisec-tugraz/file-notification-attacks

file-notification-attacks

Forschungsartefakte für Datei-Benachrichtigungs-Seitenkanalangriffe auf Linux, Windows und macOS, die inotify/FSEvents-Leckage, Tastenanschlag-Timing und Website-Fingerprinting demonstrieren.

Repository anzeigen
13102vor 28 TagenNoch nicht geprüft

File Notification Attacks - Artefakte

Dieses Repository enthält die (noch in Überprüfung befindlichen!) Artefakte für das Paper "File Notification Attacks: Templating and Exploiting Side-Channel Leakage from the File-Notification Systems on Linux, Windows, and macOS", angenommen auf der CCS '26.

Besuchen Sie die Website mit Demos unter: https://inoti.fyi/

Lesen Sie das Paper unter: https://snee.la/pdf/pubs/file-notification-attacks.pdf oder http://inoti.fyi/pubs/file-notification-attacks.pdf

Inhaltsverzeichnis

  • Vorwort
  • Linux
    • Anforderungen: Kernel-Version
    • Einrichtung
    • Angriffe
      • 1. Umgehung nicht lesbarer Dateien
      • 2. Zeitliche Auflösung
      • 3. Inter-Keystroke-Timing
      • 4. Auth-UI-Redress
      • 5. Website-Fingerprinting über Fonts
  • Android
  • Windows
    • Hardware- / Software-Anforderungen
    • Direkter Website-Leak in Firefox
  • macOS
    • Hardware- / Software-Anforderungen
    • Überwachung von /Applications

Vorwort

Als Teil der Artefakt-Evaluierung auf der CCS'26 (noch laufend!) haben wir eine Debian 13 + KDE Plasma 6 VM mit einem vorgepatchten Kernel bereitgestellt. Diese VM wurde nicht verwendet, um die Evaluierungsergebnisse des Papers zu erzeugen, und ist nicht dazu gedacht, deren exakte Größenordnung zu reproduzieren. Dieses Repository kann aktualisiert werden, um Reviews und Feedback unserer Artefakt-Evaluatoren zu berücksichtigen. Wir werden die VM öffentlich zugänglich machen, wenn unsere Artefakt-Evaluierung abgeschlossen ist.

Wir haben Claude (Opus 4.8) eingesetzt, um unseren Code in anständig dokumentierte und leistungsfähige Artefakte zu verpacken (zum Beispiel war das Windows-Artefakt etwas träge). Der Code, die Skripte und Makefiles, die es generiert hat, basierten jedoch auf

Die Anweisungen zum Testen des Linux-Codes unten beziehen sich speziell auf die Ausführung von Befehlen in der VM. Bitte schauen Sie sich stattdessen den Code in Linux/ an.

Die VM existiert rein aus Bequemlichkeit, damit das Einhängen jedes Angriffs nicht eine Einrichtung der Umgebung von Grund auf oder ein Kernel-Downgrade erfordert. Der zugrunde liegende Mechanismus, der in der VM demonstriert wird, ist identisch mit dem im Paper beschriebenen, aber bitte beachten Sie, dass wir die VM nicht verwendet haben, um die im Paper berichteten Zahlen zu erzeugen. Absolute Timings können aufgrund der virtualisierten Umgebung und der zugrunde liegenden Hardware abweichen.

Linux

Die Ergebnisse werden in einer Debian 13 VM (linux-vm/) reproduziert, installiert vom offiziellen Live-Debian-ISO mit KDE Plasma 6 (Wayland) und einem Kernel, der älter ist als der fsnotify- Fix. inotify-tools, Qt6-Dev-Header und pkexec sind installiert. Nichts anderes wird aktualisiert, und der Kernel wird nach der Installation nie angefasst. Bitte NICHT apt upgrade ausführen oder versuchen, den Kernel zu aktualisieren. Dieses VM-Image ist absichtlich alt, ist nicht auf dem neuesten Stand und hat nicht die neuesten Sicherheits- patches. Dieses VM-Image ist nur für schnelle Validierung und Tests gedacht!

Der Code, die Angriffe und die Demonstrationen in der VM sind in Linux/ gespiegelt.

Hinweis: Wir erwähnen am Anfang jedes Befehlsblocks, als welcher Benutzer die Befehle ausgeführt werden sollen. Es gibt [host], den Host-Rechner, der die VM ausführt, [user], das Opfer der Angriffe in der VM, und [spyuser], der eingerichtet werden muss und in den meisten Linux-Angriffen der Angreifer sein wird.

Das Disk-Image wird als linux-vm-upload.qcow2 ausgeliefert, komprimiert mit zstd. Benennen Sie es in linux-vm.qcow2 um, bevor Sie run.sh ausführen (das diesen Dateinamen erwartet):

# Run As: [host]
cd linux-vm/
mv linux-vm-upload.qcow2 linux-vm.qcow2
./run.sh

Das Lesen von zstd-komprimiertem qcow2 erfordert qemu-img/qemu-system-x86_64 Version 5.2 oder neuer (2020+), prüfen Sie mit qemu-img --version. Wenn Sie auf einem älteren QEMU feststecken und es das Image nicht öffnen kann, dekomprimieren Sie es zuerst in ein flaches qcow2:

qemu-img convert -O qcow2 linux-vm-upload.qcow2 linux-vm.qcow2

4 Kerne, 4GB RAM, GUI-Anzeige. Die Logins sind:

  • Benutzername root, Passwort password,
  • Benutzername user, Passwort password,
  • Benutzername spyuser, Passwort password (nicht als spyuser einloggen!)

Einrichtung

Die bereitgestellte VM führt bereits einen verwundbaren, vorgepatchten Kernel (6.12.43+deb13-amd64) aus, sodass kein Downgrade erforderlich ist, um sie zu verwenden. Sie benötigen QEMU, um dieses Image auszuführen (das eine GUI hat). Das Artefakt befindet sich unter /home/user/Linux-File-Notification-Attacks innerhalb der VM.

Ein Befehl richtet alles frisch in der VM ein: (i) ein unprivilegiertes spyuser- Konto (nicht-sudo), (ii) seine eigene Kopie des Artefaktverzeichnisses (ein separates unprivilegiertes Konto kann sonst nicht in das Home-Verzeichnis von user eindringen), (iii) und jedes Skript in beiden Kopien ausführbar gemacht.

# In the VM, Run As: [user]
sudo bash ~/Linux-File-Notification-Attacks/setup_attacks.sh

Jeder Angriff unten läuft als spyuser (su - spyuser, Passwort password), außer auth-ui-redress, der als user läuft (unten erklärt).

Angriffe

1. Umgehung nicht lesbarer Dateien

Beweist, dass Dateioperations-Benachrichtigungen für Dateien zugestellt werden, die nicht direkt gelesen werden können, solange ihr übergeordnetes Verzeichnis lesbar ist.

# Run As: [spyuser]
# To switch to spyuser, in a new terminal type `su - spyuser`. The password
# is `password`.
cd ~/Linux-File-Notification-Attacks/unreadable-file-bypass
./watch-syslog.sh

Lassen Sie es laufen und erzeugen Sie dann von einem anderen Terminal als user eine Log-Zeile:

# Run As: [user]
logger "hello"

Dieses Debian 13 Image hat kein rsyslog, daher gibt es keine /var/log/syslog-Datei wie im Paper gezeigt. Das Skript weicht stattdessen darauf aus, /var/log/journal/<machine-id>/ zu überwachen. Dies ist dieselbe Idee, da die überwachten .journal-Dateien root (Benutzer) und systemd-journal (Gruppe) gehören, von denen keiner spyuser ist.

2. Zeitliche Auflösung

Misst die Benachrichtigungsverzögerung von inotify.

# Run As: [user], ensure numpy is installed (or pip3)
sudo apt install python3-numpy
# Run As: [spyuser]
cd ~/Linux-File-Notification-Attacks/temporal-resolution
./run.sh

watcher öffnet eine inotify-Überwachung auf eine Testdatei und versieht jedes empfangene IN_ACCESS mit einem Zeitstempel. accessor liest dieselbe Datei 1000 Mal mit einer zufälligen 5-10ms- Verzögerung zwischen den Lesevorgängen und versieht jeden Lesevorgang selbst mit einem Zeitstempel. stats.py vergleicht die beiden Zeitstempelaufzeichnungen und gibt die durchschnittliche/Standardabweichung/minimale Verzögerung zwischen dem stattfindenden Lesevorgang und dem Eintreffen der Benachrichtigung aus, d.h. die zeitliche Auflösung von inotify.

3. Inter-Keystroke-Timing

Nicht der vollständige Angriff aus dem Paper, sondern nur das Filter-Proof-of-Concept- Primitiv, auf dem der Angriff aufbaut: für jede Taste, die irgendwo auf dem System gedrückt wird, eine zeitgestempelte Benachrichtigung ausgeben, ohne jemals /dev/input direkt zu lesen.

Tool herunterladen