SlideShare a Scribd company logo
1 of 18
Download to read offline
www.vincenzocalabro.it
www.vincenzocalabro.it 1
1
Programmazione
Programmazione
Sicura
Sicura
www.vincenzocalabro.it
www.vincenzocalabro.it 2
2
Indice
Indice
L'importanza
L'importanza della
della protezione
protezione del
del codice
codice
Panoramica
Panoramica generale
generale sui
sui rischi
rischi
Random Input is a Good
Random Input is a Good Thing
ThingTM
TM
Azioni
Azioni di
di prevenzione
prevenzione
Auditing del
Auditing del codice
codice
Conclusione
Conclusione
Risorse
Risorse
www.vincenzocalabro.it
www.vincenzocalabro.it 3
3
L'importante
L'importante e'
e'
proteggersi
proteggersi
www.vincenzocalabro.it
www.vincenzocalabro.it 4
4
Cosa
Cosa proteggere
proteggere?
?
Applicazioni
Applicazioni per
per il
il trattamento
trattamento di
di informazioni
informazioni
riservate
riservate
Applicazioni
Applicazioni amministrative
amministrative (
(Utilizzate
Utilizzate da
da root o
root o
Administrator)
Administrator)
Servizi
Servizi di
di rete
rete (Daemons,
(Daemons, servizi
servizi, non
, non escludendo
escludendo
CGI)
CGI)
Applicazioni
Applicazioni con
con elevazioni
elevazioni di
di privilegi
privilegi (SUID)
(SUID)
www.vincenzocalabro.it
www.vincenzocalabro.it 5
5
Pitfall
Pitfall comuni
comuni
• Gratuita' nell'analisi del codice da parte dello
sviluppatore stesso
• Mancanza di auditing del codice (dovuti a
costi e tempi di sviluppo)
• Fattori esterni
• Noncuranza da parte dell'amminstratore di sistema
• Noncuranza da parte degli utenti
www.vincenzocalabro.it
www.vincenzocalabro.it 6
6
L'ambiente
L'ambiente UNIX
UNIX
Presenta
Presenta una
una forma
forma di
di autenticazione
autenticazione basata
basata
su
su login e password.
login e password.
Utilizza
Utilizza una
una tipologia
tipologia di
di controllo
controllo DAC,
DAC,
basata
basata su
su permessi
permessi di
di lettura
lettura,
, scrittura
scrittura
esecuzione
esecuzione distinti
distinti tra
tra utente
utente,
, gruppo
gruppo,
, altro
altro.
.
Ogni
Ogni utente
utente ha un
ha un userid
userid ed un
ed un groupid
groupid
numerico
numerico.
.
Permette
Permette l'elevazione
l'elevazione dei
dei privilegi
privilegi utilizzando
utilizzando
lo
lo suid
suid bit
bit sull'eseguibile
sull'eseguibile.
.
www.vincenzocalabro.it
www.vincenzocalabro.it 7
7
L'ambiente
L'ambiente NT
NT
Presenta
Presenta una
una forma
forma di
di autenticazione
autenticazione basata
basata su
su
login e password.
login e password.
Utilizza
Utilizza una
una tipologia
tipologia di
di controllo
controllo MAC,
MAC,
basandosi
basandosi su
su ACL;
ACL; il
il sistema
sistema tratta
tratta le
le proprie
proprie
risorse
risorse come
come oggetti
oggetti aventi
aventi ognuno
ognuno ACL per
ACL per
l'accesso
l'accesso.
.
Un
Un utente
utente e'
e' identificato
identificato da
da un UUID (Universal
un UUID (Universal
Unique
Unique IDentifier
IDentifier) e
) e puo
puo'
' appartenere
appartenere a
a piu
piu'
' di
di un
un
gruppo
gruppo,
, anch'essi
anch'essi identificati
identificati da
da un UUID.
un UUID.
Concede
Concede l'elevazione
l'elevazione dei
dei privilegi
privilegi mediante
mediante la
la
negoziazione
negoziazione di
di token
token di
di autenticazione
autenticazione.
.
www.vincenzocalabro.it
www.vincenzocalabro.it 8
8
Rischi
Rischi
Penetrazione
Penetrazione nel
nel sistema
sistema
Sottrazione
Sottrazione di
di informazioni
informazioni riservate
riservate
Utilizzo
Utilizzo illecito
illecito del
del sistema
sistema
Distribuited
Distribuited Denial of Service
Denial of Service
www.vincenzocalabro.it
www.vincenzocalabro.it 9
9
Elementi
Elementi
Validazione
Validazione dell’input
dell’input (boundary)
(boundary)
Escaping
Escaping
Root directory (
Root directory (chrooted
chrooted enviroment
enviroment)
)
Parametri
Parametri
Informazioni
Informazioni pregresse
pregresse (
(enviroment
enviroment)
)
File
File temporanei
temporanei (race
(race condition,link
condition,link)
)
File descriptors
File descriptors
www.vincenzocalabro.it
www.vincenzocalabro.it 10
10
Insomma
Insomma
Gli
Gli attacchi
attacchi possono
possono provenire
provenire da
da:
:
Utente
Utente (input)
(input)
Enviroment
Enviroment
Altre
Altre applicazioni
applicazioni o
o librerie
librerie agganciate
agganciate
www.vincenzocalabro.it
www.vincenzocalabro.it 11
11
Di
Di chi mi
chi mi fido
fido?
?
In
In teoria
teoria,
, nessuno
nessuno
Obbligatoriamente
Obbligatoriamente,
, il
il sistema
sistema sottostante
sottostante
Obbligatoriamente
Obbligatoriamente,
, delle
delle restrizioni
restrizioni di
di accesso
accesso
Mai,
Mai, dell’utente
dell’utente
Mai,
Mai, di
di altri
altri programmi
programmi agganciati
agganciati
Mai, del
Mai, del mio
mio output
output
www.vincenzocalabro.it
www.vincenzocalabro.it 12
12
Auditing
Auditing
I
I vantaggi
vantaggi dell’Open
dell’Open Source
Source
Beta testing
Beta testing
Utilizzo
Utilizzo di
di random input generator per
random input generator per il
il test
test
Tutto
Tutto ci
ciò
ò che
che la
la vostra
vostra mente
mente ha
ha previsto
previsto non
non
è
è nella
nella mente
mente dell’attaccante
dell’attaccante e
e viceversa
viceversa
www.vincenzocalabro.it
www.vincenzocalabro.it 13
13
Sistemi
Sistemi di
di base
base
Controllo
Controllo dell’eseguibilit
dell’eseguibilità
à dello
dello stack:
stack:
StackGuard
StackGuard (
(gcc
gcc)
)
Chrooting
Chrooting
Sanity check
Sanity check di
di qualsiasi
qualsiasi risorsa
risorsa esterna
esterna
Capabilities o drop
Capabilities o drop dei
dei privilegi
privilegi
Block by default
Block by default
www.vincenzocalabro.it
www.vincenzocalabro.it 14
14
Variabili
Variabili
Boundaries
Boundaries
Ordine degli argomenti sullo
Ordine degli argomenti sullo stack
stack
Tipo degli argomenti
Tipo degli argomenti
Parametri
Parametri
Variabili allocate dinamicamente
Variabili allocate dinamicamente
Valori accettabili (
Valori accettabili (sanity
sanity check
check)
)
www.vincenzocalabro.it
www.vincenzocalabro.it 15
15
OOP
OOP
Non vi è particolare differenza
Non vi è particolare differenza
Mantenere il
Mantenere il private
private e il
e il public
public
Il
Il garbage
garbage collector
collector
Gli oggetti importati sono sicuri?
Gli oggetti importati sono sicuri?
www.vincenzocalabro.it
www.vincenzocalabro.it 16
16
Applets
Applets
Apertura di altre finestre
Apertura di altre finestre untrusted
untrusted
Operazioni sui file del
Operazioni sui file del client
client
Aggancio di altre
Aggancio di altre applet
applet
Utilizzo di risorse del sistemi
Utilizzo di risorse del sistemi
www.vincenzocalabro.it
www.vincenzocalabro.it 17
17
Risorse
Risorse
Sikurezza
Sikurezza-
- http://
http://sikurezza.org
sikurezza.org
Mailing List
Mailing List-
- devel@sikurezza.org
devel@sikurezza.org
Security Focus
Security Focus-
- http://
http://www.securityfocus.com
www.securityfocus.com
Open Web Application Security Project
Open Web Application Security Project-
-
http://
http://www.owasp.org
www.owasp.org
Secure Programming for Linux and Unix
Secure Programming for Linux and Unix
HOWTO
HOWTO di
di David A. Wheeler
David A. Wheeler
www.vincenzocalabro.it
www.vincenzocalabro.it 18
18
GRAZIE!!!
GRAZIE!!!
Vincenzo Calabrò

