Mostra tutti

Differenze tra Intrusion Detection System e Firewall ed analisi di Intrusion Prevention Systems

Differenze tra Intrusion Detection System e Firewall ed analisi di Intrusion Prevention Systems

Nella sicurezza informatica l’Intrusion Detection System o IDS è un dispositivo software o hardware (o a volte la combinazione di entrambi, sotto forma di sistemi stand-alone pre-installati e pre-configurati) utilizzato per identificare accessi non autorizzati ai computer o alle reti locali. Le intrusioni rilevate possono essere quelle prodotte da cracker esperti, da tool automatici o da utenti inesperti che utilizzano programmi semiautomatici.

Cosa è l’Intrusion Detection System

Gli IDS vengono utilizzati per rilevare tutti gli attacchi alle reti informatiche e ai computer. Questi attacchi includono gli attacchi alle reti informatiche tramite lo sfruttamento di un servizio vulnerabile, attacchi attraverso l’invio di dati malformati e applicazioni malevole, tentativi di accesso agli host tramite innalzamento illecito dei privilegi degli utenti, accessi non autorizzati a computer e file, e i classici programmi malevoli come virus, trojan e worm.

Un IDS è composto da quattro componenti:

  • uno o più sensori utilizzati per ricevere le informazioni dalla rete o dai computer
  • una console utilizzata per monitorare lo stato della rete e dei computer
  • un motore che analizza i dati prelevati dai sensori e provvede a individuare eventuali falle nella sicurezza informatica.
  • un database cui si appoggia il motore di analisi e dove sono memorizzate una serie di regole utilizzate per identificare violazioni della sicurezza. Esistono diverse tipologie di IDS che si differenziano a seconda del loro compito specifico e delle metodologie utilizzate per individuare violazioni della sicurezza. Il più semplice IDS è un dispositivo che integra tutte le componenti in un solo apparato.

Un IDS consiste quindi in un insieme di tecniche e metodologie realizzate ad-hoc per rilevare pacchetti dati sospetti a livello di rete, di trasporto o di applicazione.

Due sono le categorie base: sistemi basati sulle firme (signature) e sistemi basati sulle anomalie (anomaly). La tecnica basata sulle firme è in qualche modo analoga a quella per il rilevamento dei virus, che permette di bloccare file infetti e si tratta della tecnica più utilizzata. I sistemi basati sul rilevamento delle anomalie utilizzano un insieme di regole che permettono di distinguere ciò che è “normale” da ciò che è “anormale”.

È importante sapere che un IDS non può bloccare o filtrare i pacchetti in ingresso ed in uscita, né tanto meno può modificarli. Un IDS può essere paragonato ad un antifurto mentre il firewall alla porta blindata. L’IDS non cerca di bloccare le eventuali intrusioni, cosa che spetta al firewall, ma cerca di rilevarle laddove si verifichino.

Le attività e i campi di applicazione di un Intrusion Detection System sono vari, al punto che spesso vengono gestiti da diversi software, che nel loro insieme provvedono ad accorgersi dei tentativi di attacco o scansione di un sistema, prevedere meccanismi di notifica e reazione secondo eventi anche proattivi in grado di bloccare sul nascere le comunicazioni con IP da cui arrivano pacchetti ostili.

I meccanismi di individuazione di attività sospette sono diversi, ma generalmente si concentrano su:

  • verifica dei log di sistema o di specifici programmi per individuare attività anomale;
  • controllo dell’integrità dei file locali (modifiche sospette possono essere sintomo di un’avvenuta irruzione);
  • monitoring dei pacchetti destinati all’host, sia per reagire a pattern di attacco noti che per accorgersi di un port scanning remoto, generalmente prologo di un tentativo di intrusione.

Individuazioni delle violazioni e individuazioni delle anomalie

Le tecniche di rilevamento intrusione possono essere divise in misuse detection, che usano pattern di attacchi ben conosciuti o di punti deboli del sistema per identificare le intrusioni, ed in anomaly detection, che cercano di determinare una possibile deviazione dai pattern stabiliti di utilizzazione normale del sistema. Un misuse detection system, conosciuto anche come signature based intrusion detection system, identifica le intrusioni ricercando pattern nel traffico di rete o nei dati generati dalle applicazioni.

