Docstoc

Sicurezza informatica e cooperazione youshop.com

Document Sample
Sicurezza informatica e cooperazione youshop.com Powered By Docstoc
					                                                A.A. 2008/2009




UNIVERSITÀ
                     SICUREZZA INFORMATICA E
DEGLI STUDI DI
“TOR VERGATA”        COOPERAZIONE: YOUSHOP.COM




             Prof. Maurizio Talamo | Davide Angelocola
                                                                   2




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                                                                                                    3


Sommario
Introduzione ............................................................................................................................... 6
    1.1       Macroattività................................................................................................................ 9
    1.2       OpenID....................................................................................................................... 12
      1.2.1          Esempio OpenID ................................................................................................ 13
    1.3       PayPal ........................................................................................................................ 15
    1.4       Infrastruttura youshop.com ...................................................................................... 16
2     Virtual Organization.......................................................................................................... 18
    2.1       Attori ..........................................................................................................................20
      2.1.1          youshop.com....................................................................................................... 22
      2.1.2          Shop-owner ........................................................................................................ 22
      2.1.3          Shop-customer ................................................................................................... 22
      2.1.4          Operatore ............................................................................................................ 22
      2.1.5          Amazon Elastic Server ........................................................................................ 22
      2.1.6          PayPal ................................................................................................................. 23
      2.1.7          youpay.com (wrapper PayPal) ............................................................................ 24
      2.1.8          Provider OpenID ................................................................................................ 24
      2.1.9          youropenid.com .................................................................................................. 25
      2.1.10         Banca dati delle utenze ....................................................................................... 25
      2.1.11         Banca dati negozi online..................................................................................... 26
      2.1.12         Server http .......................................................................................................... 26
      2.1.13         Dispatcher http ................................................................................................... 27
      2.1.14         FogBugz .............................................................................................................. 27
      2.1.15         Wordpress .......................................................................................................... 27
      2.1.16         Browser ............................................................................................................... 28
    2.2       Cooperation Agreement ............................................................................................. 28
    2.3       Vincoli ........................................................................................................................ 31
      2.3.1          Login il provider OpenID dell’utente ................................................................. 31
      2.3.2          Creazione utenza presso youshop.com............................................................... 31
      2.3.3          Creazione sito presso youshop.com ................................................................... 32
      2.3.4          Login presso Amazon EC2.................................................................................. 32
      2.3.5          Deploy sito presso Amazon EC2 ......................................................................... 33
      2.3.6          Modifica sito presso youshop.com ..................................................................... 33
      2.3.7          Salvataggio dati acquisto .................................................................................... 33
      2.3.8          Login PayPal ....................................................................................................... 34
3     Social Network .................................................................................................................. 35
    3.1       Definizione formale del contesto ............................................................................... 35

Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                                                                                                     4

    3.2       Definizione di grafo di contesto ................................................................................. 35
      3.2.1          Definizione del grafo di contesto per la creazione di un negozio ....................... 36
      3.2.2          Definizione del grafo di contesto per l’acquisto tramite youshop.com .............. 37
    3.3       Definizione formale di trust ....................................................................................... 38
      3.3.1          Trust tra shop-owner, shop-customer e PayPal ................................................. 39
      3.3.2          Trust autenticazione tramite OpenID ................................................................ 39
    3.4       Grafo di contesto per il macroprocesso di creazione/aggiornamento ...................... 42
    3.5       Grafo di contesto per il macroprocesso di pagamento .............................................. 43
    3.6       Trusted Social Network ............................................................................................. 43
      3.6.1          Trusted social network per la creazione/modifica di e-commerce .................... 44
      3.6.2          Trusted social network per il pagamento tramite PayPal .................................. 45
    3.7       Grafi delle transazioni................................................................................................ 45
      3.7.1          Grafo delle transazioni per la creazione/modifica di un e-commerce ............... 45
      3.7.1          Grafo delle transazioni per il pagamento tramite PayPal .................................. 47
4     Awareness network ........................................................................................................... 48
    4.1       Definizioni.................................................................................................................. 48
      4.1.1          Simple tasks ........................................................................................................ 48
      4.1.2          Collaborative tasks ............................................................................................. 48
      4.1.3          Roles ................................................................................................................... 48
      4.1.4          Roles artifact ....................................................................................................... 49
      4.1.5          Tasks artifact ...................................................................................................... 49
    4.2       Livelli di awareness richiesti ...................................................................................... 49
    4.3       Ruoli ........................................................................................................................... 50
      4.3.1          Tabella riassuntiva.............................................................................................. 50
    4.4       Livelli di conoscenza attuali ....................................................................................... 50
    4.5       Normalizzazione Awareness ...................................................................................... 50
5     Workflow ........................................................................................................................... 51
6     Monitoraggio e verifiche ................................................................................................... 52
      6.1.1          Registration Server ............................................................................................. 52
      6.1.2          Documentation Server........................................................................................ 52
      6.1.3          Alarm Server ....................................................................................................... 52
      6.1.4          Monitoraggio ...................................................................................................... 54
      6.1.5          Monitoraggio della rete ...................................................................................... 56
      6.1.6          Verifiche.............................................................................................................. 57
      6.1.7          Verifica pre-requisiti e output attesi .................................................................. 58
      6.1.8          Qualità del Servizio ............................................................................................. 59
      6.1.9          Security ............................................................................................................... 59

Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                                                                                                 5

7     Appendice A: Sicurezza OpenID ......................................................................................60
    7.1     Normalizzazione URL ................................................................................................60
    7.1     Guessing .....................................................................................................................60
    7.2     Phishing ..................................................................................................................... 61
    7.3     Man in the middle...................................................................................................... 61
8     Bibliografia ........................................................................................................................ 63




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                               6



Introduzione

Il presente documento ha lo scopo di analizzare la Virtual
Organization della internet company youshop.com: una piccola start-
up romana che ha lanciato la propria piattaforma web che consente di
creare, e di tenere aggiornati, dei negozi sul web.

Un negozio online è una web application altamente modulare ed
adattabile per gli scopi del cliente. È possibile cioè cambiarne il look and
feel, aggiungere video e/o immagini ai prodotti in vendita o modificare la
lista dei prodotti, catalogabili tramite tags.

I clienti di youshop.com sono classificabili in due tipologie:

     I venditori (shop-owners) sono coloro che vendono, ovvero
      l’offerta
     compratori (shop-customers) sono coloro che comprano, ovvero
      la domanda




                                                  youshop

                                                venditori

                                            compratori
Figura 0-1: relazionale piramidale tra youshop.com e i suoi clienti



Mentre i venditori devono pagare una retta mensile per mantenere il
proprio sito di e-commerce, i compratori non hanno spese dirette con
youshop.com: essi infatti acquistano i prodotti tramite un negozio online
e pagano direttamente al venditore.



Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                                 7


Al fine di ridurre i costi di impianto ed il time to market
youshop.com ha scelto di riusare applicazioni e servizi esistenti piuttosto
che implementarne ed erogarne dei nuovi ad hoc. Ad esempio per i
pagamenti viene usato PayPal mentre per il blog aziendale, un must per
poter creare un marchio su internet, viene usato wordpress.com, il
blogging engine più usato del mondo.

Gli e-commerce e i server di infrastruttura sono installati su Amazon
EC2, un servizio che permette di allestire macchine virtuali allo scopo di
garantire flessibilità, scalabilità e sicurezza. L’uso delle macchine virtuali
ha anche un forte impatto sui costi: si paga ad Amazon solo le ore
effettive di consumo del tempo macchina di un server ed il costo è
nettamente inferiore a soluzioni di hosting tradizionali.

Le parole d’ordine per youshop.com sono delegare e riusare.



                    Paypal               Wordpress



   Amazon
                                                          fogbugz
    EC2
                              youshop



La piattaforma youshop.com è ben riassumibile dalla seguente lista di siti
web:

   1. http://www.youshop.com, è la web application dove vengono creati
      gli account e gestiti i negozi (per gli shop-owner)
   2. http://blog.youshop.com il blog su wordpresss.com
   3. http://support.youshop.com fogbugz per segnalare bug, wiki, etc
   4. http://api.youshop.com API http per i servizi
   5. http://www.youpay.com wrapper per paypal.com
   6. http:// youropenid.com provider OpenID


Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                                  8


      http://www.nome.com che è un negozio online creato da uno shop-
      owner che è un redirect verso un URL di youshop.com

