Olá pessoal, bem com vocês?
Sejam muito bem vindos a mais um episódio do Devisecops Podcast.
Eu sou o Cassio Pereira, o seu host, que vos apresenta mais uma vez o nosso podcast de segurança, mais especificamente segurança de aplicações, Devisecops, AppSec, a porra toda
relacionada a isso.
Hoje é episódio solo, porque o senhor Marcos está passeando, viajando pelo Brasil, enquanto o senhor Benyur...
trabalhando, ocupado e eu aqui vagabondiando, como sempre, para trazer esse conteúdo aqui para vocês.
Pessoal, hoje é episódio especial porque hoje a gente vai começar uma série que eu tenho muito orgulho, na verdade, que é a série do Iron Man.
Epsec Homem de Ferro.
Pois é, essa série que eu criei livro, escrevi livro que está disponível gratuitamente, não precisa pagar nada, não precisa botar e-mail lugar nenhum, se cadastrar, você vai lá e
baixa, casodeveloper.com.br, tá lá o livro.
só baixar e também tem apresentação né eu fiz toda uma apresentação a palestra baseada nesse conteúdo na verdade primeiro foi apresentação depois escrevi o livro né então tem
uma apresentação onde eu apresento diversos eventos inclusive há duas semanas atrás apresentei na b-side porto já apresentei na b-side cracov a b-side budapeste e outros
eventos ao redor do mundo inclusive b-side londres também então é alguns continentes aí que puderam ter alguns não né um continente né só na europa
onde puder não ter o prazer de poder ter acompanhado esse material que eu tenho muito orgulho e também apresentei no Brasil, obviamente.
Pessoal, antes de começar a nossa série, acho que vai ser dividida uns quatro ou cinco episódios.
É uma série solo, os meninos não vão participar, porque é conteúdo que eu fiz, praticamente está tudo na minha cabeça, e não é debate, não uma discussão, é simplesmente
que eu quero entregar esse conteúdo para vocês de uma outra forma.
Então já tem no formato livro, já tem no formato apresentação, palestra, slides, e agora...
é aqui no podcast também, num formato mais áudio e vídeo.
podem me ver.
Para quem está aí no YouTube, minha companhia pelo YouTube, podem ver o meu novo visual.
Eu não vou falar para você estar ouvindo no podcast, no Spotify, enfim.
Vai lá no YouTube e dá uma olhadinha no novo visual desse rosto que vos fala.
Pessoal, antes de começar o nosso episódio, vamos sempre lembrar que a Nova 8 é a distribuidora da SNIC e Checkmarks no Brasil.
Nova 8 que suporta aqui o Davi Secoast Podcast.
desde sempre.
Muito obrigado, Nova 8.
Purple Bird Security, que vai cuidar de você durante e depois de incidente.
Purple Bird também que tem nos suportado com a nossa grande parceria junto com nosso amigo Jefferson Macedo, que já gravou conosco aqui.
A Gold Security, com serviços especializados segurança de aplicações e a DigitalWalk, que tem portfólio completo para você, empresas lideradas por mim e o nosso grande Rodrigo
Balbino.
que também esteve conosco aqui durante algumas temporadas aqui no podcast.
E mais recentemente a Conviso, é especializada em segurança de aplicações, ela ajuda empresas que lidam com dados sensíveis como fintechs, bancos, healthtechs e plataformas
digitais a fortalecerem toda a gestão de segurança de software desde o desenvolvimento até a produção.
Então a Conviso do nosso grande amigo Wagner, que também nos apoia aqui no DevSecOps Podcast.
Pessoal, vamos lá, o negócio é o seguinte.
pra gente começar essa série aqui alto nível, né?
Primeiro, você vai baixar o livro, tá?
Você vai lá no meu site, cassodeveloper.com.br, vai ter lá uma sessão de projetos e tem lá a capa bem grande do Homem de Ferro, Literalmente aquele primeiro artefato que ele usa no
peito ali no primeiro filme, tá lá como capa do livro e você baixa.
Não precisa botar e-mail, não precisa se cadastrar, não precisa mandar mensagem, não precisa seguir ninguém, fazer nada.
Você vai lá e clica e baixa o PDF, tá?
Se meu site não for hackeado, não é vírus, pode baixar o PDF que tá tudo bem seguro, tá bom?
E esse livro tá português, com a grande colaboração da minha irmã Emily Silva, que traduziu o livro pra mim, porque em primeira versão eu escrevi esse livro inglês, tá?
Escrevi ele inglês e aí a minha irmã fez a tradução pra nós em português, facilita muito nosso trabalho, nossa escala aí, tá bom?
Então fica aí os créditos também pra nossa grande, que queremos aqui também no podcast, né?
minha irmã, Emily Silva.
E a irmã não é irmã, boca pra fora, não, é minha irmã mesmo, tá?
Que trabalha também com a gente na área de Epsec, tá bom?
Então, abraço aí pra ela e obrigado pela tradução.
Pessoal, então, assim, baixa o livro.
Primeira coisa, por quê?
Porque o livro vai ter muito mais detalhes do tudo que eu tô falando aqui pra vocês.
Que, obviamente, gente não vai conseguir cobrir tudo, especificamente, o livro vai te trazer muito mais detalhes.
Inclusive, no livro tem uns links a cada...
por cada parte do livro onde eu estou fazendo referência aos filmes e tal, eu trago o link da cena do filme.
Então você vai clicar, vai assistir a cena e tal, tem toda uma imersão diferente desse formato aqui.
Então o livro diria que é a sua primeira coisa que você tem que fazer.
Ai, Cassio, mas eu tenho preguiça de ler o livro, não sei o quê.
Então você desliga e sai fora e vai fazer outra coisa da sua vida.
Mas ainda assim você quer uma chance?
Tá bom, então você vai lá no castetvelover.com.br, barra, AppSec, tracinho, Iron Man.
Epsec, Tracinho, Aeroman.
E aí, camel case, né?
O A, o S maiúsculo, o I e o maiúsculo, tá?
Esse link é o link da apresentação que também tá inglês, breve vai ter português, mas ainda tá inglês, que é a apresentação que eu criei, foi a primeira coisa que eu fiz desse
projeto, Epsec, Aeroman, ou Epsec, Almeida de Inferno, foi essa apresentação.
Então eu criei os slides, criei a apresentação, criei a história e a narrativa pra apresentar isso em alguns eventos, algumas conferências aí.
Deu muito certo, tá dando muito certo.
e esse conteúdo foi a primeira coisa que eu fiz.
aí, conteúdo foi que eu escrevi o livro, né?
Resolvi colocar mais detalhes, mais informações lá, enfim, abrangei tudo que não cabe na palestra.
Na verdade, isso aqui vira uma palestra já de uma hora, duas horas e workshop de quatro horas, né?
Então, é conteúdo, é muita coisa, tem muita coisa mesmo.
Por isso que aqui no podcast a gente vai tentar, né?
Solver isso pra vocês quatro, cinco episódios, pra que vocês possam digerir isso, tá bom?
Mas vamos lá, então, você vai baixar o livro.
Tá?
E fica a vontade pra compartilhar esse livro com quem você quiser.
Baixa o PDF, no grupo do WhatsApp, manda por email, faz o que quiser, tá?
Não tem problema nenhum compartilhar.
Agora, você não pode modificar esse conteúdo, né?
Ele tem direitos autorais, eu que escrevi e tal, tal, tal.
Ele é gratuito, não precisa pagar nada, mas não vai me modificar, fazer bosta, né?
Use o negócio como deve ser usado.
É simples assim, tá?
É projeto gratuito, fica a vontade pra compartilhar com quem você quiser.
mas não modifique o conteúdo.
E se você quiser modificar o conteúdo, se inspirar nele, não tem problema.
Só botar meu nome lá, fala ó, fiz isso aqui inspirado no conteúdo desse original que é do caso.
Ponto final, tá bom?
Então não tem problema nenhum.
Agora, vamos lá, vamos começar.
Primeira coisa dessa apresentação é o primeiro tópico, gente fala de modelagem de ameaças.
É tópico que eu gosto muito, como vocês sabem.
Threat modeling.
Então esse será o nosso primeiro tema, nossa primeira discussão aqui no DevSecOps Podcast.
Boa, então a vinheta está funcionando.
Então, pessoal, vamos lá.
O que eu queria falar sobre modelagem de ameaças?
Na verdade, antes de entrar no tópico de fato, vamos lembrar do primeiro filme do Homem de Ferro.
Lá no primeiro filme do Homem de Ferro, ele tem ali...
Ele foi sequestrado, para quem não lembra.
Vale lembrar, isso aqui não é spoiler nem nada.
Os filmes já são relativamente antigos e tal.
enfim.
Se você não assistiu, se prepare para spoilers.
Se você não gosta, eu garanto que você vai gostar.
E se você gosta, eu garanto que você vai olhar com outros olhos agora e vai se apaixonar ainda mais.
pelos personagens, pelos filmes, enfim, e vai re-assistir agora com uma outra visão.
Eu sei que ferreir com sua vida, né?
Você vai gastar agora dois fim de semana e partir tudo de novo, mas tá bom, faz parte.
Bom, vamos lá, pessoal, então sem enrolação.
O primeiro filme do Homem de Ferro foi sequestrado.
Vale lembrar que o Tony Stark ele herdou do pai, o pai que é o Howard Stark.
O pai já tinha uma fábrica de armas, literalmente.
fez toda a fortuna ali dele fabricando armas e o Tony Stark herdou tudo isso e continuou ali fabricando armas.
E o Tony Stark, meio que inocente, não sabe que as armas dele estão sendo enviadas para o Black Market, vamos dizer assim.
Enfim, ele vai fazer uma apresentação lá no Oriente Médio de uns novos mísseis, que novo mísseis que tem uma propulsão diferente, uma forma de voar diferente, vamos dizer assim,
que inclusive vai ser usado na armadura dele.
E os terroristas que estão lá naquela região onde ele vai apresentar, sequestram ele porque querem que ele fabrique
e, obviamente, ilegalmente, mas quer que ele fabrique aqueles mísseis ali pra ele, que são os mísseis de última tecnologia e tal, pra que aqueles terroristas tenham uma vantagem.
E ele se recusa, obviamente, mas ele é sequestrado com este fim.
E aí, sequestrado dentro de uma caverna, ele não consegue ser encontrado, ele não consegue ser encontrado, na verdade não, ninguém consegue encontrá-lo, O governo americano junto
com o Coronel Rhodes, que eventualmente vai virar o patriota de fé, estão lá procurando ele, mas ele tá, obviamente, dentro de uma caverna irrastreável, não vão conseguir
encontrá-lo.
Ele, na caverna, pensa.
Poxa, cara.
Na verdade, ele tem companheiro lá que já está sequestrado também.
É tradutor, inclusive, dos idiomas que eles falam lá e tal.
Esqueci o nome do personagem agora.
Yen Sen, acho que é o Yen Sen.
Que ajuda o Tony Stark, coloca aquele ímã no peito dele, literalmente, para...
Os estilhaços da granada que explodiu perto dele vão para o coração dele, enfim.
Então aquilo ali mantém ele vivo.
E é o cara que salva a vida dele praticamente e dá uns conselhos ali para ele.
Enfim, vamos contextualizar aqui.
E aí nessa caverna ele já faz o primeiro trabalho de modelagem de ameaça.
Por quê?
Porque quando ele tá lá na caverna, ele...
Obviamente o filme não mostra isso, mas deixa muito claro, ele faz o seguinte, ele fala, pensa, eu preciso sair daqui.
Já tô aqui há uma semana, lá, não deixa muito claro quanto tempo ele tá ali, mas já vai lá alguns dias, Já tô aqui, o próprio colega dele lá da cela, de cela, com ele fala, cara,
vão construir, a gente vai construir o bíceps pra eles e eles vão nos matar, né?
E o Tony Stark fala, bom, então temos que fugir daqui, né?
Não vai ter jeito, não vão achar a gente.
A gente tem que fugir daqui.
Então tem trabalho de modelagem e ameaça.
Obviamente ele não tem muita opção, ele tem que fugir ou ele vai morrer.
Mas ele tem trabalho de ameaça, modelagem e ameaça no sentido de, é possível fugir daqui?
O que eu tenho aqui?
Bom, querem que eu construa míssil, então eu uma certa tecnologia.
Eu tenho aqui os próprios míssils que me deram pra desmontar e montar na escala que precisam lá.
Ele tem ali uma certas coisas, O pessoal até fala que ele tem uma caixa de sucatas ali na caverna.
Ele pede para os caras equipamento de solda, precisão, ferramenta disso, daquilo e outro.
Então ele tem ali uma série de equipamentos, mas obviamente limitado.
Não tem laboratório, tem tudo aquilo à disposição.
Ele tem ali uma caverna, o talento dele, todo conhecimento, ele é gênio.
E ponto.
Então ele faz uma modelagem de ameaça.
Qual é a modelagem de ameaça que ele faz?
Bom, com o que eu tenho aqui, é possível construir algo, uma arma, uma armadura, o que quer que seja, que vai me permitir fugir daqui?
Fugir significa sair da caverna, obviamente ir o mais longe possível, eventualmente não morrer, porque eu quero fugir e também ficar vivo, e pode ser que eu precise atacar, não
vamos simplesmente deixar eu passar pela porta e ir embora, eu vou precisar atacar porque vão atirar mim, então preciso me defender.
Então ele tem ali alguns objetivos, fugir, atacar eventualmente, não morrer, e olha que interessante, ele precisa pensar quais são as ameaças que estão aqui, as ameaças são
simples.
homens armados.
com o que eu tenho aqui, eu consigo lidar com esses homens armados?
E ele pensa, bom, sim, consigo.
Porque se não, gente, olha como é importante isso aqui.
Se ele pensa, não, o que eu construí aqui não vai ser suficiente pra eu fugir.
Então não vale a pena a construção, porque eu só vou gastar tempo e energia e vou morrer do mesmo jeito.
Agora, é viável o meu projeto?
Ele é viável a ponto de pé?
Eu vou conseguir conter as minhas ameaças, estar protegido e fugir no final?
Sim, as chances são boas.
ele ainda toma tiro de raspão.
Para quem não lembra, na hora que ele sai da caverna, ele toma tiro de raspão na perna.
Passa ali até a joelha, com a armadura dele, enfim, mas ele eventualmente consegue fugir.
Então, perfeito, ele fez trabalho de modelagem de ameaça.
E aí, eu já gosto de falar para a gente que o seguinte, a modelagem de ameaça, gente, ela não é nada demais.
Ela é uma metodologia, um framework, jeito de fazer as coisas.
jeito de fazer algo específico nesse contexto de modelagem de ameaça.
Eu sempre gosto de falar que assim...
é jeito de você identificar possíveis situações de ataques a sistema ou parte dele.
Por que possíveis situações de ataque?
Porque não é real ainda.
O próprio Amigo de Ferro tá na caverna, pensa, vou construir uma armadura que vai ser a prova de balas porque vão tentar atirar mim, eu vou precisar voar pra sair o mais longe
possível, vou ter lança-chamas pra poder atacar, blá blá blá, beleza.
Mas tudo isso tá acontecendo?
Não, ele tá planejando, ele tá pensando em possíveis situações, vão atirar mim, vão tentar me parar.
Eu preciso que isso seja a prova de bala.
Então veja, qual é a ameaça?
Vão me dar tiro.
Como que eu me protejo?
Eu preciso ter um colete a prova de bala.
ter uma armadura, algo que seja capaz de parar um tiro.
É simples assim.
Então é essa possibilidade de uma situação, nesse caso, a possibilidade de tomar tiro e eu preciso me proteger disso.
Então isso é uma modelagem de ameaça.
De fato, você pensar possíveis situações de ataque a sistema a partir dele.
E eu sempre gosto de dizer o seguinte.
A modelagem ameaças é a arte de encontrar problemas mesmo antes do software existir.
Por que?
Porque eu não preciso de um software pra fazer modelagem ameaça num software.
Eu preciso dos...
dos...
DOS...
Requisitos funcionais.
Pra você que não sabe...
Pra você que não sabe, o requisito funcional é a matéria prima do software.
Assim como um móvel é feito de madeira, assim como o carro é feito do ferro, do metal, do alumínio, você tem uma matéria prima ali.
Então, vamos pegar o exemplo de guarda-roupa de madeira.
Vem lá a madeira da floresta, ela é tratada, ela vai passar por processador de corte, de limpeza, de lixamento, sei lá o quê, e vai virar uma peça que eventualmente depois vai
virar o guarda-roupa.
Eu não tiro a árvore da floresta e transformo no guarda-roupa imediatamente.
Eu preciso que essa madeira seja trabalhada.
A matéria-prima crua, bruta, ela não tá pronta.
Eu preciso de preparo, ainda que ela tenha essa matéria-prima já de uma certa qualidade.
Até pensar como plantar essa árvore, a melhor espécie da madeira, aquela coisa toda.
Então, você entendeu a analogia aqui.
O fato é, a matéria-prima do software, é o requisito funcional,
ele precisa ser melhor trabalhado, ou seja, eu não pego requisito funcional e falo, eu preciso de uma tela de login.
Não, eu falo, olha, eu preciso de uma tela de login, usuárias sem, são dados sensíveis, então precisam estar criptografados, eu preciso de CAPT para evitar o número de forças, eu
preciso validar esses inputs para evitar injections e coisas do tipo, eu preciso de log a cada tentativa de login, é log de auditoria para ver quem está logando e quem não está
logando, essa tentativa de login foi com sucesso e com erro, eu preciso que esses logs sejam alertados eventualmente caso...
Tenham muitos logs de insucesso sequenciais, enfim.
Então eu estou melhorando a minha matéria-prima, que é o meu requisito funcional, para melhorar, obviamente, o meu produto final.
Então se essa matéria-prima está bem melhorada, matéria-prima bruta, eu vou trabalhando e melhorando ela, a tendência é que o meu produto final tenha uma melhor qualidade.
Então nesse contexto aqui, arte de encontrar problemas antes do software existir é.
Porque eu não preciso de código para fazer mandala de EMA, eu preciso do requisito funcional, eu só preciso da matéria-prima.
que é uma tarea-prima, é nela que eu vou falar, tá, você fez uma tela de login, mas eu posso fazer injection, eu posso fazer brute force, percebe?
Ah, você tem cadastro, então eu posso manipular os dados, eu posso fazer tampering, percebe?
Então eu só preciso do requisito funcional pra fazer essa modelagem de ameaça, tá bom?
E aí, repetindo pouco do que eu falei, o Homem de Ferro já tinha alguns objetivos pra fugir da caverna, escapar, ir o mais longe possível, obviamente não adiantava só sair da
caverna, não morrer e eventualmente atacar.
E aí...
Ele fez a armadura, o Mark 1 fez a primeira armadura, fugiu da caverna, matou alguns terroristas, tomou tiro, enroscou o braço dele uma hora.
Se a lembrar daquela cena, enroscou o braço dele uma hora, ele consegue sair, cara vem, inclusive, dá tiro, queima a roupa nele e a bala recocheteia, recocheteia, recocheteia,
não sei como fala essa palavra, e mata o próprio cara.
Acontece algumas coisas, tem lança-chamas que vai queimar tudo, explode os caras, enfim, consegue voar.
Isso aí, quando ele voa, inclusive, que ele cai, a armadura se despedaça, era a única chance que ele tinha.
Beleza, deu tudo certo.
E qual que é a importância aqui?
Ele fez o melhor que podia com o material que ele tinha.
Quer dizer que essa armadura seria suficiente para lutar com Thanos, eventualmente, no futuro?
Não.
De jeito nenhum.
Ela seria suficiente para lutar depois com o próprio Capitão América, no Guerra Civil, quando eles tem desentendimento?
Não.
Vingadores 1, quando ele tem uma certa briguinha com o Thor.
O Thor dá relâmpago nele, se fosse com essa armadura aqui ele morria, ele iria ter trocutado, explodia.
Simples assim.
Então não, essa armadura não é a melhor armadura do mundo, ela não é suficiente para qualquer ameaça que viria futuramente.
Mas para aquele momento ela era suficiente.
Na conta, ele toma tiro de raspão, enrosca a armadura, mas ele consegue voar, escapa da caverna, o objetivo foi cumprido com sucesso.
E eventualmente ele vai ser resgatado.
Então, gente, é assim.
Desenvolvimento software, como que a gente faz hoje?
Tá sendo pensado algum possível ameaça?
Tá sendo de fato pensado segurança?
Ou você tá pensando fazer refactoring, melhor código performático, usar melhor biblioteca possível, pra quê?
Só porque você quer uma decisão de ego?
Por uma decisão de negócio que não foi, eu tenho certeza, que CEO da empresa não falou, não, olha só, preciso que você agora, esse código precisa estar aplicando os princípios de
solid.
de arquitetura de software.
Não, não, esse código agora precisa refatorar o código.
ele tá funcionando a funcionalidade que eu preciso.
Tá, ponto.
É isso que o business ped.
Então, muitas vezes a negligencia a segurança por opção ou por falta de conhecimento.
Pode ser também.
Mas vamos lá, voltando ao tópico.
Então, a modelagem ameaças, eu sempre gosto de falar o seguinte também, gente.
Eu vou aplicar lá onde há risco significante de segurança.
Não precisa aplicar a modelagem ameaças a tudo.
Porque senão eu viro software que eu nunca mais paro de desenvolver.
Na verdade eu nunca mais finalizo.
Porque eu vou parar de fazer modelagem de ameaças e cada requisito vira negócio absurdo.
Porque a modelagem de ameaças é trabalho empírico, trabalho manual.
Eu preciso dedicar tempo naquilo.
Não tem ferramenta que aperta o botão e ela faz para mim.
Então eu vou precisar dedicar tempo nisso.
O que quer dizer que a modelagem de ameaças toma tempo?
Isso acaba atrapalhando pouco a própria aplicação da modelagem de ameaças.
Por isso que eu gosto de dizer o seguinte.
Não faz modelagem de ameaças no seu sistema inteiro.
faz modelagem de ameaça onde há risco significante de segurança.
Homem de Ferro nos mostrou isso já.
Ele fez uma armadura que protege a vida dele e permite que ele escape e ataque eventualmente.
Ele conseguiria voar por uma hora, atingir velocidade supersônica?
Não.
A armadura era bonita?
Não.
Tinha cores, Não.
Tinha tecnologia, inteligência artificial?
Não.
Tinha nada disso.
Era uma armadura à prova de balas que permitia ele voar por 15 minutos.
15 minutos?
Não.
Acho que ele voa por...
alguns minutos, ela funciona por 15 minutos no total, inclusive ele fala isso né, precisa de algo que funcione por 15 minutos no total, 15 ou 20 minutos enfim.
Então essa é ideia de modelagem e ameaça, o quão eu preciso proteger esse software, o quanto eu preciso proteger esse software das ameaças reais, ameaças que podem me trazer
impacto, porque ameaça gente, vocês vão ter infinitas ameaças, a gente pode ficar fazendo modelagem e ameaça o resto da nossa vida numa API única com endpoint só, você vai achar
diversos problemas.
Mas quais deles vão nos trazer impacto real de, olha, cara, isso aqui acaba com a empresa, isso aqui fecha o negócio, isso aqui vaza dados sensíveis.
Do que, olha, isso aqui é um cross-site scripting que não leva nada a lugar nenhum, não tem impacto nenhum.
Então não vamos preocupar, ainda que tenha uma vulnerabilidade lá, não vamos preocupar.
É igual falar pra você, olha, gente, é o seguinte, uma vez por ano você vai pegar gripe.
Beleza.
Você vai viver numa bolha?
Não.
Você vai pegar gripe, vai tomar aspirina e vai ficar tudo bem.
Você sabe o impacto, um dia de cama, seja, ou dia mais febre e tal, acabou, cega a vida.
Você vai pegar gripe o resto da sua vida até morrer.
É muito provável.
Agora, quando você é criança, quando você é melhor idade, quando você é falidoso e tal, tende a ter um risco pouco maior.
Aí a gente se protege pouco mais.
Um pouco mais, porque a gripe já é natural.
Agora, se você voltar alguns anos atrás e falar, olha, você vai pegar Covid.
Opa, pera, não.
Vamos ficar casa, o hospital está lotado, tal, tal, tal.
Então eu preciso me proteger.
Ficar casa, usando uma boa dose aí do que foi falado.
Não que eu concorde ou não concorde, tanto faz a minha opinião, na verdade.
Só dizendo alguns exemplos aqui.
Então, cara, vamos pegar ebola.
Não, espera, não vou sair na rua, não vou encostar nisso aqui porque eu vou pegar ebola.
Enfim, vocês entenderam.
Então você vai ter um momento onde você precisa se preocupar, de fato, segurança, numa profundidade maior.
E você vai ter momentos que não fazem sentido.
Simples assim, a gente está fazendo uma API interna que chama o serviço A para pegar a informação e mandar no serviço B.
E é uma informação não sensível, não tem dados alevantos, tem dados de pagamento, é dado transacional.
Não precisa ter autenticação, criptografia, WAF?
Não.
Talvez uma autenticação ali para garantir que o serviço está chamando outro ponto para evitar problema interno eventualmente.
assim, percebe que é diferente de eu falar, olha, cara, tem uma tela de login do meu sistema principal.
Olha, estou banco aqui, porra, nem se compara.
E eu sempre gosto de falar o seguinte, fazer modelagem de ameaças para você não passar a vida fazendo, faz no nível mais granular possível.
O mais granular possível, na minha visão, é você não precisa quebrar nível de método, componente, mas pega requisito funcional.
Pega requisito funcional.
Eu tenho lá crude.
Create, nem lembro o crude agora em inglês.
Create, retrieve, update, delete.
Beleza, então tem crude, eu tenho quatro requisitos funcionais.
Criar dados, buscar dados, atualizar esses dados e deletar esses dados.
nesses quatro, o que é mais crítico para mim?
Vamos lá, estou falando de dados sensíveis?
Então os quatro são sensíveis.
Agora, não é dado sensível.
Então entre ler as informações, até criar informação nova, nem se comparar, apagar os dados.
Percebe?
Ou atualizar os dados.
Integridade.
confidencialidade.
Então esses dois pilares de segurança talvez sejam ainda mais importantes, eu diria, do que a própria disponibilidade.
Estou jogando aqui, tá, gente?
Então, numa classificação, o deletar dados talvez seja mais importante do que o criar os dados.
E ainda mais importante do que o buscar os dados.
Não tão consequencial como o atualizar os dados.
Então vocês entenderam.
É como se eu falasse assim, olha, gente, vamos lá.
Eu tenho aplicações externas que estão olhando para internet, meu usuário precisa só te indicar, tem informação sensível aqui.
E eu tenho aplicações de back office que são transacionais, que são só acessadas via VPN, estão atrás de um firewall, então eu tenho uma exposição menor.
Então a tendência de eu ter umas perfis de ataque é menor do que o que está exposto para internet, só para vocês entenderem.
Ou seja, vai fazer modelagem ameaças, pega cada requisito funcional,
classifica ele no nível de criticidade para o seu business, o que pode trazer impacto real.
é esses caras que você vai aplicar, lá de ameaça.
Beleza?
No Homem de Ferro, ou, aliás, o Homem de Ferro Tony Stark, numa conversa com o Bruce Banner, que é o Hulk, eles falam desta conversa, mas não tem tanto detalhe, mas eles falam
desta conversa.
Olha, o Tony Stark junto com o Hulker criaram a Veronica, ou a Hulkbuster.
que é aquela armadura gigante, linda, maravilhosa, para conter o Hulk.
Até então, essa cena, inclusive, Vingadores 2 era de Ultron, onde o Hulk, nada para o Hulk até então.
É uma ameaça, a maior ameaça que temos, vamos dizer assim.
E aí, o Tony, junto com o Bruce Banner, criam a Veronica.
Basicamente, o Hulk falando, olha, o Hulk é super forte, ele faz isso, faz aquilo, e o Tony Stark vai lá e cria algo capaz de pará-lo.
Cara, é exatamente a mesma coisa que ele fez na caverna.
Na caverna eu tenho terroristas com armas, eu preciso criar algo suficiente para isso.
Agora eu tenho o Hulk, eu preciso criar algo suficiente para isso.
É simples assim, é a modelagem de ameaça.
É como se você ligasse para o seu hacker, falasse assim, hacker, como é que você vai me atacar hoje?
Olha, senhor, Cássio, eu vou atacá-lo usando um brute force primeiro ali na sua tela de autenticação.
Eventualmente vai passar por uma senha fraca, porque você não tem uma política de senhas.
Assim que eu conseguir o acesso, eu vou conseguir acesso não administrativo.
Então eu vou tentar...
fazer um roubo de sessão ou tokens para escalar o privilégio e conseguir uma conta com pouco mais de privilégio.
E aí uma vez de uma conta administrativa eu vou tentar deletar dados, causar uma disponibilidade.
Ponto, é isso que o hacker falou que vai fazer.
Então você desliga a ligação, obrigado seu hacker, muito obrigado.
Aí você volta para casa agora e fala, bom legal, então o hacker primeiro é fazer brute force.
Então vamos botar capt aqui nessa tela de login, vamos colocar uma política de senha para não ter senha fraca, vamos atualizar todas as senhas fracas, vamos ativar o MFA.
Ou seja, qualquer login agora vai pedir...
um Multifactor Authentication.
Isso aqui já barrou a entrada dele.
Mas beleza, ele falou que ia depois ganhar acesso e fazer escalação de privilégio para tentar apagar dados causar indisponibilidade.
Então cada função crítica agora no sistema, especialmente as de apagar informações, a gente vai pedir uma confirmação, token, segundo fator ali para garantir que o usuário quer
mesmo apagar aqueles dados.
Vamos fazer uma política aqui de sessão e cookies.
Cada vez que cara fizer logout,
A gente mata a sessão, limpa os hooks pra evitar que ele consiga account takeover via session hijacking.
Enfim, então basicamente você criou ali as medidas de proteção, as mitigações de acordo com o hacker e falou como que ele vai te atacar.
E aí amanhã o hacker vem te atacar, não consegui, realmente você colocou as proteções que eu falei, exatamente como eu falei que ia te atacar.
Então esse trabalho do Tony Stark junto com o Bruce Banner é exatamente isso.
Eles sentaram e criaram algo capaz de deter o hook.
o próprio Hulk falando.
aí, eu vou deixar para os senhores refletirem agora.
Essa cena é fantástica e quase ele perde.
É quase que o Hulk falou o que ele ia fazer e você criou as proteções e não fez direito.
Na verdade não é, o Hulk é muito foda, muito forte.
Inclusive quem está vendo pelo YouTube tem Hulk aqui fazendo carinho, elogio aqui para vocês.
Essa cena fantástica que quase o Tony Stark perde, eventualmente ele vai ganhar essa cena, essa luta e parar o Hulk ali que estava destruindo praticamente cidade inteira.
Mas dá tudo certo no final.
Então, como é o software dos senhores?
O nosso software hoje está protegido?
Quando ele tiver um brute force, injection, RCE, um componente desatualizado como React ou Next.js, exemplo, Log4j, enfim.
Como é que a aplicação vai se comportar?
A gente sequer pensou modalagem ameaça, sequer pensou possibilidade de algo acontecer errado ou não.
A gente só está fazendo entrega, entrega, entrega, gera valor, gera valor, gera valor, agile, agile, agile.
Para vocês pensarem, beleza?
Quero que vocês pensem muito nisso, inclusive.
Uma forma interessante de fazer modelagem de ameaças é sempre falar com o nosso time de resposta incidentes.
Por quê?
A ideia de você pegar o requisito funcional, que é a matéria-prima do software, melhorá-lo para que o seu produto final seja produto com mais qualidade, nesse contexto nosso mais
seguro, é simplesmente você enriquecer a sua matéria-prima, deixá-la melhor.
Se a ideia de pensar possibilidades de algo ruim acontecer, as ameaças...
Posso ser difícil?
Os frameworks de modelagem ameaça vão nos ajudar com isso?
Falar com o time de espaço incidente, falar com o time de segurança, falar, cara, o que já está acontecendo na nossa empresa?
Fala aí os ataques que a gente já sofre.
Fala aí, mostra aí pra gente, explica pra gente, faz uma palestra.
Cara, garanta que na sua empresa já acontece ataque todo santo dia.
Então conversar com essa galera é falar assim, me fala aí quais são os ataques que gente já sofre.
Porque a gente vai criar software agora, tudo novo que a gente já fizer, a vai ter essas proteções contra esses ataques, porque a gente já sabe que são coisas que gente sofre.
Não precisa ser no nível técnico, olha,
A gente recebe a SQL Injection todo dia, todo mundo recebe payload de SQL Injection na vida a cada segundo.
Praticamente tem hacker fazendo isso o tempo todo.
Agora, na minha empresa é uma empresa do ramo de turismo, a gente tem muita fraude.
Então olha só que interessante payload que a gente recebe, olha só o comportamento da nossa aplicação com relação a esse esse usuário.
Então é ataque mais específico.
Então neste contexto, ideia que você tá, se eu trabalho empresa de turismo, eu tenho que preocupar com fraude?
Se eu trabalho uma empresa financeira, eu tenho que preocupar com fraude, roubo de dados.
Se eu trabalho uma empresa do governo, eu tenho que preocupar com reactivismo e outras coisas.
falar com a Atiência das Pazes Residentes alimenta a tua modelagem de ameaça.
Vai alimentar o teu campo, eu diria, de não mais ameaças, mas de fato ataques reais.
E aí você tende a ter o a gente sempre chama de segurança 100%, o que não existe.
Mas por que 100 %?
Porque assim, quando você está fazendo modelagem de ameaças, está pensando possibilidades de algo acontecer.
Que podem nunca vir a acontecer.
Agora, quando você faz uma modelagem de ameaças, essas ameaças são alimentadas por respostas a incidentes, ou seja, já está acontecendo.
É igual falar pra você assim, olha gente, vamos lá.
Conheci alguém na internet, no Tinder, na puta que pariu, vou marcar encontro.
E eu moro São Paulo, então eu sei que é uma cidade perigosa, ou não tão segura.
Eu sei que eu não vou marcar encontro à noite, eu num lugar público, eu restaurante público, eu num bairro X neutro, não vou num bairro mais perigoso, etc.
Então você tem uma modela de ameaça, porque você quer conhecer o amor da sua vida, não quer perder o teu rim, o teu fígado.
Então você faz uma modela de ameaça, simples assim, porque você quer evitar alguns impactos.
Impossibilidade de coisas que podem nunca vir a acontecer.
A pessoa na verdade é uma pessoa de bem, você foi num bairro que era inseguro mas nada aconteceu, você foi à noite e tá tudo bem, você foi num lugar público e ok.
Percebe?
As possibilidades é...
talvez vai acontecer.
Se nunca acontecer, ótimo, mas se acontecer, você estava protegido ou precavido.
Esse é o ponto aqui, tá bom?
Então você cria ali o teu encontro na prova de balas.
Da mesma forma, você tá falando que seu time de responses incidentes já são ataques reais?
Então quando você cria a modelagem ameaça com software novo...
baseado ataques reais que você já sofre outras aplicações, a tendência é que essas aplicações já estejam à prova de balas, pelo menos contra essas balas específicas.
Bom, você entendeu.
E aí, eu gosto sempre de trazer à tona aquele caso do Homem de Ferro 3, onde o Tony Stark é atacado pelo mandarim, destrói a casa dele, ele está com uma armadura protótipo, vale
lembrar isso, ou seja, está sem ali a capacidade de ataque, enfim, mas ele tem ali algumas coisas, e ele vai...
de forma errônea, ele voa para o Tennessee onde é inverno.
Quando ele chega lá, a armadura dele acaba a energia, ele tem que abrir a armadura e sair da armadura.
Só que tá nevando, né?
Menos 10, 20 graus, sei lá o quê.
E ele puxa, acabou a energia, ele tem que sair da armadura, abrir a armadura e sai.
E ele vai arrastar a armadura, eventualmente vai achar lá uma cabana, se aquecer, enfim.
Mas foi problema.
Por quê?
Se acaba a energia da armadura e preciso sair, e tá frio, ferrou.
Se acontecer qualquer outra coisa e tá frio, ferrou.
Então a armadura precisa ter um aquecimento ou restriamento, enfim.
Precisa ter isso.
Além do próprio cuidado com a energia, com a bateria, enfim.
Então ele teve esse bug, vamos dizer assim, esse problema.
No filme sequente, que na verdade é o filme do Homem-Aranha de volta para casa, agora a roupa do Homem-Aranha é feita pelo Tony Stark.
Eventualmente o Homem-Aranha está numa perseguição com os inimigos lá e tal, ele cai num lago, o lago está gelado.
O Homem de Ferro, que agora que fez a roupa do Homem-Aranha, ele é garoto, menino, o Homem de Ferro está rastreando ele tempo todo.
Ele vai lá, manda a armadura dele, resgata o Peter desse lago, e na conversa ali o Peter fala que legal dessa nova roupa que você criou, tem rastreador, e o Tony Stark fala, tem
rastreador, por isso que eu te achei, e inclusive eu coloquei tudo no seu roupa, inclusive esse aquecedor, porque nessa hora o Peter está tremendo de frio, porque ele estava num
lago gelado à noite.
E aí o Tony fala, inclusive esse aquecedor, e aí a roupa dele faz um...
Olha a sonoplastia, né?
E aí cena mostra ali a roupa do Peter aquecendo ele, e ele tem ali uma vantagem, obviamente, com base na experiência do próprio Tony.
Ele teve incidente, ele teve problema que a armadura dele precisou abrir e tava nevando, tava gelo.
Ele vai lá e colocou agora aquecedor na roupa do Homem Aranha.
E provavelmente na roupa dele também.
Então é esse mindset de melhoria sempre.
Que é o que eu quero falar agora.
Vale sempre lembrar, gente, não adianta.
Você entrar nessa ondinha aí de vamos entregar valor, a gente é Agile, é funcionalidade nova toda semana, não, porque o meu SaaS, uh, agora onde é SaaS, building public e palavá,
é tudo pra bosta vocês, é tudo pra bosta.
Porque a ideia é muito legal, mas só fazer entregar, você está entregando merda.
É isso que você está entregando, está entregando software.
Pode estar usando, pode estar funcionando, o objetivo é atingido.
Mas eu tenho certeza que você não pensou segurança, o mínimo de segurança.
Porque se eventualmente você tiver ataque, e eu espero que você não tenha...
Pausa para espirrar.
Espero que você não tenha, mas eventualmente você vai ter.
Você não só não entregou o valor para o seu cliente, você tirou dele.
E pior, esse ataque não aconteceria se não fosse o seu software.
Você virou o meio para aquele ataque.
Então você tem uma certa corresponsabilidade.
E eu vou dizer mais.
Se você fez isso de propósito, você é cúmplice desse ataque, que provavelmente é cybercriminoso.
Se você fez por falta de conhecimento, né?
Puta, não tinha ignorância, o que quer que seja.
Que é ok, tá?
Ninguém está julgando ninguém.
É ok.
Ok.
Vamos lá e resolve agora.
Mas ainda assim você tem uma responsabilidade nisso.
É simples assim.
Tá?
A pizzaria, ela faz a pizza, põe no forno, tempera e bota no...
para o motoboy que vai entregar na casa de alguém.
A responsabilidade da entrega ainda é da pizzaria.
Ah, mas eu uso o serviço terceiro.
mas o motoboy eu não consigo controlar.
Sinto muito.
Agora, troca o cenário.
Você vai no restaurante, o chefe fez o prato, o melhor prato do planeta, com o melhor ingredient do mundo, entregou na mão do garçom.
O garçom com a mão toda suja, entrega o prato para você e o prato chega todo sujo.
De quem é a culpa?
É do chefe.
Não é do garçom.
O garçom, obviamente, foi o responsável pelo problema.
Mas o restaurante responde por aquilo.
Então a culpa é do chefe de cozinha.
A responsabilidade do prato sair da cozinha, até a mesa do cliente, é do chefe de cozinha.
Dono do restaurante, né?
Mas vamos lá.
Então o teu software teve um ataque, vazou os dados do seu usuário, não adianta botar a culpa na Cloudflare, não adianta botar a culpa na puta que pariu, a culpa é sua, meu
jovem.
Tá, então o que eu quero dizer com isso, cada versão do seu software a 1.1 tem que ser melhor que a 1.0.
Eu não tô dizendo melhor que agora dá mortal pra trás, tem uma cor nova, funcionalidade nova, entrega valor, olha nova feature, nova feature, nova feature.
Tá mais seguro?
É só isso que eu tenho perguntar pra vocês, só isso.
Você tá mais seguro?
eu preciso preocupar.
Precisa.
Preciso se preocupar sim.
Porque se eu não se preocupar com segurança, meu jovem, se eu não se preocupar com segurança, você vai eventualmente ter incidente que pode custar muito caro pra você e pros
seus usuários, Então, pensar com o motor Stark, Não só resolver bug, mas melhorar a segurança.
É nossa responsabilidade enquanto desenvolvedores.
É nossa responsabilidade enquanto empresa que desenvolve software.
É nossa responsabilidade.
Ponto.
O garçom...
O chefe de cozinha, a recepcionista, o dono do restaurante, todos são responsáveis pela comida.
Todos.
Se o chefe de cozinha, ele tem os ingredientes para preparar.
Ele falou, compra o ingrediente tal de tal lugar.
Se o dono do restaurante foi lá e comprou do outro lugar e a qualidade veio baixa, todos pagam por aquilo.
No fim do dia, o cliente vai comer a comida.
Percebe que o usuário vai sofrer o impacto.
Consequentemente vai manchar o nome do restaurante.
consequentemente você pode causar dano, for uma alergia naquele cliente, pode eventualmente matá-lo.
Então, o teu software, você tem responsabilidade nisso, a segurança é responsabilidade sua.
Não adianta fugir disso.
Você pode discutir filosóficamente, ah não, mas o chefe de cozinha pediu, aí fez, aí não é culpa dele.
Não, gente.
Vocês estão muito assim, do apartamentinho de vocês aí do Leblon não dá pra ver essas coisas, Mas vocês estão muito mal informados por jornalzinho e televisão.
a gente perdeu o senso de responsabilidade.
Cara, todo mundo envolvido no ciclo de desenvolvimento de software é responsável por aquele software.
Ah, mas eu trabalho, sei lá, vou dar exemplo aqui, tá?
Mas eu trabalho no Itaú, por exemplo, e aí teve problema no Itaú, tá, que lá no Itaú, a culpa é minha, a culpa é sua, é sua do CEO, do CTO, de todo mundo.
Por quê?
Porque é o Itaú.
Ponto, você trabalha lá?
Ah, eu não tô naquele projeto, gente.
Gente.
Não me vem com essa.
Aprende a ocupar o teu lugar no espaço.
É responsabilidade sua.
Teve incidente de segurança na empresa que você trabalha, no software que você trabalha?
É responsabilidade sua.
Ponto final.
Tá bom?
Então, gente vai melhorar a segurança.
E vale lembrar o seguinte, não dá pra fazer segurança direito, appsec, enfim, sem ter um software development lifecycle correto, sem ter ciclo de development software decente.
Por quê?
Porque o time A faz de jeito, time B faz de outro jeito, fica difícil.
Então, é importante que, ainda que cada time faça de jeito, mas de jeito estruturado, processo estruturado, é possível a gente incluir segurança nesse processo, nessa
estratégia.
Então, a ideia é que...
Cada release sua, cada versão nova sua, seja uma nova marque.
marque 1, marque 2, marque 3.
Cada nova armadura do Homem de Ferro.
Para que você possa evoluir.
A segurança do seu software, tá?
E vale lembrar que seguinte, cada armadura do Homem de Ferro, ela é feita principalmente para protegê-lo.
Ele não pensou, vou fazer uma arma para sair atacando por aí.
Não.
Não foi essa a primeira intenção.
A primeira decisão foi eu preciso de algo que me proteja dos tiros dos terroristas e que eu possa voar daqui.
Eventualmente eu vou precisar atacar.
Percebe?
Então o teu software não pode perder essa essência.
Não, preciso criar software agora à prova de hackers.
Não.
O teu software precisa fazer o que o teu software tem que fazer.
É software de venda, de pagamento, é de entregar pedido, é de pedir carro.
Não importa.
Mas ele tem que fazer tudo isso de forma segura.
Então não adianta inverter a jogada.
Homem de Ferro não falou, vou criar uma bazuca aqui, sair matando todo mundo e estou feliz.
Não.
Ele falou, eu vou criar algo que vai me ajudar a sair dessa caverna e voar.
Ficou monte de terrorista vivo lá.
Inclusive, depois ele volta e mata os caras, aí ele melhorou a armadura e tal.
Mas, veja, eu preciso fugir daqui.
Esse é o meu objetivo.
Então não perca essa essência no seu software.
Qual o objetivo do seu software?
É vender, é registrar clientes, é gerar relatório, é fazer ABC.
Continue com isso, mas agora você vai fazer isso de forma segura.
Esse é o ponto, não perca essa essência, tá?
Lembra que no Homem de Ferro 1, final do filme, ele está lutando com o vilão.
Na verdade, começo do filme, a armadura 2 dele, que é a prateada, quando ele volta para casa, ele foi resgatado, ele faz aquela armadura toda prateada.
Agora já com toda a tecnologia, todo o laboratório que ele tem, já com a inteligência artificial, que é o Jarvis, enfim.
A primeira coisa que ele faz é voar fora da estratosfera, ver até onde ele consegue voar.
Quando ele sai da estratosfera,
Enfim, está na extraterrestre, não sei exatamente como falar isso.
Ele congela.
A armadura congela, ela desliga, ele perde a capacidade de voo, começa a cair, queda livre.
Aí tem um trabalho manual que ele faz, abre uns flaps ali, descongela, a armadura reinicia, ele continua, toma o controle de volta.
Perfeito, esse foi o buggy, esse foi o cenário.
Final do filme, ele já está na versão 3 agora, e o vilão roubou a armadura dele, roubou a ideia e tal, roubou a 1, a primeira versão.
Quando ele está quase sem energia, inclusive o vilão perseguindo ele, ele começa a voar bem alto, o vilão perseguindo ele, porque ele sabe que ele agora melhorou, material da
armadura dele não vai congelar mais, e o vilão toca a versão ruim ainda, toca a versão bugada.
E o vilão, que é o monge de ferro, pega o pé dele e fala, Tony, a sua armadura é...
Você teve uma grande ideia, na verdade, mas a minha armadura é mais avançada que a sua.
Aí o Tony, mas como é que você resolveu problema do gelo?
E nessa hora o cara já está congelando, né?
Praticamente, e aí desliga a armadura também, vai perder ali, ele tem uma vantagem, consegue escapar do cara e tal.
Então, olha que legal, ele teve um bug, resolveu o bug, teve um incidente, uma vulnerabilidade, resolveu aquela vulnerabilidade.
Por quê?
Porque depois pode custar a vida dele, depois pode custar caro, então a resolve o problema que gente acha.
Olha a mentalidade do Tony.
Assim, não tem como fugir disso, né?
Se a gente lembrar também, lá no Homem de Ferro 2, quando ele está lutando com o E-Plash,
aquele cara com chicotes de energia, ele ganha a luta ali e tal, mas o Iplash agora consegue atingi-lo com chicotes de energia, que ele copiou praticamente ali o reator do
Tony Stark, e a armadura dele toma muito dano, fica bem desgastada, Além, do cara ter encostado nele com tanta energia.
Já no Vingadores, que é filme na cronordem cronológica, no Vingadores 1, quando ele tem uma briga com o Thor ali, o Thor...
dá o raio ali o trovão, a armadura dele não toma tanto dano quanto antes.
A material da armadura é melhor agora.
E ele ainda toma dano, Ela fica meio rachada e tal, mas já é bem melhor.
E ele absorve toda a energia do raio agora.
Ou seja, eu tive problema onde consegui encostar mim com muita energia.
Por que não me beneficiar disso?
Eventualmente eu vou ter um próximo vilão, uma próxima luta que se alguém encostar mim, a armadura vai tomar muito dano.
Não pode ser assim, eu preciso melhorar isso.
Vou melhorar essa funcionalidade de proteção da armadura.
Ele melhora o material e agora ele absorve a energia.
O que no Vingadores Ultimato, o último filme da saga, que é quando ele inclusive se sacrifica pela humanidade, minuto de silêncio, pronto.
Ele se sacrifica pela humanidade, não é Homem de Ferro?
Agora ele fala para o Thor, me atinge.
A armadura dele agora abre de forma proposital.
O Thor chama lá o trovão, taca nele.
ele absorve aquilo tudo tempo real, aquela energia toda e vira laser, vira uma arma para atacar o Thanos ali e tal.
Então veja, lá atrás, cara, eu tive um bug, o meu material era falho, a energia encostou mim, não pude fazer nada, tomei muito dano.
Agora eu evolui, eu tomo menos dano, absorvo energia, agora não, eu absorvo energia inteira, a minha armadura não toma dano nenhum e eu transformo isso numa arma.
Essa mentalidade é fantástica.
Porque como é que é o software nosso hoje dia?
Você tem uma vulnerabilidade?
Você nunca corrige, fica eternamente no backlog, dia você vai ter incidente e falar, caramba, não vimos isso antes.
É, mas jovem, não vimos isso antes.
Lá na guerra civil, a briga do Capitão América, time Homem de Ferro, o Homem-Formiga vai entrar na armadura do Homem de Ferro.
E começa a desligar a armadura.
A Friday fala pra olha, estamos com sistemas de armas offline.
Aí ele, o quê?
Porque ele não...
Aí o Homem-Formiga começa a na cabeça dele, sua consciência.
Friday, quando ele chama a Friday com uma cara de desespero, é do tipo, cara, eu sei o que eu fiz, eu conheço minha armadura, eu sou gênio.
O que está acontecendo?
Como é tem algo fora do meu controle?
Isso é absolutamente foda.
Quando a gente para pra pensar, cara, eu tenho de fato uma ameaça agora.
Algo que eu não tinha pensado.
Algo que sequer eu imaginei que existisse e está me atacando agora.
Está desligando a minha armadura.
Aí a Friday toma ali a iniciativa de soltar o sistema de exaustão como se estivesse pegando fogo.
Solta ali a água, expulsa o homem formiga, sem saber o que está acontecendo.
E resolve o problema.
Mas foi uma ameaça não pensada.
E a pergunta é, como é que é o software hoje dia?
Você pensou alguma ameaça?
Você pensou naqueles caras na universidade aprendendo segurança de informação, fazendo Crossfire Script e Asker Injection por aí?
Seu site vai se proteger deles?
Seu site vai se proteger do crime organizado?
Seu site vai se proteger de um grupo de hacktivista num nível de país, nível de nação, de cyber guerra mesmo?
Se o site está preparado para quê?
Se o sistema está preparado para qual tipo de ataque?
Ou nenhum deles, né?
O que é pior, né?
Então, eventualmente ele vai resolver esse problema lá com solução de nanotecnologia e tal, mas a ideia é que ameaças existem.
Quer você quer ou não, quer você acredite ou não.
É tanto que no Homem de Ferro 3 ele começa a ficar paranoico, né?
Porque logo depois do Vingadores 1 as ameaças agora não são mais tão reais, reais do ponto de vista físicas, humanas.
As ameaças agora são alienígenas.
Abriu portal Nova York, entrou, a aliens vieram nos atacar.
Então, o Tony Stark fala, cara, a gente não tá preparado pra isso.
A tá fodido, pra falar a verdade.
Se isso aqui acontecer de novo, a tá fodido.
No Vingadores 1 foi sorte que deram.
Muita sorte.
Assiste o filme e vocês vão ver que foi pura sorte.
A gente não teria resolvido o problema, né?
E aí, no Homem de Ferro 3, já tá neuróticosão, neuróticosinho, ele cria a legião de ferro, basicamente ali toda...
várias armaduras, cada uma com uma funcionalidade diferente, cada uma com uma capacidade diferente, mas ele não consegue escalar isso, ele vê que tem alguns problemas, ele desiste
da ideia, mas o Homem de Ferro 3 dá avanço tecnológico muito alto para ele, porque a armadura dele agora é independente, a vai discutir isso no próximo episódio, mas só para
vocês entenderem até que ponto chega.
E a ideia é que, gente, modelagem e ameaça, a gente é sustentado por lições, aprendidas.
A gente precisa fazer modelagem e ameaça às escuras, pegar um framer que começar a aplicar e tal, sim e não.
Por que não?
Porque já tá, como eu falei pra vocês, já tá acontecendo coisa na sua empresa.
Basta conversar com o time de segurança.
E o Tony Stark nos mostra pouco disso, de lições aprendidas, quando lá no Guerra Civil também, no final, meio do filme, o Visão atinge com raio lá, ele quer atingir o Falcão, O
Falcão ali desvia, esquiva, atinge o Rhodes, que não tá esperando, né?
Atinge o Rhodes, o Rhodes perde a capacidade de voo, ele vai cair e ficar paraplégico.
E o Tony Stark tá voando com o Rhodes, ele tenta resgatar o Rhodes.
mas ele está com uma armadura sem a velocidade supersônica, sem super velocidade, ele não consegue resgatá-lo.
Enfim, o cara está caindo, Meter a velocidade supersônica para baixo também, ele vai conseguir parar, enfim.
Ele não consegue ajudar o amigo dele, o amigo dele vai ficar paraplégico.
No Guerra Civil, aliás, no Guerra Infinita, o Vingadores 3 praticamente, a nave invade a terra lá e tal, pega lá, sequestra o Dr.
Estranho e está indo embora.
E ele está perseguindo a nave e a nave começa a mais rápida que ele.
E ele fala para a Friday, pede turbo ali e tal, e aí armadura dele ganha um turbo, ele consegue super velocidade e eventualmente vai chegar até a nave.
Então a ideia de melhorar sempre, de ter sempre ali, eu tive problema, tive uma lição aprendida, preciso melhorar, preciso evoluir, estar constantemente com o Tony Stark e
conosco também, desenvolvedor de software de segurança.
E aí, modelagem de ameaça a gente faz com diversas formas.
Eu sempre gosto de falar das talvez as mais práticas, o OASP...
ThreatDragon, uma ferramenta que implementa, se não me engano, o Stride, o Pasta e um outro framework que eu não lembro agora.
E o Microsoft Threat Modeling Tool que implementa o Stride por trás.
Mas a gente está falando de implementação disso de frameworks.
Então, Stride, o Pasta, Lindum, Attack Trees, PNG, Security Cards, HTML, o QTMM, é o Quantitative Threat Modeling Method, o Trike, o VAST, Octave.
Todos os frameworks e modelos de você fazer modelado de ameaça.
Minha sugestão, pega um e faz Hello World.
Você vê como as coisas funcionam.
Mas todos eles vão trazer basicamente...
Todos não, alguns deles vão trazer categorias de ataques ou ameaças e você dentro do teu contexto, dentro do teu requisito funcional, você vai aplicar aquelas categorias.
Então no Stride, exemplo, lá, spoofing, tampering.
Onde nessa tela de login eu posso ter spoofing?
Onde nessa tela de login eu posso ter tampering?
Onde nessa tela de login eu posso ter repudiation?
Um information disclosure, denial of service, elevation of privilege.
e assim por diante.
baseado nisso, você vai definir as ameaças com base naquelas categorias e as mitigações.
O output do modelo de ameaça é, tá bom, achei os problemas, ou os possíveis problemas, as possíveis situações de ataque.
O que eu faço agora para proteger delas?
Ou para reduzir o impacto e assim por diante.
Então a conclusão aqui, é a seguinte.
Imaginar o inimaginável é o que Tony Stark faz.
Ele tá...
Cada filme mostra que a evolução dele...
No filme 1 já, tive a primeira armadura, saiu da caverna, mas a segunda versão tinha que ser muito mais foda, porque ele queria voltar lá e pegar os terroristas, ver que estava
tudo errado.
Então a segunda armadura já é foda.
A terceira então, já é absurdo, já é a colorida.
Então esse mindset de evolução e melhoria constante, isso tem que estar no sangue de vocês, principalmente se você é desenvolvedor.
Eu não estou falando melhoria gente, desculpa tá, mas não estou falando melhoria de performance, de código, de...
Sim, também, isso já é natural.
Mas a melhoria é de segurança.
A empresa que não pensa segurança hoje está fadada ao fracasso, porque eventualmente você vai ser atacado.
Eventualmente não, né?
Você já está sendo atacado, você só não sabe disso.
Então, esse mindset é o que eu queria passar pra vocês hoje, de modelagem e ameaças, como fazer modelagem e ameaças, com o meu novo design.
Eu não estou com uma barba estilo Tony Stark, mas estou...
com novo visual que eu gostaria muito que vocês fossem lá no YouTube e comentassem nesse vídeo aqui nesse episódio, tá bom?
Pessoal, a gente se vê na semana que vem, final de ano acabando, então vamos dar férias pros meninos, né?
Daqui a pouco a gente volta aí a todo vapor na nossa sexta ou sétima temporada da Vista Couch Podcast.
Nem me perdi agora.
Temporada da Vista Couch Podcast, muito episódio pra vocês, eu espero que vocês fiquem bem.
Leiam o livro enquanto isso, porque aí os próximos episódios aqui do Podcast vão ser ainda melhores.
você vai conseguir acompanhar ainda muito mais.
Compartilha esse episódio com quem você ama ou com quem você odeia, mas compartilhe, porque o importante é fazer software com segurança.
Leia o livro, veja a apresentação do AppSec Iron Man.
E acho que era isso, A gente se vê no próximo episódio.
Valeu.