More Related Content

Similar to Programmazione Sicura

Similar to Programmazione Sicura (20)

Smau Milano 2019 Luca Bonadimani (AIPSI)
Smau Milano 2019 Luca Bonadimani (AIPSI)Smau Milano 2019 Luca Bonadimani (AIPSI)
Smau Milano 2019 Luca Bonadimani (AIPSI)
 
La sicurezza delle informazioni nell’era del web 2.0
La sicurezza delle informazioni nell’era del web 2.0La sicurezza delle informazioni nell’era del web 2.0
La sicurezza delle informazioni nell’era del web 2.0
 
ODCEC IT security
ODCEC IT securityODCEC IT security
ODCEC IT security
 
Fisherman's tale easy security threat 4.0
Fisherman's tale   easy security threat 4.0Fisherman's tale   easy security threat 4.0
Fisherman's tale easy security threat 4.0
 
Forum ICT Security 2015 - Identificare gli attacchi di nuova generazione medi...
Forum ICT Security 2015 - Identificare gli attacchi di nuova generazione medi...Forum ICT Security 2015 - Identificare gli attacchi di nuova generazione medi...
Forum ICT Security 2015 - Identificare gli attacchi di nuova generazione medi...
 
La sicurezza informatica nello studio legale
La sicurezza informatica nello studio legaleLa sicurezza informatica nello studio legale
La sicurezza informatica nello studio legale
 
