“Da un grande potere derivano grandi responsabilità”, ci ricordano le parole di un grande supereroe. Allora, considerato che Magento è uno dei sistemi di eCommerce più utilizzati in tutto il mondo, è essenziale assumersi ogni responsabilità rispetto agli aspetti di sicurezza che, se trascurati, possono portare ingenti danni.
Durante il talk, Simone Onofri illustrerà le principali vulnerabilità, utilizzando la OWASP TOP 10 2013 e specifici esempi sull’ecosistema di Magento per imparare assieme come rendere sicura la propria installazione di Magento o il proprio Plugin.
5. Come
si
sono
evolute
le
minacce
nel
tempo
e
perché
la
OWASP
TOP
10
2013
6. Computer
Security
Timeline
1970
Nei
primi
anni
nasce
il
primo
Virus,
infeDa
gli
Apple
e
si
diffonde
tramite
Floppy.
Negli
ulGmi
anni
nascono
i
Worm,
alcuni
dei
quali
cifrano
il
disco.
ADacchi
alle
PA.
1980 1990
Blue
Box
Phreaking
da
Capitan
Crunch.
ADacchi
alle
compagnie
telefoniche.
Il
mezzo
di
propagazione
è
spesso
l’e-‐mail
e
i
bersagli
sono
i
sistemi
operaGvi
MicrosoP
(aDaccando
es.
Outlook
express).
Il
bersaglio
sono
le
persone.
7. Computer
Security
Timeline
2000
Si
denunciano
Advanced
Persistent
Threat.
I
disposiGvi
mobile
diventano
un
bersaglio
Gpico.
Sono
molto
frequenG
aDacchi
a
sfondo
poliTco.
Diventa
evidente
come
quesG
strumenG
siano
usaT
come
armi.
2010
I
Virus
aDaccano
anche
i
servizi
di
rete
(es.
Slammer,
Sasser
e
Blaster).
Iniziano
gli
aDacchi
alle
Applicazioni
Web
e
su
SCADA.
L’obieVvo
è
anche
creare
disservizi.
E’
a
tuV
gli
effeV
un
Business.
13. A10.
Unvalidated
Redirect
e
Forwards
Le
vulnerabilità
di
Gpo
Unvalidated
Redirect
e
Forwards
si
verificano
quando
daT
non
validaT
uGlizzaG
per
gesGre
redirezioni
verso
altre
pagine
o
siG,
permeDendo
di
redirezionare
l’utente
su
pagine
o
siG
terzi.
Tali
vulnerabilità
possono
essere
uGlizzate
da
malware
o
per
aDacchi
di
phishing
come
per
quesGoni
di
Black
SEO
-‐
secondo
il
parGcolare
redirect
uGlizzato
dalla
pagina.
15. A9.
Using
Components
with
Known
VulnerabiliTes
Le
vulnerabilità
di
questo
Gpo
insistono
sulla
configurazione
e
deployment
di
sistemi
e/o
applicazioni.
L’impaDo
varia
secondo
la
problemaGca
specifica,
ad
esempio
dalle
vulnerabilità
presenG
in
un
applicaGon
server
o
una
libreria
applicaGva
non
aggiornata.
La
responsabilità
dell’aggiornamento
è
per
alcuni
aspeV
sistemisTca,
per
altri
applicaTva;
altri
aggiornamenG
potrebbero
inoltre
dipendere
da
necessità
applicaGve
ma
insistere
sui
sistemi.
19. A8.
Cross
Site
Request
Forgery
(CSRF)
Le
vulnerabilità
di
questo
Gpo,
solitamente
considerate
problemaGche
nella
gesTone
della
sessione,
permeDono
di
far
eseguire
richieste
arbitrarie
ad
un
utente
verso
un’applicazione
potendone
così
sfruDare
l’accesso,
senza
che
l’utente
sia
noTficato
dell’afvità.
Il
browser,
quando
esegue
una
richiesta
verso
un’applicazione,
invia
automaGcamente
eventuali
cookie
presenG.
La
CSRF
è
parGcolarmente
criGca
per
operazioni
che
modificano
lo
stato
del
sistema.
20. Explaining
CSRF
visita
al
sito
malicious
pagina
con
la
richiesta
forgiata
esecuzione
della
richiesta
forgiata
conferma
dell’esecuzione
22. A7.
Missing
FuncTon
Level
Access
Control
Le
vulnerabilità
di
questo
Gpo
consistono
nelle
problemaGche
che
espongono
funzionalità
che
dovrebbero
invece
essere
proteDe
da
un
controllo
accessi.
Riguardano
pertanto
l’autorizzazione,
che
può
essere
gesGta
-‐
secondo
i
contesG
-‐
sia
lato
applicaGvo
che
lato
sistemisGco
(in
questo
caso
tramite
la
configurazione).
L’impaDo
dipende
dal
Gpo
di
funzionalità
cui
si
ha
accesso.
24. A6.
SensiTve
Data
Exposure
Le
vulnerabilità
di
questo
Gpo
consistono
nelle
problemaGche
che
espongono
informazioni
che
dovrebbero
invece
essere
proteDe.
Le
informazioni
devono
essere
proteDe
quando
trasmesse
(sicurezza
della
comunicazione),
quando
memorizzate
sul
server
(criDografia)
oppure
quando
vengono
inviate
al
browser
(caching).
27. A5.
Security
MisconfiguraTon
Le
vulnerabilità
di
questo
Gpo
insistono
sulla
configurazione
e
deployment
di
sistemi
e/o
applicazioni.
L’impaDo
varia
secondo
la
problemaGca
specifica,
ad
esempio
di
accedere
alle
interfacce
di
amministrazione
tramite
password
di
default.
La
responsabilità
delle
configurazioni
è
per
alcuni
aspeV
sistemisTca,
per
altri
applicaTva;
alcune
configurazioni
potrebbero
inoltre
dipendere
da
necessità
applicaGve
ma
insistere
sui
sistemi.
31. A4.
Insecure
Direct
Object
Reference
Le
vulnerabilità
di
Gpo
Insecure
Direct
Object
Reference
posso
riguardare
problemaGche
di
autorizzazione
nei
parametri
di
ingresso
che,
non
controllando
l’effeVvo
possesso
per
l’autorizzazione
di
accesso,
permeDono
l’accesso
ad
oggeV
altrimenG
non
accessibili.
Per
ogni
risorsa,
bisogna
definire
se
questa
può
essere
accessibile
da
determinaG
utenG
(anche
anonimi),
e
se
si
è
autorizzaG
alla
visualizzazione.
Spesso
questo
Gpo
di
controllo
viene
faDo
tramite
il
principio
della
“sicurezza
tramite
segretezza”,
pertanto
conoscendo
il
valore
del
parametro
è
possibile
accedervi.
33. A3.
Cross
Site
ScripTng
(XSS)
Le
vulnerabilità
di
Gpo
XSS
si
verificano
quando
daT
non
validaT
vengono
resGtuiG
al
browser,
oppure
memorizzaG
dall’applicazione
e
resGtuiG
in
un
secondo
momento,
permeDendo
quindi
di
eseguire
codice
lato
client
all’interno
del
browser
degli
utenG.
L’impaDo
di
queste
vulnerabilità
è
spesso
alto
e
permeDe
di
compromeDere
gli
utenG,
oppure
di
eseguire
dei
defacement.
37. A2.
Broken
AuthenTcaTon
and
Session
Management
Le
vulnerabilità
di
questo
Gpo
possono
riguardare
la
gesTone
della
sessione
o
insistere
sull’autenTcazione,
permeDono
di
accedere
all’applicazione
con
i
permessi
di
altri
utenG.
AutenGcazione
e
Sessione
sono
argomenG
correlaG.
Una
volta
che
l’utente
si
autenGca,
viene
idenGficato
aDraverso
l’id
di
sessione,
che
può
essere
soggeDo
ad
aDacchi
di
svariato
Gpo,
come
anche
le
credenziali,
la
schermata
di
autenTcazione
con
i
rispeVvi
errori
ed
eventuali
pagine
che
gesGscono
le
credenziali
degli
utenG,
come
la
funzionalità
di
cambio
password.
41. A1.
InjecTon
Le
vulnerabilità
di
Gpo
InjecGon
si
verificano
quando
daT
non
validaT
vengono
inviaG
come
parte
di
una
richiesta
verso
un
interprete,
permeDendo
di
eseguire
richieste
o
comandi
normalmente
non
previsG
dall’applicazione.
L’impaDo
di
queste
vulnerabilità
è
spesso
alto
e
permeDe
di
compromeDere
il
sistema
o
i
daG.