fulvio bartoloni - davide vergni sicurezza fondamenti: virus, attacchi e violazioni, crittografia...

68
Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: Sicurezza fondamenti: virus, attacchi e violazioni, virus, attacchi e violazioni, crittografia crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Upload: carlotta-salvi

Post on 01-May-2015

221 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni

Sicurezza fondamenti:Sicurezza fondamenti:virus, attacchi e violazioni, crittografiavirus, attacchi e violazioni, crittografia

Davide Vergni (IAC – CNR)

Fulvio Bartoloni (Collaboratore IAC – CNR)

Page 2: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 2

Sicurezza fondamenti: virus, attacchi e violazioni, crittografiaSicurezza fondamenti: virus, attacchi e violazioni, crittografia

Crittografia5

Backdoor4

Trojan Horse3

Virus (Malicious Code)2

Sicurezza Informatica1

link al -link al - Glossario a cura del Security Group del Politecnico di Torino.doc

Se si volesse consultare un glossario completo in lingua inglese si consiglia il RFC 2828. Se si volesse consultare un glossario completo in lingua inglese si consiglia il RFC 2828. http://security.polito.it/rfc/rfc2828.txt

Page 3: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 3

Sicurezza: cosa si intendeSicurezza: cosa si intende

Sicurezza FisicaSicurezza Fisica: accesso controllato ai locali, conservazione delle chiavi di accesso alle sale dati, riconoscimento fisico degli utenti ammessi

Sicurezza LogicaSicurezza Logica: gestione oculata delle passwords, dei diritti di accesso agli utenti

Sicurezza di ReteSicurezza di Rete: garantire sicurezza nelle comunicazioni in rete, in modo da tutelare l’integrità e la riservatezza dei dati critici e sensibili

Page 4: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 4

Approccio alla sicurezzaApproccio alla sicurezza

Quali risorse proteggere?

Capire quali sono i processi e le informazioni più “sensibili” alla sicurezza. Identificare le risorse critiche.

Da chi proteggerle?

Cercare di individuare i possibili attori dell’attacco: interno o esterno?

Da cosa proteggerle?

Cercare di prevenire le più comuni modalità di attacchi

Sensibilizzazione del personale, a tutti i livelli!

Page 5: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 5

Sicurezza FisicaSicurezza Fisica

• Uso di badge, smart card, dispositivi biometrici

Page 6: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 6

Sicurezza LogicaSicurezza Logica

•Passwords di minimo 6 caratteri

•Almeno 13,14 caratteri, misti con maiuscole e minuscole, NO da dizionario (10 caratteri ~ 1 week con un Pentium)

•Caratteri maiuscoli e minuscoli, con numeri

•Diritti di administrator (root) sui server e sui router ben tutelati

•No passwords con post-it sul monitor!!!!

Page 7: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 7

Internet Pubblica

Backbone ISP

ServerFarm

LANAziendale

LAN

xDSL

DSLAM

RAS

Analog/ISDN

Wireless

MediaGateway

Mobile

VOIP

Sistemi aperti ed interconnessiSistemi aperti ed interconnessi

Page 8: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 8

Requisiti generaliRequisiti generali

• La sicurezza IT deve contribuire ad assicurare requisiti quali:– La disponibilità del servizio da parte degli

utenti legittimi– La riservatezza delle informazioni

scambiate tra utenti legittimi– L’integrità delle informazioni– Il non ripudio delle transazioni e delle altre

azioni effettuate con il sistema informativo

Page 9: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 9

• Svantaggi:– Esposizione dei propri sistemi e delle proprie reti

ad attacchi provenienti dall’esterno (che si vanno ad aggiungere a quelli conducibili dall’interno).

– Eventualità di esportazione (anche involontaria) di informazioni riservate da parte di utenti interni.

• Vantaggi:– Possibilità di utilizzare gli stessi strumenti IT per

comunicare tanto con utenti interni che con utenti esterni.

L’impatto dell’interconnessione a InternetL’impatto dell’interconnessione a Internet

Page 10: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 10

L'impatto della sicurezza sugli utentiL'impatto della sicurezza sugli utenti

• L’introduzione di controlli per il mantenimento della sicurezza IT è normalmente vissuta dagli utilizzatori finali in maniera “ambigua”.

• Da una parte vista come componente necessaria:– Per consentire l’uso di servizi informativi critici per il

business aziendale– Per minimizzare inconvenienti derivanti dalla diffusione di

virus ed altri agenti ostili sui PC aziendali

• Dall’altra accresce il livello di complessità:– Nell’utilizzo dei servizi e delle risorse in rete (E-mail, File

Transfer, Web browsing, File Sharing, ecc.ecc.)

Può essere migliorato il grado di accoglienza tramite una mirata sensibilizzazione degli utenti

Page 11: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 11

L'impatto della sicurezza sui “tecnici”L'impatto della sicurezza sui “tecnici”

• Gli addetti ai lavori (amministratori, progettisti, responsabili IT) sono “costretti” a:– individuare puntualmente tutte le componenti del

sistema IT che possono essere utilizzate dagli hacker contro gli interessi dell’azienda, per provvedere alla loro messa in sicurezza (stabilendo eventualmente una scala di priorità nell’ordine di attuazione per rispettare i budget assegnati).

– stabilire le contromisure più opportune (tecniche e organizzative) per la risoluzione dei problemi rilevati.

– prepararsi a gestire il rischio residuo.

Page 12: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 12

Individuazione delle componentiIndividuazione delle componenti

• Un approccio metodologico alla risoluzione del problema sicurezza IT prevede come prima cosa l’individuazione degli asset che potrebbero risultare compromessi in seguito ad una violazione o un malfunzionamento di un sistema

• L’output di questo processo è una lista di “componenti” cui deve essere associato il relativo “valore aziendale”

Page 13: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 13

Le risorse da proteggereLe risorse da proteggere

• Non sono da proteggere solo le informazioni critiche per il business aziendale o per la privacy degli utenti il servizio IT. Molte altre risorse devono essere incluse in un “progetto di messa in sicurezza” del settore IT.

• Tra le componenti che possono interessare un hacker troviamo:– Collegamenti (geografici e locali)– Dispositivi di interconnessione e sicurezza (router, switch, firewall,

sistemi IDS)– Risorse hardware dei server (CPU, memoria, processi)– Risorse dei client (integrità del software)– Password utenti (memorizzate su file system e/o trasmesse su rete)– Dispositivi di autenticazione (token, smartcard)– Chiavi crittografiche

Page 14: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 14

Analisi del rischioAnalisi del rischio

• Non tutti gli asset sono di pari criticità

• Non tutte le componenti del sistema IT sono ugualmente sensibili a guasti o attacchi

• L’analisi del rischio deve fornire una visione realistica del livello di rischio associato a ciascun asset

Page 15: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 15

Scegliere una prioritàScegliere una priorità

• La messa in sicurezza di tutte le componenti è un processo lungo e oneroso. Per questo occorre procedere per step assicurandosi di:– Mantenere la piena funzionalità del sistema

complessivo– Attuare per primi gli interventi migliorativi che hanno

maggior rilevanza sul business (e che quindi garantiscono un più rapido ritorno dell’investimento)

– Controllare che gli interventi migliorativi non sforino i budget assegnati

Page 16: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 16

Stabilire le contromisureStabilire le contromisure

• Gli interventi migliorativi, da effettuare per innalzare il livello di protezione delle componenti critiche, devono essere conformi alle direttive descritte nel piano di sicurezza aziendale (security policy)

• Questo è necessario per evitare l’attuazione di contromisure che non sono giustificate dalla policy mentre non vengono adottate le procedure che sono definite come “indispensabili” per la business continuity aziendale

Page 17: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 17

Security PolicySecurity Policy

• La definizione di una security policy aziendale è un processo ricorsivo che richiede la partecipazione di manager e tecnici per essere veramente efficace.

• Il documento di output deve contenere non soltanto direttive generali (linee guida di alto livello) non direttamente traducibili in interventi e controlli applicabili nel contesto aziendale. Obiettivo del board che ha steso la policy deve essere anche:– stabilire/assegnare le risorse (sia in termini di

budget che umane)– arrivare a condividere le soluzioni tecnologiche

generali da adottare in azienda

Page 18: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 18

Rischio ResiduoRischio Residuo

Costi Sostenuti

Live

llo d

i Sic

urez

za

Rischio Residuo100%

Con un budget illimitatoe in un tempo illimitato,

si può costruire un “Security Environment “

quasi perfetto.Ma quello che serve è

un Security Environmentappropriato ed adeguato,

comprendente strumenti e procedure di gestione del rischio residuo

Page 19: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 19

Gestire il rischio residuoGestire il rischio residuo

• Significa:– Conoscere le vulnerabilità non risolte.– Conoscere le minacce.– Pianificare le azioni da compiere e le risorse IT da

coinvolgere in caso di exploit condotti contro le vulnerabilità residue di una infrastruttura.

• Una vulnerabilità si trasforma in una minaccia solo se il sistema è oggetto di un attacco.

• Occorre:– Conoscere le modalità con cui possono essere condotti gli

attacchi è fondamentale per stabilire contromisure efficaci.– Monitorare il sistema continuamente per rilevare eventuali

tentativi di intrusione.– Reagire in tempi brevi.

Page 20: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 20

Minacce interneMinacce interne

13%frode

24%furto elettronico, sabotaggio o intenzionale distruzione/diffusione di dati/informazioni proprietari

54%installazione/uso di hw/periferiche non autorizzate

42%furto fisico, sabotaggio o distruzione intenzionale di computer equipment

58%abuso di computer control access

50%uso di risorse aziendali per profitto personale (scommesse, spam, gestione di personal e-commerce site, investimenti online)

63%uso di risorse aziendali per comunicazioni /attività illegali o illecite (porn surfing, e-mail harassment)

78%installazione/uso di sw non autorizzato

Fo

nte

: In

form

atio

n S

ecu

rity

– S

urv

ey 2

000

% a

zien

de

con

ris

po

sta

affe

rmat

iva

infezione di componenti aziendali tramite virus, malicious code (deliberata e/o accidentale) 70%

Page 21: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 21

Minacce esterneMinacce esterne

25%attacchi dovuti a password non sicure

26%attacchi dovuti a protocol weakness

37%exploits dovuti a scripting/mobile code (activeX, Java, javaScript, VBS)

24%buffer overflow attacks

37%Denial of Service (Dos)

24%attacchi su bug di web server

80%viruses/trojan/worms

Fo

nte

: In

form

atio

n S

ecu

rity

– S

urv

ey 2

000

% a

zien

de

con

ris

po

sta

affe

rmat

iva

Page 22: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 22

Classificazione delle minacceClassificazione delle minacce

• Attacchi mirati condotti manualmente con l’obiettivo di violare i sistemi di una specifica azienda

• Sottrazione fisica di componenti e dati

• Diffusione di worm/virus/software ostile

• Attacchi generalizzati portati da tool automatici (Dos tool)

Page 23: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 23

HackingHacking

• Gli hacker sono soggetti organizzati in gruppi underground con i loro bollettini e newsgroup

• Gli hacker principalmente “discutono” delle problematiche relative alla sicurezza

• Gli hacker sviluppano tool per la “verifica” del livello di sicurezza di un sistema o di una infrastruttura di rete

• Molti hacker privi di specifiche competenze tecniche sfruttano i tool sviluppati da altri per condurre attività illegali o dannose

Page 24: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 24

Motivazioni di un hackerMotivazioni di un hacker

• Accesso non autorizzato informazioni– Violare la privacy degli utenti– Compromettere la riservatezza delle informazioni

• Falsificare la propria identità– Per far ricadere responsabilità proprio operato su altri utenti– Per accedere ad un servizio facendo pagare ad un altro utente

• Immettere informazioni false– Ingannando un altro utente attraverso assunzione di una falsa

identità– Sostituzione di dati presso un centro servizi

• Ripudiare operazioni effettuate– Negare di aver spedito informazioni– Dichiarare di aver spedito informazioni mai trasmesse

Page 25: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 25

Motivazioni di un hackerMotivazioni di un hacker

• Modifica diritti di accesso a risorse– Per accedere a servizi senza averne il diritto– Per accedere ai dispositivi raggiungibili via rete

• Registrazione di informazioni relative agli utenti ed ai dati scambiati– Per un successivo ricatto– Per determinare in anticipo informazioni di interesse, e contatti

avuti tra utenti • Interruzione del servizio

– Per sostituirsi ad un centro servizi– Per rendere momentaneamente irraggiungibili informazioni di

vitale importanza per gli utenti• Interferire con il naturale processo di scambio dati tra utenti

Page 26: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 26

Hacking fai da teHacking fai da te

Oltre 30,000 websites orientati all’hacking. Non occorre più essere un guru. Download Click and Hack

Decine e decine di libri e riviste sull’hacking

Page 27: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 27

Storia dei Virus InformaticiStoria dei Virus Informatici

I virus informatici prendono il loro nome dal campo medico-biologico, per una vaga somiglianza con alcune caratteristiche dei virus nella microbiologia: come questi ultimi per riprodursi, devono penetrare in una cellula ospite ed assumere il controllo dei suoi processi metabolici, cosi i virus informatici devono penetrare nelprogramma ospite modificandolo, sia per riprodursi sia, in seguito, per danneggiaredati e/o programmi presenti su supporti registrabili.Come nella biologia i virus sono organismi relativamente semplici e molto piccoli,rispetto all’organismo che invadono, così anche i virus informatici sono dei programmi costituiti da poche centinaia di istruzioni, al massimo un migliaio; ciò consente loro di portare a termine il compito per cui sono stati scritti senza,in genere, far notare la loro presenza all’utente del computer.Il primo virus fu sviluppato nel novembre del 1983, con fini dimostrativi, nell’ambito di una ricerca finanziata da una delle principali società costruttrici di computer ed inserita in un più generale progetto di studio della sicurezza dei sistemi informativi.

Page 28: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 28

L’obiettivo della ricerca era di dimostrare come le possibilità di un attacco al patrimonio informativo di un’azienda non fossero limitate a quelle tradizionalmente prese in esame negli studi sulla sicurezza fino ad allora svolti. Tali studi avevanoincentrato la loro attenzione sull’attacco fisico (esempio attacchi terroristici), sullaconoscenza illegittima di password e su modifiche ai programmi effettuate dapersonale interno alle aziende.A quell’epoca il mondo informatico era composto o da computer aziendali(Mainframe) o da client 386 che utilizzavano il drive floppy come unico mezzo di scambio dati e che avevano come funzione preimpostata il boot da questo tipodi dispositivo.I primi virus orientarono soprattutto su questa caratteristica per diffondersi, il bootsector dei dischi era la prima cosa che veniva colpita ed accendere un pc con un dischetto infettato inserito era spesso letale

Storia dei Virus InformaticiStoria dei Virus Informatici

Page 29: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 29

Nel 1990 nasce il primo virus polimorfo, un virus cioè in grado di automodificarsiper sfuggire al controllo dei software di protezione.Quell’anno rappresenta il vero boom di questo fenomeno; nascono generatori diVirus (per crearsi virus personalizzati), iniziano a diffondersi i cdrom e quindi nasceun nuovo mezzo di diffusione ed iniziano le gare tra i vari programmatori a creare i virus più pericolosi.Nel 1994 sale alla ribalta il fenomeno Internet e nascono i primi virus che si diffondono con gli allegati della posta elettronica, mentre nel 1995 nasce il primo Macro Virus ovvero un virus contenuto nella macro dei documenti di MicrosoftOffice. Attraverso l’uso delle macro,e quindi di un linguaggio di programmazione,è possibile registrare insieme ad un documento (testo o tabella che sia) dei comandi che vengano lanciati automaticamente all’apertura del documento medesimo senzache l’ignaro utente si accorga di nulla.

Storia dei Virus InformaticiStoria dei Virus Informatici

Page 30: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 30

Classificazione dei Virus (I)Classificazione dei Virus (I)

-Floppy boot e MBR Virus:Infettano un particolare settore dei dischi, quello iniziale, di avvio. Nei dischetti tale settore contiene il codice che visualizza ilfamoso messaggio “Disco non di avvio / Sostituire il disco e premere un tasto”.Nel disco rigido invece si parla di Master Boot Record (cioè Record di avviamentoPrincipale) meglio conosciuto come MBR. Possono controllare l’indice di tuttoil Pc, ingannando sul contenuto del disco fisso fino a cancellarlo.Vengono eseguitinello stesso istante in cui il computer viene acceso, e quindi difficilmente rilevabilida un antivirus. Furono i primi virus ad essere creati e a diffondersi rapidamente.Virus famosi: Form, PingPong, Stoned, AntiEXE, NYB-B1, Michelangelo.

Virus Polimorfico:Si replica producendo cloni mai uguali a se stesso,quindi tenta disfuggire celandosi dietro questa imprevista e sempre nuova forma.

Page 31: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 31

Dos-EXEC file Virus: Sono i più diffusi e mirano ad attaccare tutti i file eseguibili:.exe, .com, .bin e cosi via. Si attaccano ad uno di questi file, sovrascrivono gli ultimi byte e quando il file infetto viene eseguito esso si installa residente in memoria. Da questo momento è pronto ad infettare altri programmi. Un antivirus può facilmente debellarlo, ma occorre reinstallare il programma poiché i file eseguibili del programma sono stati compromessi.Virus famosi: November17, Jerusalem, Ontario, Vienna

Virus Stealth:Sono progettati per non essere riconosciuti neanche dagli antivirus,quindi arrecano danno quasi senza possibilità di difesa. Quando un virus è attivo inmemoria, può interferire col sistema operativo. La simbiosi può essere tale che il parassita prende il controllo totale su alcune funzioni base del DOS. Tra le coseche un virus può fare ovviamente rientra la capacità di far apparire tutto normale,cioè nascondere tutti i sintomi e i segnali di allarme che possano farlo individuare.Questa tecnica è detta della “STEALTH” (MBR-Stealth).

Classificazione dei Virus (II)Classificazione dei Virus (II)

Page 32: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 32

Clean On-the-fly:Il virus può intercettare tutte le operazioni di lettura sui files e modificarne l’output. Se ad esempio un programma antivirus prova a leggere un file infetto, il virus, attivo in memoria, intercetta l’operazione e ripulisce il file prima della lettura, rendendolo trasparente al controllo. Una volta finita l’operazione, il virus re-infetta il file.

Virus TSR: Categoria più complessa di virus, in quanto riesce a rimanere attiva,di nascosto, all’interno del sistema operativo, sostituendo parti di esso. I virus TSR(Terminate and Stay Resident) riservano una porzione di memoria per se stessi o sfruttano dei buchi di RAM non usati dal DOS dove potersi copiare, quindi acquistano una priorità maggiore rispetto al sistema operativo stesso per alcune operazioni a rischio come apertura di un file, esecuzione di un file, rename, accessoa un dischetto e via di seguito. Ognuna di queste operazioni può essere intercettata dal parassita che, prima di eseguire la vera procedura, infetta l’oggetto in uso.

Classificazione dei Virus (III)Classificazione dei Virus (III)

Page 33: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 33

Macro Virus: Virus scritti in VBA (Visual Basic for Application). Sono virus Multipiattaforma (possono funzionare sia su sistemi Windows che su sistemi Macintosh) in quanto non dipendono dal sistema operativo ma da una particolareapplicazione che consente l’uso di macro, cioè di comandi automatici.Sfruttano la capacità di alcuni programmi come Microsoft Word e Excel di eseguire“macroistruzioni”, trasformando un normale testo (che normalmente non potrebbe contenere virus, poiché esso è un programma che deve essere eseguito mentre i testi non sono interpretati dal PC ma letti dall’utente) in un veicolo di azioni dannose,scopo principe dei virus. Questi virus possono infettare solo se vengono aperti.Virus famosi:Concept, Wazzu, Laroux, Alliance e Melissa.

Java /ActiveX: L’infezione avviene navigando tranquillamente in siti web ed incorrendo in un sito web (volontariamente o involontariamente) infetto.Le potenzialità distruttive di questi virus sono immense.

Classificazione dei Virus (IV)Classificazione dei Virus (IV)

Page 34: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 34

Analisi del virus macro Melissa (I)Analisi del virus macro Melissa (I)

Questa macro virus si replica sotto MS word 8 e 9 (Office 97 e Office 2000),infettando documenti e modelli di MS Word e inviando copie di se stesso in allegato a messaggi di posta elettronica. Inoltre, il virus modifica il Registro disistema e disabilita la protezione anti-macro di MS Word.Tale capacità è basata su una caratteristica di Office, la conversione automatica delle macro.Quando le nuove versioni degli applicativi di Office aprono e caricanodocumenti e modelli creati con versioni precedenti, ne convertono il formato,aggiornando anche la struttura di eventuali macro presenti all’interno dei documenti/modelli. Nel caso in cui il virus venga attivato in Office 2000, esso esegue un’ulteriore azione: imposta a livello minimo le opzioni di sicurezza(protezione anti-macro) disponibili in Office2000.

Page 35: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 35

Il codice del virus contiene un modulo chiamato “Melissa”, nel quale è presente unafunzione automatica: “Document_Open” nei documenti infetti o “Document_Close”nel NORMAL.DOT, cioè il modello generale di MS Word. Il virus infetta il modello NORMAL.DOT quando vengono aperti dei documenti infetti e si diffonde ad altridocumenti quando questi ultimi vengono chiusi.Per inviare copie di se stesso attraverso la posta elettronica il virus impiega delle istruzioni in VBA che gli consentono di pilotare MS Outlook. Il virus ottienegli indirizzi presenti nel database di MS Outlook e invia un nuovo messaggio a ciascun indirizzo.

Subj: IMPORTANT MESSAGE FROM [Username](Username è una variabile e conterrà il nome dell’utente di Outlook).“HERE IS THAT DOCUMENT YOU ASKED FOR……… DON’T SHOW ANYONE ELSE”

Analisi del virus macro Melissa (II)Analisi del virus macro Melissa (II)

Page 36: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 36

Il messaggio presenta in allegato anche un documento infettato dal virus, ovvero il documento attivo che l’utente sta editando in MS Word. E’ importante notare che, come logica conseguenza del sistema usato dal virus per diffondersi, si ottiene l’invio tramite posta elettronica dei documenti creati dall’utente, con relativa violazione della privacy ed eventuale diffusione di dati confidenziali. Il virus spedisce i messaggi infetti soltanto una volta. Prima dell’invio, il virus controlla il Registro di sistema ricercando una chiave particolare:HKEY_CURRENT_USER\Software\Microsoft\Office\”Melissa?”=“…by Kwyjibo”

Se tale chiave non esiste, il virus spedisce l’e-mail dal computer infettato e quindi crea la chiave nel Registro. Altrimenti, evita la spedizione di e-mail aventi in allegato dei documenti infetti. Il virus possiede anche una particolare routine la cui azione vieneeseguita solo nel caso in cui il numero del giorno corrisponda a quello dei minuti. In tale circostanza, il virus inserisce il seguente testo nel documento attivo in MS Word.“TWENTY-TWO POINTS,PLUS TRIPLE-WORD-SCORE,PLUS FIFTY POINTS FOR USING ALL MY LETTERS.GAME’S OVER.I’M OUTTA HERE”.

Analisi del virus macro Melissa (II)Analisi del virus macro Melissa (II)

Page 37: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 37

WormsWorms

