Estratto del documento

SICUREZZA DEI SISTEMI WEB E

MOBILI

Prof.ssa BRAGHIN CHIARA Foglia Fabrizio

A.A. 2018/2019

INDICE

1. Introduzione al corso e alla Sicurezza Informatica – 2

a. Sicurezza Informatica – 2

2. Sicurezza Informatica: che cosa, da chi e da cosa proteggere – 4

a. Da chi proteggersi – 5

b. Da cosa proteggersi – 5

3. Controllo degli accessi e autenticazione – 6

a. La sicurezza informatica non è … – 6

b. Come proteggersi: progettazione della sicurezza – 6

c. Politiche per il controllo degli accessi – 8

4. Autenticazione uomo-macchina – 9

a. Autorizzazione e controllo degli accessi – 9

b. Come memorizzare le politiche per il controllo degli accessi – 9

c. Autenticazione uomo – macchina – 10

d. Autenticazione basata sulla conoscenza – 10

5. Autenticazione uomo – macchina (parte 2) – 12

a. Autenticazione basata sul possesso – 12

b. Autenticazione basata su una caratteristica biometrica – 13

6. Autenticazione (parte 2) – 15

a. Autenticazione in sistemi distribuiti? – 15

b. Protocolli challenge – response – 17

7. Autenticazione (parte 3) e Sicurezza dei sistemi Web (parte 1) – 18

a. Sicurezza dei Sistemi Web – 20

8. Sicurezza dei Sistemi Web (parte 2) – 21

a. Il protocollo HTTP – 22

9. Sicurezza dei Sistemi Web (parte 3) e Il protocollo HTTP: i cookie – 24

a. Cookie: funzionamento e vulnerabilità – 25

10. Sicurezza dei Sistemi Web (parte 4), Profilazione online e Privacy – 26

a. Privacy – 27

b. Profilazione Online – 27

11. Sicurezza dei Sistemi Web (parte 5), Profilazione online e Privacy – 28

a. Online Privacy: Tecniche di tracciamento e profilazione – 28

b. Online Privacy: contromisure – 29

c. Cookie, Privacy e diritto: quanto siamo tutelati – 29

12. Sicurezza dei Sistemi Web (parte 6): SQL Injection – 30

a. SQL Injection – 30

13. Sicurezza dei Sistemi Web (parte 7): Sicurezza della posta Elettronica – 32

a. Sicurezza della posta Elettronica – 32

14. Sicurezza dei Sistemi Web (parte 8): Attacchi XSS – 34

a. Sicurezza a lato client – 35

b. XSS – Cross Site Scripting – 35

15. Sicurezza dei Sistemi Web (parte 9) – 36

16. Sicurezza dei Sistemi Web (parte 10) – 37

17. Sicurezza dei Sistemi Web (parte 11): il Single Sign On – 38

a. Autenticazione e Single Sign On – 38

18. Single Sign On e Sicurezza dei Sistemi Mobili (parte 1) – 42

a. SAML e Single Sign On – 42

b. Sicurezza dei Sistemi Mobili – 43

c. Apple iOS – 43

19. Sicurezza dei Sistemi Mobili (parte 2) – 45

a. Android – 45

20. Sicurezza dei Sistemi Mobili (parte 3) – 46

a. Malware – 46 1

1. Introduzione al corso e alla Sicurezza Informatica

Gli obiettivi del corso di Sicurezza dei Sistemi Web e Mobile sono conoscere al meglio le problematiche di sicurezza esistenti dei

sistemi informatici.

Per far ciò, bisogna partire chiedendosi “cos’è la Sicurezza informatica??” per poi analizzare le varie problematiche di sicurezza

relative ai sistemi Web e mobili.

Programma del corso:

• Teoria

o Introduzione al problema della sicurezza informatica: da chi, da cosa e come proteggersi

o Controllo degli accessi: Autorizzazione, Identificazione e Autenticazione

o Comunicazione sicura lungo un canale insicuro

o Sicurezza nei sistemi Web:

▪ HTTP: funzionamento e problemi di sicurezza

