Vai al contenuto

Argomenti

Processi e TCP

  • Modello client/server; "server" come processo vs calcolatore; importanza del tipo delle entità.
  • Interfaccia vs implementazione; protocollo come regole note a priori (IETF, RFC).
  • Layering applicazione / TCP-UDP / IP.
  • Indirizzo TCP = <IP, port>: porta del server fissata dal protocollo, porta del client scelta dal s.o.
  • Interfaccia socket: welcoming e communication socket; bind/listen/accept e connect.

Sezioni

Materiale didattico aggiuntivo

Protocolli e Proprieta

  • Scale temporali: parallelismo indispensabile lato server e lato client.
  • Rappresentazione dei numeri (basi 2, 10, 16) e codifica ASCII del testo.
  • Protocolli di testo (HTTP, SMTP, POP) vs binari (DNS).
  • Proprietà dei servizi di comunicazione: connection/connectionless, byte/message, reliable/unreliable.
  • TCP (connessione, affidabile, flusso di byte) vs UDP; nessuna garanzia temporale.

Sezioni

  • Scale temporali (10)
  • Protocolli di testo e binari (18)
  • Proprietà Servizi Comunicazione (19)

Materiale didattico aggiuntivo

DNS Uso e Architettura

  • Nomi al posto degli indirizzi IP; default name server e local resolver con cache.
  • Architetture: name server interno, dell'ISP, public resolver; recursive vs authoritative.
  • Requisiti di progetto: scala, prestazioni, fault-tolerance, autonomia amministrativa.
  • Resource Record <nome, type, valore>: A, MX, CNAME, NXDOMAIN, additional record, RRset; domain tree, TLD, SLD.
  • Infrastruttura critica: hijacking, indisponibilità, censura, sorveglianza, profilazione. Il nome non dice nulla su chi gestisce l'host.

Sezioni

Materiale didattico aggiuntivo

DNS Gestione Domini

  • Proprietario di un dominio: controllo completo sui RR e sui sottodomini; delega → zone.
  • Acquisto di un SLD da un DNS Registrar; in pratica ogni nome è acquistabile da chiunque.
  • Problema fondamentale: il nome suggerisce un proprietario, ma nulla garantisce l'associazione.
  • Da dominio a proprietario: catena root → TLD → Registrar → Registrant, via whois.
  • Enormi problemi pratici: procedure lente, Registrar non collaborativi, identità facilmente falsificabile.

Sezioni

Materiale didattico aggiuntivo

Web - Contenuti 1

  • WWW e URL (protocollo, server, risorsa); URL è localizzatore, non identificatore.
  • Documenti statici vs dinamici; query string come parametri di input.
  • HTML in breve: tag, elementi, attributi.
  • <IMG> e <IFRAME>: prelievo automatico di altre risorse, anche da altri server.
  • Una pagina web non è un documento: molti documenti da molti server → base del tracking.

Sezioni

Web - Contenuti 2

  • Come pubblicare un sito: PC proprio, calcolatore affittato, web hosting, website builder.
  • Non-custom vs custom domain: nel secondo il proprietario configura A/CNAME nel proprio name server.
  • CSS: separazione struttura/visualizzazione, stili per tag, class, div; media queries.
  • JavaScript: dove stanno gli script e quando vengono eseguiti.
  • Uno script controlla tutta la pagina e può inviarne i dati ovunque → attenzione alle librerie di terzi.

Sezioni

Materiale didattico aggiuntivo

Web - HTTP

  • Formato di Request e Response; header principali; la Response non contiene nomi di file.
  • Una o più coppie request/response per connessione TCP.
  • Host (più siti su un server), Referer (impatto privacy), Location (redirection), User-Agent (meglio il sito responsive).
  • Proxy HTTP: navigazione indiretta; il browser risolve solo il nome del proxy; URL completo nella request.
  • Invio dati con FORM: form elements, query string, POST vs GET.

Sezioni

Materiale didattico aggiuntivo

Web - Sessioni Auth

  • HTTP è stateless: né connessione TCP né indirizzo IP identificano il Browser@Device.
  • Sessione con cookie: Set-Cookie / Cookie, cookie table del browser, tabella e stato delle sessioni.
  • Autenticazione FORM e pattern di login; riservatezza del cookie identifier importante quanto quella della password.
  • Authentication vs Authorization: ACL, Realm, controlli programmati; vulnerabilità IDOR reali.
  • HTTP Basic: WWW-Authenticate/Authorization, Base64 (codifica, non protezione).

Sezioni

Materiale didattico aggiuntivo

Web - Tracking

  • Incognito = cookie table separata e non persistente: cancella solo la history locale.
  • Analytics: IFRAME/IMG/script invisibili verso un terzo + Referer → conteggio per pagina.
  • Cookie del terzo di lunga durata → riconoscimento del singolo browser e della sua navigazione.
  • Terzo presente su molti siti → profili su idee politiche, salute, situazione economica, religione.
  • Web advertising: publisher/ad network/advertiser, contextual e targeted advertising, cookie syncing, device linking.

