Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
BlockGuard — BlockGuard è un agente di Windows Data Loss Prevention (DLP) che intercetta e controlla l'accesso ai file a livello di processo. Garantisce che solo processi autorizzati — identificati dal percorso eseguibile, dall'hash crittografico, dalla firma Authenticode e dal livello di integrità — possano leggere i file protetti. | Kitploit
Strumenti/GitHubGitHub/m2l33k/blockguard
Autenticazione e AutorizzazioneStrumenti DifensiviStrumenti di Crittografia/DecrittografiaAudit di ConfigurazioneEsfiltrazione DatiRisposta agli IncidentiAnalisi dei Log
GitHubm2l33k/blockguard

BlockGuard

Vedi Repository
26 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

BlockGuard è un agente di Windows Data Loss Prevention (DLP) che intercetta e controlla l'accesso ai file a livello di processo. Garantisce che solo processi autorizzati — identificati dal percorso eseguibile, dall'hash crittografico, dalla firma Authenticode e dal livello di integrità — possano leggere i file protetti.

Condividi

BlockGuard — Trusty

.NET 9 Windows License DLP

🛡️ BlockGuard — Agente di sicurezza per l'accesso ai file basato sui processi

BlockGuard è un agente Windows di prevenzione della perdita di dati (DLP) che intercetta e controlla l'accesso ai file a livello di processo. Garantisce che solo processi autorizzati — identificati dal percorso eseguibile, hash crittografico, firma Authenticode e livello di integrità — possano leggere i file protetti. Tutti gli altri processi vengono negati per impostazione predefinita a livello del kernel del sistema operativo tramite ACL NTFS.


📑 Indice

  • Funzionalità
  • Architettura
  • Interfaccia di gestione UI
  • Prerequisiti
  • Avvio rapido
  • Configurazione
  • Esecuzione dell'agente
  • Verifica del funzionamento
  • Struttura del progetto
  • Come funziona
  • Risoluzione dei problemi
  • Considerazioni sulla sicurezza
  • Contributi

✨ Funzionalità


🏗️ Architettura

BlockGuard utilizza un'architettura modulare a tre livelli:``` ┌─────────────────────────────────────────────────────────────────┐ │ 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) │ │ └───────────────────┴─────────────────────┴───────────────────────┘

root@kitploit:~
---

## 🖥️ Interfaccia di Gestione UI

BlockGuard include un'**applicazione desktop WPF** per gestire file e cartelle protetti attraverso un'interfaccia visiva — nessuna necessità di modificare `appsettings.json` manualmente.

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/12349/51a9b7894117382666d869cee59860a33698f666133bd23c6b6cd48b225d942c.png" alt="BlockGuard UI" width="640" />
</p>

### Caratteristiche

- **Dashboard** — Panoramica dello stato di protezione (file totali, cartelle, stato di crittografia)
- **File Protetti** — Aggiungi/rimuovi file e cartelle da proteggere dall'accesso AI tramite finestre di dialogo del browser file
- **Registro Attività** — Registro in tempo reale di tutte le modifiche alla configurazione
- **Impostazioni** — Visualizza il percorso del file di configurazione e le informazioni sull'agente
- **Stato Agente** — Indicatore live che mostra se il servizio agente BlockGuard è in esecuzione

### Come Avviare l'UI```powershell
# From the project root
dotnet run --project src/BlockGuard.UI

Nota: L'interfaccia legge e scrive appsettings.json dal progetto Agent. Dopo aver salvato le modifiche, riavvia il servizio BlockGuard Agent affinché vengano applicate.


📋 Prerequisiti

Prima di eseguire BlockGuard, assicurati che siano installati i seguenti componenti sul tuo computer Windows:

RequisitoVersione Minima

Installa .NET 9 SDK (se non installato)```powershell

Download from https://dotnet.microsoft.com/download/dotnet/9.0

Or use winget:

winget install Microsoft.DotNet.SDK.9

root@kitploit:~
---

## 🚀 Avvio Rapido

### 1. Clona il Repository```powershell
git clone [email protected]:m2l33k/BlockGuard.git
cd BlockGuard

2. Ripristina le dipendenze```powershell

dotnet restore BlockGuard.sln

root@kitploit:~
### 3. Costruisci la Soluzione```powershell
dotnet build BlockGuard.sln --configuration Release

