sniffing

Modalità promiscua sotto i riflettori

In questo articolo spiegherò cos’è la modalità promiscua, come funziona, in quali situazioni ha senso utilizzarla, e quando invece è del tutto inutile.

Vediamo innanzitutto cos’è un indirizzo MAC e come funziona la modalità promiscua. Ogni scheda di rete (o NIC) di un pc/server ha associato direttamente nell’hardware un codice alfanumerico chiamato indirizzo MAC (Media Access Control), che è costituito da 48 bit univoci definiti dal produttore della scheda di rete. Di default, ogni scheda è configurata in modo tale da accettare solamente i pacchetti che sono destinati alla scheda stessa, rifiutando tutti quelli destinati ad indirizzi MAC differenti. E’ adesso che entra in gioco la modalità promiscua :-). Questa è una tecnica che permette di abilitare una scheda di rete alla ricezione di TUTTI i pacchetti in transito sulla rete a cui è collegata, non solo quelli destinati alla scheda di rete in oggetto. Mettere la propria scheda in modalità promiscua, e più in generale osservare il traffico in transito all’interno di una rete, prende il nome nel gergo informatico di sniffing (sniffare in italiano), tradotto letteralmente con “annusare, fiutare”. Da notare però che questa modalità è sempre disattivata al momento che una scheda di rete esce di fabbrica (per ovvie ragioni ;-)).

Continua a leggere

Annunci
wargames

Lavorare nel settore “sicurezza informatica”

Da quando ho finito l’università e mi sono laureato ho iniziato seriamente ad interessarmi al settore della sicurezza in rete, o più in generale della sicurezza informatica. Non che prima non mi interessasse questo ambito, anzi, mi attirava molto il mondo un po’ underground degli hacker, degli worm e dei cavalli di troia, quello visto nei film in cui il ragazzino adolescente riesce in pochi attimi ad entrare in qualche mega computer della CIA. Il problema è che non avevo mai avuto veramente il tempo ma anche la voglia durante tutto il periodo universitario di interessarmi a questo mondo, dato che il carico di studio era davvero moooooooolto elevato! Solo con la tesi finale sono riuscito a scegliere un argomento che mi interessasse davvero (strumenti per l’anonimato in Rete), e da lì ho capito quale sarebbe stato il mio futuro :-D… Finita l’università ho deciso poi di cercare un master/corso che avesse come argomento principale proprio la sicurezza, ma data l’impossibilità di frequentare un master a Roma o Milano (quota dai 6000/7000 euro in su più i soldi necessari per vitto e alloggio!) ho optato per un corso disponibile a Firenze: il Cisco CCNA Security. […]

Continua a leggere

[Virtualizzazione] Cluster in HA e Disaster Recovery

Sempre più diffusi sono i sistemi cluster, costituiti da gruppi di computer (tipicamente server) collegati tra loro ed in grado di lavorare insieme. Il sistema cluster minimo prevede l’utilizzo di due nodi collegati tra loro. Nello specifico esistono tre tipi di cluster:

* attivo/passivo, detto anche cluster in HA (High Availability), o anche cluster failover;
* attivo/attivo ad alte performance, o cluster di nodi che lavorano in parallelo;
* attivo/attivo con bilanciatore di carico (NLB, Network Load Balancing).

Il primo tipo di cluster viene anche definito HA (High Availability), e la sua funzionalità è quella di garantire sempre un determinato servizio. Tale servizio viene erogato dal computer attivo, ma qualora dovesse verificarsi un malfunzionamento, il sistema cluster provvederebbe ad avviare immediatamente uno degli altri nodi, che entrerebbe in sostituzione di quello appena guastato. Generalmente questo tipo di cluster adotta il supporto dei dischi di Quorum per condividere con tutti i nodi i dati precedentemente utilizzati dalla macchina che è andata in failure. Il secondo tipo di cluster è costituito da nodi che lavorano in parallelo per garantire elevate prestazioni. Ogni processo sottomesso al sistema cluster viene suddiviso tra le macchine che compongono il sistema. L’ultimo tipo di cluster è quello attivo/attivo, in cui tutti i nodi che lo compongono sono sempre attivi, e vi è un bilanciatore di carico che distribuisce le richieste al nodo meno occupato. […]

v

Salvare le impostazioni del firewall iptables in Linux

Netfilter è un modulo del kernel Linux che permette di gestire i pacchetti in transito attraverso il sistema, e può essere dunque utilizzato sia per funzioni di NAT che come firewall attraverso il comando iptables. In questo piccolo howto si vedrà in che modo è possibile salvare una configurazione di iptables, dopo che sono state definite nuove regole.