Sezioni

Materiale didattico aggiuntivo

Email - Arch Proto

  • Mailbox, indirizzo email, dominio email; RR MX: dominio email → host mail server (entità di tipo diverso).
  • MUA: webmail, app, mail client. Il mail client contatta sempre e solo il proprio mail server.
  • Domini diversi: il mail server mittente si comporta da client SMTP verso quello destinazione.
  • Autenticazione: sempre in POP, in SMTP solo per mittenti locali → Sender Address Spoofing possibile.
  • Protocolli SMTP e POP a linee ASCII; formato email RFC 822 (header, linea vuota, body).

Sezioni

Email - Practical issues

  • Sender Address Spoofing banale (swaks); spam su scala enorme.
  • Difese: molte euristiche su interazione SMTP, contenuti e indirizzo IP del client.
  • Filtri molto accurati ma falsi positivi costosi; oggi conviene ingannare più che falsificare (SPF, DKIM).
  • Interazione diretta con i server: telnet, swaks, openssl s_client; ostacoli pratici sulla frontiera.
  • Forwarding, mailing list, "send as": cambiano il numero di mail server attraversati.

Sezioni

  • Spam e Sender Address Spoofing (23)
  • Forwarding, Mailing list, Send as (15)

Materiale didattico aggiuntivo

Network

  • Network vs internetwork.
  • Funzionalità Ethernet: indirizzi 6 byte, broadcast, connectionless, unreliable, message-oriented, MTU 1500.
  • Frame Ethernet; parametri generali di una network technology; LAN vs WAN.
  • Switch e access point: instradamento con switch table costruita automaticamente; non sono nodi e non hanno indirizzo.
  • Nessuna configurazione per collegare un nodo; al mittente basta l'indirizzo di destinazione.

Sezioni

  • Network (9)
  • Ethernet: Funzionalità (12)
  • Ethernet: Implementazione (35)

Materiale didattico aggiuntivo

IP - Internetwork

  • Internetwork come network virtuale; funzionalità di Internet (connectionless, unreliable, 4 byte, MTU 64 KB).
  • Due indirizzi per nodo, senza relazione tra loro; router con un indirizzo per ogni network.
  • Azioni IP: test "IP-dst è sulla mia network?", consegna diretta o invio al default gateway; instradamento nei router.
  • Il pacchetto non cambia mai, i frame sì; mai indirizzi IP nei campi di un frame.
  • Internet unreliable per scelta (end-to-end principle); restano aperte configurazione, test, ARP, routing.

Sezioni

Materiale didattico aggiuntivo

IP - Netnum

  • Network number: intervallo di lunghezza potenza di 2, con i K bit meno significativi a zero.
  • Un solo network number per network, non sovrapposti; indirizzi non usati non riutilizzabili altrove.
  • Allocazione coordinata e database whois; subnetting autonomo delle organizzazioni.
  • Notazione /n; indirizzo IP = network number + host number; host number 0 e tutti 1 riservati (minimo /30).
  • Subnet mask: network number = IP AND SM; test "stessa network": myIP AND mySM == IP-dst AND mySM.

Sezioni

Materiale didattico aggiuntivo

IP - How it works

  • Configurazione statica vs dinamica; DHCP semplificato (DISCOVER broadcast, OFFER) sulla stessa network.
  • ARP: da indirizzo IP a indirizzo Ethernet sulla propria network; ARP cache; campo Type per il demultiplexing.
  • Gratuitous ARP ad ogni (ri)collegamento: rileva conflitti e aggiorna le switch table.
  • Caso comune svolto: sequenza di frame di un nodo appena acceso, con gli errori tipici di ordinamento.
  • Routing statico: tabella network number → interfaccia + azione, riga "altrimenti" indispensabile; cenni al dinamico.

Sezioni

  • Collegare un host a Internet (22)
  • ARP (36)
  • Routing (45)

IP - Subnetting

  • L'organizzazione acquista dall'ISP un range interno al blocco dell'ISP.
  • Resto di Internet: nulla da fare; ISP: modifica solo i propri router.
  • OrgX: subnetting autonomo e routing statico con regole "altrimenti"; nessuno all'esterno ne è informato.
  • Subnetting in binario: ogni bit fissato dimezza l'intervallo (/20 → quattro /22, otto /23, o combinazioni).
  • Dimensionamento: arrotondare ogni network alla potenza di 2 superiore, poi sommare e arrotondare.

Sezioni

  • Organizzazioni: Routing e indirizzi IP (10)
  • Subnetting (27)

IP - Privati Residenziali

  • Range privati riservati; il router di frontiera scarta i pacchetti con IP privato → connettività solo interna.
  • Perché si usano: pochi nodi esposti, gestione più semplice, pochi indirizzi pubblici necessari.
  • Stesso indirizzo privato in moltissime organizzazioni (univoco solo nel proprio spazio di indirizzamento).
  • NAT: un unico indirizzo verso l'esterno, nessuna configurazione per i client, configurazione per esporre un server.
  • Network point-to-point e frame PPP; "router di casa" = router + switch + AP + NAT + DHCP + firewall.

