Cyberarms, oltre il firewall: un IDS e IPS gratuito per Windows

Windows ha di serie un firewall, e fin qui nulla di nuovo.
Per la precisione questo firewall lavora al layer 3 del modello ISO-OSI, quindi un classico firewall con porte aperte e chiuse, con SPI (Stateful Packet Inspection: controlla che i pacchetti in entrata siano in qualche modo attesi) più qualche interessante aggiunta.

Ciò che preoccupa, con sistemi di protezione come questo, è l’evoluzione dei metodi di hacking, ovvero delle tecniche per scassinare i nostri server, che le rende dinamiche a fronte di una difesa del tutto statica e pertanto a rischio di rapida obsolescenza.

Una delle tecniche più diffuse è senza dubbio il brute-force attack, cioè un martellamento su un punto di ingresso, provando chiavi (credenziali) sempre differenti finché non se ne trova una giusta.
Per affrontare questo genere di attacchi è necessario adottare un IDS (Intrusion Detection System) o un IPS (Intrusion Prevention System).

L’IDS analizza lo scenario come farebbe un osservatore esterno: i buoi scappano dal recinto, e l’IDS si limiterebbe a dire “attenzione: i buoi sono scappati”.

La funzione invece di un IPS sta nella prevenzione dell’intrusione, cioè per mezzo di un’analisi preventiva (che in questo caso coincide con il tentativo di intrusione, ma non con l’intrusione stessa) rileva il problema e interviene con un’azione mirata ad impedirlo.

Vi sono poi sistemi di IPS molto sofisticati, che agiscono su più punti del sistema da proteggere, ma non saranno oggetto di queste righe.

Il sottoscritto viene da una lunga tradizione su piattaforma Unix/Linux/BSD, ed un software assai popolare su quella piattaforma è fail2ban, un demone che, molto semplicemente, controlla continuamente i file di log degli accessi per rilevare i tentativi falliti e di conseguenza agisce sul firewall di sistema per bloccare l’IP chiamante per un dato tempo.
Non è certo un metodo infallibile, ma occorre fare un paio di considerazioni:

  1. gli IP mittenti in questi attacchi sono praticamente sempre forged, ovvero il software di attacco modifica i pacchetti inserendo un indirizzo IP sorgente a caso: se da un lato il bloccare un certo IP può in effetti non fermare l’hacker vero e proprio, dato che al prossimo tentativo cambierà IP, dall’altro permette di impedire che l’attacco cosiddetto a dizionario si spinga troppo oltre, aumentando le probabilità di riuscita.
  2. Questo metodo riduce e di molto l’impegno di banda occupata dall’attacco, poiché lo blocca e pertanto costringe il server attaccante a reinizializzare la sessione, probabilmente con un IP differente; ma intanto ha chiuso il socket TCP e la porta del server (e la CPU) finalmente respirano un po’. Mi permetto al proposito di ricordare che TCP, a differenza di UDP, è connection oriented, ovvero esige sempre una risposta dal nodo contattato, occupandone parte delle risorse

Fail2ban esiste anche per Windows: ho dato un’occhiata e francamente, a fronte della configurabilità, offre una certa complessità di implementazione. Così cercando qua e là sono incappato in un software (Cyberarms) che era a pagamento, e ora a seguito di una scelta di politica commerciale del suo produttore, è gratuito.

Esiste nella versione a 32 e 64 bit, si installa come servizio Windows, si possono configurare con estrema facilità una serie di protocolli da tenere d’occhio e il programma si pone come sentinella sulle connessioni monitorate.
Al raggiungimento di una condizione preoccupante (es. 5 tentativi sbagliati di accesso)

  • via Remote Desktop (vi dice nulla la parola ransomware?)
  • via SMTP (qui la parola chiave è mail relay)
  • via FTP
  • via SQL

…e così via, blocca l’IP chiamante a livello di firewall, scrive l’alert nel registro di Windows e opzionalmente manda una mail all’amministratore di sistema.