▪ Online privacy e profilazione utenti: tecniche e contromisure

▪ Code Injection:

• SQL Injection

• XSS: Cross Site Scripting

▪ Sicurezza della posta elettronica

• Phishing, scamming, spamming

o Sicurezza nei sistemi Mobili:

▪ Malware

▪ Vulnerabilità e attacchi comuni nei dispositivi mobili

▪ Problemi dei protocolli di comunicazione

• Pratica

o Controllo degli accessi in Linux/Unix

o Configurazione di un web server Apache

o SQL Injection

o XSS

o Uso dei cookie, profilazione utenti

a. Sicurezza Informatica?

Per iniziare a raggiungere gli obiettivi del corso bisogna cercare di rispondere alle seguenti domande:

• Cosa si intende per sicurezza informatica?

• Quali sono i (nuovi) pericoli che affliggono i sistemi digitali?

• Perché ci deve interessare la sicurezza informatica?

Il 13 settembre 2017, il presidente della commissione Junker ha affermato: “La cybersecurity è la seconda emergenza in Europa,

dopo il cambiamento climatico e prima dell’immigrazione”.

Questo ci fa capire che l’importanza di questo argomento, ma cosa deve proteggere la cybersecurity?

Ad esempio, il furto di laptop, smartphone, navigatori GPS per cui si ha perdita fisica del dispositivo e la perdita dei dati.

Molto tempo fa (quando ancora non esisteva il Web) bastava mettere in sicurezza il proprio PC in un luogo sicuro o con una

password forte.

Con l’avvento del Web, non bastano più le misure di sicurezza precedenti, perché il PC ora avrà delle connessioni dirette che

fisicamente non si possono proteggere.

Infatti, una problematica di Sicurezza Informatica è questa:

Essendo internet un canale insicuro (ovvero che chiunque può

connettersi ad Internet) Alice e Bob (che possono essere

persone o Web Server) possono comunicare in modo sicuro?

Ovvero possono comunicare:

• Senza che nessuno legga i loro messaggi

(comunicazione privata)

• Senza che nessuno modifichi i loro messaggi

• Con la certezza di parlare proprio tra loro (autenticazione)

2

Un’ altra problematica di Sicurezza Informatica è quella per cui un servizio online deve essere sempre available ovvero disponibile.

Nel caso in cui un servizio online subisca un attacco, deve essere sempre in grado di rilevarlo e gestirlo.

Questo significa che un sistema è sicuro quando riesce a gestire attacchi e garantire il servizio sempre.

Quando si mette in sicurezza un sistema, bisogna sempre pensare al Worst Case (ovvero al peggior caso).

Non bisogna pensare che uno scenario non sia possibile ma, al contrario, bisogna prendere in considerazione qualsiasi forma di

scenario possibile.

Infatti, se si è a conoscenza di essere in una zona ad alto rischio (ad esempio una zona sismica) bisogna pensare di avere un backup

dei dati in una zona sicura per poter recuperare i dati in caso di perdita.

Un altro scenario comune nell’ambito della Sicurezza Informatica è il phishing, ovvero gli attacchi nei quali le persone ignare

“abboccano” subendo così un attacco informatico.

Un esempio è l’attacco Ransomware, il quale prende in ostaggio tutti i tuoi dati e ti obbliga a pagare un riscatto per riaverli.

Se fossero dati importanti (e non si ha un back-up) la vittima si vede obbligata a pagare.

Oltre alla sicurezza nella perdita dei propri dati, un altro aspetto importante riguarda la privacy: infatti, sembra non esserci molta

privacy nel mondo digitale (alcuni siti conoscono le mie abitudini).

A riguardo esiste il GDPR – General Data Protection Regolation, ovvero una legge che cerca di formalizzare e specificare cosa sia

lecito o cosa sia un dato sensibile.

Ma perché sono così importanti i nostri dati sensibili?

Se pensiamo ai servizi di Social Network, ci offrono un servizio gratuito ma si sostengono tramite la pubblicità.

