Press "Enter" to skip to content

GOTO 2016 • What is Rugged All About? • Matt Konda


fantastico, grazie per essere venuto a sentire
per quanto riguarda il robusto, in realtà sto facendo qualcosa
questo discorso per Josh Corman non lo so
se tutti conoscono Josh
ha parlato spesso di robusti
ma non ce l’ ha fatta perché è così
a testimonianza al Congresso su
la sicurezza informatica oggi quindi spero di poter riempire
le sue scarpe in un modo ragionevole spero
che mentre sta testimoniando farà di più
di prendere solo il quinto sono sicuro che lo farà
essere abbastanza schietto per quelli di voi che
non so Josh, è una specie di pensiero
principale soldato in prima linea di come
gestiamo la sicurezza informatica con una politica
livello ha recentemente aderito a un think tank così
è un po ‘il suo punto di vista è molto
coinvolto nel movimento chiamato I am
la cavalleria che si basa sul
principio di non venire la cavalleria
per aiutarci a fare sicurezza, dobbiamo farlo
noi stessi quindi è fondamentalmente intorno
capire come possiamo fare sicurezza
parte del software che forniamo e lui è
lavorando con produttori di auto e
produttori di dispositivi medici per farlo
e quindi ti incoraggio a controllare
che fuori si merita che io sto andando
Trascorro solo un minuto a coprire quello che io
pensa che vorrebbe che tu sentissi e poi
Farò una specie di spin off nel mio modo di interpretare
questi argomenti quindi avrebbe usato una diapositiva
quello che sapevi su driessen è famoso
il software di commento stava mangiando il mondo
vero è ovunque così se ne hai
software insicuro è ovunque lui
vorrei che tu pensassi a DevOps e
la sicurezza come un’opportunità come luogo
pensa alla cultura della sicurezza che vorrebbe
voglio che ti mostri il manifesto robusto
quale io mostrerò un mucchio di
diapositive di tassi di miele e di cui parlare
come la sicurezza più DevOps è come il miele
tassi e di cui parlerebbe molto
empatia perché l’empatia in DevOps è
tipo di fondamento del ponte
sicurezza e DevOps vorrebbe che lo facessi
parla di strumentare il tuo codice così
pensando a ciò che puoi misurare
e come puoi usarli per rilevare
problemi di sicurezza quindi usa sempre un
esame
amo usare una CPU più alta del cinque percento
aumento del carico della cpu come indicazione
che una scatola è stata compromessa, quindi tutti i tipi di
diversi modi creativi di misurazione
cose a cui mi direbbe di essere cattivo
ti dico di essere cattivo con il tuo codice usando
prova di guanto o unità o scimmia del caos
lui parlerebbe di complessità essendo il
nemico una mancanza di gestione dei cambiamenti come
essere un problema e probabilmente lo farebbe
parlo di empatia ancora un po ‘
parlo anche della tua dipendenza quindi se
stai costruendo un prodotto software tu
probabilmente hanno n dipendenze che possono
avere problemi di sicurezza che ti vorrebbe
essere attivo sull’aggiornamento di quelli e in
un sacco di modi in cui DevOps è intrinsecamente buono
a molte di quelle cose e avrebbe detto
di nuovo empatia, quindi ti accorgerai di me
ha detto empatia molte volte Josh e io
tipo di approccio a questo argomento da a
posto diverso così in questa immagine tu
conosci una persona su un’isola in cerca
fuori e sembra che stiano per
essere salvato da una barca su cui si trova l’altra persona
la barca e sembra che stiano andando
dire essere salvato perché posso arrivare a
terra quindi abbiamo una specie di molto diverso
prospettive così Josh viene a questo da
una politica come essere il più efficace
come progettare il tuo sdlc in un modo che è
fantastico, vieni da una specie di altro
livello tecnico spero di trasmettere alcuni di
quelle idee più concrete pure io
penso che non voglio dire
siamo yin e yang ma veniamo da
prospettive diverse , quindi vado a
girare nel mio in un minuto ora quanti
la gente ha sentito parlare di qualcosa di più
fantastico che non è sempre vero in realtà
raramente è vero, sto davanti a te
oggi sono il presidente del consiglio di amministrazione
adesso e sono arrivato lì essendo un
sviluppatore che ha fatto sicurezza e provando a
ponte quella comunità e così è
qualcosa che wasp sta davvero cercando di
capire che ci piacerebbe il tuo aiuto che vogliamo
per vedere vogliamo vedere gli sviluppatori impegnarsi
con la vespa e vogliamo come OS che vogliamo
per interagire con gli sviluppatori di più che ho messo
questo scivola davvero solo per dimostrarlo
il mio background è stato davvero tecnico
per la maggior parte della mia carriera
leggere il blog bio nella giornata lavorativa
con la primavera per molti anni ha lavorato a
società di sicurezza e quindi sorta di
ho iniziato a vedere le mie applicazioni interrotte
e ha una sensibilità verso la sicurezza in
sviluppo e ho capito che non l’ho fatto
so davvero cosa stavo facendo da a
prospettiva di sicurezza e circa quattro e
un anno e mezzo fa ho trovato un’azienda per
lavorare con gli sviluppatori solo per farlo
è un po ‘da dove vengo e
Voglio dire che questo sembra un
un po ‘come un setup perché se tu
dovevano andare al software robusto org giusto
ora è giù e siamo sempre su
Traccia quindi sono un po ‘arrabbiato con Josh giusto
ora, ma in realtà è un po ‘
interessante piccola ironia che è la
motivo il sito è giù è perché
applicato automaticamente una patch di sicurezza
questo ha rotto qualcosa così posso stare qui
prima di te e dici sicurezza di sicurezza
sicurezza dovresti farlo tutto il tempo
ma la realtà a volte si rompe
le cose a posto un altro questo è una specie di
divertente ho fatto un podcast per robusto
sviluppatori di software e abbiamo fatto un sacco
di sessioni in cui abbiamo parlato con lo sviluppatore
mentre abbiamo parlato, parliamo di sicurezza
persone con cui abbiamo parlato con Josh con cui abbiamo parlato
Il gorelick di Wolfgang abbiamo parlato con un intero
gruppo di persone interessanti James wicket
chi ha scritto guanto era sul podcast lui
era davvero l’host principale e abbiamo fatto un
molto divertente podcasting ma ora
anche i domini sono scaduti, quindi credo di sì
tipo di voler essere in anticipo con te e
Diciamo che sto parlando di robusto ma io
penso che forse quello che faremo sia
prendi il meglio che possiamo da robusti
e parlarne in modo indipendente
quando mi sono trasferito a Chicago, che era circa
15 anni fa sarei entrato nell’ascensore
nell’edificio in cui ero e tipo
mi lamentavo quando faceva freddo, parlavo
alle persone e dire tipo di non posso credere
è come zero gradi e 20 miglia a
venti di ora o venti di 50 miglia all’ora e
quasi sempre la gente direbbe
non ci lamentiamo davvero qui come
questa è la parte del nostro ethos che non è così
lamentarsi del tempo, quindi faremo
lo stesso non ci lamenteremo
per quanto riguarda la robustezza, faremo solo il meglio
e parla del motivo per cui stiamo parlando qui
su robusto quindi questo è un ne sono sicuro alcuni
di te l’hai usato se lavori
Ruby a tutti i rubli è un normale
espressione come sito di test e il
la ragione per cui ho messo questo qui è lungo il
a sinistra vedi dev dev operazioni DevOps exsec
dev ops ops dev SEC ecc. DevOps robusti
sicurezza positiva DevOps e ho scritto a
espressione regolare per abbinarli
perché fondamentalmente da una sicurezza
prospettiva comunitaria vediamo devops
sta succedendo e noi vogliamo ma noi davvero
non so come e i nomi sono molto
confusionario e talvolta degenerato e
quindi una delle cose belle di robusto
è che ci dà un modo positivo per inquadrare
devops robusti devops giusto in modo che tu possa
cambia l’intero titolo di discussione per ordinare
di sicurezza software positiva, quindi facciamolo
impara quello che possiamo da robusto ok così
fondamentalmente la premessa di robusto era a
un po ‘come agile nel senso che
c’era un manifesto e questo è il
manifesto giusto, lo riconosco
il software è diventato la base di
il modello del mondo moderno giusto riconosco
la grande responsabilità che viene
con questo ruolo fondamentale giusto se
stiamo costruendo software ed è
dappertutto quindi ne abbiamo alcuni
responsabilità per quello che succede io
riconoscere che il mio codice sarà usato in
modi in cui non posso prevedere in che modo fosse
non progettato per e per più tempo di esso
è mai stato concepito per chiunque
Esperienza certamente faccio bene così se
ti fermi a pensarci mentre
stai scrivendo software potresti farlo
sapendo diversamente che tu hai questo
lunga coda di manutenzione forse di più
in particolare riconosco che il mio codice funzionerà
essere attaccato da talento e persistente
avversari che minacciano il nostro fisico
sicurezza economica e nazionale proprio così
questo è un modo di dire abbracciare il
mentalità che il tuo software sta per
essere mirati ad abbracciarlo e fare il tuo
software robusto in modo positivo così
che può resistere a quegli attacchi e
fondamentalmente riconosco queste cose e
Sto scegliendo consapevolmente di prendere un
percorso di costruzione di resilienza di alta qualità
software sicuro in molti modi è
ricorda di agile e quando robusto
è venuto fuori che alcune persone sono state criticate
perché intendo dire che agile lo è davvero
cambiare il modo in cui ho fatto tutto ogni
giorno e robusto non ha ragione è stato
aspirazionale forse il parallelo con
con agilità ma è interessante è
cercando di cambiare il modo in cui pensiamo
costruendo cose così una di quelle
dichiarazioni accennate, riconosco che il mio
il software sarà attaccato da esperti e
avversari persistenti proprio così
le cose che mi piacerebbe trascorrere un minuto
minuti di cui parlare è chi sono i tuoi
avversari perché puoi o no
stai pensando a questo diritto e a molti
volte facciamo la signorina
sottovalutazione che il nostro avversario è
conosci qualcuno come noi da solo
seduto nel seminterrato a bere
Mountain Dew forse qualcosa di più giovane
così giusto è comune
preconcetto su ciò che il tuo avversario
è ed è mostrato nei media ogni
tempo che vedi un hacker che indossano
felpa con cappuccio destra ho quasi portato una felpa con cappuccio
solo per quel display, ma quello è
non proprio chi è il tuo avversario giusto
quindi se guardi i rapporti forensi
su come effettivamente sono avvenute le violazioni
i tuoi avversari in realtà organizzati
crimine giusto e le persone che lo sono
che stai attaccando probabilmente stai lavorando
squadre probabilmente hanno stand-up che
probabilmente ottieni benefici giusti, secondo te
dei tuoi aggressori sta ottenendo benefici
coppia di programmi come credi
i tuoi attaccanti in quel modo in generale
ma non quando lo fai
cambia la tua mentalità te ne rendi conto
devi fare questo tipo di fronte e
centro su come ti avvicini alla sicurezza come
ti avvicini al tuo sviluppo
processo e, naturalmente, quando lo fai
sarà contestualista quindi no
ognuno ha una squadra di dieci persone
attaccandoli tutto il tempo ma bene
numero delle società qui rappresentate
lo vedo certamente ogni giorno al mio
i clienti hanno ragione è una cosa reale
quindi una delle cose che possiamo fare per aiutare
noi stessi rispondiamo a questo è pensare
su un modello di minaccia un modello di minaccia è un
termine dalla sicurezza ma è qualcosa
è facile da spiegare e lo farò
usa un piccolo case study per provare a
spiegalo a te è fondamentalmente un modo
per noi capire il rischio, quindi questo è il mio
auto è la mia macchina nel mio cortile è
dietro una staccionata nel mio vialetto e siamo
andando a tipo di pensare attraverso una minaccia
il modello della macchina sembra giusto
di ovvio che quando la mia macchina è parcheggiata
la strada qualcuno prenderà il
gestire può essere giusto è molto possibile
che qualcuno prenderà la maniglia
e apri la porta o prova a pensare di averlo
per supporre che così proverò a bloccare il
porta qualcun altro che qualcuno potrebbe rompere
una finestra per ottenere qualcosa di prezioso
loro possono vedere nell’auto così io vorrei
in genere non lasciare come un computer portatile
esposto nel sedile posteriore dove qualcuno
potrebbe semplicemente rompere la finestra e aprire il
macchina così ho una specie di testa che ho
un modello di minaccia anche se non lo sono
pensandoci davvero come un modello di minaccia
quindi quando ho parcheggiato la macchina in strada I
prova a bloccarlo, cerca di non andartene
cosa interessante è parcheggiata
la mia macchina nel vialetto torna qui perché
Penso che scoraggi le persone dall’attaccare
io o dal tentativo di entrare in macchina
ma il fatto è che ho avuto
l’auto rotto in qui e sul
street quindi ho pensato che fosse il mio modello di minaccia
piuttosto buono se lo parcheggio dietro il cancello
farà rumore se qualcuno
arriva dietro il cancello nel mio cortile a destra
quindi questo giorno sono uscito e mi sono seduto
giù in macchina con i miei figli ne ho due
bambini 10 e 8, entriamo, siamo
mi sto preparando per andare a scuola e guardo
sopra la porta laterale e, come si sa
i vani portaoggetti sono tutti aperti e
tutto è stato mescolato nel modo giusto
come hai pensato per me?
mi sono sentito come violato, sentivo male
lo senti mai nel software
stai costruendo non ancora ma dovresti
ok questo fa parte del tuo modello di minaccia
e voglio fare un ulteriore passo avanti
giusto così ho anche un garage che potresti
pensa se parcheggio la macchina nel garage
sarà più sicuro, lo farei
pensa così ma
tipo di mantenere l’analogia a
applicazioni se parcheggio la macchina nel
garage ho bisogno di tenere la porta aperta così
che posso farlo entrare e uscire ho bisogno di una porta
80 e 443 per essere aperti in modo che io possa
accedere all’applicazione non lo faccio
l’analogia ha senso per le persone se chiudo
la porta è più sicura ma nessuno può usarla
la macchina è giusta così il mio modello di minaccia deve
fai quello che c’è in macchina cos’è
prezioso come la gente potrebbe entrare in come io
impedire loro di ottenere in etc e si
potrebbe fare la stessa cosa per un
applicazione per una pagina in un’applicazione
per un napi ecc ho pensato che le persone lo farebbero
voglio alcuni esempi di sicurezza tecnica
quindi ho intenzione di darti un po ‘ qui e
parleremo di processo verso il
coda quindi ecco una domanda che non conosco
quanto bene puoi vederlo ma dovrebbe essere
abbastanza ovvio che la query prevista
sono solo le prime tre righe terminate con
un ‘parentesi non dove stiamo interrogando
dagli ordini in cui è presente il nostro codice premio
qualcosa di giusto quello che puoi vedere è quello
se posso iniettare in quella variabile
quello sta diventando collegato per il
codice di ricompensa che posso rendere molto diverso
domanda okay e cosa intendo
Illustrare qui è proprio quanto nefasto
può essere giusto perché non solo io sono
cambiando la query in esecuzione ma
Sto gestendo qualcosa che è in realtà
interrogare fuori dalla tabella degli utenti se giusto
guardi attentamente vedrai l’Unione
la tabella degli utenti e l’aliasing di
colonne da password ed email a prima
nome e cognome così quando questo funziona e
questo è come un vero esempio lo farà
eliminare nomi utente e password in una tabella
di ordini che è ovviamente male spero
è ovvio che questo è male proprio questo
è un esempio di iniezione sequel I
non dovrebbe mai lasciare il controllo di un attaccante
quale è la struttura della query
per essere così se vogliamo diventare robusti
come gestiamo l’iniezione sequel come facciamo noi
facciamo quella cosa che facciamo è ci alleniamo così
si impara come l’iniezione sequel
capita di sapere se lo è
possibile nei framework che stai utilizzando
Mi piace usare grep, sono un grande fan di grep
signore
per cose che sono buoni segni di
problemi così quando vedi l’essere delle stringhe
aggiunto insieme durante la creazione di query
questa è una buona indicazione che potresti
avere qualcosa da guardare all’uso
query parametrizzate quindi se non lo fai
sapere cosa sono una query di parametrizzazione
non te lo dico adesso, no
avere tempo ma vai a scoprirlo in fondo
dove vedi un punto interrogativo e sei
sostituendo il valore in te puoi fare il codice
rivedere quindi se stai facendo se sei
facendo se ho una richiesta di pull, facciamolo
equipaggiare con una nuova query e io faccio e
Sto già facendo una revisione del codice di questo
richiesta pull dovrei essere in grado di guardare
e controllare se l’iniezione sequel è
lì quasi istantaneamente è molto
piccola unità di lavoro quindi non lo farei
consiglia di inserirlo nel tuo codice
rivedere e utilizzare analisi statiche e web
scansione delle app in modo statico e non analisi
è fondamentalmente qualcosa che strappa
il tuo codice e ti da un feedback
lo analizza e te lo dirà
hai fatto questo okay, qualcuno me lo dice
che tipo di vulnerabilità sta andando
essere sullo scripting cross-site ok così
il più grande che in meno della scienza
questo è davvero eccitante, so che lo sei
eccitato il maggiore di in meno di
i segni hanno un significato per il browser giusto
cambiano quello che fa il browser
valuta che esegue il codice basato su
interpretandolo come maggiore di o
meno di segno se io uso l’escape
versione con punto e virgola LTE e commerciale
lo rende meno che giusto
lo mostrerà ma non lo è mai
andando a provare a fare qualcosa con esso così io
consiglio vivamente e questo è un
enorme problema lo trovo in quasi tutti
app che collaudo vorrei fortemente
consiglia di utilizzare un framework che
ti incoraggia a fare la codifica in uscita così
per esempio se stai usando la foglia del tempo
che è una libreria di tag che la gente spesso
usare con la primavera in genere tutto è
emettendo codice avrai sempre il
punto e virgola LT a meno che non si usi
scrivi se stai usando i baffi
devo cercare la tripla coppia per
usando jQuery cerca il innerhtml
destra
quindi ci sono certi odori per mancanza di
una parola migliore come il cappotto odora di
cosa dove possono presentare
scripting cross-site e puoi farlo una volta
sai che puoi trovarli facilmente
nella stessa procedura di revisione del codice che ho
appena descritto stai facendo un tiro
chiedi di vedere se c’è un
tripla tripla coppia ci vuole un secondo
la giusta analisi statica può trovare
scripting cross-site in alcuni contesti
non è al cento per cento un’altra classe
di vulnerabilità che vediamo molto
il termine OS per esso è insicuro diretto
riferimento all’oggetto ma si tratta davvero
autorizzazione quindi diciamo che il miele lo è
guardando il suo record di stipendio e
Joanne le sta guardando ma il miele può
cambia la sua opinione o la richiesta
viene inviato per vedere un record di stipendio tale
che mostra joannes vero io sono
richiesta di stipendio record 3 o stipendio
record di cinque e se ho solo chiesto per lui
me lo dai, è un fallimento
per implementare l’autorizzazione è giusto
molto comune lì penso di avere una diapositiva
con un caso che questo è successo
pubblicamente questo è qualcosa in cui
Oltre a fare la revisione del codice per te
puoi trovarlo con la revisione del codice che puoi
scrivere test di unità per questo diritto, quindi se
vuoi diventare duro scriverò
test delle unità di sicurezza e sicurezza
i test unitari possono dire registrare un utente
creare un logout del progetto registrarne uno nuovo
utente visita il progetto, se si può vedere
non hai implementato l’autorizzazione
correttamente se quegli utenti non sono supposti
per vedere i progetti dell’altro che fanno
senso così sembra qualcosa che è
molto accessibile in un test unitario di questo tipo
di vulnerabilità non è qualcosa che
possiamo trovare con analisi statica o
strumenti molto facilmente così abbiamo bisogno di persone
che sono nell’IDE o nel codice
cercando di pensarci mentre andiamo
era solo che mi piace sempre includere un
un paio di esempi recenti questo era giusto
un recente esempio di tale autorizzazione
problema in cui le persone hanno iniziato a vedere altro
gli ordini della gente questo è successo a me
nelle applicazioni della vita reale se non è così
è successo a te forse perché tu
non lo so se sei come me
usato sempre per scrivere i miei metodi di ricerca
o il mio elenco di metodi in modo tale che lo farebbero
limitare ciò che l’output è tornato giusto così
Direi di mostrarmi una lista di progetti e
Sarei molto chiaro che volevo solo
mostrare all’utente i propri progetti ma
quindi se si intraprende un’azione basata su questo
come una cancellazione o un aggiornamento non lo farei
controlla di nuovo che eri
accedere al proprio progetto perché come
l’avresti mai visto nella mia mente
è uno sviluppatore molto ingenuo come vorresti
mai nemmeno trovare la richiesta di aggiornamento
il progetto di qualcun altro come a
cattivo è molto facile quelli sono solo a
un paio di incursioni tecniche così robuste
davvero su come facciamo come facciamo
il codice che produciamo resiste a questi
tipi di cose giusti e tu sai io
non so che penso che sia tutto robusto
quello diverso dalla sicurezza del SDLC
ci sono diversi modi di pensare
a questo proposito , in definitiva, se non si dispone di un
processo per supportare i vostri sforzi di sicurezza
o i tuoi sforzi di disponibilità che non sei
riuscirà ad avere successo
proteggere o rendere disponibile il tuo sistema
quindi ho ancora clienti che usano
cascata che molti di voi potrebbero ancora usare
cascata so che non è così
non comune la cosa che la gente di sicurezza
Tendono ad apprezzare la cascata è quello
c’è un momento molto chiaro in
prova come se trascorressi tre settimane
facendo QA posso anche fare la mia sicurezza
test quindi posso fare un pen test I
può eseguire analisi statiche che richiedono cinque
giorni posso fare tutto ciò che voglio e adattarlo
in quella finestra di prova, giusto quanti
le persone stanno ancora usando
cascata a malapena nessuno che sia quello
bello, quindi, in realtà è così
che il nostro modo di scrivere software è
cambiato bene, stiamo effettivamente facendo unità
di lavoro che sono più piccoli e più piccoli
stiamo lavorando in storie e noi siamo
o stanno facendo gruppi di loro
tutti implementano una storia
implementare una trama in modo corretto e cosa
lo facciamo da una prospettiva di sicurezza
cambiamenti in quel contesto perché l’unità
di lavoro è molto più piccolo
quindi nella fase dei requisiti dobbiamo
pensa ai requisiti di una storia
livello altrimenti sarà troppo tardi
dobbiamo pensare al nostro modello di minaccia
come l’auto quello che c’è in macchina quello che c’è dentro
l’app quali dati ci sono prima di noi
costruire qualcosa o mentre stiamo costruendo
ma possiamo farcela da soli
il contesto di una storia quando commettiamo
codice mi piace vedere l’analisi statica o
revisione del codice che tipo di cosa sono un grande
fan di liste di controllo solo perché molto
brevi checklist di test chiari possono essere molto
efficace e quindi ho menzionato l’unità
test Sono un grande fan delle unità di sicurezza
testare così nel contesto di a
storia puoi fare tutte queste cose e
quello che si ottiene presso l’altra estremità è
diventerà un software migliore e più sicuro
software più robusto da prendere in prestito dal jazz
umile se guardiamo come continuo
consegna stiamo prendendo quella storia
approccio e stiamo fondamentalmente spingendo
codice tutto il tempo giusto e quando vediamo
questo come team di sicurezza vogliamo solo
controllarlo come noi che spaventa l’it
ci spaventa perché sentiamo di essere fuori
di controllo non sappiamo quando quel punto
nel tempo è che dovremmo fare il nostro
test e non sappiamo a quali strumenti
utilizzare perché gli strumenti che abbiamo richiedono giorni
per eseguire in modo che non funzionano contro in un
ambiente o un contesto in cui ti trovi
codice di spedizione costante comunque se
siamo creativi e guardiamo questa immagine
possiamo fare un sacco di cose incrementali per
rendere il nostro processo robusto ed ecco cosa
ne parleremo così sempre
come definire i requisiti di sicurezza
davanti se puoi così puoi avere
requisiti di prestazione che sono
implicito in un sistema che stai costruendo
sai che ne avrai un migliaio
utenti o 100.000 utenti concorrenti o
decine di milioni di utenti simultanei
tipo di partire con questo in mente se tu
la tua architettura non lo farà
cambia e forse lo accetti ma
dal punto di vista della sicurezza, vogliamo
inizia a pensarci già da noi
può e impostare linee guida molto chiare
perché gli sviluppatori senza un’idea di
quello che dovremmo fare non va
per fare il massimo che faremo, non lo faccio
Dì almeno quello che faremo
ciò che è naturale non è il massimo
giusto e raramente è il più giusto
rispondi a entrambi
quindi come scegli il bene e il meglio
la cosa è avere una conversazione e
esploralo e comunicalo
quindi quante persone hanno stakeholder
che chiedono funzionalità di sicurezza
per tutto il tempo pochi non molti sono i miei
l’esperienza è anche che le parti interessate sono
generalmente pensando che hai fatto sicurezza ma
loro non sanno veramente cosa significhi
quindi un buon modo per aiutarli è
introdurre un personaggio cattivo così tu sei
facendo le persone la tua storia ne ha alcune
persona qualche caso d’uso che stai cercando
descrivere per una persona che sta raggiungendo
qualcosa se tu introduci un cattivo
giusto e tu fai quella parte del tuo
recensione della storia ora hai intenzione di pensare
circa bene come qualcuno abuserebbe
questa pagina che ha un check out o
qualcosa del genere fa le persone che sono
in realtà curioso non conosco la risposta
per questo le persone usano i punti storia I
indovinare generalmente si usi che nel
quello che penseresti è come
consegna continua sì mi piacerebbe parlare
più su come funziona perché io sono
solo un po ‘confuso nel contesto di
uno sprint lo capisco totalmente nel contesto
di una storia per storia non sono sicuro di averla
ma quello che sto per dirti è
le vostre stime puntuali storia devono
includere la sicurezza può sembrare ovvio
non sono sicuro se sembra ovvio, ma se
non include la sicurezza quindi nessuno di
questo non funziona con i tuoi grafici di masterizzazione
niente della tua velocità niente di quello
stai usando per pianificare e capire
cosa sta succedendo a livello di progetto
andando a lavorare se la tua sicurezza
i requisiti non sono integrati nel tuo
storie e punti della tua storia che fanno
sento così qualcosa che farò con alcuni
i clienti li hanno aiutati a guardare le storie
loro staranno governando
fasi di grooming dove prima di iniziare a
sprint stai andando a governare le storie
che stanno per entrare e assicurarsi
sono fondamentalmente pronti e ben pensati
attraverso bene puoi fare parte della sicurezza
di quel diritto puoi anche parlare
su questa revisione incrementale del codice in a
richiama il livello di richiesta
Immagino che la maggior parte di voi stia usando
integrazione continua in questo giorno e
età giusta ci sono molti
opportunità con continuità
integrazione giusta se sto usando Jenkins
solo per esempio posso facilmente collegare
strumenti di sicurezza in Jenkins per ottenere
feedback automaticamente ogni volta che
accumulo fa quel suono come una buona cosa
Intendo il tipo di base completa per
test di unità di scrittura e unità in esecuzione
prova ogni commit è quello che vuoi
sapere non appena vicino al punto in cui
hai scritto il codice il più possibile ciò che il
i problemi potrebbero essere con esso in modo che tu possa
sistemali molto vicino a te per la prima volta
lo ha scritto e la stessa cosa è vera per
problemi di sicurezza questo è solo un paio di
esempi di eseguire uno strumento in realtà questo
è una sorta di buon punto per seguire e
dì che sai in un modo che potremmo aiutare
bridge community di sicurezza e software
Sarebbe per tutti voi aiutare l’owasp
con progetti di sicurezza open-source
perché purtroppo molta sicurezza
le persone non sono grandi sviluppatori così noi
scrivere strumenti che non sono molto lucidi
o molto pulito o molto ben progettato
loro tipo di lavoro non voglio bussare
persone di sicurezza ma tendiamo a pensare
come hey possiamo scrivere uno script in Python
incatenare un sacco di cose insieme
abbastanza grandioso ma non siamo come
costruire qualcosa per uso generale
ha bisogno di tipo di resistere al
rigore architettonico che la maggior parte di
il sistema che stai costruendo richiede così
nella misura in cui potresti aiutarci
sarebbe fantastico che avrei
diversi progetti a cui mi impegno in questo momento
che mi piacerebbe avere aiuto con le persone
questo probabilmente ti aiuterà anche se
li inserisci nel tuo continuo
processo di integrazione
quindi una delle cose che ci sono state
lo sfondo in jenkins era statico
analisi così è l’ analisi statica
essenzialmente analizzando il codice trasformandolo in
qualcosa che possiamo capire e guardare
per problemi e ci sono dei limiti a
cosa può trovare ma è utile se lo è
trama se hai strumenti disponibili noi
dovrebbe usarli quindi un esempio con
liste di controllo forse abbiamo una storia giusta
come utente normale devo essere in grado di
verifica vedere i miei dati del profilo assicurarti che
contiene informazioni corrette blah
bla bla destra, così potremmo avere normalmente
criteri di accettazione che aggiungeremo
a una storia che ha aiutato forse il QA o noi
ci sta aiutando a scrivere i test unitari forse
sta aiutando i tester a sapere cosa
dovrebbe cercare forse è solo
potremmo definire dove si trova il bar
aggiungere elementi di sicurezza a questo molto facilmente
giusto e ora ci siamo articolati al
sviluppatore che sta per finire
stimare e poi implementare questo se
questa caratteristica è esattamente ciò che la barra è e
dove hanno bisogno di andare e alcuni dei
criteri di accettazione che la nostra sicurezza
correlati possono essere testati da persone normali
che non sono specialisti della sicurezza
questa è una delle cose che mi piacerebbe
abbattere è l’idea che ci sia questo
concetto di uno specialista della sicurezza lì
sono alcuni ci sono certe cose che
sono molto molto esoterici, John Downey lo è
parlerò della crittografia più tardi
è molto esoterico non scrivere il tuo
proprio crypto non sto dicendo a tutti
dovrebbe fare sicurezza ma nel contesto di
la tua applicazione, oh, dovremmo assicurarci
l’ utente dovrebbe essere solo in grado di vedere
il loro stesso profilo sembra
ovvio per me ed è qualcosa che io
pensa uno sviluppatore o un tester
potrei trovare o verificare giusto penso
i tester potrebbero identificare le PII abbastanza facilmente
così come quali dati sono sensibili a te
addestrare le persone una volta e poi possono aiutare
hai ragione quindi mi piace l’idea di sfocare
e abbattere quelle barriere tra
chi sta pensando alla sicurezza e chi è
non e penso che sia il tipo di
essenza di robusto ne abbiamo parlato alcuni
di questi mi dispiace è una specie di un
esempio interessante così tante volte
la gente dice bene che stiamo usando SSL, così siamo
sicuro e in questo caso abbiamo un
forum per comprare un libro
usando SSL quindi è sicuro giusto tranne
che posso potenzialmente addebitare il mio
conto inserendo quantità negative
nella quantità quindi è quello che è
cercando di illustrare bene questo è un
tipo di logica aziendale del difetto di sicurezza
che non può essere trovato dall’analisi statica
o molti altri strumenti che puoi fare
cose come scrivere unit test per questo o
testare manualmente o scrivere un sacco di
tempi rendendo un sistema sicuro o robusto
si tratta di entrare nella storia in
anche se il tuo flusso di lavoro e capire come
quella caratteristica potrebbe essere abusata quindi quanti
le persone hanno comprato qualcosa su Amazon
la maggior parte delle persone ha ragione di quante persone hanno
comprato qualcosa e spedito a un nuovo
indirizzo molto bene che cosa ha fatto Amazon
quando hai fatto così non è il
la password è il pagamento giusto per te
devi reinserire il numero della carta di credito
se stai spedendo a un nuovo indirizzo okay
questo perché c’era molta frode
dove le persone stavano prendendo i conti rubati
come se non so se qualcuno ha sentito parlare
la discarica di LinkedIn di 117 milioni di persone
Giusto indovina che venti percento di quelli
gli account vengono riutilizzati su altri siti all’indirizzo
meno male quindi vedo questo con i clienti
penso che qualsiasi grande compagnia sia
andando a vedere questo dove qualsiasi grande
il dump della password verrà provato
contro i tuoi utenti per vedere se quello
l’account esiste quindi se Matt Conda è in gmail
com è un utente nel tuo sistema e io uso
la stessa password tra linkedin e
capitale uno o chiunque al momento
qualcuno può accedere come me e loro possono
fai tutto ciò che posso fare se probabilmente è giusto
quindi è pericoloso, no
davvero una sicurezza in un modo che non è così
sentirsi come un problema di sicurezza perché
non è come se avessi un buffer overflow
o un’iniezione sequel o qualcosa di giusto
Sto solo abusando di qualcosa del tuo
sistema che non sta guardando fuori per quello
ma ciò che Amazon realizzò fu che
guardando il loro flusso attraverso
checkout potrebbero aggiungere un passaggio
ridurrebbe drasticamente le frodi
Direi che hanno fatto la loro app e
facendo i loro affari più robusti facendo così
questo ha senso e quindi posso stare qui
e parlerà della top 10 di OWASP
che mi piacerebbe farmi credere a me
potrebbe parlare per ore ma,
in definitiva molte delle cose che tu
bisogno di pensare non sono questi possono pre
cose conosciute ci sono cose che tu
solo sapere mentre sei lì a scrivere
il codice ed è per questo che voglio rompere
giù le barriere e questo è ancora una volta
Penso che Ruggett sia tutto ciò che vuoi
pensare a come potrebbe essere la tua funzione
abusato dato che quasi nessuno al
il tavolo con me ieri conosceva la bio
blog qualcuno conosce questa spia contro
spio va bene almeno qualche altra persona
cosa che possiamo fare è rendere operativi i dati
riguardo al nostro sistema, così ho solo
menzionato amazon avendo un ulteriore passaggio in
controlla qualcosa che puoi fare
vedere se un dato utente ha avuto un sacco di
login falliti o sta facendo qualcosa di molto
al di fuori del normale flusso di acquisto
le tue compagnie di carte di credito sono già
facendo così stanno scoprendo una frode
facendo ciò potrebbe non essere qualcosa di te
bisogno di implementare te stesso, ma non c’è
dati che è lì per te da usare per
sicurezza e in base alla tua minaccia
modello di cui abbiamo parlato proprio se io
conosci la mia famiglia in macchina e
un sacco di soldi faranno di più per proteggere
Potrei fare qualcosa del genere così
quando parliamo di provare a fare sicurezza
in un ambiente DevOps che vogliamo ottenere
fino ai più piccoli incrementi di lavoro
bene le storie, quindi se stiamo facendo unità
test vogliamo test di sicurezza
e sicurezza se stiamo facendo la revisione del codice
vogliamo fare noi la revisione del codice di sicurezza
ho parlato di un po ‘ di questo
questo è un esempio interessante
quante persone hanno sentito parlare di zap alcuni
non molti così zap è un proxy di attacco che
simulerà un attaccante come un vero e proprio
forza bruta non intelligente attaccante qualcosa
quello che puoi fare è collegare a questo
automaticamente eseguito contro la tua app in
jenkins di notte così bene
Voglio dire, so che molti di noi hanno 24 anni
7 aziende sono ora così le persone stanno lavorando
in tutto il mondo, ma diciamo solo
hai otto ore in cui le persone sono
scrivere il codice tutto il giorno e poi hai un
notte in cui le persone non stanno usando il
sistema di test pesantemente è possibile collegarlo
in modo che tu stia scannerizzando di notte per ottenere
feedback con uno strumento come zap mi dispiace
sto andando a saltare un paio di cose
per cercare di arrivare dove potremmo avere
domande quindi qualcosa che è
interessante su DevOps c’è a
periodo e in realtà lo vedo ancora dove
siamo una specie di gente di sicurezza classica
paura di DevOps perché ora la linea di
la separazione dei compiti è finita o così com’è
sfocato a destra quindi se sei se sei su
una squadra che sta facendo DevOps potresti essere
scrivere script di provisioning che
controlla come funziona il tuo sistema di produzione
potresti anche scrivere affari
caratteristiche giuste e generalmente di sicurezza
alle persone piace vedere c’è gente che
distribuire e gestire la produzione e non c’è
persone che scrivono codice e ci sono
persone diverse e loro non dovrebbero
sovrapposizione e la premessa dietro quello è
che le persone che stanno scrivendo il codice
potrebbe mettere qualcosa di malizioso in esso e
quindi schierare come una backdoor o qualcosa del genere
così bene prima di tutto nella mia
l’esperienza di avere la separazione non lo fa
fermare la porta sul retro per uscire
comunque perché le persone che sono
la distribuzione non riconosce che c’è un
porta sul retro ma più lontano se lo sei
documentando il tuo provisioning con
script come albero o qualcosa di simile
che puoi controllare usando quello così tu
non ho bisogno di fare lo stesso livello intendo
dovresti essere rigoroso ma tu
non è necessario necessariamente eseguire in profondità
scansioni di vulnerabilità contro tutti
libreria software utilizzando se è possibile controllare
come esegui il provisioning di ogni server e
sai che stai facendo la cosa giusta
l’altra cosa è che con DevOps
costruiamo e bruciamo giusto così potremmo non farlo
lo fanno tutti ma potremmo
riprovare un nuovo server piuttosto che
aggiornando uno che è già lì e
questo può avere grandi benefici dove sei
aggiorna automaticamente tutto il
dipendenze ogni volta che tu te ne vai
immaginalo
quindi mi piace pensare a questi tipi
Dimentica le cose come se si autodidatta
quindi è come se la gente della tua conformità
stanno dicendo ehi come stai facendo le cose
cosa vuole educare ciò che vogliamo fare
loro riguardo a questi processi così
possono vedere vedere che è un è un
processo controllato che è davvero quello che
a loro importa che vogliamo abbracciare
Cambierò andrò rapidamente qui
un altro modo di pensare a questo è
riattivamente giusto quindi abbiamo questo tipo
di eventi che accadono nel nostro nel nostro
ciclo di sviluppo e possiamo fare leva
quelli come fattori scatenanti per fare noi stessi
pensa bene, quindi ci impegneremo
forse dovremmo essere in esecuzione per testare
o facendo la revisione del codice queste sono cose che noi
può fare al momento del commit assicurandoci
i requisiti hanno coperto il controllo
dipendenze quando distribuiamo una bella
cosa dell’altra bella l’altra
bella cosa sul provisioning con
script è possibile impostare una masterizzazione
ambiente molto facilmente in modo teorico
se vuoi creare un ambiente per
eseguire strumenti di sicurezza contro quello dovrebbe
essere facile in un ambiente in cui in a
ambiente in cui stai costruendo quelli
cose tutto il tempo se ne hai uno
tipo di pipeline classico di tubi quando
stai distribuendo è un altro buon momento per
eseguire guanto di sfida che è lo strumento che
James wicket ha scritto e poi ci sono
altre cose che succedono ancora
al di fuori di un arco di tempo molto specifico così
Non so a cosa servono i trigger
questi per molte aziende che non fanno mai
li altre aziende fanno un sacco di loro
ma queste sono tutte cose che dovresti
fare periodicamente, ma in realtà non lo fanno
ha senso nel contesto di un commit o
una storia o una release necessariamente un sacco di
persone poi hanno una sicurezza
incidente e questo è un grilletto quanti
le persone hanno avuto incidenti di sicurezza
sono solo alcuni che sai cosa diciamo
e sicurezza su quello giusto
ci sono le aziende che sono state
hackerato e lo conosciamo e le aziende
sono stati attaccati e non so che ho
significa che va bene
Penso di provare a ri-enfatizzare uno di
questi punti ho intenzione di fare un rapido
demo qui solo per il tipo di divertimento così
quello che sto gestendo è un vecchio paletto
vedi questo tipo di te in realtà no
ho bisogno di vedere troppo ma sto correndo
un’istanza di tomcat che capita di essere
correndo un po ‘a puntoni, così posso andare
in questo è metasploit metasploit è un
sfruttare il framework che posso cercare
si pavoneggia e poi e dal modo in cui non lo faccio
so come non so come hackerare
tutto quello che sto usando una console qui così
tipo di scherzo di così poi ho
tab completamento quindi posso andare voglio usare
questo uso usiamo struts dev
modalità mostra le nostre opzioni Voglio impostare il mio
il nostro ospite sarà localhost e lo farò
dimmi solo per brevità, quindi cos’è
farlo inizia un reverse handler che
è fondamentalmente come un socket localmente
questo è ascoltare e poi attacca il
app a puntoni che si connette al
gestore locale e mi dà tipo di
comando e controllo su quella app struts
quindi in questo caso ha un aspetto simile
degenerare perché i montanti sono in funzione
localmente e metasploit è in esecuzione a distanza
correre localmente ma in modo più realistico
esempio potrei essere in esecuzione in un
Istanza Amazon o da qualche altra parte a destra
con un IP pubblico e potrei esserlo
attaccando un server puntone pubblico a destra
e la cosa che fa paura è questa
Non devo averlo Non devo
autenticarsi Non devo fare nulla
essere in grado di farlo contro puntoni e
quello che stai guardando qui ora è a
shell al sistema remoto così oops giusto
accadere
Oh fantastico non sono sicuro di quello che ho fatto lì
il punto è che lei sta correndo
essenzialmente come tom cat nel tom tom
cat directory e può fare qualsiasi tom
il gatto sa fare bene, io in realtà non lo so
deve essere nella sessione rvm errata o
qualcosa
quindi quello che ho fatto solo per gentilezza
di essere chiaro come ho sfruttato qualcosa
era una vulnerabilità nota e
va bene, è un vecchio montante che ha un
noto problema posso attaccarlo tutti dentro
il mondo sa che posso attaccarlo ma è così
ancora nella tua app perché è così eccoci qui
mostrandoti uno strumento chiamato dipendenza
controlla quale controllerà tutti i tuoi
librerie contro vulnerabilità note
quindi puoi eseguire questo e ti darà
XML è così che dirà hey
stai correndo e ce l’hai
Oh GL Oh GL iniezione giusta, quindi questo è
la vulnerabilità che ho usato per esibirsi
lo sfruttamento che controlla la dipendenza
puoi dirmi che puoi farcela
Anche Jenkins puoi farcela
di diversi modi in cui puoi metterlo
Maven ti darà un feedback su
le librerie che stai usando sono a
problema quindi un altro punto che Josh avrebbe
voglio che io faccia vedere quale percentuale di
il tuo software è come quello che hai
scritto e quale percentuale del tuo
il software è come il tuo stack giusto così io
non so come ho costruito una tonnellata di primavera
app di solito da 40 a 60 barattoli
Sto includendo giusto questo è un grande attacco
superficie che non è proprio il mio codice che io
non so nemmeno così qualcosa che vuoi
fai è pensare alla tua app sta avendo un
più grande servizio di attacco in quello solo
pezzo che stai correndo e usa qualcosa
come il controllo della dipendenza per averlo capito cosa
è robusto, intendo dire che abbiamo speso tutto
questa volta parliamo di sicurezza
sdlc e come rendere il tuo software più
sicuro davvero in parte robusto
gente di sicurezza se siamo cappelli bianchi
cappelli grigi o cappelli neri e quello no
il tuo tipico cappello nero riguarda noi
assomiglia ai lupi a te spesso quando
veniamo a parlare con te non spesso
voglio parlare con noi perché siamo dentro
l’abitudine di dire no, assomigliamo ai lupi
giusto ma vogliamo essere lupi dentro
vestiti di pecora
vogliamo tessere sicurezza in cosa
lo stai già facendo in modo costruttivo
modo e questo è davvero ciò che è robusto è tutto
riguardo si tratta di trovare quelli
opportunità incrementali per fare meglio
e cercando di farlo, facciamo meglio noi
parlato di un mucchio di specifici
esempi è un po ‘ come un cavallo di Troia
il cavallo giusto è robusto è fantastico
DevOps è robusto DevOps è fantastico, facciamolo
adottalo e mentre lo fai lo sei
andando a ottenere sicurezza ma non l’hai fatto
devo fermarmi e pensarci è così
uomo in fiamme dove penso abbiano bruciato
questo che è davvero fantastico non l’ho fatto
riusciti ad andare, ma è il mio tempo sono molto
felice di rispondere alle domande Mi dispiace che
Josh non potrebbe essere qui, ma mi auguro che
questo è divertente è divertente per me

Please follow and like us: