La gestione in termini di sicurezza e tutela della privacy nell'ambito del commercio elettronico di (Relazione presentata al Convegno Nazionale su 'Informatica e riservatezza' del CNUCE - Pisa 26/27 settembre 1998) Sicurezza Un tipico sistema per il commercio elettronico può essere diviso in varie parti: La protezione del sito del mercante è sicuramente la parte più studiata e per la quale c'è la maggior quantità di strumenti. In effetti si può dire che allo stato attuale è possibile proteggere in modo adeguato questi siti con tecniche e strumenti ormai standard e acquisiti. Una delle tecniche più comuni ed efficaci consiste nel dividere il sistema in due parti: un primo sistema che ha lo scopo di fornire informazioni pubblicitarie e in generale i servizi informativi del mercante e un altro dedicato alle transazioni vere e proprie. Il primo è in generale un sistema più vulnerabile, in quanto le esigenze di gestione, aggiornamento delle pagine ed offerta di servizi attraenti porta alla presenza di codice complesso, come ad esempio motori di ricerca o programmi cgi scritti in loco, all'accesso da parte di personale non tecnico per l'aggiornamento delle pagine, ecc. Il secondo sistema è invece estremamente sicuro, con il software strettamente necessario per la gestione della transazione e gestito da personale qualificato. La configurazione della rete deve essere tale che la compromissione del primo sistema non possa comportare la compromissione del secondo, e quindi non possa influire sulle transazioni, pur potendo comunque danneggiare l'immagine dell'azienda o eventuali altri servizi presenti (posta elettronica o altro).Questa configurazione, se correttamente realizzata e gestita, può offrire una protezione generalmente adeguata alle esigenze del commercio elettronico. Una categoria di attacchi dai quali né questa né altre configurazioni sono i grado di proteggere un sito sono però gli attacchi di denial of service, ovvero quelli in cui si impedisce l'uso di un servizio, in questo caso l'uso del server per il commercio elettronico da parte dei clienti. I motivi per cui una completa protezione non è possibile sono sostanzialmente due: - il mercante non ha il controllo della parte di rete necessaria per raggiungerlo: attacchi portati al suo provider sono in grado di isolarlo in quanto attaccano strutture fuori dal suo controllo e potenzialmente meno sicure; - è comunque possibile sovraccaricare il server, seppure con richieste di servizio che poi vengano scartate La gestione della sicurezza di un sito non si conclude però con la scelta e la realizzazione di un'architettura adeguata. E' necessaria un'attività continua di aggiornamento del software impiegato, man mano che ne divengono noti i difetti, nonché l'esame dei dati raccolti dai sistemi di protezione relativi a potenziali attacchi, onde prendere i provvedimenti necessari per impedire il successo degli attacchi stessi o di successivi tentativi più sofisticati. Dal punto di vista della gestione, il sistema descritto è sicuramente più complesso da mantenere, e quindi più costoso di un sistema generico, sono necessarie maggiori competenze nell'amministrazione di sistemi. Nella pratica, molti sistemi utilizzati per il commercio elettronico da parte di piccoli mercanti sono realizzati molto più semplicemente con un server web e con alcuni programmi cgi installati sul server stesso. La sicurezza di questi siti è spesso di poco superiore a quella di un comune server web, ovvero abbastanza bassa. A volte, con l'intenzione di aumentare la sicurezza del sistema, fra Internet e il server web viene installato un firewall. In molti casi si tratta di una misura pressoché inutile, se non per proteggere altri sistemi presenti sulla stessa rete locale. Il motivo è che il firewall deve comunque permettere l'accesso al server web protetto, e quindi in generale lascia passare proprio il tipo di traffico che viene poi utilizzato per l'attacco. Connessione Il traffico relativo alle transazioni per il commercio elettronico è ormai quasi universalmente cifrato. I protocolli utilizzati (tipicamente SSL) si sono finora dimostrati adeguati alle necessità, anche se sono stati rilevati dei difetti implementativi. Le carenze sono ancora essenzialmente tre: - l'uso di prodotti con protocolli e algoritmi di crittografia non standard e vulnerabili, tipicamente perché sviluppati in proprio da qualche produttore di software impreparato nel tentativo di entrare in un mercato molto promettente; - l'uso di prodotti che utilizzano versioni indebolite degli algoritmi standard, ad esempio per quanto riguarda la lunghezza della chiave; una ragione tipica è che si tratta di prodotti esportati dagli USA, che hanno normative restrittive in materia; spesso chi utilizza questi prodotti non è neppure a conoscenza della loro vulnerabilità; - i meccanismi di autenticazione inadeguati, anche se basati su tecnologie valide; un tipico esempio è l'uso di certificati X.509, ma con il certificato della Certification Authority ottenuto in modo insicuro e senza che la validità dei certificati presentati dai client e dai server sia verificata con la CA al momento dell'autenticazione. Sistema client È opinione diffusa che questo sarà nei prossimi anni la parte più vulnerabile dei sistemi di commercio elettronico e di home banking. Le ragioni sono numerose: - il sistema client è generalmente progettato e configurato per un uso generico; in questo contesto la possibilità di attivare dei meccanismi di sicurezza è minore rispetto a un server dedicato; - il sistema è effettivamente utilizzato anche per altre attività in rete, attività tipicamente meno sicure del commercio elettronico; durante queste attività il sistema può essere compromesso, compromettendo di conseguenza anche la sicurezza dell'attività di commercio elettronico; - l'utente è generalmente impreparato nel campo specifico; ha quindi difficoltà a riconoscere quali operazioni sono rischiose e quali no, o se è in corso un attacco al suo sistema; - molto software attualmente in commercio esegue numerose operazioni in modo "trasparente", ovvero senza che l'utente sia avvisato e senza che ne venga richiesto il consenso; queste operazioni vanno dall'invio di informazioni in rete al caricamento di dati sul sistema, all'esecuzione di codice; un esempio sono il "contenuto attivo" di molte pagine web, l'esecuzione di applicazioni per la visualizzazione di dati ottenuti dalla rete, o le procedure di installazione di pacchetti software che possono contestualmente modificare la configurazione della macchina; Connessioni con Certification Authority e sistemi per la gestione delle transazioni Queste connessioni sono spesso necessarie, sia da parte del client che da parte del server, fondamentalmente per due scopi: - verificare la validità delle credenziali presentate dalla controparte prima di procedere a una transazione; - effettuare la transazione vera e propria; la maggior parte dei meccanismi in fase di sviluppo per questo mercato tendono a riprodurre in qualche modo i concetti tipici delle carte di credito, un cui una terza parte è tramite o garante per la transazione; Per queste connessioni si possono riproporre le considerazioni viste per il traffico fra mercante e utente. La sicurezza del sistema dell'acquirente rimane bassa, mentre quella del mercante, che nei confronti di questi servizi è a sua volta un utente, è in generale maggiore. Sono da escludere i sistemi di pagamento che si basano sul semplice invio del numero di carta di credito al mercante. Si tratta di sistemi che non danno nessuna reale garanzia, particolarmente al mercante. L'uso di questi meccanismi attualmente è in pratica limitato a casi in cui: - le cifre in gioco non sono elevate; spesso si tratta di beni o servizi che per il mercante hanno un costo quasi nullo e la perdita in caso di truffa, più che dal valore dell'oggetto perso, è dato dal mancato guadagno: software, CD, eccetera; - la percentuale di truffe è considerata abbastanza bassa da rendere comunque conveniente la presenza su un mercato potenzialmente enorme; - dal punto di vista del cliente, ci sono garanzie aggiuntive sulla serietà del mercante, sul suo corretto comportamento e sulla sicurezza del sito. Privacy Una caratteristica del commercio elettronico, comune del resto a molte attività su Internet, è la totale trasparenza dei confini nazionali, almeno fino a quando non si arriva alla consegna materiale della merce. È estremamente difficile quindi dare delle garanzie di riservatezza con una legislazione nazionale, particolarmente se una delle parti coinvolte è intenzionata a trattare in modo potenzialmente illecito le informazioni. Le situazioni in cui i confini nazionali vengono superati sono numerose ed estremamente comuni. - Il traffico segue percorsi dettati dalla topologia delle reti dei diversi provider, dalla localizzazione delle connessioni fra provider diversi e dai contratti che questi hanno stipulato; questo vuole dire che è frequente che il traffico fra due siti italiani, anche distanti poche centinaia di metri, passi ad esempio dall'Olanda o dagli Stati Uniti; - Un mercante italiano può decidere di collocare il proprio server in un altro paese, ad esempio perché le tariffe dei provider sono più convenienti o perché le linee sono più veloci; - In molti casi un utente non ha motivo di preferire un mercante italiano a uno straniero, anzi spesso il commercio elettronico è utilizzato proprio per la possibilità di reperire all'estero merci che in Italia sono introvabili o più costose. In generale, l'utente non si rende conto se il server al quale si connette si trova in Italia o all'estero. Il concetto stesso di "connettersi a un server" può essere di per sé discutibile, in quanto una pagina web, ad esempio, può essere composta da frammenti provenienti da server sparsi in tutto il mondo. La stessa transazione, se si tiene conto della connessione a una Certification Authority o ad altri sistemi, può essere difficile da localizzare. Di tutto questo l'utente normalmente non si rende conto e spesso neppure si interessa. Anche volendo comunque, generalmente avrebbe poche possibilità di capire effettivamente in che paese è il server al quale è connesso. Lo stesso vale naturalmente anche per il mercante: il suo server è aperto a tutto il mondo e non è affatto immediato capire in quale paese si trova il sistema dal quale proviene un accesso. Non è detto infatti che l'indirizzo dal quale proviene la connessione sia quello dal quale il cliente sta effettivamente operando, anche volendo supporre che dall'indirizzo si riesca a risalire al paese. Un esempio tipico sono molte grosse multinazionali, che hanno in pratica una loro rete geografica mondiale privata connessa a Internet tramite un unico gateway. In questo caso spesso le connessioni risultano provenire dal gateway, che può essere in un paese diverso da quello in cui si trova l'utente. Lo stesso vale per le Certification Authority e per eventuali sistemi coinvolti nella gestione delle transazioni. Per quanto i meccanismi di sicurezza utilizzati possano quindi tutelare l'integrità e la riservatezza dei dati relativi alla transazione, è difficile avere delle reali garanzie sull'uso che il mercante farà dei dati raccolti. Se il mercante è intenzionato a fare un uso scorretto (in Italia) dei dati, non deve fare altro che spostare il proprio server in un paese con una legislazione più adatta alle sue necessità. Si intende che dal server non potrà poi trasferire i dati raccolti in Italia. Essendo l'utente stesso che fornisce all'estero i propri dati, non c'è il rischio di violare l'art. 28 della legge 675/96. Il mercante può addirittura concedere l'accesso ai propri dati a terze parti. Il commercio elettronico non è limitato alla transazione in senso stretto. Questa infatt è generalmente preceduta da un accesso al sito del mercante per la scelta della merce e per eventuali contatti preliminari con il venditore. Questo traffico non è in generale critico dal punto di vista della sicurezza ed è comunemente svolto senza alcuna protezione. Può essere quindi letto e analizzato da chiunque abbia accesso a un nodo della rete attraversata dal traffico stesso, quindi in particolare da: - colleghi di lavoro del cliente che abbiano le proprie macchine sulla stessa rete; - il datore di lavoro, che spesso ha il controllo del gateway utilizzato per la connessione della rete locale a Internet se l'accesso avviene da un ufficio; - il personale dei vari provider che connettono il cliente con il mercante; - eventuali entità (es. polizia) autorizzate, nei vari paesi attraversati, ad esaminare il traffico; - dipendenti del mercante o comunque altro personale che abbia accesso alla rete sulla quale si trova il server; - hacker che abbiano compromesso uno qualsiasi dei sistemi attraversati. Come già sottolineato, molte di queste entità possono agire al di fuori dei confini nazionali e quindi sfuggire alle limitazioni imposte dalla legge italiana. Si può quindi pensare di cifrare non solo il traffico relativo alla connessione, bensì tutto il traffico fra il cliente e il mercante. Questo presuppone naturalmente la volontà del mercante di offrire questo tipo di servizio ed impedirebbe di leggere esplicitamente le informazioni trasferite dal cliente al mercante. Ci sono però numerosi altri modi con cui è possibile raccogliere informazioni. Sistemi di pagamento e CA La maggior parte dei sistemi di pagamento in fase di progettazione o realizzazione tende a riprodurre in qualche modo i meccanismi delle carte di credito, con una terza parte che garantisce sulla legittimità e correttezza della transazione. Questi sistemi non sono, per definizione, anonimi, quindi il gestore del meccanismo ha una raccolta dettagliata di tutte le transazioni dei singoli utenti e mercanti. La situazione non sembra diversa rispetto all'uso di carte di credito reali, ma nel caso di una diffusione capillare del commercio elettronico ci si può aspettare che le attività svolte con questi strumenti siano molti di più, dall'acquisto del quotidiano personalizzati al pagamento di servizi quali accesso a database specialistici, acquisto di software eccetera, comprendendo quindi anche piccole operazioni che venivano effettuate con l'uso di contanti e quindi erano sostanzialmente anonime. Il dettaglio dell'immagine che si può avere dell'utente è quindi potenzialmente maggiore. Esistono strumenti per il pagamento che tendono a riprodurre il concetto del denaro anonimo, ma stanno avendo per molte ragioni una diffusione assai minore; a parte le motivazioni commerciali, si tratta indubbiamente di strumenti più complessi da comprendere e che suscitano spesso una certa diffidenza perché più difficili da ricondurre a concetti noti. Anche le certification authority si trovano sostanzialmente nella stessa posizione. I sistemi più avanzati prevedono una verifica in tempo reale della validità dei certificati utilizzati per la transazione, quindi ad ogni transazione corrisponde in pratica un accesso da parte del mercante per verificare il certificato dell'acquirente e un accesso da parte dell'acquirente per verificare il certificato del mercante. Analisi del traffico In molti casi, senza arrivare a sapere qual è esattamente il contenuto dei messaggi scambiati fra cliente e mercante, può essere sufficiente sapere che il cliente ha eseguito un acquisto presso un mercante. Basta quindi riconoscere del traffico, relativo a una transazione, fra i corrispondenti sistemi. I pacchetti IP (il protocollo utilizzato da tutti i sistemi di Internet) contengono tutti l'indirizzo del mittente e quello del destinatario. Questi indirizzi, anche quando il traffico è cifrato, sono in chiaro. A seconda di come è realizzata la cifratura dei dati, possono essere in chiaro altre informazioni. Ad esempio, in caso di uso di SSL, sono in chiaro anche la porta mittente e la porta destinatario, che permettono in pratica di individuare il servizio al quale i dati sono destinati. In questo contesto l'esame del traffico, anche se cifrato, può fornire informazioni sufficienti. L'esame può essere effettuato da una qualsiasi delle entità già descritte e può avvenire in uno qualsiasi dei nodi attraversati dai dati. Esaminare il traffico sul nodo di un provider è quindi come poter esaminare i passanti a un incrocio e poter dire esattamente da dove vengono e dove vanno. Il provider di un utente può dire quindi tutti i siti ai quali l'utente si è collegato. Dedurre gli orientamenti politici di un utente è ad esempio abbastanza facile se questi si connette tutti i giorni al sito di un quotidiano di partito. Al contrario, esaminare il traffico di un sito permette di conoscere gli indirizzi di tutti i suoi utenti. E' vero che dall'indirizzo non è sempre facile dedurre il nome, particolarmente nel caso di connessioni dial-up con indirizzo dinamico, ma è anche vero che in molti casi, dove sia invece disponibile una connessione dedicata, ai vari indirizzi corrispondono dei personal computer ognuno utilizzato da un unico utente. Questa tecnica può anche di rendere inutili molti remailer anonimi senza bisogno di accedere direttamente ai relativi database e anche se il traffico fosse anche qui completamente cifrato. Esaminando il traffico del remailer è infatti possibile stabilire una correlazione fra messaggi in arrivo al remailer e quelli in uscita. Il remailer avrà sempre numerose connessioni aperte sia in entrata (messaggi in arrivo) sia in uscita (messaggi in partenza). In generale, a ogni messaggio in arrivo corrisponde un messaggio in partenza. Il problema è trovare la relazione, anche in presenza di ritardi, peraltro mai eccessivi, nella ritrasmissione dei dati da parte del remailer. Questo può ottenere inviando numerosi messaggi all'indirizzo anonimo ed esaminando quali connessioni vengono aperte in uscita in un intervallo di tempo successivo. Dopo un numero sufficiente di tentativi dovrebbe rimanere una sola connessione in uscita presente in tutti gli intervalli. Naturalmente è possibile che l'utente si appoggi a un grosso provider e riceva i propri messaggi tramite una connessione dial-up, ma in questo caso nel messaggio a lui destinato il destinatario è trasmesso in chiaro perché il server del provider lo possa interpretare. Cookies Una tecnica completamente diversa, e che non presenta i problemi legali dell'analisi del traffico, consiste nell'utilizzo dei cosiddetti cookies. Il protocollo utilizzato per il web prevede che per ogni frammento di documento scaricato dal client venga utilizzata una connessione diversa. In generale non c'è modo per un server di associare fra loro le diverse connessioni che un client può richiedere, sia per scaricare frammenti dello stesso documento che per scaricare documenti diversi in momenti successivi. Per rimediare a questo problema sono nati i cookies, che permettono al server di conservare uno stato direttamente sul client. In pratica, il server quando necessario invia al client un pacchetto di dati contenenti alcune informazioni, fra le quali il server mittente, una scadenza e i dati realmente interessanti per il server. Alle connessioni successive il server chiede al client di inviargli il cookie, ottenendo in questo modo informazioni sulle precedenti connessioni del client. Questo strumento permette ad esempio di realizzare dei semplici meccanismi di autenticazione, o di personalizzare l'accesso ai server per i singoli client, eccetera. I cookies d'altra parte permettono a un server di raccogliere dati sui siti e sulle pagine precedentemente visitati e quindi permettono potenzialmente di creare una mappa dettagliata dei siti e quindi delle abitudini e delle preferenze dell'utente. I cookies possono poi essere raccolti anche da altri server oltre a quello che lo ha fornito, anche se attualmente la configurazione dei browser permette di limitare notevolmente questo rischio. Un mercante, o un qualsiasi gestore di sito web, può quindi accordarsi, ad esempio con una società che si occupi di pubblicità mirata, per fornire ai client degli utenti che visitano il sito dei cookies che questa società possa poi raccogliere ad esempio in occasione della connessione a qualche altro sito. Queste società potrebbero poi scambiarsi i cookies fra di loro. Dato poi che molti siti web richiedono una registrazione, è possibile associare i dati raccolti a un'identità che spesso sarà reale, per correttezza dell'utente o perché necessaria per effettuare qualche transazione. I cookies non rappresentano quindi un problema dal punto di vista della sicurezza, ma possono costituire un serio problema dal punto di vista della privacy. Link I documenti forniti dai server web sono composti da numerosi frammenti, ognuno dei quali è caricato separatamente, potenzialmente da un sito diverso. Negli ultimi anni è aumentato notevolmente il contenuto di messaggi pubblicitari nelle pagine. Questi messaggi generalmente sono scaricati da un server apposito che paga il gestore della pagina per inserire gli annunci. Nel momento in cui esamina una pagina quindi, l'utente si connette anche a questo server di messaggi pubblicitari per scaricarne uno. Grazie a questa connessione, dalla quale generalmente è possibile dedurre l'indirizzo IP del client, il server è in grado di sapere a quale sito web si è connesso il client. L'abitudine di inserire messaggi pubblicitari si è diffusa in molti contesti. Ad esempio alcuni siti offrono pagine web gratuite in cambio dell'inserimento di messaggi pubblicitari. Questo permette di tracciare gli accessi ad home page personali, o alle pagine di associazioni, eccetera. Le stesse tecniche possono essere usate per azioni più dirette, sempre nel tentativo di associare almeno indirizzi I'> a interessi specifici. I gruppi di discussione ad esempio sono un meccanismo che rende difficile scoprire chi li segue, dato che ognuno accede autonomamente al proprio server. Molte mailing list inoltre non diffondono l'elenco dei propri iscritti. L'invio di un messaggio in formato html permette di inserire un link al proprio sito web, contenente ad esempio un'immagine. La maggior parte dei browser, nel tentativo di visualizzare correttamente il messaggio, si connetterà al sito indicato nel link, che potrà quindi sapere a quali indirizzi IP è arrivato il suo messaggio. Spam Un fenomeno di Internet che è principalmente legato al commercio, e quindi anche al commercio elettronico, è il cosiddetto spamming, ovvero l'invio di messaggi indesiderati (spam), tipicamente pubblicitari, a un gran numero di indirizzi. E un fenomeno molto più grave del corrispondente fenomeno basato sulla posta tradizionale, perché l'invio di messaggi di posta elettronica o sui gruppi di discussione ha costo praticamente nullo. Questa pratica, sempre più diffusa, è possibile principalmente perché: - la posta elettronica, come quella normale, viene generalmente ricevuta da qualsiasi mittente provenga; - i meccanismi utilizzati per questi servizi hanno delle caratteristiche di sicurezza ormai inadeguate e non sono in grado di bloccare il fenomeno. Lo spam ha infatti tipicamente un indirizzo mittente falso, altrimenti sarebbe semplice per gli utenti di Internet scartare automaticamente i messaggi provenienti da quell'indirizzo. Inoltre gli indirizzi destinatari sono generalmente presi da raccolte di milioni di indirizzi di posta elettronica, molti dei quali sbagliati perché raccolti in modo grossolano da strumenti automatici che esaminano ad esempio i mittenti di messaggi su newsgroup e mailing list pubbliche. Questo causa un ulteriore traffico di migliaia di messaggi di errore, spesso in grado di bloccare completamente le attività di un piccolo provider. In pratica sono messaggi per i quali difficilmente si può risalire al mittente. Per questo motivo, anche in paesi dove questo tipo di messaggi pubblicitari non sollecitati è vietato, difficilmente si riesce a impedire l'espansione del fenomeno. Solo recentemente i gestori dei server di posta elettronica cominciano ad adottare delle configurazioni meno aperte ma in grado di ridurre in parte il problema, evitando ad esempio di effettuare il relay di messaggi di posta elettronica destinata a terzi, tipico meccanismo utilizzato dagli spammer per nascondere il proprio reale indirizzo. |