Analisi di log: questioni generali



Documenti analoghi
lo PERSONALIZZARE LA FINESTRA DI WORD 2000

Il seguente Syllabus è relativo al Modulo 7, Reti informatiche, e fornisce i fondamenti per il test di tipo pratico relativo a questo modulo

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

Manuale NetSupport v Liceo G. Cotta Marco Bolzon

Gui Gu d i a d ra r p a i p d i a V d o a d f a one Int fone In e t r e net rnet Box Key Mini

IDS: Intrusion detection systems

Studio Legale. Guida operativa

Installazione di GFI WebMonitor

Il web server Apache Lezione n. 3. Introduzione

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

Guida rapida Vodafone Internet Box

Manuale Utente Albo Pretorio GA

Per cosa posso utilizzarlo?

Installazione di GFI Network Server Monitor

Nuovo Order Manager per il software NobelProcera

Installazione del software Fiery per Windows e Macintosh

Novità di Access 2010

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

IL SISTEMA APPLICATIVO WORD

Vodafone Device Manager. La soluzione Vodafone per gestire Smartphone e Tablet aziendali in modo semplice e sicuro

Presentazione della release 3.0

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

COOKIES COSA SONO I COOKIES? COME UTILIZZIAMO I COOKIES?

Guida di Pro PC Secure

Alfa Layer S.r.l. Via Caboto, Torino ALFA PORTAL

Il modello di ottimizzazione SAM

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I

Dexma Newsletter System

COME FARE UNA RICHIESTA DI ASSISTENZA ON LINE (AOL)

Guida Joomla. di: Alessandro Rossi, Flavio Copes

MService La soluzione per ottimizzare le prestazioni dell impianto

Manuale Utente Amministrazione Trasparente GA

Abilitazione e uso del protocollo EtherTalk

Guida alla configurazione

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

ESERCITAZIONE Semplice creazione di un sito Internet

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Il nuovo browser italiano dedicato alla navigazione e comunicazione sicura in internet per bambini

Dal protocollo IP ai livelli superiori

Il Web Server e il protocollo HTTP

Corso di PHP. Prerequisiti. 1 - Introduzione

Software per Helpdesk

Database. Si ringrazia Marco Bertini per le slides

Software Servizi Web UOGA

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Manuale Utente. Gestione Richieste supporto BDAP. Versione 1.0

LABORATORIO PER IL DESIGN DELLE INTERFACCE PEGORARO ALESSANDRO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Introduzione. Installare EMAS Logo Generator

SW Legge 28/98 Sommario

Guida di Pro Spam Remove

Manuale Utente. Gestione Richieste supporto Data Warehouse. Della Ragioneria Generale dello Stato. Versione 1.0. Roma, Ottobre 2015

Domande e risposte su Avira ProActiv Community

GRUPPO CAMBIELLI. Posta elettronica (Webmail) Consigli di utilizzo

Programma del Corso per Segretaria d Azienda:

Manuale per la configurazione di AziendaSoft in rete

PORTALE CLIENTI Manuale utente

Procedura per la configurazione in rete di DMS.

GUIDA ALLA REGISTRAZIONE DI UN DVR SU

Obiettivi del corso. Creare, modificare e formattare un semplice database costituito da tabelle, query, maschere e report utilizzando Access 2000.

Capitolo 4 Pianificazione e Sviluppo di Web Part

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith

Cookie Policy per

Registratori di Cassa

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Stampe in rete Implementazione corretta

Console di Monitoraggio Centralizzata

Proteggiamo il PC con il Firewall di Windows Vista

Software di gestione della stampante

SurfCop. Informazioni sul prodotto

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel

In questa pagina si descrivono le modalità di gestione del sito in riferimento al trattamento dei dati personali degli utenti che lo consultano.

Guida alla registrazione on-line di un NovaSun Log

Installazione di Sophos Antivirus 5.1 su piattaforma Windows XP

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

CONTENT MANAGEMENT SYSTEM

InfoWeb - Manuale d utilizzo per utente DIPENDENTE

Puoi aumentare la popolarità della tua azienda e singoli prodotti, sia a livello locale che più ampio.

Console di Amministrazione Centralizzata Guida Rapida

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO

Installazione di GFI LANguard Network Security Scanner

MANUALE D USO MANUALE D USO

Cosa è un foglio elettronico

Siti interattivi e dinamici. in poche pagine

Manuale di KSystemLog. Nicolas Ternisien

Modalità e luogo del trattamento dei Dati raccolti Modalità di trattamento

Manuale d'uso del Connection Manager

SOMMARIO... 3 INTRODUZIONE...

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

GUIDA STUDENTI HOMEPAGE DEI CORSI ON-LINE

Configurazione di Outlook Express

Transcript:

Capitolo 1 Analisi di log: questioni generali 1.1 Introduzione 1.2 Budget e risultati del reparto IT: soluzioni OSS a basso costo 1.3 Comunicazione alla dirigenza di informazioni relative alla sicurezza 1.4 Combinazione di risorse per una visione generale 1.5 Minacce combinate e reporting 1.6 Conclusione 1.7 Soluzioni in codice 1.8 Soluzioni commerciali: ArcSight e Netforensics 1.9 Sommario 1.10 Soluzioni in breve 1.11 Domande frequenti 1.1 Introduzione Una delle prime lamentele in molti security shop riguarda l enorme quantità di dati da analizzare e il fatto che può risultare molto difficile capire il significato di tutti gli elementi relativi alla sicurezza. Per esempio, quando i report sono generati da firewall, IDS/ IPS, antivirus, policy e altre fonti, la ricerca delle informazioni relative allo stato di salute della rete è quanto meno complessa. Per i membri tecnici di uno staff dedicato alla sicurezza, che si trovano in prima linea, questa operazione fa parte della valutazione del lavoro quotidiano. Come occhi e orecchie tecnici di un organizzazione, è necessario essere in grado di comunicare nella catena di comando dati utili e sensati; tuttavia, poiché molti dirigenti non sono ingegneri o analisti specializzati in reti o sicurezza, non è necessario che conoscano i dettagli tecnici delle operazioni quotidiane. Il team dedicato alla sicurezza fornisce alla dirigenza prove affidabili di minacce e attacchi, in modo che sia possibile prendere decisioni informate riguardanti le questioni relative alla rete. Infine, se i team dedicati alla sicurezza sono in grado di presentare una visione equilibrata e flessibile degli eventi e nelle modifiche della rete, possono aiutare a risparmiare denaro e offrire un utile e continuo ritorno di investimenti ( ROI, Return On Investment) per gli strumenti e l hardware necessari al proprio lavoro. Libro.indb 1 10/04/2006 13.20.44

2 CAPITOLO 1 1.2 Budget e risultati del reparto IT: soluzioni OSS a basso costo Tra le questioni più importanti riguardanti i gruppi dedicati alla sicurezza all interno di organizzazioni si trovano: il budget per strumenti e hardware relativi alla sicurezza viene ridotto oppure è inesistente; la dirigenza è bombardata da venditori che cercano di vendere ulteriori componenti per la sicurezza che possano sostituire tutto ciò che viene utilizzato attualmente; tutte le buone soluzioni sono costose e non sono disponibili fondi; l open source non viene preso in considerazione perché nessuno nell organizzazione lo conosce; la maggior parte delle organizzazioni non dispone di uno staff completo per programmazione e sviluppo che possa sviluppare una soluzione open source personalizzata. Per esempio, agli autori è stato chiesto di impostare un security shop per un organizzazione. Il cliente non aveva mai avuto un organizzazione funzionante per la sicurezza, quindi era riluttante alla creazione di una nuova voce di budget per i progetti relativi alla sicurezza. Di conseguenza, tutte le soluzioni dovevano essere gratuite o a basso costo e offrire prodotti che il cliente non avesse mai visto prima e che gli fornissero informazioni sulla sua rete. Il primo set di soluzioni, alcune ancora attive oggi, utilizzava software open source su macchine che dovevano essere inventariate come fuori servizio. Il primo ordine fu l impostazione di uno shop IDS funzionante che fornisse visibilità e comprensione della rete del cliente. Il cliente disponeva già di sistemi commerciali per il rilevamento di intrusioni ( IDS, Intrusion Detection System) che non venivano regolati né aggiornati da anni e che non funzionavano. La soluzione fu l impiego nella rete di numerosi sensori di snort che controllavano punti importanti della rete. Il team dedicato alla sicurezza ( SE, Security Engineering), costituito da ingegneri di rete con esperienza nelle discipline relative alla sicurezza, quali elenchi di controllo di accesso ai router ( ACL, Access Control List), set di regole per firewall e progettazione di reti sicure, decise di implementare P-SPAN nei punti più importanti. P-SPAN consente di condividere su più porte dello switch una porta in mirroring su uno switch o su un router. In questo caso consentiva agli ingegneri di fornire ai sensori IDS la medesima visuale del traffico rilevato su otto porte dello switch. Per esempio, all interno del firewall sono stati inseriti un sensore di snort, un sensore ISS, un sensore dragon, un NAM Cisco (Network Analysis Module, modulo di analisi di rete) e altri quattro dispositivi, che monitoravano lo stesso traffico. Con tanti sensori in ogni punto chiave è stato possibile impostare nuovi sensori di snort che vedevano lo stesso insieme di traffico degli IDS commerciali. Libro.indb 2 10/04/2006 13.20.45

ANALISI DI LOG: QUESTIONI GENERALI 3 Tuttavia la soluzione P-SPAN può diventare molto confusa nelle organizzazioni di dimensioni maggiori. Un altra soluzione, che può essere utilizzata con una gamma più ampia di dispositivi Cisco, è SPAN, che consente un impostazione di mirror uno a molti, occupando al contempo meno carico sullo switch/router di distribuzione. Spesso le porte SPAN sono utilizzate per collegamenti edge o più lenti per effettuare un mirror uno a uno di segmenti di dimensioni inferiori. Infine, in organizzazioni di dimensioni maggiori la scelta più comune è R-SPAN ( Remote Spanning), per la facilità di inviare i dati in mirror sulla rete dell organizzazione. R-SPAN è molto utilizzato nelle organizzazioni che dispongono di una VLAN di sicurezza dove tutti i dati relativi alla sicurezza di tutta l infrastruttura sono centralizzati. R-SPAN consente a un dispositivo Cisco di inoltrare il traffico duplicato su uno switch o una VLAN su uno switch diverso dallo switch di span. Tuttavia, quando si implementa una soluzione R-SPAN, è necessario progettare attentamente l infrastruttura. Sicurezza Il significato degli allarmi IDS Si immagini la sorpresa provata qualche ora dopo l impostazione dei nuovi sensori, quando l IDS commerciale non confi gurato iniziò a emettere allarmi ICMP ECHO a ritmo serrato. Tutti gli allarmi avevano dimensioni di pacchetto di 92 byte costituiti solo da a. Per i membri del team non fu una sorpresa scoprire che la fi rma era caratteristica dell allora recente worm Nachi. Furono immediatamente attivati i nuovi sensori di snort che stavano rapidamente identifi cando il traffi co non come traffi co ICMP PING a bassa priorità, ma come traffi co broadcast Nachi ostile ad alta priorità. Nella prima prova di ROI, i sensori furono in grado di fornire una vista grafi ca del vettore di attacco e delle vittime dell attacco. I dati furono quindi trasformati in un ACL (Access Control List, elenco di controllo di accesso) da inserire in tutti i punti della rete per limitare il worm; al contempo si identifi cavano nuove vittime mentre il worm cercava di diffondersi. Con i nuovi sensori e la capacità di avere più IDS in ciascun punto chiave con costi limitati o nulli per il cliente, gli autori furono in grado di offrirgli un nuovo servizio. Oltre ad avere punti di estensione sufficienti in ciascuna posizione per una vista multipiattaforma nel traffico di rete, la soluzione ammetteva sufficienti punti di monitoraggio affinché le operazioni di rete potessero utilizzare i propri strumenti di gestione di rete in tali punti. Poiché questo era un nuovo security shop, vennero alla luce molti altri aspetti della garanzia di informazioni, quali risposta e gestione degli incidenti. Mentre venivano esaminati gli eventi e gli incidenti relativi alla rete, doveva essere mantenuto un record degli eventi e delle informazioni risultanti. C era la certezza che, in definitiva, quando fossero stati disponibili fondi, sarebbe stato approvato uno strumento ufficiale; tuttavia nel frattempo, poiché dovevano essere presentati risultati, si cominciò con l utilizzo di uno strumento open source di ticketing e report chiamato elog. Lo strumento viene fornito Libro.indb 3 10/04/2006 13.20.45

