Un viaggio nei miei 7 anni in Google, le cose che ho imparato sul security testing su larga scala - quello che funziona, e quello che non funziona.
Presentato per la prima volta ad HackInBo 2018
Marco Arena - Perché nel 2015 parliamo ancora di C++? | Codemotion Milan 2015Codemotion
Un sacco di applicazioni che utilizziamo quotidianamente sono sviluppate in C++. Per esempio, se stai leggendo questo abstract in un browser, allora probabilmente stai usando un software scritto in C++. Nonostante la diffusione di tanti altri eccellenti linguaggi, perché il C++ è ancora così utilizzato? Sapevi che nel 2014 è stato il secondo linguaggio più amato della SO Developer Survey? Cosa offre in più rispetto ad altre tecnologie? Presenterò la mia visione, e anche alcuni “segreti” che rendono il C++ speciale ed evoluto.
Webinar: "Conosci la Performance Intelligence?" a cura d A. SzambelanMiriade Spa
Webinar dedicato a Confio, membro della famiglia di nuovi strumenti di Performance Intelligence che utilizzano le tecniche di analisi maturate nel campo Business Intelligence per esaminare problemi prestazionali e ottimizzare consumo delle risorse IT.
Confio Ignite si racconta attraverso le storie di Database Monsters -- le problematiche più comuni e più insidiose che ogni DBA deve affrontare: Il Divoratore Di Risorse, Il PerdiTempo, Il Vandalo Virtuale, Il Placcatore e Lo Scaricabarile.
About the speaker: Agnieszka Szambelan è Solution Architect e Database Expert con oltre 15 anni di esperienza nel campo. Research & Development Team Leader in Miriade.
Marco Arena - Perché nel 2015 parliamo ancora di C++? | Codemotion Milan 2015Codemotion
Un sacco di applicazioni che utilizziamo quotidianamente sono sviluppate in C++. Per esempio, se stai leggendo questo abstract in un browser, allora probabilmente stai usando un software scritto in C++. Nonostante la diffusione di tanti altri eccellenti linguaggi, perché il C++ è ancora così utilizzato? Sapevi che nel 2014 è stato il secondo linguaggio più amato della SO Developer Survey? Cosa offre in più rispetto ad altre tecnologie? Presenterò la mia visione, e anche alcuni “segreti” che rendono il C++ speciale ed evoluto.
Webinar: "Conosci la Performance Intelligence?" a cura d A. SzambelanMiriade Spa
Webinar dedicato a Confio, membro della famiglia di nuovi strumenti di Performance Intelligence che utilizzano le tecniche di analisi maturate nel campo Business Intelligence per esaminare problemi prestazionali e ottimizzare consumo delle risorse IT.
Confio Ignite si racconta attraverso le storie di Database Monsters -- le problematiche più comuni e più insidiose che ogni DBA deve affrontare: Il Divoratore Di Risorse, Il PerdiTempo, Il Vandalo Virtuale, Il Placcatore e Lo Scaricabarile.
About the speaker: Agnieszka Szambelan è Solution Architect e Database Expert con oltre 15 anni di esperienza nel campo. Research & Development Team Leader in Miriade.
La sicurezza delle Web Application - SMAU Business Bari 2013Massimo Chirivì
Durante lo sviluppo di siti web o web application l’implementazione della sicurezza dovrebbe essere una della fasi più importanti che uno sviluppatore dovrebbe eseguire, spesso però le soluzioni proposte non sono proprio “sicure”.Il talk mira a illustrare le principali tematiche relative all’argomento con un introduzione al Penetration Testing su web application.
Per quando ti serve la presentazione? – ASAP Quando prevedi di lanciare la prossima versione del sito? – ASAP Hai eseguito i controlli di security come da linee guida aziendali? – Uh?
In questi anni, nel mondo IT regna incontrastata una sola parola: ASAP. Tutto deve essere fatto prima di ieri, ovviamente al minor costo possibile. Provate a pensare se questo criterio fosse stato usato quando hanno costruito il tetto della vostra casa o il circuito frenante della vostra auto potente. Bhe, in realtà voi usate questo approccio quando costruite il vostro business aziendale.
In questa sfrenata corsa a scegliere la miglior stringa possibile di 0 e 1, spesso test funzionali o di integrazione sono eseguiti poco o male. Penetration test applicativi e code review ovviamente sono le prime cose a saltare.
Da un lato i tempi dei controlli di security non si conciliano bene con processi veloci di rilascio. Quindi, in una terra dove non esiste il giusto o lo sbagliato, proveremo a dare una risposta ad una semplice domanda.
Ma noi la sicurezza applicativa come la facciamo in queste condizioni?
Tag: bdd, code review, penetration test, gauntlt, linee guida, sviluppo sicuro
Ciao Alexa, mi racconti perché non funziona più la mia azienda?Luca_Moroni
Slide Luca Moroni per il Digital Security Festival 2022 sulla sicurezza informatica negli impianti industriali. Mercoledì 2 Novembre 2022
Si scrive Internet of Things “IoT” ma si deve leggere “consapevolezza” presso LEF Lean Experience Factory, Viale Comunali, 22 – Z.I.P.R. 33078 San Vito al Tagliamento (PN)
Il workshop ha come obiettivo quello di presentare lo stato dell’arte dei Crypto-Malware/Ransomware che crittografano i file di dati di PC e SERVER e ne richiedono il riscatto.
Sarà effettuata una panoramica sulle principali famiglie/tipologie di Crypto-Malware che tra il 2015 e l’inizio del 2016 si sono diffuse maggiormente in Italia andando ad analizzare le modalità di attacco e i danni causati.
Verranno presentati i comportamenti adatti ad evitare l’infezione e/o contrastare efficacemente la cifratura dei file.
Si procederà poi a simulare un attacco reale da Crypto-Malware mostrando gli effetti su PC privo di sistema di protezione in grado di segnalare l’attacco e, di seguito, a fronte dello stesso attacco, su PC / SERVER sui quali sia presente un sistema di protezione euristico-comportamentale in grado di segnalarne e mitigarne gli effetti anche da varianti di nuova generazione quindi non ancora identificabili con i metodi di intercettazione classici.
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisurewalk2talk srl
•Introduzione Black Hat vs White Hat (CEH)
Gli hacker, i cracker, e gli etici, le differenze tra gli esperti di sicurezza reti
•Il problema “umano”
anche un sistema più protetto avrà sempre un limite dato da chi lo utilizza
•Le vulnerabilità odierne, i sistemi e cosa usare per craccare le reti
i maggiori problemi di sicurezza attuali, quali sistemi sono vulnerabili e che sistemi usare per gli attacchi e le difese
•Fingerprinting e Footprinting (google hack e tools online)
i primi step di un attacco sono acquisire informazioni sul target, come farlo in maniera passiva senza essere scoperti
•Social Engineering e Guerrilla Gifting
la più potente di tutte le tecniche: il Social Engineering, cosa è come si usa, esempi pratici e tecniche per farsi "amare" dai bersagli
•Shoulder surfing, Impersonation, Piggybacking
Tecniche di social engineering semplici ma potenti per accedere ad una struttura
•Bucare una rete wifi e contromisure
cosa usare e come fare per bucare una rete wireless
•Wireshark ed altri tool per i penetration test
il tool primario per l'analisi del traffico ed altri tools importanti per capire dove ci troviamo
•Nessus e l’Active Directory Priviledge Escalation
tool di analisi della struttura Microsoft e come fare AD escalation
•Il security patching VS l’unpatched
le patch di sicurezza, i problemi legati al patching e quelli legati all'unpatching
•Il livello della security oggi
il livello della security oggi in Italia a distanzia di 1 anno dalla CCI 2017
•Come diventare Expert di Security oggi
breve vedemecum su come indirizzare la propria carriera lavorativa sulla security
By Alessandro Vannini
Come mettere in sicurezza le applicazioni legacy, un approccio pragmaticoAntonio Parata
In questa presentazione viene descritto un possibile approccio alla messa insicurezza di codice legacy attraverso l'utilizzo di svariati progetti OWASP.
Exploit in ambente di Sviluppo. Livelli di sicurezza IDE nell'era del Cloud C...Andrea Patron
Difficoltà provata nelle infrastrutture di reti aziendali, è la mera incapacità di poter risolvere semplici fattori di rischio dovuti alla scorretta conoscenza dei livelli di Sicurezza, applicati sia all'ambiente di sviluppo (Integrated Development Environment) e sia al flusso dei servizi proposti. Con una tecnologia ormai immersa nell'era del Cloud Computing, questi fattori si sono visti amplificare l'esposizione alle minacce provenienti dalla Rete. In questo seminario, verranno analizzati i vari livelli di sicurezza e cercheremo di trovare alcune delle soluzioni a questi fattori diversificati. Gli argomenti trattati nel seminario sono:
- Dati e fattori di rischio negli ambienti di Sviluppo IDE
- Diversificazione negli ambienti di sviluppo
- Livelli e fasce di Sicurezza
- Minacce a riferimento
- Alcune soluzioni ai fattori di rischio
Seminario valido per formazione continua "Professionista Web" (Legge 4/2013) -- Associazione professionale IWA Italy
http://corsi.ipcop.pd.it
http://www.ipcopitalia.com
Vulnerability Assessment vuol dire mettersi per un attimo nei panni dei cattivi per capire se il nostro sito sia facilmente attaccabile in modo da proteggersi almeno dalle aggressioni più comuni.
Vedremo alcune modalità di attacco e assessment più comuni con dei rapidi esempi d'uso degli strumenti di software libero più comuni come nmap, nikto, dirb.
Lo sviluppo del frontend negli ultimi anni ha raggiunto nuovi livelli di complessità, in seguito all’evoluzione di internet e alla sempre maggiore importanza dei motori di ricerca.
Oltre che di tutti gli aspetti grafici il frontend developer deve occuparsi anche di una serie di funzionalità e ottimizzazioni che nel mondo dell’eCommerce sono diventate fondamentali: Search Engine Optimization (SEO), social network integration e miglioramento delle prestazioni.
Nicola Della Marina nel suo intervento tratterà nel dettaglio i singoli argomenti, ed evidenzierà come sia fondamentale la loro interazione.
This presentation, first delivered at Heisenbug St. Petersburg 2017, covers the challenges of doing large scale testing in security from the perspective of test engineering. It's targeted to non-security test experts, with a handful of examples of what we've seen working and what failed.
La sicurezza delle Web Application - SMAU Business Bari 2013Massimo Chirivì
Durante lo sviluppo di siti web o web application l’implementazione della sicurezza dovrebbe essere una della fasi più importanti che uno sviluppatore dovrebbe eseguire, spesso però le soluzioni proposte non sono proprio “sicure”.Il talk mira a illustrare le principali tematiche relative all’argomento con un introduzione al Penetration Testing su web application.
Per quando ti serve la presentazione? – ASAP Quando prevedi di lanciare la prossima versione del sito? – ASAP Hai eseguito i controlli di security come da linee guida aziendali? – Uh?
In questi anni, nel mondo IT regna incontrastata una sola parola: ASAP. Tutto deve essere fatto prima di ieri, ovviamente al minor costo possibile. Provate a pensare se questo criterio fosse stato usato quando hanno costruito il tetto della vostra casa o il circuito frenante della vostra auto potente. Bhe, in realtà voi usate questo approccio quando costruite il vostro business aziendale.
In questa sfrenata corsa a scegliere la miglior stringa possibile di 0 e 1, spesso test funzionali o di integrazione sono eseguiti poco o male. Penetration test applicativi e code review ovviamente sono le prime cose a saltare.
Da un lato i tempi dei controlli di security non si conciliano bene con processi veloci di rilascio. Quindi, in una terra dove non esiste il giusto o lo sbagliato, proveremo a dare una risposta ad una semplice domanda.
Ma noi la sicurezza applicativa come la facciamo in queste condizioni?
Tag: bdd, code review, penetration test, gauntlt, linee guida, sviluppo sicuro
Ciao Alexa, mi racconti perché non funziona più la mia azienda?Luca_Moroni
Slide Luca Moroni per il Digital Security Festival 2022 sulla sicurezza informatica negli impianti industriali. Mercoledì 2 Novembre 2022
Si scrive Internet of Things “IoT” ma si deve leggere “consapevolezza” presso LEF Lean Experience Factory, Viale Comunali, 22 – Z.I.P.R. 33078 San Vito al Tagliamento (PN)
Il workshop ha come obiettivo quello di presentare lo stato dell’arte dei Crypto-Malware/Ransomware che crittografano i file di dati di PC e SERVER e ne richiedono il riscatto.
Sarà effettuata una panoramica sulle principali famiglie/tipologie di Crypto-Malware che tra il 2015 e l’inizio del 2016 si sono diffuse maggiormente in Italia andando ad analizzare le modalità di attacco e i danni causati.
Verranno presentati i comportamenti adatti ad evitare l’infezione e/o contrastare efficacemente la cifratura dei file.
Si procederà poi a simulare un attacco reale da Crypto-Malware mostrando gli effetti su PC privo di sistema di protezione in grado di segnalare l’attacco e, di seguito, a fronte dello stesso attacco, su PC / SERVER sui quali sia presente un sistema di protezione euristico-comportamentale in grado di segnalarne e mitigarne gli effetti anche da varianti di nuova generazione quindi non ancora identificabili con i metodi di intercettazione classici.
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisurewalk2talk srl
•Introduzione Black Hat vs White Hat (CEH)
Gli hacker, i cracker, e gli etici, le differenze tra gli esperti di sicurezza reti
•Il problema “umano”
anche un sistema più protetto avrà sempre un limite dato da chi lo utilizza
•Le vulnerabilità odierne, i sistemi e cosa usare per craccare le reti
i maggiori problemi di sicurezza attuali, quali sistemi sono vulnerabili e che sistemi usare per gli attacchi e le difese
•Fingerprinting e Footprinting (google hack e tools online)
i primi step di un attacco sono acquisire informazioni sul target, come farlo in maniera passiva senza essere scoperti
•Social Engineering e Guerrilla Gifting
la più potente di tutte le tecniche: il Social Engineering, cosa è come si usa, esempi pratici e tecniche per farsi "amare" dai bersagli
•Shoulder surfing, Impersonation, Piggybacking
Tecniche di social engineering semplici ma potenti per accedere ad una struttura
•Bucare una rete wifi e contromisure
cosa usare e come fare per bucare una rete wireless
•Wireshark ed altri tool per i penetration test
il tool primario per l'analisi del traffico ed altri tools importanti per capire dove ci troviamo
•Nessus e l’Active Directory Priviledge Escalation
tool di analisi della struttura Microsoft e come fare AD escalation
•Il security patching VS l’unpatched
le patch di sicurezza, i problemi legati al patching e quelli legati all'unpatching
•Il livello della security oggi
il livello della security oggi in Italia a distanzia di 1 anno dalla CCI 2017
•Come diventare Expert di Security oggi
breve vedemecum su come indirizzare la propria carriera lavorativa sulla security
By Alessandro Vannini
Come mettere in sicurezza le applicazioni legacy, un approccio pragmaticoAntonio Parata
In questa presentazione viene descritto un possibile approccio alla messa insicurezza di codice legacy attraverso l'utilizzo di svariati progetti OWASP.
Exploit in ambente di Sviluppo. Livelli di sicurezza IDE nell'era del Cloud C...Andrea Patron
Difficoltà provata nelle infrastrutture di reti aziendali, è la mera incapacità di poter risolvere semplici fattori di rischio dovuti alla scorretta conoscenza dei livelli di Sicurezza, applicati sia all'ambiente di sviluppo (Integrated Development Environment) e sia al flusso dei servizi proposti. Con una tecnologia ormai immersa nell'era del Cloud Computing, questi fattori si sono visti amplificare l'esposizione alle minacce provenienti dalla Rete. In questo seminario, verranno analizzati i vari livelli di sicurezza e cercheremo di trovare alcune delle soluzioni a questi fattori diversificati. Gli argomenti trattati nel seminario sono:
- Dati e fattori di rischio negli ambienti di Sviluppo IDE
- Diversificazione negli ambienti di sviluppo
- Livelli e fasce di Sicurezza
- Minacce a riferimento
- Alcune soluzioni ai fattori di rischio
Seminario valido per formazione continua "Professionista Web" (Legge 4/2013) -- Associazione professionale IWA Italy
http://corsi.ipcop.pd.it
http://www.ipcopitalia.com
Vulnerability Assessment vuol dire mettersi per un attimo nei panni dei cattivi per capire se il nostro sito sia facilmente attaccabile in modo da proteggersi almeno dalle aggressioni più comuni.
Vedremo alcune modalità di attacco e assessment più comuni con dei rapidi esempi d'uso degli strumenti di software libero più comuni come nmap, nikto, dirb.
Lo sviluppo del frontend negli ultimi anni ha raggiunto nuovi livelli di complessità, in seguito all’evoluzione di internet e alla sempre maggiore importanza dei motori di ricerca.
Oltre che di tutti gli aspetti grafici il frontend developer deve occuparsi anche di una serie di funzionalità e ottimizzazioni che nel mondo dell’eCommerce sono diventate fondamentali: Search Engine Optimization (SEO), social network integration e miglioramento delle prestazioni.
Nicola Della Marina nel suo intervento tratterà nel dettaglio i singoli argomenti, ed evidenzierà come sia fondamentale la loro interazione.
Similar to HackInBo2018 - Security @ Hyperscale (20)
This presentation, first delivered at Heisenbug St. Petersburg 2017, covers the challenges of doing large scale testing in security from the perspective of test engineering. It's targeted to non-security test experts, with a handful of examples of what we've seen working and what failed.
The document discusses attacking virtualization infrastructure through various exploits. It presents the Virtualization ASsessment TOolkit (VASTO) which is an exploit pack focusing on virtualization and cloud security. It then demonstrates several exploits against VMware virtualization software, including path traversal exploits, session hijacking, and code execution exploits affecting the vCenter management console, ESXi hypervisor, and supporting services. The talk encourages testing these attacks to better understand vulnerabilities in virtualization platforms.
The presentation I gave at SyScan 10 Singapore on Private Cloud Security in integral form excluding the exploit videos, outlining the security deltas between "classical" virtualization and private cloud security.
In this presentation, I introduce VASTO, the Virtualization ASsessment TOolkit. VASTO is a collection of Metasploit module to specifically assess virtual infrastructure.
La mia presentazione alla lezione 0 del corso di perfezionamento sulla computer forensics e le investigazioni digitali dell'università Statale di Milano a Gennaio 2010. Una introduzione ai concetti di computer forensics e acquisizione della prova digitale.
[Confidence0902] The Glass Cage - Virtualization SecurityClaudio Criscione
The Glass Cage, the presentation I gave at Confidence 2009-02 about virtualization security, detailing various attack patterns to virtualization infrastructures.
2. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Chi è sto tizio
Claudio Criscione
Manager @ Google - Large scale security testing
@paradoxengine
Disclaimer: my own opinions, not my employer’s.
PS: Sono estremamente felice di usare di nuovo i caratteri accentati. èèèèèèèèèèèèèèèèèèèèèèèèèèèèèèèèààààààùùùùùùòòòòòòò
3. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Mi hanno detto
che c’è roba da
hackare...
4. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
“Tutto il codice è in quel repo
lì dietro. [...] Guarda non penso
nemmeno si accorgano fino a
che stai sotto le 1.000 CPU. ”
6. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Il mio primo progetto
PappaReale: test semantico automatico su larga
scala per JSON APIs.
Deriva automaticamente la struttura delle APIs per
fuzzing “semantico”: identifica candidati per analisi
manuale con FP < 2%.
Obiettivo: trovare decine di bug su decine di APIs!
8. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Aspetta, che è
successo?
9. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
La natura del problema
Linux Kernel 4.15.8
20.323.000 Righe di codice
Large Hadron Collider
50.000.000 Righe di codice
10. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
La natura del problema
Google codebase
2.000.000.000+ Righe
86 TB, 9.000.000 files
dati del 2015
11. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
La natura del problema
16.000 modifiche al giorno da devs,
24.000 automatizzate
25.000+ sviluppatori
7+ linguaggi di programmazione
12. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
PostMortem: che ho sbagliato?
13. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Release the dogs
of war!
14. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Abbiamo un sacco di gente, vero?
ISE (Information Security Engineering)
15. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Ma abbiamo un sacco più progetti...
16. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Una risorsa da difendere
Tooling e automazione:
questionari e segnali
Triage e minimizzazione
Focus sugli errori di design.Security
Engineer
Security TL
17. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
#1
Il personale di security è raro
e (si spera!) costoso, e non è
la chiave per scalare.
18. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Idea: abbiamo un
sacco di sviluppatori!
19. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Il problema con l’educascion
Quanti in questa stanza
pensano di passare i
colloqui come software
engineer a Google?
20. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Il problema con l’educascion
E allora perchè ci
aspettiamo che un
software engineer sia
anche security engineer?
Non fare input senza validazione
Implementa rate limiting
Mettici un captcha NonusareElectron
Non usare PHP
Non desiderare la CPU d’altri
Guardaquesti7231warnings
Unbounded Arrays!
Bounded Mem
ory Allocation
Nienteoutputsenzaescaping
Controlla il token XSRF
Attento agli XSSI!
U
n
coboldo
m
annaro!
Am
a
ilD
O
M
tuo
com
e
te
stesso
21. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Un approccio diverso
Modificare framework, API,
linguaggi e processi per
rendere quasi impossibile
introdurre vulnerabilità*.
*Terms and conditions apply
22. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Sviluppare codice
sicuro, anno 2018
24. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Bug di design vs implementazione
Bug di Implementazione
Locali e patchabili
Semplici e testabili
Ricorrenti ed ubiqui
Bug di Design
Diffusi nel sistema
Complessi e costosi
Subdoli ed infrequenti
25. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Perché è difficile?
26. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
L’idea fondamentale
Trasferire la “sicurezza” di un dato (i.e.
precondizioni) con il suo Tipo (SafeType)
Tutte le (nuove) API che lavorano sui
SafeTypes mantengono le precondizioni.
API su tipi unsafe li controllano/traducono.
27. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Per esempio
* @param {!HTMLAnchorElement} anchor The anchor element whose href property
* is to be assigned to.
* @param {string|!goog.html.SafeUrl} url The URL to assign.
* @see goog.html.SafeUrl#sanitize
*/
goog.dom.safe.setAnchorHref = function(anchor, url) {
goog.dom.asserts.assertIsHTMLAnchorElement(anchor);
/** @type {!goog.html.SafeUrl} */ var safeUrl;
if (url instanceof goog.html.SafeUrl) { safeUrl = url; }
else { safeUrl = goog.html.SafeUrl.sanitizeAssertUnchanged(url); }
anchor.href = goog.html.SafeUrl.unwrap(safeUrl);
};
28. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Implementazione
● Linter - Compile checks
○ Verificano che non siano utilizzabili API di bypass
● Verifica manuale delle (poche) unsafe calls
● Supporto nativo nei framework con
equivalenza semantica
29. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Si, ma quante
risorse ci
vogliono?
5 Ingegneri, in un
angusto corridoio
31. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Funziona?
Per il codice nuovo, nessun costo aggiuntivo.
32. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Prevenire è meglio che curare
Se avete capito perchè c’è una mela in questa slide, siete vecchi come me. Mi spiace (era l’88).
33. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
#2
Training, testing, auditing
etc. sono fantastici, ma
eliminare i bug alla radice
scala (molto) meglio.
Poka-yoke!
34. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Eh, ma su questa roba
non si può fare!
35. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Infrastruttura
3rd party code
Codice legacy
IoT devices
36. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Se non puoi
eliminare il bug
almeno puoi
trovarlo
38. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Rete corporate distribuita
su 50+ nazioni
Dispositivi sospesi in alta quota
Datacenters con “un
fracco” di server
DNA Sequencer
39. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Automatizzabile?
Automatizzabile
Non Automatizzabile
Problema enorme
Altro problema enorme
40. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Idea: abbiamo un
sacco di ingegneri!
41. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Aspetta un attimo!
#1 Mi hai appena detto di non usare
il team di sicurezza!
#2 Mi hai anche detto di non
aspettarmi che altri ingegneri
facciano lavoro di security!
42. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Fornire gli
strumenti giusti
43. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Target:
At least one of these options has to be provided to define the
target(s)
-d DIRECT Connection string for direct database connection
-u URL, --url=URL Target URL (e.g. "http://www.site.com/vuln.php?id=1")
-l LOGFILE Parse target(s) from Burp or WebScarab proxy log file
-x SITEMAPURL Parse target(s) from remote sitemap(.xml) file
-m BULKFILE Scan multiple targets given in a textual file
-r REQUESTFILE Load HTTP request from a file
-g GOOGLEDORK Process Google dork results as target URLs
-c CONFIGFILE Load options from a configuration INI file
Request:
These options can be used to specify how to connect to the target URL
--method=METHOD Force usage of given HTTP method (e.g. PUT)
--data=DATA Data string to be sent through POST
--param-del=PARA.. Character used for splitting parameter values
--cookie=COOKIE HTTP Cookie header value
--cookie-del=COO.. Character used for splitting cookie values
--load-cookies=L.. File containing cookies in Netscape/wget format
--drop-set-cookie Ignore Set-Cookie header from response
--user-agent=AGENT HTTP User-Agent header value
--random-agent Use randomly selected HTTP User-Agent header value
--host=HOST HTTP Host header value
--referer=REFERER HTTP Referer header value
--headers=HEADERS Extra headers (e.g. "Accept-Language: frnETag: 123")
--auth-type=AUTH.. HTTP authentication type (Basic, Digest, NTLM or PKI)
--auth-cred=AUTH.. HTTP authentication credentials (name:password)
--auth-private=A.. HTTP authentication PEM private key file
--ignore-401 Ignore HTTP Error 401 (Unauthorized)
--proxy=PROXY Use a proxy to connect to the target URL
--proxy-cred=PRO.. Proxy authentication credentials (name:password)
--proxy-file=PRO.. Load proxy list from a file
--ignore-proxy Ignore system default proxy settings
--tor Use Tor anonymity network
--tor-port=TORPORT Set Tor proxy port other than default
--tor-type=TORTYPE Set Tor proxy type (HTTP (default), SOCKS4 or SOCKS5)
--check-tor Check to see if Tor is used properly
--delay=DELAY Delay in seconds between each HTTP request
--timeout=TIMEOUT Seconds to wait before timeout connection (default 30)
--retries=RETRIES Retries when the connection timeouts (default 3)
--randomize=RPARAM Randomly change value for given parameter(s)
--safe-url=SAFURL URL address to visit frequently during testing
--safe-freq=SAFREQ Test requests between two visits to a given safe URL
[...]
Optimization:
These options can be used to optimize the performance of sqlmap
-o Turn on all optimization switches
--predict-output Predict common queries output
--keep-alive Use persistent HTTP(s) connections
--null-connection Retrieve page length without actual HTTP response body
--threads=THREADS Max number of concurrent HTTP(s) requests (default 1)
Injection:
These options can be used to specify which parameters to test for,
provide custom injection payloads and optional tampering scripts
-p TESTPARAMETER Testable parameter(s)
--skip=SKIP Skip testing for given parameter(s)
--dbms=DBMS Force back-end DBMS to this value
--dbms-cred=DBMS.. DBMS authentication credentials (user:password)
--os=OS Force back-end DBMS operating system to this value
--invalid-bignum Use big numbers for invalidating values
--invalid-logical Use logical operations for invalidating values
--invalid-string Use random strings for invalidating values
--no-cast Turn off payload casting mechanism
--no-escape Turn off string escaping mechanism
--prefix=PREFIX Injection payload prefix string
--suffix=SUFFIX Injection payload suffix string
--tamper=TAMPER Use given script(s) for tampering injection data
Detection:
These options can be used to customize the detection phase
--level=LEVEL Level of tests to perform (1-5, default 1)
--risk=RISK Risk of tests to perform (0-3, default 1)
--string=STRING String to match when query is evaluated to True
--not-string=NOT.. String to match when query is evaluated to False
--regexp=REGEXP Regexp to match when query is evaluated to True
--code=CODE HTTP code to match when query is evaluated to True
--text-only Compare pages based only on the textual content
--titles Compare pages based only on their titles
Techniques:
These options can be used to tweak testing of specific SQL injection
techniques
--technique=TECH SQL injection techniques to use (default "BEUSTQ")
--time-sec=TIMESEC Seconds to delay the DBMS response (default 5)
[....]
Enumeration:
These options can be used to enumerate the back-end database
management system information, structure and data contained in the
tables. Moreover you can run your own SQL statements
-a, --all Retrieve everything
-b, --banner Retrieve DBMS banner
--current-user Retrieve DBMS current user
--current-db Retrieve DBMS current database
--hostname Retrieve DBMS server hostname
--is-dba Detect if the DBMS current user is DBA
--users Enumerate DBMS users
--passwords Enumerate DBMS users password hashes
--privileges Enumerate DBMS users privileges
--roles Enumerate DBMS users roles
--dbs Enumerate DBMS databases
--tables Enumerate DBMS database tables
--columns Enumerate DBMS database table columns
--schema Enumerate DBMS schema
--count Retrieve number of entries for table(s)
--dump Dump DBMS database table entries
--dump-all Dump all DBMS databases tables entries
--search Search column(s), table(s) and/or database name(s)
--comments Retrieve DBMS comments
-D DB DBMS database to enumerate
-T TBL DBMS database table(s) to enumerate
-C COL DBMS database table column(s) to enumerate
-X EXCLUDECOL DBMS database table column(s) to not enumerate
-U USER DBMS user to enumerate
--exclude-sysdbs Exclude DBMS system databases when enumerating tables
--where=DUMPWHERE Use WHERE condition while table dumping
--start=LIMITSTART First query output entry to retrieve
--stop=LIMITSTOP Last query output entry to retrieve
--first=FIRSTCHAR First query output word character to retrieve
--last=LASTCHAR Last query output word character to retrieve
--sql-query=QUERY SQL statement to be executed
--sql-shell Prompt for an interactive SQL shell
--sql-file=SQLFILE Execute SQL statements from given file(s)
Brute force:
These options can be used to run brute force checks
--common-tables Check existence of common tables
--common-columns Check existence of common columns
User-defined function injection:
These options can be used to create custom user-defined functions
[...]
44. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Cosa pensavo servisse
1. Trovare tutti i tipi di bug del
reame, almeno in qualche
istanza
2. Segnali di bug potenziali
3. Configurabilità
45. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Cosa serve veramente
1. Usabilità
2. Poche classi di bug, ma in
tutte le istanze
3. Nessun falso positivo
46. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
Si ma, allora tu cosa fai?
Controllo!
Metriche “di sistema”: quanta
copertura sul totale della
galassia, tempo medio di
risoluzione, etc.
47. Claudio Criscione - Security @ Hyperscale - HackInBo Spring 2018
#3
Se non potete prevenire i
bug, nè potete automatizzare
tutto, allora:
Delegare, ma verificare.