login LOGIN
CHIUDI chiudi
Il mio profilo
ACCEDI CON MYFASTWEB

mostra
Non sei registrato? Crea un account
Hai dimenticato la password?
Inserisci l'indirizzo email di registrazione per reimpostare la password.
Segui le istruzioni che ti abbiamo inviato per posta elettronica.
Torna alla form di Login
Non sei registrato? Crea un account

Come effettuare il port scanning e come difendersi

Sfruttando dei software sviluppati appositamente, è possibile conoscere quali porte siano in ascolto e quali inattive

Port scanning con Nmap

Il port scanning è una delle tecniche più conosciute e utilizzate per portare attacchi informatici ad un singolo computer, ai computer di una rete locale (LAN, local area network) o ai computer connessi ad una rete geografica (WAN, wide area network). Tutti i dispositivi online, infatti, utilizzano delle porte per permettere a vari servizi di Rete (dalla semplice navigazione alla gestione e mantenimento di un server FTP) di poter "comunicare" con l'esterno: in questo caso si dice che i programmi sono "in ascolto" (listening nel gergo tecnico) e attendono una richiesta di contatto da altri nodi della rete.

Grazie ad un port scanner, un utente della rete (sia LAN, sia WAN) può verificare quali siano le porte in ascolto (quindi attive ed utilizzate) e quali porte, invece, non siano in ascolto (non utilizzate o comunque irraggiungibili per vari motivi). Questa tipologia di software, infatti, invia una richiesta di accesso (sostanzialmente un pacchetto dati appositamente confezionato) ad ogni porta e verifica la risposta ricevuta: si crea così una vera e propria mappa delle 65536 diverse porte presenti in ogni computer, dando così la possibilità al malintenzionato di turno di comprendere quali siano i punti deboli di un dispositivo.

 

Port scanning

 

I numeri di porta

Come si sa, gli indirizzi IP pubblici sono regolati e assegnati da specifiche autorità di controllo il cui ruolo è verificare e assicurare l'univocità di ogni IP assegnato. Le porte, invece, non hanno "subito" il medesimo trattamento e, nonostante la standardizzazione cui si è assistito negli ultimi anni, nel settore vige ancora un certo grado di libertà. I numeri di porta, univoci solo all'interno del singolo sistema informatico, sono divisi in tre sottogruppi:

  • Porte conosciute ("well known ports") dalla 0 alla 1023

  • Porte registrate ("registered ports") dalla 1024 alla 49151

  • Porte dinamiche o private ("dynamic and/or private ports") dalla 49152 alla 65535

Al primo gruppo appartengono le porte "standard", utilizzate dai servizi, processi e applicativi più noti e comuni (ad es. programmi per la gestione della posta elettronica) e, quindi, riconoscibili e identificabili in maniera univoca. Le porte 20 e 21, ad esempio, sono assegnate ai server FTP; la porta 22 è utilizzata dal protocollo SSH; la porta 53 dal DNS; la porta 80 dal protocollo HTTP e così via. Le porte che vanno dalla 1024 alla 65535, per contro, possono essere, all'occorrenza, liberamente utilizzate dall'utente o dall'amministratore del sistema anche se, in alcuni casi, determinati servizi o applicativi meno comuni utilizzano una certa porta di questo intervallo in maniera univoca (ad es. applicativi di file sharing).

 

Port scanning

 

Port scanning, tecniche basilari

Il portscan più elementare consiste nell'inviare un pacchetto – costruito ad arte – ad ognuna delle porte del sistema informatico in analisi (computer, server web o server FTP) e attendere un'eventuale risposta. In questo modo sarà possibile scoprire quali siano le porte in ascolto, dalle quali si otterrà una risposta, e quali quelle inutilizzate, dalle quali non si otterrà invece alcuna risposta. A questo punto, avendo una mappa completa dei possibili "punti di accesso", si potrà tentare un approccio più "risoluto" e si potrà provare ad accedere al sistema stesso.

Una chiamata del tipo TCP connect(xxx) permetterà di stabilire una connessione con il computer o con il server passando attraverso la porta indicata tra parentesi. Nel caso in cui si riceva una risposta, vuol dire che la porta è aperta e c'è un servizio in ascolto; altrimenti la porta non è funzionante o è irraggiungibile. La chiamata Strobe, invece, invia pacchetti-civetta solamente verso porte e servizi conosciuti (primo gruppo elencato in precedenza, ovvero le porte dalla 0 alla 1023), così da poterne sfruttare le criticità note per accedere al sistema informatico.

Port scanning, tecniche avanzate

Un problema, dal punto di vista di chi conduce l'attacco o la scansione delle porte, è che i servizi in ascolto registrano in un apposito file (il cosiddetto log) tutti i tentativi di accesso e le richieste di connessione ricevute da altri nodi della rete. Nel caso in cui ricevano un pacchetto-civetta registrano un errore: alla richiesta di connessione non segue nessun invio di dati. Ciò dovrebbe far scattare, agli occhi di un sistemista attento, un campanello d'allarme: dietro quell'errore potrebbe nascondersi un tentativo di attacco oppure un'attività di port scanning ai danni del sistema.

 

Port scanning

 

Per questo motivo, con il passare del tempo, sono state messe a punto delle tecniche avanzate di port scanning che permettono di dissimulare le reali intenzioni dell'attaccante. Un buon port scanner può impiegare poche decine di secondi per effettuare una scansione completa di un sistema, inondandolo di richieste di collegamento: in tali casi la probabilità che l'amministratore del sistema obiettivo si accorga di una tale ondata di richieste di accesso anomale e quindi prenda le adeguate contromisure sarebbe elevata. Una scansione lenta (in alcuni casi anche della durata di diversi giorni) potrebbe invece nascondere le richieste di accesso effettuate con pacchetti-civetta in mezzo alle altre richieste "lecite", così da dissimulare il comportamento fraudolento e non far scattare alcun allarme.

Altre tecniche, tatticamente e tecnologicamente più avanzate, danno la possibilità all'hacker di turno di mettere in maggiore difficoltà gli amministratori di sistema e di rete. Si possono utilizzare, ad esempio, dei pacchetti frammentati che, in determinate condizioni, permettono di aggirare alcune limitazioni e filtri imposti dal sistemista ed ottenere ugualmente le informazioni cercate. La scansione FIN, invece, sfrutta alcuni comportamenti standard del protocollo TCP per comprendere quali porte siano in ascolto e quali siano inattive. In questo caso l'attaccante invia un pacchetto contenente solamente la flag FIN (utilizzata per connessioni aperte sulle porte): nel caso di porta già chiusa, sarà inviato in risposta un pacchetto contenente la flag RST attiva; in caso di porta aperta, la richiesta sarà ignorata. La scansione Bounce è un'altra tecnica avanzata che permette di nascondere i tentativi di accesso fraudolento sfruttando bug e falle del protocollo FTP. Per meglio comprendere il funzionamento di questa tecnica sarà sufficiente sapere che la traduzione in italiano di bounce è "rimbalzare": utilizzando a proprio favore una falla del protocollo FTP, è possibile far rimbalzare le richieste di accesso da un proxy FTP all'altro, cambiando ogni volta l'indirizzo IP di provenienza. La macchina sotto attacco, dunque, non rileverà un pattern d'attacco ben definito e finirà col non prendere contromisure adeguate. Si tratta una tecnica somigliante all'IP spoofing e dà la possibilità di condurre attacchi informatici senza esporre direttamente il proprio indirizzo IP e, quindi, la propria identità digitale.

 

Nmap

 

Queste ultime due tecniche permettono di aggirare alcune tecniche di difesa "elementare" già brevemente descritte. Ad esempio, la scansione Bounce si riuscirà a byapassare il controllo degli indirizzi IP di provenienza e, anche se il servizio in ascolto dovesse registrare il log delle richieste, ad una prima analisi non risulterebbe nulla di anomalo. La scansione FIN, invece, permette di effettuare un port sanning "al contrario": anziché andare alla ricerca delle porte attive, si effettuerà una mappatura di quelle chiuse e inattive. Per deduzione logica, le porte restanti saranno aperte e occupate da servizi in ascolto: perfette, dunque, per tentare di accedere abusivamente al sistema informatico.