4 CAPITOLO 1 con un logbook di esempio, che fu utilizzato per la creazione di due logbook di base: uno per gli eventi e le notizie di IDS e uno per i dati del Computer Incident Response Team ( CIRT, team di risposta agli incidenti informatici) provenienti dai casi. Lo strumento fu apprezzato per l accesso multiutente e per la scrittura in file di testo dotati di time stamp. Tali file potevano quindi essere interrogati da altri script, per esempio per conoscere l ultimo aggiornamento di un caso o per l inserimento in un sistema di ticketing Enterprise Security Manager per una concisa aggregazione dei log. L ultima operazione del nuovo security shop fu la creazione e il supporto al monitoraggio dei firewall e dei loro flussi di dati. Numerosi ingegneri della sicurezza avevano esperienza di iptable e ipchain, quindi impostarono velocemente la rete di sensori su una rete quasi fuori banda per proteggerla dagli attacchi e per fornire una separazione dei sensori e dei dispositivi di supporto dal resto della rete. Quindi, quando i flussi di dati provenienti dai firewall cominciavano a ricevere dati dai dispositivi nella rete di sicurezza, gli ingegneri della sicurezza avevano necessità di uno strumento di aggregazione di log di firewall e di reporting. Optarono per un altro strumento open source per fornire una vista accodata degli eventi ogni ora in una pagina Web aggiornata in modo dinamico. Sicuramente il lettore si sta chiedendo come dovessero interagire tutti i dispositivi e il software. La domanda migliore è: come e cosa si fornisce alla catena della dirigenza da tutti questi dispositivi e sistemi? 1.3 Comunicazione alla dirigenza di informazioni relative alla sicurezza Uno dei problemi principali per la maggior parte dei security shop è la comunicazione chiara, nella catena di comando, di informazioni importanti per il funzionamento di un sito. Per esempio, al di fuori dalla linea diretta di comando di uno staff dedicato alla sicurezza, è probabile che altri dirigenti non comprendano le informazioni relative alle minacce o le differenze tra i prodotti per poter approvare o disapprovare il loro utilizzo in una rete. Se un team dedicato alla sicurezza non è in grado di sviluppare metodologie per i report verso l esterno semplici e facili da capire, viene scavalcato dalle voci dei venditori. Poiché si stava impostando un nuovo security shop e la maggior parte degli addetti proveniva dal sito di un cliente importante, dove era richiesto l input della sicurezza per quasi tutti i progetti e le modifiche, era necessario garantire che il nuovo shop fosse impostato in modo da promuovere tale idea. Uno dei primi esempi trovati utili fu l idea di un breve report sugli incidenti, o white paper. I white paper dovevano essere un breve sommario di un evento dopo la definizione di quasi tutti i fatti e venivano utilizzati per fornire alla dirigenza non tecnica informazioni veloci e ripetibili sugli eventi, sui fatti noti e sui team Libro.indb 4 10/04/2006 13.20.45

ANALISI DI LOG: QUESTIONI GENERALI 5 che rispondevano all evento. Sebbene si tratti di un altro elemento da creare per ogni avvenimento, un responsabile della sicurezza intelligente comprende che in questo modo si facilita il lavoro dei team dedicati alla sicurezza, che possono esaminare un evento senza avere la dirigenza che sorveglia lo staff. Offre inoltre ai dirigenti la certezza che il team sia in grado di gestire tutti gli eventi in modo approfondito e preciso. Se l idea dei whitepaper è ottima per una risposta veloce durante il rapporto di eventi, in seguito è necessario un report successivo all azione. Il reporting è diverso per ogni tipo di società e industria, quindi i dettagli del report sono unici per la propria agenzia od organizzazione. Tali report e altri sono una parte di quanto necessario per aiutare un team dedicato alla sicurezza a comunicare con la dirigenza. Esempio di report di evento: caso IDS N. 123, 5 settembre 2005 Antecedenti: Alle 10:34 AM i monitor di eventi IDS hanno segnalato l evento WEB-CLIENT Microsoft ANI file parsing overflow. Dopo una ricerca nei log IDS, nessun ulteriore evento ha identificato un attacco riuscito da parte di tale sito. Inoltre la soluzione antivirus basata sull host sembra avere eliminato 3 file ostili per ciascuna vittima. Al momento solo due IP client sembrano avere visitato il sito ostile, esponendosi al codice ostile. Il vettore di attacco sembra provenire da uno script per la rotazione di banner su hostilesite.com. Sembra che le vittime abbiano visitato un altro sito (al momento sconosciuto) in cui uno script per la rotazione dei banner visualizzava il banner ostile (inst/ad _ rotator.php) che aveva uno script per il controllo del browser che veniva chiamato (msits.htm) quando un browser IE vulnerabile veniva trovato a utilizzare (test.php). Questo sembra avere chiamato quindi (infect.html) per il caricamento di un file jar java (archive.jar) che sfruttava l analisi di file.ani con (infect.anr), molto probabilmente nascondendo agli scanner di firma l ani con anr. Infine, dopo la vittimizzazione riuscita lo trasmette con (our. htm), che viene eliminato dalla nostra soluzione Host Anti-Virus. Si aggiunge che la visualizzazione del codice sorgente non possibile, quando il javascript è stato decodificato. Questo a causa del sito ostile che utilizza una chiave di sessione unica per ciascuna connessione. Allegati al presente rapporto si trovano i dettagli di ciascun file trovato nella ricerca, oltre a tutti gli altri log IDS dettagliati relativi al presente caso, inseriti nella cartella del caso. Questa vulnerabilità (MS05-002) è un baco di analisi di tipo di file in Internet Explorer. Ulteriori informazioni al riguardo si possono trovare qui. http://www.securiteam.com/windowsntfocus/5yp0f0kekk.html Cronologia: 10:30am La vittima 1 visita il sito classmates.com quando uno script per la rotazione di banner (inst/ad _ rotator.php) di un sito esterno (xxx.com) effettua un controllo del browser. Controlla se è in esecuzione Internet Explorer mediante lo script di controllo (msits.htm), in tal caso esegue (test.php) che determina se l host è vulnerabile a MS04-013 (exploit MS-ITS). Libro.indb 5 10/04/2006 13.20.45

6 CAPITOLO 1 10:31am La vittima 1 è stata identificata come vulnerabile, quindi avvia (infect.html) che lancia contemporaneamente 2 attacchi separati. - Esegue un file jar java ostile chiamato (archive.jar) che utilizza la fiducia implicita di IE per l esecuzione di java sulla macchina client. - Esegue un file di cursore rinominato.ani chiamato (infect.anr) che cerca di caricare un eseguibile ostile da un altro sito. - Infine, dopo avere ottenuto il controllo invia una notifica a un altro sito utilizzando (our.htm) che contiene un tag per la registrazione dell IP della vittima. 10:32am L Anti-Virus bastato sull host ha segnalato l avvenuta cancellazione della pagina Web dai file temporanei e dei file archive.jar e infect.anr. 12:10pm La vittima 2 visita lo stesso sito classmates.com e ottiene gli stessi risultati della vittima 1. 1:00pm Entrambi gli eventi vengono collegati allo stesso sito da parte del team CIRT. Dopo un esame verrà contattato il possessore del sito. Nel frattempo gli eventi IDS verranno monitorati nel caso in cui altri utenti visitassero il sito ostile e verrà implementato un blocco di indirizzo IP consigliato per tutte le comunicazioni di rete con questo netblock. 1:05pm Chiusi i casi IDS e CIRT. Personale coinvolto: Stan Smith Analista IDS Peter Griffin Analista CIRT Dettagli sui file: our.htm si rileva che questo file genera un file javascript rilevato da mcafee come JS/Exploit-BO.gen quindi il rischio di diffusione è ridotto. infect.anr di fatto è un file ani che cerca di chiamare il file start.exe dall host http://www.site.com/1qswr45/start.exe. Il file start.exe è stato inviato per l analisi con un test per virus sandbox e i risultati si trovano di seguito. archive.jar al momento sconosciuto infect.html segue semplicemente l analisi di file per caricare il cursore infect.anr...l exploit. {CURSOR: url( ifect.anr )} test.php semplice pagina vuota, utilizzata per controllare il tipo di browser msits.htm controlla la vulnerabilità anche all exploit ITS mediante la scrittura di un file Bao.htm nel percorso C:\. -----Norman AV sandbox information ------------------------- start.exe : [SANDBOX] contains a security risk - W32/Downloader (Signature: W32/DLoader.DZI) [ General information ] * File might be compressed. * File length: 1669 bytes. Libro.indb 6 10/04/2006 13.20.45

ANALISI DI LOG: QUESTIONI GENERALI 7 [ Changes to filesystem ] * Deletes file c:\lf00!.exe. * Creates file C:\LF00!.exe. * Creates file C:\p!0!. [ Network services ] * Looks for an Internet connection. * Downloads file from http://www.site.com/statpath/inr.gif as c:\lf00!. exe. * Downloads file from http://www.site2.cc/cnt/erun?{10001} as c:\p!0!. [ Security issues ] * Starting downloaded file - potential security problem. [ Process/window information ] * Creates a mutex arx5. Sebbene la quantità di dettagli presente nel report precedente possa sembrare eccessiva per un solo evento, si dimostra preziosa se si verifica un evento che coinvolge un organizzazione al di fuori della propria o il team legale. Tuttavia, in tal caso, o se un evento raggiunge il livello dirigenziale più alto, molto probabilmente è necessario fornire rapidamente risposte. Un metodo è la generazione di un veloce report di una pagina che fornisca una panoramica generale ad alto livello dell evento in questione. Tale report deve essere facilmente distribuito e compreso nella dirigenza C-level. Può anche essere inserito in un modello, se è necessario spiegare costantemente alla direzione i dettagli di un evento. 1.4 Combinazione di risorse per una visione generale Mentre il team dedicato alla sicurezza inizia a definire processi e procedure, la dirigenza può continuare a presentarsi per ostentare il suo ottimo team dedicato alla sicurezza. La maggior parte della dirigenza si aspetta schermi colorati con tanti pulsanti verdi lampeggianti. Si consideri che i pulsanti rossi attirano molte domande e ancora più attenzione. Nell impostazione del nuovo security shop, il primo set di report era costituito prevalentemente da tabelle e campi di testo, non aveva grafiche ed era basato sulla necessità di generare report giornalieri e settimanali. Il primo problema risolto fu la possibilità di creare documentazione ripetibile relativamente agli eventi di rete e allo stato della sicurezza. Un problema con i report era costituito dal fatto che provenissero da piattaforme e tecnologie diverse. Per esempio, gli eventi di snort erano creati manualmente da grafiche BASE/ACID, i sommari relativi agli eventi ISS erano copiati da box Site Protector e i dati tcpdump erano generati da tcpdstat ed rrdtool; tutto doveva essere combinato per fornire qualsiasi tipo di vista sullo stato generale della sicurezza. Libro.indb 7 10/04/2006 13.20.45