Il blog, presso il quale gli sviluppatori e i pubblicitari pubblicano le novità
della ricca piattaforma applicativa di youshop.com, è ospitato, come già
accennato in precedenza, su wordpress.com. Analogamente,
support.youshop.com è la web application fogbugz, ospitata nei server di
fogcreek.com, tramite la quale un cliente può interagire con il supporto
tecnico di youshop.com. Inoltre, poiché viene usato Amazon EC2 per il
deploy e PayPal per le transazioni bancarie, risulta evidente che sono
necessarie più credenziali per chi vuole creare un negozio. Si è quindi
optato per usare un protocollo di Distributed Single Sign On
(DSSO), che permette di:

   1. far cooperare applicazioni eterogenee per locazione, piattaforma e
      servizi erogati
   2. semplificare la vita ai propri utenti, poiché gli si chiede di
      memorizzare una sola username/password

In particolare il secondo punto rappresenta un grosso vantaggio sia per
quanto concerne l’usabilità che la sicurezza.

Lo svantaggio che si ha nell’usare un protocollo di DSSO deriva dal fatto
che non si controlla direttamente tutto il workflow delle informazioni, e
per la stessa natura distribuita del web, è difficile tracciare tutte le
transazioni tra i diversi host che cooperano ai processi.

Per l’implementare il DSSO si è deciso di optare per OpenID, che è:
    completamente specificato
    di larga diffusione (è usato da Google, Yahoo!, Facebook)
    basato su standard aperti (HTTP, URL, mime-type) che ben si
       adatta al contesto aziendale di youshop.com

Tramite OpenID è possibile quindi autenticarsi presso il proprio provider
una volta soltanto e sfruttare tutti i servizi erogati di youshop.com
senza reinserire la password e senza farla in rete ad ogni accesso. Infatti
youshop.com non mantiene nel proprio database le password dei propri
utenti, sia essi venditori o compratori: il meccanismo di delega di
OpenID libera youshop.com dal farlo. Si aumenta quindi la sicurezza
globale del sistema dando contestualmente un meccanismo di
autenticazione semplificato.




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                                  9




                                  Provider
 •youshop.com                     OpenID             •Successo
 •youpay.com                                         •Errore
 •blog.youshop.com         •openid.youshop.com
 •support.youshop.com      •qualsiasi altro
                            provider
 •altri servizi

        Richiesta
                                                           Esisto Auth
          Auth



Per poter garantire un facile accesso anche ai clienti dei clienti
youshop.com offre anche un provider OpenID che si può usare come un
normale provider (ovviamente youshop.com nel dominio garantisce una
certa pubblicità).

Il sistema è fortemente distribuito e quindi si rende necessario un
adeguato sistema di monitoraggio in tempo reale, in grado di stabilire
con un alto livello di confidenza, le capacità attuali e future di risposta di
un servizio.

Per erogare tali servizi è necessario realizzare un’infrastruttura
informativa adeguata per supportare le macroattività fondamentali.
Requisiti non-funzionali come sicurezza e scalabilità diventano quindi
critici per il business dell’azienda poiché i servizi sono erogati su una rete
pubblica ed potenzialmente insicura come internet.

La registrazione è cruciale per youshop.com poiché, in base alle leggi
vigenti in Italia, per aprire un’attività occorre possedere una partita IVA
ed essere un soggetto iscritto alla camera del commercio. Per facilitare il
cliente, youshop.com richiede la presenza, almeno in Italia, di
un’iscrizione valida alla camera del commercio.

      1.1 Macroattività
Per completare l’introduzione vengono ora descritte le 4 macroattività
critiche, rispetto agli obiettivi di business, della piattaforma applicativa di
youshop.com, due per ciascun ruolo:
    Registrazione e creazione e-commerce (shop-owner)

Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                               10


    Aggiornamento e-commerce (shop-owner)
    Creazione OpenID (shop-customer)
    Pagamento (shop-customer)

Lo shop-owner deve necessariamente registrarsi presso youshop.com al
fine di creare e mettere online un sito. Il processo può essere suddiviso in
3 sotto processi elementari, come mostra la Figura 1-0-2.


 Registrazione

       Personalizzazione

            Deploy
                                  Figura 1-0-2



Internamente il processo coinvolge più servizi, tra cui un provider
OpenID, Amazon EC2, nonché i servizi propri da youshop.com. Infatti,
per la fase di deploy, è necessario stabilire delle comunicazioni sicure
con i server Amazon EC2, al fine di avviare/fermare il giusto numero di
istanze di macchine virtuali necessarie per un dato negozio.



                                 Auth
   youshop                      Amazon
                                                          Deploy




      Auth                       Crea
     OpenID                     negozio




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                            11


Un altro macroprocesso, molto simile per quanto riguarda numero e
composizione dei processi elementari, è quello relativo all’aggiornamento
di un negozio, come ad esempio la variazione del numero di istanze di
server da installare presso Amazon EC2 o il look-and-feel dello stesso.

Ovviamente, una volta che uno shop-owner si è autenticato presso il
suo provider OpenID, potrà usare tutti i servizi erogati da youshop.com,
come ad esempio:

     Creare un negozio
     Aggiornare il proprio negozio con prodotti nuovi
     Aprire un ticket presso http://support.youshop.com
     Postare un commento sul blog
     Verificare lo stato del proprio negozio
     Consultare la lista delle fatture emesse

Alcune di queste attività, sebbene siano importanti per youshop.com,
non sono critiche quanto la creazione o l’aggiornamento di un sito di e-
commerce o il pagamento tramite PayPal e pertanto non verranno
incluse nell’analisi.

Per quanto riguarda lo shop-customer, anch’esso è protagonista in due
macroprocessi:

   1. Creazione account OpenID presso youropenid.com
   2. Pagamento presso youpay.com, che si appoggia a PayPal

Il primo di questi due macroprocessi è opzionale in quanto un utente può
già avere un identificativo OpenID: ad esempio Google e Yahoo
forniscono degli identificativi OpenID a tutti i loro utenti.

La piattaforma applicativa di youshop.com permette quindi di mettere in
contatto compratori con venditori, garantendo la transazione bancaria
(tramite PayPal). Viene sostanzialmente realizzato il seguente processo
generale:




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                            12




     1.2 OpenID
"OpenID eliminates the need for multiple usernames across different
websites, simplifying your online experience."
OpenID è uno standard libero ed aperto per il Distributed Single Sign
On. È stato concepito per sostituire il comune processo di login che usa
username e password. Per gli utenti finali OpenID permette di eseguire il
login una e una sola volta e di ottenere accesso a più siti web.

OpenID è un protocollo sviluppato a partire da tecnologie standard e
largamente utilizzate come HTTP, URI e SSL. Per lo scambio delle chiavi
viene usato un protocollo basato su Diffie-Hellman (che è stato
dichiarato insicuro e rimpiazzato da SSL per gli scopi di youshop.com).
Un account è un URI che viene usata al posto del classico nome utente.

OpenID è una tecnologia relativamente nuova che è sviluppata e adattata
in molteplici contesti organizzativi ed aziendali.

Alla domanda "Perché usare OpenID?" si può rispondere:

Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                             13



   per avere una sola identità online; OpenID cerca di migliorare
    l'esperienza online degli utenti, eliminando la necessità di
    creare "yet another username and password"

   per tutte quelle applicazioni per cui normalmente non si ha voglia
    di crearsi un account, ad esempio tutti quei nuovi servizi "Web 2.0"
    che nascono ogni giorno e che abbasserebbero notevolmente la
    barriera d'ingresso usando OpenID

   per il Single Sign On aziendale, dove è possibile restringere
    l'accesso unicamente agli OpenID appartenenti all'azienda

   per servizi specifici per siti, riconoscendo alcuni tipi di OpenID (ad
    esempio quelli di AOL, Google, Microsoft live)

   per creare whitelist sociali: condividendo la propria lista di
    OpenID fidati è possibile costruire una rete di fiducia globale,
    disaccoppiata da qualsiasi servizio e decentralizzata

   per creare reti sociali decentralizzate, l'identificatore unico e
    globale di OpenID può riunire in un unico punto tutti i profili
    utente sparsi per i diversi siti di aggregazione sociale come ad
    esempio Facebook, Myspace, linkedin, etc

   per commentare su un blog, senza registrarsi o senza fornire altri
    dati personali

  OpenID ha anche un importante vantaggio per quanto riguarda la
  sicurezza in quanto si può rendere estremamente sicuro l'unico
  processo di login. Attualmente è molto costoso per siti web individuali
  fornire un accesso sicuro con caratteristiche come certificati SSL,
  smartcard o SecurID. Con OpenID si possono concentrare gli sforzi di
  soldi e tempo nel rendere sicuro un unico front gate in luogo di
  dozzine di front gates ognuno per sito web.



     1.2.1       Esempio OpenID