Data Breach e Garante Privacy: Problemi e soluzioni
Data Breach e Garante Privacy: Problemi e soluzioniData Breach e Garante Privacy: Problemi e soluzioni
Data Breach e Garante Privacy: Problemi e soluzioni
 
Sicurezza Informatica Evento AITA Genova
Sicurezza Informatica Evento AITA GenovaSicurezza Informatica Evento AITA Genova
Sicurezza Informatica Evento AITA Genova
 
Antivirus & Antivirus Evasion
Antivirus & Antivirus EvasionAntivirus & Antivirus Evasion
Antivirus & Antivirus Evasion
 
Come recuperare file crittografati da diversi dispositivi [2022].pdf
Come recuperare file crittografati da diversi dispositivi [2022].pdfCome recuperare file crittografati da diversi dispositivi [2022].pdf
Come recuperare file crittografati da diversi dispositivi [2022].pdf
 
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceLinux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
 
Programma il futuro: una scelta open source
Programma il futuro: una scelta open sourceProgramma il futuro: una scelta open source
Programma il futuro: una scelta open source
 
Guardigli Sicurezza Nell Informatica Aziendale 3 4 Nov 2005
Guardigli Sicurezza Nell Informatica Aziendale 3 4 Nov 2005Guardigli Sicurezza Nell Informatica Aziendale 3 4 Nov 2005
Guardigli Sicurezza Nell Informatica Aziendale 3 4 Nov 2005
 
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...
 
