Agenda Wi-Fi Networking (demistified) Costantino Pistagna - valvoline at vrlteam dot org! Introduzione allo Standard 802.11 "Tecniche di modulazione in frequenza "Standard Presenti! Utilizzo e Configurazione! Analisi di Sicurezza "Il Wep e sue Problematiche "Alternative "Possibili Attachi! Possibili Schemi per una rete sicura! Domande & Risposte Introduzione allo standard 802.11! Formalmente, il termine Wi-Fi era stato coniato per lo standard 2.4GHz/802.11b.! Adesso identifica qualunque rete Wireless che trasmette usando modulazioni SS.! Esistono vari standard: "802.11a (5GHz - 54Mbps) "802.11b (2.4GHz - 11Mbps) "802.11b+ (2.4GHz - 22Mbps con DSP) "802.11g (2.4GHz - 108Mbps) Utilizzo e Configurazione! Un AP agisce come una stazione base "Connette i vari clients / AP con gli altri! Un singolo AP "supporta sino a 30utenti "Copre circa 450Metri(interno) e 1.5Km(esterno)! La maggior parte degli AP, possono essere connessi tra loro attraverso Ethernet per formare un unica grande rete. "Roaming
Semplice Configurazione L integrazione semplifica il Layout Lo standard 802.11b Lo standard 802.11b! Utilizza segnali radio nella banda dei 2.4GHz "1, 2, 5.5, 11Mbit/s "11/14 canali sovrapposti " Il rapporto s/n richiesto è di 12dB " Modulato in HR-DSSS High Rate Direct Sequence Spread Spectrum Application Presentation Session Transport Network Data Link Physical 802.11b
Lo Spread Spectrum! Trasmissione Tradizionale " Più potenza possibile nello spettro più stresso possibile! Spread Spectrum " Uso di trasformazioni matematiche per disperdere lo spettro originale in uno spettro più largo. " Viene effettuata un operazione inversa in ricezione " Ogni distrurbo a banda stretta viene, in ricezione, trasformato in rumore bianco. Lo Spread Spectrum (2)! Effetti sulla banda di un SS: energia frequenza 802.11 FH PHY! Cambio continuo e rapido di frequenza " Viene utilizzato un metodo di cambio pseudo-casuale! E necessario che mittente e ricevente siano sincronizzati! Era presente nei vecchi sistemi 802.11 (1, 2Mbit) Come avviene il DSSS! CHIP è una cifra usata dal processo di dispersione. "Sono solo una parte della codifica e non portano informazione.! I flussi di chipping sono anche chiamati: " codici di rumore pseudo-casuale.! Devono essere generati ad una velocità molto più alta rispetto ai dati da trasmettere!
Come avviene il DSSS (2) Che posto hanno i canali? Mezzo Trasmittente TX RX Software Dati Sequenza da Spreadare Sequenza di chipping! 13 canali spaziati di 5MHz! Gran parte dell energia di una DSSS è concentrata in 22Mhz!! Per prevenire interferenze bisogna spaziare le celle di 5 canali (1Mhz ~ 1Canale) e la modulazione?! La modulazione usata per tramettere in DSSS è la DPSK! Non è la fase assoluta l informazione trasmessa, ma il cambiamento "Nessun cambiamento: 0 "Cambiamento di fase: 1! Non è necessario che TX e RX abbiano lo stesso riferimento di fase Caratteristiche di Sicurezza! Service Set Identifier (SSID) " Differenzia un AP da un altro. " E inviato con un beacon frame ogni secondo " I beacon frames viaggiano in chiaro!! I SSID di default sono ben conosciuti! " Linksys == linksys " CISCO == tsunami! E possibile configurare l AP in maniera che non invii il SSID.
Sistemi di autenticazione! Wi-Fi si basa sulle trasmissioni radio "Quindi, per definizione, un flusso radio è intercettabile da chiunque sia in prossimità del raggio di azione.! WEP: Wired Equivalent Privacy! EAP: Extensible Authentication Protocol! EAP-TLS: EAP-Transport Level Security! LEAP: Lighweight EAP (radius over EAP)! OPEN: Mamma!, voglio fare l hacker! Nessuna Autenticazione: /dev/null! Sono lo standard delle installazioni wifi! Comportamento diffuso in italia (e non solo)! I routers broadband degli ISP vengono configurati di default in questo modo. "Spesso un server DHCP assegna un indirizzo valido nella rete. "La navigazione anonima è assicurata. WEP for Dummies! Il client inizia inviando una richiesta di associazione all AP.! L AP risponde con un CText (in chiaro).! Il client, usando una chiave precedentemente concordata, cifra il testo e lo invia indietro all AP.! Se il testo cifrato matcha con quello dell AP, viene consentita la comunicazione. WEP! Client e Server concordano un segreto iniziale: preshared key K (40 o 104 bit).! E presente un seed iniziale (24bit) "Initialization Vector IV! K+IV == 64 o 128bit! Il pacchetto cifrato C viene generato così: Keystream [RC4] (IV,K)! (PlainText + IntegrityChk [CRC32]! RC4 è uno stream cypher
WEP (2)! Il MAC Address viene inviato in chiaro!! IV è in chiaro! Attacco di Brute Force! IV è di 24bit "Ci sono solo 16.777.216 possibili IV. "Un AP con molti client, ripeterà gli IV spesso. "Ascoltando il traffico e conservando gli IV. duplicati è possibile inferire sulla chiave. "Abbastanza IV daranno la chiave globale. Perchè IV è debole?! L algoritmo di scheduling delle chiavi (KSA) di RC4, genera un IV basato sulla chiave.! Un bug nell implementazione del WEP di RC4 permette di generare IV deboli! E possibile ottenere informazioni circa I bytes della chiave che hanno generato l IV.! Collezionando abbastanza IV deboli è possibile risalire alla chiave originale. Cracking! Per ogni byte della chiave, ci sono 256 IVs deboli " Chiave(13bytes) * 256 == 3315 pacchetti! Non è sempre necessario aspettare tutti i pacchetti per trovare una chiave debole!
Cracking [valv0@adapter!/slides]# crack -l 128 snorted Reading packets Performing crack, keysize=128bit, Breadth=1 Key Byte 0: 256 samples Key Byte 1: 256 samples Key Byte 2: 256 samples Key Byte 3: 256 samples Check samples: 4 GOT KEY! Hex=5a:5a:5a:5a:5a:5a:5a:5a:5a:5a String= ZZZZZZZZZZ [valv0@adapter!/slides]# Replay Attack! Una volta sniffato, un frame WEP può essere rispedito al mittente.! Il frame sarà decifrato e processato dall AP come l originale.! I protocolli stateless (UDP: NFS, NTP, ) sono particolarmente indicati per quest attacco. Replay Attack! Possiamo spingerci oltre!! Il frame può essere modificato. "Flippando un bit nella parte in chiaro. "Flippando un bit nel frame WEP! Viene utilizzato un CRC32 come integrity check "CRC è lineare! CRC(X!Y) = CRC(X)! CRC(Y) RC4(k, X!Y) = RC4(k, X)!Y L oracolo a cena! Gli AP cifrano i pacchetti che vengono dalla LAN prima di inviarli in etere. "La LAN potrebbe avere accesso ad internet! Inviamo pacchetti noti via internet ad un nodo wireless. "Eureka!, testo in chiaro conosciuto
Attacco da più fronti Il punto di vista dell attaccante! E necessaria una scheda che vada in RF Mode. "Prism2, Prism2.5, Orinoco, Cisco Aironet.! E necessario ricompilare tools quali ethereal per avere supporto wiretap capture.! Libcap deve essere della stessa versione richiesta dal tool di war driving. Kismet && WepAttack! Kismet "Cattura pacchetti in formato libpcap. "I pacchetti possono essere letti da WepAttack. "Files separati per pacchetti deboli e normali.! WepAttack "Attacco da un solo pacchetto. "E necessaria una wordlist per il bruteforce. "Il bruteforce può richiedere molto tempo. Airsnort! Cattura pacchetti interessanti.! Prova a trovare la chiave WEP in realtime.! Può trovare chiavi ASCII o HEX.! Utilizza l attacco per IV proposto da: "Shamir, Mantin, Fluhrer
Kismet vs. Airsnort Risultati! Kismet && WepAttack "Non trovano la chiave WEP! Airsnort "Recupera chiavi a 64-bit e 128-bit! Difficoltà? "Effettuare il download del programma "Installarlo per il proprio SO "Eventualmente, installare/aggiornare le librerie. WPA - WiFi Protected Access! WPA è una specifica basata su standards di sicurezza preesistenti! Si basa su un subset dello standard 802.11i "802.1x && EAP (Autenticazione Mutuale) "TKIP (cifratura dei dati) "MIC (integrità dei dati) WPA - Come funziona? 1. Il Client invia un messaggio di start all AP, il quale ne richiede l identità. 2. Il Client risponde con un pacchetto di identifica che l AP invia al server di autentica. 3. Il server di autentica, invia un pacchetto di ACCEPT all AP. 4. L AP autorizza la comunicazione ed apre una porta per il Client. 4
TKIP! Compatibile all indietro con WEP.! Crea più materiale da passare ad RC4. " 48-bit IV " 128-bit key " MIC (integrità del messaggio) per una più alta consistenza dei messaggi TKIP - Come funziona?! Le chiavi temporali vengono cambiate dinamicamente. " Difficile da crackare in Brute Force. " Ogni pacchetto usa un IV diverso Il keystream è diverso per ogni pacchetto " Viene incluso il MAC-Address del mittente MAC-Address + IV (48-bit) + Key (128-bit) " E possibile fare modifiche al protocollo attraverso un aggiornamento di firmware! TKIP - flow La chiave cambia ogni 10.000 pachetti. SNMP: Cosa è?! Simple Network Management Protocol "E usato per accedere e manipolare variabili tipate organizzate in tabelle o gruppi.! Ogni variabile è identificata da un OID univoco. "Un OID è una sequenza di numeri che identificano un percorso all interno di un albero.! SNMP tipicamente, gira su UDP (stateless).
SNMP: Tools disponibili! Tools a basso livello generici: "snmpget, snmpwalk,! API a basso livello generiche: "winsnmp, libsnmp, snmp++,! Browsers di MIB! Quello che realmente serve è un tool specifico per un operazione. "Che la faccia bene! Obiettivi di SNMP! Portabilità. " PC ed Embedded! L inclusione di un sistema di gestione deve essere economica. " Poco codice " Funzionalità Limitate! L estensione del sistema di gestione deve essere sempre possibile. " Nuovi MIBs! La gestione deve essere affidabile " UDP, Connection Less, Operazioni SNMP MANAGER Operazioni SNMP MANAGER POLLING TRAPS GET / SET TRAP AGENTS AGENTS MIB MIB
SNMP Management! Una stazione di gestione SNMP deve includere: "Un interfaccia per l amministratore per monitorare e controllare lo stato della rete / dispositivi. "Applicazioni di gestione per analisi dei dati e gestione dei faults. "Corrispondenza dei comandi snmp con i reali comandi di controllo della rete (corrispondenza 1:1). "Un database dei MIBs di tutte le entità gestione dal sistema. Agenti SNMP! Prenderemo in considerazione il nostro caso: "Routers, Switch, Access Points, Hubs, Bridges.! Il manager / master è un software che dialoga con agenti.! Gli agenti: "Rispondono a richieste su variabili. "Rispondono a richieste sulla gestione di azioni. "Possono rispondere ad eventi asincroni di gestione non sollecitata di eventi (traps). MIB! Ogni risorsa è rappresentata come oggetto (variabile).! Management Information Base (MIB) " È l insieme degli oggetti che un agente mantiene.! Gli oggetti sono standardizzati tra gli apparecchi (routers, bridges, etc.)! Un manager/master controlla la rete " Richiedendo periodicamente valori dai MIBs. " Modificando valori all interno dei MIBs. Primitive SNMP 1.Get - Recupera un valore di un oggetto dall agente. 2.Set Modifica il valore di un oggetto di un agente. 3.Notify L agente notifica il master circa particolari cambiamenti di oggetti.
SNMP: Protocol Layout SNMP: Cenni sul protocollo! Designato per stare a livello applicativo.! Pensato per essere facilmente implementabile! Consumo ridotto di CPU e Banda.! SNMP # UDP # IP # data link layer (ethernet)! Ogni agente deve implementare SNMP, UDP, IP.! Messaggi SNMP: 1. GetResponse 2. GetNextResponse 3. SetRequest 4. GetResponse 5. Trap SNMP v1, v2, v3 SNMP e Community SNMPv1 PDU GetRequest GetRequest ------ SetRequest ------ GetResponse Trap SNMPv2 PDU GetRequest GetRequest GetBulkRequest SetRequest InformRequest Response SNMPv2-Trap Direction Manager to agent Manager to agent Manager to agent Manager to agent Manager to manager Agent to manager or Manage to manager(snmpv2) Agent to manager Description Request value for each listed object Request next value for each listed object Request multiple values Set value for each listed object Transmit unsolicited information Respond to manager request Transmit unsolicited information! SNMP fornisce solo un mezzo di sicurezza rudimentale attraverso il concetto di community.! SNMP Community " Relazione tra Agente e Manager. " Mantenuta localmente sull agente. " Lista di managers con privilegi di accesso associati.! Ogni agente controlla il proprio MIB " Servizio di Autentica - quali manager possono accedere e come. " Politiche di Accesso. " Servizio Proxy - Può significare implementare servizi di autentica per altre periferiche.
SNMP: Politiche di Accesso SNMP: Concetti d amministrazione! SNMP MIB view un sott insieme degli oggetti.! SNMP access modes: Read-Only, Read- Write! SNMP profilo community == "SNMP MIB view + access-mode! SNMP politica d accesso == "SNMP community + SNMP community-profile SNMP v3! SNMPv3 definisce un modello di sicurezza da usare in congiunzione con SNMP v1 o v2. Disabilitare il SSID! Il SSID viene inviato in broadcast ogni secondo! Disabilitarlo, può rendere difficili capire che c è un AP.! Se qualcuno ci sniffa in ogni caso lo vedrà. " Il SSID viaggia in chiaro insieme ai pacchetti.
Abilitare il WEP! Il WEP è il protocollo di crittografia standard.! Non è LA soluzione, ma abilitarlo scoraggerà ugualmente I malintenzionati non motivati. Scegliere il Canale! Scegliere con cura il canale.! Esistono tools, che creano AP finti, per inondare la rete di falsi positivi. Scegliere il Canale! Scegliere con cura il canale.! Esistono tools, che creano AP finti, per inondare la rete di falsi positivi. La rete WAN! Abbiamo la possibilità di connettere il nostro AP/Switch ad una rete WAN " IP Dinamico " IP Statico " PPPoE, PPtP, BigPond Cable! MAC Address Cloning
PPPoE ed ADSL DHCP Server! E possibile specificare un lease-time! Un rage valido di indirizzi IP da assegnare. Virtual Server Control! E possibile redirigere le macchine esterne verso macchine diverse, selezionandole per servizio Filtri su MAC Address! E possibile filtrare gli accessi a determinati servizi, limitandone l uso a particolari indirizzi (fisici).
Cose da tenere presenti! Tutte le WLAN devono essere considerate insicure.! Mai inserire una WLAN all interno del perimetro protetto dal firewall LAN.! Utilizzare WEP (128+). "E un ottimo deterrente per gli ScriptKiddie.! Non lasciare le impostazioni di Default "SSID "WEP Key MITM è sempre possibile!! Alice e Bob fanno parte della nostra WLAN.! Trudy (intruder) può intercettare, cancellare, aggiungere messaggi, modificare, etc. Alice data sender channel Trudy data, control messages receive r Bob data Network Layout Network Layout (2)
L uomo non impara dai suoi sbagli!! Molti degli attacchi non sono nuovi!! IPSec - problemi simili [Bel96]! SSH - problemi sul CRC!! M$ PPTP - problema sull RC4 Referenze! Dott. Costantino Pistagna - " <valvoline at vrlteam dot org> " <pistagna at dmi dot unict dot it>! Airsnort - airsnort.shmoo.com! Kismet - www.kismetwireless.net! WepAttack - wepattack.sourceforge.net! Net-SNMP - net-snmp.sourceforge.net! Slides available at: "http://www.dmi.unict.it/~pistagna Crediti! Guido Bolognesi - http://www.kill-9.it! Sikurezza.org - http://www.sikurezza.org! Quiang Wang! Vincent Bieri