Click here to load reader

Intrusion Detection Systems - home.deib. · PDF fileCos’è Snort ? Snort è un “multi-mode packet analysis tool”, fondamentalmente un IDS network based e ... Sniffer Mode (come

  • View
    213

  • Download
    0

Embed Size (px)

Text of Intrusion Detection Systems - home.deib. · PDF fileCos’è Snort ? Snort è...

Intrusion Detection Systems

Ing. Stefano Zanero Ing. Stefano Zanero Politecnico di MilanoPolitecnico di Milano

Introduzione, Tecnologie, Implementazione

Richiamiamo il punto chiaveContinuando a usare il paradigma classico Who are you? What can you do? complichiamo terribilmente le cose: una volta era il login/password, ora sono intrecci di criptografie.

Il principio dellidentificazione e dellassociazione ai permessi ancora fondamentale ma non scalafacilmente alle dimensioni di una WAN, o dellInternet

Gli hacker non utilizzano la forza, ma sfruttano le debolezze intrinseche dei sistemi. Il paradigma classico su scala di rete insicuro, ma non pu essere aggiornato.

Logica KISS: Keep It Simple, Stupid.

Bisogna trovare un nuovo paradigma che complementi quello classico, ovviando alle sue debolezze

Why are you doing this ?Torniamo alle origini: confidenzialit, integrit, disponibilit hanno un comune denominatore

Il sistema informatico ha uno scopo, e deve servire a quello scopo evitando compromissioni

Ogni violazione del paradigma CID visibile perch il sistema compie azioni anomale

Invece di limitarci a chiedere Who are you ? What can you do ? cerchiamo di capire: Why are you doing this?

INTRUSION DETECTION SYSTEM, rivelatore di intrusione

Intrusion Detection System

Un IDS non si sostituisce ai normali controlli, ma piuttosto cerca di scoprire i loro fallimenti

Chi entra in un sistema informatico abusivamente compie alcuni tipi di azione che un utente normale non farebbe mai; identificando queste azioni anomale possiamo scoprire un intruso

Due metodi principali per farlo:Anomaly Detection: determinare statisticamente modelli di comportamento normale, e segnalare eventuali deviazioni significative; conoscenza a posterioriMisuse Detection: confrontare gli eventi con schemipredefiniti di attacchi; conoscenza a priori

Tassonomia degli IDS (1)

Descrivere comportamento normale e segnalare deviazioni

In teoria, pu riconoscere ogni attacco

Dipende fortemente dal modello, dalle metriche e dalla scelta dei threshold

Le sue segnalazioni sono di tipo statistico

Descrivere i vari tipi di attacco informatico e riconoscerli

Riconosce solo gli attacchi per cui esiste una firma

Il modello di regole usate per esprimere gli attacchi pu avere problemi di espressivit

Le segnalazioni sono molto precise e possono essere usate per risposte attive

Anomaly Detection Model Misuse Detection Model

Tassonomia degli IDS (2)

Host Based: opera su una singola macchina Network Basedcontrolla il traffico sulla rete

Misuse detection: pessima idea?I sistemi di misuse detection hanno molti problemi ma ne presentano uno in particolare: la necessitdi gestire una knowledge base degli attacchi

Problemi di aggiornamento (solo gli attacchi conosciuti vengono segnalati) e di ingegnerizzazione delle signature (in qualsiasi modo vengano gestite...)

Problema del polimorfismo negli attacchi: ADMutate, encoding UTF...

Inoltre: problema di uncertain reasoning e sequenzialit

Anomaly Detection: i problemi

Scelta delle metriche (cosa misurare) Scelta dei threshold (soglia dallarme) e delle funzioniScelta dei modelli di base: cosa succede se lattacco compare solo in variabili che non abbiamo modellato ?Segnalazione di tipo statistico che va interpretata da un esperto umano

SNORT: a Lightweight NIDS

Cos Snort ?

Snort un multi-mode packet analysis tool, fondamentalmente un IDS network based e misuse based

Sviluppato dal famoso Martin Roesch

Snort disponibile al sito www.snort.org

Un database di regole disponibile su www.whitehats.com

Supporto tecnico commerciale: www.silicondefense.com

Appliance commerciali basate su Snort: www.sourcefire.com

Le caratteristiche

un packet sniffer studiato per essere leggero e performante

Basato sulle librerie Libpcap

Sistema di individuazione degli attacchi basato su regole

Sistema di plug-in per massima flessibilit

I tipi di plug-in

Preprocessore: esamina e manipola I pacchetti prima di passarli allengineDetection plugin: esegue dei test su un aspetto o campo del pacchettoOutput plugin: trasforma ed esporta i risultati dellanalisi

Modalit di utilizzo di snort

Sniffer Mode (come tcpdump)

Packet Logger Mode (come tcpdump, ma con pi opzioni di output)

NIDS Mode (attivazione delle regole, funzionalit complete)

Forensic Data Analysis Mode: come i precedenti, ma si d in pasto a Snort un dump di rete

Uso come NIDS

Vengono attivate tutte le componenti di snort

Sono disponibili online una grande quantit di regole, inoltre molto spesso vengono scritte e inserite nelle advisory

Regole e plug-in consentono di effettuare molti controlli: di base, misuse detection, ma anche controlli statistici e verifica di protocollo

Preprocessori per portscan detection, IP defragmentation, TCP stream reassembly, application layer analysis, ecc.

Gli output di SnortDatabase

MySQLPostgreSQLOracle

XML (SNML DTD del CMU/CERT)

Formato tcpdump/libpcap

Unified format specifico di Snort

ASCII

Syslog

WinPopup (SMB)

Architettura di Snort 1.x

Packet DecoderPreprocessori

(Plug-ins)Detection Engine

(Plug-ins)Plugin di Output

(Plug-ins)

Pacchetti sulla rete

Sniffing

Snort

Data Flow

Alerts/Logs

Molto veloce !

Veloce !

Preprocessori/output: la velocitdipende dallimplementazione

Snort 1.x Detection Engine

Lista linkata tridimensionale di regoleLa prima e la seconda dimensione contengono i nodi di dati da testare (parametri delle regole) La terza dimensione contiene la lista dei puntatori alle funzioni da usare per la comparazioneLengine viene valutato ricorsivamente sui pacchettiDetection a prima uscita: appena una regola fa match viene eseguito il comando e si passa al pacchetto successivo

Snort arriva senza problemi a 100Mb/sec di throughput

Rule HeaderAlert tcp 1.1.1.1 any -> 2.2.2.2 any

Rule Options(flags: SF; msg: SYN-FIN Scan;)

Alert tcp 1.1.1.1 any -> 2.2.2.2 anyAlert tcp 1.1.1.1 any -> 2.2.2.2 any

(flags: S12; msg: Queso Scan;)(flags: F; msg: FIN Scan;)

Tre regole di esempio

Alert tcp 1.1.1.1 any -> 2.2.2.2 anyRule Node

(flags: SF; msg: SYN-FIN Scan;)

(flags: S12; msg: Queso Scan;)

(flags: F; msg: FIN Scan;)

Option Node

La loro rappresentazione

RuleNode

RuleNode

RuleNode

RuleNode

RuleNode

OptionNode

OptionNode

OptionNode

OptionNode

OptionNode

OptionNode

OptionNode

OptionNode

OptionNode

OptionNode

OptionNode

avete capito lidea ?

I limiti di Snort 1.x

Centrato sul livello IP (singolo pacchetto)

Deframmentazione IP e reassembly di stream del TCP fatti su preprocessore e spesso sono diventati colli di bottiglia

Ancora pi spesso, I plugin di output risucchiavano inutilmente risorse!

Supporto per nuovi protocolli non ben modularizzato

Application layer non gestito dal decoding engine, lasciato completamente a chi scrive regole. Insomma, semplice descrivere regole per IP/TCP/UDP/ICMP/IGMP complesso descrivere HTTP, RPC, SMTP

Snort 2.0: nuova architetturaPi tipi di plug-in

Acquisizione di dati da vari formatiDecoder di traffico estensibile (protocol verification, stream analysis su multi-path) Regole multiformato (da DB, in XML)Detection engine a plug-in: Standard NIDS, Target-based IDS, Statistical IDS, Host-based IDS

Miglioramento nel pattern matching, tramite algoritmi Aho-Corasick; Boyer-Moore; set-wise Boyer-Moore-Horspool: tradotto, una velocit migliorata di 5 volte !

I plugin di output si attaccano a un processo secondario (barnyard-aia) che fa da buffer tra Snort e loutput

Configurare Snort

File di configurazione con esempi e readme:http://www.0xdeadbeef.info/

Scrittura delle regole e manuale:www.snort.org/docs/SnortUsersManual.pdf

Intrusion Signatures and Analysis (Northcutt, Cooper, Fearnow, Frederick)

Search related