8 CAPITOLO 1 Uno degli obiettivi dell infrastruttura di reporting era quello di renderla il più possibile indipendente dalla piattaforma, per esempio con una piattaforma basata sul Web. L idea sottostante era duplice: in primo luogo, le console di sicurezza dipendenti da una piattaforma specifica per la visualizzazione dei dati relativi alla sicurezza furono limitate o eliminate. Un esempio specifico è rappresentato dalla console ISS Site Protector, che richiede Windows, una versione specifica dell ambiente di runtime Java e numerose porte aperte tra le console e il backend del database. Tale soluzione può funzionare se gli analisti utilizzano sempre le stesse macchine nello stesso ambiente. Tuttavia, se si è mai pensato a un piano per il recupero da disastri (disaster recovery plan) o COOP ( Continuity of Operations, continuità del funzionamento), una console di sicurezza molto dipendente da certe applicazioni non è adatta. Per esempio, per proseguire con ISS, il nuovo Site Protector dispone di una console Web abilitata SSL che richiede solo una porta per l accesso alla stessa funzionalità della console Windows. Questo client Web può quindi essere utilizzato facilmente da un sito per il recupero da disastri/coop/remoto senza doversi preoccupare di ulteriori dipendenze oltre a un browser Web funzionante. Il secondo motivo per cui si decise per l indipendenza rispetto alla piattaforma fu il fatto che le piattaforme Web possono essere visualizzate e aggiornate facilmente. Si può trattare di una semplice visualizzazione di dati, ma quando la dirigenza o altri gruppi desiderano controllare il security shop, possono visualizzare le informazioni. Poiché le informazioni sono visualizzate in un formato Web, quasi tutte le applicazioni utilizzate possono essere configurate in modo da generare informazioni in un formato Web. Alcuni esempi presentati nel libro sono semplici file di testo analizzati mediante script per la creazione di grafici dei dati di rete. Sfruttando l infrastruttura di reporting indipendente dalla piattaforma e basata su browser si ottiene anche la possibilità di limitare l accesso ai dati. Per esempio, se per accedere al portale della sicurezza si richiede un nome utente e una password, è possibile limitare l accesso degli account a determinate directory. Inoltre, se si dispone di sufficienti competenze, è possibile creare viste personalizzate per ciascun tipo di utente o gruppo di utenti. Nell ambiente attuale, una semplice visualizzazione in stile portale degli eventi provenienti dalla maggior parte delle applicazioni IDS (non ancora tutte) viene utilizzata dagli analisti IDS per avere una visione globale di eventi e informazioni aggiornati, come mostrato nella Figura 1.1. Tuttavia, per il reporting alla dirigenza è stata creata una pagina Web per il report giornaliero. Nella pagina viene cercata la maggior parte dei dati IDS, che vengono rappresentati graficamente in modo da offrire informazioni significative. Il report giornaliero può servire quindi da pagina principale che la dirigenza può visualizzare per avere informazioni sugli eventi relativi alla sicurezza della rete, oppure offrire un buffet per la combinazione delle informazioni in altri report. Per esempio, se è necessario creare un report DNS, è possibile copiare le grafiche e le tabelle necessarie in un altro report; per esempio in un report sull utilizzo della rete per un altro team. Il report Libro.indb 8 10/04/2006 13.20.45

ANALISI DI LOG: QUESTIONI GENERALI 9 Figura 1.1 Una semplice pagina di portale. DNS può essere costituito da diverse tabelle di dati, per esempio le 10 query DNS più effettuate, la classificazione per posizione geografica o la classificazione per domini.com/.net/.org. È necessario ricordare che è possibile modificare i report in modo che siano più utili, secondo il feedback ottenuto dalla prima versione di report. Per esempio, una società di hosting può essere più interessata alla posizione geografica e alle 10 query più effettuate, poiché possono risultare utili nella pianificazione della capacità. Un organizzazione più globale è più interessata ai dati relativi alla posizione geografica e alle classificazioni dei domini, per capire meglio da dove provengono malware e possibili attacchi. Un altra possibilità è la creazione di un menu per le grafiche a cui si accede più di frequente e la creazione di etichette per le grafiche, quali per esempio Report DNS, Report malware, Report sul carico di rete e così via. Possono essere modelli precaricati che dietro richiesta generano le grafiche e le tabelle con le informazioni più aggiornate (Figura 1.2). Quando le informazioni vengono combinate in una pagina di stato come mostrato nella Figura 1.2, questa può essere utilizzata come veloce pagina ESM. Con il filtro di eventi e firme, una vista aggiornata automaticamente degli eventi e di modifiche agli eventi con priorità maggiore può seguire tutto, dalle macchine inutilizzate a display più grandi sotto forma di salvaschermo. Numerosi strumenti commerciali consentono di creare un salvaschermo da una pagina Web, ed esistono alcuni esempi JavaScript creativi su Google che creano un salvaschermo nel browser. Libro.indb 9 10/04/2006 13.20.46

10 CAPITOLO 1 Figura 1.2 Menu di pagina di report precaricato. 1.5 Minacce combinate e reporting Lentamente il malware è passato in cima all elenco di preoccupazioni della maggior parte delle organizzazioni. Un recente report del gruppo mi2g stima il costo del malware intorno a 600 milioni di computer Windows in tutto il mondo, pari a una cifra tra $ 235 e $ 285 di danni per macchina. Significa numerosi miliardi di euro di mancate entrate per le società in tutto il mondo. Questo tipo di software può immettere troiani e virus, aprire backdoor e segnalare le preferenze di navigazione degli utenti a siti ostili ed estranei. Secondo Wikipedia.org, Si definisce malware un qualsiasi software creato con il solo scopo di causare danni più o meno estesi al computer su cui viene eseguito. Il termine deriva dalla contrazione delle parole inglesi malicious e software e ha dunque il significato letterale di programma malvagio. Tra gli esempi di malware si trovano virus e troiani. Il malware può essere classificato in base al modo in cui viene eseguito, al modo in cui si diffonde e/o in base a ciò che fa. SICUREZZA Pericoli dei clic sui collegamenti In un caso recente, un utente ha attivato una serie di allarmi in pochi secondi su più piattaforme IDS. Iniziando a esaminare gli eventi, si comprese velocemente (continua) Libro.indb 10 10/04/2006 13.20.46

ANALISI DI LOG: QUESTIONI GENERALI 11 (segue) che l utente nella rete era stato portato a effettuare una ricerca su una pagina di ricerca ostile, con risultati che sarebbero potuti essere disastrosi se sulla macchina dell utente non fosse stata installata una patch. Come esercizio per dimostrare gli effetti del malware, si decise di valutare i danni che avrebbe potuto causare un singolo clic. Dopo diverse ore di sniffing, e dopo avere seguito numerosi collegamenti nelle pagine, si riuscì a capire cosa sarebbe successo se la macchina dell utente non fosse stata dotata della patch. La Figura 1.3 descrive il percorso di distruzione che sarebbe stato completato in un periodo di tempo tra quattro e cinque minuti. Risultati fi nali Domini utilizzati: 3 IP utilizzati: 7 File malware 13 Exploit utilizzati: 5 Poiché il malware è una questione tanto importante per la maggior parte delle organizzazioni, gli ingegneri della sicurezza iniziarono a farsi un idea su come fermare il malware di cui si era consapevoli e fermare il traffico verso i domini noti come ostili. La soluzione fu semplicemente l avvelenamento del server DNS con zone principali per tali domini ostili, quindi il reindirizzamento delle richieste di dominio ora innocue a un server di messaggi che per ogni richiesta visualizzasse semplicemente un messaggio spiacenti, è stato richiesto un sito noto come ostile. Per ulteriori informazioni contattare l assistenza tecnica. Le richieste e i trasgressori sono registrati attraverso la registrazione IDS di sessioni DNS e attraverso richieste HTTP al server di malware. Per visualizzare l efficacia dei blocchi al malware, si esaminano semplicemente i log del malware con Awstats, per generare una pagina Web con molti grafici e immagini da mostrare alla dirigenza. La pagina, quando combinata con diversi grafici generati dai dati IDS può essere inserita in un report per la dirigenza sull efficacia giornaliera dei blocchi al malware. Tuttavia, solitamente si utilizza semplicemente il grafico mostrato nella Figura 1.4 per mostrare il numero di richieste a domini DNS malware rispetto al numero di richieste DNS valide. Quando i dati sono stati combinati con i conteggi del CIRT ( Critical Incident Response Team, team per la risposta agli incidenti critici) del numero di casi nel tempo, è stata mostrata chiaramente una relazione diretta tra malware ed eventi relativi alla sicurezza. Nell esempio specifico, dopo l installazione dei blocchi al malware, il numero di casi aperti dal CIRT è diminuito costantemente. Durante l utilizzo del conteggio degli eventi IDS prima e dopo l installazione dei blocchi, il numero di malware e di eventi ostili è diminuito significativamente. Libro.indb 11 10/04/2006 13.20.46

12 CAPITOLO 1 Quando il malware colpisce duro SET 1 8:08:00 8:08:37 L utente Google cerca myaccount-normalsite Ottiene 2 risultati 8:08:52 Connessione legittima a normalsite.org 8:09:38 Sito malware Myaccount-normalsite.info-webspace.com CHIAMA search.php?q=myaccount-normalsite&ncp=1 CARICA Our-counter.com/in.cgi?six List.htm Semplice pagina con frame CHIAMA - Top.htm -Top100.htm 8:09:43 Sito malware Our-counter.com CHIAMA - GET /in.cgi?six () - GET /list.htm (LINKER) - GET /count.htm () - GET /lop.htm () - GET /top100.htm () Top.htm Top100.htm CHIAMA http://www.vxiframe.biz/adverts/059/1.php CHIAMA http://195.225.176.25/user.scripts/u217/dir38500256.cgi CHIAMA - http://195.225.176.25/user6/ifel.htm - http://195.225.176.25/user6/ccurs.ani - http://195.225.176.25/user6/msjld.jar Count.htm CHIAMA 69.50.177.102/x93/ind.php 1.php CHIAMA http://www.vxiframe.biz/adverts/059/sploit.anr http://www.vxiframe.biz/adverts/059/win32.exe CODIFICATO http://www.vxiframe.biz/adverts/059/targ.chm:target.htm Ifel.php CHIAMA Ccurs.ani Ind.php CHIAMA http://69.50.177.102/x93/count.htm http://69.50.177.102/x93/count5.htm Count.htm Sploit.ani Codice di exploit che richiama un altro URL e inserisce C:\DKLOAD.exe nella macchina della vittima Ccurs.ani CODICE DI EXPLOIT CHIAMA http://195.225.176.25/user6/xw.exe Msjid.jar CODICE di exploit JAR CODIFICATO Possibile nuovo collegamento a se stesso Win32.exe Count5.htm Pagina VBScript CREA C:\Q123.vbs C:\sm.exe CHIAMA http://69.50.177.102/x93/runsvc36.exe Codice di esploit Jar Java (count.jar)caricato. Funzioni sconosciute al momento Targ.chm:target.htm Guida compilata Microsoft MS-ITS caricata CODICE di exploit ESEGUE win32.exe Xw.exe CODICE di exploit Aggiunge una chiave di esecuzione chiamata MSSUsrv Possibile chiamata ad altri 2 domini Q123.vbs/sm.exe - Cerca di aggiungere un servizio (sm.exe) - Cerca di fermare numerosi fi r ew a l l personali noti (sygate, outpost ecc.) Runsvc36.exe Possibile codice di exploit per backdoor Funzioni sconosciute al momento Figura 1.3 Percorso di distruzione del malware. Libro.indb 12 10/04/2006 13.20.46

ANALISI DI LOG: QUESTIONI GENERALI 13 Figura 1.4 Malware Bro. 1.6 Conclusione Quando si cerca di combinare eventi relativi alla sicurezza da più piattaforme e tecnologie, la necessità di creare un deposito centrale per tali log diventa evidente. Un altro requisito è la necessità di comunicare dati utili e sensati alla dirigenza e ad altre unità commerciali. Un organizzazione per la sicurezza che non è in grado di comunicare bene e spesso cessa la sua attività oppure trova ostacoli finanziari e politici quando ha necessità di assistenza. Inoltre, se l organizzazione per la sicurezza cerca di capire cosa comunicare, iniziare semplicemente a comunicare per esempio numerosi elenchi Top 10 con la richiesta di feedback. Quando i dirigenti del cliente o dell organizzazione vedono la prima versione, richiedono una modifica dopo l altra fino al raggiungimento di un formato che abbia un significato per l organizzazione. Inoltre, la fornitura di rapporti ad alto livello e tecnici dei dati per incidente è utile per documentare emissioni sistematiche con la rete o gli utenti. In aggiunta la dirigenza si aspetta risposte alle domande quando la situazione è stata identificata, non prima. Infine, se si è in grado di fornire una vista indipendente dalla piattaforma degli eventi e dei casi relativi alla sicurezza, quale per esempio una pagina Web di stato, la dirigenza ha la sensazione che l organizzazione per la sicurezza faccia il proprio lavoro. Libro.indb 13 10/04/2006 13.20.46

14 CAPITOLO 1 1.7 Soluzioni in codice Gli esempi presentati nel capitolo sono soluzioni veloci dipendenti dal modo in cui si implementano alcune soluzioni nei capitoli successivi. Tuttavia sono sufficientemente funzionanti in modo da poter valutare se funzionano nella propria organizzazione. Dopo ciascun grafico di esempio si trova il codice, molto commentato per dare alcune idee su come e dove si può desiderare di correggere il codice per adattarlo meglio alla propria organizzazione. Panoramica generale per la dirigenza: HTML Come detto nel paragrafo precedente, una vista delle informazioni ad alto livello, chiara e concisa è necessaria per consentire alla dirigenza di comprendere le minacce affrontate dalla rete. La soluzione che gli autori provano con successo è il formato orientato ai report mostrato nella Figura 1.5. Figura 1.5 Manager View. Di seguito si trova il codice necessario alla creazione di Manager View in HTML e PHP. Tuttavia nell esempio è stata aggiunta manualmente la tabella delle informazioni DNS. Nei capitoli successivi verrà descritto come estrarre i dati in modo dinamico da altri file. ################# manager _ main.php ################### # Questo e il file che visualizza l esempio precedente # I commenti sono visualizzati nel codice # I commenti HTML sono <! Commento --> # I commenti PHP sono // Libro.indb 14 10/04/2006 13.20.46

ANALISI DI LOG: QUESTIONI GENERALI 15 <HTML> <HEAD> <TITLE> Report Portal </TITLE> <SCRIPT TYPE= text/javascript > <! Questa e una funzione javascript che crea l apertura di una nuova finestra html quanto l utente --> <! Fa clic sul pulsante GO --> function dropdown(mysel) { var mywin, myval; myval = mysel.options[mysel.selectedindex].value; if(myval) { if(mysel.form.target)mywin = parent[mysel.form.target]; else mywin = window; if (! mywin) return true; mywin.location = myval; } return false; } //--> </SCRIPT> </HEAD> <?php // Questo avrebbe potuto essere fatto solo con html // Crea una tabella HTML con 2 colonne di colore blu echo <table cols= 2 border= 1 cellpadding= 10 cellspacing= 0 align= center width= 100% ; echo <TR><td width=15% bgcolor= #0099FF valign= top > ; echo </td> ; echo <td width=65% valign= top bgcolor= #33CCFF > ; echo <B> MANAGERS REPORT -Quick </B></TD></TR> ; echo <TR><TD> ; // Questo utilizza il javascript precedente nello spazio HTML HEAD per completare le azioni dei form?> <FORM ACTION= http://10.0.4.100/lite _ portal/litestatus.php METHOD=POST onsubmit= return dropdown(this.gourl) > <SELECT NAME= gourl > <OPTION VALUE= >Choose a Report <OPTION VALUE= http://10.0.4.100/lite _ portal/reports/malware.php >Malware Blocking Report <OPTION VALUE= http://10.0.4.100/lite _ portal/reports/webusage.php >Web Usage Report <OPTION VALUE= http://10.0.4.100/lite _ portal/reports/perimeter.php >Perimeter Defense Report <! E possibile aggiungere altri collegamenti a questo quando si precaricano piu informazioni nei report preparati -- > </SELECT> Libro.indb 15 10/04/2006 13.20.46

16 CAPITOLO 1 <INPUT TYPE=SUBMIT VALUE= Go > </FORM> <?php echo </td> ; // Questa tabella viene riempita con informazioni statiche tuttavia con alcuni semplici script php e possibile // prendere facilmente dati dinamici letti da un file e inserirli in un array da creare // ESEMPIO // echo <TR><TD> Top SITE IP </TD></TR> ; // echo <TR><TD> ; print _ r( $Top _ DNS[2]); </TD></TR> ; // Repeating for each value in the file echo <TD> ; echo <TABLE border=0 width=100% ><TR><TD> <B> Manager Report </B></TD></TR> ; echo <TR><TD> DATE </TD></TR> ; echo <TR><TD><B> Outages </B> </TD></TR> ; echo <TR><TD>None Planned within the next 24 hours </TD></TR> ; echo <TR><TD> <BR> </TD></TR> ; echo <TR><TD><B> Top DNS Domains Requested </B><BR> </TD></TR> ; echo <TR><TD>TOP SITE IP </TD></TR> ; echo <TR><TD>10.0.4.20</TD></TR> ; echo <TR><TD>TOP.com IP </TD></TR> ; echo <TR><TD>www.weather.com </TD></TR> ; echo <TR><TD>TOP.net IP </TD></TR> ; echo <TR><TD>a1921.aol.akamai.net</TD></TR> ; echo <TR><TD>TOP.org IP </TD></TR> ; echo <TR><TD>www.weta.org</TD></TR> ; echo <TR><TD>TOP.edu IP </TD></TR> ; echo <TR><TD>osc.edu</TD></TR> ; echo <TR><TD>TOP.biz IP </TD></TR> ; echo <TR><TD>mailer.6figurejobs.biz</TD></TR> ; echo <TR><TD>TOP.us IP </TD></TR> ; echo <TR><TD>acps.k12.va.us</TD></TR> ; echo <TR><TD>TOP foreign IP</TD></TR> ; echo <TR><TD>211.11.33.124 </TD></TR> ; echo </table> ; echo </td></tr> ; echo </table> ;?> ################### <Report Name> Report.php ###################### # Questo esempio di base puo essere usato per creare un report precaricato con # i dati che si desidera visualizzare mediante grafici e tabelle # Questo esempio usa grafiche.png statiche ma le grafiche sono generate # da dati dinamici una volta al giorno. Consultare i dettagli sulle soluzioni IDS del Capitolo 2 per i dettagli # relativi alla generazione di grafiche dinamiche Libro.indb 16 10/04/2006 13.20.47

ANALISI DI LOG: QUESTIONI GENERALI 17 # Si continua a usare tabelle HTML perche possono essere annidate per creare # un layout molto dettagliato. Inoltre e piu facile creare modelli e quindi cercare di usare # qualcosa di fantasioso per la formattazione. <?php echo <CENTER> <B> Malware Blocking Information </B></CENTER> ; echo <table> ; echo <TR><TD><img src=dns _ malware.png></img></td> ; echo <TD><img src=dns _ malware _ breakdown.png></img></td></tr> ; echo </Table> ;?> Panoramica generale per i team dedicati alla sicurezza: HTML Per i team dedicati alla sicurezza, è stata realizzata una pagina di stato da utilizzare come punto centrale per informazioni su eventi, notizie e sito del cliente. Per i team IDS, è stata realizzata una singola pagina Web in grado di offrire loro tali informazioni. Nel suo formato attuale la pagina può interrogare eventi in database MySQL, fornire informazioni di stato dai sensori e dai loro processi, fornire lo stato esterno da USCERT, ISS, e SANS e interrogare eventi da altre piattaforme IDS mediante la ricerca di file di testo con ricerche di schemi di parole (Figura 1.6). Figura 1.6 Un esempio di stato di IDS. Di nuovo, il codice di seguito è necessario alla creazione dello schema. La differenza si trova nel fatto che, poiché quasi tutti i componenti dello schema vengono caricati in modo dinamico, sono stati inseriti esempi di ciascun componente in una o più pagine di codice incluse. Per esempio, le Libro.indb 17 10/04/2006 13.20.47

18 CAPITOLO 1 tabelle trovate nella pagina principale di fatto sono query MySQL dinamiche dall impostazione BASE di snort, mentre lo stato del sensore viene realizzato con una chiamata di funzione php exec. ################ index.php ################################# # Questa e la pagina generata in precedenza con la maggior parte delle chiamate di database # commentate ma ancora presenti per le note <HTML> <table cols=3 border=1 cellpadding=10 align=center width=100% > <tr><td> <?php include( header.html );?> </TD></tr> <TR><TD colspan=3> <table border=1 width=100% colspan=3> <tr> <td width=15% bgcolor= #0099FF valign= top > <?php include( navbar.html );?> </td> <td width=65% valign= top bgcolor= #33CCFF > <?php include ( actualindex.html );?> </td> <td width=20% valign=top> <?php include feeds.php ;?> </td> </tr> </table> </TD></TR> <TR><TD colspan=3> <?php include ( footer.html );?> </TD></TR> </TABLE> </HTML> ######################## Navbar.html ########################## # Di nuovo codice eliminato o commentato <HTML> <PRE> <dl> <dt><a HREF= http://10.0.1.100/base/ target= _ blank > Snort BASE</a></dt> <dt><a HREF= http://10.0.1.6/idabench/ target= _ blank >IDABENCH</A></dt> <dt><a HREF= http://10.0.1.100/snortperf/ target= _ blank > Snort Performance Metrics</A></dt> <dt><a HREF= http://10.0.4.100/websvn/ target= _ blank > IDS Change Control</A></dt> <dt><a HREF= http://10.0.1.100/idsdaily/ target= _ blank > IDS Reporting</A></dt> <!--- If you have this company s tools enable below <dt><a HREF= http://10.0.1.10:3994/siteprotector target= _ blank >ISS Web Libro.indb 18 10/04/2006 13.20.47

ANALISI DI LOG: QUESTIONI GENERALI 19 Frontend</A></dt> -- > <dt><a HREF= http://10.0.1.100/timeconvert.php target= _ blank > Bro Time Conversion Tool</A></dt> </dl> </PRE> </HTML> ####################### Actualindex.html ###################### # Questo file e dove deve essere pubblicata la maggior parte delle notifiche del team # e degli elementi importanti # Anche il punto in cui possono essere comunicate alcune registrazioni secondarie, come # dati argus, IP o parole chiave bro hot, eventi NFR, ecc. <HTML> <CENTER> Main </CENTER> <HR></HR> <B> NEWS </B> <BR> - Work is continuing on a full deployment of the change control using subversion <BR> <HR></HR> <BR> <BR> <B> Last Entry in IDS log </B> <BR> <!-- <iframe width=100% height=350 src= http://10.0.4.100/idsdaily/0?cmd=last ></iframe> --> <BR><BR> <B> SNORT EVENTS </B> <BR> Last 10 Snort Events <!-- <PRE> dovrebbe essere una visualizzazione degli ultimi 10 eventi di snort </PRE> --> </HTML> //<?php /// Connessione Mysql Questo inizializza e crea una connessione di database /// aperta per l utilizzo da parte della pagina //$link = mysql _ connect( 10.0.4.100, aciduser, acidweb ); //if (!$link) { // die( Could not Connect:. mysql _ error()); // } //echo Connected successfully ; // Query Mysql query mysql per i dati //$result = mysql _ query( SELECT timestamp, sig _ name, ip _ src, ip _ dst,layer4 _ dport FROM acid.acid _ event ORDER BY timestamp DESC LIMIT Libro.indb 19 10/04/2006 13.20.47

20 CAPITOLO 1 0,10; ); //if (!$result) { //die( Invalid query: ($result). mysql _ error()); //} //echo <HTML><TABLE border=1> ; /// Poiche i risultati sono inseriti in un array multidimensionale si /// formatta il modo in cui si desidera l output. In sostanza per ogni riga di risultati /// si converte l indirizzo IP nella notazione a punti e si rende ogni riga una riga /// di una tabella HTML //while ($row = mysql _ fetch _ assoc($result)) { // print _ r($row); echo <BR> ; //$sip _ address = long2ip($row[ ip _ src ]); //$dip _ address = long2ip($row[ ip _ dst ]); //echo <TR> ; //echo <TD> ; echo $row[ timestamp ]; //echo </TD><TD> ; echo $row[ sig _ name ]; //echo </TD><TD> ; echo $sip _ address ; //echo </TD><TD> ; echo $dip _ address ; //echo </TD><TD> ; echo $row[ layer4 _ dport ]; //echo </TD> ; // print _ r($row); print \n ; // echo </TR> ; //} //echo </TABLE><BR> Last 10 Unique Events ; // Mysql Query //$result2 = mysql _ query( SELECT DISTINCT(sig _ name),timestamp,ip _ src,ip _ dst,layer4 _ dport FROM acid.acid _ event ORDER BY timestamp DESC LIMIT 0,10; // ); //if (!$result2) { //die( Invalid query: ($result2). mysql _ error()); //} //echo <HTML><TABLE border=1> ; //while ($row = mysql _ fetch _ assoc($result2)) { // print _ r($row); echo <BR> ; //$sip _ address = long2ip($row[ ip _ src ]); //$dip _ address = long2ip($row[ ip _ dst ]); //echo <TR> ; //echo <TD> ; echo $row[ timestamp ]; //echo </TD><TD> ; echo $row[ sig _ name ]; //echo </TD><TD> ; echo $sip _ address ; //echo </TD><TD> ; echo $dip _ address ; //echo </TD><TD> ; echo $row[ layer4 _ dport ]; //echo </TD> ; // print _ r($row); print \n ; // echo </TR> ; //} Libro.indb 20 10/04/2006 13.20.47