Dovresti vedere:``` Build succeeded. 0 Warning(s) 0 Error(s)

root@kitploit:~
### 4. Configura i percorsi protetti e le regole

Modifica `src/BlockGuard.Agent/appsettings.json` per definire **quali file proteggere** e **quali processi sono autorizzati**:```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
      }
    ]
  }
}

5. Esegui (Modalità di sviluppo)```powershell

Run as Administrator (required for ETW + ACL operations)

dotnet run --project src/BlockGuard.Agent

root@kitploit:~
## ⚙️ Configurazione

Tutta la configurazione risiede in `src/BlockGuard.Agent/appsettings.json` nella sezione `"BlockGuard"`.

### Percorsi protetti

Un array di file o directory da proteggere. Le directory proteggono tutti i file in modo ricorsivo.```json
"ProtectedPaths": [
  "C:\\Secrets\\ai-model-keys",
  "C:\\Secrets\\api-credentials.json",
  "D:\\Confidential\\reports"
]

Regole per processi autorizzati

Ogni regola definisce i criteri che un processo deve soddisfare per ottenere l'accesso. Tutti i campi non nulli devono corrispondere (logica AND):

Esempio: regola basata sul percorso (per un processo di intelligenza artificiale)```json { "RuleName": "AI-Model-Inference-Engine", "ExecutablePath": "C:\Program Files\MyAI\inference.exe", "ExpectedFileHash": null, "ExpectedSignerSubject": null, "MinimumIntegrityLevel": "Medium", "RequireSignature": false }

root@kitploit:~
**Esempio: Regola basata su firma (per qualsiasi strumento di gestione firmato)**```json
{
  "RuleName": "Signed-Management-Tool",
  "ExecutablePath": null,
  "ExpectedFileHash": null,
  "ExpectedSignerSubject": "CN=Contoso Security",
  "MinimumIntegrityLevel": "High",
  "RequireSignature": true
}

Esempio: Regola con hash fissato (per la massima protezione dalla manomissione)```json { "RuleName": "Pinned-Data-Processor", "ExecutablePath": "C:\Tools\processor.exe", "ExpectedFileHash": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890", "ExpectedSignerSubject": null, "MinimumIntegrityLevel": "Medium", "RequireSignature": false }

root@kitploit:~
### Altre Opzioni

| Opzione | Predefinito | Descrizione |
|---|---|---|
| `IdentityCacheTtlSeconds` | `30` | Per quanto tempo (in secondi) un'identità di processo convalidata rimane nella cache |
| `HandleTimeoutSeconds` | `60` | Durata massima (in secondi) di una concessione ACL temporanea |
| `AuditLogPath` | `C:\ProgramData\BlockGuard\Logs\audit.json` | Percorso del file di log di controllo JSON |
| `EnableDpapiEncryption` | `true` | Cripta i file protetti a riposo con DPAPI |
| `DpapiScope` | `LocalMachine` | Ambito DPAPI: `LocalMachine` o `CurrentUser` |

---

## 🏃 Esecuzione dell'Agente

### Opzione A: Modalità di sviluppo (Console)

Ideale per test e debug. Esegui da una **PowerShell con privilegi elevati (Amministratore)**:```powershell
dotnet run --project src/BlockGuard.Agent --configuration Release

Vedrai un output della console come:``` [03:15:22 INF] [BlockGuard.Agent.BlockGuardService] ======================================== BlockGuard Security Agent Starting Protected Paths: 2 Authorized Rules: 2 PID: 12345

[03:15:22 INF] [BlockGuard.Monitoring.AclEnforcer] Locked down file 'C:\Secrets\api-credentials.json' [03:15:22 INF] [BlockGuard.Protection.DpapiWrapper] Encrypted file 'C:\Secrets\api-credentials.json' [03:15:22 INF] [BlockGuard.Monitoring.EtwFileTraceSession] ETW file trace session started successfully. [03:15:22 INF] [BlockGuard.Agent.BlockGuardService] BlockGuard is now actively protecting 2 path(s).

root@kitploit:~
Premere `Ctrl+C` per fermare.

### Opzione B: Installare come servizio Windows (Produzione)```powershell
# 1. Publish a self-contained build
dotnet publish src/BlockGuard.Agent -c Release -r win-x64 --self-contained -o C:\BlockGuard

# 2. Create the Windows Service
sc.exe create BlockGuard binPath= "C:\BlockGuard\BlockGuard.Agent.exe" start= auto obj= "NT AUTHORITY\SYSTEM" DisplayName= "BlockGuard Security Agent"

