1. Client side security
In settordici slides
Alessandro “jekil” Tanasi
alessandro@tanasi.it
LUG Trieste http://www.tanasi.it
2. Introduzione..
Ciao Gianni, si ..no no, non
certo la nostra abbiamo nessuno
azienda e` al servizio esposto..
sicuro
… quindi sicuro
no?!
?
Abbiamo pure gli
antivirus installati
http://www.dilbert.com Affermazioni illustri di manager, aziende, enti non citati.
4. Client side
● Tutto quello che gira sui pc degli utenti
● Software con diverse funzionalita`
● Browser, client email, messaggistica
● Girano con i privilegi dell'utente
● .... cioe` voi...
● Quindi possono fare tutto quello che fate
voi
5. Un brutto giorno...
t
Arriva il conto:
40 M credied
Furto di dati
cards hack
Furto di identita` party
at third or
Accesso alle risorse Breach rocess
pa yment p illion Visa
22 m
affects illion
nd 14 m
cards aards.
C r
Mas,te : 3:18 P M EDT/Money senior writer
2005
J une 20 di, C NN
ne S aha
By J ean
Britain warns of
major e-mail attack
Hackers seen aiming at government,
corporate networks
The Associated Press
Updated: 1:42 p.m. ET J une 16, 2005
6. Quali problemi?
● Tutto quello che e` software ha dei
problemi (bug)
● Un sottoinsieme dei bug riguardano
problematiche di sicurezza
● Quindi una parte di tutti i software ha bug
inerenti la loro sicurezza (vulnerabilita`)
8. Utente, user input
● Gli utenti sono brave persone, di cui ci si
può fidare, e che useranno l'applicazione
nel modo corretto, tutti sono miei amici!
● L'applicazione non si aspetta input
maliziosi, fiducia implicita nell'input
● E c'era la marmotta che incartava la
cioccolata...
● L'input proveniente da fonti non sicure non
è mai fidato
● L'obbiettivo è mettere l'applicazione in uno
stato non previsto, per ottenere
comportamenti anomali o informazioni di
debugging
9. Da dove proviene?
● Ma da dove proviene l'input se sono
software installati sul mio pc?
● Un browser visualizza pagine web (esterne)
● Un mail reader legge mail (esterne)
● Un programma di messaggistica mostra
messaggi (esterni)
● Quindi ci sono varie fonti implicite di input
controllabili da un utente malevolo (attack
vector)
11. Esempi
● Furto della history del browser
● Furto delle password salvate nel browser
● Esecuzione di codice
● Botnet
● Download ed esecuzione di second stage
● … quindi diventare padroni del mondo..
12. Esempi reali
● Lateral Arts uploader ActiveX Control Buffer
Overflow
● Roxio Creator Image Rendering Integer
Overflow Vulnerability
● Wireshark: Multiple vulnerabilities
● Opera 10.01 Remote Array Overrun
(Arbitrary code execution)
● FreeBSD local root excalation
14. Conclusioni
● Anche le applicazioni client side soffrono di
problematiche di sicurezza
● Anche le applicazioni client side devono
entrare nei processi di sicurezza
● Quindi vanno aggiornate!
● E ci possono essere un sacco di cose
simpatiche e tricks per rendere difficile la
vita agli attaccanti ;)