Questi sistemi codificano e confrontano una serie di segni caratteristici (signature action) delle varie tipologie di scenari di intrusione conosciute. Queste caratteristiche possono essere, ad esempio, i cambi di proprietà di un file, determinate stringhe di caratteri inviate ad un server e così via. I principali svantaggi di tali sistemi sono che i pattern di intrusione conosciuti richiedono normalmente di essere inseriti manualmente nel sistema, ma il loro svantaggio è soprattutto di non essere in grado di rilevare qualsiasi futura (quindi sconosciuta) tipologia di intrusione se essa non è presente nel sistema. Il grande beneficio che invece hanno è quello di generare un numero relativamente basso di falsi positivi e di essere adeguatamente affidabili e veloci.

Per ovviare al problema delle mutazioni sono nati gli anomaly based intrusion detection system, che analizzano il funzionamento del sistema alla ricerca di anomalie. Questi sistemi fanno uso di profili (pattern) dell’utilizzo normale del sistema ricavati da misure statistiche ed euristiche sulle caratteristiche dello stesso, per esempio, la cpu utilizzata e le attività di i/o di un particolare utente o programma. Le anomalie vengono analizzate e il sistema cerca di definire se sono pericolose per l’integrità del sistema. Spesso questi sistemi sono basati su tecnologie derivate dall’intelligenza artificiale in modo da poter imparare dai propri errori a da non risegnalare anomalie già identificate come non maligne.

Questi sistemi hanno una serie di regole che definiscono lo stato normale del sistema. Queste regole definiscono caratteristiche come il carico di rete, il tipo di protocolli di rete utilizzati, i servizi attivi, il tipo di pacchetti e altro. Tali regole vengono utilizzate per identificare le anomalie che vengono passate all’analizzatore che ne stabilisce la pericolosità. Le maggiori problematiche legate a tali sistemi sono principalmente legate alla selezione delle caratteristiche del sistema da adottare, queste possono variare enormemente a seconda dei vari ambienti di calcolo; inoltre alcune intrusioni possono essere soltanto rilevate studiando le relazioni che intercorrono tra gli eventi perché l’evento singolo potrebbe rientrare correttamente nei profili.

Analisi della rete o degli Host

Gli IDS si possono suddividere anche a seconda di cosa analizzano: esistono gli IDS che analizzano le reti locali, quelli che analizzano gli Host e gli IDS ibridi che analizzano la rete e gli Host.

  • Un Network Intrusion Detection System (o Nids) analizza il traffico di rete per identificare intrusioni, permettendo quindi di monitorare non solo un singolo host ma una rete completa. Si tratta di un sistema che legge (in gergo ‘sniffa’) il traffico che passa su un segmento di rete dov’è attestato, cercando tracce di attacchi. Il suo funzionamento è regolato in base a due principi: il signature matching con cui l’ids cattura il traffico e lo confronta con un database di firme di attacchi (database costantemente aggiornato dal produttore dell’ids) e il network analysis che entra in funzione quando il signature matching fallisce e che è in grado di rilevare anomalie nei flussi di traffico e quindi di rilevare anche quegli attacchi che non sono ancora stati scoperti come tali. Un esempio di Network Intrusion Detection System è Snort, uno degli IDS più conosciuti.
  • Un Network Node Intrusion detection system (NNIDS) analizza il traffico di rete che passa su un unico nodo.È da non confondere con Host-based intrusion detection system ,descritto sotto, che opera nei file all’interno del sistema.La differenza tra NNIDS e NIDS è che nel NNIDS il traffico analizzato è dell’unico nodo e non quello dell’intera rete.un esempio tipico del NNIDS è quello di installarlo in un dispositivo VPN in modo tale che il traffico venga analizzato una volta decriptato
  • Un Host based intrusion detection system consiste in un agente che analizza l’Host alla ricerca di intrusioni. Le intrusioni vengono rilevate analizzando i file di log del sistema, le system call, le modifiche al file system del computer (modifiche nel file delle password, nel database degli utenti e della gestione dei privilegi, ecc), e altre componenti del computer. Un esempio di questa tipologia è Aide.
  • Un Hybrid Intrusion Detection System combina i due approcci. Le informazioni recuperate dagli agenti in esecuzioni negli Host vengono integrate con le informazioni prelevate dalla rete locale. Un esempio di IDS ibrido è Prelude.

Sistemi passivi e sistemi attivi

Gli IDS si suddividono in due ulteriori categorie, gli IDS passivi e degli IDS attivi. I primi IDS quando rilevano una violazione della sicurezza informatica provvedono a notificarla all’operatore tramite la console ed eventualmente gli inviano una email. Gli IDS attivi oltre a notificare all’operatore una violazione della sicurezza provvedono a prendere delle opportune contromisure per eliminare o comunque isolare la violazione informatica.

Nei sistemi attivi l’eliminazione della violazione si ottiene usualmente riprogrammando la lista di controllo degli accessi del firewall in modo da impedire l’accesso agli indirizzi responsabili dell’attacco. Questa tipologia di IDS va accuratamente programmata dato che una falsa identificazione potrebbe bloccare un utente autorizzato.

Il firewall non è in grado di bloccare violazioni della sicurezza che avvengono dall’interno della rete locale. A questo scopo sono stati sviluppati gli Intrusion prevention system. Questi componenti contengono delle liste programmate dall’IDS che vengono utilizzate per decidere se un programma deve essere mandato in esecuzione o no. Questi componenti impediscono a worms o virus di diffondersi nei vari computer dato che il componente ne impedisce l’attivazione.

IDS basati su regole

Sono sistemi che sfruttano database, librerie e firme di attacco (o signature) per rilevare le intrusioni. Quando il traffico di rete oppure un’attività di rete corrisponde a una regola ben nota all’ids, questi segnala il tentativo di intrusione. Il limite principale è che l’affidabilità di tale strumento dipende interamente dalla tempestività con cui il database degli attacchi viene aggiornato.

Gli IDS basati sulle regole funzionano in due modalità: una preventiva e una reattiva e sono due modalità che cambiano la tempistica di azione e la possibilità di interazione.

Il primo approccio, di tipo reattivo, permette di completare alla perfezione la procedura di logging: il sistema avverte che si è verificato un attacco, anche se è trascorso qualche minuto dall’evento, provvedendo a notificarlo all’operatore tramite la console o inviando una e-mail. Diversamente l’approccio preventivo risponde in tempo reale all’attacco in corso consentendo di rintracciare la sua origine. Oltre ad avvisare all’amministratore la violazione, è in grado di prendere delle contromisure per eliminare, o comunque isolare, la violazione.

Questi due metodi hanno il grande problema di generare falsi positivi (attività anomale che non sono intrusive, ma che vengono segnalate come tali) e falsi negativi (tutte le attività che sono anomale e che non vengono rilevate e segnalate). L’uso di un solo metodo non può offrire una totale sicurezza; la situazione più grave si presenta nel caso dei falsi negativi, poiché può compromettere gravemente la sicurezza del sistema, ma anche un’eccessiva presenza di falsi positivi può portare a un’impossibilità di utilizzo del computer per un eccesso di avvisi di intrusione infondati.

IDS applicativi

L’application security è diversa dalla sicurezza di rete e degli host. Le applicazioni possono cambiare, ma l’obbiettivo di chi attacca è sempre lo stesso: accedere a un database. La maggior parte degli IDS applicativi hanno tre componenti: il primo è un sensore network-based o basato su host: un sensore di rete è collegato alla porta di analisi di uno switch, configurata per analizzare tutto il traffico di un database. Un sensore host è invece installato direttamente sul server applicativo. I sensori raccolgono le transazioni in SQL, le interpretano e determinano se il traffico esaminato deve generare un allarme. Se è così l’allarme viene passato al secondo componente strutturale: il console server. Questo server memorizza gli eventi registrati dai sensori ed è il nodo centrale per le operazioni legate alla loro gestione, come la definizione della policy e gli aggiornamenti. Il terzo ed ultimo componente è un semplice web server dal quale gli amministratori possono modificare le configurazioni dell’IDS, monitorare gli eventi in tempo reale e produrre report.

