Attacchi al modello ISO/OSI e ai servizi Flashcards
Descrivere in dettaglio l’attacco basato su MAC flooding, conseguenze ed eventuali contromisure
Il MAC flooding consiste nell’inviare ad uno switch pacchetti appositamente costruiti per riempire la CAM table (Content Addressable Memory table) che permette di associare rapidamente un indirizzo MAC alla porta a cui è collegato il terminale dello switch, con indirizzi MAC fittizi.
Le tabelle degli indirizzi MAC hanno dimensioni limitate. Il MAC flooding fa uso di questa limitazione per inviare allo switch un intero gruppo di indirizzi MAC di origine falsa in modo da saturare la tabella. Quando la tabella è satura lo switch entra in fail-open mode e si comporta come un hub, ovvero invia i pacchetti che riceve a tutti i nodi collegati allo switch.
In un contesto di rete locale ogni volta che un host viene collegato ad uno switch in questo viene popolata una tabella chiamata CAM dove viene registrata l’associazione MAC address – porta dello switch. CAM è una tabella dinamica, limitata dimensionalmente e molto efficiente che funziona come traduttore a livello 2 di MAC di destinazione – porta dello switch. Nel caso lo switch non rilevi nella sua CAM il MAC di destinazione di un pacchetto che deve inviare procederà a inviare il pacchetto in broadcast a tutte le sue porta; solo l’host di destinazione accettara il pacchetto e fornirà il proprio MAC allo switch che lo inserirà in CAM. Essendo l’associazione implicita ogni volta che si collega un host allo switch ed essendo il MAC un identificativo che in teoria dovrebbe essere univoco ma in realtà è falsificabile con estrema semplicità è possibile “indondare” la tabella CAM di MAC per cui lo switch dovrà allocare una entry nella CAM. Una volta esaurita la capienza dalla CAM può sopraggiungere nello switch la modalità di fail open in cui lo switch, progettato per avere come direttiva appunto la permutazione e solo secondariamente per partizionare i domini di broadcast, si comporta come un HUB ritrasmettendo tutti i pacchetti che riceve su tutte le sue porte. Trascurando il degrado di prestazioni che induce, che è cmq un problema reale e che potrebbe portare ad un DDOS se il MAC floading viene propagato e persiste, il MAC Flooding permette all’attaccante di avere accesso a tutti i pacchetti in transito. L’unica contromisura possibile è l’utilizzo di tabelle CAM statiche, con lo svantaggio aumentare il costo di manutenzione della rete ogni volta che cambia la topologia.
Descrivere il funzionamento di un attacco con ARP poisoning e possibili contromisure.
Il protocollo ARP si occupa di associare un indirizzo fisico (MAC Address) a uno logico (IP Address). Per farlo ogni nodo all’interno di una rete invia dei messaggi in broadcast per segnalare la sua presenza, così che gli altri possano andare a popolare e\o modificare una tabella interna chiamata ARP cache table.
Questo genere di messaggi però può essere attaccato tramite il cosiddetto ARP Poisoning: un attaccante può creare dei pacchetti spoofati, cioè modificati per fingersi qualcun altro, inviando numerose richieste ARP, andando quindi a saturare la cache table degli altri nodi con informazioni false o non valide.
In questo modo si va a creare un denial of service, in quanto i nodi, non conoscendo a quale client inviare i messaggi, inviano in broadcast, causando anche la possibilità di fare sniffing del traffico, se un client avesse la scheda di rete di tipo promiscuo.
Una mitigazione del ARP poisoning, consiste nell’inserire dei record statici nelle ARP table, così da mantenere le informazioni necessarie e non doverle aggiornare, ma non è di facile implementazione e il protocollo ARP nasce proprio per gestire reti che possono essere dinamiche.
Contromisure: Utilizzare tabelle ARP statiche con conseguente riduzione della flessibilità e semplicità di manutenzione. L’ARP poisoning ha anche usi legittimi, come per esempio convergere il primo collegamento di una connessione verso un server di autenticazione.
Il protocollo di ARP va ad associare un indirizzo fisico (MAC) a un indirizzo logico (IP): ogni client possiede una tabella cache in cui vengono inserite le associazioni già attive. Se non fosse presente una voce, viene fatta una richiesta in broadcast a tutti i nodi della LAN (viene chiesto chi ha un certo indirizzo IP).
Questo genere di messaggi è vulnerabile ad attacchi di spoofing, in quanto si può impersonare un certo nodo della LAN e quindi eventualmente ricevere traffico che non sarebbe destinato all’attaccante.
La tipologia di attacco definita ARP poisoning attack consiste nel generare diversi pacchetti spoofati di ARP request in modo da andare a riempire la tabella di cache di informazioni non corrette causando disservizi e rallentamenti nelle comunicazioni tra le LAN.
Il protocollo ARP (Address Resolution Protocol) connette il livello rete con il livello dati convertendo un indirizzo IP in un indirizzo MAC. Un pacchetto IP indirizzato da una certa sorgente a una certa destinazione deve essere instradato verso la corretta sottorete e, infine, alla macchina che ha una scheda di rete identificata dal particolare MAC. Il meccanismo di associazione IP-MAC viene garantito dal fatto che ogni nodo (non solo gli host ma anche gli switch!) mantiene una tabella, detta ARP cache, in cui sono contenute tutte le associazioni IP-MAC già note. Il protocollo ARP viene utilizzato facendo viaggiare nella rete loca lei diversi pacchetti. Quando si vuole conoscere il MAC della scheda di rete che risponde a un particolare indirizzo IP si invia in broadcast un messaggio di ARP reply, ricevuto da tutti gli host connessi alla sottorete. Quando l’host con quel particolare indirizzo IP vede che quella richiesta è diretta a lui deve rispondere in unicast con un ARP reply ad indicare Sì sono io l’host che ha quel particolare IP e il MAC address della mia scheda di rete è foo. L’host richiedente memorizza quindi la nuova associazione nella sua ARP cache.
Descrivere in cosa consiste IP spoofing, e in dettaglio attacchi che fanno uso di tale tecnica.
IP spoofing è un tipo di attacco in cui un client malevolo modifica un pacchetto andando a inserire un altro indirizzo IP rispetto al prossimo, con lo scopo di ingannare una vittima e fare il man in the middle in una determinata comunicazione, oppure può causare un denial of service in quanto può interrompere una connessione o causarne il congestionamento inviando diversi pacchetti.
Esistono due tipologie di IP spoofing: non-blind, cioè che l’attaccante cerca di farsi passare per un host della sua stessa LAN, oppure blind, in cui l’attaccante cerca di farsi passare per un host di una qualsiasi sottorete.
Gli attacchi di IP spoofing cercano di predire il sequence number del target per potersi frapporre nella comunicazione, dopodiché si cerca di instaurare un three-way handshake per recuperare informazioni o anche solo causare denial of service.
Un IP spoofing consiste nella creazione, da parte di un attaccante, di un pacchetto IP con informazioni modificate per nascondere la propria identità o per fingersi un client legittimo. Questo tipo di tecnica viene utilizzata per attacchi di denial of service, in cui posso inviare diverse richieste a un server per causarne down, oppure con attacchi di man in the middle, in cui posso fingermi un server e dirottare le richieste di un client verso un’infrastruttura malevola.
Esempi di attacchi in cui vengono utilizzate tecniche di IP spoofing sono gli amplification attack, che consistono nell’inviare richieste spoofate a server per far ricevere a un client legittimo molto più traffico di quanto ne potrebbe ricevere, oppure i reflection attacks, in cui l’attaccante utilizza, tramite spoofing, un terzo client fingendosi esso per rendere difficile risalire alla fonte dell’attacco.
IP Spoofing Descrivere gli attacchi basati su, (blind and not blind NON SPIEGATO ONLINE) 3 volte.
Spoofing: impersonare un altro host nella rete mediante la modifica del campo Ip Source. BLIND nella rete non facente parte della sottorete a cui si appartiene. NON BLIND della stessa rete. Molti degli attacchi Man in the middle si basano su NonBlind.
Blind: posso inviare comandi fingendomi un altro host (il cui indirizzo per esempio è autorizzato ad accedere dal firewall) ma non posso vedere le risposte che arrivano dal server che saranno recapitate all’host che ho spoofato.
Non Blind: essendo l’host spoofato appartenente alla stessa subnet posso sniffare le risposte. Spoofare un indirizzo è molto semplice ma non sufficiente per inserirsi in una comunicazione TCP in quanto i pacchetti di risposta, posto di essere riusciti a indovinare il SN, saranno cmq recapitati a reale titolare dell’IP spoofato.
Tra i vari attacchi possibili BGP subverted router, DNS attacco kaminsky, Syn Flood. E’ possibile ad esempio usare questa tecnica per portare un DoS attack di tipo Reflection: se il mio gol è rendere inservibile un Host posso spoofare il suo IP inviare richieste a Server che espongono servizi come DNS, NTP o ICMP con il suo IP come source, migliorando l’efficacia con tecniche di amplification attack dove una query di pochi byte ottiene come riposta maggiorata nel payload fino a 100X.
Descrivere le problematiche di sicurezza relative al protocollo TCP/IP e le caratteristiche di IPSEC
Lo stack di protocolli TCP/IP si occupa del trasporto di dati tra una sorgente e una destinazione: IP è un protocollo layer 3 che invia pacchetti tra un IP src e un IP dst in modo best effort, cioè non garantisce controlli di affidabilità, mentre TCP è un protocollo layer 4 che invece introduce anche la garanzia che tutti i pacchetti arrivino a destinazione e che l’informazione non arrivata, venga ritrasmessa.
Questi protocolli non introducono sicurezza, in quanto erano nati semplicemente per funzionare al meglio agli albori di internet, quindi non è presente autenticazione, né integrità, se non mimina.
Questi protocolli sono suscettibili ad attacchi di spoofing: un attaccante può ingannare una vittima, creando pacchetti falsi con sorgente diversa per poter aprire una comunicazione three-way handshake (nel caso di TCP) e attaccare servizi esposti su determinate porte.
Nel caso di IP questo attacco viene principalmente utilizzato per causare denial of service, dirottando traffico in un black hole della rete, da cui non esce, oppure per fare sniffing.
Nel caso di TCP viene anche sfruttato il sequence number dei pacchetti (per ricezione in ordine e invio di pacchetti non arrivati) per mettersi in mezzo in una comunicazione, cioè attacco di man in the middle.
IPSEC viene introdotto per aggiungere authentication, integrity e confidenziality a una comunicazione TCP/IP, in quanto vengono utilizzate chiavi per crittare il traffico (IKE), viene introdotta autenticazione end-to-end per mitigare lo spoofing (AH) e c’è un controllo di integrità per evitare che il traffico che passa da internet venga modificato da nodi malevoli (ESP).
Descrivere in cosa consiste un attacco SYN flood e discutere le contromisure
Il SYN flood è un attacco di tipo denial of service che va a colpire il protocollo TCP, sfruttando vulnerabilità legate alla negoziazione di una comunicazione tra client e server durante il three-way handshake.
Per farlo l’attaccante si basa sul fatto che il server ha una coda di connessioni in attesa, che va a riempire per ogni pacchetto SYN che riceve, così che possa gestirle tutte: l’attaccante quindi crea delle richieste SYN spoofate, fingendosi altre sorgenti e andando quindi a saturare il cosiddetto Transmission control block (TCB) con richieste false, impedendo quindi di stabilire connessioni legittime.
Esistono alcune contromisure che vanno a mitigare questo attacco: prima di tutto si va a ampliare la memoria del TCB per poter ricevere più richieste. Inoltre si possono ridurre i timer prima che una richiesta SYN venga cancellata dalla memoria, oppure si possono utilizzare i cookie per le sessioni SYN.
Sfrutta il meccanismo di handshaking di una connessione TCP client server con l’intento di causare un DoS della macchina vittima. In dettaglio avviene che in risposta ad Syn dell’attaccante il server vittima invia una 12 Syn-Ack mantiene una sessione half open in attesa ( per un tempo considerevole) che l’attaccante trasmetta al server l’ack per stabilire la connessione. Inoltre la coda half session (backlog) ha dimensioni limitate e può essere saturata rendendo cosi impossibile per il server accettare ulteriori sessioni provocando il DoS . Questo caso si puo mitigare sovrascrivendo il backlog, ma questa tecnica è inefficace in caso di attacco distribuito ad esempio attraverso botnet. L’attacco essere portato in dimensioni piu attraverso tecniche di spoofing e mediante l’uso di botnet per amplificarne l’entità. Una adeguata mitigazione si ottiene attraverso SynCoockies: il server tiene traccia delle sessioni di handshake completate in un coockie e puo cosi liberare il backlog per le sole sessione half-open.
SYN Cookies 1. Il client invia una richiesta al server con pacchetto SYNC; 2. il server risponde con SYNS-ACKS con associato il valore del cookie (funzione hash su source addr, source prot, dest addr, dest port, coarse time, server secret); 3. Il client risponde con un ACKC con cookie associato; 4. Il server ricostruendo il cookie, lo compara con quello ricevuto dal client e capisce se la richiesta di connessione è valida o no e di conseguenza salva lo stato o meno.
In cosa consiste un session hijacking?
Un session hijacking è un attacco di man in the middle che va a colpire il protocollo TCP durante la comunicazione tra client e server.
Poiché il protocollo TCP non dispone di misure di sicurezza, un client malevolo può riuscire a recuperare il sequence number utilizzato per l’invio e la ricezione di pacchetti e mettersi in mezzo nella comunicazione con il server, sfruttando pacchetti spoofati, spacciandosi per il client legittimo.
Ack storm
Gli attacchi ACK storm si basano sul fatto che se si riceve un pacchetto con un ACK più grande di quello che ci si aspetta di ricevere allora deve scartare il pacchetto e richiedere il reinvio dello stesso. L’attacco base - Two Packets Ack Storm, consiste in: 1. preleva un pacchetto da una connessione TCP tra un client e server 2. Genera due pacchetti, ciascuno indirizzato a una parte con l’indirizzo del mittente dall’altra parte al server (cioè contraffatto dove il l’ack è più alto di quello che le parti in comunicazione si aspettano, quindi con ack sbagliati); a. i pacchetti devono essere all’interno delle finestre TCP in entrambi i lati(server e client); b. i pacchetti dovrebbero almeno avere un byte di dati. 3. Nel momento in cui i pacchetti vengono scartati a causa degli ack sballati, le due parti inviano nuovamente il pacchetto con gli stessi valori di ack. Sia A che B quindi inviano nuovamente il loro pacchetto ma con valori ancora sbagliati e si desincronizzano perchè la connessione entrerà in un ciclo infinito di invio di pacchetti ack avanti e indietro tra entrambe le parti. Quindi l’attacco consiste in un’iniezione di pacchetti in una sessione attiva. I pacchetti falsificati inviati devono essere ricevuti sia dal client che dal server, rientrando nella finestra di congestione TCP di entrambi. ● Quando la connessione tra il client e il server è inattiva, i numeri di sequenza rimangono gli stessi: i browser web più comuni, come Explorer e Firefox, mantengono aperte le sessioni TCP al termine del download della pagina web quindi è più facile per l’attaccante iniziare l’ack storm. ● Quando si trasferiscono file di grandi dimensioni su TCP il numero di sequenza diventa grande. L’attaccante deve conoscere l’IP esterno e la porta che il NAT assegna al computer interno quando accede a Internet. Contromisure Per prevenire attacchi Ack Storm, è necessaria una piccola modifica nell’implementazione (o standard) TCP. Quando si riceve un pacchetto contenente un campo Ack superiore al numero di sequenza del destinatario il pacchetto deve essere scartato e non deve essere inviata alcuna risposta. L’utilizzo di una rete wireless crittografata come standard ridurrà in modo significativo le capacità di intercettazione. Il filtraggio degli Ack duplicati TCP può neutralizzare i due pacchetti. Un attacco ACK storm ha la capacità di causare una grande quantità di traffico.
- Discutere le versioni sicure dei protocolli TCP/IP
IPSEC è una suite di protocolli introdotta per aggiungere authentication, integrity e confidenziality a una comunicazione TCP/IP.
IPSEC può lavorare in due modalità: tunnel mode, in cui il contenuto di un pacchetto IP viene cifrato e incapsulato in un altro pacchetto IP, e transport mode, in cui viene aggiunto un header al pacchetto IP originale, cifrando poi il tutto.
Le principali caratteristiche di IPSEC sono IKE (Internet Key Exchange), utilizzato per lo scambio di chiavi per crittare il traffico, AH (authentication header) un protocollo per l’autenticazione end-to-end per mitigare lo spoofing e ESP (encapsulating security payload) che introduce un controllo di integrità per evitare che il traffico che passa da internet venga modificato da nodi malevoli.
Secure Sockets Layer (SSL) e Transport Layer Security (TLS) sono lo stesso tipo di protocolli con algoritmi crittografici diversi. De facto standard per la sicurezza di Internet.
L’obiettivo principale del protocollo TLS è quello di fornire privacy e integrità dei dati tra due applicazioni che comunicano. Comunicazioni end-to-end sicure in presenza di un attaccante che non può vedere i dati scambiati.
A cosa serve IPSEC?
Quali sono le differenze fra Tunnel mode e Transport mode?
c. Cosa indicano AH e ESP?
IPSEC è un protocollo di sicurezza a livello network che garantisce la comunicazione tra una certa sorgente e una certa destinazione, andando a mitigare vulnerabilità che possono essere sfruttate da attacchi di spoofing (impedisce che il pacchetto venga modificato durante il percorso).
IPSec nasce per sopperire alla mancanza di: 1. autenticazione ed integrità 2. non ripudio 3. confidenzialità nel protocollo IP e sfrutta queste 3 proprietà per raggiungere i seguenti obiettivi: 1. Non è possibile mandare un datagramma IP con ip mascherato senza che il destinatario ne sia a conoscenza 2. Non è possibile modificare il datagramma ip senza che il destinatario se ne accorga 3. non è possibile eseguire attacchi di reply senza che il ricevente se ne accorga.
Quando si utilizza IPSEC, il pacchetto IP originale deve essere modificato per aggiungere le opzioni di sicurezza necessarie. Per farlo esistono due modalità:
- Nella Tunnel mode il contenuto di un pacchetto IP viene cifrato e incapsulato in un nuovo pacchetto IP
- Nella Transport mode viene aggiunto un header al pacchetto IP originale, che quindi non viene modificato (viene aggiunta solo un’estensione)
- Metodi di funzionamento:
- Trasport Mode Nella modalità di funzionamento Transport Mode IPSec viene utilizzato per mantenere confidenzialità ed integrità nella comunicazione end-to-end. Il funzionamento, dunque, è rilegato all’utilizzo di un header IPSec tale per cui in caso fosse usata la cifratura, questa avviene solo sul payload.
- Tunnel Mode Nella modalità di funzionamento Tunnel Mode, IPSec viene utilizzato per la comunicazione Gateway-to-Gateway ed applica un incapsulamento completo tale per cui viene creato un nuovo pacchetto con un nuovo IP Header, un nuovo IPSec Header a cui viene incluso il pacchetto IP originario. Nel caso in cui venisse usata la cifratura, questa verrà applicata sull’intero pacchetto originario rendendo però tutto più pesante.
AH indica Authentication Header ed è un protocollo di IPSEC che si occupa di autenticare e rendere sicuri i dati.
ESP sta per Encapsulating Security Payload ed è un protocollo di IPSEC che cifra, autentica e rende sicuri i dati, oltre a fornire anche supporto per la confidenzialità.
L’intero funzionamento di IPSec è correlato al funzionamento di due differenti protocolli di trasferimento che sono l’Authentication Header (AH) e l’Encapsulating Security Payload (ESP), all’utilizzo di due differenti database che sono il Security Association Database (SAD) ed il Security Policy Database (SPD) ed infine ad un sistema di gestione del processo di crittografica che si appoggia ai protocolli ISAKMP ed IKE.
Il protocollo AH fornisce i metodi di autenticazione e controllo dell’integrità del pacchetto proteggendoci da reply attack in quanto l’autenticità del mittente viene garantita mediante l’utilizzo di funzioni di hash a chiave simmetrica la quale verrà utilizzata per confrontare la checksum del pacchetto inviato.
Il protocollo ESP invece aggiunge anche la confidenzialità, applicando uno strato di crittografia all’intero pacchetto originale.
A cosa serve IPSEC e quali sono le sue caratteristiche?
IPSEC è una suite di protocolli introdotta per aggiungere authentication, integrity e confidenziality a una comunicazione TCP/IP.
IPSEC può lavorare in due modalità: tunnel mode, in cui il contenuto di un pacchetto IP viene cifrato e incapsulato in un altro pacchetto IP, e transport mode, in cui viene aggiunto un header al pacchetto IP originale, cifrando poi il tutto.
Le principali caratteristiche di IPSEC sono IKE (Internet Key Exchange), utilizzato per lo scambio di chiavi per crittare il traffico, AH (authentication header) un protocollo per l’autenticazione end-to-end per mitigare lo spoofing e ESP (encapsulating security payload) che introduce un controllo di integrità per evitare che il traffico che passa da internet venga modificato da nodi malevoli.
Descrivere FTP bounce scan
FTP bounce scan è un tipo di attacco che utilizza spoofing per generare pacchetti fasulli per poter ottenere informazioni sullo stato di determinate porte. L’attacco consiste nell’utilizzare il server FTP come tramite per comunicare con la vittima.
L’attaccante invia al server FTP un comando PORT utilizzando l’indirizzo IP della vittima tramite un pacchetto spoofato. Se la porta del server è chiusa, quest’ultimo risponderà con un pacchetto RST alla richiesta proveniente dal server FTP, mentre verrà eseguita una three-way handshake nel caso invece la porta fosse aperta.
Questo tipo di attacco è stealth, in quanto l’attaccante utilizza un intermediario per ottenere informazioni sulle porte aperte di una certa vittima.
Descrivere i possibili approcci alla scansione.
La scansione all’interno di una rete viene eseguita per recuperare informazioni su determinati host o server e non necessariamente è un attacco malizioso.
Esistono diversi strumenti e software che permettono di avere una scansione di una rete e l’obiettivo principale è ottenere informazioni sulle porte utilizzate (TCP\UDP), cioè quali porte sono aperte e in ascolto su determinati nodi, oltre che determinare quale sistema operativo è presente e se esistono sistemi di filtraggio o firewall in una determinata rete.
Lo scanning può essere attivo o passivo con la differenza principale che nel primo caso si immette traffico nella rete per recuperare informazioni, mentre nel secondo si fa semplice sniffing senza intervenire attivamente in una o più comunicazioni.
Lo scanning può avere diversi approcci: verticale, cioè un host che fa scanning di più target, orizzontale, cioè molti host che fanno scanning su un singolo target in maniera distribuita e infine un mix tra i due, detto ibrido.
Il target infine può essere singolo, cioè una macchina, o multiplo, cioè anche una porzione di rete, se non tutta.
Si descriva il funzionamento dell’IDLE SCAN e si faccia un esempio pratico indicando numericamente gli ID e i messaggi di risposta ricevuti nei diversi casi di porte testate (chiusa, aperta o filtrata)
Nel IDLE SCAN abbiamo un attaccante, una vittima e uno zombie, vale a dire un terzo attore che verrà sfruttato dall’attaccante per colpire la vittima indirettamente e capire se una determinata porta è aperta, oppure no, utilizzando pacchetti TCP.
L’attaccante manda un pacchetto TCP di tipo SYN\ACK allo zombie. Quest’ultimo non si aspetta questo messaggio, perciò risponde con un pacchetto RST e un IPID, vale a dire l’identificativo del frame (es. 12345).
L’attaccante invia un pacchetto SYN (con la porta da scansionare) spoofato, utilizzando come mittente l’indirizzo IP dello zombie, alla vittima: in questo caso, se la porta è in ascolto, la vittima risponderà allo zombie con un pacchetto SYN\ACK e un IPID incrementato (es. 12346), a cui lo zombie risponde con un pacchetto RST, in quanto non si aspetta questo genere di comunicazione.
Infine, l’attaccante invia un altro pacchetto di SYN\ACK allo zombie, che gli risponde con un RST e un IPID incrementato (es. 12347): confrontando i valori di IPID, l’attaccante capisce che la porta è aperta.
Se invece la porta fosse chiusa o filtrata, il valore di IPID sarebbe stato incrementato una sola volta, in quanto la vittima risponderebbe rispettivamente con un RST o non risponderebbe affatto al pacchetto spoofato inviato dall’attaccante, fingendosi lo zombie. Con il secondo SYN\ACK allo zombie, ci sarebbe quindi solo questo incremento di IPID.
Descrivere quali sono le condizioni rilevabili di una porta come risultato di uno scanning e cosa indicano ad un potenziale avversario.
Per ciascuno stato fare un esempio di un tipo di scan che produca quel tipo di stato.
Una porta può essere aperta, quindi un servizio è in ascolto su di essa, chiusa, quindi non c’è nulla in ascolto su di essa, oppure filtrata, cioè che è presente un firewall che permette l’accesso solo a determinate sorgenti (in quest’ultimo caso non è possibile definire se è aperta o chiusa)
Per testare lo stato di una porta, si può fare un TCP SYN scan che consiste nell’inviare un pacchetto TCP di tipo SYN + la porta da scansionare, simulando un three-way handshake: se la porta restituisce un pacchetto SYN/ACK, allora la porta è aperta, mentre se restituisco un RST, allora è chiusa. Nel caso di una porta filtrata, il comportamento dipende dal firewall.