Infatti, la pubblicità che ci viene mostrata viene personalizzata analizzando le abitudini dell’utente.

In generale, possiamo distinguere diversi obiettivi degli attacchi informatici:

• Hardware: distruzione e/o furto di apparecchiature

• Software: sottrazione o modifiche del software

• Dati: cancellazione, lettura e/o modifica di dati non autorizzate

Alcuni esempi possono essere:

• Frodi

• Furto di proprietà intellettuale

• Furto di identità

• Furto di marchi registrati

• Furto di database

• Sorveglianza e spionaggio

A questo punto possiamo dare una definizione informale di Sicurezza Informatica: in generale, quando si parla di sicurezza si pensa

ad una assenza di rischio o pericolo, mentre quando si parla di informatica si pensa alla disciplina che si occupa dell’elaborazione

automatica, memorizzazione e trasmissione di informazioni.

Quindi, la Sicurezza Informatica possiamo dire che riguarda la prevenzione o protezione contro accesso, distruzione o alterazione

di risorse/informazioni da parte di utenti non autorizzati.

Se vogliamo dare una definizione più precisa di Sicurezza Informatica bisogna dire che è l’abilità di un sistema di proteggere

informazioni e risorse rispetto alle nozioni di CIA:

• Confidentiality – Confidenzialità

• Integrity – Integrità

• Availability – Disponibilità

Questi sono i mattoncini alla base della Sicurezza Informatica. 3

2. Sicurezza Informatica: che cosa, da chi e da cosa proteggere

Abbiamo detto che i dati digitali sono una parte essenziale nella Sicurezza Informatica e deve proteggerli nell’infrastruttura

(cyberspace) fatta di Internet come canale di comunicazione.

Infatti, mettere in sicurezza un sistema informatico equivale alla messa in sicurezza dei dati in un mondo in cui siamo sempre

connessi tramite Internet.

Infatti, internet permette di comunicare tra persone che non si conoscono e di far interagire dispositivi diversi.

Il cyberspace è un sistema molto complesso ed eterogeneo.

Abbiamo dato una definizione di Sicurezza Informatica in termini di proprietà di sicurezza (CIA) ma cosa significano in particolare?

La confidenzialità significa assicurare che le informazioni non siano accessibili ad utenti non autorizzati.

Ma come faccio a stabilire se una persona è autorizzata o no?

Questo è un aspetto che riguarderà l’autenticazione.

Questo aspetto è importante se i dati che non devono essere accessibili sono informazioni personali dell’utente e quindi si parla di

privatezza (privacy).

La privacy deve assicurare che gli utenti possano controllare quali informazioni su di loro vengano raccolte, chi le usi e per quale

scopo, chi le mantenga.

Nel mondo reale, spesso si ricorre all’uso dell’anonimato per far sì che non sia possibile risalire all’autore dei dati o di un azione.

Questo è difficile da garantire nel mondo digitale.

Un’altra proprietà di sicurezza è l’integrità, ovvero assicurare che le informazioni non siano alterabili da utenti non autorizzati.

Rilevare un attacco all’integrità significa essere in grado di rilevare eventuali modifiche non autorizzate.

Infatti, la mancanza di integrità è spesso sinonimo di falsificazione.

La disponibilità, invece, significa assicurare che le informazioni siano disponibili agli utenti autorizzati, ovvero assicurare che un

sistema sia operativo e funzionante in ogni momento.

Queste tre proprietà spesso sono in conflitto.

Un esempio sono la confidenzialità e la disponibilità: se non permetto a

nessuno di leggere una informazione, ho confidenzialità ma non

disponibilità.

Quando si mette in sicurezza un sistema, bisogna selezionare in modo

corretto le tre proprietà che voglio utilizzare basandosi su quali risorse

sono da proteggere e da chi.

In questo modo, per proteggere un sistema definisco una politica.

Oltre a queste tre proprietà, esistono altre proprietà di sicurezza:

• Autenticazione – authentication:

o assicurare che i soggetti siano effettivamente chi affermano di essere

o assicurare che un messaggio provenga effettivamente dal mittente

