Gruppo di lavoro Big data for security evaluation Analisi di tracce di esecuzione ed estrazione di modelli graph-based UNINA, UNICAL Feb. 2014.

Slides:



Advertisements
Presentazioni simili
DiFMon Distributed Flow Monitor Claudio Mazzariello, Francesco Oliviero, Dario Salvi.
Advertisements

ARI sezione di Parma Sito ariparma ARI sezione di Parma.
Profilazione d’utente nei sistemi di e-commerce
Classe III A A.s – 2010 Programma di Informatica
Programmazione con socket
1 I KEYLOGGERS COSA SONO CONTROMISURE UN ESEMPIO.
Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A CDL in Ingegneria Elettronica - A.A Strutture dati dinamiche.
Introduzione al linguaggio C
INFORMATICA Strutture iterative
Come programmare servizi di rete?
Dataflow Analysis. Tino CortesiTecniche di Analisi di Programmi 2 Dataflow Analysis Il punto di partenza per una dataflow analysis è una rappresentazione.
Marco LionelloMining Control Flow Graph for Crosscutting Concerns 1 UNIVERSITÀ CA FOSCARI DI VENEZIA Facoltà di Scienze Matematiche, Fisiche e Naturali.
Strategie per la sicurezza degli host e la sorveglianza delle reti Danilo Bruschi Mattia Monga Dipartimento di Informatica e Comunicazione Università degli.
Introduzione alla Object Oriented Programming, OOP E.Mumolo. DEEI
E.Mumolo. DEEI Introduzione alla programmazione ad oggetti in C++ Object Oriented Programming, OOP E.Mumolo. DEEI
Allocazione dinamica della memoria
Corso di Informatica (Programmazione)
L.Lista Design P atterns Luca Lista. L.Lista Design Patterns Elementi di software OO riutilizzabile Piccoli insiemi di classi che collaborano implementando.
D2I - Tema 3 Analysis and comparison of methods and algorithms for data mining.
Corso di Informatica Applicata - © 2005 Saverio De Vito Corso di Informatica Applicata Esercitazione Università degli studi di Cassino Corso di Laurea.
Corso di Informatica Applicata Lezione 6
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
Le classi Definizione di classe Attributi e metodi di una classe Costruttori e distruttori Private e public Funzioni friend Il puntatore this.
Strutture di controllo in C -- Flow Chart --
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
DIAGRAMMI DI FLUSSO Notazione grafica usata per descrivere in modo intuitivo le azioni di cui è fatto un algoritmo. Viene usata per descrivere i passi.
Fondamenti di informatica Linguaggio C Main Program: Architettura di un PC Diagrammi di flusso Linguaggio C.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
UN SISTEMA DI SUPPORTO ALLA DETERMINAZIONE DI ANOMALIE NEL TRAFFICO DI RETE Tesi di Laurea di: Luca VESCOVI Correlatori: Ing. Aldo Franco DRAGONI Ing.
E. Ferro / CNAF / 14 febbraio /13 GRID.it servizi di infrastruttura Enrico Ferro INFN-LNL.
Fibonacci Heaps e il loro utilizzo nell’algoritmo di Prim
Situazione attuale delle reti e problematiche
Algoritmi proprietà e caratteristiche. ottobre 2002(c) Fabrizio d'Amore, IGEA descrizione degli algoritmi codice e pseudo-codice codice e pseudo-codice.
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Sistemi e Tecnologie Informatiche Requisiti per la realizzazione di un buon programma.
Grafi Rappresentazione mediante liste di adiacenza:
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Esperimenti di testing della JVM basati sullutilizzo di workload di stress e di motori inferenziali Facoltà di Ingegneria Corso di Studi in Ingegneria.
Modelli predittivi F. De Santis, L. Bolognini Convegno Misurare la giustizia? Roma, ottobre 2004.
Esercitazioni di Ingegneria del Software con UML
Complessità di un algoritmo
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Vannucci Roberto (5BM), De Nardin Axel (5AM)
I processi.
Deliverable D5 “Validation and Evaluation” Progress.
La Piattaforma del Credito Approfondimenti - integrazione Bergamo, 16 marzo 2010.
Basi di dati distribuite Prof. M.T. PAZIENZA a.a
Progetto MIUR SPA.DA. Riunione Genova 7 Giugno 2002.
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Pile e Code.
Università Degli Studi di Napoli “ Federico II”
Kick off GeoPKDD - Pisa, Data Warehouse Spaziali idee preliminari maria luisa damiani dico - milano.
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Laboratorio di Servizi Web - servlet - Ardissono 1 Chiarimenti su Servlet Note aggiuntive su architettura di applicazione web che usa Servlet per gestire.
OSSEC HIDS, Host Based Intrusion Detection System
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
Service Composition Analysis Progetto Reti di Calcolatori-LS prof. A.Corradi tutor S.Monti Piattaforma di gestione ed analisi statistica di workflow in.
SAMOT SISTEMA AUTOMATICO DI MONITORAGGIO TRAFFICO MCA MODULO CORRELAZIONE ALLARMI FRANCO NONNE GIUSEPPE FRISONI.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Realizzazione software
DATA MINING.
Proxy Based Infrastructure for LBS tailoring Paolo Lutterotti matr Reti di Calcolatori LS, A.A. 2005/06.
TOE Livello Applicativo Target Of Evaluation: livello applicativo Analisi applicazione GP (prenotazioni visite specialistiche) Analisi applicazione GA.
Consorzio COMETA - Progetto PI2S2 UNIONE EUROPEA SAGE – Un sistema per l’accounting dello storage in gLite Fabio Scibilia Consorzio.
Interazione Persona Computer prova di progetto Gruppo: IO Componenti: Carlo Solimando Sito analizzato:
XzelCloud Cloud Advanced Services on large-scale Federated Infrastructures Call ICT-7 (23 Apr ‘14) Marco Verlato (INFN-PD)
Monitoring applicativo SaaS Tutorial 30/09/2015. Finalità Il monitoraggio applicativo per verificare, quantificare e controllare l’automazione introdotta.
Introduzione a Weka Di Fabio Cassano
IV Corso di formazione INFN per amministratori di siti GRID Tutorial di amministrazione DGAS Giuseppe Patania.
Transcript della presentazione:

Gruppo di lavoro Big data for security evaluation Analisi di tracce di esecuzione ed estrazione di modelli graph-based UNINA, UNICAL Feb. 2014

Obiettivi Detection di errori che non “bloccano” il flusso di controllo (ad es. utilizzo malizioso di un web server) – Generazione di log di eventi rappresentanti tracce di esecuzione – Estrazione di modelli da log di eventi – Utilizzo dei modelli estratti quali modelli predittivi di attacco/malfunzionamento modelli descrittivi di comportamento lecito/atteso – Individuazione di “pattern d’interesse” in base alla conformance dei modelli

Architettura del sistema Event Collector (UNINA) Instrumented Software (rule-based logging) (UNINA) Model Extraction (UNICAL) Nominal model Conformance Analysis (UNICAL) Anomaly detection Extracted model Traces

Generazione delle tracce Il sistema target è suddiviso in moduli E0E0 E1E1 E3E3 E4E4 E2E2 E5E5 Una traccia di esecuzione cattura l’attivazione dei moduli e le interazioni tra essi

Eventi registrati Una traccia è composta da servizi e interazioni individuate da eventi prodotti durante l’esecuzione del programma API_EXPORT(const char *) ap_parse_vhost_addrs(pool *p, const char *hostname, server_rec *s){ // * logbus code * logAnEvent( SST, 113, 4 ); server_addr_rec **addrs; const char *err; /* start the list of addreses */ addrs = &s->addrs; while (hostname[0]) { // * logbus code * { logAnEvent( IST, 184, 4 ); /* LBFLAG */ err = get_addresses(p, ap_getword_conf(p, &hostname), &addrs, s- >port); logAnEvent( IEN, 184, 4 ); } if (err) { *addrs = NULL; // * logbus code * { logAnEvent( SEN, 113, 4 ); return err; } …

Esempio di traccia (Apache Web Server) EVENTONOMEMODULO IST ap_note_cleanups_for_socket_ex http_main SST ap_note_cleanups_for_socket_ex alloc SST ap_palloc alloc SEN ap_palloc alloc SST ap_close_fd_on_exec alloc SEN ap_close_fd_on_exec alloc SEN ap_note_cleanups_for_socket_ex alloc IEN ap_note_cleanups_for_socket_ex http_main SST ap_update_child_status http_main SEN ap_update_child_statushttp_main

Estrazione dei modelli nominali – Estrazione di modelli control-flow (graph-based) da tracce di eventi “leciti” mediante tecniche di process mining – Uso di metriche di log conformance per valutare la qualità del modello estratto (e quindi dell’algoritmo usato) Metrica di riferimento: Fitness – misura la % di eventi, presenti nel log, che sono conformi al modello – misura robusta rispetto alla presenza di rumore – sensibile in presenza di mix di scenari d’uso – Sperimentazione con vari algoritmi control-flow discovery, disponibili nella suite open-source ProM

Esperimenti per l’estrazione di modelli nominali Setting – Attività: Tipo interazione (IST,IEN,SST,SEN) + Funzione invocata – Input: tracce di esecuzioni “lecite” Criticità riscontrate – Modelli “spaghetti-like” (molti nodi e collegamenti ) di difficile comprensione – Presenza di molti loop e di nodi sconnessi (privi di nette dipendenze causali da/verso altri nodi) – Grado di fitness (conformità del modello) basso (≈75%)

Anomaly Detection – Analisi di “conformance” per riconoscere le tracce anomale (potenziali errori) Confronto fra una generica traccia (non classificata) ed il modello “nominale”, estratto dalle tracce lecite Fitness bassa vs al modello nominale indica che la traccia è anomala – Estrazione di modelli da log di eventi “ERRORE” Utilizzo dei modelli estratti quali modelli descrittivi di attacco/malfunzionamento

Esperimenti per la rilevazione di tracce “anomale” Risultati – Buoni risultati solo per alcune tracce di errore Modelli di attacco leggibili Fitness ≈ 20% (<< 75%, ottenuto, in media, su tracce corrette) – Altre tracce di errore non sono riconosciute come anomale rispetto al modello nominale Modelli di attacco spaghetti-like, non molto diversi da quello nominale Fitness > 70%

Conclusioni L’utilizzo di tracce di control flow comporta alcune problematiche: – elevato numero di attività (interazioni con funzioni) – tracce costituite da lunghe catene di eventi, con numerose ripetizioni delle attività Si rendono necessarie strategie per migliorare la conformance del modelli e la rilevazione di anomalie

Sviluppi futuri Strategia 1: Innalzare il livello di astrazione sugli eventi – Considerare solo le interazioni fra moduli (cioè per ogni evento si considera solo il modulo chiamante, ignorando la funzione invocata) – Uso di tecniche automatiche di astrazione e/o definizione di algoritmi per la scoperta di modelli control-flow block-structured Strategia 2: Estrarre più modelli control-flow parziali – Ogni modello descrive il comportamento normale di un sotto- processo (modulo o funzione di interfaccia di un modulo) E’ necessario modificare il sistema di logging per generare un insieme di sotto- tracce per ogni esecuzione dell’applicazione analizzata – Ogni modello descrive un particolare scenario di esecuzione del processo E’ necessario definire un metodo di clustering per partizionare le tracce in gruppi omogenei rispetto al control-flow (ogni gruppo sarà usato per indurre uno dei modelli)

Strategia 1: risultati preliminari Modello estratto con un algoritmo classico Input: eventi di tracce lecite, astratti al livello di modulo (chiamante) Risultati: modelli più leggibili Modello con algoritmo abstraction-based (le attività ed i flussi meno significativi non sono visualizzati)