Safe check up - Firmware_aggiornamento - 22feb2012
Safe check up - Firmware_aggiornamento - 22feb2012Safe check up - Firmware_aggiornamento - 22feb2012
Safe check up - Firmware_aggiornamento - 22feb2012
 
Presentazione WebRroot @ VMUGIT UserCon 2015
Presentazione WebRroot @ VMUGIT UserCon 2015Presentazione WebRroot @ VMUGIT UserCon 2015
Presentazione WebRroot @ VMUGIT UserCon 2015
 
ICDL/ECDL FULL STANDARD - IT SECURITY - CONCETTI di SICUREZZA - MINACCE ai DA...
ICDL/ECDL FULL STANDARD - IT SECURITY - CONCETTI di SICUREZZA - MINACCE ai DA...ICDL/ECDL FULL STANDARD - IT SECURITY - CONCETTI di SICUREZZA - MINACCE ai DA...
ICDL/ECDL FULL STANDARD - IT SECURITY - CONCETTI di SICUREZZA - MINACCE ai DA...
 
L'impatto di ACME e Internal PKI nella sicurezza di medio-grandi infrastrutture
L'impatto di ACME e Internal PKI nella sicurezza di medio-grandi infrastruttureL'impatto di ACME e Internal PKI nella sicurezza di medio-grandi infrastrutture
L'impatto di ACME e Internal PKI nella sicurezza di medio-grandi infrastrutture
 
Ransomware Attack nel 2019 Dal file system ai database e non solo...
Ransomware Attack nel 2019 Dal file system ai database e non solo...Ransomware Attack nel 2019 Dal file system ai database e non solo...
Ransomware Attack nel 2019 Dal file system ai database e non solo...
 
La sicurezza delle informazioni nell’era del Web 2.0
La sicurezza delle informazioni nell’era del Web 2.0La sicurezza delle informazioni nell’era del Web 2.0
La sicurezza delle informazioni nell’era del Web 2.0
 

More from Vincenzo Calabrò

La timeline: aspetti tecnici e rilevanza processuale
La timeline: aspetti tecnici e rilevanza processualeLa timeline: aspetti tecnici e rilevanza processuale
La timeline: aspetti tecnici e rilevanza processuale
Vincenzo Calabrò
 
Il Diritto Processuale Penale dell’Informatica e le Investigazioni Informatiche
Il Diritto Processuale Penale dell’Informatica e le Investigazioni InformaticheIl Diritto Processuale Penale dell’Informatica e le Investigazioni Informatiche
Il Diritto Processuale Penale dell’Informatica e le Investigazioni Informatiche
Vincenzo Calabrò
 
Approccio all’Analisi Forense delle Celle Telefoniche
Approccio all’Analisi Forense delle Celle TelefonicheApproccio all’Analisi Forense delle Celle Telefoniche
Approccio all’Analisi Forense delle Celle Telefoniche
Vincenzo Calabrò
 

More from Vincenzo Calabrò (20)

Vincenzo Calabrò - Generazione ed Analisi di una Timeline Forense
Vincenzo Calabrò - Generazione ed Analisi di una Timeline ForenseVincenzo Calabrò - Generazione ed Analisi di una Timeline Forense
Vincenzo Calabrò - Generazione ed Analisi di una Timeline Forense
 
Vincenzo Calabrò - Tracciabilita' delle Operazioni in Rete e Network Forensics
Vincenzo Calabrò - Tracciabilita' delle Operazioni in Rete e Network ForensicsVincenzo Calabrò - Tracciabilita' delle Operazioni in Rete e Network Forensics
Vincenzo Calabrò - Tracciabilita' delle Operazioni in Rete e Network Forensics
 
Vincenzo Calabrò - Strumenti e Tecniche per la creazione di un Falso Alibi In...
Vincenzo Calabrò - Strumenti e Tecniche per la creazione di un Falso Alibi In...Vincenzo Calabrò - Strumenti e Tecniche per la creazione di un Falso Alibi In...
Vincenzo Calabrò - Strumenti e Tecniche per la creazione di un Falso Alibi In...
 