Concetto più avanzato di virus, si può definire come un virus che viaggia e si riproduce lungo le reti. Il più famoso nella storia è quello di Robert Morris jr,giovane americano che negli anni ‘80 riuscì a mandare in tilt migliaia di computera causa di una replicazione incontrollata del suo verme, che sfruttava un vecchiobug del sendmail.

Page 38: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 38

Un trojan horse non è propriamente un virus,ma un programma distruttivo pronto a esplodere. Con questo si vuole intendere che mentre lo scopo del virus è cercare di restare nascosto il più possibile e replicarsi,lo scopo del cavallo di Troia è quello di danneggiare esplicitamente un sistema.Sono chiamati trojan horse perché di solito vengono distribuiti sotto false spoglie,magari fingendo di essereprogrammi ambiti o molto ricercati dall’utenza.Una volta entrati,un virus ben più subdolo prende possesso del pc per i suoi scopi negativi.Esempi di questo tipo di famiglia sono il Back Orifice ed il NETBUS,che vengonodiffusi attraverso le Chat Line o le e-mail.Questi trojans rendono il computer controllabile da remoto mettendo quindi a repentaglio informazioni aziendalipresenti sul computer.

Trojan HorseTrojan Horse

Page 39: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 39

• Sommario:– Introduzione

– Che cos'è la crittografia, origini storiche

– Tecniche crittografiche

– La crittografia simmetrica o a chiave segreta

– Il problema della trasmissione della chiave

– Esempi di cifrari simmetrici: DES, 3DES, Blowfish, Rijndael

– La crittografia asimmetrica o a chiave pubblica

– Esempi di cifrari asimmetrici: RSA, Diffie-Hellman.

– La firma digitale e le funzioni hash sicure

– La crittoanalisi, tecniche, Des Cracking, Bug OpenPGP

– Sicurezza della crittografia = Trasparenza

– Esempi di software crittografici open-source

CrittografiaCrittografia

Page 40: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 40

Che cos'è la crittografia?

• La crittografia (dal greco kryptos, nascosto, e graphein, scrivere) è la scienza che si occupa dello studio delle scritture “segrete”.

• E’ nata come branca della matematica e dell’informatica grazie all’utilizzo di tecniche di teoria dei numeri e di teoria dell’informazione.

• “Insieme delle tecniche che consentono di realizzare la cifratura di un testo e la decifrazione di un crittogramma”Dizionario Garzanti (1972)

IntroduzioneIntroduzione

Page 41: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 41

• La crittografia è una scienza antichissima utilizzata nell'antichità per nascondere messaggi tra regnanti, imperatori, nobili.

• La scitala lacedemonica è un antico esempio di un sistema per cifrare messaggi utilizzando un bastone cilindrico, cifrario a trasposizione (secondo gli scritti di Plutarco, in uso dai tempi di Licurgo, IX sec a.C.).

• Il periodo d’oro della crittologia è relativo alla seconda guerra mondiale quando Alan Turing, il padre dell’informatica teorica, insieme al gruppo di ricerca del Bletchley Park formalizzò la matematica necessaria per uno studio sistematico dei cifrari.

Storia della crittografia (I)Storia della crittografia (I)

Page 42: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 42

• Enigma è una delle macchine cifranti più famose della seconda guerra mondiale.

• Claude Shannon, l’ideatore della moderna teoria dell’informazione, che nel 1949 pubblicò un articolo rimasto nella storia “Communication theory of secrecy systems”.

• Nasce nel 1943 in Inghilterra il primo elaboratore elettronico il Colossus utilizzato per decifrare le comunicazioni “segrete” dei nemici.

Storia della crittografia (II)Storia della crittografia (II)

Page 43: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 43

• Le basi teoriche della moderna crittografia, quella attualmente utilizzata, sono ancora più giovani e risalgono a circa 30 anni fa a partire dal 1969 con le prime ricerche di James Ellis del quartier generale governativo delle comunicazioni britanniche (GCHQ).

• Sviluppata ed affinata nel 1976 in America grazie al contributo di Whitfield Diffie e Martin Hellman con la nascita del termine crittografia a chiave pubblica.

• Nasce nel 1977 il cifrario a chiave pubblica RSA da tre ricercatori del MIT (Massachusetts Institute of Technology), Ronald Rivest, Adi Shamir e Leonard Adleman .

• Con il cifrario RSA si inizia a parlare di strong-encryption, crittografia forte.

Tecniche crittograficheTecniche crittografiche

Page 44: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 44

• Definiamo con Msg “l'insieme di tutti i messaggi” e con Critto “l'insieme di tutti i crittogrammi”.

• Cifratura: operazione con cui si trasforma un generico messaggio in chiaro m in un crittogramma c applicando una funzione C: Msg->Critto.

• Decifrazione: operazione che permette di ricavare il messaggio in chiaro m a partire dal crittogramma c applicando una funzione D: Critto -> Msg.

• Matematicamente D(C(m))=m le funzioni C e D sono una inversa dell'altra e la funzione C deve essere iniettiva, ossia a messaggi diversi devono corrispondere crittogrammi diversi.

Tecniche crittograficheTecniche crittografiche

Page 45: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 45

Che cos'è un cifrario?• Un cifrario è un sistema, di qualsiasi tipo, in grado di trasformare un

testo in chiaro (messaggio) in un testo inintellegibile (testo cifrato o crittogramma).

• Per poter utilizzare un cifrario è necessario definire due operazioni: la cifratura del messaggio e la decifrazione del crittogramma.

Cifrariotesto in chiaro(messaggio)

testo cifrato(crittogramma)

Tecniche crittograficheTecniche crittografiche

Page 46: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 46

Un primo esempio di cifrario: il cifrario di Cesare• Consideriamo l'alfabeto italiano, costruiamo un cifrario che sostituisce

ad ogni lettera di questo alfabeto la lettera che si trova 3 posizioni in avanti.

• Ad esempio il testo in chiaro “prova di trasmissione” viene cifrato nel crittogramma “surbd gn zudvpnvvnrqh”.