Ad     esempio    tramite   il   suo    browser     un   utente    visita
http://www.youshop.com che gli mostra una form di login OpenID. A
differenza delle form di login alle quali si è abituati (quelle con due


Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                              14


campi, uno username (o email address) ed una password, con OpenID si
ha un solo campo che rappresenta lo user-identifier, un URL (o XRI).

Form tradizionale:


 username

 password

Form OpenID:


 OpenID identifier

La form è collegata ad un’implementazione client di OpenID che si
incarica di contattare il provider dell’utente per autenticarlo.

Ogni utente ha un OpenID identifier composto da:

     un URL specifica di un provider
     l'user-id, specifica del suo provider

Ad esempio l'utente dfa, utente del provider OpenId di youropenid.com,
avrà il seguente identificativo: dfa.youropenid.com.

A questo punto il relying party, ovvero il sito presso il quale ci si vuole
autenticare, trasforma l'identifier in un URL in forma canonica
(http://dfa.youropenid.com) e richiede al provider di identificare l'utente
tramite i meccanismi di autenticazione propri del provider (che possono
essere i più disparati). Una volta che l’utente si è autenticato
correttamente viene eseguito un redirect http verso il relying party.




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                               15



                                               Provider




                                                          Relaying
                      User agent
                                                           party
0-3 Delega di autenticazione verso il provider OpenID



         1.3 PayPal
PayPal è un servizio web che si interpone come garante in una
transazione bancaria tra due parti, tipicamente un venditore ed un
compratore su eBay, può anche essere usato anche in altri contesti
applicativi.

Le parti coinvolte nella transazione bancaria hanno fiducia in PayPal,
poiché probabilmente l’hanno già usato in altre occasioni ad esempio su
eBay o per fare donazioni a progetti open source. La fiducia dello shop-
customer si traduce nella garanzia di affidare i dati della propria carta
di credito in un sistema sicuro senza che essi vengano intercettati da altri
soggetti o che lo shop-owner ne venga conoscenza. Contrariamente la
fiducia che nutre lo shop-owner verso PayPal deriva dal fatto che il
pagamento venga realmente effettuato e notificato in breve tempo.

La delega nel caso dei pagamenti tra lo shop-owner e lo shop-
customer si ha verso una comune organizzazione, PayPal, di cui tutte e
due le parti si affidano per mantenere i propri dati personali, siano essi
password o numeri di carta di credito.




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                               16



                                PayPal




                  shop                           shop
                 owner                         customer



      1.4 Infrastruttura youshop.com
Al fine di rendere possibile gli obiettivi di business di youshop.com, è
necessaria un’adeguata infrastruttura informativa. Le attività critiche
sono legate alla creazione/modifica di un negozio online e al pagamento
tramite PayPal. Tali attività vanno quindi monitorate ed eventuali
problemi devono essere rilevati con tempestività, poiché, anche per brevi
lassi temporali, causano ingenti perdite di soldi e, ben più grave nel lungo
periodo, di immagine.

L’architettura di youshop.com è, quindi, a layer (o a cipolla):


                               Load balancer


                               Proxy HTTP


                               Server HTTP


                               Applicazione




                                 Database




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                        17



Come per lo stack TCP/IP ogni layer può comunicare solo con i layer
adiacenti. Ad esempio, nella figura sopra, il server http non può
comunicare direttamente con il database. Questi livelli di isolamento
consentono di diminuire la complessità indotta dall’elevato numero di
collegamenti tra i componenti. Sempre considerando la figura sopra,
permettendo ai layer di comunicare in modo libero, si avrebbero 4 * 5
possibili connessioni:




Imponendo, invece, che ogni layer possa comunicare solo con quelli
adiacenti si ottengono solo 4 connessioni:




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                              18



        2 Virtual Organization

In questa sezione verranno trattati i processi in modo tale da evidenziare
le organizzazioni che vi prendono parte, il loro business process ed,
infine, il loro Cooperator Agreement.

Una Virtual Organization è un insieme di entità che collaborano,
scambiandosi risorse, al fine di perseguire il loro comune obiettivo di
business. A tal fine è necessario stipulare un accordo formale: il
Cooperation Agreement. L'organizzazione di tipo formale che
andiamo a considerare comprende tutti gli attori che prendono parte
nella creazione di un negozio online tramite i servizi erogati da
youshop.com.

L'organizzazione è quindi la terna:

<attori, relazioni, struttura>

dove:

   gli attori sono entità fisiche, giuridiche o agenti software
   le relazioni che intercorrono tra queste entità
   la struttura è la topologia degli archi che rappresentano le
    relazioni: nel caso specifico di youshop.com è una struttura
    gerarchica

La struttura gerarchica appena citata è la più semplice topologia che si
può mappare su una struttura organizzativa preesistente. Poiché
all’interno della piattaforma applicativa di youshop.com i ruoli non
cambiano nel tempo e i flussi informativi coincidono con quelli della
struttura organizzativa preesistente, possiamo applicare delle
metodologie di sicurezza al fine di identificare, minimizzare e trattare in
modo sistematico il rischio. La certificazione tramite piani di sicurezza
(e.g. BS7799) esula dagli obiettivi da questa analisi e pertanto non verrà
toccata.

Le problematiche trattate in questa sezione pertanto fanno riferimento a
due dimensioni: quella puramente organizzativa e quella tecnologica. La
dimensione organizzativa non entra nel merito di come i servizi vengano
erogati e di quali tecnologie usano. In contesti puramente distribuiti,
ovvero in contesti in cui i servizi sono per lo più composizioni di servizi
esistenti, le tecnologie usate ricoprono un ruolo importante.


Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                              19


All’interno del contesto ivi descritto esistono tre maggiori organizzazioni
che cooperano al fine di erogare i servizi di youshop.com, esse sono:
   1. Amazon
   2. Paypal
   3. OpenID




                                Amazon




                              youshop

                 OpenID                        Paypal




Sebbene OpenID non sia propriamente un’organizzazione essa viene
comunque annoverata tra le organizzazioni poiché, se analizzata dal
punto di vista puramente funzionale, andando cioè di volta in volta a
sostituire il provider con l’effettivo servizio di provider OpenID usato,
può considerarsi pienamente un’organizzazione con il suo business
plan.




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                             20




     2.1 Attori
In un sistema cooperativo complesso e distribuito come quello che si sta
analizzando operano molti attori, siano essi persone, altre aziende o
agenti software. Ogni attore svolge le proprie mansioni nel pieno rispetto
del business plan dell’organizzazione a cui appartiene.

Essi sono elencanti di seguito:
   youshop.com
   Shop-owner
   Shop-customer
   Operatore
   Amazon Elastic Server
   PayPal
   youpay.com
   Provider OpenID
   YourOpenid.com
   Banca dati delle utenze
   Banca dati negozi online
   Server http
   Dispatcher http
   FogBugz
   wordpress.com
   browser




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                   21




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                                 22


      2.1.1       youshop.com

Youshop.com è l’applicazione per la gestione del login, dei negozi e dei
dati degli utenti, sia essi venditori che compratori.

      2.1.2       Shop-owner

Per shop-owner si intende una persona fisica o giuridica, dotata di
partita IVA, che intende pubblicare un negozio e-commerce tramite i
servizi erogati da youshop.com. Esso usufruisce di tutti i servizi che ha
deciso di usare per il proprio sito ed interagisce con tutti i servizi erogati
esclusivamente attraverso un browser web ed un canale di
comunicazione sicuro (SSL, https nello specifico).

La sua utenza deve essere verificata da youshop.com e quindi è
necessaria una fase di registrazione, dove la persona interessata ad aprire
un e-commerce viene riconosciuta a vista da un operatore youshop.com e
vengono effettuati i dovuti controlli presso la Prefettura.

      2.1.3       Shop-customer

Lo shop-customer è un cliente che usa un negozio di e-commerce
basato sulla piattaforma offerta da youshop.com per comprare dei beni.
Esso interagisce con il negozio online interamente con un browser
attraverso un canale di comunicazione sicuro (SSL). Se è sprovvisto di un
identificativo OpenID può richiederne uno su youropenid.com, che è un
servizio supplementare offerto dalla piattaforma youshop.com.

      2.1.4       Operatore

Un operatore è un dipendente dell’azienda youshop.com. Esso
interagisce sia con gli utenti che hanno un negozio e-commerce sia con i
compratori. Nel primo caso esso riconosce a vista una persona fisica e la
registra presso il database delle utenze come shop-owner. Nel secondo
caso, invece, esso agisce semplicemente come supporto tecnico tramite
fogbugz.

      2.1.5       Amazon Elastic Server

Al fine di abbattere i costi di impianto youshop.com ha preso
l’importante decisione di non gestire direttamente il parco hardware, ma
invece di delegare completamente la gestione dello stesso
all’infrastruttura di Amazon. Questa infrastruttura viene fornita di
un’API per l’accesso programmatico delle sue funzionalità da remoto.

Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                            23


L’API è rappresentata da un servizio restful, ovvero senza una
connessione permanente e completamente
asincrono.
                                             Ad ogni cliente
Ogni server è una macchina virtuale pre-     corrispondono uno
configurata che può essere avviata più volte o più siti e-
per affrontare carichi maggiori. Esistono    commerce e ad
diversi tipi di server, tra i più importanti ogni      sito     e-
ricordiamo:                                  commerce
                                             corrispondono uno
    Server http                             o più server http.
    Server applicativo (con embedded un
      server SQL)
    OpenID provider
    Proxy
    youshop.com

Ogni macchina virtuale è anche configurata per avere un agente di
monitoraggio (AM) installato con un proprio ID. Il monitoraggio avviene
in maniera trasparente, ovvero non influisce in nessuna maniera col
normale funzionamento del sistema.

Per default ogni servizio ha due hook dove è utile e conveniente inserire
un agente di monitoraggio.




       AM                  Servizio               AM



0-1 Around service: AM prima e dopo il servizio




         2.1.6             PayPal

PayPal è un servizio su quale è possibile eseguire transazioni bancarie
tramite internet. Il meccanismo alla base del funzionamento di PayPal è
la delega: infatti, esso permette di effettuare pagamenti senza
condividere i dati della propria carta di credito con il commerciante. Il

Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                           24


principio è analogo a quello di OpenID: invece di evitare di memorizzare
e trasmettere la password evita di memorizzare e trasmettere i numeri
della carta di credito.

Il modello concettuale usato da PayPal è formato da tre attori, il
compratore, il venditore e PayPal stesso, che si fa garante della
transazione. Entrambe le parti, il pagante ed il pagato, hanno un alto
grado di fiducia (trust) verso il sistema PayPal.

     2.1.7       youpay.com (wrapper PayPal)

Questo wrapper consente di fare forward di richieste provenienti da un
account autorizzato con OpenID a PayPal. Sostanzialmente si tratta di un
modo per estendere il Single Sign On (OpenID), verso un sistema che
ne è sprovvisto (PayPal).

                              OpenID



                            youpay.com




                             PayPal API




Esso ha anche un secondo, importante uso: permette di catturare tutto il
traffico da e verso PayPal, originato dalla piattaforma PayPal.
Permettendo quindi di monitorare e di documentare lo stato del servizio
senza interferire con la normale erogazione dei servizi.


     2.1.8      Provider OpenID

Il provider OpenID è la componente server-side che si incarica di
soddisfare le richieste di autenticazione OpenID (vedi parte relativa ad
OpenID).



Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                             25


     2.1.9       youropenid.com

Per i clienti di youshop.com sprovvisti di identificativo OpenID
youropenid.com “comes to the rescue”. Esso agisce da provider OpenID,
usabile normalmente con i tutti servizi web abilitati.

Questo servizio al suo interno memorizza le password su un semplice
database su file. Ogni riga del file è una coppia:

IDENTIFICATIVO :PASSWORD

Questo componente è scollegato dal resto del sistema informativo poiché
può essere usato anche al di fuori di youshop.com. Un agente di
monitoraggio è posto in entrata ed in uscita da questo componente al fine
di loggare i flussi informativi di autenticazione.


                                               database
                                               OpenID
                                               Handler
                                               HTTP

                                               AM




     2.1.10      Banca dati delle utenze

La banca dati delle utenze è il database presso il quale vengono
memorizzati i dati relativi alle utenze, ad esclusione della password, che
viene memorizzata nel database OpenID del provider.

La banca dati delle utenze database segue l’architettura master/slave: il
master, in lettura/scrittura, è distribuito al fine di aumentare la
scalabilità e l’affidabilità su diversi db slave, in sola lettura.


Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                                  26


      2.1.11      Banca dati negozi online

Come già accennato in precedenza ogni negozio ospitato su youshop.com
dispone di un suo server SQL privato nel quale vengono salvati i dati
relativi agli oggetti in vendita e ai commenti relativi ad essi.

È importante specificare che i dati relativi ai pagamenti e agli
acquisti vengono tenuti su server separati, meglio protetti da
attacchi informatici, al fine di aumentare sia l’affidabilità sia la sicurezza.


      2.1.12      Server http

Questo componente è il cuore tecnologico dell’infrastruttura applicativa
di youshop.com.

Ogni server HTTP risiede in una macchina virtuale separata e gestisce un
solo negozio online. Ogni negozio ha però la possibilità di definire più
server http che sono automaticamente bilanciati dal load balancer.


                               Negozio     • Database1
                                  1        • App1


                                    Negozio    • Database2
                                       2       • App2


                               Negozio     • DatabaseN
                                 N         • AppN

Tutti i server HTTP devono essere certificati per funzionare con HTTP 1.1
e SSL. Non è consentito al web server di comunicare con altri servizi, se
non alla web application.

Tecnicamente un server http è un’istanza di servlet container (jetty) con
l’applicazione youshop.com “scheletro”. Tale scheletro è quindi riempito


Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                             27


e personalizzato da uno shop-owner di youshop.com aggiungendo, ad
esempio, il logo del negozio, un altro foglio di stile, etc.


     2.1.13      Dispatcher http

Questo componente intercetta tutte le richieste http e https entranti da
youshop.com e le “gira” verso il server applicativo del negozio online.
Contestualmente il dispatcher esegue anche delle funzioni load
balancing. La criticità di questo componente impone un alto livello di
fail-over e di affidabilità, nonché un uptime pari al 99.99%.




                                                        Web1.1
                            Negozio1
                                                       Web1.2
 Dispatcher

                            Negozio2                   Web2.1


     2.1.14      FogBugz

FogBugz, è una web application, creata da FogCreek, per la gestione di
progetti e per l’interazione con clienti. È completa da un wiki, da un
forum presso il quale gli utenti (shop-owner principalmente ma anche
shop-customers) possono segnalare problemi o suggerimenti.

L’applicazione è in hosting presso i server di FogCreek ed è raggiungibile
tramite l’url http://support.youshop.com.

     2.1.15      Wordpress

Il blog aziendale è in hosting presso http://wordpress.com ma è
raggiungibile tramite l’url http://blog.youshop.com.


Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                             28


      2.1.16        Browser

Le postazioni client, tramite le quali sia gli shop-owner sia gli shop-
customer interagiscono con i servizi, non sono sotto il controllo di
youshop.com. Essi, infatti, sono computer dotati di un browser web con i
seguenti requisiti minimi:

   Instaurare e mantenere connessioni SSL (HTTPS)
   Javascript

youshop.com raccomanda uno dei seguenti browser:

     IE 7 o 8
     Firefox 3.x
     Opera
     Chrome




           IE7/IE8                         Firefox 3.x

                            Browser

             Opera                            Chrome


      2.2 Cooperation Agreement
La piattaforma applicativa di youshop.com prevede un insieme di
processi altamente cooperativi e distribuiti (si vedano le interazioni con
PayPal e Amazon EC2). In questa sezione vengono presi in esame, in
modo      dettagliato, i    macroprocessi        presentati    brevemente
nell’introduzione.


Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                                   29


Registrazione e creazione e-commerce (shop-owner)

Questo processo è compiuto da un utente (shop-owner) che vuole
aprire un negozio di e-commerce usando la piattaforma applicativa di
youshop.com.

     Login il provider OpenID dell’utente.
     Creazione utenza presso youshop.com.
     Creazione sito presso youshop.com.
     Login presso Amazon EC2.
     Deploy sito presso Amazon EC2.




                            Creazione
                                                          Login EC2
       • Proxy               utenza
       • OpenID        • Riempimento
         provider             form
                         • Salvataggio
                           presso DB
            Login
                                         Creazione sito               Deploy EC2
         youshop.com




Aggiornamento e-commerce (shop-owner)
   Login il provider OpenID dell’utente.
   Modifica sito presso youshop.com.
   Login presso Amazon EC2.
   Deploy sito presso Amazon EC2.




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                    30




                     Modifica sito                     Deploy EC2
  • Proxy
  • OpenID
    provider
      Login
                                       Login EC2
   youshop.com




Creazione OpenID (shop-customer, senza OpenID)

   Registrazione youropenid.com.
   Salvataggio sul database.




                                           Salvataggio




               Registrazione
               myopenid.com




Pagamento (shop-customer)
   Login youshop.com con OpenID.
   Salvataggio dati acquisto.
   Login PayPal.
   Salvataggio dati pagamento.

Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                            31




                      Salvataggio dati                   Salvataggio dati
                          acquisto                         pagamento
 • OpenID

        Login
                                         Login PayPal
     youshop.com




     2.3 Vincoli

     2.3.1         Login il provider OpenID dell’utente

Pre-condizioni

   L’utente è in possesso di un identificativo OpenID presso il suo
    provider.

Condizioni

   Alla fruizione di uno dei servizi di youshop.com.

Post-condizioni

   L’utente è abilitato ad usare i servizi di youshop.com attraverso un
    canale sicuro (https).

     2.3.2         Creazione utenza presso youshop.com

Pre-condizioni

   L’utente è in possesso di un identificativo OpenID presso il suo
    provider.


Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                       32


Condizioni

   Alla fruizione di uno dei servizi di youshop.com.

Post-condizioni

   L’utente ha compilato la form di registrazione.


     2.3.3        Creazione sito presso youshop.com


Pre-condizioni

   L’utente è in possesso di un identificativo OpenID presso il suo
    provider.
   L’utente ha completato la registrazione presso youshop.com.

Condizioni

   Alla fruizione di uno dei servizi di youshop.com.
   Alla creazione di un sito di e-commerce.

Post-condizioni

   L’utente ha completato la registrazione presso youshop.com.


     2.3.4        Login presso Amazon EC2

Pre-condizioni

   L’utente è in possesso di un identificativo OpenID presso il suo
    provider.
   L’utente ha completato la registrazione presso youshop.com.

Condizioni

   Alla fruizione di uno dei servizi di Amazon EC2.

Post-condizioni

   L’utente ha instaurato una connessione con Amazon EC2.

Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                            33




     2.3.5        Deploy sito presso Amazon EC2

Pre-condizioni

   L’utente ha completato la personalizzazione del proprio sito.
   L’utente ha completato il login presso Amazon EC2.

Condizioni

   All’installazione   di una macchina virtuale       con il negozio
    personalizzato.

Post-condizioni

   L’utente ha installato il suo negozio online.


     2.3.6        Modifica sito presso youshop.com

Pre-condizioni

   L’utente è in possesso di un identificativo OpenID presso il suo
    provider.
   L’utente ha completato la registrazione presso youshop.com.

Condizioni

   Alla fruizione di uno dei servizi di Amazon EC2.

Post-condizioni

   L’utente ha instaurato una connessione con Amazon EC2.


     2.3.7        Salvataggio dati acquisto

Ogni volta che un utente effettua un acquisto tramite un negozio della
piattaforma applicativa di youshop.com vengono memorizzati i dati sia
dell’acquisto sia delle parti coinvolte. Questi dati vengono mantenuti ai
fini di gestione del contenzioso.

Pre-condizioni
Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                     34



   L’utente ha completato il login OpenID presso il suo provider.
   L’utente ha completato un acquisto.

Condizioni

   Al salvataggio delle informazioni relative agli acquisti.

Post-condizioni

   L’utente completa il suo acquisto.


     2.3.8        Login PayPal

Pre-condizioni

   L’utente ha completato il login presso youshop.com.

Condizioni

   Al pagamento su PayPal tramite un negozio della piattaforma
    applicativa di youshop.com.

Post-condizioni

   L’utente ha instaurato una connessione sicura con PayPal per
    effettuare il pagamento.




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                               35



      3 Social Network

Vengono ora analizzate le responsabilità derivanti dalla condivisione
delle risorse nella Virtual Organization. In un sistema fortemente
distribuito e cooperativo come quello di youshop.com, la condivisione
comporta, oltre ad ovvie problematiche di sicurezza, anche l’assegnazione
delle responsabilità, nel rispetto sia del Cooperation Act sia delle
normative vigenti.

Lo studio del contesto e la sua rappresentazione come grafo passerà per
tre fasi:
    Definizione formale del contesto e del trust
    Modellazione del grafo (Trusted Social Network)
    Analisi e considerazioni


      3.1 Definizione formale del contesto
Il modello formale per la definizione delle relazioni di trust tra le entità
che concorrono ad un processo cooperativo prevede che esse non siano
assolute, ma che dipendano dal contesto in cui sono “immerse”. Definire
in modo formale il contesto di un processo cooperativo all’interno di una
Virtual Organization assume quindi un’importanza fondamentale.

Formalmente il contesto è definito come una tupla:


Dove:
        è l’insieme delle entità (persone, aziende, software, hardware,
       etc) che condividono un obiettivo
        rappresenta l’insieme di tutti i potenziali processi cooperativi
       per raggiungere l’obiettivo O
        l’obiettivo da raggiungere nel processo cooperativo
          è il Cooperation Agreement


      3.2 Definizione di grafo di contesto

Un grafo di contesto G è definito dalla tupla          dove:
   E rappresenta l’insieme dei nodi delle entità coinvolte nel contesto



Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                               36


    A invece è l’insieme degli archi che esprimono la presenza di un
     legame di trust tra due entità:                     , tale legame
     esiste solo se in quel determinato contesto le due entità
     interagiscono in un qualche processo cooperativo



      3.2.1    Definizione del grafo di contesto per la
           creazione di un negozio

Il grafo di contesto per i processi di creazione e aggiornamento del sito di
e-commerce:




L’insieme E degli attori è così definito:
    shop-owner
    browser

Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                              37


     youshop.com
     Amazon EC2
     Server HTTP
     Applicazione sito
     Database sito
     Provider OpenID
     youropenid.com (opzionale)
     Database utenze
     Wordpress (opzionale)
     FogBugz (opzionale)

L’insieme P dei processi è così composto:
    connessione sicura al provider OpenID e autenticazione
    connessione sicura a youshop.com
    compilazione dati per creazione/modifica
    salvataggio dati presso database sito
    connessione sicura presso Amazon EC2 e autenticazione
    avvio del numero richiesto di macchine virtuali per l’applicazione

L’obiettivo O da raggiungere è la creazione o l’aggiornamento di un sito
di e-commerce da parte di uno shop-owner.


      3.2.2     Definizione del grafo di contesto per
           l’acquisto tramite youshop.com

Si definisce il grafo di contesto per il processo di acquisto di un bene da
parte di uno shop-customer presso un negozio ospitato su youshop.com:




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                            38




L’insieme E degli attori risulta essere:
    Shop-owner
    Browser
    youshop.com
    Provider OpenID
    youropenid.com (opzionale)
    youpay.com
    Paypal
    Wordpress (opzionale)
    Fogbugz (opzionale)

L’insieme P è definito come:
    Connessione sicura al provider OpenID e autenticazione
    Connessione sicura a youshop.com
    Checkout
    Connessione sicura a youpay.com
    Transazione tramite PayPal
    Salvataggio dati acquisto su database dell’e-commerce

L’obiettivo O da raggiungere è la vendita di un bene, da parte di un
venditore ad un compratore, garantendo che la transazione bancaria.

      3.3 Definizione formale di trust
La definizione formale del contesto C è propedeutica alla definizione del
trust. Esso, infatti, è un valore intero positivo della funzione t:

Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                                 39




Con                  , dove E rappresenta l’insieme delle entità.


      3.3.1   Trust tra shop-owner, shop-customer e
           PayPal
Un’interessante relazione di trust si ha tra i due attori principali, il
venditore e il compratore, e PayPal. PayPal è un servizio che si interpone
come garante in una transazione bancaria online tra le parti. Si ricorda
brevemente che le parti coinvolte nella transazione hanno fiducia in
PayPal, poiché probabilmente l’hanno già usato in altre occasioni (i.e.
eBay). La fiducia dello shop-customer si traduce nella garanzia di affidare
i dati della propria carta di credito in un sistema sicuro senza che essi
vengano intercettati da altri soggetti o che lo shop-owner ne venga
conoscenza. Contrariamente la fiducia che nutre lo shop-owner verso
PayPal deriva dal fatto che il pagamento venga realmente effettuato e
notificato in breve tempo.

Analogamente a quanto si ha con il protocollo di autenticazione OpenID
si ha una delega di fiducia, da youshop.com a PayPal, in quanto i
documenti sensibili, siano essi numeri di carta di credito o password di
autenticazione, non vengono mai scambiate tra le parti. È infine
opportuno sottolineare come le truffe o break-in possono comunque
verificarsi da entrambi le parti, poiché PayPal certifica e garantisce l’esito
della transazione, non il suo scopo.




      3.3.2       Trust autenticazione tramite OpenID

Una delle proprietà del trust che rende aumenta il grado di complessità
dell’analisi del sistema è la dinamicità. Si analizza ora come la dinamicità
sia un elemento fondamentale nel caso di autenticazione OpenID.


Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                               40


Si presuppone che l’utente che voglia autenticarsi presso i servizi di
youshop.com abbia già provveduto alla creazione del suo OpenID presso
il suo provider di fiducia. A differenza di un normale processo di
autenticazione, nel quale un client deve avere un grado di fiducia nel
server sufficiente ad affidargli la sua password, nel caso di di OpenID il
livello di trust richiesto è inferiore, poiché con OpenID la password
non è in possesso di youshop.com. Questo permette di abbassare il
livello di fiducia richiesto, poiché l’utente ha fiducia nel suo provider
OpenID. La situazione iniziale è la seguente:




Figura 3-1

Un livello di trust 8 è necessario tra utente e provider OpenID poiché la
password memorizzata presso di quest’ultimo è riusata per tutti i servizi
che sfruttano OpenID, quindi è particolarmente critica ed è
un’informazione vulnerabile. Per quanto riguarda il trust tra utente e
youshop.com è stato fissato a 2 poiché l’utente non deve affidare a
youshop.com informazioni critiche se non il suo identificativo OpenID. È
importante sottolineare come, in questa prima fase, sia il provider sia
youshop.com abbiano un livello di trust nullo nei confronti dell’utente
ancora da riconoscere.

Una volta che il client si è autenticato presso il proprio provider OpenID i
livelli di trust vengono modificati in modo da riflettere una maggiore
fiducia sia del provider sia di youshop.com nei confronti dell’utente.




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                   41




Figura 3-2




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                   42


     3.4 Grafo di contesto per il macroprocesso di
        creazione/aggiornamento




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                   43


     3.5 Grafo di contesto per il macroprocesso di
        pagamento




     3.6 Trusted Social Network


Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                               44


Definita la funziona di trust ed il grafo di contesto per i due obiettivi di
business si procede ora alla definizione della funzione di trust. Il
principio generale che viene usato è il seguente:

Un’entità e può affidare una risorsa r ad un’altra risorsa, f, se e solo se
alla risorsa r è associato un livello di trust minore o uguale a quello
definito sull’arco che unisce e a f.


      3.6.1    Trusted   social     network                    per       la
           creazione/modifica di e-commerce




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                                45


      3.6.2    Trusted social network per il pagamento
           tramite PayPal




      3.7 Grafi delle transazioni
Dopo aver analizzato le relazioni di trust risultati dalle entità coinvolte
nei processi cooperativi, si passa ora all’analisi delle transazioni.
Premesso che ogni entità svolge un insieme di operazioni interne ed
esterne, su altrettanti insiemi di risorse. Per risorse interna si definisce
una risorsa privata dell’entità, cioè che non viene mai coinvolta in altre
transazioni. Conseguentemente una risorsa è esterna se proviene da
un’altra entità.

Una transazione        è il passaggio di risorse tra l’entità A e l’entità B.
L’insieme di tutte le transazioni che consentono il raggiungimento
dell’obiettivo prefissato O è il grafo delle transazioni.


      3.7.1    Grafo   delle     transazioni  per                         la
           creazione/modifica di un e-commerce

Si definisce ora il grafo delle transazioni per il macroprocesso di
creazione e per la modifica di un sito di e-commerce. Vengono quindi
evidenziate le risorse coinvolte nelle transazioni:

    r1 è la coppia l’identificativo OpenID


Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                          46


   r2 è il token OpenID rilasciato dal provider e che può essere usato
    per accedere a tutti i servizi abilitati
   r3 sono i dati di creazione/modifica del sito
   r7 e r8 sono commenti, report e altre informazioni scambiate con i
    servizi di supporto di youshop.com

è importante notare come r1, ovvero la password di accesso ai servizi
youshop.com, viene scambiata solo ed esclusivamente con il provider
OpenID: una volta completamente l’autenticazione con successo viene
usata r2, ovvero il token rilasciato dal provider OpenID.




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                                 47


      3.7.1    Grafo delle transazioni per il pagamento
           tramite PayPal

L’obiettivo di vendita di un bene, perseguito dall’attore shop-owner
coinvolge delle transazioni bancarie tramite PayPal. Risulta quindi
particolarmente critica l’analisi delle risorse scambiate dagli attori e delle
organizzazioni coinvolte in questi importanti processi. Il processo di
delega, che è la primitiva su cui è costruito il protocollo OpenID, viene
ripreso da PayPal. Il token di autorizzazione viene scambiato al posto del
numero di conto corrente, identificata nella figura come r4, poiché l’arco
tra le due entità ha un livello di trust insufficiente per scambiare una
risorsa come il numero di conto corrente.




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                              48



       4 Awareness network

La rete di awareness, in italiano viene tradotto con consapevolezza, è uno
strumento che serve ad identificare, misurare ed analizzare la conoscenza
richiesta da ciascun attore all’interno dei processi collaborativi.


       4.1 Definizioni
La modellazione di una awareness network è una ridefinizione degli
attori e delle attività in termini di:
    Simple tasks
    Collaborative tasks
    Roles
    Role artifacts
    Tasks artifacts

       4.1.1     Simple tasks

L’insieme dei simple tasks rappresentano compiti, obiettivi e processi
da raggiungere con risorse chiamate role artifact.

       4.1.2     Collaborative tasks

Due simple tasks ed un task artifact formano un collaborative
task.




                                                              Collaborative
  Simple task         Simple task         Task artifact
                                                                   task




       4.1.3     Roles

Un role è una norma espressa in termini di doveri, privilegi e diritti.



Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                               49


      4.1.4      Roles artifact

Un roles artifact rappresenta la conoscenza relativa all’esecuzione di
un simple task.

      4.1.5      Tasks artifact
Rappresenta la conoscenza sulle actions associate ad un collaborative
task.

      4.2 Livelli di awareness richiesti
Questa misura, chiamata awareness viene espressa in valori discreti
nell’intervallo 0-4. Ad ogni livello corrisponde una diversa conoscenza
della rete, dal livello più basso L0, dove il nodo conosce solo se stesso
fino al livello L4, che definisce un nodo con conoscenza globale della rete.




                                                 L4
                         L1-3                    (max)

              L0
              (min)
    Livello 0: questo è il livello a minor conoscenza. Un nodo a livello
     di awareness pari a 0 è un nodo che conosce solo se stesso. In
     presenza di reti puramente gerarchiche (ovvero senza cicli) è utile
     per avere segretezza totale.
    Livello 1: un nodo a livello 1 conosce solo i nodi con cui è collegato
     direttamente.
    Livello 2: a questo livello un nodo ha la conoscenza dei nodi a lui
     direttamente collegati (livello 1) più tutti quelli collegati
     direttamente ai suoi vicini. A questo livello di conoscenza esso però
     non sa nulla degli oggetti che definiscono il collegamento.

Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                              50


   Livello 3: estende il livello 2, avendo conoscenza anche degli
    oggetti che definiscono il collegamento stesso.
   Livello 4: a questo livello un nodo ha la conoscenza globale della
    rete.

     4.3 Ruoli
     4.3.1       Tabella riassuntiva
Ruolo                             ID                   Awareness
youshop.com                       R1                   3
Shop-owner                        R2                   1
Shop-customer                     R3                   1
Operatore                         R4                   3
Amazon Elastic Server             R5                   4
PayPal                            R6                   1
youpay.com                        R7                   2
Provider OpenID                   R8                   1
YourOpenid.com                    R9                   0
Banca dati delle utenze           R10                  0
Banca dati negozi online          R11                  0
Server http                       R12                  1
Dispatcher http                   R13                  1
FogBugz                           R14                  2
wordpress.com                     R15                  1
browser                           R16                  1



     4.4 Livelli di conoscenza attuali
I livelli di consapevolezza richiesti per i singoli roles sono propedeutici
per la definizione del livello attuale di consapevolezza. Le entità dei
processi di creazione di un sito di ecommerce e di pagamento tramite
PayPal sono coincidenti con i roles e nella rete dovranno implementare e
richiedere i livelli di conoscenza richiesti.

     4.5 Normalizzazione Awareness
Per poter implementare la rete di consapevolezza occorre innanzitutto
normalizzarla. Tale processo è una trasformazione sul grafo che impone
ad ogni struttura, di cominciare e finire con un role.




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                            51



     5     Workflow

Un workflow è una visita del grafo delle transizioni, che prende in
considerazione la sequenza temporale di interazioni.

Si definisce un workflow safe quando:
    Il livello di trust è definito su ogni transazione del processo
    Per ogni transazione, ogni risorsa condivisa, rispetta il livello di
      trust definito dal grafo di contesto

Un workflow è unsafe quando:
   Esiste almeno una transazione per cui non è definito il livello di
    trust (quindi è al di fuori del cooperation agreement)
   Esiste almeno una transazione in cui almeno una risorsa non
    rispetta il livello di trust
   Esiste almeno una risorsa non coinvolta direttamente in una
    transazione hanno un livello di trust più alto dell’entità che la
    contiene




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                             52



     6 Monitoraggio e verifiche


     6.1.1       Registration Server

La registrazione, eseguita una tantum al deploy di una nuova macchina
virtuale sulla piattaforma Amazon EC2, ha lo scopo di informare il
registration server di un nuovo agente di monitoraggio. Essa viene
eseguita una tantum, al primo avvio della macchina virtuale.


     6.1.2       Documentation Server

Il documentation server (DS) ha la funzione di registrare tutti gli eventi
interessanti che vengono generati dal sistema o in reazione a qualche
stimolo esterno. Gli agenti di monitoraggio salvano gli eventi per i quali
sono stati programmati sul documentation server.

Ai fini della sicurezza il documentation server deve accettare connessioni
solo dalla subnet degli agenti di monitoraggio.

     6.1.3       Alarm Server

L’alarm server è un servizio che, periodicamente, monitora i dati presenti
nel Registration Server e nel Documentation Server allo scopo di
evidenziare possibili situazioni anomale o rischiose, che richiedono
l’attenzione di un operatore.




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                               53




              Alarm Server
     Registration                       Documentation
       Server                               server

        Database                              Database

L’alarm server ha un motore di regole che permette di calibrarlo ed
adattarlo a pattern che possono variare nel tempo. Dal punto di vista
teorico potrebbe essere un automa a stati finiti che esegue pattern
matching su dei dati al fine di cercare particolari configurazioni. Da
quello pratico, invece, si tratta di un rule engine capace di interrogare
un server SQL (i.e. il documentation server), estrarre informazioni e di
confrontarle con il suo repository. Se viene “visto” un certo pattern allora
l’alarm server emette un allarme. Un allarme non è necessariamente un
errore o una segnalazione di attacco ma semplicemente un qualcosa che
necessita dell’attenzione di un operatore umano.

Le modalità di dispatching degli allarmi possono essere diverse,
simultaneamente. Ad esempio un allarme ad eleveata priorità potrebbe
essere spedito sia via mail sia via sms ad un operatore:




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                              54




                              SMS

         Email                                  Trigger

                             Operatore



Un banale esempio di regola, presa dalla sezione che descrive il
documentation server, potrebbe essere:

Ogni connessione in entrata sul documentation server deve provenire
da uno degli agenti di monitoraggio.

In realtà la regola appena definita non è del tutto banale in quanto è una
regola di self-checking dello stato del sistema.

       6.1.4      Monitoraggio

Il monitoraggio consiste nella raccolta dei dati durante i vari task. Gli
agenti software, posti in punti strategici del sistema, raccolgono dati
relativi ai vari task condotti dal sistema e allo stato di funzionamento
delle sue componenti. I dati raccolti sono catalogabili secondo le seguenti
caratterizzazioni:

  1.   Stato di funzionamento (è attivo? Sta funzionando correttamente?)
  2.   Stato della rete
  3.   Stato dell’hardware
  4.   Stato del file system

I dati raccolti sono resi persistenti dal Documentation Server (DS), e
analizzati in modo ciclico dall’Alarm Server (AS). Quest’ultimo servizio è
quindi in grado di mettere in relazione i dati e di interfacciarsi con i
sistemi di gestione, creando report sul loro stato di funzionamento.



Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                               55




                                DS


                                AS
Gli agenti di monitoraggio raccolgono i dati inerenti a 4 differenti aspetti
del sistema:

      Informazioni su se stessi
      Informazioni sul tratto di rete in cui sono collocati
      Informazioni sull’host che stanno monitorando
      Informazioni sullo stato del file system


          •HTTP                                    •Binari/Librerie
          •TCP                                      di sistema
          •ICMP                                    •Dati



                                          File
                             Rete
                                         System




                             AM        Hardware

          •self monitoring                         •indirizzi IP
                                                   •MAC
                                                   •componenti




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                               56


Tute le attività sono a sola lettura, ovvero l’osservazione, non altera il
flusso di dati. La natura altamente distribuita dell’infrastruttura
informatica di youshop.com obbliga a considerare particolari
accorgimenti per il monitoraggio delle comunicazioni. In particolare,
tutti i servizi esterni come ad esempio il blog o fogbugz sono tenuti dietro
un proxy http. Lo scopo del proxy è quello di monitorare il traffico e
quindi di tenere un agente di monitoraggio.

                                                Proxy
                                                HTTP
                                                AM

                                                Servizio




Per meglio spiegare questa strategia si consideri il caso del blog tenuto su
wordpress.com. Modificando il campo CNAME (canonical name) del
DNS di youshop.com si può far puntare blog.youshop.com a
youshop.wordpress.com (l’URL originale presso la quale è raggiungibile
il sito). Ma così facendo non si potrebbe installare un agente di
monitoraggio. La soluzione è quindi quella di re direzionare il campo
CNAME blog.youshop.com ad un forwarding proxy che ha l’unico scopo
di permettere ad un agente di monitoraggio di catturare il traffico diretto
verso http://blog.wordpress.com.


      6.1.5      Monitoraggio della rete

Per un sistema altamente distribuito e concorrente come quello di
youshop.com, è fondamentale monitorare la comunicazione su rete delle
componenti, anche di terze parti, che costituiscono il sistema
informativo. Diventa dunque cruciale raccogliere, memorizzare ed
analizzare dei dati significativi riguardo le comunicazioni da, verso e
attraverso (per gli adapter) tutti i componenti della rete.


Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                              57



A tale scopo è indispensabile collocare gli Agenti di Monitoraggio (AM) in
corrispondenza dei segmenti di rete su cui transitano i dati, errori di
collocamento non solo documentano una ristretta parte del sistema,
minando la fiducia sui dati raccolti, ma potrebbero anche danneggiare il
corretto funzionamento del sistema. Per evitare problemi di
manipolazioni tutte le attività di sniffing devono essere passive e non
promiscue.

Il Documentation Server memorizza le informazioni raccolte in tabelle,
che poi verranno messe in relazione dall’Alarm Server. In questo modo si
dividono le responsabilità tra l’AS e il DS: il primo contiene la logica
applicativa di detecting mentre il secondo contiene solo i dati, che
attendono di essere trasformate in informazioni. La seguente figura
mostra, a partire dal protocollo di rete di più basso livello (ICMP) a
quello di più alto livello (OpenID).




                                       OpenID

                                    HTTP/SSL

                                     TCP/UDP

                                         ICMP


Ai fini di gestione del contenzioso, i dati delle connessioni http e https
sono quelli critici, poiché tutti i servizi youshop.com sono erogati on-top
di questi due protocolli.


     6.1.6       Verifiche




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                              58


La certificazione di un sistema informativo cooperativo è l’attività con la
quale si verifica che il sistema rispetti le specifiche sul quale è stato
creato. Tale processo è composto da 3 task:

  1. Verifica della correttezza dei prerequisiti e degli output attesi
  2. Verifica della qualità del servizio, ovvero l’insieme dei requisiti
     funzionali e non che caratterizzano il comportamento complessivo
     del sistema cooperativo.
  3. Verificare la sicurezza




             1                 Prerequisiti
                                                       Output
                                                        attesi




             2                  Qualità del
                                 Servizio




             3                   Sicurezza




     6.1.7       Verifica pre-requisiti e output attesi
La prima verifica è stata già analizzata parzialmente per la parte di
specifica dei task nel workflow. Per una verifica sistematica dei pre-
requisiti e degli output attesi si deve testare il sistema per componenti
(unit testing e integration testing), andando a sostituire le dipendenze
reali, quali un db o un web service, con stub o mock.

Questa strategia di testing è molto semplice da attuare e ha il grosso
vantaggio che si possono creare oggetti finti, che simulano condizioni di
errore con le quali testare il comportamento del sistema sotto condizioni
eccezionali di funzionamento.

Ad esempio si può verificare che quando il database non è raggiungibile
nella homepage del negozio corrispondente appaia uno specifico
messaggio di errore.


Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                                   59




      6.1.8       Qualità del Servizio

Il QoS, ovvero la Quality of Service, è una verifica atta a stabilire il livello
di funzionamento del sistema nel suo complesso. Tale verifica tocca sia
requisiti funzionali sia requisiti non funzionali, quali scalabilità, velocità
media di risposta, etc. Inoltre questa verifica può essere fatta sia nel
sistema mentre è in funzione sia con lo storico dei dati, memorizzati nel
documentation server.

Ad esempio si potrebbe verifica che il tasso di errore per un certo tipo di
richiesta, ad esempio il task di creazione di una macchina virtuale su
Amazon EC2, sia sotto una certa soglia.


      6.1.9       Security

Questa fase di certificazione si incarica di verificare che la robustezza del
sistema sotto diversi aspetti, quali:

   1. Confidenziabilità delle comunicazioni: una comunicazione tra A
      e B non deve essere ascoltata da nessuno che non sia stato
      autorizzato.
   2. Garanzie di integrità: si deve garantire.
   3. Autenticazione delle parti, questo punto è legato al precedente.
   4. Disponibilità del servizio.
   5. Non ripudialibilità.

Attraverso il monitoraggio H24 dei task svolti, dei servizi erogati e degli
host che compongono il sistema informativo si aumentano i livelli di
sicurezza. Ovviamente livelli di sicurezza del 100% sono pura utopia ma è
bene comunque mantenere standard qualitativi alti.




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                               60



      7 Appendice A: Sicurezza OpenID
In questa breve sezione si faranno considerazioni specifiche e tecniche
sulle tematiche di sicurezza legata a OpenID.

      7.1 Normalizzazione URL
Il processo di normalizzazione dell'URL serve a trasformare un
identifier in una URL.

Non-normalizzato            Normalizzato                Descrizione
                                                        Una URI senza
                                                        protocollo      è
example.com                 http://example.com/         normalizzato
                                                        aggiungendo
                                                        http:// davanti
                                                        Un componente di
                                                        path vuoto viene
http://example.com          http://example.com/
                                                        normalizzato  in
                                                        uno /
                                                        Una URI https
https://example.com/        https://example.com/
                                                        rimane https
                                                Se il componente
                                                di path è presente
http://example.com/user http://example.com/user non          viene
                                                aggiunto    lo   /
                                                finale
                                                  Lo / finale viene
                                                  preservato se il
http://example.com/user/ http://example.com/user/
                                                  componente      è
                                                  presente
                                                        Anche se non è
http://example.com/         http://example.com/
                                                        presente

      7.1 Guessing
In alcuni casi è facile indovinare l'Id. Ad esempio Google è stata criticata
in passato per aver dato ID come indirizzi mail. Indovinare l'Id di una
persona diventa molto più facile e quindi aumenta il rischio di vedersi
compromesso il proprio account.

Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                                 61


      7.2 Phishing
Il phishing è un tipo di attacco informatico nel quale l'attaccante finge di
essere un sito web usato normalmente dall'utente, gli chiede di effettuare
il login ed in questo modo entra in possesso dei suoi dati (generalmente
username e password). Ovviamente per il phisher deve convincere l'end-
user a visitare un sito che sia la copia più o meno identica di un sito reale,
nel quale l'end-user abbia realmente avete un account.

Questo tipo di attacco è reso particolarmente insidioso laddove ci sia un
mezzo di autenticazione tramite OpenID, un username e una password;
ad esempio: il phisher vuole accedere al vostro account su
yourprovider.com, dove è possibile accedere tramite OpenID il phisher
mette in piedi fakeprovider.com, dove si può effettuare login con
OpenID, e vi invita a farlo. Ora tenendo a mente che quando effettuate un
login con OpenID è il sito stesso che vi reindirizza verso il vostro
Relaying Party: utile.com scopre che avete un account su
youropenid.com, e vi reindirizza su falso-youropenid.com, presentandovi
una schermata che è identica a quella del vero sito a questo punto voi
inserite i dati e il gioco è fatto. Questo può sembrare un problema
specifico di OpenID e molti ne hanno già parlato ma la situazione non è
così drammatica. OpenID non impone il sistema di autenticazione (sia
quella debole, con coppia login:password che quella forte), per cui non è
"colpa sua" se esiste un (già riconosciuto) problema in questi sistemi di
login.

Alcuni provider OpenID offrono un meccanismo antiphishing simile a
quello che adotta Yahoo!. Il meccanismo è molto semplice; come essere
sicuri che il sito a cui si accede sia quello che conosciamo? Si fa in modo
che il sito ci dica una cosa che noi gli abbiamo già detto e che solo noi,
presumibilmente, conosciamo. Nel caso di Yahoo! si tratta di una piccola
immagine composta da tre parole e da uno sfondo colorato, ma può
trattarsi di un'immagine o quant'altro. IdProxy, un servizio che permette
di effettuare login su siti OpenID utilizzando i dati di un account Yahoo!,
e una volta effettuato il login mostra all'utente un mostriciattolo da lui
scelto in precedenza. Se non è presente, l'utente può correre ai ripari
andando sul vero sito ed aggiornando i propri dati. Anche MyOpenid ha
lanciato un paio di mesi fa un sistema analogo, quindi le speranze per un
futuro più sicuro ci sono tutte.

      7.3 Man in the middle
Alcuni provider OpenID offrono un meccanismo antiphishing simile a
quello che adotta Yahoo!. Il meccanismo è molto semplice; come essere

Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                              62


sicuri che il sito a cui si accede sia quello che conosciamo? Si fa in modo
che il sito ci dica una cosa che noi gli abbiamo già detto e che solo noi,
presumibilmente, conosciamo. Nel caso di Yahoo! si tratta di una piccola
immagine composta da tre parole e da uno sfondo colorato, ma può
trattarsi di un'immagine o quant'altro. IdProxy, un servizio che permette
di effettuare login su siti OpenID utilizzando i dati di un account Yahoo!,
e una volta effettuato il login mostra all'utente un mostriciattolo da lui
scelto in precedenza. Se non è presente, l'utente può correre ai ripari
andando sul vero sito ed aggiornando i propri dati.




Sicurezza informatica e cooperazione: caso di studio youshop.com
                                                                   63



     8 Bibliografia
There are no sources in the current document.




Sicurezza informatica e cooperazione: caso di studio youshop.com

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:6
posted:3/8/2012
language:Latin
pages:63