Press "Enter" to skip to content

GOTO 2018 • From the OWASP Top Ten(s) to the OWASP ASVS • Philippe De Ryck


[Musica]
[Applausi]
parla della top 10 di OWASP bene
diverse versioni della top 10 e os
Gli ASV prima di tuffarci ce n’è uno
parola chiave nel titolo ed è una vespa dentro
caso non hai familiarità con OS OS con
un’organizzazione senza scopo di lucro e si distingue per
la sicurezza dell’applicazione web aperta
progetto e cosa è iniziato come a
progetto per migliorare la conoscenza della sicurezza
tra gli sviluppatori web è cresciuto fino a questo grande
organizzazione internazionale con un sacco di
capitoli locali di rappresentanza locale
tenere riunioni tenendo conferenze e
cose del genere diverse dall’organizzare a
la community os produce anche risultati di noi
produce documenti come la vesina 10
ASV
produce strumenti costruisce progetti tutti
queste cose fanno parte del sistema operativo e di tutti
che è gratuito e aperto a tutti di
usare perché è un non-profit e il loro
la missione sta essenzialmente migliorando il web
sicurezza oggi stiamo andando a parlare di
tre documenti OS specifici stiamo andando
parlare del sistema operativo
la top 10 che è probabilmente la più buona
noto che molti di voi saranno familiari
con sto andando a parlare di un altro top
10 la top 10 dei controlli proattivi e
allora parleremo di OS ASV
che sono documenti più elaborati che vado
in profondità molto più su determinati aspetti
prima di iniziare, sono Philip, grazie
per l’introduzione da cui vengo
Il Belgio, quindi capisco un po ‘il tedesco
un po ‘ma non troppo bene, quindi puoi parlare
Il tedesco ha ragione di capire comunque io
parlo sicurezza e fornisco sicurezza
corsi di formazione in tutto il mondo per le aziende
per gli sviluppatori essenzialmente su un livello
questo aiuta gli sviluppatori a costruire meglio
applicazioni in modo da coprire la sicurezza in
profondità su vari diversi tipi di
argomenti Sono anche coinvolto in un sollevamento di sec
corso che è un corso di una settimana tenuto
in Belgio dato da internazionale
esperti nel loro dominio quindi se sei un
sviluppatore che è sicuramente un posto per te
voglio essere il prossimo anno a febbraio per il
record Sono un esperto di sviluppatori Google
che è un riconoscimento di Google per il
lavoro che ho fatto per la comunità
insegnare loro sulla sicurezza non è un
posizione su Google e non affiliato
con Google in qualsiasi modo che sia
qualcosa e confonde molte persone
in tutto il mondo con quello fuori dal mondo
in modo da tuffarsi nel sistema operativo e ospa top
dieci voglio parlare del tradizionale
OS in alto
quindi prima il documento che è stato
in giro per oltre 10 anni e ha visto
revisioni nel tempo e in sostanza
si concentra sulla top 10 più critica
rischi nelle applicazioni web, quindi se lo sei
familiarità con i primi 10 lo sai
versione questa è l’ edizione del 2017 che puoi
vedi a destra e quelli sono i
rischi critici per le applicazioni web affrontate
oggi così puoi vedere in questa panoramica
immagine che è presa dal pieno
documento c’è una nuova versione ogni pochi
l’ edizione degli anni 2017 ne ha in effetti alcuni
feedback bene, chiamiamolo a
polemiche dalla comunità di loro
non ero d’accordo con la prima versione quindi io
è tornato al tavolo da disegno la nostra squadra
almeno tra i primi 10 è tornato al
tavolo da disegno e costruito un secondo migliore
versione che è stata accettata da tutti come
puoi vedere che ci sono alcuni importanti
cose nel sistema operativo top 10 iniezione è
il problema numero uno è stato un problema
numero uno per un po ‘di tempo
riguarda cose come l’iniezione sequel
comando di iniezione e tutti quelli
cose così puoi vedere che si tratta di
non necessariamente il più comune
vulnerabilità ma quelle più rischiose
nel senso che fanno un qualche tipo di rischio
valutazione su questi articoli per vedere quanto male
è il problema di come lo sfruttabile è il
problema quali sono le conseguenze del
problema e basato su questi argomenti
o argomenti ottengono un punteggio e sono classificati
dai più rischiosi ai meno rischiosi
quelli sul posto allora ovviamente lo è
non dovrebbe venire una vera sorpresa
che nella maggior parte del rischio si trova ai
server quindi se guardi i primi 10 o a
la maggior parte degli oggetti molti di quelli
concentrarsi sui problemi lato server così
l’iniezione si trova sul server, se lo sono
un aggressore e posso compromettere il
webserver tramite l’iniezione di comandi che
è molto potere per me come l’attaccante
Posso compromettere l’accesso dell’applicazione
il file ruba i dati tutto ciò che voglio
Autenticazione spezzata simile è
essenzialmente un problema di back-end anche in
panorama moderno di oggi dove abbiamo
applicazioni di front-end sono molte delle
questi problemi rimangono sui backend
forse in forme diverse rispetto a prima ma
sono ancora lì in quanto i dati
l’esposizione è il numero tre nella top 10
si siede essenzialmente principalmente sul retro
fine abbiamo dati a riposo nel database
che potrebbe essere esposto puoi rubare dati
dal server
puoi inavvertitamente trapelare informazioni
cose del genere hanno fatto anche esposizione
argomenti all’ordine del livello di protocollo HTTP è così
sicuramente una grande parte del numero dell’ospedale
tre è necessario distribuire HTTPS per prevenire
dati in transito dall’essere trapelati e noi
può andare avanti così hai XML
entità esterne di tipo XML
l’attacco di iniezione avviene sul server
è un problema di accesso sul lato server non funzionante
il controllo è un problema lato server se tu
può accedere alle risorse sul
server potresti stare bene se l’attaccante
puoi ottenere X è lì che potresti essere dentro
guai e hai un problema serio
e poi se vai un po ‘più avanti
il o roba poi si vede che il
i problemi iniziano a spostarsi verso il
sul lato client, quindi lo scripting cross-site è
in sostanza un problema lato client
il codice malevolo viene eseguito nel browser
nel browser della vittima e consente
l’attaccante a fare cose cattive lì dentro
realtà molte di queste cose cattive lo faranno
influire sull’applicazione lato server come
bene ma ti mostra che il rischio di a
la vulnerabilità lato server è molto più grande
rispetto al rischio di una vulnerabilità che
può essere sfruttato sul lato client
quindi l’ordinamento nella parte superiore 10 in modo vespa
se riesci ad avere il pieno controllo del web
server, quindi onestamente come attaccante
non mi interessa davvero il cross-site
scripting ma se tutto il resto è
patchato e potresti voler iniziare
guardando XSS come un modo per trovare la tua strada
nell’applicazione e questo è
essenzialmente ciò che porta la top 10 di AUSA
al tavolo è una panoramica di
vulnerabilità non è uno scarico come
ho visto la lista degli sniff è solo una consapevolezza
documenti e questo è molto importante la
l’obiettivo della fermata non è quindi quello di dare
un programma di sicurezza per seguirlo
non una lista di controllo per vedere è la mia applicazione
sicuro oh sì, ho coperto ognuno di questi
i dieci articoli sono a posto
non funziona in quel modo si tratta di
sensibilizzazione e questo è il motivo per cui il
la lista è tenuta una tonnellata per esempio perché
se hai bisogno di parlare con uno sviluppatore che
non ha mai sentito parlare di sicurezza e di te
vieni con un elenco di 325 oggetti che sei
andando a perderli al numero dell’articolo vero
problema probabilmente se glielo dici
qui ci sono 10 cose assolutamente critiche
che dovresti fare il tuo
applicazione che è una storia diversa
allora è facile comunicare ma poi
è gestibile quindi non è travolgente
iniziare con sicurezza, naturalmente, se
sei una grande organizzazione finanziaria
hai fatto la sicurezza giusto per 10
15 anni e
OspA 10 non dovrebbe essere una sorpresa
non dovrebbe aiutare quelli
organizzazioni che dovrebbe sollevare
consapevolezza tra gli sviluppatori tra
squadre in tutto il mondo che ci sono
T problemi di sicurezza web che manteniamo
vedere più e più volte quali sono
veramente pericoloso e dovrebbe essere affrontato
Mi tufferò nei dettagli su uno di
questi articoli voglio parlare di rotto
autenticazione in modo un po ‘più dettagliato
perché io sono gonna uso che come una sorta di
un esempio in esecuzione in tutto il
presentazione per continuare a darti degli esempi
di qual è il problema qui
potrebbe essere così se si guarda il pulsante OS
al foglio che offrono sono
essenzialmente ottieni un punteggio di lettura
è molto sfruttabile è molto
pericoloso che consente un aggressore
accesso senza restrizioni al back-end
applicazione se ci pensi
l’autenticazione si potrebbe pensare a
qualcosa di simile a un modulo di accesso dove
si può effettivamente l’autenticazione al
backend questo è come la maggior parte delle applicazioni
oggi ancora non l’autenticazione bene dal
questo esempio puoi probabilmente derivare e
Non ho una password molto sicura in
questa applicazione è composta da quattro personaggi
è anche un test che è davvero pessimo
pratica ma ti viene l’ idea che questo è un
esempio l’ applicazione di allenamento così
non importa ma per tutti come
l’autenticazione è più del login
la procedura è più che semplice
autenticarsi perché ciò che noi
essenzialmente proviamo a fare è che cerchiamo di fare
decisioni di autorizzazione nel back – end
vogliamo decidere qual è questa operazione
e questo è permesso dal fare dell’utente
quell’operazione sì o no e per farlo
abbiamo bisogno dell’autenticazione scritta di cui abbiamo bisogno
di sapere chi sta facendo questa chiamata che è
per l’autenticazione fitzy siamo
stabilire l’identità dell’entità
fare la richiesta al nostro protetto
risorsa in questo caso e qui è a
utente ma potrebbe benissimo essere un
anche queste macchine accadono
e questo è dove dovrebbe essere l’immagine
sono terminati normalmente in a in a
sistema semplice che accedi e
il naso di backend è consentito sì o no
il web non è così semplice sul web
abbiamo un protocollo stateless e di cui abbiamo bisogno
per propagare tale autorizzazione
informazioni al backend in un modo o
un altro e questo è dove sessione
la gestione entra in gioco perché
la gestione delle sessioni terrà traccia
della tua precedente autenticazione conservare
traccia di quello stato che consente il back-end
continuare a prendere decisioni di autorizzazione
basato su quell’unica autenticazione
succede qualche punto nel passato dopo Oh
ASP almeno per un’autenticazione non funzionante
nella top ten
autenticazione e gestione delle sessioni
appartengono insieme a causa della vulnerabilità
in entrambi uno di questi causerà a
problema serio nel back-end
causa la rottura dell’autenticazione
meccanismo che consente l’accesso dell’attaccante
nel nome dell’utente al back-end
che è potenzialmente grave problematico
quindi se guardi più da vicino non c’è solo
la categorizzazione di come sfruttabile
e quanto sia pericoloso qualcosa è che anche
avere vari oggetti su cosa non fare
cosa comporta una vulnerabilità e cosa
fare
come risolvere il problema, quindi non sto andando
andare su ognuno di questi
articoli, ma se si guardano alcuni esempi
c’è questo cogliere bene questo è questo
trappola dove se hai un
vulnerabilità se stai usando hard coded
le password che sembra abbastanza ovvio è
una cattiva pratica da fare hard coded
password se ti dico questo in a
area di presentazione come si, certo
andiamo nessuno lo fa bene un sacco di
le persone fanno specialmente nel mondo IOT a
molte telecamere di sicurezza o qualsiasi altra cosa venga
con password predefinite e tu sei
esposto su internet e tutti
può semplicemente afferrare bene prendere un elenco di
password comuni e prova ad accedere a queste
le cose in realtà accadono nella pratica
altre cose si trovano in modo sicuro
le tue password che tutti conosci oggi come noi
avere violazioni dei dati su Internet
se uno di questi servizi memorizza il tuo
password in modo non sicuro e il
la tigre può afferrarlo da lì e ora lui
ha una password potenzialmente pericolosa per
altre applicazioni e non solo il
lo stesso, ma anche per gli altri , è a
problema diffuso sulla prevenzione
lato ci sono alcuni oggetti interessanti voi
sparare ad esempio per impedire l’enumerazione
attacchi e attacchi di forza bruta così tu
dovrebbe impedire a qualcuno di imparare se
userexisti in un sistema si o no e tu
dovrebbe anche impedire loro di farlo solo
provare le combinazioni di credenziali di Fallot per
vedere bene provare le combinazioni di credenziali
per trovare un insieme valido di credenziali e
in cima alla lista è forse il
attrezzo più interessante
autenticazione multi-fattore e mentre
questo è un consiglio davvero solido perché
risolve molti dei problemi che non sono sicuro
se dovrebbe essere al di sopra
più basso non sarei d’accordo con quello
perché penso che siano più pressanti
sta premendo i problemi per affrontare prima poi
strumento
ding autenticazione multi-fattore ma io
non è necessario essere d’accordo con l’ultimo pulsante
perché è un documento di consapevolezza è
destinato a creare consapevolezza intorno al tuo
problema che si intende informare
gli sviluppatori come hey ci sono questi
ci sono molti problemi con
autenticazione dovresti probabilmente guardare
in questo dovresti probabilmente capire
se questo è qualcosa che devi affrontare
oh e dal modo in cui questo multi-fattore
il meccanismo di autenticazione è veramente buono
è impressionante risolve un sacco di
problemi ma che roba allora forse
non sta andando davvero a dettagli è il
impatto dell’attuazione di tale meccanismo
i tuoi utenti dovranno usarlo come a
lo sviluppatore dovrà implementarlo e
ciò potrebbe richiedere tempo e capacità
in realtà lo capisci bene e di nuovo quello è
ok perché l’obiettivo è quello di crescere
consapevolezza l’obiettivo è quello di dire alle persone hey
c’è questo multi-fattore
l’autenticazione cosa è possibile utilizzare tutti
questi diversi metodi e questo è il modo
ci avvicineremmo e questo è ciò che è
succedendo qui in modo che il sistema operativo è di circa finta
sensibilizzazione è una breve panoramica
di fare e cosa non fare se dovrebbe o
non dovrebbe fare nel tuo web
applicazioni i consigli indipendenti da
l’applicazione e non prende davvero
l’ impatto degli utenti su cose come
ma ciò nonostante è un consiglio valido
questo ci porta al secondo documento
dal sistema operativo ma dalla maggior parte dei primi 10 proattivi
controlla è un po ‘di confusione che sono
entrambe le migliori dieci quindi dovrò dire
i primi 10 controlli proattivi hanno un sacco di tempo
un sacco di volte durante questa presentazione
ma tu hai l’idea e questo è proattivo
controllo roba 10 giorni che prendono un
approccio diverso invece di messa a fuoco
sulle vulnerabilità invece di concentrarsi
su questi ci sono grossi problemi in
applicazioni applicative su cui si concentrano
queste sono le cose che puoi fare come
uno sviluppatore effettivamente in modo proattivo
indirizzare la sicurezza e questo è il loro obiettivo
sulla sicurezza web o sicurezza in generale
ed ecco una panoramica dei 10 articoli
che sono in questa top 10 di proattivo
controlli puoi vederlo già
assumere una prospettiva completamente diversa
iniziano parlando di definizione
i requisiti di sicurezza sono definiti anticipatamente
quali sono i requisiti della tua applicazione
per quanto riguarda la sicurezza
non è qualcosa che trovi
documento offensivo come il sistema operativo top-10
su cui si concentra
e, naturalmente, vanno ulteriore giorno
incoraggiare gli sviluppatori a usare la sicurezza
quadri per utilizzare le librerie di sicurezza a
evitare di implementare la sicurezza dal momento che
si caratterizza e si affida al lavoro
di altri esperti e va avanti e avanti
e naturalmente iniziano i soliti sospetti
apparendo c’è un database ben protetto
accesso che impedisce a qualcuno
accedere facilmente a un server di database
questo è per prevenire cose come il sequel
iniezione e argomenti come che se si va
un po ‘ più lontano trovi altri esempi
ci sono anche i requisiti di sicurezza
l’oggetto è in realtà abbastanza interessante quindi
essenzialmente ti incoraggia a prendere un
processo più strutturato verso la sicurezza
scoraggia l’uso di questo vacum tutto
vediamo l’iniezione sequel di Oya come un gioco
oh whoops abbiamo avuto un problema qui lascia
aggiustalo e tutti abbiamo un problema qui
Si può correggere esso non invece di fare che
solo lavorare verso qualcosa dove possiamo
evitarlo in modo proattivo dalle abilità in
la tua applicazione invece di dover
correggili dopo perché qualcuno
ti dice perché li scopri da
incidente qualcuno li sfrutta o una penna
il test li rivela e questo è l’ obiettivo
dei controlli proattivi il proattivo
è la parola chiave qui e ancora è a
la lista dei primi dieci riguarda l’innalzamento
consapevolezza si tratta di dire agli sviluppatori
hey ci sono queste cose queste dieci
le cose sono un ottimo modo per iniziare
prendere più seriamente la sicurezza invece
di fare questa cosa ad hoc ecco alcuni
struttura a cui puoi più o meno seguire
in realtà ottengono il lavoro fatto, ma ovviamente
è ancora una volta un documento di consapevolezza
adora il DVD di scarico o esce
qualunque non sia un madrelingua mio
mi scuso a lui piace quel livello di dettaglio
per essere una guida completa su documento e
documento che puoi effettivamente usare per costruire
il tuo programma di sicurezza se ne guardi uno
esempio o esempio di autenticazione qui
si chiama implementazione digitale
identità non è più chiamata
autenticazione in parte perché è
basato su una nuova linea guida nist che è arrivata
fuori circa un anno e mezzo due anni
fa e questa linea guida entra molto
di dettagli su come fare l’autenticazione o
gestire l’identità di un’entità nel tuo
sistema mi raccomando vivamente di leggerlo
in realtà è davvero molto interessante
e questo articolo nel modo più proattivo
i controlli si concentra su
questi diversi livelli che la Nissa
standard specificare così nist considera il livello
uno di autenticazione o identità da utilizzare
l’autenticazione basata su password ha molto
di linee guida su come gestirlo
correttamente il livello due è l’implementazione
multi-fattore e livello tre è davvero
rigoroso e sta usando la crittografia
identificatori dispositivi che necessitano o utilizzano a
chiave e sono univocamente identificabili per essere
in possesso dell’utente e di nuovo
stanno graffiando le superfici
il documento in realtà dice che siamo solo
grattando la superficie qui perché
non c’è modo di coprire tutto
queste linee guida in un’unica consapevolezza
documentarlo non funziona così
se do una formazione allora coinvolge
Autenticazione posso parlare di quello per
due giorni ho materiale che copre tutto
di questi aspetti per due giorni che lo faranno
guidare uno sviluppatore folle perché non c’è
così tanto da tenere a mente ed è per questo
questi documenti di consapevolezza per tenerlo
rigorosamente tenerlo conciso un esempio è
come memorizzare in modo sicuro le password del
controlli proattivi menzionati questo come
oh a proposito nel caso in cui non hai sentito
questo c’è un modo migliore per archiviare
password e semplicemente archiviazione in testo normale
o usando uno sha-1
o qualsiasi altra cosa ci siano queste funzioni
come decriptare che puoi usare e
ecco un esempio di come farlo in PHP
ma ovviamente non danno il codice
esempi per tutte le altre lingue e
cose del genere che non è uno scopo di
il documento
si tratta di innescare questa campana ma
piantando questi semi di sicurezza nel
menti degli sviluppatori per consentire loro di farlo
iniziare a pensare alla sicurezza in un altro
modo strutturato quindi questo top 10 di
controlli proattivi è di nuovo su
consapevolezza si concentra principalmente sugli strumenti
non è ed è più la difensiva
lato delle cose dirà come se
fai queste cose allora in realtà
inizia a integrare la sicurezza e lo sei
portandolo al livello successivo e puoi
inizia a costruire in cima a quello che puoi
iniziare a crescere da lì e non lo è
ti dirò cosa fare prima o come
fare queste cose in dettaglio e così
ci porta al sistema operativo ASV o al
verifica della sicurezza dell’applicazione
standard che è un boccone ma ASV
cerca di colmare queste lacune che tutto
fermato fine lascia effettivamente tenta di
darti una serie di requisiti di sicurezza
e testare i casi di test che è possibile utilizzare
a
costruisci un programma di sicurezza che puoi
usare per pensare alla sicurezza o
applicazione e sono divisi in tutto
queste diverse categorie così hai
16 di loro so che la numerazione è un po ‘
incasinato che è per mantenere
traccia di problemi tra diversi
versioni dei documenti, ma io ho
contato sotto 16 numeri e puoi vedere
che si concentrano sulle cose basilari
innanzitutto come i controlli proattivi
loro pensano requisiti e calpestano
la modellazione e l’architettura sono importanti
e hanno ragione, ma loro
le categorie qui sono solo divisioni di
oggetti lì no in nessun modo a
priorità che hanno appena detto
ci sono tutte queste cose diverse
e all’interno di ciascuna di queste categorie
c’è un sacco di elementi da prendere in
conto questo è dal primo il
l’architettura che puoi vedere inizia
dicendo che dovresti sapere qual è il
i componenti nella tua applicazione sono e
dovresti controllare se sono necessari
o no perché qual è il punto di
mantenendo un’interfaccia amministrativa
in giro se nessuno lo usa mai
solo aumenta la superficie di attacco per
nessuna buona ragione quindi forse non dovresti
tenerlo nella domanda se nessuno
in realtà lo usa ed è un superfluo
componente e va sempre più in profondità
e in realtà ti dà molto
requisiti concreti ovviamente se tu
rimani sull’architettura e sulla pista
livello di modellazione queste cose rimarranno
abbastanza vago, ma se vai più a fondo
esempio di input malizioso che ti gestisce
vedranno che diventano veramente concreti
in basso 5.10 puoi vedere che lo è
sulla prevenzione dell’iniezione sequel che
dovresti tenerne conto e questo
suggerisce anche una soluzione qui ancora
non entra nei dettagli che non è un
lavoro di questa specifica ma dice
ti piace hey la nostra priorità è
probabilmente il modo giusto di fare questi
cose e questo è di nuovo un seme che tu
può usare per cercare cosa significa questo
e pratica per la lingua che sto usando
usando una lingua con le librerie appropriate
questo non sarà troppo difficile se
usi un po ‘di linguaggio esotico
non sa come gestire le carte del ciclo
correttamente che sta andando essere un vero e proprio dolore per
indirizzo anche notare i colori che è
non solo per rendere le cose belle loro
in realtà hanno un uso e l’ uso è loro
sono i livelli di ASV in modo che tu possa per ciascuno
tipo di applicazione c’è un diverso
livello e le specifiche vanno in molti
dettaglio o il documento va
dettaglio ciò che è effettivamente significa per
diversi settori in modo da spiegare come
oh sì per le applicazioni finanziarie questi
sono come vediamo i livelli e per
applicazioni sanitarie è così che noi
vedere i livelli e i livelli in realtà
ti permettono di sforzarti per determinati livelli
di sicurezza ti aiutano a prendere in considerazione
quali cose sono importanti per te e
quali cose potrebbero essere meno importanti o
forse eccessivo per l’applicazione
stai costruendo di nuovo c’è un sacco di
dettaglio nei documenti che sto parafrasando
qui con le mie diapositive di PowerPoint ma
la sicurezza è essenzialmente opportunistica
per tutti se stai costruendo
qualcosa che esponi al di fuori di
il tuo computer che dovresti avere
almeno un livello minimo di sicurezza questo
è qualcosa per cui tutti dovrebbero lottare
e non c’è negoziazione su questo e
allora se stai costruendo un serio
applicazione quindi in sostanza tutte le attività
le applicazioni rientrano nella categoria
di applicazioni standard che dovrebbero
lottare per il livello di conformità due ASV
c’è un ci sono alcuni oggetti aggiuntivi
che dovrebbero essere tenuti in considerazione
per garantire che abbiano coperto la maggior parte di
le aree sensibili alla sicurezza nella loro
applicazione e quindi il livello tre è per
applicazioni che gestiscono critiche
informazioni che sono in genere
le applicazioni di movimentazione di denaro o un sacco di
terminali di punti vendita di denaro che
probabilmente sono a livello zero se senti
storie su quelle cose ma
applicazioni sanitarie che immediatamente
influire sulla salute delle applicazioni delle persone
contenente dati veramente sensibili
esempi come questo appartengono alla categoria
tre e basato su queste categorie voi
può passare attraverso questo documento SVS e tutto
delle diverse categorizzazioni e tu
posso identificare oh sì queste cose sono
rilevante per me perché onestamente se
stai costruendo un opportunista
applicazione se stai costruendo un pubblico
sito dove pubblichi un blog pubblico
post quindi autenticazione a più fattori
probabilmente non è qualcosa che si deve
preoccupati ma se stai costruendo un
domanda di servizi bancari, probabilmente è bene
in Europa erano buoni in noi
le applicazioni bancarie hanno differenti
gli standard sì sì possono davvero aiutare lì
SVS fa due cose concrete prima di
tutto ciò che dovrebbe guidare la sicurezza
processi che dovresti usare questo
documento non come una lista di controllo, ma tu sei
dovrebbe usare questo per identificare cosa
dovrei fare nella mia domanda tu
può farlo davanti
puoi usarlo per derivare la codifica
le linee guida da voi possono usarlo per
identificare quali aree dovrebbero essere testate
la tua applicazione tutte queste cose
è davvero utile in tal senso è a
insieme di requisiti che è esattamente cosa
è un casino da fare e che cosa
raggiunge e ti dà anche un modo per
parla di sicurezza prima di aver sentito
la gente dice che sì siamo sempre
fermato e conforme è come cosa
significa che hai controllato l’ospedale
non hai nessuno di questi 10
vulnerabile è un buon lavoro, ma cosa
sull’altro 250 nessuno lo sa, è così
davvero difficile parlare di cosa hai fatto
fare dispositivo sicuro senza un controllo completo
e una relazione lunga pagina di identificazione
cosa significa esattamente e cosa ha fatto
fanno quello che non hanno fatto con SVS tu
puoi parlarne ora
comunicare i tuoi clienti che abbiamo
raggiunto un livello SVS – e questo significa
qualcosa, certo, che tu hai
versioni diverse quindi sarà a
SPS tre punti 0.1 livello – e poi
tutti sanno bene almeno tutti
familiarità con l’SPS che è tutto
tu ora e le altre persone sanno cosa
significa la stessa cosa se ottieni una sicurezza
audit puoi dire al tuo auditor come noi
mirare al livello SVS – e sanno cosa
hanno bisogno di verificare che lo sappiano
in sostanza non devono lamentarsi
sulla mancanza di quella caratteristica se è così
livello 3 se è qualcosa che sei
puntando a te il prossimo anno, allora è anche questo
bene e questo è ciò che l’SPS in realtà
porta in tavola guardiamo il nostro
esempio da prima di questo
categoria 2 che riguarda l’autenticazione
quindi puoi vedere ancora una volta i termini
un po ‘ di elementi qui un po’ di dettagli
nei requisiti
quindi essenzialmente poche cose interessanti sono
verificato che tutta l’autenticazione
i controlli vengono applicati sul lato server
di nuovo sembra qualcosa di sciocco ma
potresti essere sorpreso da quante persone
esegui ancora l’ autenticazione sul client
lato se vuoi perdere dei soldi che posso
fai la tua scommessa che posso trovare un esempio
su Google in due minuti non lo farò
fallo vivere ma possiamo farlo a pranzo
è davvero gente comune
facendo l’ autenticazione basata su JavaScript
ovviamente persone che non sanno davvero
qualsiasi cosa sulla sicurezza ma proclamando
che come una buona soluzione e altro
gli sviluppatori lo trovano e lo usano
perché non lo sapevano
questo è un problema ora è nelle specifiche
Ora, se stai seguendo la SVS se
stai facendo un controllo basato su SPS
o usando quello come codifica sicura
pratica allora sai che questo è
qualcosa che non dovresti fare e tu
dovrebbe effettivamente verificare se non lo è
sta succedendo e va avanti
30 articoli in questa categoria quindi non c’è
un bel po ‘di questi articoli qui qui noi
avere cose come non usare scusa no
usando le password predefinite che è tipo di
importante anche qui e il
automazione in atto per impedire l’uso
di credenziali precedentemente violate e
va avanti e avanti e verso la fine
le cose diventano un po ‘ più complicate quindi per
esempio 2.31 dice hey dal modo in cui tu
potrebbe voler offrire multi-fattore
autenticazione e se stai mirando per
livello 2 dovresti offrire multi-fattore
autenticazione perché sì lo è
davvero importante è diverso
storia di convincere i tuoi utenti a usarlo
ma almeno offrendo loro il
possibilità alla possibilità di fare
quello è già il primo passo e
ancora una volta va avanti e avanti non me ne andrò
su ciascuna di queste categorie in dettaglio
perché questo ti annoierà ed è
Mi annoierò anche io, non facciamolo
quindi quello era ASV in realtà è un dettaglio
panoramica delle cose da fare e da non fare, non lo è
di nuovo non è una lista di controllo che puoi
usa direttamente ma è a è a
punto di partenza è qualcosa da dire
questo ti piace in tutte queste aree
cosa sta succedendo e questi sono i
cose che dovresti prendere in
conto se stai costruendo un semplice
applicazione per mantenere le ricette allora forse
il livello 2 è un po ‘eccessivo se lo sei
costruire una transazione di alto valore
applicazione allora si potrebbe desiderare di
lottare per il nostro livello SVS 3 e c’è a
molte cose extra di cui avrai bisogno
a prendere in una cura in considerazione e uno
delle cose interessanti su questi livelli è
non riguarda solo il tipo di applicazione
si tratta anche di quanta abilità lo fa
richiedere da uno sviluppatore di implementare
così se hai qualcosa che è
dispositivo veramente buono ma richiede un
sacco di configurazione complessa e
sviluppo per implementarlo davvero
è probabile che sia un livello di abilità di livello 3
3 requisito perché non vuoi
i tuoi sviluppatori a concentrarsi su quello prima
hanno coperto le basi della base
requisiti di livello 1 e livello 2 e
questo è ciò che gli ASV
qui porta al tavolo quindi come puoi
usalo nella seconda parte di
rappresentazione mi tufferò in pochi
esempi quindi non lo è
lista di controllo non è qualcosa che usi
un lunedì mattina per andare alla tua scrivania e
come vediamo di quale livello siamo sequel
Iniezione, sì, penso che ce l’abbiamo
controllare e andare avanti e su di esso non funziona
così se si vuole vedere se
sei protetto dal sequel
iniezione dovrai aprire la tua
codice e guarda i tuoi pezzi reali di
codice che gestisce le query del database e
devi ispezionarli tutti e ciascuno
uno di loro e vedere se loro
effettivamente gestire l’iniezione sequel
correttamente sì o no e solo allora si
avere un’idea di cosa stai facendo
quel punto quindi non è uno schema veloce
documentare è qualcosa che in realtà
utilizzare per costruire un programma di sicurezza è
qualcosa che usi per immergerti in profondità e
decidere è gestito o meno se non come
possiamo gestirlo in futuro
andando a mostrarti alcuni casi di come tu
può effettivamente utilizzare tale e ciò che accade
se non lo fai potresti aver sentito parlare
questo è dalla scorsa settimana ti dice il
limite di diapositive da allora ma
va bene, sono qui e sto presentando
hanno perso questo è P negli Stati Uniti ha perso 73
gigabyte di dati incluse le password
foto di chiavi private del
infrastrutture proprio così
perché avevano un secchio Amazon s3
che era molto aperto su Internet
probabilmente non dovrebbe succedere
c’è un articolo SPS su questo noi
coperto che 2.19 dice verificato lì
non ci sono password predefinite in uso nel
applicazione e che include no
a proposito, la password e se tu
usa questo come lista di controllo, quindi puoi farlo tu
puoi guardare la tua domanda oh sì, mio
Il secchio di Astrid è sicuro, sto bene
controlla ma forse cambierà domani
forse qualcuno cambierà qualcosa domani
ciò causa l’autenticazione fallita
come faresti a saperlo a parte l’essere
nel giornale su questo problema tu
non è per questo che puoi usare qualcosa
come l’SPS per impostare automatizzato
test di sicurezza che dovresti esaminare
questi requisiti e dovrebbero pensare
su come posso Guidarli lasciandoli
guidi i miei test di sicurezza e tutto il
i requisiti di primo livello sono quasi tutti
li sono automatizzati in fase di test quindi se
stai usando questi database pubblici e
bucket pubblici o qualunque test scrivono a
test per quel monitor di sicurezza quelli
cose perché andrà male in alcuni
forse è una configurazione Mis
forse è un problema su Amazon che lo sa
ma
vuoi essere il primo a rilevarlo
non un attaccante che passa e che afferra
tutti questi dati sono solo un esempio
di come fare le cose correttamente restiamo
nello spazio di autenticazione c’è questo
sito Web per adulti per trovare amici loro
sono stati violati e hanno perso molto
informazioni perché questo non è rilevante
a causa della parte anteriore ma
a causa del modo in cui memorizzano le password
stanno usando sha-1 per memorizzare le password
lo sha-1 in gran parte screditato beh
non importa se è screditato
o non importa che sia un hashing
algoritmo se si memorizzano le password con a
algoritmo di hashing lo stai facendo male
è essenzialmente l’ unica cosa che posso
Dite di questo so che era fatto
come in passato ma oggi abbiamo
alternative migliori non dovresti essere
usandolo più
un modo per attaccare debolmente immagazzinato
le password sono le tabelle arcobaleno che puoi
scarica un tavolo arcobaleno e puoi
cercare password che siano semplici hash
molto facilmente semplicemente dargli l’hash e
che il tavolo arcobaleno ti dà un
secondo dopo meno di un secondo BAM questo
era una password e per se si vuole fare
questo per md5 fino all’1: 00 alle 9:00
è un 600 gigabyte da 690 gigabyte
scarica ma una volta che hai ciò che puoi
fare facilmente riferimento a qualsiasi md5 di alfanumerico
i personaggi si prega di non scaricare questo su
la rete non ti piacerà nessuno se
lo fai a casa o in un hotel
tutti stanno bene comunque anche se
non puoi usare tavoli arcobaleno, diciamo
che qualcuno sta usando i sali e no io sono
saltare più veloce ma stai usando
salting alcuni tavoli remoti sono fuori
le persone possono ancora forzare la tua forza
password se li rubano brutali
forzare è davvero una persona davvero potente
basta comprare un sacco di hardware Nvidia che
sta guidando per crackare le password
e anche il mio Bitcoin ma essenzialmente
un impianto come questo è veramente
potente e nel caso in cui non lo fai
credimi questo è ciò che urta sempre
persone nella mia formazione se guardi il
numero di hash al secondo una cosa del genere
può fare se stai usando MD5 è così
molto bene se metti un numero ad esso è
200 miliardi di hash al secondo che significa
puoi provare 200 miliardi diversi
password al secondo per vedere se loro
combaci contro l’hash che hai
rubato dal database che è pazzo
per Sha-1 è meglio solo 68
miliardi così
stiamo migliorando lì ma questo è un
problema è perché non puoi usare sha-1
o md5 o qualsiasi algoritmo di hashing da archiviare
password perché se lo fai è
sarà veloce a romperli perché
questi algoritmi sono usati in situazioni
dove si suppone siano digiuniamo
in realtà vogliono che siano veloci sha-1
Penso che sia ancora parte di te
non voglio aspettare come dieci minuti per
fare un commit git solo non funziona come
che ha bisogno di essere incredibilmente veloce ma
oggi abbiamo questi hashing della password
funziona come decifrare e il meglio
Pratica oggi è la cripta dei tredici e
una macchina che abbiamo visto prima può fare 390
hash al secondo che non è un refuso 390
è così che si memorizzano le password perché
è fatto nel nel peggiore dei casi
qualcuno ruba il tuo database che hanno
le password che non sarai in grado
loro di forza bruta in alcun modo solo
non funziona così
beh, potrebbero provare alcune password sciocche
che le persone non dovrebbero usare il pulsante
mi dispiace un attacco brutale di forza bruta
non è il modo in cui funziona questa cosa quando tu
usa la cripta P e ci porta in cima
13 e s.vs verificano quell’account
le password sono hash a senso unico con sale e
con una forte protezione da forza bruta a
sufficiente fattore di lavoro deve essere
coinvolto lì è lì che puoi controllare
ci porta a questo uso dell’uso SVS
gli ASV per creare codice sicuro
linee guida di nuovo non è un documento
che si prende si rilascia su un
sviluppatore in stato per sicurezza
non funziona così, ma come una squadra
piombo o come manager o anche come a
lo sviluppatore dal basso verso l’alto è possibile
linee guida di codifica sicure da
questo fixing 2.13 è davvero facile da usare
una libreria che supporta decrypt o a
script o organo – e se lo fai come
che il problema vada via e tu lo sia
compatibile con questo ovviamente anche tu
scrivere test per assicurarsi che tu sia
effettivamente farlo correttamente ma questo è
per essere opere distinte naturalmente l’SPS
va molto più debito e tu hai
questi diversi livelli qui è un esempio
di ciò che un problema di livello 3 potrebbe essere questo
è uno snippet di codice per gestire gli utenti
accedi e vedi che ce ne sono alcuni
percorsi di codice diversi, quindi quello che vedi
ecco qui è il controllo per il
password dietro le quinte di questo problema
essere afferrato non è mostrato qui quattro
motivi reverentemente ma questo sta usando
bcrypt quindi se l’ autenticazione è
successo siamo a posto se il
l’autenticazione fallisce qui, quindi torniamo
un errore mentre registriamo un errore e noi
restituire la pagina di errore e se l’utente non lo è
abbiamo trovato anche la pagina di errore
suona bene, questo è il modo corretto di
fare le cose bene ma permette
qualcosa chiamato username harvesting o
attacchi di enumerazione del nome utente e perché
perché ora puoi usare un attacco a tempo
perché ricorda che questo sta controllando un po ‘
hash crypt che è lento e sta andando
prendere circa 200 100 a 200 millisecondi
sul tuo sistema mentre questo è il codice
istantaneamente torna indietro oh yeah no
trova l’ ego BAM dell’utente così se sei in un
rete affidabile che puoi effettivamente trovare
usando un attacco a tempo che puoi trovare
se un account utente esiste nel
sistema o no è qualcosa che sei
molto improbabile da venire con te stesso
devi essere davvero una buona sicurezza
sviluppatore per catturarlo mentre sei
scrivendo il codice non sono sicuro se io
capirei che non sono un ragazzo della sicurezza
uno sviluppatore quindi forse questo è il problema
chissà comunque che l’ SPS lo copra
Qualcun altro ha pensato a questo e ha messo
è negli ASV come hey questo è
potenzialmente un problema 2.28
ma nota anche che si tratta di un problema di livello 3
è qualcosa di cui ti devi preoccupare
se hai coperto tutto il resto e
stai costruendo un livello molto critico
applicazione sì questo è qualcosa per
preoccuparsi di
la soluzione non è poi così difficile
puoi facilmente calcolare un falso decrypt
hash in ciascuno dei percorsi del codice e il
il problema va via è solo un po ‘più lento
questo è vero ma non lo fai trapelare
informazioni in modo che l’ SPS aiuti effettivamente
per dare la priorità ai vostri sforzi di sicurezza
perché non c’è niente da fare
implementare qualcosa come questo prima
senza aver riparato questo sequel clamoroso
iniezione o comando iniezione buco dentro
l’applicazione per cui dovresti concentrarti
livello 1 prima quindi livello 2 e ora livello
3 naturalmente non è strettamente lineare
può combinare un po ‘ma c’è
alcune priorità in là da prendere
in considerazione e questo è ciò che l’SPS
ti offre parlato di multi-fattore
autenticazione
prima quindi dovresti offrire multi-fattore
l’autenticazione c’è molto che posso
di quello che non farò
perché il tempo sta scadendo ma il massimo
il modo comune oggi per fare questo sta usando
TOTP che è un protocollo aperto anche migliore
noto per l’ uso in applicazioni come
Google Authenticator Io stesso sono un
fan più grande di RT ma questo è quello che più
la gente sa come funziona bene
essenzialmente se abiliti questo meccanismo
il server genera un segreto lo mantiene
se stesso e ti dà lo stesso segreto
utilizzando questo codice QR che è possibile installare
nel telefono cellulare ogni volta che è necessario
fornire un codice sta usando un tempo di sistema
firmare qualcosa con quel segreto
non importa come funziona esattamente
il protocollo sta implementando le librerie
comunque in modo non c’è bisogno di preoccuparsi di
quello che conta è che tu ti faccia un codice
mandalo al server e al server
in grado di verificare se quel codice è stato
associato al segreto che solo tu
sai solo il tuo cellulare sa e se
questo è il caso allora il server lo sa oh
sì quel ragazzo ha ottenuto il segreto prima e
ora ha dimostrato il possesso di quel
di nuovo segreto così che è sufficiente come a
secondo fattore questo è come queste cose
lavoro, in pratica, suona bene proprio bene
sì, certo , suona bene
sicuramente un buon requisito ma ancora
se se lo implementate ce ne sono alcuni
cose che potresti voler prendere
conto ad esempio non sarebbe il
prima applicazione che memorizza questi
segreti come testo normale nel database
il che significa che se qualcuno arriva e
trova una vulnerabilità di iniezione sequel
con l’ Unione selezionare possono iniziare
selezionando cose da altri tavoli così
qui questo piace roba da parte degli utenti
tavolo afferrare la colonna segreta di totp e
aggiungere che ai risultati di ricerca di questo
query originale che ti dà una lista di
ristoranti solo in questa applicazione
qui ora non contiene ristorante
informazioni mentre contiene utente
le informazioni qui sono un esempio di
segreto da questo utente e qui è un
esempio di un segreto di quell’utente e
se riesci a rubare questo, puoi iniziare
generazione di codici e nome dell’utente
questo è tutto ciò che serve per iniziare a generare
questi codici quindi di nuovo devi concentrarti
sulla prioritizzazione della sicurezza perché se
guardi 5.10 è come oh by
giorno la cosa di iniezione sequel è gentile
di un problema quindi potresti voler risolvere
anche quello, ma mostra anche che a a
certo punto nel tempo che stai per
superare gli ASV perché è un
standard costruito da persone molto intelligenti da
esperti nel tuo campo ma è lì
alcune limitazioni
ognuno fa qualcosa di diverso da te
avere il tuo scenario unico quindi dopo a
mentre potresti voler iniziare ad espandermi
su quello
potresti voler iniziare a personalizzarlo
potresti voler lavorare per conto tuo
procedure interne e quindi è possibile
iniziare ad aggiungere cose nuove come verificare che
segreti condivisi dovrebbero essere memorizzati in un
modo cifrato che risolverebbe parte di
il problema qui così l’ ultimo messaggio
qui è possibile personalizzare questo è
effettivamente incoraggiato dagli autori di
il documento
riconoscono che il documento è
Non perfetta essi riconoscono che questo
ci sarà sempre un po ‘
motore della soggettività lì così invece
di discutere su sì dovrebbe essere
ci dovrebbe essere lì si può di
Certo, fai queste domande ma invece
di avere una discussione religiosa su
queste cose ti costruiscono da sole
meccanismo perché se inciampi
a problemi come la memorizzazione della nave TOTP
i segreti cifrano in un database che sei
già facendo un ottimo lavoro se tu
hanno coperto tutto il resto dagli ASV
allora puoi iniziare a pensare a questi
cose avanzate ma se hai coperto
tutto da SPS e sei sicuro
che avete fatto bene si sta facendo
un lavoro migliore del 95% dei tuoi colleghi
là fuori che sfortunatamente è il
scenario in cui siamo oggi così
il documento ti aiuterà davvero a ottenere
iniziato ti dà un modo strutturato per
fai accadere le cose e una volta che hai
bootstrap che una volta hai tutto
sul posto una volta che hai codifica sicura
linee guida che hai sicurezza automatizzata
test che hai penetrazione mirata
testando che potresti avere un bug bounty
programma una volta che hai tutto ciò basato
su un forte programma di sicurezza allora tu
può iniziare a pensare di aggiungere
materiale aggiuntivo di prendere al
livello successivo e di vedere ciò che conta per
la tua ultima parola era su ASV 3.1
adottare 0.1 SPS 4 è perché sta venendo fuori così
stanno lavorando attivamente su quello che è
apri è su github e qualcuno ha fatto
cambia ieri dopo che li ho mandati a
email come hey, perché non è piaciuto
è aperto quindi contribuisci se lo hai
qualcosa da dire su questo argomento
partecipare è oh dovrebbe essere
aperto è questo il punto di avere
sempre avendo la comunità che
ottieni feedback da quella comunità così
sì , sei altamente raccomandato
aderire a quel processo e effettivamente aiutare
migliorare gli ASV verso il futuro
mi porta verso la fine okay occupato
posto
[Applausi]

Please follow and like us: