In questa presentazione viene descritto un possibile approccio alla messa insicurezza di codice legacy attraverso l'utilizzo di svariati progetti OWASP.
Demystify web application vulnerability assessmentAntonio Parata
In questa presentazione vengono trattati vari argomenti relativi al security testing e a come automatizzarli. Vengono inoltre fornite dei casi d'uso di automazione all'interno di un SDLC.
Mamma, da grande voglio essere un Penetration Tester HackInBo 2016 WinterSimone Onofri
L'interesse per la Sicurezza delle Informazioni e della Sicurezza IT è in continua crescita. In un mondo dove l'informazione è una risorsa chiave della nostra vita lavorativa e non, la protezione delle informazioni e delle varie tecnologie che la gestiscono sono aspetti fondamentali. Dai tempi di "How to became a Hacker" e dell"Hacker's Manifesto", molti hacker diventano un consulenti che aiutano le organizzazione private e/o pubbliche Un mondo con diverse sfumature di grigio, questioni etiche e morali. Grazie anche all'influeza di film come Wargames o Matrix e telefilm come Mr. Robot, in molti sono interessati ad essere Security Consultant, Penetration Tester, Security Researcher (che non sono esattamente la stessa cosa). Il talk è una riflessione per destreggiarsi e ragionare su domande tipiche come: quali certificazioni? Quali corsi? Quali sono le competenze? L'approccio da usare? La strada da percorrere?
Hackers vs Developers - Cross Site Scripting (XSS) Attacco e difesaSimone Onofri
E’ da poco stata pubblicata la nuova versione della OWASP Testing Guide che – nella versione 4 – aggiorna, amplia e completa la versione precedente. Comprende inoltre tre paragrafi specifici per i test dei Cross Site Scripting e altri che comprendono impatti simili. Non è un caso che nella TOP 10 2013 troviamo il Cross Site Scripting al terzo posto. Durante il talk ci focalizzeremo sul Cross Site Scripting e quali sono i vari metodi di attacco e difesa di questa vulneraiblità che – spesso sottovalutata – può portare anche al defacement di un sito web.
Cross Site Scripting (XSS) Defense with JavaJim Manico
Cross Site Scripting Defense is difficult. The Java Programming language does not provide native key defenses necessary to throughly prevent XSS. As technologies such as Content Security Policy emerge, we still need pragmatic advice to stop XSS in legacy applications as well as new applications using traditional Java frameworks. First generation encoding libraries had both performance and completeness problems that prevent developers from through, production-safe XSS defense. This talk will deeply review the OWASP Java Encoder Project and the OWASP HTML Sanitizer Project and give detailed code samples highlighting their use. Additional advice on next-generation JavaScript and JSON workflows using the OWASP JSON Sanitizer will also be reviewed.
Sicurezza Applicatica Dalla Teoria Alla PraticaPaolo Perego
[Italian language only, sorry]
Presentazione per il security summit dove vengono illustrate le iniziative Owasp per la tematica di code review.
Viene data un'overview sulla code review guide, sul progetto Orizon e sul progetto O2
Un CMS vulnerabile può permettere a un attaccante di prendere il pieno controllo del sito (Blog, Forum, e-commerce, etc.), fornendo la possibilità di modificare i contenuti, creare e rimuovere utenti e nel caso peggiore ottenere persino il controllo del server su cui è installato. Sempre più aziende ed enti istituzionali adottano questi strumenti, ma quali sono i vantaggi e che livello di sicurezza garantiscono gli attuali CMS? Affronteremo queste tematiche servendoci di metodologie e strumenti automatici di verifica delle vulnerabilità.
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceMario Rossano
Slide di presentazione del progetto Programma Il Futuro (http://www.programmailfuturo.it) che mi ha visto come progettista del software in cooperazione con Marco Ferrigno che ha curato l'infrastruttura di rete.
Il progetto, ideato dal prof. Giorgio Ventre (Univ. "Federico II" di Napoli) ed il prof. Enrico Nardelli (Univ. di Roma "Tor Vergata") per il CINI (Consorzio Interuniversitario Nazionale per l'Informatica) ed il MIUR (Ministero dell'Istruzione, Università e Ricerca), fa parte de "La Buona Scuola", iniziativa promossa dal Ministro Giannini, in collegamento con il progetto internazionale Code.org tra i cui testimonial Barak Obama.
Il portale, che è il primo ad integrare la crittografia frattale FNA che ho sviluppato, ha come cuore il sistema di registrazione con profilazione capillare - a nodi - degli utenti, ed il bridge di comunicazione (un hack) verso il sistema di registrazione di code.org e di hourofcode.com.
Nelle slides i link ipertestuali verso pastebin.com dove sono riportate alcune parti del codice crittografico e del bridge in Perl.
Demystify web application vulnerability assessmentAntonio Parata
In questa presentazione vengono trattati vari argomenti relativi al security testing e a come automatizzarli. Vengono inoltre fornite dei casi d'uso di automazione all'interno di un SDLC.
Mamma, da grande voglio essere un Penetration Tester HackInBo 2016 WinterSimone Onofri
L'interesse per la Sicurezza delle Informazioni e della Sicurezza IT è in continua crescita. In un mondo dove l'informazione è una risorsa chiave della nostra vita lavorativa e non, la protezione delle informazioni e delle varie tecnologie che la gestiscono sono aspetti fondamentali. Dai tempi di "How to became a Hacker" e dell"Hacker's Manifesto", molti hacker diventano un consulenti che aiutano le organizzazione private e/o pubbliche Un mondo con diverse sfumature di grigio, questioni etiche e morali. Grazie anche all'influeza di film come Wargames o Matrix e telefilm come Mr. Robot, in molti sono interessati ad essere Security Consultant, Penetration Tester, Security Researcher (che non sono esattamente la stessa cosa). Il talk è una riflessione per destreggiarsi e ragionare su domande tipiche come: quali certificazioni? Quali corsi? Quali sono le competenze? L'approccio da usare? La strada da percorrere?
Hackers vs Developers - Cross Site Scripting (XSS) Attacco e difesaSimone Onofri
E’ da poco stata pubblicata la nuova versione della OWASP Testing Guide che – nella versione 4 – aggiorna, amplia e completa la versione precedente. Comprende inoltre tre paragrafi specifici per i test dei Cross Site Scripting e altri che comprendono impatti simili. Non è un caso che nella TOP 10 2013 troviamo il Cross Site Scripting al terzo posto. Durante il talk ci focalizzeremo sul Cross Site Scripting e quali sono i vari metodi di attacco e difesa di questa vulneraiblità che – spesso sottovalutata – può portare anche al defacement di un sito web.
Cross Site Scripting (XSS) Defense with JavaJim Manico
Cross Site Scripting Defense is difficult. The Java Programming language does not provide native key defenses necessary to throughly prevent XSS. As technologies such as Content Security Policy emerge, we still need pragmatic advice to stop XSS in legacy applications as well as new applications using traditional Java frameworks. First generation encoding libraries had both performance and completeness problems that prevent developers from through, production-safe XSS defense. This talk will deeply review the OWASP Java Encoder Project and the OWASP HTML Sanitizer Project and give detailed code samples highlighting their use. Additional advice on next-generation JavaScript and JSON workflows using the OWASP JSON Sanitizer will also be reviewed.
Sicurezza Applicatica Dalla Teoria Alla PraticaPaolo Perego
[Italian language only, sorry]
Presentazione per il security summit dove vengono illustrate le iniziative Owasp per la tematica di code review.
Viene data un'overview sulla code review guide, sul progetto Orizon e sul progetto O2
Un CMS vulnerabile può permettere a un attaccante di prendere il pieno controllo del sito (Blog, Forum, e-commerce, etc.), fornendo la possibilità di modificare i contenuti, creare e rimuovere utenti e nel caso peggiore ottenere persino il controllo del server su cui è installato. Sempre più aziende ed enti istituzionali adottano questi strumenti, ma quali sono i vantaggi e che livello di sicurezza garantiscono gli attuali CMS? Affronteremo queste tematiche servendoci di metodologie e strumenti automatici di verifica delle vulnerabilità.
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceMario Rossano
Slide di presentazione del progetto Programma Il Futuro (http://www.programmailfuturo.it) che mi ha visto come progettista del software in cooperazione con Marco Ferrigno che ha curato l'infrastruttura di rete.
Il progetto, ideato dal prof. Giorgio Ventre (Univ. "Federico II" di Napoli) ed il prof. Enrico Nardelli (Univ. di Roma "Tor Vergata") per il CINI (Consorzio Interuniversitario Nazionale per l'Informatica) ed il MIUR (Ministero dell'Istruzione, Università e Ricerca), fa parte de "La Buona Scuola", iniziativa promossa dal Ministro Giannini, in collegamento con il progetto internazionale Code.org tra i cui testimonial Barak Obama.
Il portale, che è il primo ad integrare la crittografia frattale FNA che ho sviluppato, ha come cuore il sistema di registrazione con profilazione capillare - a nodi - degli utenti, ed il bridge di comunicazione (un hack) verso il sistema di registrazione di code.org e di hourofcode.com.
Nelle slides i link ipertestuali verso pastebin.com dove sono riportate alcune parti del codice crittografico e del bridge in Perl.
Programma il futuro: una scelta open sourceMarco Ferrigno
Un'analisi tecnica dello strumento che avrà un grande impatto culturale sul futuro del nostro Paese: Programma Il Futuro. Nato da un'idea che ha visto coinvolti Il MIUR, il CINI – Consorzio Interuniversitario Nazionale per l’Informatica - e aziende IT intervenute come sponsor, l'iniziativa ha l’obiettivo di fornire alle scuole una serie di strumenti semplici, divertenti e facilmente accessibili per formare gli studenti ai concetti di base dell'informatica. Il fine ultimo è dunque la formazione sin dalla tenera età del pensiero computazionale. Scopriremo insieme al collega Mario Rossano (responsabile della progettazione software) il perchè di un approccio opensource ad un progetto ad elevata criticità per il sistema Paese.
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Codemotion
Realizzare un’unica piattaforma che garantisce Omni-channel, Zero-downtime, Functional-decomposition e Auto-scaling è possibile? Vi raccontiamo un caso reale di come, utilizzando Zuul, Eureka, SpringBoot, Docker abbiamo realizzato i desideri del cliente e attuato questa trasformazione.
In Aziende medio grandi, con centinaia di postazioni di lavoro, dispositivi mobile e server in cloud e on premises, la Digital Forensics e soprattutto l’approccio DFIR sono strumenti fondamentali per gestire in efficienza ed efficacia situazioni di incident handling come data breach o violazione dei sistemi, ma anche per la gestione di indagini e investigazioni informatiche aziendali per la tutela del patrimonio aziendale: proprietà intellettuale, protezione dati, dipendenti infedeli, furti di informazioni riservate; inoltre processi e strumenti della DF e della DFIR possono essere usati proficuamente per Audit di sicurezza in ambito ISO, Dlgs 231/01, GDPR, COBIT, etc.. garantendo una raccolta delle prove di tipo "forense".
Velociraptor e AWX Ansible due strumenti open molto diversi che si usano in ambito corporate per eseguire indagini informatiche e raccogliere prove su larga scala con modalità forensi.
Come mettere in sicurezza le applicazioni legacy, un approccio pragmatico
1. Come
me&ere
in
sicurezza
le
applicazioni
Legacy:
un
approccio
pragma5co
Antonio
Parata
-‐
an.parata@reply.it
Roma
12/12/2014
2. Chi
sono?
-‐ Head del gruppo di R&D di Reply Communica6on
Valley
-‐ Un appassionato di programmazione funzionale
(F#) e sviluppatore (hDp://nebula.tools)
-‐ Un appassionato di soIware security
-‐ Membro del board di OWASP Italy (Co-‐Autore
della OWASP Tes6ng Guide v2 e v3)
3. Introduzione
Che cosa si intende per applicazione Legacy?
-‐ Un’applicazione difficile da modificare/aggiornare
-‐ Un’applicazione senza documentazione
-‐ Un’applicazione scriDa “molto tempo fa” (… in cobol)
“…to me, legacy code is simply code without tests.”
Michael C. Feathers autore di Working Effec6vely With Legacy Code
4. Introduzione
Perché parlare di applicazioni legacy?
Un approccio pragma6co
– Il goal è meDere in sicurezza l’applicazione e non
apprendere le tecniche per compromeDerla
sfruDando le vulnerabilità iden6ficate
– Dovete comunque sapere quali sono le
vulnerabilità più impaDan6
5. Approccio
1. Eseguire agvità di assessment per valutare lo
stato aDuale della sicurezza
2. Avviare agvità mirate alla messa in sicurezza
del codice
-‐ Non limitarsi a fixare soltanto le vulnerabilità
iden6ficate
3. Verifica dei progressi
6. Approccio
Quali agvità è consigliabile avviare per prima?
-‐ Code Inspec6on
-‐ Security Tes6ng
-‐ Penetra6on Test
Ref.Capers
Jones
-‐
SoIware
Engineering
Best
Prac5ces.
Lessons
from
Successful
Projects
in
the
Top
Companies
(McGraw-‐Hill,
2010)
7. OWASP
Top
Ten
U6lizzata per avere un’idea
delle vulnerabilità più
cri6che
Abbastanza snella da
essere leDa anche dai non
esper6 del seDore
8. OWASP
-‐
Proac5ve
Controls
for
Developers
Fornisce una Top Ten dei controlli di sicurezza più
importan6 da considerare all’interno della
propria applicazione
9. OWASP
-‐
Proac5ve
Controls
for
Developers
-‐
Parameterize
Queries
$stmt = $dbh->prepare("update users set
email=:new_email where id=:user_id");
$stmt->bindParam(':new_email', $email);
$stmt->bindParam(':user_id', $id);
10. OWASP
-‐
Proac5ve
Controls
for
Developers
–
Encode
Data
Si comincia con < per finire con
11. OWASP
-‐
Proac5ve
Controls
for
Developers
–
Encode
Data
La maggior parte dei Web Framework moderni hanno capability di
encoding preconfigurate al loro interno
Se siete nel dubbio:
Ruby on Rails
– hDp://api.rubyonrails.org/classes/ERB/U6l.html
Reform Project
– Java, .NET v1/v2, PHP, Python, Perl, JavaScript, Classic ASP
– hDps://www.owasp.org/index.php/Category:OWASP_Encoding_Project
ESAPI
– PHP.NET, Python, Classic ASP, Cold Fusion
– hDps://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API
.NET An6XSS Library (v4.3 NuGet released June 2, 2014)
– hDp://www.nuget.org/packages/An6Xss/
12. OWASP
-‐
Proac5ve
Controls
for
Developers
–
Validate
All
Inputs
In buona parte dei casi l’input aDeso ha un
formato prestabilito…
…Verificate che sia effegvamente cosi!
Approcci:
Whitelist à ciò che non è permesso è rifiutato
Blacklist àciò che è malevolo è bloccato
13. OWASP
-‐
Proac5ve
Controls
for
Developers
–
Implement
Appropriate
Access
Controls
Esistenza di modelli consolida6: RBAC, ACL
Il controllo di accesso può essere abbastanza
complesso da implementare, alcuni
accorgimen6:
-‐ TuDe le richieste devono passare dal controllo
d’accesso
-‐ Deny by default
-‐ Don't reinvent the wheel
14. OWASP
-‐
Proac5ve
Controls
for
Developers
–
Establish
Iden5ty
and
Authen5ca5on
Controls
Auten6cazione è il processo che verifica che
un’en6tà è effegvamente chi dice di essere.
Una volta auten6cato 6picamente viene avviata una
sessione
Assicuratevi che
-‐ Le password siano “saltate” e conservate in modalità
sicura (ad esempio u6lizzando BCrypt)
-‐ Il token di sessione sia debitamente proteDo e non
predicibile (in genere affidarsi ai meccanismi del
framework soDostante è la soluzione più semplice)
15. OWASP
-‐
Proac5ve
Controls
for
Developers
–
Protect
Data
and
Privacy
Quando inviate da6 sensibili sulla rete
preoccupatevi di proteggerli accuratamente
-‐ U6lizzate HTTPS per la trasmissione di da6
sensibili
-‐ U6lizzate dei meccanismi an<tampering per
assicurare che il dato non possa essere
modificato arbitrariamente
16. OWASP
-‐
Proac5ve
Controls
for
Developers
–
Implemen5ng
Loggin
and
Intrusion
Detec5on
Logging non è solo per la fase di debugging
Assicuratevi di:
-‐ EffeDuare il logging di tuDe le operazioni considerate
sensibili (login, cambio password, …)
-‐ Conservate i log in un “posto sicuro”
-‐ Non inserite all’interno dei log informazioni sensibili
(password, token di sessione, etc…)
Assicuratevi che i log siano vis6 o analizza6 da qualcuno/
qualcosa e che in caso di problemi vengano genera6 degli
allarmi tempes6vi
17. OWASP
-‐
Proac5ve
Controls
for
Developers
–
Leverage
Security
Features
of
Frameworks
and
Security
Libraries
A seconda del linguaggio u6lizzato esistono
framework che forniscono una base per la
creazione dei vari meccanismi di sicurezza
Tipicamente ben scrig e con una codebase
consolidata
Preoccupatevi comunque di tenerli sempre
aggiorna6
18. OWASP
-‐
Proac5ve
Controls
for
Developers
–
Include
Security-‐Specific
Requirements
Non è mai troppo tardi per considerare dei nuovi
security requirements
Considerate:
1. Security Features and Func6ons
2. Business Logic Abuse Cases
3. Data Classifica6on and Privacy Requirements
19. OWASP
-‐
Proac5ve
Controls
for
Developers
–
Design
and
Architect
Security
In
In applicazioni legacy difficilmente potrà essere
modificata l’architeDura, cercate però di
considerare
-‐ La superficie di aDacco
-‐ Gli eventuali framework u6lizza6
-‐ Spefiche vulnerabilità derivan6 dal linguaggio
e/o tools u6lizza6
20. Mi
fido
ma
verifico
OWASP -‐ Proac6ve Controls for Developers è una
guida che aiuta gli sviluppatori a meDere in
sicurezza il codice della propria applicazione
Serve però verificare che il codice sia stato
effegvamente messo in sicurezza.
OWASP Applica6on Security Verifica6on
Standard (ASVS)
21. OWASP
-‐
ASVS
“The primary aim of the OWASP Applica6on
Security Verifica6on Standard (ASVS) Project is to
normalize the range in the coverage and level of
rigor available in the market when it comes to
performing Web applica6on security verifica6on
using a commercially-‐workable open standard.”
h&ps://www.owasp.org/index.php/Category:OWASP_Applica5on_Security_Verifica5on_Standard_Project
24. Conclusioni
1. Verificare il proprio stato
eseguendo agvità con valore
comprovato
-‐ Security Tes6ng
-‐ Code Inspec6on
2. Applicare controlli ogmali di
sicurezza nel codice (Proac6ve
Controls)
3. Verificare l’andamento (ASVS)
4. Ripetere dal punto 1 con
cadenza periodica