{"id":1460,"date":"2021-09-24T14:18:00","date_gmt":"2021-09-24T12:18:00","guid":{"rendered":"https:\/\/brentasoft.com\/blog\/?p=1460"},"modified":"2026-06-04T07:17:26","modified_gmt":"2026-06-04T05:17:26","slug":"anomaly-detection-cybersecurity-pmi-2021","status":"publish","type":"post","link":"https:\/\/brentasoft.com\/blog\/anomaly-detection-cybersecurity-pmi-2021\/","title":{"rendered":"Anomaly detection per cybersecurity PMI: guida 2021"},"content":{"rendered":"<div class=\"tldr-box\" style=\"background:#f0f9ff;border-left:4px solid #0284c7;padding:18px 22px;margin:24px 0;border-radius:6px;\">\n<p><strong>TL;DR &mdash; Anomaly detection per cybersecurity PMI nel 2021<\/strong><\/p>\n<ul>\n<li><strong>Contesto<\/strong>: il 2021 &egrave; l&#8217;anno record per gli attacchi <em>ransomware<\/em> in Italia (Regione Lazio agosto, San Carlo settembre, Conor estate). Il <strong>SOC<\/strong> tradizionale e i <strong>SIEM<\/strong> enterprise restano fuori budget per la PMI tipo.<\/li>\n<li><strong>Cosa &egrave; anomaly detection<\/strong>: tecnica ML che individua deviazioni statistiche dalla baseline normale dei log. Tre tipi: point, contextual, collective. Riduce <strong>MTTD<\/strong> da ore a minuti.<\/li>\n<li><strong>Approcci 2021<\/strong>: statistici (z-score, IQR), unsupervised (<strong>Isolation Forest<\/strong>, <strong>One-Class SVM<\/strong>, <strong>LocalOutlierFactor<\/strong>), supervised (<strong>XGBoost<\/strong>), deep learning (<strong>Autoencoder<\/strong>, <strong>LSTM<\/strong>).<\/li>\n<li><strong>Tool 2021 per PMI<\/strong>: lato enterprise <strong>Splunk UBA<\/strong>, <strong>Elastic Security<\/strong> + <strong>Elastic ML<\/strong>, <strong>Microsoft Sentinel<\/strong>, <strong>Darktrace<\/strong>; lato open source <strong>Wazuh<\/strong>, <strong>Suricata<\/strong>, <strong>Zeek<\/strong>, <strong>Falco<\/strong>.<\/li>\n<li><strong>Costo realistico PMI<\/strong>: stack open source con <strong>Wazuh<\/strong> + <strong>Elastic ML<\/strong> partono da <strong>3.500 a 12.000 euro<\/strong> di setup pi&ugrave; 800-1.500 euro\/mese di gestione. <strong>Microsoft Sentinel<\/strong> SaaS si scala con i log ingeriti (circa 2,30 euro\/GB).<\/li>\n<li><strong>Caso reale<\/strong>: PMI veneta fintech ha portato l&#8217;<strong>MTTD<\/strong> da 8 ore a 12 minuti con un <strong>Autoencoder<\/strong> su access log, intercettando un tentativo di esfiltrazione a 30 GB prima del completamento.<\/li>\n<li><strong>Roadmap 90 giorni<\/strong>: baseline raccolta log, scelta modello, training, validazione false positive, integrazione SIEM e ticket auto-generation.<\/li>\n<\/ul>\n<\/div>\n<h2 id=\"contesto-2021\">Il contesto 2021: ransomware industriale, PMI sotto attacco<\/h2>\n<p>Il <strong>2021<\/strong> &egrave; un anno spartiacque per la <em>cybersecurity<\/em> italiana. Tra gennaio e settembre 2021 il <strong>CSIRT Italia<\/strong> e il <strong>Clusit<\/strong> hanno registrato un aumento del 24% degli attacchi gravi rispetto allo stesso periodo del 2020, con il <em>ransomware<\/em> in cima alla classifica per impatto economico. Tre episodi simbolici hanno cambiato la percezione del rischio anche per la <strong>PMI<\/strong>: il <strong>1 agosto 2021<\/strong> il data center della <strong>Regione Lazio<\/strong> &egrave; stato cifrato dal gruppo <em>RansomEXX<\/em> bloccando per giorni il sistema di prenotazione vaccinale; a <strong>fine luglio 2021<\/strong> il pastificio <strong>Conor<\/strong> ha subito un attacco con riscatto di centinaia di migliaia di euro; il <strong>13 settembre 2021<\/strong> &egrave; toccato a <strong>San Carlo<\/strong>, marchio storico delle patatine, con esfiltrazione di dati e doppia estorsione da parte del gruppo <em>Conti<\/em>.<\/p>\n<p>Il problema operativo per la <strong>PMI<\/strong> italiana &egrave; netto. Il titolare medio sotto i 250 dipendenti non ha un <strong>SOC<\/strong> (Security Operations Center) interno, non si pu&ograve; permettere una licenza enterprise di <strong>Splunk<\/strong> da 30-50k euro\/anno, e la sua sicurezza spesso si ferma a firewall perimetrale + antivirus endpoint. Quando un attacco oltrepassa il perimetro, nessuno se ne accorge prima delle 8 ore canoniche che separano la <em>kill chain<\/em> dall&#8217;impatto reale. Eppure, nel 2021 esistono tecnologie di <em>anomaly detection<\/em> basate su <strong>machine learning<\/strong> realmente accessibili: <strong>Wazuh<\/strong> &egrave; gratuito, <strong>Elastic Security<\/strong> ha tier free, <strong>Microsoft Sentinel<\/strong> si paga a consumo, <strong>scikit-learn<\/strong> mette a disposizione modelli pronti come <strong>Isolation Forest<\/strong> e <strong>LocalOutlierFactor<\/strong>.<\/p>\n<p>Questa guida risponde a quattro domande pratiche: <em>che cos&#8217;&egrave; l&#8217;anomaly detection e quanti tipi esistono?<\/em>, <em>quali tool nel 2021 sono davvero adatti a una PMI italiana?<\/em>, <em>come si imposta una baseline e si addestra il primo modello senza un PhD in matematica?<\/em>, <em>quanto costa in soldi e tempo arrivare a un <strong>MTTD<\/strong> inferiore a 30 minuti?<\/em>. Ci sono anche un caso reale di una PMI fintech veneta, lo schema <strong>HowTo<\/strong> della roadmap 90 giorni e gli errori da non commettere al primo giro.<\/p>\n<h2 id=\"cosa-e-anomaly-detection\">Cosa &egrave; anomaly detection: definizione e tre tipi di anomalie<\/h2>\n<p>L&#8217;<em>anomaly detection<\/em> (rilevamento anomalie) &egrave; una famiglia di tecniche &mdash; statistiche o basate su <strong>machine learning<\/strong> &mdash; che identifica osservazioni significativamente diverse dal comportamento atteso. Nel contesto <strong>cybersecurity<\/strong> le osservazioni sono eventi: login, connessioni di rete, chiamate API, accessi a file, comandi shell. La &#8220;normalit&agrave;&#8221; &egrave; la <em>baseline<\/em> appresa da uno storico di log puliti.<\/p>\n<p>La letteratura accademica e i playbook operativi di <strong>SOC<\/strong> moderni distinguono tre categorie di anomalie, con implicazioni diverse sul tipo di modello da usare.<\/p>\n<h3>Point anomaly (anomalia puntuale)<\/h3>\n<p>Un singolo evento devia dal pattern atteso. Esempio classico: un utente che normalmente trasferisce 10 MB al giorno fa improvvisamente un upload da 50 GB verso un IP esterno mai visto. &Egrave; il caso pi&ugrave; semplice e si gestisce con modelli univariati (z-score, IQR) o multivariati come <strong>Isolation Forest<\/strong>. La <strong>point anomaly<\/strong> &egrave; tipica per esfiltrazione dati, escalation di privilegi, brute force massivo.<\/p>\n<h3>Contextual anomaly (anomalia contestuale)<\/h3>\n<p>L&#8217;evento &egrave; &#8220;normale&#8221; in assoluto ma anomalo nel contesto. Esempio: un login da Roma alle 03:00 di domenica per un utente che si collega solo nei giorni feriali dalle 9 alle 18. Il login da Roma di per s&eacute; non &egrave; sospetto, lo &egrave; rispetto al pattern temporale dell&#8217;utente. Servono modelli che incorporano feature contestuali (ora, giorno, geolocalizzazione, device). <strong>Elastic ML<\/strong> ha job <em>population<\/em> e <em>rare<\/em> specificamente per questo. <strong>Splunk UBA<\/strong> &egrave; costruito attorno alle contextual anomaly del comportamento utente.<\/p>\n<h3>Collective anomaly (anomalia collettiva)<\/h3>\n<p>Una sequenza di eventi che presi singolarmente sono normali ma insieme formano un pattern sospetto. Esempio: 50 tentativi di login da 50 IP diversi verso 50 account diversi in 30 secondi &mdash; ogni singolo login fallito &egrave; banale, la sequenza &egrave; <em>credential stuffing<\/em>. O ancora: un attaccante che fa <em>lateral movement<\/em> con tante connessioni SMB interne, ognuna legittima ma il pattern di propagazione &egrave; anomalo. Richiede modelli sequenziali (<strong>LSTM<\/strong>, Hidden Markov Model) o algoritmi di clustering temporale.<\/p>\n<p>La distinzione &egrave; cruciale perch&eacute; ogni tipo richiede strumenti diversi. Un PoC sbagliato &egrave; quello che addestra un <strong>Isolation Forest<\/strong> per intercettare <em>credential stuffing<\/em> (problema collettivo): non funziona, e si finisce per concludere che &#8220;il ML non rileva attacchi&#8221;, quando in realt&agrave; lo strumento era sbagliato per il problema.<\/p>\n<h2 id=\"approcci-2021\">Approcci 2021: statistici, supervised, unsupervised, deep learning<\/h2>\n<p>Il panorama degli algoritmi di <em>anomaly detection<\/em> nel 2021 &egrave; maturo. Vediamo i quattro filoni con i casi d&#8217;uso tipici, partendo dal pi&ugrave; semplice.<\/p>\n<h3>Statistici classici<\/h3>\n<p>Le tecniche statistiche restano il primo step nei progetti reali. Il <em>z-score<\/em> calcola di quanto un valore si discosta dalla media in numero di deviazioni standard: oltre &plusmn;3 &egrave; comunemente considerato anomalo. L&#8217;<em>IQR<\/em> (Interquartile Range) marca come outlier i valori fuori dall&#8217;intervallo Q1 &#8211; 1,5&bull;IQR e Q3 + 1,5&bull;IQR, ed &egrave; pi&ugrave; robusto del z-score in presenza di code spesse. Per serie temporali si usa il <em>moving average + bande di Bollinger<\/em>. Pro: zero setup, computazionalmente leggeri, spiegabili al management. Contro: assumono distribuzione approssimativamente normale, non gestiscono correlazioni tra feature, esplodono in <em>false positive<\/em> su log eterogenei.<\/p>\n<h3>Supervised ML<\/h3>\n<p>Quando si ha un dataset etichettato (eventi marcati come &#8220;benigno&#8221; o &#8220;malevolo&#8221;), si addestrano classificatori. <strong>XGBoost<\/strong>, Random Forest, Gradient Boosting sono lo standard. Pro: accuracy molto alta quando l&#8217;etichettatura &egrave; corretta, modelli spiegabili con SHAP. Contro: richiedono un dataset etichettato pulito e bilanciato. Nel <strong>cybersecurity<\/strong> reale gli attacchi sono rari (1 su 10.000 eventi), quindi il dataset &egrave; sbilanciatissimo e serve <em>oversampling<\/em> (SMOTE) o <em>cost-sensitive learning<\/em>. Inoltre il modello impara solo gli attacchi visti, non quelli <em>zero-day<\/em>.<\/p>\n<h3>Unsupervised ML<\/h3>\n<p>&Egrave; l&#8217;approccio pi&ugrave; usato nella pratica <strong>SOC<\/strong>: nessuna etichetta, il modello impara la baseline dai dati normali e marca come anomalia tutto ci&ograve; che si discosta. I quattro algoritmi must-know nel 2021 sono:<\/p>\n<ul>\n<li><strong>Isolation Forest<\/strong> (Liu, Ting, Zhou 2008): costruisce alberi che isolano gli outlier con pochi split. Velocissimo, scala su milioni di righe, gestisce feature numeriche e categoriche. Disponibile in scikit-learn come <code>IsolationForest<\/code>. &Egrave; la prima scelta per un PoC PMI.<\/li>\n<li><strong>One-Class SVM<\/strong>: addestra una <em>hyperplane<\/em> che racchiude i dati normali; tutto fuori &egrave; anomalia. Buono su dataset di dimensioni medie ma scala male oltre 10k campioni. Sensibile alla scelta di kernel e nu.<\/li>\n<li><strong>LocalOutlierFactor<\/strong> (LOF): valuta la densit&agrave; locale di ogni punto rispetto ai vicini. Eccellente per anomalie locali in spazi a bassa dimensionalit&agrave;.<\/li>\n<li><strong>DBSCAN<\/strong> e <strong>HDBSCAN<\/strong>: clustering basato su densit&agrave;; i punti non assegnati a nessun cluster sono outlier.<\/li>\n<\/ul>\n<p>La libreria <strong>PyOD<\/strong> (Python Outlier Detection) sviluppata da Yue Zhao raccoglie 30+ algoritmi sotto un&#8217;API uniforme ed &egrave; ormai la scelta standard per benchmarking 2021.<\/p>\n<h3>Deep learning<\/h3>\n<p>Per problemi complessi e dataset grandi entrano in scena le reti neurali. L&#8217;<strong>Autoencoder<\/strong> &egrave; il modello pi&ugrave; usato in <em>anomaly detection<\/em>: si addestra a comprimere e ricostruire eventi normali; quando un evento &egrave; anomalo l&#8217;errore di ricostruzione &egrave; alto. Funziona benissimo su log strutturati di access (utente, ora, IP, URL, status). La <strong>LSTM<\/strong> (Long Short-Term Memory) gestisce sequenze temporali ed &egrave; lo strumento per <em>collective anomaly<\/em>: tracking di <em>kill chain<\/em>, <em>lateral movement<\/em>, command-and-control beaconing. Frameworks: <strong>TensorFlow 2.5<\/strong>, <strong>Keras<\/strong>, <strong>PyTorch 1.9<\/strong>. Pro: state-of-the-art su problemi non lineari. Contro: richiedono GPU per training, sono <em>black box<\/em> (XAI a parte), il debugging del modello pu&ograve; richiedere settimane.<\/p>\n<p>Per orientarsi su quale modello scegliere a seconda del caso d&#8217;uso, &egrave; utile partire dal panorama dei <a href=\"https:\/\/brentasoft.com\/blog\/machine-learning-pmi-casi-uso-2021\/\">casi d&#8217;uso machine learning per PMI nel 2021<\/a> che inquadra l&#8217;ecosistema lato scientifico e industriale.<\/p>\n<h2 id=\"tool-2021-enterprise\">Tool enterprise 2021: Splunk, Elastic, Sentinel, Darktrace, Vectra, Stealthwatch<\/h2>\n<p>Il segmento enterprise della <em>cybersecurity analytics<\/em> nel 2021 &egrave; dominato da sei piattaforme che includono nativamente moduli di <em>anomaly detection<\/em>. Le elenchiamo con il modello commerciale e l&#8217;idoneit&agrave; per una <strong>PMI<\/strong> con 30-250 dipendenti.<\/p>\n<h3>Splunk + Splunk UBA<\/h3>\n<p><strong>Splunk Enterprise<\/strong> &egrave; il <strong>SIEM<\/strong> enterprise per eccellenza; il modulo <strong>Splunk UBA<\/strong> (User Behavior Analytics) aggiunge profilazione comportamentale con modelli unsupervised. Splunk indicizza log di qualunque sorgente e correla eventi via il linguaggio SPL. Costo 2021: la licenza Enterprise parte da 1.800 dollari\/GB\/anno con sconti volume; un PoC realistico per PMI 50 dipendenti significa 75-150 GB\/giorno e finisce a 60-120k euro\/anno. Per la PMI media &egrave; <em>over-budget<\/em>, salvo settori regolati (banking, healthcare).<\/p>\n<h3>Elastic Security + Elastic ML<\/h3>\n<p><strong>Elastic Security<\/strong> &egrave; la suite costruita su <em>Elasticsearch 7.x<\/em>, <em>Kibana<\/em> e <em>Beats<\/em>. Include <strong>Elastic ML<\/strong> con job preconfezionati per <em>rare<\/em>, <em>high distinct count<\/em>, <em>time of week<\/em>, <em>population analysis<\/em>. Tier free supporta deployment self-hosted e Detection Engine; tier Platinum (per ML jobs) parte da 95 dollari\/nodo\/mese. Per la PMI &egrave; la scelta migliore in termini di rapporto costo\/potenza nel 2021. La <a href=\"https:\/\/brentasoft.com\/blog\/sicurezza-informatica-pmi-guida-2021\/\">guida alla sicurezza informatica per PMI 2021<\/a> dettaglia l&#8217;architettura ELK self-hosted.<\/p>\n<h3>Microsoft Sentinel<\/h3>\n<p><strong>Microsoft Sentinel<\/strong> (rinominato da Azure Sentinel a fine 2021) &egrave; il <strong>SIEM<\/strong> cloud-native di Microsoft, lanciato in GA nel 2019. Pricing a consumo: circa 2,30 euro per GB ingerito + storage. Include detection ML pre-built, <em>Fusion<\/em> per correlazione multi-stage, <em>Notebooks<\/em> Jupyter per data scientist. Vantaggio per le PMI gi&agrave; su Microsoft 365 E5: ingestione gratuita dei log Microsoft 365 (Azure AD, Office, EDR Defender). Per una PMI con 80 endpoint Microsoft 365 si pu&ograve; partire con 800-1.500 euro\/mese di Sentinel su un volume realistico di 25-40 GB\/giorno.<\/p>\n<h3>Darktrace + Darktrace Antigena<\/h3>\n<p><strong>Darktrace<\/strong> usa <em>unsupervised ML<\/em> per costruire un &#8220;pattern of life&#8221; della rete in 7 giorni e poi alertare anomalie. <strong>Darktrace Antigena<\/strong> aggiunge risposta automatica (rate limiting, blocco connessioni). Vantaggi: time-to-value bassissimo, riduce sensibilmente l&#8217;<em>alert fatigue<\/em>. Pricing opaco con quotazioni 25-80k euro\/anno per PMI. Per organizzazioni che vogliono una soluzione &#8220;black box&#8221; che gira da sola &egrave; valida.<\/p>\n<h3>Vectra AI<\/h3>\n<p><strong>Vectra AI<\/strong> &egrave; focalizzata su <em>network detection &amp; response<\/em> (NDR) con detection di <em>lateral movement<\/em>, <em>command-and-control<\/em>, <em>data exfiltration<\/em>. Modello SaaS che ingerisce metadati di rete (non payload), copre cloud AWS\/Azure\/GCP e on-prem. Pricing per host monitorato. Posizionamento simile a Darktrace ma pi&ugrave; orientata a contesti ibridi multi-cloud.<\/p>\n<h3>Cisco Stealthwatch (Secure Network Analytics)<\/h3>\n<p><strong>Cisco Stealthwatch<\/strong> (oggi rinominata <em>Secure Network Analytics<\/em>) sfrutta NetFlow\/IPFIX dagli apparati Cisco esistenti per fare profilazione comportamentale. Vantaggio per le PMI con LAN Cisco: appliance virtuale e modulo Flow Sensor che si integrano senza nuovi probe. Pricing per Flow Collector e telemetria gestita.<\/p>\n<h2 id=\"tool-2021-open-source\">Tool open source 2021: Wazuh, ELK, Suricata, Zeek, MISP, Apache Spot, Falco<\/h2>\n<p>Sul fronte open source la dotazione disponibile a costo zero (escluso staff) &egrave; sorprendentemente completa nel 2021. Un&#8217;architettura PMI realistica combina tre o quattro di questi tool.<\/p>\n<h3>Wazuh<\/h3>\n<p><strong>Wazuh<\/strong> &egrave; un fork open source di OSSEC che &egrave; diventato il <strong>XDR<\/strong>\/SIEM open source pi&ugrave; adottato. Include HIDS (Host Intrusion Detection), file integrity monitoring (FIM), rilevamento vulnerabilit&agrave;, log analysis, compliance (PCI DSS, GDPR, HIPAA), e nelle release 4.x del 2021 ha aggiunto integrazione con MITRE ATT&amp;CK e detection ML via dashboard Kibana\/OpenSearch. Architettura: agent su endpoint -> manager Wazuh -> Elasticsearch -> Kibana. Per una PMI con 50 endpoint il deployment richiede 2 VM (manager + Elastic) e 8-16 ore di setup.<\/p>\n<h3>ELK Stack + Elastic ML free<\/h3>\n<p>Lo stack <strong>Elasticsearch + Logstash + Kibana<\/strong> (ELK 7.x nel 2021) &egrave; ormai standard per log aggregation. La parte ML &egrave; nel tier a pagamento ma per anomaly detection unsupervised semplici si pu&ograve; usare <strong>Elastic Alerting<\/strong> con threshold dinamici. Combinato con <strong>Beats<\/strong> (Filebeat, Auditbeat, Packetbeat) copre l&#8217;ingestione di log da OS, app, rete.<\/p>\n<h3>Suricata IDS<\/h3>\n<p><strong>Suricata<\/strong> &egrave; un <strong>IDS<\/strong>\/IPS open source ad alte prestazioni multi-threaded, capace di ispezionare traffico fino a 10 Gbit\/s con ruleset Emerging Threats. Per la PMI &egrave; lo strumento principale per detection signature-based su perimetro. Si integra come fonte log per Wazuh o ELK. Disponibile come pacchetto in OPNsense, pfSense, Securonix.<\/p>\n<h3>Zeek (ex Bro)<\/h3>\n<p><strong>Zeek<\/strong> (rinominato da Bro a Zeek alla release 3.0 nel 2018) &egrave; un network analyzer che produce log strutturati di altissima qualit&agrave; per ogni protocollo: connessioni TCP\/UDP, DNS, HTTP, SSL\/TLS, SMB, SSH, file transfer. Non &egrave; un IDS classico, &egrave; un framework di scripting con cui scrivere policy custom. Per <em>anomaly detection<\/em> baseline su DNS tunneling, beaconing, exfiltration via DNS &egrave; lo strumento di scelta. Output Zeek + ingestione in Elastic = pipeline standard per detection avanzata.<\/p>\n<h3>MISP<\/h3>\n<p><strong>MISP<\/strong> (Malware Information Sharing Platform) &egrave; la piattaforma open source per condivisione di <strong>IOC<\/strong> (Indicators of Compromise) e <strong>TTP<\/strong> (Tactics, Techniques, Procedures) tra organizzazioni. Sviluppata da <em>CIRCL<\/em>. Si integra con SIEM via API e arricchisce le detection con threat intelligence aggiornata da community. Nel 2021 la community italiana CSIRT-Italia e CERT-AGID partecipano attivamente.<\/p>\n<h3>Apache Spot<\/h3>\n<p><strong>Apache Spot<\/strong> (originato da Open Network Insight di Intel) &egrave; un framework open source per security analytics su big data che combina flow, DNS e proxy log con modelli di topic modeling LDA per identificare anomalie. Pi&ugrave; complesso da deployare (Hadoop, Kafka, Spark) ma utile in contesti con volumi log enormi. Nel 2021 il progetto &egrave; in stato Apache Attic ma resta tecnicamente solido.<\/p>\n<h3>Falco (CNCF)<\/h3>\n<p><strong>Falco<\/strong> &egrave; il runtime security tool per <em>container<\/em> diventato progetto <strong>CNCF<\/strong> Incubating a gennaio 2020 e promosso Graduated nel 2021. Intercetta system call dei container Linux e applica regole per detection (es. <em>shell aperta dentro container<\/em>, <em>scrittura su \/etc<\/em>, <em>connessione verso IP non whitelisted<\/em>). Per una PMI con Kubernetes &egrave; il primo livello di runtime security.<\/p>\n<p style=\"margin:24px 0;\"><img decoding=\"async\" src=\"https:\/\/brentasoft.com\/blog\/wp-content\/uploads\/2021\/09\/img_w38_2_inline1.jpg\" alt=\"Codice Python detection con scikit-learn e PyOD per anomaly detection PMI 2021\" loading=\"lazy\" style=\"max-width:100%;height:auto;border-radius:6px;\" \/><\/p>\n<h2 id=\"use-case-pmi\">Use case PMI: brute force, exfiltration, lateral movement, credential stuffing, DDoS<\/h2>\n<p>I cinque casi d&#8217;uso operativi che ogni PMI dovrebbe coprire nel 2021, con il modello di anomaly detection consigliato.<\/p>\n<h3>Brute force login detection<\/h3>\n<p>Obiettivo: rilevare tentativi massivi di password su VPN, RDP, app web, SSH. Dataset: log di autenticazione (Windows Event ID 4625, sshd \/var\/log\/auth.log, log app). Approccio: <em>z-score<\/em> sul conteggio login falliti per IP\/utente in finestre di 5 minuti; alternativamente <strong>Isolation Forest<\/strong> con feature [n_failed, n_unique_users, n_unique_passwords, hour]. <strong>Wazuh<\/strong> ha regole preconfezionate.<\/p>\n<h3>Data exfiltration<\/h3>\n<p>Obiettivo: rilevare upload massivi verso destinazioni esterne. Dataset: NetFlow\/IPFIX, proxy log, cloud egress. Approccio: <strong>Autoencoder<\/strong> su feature [bytes_out, bytes_in, dst_country, dst_asn, protocol, hour, day_of_week] con baseline per utente. Soglia errore ricostruzione al 99,5\u00b0 percentile. <strong>Vectra<\/strong> e <strong>Darktrace<\/strong> hanno detection out-of-the-box.<\/p>\n<h3>Lateral movement<\/h3>\n<p>Obiettivo: rilevare propagazione dell&#8217;attaccante dentro la rete dopo compromissione iniziale. Dataset: log SMB, RDP, WinRM, autenticazione Kerberos. Approccio: graph analytics o <strong>LSTM<\/strong> su sequenze di connessioni interne. Pattern tipici: <em>pass-the-hash<\/em>, <em>over-pass-the-hash<\/em>, <em>Kerberoasting<\/em>. <strong>Zeek<\/strong> per logging strutturato di SMB\/Kerberos &egrave; abilitatore chiave.<\/p>\n<h3>Credential stuffing<\/h3>\n<p>Obiettivo: rilevare attacchi automatizzati che provano combinazioni user\/password rubate da altri leak. Dataset: log applicativi di login. Approccio: <em>collective anomaly<\/em> via clustering temporale + reputation IP. CAPTCHA + rate limiting + monitoring fail-rate per AS sorgente. Threat feed da <strong>MISP<\/strong> per IP noti.<\/p>\n<h3>DDoS sopra threshold<\/h3>\n<p>Obiettivo: rilevare attacchi volumetrici o applicativi prima che saturino i servizi. Dataset: NetFlow al perimetro, log webserver. Approccio: baseline traffico per ora del giorno con <em>moving average + IQR<\/em>; alert quando si supera la banda. Mitigazione lato CDN\/Cloudflare\/Akamai.<\/p>\n<h2 id=\"dataset-2021\">Dataset 2021 per training e benchmarking<\/h2>\n<p>Sviluppare un modello di <em>anomaly detection<\/em> richiede dati. Quattro dataset pubblici sono lo standard 2021 per training, testing e benchmark di algoritmi.<\/p>\n<h3>KDD Cup 99<\/h3>\n<p>Il <strong>KDD<\/strong> Cup 99 &egrave; il dataset storico (preso da DARPA 1998) con 4,9 milioni di connessioni di rete etichettate (normale + 4 famiglie attacco: DoS, Probe, R2L, U2R). Estremamente vecchio e con duplicati noti, ma resta il benchmark di riferimento per confrontarsi con letteratura. <strong>NSL-KDD<\/strong> &egrave; la versione ripulita (rimossi duplicati, ribilanciata).<\/p>\n<h3>CICIDS 2017<\/h3>\n<p>Il dataset <strong>CICIDS 2017<\/strong> del Canadian Institute for Cybersecurity contiene traffico realistico generato in 5 giorni con attacchi etichettati (DoS, DDoS, Heartbleed, Web Attack, Infiltration, Botnet, PortScan, Brute Force). 80+ feature estratte con CICFlowMeter. &Egrave; il dataset moderno preferito per evaluation di modelli ML su <em>network anomaly detection<\/em>.<\/p>\n<h3>UNSW-NB15<\/h3>\n<p><strong>UNSW-NB15<\/strong> dell&#8217;Universit&agrave; di New South Wales aggiunge famiglie di attacco moderne (Fuzzers, Backdoor, Exploits, Generic, Reconnaissance, Shellcode, Worms) su traffico reale catturato. 49 feature, ~2,5 milioni di record. Spesso usato in combinazione con CICIDS per modelli pi&ugrave; robusti.<\/p>\n<h3>HDFS log e BGL<\/h3>\n<p>Per log-based anomaly detection sono standard i dataset <strong>HDFS<\/strong> (Hadoop Distributed File System) di LogPAI e <strong>BGL<\/strong> (Blue Gene\/L) di Los Alamos. Utili per testare <strong>LSTM<\/strong> e <strong>Autoencoder<\/strong> sequenziali. <a href=\"https:\/\/brentasoft.com\/blog\/sentiment-analysis-nlp-customer-feedback-2021\/\">L&#8217;esperienza accumulata su NLP per sentiment analysis nel 2021<\/a> &egrave; trasferibile al log parsing, dove il template extraction usa tecniche simili.<\/p>\n<h2 id=\"stack-python-2021\">Stack Python 2021: scikit-learn, PyOD, TensorFlow, Pandas<\/h2>\n<p>Costruire un PoC di <em>anomaly detection<\/em> nel 2021 con Python &egrave; questione di 200 righe di codice. Lo stack standard &egrave; consolidato.<\/p>\n<h3>scikit-learn 0.24+<\/h3>\n<p><strong>scikit-learn<\/strong> 0.24 (uscita dicembre 2020) include implementazioni production-ready di <strong>IsolationForest<\/strong>, <strong>OneClassSVM<\/strong>, <strong>LocalOutlierFactor<\/strong>, <strong>EllipticEnvelope<\/strong>. API uniforme con <code>fit<\/code>\/<code>predict<\/code>\/<code>decision_function<\/code>. Sklearn 1.0 esce a settembre 2021 con miglioramenti su stabilit&agrave; API e nuove feature.<\/p>\n<h3>PyOD 0.9+<\/h3>\n<p><strong>PyOD<\/strong> (Python Outlier Detection) di Yue Zhao &egrave; la libreria specializzata. 30+ algoritmi sotto API unificata, da quelli classici (LOF, Isolation Forest) a moderni (DeepSVDD, AutoEncoder). Indispensabile per fare benchmarking veloce di pi&ugrave; modelli sullo stesso dataset. Documentazione molto curata e referenze accademiche.<\/p>\n<h3>TensorFlow 2.5 + Keras<\/h3>\n<p><strong>TensorFlow 2.5<\/strong> (maggio 2021) &egrave; il framework di scelta per <strong>Autoencoder<\/strong> e <strong>LSTM<\/strong>. API Keras semplifica drasticamente il setup di reti neurali. Per <em>anomaly detection<\/em> con autoencoder: input layer -&gt; bottleneck (es. 8 neuroni) -&gt; output layer, loss MSE, training su soli dati normali. PyTorch 1.9 &egrave; l&#8217;alternativa con maggiore controllo dinamico.<\/p>\n<h3>Pandas + NumPy + Joblib<\/h3>\n<p>Per pre-processing log si usa <strong>Pandas<\/strong> 1.3 per data wrangling, <strong>NumPy<\/strong> 1.20 per operazioni vettoriali, <strong>Joblib<\/strong> per parallelizzare training su pi&ugrave; CPU. Per serie temporali <strong>statsmodels<\/strong> 0.13 fornisce SARIMA, Holt-Winters, decomposizione stagionale.<\/p>\n<h3>Esempio minimale Isolation Forest in produzione<\/h3>\n<pre style=\"background:#1e293b;color:#e2e8f0;padding:18px;border-radius:6px;overflow-x:auto;font-size:13px;line-height:1.6;\"><code>from sklearn.ensemble import IsolationForest\nimport pandas as pd\nimport joblib\n\n# 1. Caricamento e feature engineering log auth\ndf = pd.read_csv(\"auth_logs.csv\")\nfeatures = df[[\"n_failed_login\", \"n_unique_user\",\n               \"hour\", \"src_asn_rep\", \"is_weekend\"]]\n\n# 2. Training su 30 giorni di log \"puliti\"\nmodel = IsolationForest(\n    n_estimators=200,\n    contamination=0.01,\n    random_state=42\n)\nmodel.fit(features)\njoblib.dump(model, \"iforest_auth.pkl\")\n\n# 3. Scoring real-time su nuovi eventi\nscores = model.decision_function(new_events)\nnew_events[\"anomaly_score\"] = scores\nalerts = new_events[scores &lt; -0.15]  # soglia tunata<\/code><\/pre>\n<p>Lo stesso pattern si applica con <strong>PyOD<\/strong> per comparare 5-10 algoritmi su un singolo dataset e scegliere il vincitore. Per chi vuole automatizzare la pipeline di estrazione log da <strong>SIEM<\/strong> verso modelli Python, l&#8217;integrazione tipica passa da <a href=\"https:\/\/brentasoft.com\/blog\/api-security-best-practice-2021\/\">API REST con autenticazione robusta<\/a> verso il <strong>SIEM<\/strong> stesso o da un connettore Kafka.<\/p>\n<p style=\"margin:24px 0;\"><img decoding=\"async\" src=\"https:\/\/brentasoft.com\/blog\/wp-content\/uploads\/2021\/09\/img_w38_2_inline2.jpg\" alt=\"Server rack con LED rosse, log aggregation per SIEM anomaly detection 2021\" loading=\"lazy\" style=\"max-width:100%;height:auto;border-radius:6px;\" \/><\/p>\n<h2 id=\"integrazione-siem-ticket\">Integrazione con SIEM esistente e ticket auto-generation<\/h2>\n<p>Un modello di detection senza integrazione operativa &egrave; un esercizio accademico. Le anomalie rilevate devono entrare nel workflow del team IT\/security via SIEM, ticketing, paging.<\/p>\n<h3>SIEM come hub<\/h3>\n<p>Il <strong>SIEM<\/strong> (Splunk, Elastic, Sentinel, Wazuh) rimane il punto di aggregazione: l&#8217;output del modello Python pubblica eventi in un indice dedicato (es. <code>ml-alerts-*<\/code> su Elastic) via API o syslog. Il SIEM applica regole di correlazione tra alert ML e altri eventi (IDS, log auth, EDR) per produrre <em>incident<\/em> consolidati. Vantaggio: visualizzazione centralizzata, retention compliance, link con threat intel da <strong>MISP<\/strong>.<\/p>\n<h3>Ticket auto-generation<\/h3>\n<p>Per la PMI il workflow tipico nel 2021 &egrave;: alert SIEM -&gt; webhook verso ticketing -&gt; assegnazione automatica per categoria. Strumenti diffusi:<\/p>\n<ul>\n<li><strong>PagerDuty<\/strong>: gestione incident con escalation e on-call schedule. Integration con Splunk, Sentinel, Elastic out-of-the-box.<\/li>\n<li><strong>OpsGenie<\/strong> (Atlassian): alternativa con integration con Jira Service Management.<\/li>\n<li><strong>Jira Service Management<\/strong>: per ticket dettagliati con SLA e workflow custom.<\/li>\n<li><strong>ServiceNow<\/strong>: per organizzazioni ITSM strutturate; spesso integrato con Splunk Phantom o IBM Resilient per orchestrazione.<\/li>\n<\/ul>\n<p>La regola d&#8217;oro &egrave;: ogni alert deve avere un <em>severity<\/em>, un <em>playbook<\/em> di risposta e un <em>responsabile<\/em> assegnato. Senza queste tre cose il sistema produce solo rumore. Una pipeline di automazione ben fatta riprende i principi di <a href=\"https:\/\/brentasoft.com\/blog\/automazione-processi-aziendali-pmi-2021\/\">automazione processi aziendali per PMI 2021<\/a> applicandoli al ciclo di vita dell&#8217;incident.<\/p>\n<h3>SOAR (Security Orchestration, Automation, Response)<\/h3>\n<p>Per organizzazioni con volumi alti di alert le piattaforme <strong>SOAR<\/strong> orchestrano risposte automatiche: isolamento endpoint via EDR, blocco IP su firewall, disabilitazione utente AD, snapshot per forensics. Soluzioni 2021: Splunk Phantom, Palo Alto Cortex XSOAR, IBM Resilient. Per la PMI con budget contenuto si possono ottenere automazioni di base con script Python attivati da webhook.<\/p>\n<h2 id=\"compliance-2021\">Compliance 2021: GDPR Art. 32, NIS Direttiva 2016\/1148, ISO 27001<\/h2>\n<p>L&#8217;<em>anomaly detection<\/em> non &egrave; solo good practice tecnica: aiuta a dimostrare conformit&agrave; a vari obblighi normativi che insistono su PMI italiane nel 2021.<\/p>\n<h3>GDPR Art. 32 &#8211; Misure tecniche e organizzative<\/h3>\n<p>Il <strong>GDPR<\/strong> all&#8217;art. 32 impone al titolare di adottare misure tecniche e organizzative adeguate al rischio per garantire riservatezza, integrit&agrave;, disponibilit&agrave; e resilienza dei sistemi. Tra le misure raccomandate dal Garante Privacy italiano: <em>monitoraggio degli accessi<\/em>, <em>log analysis<\/em>, <em>incident detection<\/em>. Un sistema di anomaly detection ben documentato &egrave; evidenza diretta di compliance, utile in caso di ispezione o audit post-breach. La <a href=\"https:\/\/brentasoft.com\/blog\/gdpr-aziendale-guida-pmi-2021\/\">guida GDPR aziendale per PMI 2021<\/a> elenca le 18 misure tecniche pi&ugrave; richieste in audit.<\/p>\n<h3>NIS Direttiva 2016\/1148 &#8211; D.Lgs. 65\/2018<\/h3>\n<p>La <strong>NIS Direttiva<\/strong> (UE 2016\/1148, recepita in Italia con il <strong>D.Lgs. 65\/2018<\/strong>) impone obblighi di sicurezza e notifica incidenti a <em>operatori di servizi essenziali<\/em> (energia, trasporti, sanit&agrave;, finanza) e a <em>fornitori di servizi digitali<\/em>. Una PMI che fornisce servizi cloud, marketplace online o motori di ricerca rientra nella categoria DSP. La <strong>NIS<\/strong> richiede misure di rilevamento incidenti e notifica al <strong>CSIRT Italia<\/strong> entro 24 ore. Anomaly detection facilita il rilevamento tempestivo. Per approfondimenti operativi vedi la <a href=\"https:\/\/brentasoft.com\/blog\/nis-direttiva-cybersecurity-2021\/\">guida NIS Direttiva cybersecurity 2021<\/a>.<\/p>\n<h3>ISO 27001:2013 e ISO 27035<\/h3>\n<p>La <strong>ISO 27001:2013<\/strong> al controllo A.12.4 &#8220;Logging and monitoring&#8221; richiede event logging, monitoring activities, protezione log, log amministratori. Lo standard <strong>ISO 27035<\/strong> (Information Security Incident Management) dettaglia il ciclo di vita dell&#8217;incident: planning, detection, assessment, response, lessons learned. Un sistema di anomaly detection fornisce evidenze concrete per certificazione ISO 27001 e per soddisfare A.12.4.<\/p>\n<h3>CSIRT Italia, CERT-AGID, GARR-CERT<\/h3>\n<p>Nel 2021 il panorama italiano della <em>incident response<\/em> &egrave; consolidato: il <strong>CSIRT Italia<\/strong> (operativo da maggio 2020 presso ACN\/DIS) &egrave; il punto nazionale di notifica per soggetti NIS; <strong>CERT-AGID<\/strong> serve la PA; <strong>GARR-CERT<\/strong> serve il mondo accademico e ricerca. Tutti pubblicano feed di IOC che si integrano via <strong>MISP<\/strong>.<\/p>\n<h2 id=\"errori-comuni\">Errori comuni: baseline sbagliata, alert fatigue, false positive ignorati<\/h2>\n<p>Cinque errori ricorrenti nei primi sei mesi di adozione di anomaly detection, raccolti da progetti PMI italiane nel 2021.<\/p>\n<h3>1. Baseline troppo corta o &#8220;sporca&#8221;<\/h3>\n<p>Addestrare il modello su 7 giorni di log &egrave; troppo poco: si perdono variazioni settimanali e mensili. Addestrare su 90 giorni che includono gi&agrave; un attacco (non noto) significa che il modello considera l&#8217;attacco &#8220;normale&#8221;. Buona prassi: 30-60 giorni di log puliti certificati, escluse finestre di anomalia note.<\/p>\n<h3>2. Alert fatigue<\/h3>\n<p>Un modello tarato male produce 500+ alert\/giorno e il team smette di guardarli. Il risultato &egrave; peggio del non avere il sistema (false sense of security). Tuning della soglia, raggruppamento alert correlati, scoring di priorit&agrave;: tutto necessario. Target realistico: 10-30 alert\/giorno di cui &gt;70% azionabili.<\/p>\n<h3>3. Ignorare i false positive<\/h3>\n<p>Marcare manualmente i FP &egrave; faticoso e nessuno lo fa. Risultato: nessun feedback per ri-tarare il modello, e nel tempo l&#8217;accuracy degrada (concept drift). Buona prassi: integrare il labeling FP\/TP dentro il ticketing e fare retraining mensile.<\/p>\n<h3>4. Modello senza spiegabilit&agrave;<\/h3>\n<p>Un alert &#8220;Autoencoder con score 0,89&#8221; non &egrave; azionabile. Il SOC analyst deve sapere <em>quali feature<\/em> hanno contribuito. SHAP, LIME o approccio shadow tree forniscono spiegazione. Per <strong>Isolation Forest<\/strong> esiste <code>IsolationForestExplainer<\/code>.<\/p>\n<h3>5. Mancanza di playbook di risposta<\/h3>\n<p>Rilevare un&#8217;anomalia &egrave; il 30% del lavoro. Il 70% &egrave; rispondere bene. Senza un playbook per ogni categoria di alert (es. &#8220;data exfiltration sospetta: isolare host, dump RAM, raccogliere log proxy\/EDR ultimi 7 giorni, notifica DPO&#8221;) la detection non porta valore concreto.<\/p>\n<h2 id=\"caso-reale\">Caso reale: PMI veneta fintech, MTTD da 8 ore a 12 minuti con Autoencoder<\/h2>\n<p>Una <strong>PMI<\/strong> fintech del Vicentino che fornisce gestione cassa e tesoreria a 400 PMI italiane ha avviato a febbraio 2021 un progetto di <em>anomaly detection<\/em> per ridurre il rischio di esfiltrazione dati. Il contesto: 35 dipendenti, 6 nel team IT (nessuno SOC analyst dedicato), regolamentazione PSD2\/Banca d&#8217;Italia. Lo stack pre-progetto era firewall Fortinet + AV Sophos + log raccolti in Wazuh ma poco analizzati.<\/p>\n<h3>Pain point iniziale<\/h3>\n<p>Una simulazione interna di marzo 2021 (penetration test commissionato) aveva mostrato che un attaccante con accesso a un endpoint impiegava in media 8 ore a esfiltrare 50 GB di dati cliente senza essere rilevato. <strong>MTTD<\/strong> = 8 ore = troppo per restare conformi alle aspettative PSD2 in caso di reale incidente.<\/p>\n<h3>Soluzione implementata<\/h3>\n<p>Architettura scelta: <strong>Wazuh<\/strong> + <strong>Elastic 7.14<\/strong> + un servizio Python custom con <strong>TensorFlow 2.5<\/strong>. Il modello: un <strong>Autoencoder<\/strong> con 5 layer (input 24 feature -&gt; 12 -&gt; 6 -&gt; 12 -&gt; 24, MSE loss) addestrato su 45 giorni di access log puliti (3,2 milioni di eventi). Feature: utente, ora, IP sorgente, ASN, dimensione upload, dimensione download, protocollo, dst country, dst port, rep IP, flag working hours, device fingerprint, conteggio rolling 1h, 24h, 7d, ratio bytes_in\/out. Output: anomaly score = errore ricostruzione normalizzato.<\/p>\n<h3>Risultato dopo 4 mesi<\/h3>\n<p>Il modello in produzione produce circa <strong>18 alert\/giorno<\/strong> con <strong>~74%<\/strong> azionabili. <strong>MTTD<\/strong> medio sceso a <strong>12 minuti<\/strong> per scenari simulati di data exfiltration. Il momento clou: a luglio 2021 il sistema ha intercettato un tentativo reale di esfiltrazione (account interno compromesso con phishing): l&#8217;<strong>Autoencoder<\/strong> ha alertato alla terza connessione anomala verso un IP romeno mai visto, con upload di 1,2 GB su un totale stimato di 30 GB. Il team IT ha isolato l&#8217;endpoint, revocato credenziali, notificato DPO e CSIRT, completando contenimento in 38 minuti. Senza il sistema, l&#8217;attaccante avrebbe completato l&#8217;esfiltrazione di 30 GB di dati cliente.<\/p>\n<h3>Investimento e ROI<\/h3>\n<p>Setup totale: <strong>4.800 euro<\/strong> di consulenza esterna per architettura e training modello + 22 giornate interne IT. Costo run rate: 380 euro\/mese (cloud + 1 manday\/mese manutenzione). ROI calcolato sulla riduzione del rischio: una sola violazione evitata con esfiltrazione 30 GB di dati cliente avrebbe esposto la PMI a sanzioni GDPR fino al 2% del fatturato (circa <strong>180.000 euro<\/strong>) pi&ugrave; danno reputazionale incalcolabile. Payback effettivo: meno di 6 mesi.<\/p>\n<p style=\"margin:24px 0;\"><img decoding=\"async\" src=\"https:\/\/brentasoft.com\/blog\/wp-content\/uploads\/2021\/09\/img_w38_2_inline3.jpg\" alt=\"Riunione incident response team durante adozione anomaly detection PMI 2021\" loading=\"lazy\" style=\"max-width:100%;height:auto;border-radius:6px;\" \/><\/p>\n<div style=\"background:#fefce8;border-left:4px solid #ca8a04;padding:18px 22px;margin:24px 0;border-radius:6px;\">\n<p><strong>HowTo: implementare anomaly detection in una PMI in 90 giorni<\/strong><\/p>\n<ol>\n<li><strong>Step 1 (giorni 1-15) &mdash; Raccolta baseline e inventario log<\/strong>: mappare sorgenti log (firewall, AD, server, endpoint, app), centralizzare su <strong>Wazuh<\/strong> o <strong>Elastic<\/strong>, raccogliere 30-45 giorni di storico pulito.<\/li>\n<li><strong>Step 2 (giorni 16-35) &mdash; Selezione modello e training PoC<\/strong>: scegliere 2-3 algoritmi (<strong>Isolation Forest<\/strong>, <strong>LocalOutlierFactor<\/strong>, <strong>Autoencoder<\/strong>), train su dataset baseline, validare con simulazioni red team interne.<\/li>\n<li><strong>Step 3 (giorni 36-55) &mdash; Tuning soglie e riduzione false positive<\/strong>: portare alert\/giorno sotto 30, ottenere &gt;65% azionabilit&agrave;, definire feature importanti con SHAP.<\/li>\n<li><strong>Step 4 (giorni 56-75) &mdash; Integrazione SIEM e ticket auto-generation<\/strong>: webhook verso <strong>PagerDuty<\/strong> o <strong>OpsGenie<\/strong>, severity mapping, playbook per ogni categoria.<\/li>\n<li><strong>Step 5 (giorni 76-90) &mdash; Documentazione, retraining mensile, audit<\/strong>: scrivere policy ISO 27001 compliant, definire processo retraining, condurre tabletop exercise.<\/li>\n<\/ol>\n<\/div>\n<h2 id=\"roadmap-90-giorni\">Roadmap operativa 90 giorni: dalla baseline al primo alert reale<\/h2>\n<p>La traduzione operativa della checklist HowTo per una <strong>PMI<\/strong> tipica 50-150 dipendenti.<\/p>\n<h3>Mese 1 (giorni 1-30): foundation<\/h3>\n<p>Settimana 1: assessment sorgenti log (Active Directory, server Windows\/Linux, firewall Fortinet\/Sophos\/SonicWall, switch, app web, endpoint). Settimana 2: deploy <strong>Wazuh<\/strong> manager + agent su tutti i server e 80% degli endpoint. Settimana 3: configurazione <strong>Suricata<\/strong> al perimetro + <strong>Zeek<\/strong> su SPAN port per network metadata. Settimana 4: 7 giorni di raccolta log + verifica completezza, hash di integrit&agrave;, retention 90 giorni.<\/p>\n<h3>Mese 2 (giorni 31-60): modeling<\/h3>\n<p>Settimana 5: data exploration con Jupyter, identificazione feature, pulizia dataset, esclusione finestre note di manutenzione\/test. Settimana 6: training di <strong>Isolation Forest<\/strong>, <strong>LOF<\/strong>, <strong>One-Class SVM<\/strong> su access log; benchmark via <strong>PyOD<\/strong>. Settimana 7: training <strong>Autoencoder<\/strong> TensorFlow 2.5 con architettura 24-12-6-12-24. Settimana 8: red team interno con scenari brute force, data exfiltration sintetica, lateral movement; misura recall e false positive rate.<\/p>\n<h3>Mese 3 (giorni 61-90): operativo<\/h3>\n<p>Settimana 9: integrazione output modello con <strong>Elastic<\/strong> via Kafka\/HTTP API, dashboard Kibana dedicata. Settimana 10: webhook verso ticketing (PagerDuty\/Jira), severity mapping, definizione 5 playbook per le categorie di alert principali. Settimana 11: tabletop exercise con team IT, retest scenari, calibrazione soglie. Settimana 12: documentazione formale per audit ISO 27001 \/ NIS, training team, kickoff retraining mensile.<\/p>\n<h3>KPI di successo<\/h3>\n<ul>\n<li><strong>MTTD<\/strong> &lt; 30 minuti su scenari simulati<\/li>\n<li><strong>MTTR<\/strong> &lt; 2 ore per incident di severit&agrave; alta<\/li>\n<li>Alert volume &lt; 30\/giorno con &gt; 65% azionabili<\/li>\n<li>False positive rate &lt; 25% dopo tuning<\/li>\n<li>Coverage MITRE ATT&amp;CK &gt; 40% delle tecniche T1xxx pi&ugrave; rilevanti per il settore<\/li>\n<\/ul>\n<p>La maturit&agrave; ML in produzione richiede infrastruttura adeguata: se il piano cloud non &egrave; ancora chiaro, vedi la <a href=\"https:\/\/brentasoft.com\/blog\/cloud-aziendale-pmi-vantaggi-svantaggi-2021\/\">guida cloud aziendale per PMI 2021<\/a>.<\/p>\n<h2 id=\"faq\">FAQ &mdash; Domande frequenti su anomaly detection cybersecurity PMI<\/h2>\n<h3>Quanto costa avviare un sistema di anomaly detection per una PMI nel 2021?<\/h3>\n<p>Con uno stack open source (<strong>Wazuh<\/strong> + <strong>Elastic 7.x<\/strong> tier free + script Python custom) il setup parte da <strong>3.500 a 12.000 euro<\/strong> di consulenza\/sviluppo + 600-1.500 euro\/mese di gestione (cloud + manutenzione). Con <strong>Microsoft Sentinel<\/strong> SaaS si paga a consumo: per PMI 50-100 endpoint il TCO si attesta intorno a 1.000-2.000 euro\/mese.<\/p>\n<h3>Serve avere un data scientist in azienda?<\/h3>\n<p>No nel 2021 per il livello PoC e prima produzione. <strong>Wazuh<\/strong>, <strong>Elastic ML<\/strong> e <strong>Microsoft Sentinel<\/strong> hanno modelli pre-confezionati che non richiedono coding ML. Per modelli custom <strong>Autoencoder<\/strong> o <strong>LSTM<\/strong> serve un consulente esterno per 15-25 giornate, sufficienti per avviare il sistema e formare un IT specialist interno alla manutenzione.<\/p>\n<h3>L&#8217;anomaly detection sostituisce antivirus, firewall e EDR?<\/h3>\n<p>No, si affianca. L&#8217;<em>anomaly detection<\/em> aggiunge un livello di rilevamento comportamentale che intercetta attacchi nuovi (zero-day) e minacce interne che le firme antivirus non vedono. Antivirus, firewall, <strong>EDR<\/strong> restano la prima linea di difesa basata su signature e regole; il ML rileva l&#8217;inatteso.<\/p>\n<h3>Quanti false positive sono accettabili?<\/h3>\n<p>Target realistico nel primo trimestre: &lt; 30 alert\/giorno con il 65-75% azionabili. Dopo 3-6 mesi di tuning si pu&ograve; arrivare a 10-15 alert\/giorno con il 75-85% azionabili. Sopra il 25-30% di false positive il team perde fiducia nel sistema (<em>alert fatigue<\/em>).<\/p>\n<h3>Posso usare l&#8217;anomaly detection per dimostrare conformit&agrave; GDPR?<\/h3>\n<p>S&igrave;. L&#8217;art. 32 <strong>GDPR<\/strong> impone misure tecniche adeguate al rischio. Un sistema documentato di anomaly detection &egrave; evidenza concreta di &#8220;misura tecnica&#8221; da esibire in caso di audit Garante Privacy o nel quadro della valutazione d&#8217;impatto (DPIA). Stesso ragionamento per <strong>ISO 27001:2013<\/strong> controllo A.12.4 e per la <strong>NIS Direttiva<\/strong> per soggetti DSP.<\/p>\n<h3>Quale algoritmo scegliere per partire?<\/h3>\n<p>Nel 2021 la prima scelta per un PoC PMI &egrave; <strong>Isolation Forest<\/strong> in scikit-learn: addestramento veloce, gestisce milioni di righe, parametri minimi da tarare, robust ai dati rumorosi. Si passa a <strong>Autoencoder<\/strong> TensorFlow quando si hanno &gt; 1 milione di eventi\/giorno e si vogliono catturare correlazioni non lineari complesse.<\/p>\n<h3>Cosa fare se l&#8217;attaccante &egrave; gi&agrave; nella baseline?<\/h3>\n<p>Se il dataset di training contiene attivit&agrave; dell&#8217;attaccante non rilevata, il modello la considerer&agrave; &#8220;normale&#8221;. Mitigazioni: confrontare la baseline con feed di threat intelligence (<strong>MISP<\/strong>, <strong>CERT-AGID<\/strong>), cercare IOC noti nello storico, eseguire un assessment di compromissione (compromise assessment) prima di certificare la baseline come pulita.<\/p>\n<div style=\"background:#ecfdf5;border-left:4px solid #10b981;padding:22px 26px;margin:32px 0;border-radius:6px;\">\n<h3 style=\"margin-top:0;color:#065f46;\">Vuoi proteggere la tua PMI con anomaly detection nel 2021?<\/h3>\n<p>Brentasoft progetta architetture di <em>security monitoring<\/em> e <em>anomaly detection<\/em> su misura per PMI italiane: stack open source (<strong>Wazuh<\/strong> + <strong>Elastic<\/strong> + Python ML) o ibridi con <strong>Microsoft Sentinel<\/strong>, integrazione con SIEM esistenti, formazione team IT, supporto manutenzione e retraining modelli.<\/p>\n<p>Esplora le nostre <a href=\"https:\/\/brentasoft.com\/soluzioni\/automazione.php\">soluzioni di automazione<\/a> dedicate ai workflow IT\/security e ai <a href=\"https:\/\/brentasoft.com\/soluzioni\/gestionali-personalizzati.php\">gestionali personalizzati<\/a> con moduli compliance.<\/p>\n<p style=\"text-align:center;margin-bottom:0;\">\n<a href=\"https:\/\/brentasoft.com\/preventivatore.php\" style=\"display:inline-block;background:#10b981;color:#fff;padding:12px 28px;border-radius:6px;text-decoration:none;font-weight:600;\">Richiedi il preventivo per il tuo progetto cybersecurity &rarr;<\/a>\n<\/p>\n<\/div>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\"@type\":\"Question\",\"name\":\"Quanto costa avviare un sistema di anomaly detection per una PMI nel 2021?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Con stack open source Wazuh + Elastic free + Python custom il setup parte da 3.500 a 12.000 euro pi 600-1.500 euro\/mese di gestione. Microsoft Sentinel SaaS si paga a consumo: per PMI 50-100 endpoint il TCO si attesta 1.000-2.000 euro\/mese.\"}},\n    {\"@type\":\"Question\",\"name\":\"Serve avere un data scientist in azienda?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No nel 2021 per livello PoC e prima produzione. Wazuh, Elastic ML e Microsoft Sentinel hanno modelli pre-confezionati. Per modelli custom Autoencoder o LSTM serve un consulente esterno 15-25 giornate sufficienti per avviare il sistema.\"}},\n    {\"@type\":\"Question\",\"name\":\"L'anomaly detection sostituisce antivirus, firewall e EDR?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No, si affianca. L'anomaly detection aggiunge un livello di rilevamento comportamentale che intercetta zero-day e minacce interne che le firme non vedono. Antivirus, firewall ed EDR restano la prima linea di difesa basata su signature.\"}},\n    {\"@type\":\"Question\",\"name\":\"Quanti false positive sono accettabili?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Target realistico nel primo trimestre: meno di 30 alert\/giorno con 65-75% azionabili. Dopo 3-6 mesi di tuning si arriva a 10-15 alert\/giorno con 75-85% azionabili.\"}},\n    {\"@type\":\"Question\",\"name\":\"Posso usare l'anomaly detection per dimostrare conformit GDPR?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Si. L'art. 32 GDPR impone misure tecniche adeguate al rischio. Un sistema documentato di anomaly detection e evidenza concreta da esibire in caso di audit Garante Privacy o nella DPIA. Stesso ragionamento per ISO 27001 A.12.4 e NIS Direttiva.\"}},\n    {\"@type\":\"Question\",\"name\":\"Quale algoritmo scegliere per partire?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Nel 2021 la prima scelta per un PoC PMI e Isolation Forest in scikit-learn: addestramento veloce, gestisce milioni di righe, parametri minimi. Si passa ad Autoencoder TensorFlow quando si hanno oltre 1 milione di eventi\/giorno.\"}},\n    {\"@type\":\"Question\",\"name\":\"Cosa fare se l'attaccante e gia nella baseline?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Se il dataset di training contiene attivita dell'attaccante non rilevata il modello la considerera normale. Mitigazioni: confrontare baseline con threat intelligence MISP CERT-AGID, cercare IOC noti nello storico, eseguire compromise assessment prima di certificare baseline pulita.\"}}\n  ]\n}\n<\/script><\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"HowTo\",\n  \"name\": \"Implementare anomaly detection per cybersecurity in una PMI in 90 giorni\",\n  \"description\": \"Roadmap operativa in 5 step per portare una PMI italiana da zero monitoring a sistema anomaly detection produttivo con MTTD inferiore a 30 minuti\",\n  \"totalTime\": \"P90D\",\n  \"step\": [\n    {\"@type\":\"HowToStep\",\"position\":1,\"name\":\"Raccolta baseline e inventario log\",\"text\":\"Mappare sorgenti log (firewall, AD, server, endpoint, app), centralizzare su Wazuh o Elastic, raccogliere 30-45 giorni di storico pulito.\"},\n    {\"@type\":\"HowToStep\",\"position\":2,\"name\":\"Selezione modello e training PoC\",\"text\":\"Scegliere 2-3 algoritmi (Isolation Forest, LocalOutlierFactor, Autoencoder), train su dataset baseline, validare con simulazioni red team interne.\"},\n    {\"@type\":\"HowToStep\",\"position\":3,\"name\":\"Tuning soglie e riduzione false positive\",\"text\":\"Portare alert\/giorno sotto 30, ottenere oltre 65% azionabili, definire feature importanti con SHAP.\"},\n    {\"@type\":\"HowToStep\",\"position\":4,\"name\":\"Integrazione SIEM e ticket auto-generation\",\"text\":\"Webhook verso PagerDuty o OpsGenie, severity mapping, playbook per ogni categoria di alert.\"},\n    {\"@type\":\"HowToStep\",\"position\":5,\"name\":\"Documentazione, retraining mensile, audit\",\"text\":\"Scrivere policy ISO 27001 compliant, definire processo retraining mensile, condurre tabletop exercise.\"}\n  ]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Guida 2021 all&#8217;anomaly detection ML per cybersecurity PMI: tool open source ed enterprise (Wazuh, Elastic, Splunk, Sentinel), algoritmi (Isolation Forest, Autoencoder, LSTM), caso reale fintech con MTTD da 8 ore a 12 minuti, roadmap 90 giorni.<\/p>\n","protected":false},"author":2,"featured_media":1461,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"Anomaly detection cybersecurity PMI 2021 | Brentasoft","_seopress_titles_desc":"Guida 2021 all'anomaly detection ML per cybersecurity PMI italiane: Wazuh, Elastic, Sentinel, Isolation Forest, Autoencoder e roadmap 90 giorni.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"Anomaly detection cybersecurity PMI 2021 | Brentasoft","_seopress_social_fb_desc":"Guida 2021 all'anomaly detection ML per cybersecurity PMI italiane: Wazuh, Elastic, Sentinel, Isolation Forest, Autoencoder e roadmap 90 giorni.","_seopress_social_fb_img":"https:\/\/brentasoft.com\/blog\/wp-content\/uploads\/2021\/09\/img_w38_2_featured.jpg","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"Anomaly detection cybersecurity PMI 2021 | Brentasoft","_seopress_social_twitter_desc":"Guida 2021 all'anomaly detection ML per cybersecurity PMI italiane: Wazuh, Elastic, Sentinel, Isolation Forest, Autoencoder e roadmap 90 giorni.","_seopress_social_twitter_img":"https:\/\/brentasoft.com\/blog\/wp-content\/uploads\/2021\/09\/img_w38_2_featured.jpg","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"anomaly detection pmi 2021,cybersecurity pmi 2021,wazuh elastic sentinel,isolation forest autoencoder,siem pmi","footnotes":""},"categories":[4],"tags":[],"class_list":["post-1460","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-intelligenza-artificiale"],"_links":{"self":[{"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/posts\/1460","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/comments?post=1460"}],"version-history":[{"count":0,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/posts\/1460\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/media\/1461"}],"wp:attachment":[{"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/media?parent=1460"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/categories?post=1460"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/tags?post=1460"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}