ISACA Journal
Volume 1, 2,018 

Translated Articles 

Monitoraggio Web: dai big data all’analisi di small data tramite OSINT—Un’implementazione pratica ed economica mediante web crawler 

Paolo Gasperi, CISM, CSIRT Transits First-I, ISO 27001, Luigi Sbriz, CISM, CRISC, ISO 27001, ITILv3 and Marco Tomazzoni, CSIRT Transits First-I   

Ogni organizzazione dovrebbe sapere quali informazioni riguardanti le sue attività stanno “girando su Internet”, per affrontare con azioni concrete uno scenario di potenziale minaccia per l’organizzazione stessa o per cogliere un vantaggio competitivo per le proprie attività. Non è interessante solo monitorare il cosiddetto “sentiment”,1 ma anche, ad esempio, informazioni su vendita non autorizzata di prodotti, presenza di informazioni classificate come riservate, uso non autorizzato di nome e marchio, contraffazione, ecc...

L’identificazione e la valutazione di rischi specifici derivanti da informazioni liberamente circolanti in Internet è spesso insoddisfacente, inefficace e costosa. Monitorare il web significa lavorare direttamente sui “big data” e ciò comporta molteplici problemi: troppe informazioni da gestire, limitata disponibilità di informazioni per focalizzare la ricerca, lavoro manuale ripetitivo e frustrante, difficoltà nell’ottenere informazioni in tempo e nell’assegnare priorità ai risultati ottenuti.

Da notare che il processo di web monitoring ha disponibili servizi mirati su nicchie di dati, che migliorano la qualità delle ricerche rispetto ai motori di ricerca generalisti. Esistono motori di ricerca specializzati, portali e social network dotati di propria ricerca interna e di aggregatori. Con il loro uso si può passare da un processo di ricerca manuale generalizzato (costoso, inefficiente, oscuro, con ritardo...) ad un servizio più focalizzato (automatico, economico, intelligente, in tempo ...) utile alla scoperta di rischi esterni per gli obiettivi di business.2 I dati risultanti, opportunamente filtrati, aggregati, resi ordinabili, sono quindi focalizzati, sono analizzabili con facilità e qualitativamente migliori.

A dimostrazione di tutto ciò, questo articolo descrive un progetto di web-monitoring, sostenibile e adeguato alle dimensioni degli scopi del monitoraggio, realizzato ed implementato nel 2016 presso una azienda del settore automotive con una ampia articolazione sia in termini di prodotti trattati che di distribuzione geografica. L’identificazione di informazioni potenzialmente rilevanti per il business su Internet si è dimostrata in questo caso inefficace se gestita puramente con ricerche manuali.

I tre passi per la definizione del modello di web-monitoring

Il primo passo per costruire un processo sistematico di ricerca di tutte le informazioni in rete potenzialmente interessanti per l’organizzazione (web-monitoring) è stabilire il contesto (settore e tipo di attività, valori, problemi, necessità, obiettivi, aspettative, ecc.) dell’organizzazione stessa. A seguito dell’analisi del contesto e delle problematiche l’organizzazione può preparare un elenco di rischi Internet.3 Ciò è utile per identificare e isolare gli elenchi delle informazioni chiave, che saranno la base di definizione delle regole di ricerca.

Il secondo passo consiste nel comprendere quali tipi di archivi pubblici di informazioni su Internet (notizie, forum, e-commerce, pagine web, database, servizi di condivisione di file, messaggi, social media ...) sono utili ai fini dei nostri obiettivi di business. Per chiarire, abbiamo bisogno di individuare servizi Open Source INTelligence (OSINT)4, 5 utili per migliorare il recupero delle informazioni.

Il terzo e ultimo passo è l’analisi sistematica dei dati per estrarre un insieme di informazioni più ridotto e quindi umanamente gestibile. La tecnologia è potente nel prendere decisioni, ma un po’ di conoscenza umana sulle finalità del business riduce drasticamente i falsi positivi, cioè dati raccolti che non rappresentano un problema per l’organizzazione e la cui conoscenza non le porta alcun vantaggio. Per questo motivo è necessario utilizzare un processo organizzativo che coinvolga sia la tecnologia che le risorse umane.