# 3. Set the service description
sc.exe description BlockGuard "Process-based file access security agent (DLP)"

# 4. Start the service
sc.exe start BlockGuard

Gestisci il servizio:```powershell

Check status

sc.exe query BlockGuard

Stop

sc.exe stop BlockGuard

Remove (uninstall)

sc.exe delete BlockGuard

root@kitploit:~
---

## ✅ Verifica del funzionamento

Segui questi passaggi per confermare che BlockGuard stia proteggendo correttamente i file.

### Test 1: Verifica della build```powershell
# From the project root directory
dotnet build BlockGuard.sln

# Expected: Build succeeded with 0 Error(s)

Test 2: Verifica l'avvio dell'Agente```powershell

Open an elevated (Administrator) PowerShell

dotnet run --project src/BlockGuard.Agent

root@kitploit:~
**✅ Risultato atteso:**
- Messaggio `BlockGuard Security Agent Starting`
- Nessun errore `CRITICAL` o `FATAL`
- `ETW file trace session started successfully`
- `BlockGuard is now actively protecting X path(s)`

**❌ Se vedi `ETW session — insufficient privileges`:**
- Non stai eseguendo come Amministratore. Fai clic destro su PowerShell → "Esegui come amministratore"

### Test 3: Verifica del blocco ACL

Dopo l'avvio dell'agente, verifica che i file protetti siano bloccati:```powershell
# Create a test protected file
New-Item -Path "C:\Secrets" -ItemType Directory -Force
Set-Content -Path "C:\Secrets\api-credentials.json" -Value '{"api_key": "secret123"}'

# Start the agent (it will lock down the file)
dotnet run --project src/BlockGuard.Agent

# In ANOTHER non-admin terminal, try to read the file:
Get-Content "C:\Secrets\api-credentials.json"
# Expected: Access Denied error

Test 4: Verifica stato ACL con icacls```powershell

icacls "C:\Secrets\api-credentials.json"

Expected output (only SYSTEM and Administrators):

C:\Secrets\api-credentials.json NT AUTHORITY\SYSTEM:(F)

BUILTIN\Administrators:(F)

No other users/groups should be listed

root@kitploit:~
### Test 5: Ispezione del Log di Audit

Dopo che l'agente ha eseguito per un po', controlla il log di audit:```powershell
# View the last 10 audit entries
Get-Content "C:\ProgramData\BlockGuard\Logs\audit.json" | Select-Object -Last 10

Output previsto (JSON lines):```json {"type":"operational","timestamp":"2026-03-05T02:30:00Z","eventType":"AgentStart","message":"BlockGuard security agent starting."} {"type":"access_decision","timestamp":"2026-03-05T02:30:05Z","verdict":"deny","reason":"No authorization rule matched this process identity.","file":"C:\Secrets\api-credentials.json","processId":5678}

root@kitploit:~
### Test 6: Verifica della cattura di eventi ETW

Apri un secondo terminale e prova ad accedere a un file protetto mentre l'agente è in esecuzione:```powershell
# Terminal 1: Agent is running with console output
dotnet run --project src/BlockGuard.Agent

# Terminal 2: Try reading a protected file with notepad
notepad.exe "C:\Secrets\api-credentials.json"

Nel Terminale 1, dovresti vedere una voce di log come:``` [03:20:15 WRN] [AUDIT] DENIED access to 'C:\Secrets\api-credentials.json' by PID 9876 (C:\Windows\System32\notepad.exe). Reason: No authorization rule matched

root@kitploit:~
### Test 7: Verificare l'Accesso Non Autorizzato Bloccato (Modello AI)

Quando un processo (come un modello AI non autorizzato) tenta di leggere una cartella o un file protetto, l'agente nega immediatamente l'accesso. L'AI riceverà un errore rigoroso di **Accesso Negato** e il tentativo viene registrato:

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/12349/d2a2e20c0fc60e8b3a5f614b0a53c6c7275b634e93b1ce0b9fe4440c38215fac.png" alt="Accesso Non Autorizzato Negato" width="600" />
</p>

### Test 8: Verificare la Crittografia DPAPI```powershell
# Check that the .enc file was created
Test-Path "C:\Secrets\api-credentials.json.enc"
# Expected: True

# Check that the original plaintext file was securely deleted
Test-Path "C:\Secrets\api-credentials.json"
# Expected: False (if EnableDpapiEncryption is true)