Vincenzo Calabrò - Evidenza Digitale e Informatica Forense
Vincenzo Calabrò - Evidenza Digitale e Informatica ForenseVincenzo Calabrò - Evidenza Digitale e Informatica Forense
Vincenzo Calabrò - Evidenza Digitale e Informatica Forense
 
Vincenzo Calabrò - Modalità di intervento del Consulente Tecnico
Vincenzo Calabrò - Modalità di intervento del Consulente TecnicoVincenzo Calabrò - Modalità di intervento del Consulente Tecnico
Vincenzo Calabrò - Modalità di intervento del Consulente Tecnico
 
La Riduzione del Rischio - D.Lgs. 231/2001
La Riduzione del Rischio - D.Lgs. 231/2001La Riduzione del Rischio - D.Lgs. 231/2001
La Riduzione del Rischio - D.Lgs. 231/2001
 
Le Best Practices per proteggere Informazioni, Sistemi e Reti
Le Best Practices per proteggere Informazioni, Sistemi e RetiLe Best Practices per proteggere Informazioni, Sistemi e Reti
Le Best Practices per proteggere Informazioni, Sistemi e Reti
 
Open vs. Closed Source
Open vs. Closed SourceOpen vs. Closed Source
Open vs. Closed Source
 
La Privacy: Protezione dei Dati Personali
La Privacy: Protezione dei Dati PersonaliLa Privacy: Protezione dei Dati Personali
La Privacy: Protezione dei Dati Personali
 
Reti di Calcolatori
Reti di CalcolatoriReti di Calcolatori
Reti di Calcolatori
 
Implementazione Politiche di Sicurezza
Implementazione Politiche di SicurezzaImplementazione Politiche di Sicurezza
Implementazione Politiche di Sicurezza
 
Criticita Sistemi Informatici
Criticita Sistemi InformaticiCriticita Sistemi Informatici
Criticita Sistemi Informatici
 
Introduzione alla Sicurezza Informatica
Introduzione alla Sicurezza InformaticaIntroduzione alla Sicurezza Informatica
Introduzione alla Sicurezza Informatica
 
OpenID Connect 1.0: verifica formale del protocollo in HLPSL
OpenID Connect 1.0: verifica formale del protocollo in HLPSLOpenID Connect 1.0: verifica formale del protocollo in HLPSL
OpenID Connect 1.0: verifica formale del protocollo in HLPSL
 
Il Cloud Computing: la nuova sfida per legislatori e forenser
Il Cloud Computing: la nuova sfida per legislatori e forenserIl Cloud Computing: la nuova sfida per legislatori e forenser
Il Cloud Computing: la nuova sfida per legislatori e forenser
 
La timeline: aspetti tecnici e rilevanza processuale
La timeline: aspetti tecnici e rilevanza processualeLa timeline: aspetti tecnici e rilevanza processuale
La timeline: aspetti tecnici e rilevanza processuale
 
Il Diritto Processuale Penale dell’Informatica e le Investigazioni Informatiche
Il Diritto Processuale Penale dell’Informatica e le Investigazioni InformaticheIl Diritto Processuale Penale dell’Informatica e le Investigazioni Informatiche
Il Diritto Processuale Penale dell’Informatica e le Investigazioni Informatiche
 
Proteggiamo I Dati
Proteggiamo I DatiProteggiamo I Dati
Proteggiamo I Dati
 
Approccio all’Analisi Forense delle Celle Telefoniche
Approccio all’Analisi Forense delle Celle TelefonicheApproccio all’Analisi Forense delle Celle Telefoniche
Approccio all’Analisi Forense delle Celle Telefoniche
 
L'Alibi Informatico: aspetti tecnici e giuridici.
L'Alibi Informatico: aspetti tecnici e giuridici.L'Alibi Informatico: aspetti tecnici e giuridici.
L'Alibi Informatico: aspetti tecnici e giuridici.
 

Programmazione Sicura