Reading Time: 3 minutes

Vulnerabilità FTP

Il protocollo FTP, pur implementando un meccanismo di controllo accessi e autenticazione, non è esente da limitazioni e vulnerabilità.

Le autorizzazioni sui file e le directory che possono essere acceduti tramite FTP sono legate ai meccanismi di autorizzazione proprietari dei sistemi operativi utilizzati per realizzare i serventi e quindi non sono da considerare parte del protocollo.

I problemi principali imputabili direttamente al protocollo FTP sono quelli legati alla trasmissione in chiaro dei dati e delle credenziali scambiate durante la fase di autenticazione.

Un altro punto debole del FTP è la completa mancanza di autenticazione per l’apertura della connessione utilizzata per la trasmissione dati.

La sola forma di autenticazione prevista dal protocollo FTP prevede che le credenziali utente vengano inviate in chiaro sulla rete.

Per evitare che un hacker, intercettata la coppia username e password, la utilizzi in un Replay Attack, è indispensabile sostituire il servizio base FTP con un servizio custom, orientato alla sicurezza, che implementi un meccanismo di autenticazione robusta (one time password).

Un altro possibile attacco consiste nella sostituzione del client da parte dell’attaccante che, intercettata la risposta del server al comando PASV, può tentare di aprire la connessione dati sulla porta appena resa disponibile dal server stesso.

L’apertura di una connessione per trasferimento di file, infatti non è soggetta ad alcuna autenticazione.

Per limitare l’entità del problema, in alcuni server FTP l’apertura della nuova connessione dati è concessa solo a una stazione client che possiede lo stesso indirizzo IP in uso nella corrispondente sessione di controllo.

Questo approccio non è efficace se l’attaccante è in condizione man-in-the-middle o se è in grado di operare sotto IP Spoofing.

Anche il meccanismo di controllo associato all’apertura di connessione per il trasferimento dati in modalità attiva può essere aggirato.

In questo caso, il comando PORT permette di specificare l’indirizzo IP della stazione su cui deve essere tentata l’apertura della nuova connessione da parte del server.

Se l’attaccante è in grado di redirezionare il traffico, instaurando una condizione man-in-the-middle è relativamente semplice indurre il server a dialogare con la stazone in mano all’hacker piuttosto che con il sistema legittimo.

L’adozione della modalità di apertura attiva può essere inoltre causa di attacchi di tipo DoS.

Il protocollo FTP infatti non prevede che l’indirizzo IP specificato all’interno del comando PORT debba coincidere con quello utilizzato dal client FTP per la connessione di controllo.

Può essere anche specificato un indirizzo diverso e una porta lato client inferiore a 1024.

Tenendo conto di queste libertà offerte dal protocollo FTP, un attaccante, in grado di aprire una connessione controllo , può comandare al server A l’apertura di una connessione dati verso una stazione target (server B) su una qualsiasi porta servizio, purchè associata al servizio FTP.

La porta servizio disponibile sul server B può essere ottenuta dall’hacker durante la negoziazione di un’apertura passiva proprio con il server FTP installato sul server B.

Una volta aperta con successo la connessione dati tra server A e server B il trasferimento file avviene direttamente tra i due sistemi target senza coinvolgere la stazione dell’attaccante.

Per ottenere questo risultato è sufficiente aver dato precedentemente il comando RETR o STOR su uno dei due sistemi target.

Poichè i pacchetti non vengono instradati verso la stazione in mano all’attaccante, e quindi non risultano condizionati dalla banda disponibile del collegamento utilizzato dall’hacker, questi può avviare l’attivazione di numerosi File Transfer tra i due server fino a saturare la capacità dei collegamenti verso Internet pubblica che questi posseggono e/o le risorse disponibili sui sistemi locali.

Questa forma di attacco può essere scongiurata imponendo al server che opera in modalità apertura attiva di verificare le richieste ricevute e proseguire l’interazione con il client se e solo se l’indirizzo IP inserito nel campo PORT coincide con quello associato alla relativa connessione di controllo.

Questo approccio non è comunque efficace in caso di IP Spoofing e TCP Session Hijacking.

Nella versione originale di FTP il solo modo per garantire la riservatezza delle informazioni scambiate tra client e server, è trasmettere file precedentemente codificati.

Poichè l’uso dei file trasferiti tramite FTP è demandato ad altre applicazioni, non è essenziale che siano implementate a livello FTP funzionalità di crittografia.

La codifica e la decodifica dei file possono essere gestite off-line.

Oggi è comunque possibile utilizzare una soluzione in cui codifica e decodifica dei file avvengono in tempo reale (adozione di un canale sicuro), ricorrendo al trasporto di FTP over SSH.

error: Content is protected !!

La maggior parte dei contenuti del blog ComputerSec vengono pubblicati a beneficio di tutti e in modo completamente gratuito.
Tuttavia per supportare il blog, e per avere ulteriori vantaggi, puoi decidere di abbonarti e sfruttare al 100% tutti i contenuti!
Abbonati Ora!

Complimenti! Ti sei iscritto alla nostra Newsletter

C'è stato un errore durante l'invio della richiesta. Per favore riprova.

Computer Security will use the information you provide on this form to be in touch with you and to provide updates and marketing.