Le porte di un sistema informatico rappresentano i punti di accesso critici attraverso i quali le informazioni vengono scambiate.
Ma cosa accade quando queste porte vengono lasciate aperte o sono incustodite?

Qui entra in gioco l’attività di port scanning: una tecnica fondamentale tanto per gli amministratori di sistema quanto per gli attaccanti, che permette di esplorare e mappare le difese di una rete.

what is port scanning

Il port scanning è una procedura strategica che è in grado di indicare quali porte su un computer o server sono aperte e in ascolto, pronte a ricevere dati.
Questa pratica può svelare la presenza di servizi potenzialmente vulnerabili e fornire indicazioni critiche sulla sicurezza di una rete. Mentre gli amministratori lo utilizzano per identificare gli asset della propria organizzazione connessi in rete e rafforzare le difese, i malintenzionati vedono nel port scanning un’opportunità per identificare i punti deboli da sfruttare per violare la rete.

In questo articolo cercheremo di addentrarci nelle caratteristiche di questa tecnica e farvi comprendere perché le scansioni delle porte di rete sono così delicate.

  1. Cosa sono le porte in informatica?
  2. Come funziona il Port Scanning
  3. Scopo e utilizzo del Port Scanning
  4. Tipi di scansioni
  5. Risposte del server e interpretazione
  6. Sicurezza e difesa dalle scansioni delle porte

Cosa sono le porte in informatica?

Nel contesto delle reti, una porta è un endpoint, un punto di comunicazione virtuale attraverso il quale i dispositivi scambiano dati con altri dispositivi nella rete. Ogni porta è associata a un numero specifico che serve a identificare il tipo di protocollo di rete o il servizio applicativo in esecuzione sul computer.
Le porte permettono di gestire più connessioni e flussi di dati contemporaneamente su una singola interfaccia di rete, rendendo possibile la coesistenza di molteplici servizi su un unico dispositivo fisico.

Le porte sono classificate in base al loro utilizzo e ai protocolli che governano la loro operatività.

Esistono due principali protocolli di trasporto che gestiscono le porte:

  • Transmission Control Protocol (TCP)
  • User Datagram Protocol (UDP).

Il TCP è un protocollo orientato alla connessione, il che significa che, prima di trasmettere i dati, stabilisce una sessione affidabile tra il mittente e il destinatario. Questo processo inizia con un “handshake” a tre vie per assicurarsi che entrambi i punti finali siano pronti per la trasmissione e siano capaci di ricevere informazioni. Questo assicura che i dati inviati arriveranno senza errori, nell’ordine giusto, e saranno consegnati solo se la destinazione è pronta a riceverli. In sostanza, il TCP si occupa di costruire un canale di comunicazione stabile e affidabile, su cui poi scorrono i dati.

Invece, UDP è un protocollo di comunicazione che opera anch’esso al livello di trasporto, proprio come il TCP, ma è basato su un modello di trasmissione senza connessione. Ciò significa che a differenza del TCP, l’UDP invia i datagrammi (unità di dati) senza stabilire preventivamente un canale di comunicazione stabile e verificato tra mittente e destinatario. Non c’è quindi un “handshake” iniziale, nessuna garanzia che i pacchetti arrivino in ordine, né che arrivino affatto.

protocolli connessione

In termini numerici, le porte sono identificate da numeri che vanno da 0 a 65535.

Le porte da 0 a 1023 sono dette porte ben note e sono riservate a servizi di sistema o applicazioni ampiamente riconosciute, come il web (HTTP su porta 80) o l’email (SMTP su porta 25).

Le porte da 1024 a 49151 sono dette porte registrate e sono assegnate a processi o applicazioni specifiche, meno universali ma comunque standardizzate. Infine, le porte da 49152 a 65535 sono classificate come porte dinamiche o porte private, generalmente utilizzate per sessioni temporanee o comunicazioni interne di applicazioni.

Come funziona il Port Scanning

Il port scanning è una tecnica di indagine informatica che si serve di specifici software, i port scanner, per sondare un sistema alla ricerca di porte aperte. Questo processo consente di identificare quali porte su un server o dispositivo sono attive e in ascolto per le connessioni entranti.
In una rete, le porte in ascolto sono generalmente associate a servizi che aspettano di ricevere informazioni, come server web, server di posta o file server.

