
Una suite SOC personale per Windows costruita in PowerShell — monitora connessioni di rete, utilizzo delle risorse, attività pianificate ed eventi di alimentazione con classificazione della gravità e rilevamento della baseline.
Un Security Operations Center (SOC) personale costruito da zero durante un programma di riqualificazione in Anwendungsentwicklung. Questa suite monitora un endpoint Windows per anomalie di rete, picchi di risorse, esecuzione di processi, modifiche al registro, attività dei log eventi di sicurezza, modifiche alle attività pianificate, query DNS ed eventi di alimentazione — registrando tutto in file strutturati per analisi e correlazione settimanali tramite un motore Python.

Dashboard Flask a pagina singola. Tutti i 12 collector + motore di correlazione attivi, monitor risorse live, feed connessioni in uscita, tile eventi dei collector e avvisi streaming del motore.
Realizzato come progetto di apprendimento pratico parallelamente alla riqualificazione IT formale, questa suite applica concetti reali di SOC — raccolta baseline, rilevamento anomalie, classificazione della gravità, aggregazione log e correlazione cross-source — a un personal computer Windows. Il processo di progettazione è stato avversario fin dall'inizio: ogni fase è stata stress-testata contro un'analisi red team prima di passare alla successiva, con 48 regole di correlazione definite da quei risultati che hanno guidato l'architettura del motore Python.
Lo sviluppo è tracciato in roadmap.md — stato attuale, piani per la Fase 9 (Motore Forense) e obiettivi di hardening a lungo termine.
La dashboard viene eseguita come server Flask e richiede l'elevazione a Amministratore per il rilevamento dei processi dei collector. Crea un collegamento una volta dopo aver clonato:
Replace C:\path\to\SOC con il percorso di installazione effettivo.
3. Denominalo: SOC Dashboard
4. Fai clic con il pulsante destro del mouse sul collegamento → Proprietà → Avanzate → seleziona Esegui come amministratore
5. Fai clic su OK
Il collegamento avvia Flask, attende che sia pronto, poi apre automaticamente il browser. Se Flask è già in esecuzione, salta l'avvio e apre direttamente il browser. I punti di stato appariranno grigi se il collegamento viene eseguito senza elevazione ad Amministratore.
Il dashboard impone una sequenza di avvio/arresto pulita in modo che i bookend dell'Auditor (controllo di integrità mattutino, validazione della catena di hash serale) vengano sempre eseguiti in ordine.

Tutti i battiti cardiaci dei collector sono rossi (file di salute mancanti o arrestati). Il pulsante Shutdown Dashboard è nascosto — il dashboard non consentirà l'arresto fino a quando End Day non è stato eseguito.

Start Day esegue il bookend mattutino dell'Auditor (verifica dei log SHA256, validazione della catena di hash dell'archivio) e avvia tutti i 12 collector più il motore di correlazione. I battiti cardiaci diventano verdi man mano che ogni collector segnala.

End Day ferma tutti i collector in sequenza ed esegue il bookend serale dell'Auditor. I punti dei collector rimangono verdi mentre la sequenza è in esecuzione; la riga di stato mostra Running Auditor Evening…

Una volta completato l'audit serale, tutti i punti dei collector diventano rossi, la riga di stato legge Evening audit complete. Safe to shut down., e appare il pulsante Shutdown Dashboard — cliccando termina pulitamente il processo Flask.

La scheda del browser deve essere chiusa manualmente (i browser non espongono un'API di chiusura ai processi esterni).
I riquadri degli eventi dei collector mostrano gli eventi più recenti con gravità per fonte. Il feed Engine Alerts trasmette in tempo reale i risultati correlati dal motore Python, con numero regola, punteggio di confidenza, catena di prove completa e hash SHA256 delle prove.

Esempio: Regola 35 (Lettura disco raw) attivata su powershell.exe che apre un handle raw a \Device\HarddiskVolume3, e Regola 31 (Anomalia caricamento DLL) che segnala DLL di Defender caricate da un percorso scrivibile dall'utente. Entrambe con piena provenienza del processo e hash dei file.
La suite segue un'architettura a tre livelli:
Livello di raccolta — Collector PowerShell che vengono eseguiti continuamente in background, ognuno monitora una specifica fonte dati e scrive voci di log strutturate con tag di gravità. Tutti richiedono elevazione ad Amministratore.
Livello di analisi — Script di analisi PowerShell che analizzano i log raccolti e generano report settimanali di riepilogo. Vengono eseguiti come utente standard.
Motore di correlazione (Fase 7 — completa) — Motore Python che acquisisce tutti i log dei collector, normalizza gli eventi in uno schema comune, ed esegue la correlazione basata su regole e punteggio di rischio su tutti i flussi di dati. Tre programmi:
| Programma | Fase | Ruolo |
|---|---|---|
| Correlation Engine | 7 — completa | Acquisizione, normalizzazione, correlazione, avviso (archivio operativo SQLite) |
| SOC Dashboard | 8 — completa | Visibilità in tempo reale — salute dei collector, avvisi, catene di prove (Flask) |
| Forensic Engine | 9 — pianificata | Indagine post-evento — super timeline, lineage dei processi, analisi beacon, audit di persistenza, banca dati delle prove solo append |
| Forensic Dashboard | 9 — pianificata | Conclusioni forensi riassunte — stato con codice colore, generazione report, navigazione prove |