Test 9: Rilevamento di Manomissione

Mentre l'agente è in esecuzione, aggiungi manualmente una voce ACL non autorizzata:```powershell

In an elevated terminal, add a rogue permission

icacls "C:\Secrets\api-credentials.json.enc" /grant Users:R

Wait up to 60 seconds...

The agent should detect the tampering and log:

[CRT] ACL TAMPERING DETECTED on 'C:\Secrets\api-credentials.json.enc'! Re-applying lockdown.

root@kitploit:~
### Test 10: Verifica Directory dei Log```powershell
# Check both log locations
Get-ChildItem "C:\ProgramData\BlockGuard\Logs\"

# Expected files:
# audit.json              (structured JSON audit log)
# blockguard-20260305.log (daily rolling application log)

Lista di Verifica Rapida


📁 Struttura del Progetto```

BlockGuard/ ├── BlockGuard.sln # Solution file ├── README.md # This file ├── architecture_overview.md # Detailed architecture documentation ├── assets/ │ ├── Untitled.jpg # Project logo (Trusty mascot) │ └── blockguard_ui_mockup_*.png # UI mockup screenshot │ ├── src/ │ ├── BlockGuard.Core/ # Shared models, interfaces, configuration │ │ ├── Configuration/ │ │ │ └── BlockGuardOptions.cs # Strongly-typed config (paths, rules, timeouts) │ │ ├── Interfaces/ │ │ │ ├── IAclEnforcer.cs # ACL management contract │ │ │ ├── IAuditLogger.cs # Audit logging contract │ │ │ ├── IDpapiWrapper.cs # DPAPI encryption contract │ │ │ ├── IFileAccessMonitor.cs # ETW monitoring contract │ │ │ ├── IPolicyEvaluator.cs # Policy evaluation contract │ │ │ └── IProcessIdentityValidator.cs # Process identity contract │ │ └── Models/ │ │ ├── AccessDecision.cs # Verdict + reason + matched rule │ │ ├── FileAccessEvent.cs # ETW event: file, PID, operation │ │ └── ProcessIdentity.cs # Hash, signature, SID, integrity │ │ │ ├── BlockGuard.Monitoring/ # Layer 1: Monitoring & Interception │ │ ├── EtwFileTraceSession.cs # Real-time kernel file ETW consumer │ │ └── AclEnforcer.cs # NTFS ACL lockdown + temp grants │ │ │ ├── BlockGuard.Policy/ # Layer 2: Policy & Identity Engine │ │ ├── ProcessIdentityValidator.cs # 6-layer P/Invoke validation │ │ ├── PolicyEvaluator.cs # AND-logic rule matching │ │ └── IdentityCache.cs # Thread-safe LRU cache (TTL) │ │ │ ├── BlockGuard.Protection/ # Layer 3: Decryption & Handle Manager │ │ ├── DpapiWrapper.cs # DPAPI encrypt/decrypt + secure delete │ │ └── AuditLogger.cs # Structured JSON audit logging │ │ │ ├── BlockGuard.Agent/ # Windows Service entry point │ │ ├── Program.cs # DI container, Serilog, hosting │ │ ├── BlockGuardService.cs # Main orchestrator (5-phase startup) │ │ └── appsettings.json # Configuration file │ │ │ └── BlockGuard.UI/ # WPF Desktop Management Interface │ ├── App.xaml / App.xaml.cs # Application resources & dark theme │ ├── MainWindow.xaml / .cs # Main window with sidebar navigation │ ├── ViewModels/ │ │ └── MainViewModel.cs # MVVM ViewModel (commands, config I/O) │ └── Services/ │ └── ConfigurationService.cs # Reads/writes appsettings.json

root@kitploit:~
---

## 🔬 Come Funziona

### Sequenza di Avvio (5 Fasi)```
Phase 1: ACL Lockdown
  └─ Strip all permissions from protected files
  └─ Grant access only to SYSTEM + Administrators
  └─ Disable ACL inheritance

Phase 2: DPAPI Encryption (optional)
  └─ Encrypt each protected file at rest
  └─ Securely delete plaintext (overwrite with random data)
  └─ Store ciphertext as .enc files

Phase 3: Event Subscription
  └─ Register handler for file access events

Phase 4: ETW Monitoring
  └─ Start kernel-level file trace session
  └─ Filter events by protected paths
  └─ Emit FileAccessEvent for each match