Innanzitutto è importante ricordare che tutte le modifiche apportate con iptables sono immediate, ossia dopo che è stato inserito un certo comando, quella regola risulta subito attiva. Dunque, bisogna prestare la massima attenzione durante la configurazione del firewall, soprattutto quando si agisce su un sistema da remoto, poiché una regola errata al momento sbagliato chiude subito fuori da tutto! Buona norma prima di inserire le regole con la shell è quella di scrivere tutte le regole iptables in un file testuale, con un qualsiasi editor di testo, in modo da poter osservare e controllare il tutto prima di digitare i comandi sulla shell. E’ importante ricordare anche che lo stato del firewall rimane tale solo fino al riavvio, momento in cui le regole inserite a sistema avviato sono “azzerate” e vengono invece caricate le impostazioni salvate. Nel caso peggiore in cui si viene chiusi fuori dal firewall mentre si stanno creando le regole (e prima di averle salvate!), è necessario “solamente” riavviarlo, operazione semplice se agiamo in locale ma più complessa se siamo da remoto :-(. […]

forensic science

Security ed Anti-Forensic nell’ambito della rete aziendale

Al convegno e-privacy del 28 maggio 2010 mi ha particolarmente interessato una discussione riguardante le tecniche di anti-forensic presentata da Daniele Martini, alias cyrax. Le tecniche di anti-forensic sono tutte quelle tecniche, opposte alle forensic (o investigazioni forensi), che mirano a nascondere le informazioni e a proteggere i dati da potenziali controlli e investigatori.

forensic science

Le tecniche presentate durante la relazione non sono state descritte nei dettagli, ma vogliono essere solo un pretesto per illustrare il panorama attuale in materia, e sono le seguenti:

* Artifact wiping
Questa tecnica prevede la cancellazione dei dati utilizzando ad esempio più riscritture dei blocchi in memoria, da un minimo di 3, arrivando addirittura a 14 o anche molte più riscritture. Tuttavia esistono sistemi che permettono di recuperare i dati anche in seguito a numerose riscritture, e per questo motivo è consigliabile effettuare sempre un elevato numero di riscritture dei blocchi. L’eliminazione definitiva dei dati può passare anche da azioni “definitive” come la rottura fisica del dispositivo di archiviazione, oppure l’utilizzo di campi magnetici in modo da rendere illeggibile il contenuto. Tra le tecniche mostrate che permettono il recupero dei dati c’è stato il Cold Boot Attack (link1 e link2), che, lo ammetto, non avevo mai sentito nominare! E’ un particolarissimo tipo di attacco fisico (ossia l’attaccante deve avere accesso fisico al dispositivo bersaglio), in cui viene congelata la RAM e quindi tolta dal dispositivo. Il congelamento è necessario per permettere ai dati di rimanere in memoria alcuni minuti, dal momento che la RAM per definizione è un tipo di memoria volatile, in cui i dati vanno persi non appena il sistema viene spento.
[…]

L’importanza dell’ora corretta in un sistema

In un sistema è importantissimo configurare correttamente l’ora. Per tanti motivi. Primo su tutti per l’utilizzo e il controllo dei file di log. Immaginate uno scenario in cui viene portato un attacco ad un server X, ad una determinata ora e giorno, ad esempio il 28 aprile 2010 alle 12.31, ma nel sistema attaccato l’ora impostata è errata e segna il 25 marzo 2009 ore 11.05. Certo questo è un caso limite, ma molto spesso l’ora e la data del sistema differiscono da quella esatta anche pochi minuti. Sono questi pochi minuti che fanno la differenza nel caso di un attacco informatico, o nel caso comunque di un evento da tenere sotto controllo tra più dispositivi di rete. In questi casi, quando l’amministratore andrà a controllare i file di log generati dal sistema potrà avere notevoli problemi a ricostruire i fatti se l’ora è errata, e nel caso di un attacco la differenza nell’ora anche di pochi minuti può causare non pochi problemi. La soluzione è tenere costantemente aggiornata l’ora del sistema. Per quanto riguarda Linux, è possibile configurare manualmente l’ora come spiegato a questo link, ossia:

1. bisogna impostare l’ora con il comando date
date –set 22:20
2. quindi configurare l’ora hardware del sistema con il comando hwclock, perché il comando date automaticamente non aggiorna anche l’ora hardware
hwclock –systohc –utc
[…]

1 2 3 4