Lezione (2025-10-03)
Sicurezza di rete
Section titled “Sicurezza di rete”La visione originaria della rete internet era quella di ‘un gruppo di utenti che si fidavano uno dell’altro su una rete trasparente’. Come abbiamo visto, questa cosa non ha funzionato.
Malware
Section titled “Malware”Esistono diversi tipi di malware che possono essere condivisi e installati anche involontariamente attraverso la rete internet.
- virus, worm o trojan sono categorie di software che compiono azioni dannose a
discapito dell’utente infettato:
- virus: oggetto ricevuto tramite e-mail o download e avviato dall’utente;
- worm: oggetto ricevuto passivamente e che si esegue automaticamente;
- trojan: parte dannosa nascosta in un software altrimenti utile;
- malware di spionaggio: trasmette all’attaccante informazioni raccolte sull’host dell’utente;
- botnet: gruppi di host arruolati per spamming e attacchi DDOS;
- malware auto-replicante: malware che passa in maniera automatica da un host all’altro;
Tipologie di attacchi sulla rete
Section titled “Tipologie di attacchi sulla rete”- attacco DDOS: gli attaccanti fanno in modo di inviare più dati alla vittima di quelli che può supportare, negando il servizio agli utenti legittimi.
- packet sniffing: gli attaccanti intercettano pacchetti lungo il loro percorso sulla rete per estrarre informazioni della vittima.
- IP Spoofing: un host invia pacchetti impostando l’indirizzo sorgente di un altro host, in modo che i pacchetti di risposta creino un danno alla vittima.
- record and playback: simile al packet sniffing, l’attaccante re-invia pacchetti sniffati per (ad esempio) far compiere un azione più volte all’utente o usare credenziali anche se criptate.
Livello applicazione
Section titled “Livello applicazione”Cosa significa creare un applicazione di rete?
- il programma gira su host diversi;
- comunica attraverso la rete;
- non occorre predisporre i dispositivi del nucleo della rete per supportare il programma;
Tipi di architetture:
- client-server: client fanno richieste o inviano dati al server, che ha una posizione di controllo;
- peer-to-peer (p2p): tutti sullo stesso livello. Ad esempio nei torrent si ricevono parti di file ma allo stesso tempo si inviano ad altri host sulla rete;
- ibrida: architetture p2p ma con un server che fornisce autenticazione e controllo;
Socket
Section titled “Socket”Per inviare messaggi ad altri host o processi (se sullo stesso host), un’applicazione deve aprire una socket.
Si può paragonare il socket ad una porta: un processo invia messaggi attraverso la sua porta (che deve rimanere aperta) e l’altro processo ricevente deve avere una porta aperta per ricevere quei messaggi.
Dopo che il messaggio è stato scritto sul socket, ci si affida alla rete (e ai livelli inferiori) per trasportare il pacchetto alla destinazione.
Indirizzamento
Section titled “Indirizzamento”Un processo invia un messaggio ad uno specifico destinatario attraverso un indirizzo. Per IPv4 ogni host ha un indirizzo IP univoco di 32 bit.
Non basta solo sapere l’indirizzo, dato che su ogni host potrebbero esserci più processi in ascolto.
Si usa infatti anche un numero di porta (a 16 bit) che identifica un socket in ascolto sull’host ricevente.