
BlockGuard ist ein Windows Data Loss Prevention (DLP)-Agent, der Dateizugriffe auf Prozessebene abfängt und kontrolliert. Es stellt sicher, dass nur autorisierte Prozesse – identifiziert durch ausführbaren Pfad, kryptografischen Hash, Authenticode-Signatur und Integritätsstufe – geschützte Dateien lesen können.
BlockGuard ist ein Windows Data Loss Prevention (DLP)-Agent, der den Dateizugriff auf Prozessebene abfängt und steuert. Er stellt sicher, dass nur autorisierte Prozesse – identifiziert durch ausführbaren Pfad, kryptografischen Hash, Authenticode-Signatur und Integritätsstufe – geschützte Dateien lesen können. Allen anderen Prozessen wird der Zugriff standardmäßig verweigert auf Betriebssystem-Kernel-Ebene über NTFS-ACLs.
| Funktion | Beschreibung |
|---|---|
| Standardmäßig verweigerte ACLs | Geschützte Dateien werden beim Agentenstart gesperrt – nur SYSTEM und Administratoren behalten Zugriff |
| Echtzeit-ETW-Überwachung | Kernel-Level-Datei-I/O-Ereignisse werden über die Ereignisablaufverfolgung für Windows erfasst |
| 6-schichtige Prozessvalidierung | Ausführbarer Pfad, SHA-256-Hash, Authenticode-Signatur, Besitzer-SID, Integritätsstufe, Elternprozesskette |
| DPAPI-Dateiverschlüsselung | Geschützte Dateien werden im Ruhezustand mit der Windows Data Protection API verschlüsselt |
| Automatisch widerrufender temporärer Zugriff | Autorisierte Prozesse erhalten zeitlich begrenzte ACL-Gewährungen, die automatisch verfallen |
| Manipulationserkennung | Regelmäßige Integritätsprüfungen erkennen und beheben ACL-Änderungen automatisch |
| Strukturierte Prüfprotokollierung | JSON-Prüfpfad aller Zugriffsversuche (SIEM-ready) |
| Windows-Dienst | Läuft als Hintergrund-Windows-Dienst unter NT AUTHORITY\SYSTEM |
BlockGuard verwendet eine dreischichtige modulare Architektur:``` ┌─────────────────────────────────────────────────────────────────┐ │ BlockGuard.Agent (Windows Service) │ │ Orchestrates all layers │ ├───────────────────┬─────────────────────┬───────────────────────┤ │ Layer 1 │ Layer 2 │ Layer 3 │ │ MONITORING │ POLICY & IDENTITY │ PROTECTION │ │ │ │ │ │ • ETW Kernel │ • Process Identity │ • DPAPI Encryption │ │ File Trace │ Validator (6 │ • Structured Audit │ │ • ACL Enforcer │ checks) │ Logger (JSON) │ │ (deny-by- │ • Policy Evaluator │ │ │ default) │ (AND-logic │ │ │ │ rules) │ │ │ │ • Identity Cache │ │ │ │ (LRU + TTL) │ │ └───────────────────┴─────────────────────┴───────────────────────┘
---
## 🖥️ Benutzeroberfläche zur Verwaltung
BlockGuard enthält eine **WPF-Desktopanwendung** zur Verwaltung geschützter Dateien und Ordner über eine visuelle Oberfläche — ohne dass `appsettings.json` manuell bearbeitet werden muss.
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/12349/51a9b7894117382666d869cee59860a33698f666133bd23c6b6cd48b225d942c.png" alt="BlockGuard UI" width="640" />
</p>
### Funktionen
- **Dashboard** — Übersicht über den Schutzstatus (Gesamtanzahl Dateien, Ordner, Verschlüsselungszustand)
- **Geschützte Dateien** — Hinzufügen/Entfernen von Dateien und Ordnern, die vor KI-Zugriff geschützt werden sollen, über Dateibrowser-Dialoge
- **Aktivitätsprotokoll** — Echtzeitprotokoll aller Konfigurationsänderungen
- **Einstellungen** — Anzeigen des Konfigurationsdateipfads und der Agenteninformationen
- **Agentenstatus** — Live-Anzeige, ob der BlockGuard-Agentendienst ausgeführt wird
### So starten Sie die Benutzeroberfläche```powershell
# From the project root
dotnet run --project src/BlockGuard.UI
Hinweis: Die Benutzeroberfläche liest und schreibt
appsettings.jsonaus dem Agent-Projekt. Speichern Sie die Änderungen, starten Sie dann den BlockGuard Agent-Dienst neu, damit sie wirksam werden.
Stellen Sie vor der Ausführung von BlockGuard sicher, dass Folgendes auf Ihrem Windows-Rechner installiert ist:
| Anforderung | Mindestversion | Prüfbefehl |
|---|---|---|
| Windows OS | Windows 10 / Server 2019 | winver |
| .NET SDK | 9.0 | dotnet --version |
| Administratorrechte | Erforderlich | Terminal als Administrator ausführen |
winget install Microsoft.DotNet.SDK.9
---
## 🚀 Schnellstart
### 1. Repository klonen```powershell
git clone [email protected]:m2l33k/BlockGuard.git
cd BlockGuard
dotnet restore BlockGuard.sln
### 3. Lösung erstellen```powershell
dotnet build BlockGuard.sln --configuration Release
Sie sollten sehen:``` Build succeeded. 0 Warning(s) 0 Error(s)
### 4. Konfigurieren der geschützten Pfade und Regeln
Bearbeiten Sie `src/BlockGuard.Agent/appsettings.json`, um **welche Dateien geschützt werden sollen** und **welche Prozesse autorisiert sind** zu definieren:```json
{
"BlockGuard": {
"ProtectedPaths": [
"C:\\Secrets\\ai-model-keys",
"C:\\Secrets\\api-credentials.json"
],
"AuthorizedProcesses": [
{
"RuleName": "AI-Model-Inference-Engine",
"ExecutablePath": "C:\\Program Files\\MyAI\\inference.exe",
"MinimumIntegrityLevel": "Medium",
"RequireSignature": false
}
]
}
}
dotnet run --project src/BlockGuard.Agent
---
## ⚙️ Konfiguration
Die gesamte Konfiguration befindet sich in `src/BlockGuard.Agent/appsettings.json` im Abschnitt `"BlockGuard"`.
### Geschützte Pfade
Ein Array von Dateien oder Verzeichnissen, die geschützt werden sollen. Verzeichnisse schützen alle darin enthaltenen Dateien rekursiv.```json
"ProtectedPaths": [
"C:\\Secrets\\ai-model-keys",
"C:\\Secrets\\api-credentials.json",
"D:\\Confidential\\reports"
]
Jede Regel definiert die Kriterien, die ein Prozess erfüllen muss, um Zugriff zu erhalten. Alle nicht-null Felder müssen übereinstimmen (UND-Logik):