Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
IoT e Sicurezza
Ottobre 2018
IoT e Sicurezza
1 – IoT e networking 101
Tommaso Pecorella, PhDDpt. Ingegneria dell’Informazione - Univ. Firenze
This work is licensed under a Creative Commons“Attribution-NonCommercial-ShareAlike 4.0 International”license.
Firenze – Ottobre 2018
IoT e Sicurezza
Ottobre 2018
Outline
IntroductionCos’è l’IoTScenari di utilizzo
Protocolli IoTMessage QueueingRepresentational state transfer (REST)
Internet 101PrincipiRouting 101TCP/IPIPv6LAN e VLAN
1
IoT e Sicurezza
Ottobre 2018
IoT e IoE - definizioni
Wikipedia: https://en.wikipedia.org/wiki/Internet_of_things
The Internet of things (IoT) is the network of physical devices, vehicles, home appliancesand other items embedded with electronics, software, sensors, actuators, and networkconnectivity which enables these objects to connect and exchange data.Each thing is uniquely identifiable through its embedded computing system but is able tointer-operate within the existing Internet infrastructure.
CiscoThe “Internet of Everything” builds on the foundation of the “Internet of Things” by addingnetwork intelligence that allows convergence, orchestration and visibility across previouslydisparate systems.
2
IoT e Sicurezza
Ottobre 2018
IoT and IoE - mercato
Bain & Company, Inc. (ripreso da Forbes)
The combined markets of the Internet of Things will grow to about $520 billion in 2021,more than double the $235 billion spent in 2017.
McKinsey (ripreso da Forbes)
The IoT market will be worth $581B for ICT-based spend alone by 2020, growing at aCompound Annual Growth Rate (CAGR) between 7 and 15%.
• https://www.bain.com/insights/unlocking-opportunities-in-the-internet-of-things/
• https://www.forbes.com/sites/louiscolumbus/2018/06/06/10-charts-that-will-challenge-your-perspective-of-iots-growth
3
IoT e Sicurezza
Ottobre 2018
Cos’è un device IoT ?Qualsiasi device connesso to Internet in qualche modo.
4
IoT e Sicurezza
Ottobre 2018
Cos’è un device IoT ?Qualsiasi device connesso to Internet in qualche modo.
4
IoT e Sicurezza
Ottobre 2018
Casi sconcertanti
La maggior parte degli esempi sono oggetti “tradizionali” connessi a Internet.
Dov’è la novità ?
La novità è che non c’è nessuna novità (non ancora).• Aziende: tentativi di vendere oggetti ‘IoT-enabled’ con un (buon?) marketing.• Tecnologia: siamo ancora indietro - lock-in.• Il problema è la fiducia dei consumatori (e a ragione).
5
IoT e Sicurezza
Ottobre 2018
. . . ma cos’è davvero un sistema IoT ?
Un sistema organico di devices interconnessi.
Cyber-physical systems (CPS) – dovremmo parlare di questo, non di IoT.
Attenzione alla buzzwordUn device connesso a Internet non è abbastanza per migliorare un sistema.
6
IoT e Sicurezza
Ottobre 2018
Requirements dei sistemi IoT/IoE/CPS
Come riconoscere un sistema IoT/IoE/CPS ?• Comunicazioni M2M (machine to machine).• Sistemi autonomi (decisioni e networking).• Energy-aware (batterie e/o energy harvesting).• Fog (Edge) computing.• Internet connected (?!?).• Scambio dati con il mondo ‘reale’.
Nota: l’utente utilizza dati aggregati provenienti dal sistema IoT.
7
IoT e Sicurezza
Ottobre 2018
Da dove cominciare (a progettare)
Cominciare bene:• Trovare un’applicazione (i.e., un motivo).• Creare un modello di business (dov’è il guadagno).• Controllare i requirements.• Creare un prototipo.
. . . in quest’ordine, non il contrario !
Ricordarsi che:1. Data fusion... è un vostro alleato.2. Scambiarsi dati è bello, non fidarsi è meglio (precisione delle letture).3. Fatelo semplice. Più semplice. Non così semplice.4. L’utente non vuole un’altro gadget.
8
IoT e Sicurezza
Ottobre 2018
Sono confuso... [anch’io]
Le applicazioni dell’IoT possono essere di due tipi:
Nuovi serviziEsempio: Google Nest.Novità: aggiornamento automatico in base alle abitudini dell’utente.
Servizi migliorati dall’approccio IoT
Esempio: Smart metering (acqua/gas/elettricità).Più frequenti e precisi. Riduzione dei costi.
Attenzione alla privacyTutti i servizi IoT devono considerare la privacy degli utenti.
9
IoT e Sicurezza
Ottobre 2018
Dov’è l’idea vincente ?
E’ la parte più difficile.
Non sarei qui se avessi La Soluzione.
Di sicuro non è di aggiungere Internet allecose esistenti.
10
IoT e Sicurezza
Ottobre 2018
Esempi di devices IoT
11
IoT e Sicurezza
Ottobre 2018
Aree di applicazione
Smart Home / Smart Building• HVAC, tele-lettura contatori, etc.• Security & Safety• Efficienza energetica
Smart City / Smart Environment• Controllo e gestione del traffico urbano (privato, trasporti pubblici, etc.)• Monitoraggio ambientale (e.g., inquinamento, precipitazioni, etc.)• Gestione delle emergenze
Smart Industry (Industry 4.0) / Smart Agricolture• Produzione On-demand• Agricoltura di precisione• Monitoraggio di impianti industriali
12
IoT e Sicurezza
Ottobre 2018
Aree di cattiva applicazione
Fitness• Dati condivisi senza controllo – basi militari ‘segrete’ disponibili su Internet.
Smart Home• Frigo che ti avverte quando i prodotti sono in scadenza.• Smart bed che ti dice come hai dormito.
Smart Industry (Industry 4.0) / Smart Agricolture• Device connessi, ma NON connessi con l’ERC.
13
IoT e Sicurezza
Ottobre 2018
Diversi dai protocolli normali ?
Devono rispettare i requirements dei device:• Interconnessione intermittente + Risparmio energetico.
Message Queueing
Telegram/WhatsApp/Twitter sono MQ.• Advanced Message Queuing Protocol (AMQP).• Message Queuing Telemetry Transport (MQTT).
REST – Representational state transfer (esempi)
HTTP è un protocollo REST.• RFC 7252 – Constrained Application Protocol (CoAP, CoRE)• Lightweight M2M (LWM2M)
14
IoT e Sicurezza
Ottobre 2018
Message Queuing Telemetry Transport (MQTT)
• Si scambiano messaggi.• Purtroppo usa il TCP.
http://istsos.org/en/trunk/doc/ws_mqtt.html
Simon A. Eugster - Own work15
IoT e Sicurezza
Ottobre 2018
Altri protocolli Message Queueing
Advanced Message Queuing Protocol (AMQP)
• Sviluppato presso JPMorgan Chase• Adottato da banche (tra gli altri casi)
Extensible Messaging and Presence Protocol (XMPP)
• https://xmpp.org – Sviluppato tramite RFCs• Usato (anche) nelle chat.
16
IoT e Sicurezza
Ottobre 2018
Constrained Application Protocol (CoAP)
• Simile all’HTTP.• Usa l’UDP.• RFC 7252
http://coap.technology
17
IoT e Sicurezza
Ottobre 2018
Altri protocolli REST
Constrained RESTful Environments (CoRE)
• Formato dei link• Permette il discovery delle risorse.
Lightweight M2M (LWM2M)
• Estensione del CoRE.• Definisce le risorse "standard" di oggetti IoT.
18
IoT e Sicurezza
Ottobre 2018
Internet - was ist das
Internet è uno dei rarissimi esempi di rete in cui c’è una separazione quasi perfetta trafornitori di servizi e quelli del trasporto... ma è frutto del caso (quasi). E’ dovuto alla suaorigine “accademica” e al fatto che non è nata per vendere un servizio.
• Basata sui protocolli TCP/IP• Comprende anche molti altri protocolli (UDP, ICMP, ARP, RIP, OSPF, protocolli di
livello applicativo...), e formati (RFC 822, MIME...).• È una rete di “sotto-reti”
• collega più di 61 000 Autonomous Systems (2017)• più di 3.5 miliardi di host (2017)
• Standardizzata con RFC (Request For Comment)• Collegamenti fisici tra host e router basati su: LAN, MAN, canali punto punto in fibra o
in cavo coassiale, reti X.25, ISDN, ponti radio, Frame Relay, ATM, SLIP, PPP, . . .sistema aperto
• Esistono realizzazioni TCP/IP anche per reti non standard
19
IoT e Sicurezza
Ottobre 2018
Internet - 2015 map
http://www.caida.org/research/topology/as_core_network/20
IoT e Sicurezza
Ottobre 2018
21
IoT e Sicurezza
Ottobre 2018
Internet - struttura
• Internet è una inter-rete, consente a sistemi terminali (host) appartenenti a sotto-retieterogenee di scambiare Informazioni
• Non possiede un organismo centralizzato dotato di poteri di controllo.• Lo sviluppo tecnologico si basa sul contributo degli utenti della rete stessa.• E’ basata sulla pila protocolli TCP/IP• L’interconnessione tra sotto-reti è un paradigma fondamentale, ma... non è prevista
traduzione dei protocolli
Importante
C’è separazione amministrativa e di management tra le diverse sotto-reti che, nel modello,non sono tenute ad una gestione integrata !
LE SOTTO-RETI NON SONO LE “SUBNETS” A CUI SIAMO ABITUATI, SONO I COSIDDETTI“AUTONOMOUS SYSTEM” (AS). Ne riparleremo.
22
IoT e Sicurezza
Ottobre 2018
Internet - terminologia
D’ora in avanti i seguenti termini saranno fondamentali:
SubnetUn segmento di rete basata su TCP/IP delimitato dai suoi confini di routing.E’ identificabile a livello Network da una coppia Indirizzo/Subnet Mask, oppure da unindirizzo espresso secondo notazione CIDR.Rule of thumb: la subnet finisce con un router, due subnets non possono comunicare senon attraverso un router.
Autonomous System (AS)
Il concetto di AS è di tipo amministrativo, e si riflette solo sul routing.
Within the Internet, an autonomous system (AS) is a collection of connected In-ternet Protocol (IP) routing prefixes under the control of one or more networkoperators that presents a common, clearly defined routing policy to the Internet(cf. RFC 1930, Section 3).
23
IoT e Sicurezza
Ottobre 2018
Internet - strutturaLa pila protocollare TCP/IP è situata a livello Network (e superiori)• i protocolli TCP/IP assumono che le sotto-reti non eseguano nessuna funzione a
parte quella di trasferimento delle unità informative• esiste la possibilità di duplicazione delle funzioni tra strati TCP/IP e strati protocollari
specifici di una sotto-reteLe entità di Internet sono gli Host e i Router/Gateway
Host (L7)
• sono le sorgenti e le destinazioni delle informazioni• sono univocamente riconosciuti nella rete (indirizzo IP)
Router/Gateway (L3 o L7)
• Nodi intermedi, instradano i pacchetti IP tra le sotto-reti• hanno un interfaccia per ogni sotto-rete a cui sono connessi
24
IoT e Sicurezza
Ottobre 2018
Principio di Interconnessione
L’Host sorgente
1. forma il pacchetto IP diretto all’host di destinazione2. determina se l’host di destinazione si trova sulla sua stessa sotto-rete
• se la subnet è la stessa, si determina l’indirizzo MAC dell’host di destinazione• se la subnet è diversa, si determina l’indirizzo IP e l’indirizzo MAC del router verso cui
inviare il pacchetto
3. consegna il pacchetto alla rete che lo manda al destinatario (router o host)
Si noti che:• Passo 0: si è già fatta una traduzione dell’indirizzo alfanumerico in un indirizzo IP.• Passo 1: si ha un indirizzo L3.• Passo 2: si decide in base a informazioni L3 che tipo di routing è (diretto o indiretto).• Passo 3: si “traduce” l’indirizzo L3 in un indirizzo L2 (MAC).
25
IoT e Sicurezza
Ottobre 2018
Routing for dummies
Un routerElabora l’indirizzo dei pacchetti IP e determina la subnet in cui si trova l’host didestinazione
1. se l’host di destinazione si trova in una delle subnets a cui il router è direttamenteconnesso affida il pacchetto alla subnet per la consegna
2. altrimenti determina il router successivo verso cui instradare il pacchetto ;-{))
Una subnetTrasferisce i pacchetti IP incapsulandoli nelle proprie unità dati e utilizzando i propriprotocolli
K.I.S.S.: Keep It Simple and Stupid. Abbiamo nascosto un po’ di dettagli...
26
IoT e Sicurezza
Ottobre 2018
Pila protocollare
La pila protocollare Internet è semplice (rispetto alla ISO/OSI):
L7 Application: supporta le applicazioni direte (ftp, smtp, http, etc.)
L4 Transport: trasferimento dati host-host(tcp, udp, etc.)
L3 Network: instradamento deidatagrammi dalla sorgente alladestinazione (IP, ICMP, ARP, RARP, etc.)
L2 Data Link: trasferimento dati traelementi di rete vicini (ppp, ethernet,etc.)
Application
Transport - TCP, UDP
Network - IP
Data Link
Physical
LLC
MAC
Middleware - PPP, etc.
27
IoT e Sicurezza
Ottobre 2018
Indirizzamento
In Internet esistono 3 livelli di identificazione di un “indirizzo”
Indirizzo MAC (quello della scheda di rete)• è (solitamente) prefissato
Indirizzo numerico (IP Address) es: 150.217.8.24• è assegnato in base al tipo di rete a cui si appartiene (subnet) dal gestore della rete
Indirizzo alfanumerico es: lart.dinfo.unifi.it• è libero (basta che sia mappato in un NameServer)
1..*0..*Alphanumeric IP 1..*1..* MACDNS ARP
28
IoT e Sicurezza
Ottobre 2018
Indirizzamento
Indirizzi alfanumerici e indirizzi MAC non sono così interessanti (per noi). Viceversa gliindirizzi IP sono importanti.
• Un indirizzo IP (IP Address) identifica un hostse un host è connesso a più di una rete (multi-homed) avrà un indirizzo IP per ognirete
• Un indirizzo IP è unico in tutta la reteha una lunghezza di 32 bits
• L’indirizzo IP è assegnato ad una macchina su base “geografica”, ovvero in base allarete a cui è agganciata
• In origine (1981) era formato da due partiNet_Id: identificativo della subnetHost_Id: identificativo di host all’interno della subnetIP_Address = Net_Id . Host_Id
La divisione tra Net_Id e Host_Id non era fissa, ma dipendeva dalla classe dell’indirizzo.29
IoT e Sicurezza
Ottobre 2018
Indirizzamento
Originariamente si usavano le classi per identificare la Net ID e, quindi, il routing, ma erainefficiente !
Un router avrebbe dovuto avere una tabella di routing pari a:27 − 2 + 214 − 2 + 221 − 2 = 2.113.658
CIDR: Classless Interdomain Routing
La notazione è: x.x.x.x/y. Es: 150.217.8.0/24
x.x.x.x è la Net ID, y indica da quanti bit è formata la Net IDIl numero di host di una Network è pari a 232−y − 2
Due indirizzi che differiscono di un solo bit vengono “accorpati”:150.217.8.0/24 + 150.217.9.0/24 = 150.217.8.0/23
30
IoT e Sicurezza
Ottobre 2018
Routing TableIn un router la tabella di routing comprende diversi parametri:
lenst:/home/pecos# routeKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface10.8.0.2 * 255.255.255.255 UH 0 0 0 tun010.4.0.1 * 255.255.255.255 UH 0 0 0 tun1192.168.21.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0150.217.8.0 * 255.255.255.0 U 0 0 0 eth0192.168.2.0 10.4.0.1 255.255.255.0 UG 1 0 0 tun110.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0192.168.11.0 * 255.255.255.0 U 0 0 0 eth2default detfw.det.unifi 0.0.0.0 UG 0 0 0 eth0
Se due “Destination” hanno lo stesso “Gateway” (e la stessa “Iface”) allora possonoessere accorpate (si modifica la “Genmask”).Per identificare la destinazione di un pacchetto occorre scoprire la entry a massimaverosimiglianza.
DestIP && RTMaski == RTDestIPi
se è vero, allora la entry i ha rank pari al numero di bit a uno della RTMask.Si sceglie la entry a rank maggiore. 31
IoT e Sicurezza
Ottobre 2018
IPv4
• Tutti gli host hanno un “indirizzo”.• E’ necessario per il routing.• Perché l’host sia raggiungibile, il suo indirizzo deve essere univoco
IPv4→ 232 indirizzi ' 4 miliardi, ma sono mal usati
• Ci sono gli indirizzi ‘privati’ che non possono essere raggiunti da Internet a meno dinon usare tecniche di NAT-traversal.
32
IoT e Sicurezza
Ottobre 2018
IPv4
• Tutti gli host hanno un “indirizzo”.• E’ necessario per il routing.• Perché l’host sia raggiungibile, il suo indirizzo deve essere univoco
IPv4→ 232 indirizzi ' 4 miliardi, ma sono mal usati
• Ci sono gli indirizzi ‘privati’ che non possono essere raggiunti da Internet a meno dinon usare tecniche di NAT-traversal.
32
IoT e Sicurezza
Ottobre 2018
IPv4
• Tutti gli host hanno un “indirizzo”.• E’ necessario per il routing.• Perché l’host sia raggiungibile, il suo indirizzo deve essere univoco
IPv4→ 232 indirizzi ' 4 miliardi, ma sono mal usati
• Ci sono gli indirizzi ‘privati’ che non possono essere raggiunti da Internet a meno dinon usare tecniche di NAT-traversal.
32
IoT e Sicurezza
Ottobre 2018
IPv4
• Tutti gli host hanno un “indirizzo”.• E’ necessario per il routing.• Perché l’host sia raggiungibile, il suo indirizzo deve essere univoco
IPv4→ 232 indirizzi ' 4 miliardi, ma sono mal usati
• Ci sono gli indirizzi ‘privati’ che non possono essere raggiunti da Internet a meno dinon usare tecniche di NAT-traversal.
32
• Spazio degli indirizzi IPv4
• 232 = 4‘294‘967‘296 IPs
• Spazio degli indirizzi IPv6
• 2128 = 340‘282‘366‘920‘938‘463‘463‘374‘607‘431‘768‘211‘456 IPs• Non esattamente. . . Per mantenere le proporzioni dovremmo dipingere il sistema solare !• Più di 6.66 · 1023 indirizzi per metro quadro della superficie terrestre.
• Spazio degli indirizzi IPv4
• 232 = 4‘294‘967‘296 IPs• Spazio degli indirizzi IPv6
• 2128 = 340‘282‘366‘920‘938‘463‘463‘374‘607‘431‘768‘211‘456 IPs• Non esattamente. . . Per mantenere le proporzioni dovremmo dipingere il sistema solare !• Più di 6.66 · 1023 indirizzi per metro quadro della superficie terrestre.
• Spazio degli indirizzi IPv4• 232 = 4‘294‘967‘296 IPs
• Spazio degli indirizzi IPv6
• 2128 = 340‘282‘366‘920‘938‘463‘463‘374‘607‘431‘768‘211‘456 IPs• Non esattamente. . . Per mantenere le proporzioni dovremmo dipingere il sistema solare !• Più di 6.66 · 1023 indirizzi per metro quadro della superficie terrestre.
• Spazio degli indirizzi IPv4• 232 = 4‘294‘967‘296 IPs
• Spazio degli indirizzi IPv6
• 2128 = 340‘282‘366‘920‘938‘463‘463‘374‘607‘431‘768‘211‘456 IPs• Non esattamente. . . Per mantenere le proporzioni dovremmo dipingere il sistema solare !• Più di 6.66 · 1023 indirizzi per metro quadro della superficie terrestre.
• Spazio degli indirizzi IPv4• 232 = 4‘294‘967‘296 IPs
• Spazio degli indirizzi IPv6• 2128 = 340‘282‘366‘920‘938‘463‘463‘374‘607‘431‘768‘211‘456 IPs
• Non esattamente. . . Per mantenere le proporzioni dovremmo dipingere il sistema solare !• Più di 6.66 · 1023 indirizzi per metro quadro della superficie terrestre.
• Spazio degli indirizzi IPv4• 232 = 4‘294‘967‘296 IPs
• Spazio degli indirizzi IPv6• 2128 = 340‘282‘366‘920‘938‘463‘463‘374‘607‘431‘768‘211‘456 IPs• Non esattamente. . . Per mantenere le proporzioni dovremmo dipingere il sistema solare !
• Più di 6.66 · 1023 indirizzi per metro quadro della superficie terrestre.
• Spazio degli indirizzi IPv4• 232 = 4‘294‘967‘296 IPs
• Spazio degli indirizzi IPv6• 2128 = 340‘282‘366‘920‘938‘463‘463‘374‘607‘431‘768‘211‘456 IPs• Non esattamente. . . Per mantenere le proporzioni dovremmo dipingere il sistema solare !• Più di 6.66 · 1023 indirizzi per metro quadro della superficie terrestre.
IoT e Sicurezza
Ottobre 2018
Tipi di indirizzi IPv6
Ci sono molti tipi di indirizzi:
Unicast (one-to-one)
• global• link-local• Unique Local (ULA)• IPv6-mapped
• Multicast (one-to-many)• Anycast (one-to-nearest)
Non esiste l’indirizzo di Broadcast – si usa il Multicast.
34
IoT e Sicurezza
Ottobre 2018
Rappresentazione testuale
La forma estesa di un indirizzo IPv6 è:2001:0DB8:3003:0001:0000:0000:6543:210F
La forma compatta (normale) è:2001:DB8:3003:1::6543:210F
La rappresentazione letterale è:• [2001:DB8:3003:2:a00:20ff:fe18:964c]• http://[2001:DB8::43]:80/index.html
2001:DB8::/322001:DB8::/32 (2001 - Debate) è un documentation-only prefix.Qualsiasi documento deve usare questo prefix per gli esempi.
35
IoT e Sicurezza
Ottobre 2018
Prefissi allocati dallo IANA
• ::/128 (all zeroes) - Unspecified• ::1/128 - Loopback• 2000::/3 - Global Unicast [RFC4291]• FC00::/7 - Unique Local Unicast [RFC4193]• FE80::/10 - Link Local Unicast [RFC4291]• FF00::/8 - Multicast [RFC4291]• Gli indizzi Anycast sono indistinguibili dai Global Unicast• 64:ff9b::/96 - IPv6-mapped IPv4 address [RFC6052]
36
IoT e Sicurezza
Ottobre 2018
Indirizzi multicast allocati dallo IANA
Il formato è:0 7 8 11 12 15 16 · · · 127
FF flags scope Group ID (non in scala)
Dove i flags sono di solito 0 (vedi RFC 4291), e lo scope è:1 – Interface-Local scope2 – Link-Local scope4 – Admin-Local scope5 – Site-Local scope8 – Organization-Local scopeE – Global scope
37
IoT e Sicurezza
Ottobre 2018
Indirizzi multicast allocati dallo IANA (esempi)
https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml
FF02::1 All Nodes Address [RFC4291]FF02::2 All Routers Address [RFC4291]FF02::9 RIP Routers [RFC2080]FF02::A EIGRP Routers [RFC786]FF02::D All PIM RoutersFF02::F UPnPFF02::1:2 All DHCP Relay Agents and Servers
FF0X::FB mDNSv6 [RFC6762]FF0X::FD All CoAP Nodes [RFC7252]FF0X::101 Network Time Protocol (NTP) [RFC1119][RFC5905]FF0X::300 Mbus/Ipv6 [RFC3259]
38
IoT e Sicurezza
Ottobre 2018
Generazione di un indirizzo – esempio
Gli indirizzi link-local si usano durante l’autoconfigurazione e quando non serve passareda un router.
0 15 16 31
FE80
0...0
Interface
ID
L’Interface ID può essere creato in molti modi. Normalmente si deriva dal MAC address.
39
IoT e Sicurezza
Ottobre 2018
IPv6 Interface IDs
L’Interface ID può essere assegnato in diversi modi:• Auto-configurato usando un MAC address.
• Eventualmente si usa una espansione a EUI-64• Tramite il DHCP.• Configurato manualmente.• Generato randomicamente.• CGA (Cryptographically Generated Address) [RFC3972].• Etc.
40
IoT e Sicurezza
Ottobre 2018
IPv6 Interface IDsEsempio: espansione di un MAC48 a EUI-64:
00 Vendor NIC specific part
02 Vendor FF FE NIC specific part
E.g., 00:1f:5b:39:67:3c diventa 021f:5bff:fe39:673c
Assegnazione via DHCP
La configurazione è poco più complessa che nel DHCPv4.
CGA (Cryptographically Generated Address)
E’ un hash della chiave pubblica dell’host. Serve a prevenire l’address spoofing.... ma introduce un overhead computazionale notevole.
41
IoT e Sicurezza
Ottobre 2018
IPv6 Interfaces (PLURALE !)
Ciascuna interfaccia (NIC) ha almeno 3 indirizzi IPv6, e probabilmente molti di più.
• Link Local (FE80::xx:yy:zz:kk)• Global Unicast• All-Nodes Multicast address (FF02::1)• All Routers Multicast Address (FF02::2, se è un router)• Solicited-Node Multicast Address (FF02::1:FF00:0000/104, se in auto-configurazione)
42
IoT e Sicurezza
Ottobre 2018
Auto-configurazione
L’Auto-configurazione è complicata, e può essere usata da un attaccante (come l’ARPspoofing, del resto).
I passi che un nodo esegue sono:1. Crearsi un Node ID e il corrispondente Link-Local address.2. Manda un messaggio DAD (Duplicate Address Detection) al Solicited-Node Multicast
Address generato dal Node ID.• Se riceve una risposta (indirizzo già in uso), torna al punto 1• Altrimenti vai avanti
3. Usa il Link Local IP per cercare i router, e riceve (si spera) uno o più RouterAdvertisement (RA)
4. Ricevuto l’RA, genera il Global Unicast Address5. Ripete il DAD, questa volta per il Global Unicast Address6. Imposta il Default Router, etc.
43
IoT e Sicurezza
Ottobre 2018
On-link and subnet - cose differenti
C’è un intero RFC, il 5942 che spiega la differenza !
IPv4La subnet è definita dall’indirizzo IP e dalla netmask.Tutti gli host di una subnet sono considerati on-link (routing diretto).
IPv6Non c’è la no netmask - c’è solo il prefix.La raggiungibilità diretta di un host è determinata dal suo stato (on-link).Lo stato di on-link non è una conseguenza dell’avere lo stesso prefix...
... e nemmeno dal non avere lo stesso prefix.
44
IoT e Sicurezza
Ottobre 2018
Neighbors e RFC 4861
Neighbor solicitation
When a node has a unicast packet to send to a neighbor, but does not know theneighbor’s link-layer address, it performs address resolution
Problema: cos’è un ‘neighbor’.
Definizione di Neighbor
neighbors nodes attached to the same linklink a communication facility or medium over which nodes can communicate at
the link layer, i.e., the layer immediately below IP.
45
IoT e Sicurezza
Ottobre 2018
Neighbors ? Esempio !
RouterDHCPv6
A B
C
2001:db8:f00d::2 2001:db8:cafe::100
2001:db8:f00d::42
• A e C: stesso prefix, ma NON sullo stesso link.• A e B: prefix diverso, ma sullo stesso link.
Conseguenze:• A e C non possono comunicare direttamente (lo fanno tramite il router).• A e B possono comunicare direttamente.
46
IoT e Sicurezza
Ottobre 2018
WHAT ?!?!?!?
Router Advertisement (RA): “on-link” (L) bitSe è impostato, allora si assume che gli host con lo stesso prefix siano on-link.
Un nodo deve considerare un altro nodo come NON on-link in assenza diindicazioni specifiche.
Se il router non imposta il flag on-link, allora tutte le connessioni passano da router, ma...i messaggi ICMP Route Redirect (RR) servono a dire a due host che sono on-link.
... anche se i prefix sono diversi !
47
IoT e Sicurezza
Ottobre 2018
LAN
No! Non diverso! Solo diverso in tua mente.Devi disimparare ciò che hai imparato!
Yoda
LAN – Local Area NetworkTipicamente identificata come un’insieme di devices connessi ad uno stesso Switch. . . No
LAN – Local Area NetworkUn insieme di devices connessi allo stesso Switch (Router, Access Point, etc.), e che:
1. Hanno lo stesso prefix, e2. Possono comunicare a Livello 2 (L2).
Se una delle due condizioni è falsa, siete nei guai, ma...Se due LAN possono comunicare a L2, siete in guai peggiori.
48
IoT e Sicurezza
Ottobre 2018
Conseguenze di LAN sbagliate in IPv4 e IPv6
IPv4
• Non riuscite ad assegnare un prefisso diverso a ciascuna LAN con il DHCP.• Le macchine possono comunque comunicare (e.g., accesso alle stampanti).• I protocolli di autodiscovery troveranno le risorse.
IPv6
• Non riuscite ad assegnare un prefisso diverso a ciascuna LAN con il DHCP.• Le macchine comunicheranno grazie agli indirizzi link-local !!!• I protocolli di autodiscovery troveranno le risorse.
Soluzione costosa: si tengono le LAN separate fisicamente (buona fortuna).49
IoT e Sicurezza
Ottobre 2018
Soluzione ovvia: VLAN (alias: 802.1Q)802.1Q aggiunge 32 bit all’header 802.3
Il VLAN identifier (VID) è lungo 12 bits.
VLAN 1 — TechVLAN 2 — SalesVLAN 3 — Other
Trunk — All the VLANs (still tagged)
50
IoT e Sicurezza
Ottobre 2018
Vantaggi di una VLAN
VLAN 1 — TechVLAN 2 — SalesVLAN 3 — Other
Trunk — All the VLANs (still tagged)
1. Potete cambiare l’associazione (il tag) senza toccare l’hardware.2. Solo le macchine di una stessa VLAN si ‘vedono’ a L2.3. Potete decidere se far passare il traffico ‘untagged’, e dove.4. E’ lo switch che comanda, non occorre che i devices facciano il tagging.5. E’ sicuro [quasi] quanto una separazione fisica.
51
IoT e Sicurezza
Ottobre 2018
Domande ?
52