• Non ripudio – non repudiation:

o Assicurare che il mittente di un messaggio non possa negare il fatto di aver spedito il messaggio e che il

destinatario non possa negare di averlo ricevuto

• Safety – Gestione eccezioni:

o Fare accorgimenti atti ad eliminare la produzione di danni irreparabili all’interno di un sistema

• Reliability – affidabilità:

o Prevenzione da eventi che possono produrre danni di qualsiasi gravità al sistema.

Ma allora, esiste un sistema che sia al 100% sicuro?

Assolutamente no: ci possono essere errori umani nel software e comunque “la sicurezza non è un prodotto, ma un processo”,

ovvero che non è un concetto assoluto, quindi può funzionare per un contesto mentre per un altro no.

La sicurezza è una catena e la sua resistenza è determinata dall’anello più debole.

Quindi è essenziale chiarire:

• Cosa proteggere

• Da chi proteggere

• Come proteggere

• Come prevenire

• Come comportarsi in caso di attacco

• Come riconoscere un attacco 4

a. Da chi proteggersi?

I possibili attaccanti sono:

• Errori umani non voluti

• Hacker in cerca di sfide

• Impiegati o clienti in cerca di vendetta

• Piccoli criminali

• Crimine organizzato

• Gruppi terroristici

• Agenti di spionaggio

Obiettivi dell’attacco possono essere:

• Virus contagiosi

• Sfregio di pagine web

• Furto di numero di carte di credito

• Truffe on-line

• Furto di proprietà intellettuali

• Cancellazione di dati

• Denial of Service (DoS)

• Lettura di file privati

Quando si parla di attaccanti bisogna fare una distinzione:

• Hacker: persone esperta di sistemi informatici in grado di introdursi in rete protette o di acquisire una conoscenza del

sistema sul quale interviene, per poi essere in grado di accedervi o adattarlo alle proprie esigenze

• Cracker: hacker con fini illeciti

• Script kiddie: utente con poca o nessuna cultura informatica che utilizzare malware creati da altri.

b. Da cosa proteggersi?

La protezione deve riguardare:

• Vulnerabilità: debolezza del sistema che potrebbe permettere violazioni alla sicurezza e causare danni.

Alcune caratteristiche intrinseche dei sistemi rendono possibili gli attacchi.

Un esempio, è l’uso di Internet, oppure l’omogeneità dei sistemi operativi per cui alcuni sono più diffusi di altri, e quindi,

un attacco a quel sistema richiede minore sforza a superficie più estesa.

Un altro esempio, è il costo della sicurezza: infatti, la gente vuole sicurezza, ma non vogliono pagare per averla.

• Minaccia: circostanza o evento che potrebbe causare violazioni alla sicurezza

In questo mondo automizzato, sono nate nel tempo nuove minacce dal momento che con l’automazione è molto più

veloce decifrare i dati e compiere attacchi.

Infatti grazie all’automazione i microfurti possono diventare una fortuna oppure permette di trarre profitto anche da

attacchi con probabilità di successo minima (SPAM, phishing).

Nel mondo digitale, una minaccia è anche la mancanza di una distanza fisica che rende esposte tutte le persone collegate.

Inoltre, grazie alla rete, le tecniche per compiere un attacco si diffondono molto rapidamente, e quindi, diventare hacker

non richiede grandi abilità.

• Attacco: evento che sfrutta una vulnerabilità del sistema per violarne la sicurezza

Esistono due tipologie di attacco:

o Non dolosi: non esiste una volontà esplicita (Disastri naturali, errori umani, …)

o Dolosi: utenti illegittimi o legittimi che abusano delle proprie autorizzazioni (Sabotaggio, falsificazione, …)

5

3. Controllo degli accessi e autenticazione

Abbiamo dato una definizione informale di Sicurezza Informatica (prevenzione o protezione contro accesso, distruzione o

alterazione di risorse/informazioni da parte di utenti non autorizzati) e una definizione formale (garantire le proprietà di sicurezza

CIA) ma son sufficienti?

a. La sicurezza informatica non è …

