Farsi attaccare di proposito: pagare qualcuno perché provi a entrare nella tua applicazione

Sembra un controsenso spendere per essere attaccati. È invece l'unico modo di sapere cosa sa già chi vi attaccherà gratis, e prima di lui.

10 minTitolari, direzione, responsabili di un software in uso

Cosa portare a casa

Risposta breve

Un test di sicurezza autorizzato è un tentativo controllato di entrare nella vostra applicazione, condotto con il vostro permesso scritto, per trovare i punti deboli prima che li trovi qualcun altro. La differenza fra questo e un'intrusione non è la tecnica: è l'autorizzazione. La stessa azione, senza il vostro consenso, è un reato previsto dall'art. 615-ter del codice penale.

Quasi nessuna applicazione viene attaccata da una persona: viene trovata da programmi che provano milioni di indirizzi cercando difetti già noti.

Il GDPR (art. 32) elenca fra le misure di sicurezza adeguate una procedura per testare regolarmente le difese. Non è un consiglio, è la lettera del regolamento.

La cosa che uno strumento automatico non trova è il difetto di logica: lo sconto applicabile due volte, il cliente che vede i dati di un altro. Quello lo trova solo chi conosce come è fatto quel tipo di software.

Un test è legale solo con autorizzazione scritta di chi possiede il sistema. È l'unica cosa che separa una verifica da un reato.

Data Hub

CONSOO

Torna alle guide

Perché pagare per essere attaccati non è un controsenso

Un'applicazione in produzione — un sito che raccoglie contatti, un gestionale, un portale dove i clienti accedono con una password — è esposta a chiunque, in ogni momento. La domanda non è se qualcuno proverà a trovarne i difetti: è se lo scoprirete prima voi o prima loro. Un test di sicurezza autorizzato è il modo di arrivare primi. Pagate qualcuno perché faccia, con il vostro permesso e senza fare danni, esattamente ciò che un estraneo farebbe senza permesso e senza riguardo.

Cosa trova uno strumento automatico, e cosa no

Esistono strumenti che analizzano un'applicazione da soli e segnalano i problemi. Sono utili, li usiamo, e una parte del lavoro comincia da lì. Ma vedono una sola categoria di difetti: quelli già catalogati. Una libreria con una falla pubblicata, una configurazione lasciata aperta, una porta che non doveva restare accessibile. Tutte cose reali, tutte importanti — e tutte che chi vi attacca conosce già, perché legge lo stesso elenco pubblico.

Le due famiglie di difetti
Cosa trova lo strumentoCosa trova solo una persona
Una libreria non aggiornata con falla notaUno sconto che si può applicare due volte
Una configurazione del server sbagliataUn ordine modificabile dopo il pagamento
Una password di default mai cambiataUn cliente che, cambiando un numero nell'indirizzo, apre i documenti di un altro cliente
Un certificato scadutoUn utente normale che raggiunge una funzione da amministratore

La colonna di destra non contiene difetti tecnici: contiene difetti di significato. Nessuno strumento li trova, perché per accorgersene bisogna sapere cosa quell'applicazione dovrebbe fare — e quindi averne costruite di simili.

È qui che sta la ragione per cui questo lavoro lo facciamo noi con una certa serenità: costruiamo gestionali, portali clienti ed e-commerce con listini diversi per ogni cliente. Sono esattamente i sistemi in cui i difetti della colonna di destra sono più frequenti e più costosi. Non guardiamo la vostra applicazione come un enigma da forzare, ma come un tipo di software di cui conosciamo già i punti in cui di solito è sbagliato.

Il motivo per cui non è più rimandabile: lo dice la legge

Molte aziende trattano il test di sicurezza come una spesa da fare «quando ci sarà tempo». Chi tratta dati personali in un'applicazione — cioè chiunque abbia anche solo un modulo contatti o un'area con login — ha in realtà un obbligo di legge che raramente conosce.

Fra le misure adeguate a garantire la sicurezza rientra «una procedura per testare, verificare e valutare regolarmente l'efficacia delle misure tecniche e organizzative al fine di garantire la sicurezza del trattamento».

Regolamento UE 2016/679 (GDPR), art. 32, par. 1, lett. d

La parola che conta è «regolarmente». Il regolamento non chiede di avere un firewall: chiede una procedura ripetuta nel tempo per verificare che le difese funzionino davvero. Un test di sicurezza è il modo più diretto di soddisfare questa richiesta, ed è documentabile: la relazione finale è la prova, davanti a un cliente o a un'autorità, che la verifica è stata fatta.

La sola cosa che separa un test da un reato

Entrare in un sistema informatico senza il permesso di chi lo possiede è un reato, previsto dall'art. 615-ter del codice penale, e lo è a prescindere dalle intenzioni e dal fatto che si sia fatto o no un danno. Un test di sicurezza fa le stesse cose, ma è legale per una ragione sola: l'autorizzazione scritta di chi possiede il sistema. Non è un cavillo burocratico, è il confine.