In sintesi, questo processo di web-monitoring:

  • identifica le parole chiave e le regole di ricerca sulla base dalla conoscenza dei fini interni del business, dalle sue questioni, esigenze e aspettative;
  • estrae dei set di dati specializzati dai servizi OSINT, sufficientemente piccoli da essere trattati con metodi tradizionali, rispetto al caos totale del “big data”;
  • riduce ulteriormente la dimensione dei set di dati e migliora la qualità dei risultati con l’utilizzo combinato di lavoro umano e di algoritmi di ranking.

Lo strato superiore dei risultati ottenuti, ordinato secondo il ranking voluto, rappresenta la parte delle informazioni utili al top management per comprendere l’esposizione ai rischi o le potenziali opportunità per l’azienda.

Schema del processo di web-monitoring Il processo di web-monitoring è sinteticamente rappresentato6 in figura 1.

Responsabile del processo deve essere un team di livello C (executive committee) che svolge tre funzioni principali:

  • definisce per quali asset aziendali la protezione può beneficiare del web-monitoring proposto. Per esempio, nel caso di un asset costituito dalla rete ufficiale di vendita di parti di ricambio, esiste il rischio di comparsa di distributori non autorizzati (magari con prodotti contraffatti) e conseguentemente fornisce istruzioni al team operativo sui prodotti da focalizzare. Quest’ultimo inserisce di conseguenza i nomi di alcuni prodotti e loro specificità nelle liste dei termini di ricerca (nel criterio 11, cfr. figura 3) e nella colonna “Osint sources” alcuni portali di vendita on-line che considera degni di attenzione.
  • guida un team operativo, responsabile della gestione del sistema sia con feedback sugli avvisi ricevuti (dal sistema) che tramite allineamento continuo al contesto aziendale.
  • agisce, dopo l’analisi degli avvisi ricevuti, al fine di ridurre il livello di rischio oppure di coglierne le opportunità.

Il team operativo, costituito da persone con vasta esperienza nei settori identificati per le ricerche, utilizza le indicazioni del executive committee per costruire una solida identità (su Internet) del business allineata agli obiettivi aziendali. Un insieme ben strutturato di liste dinamiche di parole chiave, con pesi e con regole di correlazione, rappresenta un modello virtuale dell’impresa e dei principali fattori di rischio, minacce o opportunità (utilizzando un’analisi strengths-weaknesses-opportunitiesthreats [SWOT]7 per focalizzare i fattori esterni). I membri del team devono mantenere aggiornati gli elenchi delle parole chiave e i loro pesi allineandoli alle esigenze aziendali, e dovranno adeguare (manualmente) la classificazione dei risultati se non pertinente con la loro conoscenza.

Struttura logica del modello di ricerca

La rappresentazione schematica del sistema di web-monitoring tramite le sue funzioni principali come mostrato in figura 2 consente una migliore comprensione del suo funzionamento logico complessivo.

La sequenza delle tre diverse fasi operative fornisce il flusso delle operazioni principali nel sistema:

  1. ricerca: un insieme di web crawler8, 9 (chiamati anche spider), guidati dalle parole chiave e dalle relative regole di correlazione, scansiona Internet per alimentare il dataset (detto spider lair) specifico della ricerca. Ogni crawler web è specializzato in ricerche all’interno di una singola sorgente dati OSINT. I risultati della ricerca vengono salvati nello spider lair con una frequenza definita dal team operativo. È possibile lanciare un web crawler molte volte, ad esempio una per ogni categoria di rischio.
  2. normalizzazione: i dataset delle ricerche, correttamente filtrati, devono alimentare un unico dataset costituito da tutti i risultati (il result dataset). I semplici filtri collegati alle categorie di rischio guidano l’estrazione dei dati. Una fase (Extraction, Transformation, Transportation & Loading pipeline, in breve: ETTL pipeline) di trasformazione in un record di metadati precede il trasferimento del record stesso nel result dataset, o il suo aggiornamento se il record è già presente.
  3. priorizzazione: il result dataset contiene l’unione di tutti i record raccolti nei dataset di ricerca. La valutazione dei dati compiuta dal team operativo e l’algoritmo di ranking assegnano un punteggio a ciascun record. L’algoritmo utilizza la valutazione manuale e una politica di invecchiamento per migliorare la qualità della sua classifica. Solo i record di primo livello (punteggio significativo) ricevono i diritti di rimanere nello strato di presentazione (base dati visibile all’utente finale), la parte nascosta del data base contiene tutti i rimanenti record retrocessi.