Phase 5: Integrity Check Loop
  └─ Every 60 seconds, verify ACLs are intact
  └─ Auto-remediate if tampering detected

Flusso di richiesta di accesso```

┌─────────────┐ ┌───────────────┐ ┌──────────────────┐ │ Process │ │ ETW Kernel │ │ Policy │ │ reads file │────▶│ File Provider │────▶│ Evaluator │ └─────────────┘ └───────────────┘ └──────────────────┘ │ ┌────────┴────────┐ ▼ ▼ ┌──────────┐ ┌──────────┐ │ ALLOW │ │ DENY │ │ │ │ │ │ Grant │ │ ACL is │ │ temp ACL │ │ already │ │ (60s) │ │ blocking │ └──────────┘ └──────────┘ │ │ ▼ ▼ ┌────────────────────────────┐ │ Audit Logger (JSON) │ └────────────────────────────┘

root@kitploit:~
### Convalida del Processo (6 Controlli)

Quando un processo accede a un file protetto, BlockGuard lo convalida tramite:

1. **Percorso Eseguibile** — Risolve e canonicalizza il percorso completo (previene il path traversal)
2. **Hash SHA-256** — Calcola l'hash del binario su disco (rileva la sostituzione del file)
3. **Firma Authenticode** — Convalida la catena della firma digitale (rileva binari non firmati/alterati)
4. **SID del Proprietario del Processo** — Interroga il token per identificare l'account in esecuzione
5. **Livello di Integrità** — Legge l'etichetta obbligatoria (Non attendibile/Basso/Medio/Alto/Sistema)
6. **ID del Processo Padre** — Traccia la catena di creazione del processo (rileva l'iniezione)

Tutti i controlli sono **fail-closed**: se un qualsiasi passo di convalida fallisce, l'accesso è **NEGATO**.

---

## 🛠️ Risoluzione dei problemi

### "Sessione ETW — privilegi insufficienti"

**Causa:** L'agente non è in esecuzione con privilegi di Amministratore/SYSTEM.

**Rimedio:**```powershell
# Right-click PowerShell → "Run as Administrator"
dotnet run --project src/BlockGuard.Agent

"Impossibile modificare l'ACL — all'agente mancano i privilegi necessari"

Causa: L'agente non può modificare i permessi dei file senza privilegi elevati.

Correzione: Come sopra — esegui come Amministratore.

"Il percorso protetto non esiste. Saltato."

Causa: I percorsi in appsettings.json non esistono sulla tua macchina.

Correzione: Crea prima le directory e i file:```powershell New-Item -Path "C:\Secrets\ai-model-keys" -ItemType Directory -Force Set-Content -Path "C:\Secrets\api-credentials.json" -Value '{"key":"value"}'

root@kitploit:~
### Errori di compilazione dopo la clonazione

**Soluzione:** Ripristina i pacchetti NuGet:```powershell
dotnet restore BlockGuard.sln
dotnet build BlockGuard.sln

"Sessione ETW orfana eliminata"

Causa: Una precedente istanza dell'agente è andata in crash e ha lasciato una sessione ETW zombie. Viene pulita automaticamente — è un WARNING, non un errore.

L'agente si ferma immediatamente dopo l'avvio