Quando si esegue un port scanning, il software tenta di stabilire una connessione con una serie di porte sequenziali o preselezionate sul target.
Per ogni porta, il port scanner invia un pacchetto di dati innocuo e aspetta una risposta.

In base al tipo di risposta ricevuta, il software può determinare lo stato della porta:

  • aperta
  • chiusa
  • filtrata da un firewall.

Nello specifico, una porta aperta risponde con un pacchetto che indica la disponibilità a ricevere ulteriori comunicazioni, mentre una porta chiusa risponde con un messaggio di errore che nega l’accesso.
Una porta filtrata, tipicamente protetta da un firewall, non invia alcuna risposta, lasciando il port scanner nell’incertezza.

Le informazioni raccolte durante il port scanning possono essere utilizzate per verificare la sicurezza di una rete. Gli amministratori di rete utilizzano questi dati per migliorare le misure di sicurezza, chiudendo le porte non necessarie o implementando sistemi di difesa più robusti come firewall avanzati e sistemi di rilevazione delle intrusioni.

Tuttavia, le stesse informazioni nelle mani di un attaccante, possono diventare uno strumento per mappare le vulnerabilità di un sistema e pianificare attacchi mirati. Ecco a voi l’infografica di un esempio di attacco informatico tramite metodologia port scanning.

port scanning attacco informatico

Scopo e utilizzo del Port Scanning

Insomma, abbiamo compreso che il port scanning è uno strumento diagnostico cruciale nel campo della sicurezza.
Infatti, trova la sua applicazione principale nell’auditing di rete: amministratori e professionisti della sicurezza lo utilizzano per rilevare porte esposte che potrebbero fungere da ingressi per gli intrusi. Questa pratica consente di compiere un’analisi proattiva, identificando servizi esposti non necessari o configurati in modo inappropriato che devono essere disattivati.

Nel contesto dell’ethical hacking, il port scanning è utilizzato per valutare la postura di sicurezza di una rete.
I risultati dello scan guidano gli esperti nel consolidamento delle difese, ponendo l’accento sulla necessità o meno di attivare procedure quali la realizzazione di una politica di firewall più stringente o l’aggiornamento di software esposti a potenziali sfruttamenti.

Tuttavia, è fondamentale assodare l’importanza del port scanning nel mantenimento e nella gestione quotidiana delle reti aziendali.
Gli sviluppatori e i fornitori di servizi IT lo impiegano per verificare che le modifiche di configurazione siano state applicate correttamente e per assicurarsi che le misure di sicurezza siano efficaci.

Inoltre, il port scanning viene utilizzato nel processo di test delle applicazioni per assicurarsi che i servizi comunicativi rispondano come previsto.

Tipi di scansioni

Esistono diversi tipi di scansioni delle porte vengono impiegati per scoprire informazioni dettagliate sulle reti. Ogni tecnica ha specificità che la rendono più adatta a certi contesti e obiettivi.

Scansione SYN

Anche nota come half-open scanning, questa tecnica si basa sull’invio di un pacchetto SYN a una porta specifica per verificare se è aperta.
Se il server risponde con un pacchetto SYN-ACK, la porta è in ascolto; il client poi termina la connessione inviando un pacchetto RST, senza completare la procedura di handshake. Questo metodo consente di esaminare lo stato delle porte senza stabilire una connessione completa.

Scansione FIN

Questo tipo di scansione sfrutta una peculiarità del TCP inviando un pacchetto FIN a una porta.
Secondo il protocollo TCP, solo le porte chiuse dovrebbero rispondere a un pacchetto FIN. Pertanto, se non viene ricevuta alcuna risposta, è probabile che la porta sia aperta. Questa tecnica può eludere i firewall non configurati per monitorare pacchetti FIN isolati.

Scansione NULL e Xmas

Entrambe inviano pacchetti con flag TCP impostati in modo atipico, che non corrispondono a un pattern standard di connessione TCP.
Se la porta è chiusa, ci si aspetta una risposta RST. L’assenza di una risposta suggerisce che la porta potrebbe essere aperta, ma i firewall configurati correttamente spesso filtrano queste anomalie.

Scansione ACK