Un processo pianificato estrae il riepilogo dei top-n record per ogni categoria di rischio ed invia una email ai membri del team esecutivo. Essi devono controllare ogni segnalazione ed agire di conseguenza informando il team operativo su ogni decisione presa. Il team operativo pianifica i cambiamenti e li implementa ripetendo in conseguenza il ciclo delle operazioni.

Ricerca tramite web crawler

Una particolarità della ricerca descritta finora è la necessità di web crawler di tipo “focused”, cioè orientati ciascuno ad uno specifico obiettivo su Internet. Una piattaforma open source che soddisfa questi criteri è Scrapy.10, 11 In questo ambiente i focused crawler, detti anche spider, sono scritti in Python12, 13 ed i risultati memorizzati su database MySQL.14

La programmazione di una quindicina di spiders diversi ha evidenziato come la piattaforma scelta consenta di creare nuovi spider con relativa facilità. Per quanto riguarda la frequenza di utilizzo degli spider, l’analisi di siti per la ricerca di eventuali vendite non autorizzate ha mostrato come un range di 7-10 giorni sia ottimale, anche in considerazione del fatto che parte della analisi dei dati ricavati avviene comunque manualmente.

Ogni singola sorgente OSINT viene esplorata da uno o più spider omogenei tra loro ma con propri parametri di funzionamento e regole indipendenti. Ogni sorgente viene analizzata in base alle regole di ricerca e di frequenza assegnate. I risultati sono collegamenti alle pagine che soddisfano i criteri di ricerca più alcuni dati aggiuntivi.

Questi dati variano a seconda del tipo di fonte e dei criteri di ricerca, ma si cerca di recuperare almeno URL, data, autore e di estrarre il testo ripulito dai tag HTML. Per facilità di fruizione da parte del team operativo, viene scaricato anche uno screenshot della pagina trovata.

I dati raccolti da ogni spider vengono immediatamente controllati ed eventualmente memorizzati nel database dello spider. I record sono scartati se sono duplicati oppure se provengono da siti Internet considerati sicuri (p.e. siti aziendali, siti di fiducia, …) perché considerati privi di potenziale rischio. Ogni gruppo formato da sorgente OSINT, spider ed relativo database è un oggetto distinto (modulo) e questo conferisce robustezza al sistema. Un malfunzionamento ad uno di questi non si propaga ma eventualmente compromette solo l’aggiornamento locale.

Durante la raccolta dati lo spider attribuisce uno “score” provvisorio ad ogni pagina trovata, basandosi sul tipo e numero di termini trovati nella pagina e sui loro “pesi”. Lo score verrà poi trasformato nel vero e proprio ranking della pagina durante la normalizzazione-trasferimento nella base dati dei risultati, con un addizionale peso derivato dallo spider, dalla sorgente dati e della categoria di ricerca.

La normalizzazione ed il trasferimento dei dati al result dataset è un processo batch eseguito al termine della sessione di ricerca dello spider. È basato su stored procedure diverse per ogni spider.

Criteri di ricerca

Il metodo adottato per descrivere i criteri di ricerca utilizza una coppia di dati: una categoria di rischio ed una sorgente OSINT. La tabella di figura 3 chiarisce il concetto.

Una categoria di rischio ed una sorgente OSINT assieme identificano un criterio di ricerca. La categoria di rischio definisce operativamente la tipologia di filtraggio che sarà adottata; invece la sorgente OSINT identifica dove in Internet verrà effettuata la ricerca.

Il filtraggio dati è basato su liste dinamiche riutilizzabili tra i vari criteri di ricerca. La regola di ricerca cattura le pagine web corrispondenti all’identità del business su Internet ma solo in presenza di ulteriori parole chiave di inclusione ed in assenza di specifiche parole chiave di esclusione. Un peso sul ciascun record è infine necessario al buon funzionamento dell’algoritmo di ranking.