Sezioni

  • Indirizzi IP Privati (11)
  • NAT: funzionalità (12)
  • Network point-to-point (10)
  • Internet at home (12)

Materiale didattico aggiuntivo

IP - Firewall

  • Vulnerabilità RCE e worm (SQL Slammer, WannaCry) → non si può più permettere ogni tipologia di traffico.
  • Firewall: filtra su IP address e port number, su frontiera o su endpoint, con default "tutto proibito".
  • Le connessioni TCP sono bidirezionali → regole sempre in coppia (altrimenti bocciatura automatica).
  • Esempi svolti: proxy, SMTP, DNS, POP, HTTP, entranti e uscenti; gergo "entrante/uscente" = connessioni.
  • Realtà: regole più permissive del necessario; traffico interno libero → un nodo infetto blocca l'organizzazione.

Sezioni

Materiale didattico aggiuntivo

Security - Defs Crypto

  • Scenario: sequenza di byte associata a un Subject, su canale nello spazio e nel tempo; Network Attacker che osserva, modifica, fabbrica.
  • Proprietà: Authentication, Secrecy, Integrity; nessun protocollo visto finora le garantisce.
  • Crittografia a chiave privata: solo Secrecy; "sono troppe" e "devo provarle tutte" (Enigma).
  • HMAC: Authentication e Integrity, non Secrecy. Chiave pubblica: coppia KPUB/KPRIV, molto più lenta.
  • Filo conduttore: distribuzione delle chiavi; il canale sicuro aggiuntivo non è utilizzabile su Internet.

Sezioni

Materiale didattico aggiuntivo

Certificati Uso

  • Certificato: associazione <Subject, KPUB> garantita da una Certification Authority.
  • Rilascio: la CA accerta una sola volta il diritto a usare quel Subject (RR TXT, documenti di identità).
  • Due assunzioni: verifica infallibile di autenticità e integrità + "ogni CA dice sempre la verità".
  • Valgono solo per le CA in KeySet e TrustSet → la validità non è intrinseca, dipende da chi verifica.
  • Tecnica generale: certificati → chiave pubblica (lenta) per concordare la chiave di sessione → chiave privata (veloce) per i dati.

Sezioni

  • Distribuzione delle chiavi: Soluzione moderna (39)
  • Public Key Cryptography in pratica (28)

Materiale didattico aggiuntivo

HTTPS

  • TLS su TCP: Secrecy, Integrity, Authentication del DNS name del server.
  • Apertura: invio del nome (SNI), ricezione e verifica del certificato, controllo del Subject, invio di KS crittata.
  • Funziona perché solo il legittimo proprietario conosce la KPRIV e sa decrittare KS.
  • Non dà: availability, autenticazione del client, garanzia che l'utente usi il DNS name giusto (problema irrisolto).
  • HTTPS: utile anche prima delle credenziali (FORM autentico e integro); cookie Secure; certificate chain.

Sezioni

  • TLS: Funzionalità e Implementazione (67)
  • HTTPS (15)
  • Capire le proprietà di HTTPS (16)

Materiale didattico aggiuntivo

Firma Digitale

  • Limite di TLS: I+A valgono solo sulla connessione e solo mentre esiste.
  • Obiettivo: I+A su qualunque canale, verificabili da chiunque e in qualunque momento.
  • Firma con la KPRIV, verifica con la KPUB; nessuna ipotesi sul canale, su ritardi o ordine di arrivo.
  • Con il certificato si passa dall'autenticazione della chiave a quella del Subject; formati PKCS7/PKCS12/p7m.
  • Applicazione chiave: firma di eseguibili e aggiornamenti. "Autentico e integro" ≠ vero, ≠ sicuro.

Sezioni

  • Firma digitale (27)
  • Firma digitale in pratica (19)

Materiale didattico aggiuntivo

Certificati Impl

  • Fidarsi di una CA le dà un potere enorme (casi Kazakhstan, Russia, regole europee).
  • Non c'è modo di essere certi che una CA non certifichi associazioni false.
  • Via la "bacchetta magica": ogni certificato è firmato dall'Issuer, la validazione ne verifica la firma con la KPUB del KeySet.
  • Esempi: autenticazione server in HTTPS e verifica di un PDF firmato; dove stanno KeySet, TrustSet, PersonalSet.
  • Inizializzazione: non da certificati self-signed su canale non sicuro, ma dal sistema operativo (fiducia nel fornitore).

Sezioni

  • Trusted CA (12)
  • Autenticità ed Integrità dei certificati (19)
  • KeySet e TrustSet in pratica (10)
  • Inizializzazione KeySet e TrustSet (10)

Materiale didattico aggiuntivo