




























































































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Appunti raccolti seguendo il corso di Network Security all’università Federico II
Tipologia: Appunti
1 / 225
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





























































































I concetti fondamentali della sicurezza informatica vanno sotto il nome di CIA TRIAD:
data integrity: i dati non devono essere modicati, distrutti o persi system integrity: il sistema deve lavorare libero da qualunque manipolazione non autorizzata
Per capire come rendere un sistema più sicuro bisognaidenticare gli attacchi a cui esso può andare soggetto. Qualsiasi tipo desiderato di protezione deve essere progettato e realizzato in maniera esplicita (es. progettazione protocolli sicuri, con crittograa, autenticazione, autorizzazione e mec- canismi di difesa da attività malevoli). La maggior parte dei buchi di sicurezza è dovuta a codice difettoso. Esistono techniche di corre- zione dei bug software per prevenire che programmi difettosi messi in rete diventino vulnerabili a causa di tali bachi. Una cosa è garantire requisiti di sicurezza negli end-system, una cosa è garantire requisiti di si- curezza sui collegamenti di rete (on-the-wire). I due domini si dierenziano, e con loro anche i meccanismi di sicurezza adottati! Se è vero che gli end-system (host) sono ben controllati tramite modelli di autenticazione e di auto- rizzazione ben consolidati, non si può dire lo stesso di una rete. Tutti possono collegarsi ad una rete e la connettività può essere controllata solo in contesti molto ristretti. Inoltre le reti tipicamente
informatica, ma molto spesso si parte da strumenti di natura non tecnica come social engineering, bribery, wiretapping (intercettazone). In un'organizzazione non bisogna mai tralasciare l'ipotesi che possono essere gli stessi insiders a costituire una plausibile minaccia: essi conoscono gli asset, i punti deboli, si trovano dietro al rewall aziendale. Gli attacchi possono essere, in generale:
Esistono diversi servizi di sicurezza deniti come:
Secondo X.800 i servizi di sicurezza si racchiudono nelle seguenti categorie:
Come si prepara un attacco di rete?
Il footprinting è la prima attività condotta per trovare ed evidenziare vulnerabilità del sistema, raccogliendo informazioni in rete utili all'elaborazione di un prolo (footprint, appunto) dettagliato delle caratteristiche di sicurezza di una determinata organizzazione come:
Questa è l'attività con l'impatto minore ed è del tutto lecita, vedendo il sistema come una black box. A seconda del dominio i dati di interesse cambiano: Nell'Internet/Intranet:
Tante informazioni utili sono spesso pubblicamente disponibili nei siti web delle organizzazioni come: dettagli sulle congurazioni di sicurezza, inventari completi degli asset dell'organizzazione, ecc. Inoltre, il codice HTML è pubblicamente ispezionabile e non è raro trovare informazioni sensibili magari presenti in un commento. Per analizzare accuratamente un sito web si può scriverlo in locale utilizzando tool come wget e studiarlo o-line, ricercando all'interno del clone locale del sito web informazioni nascoste come le e directory: tale operazione è automatizzabile con approccio brute force che ricercano le con estensioni di maggior interesse (es. .php, .jsp, .cgi, .asp, ecc.). DirBuster è un tool che permette tale approccio a forza bruta.
Tramite riferimenti o link è possibile risalire ad organizzazioni correlate. E' possibile altresì trovare organizzazioni correlate nei commenti in pagine web in cui si trova l'autore del codice.
Banalmente, risalire all'indirizzo sico di un'organizzazione può risultare molto utile per sferrare attacchi non tecnici: cercare nell'immondizia (dumpster-diving), studiare la sorveglianza, fare social engineering, sono alcune delle tecniche che si possono utilizzare una volta risaliti all'indirizzo sico.
Da un indirizzo e-mail è spesso facile risalire ad un nome utente, e da un nome utente si può passare alle fasi successive dell'attacco ed ottenere accesso alle risorse del sistema target. Tutti questi dati possono essere studiati a trovare una correlazione tra essi. Un tool a tale proposito è Maltego, uno strumento di social engineering capace di estrapolare informazioni a vari livelli, correlare i dati e rappresentare il risultato delle elaborazioni sotto forma di grafo sociale.
Importante conosce informazioni su fusioni aziendali, acquisizioni, scandali, fallimenti, cessioni, ecc. Per il cosiddetto obbligo di trasparenza, se l'organizzazione è un'azienda pubblica, queste informazioni sono disponibili in rete.
E' utile conosce informazioni sui dettagli delle policy di sicurezza adottate dall'organizzazione target, allo stesso modo di conoscere dettagli di tipo tecnico riguardo l'infrastruttura hardware e software di cui l'organizzazione si è dotata a scopi di protezione.
Esistono tool in internet, come WayBack Machine, che permette di accedere a versioni vecchie di siti Internet. Recuperare queste copie obsolete è utile per scovare dati sensibili volutamente rimossi dall'organizzazione target per motivi di sicurezza.
Gli hacker a volte utilizzano i motori di ricerca per condurre attacchi. Ad esempio, googlando allinurl:tsweb/default.htm si trovano tutti i server Microsoft che espon- gono un servizio di desktop remoto accessibile via web, potenzialmente vulnerabili ad attacchi di tipo Remote-To-Local tramite l'exploit del protocollo RDP (Remote Desktop Protocol). Vedi: Google Hacking Database e Shodan.
L'ICANN (Internet Corporation for Assigned Names and Numbers) è l'organizzazione che si occupa del coordinamento per l'assegnazione dei nomi di dominio, degli indirizzi IP e dei parametri dei protocolli e relativi numeri di porta.
Il servizio WHOIS (vedi whois.iana.org) si basa sulle cosiddette 3R:
Se il zone transfer è disabilitato (ed è quello che spesso si fa) si utilizzano tecniche come:
DNS Reverse lookup (indirizzo IP > nome simbolico) WHOIS ARIN DNS brute-forcing: si enumerano i nomi degli host tramite approccio a forza bruta su nomi di sotto-domini comuni (es. www, mail, blog, admin, ns1, ecc.) [vedi script erce.pl in DNS_enumeration]
Le contromisure al zone transfer sono:
limitare i trasferimenti di zona ai soli server autorizzati: vedi la direttiva allow-transfer nel le di congurazione named.conf (togliere ANY) lato rete: ltrare le connessioni TCP non autorizzate sulla porta 53 (tenendo presente che il zone transfer si fa con TCP, ma la name lookup si fa con UDP) adottare TSIG (Cryptographic Transaction Signatures) per consentire solo ad host dati di eettuare trasferimenti di le di zona. esporre pubblicamente solo i name server esterni
Si basa sulla ricerca di informazioni circa la topologia di rete così da trovare potenziali percorsi di accesso alla rete dell'organizzazione targer. Il tool principale in questo ambito è traceroute, il quale scopre percorsi di rete basato su un impiego intelligente del campo TTL presente nei pacchetti IP
Tra le contromisure c'è l'impego di un NIDS (Network Intrusion Detection System), c'è la congurazione dei router di frontiera dell'organizzazione ad esempio limitando opportunamente il traco UDP ed ICMP in ingresso.
1 nmap -sn -PR 143.225.28.128/
ARP ovviamente funziona solo su rete locale. Nel caso di host remoti si ricorre a protocolli di più alto livello quali ICMP e UDP/TCP. I tool a supporto per la ricerca di host su reti remote sono:
1 nmap -sn -PE --send-ip 143.225.28.
1 nping -c 4 --icmp-type time 143.225.28.
Quello che può accadere, e che molto spesso succede, è che per motivi di sicurezza i messaggi ICMP vengono ltrati tramite rewall. E' comunque prassi lasciare aperta la porta 80 per segmenti TCP, motivo per cui si può eettuare il probing (invio pacchetti sonda) contattando TCP (sulla porta 80) per determinare se l'host in questione è alive. Ovviamente non è facile determinare quali servizi siano attivi sull'host (e quindi determinare le relative porte), pertando inviare alla cieca segmenti TCP verso numeri di porta variabili costituisce un'attività dispendiosa e facilmente rintracciabile da sistemi di Intrusion Detection. Utilizzando sempre nmap, con l'opzione -Pn, si eettua un probing su ben 1000 porte di potenziale interesse. Il risultato fornisce informazioni su quali porte sono aperte ed il tipo di servizio associato.
Una soluzione più scalabile e silenziosa è il probing di una singola porta scegliendo l'opzione -sS -p [#porta] -open.
Una volta scoperti gli host alive, quello che bisogna fare è il port scanning. Tale attività di probing dei nodi di rete determina i servizi in esecuzione o in ascolto su di essi. A partire dai servizi, un hacker può individuare potenziali vulnerabilità di un nodo di rete. Ma non solo: può anche determinare tipo e versione del Sistema Operativo e applicazioni in uso. Comunemente, viene realizzata tramite l'invio di pacchetti indirizzati alle porte TCP ed UDP maggiormente diuse. Esistono dierenti tipi di port scanning TCP, ciascuno dei quali sfrutta un campo del segmento TCP. Ricordiamo che:
Con l'opzione -D nmpa consente di eettuare il cosiddetto decoy (diversivo) che richiede di fare spoong di un IP valido, così da far sembrare che l'host esca sia anch'esso partecipe dello scanning e dell'inoltre dei pacchetti SYN. In questo modo risulta dicile identicare il reale artece della scansione i cui dati si confondono con quelli del nodo utilizzato come diversivo.
Altro tool è netcat che è utile quando si vuole ridurre al minimo le proprie tracce in un sistema compromesso. Realizza uno scanning basato su TCP o su UDP (quest'ultimo con l'opzione -u). Per la detection di un port scanning esistono, come per il ping sweep, gli IDS Network-Based, oltre all'anilisi dei log con scanlogd (stando sempre attenti agli indirizzi IP spoofed). Per la prevention non esistono tecniche vere e proprie, ma solo consigli: come quello di disattivare tutti i servizi ritenuti non necessari.
Si può scoprire il sistema operativo già in fase di footprinting con tecniche semplici come il banner grabbing. Nela fase di scanning è possibile scoprire il sistema operativo del sistema target utilizzando la cosiddetta tecnica dello stack ngerprinting con cui, a partire dai servizi disponibili su un nodo scoperti col port scanning, si evidenzia un determinato tipo di sistema operativo andando ad analizzare lo stack di rete. Ad esempio se le porte attive sono 135 (Endpoint Mapper), 139
(NetBIOS) e 445 (Active Directory), allora il sistema operativo è Winidows. O, ancora, se le porte attive sono 22 (ssh), 111 (SUN RPC) e 2049 (NFS), allora il sistema operativo è UNIX-Based. Lo stack ngerprinting può usare approcci sia attivi che passivi.
Richiede una conoscenza dettagliata di come i produttori dei vari SO implementano lo stack TC- P/IP (si può far riferimento ai vari RFC). Consiste sostanzialmente nell'inviare proattivamente (perciò attivo) dei pacchetti probe. Le tecniche sono varie:
Un tool utilizzato per distinguere un Sistema Operativo è ancora nmap con l'opzione -O che utilizza alcune delle tecniche appena spiegate. Come al solito tra le contromisure si può fare detection adoperando le stesse tecniche viste per il