Il metodo per definire la regola richiede di preparare un’espressione logica che combini liste dinamiche di parole chiave secondo la seguente procedura. Una lista è rappresentata da una sequenza di righe di una tabella del database con un peso per ciascuna di esse. Le parole dentro una singola cella della tabella vengono utilizzate collegandole tra loro con un OR logico; le colonne con un AND logico (eventualmente in negazione), mentre le righe vengono sempre utilizzate in OR logico tra loro.

Interfaccia utente

Il sistema fornisce come output tutte le pagine Internet aventi i contenuti corrispondenti alle regole di selezione prescelte, classificate ed ordinate tramite un algoritmo automatico. I membri del team possono modificare manualmente la classificazione di qualsiasi pagina usando la propria conoscenza e esperienza. Questa classificazione manuale influenza l’algoritmo di ranking e quindi l’ordinamento, la sua propagazione per affinità ed assieme al mantenimento della storia delle modifiche influisce su qualsiasi ulteriore elaborazione dei dati, migliorando la qualità degli avvisi al comitato esecutivo.

Per un rapido rilascio dell’interfaccia dati è stato adottato Drupal, un content management system (CMS) open source. Il database del CMS (presentation layer) e quello dei dati raccolti ed elaborati (data layer) sono stati mantenuti ben distinti per permettere, se è il caso, di utilizzare altri tipi di interfaccia utente.

Il CMS legge i dati dal result dataset e ne gestisce l’accesso, la visualizzazione e la gestione ai membri del team operativo. Un conveniente insieme di parametri e filtri riduce l’insieme finale dei dati presentati. È possibile filtrare per categoria di rischio, criteri di ricerca, gravità, reparto, sorgente, ecc., e cambiare gli ordinamenti delle colonne. Come risultato viene visualizzata una semplice tabella (figura 4) di dati formattati.

Come passo ulteriore è possibile espandere ogni riga (equivalente ad una pagina web) nei suoi dettagli (figura 5) e nel caso accedere anche alla pagina originale su Internet tramite il link proposto.

Conclusioni

Questo articolo descrive una soluzione su come identificare, nella smisurata ampiezza del destrutturato mondo del “big data”, solo quelle informazioni di potenziale interesse aziendale utili ad una conseguente investigazione di dettaglio finalizzata alla ricerca di minacce concrete. La metodologia descritta bilancia strumenti informatici open source con l’impiego di risorse umane al fine di cogliere da entrambi gli aspetti migliori.

Con questo metodo l’organizzazione pone in relazione le competenze ed esperienze di un team operativo con il costante allineamento agli obiettivi di business propri dell’executive committee. La tecnologia proposta trasforma il “big data” in “small data” per il team operativo e questo lo riduce ancora elevandone altresì la qualità finale per l’executive committee (figura 1).

La riduzione dei “big data” attraverso l’azione programmata degli spider, su portali o motori di ricerca specializzati, rende il sistema nel suo complesso più facile ed economico da sviluppare e gestire. Inoltre, tramite l’approccio modulare basato sulle categorie di rischio, la dimensione del database dipende dal numero di criteri di ricerca, e da quanto restrittive sono le regole ma non dalle caratteristiche dell’azienda (dimensione, prodotti, organizzazione, geo localizzazione, esposizione su Internet, …).

Questo tipo di analisi del web sta diventando, nel tempo, una parte rilevante della gestione dei rischi aziendale e può essere utilmente integrata in un sistema di information security continuous monitoring (ISCM).15, 16, 17 Utili articoli riguardanti la valutazione del continuous monitoring all’interno dei maggiori frameworks sono indicati nelle note finali.

Una considerazione deve naturalmente riguardare i costi. La modularità e l’utilizzo della tecnologia OSINT è stato il vero driver che ha garantito una bassa esposizione economica in termini di sistema. Inoltre, l’adozione di software open source, in particolare per i crawler e per il database, ha consentito di ridurre drasticamente i costi senza compromettere la qualità dei risultati, sia nella sua implementazione che nel funzionamento a regime.

Endnotes