a b c d e f g h i l m n o p q r s t u v z

d e f g h i l m n o p q r s t u v z a b ca b c

reinserimento dei caratteri a,b,c in coda

traslazionea sinistradi 3 posizioni

Cifrario di Cesare

Tecniche crittograficheTecniche crittografiche

Page 47: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 47

Criptazione “Sicura”Criptazione “Sicura”

• Uno schema di criptazione è computazionalmente sicuro se– Il costo di decriptazione supera il valore delle informazioni criptate– Il tempo necessario per la decriptazione supera il tempo per cui

l’informazione mantiene la sua utilità

• Molti schemi che discuteremo non sono teoricamente sicuri, ma lo sono computazionalmente

• Di solito si basano su uno spazio delle chiavi gigantesco, non accessibile a metodi “Forza Bruta”

• Inoltre, gli schemi più avanzati si basano sulla mancanza di conoscenza dell’esistenza di un certo algoritmo per la soluzione di un certo problema, e non sulla dimostrazione della non esistenza di questo algoritmo – Per esempio: fattorizzazione di numeri interi, logaritmi discreti…

Page 48: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 48

La criptoanalisi• La scienza che si occupa dell’analisi e della validità degli algoritmi crittografici.

• Analizzando il contenuto di un testo cifrato, attraverso tecniche statistico/matematiche si possono ottenere informazioni sul testo in chiaro.

• Per fortuna ciò non è sempre possibile, la maggior parte dei cifrari moderni è ancora al sicuro da tecniche di crittoanalisi.

• La storia ci insegna che non esistono cifrari inviolabili.

CriptoanalisiCriptoanalisi

Page 49: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 49

Criptoanalisi: le basiCriptoanalisi: le basi

• L’attacco ad un sistema crittografico ha l’obiettivo di forzare il sistema, il metodo scelto e il suo livello di pericolosità dipendono dalle informazioni in possesso del crittoanalista.

• Fondamentalmente esistono queste tipologie di attacchi:

– Cipher Text Attack (il crittoanalista è in possesso solo di alcuni crittogrammi)

– Known Plain-text Attack (il crittoanalista è venuto a conoscenza di una serie di testi in chiaro e di crittogrammi)

– Chosen Plain-Text Attack (il crittoanalista ha scelto una serie di testi in chiaro e di crittogrammi)

Page 50: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 50

Criptoanalisi statisticaCriptoanalisi statistica

• Tramite l’utilizzo di tecniche statistiche sulla frequenze dei caratteri o sottostringhe del testo cifrato si ottengono informazioni utili sul testo in chiaro.

Page 51: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 51

Crittoanalisi del cifrario di CesareCrittoanalisi del cifrario di Cesare

• Il cifrario di Cesare, come la maggior parte dei cifrari storici basati tu trasposizioni e traslazioni, può essere facilmente violato utilizzando tecniche statistiche (crittoanalisi statistica).

• Si analizzano le frequenze relative dei caratteri nel testo cifrato e le si confrontano con quelle di una lingua conosciuta, ad esempio l'italiano.

• Le frequenze relative al testo cifrato “surbd gn zudvpnvvnrqh” risultano s (1/19), u (2/19), r (2/19), b (1/19), d (2/19), g (2/19), n (3/19), z (1/19), v (3/19), p (1/19), h (1/19).

• Si confrontano tali frequenze con quelle della lingua italiana: a (0,114), e (0,111), i (0,104), o (0,099), t (0,068), r (0,065),...

• Con queste informazioni ottengo una prima approssimazione del testo in chiaro “sroba gi zravpivvioqh”, procedo per tentativi ripetendo il procedimento.

Page 52: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 52

• Brute-force, ossia tramite il calcolo di tutte le possibili combinazioni di chiavi del cifrario. Con l’aumento della potenza di calcolo degli elaboratori questa tecnica banale stà diventando sempre più efficace. Basti pensare al Cracking del DES a 56 bit con un computer multiprocessore costruito dall’EFF in grado di violare l’algoritmo in meno di 3 giorni di calcolo.

• Crittoanalisi differenziale, tramite l’analisi delle “distanze” numeriche dei caratteri presenti nel testo cifrato e l’ausilio di sofisticate tecniche matematiche unite ad algoritmi sempre più veloci.

• Man-in-the-middle, sfruttando il sistema delle infrastrutture PKI un eventuale intruso può posizionarsi tra un mittente ed un destinatario e scambiare le loro chiavi pubbliche e private con altre opportunamente modificate.

Tecniche di criptoanalisiTecniche di criptoanalisi

Page 53: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 53

La sicurezza della crittografia è nella trasparenza• La sicurezza di un sistema crittografico è basato sulla robustezza degli algoritmi

(complessità computazionale).

• Le tecniche di crittoanalisi diventano sempre più sofisticate grazie anche all’aumento della potenza di calcolo dei computer.

• Solo con la condivisione delle informazioni e delle specifiche tecniche degli algoritmi crittografici si può ottenere sicurezza.

• La filosofia open source è di vitale importanza per il settore crittografico.

• La storia ci insegna che gli algoritmi segreti sono quelli più insicuri.

• Gli algoritmi crittografici più importanti ed utilizzati da tutti devono essere di pubblico dominio, non ci possiamo fidare delle “black box”.

• Sicurezza = Trasparenza.

CriptoanalisiCriptoanalisi

Page 54: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 54

Teorema di Shannon sulla segretezzaTeorema di Shannon sulla segretezza

• entropia del messaggio = minimo numero di bit necessario per esprimere tutti I possibili messagggi– L’entropia della lingua inglese è 1.3 bits per lettera

• Uno schema di criptazione è perfettamente sicuro se la conoscenza del testo cifrato non cambia la probabilità dell’occorrenza di un qualsiasi testo non criptato

• Teorema di Shannon: la chiave deve essere lunga almeno quanto il messaggio e non può essere riusata– Therefore, the secrecy of a cryptographic scheme depends on its