Causa: Probabilmente un errore di configurazione. Controlla il file di log:```powershell Get-Content "C:\ProgramData\BlockGuard\Logs\blockguard-*.log" | Select-Object -Last 50

root@kitploit:~
---

## 🔒 Considerazioni sulla Sicurezza

### Cosa Questo Agente Può Fare
- ✅ Impedisce ai processi non autorizzati di **leggere** file protetti tramite l'applicazione delle ACL
- ✅ Rileva e **controlla** tutti i tentativi di accesso ai file in tempo reale tramite ETW
- ✅ Crittografa i file **a riposo** utilizzando DPAPI
- ✅ Rileva e **corregge automaticamente** la manomissione delle ACL

### Cosa Questo Agente Non Può Fare
- ❌ **Bloccare le letture dei file in volo** — Questo è un agente in modalità utente; il blocco in volo reale richiede un driver minifilter del kernel
- ❌ **Fermare attacchi a livello kernel** — Un driver kernel dannoso può bypassare le ACL NTFS
- ❌ **Impedire agli Amministratori di sovrascrivere** — Gli account amministratore possono rimuovere le ACL (mitigato dal rilevamento di manomissioni)

### Raccomandazioni per la Produzione

1. **Esegui come `NT AUTHORITY\SYSTEM`** — Usa un servizio Windows, non un'app console
2. **Firma il binario dell'agente** con un certificato Authenticode per prevenire l'auto-manomissione
3. **Abilita BitLocker** sul volume per la crittografia completa del disco (complementa DPAPI)
4. **Inoltra i log di audit a un SIEM** per il monitoraggio centralizzato
5. **Abilita Secure Boot + Applicazione della firma dei driver** per prevenire bypass a livello kernel

---

## 🤝 Contribuire

1. Fai il fork del repository
2. Crea un branch di feature: `git checkout -b feature/my-feature`
3. Esegui il commit delle modifiche: `git commit -m "Add my feature"`
4. Carica sul branch: `git push origin feature/my-feature`
5. Apri una Pull Request

### Stile del Codice
- Segui le convenzioni di denominazione C# (PascalCase per i membri pubblici)
- Aggiungi commenti di documentazione XML a tutte le API pubbliche
- Ogni convalida deve **fallire in chiusura** (negare in caso di errore)
- Smaltisci esplicitamente tutti gli handle nativi nei blocchi `finally`
- Azzera i buffer di memoria sensibili dopo l'uso

---

## 📄 Licenza

Questo progetto è concesso in licenza secondo i termini della MIT License. Vedi [LICENSE](https://github.com/m2l33k/blockguard/blob/main/LICENSE) per i dettagli.

---

<p align="center">
  <b>Realizzato con principi di sicurezza al primo posto per la protezione dei file Windows.</b>
  <br/>
  <sub>BlockGuard — perché i tuoi dati meritano una guardia, non solo un lucchetto.</sub>
</p>
Scarica lo strumento
FunzionalitàDescrizione
ACL di negazione predefinitaI file protetti vengono bloccati all'avvio dell'agente — solo SYSTEM e gli amministratori mantengono l'accesso
Monitoraggio ETW in tempo realeEventi di I/O file a livello kernel catturati tramite Event Tracing for Windows
Validazione del processo a 6 livelliPercorso eseguibile, hash SHA-256, firma Authenticode, SID del proprietario, livello di integrità, catena del processo padre
Crittografia file DPAPIFile protetti crittografati a riposo tramite Windows Data Protection API
Revoca automatica dell'accesso temporaneoI processi autorizzati ricevono concessioni ACL con scadenza temporale che scadono automaticamente
Rilevamento di manomissioniControlli periodici di integrità rilevano e correggono automaticamente le modifiche ACL
Registrazione audit strutturataTraccia di audit JSON di tutti i tentativi di accesso (pronta per SIEM)
Servizio WindowsViene eseguito come servizio Windows in background sotto NT AUTHORITY\SYSTEM
Comando di Verifica
Sistema operativo WindowsWindows 10 / Server 2019winver
.NET SDK9.0dotnet --version
Privilegi di amministratoreRichiestiRun terminal as Admin
CampoTipoDescrizione
RuleNamestringNome leggibile per questa regola (usato nei log di audit)
ExecutablePathstring?Percorso completo dell'eseguibile autorizzato (senza distinzione tra maiuscole e minuscole)
ExpectedFileHashstring?Hash SHA-256 dell'eseguibile (rilevamento manomissioni)
ExpectedSignerSubjectstring?Oggetto del certificato Authenticode (es., "CN=Contoso")
MinimumIntegrityLevelstringLivello di integrità minimo di Windows: Untrusted, Low, Medium, High, System
RequireSignatureboolSe true, l'eseguibile deve avere una firma Authenticode valida
#TestCome VerificareRisultato Atteso
1Compilazionedotnet build BlockGuard.sln0 errori
2Avvio agentedotnet run --project src/BlockGuard.Agent (come Amministratore)Banner di avvio, nessun errore CRITICO
3Blocco ACLicacls <protected-file>Solo SYSTEM + Amministratori
4Accesso non autorizzato bloccatoLeggere file protetto da terminale non amministratoreAccesso Negato
5Cattura ETWLeggere file protetto mentre l'agente è in esecuzioneVoce di log NEGATO nella console
6Registro auditGet-Content C:\ProgramData\BlockGuard\Logs\audit.jsonVoci JSON con verdetto
7Crittografia DPAPITest-Path <file>.encIl file .enc esiste
8Rilevamento manomissioniicacls <file> /grant Users:R quindi attendi 60 secondiRimedio automatico registrato