1 Bing, L.; Sentiment Analysis, Cambridge University Press, 2015, https://www.cambridge.org/core/books/sentiment-analysis/3F0F24BE12E66764ACE8F179BCDA42E9
2 International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC), ISO/IEC 27001: 2013, Clause 4.1
3 A suitable list of risk for the organization can be found in the statement of applicability of Clause 6.1.3 of the standard ISO/IEC 27001: 2013, item d, limited to outside risk.
4 Bazzel, M.; Open Source Intelligence Techniques: Resources for Searching and Analyzing Online Information, CreateSpace Independent Publishing Platform, 2016, https://www.amazon.com/Open-Source-Intelligence-Techniques-Information/dp/1530508908.
5 Glassmann, M.; M. Kang; “Intelligence in the Internet Age: The Emergence and Evolution of Open Source Intelligence (OSINT),” Computers in Human Behavior, March 2012, www.sciencedirect.com/science/article/pii/S0747563211002585.
6 All the images are taken from the Operating Project, Version 1.1.
7 Management Study Guide, “SWOT Analysis—Definition, Advantages and Limitations,” www.managementstudyguide.com/swot-analysis.htm
8 Merriam-Webster Dictionary, “Web Crawler,” https://www.merriam-webster.com/dictionary/web%20crawler
9 Kausar, A.; V. S. Dhaka; S. K. Singh; “Web Crawler: A Review,” International Journal of Computer Applications, vol. 63, no. 2, 2013, www.ijcaonline.org/archives/volume63/number2/10440-5125
10 Scrapy, Scrapy 1.4 Documentation, https://doc.scrapy.org/en/latest/index.html
11 Kouzis-Loukas, D.; Learning Scrapy Packt Publishing, 2016, https://www.packtpub.com/big-data-and-business-intelligence/learning-scrapy
12 Python, Functions Defined, https://www.python.org/
13 Lawson, R.; Web Scraping with Python, Packt Publishing, 2015, https://www.packtpub.com/big-data-and-business-intelligence/web-scraping-python
14 My SQL, https://www.mysql.com/
15 National Institute of Standards and Technology, Special Publication 800-137, “Information Security Continuous Monitoring (ISCM) for Federal Information Systems and Organizations”, USA, 2011, http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-137.pdf Information security continuous monitoring (ISCM) is defined as maintaining ongoing awareness of information security, vulnerabilities and threats to support organizational risk management decisions. The terms ‘continuous’ and ‘ongoing’ in this context mean that security controls and organizational risk factors are assessed and analyzed at a frequency sufficient to support risk-based security decisions to adequately protect organization information. Data collection, no matter how frequent, is performed at discrete intervals.”
16 Hargenrader, B.; “Information Security Continuous Monitoring: The Promise and the Challenge,” ISACA Journal, vol. 1, 2015, www.isaca.org/journal
17 Luu, T.; “Implementing an Information Security Continuous Monitoring Solution—A Case Study,” ISACA Journal, vol. 1, 2015, www.isaca.org/journal

Paolo Gasperi, CISM, CSIRT Transits First-I, ISO 27001
Vive e lavora in Svizzera come consulente in CyberSecurity. Può essere contattato a paolo.gasperi@loogut.com.

Luigi Sbriz, CISM, CRISC, ISO 27001, ITILv3
Lavora come Risk Manager in Magneti Marelli da più di tre anni. In precedenza è stato responsabile per le operazioni e le risorse ITC (Information and Communications Technology) per l’area APAC (China, Japan, Malaysia) e prima ancora IS Officer worldwide per sette anni. Per il monitoraggio del rischio interno, ha sviluppato una metodologia proprietaria che riunisce un’analisi del rischio operativo con una conseguente valutazione dei rischi basata sul livello di maturità dei processi. In passato è stato anche per diversi anni consulente per i sistemi di business intelligence. Può essere contattato tramite https://it.linkedin.com/in/luigisbriz o http://sbriz.tel.

Marco Tomazzoni, CSIRT Transits First-I
È un programmatore e consulente IT con più di venticinque anni di esperienza. Dopo aver lavorato come IT Manager per la filiale italiana di una multinazionale danese, ora si occupa principalmente di web-crawling e cyber-security come libero professionista.

 

Add Comments

Recent Comments

Opinions expressed in the ISACA Journal represent the views of the authors and advertisers. They may differ from policies and official statements of ISACA and from opinions endorsed by authors’ employers or the editors of the Journal. The ISACA Journal does not attest to the originality of authors’ content.