entropy, i.e. the number of key bits, or the size of the key space– Only the one-time pad achieves perfect secrecy

Page 55: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 55

La crittografia a chiave segreta (anche detta simmetrica)• Introduciamo un parametro chiamato k (key= chiave) all'interno delle

funzioni di cifratura C(m,k) e decifrazione D(c,k).

• Si parla di crittografia simmetrica perchè si utilizza la stessa chiave k per le operazioni di cifratura e decifrazione.

• La robustezza del cifrario dipende, a differenza di prima, solo dalla segretezza della chiave k.

Cifrariotesto in chiaro(messaggio)

testo cifrato(crittogramma)

chiave (key)

La crittografia a chiave segretaLa crittografia a chiave segreta

Page 56: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 56

Il principio di Kerckhoffs• Risulterà strano ma uno dei principi fondamentali della crittografia,

utilizzato ancora nei moderni sistemi crittografici è stato individuato nel lontano 1883 dal linguista franco-olandese August Kerckhoffs nel suo celebre articolo “La cryptographie militaire” apparso nel Journal des sciences militaires.

• Principio di Kerckhoffs: “La sicurezza di un sistema crittografico è basata esclusivamente sulla conoscenza della chiave, in pratica si presuppone noto a priori l’algoritmo di cifratura e decifrazione.”

• Purtroppo alcuni sistemi crittografici proprietari moderni non rispettano questo essenziale principiodi sicurezza.

La crittografia a chiave segretaLa crittografia a chiave segreta

Page 57: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 57

Il problema della trasmissione della chiave• Volendo utilizzare un cifrario simmetrico per proteggere le informazioni

tra due interlocutori come posso scambiare la chiave segreta? Devo utilizzare una “canale sicuro” di comunicazione.

• Ma tale “canale sicuro” esiste nella realtà?

• Per una comunicazione sicura tra n utenti si dovranno scambiare in tutto (n-1)*n/2 chiavi, ad esempio con 100 utenti occorreranno 4950 chiavi, il tutto per ogni comunicazione!

Cifra Decifra

chiave

invio msg. cifratomsg.

canale sicuro di comunicazione

msg.

La crittografia a chiave segretaLa crittografia a chiave segreta

Page 58: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 58

• Utilizza una coppia di chiavi per le operazioni di criptazione e decriptazione.

• Una chiave detta pubblica viene utilizzata per le operazioni di encryption.

• L’altra chiave, detta privata viene utilizzata per le operazioni di decryption.

• A differenza dei cifrari simmetrici non è più presente il problema della trasmissione delle chiavi.

• Sono intrinsecamente sicuri poiché utilizzano tecniche di tipo matematico basate sulla teoria dei numeri, sulla teoria delle curve ellittiche, etc.

La crittografia a chiave pubblicaLa crittografia a chiave pubblica

Utente A Utente BMsg. Cifratocon KpubMsg. in

chiaroMsg. in chiaro

decifratocon KprB

KpuB = chiave pubblica dell’utente B

KprB = chiave privata dell’utente B

Page 59: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 59

• Sviluppato dall’IBM nel 1970 diventato standard nel 1976.

• Utilizza chiavi di 56 bit, divide il testo in chiaro in blocchi di 64 bit, effettua delle permutazioni iniziali e finali ed un ciclo di 16 iterazioni di permutazioni e xor (Feistel network, tecniche di confusione e diffusione).

• Il 17 Luglio 1998, l’EFF (Electronic Frontier Foundation) costruisce un sistema dedicato in grado di violareill DES in meno di 3 giorni, tramite un attacco di tipo “brute-force”.

• Morale della favola: non utilizzate sistemi di cifratura basati sul DES!

Algoritmo DESAlgoritmo DES

Page 60: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 60

Algoritmo IDEAAlgoritmo IDEA

