|
|
|
Il servizio WWW (World Wide Web) nasce intorno agli anni '90 con il preciso scopo di rendere disponibile a tutti le risorse di Internet, che fino ad allora non erano raggiungibili se non da pochi. Per cui il WWW nasce per indicizzare e organizzare le informazioni su Internet.
|
|
|
Il WWW è affiancato da protocolli, quali HTTP, da linguaggi come HTML, che stabiliscono una serie di regole per progettare e gestire le risorse di Internet.
|
|
|
Il WWW, al momento in cui si presenta, affianca
servizi quali il telnet, accesso remoto, sistemi di " retrieve " di
informazioni come FTP, oppure più orientati alla comunicazione
interprofessionale, come le news o l'e-mail.
I primi servizi che progettavano una indicizzazione
delle risorse disponibili su Internet e che oggi sono molto meno rappresentativi
sono: il servizio gopher, che permetteva di organizzare alcune risorse sotto
forma di menù navigabili, ed il servizio wais, che permetteva di restituire
informazioni prelevate da data base, indicizzando tutti i documenti scaricabili
su Internet.
|
|
|
Il servizio web nasce con l'obbiettivo di gestire dati.
Abbiamo due aspeti importanti; il primo di questi è la possibilità
di scrivere documenti di testo, attraverso un linguaggio di programmazione, che possono
essere letti da chiunque.
Il secondo consiste, invece, nell'utilizzo di puntatori, che sono poi i collegamenti
ipertestuali dell'HTML e che consentono di accedere a risorse che sono posizionate
anche in punti diversi rispetto a dove si trova colui che le vuole sfruttare.
|
|
|
Il modello su cui si basa il servizio web è
il modello client - server. Dal lato client troviamo il browser.
Il nostro browser ( Netscape navigator, Internet Explorer, ecc. ) è
in grado, non solo di visualizzare le informazioni prelevate da un server,
ma è anche in grado di farci accedere ad altre informazioni contenute
nella pagina visualizzata, eseguire pezzi di codice che mirano a completare
o migliorare la qualità dell'informazione visiva ricevuta. I pezzi di codice
sono di due tipi :
· pezzi di codice client - side script, fra questi
troviamo il JavaScript, il Vbscript e soluzioni analoghe
· pezzi di codice detti AppletJava, che vengono
eseguiti da un modulo aggiuntivo del browser detto "Java virtual machine ( JVM ) ".
|
|
|
Il nostro server web non si comporta soltanto come un elemento
che preleva files dalla directory locale, ma spesso e volentieri
come un gateway verso applicazioni esterne, che sono risorse che possono appartenere
ad una stessa macchina o a macchine diverse.
Il server web e tutte le componenti coinvolte devono
essere protetti, perchè sono utilizzati per scopi commerciali, per cui
si ha bisogno di un servizio che sia sicuro per il fine per cui è nato.
A questo scopo ci sono delle risorse che devono essere
individuate e protette. Le risorse da proteggere sono gli elementi che costituiscono
il server web. Dobbiamo assicurarci che il server web possa funzionare continuamente,
potendo così fornire un accesso alle risorse informative. Un mancato funzionamento
può essere dannoso per aziende che fanno di questo servizio un veicolo commerciale.
|
|
|
Un eventuale attacco a questo servizio viene denominato
Deny of service , che consiste non tanto nel modificare o distruggere i dati,
quanto nel rendere non disponibile il servizio ad una risposta.
Oltre questo, è necessario far sì che i dati
non siano accessibili ad utenti non autorizzati, per evitare attacchi, e sapere
a chi tali dati vengono eventualmente distribuiti ; infatti è possibile che,
nel server, i dati siano suddivisi in modo che esista una parte di questi che
può essere distribuita solo a certi client, con dietro un limitato numero
di persone fidate, e questo va sempre previsto nell'ambito di un discorso sicurezza.
Si rende necessario, poi, assicurarsi che le informazioni non
subiscano modifiche nella fase di transito in rete e qui entra in gioco
la crittografia.
Uno dei metodi per poter entrare in un sistema
( che sia il nostro o quello di chiunque altro ) è di far leva sui
punti deboli del codice che realizza il browser stesso.
Problemi di questo tipo si sono verificati in seguito
ad errori di programmazione in browser come Netscape versione 2.0, in cui
il meccanismo di autenticazione, che si basava sulla generazione di numeri
casuali, partiva da una generazione che non era perfettamente random, bensì
pseudorandom per cui facilmente prevedibile. Così un attaccante era in grado
di interpretare il ruolo del browser ; questo si chiama " mistificazione
dell'identità centrale ", in cui qualcuno si sostituisce facilmente
al legittimo proprietario.
In questo modo questi attaccanti erano in grado
di prelevare informazioni dalla macchina ospite e pezzi di codice dalla
sua JVM ( Java Virtual Machine ). Stessa cosa si poteva fare con le FORM
e l'HTTP post. Nelle successive versioni si dice che tale problema
sia stato risolto.
Nel caso di Internet Explorer si usa il VBscript
ed in questo è presente la VBM ( Visual Basic Machine ), il browser
risulta così attaccabile con macro virus, quali ad esempio " I love you ",
di cui si è tanto parlato, e può essere attaccato al fine
di distruggere i dati della macchina o per la sua messa fuori gioco.
Entra in gioco il contributo della web security ,
che non è quello di prevedere problemi di vulnerabilità della
macchina su cui, oltre alla finestra sul web, girano altre applicazioni
come telnet, FTP e così via.
La miglior cosa è quella di non far funzionare
continuamente tutte le applicazioni, ma solo quelle che al momento devono
essere utilizzate o risultano veramente importanti.
Per la web security non è importante il modo con cui un attacco viene portato,
bensì come realizzare scambi di dati in rete in modo sicuro.