Come fare il port scan del computer

Tutte queste tecniche – così come molte altre relative a questo campo – possono essere attuate utilizzando un port scanner, software sviluppato appositamente per creare delle mappe delle porte in ascolto e delle porte inattive. Il più utilizzato e conosciuto è Nmap, originariamente uno strumento dei sistemi operativi UNIX (l'antenato delle distribuzioni Linux, per intendersi) ma oggi disponibile sia per sistemi Windows, sia per sistemi OS X.

 

Zenmap

 

Nativamente, Nmap non è dotato di interfaccia grafica: compare sotto forma di terminale a riga di comando, grazie al quale gli utenti possono impartire le istruzioni per analizzare un computer, una porzione della rete o l'intera rete cui sono connessi. La stringa "nmap -PN 'hostremoto'" permette di scansionare l'intera submask cui si è connessi; con "nmap -PN xxx.xxx.xxx.yyy-zzz" si effettuerà il port scanning dei dispositivi connessi alla rete il cui indirizzo IP varia da "yyy" a "zzz"; per conoscere i servizi attivi in una specifica zona della rete si può utilizzare il comando "nmap -sP xxx.xxx.xxx.yyy-zzz"; la stringa "nmap -p 'numeroporta' 'indirizzoIP'" permette invece di analizzare lo status di una specifica porta di uno dei nodi della rete.

Nel caso in cui non si abbia grande affinità con i terminali e con le istruzioni da riga di comando, si può sempre optare per Zenmap, versione di Nmap dotata di interfaccia grafica.

 

Port scanner di OS X

 

Gli utenti OS X, invece, possono sfruttare il port scanner incluso nell'applicativo Utility di rete: sarà sufficiente cliccare sulla scheda Port Scan, inserire l'indirizzo IP da scansionare (sia privato, sia pubblico) e attendere che la scansione abbia termine.

Come difendersi dal port scanning

La tecnica – e la tecnologia – più efficacie per difendersi da attacchi portati da un'attività di port scanning consiste nel dotarsi di un firewall – hardware o software – con il quale proteggere gli accessi alla propria rete. Questo strumento, infatti, permette di controllare tutto il traffico in ingresso e in uscita dal sistema, agendo di fatto da filtro che, in base alle regole impostate, permette o meno il transito ai pacchetti dati in corrispondenza delle varie porte di comunicazione . A seconda della configurazione del firewall, si potrà impedire il passaggio a qualunque pacchetto in arrivo dall'esterno (ad eccezione di quelli transitanti attraverso la porta 80, che consente la navigazione nel web) o, a seconda delle esigenze, dare la possibilità a diversi servizi ed applicativi presenti sul sistema di "dialogare" con l'esterno.

 

Funzionamento schematico del firewall

 

In ogni caso, tutte le comunicazioni saranno gestite direttamente dal firewall, dietro cui si troveranno tutti i dispositivi connessi alla rete locale. Le richieste di connessione saranno gestite direttamente dal dispositivo di sicurezza di rete impedendo, di fatto, al port scanner di entrare in comunicazione diretta con il computer o server FTP che sia. In questo modo, dunque, un eventuale attacco portato tramite un port scanner non produrrà alcun risultato utile: l'hacker, infatti, non potrà sapere nemmeno se l'host che ha provato a contattare sia effettivamente esistente o meno.

Sei sicuro di proteggere davvero i tuoi dati e i tuoi dispositivi connessi online? Scarica il nostro ebook gratuito per conoscere i trucchi e i consigli per aumentare la tua sicurezza in rete.

 

 

A cura di Cultur-e
I lavori del futuro
I lavori del futuro
Scopri come cambieranno e quali competenze allenare per arrivare pronto.
Iscriviti al corso gratuito!

Iscriviti
all'area personale

Per ricevere Newsletter, scaricare eBook, creare playlist vocali e accedere ai corsi della Fastweb Digital Academy a te dedicati. Leggi l'informativa