Differenza tra IDS e firewall

  • A differenza del firewall che ,con una Lista di controllo degli accessi, definisce un insieme di regole che i pacchetti devono rispettare per entrare o per uscire dalla rete locale,un IDS controlla lo stato dei pacchetti che girano all’interno della rete locale confrontandolo con situazioni pericolose già successe prima o con situazioni di anomalia definita dall’amministratore di sistema.
  • Un firewall può bloccare un pacchetto ma un IDS agisce in modo passivo cioè quando rileva la presenza di una anomalia genera un allarme senza pero’ bloccarla.
  • L’IDS agisce anche al livello del singolo Host facendo 2 snapshots successivi del sistema e confrontandoli per evendenziare situazioni di anomalia (per es aumento di privilegi dei file,un utente semplice diventa amministratore o un file system è stato cambiato)
  • Se un attacco è stato originato all’interno della rete locale, Lan, il firewall non può fare niente solo l’IDS può,analizzando la rete,scoprire situazioni di anomalia.
  • l’IDS (da solo) o il firewall (da solo) non possono garantire la sicurezza del sistema.Bisogna combinarli entrambi per poter aumentare il livello di sicurezza in una rete sapendo sempre che la sicurezza non è un prodotto ma un processo in continuo miglioramento

Il termine “firewall” in origine si riferiva a un muro destinato a confinare un incendio all’interno di un edificio. Gli usi successivi si riferiscono a strutture simili, come la lamiera che separa il vano motore di un veicolo o di un aereo dall’abitacolo. Il termine fu applicato alla fine degli anni ’80 alla tecnologia di rete che emerse quando internet era abbastanza nuovo in termini di uso e connettività globali. I predecessori dei firewall per la sicurezza della rete erano i router utilizzati alla fine degli anni ’80.

Definizione e funzionalità di un Firewall

Un firewall è un componente per la sicurezza informatica con lo scopo di controllare gli accessi alle risorse di un sistema filtrando tutto il traffico che tale sistema scambia con l’esterno. Il sistema, che si suppone sicuro e attendibile, protetto dal firewall può essere un singolo computer o una rete di computer (detta rete interna o rete locale o rete privata) mentre l’ambiente esterno con cui interagisce è tipicamente una rete che si suppone sconosciuta, insicura e non attendibile (detta rete esterna o rete pubblica).

Un firewall filtra il traffico sulla base di un insieme di regole che definiscono una policy di sicurezza. Esistono due politiche per l’applicazione delle regole:

  • policy default-deny: viene permesso solo ciò che viene dichiarato esplicitamente, il resto viene vietato;
  • policy default-allow: viene vietato solo ciò che viene dichiarato esplicitamente, il resto viene permesso.

Tutti i firewall utilizzano la politica default-deny poiché garantisce una maggiore sicurezza e una maggiore accuratezza nella definizione delle regole rispetto alla politica default-allow, anche se quest’ultima consente una configurazione più semplice.

L’analisi dei pacchetti che costituiscono il traffico, secondo i criteri di sicurezza formalizzati dalle regole, si traduce in una delle seguenti azioni:

  • allow: il firewall lascia passare il pacchetto;
  • deny: il firewall blocca il pacchetto e lo rimanda al mittente;
  • drop: il firewall blocca il pacchetto e lo scarta senza inviare alcuna segnalazione al mittente.

Di solito i firewall non prevedono il blocco del pacchetto e il rinvio dello stesso al mittente per evitare uno spreco di banda.

Un firewall può essere un software oppure un dispositivo hardware oppure una composizione di hardware e software. Si definisce appliance nel caso in cui sia realizzato come un dispositivo hardware provvisto di software integrato in grado di svolgere le funzione di firewall.

