Episode Transcript
Available transcripts are automatically generated. Complete accuracy is not guaranteed.
(00:00):
Fala pessoal, bem com vocês?
Sejam muito bem-vindos a mais um DevCop Podcast, são 178 episódios com esse.
Eu fui ver a conta antes de começar a gravar pra eu não errar, 178 episódios, com a metadena pós-graduação, 365 horas, 178 horas, enfim.
Pessoal, sejam muito bem-vindos a mais episódio de DevCop Podcast.
(00:21):
Eu sou o Caso Pereira.
Eu sou o Ben Hur.
E eu sou Mark Santos.
Nossa, o time inteiro hoje aqui, cara?
O Bay York tá internacional, Agora viaja pelo mundo, Quere gravar só inglês daqui a poucotambém.
O Marcos que vive de férias, então nunca aparece.
O salário tem dia, mas os caras não aparecem pra gravar aqui.
O que importa é que a gente tá reunido hoje e temos uma convidada especial.
(00:44):
A gente já vai falar sobre ela, já vai apresentar ela pra vocês.
Antes de falar da nossa convidada, lembrem-se, o Dev Secals Podcast tem o suporte da Nova8 e da SNIC.
que a Nova 8 é a distribuidora oficial da SNIC no Brasil.
Então, se você tem interesse nas soluções da SNIC, entre contato com a Nova 8.
No nosso site, lá deve ser qualsevotecast.com.br, tem o link ou lá na descrição do nossovídeo no YouTube.
(01:07):
Lembrar também sobre a parceria com a Gold Security, com a DigitalWalk.
E não se esqueça, você já perguntou se você estava sobre risco, enfim, se está sendo sobreataque, especialmente sobre o episódio que a fala hoje, The Fear Incident Response, fale
com o pessoal da...
Purple Bird Security.
Eles vão te ajudar com certeza.
Beleza?
Bom, convidada, apresente-se.
(01:28):
Primeiramente, obrigado pelo tempo, disponibilidade, pela reagenda.
teve que remarcar porque deram cano na gente aqui, a já teve que remarcar, mas enfim,agradeço pela Letícia Pereira que veio participar com a gente hoje.
Se apresenta pouco aí do pessoal, fala pouco do que você faz, pra onde você está indo, eaí a gente já fala sobre o tema de hoje.
Oi, bom dia pessoal.
(01:49):
Sou a Letícia, hoje atuo como líder numa equipe de Sessorti e também de CTI, que é maisuma foco de resposta incidente, trate inteligência, é meu campo de atuação hoje, atuo na
parte da liderança de uma equipe, tive a oportunidade de criar essa equipe do zero prapoder...
(02:10):
Como é que montavam o CISSER, tivesse toda essa experiência Criar processos, recrutarpessoas, desenvolver pessoas E hoje estou aqui para gente poder trocar umas ideias De caso
que vem aumentando assim desde o tempo que eu comecei Que foi incidentes em web Algo queaté então antes a gente pegava pouco Mas só esse ano aqui a gente pegou alguns casos bem
(02:36):
bravos que...
dar impacto muito grande.
Boa!
Aí eu comecei a perguntar para os nossos meninos aqui, o Marcos e o Benyur, já tiveramalgum incidente web?
Cara, eu vou dizer que foi incidente, mas na época eu não trabalhava com segurança, nãotinha muita noção disso, que foi mais ter o website pichado, Então, trabalhei numa empresa
(03:00):
que toda semana tinha site pichado lá, a trocou acho que umas 3, 4 vezes de web providerlá, nem vou falar zoa, mas era o bem conhecido mercado, depois a trocou pra outro, e no
final acabou hospedando internamente e não adiantou de porra nenhuma.
Puta que pariu.
Tem nome isso, o defacing né?
famoso defacing.
(03:22):
O defacing cara.
Quem nunca teve um defacement que atira a primeira pedra né?
E você Benyul, já tomou defacement?
Não, um incidente segurança hoje de manhã eu ainda não tive nenhum, né?
Hoje, hoje tá, hoje tá, hoje de manhã tá...
Até o presente momento tá tranquilo, o celular já desligado, eu acabei de chegar aqui,então tá tudo certo.
(03:44):
Mas, cara, já foram, já foram alguns, né?
Já foram alguns.
E acredito que dos que foi mais difícil de lidar com relação...
Com relação a isso foi uma fraude, fraude cartão de crédito, né?
Que que envolve muitos, muitos, muitos steps internos e ele não é uma explotação fácil deidentificar, né?
(04:12):
Não é um comando, uma série de caracteres que você busca num log e cara, achei aqui oindicador de comprometimento porque aqui tinha uma áspa simples algum lugar, eu descobri
que isso aqui não é input padrão.
Não.
quando começam a usar o sistema de forma legítima e uma falha numa regra de negócio tecomplica porque todos os dados estão ok, né?
(04:36):
Mas o dinheiro saiu sem deveria, sem...
tem que dever sair.
Exato.
No final do episódio vou contar caso sobre fraude cartão também, mas manda aí Letícia, seé convidado o palco é seu.
Fala aí.
Então, isso realmente é o caso mais sinistro que a gente pegou 2, né?
(04:57):
Que é justamente quando não é um SQL Injection, não é um XSS, não é alguma falha ali noservidor nem nada É quando a própria aplicação é a própria falha, forma como ela foi
desenvolvida E essa parte, para a gente aqui que responde esse dente
(05:19):
É muito sinistro porque a gente não conhece aplicação Geralmente, por mais que a gente,ainda mais que eu faço parte de consultoria Quando nós somos parte de participante do
próprio produto de uma empresa É mais fácil porque você tem pessoas que conhece dentro daempresa Você já conhece pouco mais do processo Você já entende pouco mais como é que as
(05:40):
coisas funcionam Mas do nosso ponto de vista, que é exercício de consultoria A gentemuitas vezes tem que conhecer
Claro que depende muito do contexto, mas às vezes a gente até conhece o negócio docliente, gente até conhece a aplicação do cliente, gente até conhece algumas informações.
Mas para você responder um incidente, para você identificar exatamente de onde está saindoaquela falha, o que está causando aquilo ali, você precisa ter conhecimento da aplicação,
(06:07):
de como que ela foi desenvolvida, de jeito muito mais aprofundado do que a gente aquiresposta de incidente, que entra ali só quando dá algum BOE e a gente tem que apagar algum
incêndio.
E descobrir isso na hora, no momento que você está fazendo a sala de guerra E tentar alijunto com os devs para poder entender como é for, se não todos os fluxos de comunicação da
(06:29):
aplicação Como é ela está ali, onde ela está hospedada, qual tecnologia que ela usa Agente tem que ir ali fazendo e nem sempre os devs estão com vontade de falar Então a gente
tem que ir ali porque a galera, eu acho que é grande fator que preocupa muito
Acredito que na parte de desenvolvimento, acho que eles devem ter medo de falar para nãoverem que foi alguma besteira que às vezes eles fizeram, a gente aqui do lado da resposta
(06:57):
incidente, a gente fica tipo, cara, como é que gente vai saber, como é que gente vai fazertal coisa?
Porque a gente não conhece a aplicação a fundo, né?
E é muito...
Um dos casos que a gente pegou...
Foi muito difícil, a gente ficou acho que dois meses numa resposta E a gente já sabia emdois dias de resposta o que deveria ser feito, o que precisava ser feito Mas era uma
(07:25):
aplicação que era legado E a implementação que a gente precisava que eles fizessem Que erasimplesmente adicionar multifator de autenticação Que já resolveria boa parte do problema
Quebraria a aplicação
Como é que você responde ao incidente?
(07:46):
Que se você botar multifator de autenticação você precisa de todo um processo para issoacontecer.
Foi muito complicado, a gente ficou ali.
Eles implementavam uma medida, o atacantia lá e vinha novamente, roubava uma credencial evinha novamente.
Aí eles iam lá, corrigiam alguma coisa, o atacantia.
(08:09):
Porque ele estava ali com uma persistência, gente acredita que ele devia ter uma base decredencial vazada que era válida e o pessoal resetava, resetava credencial, resetava
token, mas nada estava funcionando e a gente falava, gente, você precisa resetar e botarmultifotor de autenticação, porque o cara tentava ir no brute force e acabava conseguindo.
(08:32):
Então foram dois meses aí para o MFA sair E quando saiu a gente conseguiu ter pouco depaz, digamos assim, né?
E de fato a ideia que a gente falou é você não vai resolver o problema Mas pelo menos vocêvai parar o incidente E vai ganhar tempo para você conseguir corrigir o que precisa ser
(08:52):
corrigido, né?
Porque quando a gente está trabalhando na resposta A gente tem, claro, todas aquelas fasesde resposta incidente Até erradicação e tal
Mas tem casos, às vezes, a gente só pode ir até a contenção, a gente não consegue fazerparte da recuperação do ambiente.
E é muito o que acaba acontecendo quando é web, porque a gente aqui, gente vai atrás desoluções, pontos que possam ajudar as pessoas a parar o incidente.
(09:22):
Mas às vezes a solução si vai depender de um desenvolvedor sênior que tenha conhecimentomelhor de tal tecnologia, ou de tal aplicação, ou de tal processo da empresa.
Então a gente acaba ficando pouco limitada alguns pontos Até a contenção mesmo que foi onosso caso A falou, entendo que é uma aplicação legada Entendo que não é muito simples de
você construir uma aplicação nova Mas essa falha que vocês estão sofrendo não tem outrojeito O cara pode descobrir a senha e pode até de repente tentar burlar o MFA Porque não
(09:55):
existe bala de prata E vai conseguir de novo
Pelo visto, parou e a gente não teve mais incidentes nessa aplicação em específico
é uma boa, uma bela introdução, caso onde mostra que você tem legado, como a gente estavafalando offline aqui, com dos membros para não falar muita coisa, o legado tem 10 milhões
(10:20):
de leis de código.
Nem fazer SAST os caras conseguem direito porque ninguém processa 10 milhões de leis decódigo cloud, mas enfim.
Então, você tem legado onde uma, como a Letícia falou muito bem, uma simples mexida.
A sabe que ativa o MFA, você vai lá no Office 365, flega.
está ativado, no AD, enfim, onde quer que seja o seu provider, você vai lá e flega.
Mas o impacto disso, por conta da arquitetura da aplicação, porque não foi pensado isso láatrás, aquela coisa toda, quebra a aplicação.
(10:49):
É absurdo, uma mexida tão simples, vai lá, putz, quebra todo o meu processo, eu nãoconsigo.
E aí, pior, nem eu não consigo, se fosse projeto de migração e avanço tecnológico, é umadiscussão.
Mas, olha, estamos com problema, é necessário fazer isso, urgente.
Não, dá porque isso não quebra a aplicação.
Então você vê que, como vários tópicos aqui, arquitetura, pensada, próprio time desegurança, enfim.
(11:13):
Mas você começou também falando, Letícia, e aí a minha próxima pergunta é sobre um...
Até começar a responder incidente traz um pouco de trabalho.
Você falou muito, deve não quer falar alguma coisa, e tal, tal, tal, tal.
Eu sempre brinco que o time de resposta incidente muitas vezes faz um forense internoantes de começar resposta incidente.
porque tem que descobrir quem é o dono da aplicação, onde é que está o log, qual atecnologia, o que chama o quê.
(11:36):
Às vezes diagrama simples já resolveria boa parte dos problemas, mas enfim.
É real isso, então tem que fazer uma investigação interna antes de começar a fazer umaresposta acidente.
Sim, aplicação gerar log é privilégio.
assim, a aplicação gera log, já é privilégio.
(11:58):
Nossa, estamos 2050.
Gerar log até gera, mas quando você gera log que dá pra ver o que está acontecendo é outrahistória.
Porque também só gerar log não é o suficiente.
Você tem que também ter uma boa configuração.
Para você gerar logs que falem coisas para você Porque nem sempre...
(12:22):
Mas só de ter log já é leve alívio, né?
E sim, a gente precisa fazer um entendimento de como é que funciona Tanto é que quando agente pega, principalmente casos de...
Régula de negócio que tem alguma falha, né?
A gente tem que perguntar como é que aplicação funciona A gente tem que falar assim, olha,me explica como é que...
Qual é a interação do usuário?
(12:44):
Me explica como é que você acessa a aplicação Me explica onde que ela está hospedada Meexplica todos os fluxos que ela tem Se você tiver algum diagrama, tiver algum desenho,
envia para a gente Poucos casos são os que tem a gente Mas a gente sempre pede porque é oprimeiro passo para a gente conseguir entender Porque quando a gente entra na sala o
(13:08):
problema já está acontecendo
A equipe de desenvolvimento, eles falam com a gente como se gente trabalhasse junto deles.
E aí eles ficam, não, porque a gente tá fazendo assim, sei lá, que eles sempre citam unsnomes lá, assim, que cada tem um nome para cada coisa.
Não, porque tá aí não sei aonde, porque não sei quem, e gente fica tipo, o que que é isso?
(13:29):
Primeiro, me explica o que que é isso.
E aí a gente acaba tendo muita essa dificuldade mesmo de primeiro entender como é quefunciona, pra gente poder saber qual que foi o fluxo, como é que como bem recetou, a gente
já pegou casos de fraude de cartão de crédito que utilizavam o...
Estavam criando cartões de crédito falsos e utilizavam...
(13:52):
Esse foi outro caso, Criaram cartões de crédito falso e o ataque utilizavam pra ficarfazendo compras por conta do limite da empresa, o cartão virtual que era gerado.
E aí, foi coisa de maluco, porque a gente teve que primeiro entender, fazer um desenho detoda a aplicação, porque nem quem estava desenvolvendo sabia direito quais eram os
(14:14):
processos e com o que falavam, onde que estava.
E a gente teve que fazer primeiro junto disso para a gente poder entender o que estavaacontecendo.
Aí tinha gente que...
Não, porque sou eu cuido da infra.
é, mas quem desenvolve é outra pessoa de outra área que tem que ir lá falar como sei quem,a gente tipo, tá, tu traz a pessoa aqui?
(14:35):
Não, não dá para aparecer a pessoa não tem agenda, a gente fica...
Tá, é complicado.
Cara, a letícia vai falando, já vai cansando, Não você falar, Mas assim, de você ver aamorosidade das coisas acontecerem.
Imagina você chegar no hospital, você tá morrendo, aí o médico fala, então agora eu nãotenho agenda.
(14:56):
Então agora, putz, eu tenho outra reunião, putz, eu não sei onde é a sala que o cara táinternado.
Sabe, chega a ser absurdo.
Benyur, você que tá aí todo elegante hoje, cara veio de terno, Marcos.
Eu exijo.
Exijo.
que daqui para frente...
Eu estou de pijama.
Eu existo que daqui para frente passemos a gravar de terno.
(15:18):
cara está na estica e o senhor aí de camisa, sei lá, camisa essa, eu estou de pijama.
Letícia, dar um desconto porque é convidado.
Convidado tem todos os direitos aqui, mas o cara está na estica.
Bayer, você que está aí na elegância de hoje, fala para mim o seguinte.
A Letícia falou muito bem do problema e dos problemas.
(15:38):
Como é que nós, de AppSec, podemos ajudar os times de C-Sert, de FIIR, etc.
Como é a gente pode ajudar essa galera a não sofrer tanto?
Porque o deve é caso, essa galera eu já, lá, cortei relações, como é que a gente podeajudá-los de uma maneira mais prática a literalmente ter menos dor?
(16:05):
Isso é uma vida mais simples.
Vamos lá, Primeira resposta, né.
Eu estou na elegância, né.
Pelo menos, graças a Deus, que eu não fui preso e vim na elegância, pra pegar a sérieespecial e gastei minha ligação com o podcast.
Então essa é a primeira questão, né.
Poderia ligar pra minha esposa e dizer amor, preso, mas não tenho podcast pra fazer, entãovamos lá.
(16:25):
A segunda questão é...
Vamos pegar esse caso, né, onde a gente precisa, onde gente tem incidente.
Eu passei por mais de uma vez, né, questão de folheiro do tipo, cara...
Estamos investigando caso X.
Teve outro caso que foi bem legal, que a gente tinha uma suspeita.
Tinha uma fraude, que a gente identificou, E a tinha uma suspeita se era bote ou erafraude da fraude.
(16:50):
Que é cenário absurdo.
O que não é fraude da fraude é...
O cara é fraudador e aí ele pega laranja e ele fala, o laranja fala, eu não reconheço essacompra.
Mas na verdade o cara reconhece, ele faz parte da fraude Só que ele tem dois, tem cara quetá com ele fazendo compra E aí esse cara diz que o cartão dele foi roubrado E a gente não
(17:15):
sabe se o cara é o fraudador, que é pra ficar a fraude da fraude Ou se realmente ele teveum malware na máquina dele Que comprometeu o acesso dele, o cartão de crédito, assim e
diante E a gente precisou adentrar aos detalhes
e buscar todos os logs possíveis, Então, apenas para definir o método, a URL e o statuscode e resposta não é log, tá?
(17:39):
Beleza?
Isso só ajuda pouco a gente a definir quando algo teve sucesso ou não, mas não ajuda tantono forense, né?
E logar todo o bar é impossível porque senão gente teria que gastar submarino de dinheiropara guardar em logs e storage, né?
Então...
Log, log modeling, Toda parte de definição de log de auditoria.
(18:05):
Esse é processo que é obrigatório.
Então, vamos lá.
Como a galera de desenvolvimento de AppSec, não desenvolvimento, AppSec pode ajudar?
A primeira questão é ter bem definido os requisitos de segurança para as aplicações entreeles, os logs que a aplicação precisa ter quando alguma operação crítica
(18:28):
executado.
exemplo, cara, logins, eu tenho log?
Tenho ou não tenho?
Uma pessoa de EPSEC, que no momento que viu uma operação crítica e fez uma modelagem deameaça, está revisando o sistema, porque a gente vai chegar na modelagem de ameaça, ela
viu que naquela operação crítica não tinha 2FA, ela já podia fazer avançar de sabalões.
(18:50):
Entendeu?
Antes do fornente chegar lá, é o cara, peraí, peraí, fui lá ver os logs pra atender aequipe de resposta incidente pra caso, algo assim, é aquele esquema, né?
Se alguma merda acontecer aqui, que é ponto crítico, a gente consegue saber o queaconteceu?
Porque essa é resposta que a gente quer no momento, a gente vai vincular essa resposta avárias outras pra chegar na solução do caso, né?
(19:13):
Então, definição de logmodule dentro do que a gente tem...
já começa por aí.
E não é só o pessoal de APSEC, o pessoal de segurança que vai resolver isso.
pessoal de antifraude vai precisar disso, O pessoal de auditoria vai precisar disso.
E aí anda que tá outro ponto, saber conectar politicamente mais de uma área envolvida numproblema.
(19:35):
Saber articular isso dentro da empresa é importante também.
A segunda questão é a modelagem de ameaça si.
Isso poderia ter prevenido...
ou reduzido muito a probabilidade de esse problema acontecer.
Porque a montagem ameaça, ela começa com o quê?
A arquitetura do sistema ela começa...
(19:57):
É, mas...
Exato, tu vai chegar do cara, deixa eu ver como é que isso aqui é, como ele funciona, oque a gente tem, quem são as pessoas, qual é o sistema envolvido, o que faz a aplicação,
onde faz a aplicação.
Isso serve de insumo para o resposta de gente também.
Então, resumo, AppSec vai ajudar nesse contexto, na minha visão, duas formas.
(20:19):
A primeira é, conhecendo o sistema que gente tem dentro de casa, porque se a gente nãoconhece o que a gente está fazendo com o AppSec.
E a segunda é, garantir que o mínimo que a gente precisa de segurança no contexto deresposta a incidentes, seja aplicado.
(20:39):
Que a gente cuida.
Então essa seria a minha resposta por esse momento.
Marcos, você que não está tão elegante, mas eu sei que vai estar no próximo episódio, qualé a sua sugestão para te ajudar a Letícia e o time dela a ter uma resposta mais eficaz, no
(21:01):
sentido de mais ágil?
Porque acho que...
Ela falou que teve caso de dois meses que no fim das contas resolveu.
ficou dois meses tomando porrada.
Dependendo do ataque, dois minutos você está fora do jogo.
Acabou.
Game over.
Então, é a sua recomendação para a Letícia?
Cara, concordo boa parte com o que o Benhur falou, praticamente tudo ali.
(21:26):
Uma coisa que eu acho que é válido também, e que time de Epsec tem que ter isso na mão, érealmente você ter ali a modelagem e ameaça.
que isso vai ajudar muito o pessoal de respostas incidentes.
Você já ter ali, já saber pelo menos ali o que pode acontecer possivelmente, ao que oBenhur já falou, não é novidade nenhuma.
(21:48):
mas acho que você ter o diagrama ali, tudo separado de uma maneira organizada, não adiantavocê ter isso aí perdido em uma pasta qualquer do SharePoint.
Então você ter isso organizado, saber onde tá, você ter a modelagem tanto da arquiteturatotal como separada por módulos ajuda muito.
Então acho que na minha visão ter essa parte de modelagem da arquitetura do sistema é algoque vai ajudar muito.
(22:14):
Eu não sofri tantos incidentes quanto Benyulia, Letícia e você.
Então, na minha visão, que ter mais isso já poderia ajudar.
Fora o log e tudo mais que o Benhor já falou.
Seu maior incidente foi estar longe de mim.
Nossa, essa...
Essa é pra tocar corações, né?
Antes de ir pra próxima pergunta pra Letícia, comentário acho que seria, cara, pra ajudarnesse contexto aí todo, eu vejo galera, eu vejo o Dave discutindo umas paradas, a gente já
(22:43):
falou isso em outros episódios, né?
galera discutindo umas paradas mirabolantes, se o Visual Studio Code tem que ser dark oubranco, tipo, vai pra bosta, cara, vai pra merda, sabe?
Mas, enfim...
Pega a porra do readme.
Vocês não gostam de ficar decorando o código?
Pega o readme lá de cada repositório, bota a informação lá.
O log tá nesse servidor, nesse endereço, tá aqui.
(23:05):
E no seu mesmo markdown lá, faz diagramazinho ali da bolinha chamando bolinha, caixinhachamando caixinha.
Coloca ali listas, operações mais críticas do fluxo do processo.
Acabou no readme.
Quer fazer mais bonitinho?
Cria security.md e coloca algumas informações ali no próprio repositório do código.
Obviamente, O acesso ao repositório aos times internos e tal.
(23:29):
Acabou.
Que aí o cara vai ter respondente incidente, ele vai direto no repositório do código, elejá bate o Não precisa nem uma página de documentação, parece uma bíblia também.
cara vai gastar dois meses lento pra poder entender, mas o cara bate o olho, opa, os logsda aplicação estão nesse servidor.
Tem esse, esse, esse log.
Ó, essa essa operação são críticas.
A aplicação existe por negócio pra isso e pra aquilo.
(23:51):
Cara, acabou.
Assim, meia hora de trampo.
Meia hora de trabalho você faz uma parada dessa, obviamente, desde que tem o conhecimentodessas informações.
E o valor é absurdo do outro lado, porque do outro lado, quando tiver uma crise, quenormalmente o time de responses é de gente, vive crise.
Não é existencial, mas é crise literalmente profissional, do trabalho, enfim.
(24:12):
Então a ideia é que...
É, mas não nesse contexto.
Porque, às vezes, eles precisam literalmente de agilidade.
Então, quanto mais rápida a informação...
mais rápido o acesso aos dados que eles precisam, mais fácil, mais ágil a ideia é que sejaa própria resposta a acidentes.
E aí eu vou criar para o próximo top com a Letícia que é o seguinte, isso faz diferença,Letícia, nem você falou, Dependendo do incidente, você tem mais tempo ou menos tempo para
(24:40):
responder, você tem as fases lá, identificação, contenção, remediação, lições aprendidas,aquela coisa toda.
Até a fase de contenção, acho que é momento mais crítico.
Você não entendeu o que está acontecendo.
e parar o ataque, de certo modo parar o ataque.
Então esse tempo de resposta é muito crítico.
aí o que você sente mais falta de informação?
(25:03):
Porque o log talvez seja muito essencial, mas às vezes, como gente falou, eu preciso saberquem é o dono da aplicação para me falar uma coisa ou outra, quem é o responsável e tal.
O que você acha que mais crítico, talvez tenha mais valor para você nesse momento?
É a gente saber de como é que a aplicação funciona em si Porque até assim, alguns casosraros A gente consegue entender melhor quando o cliente traz para a gente algum diagrama,
(25:31):
algum fluxo da aplicação O que ela faz, então, para a gente entender como a aplicaçãofunciona Onde que ela está hospedada
Qual é o banco que utiliza, de onde que sai isso, de onde que vem e tal.
A gente consegue já saber quais perguntas que a gente pode fazer e onde que a gente podeprocurar.
(25:54):
Então, por exemplo, a primeira aplicação está rodando na AWS.
Então, beleza.
Então, se ela está na AWS, talvez possa ser que tenha algum log da AWS que nos ajude, jáque essa aplicação não tem log si.
Então, a gente já sabe que ela está dentro da AWS.
Ah, o banco de dados é tal.
Então a gente já sabe quais caminhos que a gente pode seguir para tentar entender E tertambém o fluxo do usuário mesmo, né?
(26:21):
Então, beleza, o que o usuário faz quando ele abriu o site da sua aplicação?
O que ele faz?
Assim, desde o começo mais simples de tudo Tipo, de apertar no botão de login e...
Digital usuário e senha vai ser gerado um token para ele, ele vai autenticar Esse tokenele expira, ele não expira O usuário fica logado por um tempo, não fica Ele é desconectado
(26:50):
automaticamente ou ele só é desconectado quando ele fecha?
não, ele mantém a sessão, então beleza A gente já sabe que se alguém que entrou naaplicação para uma credencial vazada Ela vai ter ali uma possível persistência porque a
sessão não reseta
Reseto token de todo mundo.
Vamos lá.
Ah, eu não sei onde é Reseto token.
(27:11):
Aí a gente fica tipo, meu Deus.
Beleza.
Reseto token de todo mundo.
aí a gente já corta uma possível persistência do atacante.
tá.
Agora, uma vez que ele acessa a tela da aplicação, o que ele pode fazer?
Ele pode, sei lá, gerar boleto.
(27:32):
Então beleza.
Qual é a comunicação?
Quem vai?
Então essas informações, já ter isso pronto, que é um luxo, artigo de luxo, mas que genteacaba entendendo de tão assim, como é que funcionam as coisas, já ajuda muito na hora da
gente saber quais perguntas a gente faz quando a gente está entrando numa sala de guerra etentando entender um incidente.
(27:59):
E assim, às vezes até...
questão simples, já ajuda a gente, porque a gente já teve casos, por exemplo, que aaplicação estava com uma API que estava vulnerável.
Agora não lembro exatamente o que, mas eu sei que essa API, ela estava fazendo com que oatacante conseguisse puxar informações dos clientes.
(28:29):
E com isso gerar nome, endereço, preço que a pessoa pagava no serviço e tal E geravacobranças falsas com a informação vazada Então assim, a única coisa que o pegava eram
informações Como se ele fosse uma aplicação consultando dados de uma aplicação principal Ecom isso ele já pegava essas informações Então vão ter casos, inclusive, que...
(28:59):
A etapa de que, às vezes, para a gente conseguir solucionar o incidente, a gente precisade um pen test, de certa forma, na aplicação, porque a aplicação às vezes não tem
informação nenhuma e às vezes a gente precisa fazer pen test para conseguir entender se anossa hipótese realmente foi válida e se realmente foi aquilo ali que aconteceu no
(29:19):
incidente.
Então, às vezes a situação ainda é tão tensa e crítica que...
Não basta só você nos dar informação, a gente tem que talvez reproduzir o caminho doatacante para tentar entender o que aconteceu.
chega a doer na alma essas coisas, né cara?
Mas vamos lá.
(29:40):
É interessante esses pontos porque eu fico pensando aqui também, às vezes um cenário onde,por exemplo, não necessariamente o time, o time de desenvolvimento, alimentar os outros
times de como é aplicação, como funciona e tudo mais, mas literalmente de você ter oacesso a isso de uma forma fácil, porque às vezes está tudo documentado.
(30:01):
Só que aí eu já tive casos de não ter acesso à documentação, tinha que pedir permissão,alguém tinha que aprovar, tinha que abrir ticket pra aprovar o acesso à página que tinha
documentação.
Tipo, aí não tinha acesso aos logs, tinha que abrir ticket pra ter acesso ao log.
Então virou nas duas semanas só de abrir ticket pra ter acesso às coisas.
Tavam as coisas, mas até os processos são meio morosos nesse contexto assim, porque quandoé crise é crise, então precisa responder rápido e é importante pessoa ter essa
(30:24):
visibilidade, porque a ideia desse episódio é justamente isso, mostrar essa dificuldade dodia dia e como que a gente pode facilitar.
Porque a ideia é que gente torne esses processos mais fáceis e escaláveis.
aí, Marcos, o que você acha desse contexto de...
Porque o deve, cara, o deve é o deve, né?
A gente já sabe, já vai martelando aí o deve-may-cry de hoje.
(30:46):
Porque o deve é um ser difícil.
Eu já tive casos do cara falar assim pra mim, isso é real, cara.
O cara falou assim pra mim.
Se estão atacando, eles conseguiram atacar de alguma forma.
Então, eles conseguiram acessar o sistema, aquela coisa toda.
Então, você também consegue descobrir.
descobriu onde tá o log, descobriu onde tá o...
Falei, mano, não, não, não, é não.
Você não tá me falando negócio desse, né?
(31:09):
É lógica boa, sensacional, mas eu fico pensando, imagina se eu sou paciente, eu chego nohospital...
É, então...
Cara, é sensacional.
Eu imagino chegar no hospital e o médico falar, ué, eu não vi...
eu aprendi a ser médico?
Aprende aí também, você se cura sozinho.
Porra...
Mas, enfim...
O que você acha, Marcos?
(31:30):
O que você acha desse contexto de o seguinte?
O time de resposta a incidentes, e aí agora vamos inverter o papel, já tem monte deincidentes, certo?
monte histórico, monte de coisa que já aconteceu, ou seja, ameaças reais.
O que você acha do time de modelagem de ameaças, por exemplo, já aí Marcos comenta depoisjá o Ben Ur na sequência, modelagem de ameaça, próprio time de arquitetura e
(31:52):
desenvolvimento, ser também alimentado por esses incidentes históricos?
para as próximas modelagens de ameaças.
Porque modelagem de ameaça, a gente fala que é a possibilidade de algo acontecer.
Nesse contexto não é mais a possibilidade de acontecer.
Já está acontecendo, já aconteceu.
Isso já vira baseline, porque a já está tendo esses ataques.
(32:12):
Como é que você enxerga esse processo aí?
acho que o processo de modelagem é algo constante, não algo estático, já começa por aí.
Então se você tem uma modelagem de 10 anos atrás, vale de nada hoje dia.
É algo que você tem que estar sempre atualizando e sempre colocando ali novos vetores,novas mitigações, estudando como que está junto com o pessoal de Threat Hunt ali, quais
(32:34):
são os novos ataques que estão surgindo, bibliotecas que você usa que podem estar sofrendoali vulnerabilidades por desatualização, atualizações novas de sistema.
framework etc então já começa por aí se o cara não tem uma modelagem que está sendoatualizada constantemente o risco dele está lá cima e sem contar que o incidente vai
(32:55):
acontecer ele não tem a menor noção do que está acontecendo então na minha visão começapor aí
E bem, Uri, o que você acha nesse contexto de retroalimentar coincidentes históricos,retroalimentar as modelagens dos times de desenvolvimento?
Só não acho valioso como deveria ser obrigatório.
Porque não tem nada melhor que você fazer uma mudada de ameaça e colocar assim, Pessoal,eu acho muito interessante a gente colocar um duplo fator de autenticação aqui.
(33:23):
Porque seis meses atrás, entendeu?
Cara, não tem argumento mais fácil de você olhar...
Não é o tipo assim, ó, porque eu escutei falar?
Não.
Esse aqui era o link do ticket, tá?
vocês querem ver o que aconteceu?
Tá aqui o link do Gira, entendeu?
Foi isso que pessoal fez.
(33:44):
Então assim, eu tô falando pra vocês aqui de boa pra gente ver o que dá pra fazer.
Ou a gente pode arriscar perder os dois meses trabalhando o final de semana que nem genteaconteceu no período passado, entende?
Então, exemplos de incidentes reais, eles, quando a gente pega o caso de...
(34:06):
desse presidente e traz para modelagem e ameaça gente está fazendo duas coisas.
Primeiro a gente consegue reforçar a importância daquilo porque é baseado fatos reais.
Tudo que tu coloca na frente do filme de terror que tu coloca baseado fatos reais mudatotalmente o jogo.
Então a segunda questão é que como foi baseado algo que realmente aconteceu vocêtransforma aquela situação de modelagem e ameaça
(34:37):
e uma ação de aprendizado também.
E ela já vem embutida, já vem temperado esse aprendizado com eu realmente estou aprendendoalgo real, porque já aconteceu.
E não estou aprendendo algo que talvez vá acontecer.
Não, ele já aconteceu no passado e acaba sendo extremamente importante porque já temevidência.
(35:01):
Agora, uma coisa que é interessante trazer isso...
é não só o incidente passado para as novas modelagens de ameaça.
O que é totalmente obrigatório.
Mas a questão é, quando a gente teve aquele incidente, qual que foi o conhecimento ou ador ou a experiência que gente obteve?
(35:22):
Que a gente conseguiu embutir aquilo na cultura da empresa?
Porque vou dar exemplo, beleza, gente gerou log.
E outra coisa, né?
É importante quando gerar log gerar de uma forma que eles sejam queryáveis, tá?
Ponto.
Aquele texto...
É...
(35:43):
É...
Porque aqueles blocos de gigabyte de log não estruturado não ajuda muito ficar no controlF ali, tá?
Beleza.
Então vamos lá.
Agora a questão é...
A gente entendeu...
a necessidade da estrutura, da informação e da evidência sobre as ações?
(36:10):
Porque é isso que a gente quis ter tirado daquele cenário, né?
Então se a gente conseguiu pegar os incidentes e não só pensar nas ações que gente vaifazer daqui pra frente, relacionado a o que eu vou imputir dentro das práticas atuais, mas
também...
Se aquilo consegue estar na cultura da empresa a ponto de eu chegar para o time dedesenvolvimento.
(36:34):
E eu dizer, cara, aqui a vai precisar de log de auditoria, porque se o cara fizer isso agente tem que traquear essa ação.
Eu não tenho que passar os próximos 30 minutos explicando por que aquilo é importante.
entendeu?
Porque se não, é porque se não a gente continua na estaca zero.
A única diferença é a gente teve um argumento a mais agora para conversar, mas a gente defato não progrediu.
(36:59):
A gente só tem mais evidências, tem mais exemplos para dar, a gente não progrediu.
Então a empresa precisa estar evoluindo nessa escala, entende?
Cada vez que eu reduzo
a quantidade de tentativa de convencimento sobre uma prática até qualquer escala zero quea gente quer chegar.
(37:24):
Quando eu não preciso convencer, quando eu falo cara, a escala zero é.
Cara, a gente precisa aqui, a precisa de logo de auditoria porque precisamos fazer o tracedas doações do usuário aqui.
O cara fala, verdade, perfeito, e dá ok.
Isso é escala zero.
A gente quer retroagir essa escala, a quer estar na escala negativa.
que é quando a gente chegar a fazer modagem ameaça o cara já tem isso cara aqui a vaibotar log de auditoria entendeu exato entende então se a gente não conseguir medir isso
(37:55):
dentro da evolução da empresa depois de incidente acho que gente precisa melhorar o speedinterno daí
Só comentário, uma das coisas que a está fazendo aqui na empresa atualmente é pegarvulnerabilidades ou pegar problemas, não só incidentes ainda mas problemas que
aconteceram, a gente está criando webinars para passar para o desenvolvedor o que aqueleproblema pode causar de pior e como resolver agora por exemplo estou criando webinar sobre
(38:27):
int overflow que é problema constante que eu tenho aqui com C e C++
Então, estruturando, criando treinamento, mostrando como que faz, como mitiga para queisso não venha a ocorrer numa aplicação num cliente, por exemplo.
e
Minhas vinhetinhas estão atrasadas, mas elas saem, fica tranquilo.
Para a caminhar para o final, Letícia, eu sempre falo para o pessoal geral, já falei issovárias vezes aqui no podcast, que o mínimo, o mínimo, o mínimo, se bobear até o OK, ter
(38:54):
mais coisa vai ser bom, mas isso é o mínimo e é bem suficiente.
Num log, para a fazer uma resposta a acidentes, são cinco Ws.
Who, what, when, where?
Why?
Isso ajuda, isso aí já ajuda, barra resolve muita coisa.
Estou errado, eu quero saber se eu estou errado esses anos todos ou se eu não estoufalando tanta besteira assim, o que você acha?
(39:19):
Não, tá certíssimo, Óbvio que quando a gente consegue saber quem fez o que, onde, quando,qual momento, é perfeito, mas só de muitas vezes a gente ter qual foi o usuário, o que ele
fez, qual é a hora que isso aconteceu, a hora que teve a operação, a transação, já ajuda.
(39:45):
porque a gente precisa entender, por exemplo, se foi alguém que autenticou aqui ou seráque foi alguém que comprometeu uma aplicação terceira que está consumindo esses dados.
E aí, isso está saindo dessa aplicação terceira.
Essas coisas ajudam muito a nível de log e não só a nível de log.
(40:09):
As pessoas, às vezes...
coisas simples que podem ser implementadas que acredito talvez que até a nova geração dedesenvolvedores já saiba que é você fazer uma validação de empurros, colocar ali CAPTCHA
para você conseguir fazer alguma autenticação ou algum formulário, colocar ali CAPTCHA nofinal, mas tem que ser assim, usa aquele recapitulo do Google, tá ligado?
(40:33):
Não faz aquele CAPTCHA que você bota ali numerosinho que aquilo ali, né?
Enfim, é facilmente burlável, então assim Desde o mais simples funciona Então a gente jápega a incidente de Estão explorando o meu formulário aqui A gente vai ver lá o registro
do log tá lá clarinho Alguém tentando xss, tá ligado?
(40:56):
E fica ali Spamando, a gente já vê logo alerta E CAPT já resolve
Claro que tem todos os processos, mas o capital já resolve Então assim, desde o simples, agente executar isso daqui serve para qualquer cenário dissidente Não só aplicação,
(41:17):
qualquer outra situação Você fazer o arroz com feijão bem feito, você já mata muitoproblema Então assim, você já ter esses logs que falem, que contam histórias, é o mundo
ideal
E ter o registro do que está acontecendo é o mundo ideal Se não dá, faz o que dá parafazer O mínimo de informação que você consegue trazer para a gente estruturado Já ajuda e
(41:49):
faz o básico bem feito Se tem recurso, bota Waf que já mitiga boa parte dos problemas
Não é não e segurança não existe solução que vai resolver tudo mas existem camadas deproteção que a gente consegue resolver.
Então assim bota afro já vai mitigar uma cara muita coisa já vai ajudar.
(42:12):
Botou afro beleza qualquer indício mínimo de ataque se você já tem logo desse afro você jáconsegue criar alerta sabe.
Beleza burlar o afro.
Qual é o outro ponto de entrada da sua aplicação?
é autenticação.
Então, pô, vamos botar a proteção da nossa autenticação.
Beleza, qual que é o outro ponto?
(42:33):
Então, você não precisa botar log de tudo, mas bota log pelo menos das partes críticas dasua aplicação.
Então, assim, quem acessa o banco?
Bota ali, então.
Log do banco, gente entende às vezes que tem questão de custo, né?
Você tem muito log também, você tem que armazenar isso, porque não adianta você ter log,tem onde armazenar.
(42:54):
Então...
de custo de log, né Marcos?
Qual que é a sua recomendação Marcos, para reduzir os custos de log?
Desliga o servidor à noite, né?
servidor, não, desliga por bom tempo que você vai economizar uma boa grana É, exatamente
Então, assim, a gente entende também que essa é questão de custo, nem todo lugar temEntão, assim, vai, Gina, vai criando logo no que você consegue fazer E aos poucos vai
(43:21):
melhorando, sabe?
Do ponto de vista de segurança, até hoje, né?
tô aí na área...
Eu tô na parte de resposta de incidente oficialmente imersa 100 % Há pouco mais de ano Maseu já, antes de estar sempre imersa resposta de incidente, eu fiz...
que estava Pentest, estava Telso antes.
assim, lembra que Pentest a gente tinha coisa básica, às vezes tinha aplicação que eracoisa básica, que podia causar estrago muito grande.
(43:49):
Então assim, na resposta para a gente, log é o mundo, mas uma vez que a gente consiga terpelo menos o fluxo da aplicação e contar uma historinha.
No mínimo, vai ser o suficiente para a gente.
Então hoje a gente aprendeu sobre logs que contam histórias, queryáveis, esse verbo nem euconheci, né?
(44:14):
Queryáveis, os logs têm que queryáveis.
Mas vamos lá, vamos caminhar para o final.
Deixa eu rodar minha vinheta favorita aqui.
E aí
Eu já tô rindo antes,
Eu vou até começar o Dev May Cry de hoje.
O Dev May Cry de hoje é o seguinte, a gente tem quadro aqui, ele diz que é coisas que agente gostaria de fazer para o Dev chorar.
A minha de hoje é assim, debug, o debug na IDE é via log.
(44:39):
Então tudo que acontece é gerar arquivo e aí o debug dele é via arquivo, ele tem que verarquivo salvo algum lugar.
Não é vários arquivos por data e hora, é arquivo só que vai dando append ali, então vaificar arquivo zudo, no final do dia ele...
tera de log, o debug dele é isso e nem sempre ele tem acesso a esse arquivo porque eleprecisa de chamado para pedir acesso porque só com a admin ele vai ter acesso a esse
(45:01):
arquivo de log onde é o debug dele da máquina local dele.
Esse seria o ambiente perfeito para o DevMayCry de hoje.
Vocês tem algum DevMayCry para fazer o Dev chorar hoje?
cara, que o Devo chorou esses dias, tinha uma configuração errada então...
Abre chamada pra instalar plug-in no VS Code
(45:23):
boa hein.
Abrir chamado para instalar o extension ali seria uma boa, o cara fica puto hein cara.
Esse cara vai ficar puto né.
Boa.
Letícia, alguma sugestão?
Cara, eu acho que essa do abrir chamado para instalar plug-in é clássica, Porque às vezesaté eu passo isso Muito raro, muito raro, muito raro Mas acontece às vezes, tipo, cara Eu
(45:48):
preciso instalar tal coisa aqui, gente tem que ir lá e abrir chamada, então...
gostou.
Peiúr!
Desse chamado, tem que botar campo do porquê você quer essa ferramenta e é no mínimo milcaracteres.
Caralho, ele temperou bagulho.
Puta que pariu.
Boa, boa.
Boa.
Já que você temperou, vou temperar a minha também.
(46:09):
No log que ele está debugando, no log de debug dele, não tem todas as informações que eleprecisa.
Não tem a mensagem de erro, exemplo.
Tem a stack, tem a linha do código, mas não tem a mensagem de erro.
Ou seja, ele não sabe o que aconteceu no debug.
É isso.
Deve ter meio cry de hoje.
É, vai se vira lá.
aconteceu lá.
Pô, pariu, que eu debugava o arquivo, porque eu debugou usando o println lá, como que erao response.write no asp.
(46:34):
Pô.
Bom, pessoal, o tempo passa, o tempo voa, foi muito bom o episódio de hoje.
Já tinha monte de coisa aqui, o que eu preciso para entrar na área de respostasresidentes, como é que a Letícia montou o time que ela falou, quero estudar o para entrar
na área, o que eu faço.
Muita coisa para gente discutir num segundo episódio, com certeza.
Agradecer, Letícia, últimas mensagens, abraços para a mãe, para o pai, alguma coisa assim.
Primeiramente agradeço a oportunidade de estar vindo falar aqui e contribuir pouco do quea gente tem de experiência, todas as aventuras e desventuras que a gente já passou aqui na
(47:03):
parte de resposta incidente.
Eu acho que o grande objetivo aqui, porque a gente fala de segurança, é a gente se ajudar,a gente conseguir trazer isso como experiência e mostrar a importância, porque do nosso
lado aqui a gente vê a importância muita coisa.
Mas às vezes...
Quem aprendeu a desenvolver nunca foi ensinado certas coisas, né?
(47:26):
E às vezes só vai aprender na vida, na marra, com o chicote estralando.
Então a nossa ideia aqui é levar a palavra aqui da parte de segurança e mostrar que àsvezes a gente não está sendo só chata, a gente está te ajudando para que você não precise
gastar e virar a noite resolvendo problema e às vezes colocando emprego, reputação e atémesmo a empresa risco.
(47:51):
porque já tivemos casos de empresas que faliram por conta de incidente.
É melhor escutar a gente incomodando do que ficar do que ter o risco de ter uma incrívelexperiência buscando posts no LinkedIn naquela abavaga.
Boa, boa, boa, muito boa.
com essa a gente encerra hoje.
(48:12):
Eu sou Casper Eira.
Eu sou o Vejor.
E é o Samarkus Sets.
E a Letícia Pereira que participou com a gente hoje.
Pessoal, até semana que vem.
Tchau, tchau.
beijo de luz.
Até
bem na hora do Beurre para outra reunião, vá e...