IDEA (International Data Encryption Algorithm) è nato nel 1991 sotto il nome di IPES (Improved Proposed Encryption Standard). Come il DES è un codice cifrato a blocchi con blocchi di 64 bits, questa volta però la chiave è di 128 bits, che elimina qualsiasi possibilità di riuscita di ricerca esaustiva nello spazio della chiave. A differenza del DES, che era stato progettato per implementazioni hardware, IDEA è stato creato per software. La cifratura con IDEA comporta una divisione del blocco di 64 bit del testo normale in 4 sottoblocchi di 16 bits. Ogni sottoblocco subisce 8 round in cui sono coinvolte 52 sottochiavi diverse a 16 bits ottenute dalla chiave a 128 bits. La chiave a 128 bits è divisa in 8 stringhe di 16, che sono le prime 8 sottochiavi.Le cifre della chiave a 128 sono shiftate di 25 bits a sinistra in modo da generare una nuova combinazione, il cui raggruppamento ad 8 bits fornisce le prossime 8 sottochiavi. Il secondo passo è ripetuto finché le 52 sottochiavi sono generate.Ogni round comporta calcoli abbastanza semplici come XOR, addizione modulare e moltiplicazioni modulari (addizione modulare significa che una somma non può superare i 16 bits quindi quelli in overflow vengono scartati

Page 61: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 61

• Creato nel 1976 dai ricercatori W.Diffie e M.Hellman è il primo algoritmo a chiave pubblica della storia.

• E' stato creato per eliminare il problema dello scambio delle chiavi di cifratura su di un canale insicuro di comunicazione. Il protocollo permette a due utenti di cambiare la chiave segreta su un canale insicuro senza dover usare nessun’altra chiave segreta. Il protocollo ha due parametri di sistema p e g. Sono entrambi pubblici e possono essere usati da tutti gli utenti del sistema.

• L'efficacia dell'algoritmo Diffie-Hellman dipende dalla difficoltà di calcolare logaritmi discreti.

Algoritmo Diffie-HellmanAlgoritmo Diffie-Hellman

Page 62: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 62

• E' basato su tecniche di teoria dei numeri: prodotto di due numeri primi di dimensioni elevate (ad esempio con 300 cifre decimali).

• Definiamo alcuni concetti di teoria dei numeri per poter analizzare il funzionamento del cifrario RSA:

– Un numero p>1 si dice primo se è divisibile solo per ±1 e ±p.

– Dati tre interi a,b≥0 e n>0, si dice che a è congruo a b modulo n se esiste un intero k per cui a = b + kn ( o equivalentemente se a mod n = b mod n, dove l'operatore mod indica il resto della divisione intera tra a e n, b e n).

– Per un intero n>1 si definisce la funzione di Eulero Φ(n) come il numero di interi minori di n e relativamente primi con esso. Se n è un numero primo si ha che Φ(n)=n-1.

Algoritmo RSAAlgoritmo RSA

Page 63: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 63

• Le chiavi pubbliche e private vengono determinate con il seguente algoritmo:

– Si scelgono due numeri primi p e q molto grandi;

– Calcolo n= p*q, e la funzione di Eulero Φ(n)= (p-1)*(q-1);

– Scelgo un intero e minore di Φ(n) e primo con esso;

– Calcolo l'intero d, inverso di e modulo Φ(n) (ossia tale che e*d = k*Φ(n) + 1, con k numero intero);

– La chiave pubblica è costituita dalla coppia di valori <e,n>, la chiave privata dai valori <d,n>.

• Le operazioni di encryption e decryption sono:

C=Me (mod n) , M=Cd (mod n)=(Me (mod n))d (mod n)

dove M= blocco di testo in chiaro, C= crittogramma.

Algoritmo RSAAlgoritmo RSA

Page 64: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 64

• La sicurezza del sistema è basata sul fatto che è difficile fattorizzare un prodotto di due numeri primi di dimensioni elevate (allo stato attuale).

• La lunghezza delle chiavi è variabile: 512, 1024, 2048, 4096 bit ed oltre.

• Svantaggio: l'algoritmo RSA non è veloce, infatti viene utilizzato soprattutto nei sistemi crittografici ibridi che utilizzano contemporaneamente sia algoritmi simmetrici che algoritmi a chiave pubblica (come ad esempio nei software PGP e GNUPG).

• Il 6 Settembre 2000 l'algoritmo RSA è diventato di dominio pubblico, prima era di proprietà dell'omonima azienda RSA Security Inc.

Algoritmo RSAAlgoritmo RSA

Page 65: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 65

Le funzioni hash sicure• Vengono utilizzate per generare un sorta di

“riassunto” di un documento informatico (file).

• Una funzione hash accetta in ingresso un messaggio di lunghezza variabile M e produce in uscita un digest di messaggio H(M) di lunghezza fissa.

• Questo digest (impronta digitale, targa, riassunto) è strettamente legato al messaggio M, ogni messaggio M genera un H(M) univoco.

• Anche considerando due messaggi M ed M' differenti solo per un carattere le loro funzioni hash H(M) e H(M') saranno diverse.

Funzioni HashFunzioni Hash

Page 66: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 66

L'hash è uno degli elementi fondamentali della crittografia, al pari degli algoritmi di cifratura, nonostante sia meno noto ai non addetti ai lavori, e spesso

venga trascurato da veloci panoramiche sull'argomento crittografia. Hash in inglese vuol dire tritare: l'algoritmo elabora ("macina") il messaggio e ne ricava un riassunto di lunghezza fissa (message digest), detto anche finger-print (impronta digitale). Una funzione hash è detta anche pseudo-random, dato che ogni valore di hash deve essere a priori equiprobabile.

Hash algorithm

Un algoritmo Hash è noto come message digests o one-way transformation. Una funzione Hash è una trasformazione matematica che dato un messaggio di arbitraria lunghezza ne calcola da questo un numero intero.

Il NIST ha definito con la sigla SHA come secure hash algorithm, mentre MD sta per message digest. MD2, MD4 e MD5 sono gli algoritmi message digest. L'algoritmo più diffuso è MD5 (Message Digest 5, Rivest 1992). Produce digest di 128 bit, ognuno dei quali è funzione di tutti i bit del messaggio.

Funzioni HashFunzioni Hash

Page 67: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 67

SHA-1SHA-1

Secure Hash AlgorithmLo standard SHA-1 (Secure Hash Algorithm) é usato per ottenere una rappresentazione compressa di un messaggio o di un file dati. Quando un qualsiasi messagio e di lungezza inferiore a 2^64 bits , SHA-1 produce un output di 160 bit chiamato ("message digest"). SHA-1 puo' essere usato per la memorizzazione di dati e in tutte quelle applicazioni che richiedono l'integrità e l' autentificazione dei dati. SHA-1 é stato progettato per avere le seguenti propieta':1. é computazionalmente inpossibile trovare un messagio che corrisponde ad un message digest2. trovare due messagi che hanno lo stesso message digestIl messagio o file di ingresso puo essere considerato come una grande stringa. La lunghezza del messagio é il numero di bit.

Page 68: Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore

Fulvio Bartoloni - Davide Vergni 68

Bibliografia - SitografiaBibliografia - Sitografia

• H. Davenport. Aritmetica superiore, Zanichelli, 1994. • C. Giustozzi, A. Monti, E. Zimuel. Segreti spie codicifrati, Apogeo, 1999. • Neal Koblitz. A Course in Number Theory and Cryptography, Springer-Verlag, 1994. • Network Associates Inc. An Introduction to Cryptography, Associato alla

documentazione del PGP 6.02i, 1998. • RSA Laboratories. Freqently Asked Questions About Today's Cryptography v. 4.0, Ed.

RSA Laboratories, 1988. • A. Sgarro. Crittografia, Franco Muzio Editore, 1993.• Douglas R. Stinson, Cryptography, Theory and Practice Chapman and Hall/CRC (scond

edition 2002). • Song Y. Yan, Number Theory for Computing, Springer (2002)

http://www.enricozimuel.net/bibliografia.asp• http://security.polito.it/• www.trojanscan.com• http://rhino9.ml.org/

http://www.clusit.it (Associazione Italiana per la sicurezza informatica)