Utilizzata principalmente per mappare le regole del firewall, questa scansione invia un pacchetto ACK per vedere se viene filtrato o meno.
Una risposta RST indica che la porta è raggiungibile attraverso il firewall, anche se il suo stato di apertura o chiusura non è determinabile.

Scansione UDP

È adoperata per controllare le porte UDP, inviando pacchetti UDP e attendendo un messaggio di errore ICMP in risposta, indicando che la porta non è in ascolto. L’assenza di un messaggio di errore può suggerire che la porta UDP è aperta e in ascolto.

Risposte del server e interpretazione

La risposta di un server a un tentativo di connessione durante il port scanning rivela lo stato della porta in esame e fornisce insight cruciali sulla configurazione e sulla sicurezza del sistema. Interpretare correttamente queste risposte è essenziale per valutare la sicurezza di una rete.

Porta Aperta (Open)

Se una porta risponde con un pacchetto SYN-ACK in risposta a un pacchetto SYN durante una scansione SYN, ciò indica che la porta è aperta e pronta ad accettare connessioni. Questa è una conferma diretta che il servizio corrispondente alla porta è attivo e in ascolto, rendendolo potenzialmente esposto.

Porta Chiusa (Closed)

Una risposta RST è indicativa di una porta chiusa. Significa che il sistema ha ricevuto la richiesta ma nessun servizio è attivo su quella porta. Una porta chiusa è meno preoccupante di una aperta ma merita comunque attenzione perché la sua esistenza conferma l’attività del sistema.

Porta Filtrata (Filtered)

Se non si riceve alcuna risposta, o se si riceve un messaggio di tipo ICMP che indica un errore di comunicazione, la porta può essere considerata filtrata.
Questo suggerisce che un firewall o un altro tipo di filtro sta bloccando l’accesso alla porta e proteggendo efficacemente il servizio.

Porta Non Filtrata (Unfiltered)

Determinabile solo con una scansione ACK, una porta non filtrata significa che i pacchetti ACK vengono trasmessi ma non è possibile determinare se la porta è aperta o chiusa. Richiede ulteriori investigazioni.

Porta Aperta|Filtrata (Open|Filtered)

Per le scansioni che non possono distinguere tra una porta aperta e una filtrata, come quelle UDP, le porte vengono classificate come aperte|filtrate.
Questo incerto stato necessita di tecniche di scansione aggiuntive o di controlli manuali per un’accurata determinazione.

Porta Chiusa|Filtrata (Closed|Filtered)

Questo stato è assegnato quando non si può stabilire se una porta è chiusa o filtrata, solitamente in scansioni meno comuni come l’Idle Scan.

risposta porte di rete

Sicurezza e difesa dalle scansioni delle porte

Proteggere la rete dalle scansioni delle porte è un imperativo per qualsiasi organizzazione. Fortunatamente, esistono strategie e strumenti che possono rafforzare la sicurezza informatica contro questi tentativi di intrusione. Eccone alcune che vi consigliamo di implementare quanto prima.

I firewall rappresentano la prima linea di difesa, fungendo da barriera che filtra il traffico in entrata e in uscita. Configurati correttamente, possono prevenire le connessioni indesiderate, bloccare le porte non utilizzate e monitorare il traffico sospetto. Inoltre, dovrete sinceramente valutare di ridurre la superficie di attacco della vostra rete. Ciò significa disattivare i servizi non necessari, chiudere le porte che non sono in uso e tenere il software aggiornato per prevenire exploit noti.

Considerate l’ipotesi di introduzze soluzioni di Intrusion Detection Systems (IDS) e Intrusion Prevention Systems (IPS). Questi sistemi monitorano la rete per attività sospette e possono intervenire automaticamente per bloccare traffico che sembra essere parte di una scansione delle porte. Dividere la rete in segmenti finalizzati ad un unico scopo può limitare il movimento laterale di un attaccante, rendendo più difficile per loro il passaggio da un sistema all’altro dopo aver guadagnato accesso a una parte della rete.

Infine, eseguire periodicamente valutazioni di sicurezza per identificare e mitigare potenziali vulnerabilità prima che possano essere sfruttate da attacchi esterni è la chiave per migliorare in modo significativo la sicurezza contro qualsiasi tentativo esterno di port scanning.