63
IoT e Sicurezza Ottobre 2018 IoT e Sicurezza 1 – IoT e networking 101 Tommaso Pecorella, PhD Dpt. 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 - 1 IoT e networking 101

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IoT e Sicurezza - 1 IoT e networking 101

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

Page 2: IoT e Sicurezza - 1 IoT e networking 101

IoT e Sicurezza

Ottobre 2018

Outline

IntroductionCos’è l’IoTScenari di utilizzo

Protocolli IoTMessage QueueingRepresentational state transfer (REST)

Internet 101PrincipiRouting 101TCP/IPIPv6LAN e VLAN

1

Page 3: IoT e Sicurezza - 1 IoT e networking 101

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

Page 4: IoT e Sicurezza - 1 IoT e networking 101

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

Page 5: IoT e Sicurezza - 1 IoT e networking 101

IoT e Sicurezza

Ottobre 2018

Cos’è un device IoT ?Qualsiasi device connesso to Internet in qualche modo.

4

Page 6: IoT e Sicurezza - 1 IoT e networking 101

IoT e Sicurezza

Ottobre 2018

Cos’è un device IoT ?Qualsiasi device connesso to Internet in qualche modo.

4

Page 7: IoT e Sicurezza - 1 IoT e networking 101

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

Page 8: IoT e Sicurezza - 1 IoT e networking 101

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

Page 9: IoT e Sicurezza - 1 IoT e networking 101

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

Page 10: IoT e Sicurezza - 1 IoT e networking 101

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

Page 11: IoT e Sicurezza - 1 IoT e networking 101

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

Page 12: IoT e Sicurezza - 1 IoT e networking 101

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

Page 13: IoT e Sicurezza - 1 IoT e networking 101

IoT e Sicurezza

Ottobre 2018

Esempi di devices IoT

11

Page 14: IoT e Sicurezza - 1 IoT e networking 101

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

Page 15: IoT e Sicurezza - 1 IoT e networking 101

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

Page 16: IoT e Sicurezza - 1 IoT e networking 101

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

Page 17: IoT e Sicurezza - 1 IoT e networking 101

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

Page 18: IoT e Sicurezza - 1 IoT e networking 101

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

Page 19: IoT e Sicurezza - 1 IoT e networking 101

IoT e Sicurezza

Ottobre 2018

Constrained Application Protocol (CoAP)

• Simile all’HTTP.• Usa l’UDP.• RFC 7252

http://coap.technology

17

Page 20: IoT e Sicurezza - 1 IoT e networking 101

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

Page 21: IoT e Sicurezza - 1 IoT e networking 101

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

Page 22: IoT e Sicurezza - 1 IoT e networking 101

IoT e Sicurezza

Ottobre 2018

Internet - 2015 map

http://www.caida.org/research/topology/as_core_network/20

Page 23: IoT e Sicurezza - 1 IoT e networking 101

IoT e Sicurezza

Ottobre 2018

21

Page 24: IoT e Sicurezza - 1 IoT e networking 101

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

Page 25: IoT e Sicurezza - 1 IoT e networking 101

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

Page 26: IoT e Sicurezza - 1 IoT e networking 101

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

Page 27: IoT e Sicurezza - 1 IoT e networking 101

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

Page 28: IoT e Sicurezza - 1 IoT e networking 101

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

Page 29: IoT e Sicurezza - 1 IoT e networking 101

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

Page 30: IoT e Sicurezza - 1 IoT e networking 101

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

Page 31: IoT e Sicurezza - 1 IoT e networking 101

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

Page 32: IoT e Sicurezza - 1 IoT e networking 101

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

Page 33: IoT e Sicurezza - 1 IoT e networking 101

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

Page 34: IoT e Sicurezza - 1 IoT e networking 101

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

Page 35: IoT e Sicurezza - 1 IoT e networking 101

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

Page 36: IoT e Sicurezza - 1 IoT e networking 101

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

Page 37: IoT e Sicurezza - 1 IoT e networking 101

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

Page 38: IoT e Sicurezza - 1 IoT e networking 101

• 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.

Page 39: IoT e Sicurezza - 1 IoT e networking 101

• 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.

Page 40: IoT e Sicurezza - 1 IoT e networking 101

• 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.

Page 41: IoT e Sicurezza - 1 IoT e networking 101

• 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.

Page 42: IoT e Sicurezza - 1 IoT e networking 101

• 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.

Page 43: IoT e Sicurezza - 1 IoT e networking 101

• 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.

Page 44: IoT e Sicurezza - 1 IoT e networking 101

• 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.

Page 45: IoT e Sicurezza - 1 IoT e networking 101

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

Page 46: IoT e Sicurezza - 1 IoT e networking 101

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

Page 47: IoT e Sicurezza - 1 IoT e networking 101

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

Page 48: IoT e Sicurezza - 1 IoT e networking 101

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

Page 49: IoT e Sicurezza - 1 IoT e networking 101

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

Page 50: IoT e Sicurezza - 1 IoT e networking 101

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

Page 51: IoT e Sicurezza - 1 IoT e networking 101

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

Page 52: IoT e Sicurezza - 1 IoT e networking 101

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

Page 53: IoT e Sicurezza - 1 IoT e networking 101

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

Page 54: IoT e Sicurezza - 1 IoT e networking 101

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

Page 55: IoT e Sicurezza - 1 IoT e networking 101

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

Page 56: IoT e Sicurezza - 1 IoT e networking 101

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

Page 57: IoT e Sicurezza - 1 IoT e networking 101

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

Page 58: IoT e Sicurezza - 1 IoT e networking 101

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

Page 59: IoT e Sicurezza - 1 IoT e networking 101

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

Page 60: IoT e Sicurezza - 1 IoT e networking 101

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

Page 61: IoT e Sicurezza - 1 IoT e networking 101

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

Page 62: IoT e Sicurezza - 1 IoT e networking 101

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

Page 63: IoT e Sicurezza - 1 IoT e networking 101

IoT e Sicurezza

Ottobre 2018

Domande ?

52