Sicurezza è “protezione”, sintetizza il creatore dell’OSSTMM. Quando sviluppiamo applicazioni, i nostri “beni” vanno protetti dalle “minacce” tramite alcuni “controlli”. Il talk spiegherà, tramite un linguaggio semplice ed esempi, come proteggere le applicazioni Mobile e le varie componenti andando in profondità con l’approccio OSSTMM nei temi di OWASP e del Mobile: capire i controlli più efficaci e convenienti. Dopo una breve introduzione sull’OSSTMM verrà effettata la modellazione delle minacce su un tipico scenario mobile e quindi capire quali controlli applicare.
26. category opesec limita;ons
Visibility Exposure!
opera;ons
Access
Vulnerability!
Trust
Authen;ca;on
Indemnifica;on
Class
A Resiliance Weakness!
Subguga;on
Con;nuity
controls
Non-‐Repudia;on
Confiden;ality
Class
B Privacy Concern!
Integrity
Alarm
Anomalies
OSSTMM
-‐
Limita;ons
mapping
27. “Conosci
il
tuo
nemico”
–
Sun
Tzu
(L’arte
della
guerra)
THREAT
MODELING
FOR
DUMMIES
28. Minacce
e
ARacchi
Mobile Web
Server Applica;on
Server Database
server
App
D.V.
Web
Service
S.M.
HTTP/CM
D.V.
(I/O)
Source
T.L.P
D.A.
B.L.
AT Data
E.H.A.L.
AZ
API
/
Apps
E.H.A.L. E.H.A.L. E.H.A.L
O.S. FS
Host Host Host
HW
Beni
Stru?ura
;po
di
una
app
mobile
MVC
39. “never
trust
the
user
input,
output
too”
DATA
VALIDATION
(INPUT/OUTPUT)
40. M4
Client
Side
Injec;on,
M7
Security
Decisions
via
untrusted
inputs
Au Id Re Su Ct NR Cf Pr It Al
Data
Valida$on
su
Mobile
verificare
SEMPRE
i
da7
che
riceviamo
codice
(X)HTML
URL/URI
con
vari
protocolli
privilegi
minini
per
le
applicazioni
le
sandbox
42. M2
Weak
Server
side
controls
(OWASP
TOP
10
WEB
in
generale)
Au Id Re Su Ct NR Cf Pr It Al
Il
web
server
(Data
Valida$on
e
altro...)
anche
se
i
da7
sono
gia
sta7
valida7
dall’applicazione,
vanno
verifica7
anche
sul
server*
(inoltre
anche
la
componente
web
deve
essere
proteQa)
43. “Avrebbero
potuto
analizzare
e
meVere
su
carta,
nei
minimi
parWcolari,
tuVo
quello
che
s'era
faVo,
s'era
deVo
e
s'era
pensato”
–
Winston
Smith
(1984)
ERROR
HANDLING
AND
LOGGING
44. M8
Side
Channel
Data
Leakage
Au Id Re Su Ct NR Cf Pr It Al
File
System
non
devono
essere
salvate
informazioni
riservate
su
filesystem
(chache,
log,
screenshot,
temp)
cancellare
sempre
i
file
dopo
l’u7lizzo...
...
e
aQenzione
ai
permessi
sui
file!
46. “Sì,
ma
tu
chi
sei?”
–
Neo
a
Seraph
(The
Matrix:
Reloaded)
AUTENTICAZIONE
(AT)
47. M5
Poor
Authen;ca;on
and
Authoriza;on
Au Id Re Su Ct NR Cf Pr It Al
Il
sistema
di
auten$cazione
Implementata
lato
server
AVenzione
ad
usare
idenWficaWvi
hw
ProteVa
nella
comunicazione
(TLP*)
49. “sa
dirmi
cosa
darebbe
pur
di
mantenere
viva
tale
interazione?”
–
Rama
(The
Matrix:
RevoluWons)
SESSION
MANAGEMENT
(S.M.)
50. M6
Session
Handling
(Session
Fixa;on,
Session
Hijacking/Cookie
Stealing,
Session
ID
Analysis)
Au Id Re Su Ct NR Cf Pr It Al
La
sessione
di
per
se
(tra
device
e
server)
Sempre
verificata
Non
permeVere
sessioni
contemporanee*
DistruVa
per
Wmeout
relaWvo
e
assoluto
(cookie,
token,
oauth)
52. “Sei
sicuro
che
questa
linea
è
sicura?”
–
Trinity
(The
Matrix)
TRANSPORT
LAYER
PROTECTION
53. M3
Insufficent
Transport
Layer
Protec;on
Au Id Re Su Ct NR Cf Pr It Al
La
comunicazione
Vanno
proteU
tuU
i
da7
sensibili
(credenziali,
id
di
sessione,
cookie,
da7
degli
uten7…)
55. “Ecco
faVo,
il
segreto
è
questo”
–
Oracolo
(The
Matrix
-‐
RevoluWons)
DATI
(CODICE
E
SEGRETI)
56. M10
Informa;on
disclosure
Au Id Re Su Ct NR Cf Pr It Al
Il
codice
sorgente
password
o
altre
informazioni
sensibili
hardcoded
algoritmi
e
procedure
proprietarie
57. M9
Broken
Crypto
M1
Insecure
Data
Storage
Au Id Re Su Ct NR Cf Pr It Al
I
da$
da
mantenere
segre$
U7lizzare
le
Crypto
API
specifiche
del
S.O.
evitare
il
filesystem
tenerla
sul
server