Master Security Framework: il mio framework di sicurezza multilivello per applicazioni moderne
18/05/2026
Riepilogo
Il Master Security Framework (MSF) è un framework di sicurezza completo, multilingue e multilivello progettato per proteggere le applicazioni moderne a tutti i livelli dello stack tecnologico. Implementato in Python e TypeScript, MSF offre più di 350 funzioni distribuite in 28 moduli, che coprono tutto, dall'autenticazione e crittografia al rilevamento di attacchi web, analisi di rete, sicurezza del cloud, protezione dell'intelligenza artificiale, honeypot adattivi, difesa attiva e conformità aziendale. Questo articolo presenta un'analisi tecnica dettagliata di ciascun modulo, funzione, modello di progettazione e meccanismo di sicurezza implementato nel framework.
1. Introduzione
1.1. Il problema
Le applicazioni moderne si trovano ad affrontare uno spettro di minacce sempre più sofisticato. Un singolo sistema può essere preso di mira da attacchi su più livelli contemporaneamente: inserimento di prompt nei modelli linguistici, sfruttamento delle vulnerabilità web (XSS, SQLi, SSRF), scansione delle porte, attacchi DDoS, configurazioni errate del cloud, contenitori compromessi, dipendenze vulnerabili nella catena di fornitura del software e violazioni della conformità normativa.
L'approccio tradizionale alla sicurezza, ovvero risolvere ogni problema con strumenti isolati, crea silos di difesa che lasciano spazi vuoti tra i livelli. MSF è stata progettata per risolvere questo problema offrendo una piattaforma di sicurezza unificata che opera su tutti i livelli dell'applicazione.
1.2. Cos'è il Master Security Framework
MSF è un framework di sicurezza open source implementato in due linguaggi: Python e TypeScript. Ogni modulo esiste in entrambe le lingue con la stessa semantica, consentendo ai team multilingue di utilizzare lo stesso insieme di funzionalità di sicurezza indipendentemente dallo stack tecnologico.
Il quadro è strutturato attorno a quattro pilastri:
- Prevenzione: convalida dell'input, sanificazione, crittografia, rafforzamento della configurazione
- Rilevazione: analisi di modelli di attacco, anomalie statistiche, firme malware, comportamenti sospetti
- Risposta: avvisi autonomi, quarantena, contenimento, autoguarigione
- Conformità: verifica automatica di LGPD, GDPR, HIPAA, PCI-DSS
1.3. Metriche del progetto
- 243 test automatizzati superati (77 Python + 166 TypeScript)
- 14 moduli Python con oltre 180 funzioni
- 14 moduli TypeScript con oltre 170 funzioni
- Telemetria OpenTelemetry integrata in tutte le funzioni
- Registrazione strutturata (pin in TypeScript, loguru in Python)
- Cache in memoria con invalidazione automatica
- Policy Engine per regole di sicurezza configurabili
- Event Bus per la comunicazione asincrona tra moduli
2. Architettura della struttura
2.1. Livello infrastrutturale (principale)
La base MSF è composta da sei componenti infrastrutturali condivisi da tutti gli altri moduli:
Configurazione globale: un oggetto di configurazione centralizzato che memorizza parametri di sicurezza, soglie, elenchi consentiti/bloccati e chiavi crittografiche. La configurazione può essere ricaricata in tempo reale dalle variabili d'ambiente senza riavviare l'applicazione.
Policy Engine: un sistema di valutazione delle regole che consente di definire le policy di sicurezza come istruzioni strutturate. Il motore supporta operatori logici, condizioni composte e azioni di imposizione (consenti, nega, avvisa, registra).
Event Bus: un sistema pub/sub asincrono che consente ai moduli di pubblicare eventi di sicurezza e ad altri moduli di iscriversi per reagire. Il bus degli eventi include una cronologia degli eventi e una coda di messaggi non recapitati per gli eventi la cui elaborazione non è riuscita.
Registro delle metriche: un sistema di metriche che supporta contatori (per conteggi cumulativi), indicatori (per valori istantanei) e istogrammi (per distribuzioni). Tutte le funzioni di rilevamento pubblicano automaticamente le metriche.
Gestore cache: una cache LRU (Least Recently Used) con TTL (Time-To-Live) configurabile, utilizzata per archiviare costosi risultati di convalida, elenchi di blocchi IP, impronte digitali di sessione e token revocati.
OpenTelemetry: integrazione completa con lo standard OpenTelemetry, generazione di intervalli di tracciabilità distribuiti per ogni operazione di sicurezza. Ciò consente il coloremettere in relazione gli eventi di sicurezza per richiedere tracce nelle architetture di microservizi.
Logger strutturato: registrazione strutturata in formato JSON con pin (TypeScript) e loguru (Python), incluso contesto automatico come ID traccia, gravità, modulo e metadati di sicurezza.
Gestione delle eccezioni: una gerarchia di eccezioni di sicurezza (SecurityError, ValidationError, AuthenticationError, EncryptionError) che consente la gestione granulare degli errori di sicurezza.
2.2. Strato di protezione
Per quanto riguarda l'infrastruttura, MSF organizza i suoi moduli di sicurezza in tre livelli funzionali:
Livello di input: Web, API, autenticazione: proteggi i punti di ingresso dell'applicazione Livello infrastruttura: Rete, Cloud, File: protegge l'infrastruttura sottostante Livello intelligente: AI, Monitoraggio, Difensivo, Honeypot: proteggi con intelligenza e adattamento
3. Modulo di autenticazione (Auth)
Il modulo di autenticazione è il più esteso del framework, con 30 funzioni in Python e 7 in TypeScript. Copre l'intero ciclo di vita dell'autenticazione: generazione e convalida dei token, gestione delle sessioni, rilevamento degli attacchi e metodi avanzati di verifica dell'identità.
3.1. JWT (token Web JSON)
MSF implementa un sistema JWT completo che va oltre la semplice generazione e convalida:
- "generate_jwt" crea token con oggetto, attestazioni personalizzate, scadenza configurabile ed emittente. Supporta gli algoritmi HS256, HS384, HS512, RS256, ES256.
validate_jwtcontrolla la firma, la scadenza, le richieste obbligatorie e restituisce il payload decodificato. Il parametroverify_expconsente di disabilitare il controllo della scadenza per casi specifici.- "revoke_jwt" aggiunge la JTI (JWT ID) del token a una lista nera di revoca. Ciò è essenziale per disconnettersi prima della scadenza naturale del token.
rotate_jwtconvalida il vecchio token e ne emette uno nuovo con la stessa identità, consentendo la rotazione silenziosa del token senza interrompere la sessione dell'utente.validate_refresh_tokenconvalida i token di aggiornamento con la verifica dell'appartenenza all'utente specifico, impedendo che un token di aggiornamento rubato venga utilizzato da un altro utente.
3.2. Gestione della sessione
Il sistema di sessioni di MSF include la protezione contro il dirottamento della sessione:
- "secure_session" crea una sessione che collega user_id, IP, user agent e impronta digitale del dispositivo. Ciò consente di rilevare modifiche sospette nel contesto della sessione.
validate_sessioncontrolla se session_id appartiene all'utente e se l'IP corrente corrisponde all'IP registrato durante la creazione della sessione.- "detect_session_hijack" confronta l'IP corrente e l'agente utente con i dati storici della sessione. Se l'IP è stato spostato in una sottorete diversa o l'agente utente è cambiato in modo significativo, la funzione restituisce true indicando un possibile dirottamento.
detect_token_replaymantiene un registro dei token già utilizzati. Se un token viene presentato più di una volta, la funzione rileva l'attacco di replay.
3.3. Rilevamento degli attacchi di autenticazione
MSF rileva tre tipi principali di attacchi contro i sistemi di autenticazione:
detect_credential_stuffingmonitora i tentativi di accesso da un singolo IP rispetto a più account utente. Se un IP prova molti nomi utente diversi in una finestra di tempo, viene contrassegnato come credential stuffing.detect_bruteforcemonitora i tentativi di accesso contro un singolo account. Se il numero di tentativi supera la soglia nell'intervallo di tempo, viene contrassegnato come forza bruta.detect_impossível_travelcalcola la distanza tra due posizioni di accesso consecutive e la confronta con il tempo trascorso. Se la velocità richiesta per viaggiare tra i punti supera i limiti fisici ragionevoli (ad esempio 900 km/h), la funzione rileva il viaggio impossibile.geo_velocity_checkestende il rilevamento dei viaggi impossibili a più posizioni, calcolando la velocità geografica tra tutti i punti di accesso consecutivi.
3.4. Autenticazione adattiva e basata sul rischio
- "adaptive_auth" regola i requisiti di autenticazione in base al punteggio di rischio del contesto. Un accesso da un dispositivo familiare in un luogo familiare potrebbe richiedere solo una password, mentre un accesso da un nuovo dispositivo in un paese diverso potrebbe richiedere un'MFA aggiuntiva.
- "behavioral_auth" utilizza la biometria comportamentale (modello di digitazione, movimento del mouse, ritmo di navigazione) per verificare l'identità dell'utente rispetto alla linea di base comportamentale registrata.
- "risk_based_auth" calcola un punteggio di rischio composito da piùin base a fattori: posizione, dispositivo, ora, comportamento, reputazione IP e restituisce una decisione di autenticazione con un livello di confidenza.
3.5. TOTP e codici di backup
generate_totpgenera codici One-Time Password basati sul tempo secondo RFC 6238, con cifre e periodo configurabili.- "validate_totp" convalida i token TOTP con tolleranza alla deriva dell'orologio (parametro "drift"), compensando la desincronizzazione tra il server e il dispositivo dell'utente.
verify_backup_codeverifica e utilizza i codici di backup/ripristino, rimuovendoli dall'elenco valido dopo l'uso per impedirne il riutilizzo.
3.6. WebAuthn e passkey
- "passkey_auth" convalida le autenticazioni FIDO2/WebAuthn controllando la firma crittografica dell'autenticatore, i dati dell'autenticatore e i dati del client JSON.
- "webauthn_verify" esegue un controllo completo dell'asserzione WebAuthn, inclusa la convalida dell'origine, dell'ID RP (Relying Party ID) e della firma crittografica rispetto alla chiave pubblica registrata.
- "phishing_sensitive_auth" controlla se un metodo di autenticazione è resistente al phishing, richiedendo FIDO2 livello 2 o superiore con attestazione verificata.
3.7. Sicurezza della password
password_entropycalcola l'entropia di Shannon di una password, misurandone la complessità informativa in bit. Le password con entropia inferiore a 40 bit sono considerate deboli.detect_weak_passwordcombina l'analisi entropica con il controllo rispetto a elenchi di password comuni (rockyou, top 10000, ecc.).password_breach_checkcontrolla se un hash della password appare in un database di violazioni note (Have I Been Pwned e simili).secure_password_hashcrea hash delle password con sale crittografico e allungamento delle chiavi (iterazioni), supportando algoritmi come PBKDF2, bcrypt, scrypt e Argon2.verify_password_hashconfronta una password con un hash memorizzato utilizzando un confronto sicuro a tempo costante.
3.8. Impronta digitale del dispositivo e del browser
- "device_fingerprint" genera un identificatore univoco del dispositivo da attributi quali user agent, risoluzione dello schermo, fuso orario, lingue e piattaforma.
- "browser_fingerprint" utilizza tecniche avanzate di rilevamento delle impronte digitali basate sulle caratteristiche di rendering: hash su tela 2D, hash WebGL, hash del contesto audio ed elenco dei caratteri installati.
- "biometric_validation" confronta i dati biometrici (impronta digitale, riconoscimento facciale, iride) con un modello memorizzato con soglia di somiglianza configurabile.
4. Modulo di crittografia (Cripto)
Il modulo di crittografia implementa moderni algoritmi di crittografia simmetrica, asimmetrica e post-quantistica, con particolare attenzione all'autenticazione e all'integrità.
4.1. Crittografia autenticata
- "encrypt_data" utilizza la crittografia autenticata con dati associati (AEAD), supportando AES-256-GCM e ChaCha20-Poly1305. I dati associati (AAD) consentono di collegare metadati non crittografati al testo cifrato in modo autenticato.
decrypt_dataesegue la decrittazione autenticata, controllando il tag di autenticazione prima di restituire il testo in chiaro. Se il tag non corrisponde, la decrittografia fallisce, impedendo il riempimento dell'oracolo e gli attacchi di manipolazione del testo cifrato.- "encrypt_file" e "decrypt_file" estendono la crittografia autenticata ai file su disco, gestendo in modo sicuro nonce, salt e metadati.
4.2. Crittografia ibrida
- "hybrid_encrypt" combina la crittografia asimmetrica (per lo scambio di chiavi) con la crittografia simmetrica (per il carico utile). La chiave simmetrica viene generata in modo casuale, utilizzata per crittografare il payload e quindi crittografata con la chiave pubblica del destinatario.
hybrid_decryptinverte il processo: decrittografa la chiave simmetrica con la chiave privata e quindi decrittografa il payload.
4.3. Crittografia post-quantica
MSF implementa gli algoritmi post-quantistici standardizzati dal NIST:
- "pqc_encrypt" e "pqc_decrypt" utilizzano ML-KEM (ex Kyber) per la crittografia resistente ai computer quantistici.
- "kyber_key_exchange" implementa il protocollo di scambio di chiavi Kyber per la creazione di chiavi condivise post-quantiche.
- "dilithium_sign" utilizza ML-DSA (in precedenza Dilithium) per le firme digitali post-quantistiche.
sphincs_signutilizza SPHINCS+, uno schema di firma basato su funzioni hash, come alternativa post-quantistica stateless.- "falcon_sign" utilizza Falcon, uno schema di firma basato su reticolo con firme compatte.
4.4. HMAC e verifica della firma
generate_hmacproduce un Hash-bCodice di autenticazione del messaggio ased utilizzando HMAC-SHA256, HMAC-SHA384, HMAC-SHA512 o HMAC-SHA3-256.- "verify_hmac" confronta l'HMAC calcolato con l'HMAC previsto utilizzando il confronto a tempo costante.
verify_signatureverifica le firme digitali (Ed25519, ECDSA, RSA-PSS) rispetto a un messaggio e a una chiave pubblica.
4.5. Utilità crittografiche
secure_randomgenera byte crittograficamente sicuri utilizzandoos.urandom()(Python) ocrypto.getRandomValues()(TypeScript).secure_memory_erasesovrascrive le regioni di memoria contenenti dati sensibili con zeri, impedendo che i dati rimangano in memoria dopo l'uso.- "anti_timing_compare" confronta due sequenze di byte in tempo costante, eseguendo un'iterazione su tutti i byte indipendentemente da dove si verifica la prima differenza, prevenendo attacchi temporali.
5. Modulo Web
Il modulo Web è il più esteso in termini di rilevamento degli attacchi, con 30 funzioni in Python e 35 in TypeScript. Copre tutte le categorie di vulnerabilità web elencate nella OWASP Top 10 e oltre.
5.1. Scripting tra siti (XSS)
detect_xssanalizza l'input per modelli XSS tra cui: tag<script>, gestori di eventi (onload,onclick,onerror), URIjavascript:, DOM XSS (innerHTML,document.write) e XSS tramite SVG/MathML. La funzione accetta una serie di modelli regex e calcola un punteggio di confidenza in base al numero di modelli corrispondenti. "severity_threshold" consente di regolare la sensibilità di rilevamento.sanitize_htmlrimuove i tag e gli attributi non consentiti dall'HTML, utilizzando una lista consentita di tag sicuri (<p>,<br>,<strong>,<em>, ecc.) e attributi sicuri (href,src,alt,title, ecc.). I tag non consentiti vengono rimossi completamente e gli attributi pericolosi come "on*" vengono filtrati.sanitize_svgdisinfetta SVG rimuovendo elementi pericolosi come<script>,<foreignObject>,<animate>e attributi di eventi.sanitize_markdowndisinfetta il markdown rimuovendo il codice HTML pericoloso incorporato preservando la formattazione nativa del markdown.sanitize_cssrimuove proprietà CSS pericolose comeexpression(),url(javascript:),behaviore-moz-binding.sanitize_jsrimuove modelli JavaScript pericolosi tra cuieval(),Function(),setTimeout/setIntervalcon stringa,document.write,document.cookie, manipolazione DOM non sicura e metodi di esecuzione del codice.
5.2. SQL e NoSQL Iniezione
detect_sqlirileva modelli di SQL injection tra cui: query basate su UNION (UNION SELECT), cieche (AND 1=1,OR '1'='1'), basate sul tempo (SLEEP(),WAITFOR DELAY), basate su errori e in pila. La funzione rileva anche tecniche di evasione come la codifica esadecimale, i commenti (--,/* */) e la concatenazione di stringhe.detect_nósqlirileva l'iniezione nei database NoSQL (principalmente MongoDB) identificando operatori pericolosi in input:$gt,$gte,$lt,$lte,$ne,$in,$nin,$regex,$where,$exists.
5.3. Falsificazione delle richieste lato server (SSRF)
detect_ssrfcontrolla gli URL rispetto a un elenco di domini consentiti e IP bloccati. La funzione rileva le tecniche di bypass SSRF tra cui: reindirizzamenti a localhost, uso del rebinding DNS, URL con codifica (%00,%0d%0a) e accesso agli endpoint dei metadati cloud (169.254.169.254,metadata.google.internal).
5.4. Esecuzione di codice remoto (RCE) e immissione di comandi
detect_rceidentifica modelli di esecuzione del codice remoto incluse le chiamate aeval(),exec(),system(),passthru(),popen(), backtick e operatori pipe.detect_command_injectionrileva l'inserimento di comandi del sistema operativo utilizzando gli operatori di shell:;,|,||,&&, backtick,$()e reindirizzamenti (>,>>).
5.5. Inclusione di file e attraversamento del percorso
detect_lfirileva l'inclusione di file locali identificando sequenze di percorso trasversale (../,..\), trasversale codificato (%2e%2e%2f) e protocolli pericolosi (php://filter,php://input,data://,expect://).detect_rfirileva l'inclusione di file remoti quando gli URL esterni vengono passati come parametri di inclusione/richiesta.detect_path_traversalcontrolla se un percorso si risolve all'interno di unbase_pathconsentito, rilevando l'attraversamento assoluto e relativo.
5.6. Iniezione del modello
detect_template_injectionrileva Server-Side Template Injection (SSTI) per Jinja2 ({{ 7*7 }},{% for %}), EJS (<%= %>), Handlebars ({{#each}}), Pug, Twig, Moustache e una modalità generica che rileva la sintassi comune dei template.
5.7. Deserializzazione eApri Reindirizzamento
detect_deserialization_attackidentifica la deserializzazione non sicura controllando le classi consentite e i modelli di gadget noti (serializzazione Java, pickle Python, unserializzazione PHP, deserializzazione YAML).detect_open_redirectcontrolla se un URL di reindirizzamento punta a un host nella whitelist, impedendo reindirizzamenti a domini dannosi.
5.8. Protezione CSRF, CORS e CSP
csrf_protectevalidate_csrfcontrollano la richiesta di token CSRF rispetto ai token di sessione utilizzando il confronto sicuro.- "validate_cors" convalida le richieste CORS controllando origine, metodi e intestazioni rispetto agli elenchi consentiti.
generate_cspgenera intestazioni Content-Security-Policy dalla configurazione della direttiva (script-src, style-src, img-src, connect-src, frame-ancestors, ecc.).- "validate_csp" convalida un'intestazione CSP esistente rispetto a una politica di sicurezza definita.
secure_headersgenera un set completo di intestazioni di sicurezza: Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, X-XSS-Protection, Referrer-Policy, Permissions-Policy e Content-Security-Policy.
5.9. Cookie sicuri e clickjacking
secure_cookiegenera intestazioni Set-Cookie con flag Secure, HttpOnly, SameSite (Strict o Lax), ambito del dominio, percorso e età massima.detect_clickjackingcontrolla la presenza di intestazioni X-Frame-Options e frame-antenati CSP per rilevare la vulnerabilità del clickjacking.- "validate_origin" e "validate_referer" convalidano le intestazioni Origin e Referer rispetto ai domini previsti.
5.10. Webhook
webhook_signaturegenera firme HMAC per i payload webhook, incluso il timestamp per la prevenzione della riproduzione.webhook_replay_protectioncontrolla la firma e il timestamp del webhook, rifiutando le richieste al di fuori della finestra temporale configurata.
6. Modulo API
Il modulo API protegge gli endpoint API da un'ampia gamma di attacchi e abusi.
6.1. Convalida e sanificazione degli input
validate_json_schemaconvalida i dati rispetto alle definizioni dello schema JSON con la modalità rigorosa opzionale che rifiuta campi aggiuntivi non definiti nello schema.validate_inputconvalida l'input API rispetto alle regole del tipo (stringa, numero, booleano, array, oggetto), dimensione minima/massima, modello regex, enumerazione dei valori consentiti e profondità di nidificazione massima (impostazione predefinita: 5 livelli).sanitize_jsondisinfetta i dati JSON rimuovendo i tipi non consentiti e troncando le stringhe che superano la lunghezza massima configurata (impostazione predefinita: 10.000 caratteri).
6.2. Limitazione della velocità
- "api_rate_limit" implementa la limitazione della velocità utilizzando l'algoritmo della finestra scorrevole, mantenendo un registro dei timestamp delle richieste per client ed endpoint. Quando il numero di richieste nella finestra supera il limite, la richiesta viene rifiutata.
- "adaptive_rate_limit" regola dinamicamente i limiti di velocità in base al comportamento del cliente. I clienti con precedenti puliti ricevono limiti più generosi, mentre i clienti con modelli sospetti ricevono limiti più restrittivi.
6.3. Rilevamento abusi API
detect_api_abuseanalizza i modelli di richiesta per rilevare: scraping (richieste sequenziali a molte risorse), enumerazione (tentativi di ID sequenziali), fuzzing (richieste con diversi payload non validi) e automazione dannosa (alta frequenza con modelli regolari).- "detect_shadow_api" identifica gli endpoint non documentati che ricevono traffico confrontando gli endpoint a cui si accede con l'elenco delle API documentate.
6.4. Autorizzazione a livello di oggetto danneggiato (BOLA/IDOR)
detect_bolacontrolla se l'utente è autorizzato ad accedere alla risorsa richiesta, confrontando ilresource_idcon ilownership_mapche mappa le risorse ai loro proprietari. Se l'utente non è il proprietario e non dispone di autorizzazioni delegate, la funzione restituisce true.
6.5. Autenticazione interrotta e assegnazione di massa
detect_broken_authcontrolla la presenza e la validità del token di autenticazione, gli ambiti richiesti dall'endpoint e la corrispondenza tra il token e l'utente richiesto.detect_mass_assignmentcontrolla se l'input API contiene campi che non sono nel modello (model_fields) o che sono nell'elenco dei campi di sola lettura (readonly_fields), impedendo agli aggressori di modificare campi protetti comeis_admin,roleobalance.
6.6. Sicurezza GraphQL
graphql_ Depth_limitanalizza la profondità delle query GraphQL, rifiutando le query che superano il limite configurato (impostazione predefinita: 10 livelli). Ciò impedisce attacchi cheries ricorsivi che possono causare negazione del servizio.graphql_cost_analysiscalcola il costo computazionale di una query GraphQL in base alla complessità di ciascun campo (configurabile tramitecomplexity_map) e al livello di nidificazione. Le query con un costo superiore al limite (impostazione predefinita: 1000) vengono rifiutate.graphql_abuse_detectionanalizza più query in una finestra temporale per rilevare inondazioni di query, abusi di introspezione (query che sfruttano lo schema per mappare l'API) e modelli di abuso ripetitivi.
6.7. gRPC e sicurezza WebSocket
- "grpc_security_validation" convalida la sicurezza delle richieste gRPC controllando metadati, intestazioni obbligatorie e informazioni TLS (suite di crittografia, protocollo, certificato peer).
secure_websocketconfigura connessioni WebSocket sicure con convalida dell'origine e sottoprotocolli consentiti.- "websocket_origin_validation" e "websocket_flood_protection" proteggono da connessioni WebSocket dannose e dal Flooding delle connessioni.
6.8. Gestione delle chiavi API
api_key_rotationgenera nuove chiavi API con hash sicuro (SHA3-256), prefisso identificabile e data di scadenza configurabile.- "api_key_validation" convalida le chiavi API rispetto a un registro di chiavi conosciute, controllando ambiti, scadenza e limiti di velocità individuali.
7. Modulo Intelligenza Artificiale (AI).
Il modulo AI è uno dei più innovativi di MSF e offre una protezione completa per le applicazioni che utilizzano modelli linguistici di grandi dimensioni (LLM).
7.1. Protezione immediata e jailbreak
detect_prompt_injectionanalizza i prompt per modelli di iniezione come "ignora le istruzioni precedenti", "dimentica tutte le regole", "sistema:", "sei adesso", "ignora tutte le precedenti", "sostituisci istruzioni di sistema", "ignora la sicurezza", "agisci come se fossi", "fai finta di essere", "d'ora in poi sei", "modalità sviluppatore:" e modelli di markup che tentano di simulare le istruzioni di sistema. La funzione utilizza più di 20 modelli regex e calcola un punteggio di confidenza in base al numero di corrispondenze e alla lunghezza del prompt.detect_jailbreakrileva i tentativi di jailbreak specificamente mirati a bypassare le restrizioni di sicurezza LLM, tra cui: modalità DAN, "fai qualsiasi cosa adesso", "disabilita sicurezza", "modalità senza restrizioni", "senza alcuna restrizione", "ignora le linee guida di sicurezza", "non sei obbligato a seguire le tue regole", "gioca di ruolo senza restrizioni", "scenario ipotetico in cui puoi", "in questo universo alternativo" e "solo per scopi didattici" modelli utilizzati come giustificazione per il bypass.
7.2. Protezione dei dati sensibili
detect_sensitive_leakscansiona il testo alla ricerca di dati sensibili tra cui: SSN/CPF, numeri di carte di credito (con convalida del checksum Luhn), e-mail, numeri di telefono, chiavi API (AWS, GCP, GitHub, standard Stripe), password, token JWT, chiavi private (intestazioni PEM) e indirizzi di portafogli di criptovaluta.- "detect_prompt_leak" rileva i tentativi di estrarre il prompt del sistema LLM confrontando il contenuto del prompt dell'utente con il prompt del sistema utilizzando la somiglianza del testo. Se l'utente sta tentando di riprodurre o dedurre parti del prompt del sistema, la funzione lo segnala.
- "detect_data_exfiltration" analizza l'output LLM per i dati sensibili che potrebbero essere stati inavvertitamente inclusi nella risposta.
7.3. Sanificazione
sanitize_promptrimuove i pattern bloccati dal prompt dell'utente e impone il limite di lunghezza.sanitize_llm_outputrimuove script, gestori di eventi e dati sensibili dall'output LLM, applicando il troncamento se necessario.- "ai_memory_sanitizer" disinfetta le voci della memoria AI in base alla politica di conservazione, rimuovendo i dati sensibili e le voci scadute.
7.4. Rilevamento di abusi di modelli e agenti
detect_model_abuseanalizza i modelli di richiesta per rilevare l'abuso del modello: ripetizione eccessiva (stesso prompt inviato più volte), tasso di richieste elevato (superiore a 30/minuto) e complessità anomala (query molto profonde o lunghe). Il punteggio di abuso viene calcolato come una combinazione ponderata di corrispondenza del modello, ripetizione, tasso e complessità.detect_agent_abusemonitora il comportamento degli agenti AI controllando se le azioni eseguite rientrano nelle politiche definite (azioni consentite, limiti di chiamata, restrizioni di accesso).
7.5. Firewall LLM e motore delle policy
llm_firewallvaluta l'input rispetto a una serie di regole del firewall LLM con azioni configurabili (blocco, avviso, registro). Ciascuna regola specifica uno schema, una condizione e un'azione.- "ai_policy_engine" valutasia il prompt che l'output LLM rispetto a una serie di policy di sicurezza, tra cui: divieto di generare codice dannoso, divieto di rivelare informazioni personali, requisito delle fonti per affermazioni fattuali e restrizioni specifiche del dominio.
7.6. RAG e allucinazioni
rag_source_validationconvalida la credibilità delle fonti utilizzate nei sistemi RAG (Retrieval-Augmented Generation), controllando se i domini di origine sono nell'elenco attendibile e applicando regole di convalida come il controllo della data, dell'autore e della reputazione.- "Hallucination_risk" valuta il rischio di allucinazioni nell'output LLM analizzando: punteggi di confidenza bassi, affermazioni non verificate, incongruenze fattuali e modelli linguistici indicativi di incertezza.
7.7. Guardrail e convalida delle chiamate degli strumenti
- "ai_output_guard" applica guardrail e regole di redazione all'output LLM, rimuovendo i contenuti vietati e oscurando i dati sensibili.
tool_call_validationconvalida le chiamate dello strumento (chiamata di funzione) controllando se lo strumento è nell'elenco consentito e se gli argomenti corrispondono allo schema previsto.- "multi_agent_isolation" convalida le politiche di isolamento e comunicazione tra più agenti AI, impedendo a un agente di comprometterne un altro.
7.8. Monitoraggio
- "ai_token_monitor" monitora l'utilizzo dei token LLM rispetto ai limiti definiti (per richiesta, al minuto, al giorno, per costo), generando avvisi quando i limiti vengono raggiunti o superati.
- "ai_behavior_monitor" monitora il comportamento dell'IA per rilevare deviazioni dalla linea di base stabilita, rilevando cambiamenti nei modelli di risposta, aumento di errori o comportamenti imprevisti.
8. Modulo di rete
Il modulo di rete fornisce il rilevamento delle minacce a livello di rete, coprendo qualsiasi aspetto, dalla scansione delle porte alla comunicazione di comando e controllo.
8.1. Rilevamento scansione
detect_port_scananalizza le connessioni da un IP di origine per rilevare le scansioni delle porte. La funzione conta le porte univoche a cui si accede, calcola la velocità di connessione (connessioni al secondo) e analizza i modelli di flag TCP (SYN float, modelli SYN-RST). I tipi di scansione rilevati includono: scansione SYN, scansione FIN, scansione XMAS, scansione NULL e scansione UDP. La soglia configurabile consente di regolare la sensibilità (impostazione predefinita: 20 porte singole in 60 secondi).detect_dns_tunnelinganalizza le query DNS per rilevare il tunneling, calcolando l'entropia di Shannon dei sottodomini (i dati codificati nelle query DNS hanno un'entropia elevata), misurando la dimensione media dei sottodomini e contando la frequenza delle query per un dominio specifico.
8.2. Rilevamento anomalie del traffico
- "detect_traffic_anomaly" confronta i parametri di traffico attuali (byte al secondo, pacchetti al secondo, connessioni al secondo, distribuzione del protocollo) con una base storica utilizzando z-score statico. Le deviazioni superiori alla soglia (impostazione predefinita: 2,0 deviazioni standard) sono contrassegnate come anomalie.
- "detect_ddos" rileva gli attacchi Distributed Denial of Service analizzando i picchi in byte/pacchetti al secondo rispetto alla linea di base, con soglia e finestra temporale configurabili.
8.3. Proxy, VPN e rilevamento Tor
detect_proxycontrolla le intestazioni HTTP indicative del proxy (X-Forwarded-For, Via, X-Real-IP, Forwarded) e analizza i modelli comportamentali delle connessioni proxy.- "detect_vpn" controlla l'IP di origine rispetto a un database di IP di provider VPN noti.
detect_torcontrolla se l'IP appartiene alla rete Tor confrontandolo con elenchi di nodi e nodi di uscita dalla rete Tor.
8.4. Convalida IP e dominio
- "validate_ip" convalida gli indirizzi IPv4 rispetto agli intervalli e ai blocchi consentiti utilizzando la corrispondenza CIDR. Supporta la notazione CIDR (ad esempio
192.168.1.0/24) e intervalli individuali. validate_domainconvalida i domini confrontando il TLD con un elenco consentito (ad esempio solo.com,.org,.br) e il dominio completo con un elenco bloccato.
8.5. Rilevamento di spoofing e avvelenamento da ARP
detect_spoofinganalizza i dati dei pacchetti rispetto alle origini previste e alla topologia di rete per rilevare lo spoofing IP, controllando se l'IP di origine è coerente con il percorso previsto.detect_arp_poisoningconfronta la tabella ARP corrente con le mappature IP-to-MAC previste, rilevando quando un indirizzo MAC risponde a più IP o quando una mappatura cambia inaspettatamente.
8.6. Impronta digitale TLS
tls_fingerprintgenera un'impronta digitale TLS dall'handshake (suite di crittografia, estensioni, curve ellittiche, formati di punti) e la confronta cona un database di impronte digitali note per identificare il cliente.- "ja3_fingerprint" genera un hash JA3 specifico per TLS ClientHello, che è uno standard di settore per identificare i client TLS in base ai parametri di negoziazione.
8.7. Segnalazione e rilevamento C2
beaconing_detectionrileva il comportamento del beaconing (comunicazione periodica con comando e controllo) analizzando la regolarità degli intervalli tra le connessioni. Connessioni con intervalli molto regolari (jitter basso) e correlazione di intervalli elevata sono indicative di beaconing.command_and_control_detectionanalizza i modelli di traffico rispetto a indicatori noti di C2: comunicazione con domini DGA (Domain Generation Algorithm), traffico su porte non standard, modelli di beaconing e utilizzo di protocolli di tunneling (DNS, ICMP, HTTP).
8.8. Movimento laterale e analisi di rete
lateral_movement_detectionrileva il movimento laterale analizzando i modelli di accesso tra host sulla rete: accessi a host a cui l'utente normalmente non accede, uso di protocolli di amministrazione remota (RDP, SSH, WMI) per host insoliti e propagazione dell'accesso in un modello grafico.network_entropy_analysisanalizza l'entropia dei pacchetti di rete per rilevare traffico crittografato o criptato (un'entropia elevata indica dati casuali o crittografati).traffic_behavior_analysisanalizza il comportamento del traffico rispetto alle linee di base stabilite in una finestra temporale, rilevando i cambiamenti nel modello di comunicazione.protocol_anomaly_detectionrileva anomalie nei protocolli confrontando i dati del protocollo con le specifiche previste (campi obbligatori, valori validi, sequenza di messaggi).
9. Modulo Cloud
Il modulo cloud protegge le infrastrutture cloud su AWS, GCP e Azure, coprendo container, Kubernetes, storage, IAM, IaC e catena di fornitura.
9.1. Sicurezza dei contenitori
- "validate_dockerfile" convalida i Dockerfile rispetto alle migliori pratiche di sicurezza: non utilizzare il tag "latest", non eseguire come root, includere HEALTHCHECK, non includere segreti hardcoded, utilizzare immagini di base minime (alpine, distroless) e non esporre porte non necessarie.
detect_container_escaperileva potenziali vettori di escape del contenitore controllando: modalità privilegiata, funzionalità pericolose (SYS_ADMIN, SYS_PTRACE, NET_ADMIN), montaggio hostPath sensibile (/,/etc,/proc,/sys), mancanza di profili seccomp/AppArmor e condivisione dello spazio dei nomi host.- "runtime_container_protection" analizza gli eventi del contenitore in fase di esecuzione rispetto alle regole delle minacce ed esegue azioni automatiche (blocco, avviso, isolamento, terminazione, registro).
container_image_scanscansiona i livelli di immagine del contenitore per vulnerabilità note (CVE) e controlla le firme delle immagini (Cosign, Notary).
9.2. Sicurezza Kubernetes
validate_k8s_rbacconvalida le configurazioni RBAC di Kubernetes rispetto ai principi del privilegio minimo: rilevamento di ClusterRoles con caratteri jolly (*), ServiceAccount con autorizzazioni eccessive, associazioni che concedono l'accesso ai segreti e ruoli che consentono exec nei pod.- "validate_kubernetes_manifest" convalida i manifest Kubernetes rispetto alle policy di sicurezza dei pod e alle policy di rete: rileva i pod in esecuzione come root, senza limiti di risorse, con hostNetwork/hostPID/hostIPC, senza readOnlyRootFilesystem e senza securityContext.
runtime_k8s_anomalyrileva comportamenti anomali negli eventi di runtime Kubernetes: creazione di pod in spazi dei nomi insoliti, modifiche a RBAC, accesso a segreti non standard e comunicazione tra pod che normalmente non comunicano.
9.3. Archiviazione e IAM
detect_public_bucketrileva i bucket di archiviazione cloud accessibili pubblicamente controllando: policy del bucket conPrimary: "*", ACL pubblici, blocco dell'accesso pubblico disabilitato e configurazioni del sito Web che espongono il bucket.- "validate_s3_permissions" convalida le autorizzazioni del bucket S3 rispetto ai requisiti di sicurezza: verifica che non vi siano autorizzazioni di scrittura pubbliche, che la crittografia sia abilitata, che il controllo delle versioni sia attivo e che la registrazione sia configurata.
validate_iam_policyconvalida le policy IAM rispetto a elenchi di azioni consentite e negate, rilevando permessi eccessivi: azioni con caratteri jolly (s3:*,*), accesso alle risorse di tutti i servizi e assenza di condizioni di restrizione.
9.4. Infrastruttura come codice
- "validate_terraform" convalida i piani Terraform rispetto alle policy di sicurezza: rileva risorse con crittografia disabilitata, gruppi di sicurezza con regole di accesso aperte (
0.0.0.0/0), bucket pubblici, database senza supporto e risorse senza tag identificativi. - "detect_cloud_misconfig" rileva le configurazioni errate dell'infrastruttura cloud confrontando la configurazione corrente con una base di sicurezza per provider (AWS, GCP, Azure).
9.5. Segreti e catena di fornitura
- "validate_secrets_manager" convalida la configurazione del gestore dei segreti: rotazione automatica abilitata, crittografia dei dati inattivi con KMS, policy di accesso restrittive e registrazione degli accessi abilitata.
- "supply_chain_validation" convalida le dipendenze del software rispetto a fonti attendibili e database di vulnerabilità, rilevando pacchetti provenienti da fonti non verificate, versioni con CVE noti e dipendenze con licenze restrittive.
sbom_generatorgenera la distinta base del software nei formati SPDX o CycloneDX, elencando tutti i componenti con nome, versione, tipo, licenze e hash.dependency_auditcontrolla le dipendenze rispetto al database delle vulnerabilità con filtro di gravità.detect_typósquattingrileva gli attacchi di typósquatting confrontando i nomi dei pacchetti con quelli conosciuti utilizzando la somiglianza delle stringhe (Levenshtein, scambio di caratteri, sillabazione).
9.6. Punteggio e identità
- "cloud_security_score" calcola un punteggio complessivo di sicurezza del cloud in base ai benchmark CIS e ai pesi configurabili per categoria (IAM, archiviazione, rete, registrazione, crittografia).
- "workload_identity_validation" convalida la configurazione dell'identità del carico di lavoro (IRSA su AWS, Workload Identity su GKE, Managed Identity su Azure).
- "confidential_computing_validation" convalida l'attestazione di elaborazione riservata per i TEE (Intel SGX/TDX, AMD SEV-SNP, AWS Nitro Enclaves, Azure CVM).
10. Modulo di monitoraggio
Il modulo di monitoraggio offre funzionalità avanzate di rilevamento, correlazione e risposta agli incidenti.
10.1. Registrazione a prova di manomissione
secure_logcrea voci di registro sicure con integrità crittografica utilizzando la catena hash: ogni voce include l'hash della voce precedente, rendendo impossibile modificare le voci precedenti senza invalidare l'intera catena.tamperproof_logscontrolla l'integrità di una catena di log verificando che ciascun hash punti correttamente alla voce precedente.
10.2. Punteggio statistico
- "anomaly_score" calcola un punteggio di anomalia utilizzando il punteggio z statistico: per ogni metrica, calcola quante deviazioni standard dista il valore corrente dalla media storica. I punteggi individuali vengono combinati con pesi configurabili per produrre un punteggio composito.
- "threat_score" calcola un punteggio di minaccia composto da eventi di sicurezza e di intelligence sulle minacce, ponderati in base alla gravità, alla criticità dell'obiettivo e alla fiducia nella fonte dell'intelligence.
- "risk_score" calcola un punteggio di rischio per un utente specifico in base agli eventi recenti, al contesto attuale e alla cronologia (media del rischio precedente, numero di incidenti, giorni dall'ultimo incidente).
10.3. Correlazione e avvisi
- "correlate_events" mette in correlazione gli eventi di sicurezza all'interno di una finestra temporale utilizzando regole di correlazione definite dall'utente. Ad esempio: "se ci sono 3 eventi di accesso non riusciti dallo stesso IP seguiti da un evento di successo, correlare come possibile forza bruta".
- "realtime_alert" valuta gli eventi rispetto alle regole di avviso e genera avvisi in tempo reale con notifiche configurabili (e-mail, Slack, PagerDuty, webhook).
- "adaptive_alerting" implementa avvisi adattivi con prevenzione dell'affaticamento degli avvisi: se il numero di avvisi all'ora supera una linea di base, il sistema raggruppa avvisi simili e riduce la frequenza delle notifiche.
10.4. Analisi degli attacchi
- "attack_path_analysis" analizza i potenziali percorsi di attacco attraverso la rete in base agli eventi di sicurezza e alla topologia della rete, identificando sequenze di azioni che un utente malintenzionato potrebbe utilizzare per raggiungere un obiettivo critico.
- "threat_graph" crea un grafico della conoscenza delle minacce da eventi, entità (utenti, host, applicazioni) e relazioni (accesso, compromissione, comunicazione).
attack_chain_mappingmappa gli eventi di sicurezza al framework MITRE ATT&CK (tecniche e tattiche) e alla Cyber Kill Chain (ricognizione, armamento, consegna, sfruttamento, installazione, C2, azioni sugli obiettivi).
10.5. Analisi comportamentale e UEBA
- "behavioral_analysis" analizza il comportamento dell'utente rispetto a linee di base stabilite: tempi di accesso tipici, posizioni comuni, volume di eventi all'ora e tipi di azioni tipici.
- Viene eseguito
ueba_analysisAnalisi del comportamento degli utenti e delle entità che confronta il comportamento degli utenti con il gruppo dei pari (gruppo di utenti con un profilo simile), rilevando deviazioni statistiche. detect_account_takeoverrileva i tentativi di furto dell'account in base a indicatori comportamentali: accesso al dispositivo sconosciuto, posizione insolita, orario atipico, modifica della password seguita dal trasferimento di dati e accesso a risorse non standard.
10.6. Risposta autonoma e medicina legale
- "autonomous_response" esegue una risposta autonoma agli incidenti in base alla gravità della minaccia e alle regole di risposta: blocco IP, disabilitazione account, isolamento host, revoca token e inoltrazione al team di sicurezza.
- "forensic_snapshot" crea un'istantanea forense dello stato del sistema con catena di custodia delle prove, incluso l'hash crittografico di tutti gli artefatti raccolti.
- "incident_timeline" crea una cronologia cronologica degli incidenti a partire dagli eventi di sicurezza, ordinandoli per timestamp e raggruppandoli per fase di attacco.
- "autonomous_triage" esegue un triage autonomo degli avvisi utilizzando regole di triage e dati di arricchimento (informazioni sulle minacce, contesto utente, cronologia dei falsi positivi).
11. Modulo di difesa attiva (difensivo)
Il modulo difensivo implementa meccanismi di difesa attiva che proteggono il framework e il runtime dell'applicazione stessa.
11.1. Anti-debug e anti-manomissione
- "runtime_self_protection" abilita meccanismi di autoprotezione in fase di esecuzione: controlli periodici di integrità, rilevamento del debug e monitoraggio continuo dello stato del processo.
- "anti_debugging_detection" rileva i tentativi di debug attivi controllando: stato di ptrace (se il processo viene tracciato), segnali del debugger nell'ambiente (variabili di ambiente, file di debug) e anomalie di runtime (pause impreviste indicano punti di interruzione).
- "anti_tampering" controlla l'integrità binaria confrontando gli hash crittografici (SHA-256, SHA3-256) con i valori attesi. Se l'hash è cambiato, il binario è stato modificato.
memory_integrity_checkcontrolla l'integrità delle regioni di memoria confrontando lo stato corrente con lo stato previsto e controllando le firme delle regioni critiche.process_integrity_checkcontrolla l'integrità del processo, inclusi: moduli caricati (rilevando DLL non autorizzate), paese della catena del processo (rilevando se il processo è stato avviato da un genitore inaspettato) e autorizzazioni del processo.
11.2. Convalida binaria e di avvio
code_signing_validationconvalida il certificato di firma del codice binario rispetto a un archivio di certificati attendibili e controlla che il certificato non sia stato revocato.binary_integrity_validationconvalida l'integrità di un file binario per sezione (.text, .data, .rsrc, .reloc) calcolando i singoli hash per ciascuna sezione e confrontandoli con gli hash previsti.secure_boot_validationconvalida la catena di avvio sicuro controllando le misurazioni TPM (Trusted Platform Module) e i valori dei PCR (Platform Configuration Registers) che registrano ogni fase di avvio.- "secure_update_validation" convalida i pacchetti di aggiornamento controllando: firma crittografica del pacchetto, integrità del contenuto, versione (prevenendo attacchi di downgrade) e canale di distribuzione.
11.3. Tecniche di rilevamento avanzate
anti_hook_detectionrileva gli hook di funzioni in memoria controllando: hook IAT (modificando la tabella degli indirizzi di importazione), hook inline (modificando le prime istruzioni di una funzione) e hook SSDT (modificando la tabella dei descrittori dei servizi di sistema nel kernel).- "anti_injection_detection" rileva l'inserimento di codice nello spazio di memoria del processo controllando: moduli caricati senza firma, librerie caricate da percorsi sospetti e firme di tecniche di iniezione note (processo svuotamento, DLL injection, caricamento riflettente DLL).
- "anti_rootkit_detection" rileva gli indicatori rootkit analizzando: chiamate di sistema che restituiscono risultati incoerenti, moduli del kernel non firmati e processi nascosti (processi che appaiono nell'elenco dei processi del kernel ma non nell'elenco del sistema operativo).
- "anti_vm_detection" rileva l'esecuzione in un ambiente virtuale controllando: informazioni hardware indicative della VM (produttore del BIOS, modello del processore, indirizzo MAC), controlli temporali (istruzioni che vengono eseguite più lentamente nelle VM) e artefatti della VM (file, servizi, driver specifici per VMware, VirtualBox, Hyper-V).
anti_emulation_detectionrileva gli ambienti di emulazione controllando: disponibilità di API che gli emulatori spesso non implementano, tempistica delle operazioni (gli emulatori sono più lenti) e controlli dell'ambiente (numero di processi, spazio su disco, memoria RAM).
11.4. Bersaglio mobile e autoguarigione
- "moving_target_runtime" implementa la difesa del bersaglio mobile ruotando gli endpoint del servizio, randomizzando il layout della memoria e variando i tempi di risposta per rendere più difficile lo sfruttamento delle vulnerabilità.
dynamic_attack_surfaceregola dinamicamente la superficie di attacco in base al livello di minaccia: a livello basso, tutti gli endpoint sono disponibili; a livello medio, gli endpoint non essenziali sono disabilitati; ad alto livello, rimangono attivi solo gli endpoint critici.runtime_policy_enginevaluta e applica le politiche di sicurezza in fase di esecuzione con modalità di applicazione configurabile (controllo, avviso, applicazione).- "self_healing_security" rileva e ripristina automaticamente gli incidenti di sicurezza: se un servizio è compromesso, il sistema può riavviare il servizio, ripristinare la configurazione originale e avvisare il personale.
- "adaptive_threat_response" esegue una risposta adattiva alle minacce in base alle caratteristiche della minaccia e ai playbook di risposta predefiniti.
- "autonomous_containment" contiene minacce attive in modo autonomo utilizzando regole di contenimento e topologia di rete: isola gli host compromessi, blocca la comunicazione C2 e segmenta la rete per limitare la propagazione.
12. Modulo Honeypot
Il modulo honeypot implementa tecniche di inganno per attirare, rilevare e analizzare gli aggressori.
12.1. Servizi falsi
- "fake_admin_panel" distribuisce un pannello di amministrazione falso realistico con percorsi di accesso, dashboard, gestione degli utenti e impostazioni di sistema. Tutte le interazioni vengono registrate per l'analisi.
fake_databasecrea un database falso con schema realistico (tabelle utente, ordine, pagamento) e record di esempio che sembrano legittimi ma sono completamente fittizi.fake_apidistribuisce una falsa API REST con endpoint realistici (/api/users,/api/orders,/api/payments) che restituiscono payload convincenti ma fittizi.fake_filesystemcrea un file system falso con una struttura di directory plausibile (/etc,/var/log,/home/user,/opt/app) e file con contenuti realistici.fake_ssh_servicedistribuisce un falso servizio SSH che accetta connessioni, visualizza un banner realistico e registra tutti i tentativi di autenticazione e i comandi eseguiti.- "fake_rdp_service" distribuisce un falso servizio RDP per rilevare e tenere traccia degli attacchi ai desktop remoti.
- "fake_kubernetes_cluster" distribuisce una falsa API del cluster Kubernetes per attirare aggressori focalizzati sui container rispondendo alle query per pod, servizi, distribuzioni e segreti.
fake_s3_bucketcrea un falso bucket S3 con oggetti realistici (documenti, configurazioni, backup) e policy di accesso che sembrano legittime.- "fake_login_page" distribuisce una pagina di accesso convincente con marchio personalizzabile per acquisire tentativi di invio di credenziali.
fake_debug_paneldistribuisce un falso pannello di debug/sviluppo che sembra esporre informazioni interne sul sistema (variabili di ambiente, impostazioni del database, log).
12.2. Honeytokens e inganno
- "fake_secrets" genera e gestisce falsi segreti (chiavi API, token di database, credenziali SSH) che avvisano quando utilizzati al di fuori dei contesti autorizzati.
- "honeytoken_ generation" genera token tracciabili di diversi tipi (URL, chiavi API, credenziali, file) che attivano avvisi quando si accede.
- "honeycredential_detection" controlla le credenziali inviate confrontandole con il database degli honeytoken conosciuti, rilevando quando un utente malintenzionato utilizza credenziali false.
- "deceptive_routes" registra percorsi ingannevoli che sembrano endpoint API legittimi ma attivano avvisi quando si accede.
decoy_endpointsgenera un elenco di endpoint API esca che imitano gli endpoint del servizio reale.- "deceptive_responses" genera risposte ingannevoli contestualmente appropriate in base alla richiesta e al profilo dell'aggressore, mantenendo l'aggressore impegnato durante la raccolta di informazioni.
12.3. Analisi e adattamento
adaptive_honeypotregola dinamicamente la configurazione dell'honeypot in base al traffico osservato e al livello di minaccia: se l'aggressore sfrutta le vulnerabilità del web, l'honeypot aumenta la superficie dei servizi web; se sta scansionando le porte, aprirà più porte false.attacker_behavior_trackingtiene traccia e analizza i modelli di comportamento degli aggressori all'interno della sessione honeypot: comandi eseguiti, file a cui si accede, credenziali tentate e tempo trascorso su ciascun servizio.- "adaptive_deception" regola dinamicamente le tattiche di inganno in base al profilo dell'attaccante (script kiddie, attaccante automatizzato, APT) e ai parametri di efficacia (per quanto tempo è rimasto l'aggressore, quante azioni ha eseguito).
moving_target_defenseimplementa la difesa del bersaglio mobile nel contesto degli honeypot, ruotando le configurazioni dei servizi (porte, banner, risposte) per rendere più difficile il rilevamento delle impronte digitali dell'ambiente.
13. Modulo File (File)
Il modulo file protegge dalle minacce trasmesse dai file: caricamenti dannosi, documenti con macro, PDF con JavaScript, file poliglotti, zip bomb e malware.
13.1. Carica convalida
- "secure_upload" convalida ed elabora i caricamenti di file in modo sicuro su più livelli: controlla l'estensione rispetto alla lista consentita, convalida il tipo MIME tramite byte magici, controlla la dimensione massima ed esegue la scansione del contenuto alla ricerca di malware.
validate_extensioncontrolla se l'estensione del file è nell'elenco delle estensioni consentite.validate_mimeconvalida il tipo MIME del file utilizzando il rilevamento dei byte magici (firme del formato del file nei primi byte), prevenendo lo spoofing delle estensioni (ad esempio un file.jpgche in realtà è un eseguibile).
13.2. Rilevamento delle minacce nei file
detect_polyglot_filerileva se un file contiene più firme di formati di file, indicando un attacco a file poliglotta (un file valido in due o più formati contemporaneamente, come una GIF che è anche JavaScript valido).detect_zip_bombrileva le zip bomb analizzando il rapporto di compressione e la dimensione non compressa dichiarata. Un rapporto superiore a 100:1 o una dimensione non compressa superiore a 1 GB viene contrassegnato come potenziale bomba zip.detect_office_macrorileva le macro VBA nei documenti di Office (Word.doc/.docx, Excel.xls/.xlsx, PowerPoint.ppt/.pptx) che possono eseguire codice dannoso all'apertura del documento.detect_pdf_javascriptrileva JavaScript incorporato nei file PDF che può eseguire azioni dannose come il download di malware o phishing.detect_executable_payloadrileva i payload eseguibili incorporati in file non eseguibili (ad esempio un PDF che contiene un'intestazione PE eseguibile di Windows).detect_embedded_scriptrileva gli script incorporati nei file: JavaScript in PDF, VBScript nei documenti Office, PowerShell nei file di testo e script Python nei file di dati.
13.3. Scansione malware
- "malware_scan" esegue la scansione dei file alla ricerca di malware utilizzando la corrispondenza delle firme (confronto con firme di malware conosciute) e le regole YARA (corrispondenza di modelli avanzati con condizioni complesse).
- "yara_scan" esegue la scansione dei file utilizzando le regole YARA con supporto dello spazio dei nomi per organizzare le regole per categoria (malware, exploit, sospetto, ecc.).
- "heuristic_scan" esegue un'analisi euristica per rilevare comportamenti sospetti nei file che non corrispondono a firme conosciute ma hanno caratteristiche indicative di malware (offuscamento, anti-debug, compressione).
13.4. Analisi avanzata
- "entropy_analysis" calcola l'entropia di Shannon dei dati dei file di blocco per rilevare la crittografia o la compressione. I file con entropia superiore a 7,5 bit per byte sono considerati altamente casuali (indicativi di crittografia o compressione).
- "detect_steganography" rileva la steganografia nei file di immagine utilizzando più tecniche: analisi LSB (Least Significant Bit), rilevamento dei dati aggiunti, analisi dell'entropia a blocchi e analisi dell'istogramma del colore.
detect_obfuscationrileva il contenuto offuscato nei file utilizzando più tecniche: rilevamento di stringhe base64, codifica esadecimale, concatenazione di stringhe, entropia elevata in sezioni specifiche e modelli di flusso di controllo offuscati.
13.5. Sanificazione e Quarantena
sanitize_filenamedisinfetta i nomi dei file rimuovendo i caratteri pericolosi (/,\,..,:,*,?,",<,>,|) e le sequenze di attraversamento dei percorsi.- "quarantine_file" sposta i file dannosi in una directory di quarantena con tracciamento dei metadati (motivo della quarantena, timestamp, hash del file, uploader).
sandbox_executeesegue file in un ambiente sandbox per l'analisi comportamentale, il monitoraggio: chiamate di sistema, accesso alla rete, modifica dei file e creazione di processi secondari.secure_tempfilecrea file temporanei sicuri con permessi limitati (solo lettura/scrittura da parte del proprietario) e autocancellazione opzionale alla chiusura.immutable_storage_checkcontrolla l'integrità dei file su memoria immutabile confrontando l'hash corrente con l'hash previsto.
14. Modulo aziendale
Il modulo aziendale verifica il rispetto delle norme sulla protezione dei dati e sulla sicurezza delle informazioni.
14.1. Conformità normativa
lgpd_checkverifica il rispetto della legge generale sulla protezione dei dati (LGPD, legge 13,709/2018) del Brasile: consenso del titolare, nomina del DPO (responsabile dei dati), diritti dei titolari (accesso, correzione, cancellazione, portabilità), registrazione delle operazioni di trattamento, rapporto sull'impatto sulla protezione dei dati personali e notifica degli incidenti all'ANPD.gdpr_checkverifica il rispetto del Regolamento generale sulla protezione dei dati (GDPR, Regolamento UE 2016/679): base giuridica del trattamento, nomina del DPO, minimizzazione dei dati, limitazione delle finalità, accuratezza, limitazione della conservazione, integrità e riservatezza, diritto all'oblio, portabilità dei dati e notifica delle violazioni entro 72 ore.- "hipaa_check" verifica la conformità con l'HIPAA (Health Insurance Portability and Accountability Act) degli Stati Uniti: crittografia PHI (informazioni sanitarie protette) a riposo e in transito, controlli di accesso (identificazione utente univoca, accesso di emergenza, disconnessione automatica), controlli di audit (registri di audit, controlli di integrità) e integrità dei dati PHI.
- "pci_check" verifica la conformità allo standard di sicurezza dei dati del settore delle carte di pagamento (PCI-DSS): crittografia dei dati della carta in transito e inattivi, segmentazione della rete (separazione dell'ambiente della carta), controllo degli accessi (need-to-know, ID univoci, MFA), monitoraggio della rete e dei sistemi e test regolari di sicurezza.
14.2. Report e dashboard
- "compliance_report" genera un rapporto di conformità completo dai risultati di più controlli, tra cui: riepilogo esecutivo, lacune identificate, raccomandazioni di risoluzione, sequenza temporale di conformità e punteggio per categoria.
- "realtime_security_dashboard" genera un dashboard di sicurezza in tempo reale che mostra: metriche di sicurezza (minacce rilevate, blocchi, falsi positivi), avvisi attivi, tendenze storiche e punteggio di rischio complessivo.
14.3. Audit e politica
- "audit_trail" genera una traccia di controllo immutabile da eventi di sicurezza, azioni dell'utente e modifiche ai dati, tra cui: chi ha fatto cosa, quando, da dove e quale è stato l'impatto.
- "policy_as_code" valuta e applica le politiche di sicurezza definite come codice, consentendo il controllo delle versioni, la revisione e il test automatico delle politiche di sicurezza.
14.4. Multi-tenant e multi-regione
- "tenant_isolation" controlla e applica l'isolamento dei tenant in un ambiente multi-tenant: separazione dei dati, isolamento della rete, controllo degli accessi tra tenant e prevenzione della fuga di informazioni tra tenant.
- "multi_region_security" valuta il livello di sicurezza multiregione e la conformità alla residenza dei dati: verifica che i dati provenienti da regioni specifiche rimangano nella regione, crittografia coerente tra regioni e conformità con le normative locali in ciascuna regione.
15. Modulo Integrazioni
Il modulo delle integrazioni fornisce adattatori per framework e piattaforme popolari.
15.1. Framework Web Python
- "fastapi_security_dependency" crea una dipendenza di sicurezza per FastAPI con OAuth2, convalida JWT, limitazione della velocità e protezione dell'input.
django_security_middlewarecrea middleware di sicurezza per Django con CSP, CSRF, intestazioni di sicurezza e protezione dell'input.flask_security_extensioncrea un'estensione di sicurezza per Flask con wrapper di sicurezza, protezione delle richieste e convalida dell'input.celery_security_monitorcrea un monitor di sicurezza per le attività Celery con convalida degli argomenti, limitazione della velocità per attività e registrazione di controllo.sqlalchemy_query_protectionapplica la protezione alle query SQLAlchemy con sicurezza a livello di riga, filtro dei permessi e prevenzione dell'inserimento di query.
15.2. Framework Web TypeScript
- "expressSecurityMiddleware" crea middleware di sicurezza per Express.js con protezione dell'input, limitazione della velocità, CORS, CSRF e intestazioni di sicurezza.
- "fastifySecurityMiddleware" crea un middleware di sicurezza per Fastify con hook di convalida, limitazione della velocità e protezione del carico utile.
nestjsSecurityModulecrea un modulo di sicurezza per NestJS con guardie di autenticazione, intercettatori di convalida e decoratori di autorizzazioni.- "nextjsSecurityHeaders" configura le intestazioni di sicurezza per Next.js (CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy).
15.3. Bordo e Runtime
- "cloudflareEdgeProtection" configura la protezione dei bordi su Cloudflare con regole WAF, limitazione della velocità, gestione dei bot e operatori di sicurezza personalizzati.
denoSecurityPlugincrea plugin di sicurezza per Deno con controllo delle autorizzazioni (lettura, scrittura, net, env, esecuzione) e sandboxing.bunSecurityPlugincrea plugin di sicurezza per Bun con ottimizzazione della sicurezza e controllo dell'accesso alle API di sistema.- "browserRuntimeProtection" configura la protezione runtime del browser con CSP, sandbox iframe e restrizioni API.
- "serviceWorkerSecurity" configura la sicurezza dei Service Worker con ambito limitato, autorizzazioni limitate e convalida dell'origine.
wasmSecurityRuntimecrea un runtime di sicurezza per WebAssembly con limiti di memoria (iniziale, massima, condivisa) e restrizioni sulle chiamate di sistema.
15.4. Conduttura e motore
- "async_threat_pipeline" crea una pipeline asincrona di rilevamento delle minacce con processori configurabili (convalida, rilevamento, punteggio, avvisi) e canali di output (log, metriche, webhook).
yara_realtime_enginecrea un motore di scansione YARA in tempo reale con controllo dei file (monitoraggio delle directory) e corrispondenza continua delle regole.- "ai_threat_classifier" crea un classificatore delle minacce AI utilizzando un modello addestrato e una soglia di confidenza per le decisioni automatizzate.
secure_cli_runtimecrea un runtime CLI sicuro con sanificazione dell'input, convalida degli argomenti e timeout di esecuzione.python_runtime_guardcrea una protezione runtime Python con whitelist di importazione (è possibile importare solo i moduli consentiti) e sandboxing (restrizioni di accesso al file system, alla rete e al sistema).
16. Telemetria e osservabilità
MSF integra l'osservabilità in tutte le sue operazioni, seguendo i tre pilastri dell'osservabilità: registri, metriche e tracce.
16.1. Registri strutturati
Tutti i moduli utilizzano la registrazione strutturata in formato JSON. Ogni voce di registro include:
timestamp: data e ora ISO 8601- "livello": gravità (debug, informazioni, avviso, errore, critico)
module: nome del modulo che ha generato il log- "traceId": ID di traccia OpenTelemetry per la correlazione
- "contesto": metadati specifici dell'operazione (ad esempio "rilevato", "confidenza", "gravità", "corrispondenze")
16.2. Metriche
Il registro delle metriche supporta tre tipi di metriche:
- Contatori: valori cumulativi che si incrementano solo. Esempi:
jwt_validations,xss_detections,sqli_detections,port_scan_detections,ddos_detections,malware_scans. - Gauge: valori istantanei che possono aumentare o diminuire. Esempi:
active_sessions,cache_hit_ratio. - Istogrammi: distribuzioni di valori. Esempi:
anomaly_scores,threat_scores,detection_latency_ms.
Ogni metrica può includere etichette (tag) per dimensionalità aggiuntiva, come "modulo", "severità", "rilevato", "cloud_provider".
16.3. Tracciamento distribuito
Ogni ruolo di sicurezza crea un intervallo OpenTelemetry con:
- Nome dell'operazione (es:
msf.web.detect_xss) - Attributi: parametri di input, risultato, durata
- Eventi: tappe significative durante l'esecuzione
- Stato: ok o errore con descrizione
Gli intervalli vengono esportati in backend compatibili con OpenTelemetry (Jaeger, Zipkin, AWS X-Ray, Google Cloud Trace, Azure Application Insights).
16.4. Autobus per eventi
Event Bus consente la comunicazione asincrona tra i moduli:
- Pubblicazione: qualsiasi modulo può pubblicare eventi con tipo, gravità, messaggio e metadati.
- Abbonamento: i moduli possono iscriversi a tipi specifici di eventi ed eseguire azioni quando gli eventi vengono pubblicati.
- Storia: il bus degli eventi mantiene uno storico degli ultimi N eventi per la consultazione.
- Coda messaggi non recapitati: gli eventi che non riescono a essere elaborati vengono spostati in una coda messaggi non recapitati per una successiva rielaborazione.
17. Modelli di progettazione e principi ingegneristici
17.1. Modelli utilizzati
- Singleton: per componenti dell'infrastruttura (PolicyEngine, MetricsRegistry, EventBus, CacheManager).
- Factory: per creare oggetti risultato standardizzati (DetectionResult, ValidationResult, ScanResult).
- Strategia: per algoritmi di rilevamento intercambiabili (diversi modelli di rilevamento per XSS, SQLi, ecc.).
- Osservatore:all'Event Bus, dove i moduli controllano gli eventi pubblicati da altri moduli.
- Catena di responsabilità: per pipeline di convalida in cui ogni passaggio può passare o rifiutare l'input.
- Decoratore: per aggiungere funzionalità di sicurezza alle funzioni esistenti (logging, metriche, tracciamento).
17.2. Principi di sicurezza
- Difesa in profondità: più livelli di protezione in modo che se uno fallisce, gli altri continuano a funzionare.
- Privilegio minimo: ogni funzione e modulo opera con le autorizzazioni minime necessarie.
- Fail Secure: in caso di errore interno, le funzioni restituiscono risultati che negano l'accesso (fail closed).
- Confronto sicuro: tutti i confronti segreti utilizzano il confronto in tempo costante per prevenire attacchi temporali.
- Sanificazione degli input: tutti gli input vengono trattati come inaffidabili e disinfettati prima dell'elaborazione.
- Registrazione di sicurezza: tutte le operazioni di sicurezza vengono registrate per il controllo e il rilevamento degli incidenti.
18. Conclusione
Il Master Security Framework rappresenta un approccio completo e unificato alla sicurezza delle applicazioni moderne. Con oltre 350 funzioni distribuite in 28 moduli, MSF copre l'intero spettro di minacce che le applicazioni devono affrontare oggi: dagli attacchi web tradizionali (XSS, SQLi, SSRF) alle minacce emergenti (prompt injection negli LLM, attacchi alla supply chain, fughe di container).
La doppia implementazione in Python e TypeScript consente ai team multilingue di utilizzare lo stesso set di funzionalità di sicurezza, mentre l'integrazione con OpenTelemetry, registrazione strutturata e bus di eventi garantisce che tutte le operazioni di sicurezza siano osservabili e verificabili.
I moduli di difesa attiva (anti-debug, anti-manomissione, autoriparazione) e gli honeypot adattivi aggiungono livelli di protezione proattiva che vanno oltre il rilevamento reattivo, mentre il modulo di conformità aziendale automatizza la scansione LGPD, GDPR, HIPAA e PCI-DSS.
Il framework è open source, estensibile tramite Policy Engine ed Event Bus e progettato per evolversi con il panorama delle minacce. Ogni funzione viene testata automaticamente (243 test superati), documentata con docstring e JSDoc e dotata di telemetria per le operazioni di produzione.
Riferimenti
- OWASP Top 10: https://owasp.org/www-project-top-ten/
- Quadro MITRE ATT&CK: https://attack.mitre.org/
- Quadro di sicurezza informatica del NIST: https://www.nist.gov/cyberframework
- Crittografia post-quantistica NIST: https://csrc.nist.gov/projects/post-quantum-cryptography -RFC 6238-TOTP: https://datatracker.ietf.org/doc/html/rfc6238
- RFC 7519 - JWT: https://datatracker.ietf.org/doc/html/rfc7519
- Benchmark CIS: https://www.cisecurity.org/cis-benchmarks
- LGPD (Legge 13.709/2018): https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm
- GDPR (Regolamento UE 2016/679): https://eur-lex.europa.eu/eli/reg/2016/679/oj
- HIPAA: https://www.hhs.gov/hipaa/index.html
- PCI-DSS: https://www.pcisecuritystandards.org/