I firewall si dividono in host-based e network-based a seconda della natura del sistema che proteggono. Un host-based firewall, chiamato anche personal firewall, o firewall software, è un’applicazione software che controlla il traffico uscente ed entrante di un singolo computer. In particolare blocca le applicazioni installate sulla macchina a cui non è concessa la connessione con l’esterno. Un network-based firewall, detto anche network firewall  o firewall hardware, è un componente hardware stand-alone che viene posto sul confine di una rete in modo da filtrare tutto il traffico che questa scambia con l’esterno (per questo viene anche detto firewall perimetrale). I firewall hardware sono macchine che vengono progettate per la particolare funzione che devono svolgere e possono essere realizzate con hardware e software dedicati o con un server opportunamente configurato per eseguire solamente un firewall. Dato che vengono impiegate per separare una rete interna da una rete esterna, sono dotate di due schede di rete e presentano un sistema operativo minimale composto solo da software indispensabile per l’esecuzione del firewall. Per questo motivo i firewall hardware sono più sicuri e allo stesso tempo più difficili da configurare rispetto ai firewall software.

Limiti dell’Intrusion Detection System

  • Il tempo tra l’identificazione di un nuovo tipo di attacco e l’aggiornamento del database rappresenta una situzione molto pericolosa.In questo intervallo di tempo l’IDS signature-based non può identificare l’attacco.
  • I diversi errori e Bug dei software possono creare pacchetti corrotti e attivare falsi positivi
  • Errori dovuti a debolezze nel processo di autenticazione o debolezze dei protocolli usati non vengono considerati anomalie.L’IDS considera il traffico normale se grazie a una debolezza qualsiasi un attaccante riesce ad autenticarsi alla rete con tutti i privilegi a lui assegnati.
  • Un IDS non analizza pacchetti criptati.
  • Alcuni IDS tengono in considerazione l’indirizzo sorgente del pacchetto nel processo di analisi.Se l’indirizzo nel pacchetto non è quello effettivo del mittente,vedi IP spoofing,si potrebbe avere dei falsi negativi(che sono situzioni pericolose)
  • È molto difficile definire la baseline della rete(cioè la situazione considerata normale) se l’IDS è anomaly-based.questo potrebbe creare tanti falsi positivi(meno pericolo) o falsi negati(situazioni da evitare)

Elenco di alcuni dei programmi più noti per le attività di Intrusion Detection

  • Log Analyzers: sono programmi che monitorano le entry nei file di log di sistema e possono essere configurati per eseguire date operazioni in presenza di determinate righe di log. È importante che agiscano in tempo reale, dal momento che dopo una intrusione una delle prime occupazioni di un cracker è quella di cancellare le tracce eventualmente lasciate sui vari log.Alcuni prodotti che sono stati sviluppati in questa categoria sono:
  - Swatch Monitora in tempo reale ogni tipo di file
  - Logsurfer Ha caratteristiche simili a Swatch ma presenta alcuni miglioramenti, tra cui la possibilità di correlare gli output di diversi log e  propone un file di configurazione più complesso
  - LogWatch Installato di default su alcune distribuzioni Linux
  - Logcheck
  • File Integrity Checkers: aiutano ad individuare manipolazioni e generalmente registrano cambiamenti nella data di creazione o modifica di un file, alterazioni dei permessi, degli attributi o del contenuto di file di configurazione, binari di comandi più o meno comuni, testi di log ecc.I diversi prodotti in questa categoria sono:
 - Tripwire E' uno dei primi, più evoluti e utilizzati sistemi di Integrity Check.
 - Aide  Alternativa completamente Free a Tripwire
 - Integrit
 - Chkrootkit
  • Port Scans Detectors: sono sistemi per individuare e, quindi, sapere prima ancora di subire l’attacco quali IP remoti stanno raccogliendo informazioni sui propri sistemi.in questa categoria abbiamo:
 - ScanLogD  Viene eseguito come un demone, costantemente in monitoraggio di collegamenti a porte TCP locali
 - PortSentry  Da la  possibilità di bloccare tutti gli accessi dagli indirizzi che eseguono scan o azioni ostili.
  • Nids: un buon Nids è un ottimo strumento per avere un’idea dei vari pacchetti che arrivano ad una rete pubblica e, se ben configurato, può indubbiamente troncare sul nascere molti tentativi di intrusione.