Cosa deve esistere prima che chiunque tocchi la vostra applicazione

  • Un'autorizzazione scritta di chi ha titolo a concederla per la vostra azienda.
  • Il perimetro esatto: quali indirizzi e quali sistemi sono compresi, e quali no.
  • La finestra temporale in cui il test può avvenire.
  • Un contatto raggiungibile durante il test, per fermare tutto se qualcosa va storto.
  • L'avviso al fornitore del server o del cloud, che nel suo contratto lo richiede a prescindere dal vostro.

Se un fornitore vi propone di «dare un'occhiata» senza mettere per iscritto queste cose, sta proponendovi di fare insieme qualcosa di irregolare. Un fornitore serio insiste per avere l'autorizzazione prima di voi.

Le quattro prove diverse, per quattro paure diverse

«Testare la sicurezza» significa cose diverse a seconda di cosa vi tiene svegli. Vale la pena sapere quali sono, perché chi ne compra una sola spesso compra quella sbagliata.

  1. 01

    Qualcuno entra dove non deve

    È il test di sicurezza applicativo: si prova a entrare, a vedere dati altrui, a fare cose che il proprio ruolo non permette. Risponde alla domanda «la mia app è sicura?».

  2. 02

    Troppa gente arriva insieme e il sito cade

    È il test di carico: si simula un numero crescente di utenti fino a trovare il punto in cui il sistema cede. Risponde alla domanda «quanto traffico regge?».

  3. 03

    L'assistente AI dice quello che non deve

    È il test degli assistenti conversazionali: si prova a fargli rivelare istruzioni o dati che dovrebbe tenere per sé. Una famiglia di problemi nuova, che gli strumenti classici non coprono.

  4. 04

    Un cliente grande vi manda il suo questionario di sicurezza

    È l'assessment di postura: si mettono in ordine le risposte da dare, e si interviene dove oggi non si potrebbero dare vere. Nasce da una scadenza esterna, non da una curiosità.

Dove il fai da te arriva, e dove si ferma

Alcune verifiche potete e dovreste farle da soli: costano solo tempo e dicono molto. Su questo sito trovate le istruzioni passo per passo per controllare se un cliente può vedere i dati di un altro e per misurare quanto traffico regge il vostro sito, entrambe eseguibili sul vostro sistema in un pomeriggio. Servono a due cose: a trovare i problemi più comuni, e a capire se avete davanti qualcuno che sa di cosa parla.

Risorse collegate utili

Domande frequenti

Un test di sicurezza può danneggiare la mia applicazione?

Un test condotto correttamente è progettato per non fare danni: si concorda un perimetro, una finestra temporale e un contatto per fermare tutto. Il test di carico è l'unico che sollecita davvero il sistema, e per questo si esegue di norma su un ambiente di prova o in una finestra concordata, avvisando il fornitore del server. Il rischio reale è fare un test senza queste attenzioni, non il test in sé.

Quanto costa far testare la sicurezza di un'applicazione?

Dipende da quanto è grande la superficie da verificare: un sito vetrina è un conto, un gestionale con decine di funzioni e ruoli è un altro. Il prezzo si stabilisce sul perimetro, non a forfait. Nella consulenza gratuita guardiamo insieme la vostra applicazione e vi diciamo un ordine di grandezza onesto prima di qualsiasi impegno.

Ogni quanto va rifatto?

Il GDPR parla di verifica «regolare». In pratica ha senso ripetere il test dopo ogni cambiamento importante dell'applicazione e comunque una volta l'anno: il software cambia, le librerie invecchiano e i difetti noti a inizio anno non sono quelli noti a fine anno.

È legale attaccare il mio stesso sito?

Sì, a patto che sia il vostro e che l'autorizzazione sia scritta e concessa da chi ne ha titolo per l'azienda. La stessa azione su un sistema non vostro, o senza autorizzazione, è un reato (art. 615-ter del codice penale). Se il sito è ospitato su un cloud, va avvisato anche il fornitore.

Ho un'applicazione vecchia di anni e nessuno sa più com'è fatta dentro. Ha senso testarla?

Ha più senso che per una nuova. Un'applicazione ferma da anni ha librerie invecchiate con falle ormai pubbliche e nessuno che ne conosca i punti deboli: è la situazione tipica in cui un test trova cose serie. È anche l'occasione per ricostruire una mappa di cosa fa il sistema, che spesso è andata persa.

Volete sapere se la vostra applicazione regge a chi prova a entrare, prima che lo scopra qualcun altro? Nella consulenza gratuita guardiamo insieme cosa ha senso testare e come.

CONSOO trasforma idee su software, AI e integrazioni in un percorso tecnico chiaro per PMI.

  • 30 minuti, online
  • Nessun impegno
  • Analisi del tuo caso reale
  • Risposta entro 24 ore