La sicurezza informatica non è:

• Crittografia: può non essere sufficiente essendo internet un canale insicuro

• Password: è un sistema molto debole perché spesso si sbaglia l’uso.

Ad esempio, capita che si scrivono le password su un foglio che può essere rubato.

Anche il sistema può essere un problema: come memorizza la nostra password?

• Firewall: non basta mettere un computer tra rete esterna ed interna che filtra tutto ciò che passa

La sicurezza è una proprietà di vari livelli architetturali (Sistema Operativo, rete, applicazione, …) ed è costosa nel senso di risorse

computazionali.

Spesso, richiederebbe il ridisegno di un sistema preesistente, che non è sempre possibile.

b. Come proteggersi: progettazione della sicurezza

Spesso non è sufficiente garantire le proprietà di sicurezza CIA.

Prima di mettere in sicurezza un sistema, bisogna conoscerlo, capire quali proprietà voglio garantire e come garantirle e da qui

iniziare la progettazione che si divide in diverse fasi:

• Prevenzione: guardo il mio sistema e stabilisco quali proprietà garantire

• Rilevamento: rilevare se una proprietà non è garantita

• Reazione: in caso si subisca un attacco, rilevarlo in tempo ed avere un “piano B” pronto

Come abbiamo sempre detto, non esiste sicurezza in senso assoluto.

La prevenzione può ridurre la possibilità che abbia luogo una violazione o ridurre i danni ma spesso viene bypassata.

Il rilevamento non sempre è possibile in tempo reale e funziona solo con attacchi già noti.

Quindi, l’unica cosa che posso fare è abbassare il rischio di subire un attacco ma non posso rimuoverlo.

Inoltre, la sicurezza ha un costo in termini di:

• Acquisto, quindi in termini di denaro

• Aumento del carico del sistema, quindi una diminuzione di prestazioni

• Accettazione dell’utente, avendo meno prestazione, l’utente può essere deluso oppure infastidito dal meccanismo di

sicurezza (password troppo complicata)

Quindi alla nostra definizione informale (prevenzione)di Sicurezza Informatica, &egra

Anteprima
Vedrai una selezione di 11 pagine su 49
Riassunto - Sicurezza dei Sistemi Web e Mobili Pag. 1 Riassunto - Sicurezza dei Sistemi Web e Mobili Pag. 2
Anteprima di 11 pagg. su 49.
Scarica il documento per vederlo tutto.
Riassunto - Sicurezza dei Sistemi Web e Mobili Pag. 6
Anteprima di 11 pagg. su 49.
Scarica il documento per vederlo tutto.
Riassunto - Sicurezza dei Sistemi Web e Mobili Pag. 11
Anteprima di 11 pagg. su 49.
Scarica il documento per vederlo tutto.
Riassunto - Sicurezza dei Sistemi Web e Mobili Pag. 16
Anteprima di 11 pagg. su 49.
Scarica il documento per vederlo tutto.
Riassunto - Sicurezza dei Sistemi Web e Mobili Pag. 21
Anteprima di 11 pagg. su 49.
Scarica il documento per vederlo tutto.
Riassunto - Sicurezza dei Sistemi Web e Mobili Pag. 26
Anteprima di 11 pagg. su 49.
Scarica il documento per vederlo tutto.
Riassunto - Sicurezza dei Sistemi Web e Mobili Pag. 31
Anteprima di 11 pagg. su 49.
Scarica il documento per vederlo tutto.
Riassunto - Sicurezza dei Sistemi Web e Mobili Pag. 36
Anteprima di 11 pagg. su 49.
Scarica il documento per vederlo tutto.
Riassunto - Sicurezza dei Sistemi Web e Mobili Pag. 41
Anteprima di 11 pagg. su 49.
Scarica il documento per vederlo tutto.
Riassunto - Sicurezza dei Sistemi Web e Mobili Pag. 46
1 su 49
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher leaf23 di informazioni apprese con la frequenza delle lezioni di Sicurezza dei sistemi Web e Mobile e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Milano o del prof Braghin Chiara.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community