Intrusion prevention systems (IPS)

Intrusion prevention systems (IPS), conosciuto anche come intrusion detection and prevention systems (IDPS),sono dei componenti attivi sviluppati per incrementare la sicurezza informatica di un sistema informatico. Le principali funzioni di questo sistema sono di individuare le attività dannose, registrarne le informazioni relative, tentare di bloccarle e segnalarle. Intrusion prevention systems sono un’estensione degli strumenti di intrusion detection system (IDS) perché entrambi controllano il traffico e le attività di sistema per identificare l’esecuzione di codice non previsto. A differenza dai componenti IDS, sono posizionati inline e sono abilitati a prevenire e bloccare le intrusioni identificate. Più specificamente, IPS può eseguire alcune azioni come mandare un allarme, eliminare pacchetti malevoli, resettare le connessioni e/o bloccare il traffico da un indirizzo IP attaccante. IPS può anche correggere gli errori CRC (Cyclic Redundancy Check), deframmentare pacchetti, evitare problemi di sequenza TCP e ripulire i livelli di trasporto e rete da opzioni indesiderate.

Classificazione degli IPS

Intrusion prevention system possono essere classificati in 4 tipologie:

  1. Network-based intrusion prevention system (NIPS): Controlla l’intera rete per il traffico sospetto, analizzando l’attività del protocollo.
  2. Wireless intrusion prevention systems (WIPS): monitora una rete wireless analizzando i protocolli di rete.
  3. Network behavior analysis (NBA): esamina il traffico di rete per identificare le minacce che generano flussi di traffico inusuali,alcune forme di malware e violazioni delle politiche.
  4. Host-based intrusion prevention system (HIPS): viene installato un pacchetto software che controlla un singolo host per attività sospette, analizzando gli eventi che si verificano all’interno di quella ospite.

Metodi di rilevazione

La maggior parte dei sistemi IPS utilizza uno dei tre metodi di rilevamento: signature-based, statistical anomaly-based, and stateful protocol analysis.

  1. Signature-Based Detection: Signature-based IDS controlla i pacchetti nella rete e si confronta con schemi di attacco pre-configurati e pre-determinati conosciuti come firme.
  2. Statistical anomaly-based detection: Un IDS basata su un’anomalia statistica determina la normale attività di rete, come che tipo di larghezza di banda viene generalmente utilizzata, quali protocolli vengono utilizzati, quali porte e periferiche son collegate. Avvisa l’amministratore o l’utente quando viene rilevata una anomalia.
  3. Stateful Protocol Analysis Detection: Questo metodo identifica le deviazioni degli stati di protocollo confrontando eventi osservati con “profili predeterminati di attività normali.”

Che tipo di IDS (sistema di rilevamento delle intrusioni) utilizzare?

Come abbiamo visto ci sono molti tipi di IDS tra cui scegliere. La prima cosa da fare è studiare le risorse del computer che si desidera proteggere e riconoscere le risorse più importanti del computer che dovrebbero ottenere un livello superiore di supporto di sicurezza. Un HIDS (sistemi di rilevamento delle intrusioni basati su host) deve essere utilizzato quando si desidera proteggere una particolare risorsa host di valore. Un NIDS (sistemi di rilevamento delle intrusioni di rete) dovrebbe essere utilizzato per la consapevolezza generale della rete e come rivelatore di allarme rapido in vari host.

È necessario scegliere un IDS che supporti la topologia di rete, le piattaforme del sistema operativo, le risorse e valutare l’esperienza di chi va a gestirle. Se si dispone di un’ importante quantità di traffico wireless nelle aree comuni, si consiglia di investire in un IPS wireless. Se avete collegamenti ad alta velocità da monitorare, assicuratevi che il vostro IDS sia stato valutato e testato allo stesso livello di traffico.

 

libro vita da hacker