SAS © Giuseppe Gottardi 1 Secure Active Switch (SAS): hardening del Linux kernel bridge implementato su sistema embedded ColdFire Motorola Giuseppe Gottardi Università Politecnica delle Marche Dipartimento di Elettronica Intelligenza artificiale e Telecomunicazioni D.E.I.T. Correlatore: Dott. Ing. Valerio Frascolla Relatore: Prof. Massimo Conti
SAS © Giuseppe Gottardi2 Secure Active Switch 1. Cosè il SAS 2. Perché usarlo 3. Come funziona
SAS © Giuseppe Gottardi3 Secure Active Switch Cosè il SAS? Cosè il SAS?
SAS © Giuseppe Gottardi4 SAS: IT security tool Tool di prevenzione verso gli attacchi informatici in rete locale basato su un algoritmo di nuova concezione sviluppato dallautore della tesi in collaborazione con il DEIT. Hardening del kernel Linux v2.6 Hardening del kernel Linux v2.6 –Modifica al kernel di Linux nel modulo bridge Switch di rete Attivo e Sicuro Switch di rete Attivo e Sicuro –Attivo: capace di mandare pacchetti di controllo –Sicuro: capace di bloccare attacchi di tipo ARP Sistema embedded su MCF5485EVB Sistema embedded su MCF5485EVB –Board Freescale con µproc ColdFire Motorola (MIPS 32-bit)
SAS © Giuseppe Gottardi5 Secure Active Switch Perché usarlo?
SAS © Giuseppe Gottardi6 Attacchi STATS – CSI/FBI Attacchi in Local Area Network STATS – CSI/FBI Fonte: Computer Security Institute Federal Bureau of Investigation Abusi della rete dallinterno (60% sulla totalità degli attacchi nel 2004) Perdite per oltre $
SAS © Giuseppe Gottardi7 Attacchi TYPOLOGIES Attacchi in Local Area Network TYPOLOGIES LAN non commutata (HUB) - T - Tutti i pacchetti transitano per lhost attaccante. LAN commutata (switching tradizionale) - I pacchetti degli host attaccati transitano per lhost attaccante dopo un attacco M.I.T.M. Tipologia di attacchi M.I.T.M. DA LOCALE A LOCALE: - ARP poisoning- DNS spoofing- STP mangling - Port stealing DA LOCALE A REMOTO (attraverso il gateway): DA LOCALE A REMOTO (attraverso il gateway): - ARP poisoning- DNS spoofing- DHCP spoofing - ICMP redirection- IRDP spoofing- route mangling
SAS © Giuseppe Gottardi8 Attacchi Man In The Middle HTTPS (SSL) Giuseppe Gottardi
SAS © Giuseppe Gottardi9 Attacchi Man In The Middle KEY EXCHANGING - HTTPS Consiste nella modifica del certificato SSL scambiato tra un server web HTTPS e un client (vale anche per SSH v1). Questa tecnica consente di decodificare sessioni codificate. Consiste nella modifica del certificato SSL scambiato tra un server web HTTPS e un client (vale anche per SSH v1). Questa tecnica consente di decodificare sessioni codificate. ServerClient MITM start KEY-A RSA KEY-B RSA E key-B (S-Key)E key-A (S-Key) S-KEY M E skey (M) D(E(M))
SAS © Giuseppe Gottardi10 Attacchi Man In The Middle FILTERING - HTTPS redirection Una form in HTTPS viene forzata all'autenticazione in HTTP Http main page with https login form Change form destination to Http post (login\password) Auto-submitting hidden form with right authentication data Real https authentication post Authenticated connection Client Server MITM login password
SAS © Giuseppe Gottardi11 Secure Active Switch Come funziona?
SAS © Giuseppe Gottardi12 ARP poisoning SIMULATION IPMAC :02:03:04:05:0B :02:03:04:05:0CIPMAC :02:03:04:05:0A :02:03:04:05:0CIPMAC Host AHost B Attaccante Switch ARP poisoning Packet from A IP MAC 01:02:03:04:05:0A IP MAC 01:02:03:04:05:0C IP MAC 01:02:03:04:05:0B ARP cache AARP cache BIPMAC :02:03:04:05:0C Packet from B DEV-1 DEV-2 DEV-3 DEVMACSTATE DEV-101:02:03:04:05:0AFORWARDING DEV-301:02:03:04:05:0CFORWARDING DEV-201:02:03:04:05:0BFORWARDING … CAM table
SAS © Giuseppe Gottardi13 Secure Active Switch HOW IT WORKS - simulation src MAC01:02:03:04:05:0A dest MAC01:02:03:04:05:0B src IP dest IP … DEVMACIPSTATE DEV-101:02:03:04:05:0A FORWARDING DEV-3--- LEARNING DEV-2--- LEARNING … src MAC01:02:03:04:05:0B dest MAC01:02:03:04:05:0C src IP dest IP … Host AHost B Attaccante ARP poisoning IP MAC 01:02:03:04:05:0A IP MAC 01:02:03:04:05:0B IP MAC 01:02:03:04:05:0C Switch SAS DEV-1DEV-2DEV-3 Packet headerCAM table SAS DEVMACIPSTATE DEV-101:02:03:04:05:0A FORWARDING DEV-301:02:03:04:05:0B FORWARDING DEV-2--- LEARNING … src MAC01:02:03:04:05:0C dest MAC01:02:03:04:05:0B src IP dest IP … DEVMACIPSTATE DEV-101:02:03:04:05:0A FORWARDING DEV-301:02:03:04:05:0B FORWARDING DEV-201:02:03:04:05:0C FORWARDING … src MAC01:02:03:04:05:0C dest MAC01:02:03:04:05:0A src IP dest IP … ? mismatch DEVMACIPSTATE DEV-101:02:03:04:05:0A FORWARDING DEV-301:02:03:04:05:0B WAITING DEV-201:02:03:04:05:0C BLOCKING … ARP requestARP reply src MAC01:02:03:04:05:0B dest MAC01:02:03:04:05:0A src IP dest IP … DEVMACIPSTATE DEV-101:02:03:04:05:0A FORWARDING DEV-301:02:03:04:05:0B FORWARDING DEV-201:02:03:04:05:0C DISABLED … DEVMACIPSTATE DEV-101:02:03:04:05:0A FORWARDING DEV-301:02:03:04:05:0B FORWARDING DEV-201:02:03:04:05:0C FORWARDING … Host C IP MAC 01:02:03:04:05:0C IP MAC 01:02:03:04:05:0B src MAC01:02:03:04:05:0C dest MAC01:02:03:04:05:0A src IP dest IP … TIMEOUT DEVMACIPSTATE DEV-101:02:03:04:05:0A FORWARDING DEV-301:02:03:04:05:0B WAITING DEV-201:02:03:04:05:0C BLOCKING … DEVMACIPSTATE DEV-101:02:03:04:05:0A FORWARDING DEV-3--- LEARNING DEV-201:02:03:04:05:0C FORWARDING … DEVMACIPSTATE DEV-1--- LEARNING DEV-3--- LEARNING DEV-2--- LEARNING … Lo switch SAS aggiunge alla CAM table tradizionale le informazioni del layer 3
SAS © Giuseppe Gottardi14 Secure Active Switch HOW IT WORKS – practical example Bridge SAS registered to SYSCTL SAS: port 3(eth0) entering learning state SAS: port 2(eth1) entering learning state SAS: port 1(eth1) entering learning state SAS: Secure Active Switch [started] SAS: logging [started] SAS: debugging [started] SAS: topology change detected, propagating SAS: port 3(eth0) entering forwarding state SAS: topology change detected, propagating SAS: port 2(eth1) entering forwarding state SAS: topology change detected, propagating SAS: port 1(eth2) entering forwarding state SWITCH SAS (kernel messages) SAS: MAC 00:00:b4:5f:5a:fd [unknow] IP [not exist] SAS: [eth1 | 00:00:b4:5f:5a:fd | ] REGISTERED SAS: MAC 00:50:da:71:61:a6 [unknow] IP [not exist] SAS: [eth0 | 00:50:da:71:61:a6 | ] REGISTERED SAS: MAC 00:0e:a6:7f:75:46 [unknow] IP [not exist] SAS: [eth2 | 00:0e:a6:7f:75:46 | ] REGISTERED $./poisoning Usage:./poisoning srcip srcmac destip $./poisoning :00:b4:5f:5a:fd : [00:00:b4:5f:5a:fd] -> SAS: ARP attack detected from [eth1] SAS: MAC 00:00:b4:5f:5a:fd [know] IP [exist] SAS: port 2(eth1) entering blocking state SAS: port 1(eth2) entering waiting state SAS: ARP REQUEST sent to eth2 SAS: packet from waiting port [eth2] SAS: port 2(eth1) entering disabled state SAS: port 1(eth2) entering forwarding state SAS: ARP POISONING on [eth1] SAS: [eth1] DISABLED for 1 seconds SAS: [eth1] DISABLED for 2 seconds SAS: [eth1] DISABLED for 3 seconds ATTACCANTE $ arp -a ( ) at 00:0e:a6:7f:75:46 [ether] on eth ( ) at 00:00:b4:5f:5a:fd [ether] on eth0 HOST VITTIMA
SAS © Giuseppe Gottardi15 Secure Active Switch EMBEDDED SYSTEM - FREESCALE M5485 Attaccante Host A Host B 2 Porte Ethernet 10/100 integrate Porta Ethernet 10/100 su BUS PCI Elevato grado di riconfigurabilità del sistema embedded Possibilità di sviluppo con licenza GPL (a costo zero)
SAS © Giuseppe Gottardi16 Secure Active Switch PERFORMANCE EVALUATIONS non SAS Round Trip massimo0.532 minimo0.413 media0.468 deviazione0.047 $ ping hosta PING hosta ( ): 56 data bytes 64 bytes from : icmp_seq=0 ttl=117 time=0.428 ms 64 bytes from : icmp_seq=1 ttl=117 time=0.493 ms 64 bytes from : icmp_seq=2 ttl=117 time=0.469 ms … --- ping statistics packets transmitted, 1000 packets received, 0% packet loss round-trip min/avg/max = 0.417/0.473/0.539 msSAS Round Trip massimo0.539 minimo0.417 media0.473 deviazione0.049 Variazione percentuale +1.06%
SAS © Giuseppe Gottardi17 Conclusioni Gli attacchi ARP attuabili in rete locale dallattaccante sono stati efficacemente bloccati Il carico di lavoro introdotto in condizioni normali di funzionamento della rete è stato del 1.06% (misurato con il round trip medio su un campione di 1000 ICMP) Il porting del bridge Linux con patch S.A.S. su architettura ColdFire è stato ottenuto con successo.
SAS © Giuseppe Gottardi18 Giuseppe Gottardi S.P.I.N.E Research Group, Inc. S.D.G. Security Date Group, Inc.