• User Attivo

    tutelarsi legalmente in caso di perdita/fuga di dati di clienti

    Ciao,
    abbiamo sviluppato un gestionale web, ovvero un'applicazione tramite cui dei professionisti, dietro pagamento di una fee annua, archiviano e gestiscono i dati contabili dei propri clienti.
    Ora sorge la necessità di tutelarci in caso di malfunzionamenti o bug che possano causare la perdita o la fuga dei dati, nonché l'interruzione del servizio. Supponiamo ad esempio che, a causa di un bug, l'utente A visualizzi i dati dell'utente B, o che addirittura possa andarli a modificare (e questo possa causare dei danni economici all'utente B). Oppure un altro bug comporti degli errori nelle elaborazioni contabili. O ancora che vi siano delle interruzioni del servizio dovute al provider e non dipendenti dalla nostra volontà.
    Ovviamente abbiamo testato il software fino alla nausea, ma è impossibile prevedere tutti i problemi!
    Provvediamo inoltre al backup completo del database più volte al giorno.

    In questo caso come ci si può tutelare? Ovviamente a livello contrattuale stabiliremo delle tutele adeguate, ma cosa succede in caso di danni indiretti? Abbiamo interpellato varie compagnie di assicurazione ma nessuna copre il rischio di "fuga" dei dati, in quanto non economicamente quantificabile.
    Immagino che la nostra situazione sia paragonabile a quella di un qualsiasi provider che ospita sui propri server i dati dei clienti...


  • Super User

    Ciao Ministry,
    ovviamente inserirete le più ampie clausole di non responsabilità che, come notorio, non eliminano nessuna responsabilità 🙂 ma avvertono l'utente di quello che può accadere nell'uso del servizio. Per i danni economici c'è poco da dire, se vi citano per danni un giudice stabilirà se si tratta di responsabilità vostra o dipendente da forza maggiore o fatto del terzo. In relazione alle nuove tecnologie c'è sempre una forte alea, nel senso che una sicurezza assoluta nessuno la può dare per il semplice motivo che ogni giorno si scopre qualche cosa di nuovo, e quindi quello che è sicuro oggi non lo è più domani. Si dovrà tenere conto di questo elementare principio.
    Per la "condivisione" di dati personali con terzi per errore del sistema, anche solo questo fatto comporta delle responsabilità sulla base della normativa sulla privacy. Attenetevi alle regole previste dal Garante (ad esempio ci sono le regole per il cloud computing), fate in modo che pochi soggetti fisici abbiano accesso ai dati e che essi siano sempre controllati (password per operare sulle macchine e ognuno con password diversa, log per tracciare chi è alla macchina in ogni momento, ecc...), fate un'informativa dettagliata nella quale spiegate come avviene il trattamento dei dati. Purtroppo se non vi assicura nessuno, ne dovrete rispondere in proprio.


  • User Attivo

    Ti chiedo scusa se rispondo solo ora ma non mi è arrivata nessun avviso nonostante avessi sottoscritto la discussione 🙂
    Comunque ti ringrazio per la risposta e per il link che mi hai indicato, che mi sembra molto utile.
    Ho provato a consultare i contratti di alcuni provider internet e, se intendo bene il "legalese", si dice che con le proprie credenziali l'utente si può accedere solo ai dati in proprio possesso (in sostanza si tenderebbe a far cadere su di lui la responsabilità... "hai il diritto di vedere solo i tuoi dati e se ti capita di vedere quelli degli altri allora devi smettere subito").
    Ammesso che io abbia capito bene, non so comunque se sia un approccio valido...


  • Super User

    E' una clausola di esenzione dalla responsabilità. In realtà non porta alcuna esenzione, cioè se per qualche motivo un utente riesce ad accedere ai dati di altri utenti, per un bug del vostro software, avete voglia di inserire clausole di esenzione, la colpa sarà sempre vostra e ne risponderete.
    Comunque, se organizzate la cosa nel modo migliore possibile, con delle procedure di sicurezza specifiche (è fondamentale), e tenete conto delle attuali tecnologie, un danno del genere anche se capitasse non dovrebbe esservi addebitato perchè, come dicevo, la tecnologia avanza ed è impossibile assicurare una sicurezza assoluta.


  • User Attivo

    Grazie.
    Cosa intendi con "procedure di sicurezza specifiche"? Es. un backup frequente del database?


  • User Attivo

    Io comincerei dividendo dati sensibili dagli altri e crittografare i dati sensibili.
    Non mi è chiaro, però, come comportarsi con php, se una persona ottiene l'accesso di root, essendo linguaggio script in chiaro, riesce ad ottenere tutte le password dei db e eventuali chiavi di cifratura...come comportarsi allora?


  • User Attivo

    Partendo dal presupposto che comunque non gestisco dati sensibili (per fortuna 🙂 ) il problema sorge nel momento in cui, per un bug del programma, un utente normale, senza possedere competenze particolari o intenti malevoli, riesce a visualizzare dati non suoi.
    Mi ricordo che tempo fa mi è successo di loggarmi nel sistema di home banking e vedere, oltre al mio conto corrente, anche quello di una terza persona a me sconosciuta! E volendo avrei anche potuto operare, fare bonifici ecc.
    Ho segnalato la cosa alla banca che ha subito sistemato... cosa succederebbe se in qualche modo io venissi a sapere che un'altra persona ha avuto accesso al mio conto nella stessa maniera? E che magari ha prelevato dei soldi?


  • User Attivo

    Scusami, ho scritto sensibili ma volevo dire personali. Io dividerei i dati della persona/azienda dai dati "applicativi", oscurandoli tramite crittografia in modo che chi non è in possesso della chiave non riesce a visualizzarli. La chiave potrebbe essere un hash che si crea quando si crea l'utenza. In questo modo, anche se per qualche bug applicativo si visualizzassero dati altruoi sarebbero comunque illeggibili, perchè non sono in chiaro e non si conosce la chiave altrui.


  • Super User

    Ciao Ministry,
    per le procedure di sicurezza si intende procedure adatte a prevenire la distruzione dei dati, il furto e la perdita accidentale.
    Quindi direi che occorre archiviare in un database gli interessati (utenti) a seconda dei consensi prestati, occorre fare in modo che chi accede ai dati possa farlo solo dopo esser stato verificato (cioè deve essere identificato), e ognuno che ha accesso ai dati deve essere verificato separatamente (password separate) in modo che in qualunque momento sia possibile stabilire chi stava lavorando sui dati in caso di furto o perdita. Chiaramente procedure di backup cifrati, con controllo virus, ecc....
    Cose del genere. Direi di rifarsi agli standard del settore. In particolare agli adempimenti previsti dal Garante Privacy per gli amministratori di sistema: conservare gli access log per 6 mesi, registrare gli accessi con indicazione dell'orario, ecc...

    Nel caso da te indicato per l'home banking, direi che nella pratica si deve verificare cosa è effettivamente successo, potrebbe anche essere un problema indipendente dalla banca, ma in linea di massima la banca è responsabile dell'accesso ai dati di altri. Sicuramente è responsabile se l'altro preleva anche dei soldi (ma in questo caso si tratta di responsabilità penale o civili, non solo di accesso ai dati altrui).