Latest / Entre Chaves / #262 OWASP Top 10: o que muda na segurança das aplicações web
Transcript
- 0:02Está começando mais uma entre chave do seu podcast de
- 0:05desenvolvimento de software e hoje vamos começar a falar sobre
- 0:09um assunto muito relevante pra segurança do seu software.
- 0:12E eu vou te provar Por A Mais B por que que é tão relevante
- 0:16assim? A cada 4 anos a oasp a maior
- 0:19organização do mundo em relação à segurança de aplicações web
- 0:23solta uma lista chamada top 10. Onde ela compila, por meio de
- 0:28uma série de pesquisas que ela faz analisando empresas de
- 0:32cibersegurança e de desenvolvimento de software, ela
- 0:34compila dados que falam quais são as vulnerabilidades mais
- 0:38frequentes e mais danosas para os produtos que estão online, as
- 0:42nossas queridas aplicações web. E ela traz essa lista para gente
- 0:46considerando as 10 mais potencialmente danosas para
- 0:50você, desenvolvedor, ficar de olho.
- 0:52E hoje, na nossa parte um. Nós vamos começar pela parte de
- 0:55baixo da tabela, mas nada de pular esse episódio, tá?
- 0:59Porque dentre as milhões de categorias que a oasp considera,
- 1:04ela elegeu essas 10 com as mais danosas.
- 1:06Então não acho que é porque a parte de baixo da tabela que ela
- 1:09pode ser descartada de forma alguma, né?
- 1:11Tem vulnerabilidades extremamente complexas e
- 1:13extremamente danosas que a gente vai ver aqui.
- 1:16Então, para poder falar sobre essa parte de baixo da tabela
- 1:18dos itens, 6 a 10. Eu tô aqui com a minha bancada.
- 1:21Tales e lukins, especialistas em cibersegurança fala aí, pessoal,
- 1:24e. Aí, pessoal, tudo certo?
- 1:25Fala pessoal, bom, então vamos começar então com o top 10 e pro
- 1:29ano de 2025. Então a última lista foi soltada
- 1:32ali em novembro, quase dezembro já, né?
- 1:34De 2025 a asp trouxe pra gente aqui no top 10 está o erro ao se
- 1:40tratar condições excepcionais. Bonito esse nome, né?
- 1:44Mas que que significa na prática, então é.
- 1:46O miss handling, né? Of excepcional conditions.
- 1:50Ele vai dizer a respeito de todas as vezes que a gente não é
- 1:54falha em prever algum estado lógico do nosso software, né?
- 1:58Então isso pode ser um erro, pode ser um valor de uma
- 2:00variável que a gente não é. Previu que IA ter um determinado
- 2:04valor, né? E aí o nosso próprio código não
- 2:06consegue avaliar exatamente aquele, aquele valor, aquele
- 2:10estado, né? É o try cat que eu errei, né?
- 2:12É o exemplo mais comum é o try cat, né?
- 2:15Quando você tem um erro ali de alguma função.
- 2:18Que você não esperava, né? Ou às vezes o trikt, ele está
- 2:20muito abaixo ali Na Na árvore de de funções e acaba soltando um
- 2:25erro muito genérico, né? Mas esse é só um dos exemplos,
- 2:28né? Pode ser também quando você não
- 2:29tem 11 parâmetro obrigatório, né?
- 2:32Que deveria vir numa resposta de um apê i, por exemplo.
- 2:34Então tudo que quebra a minha apê IA qual?
- 2:36Eu não estava esperando um caminho infeliz do meu código,
- 2:40por assim dizer. Ele cai nessa categoria.
- 2:42Mas por que que isso é problemático, então?
- 2:44Tem alguns casos, né, que vão tornar.
- 2:47É essa falta de tratativa problemática.
- 2:50Primeiro, quando a gente não trata um erro e a mensagem desse
- 2:54erro, né? O Stack Trace ali do erro, ele
- 2:56ele acaba vazando pro nosso font end ou pra pro clientside, né?
- 3:01De forma com que o usuário final tem acesso a essas informações,
- 3:05né? Então isso gera um erro que a
- 3:06gente chama de information Disclosure, né?
- 3:09Onde a gente vai ter informações privilegiadas ali da do
- 3:12funcionamento da aplicação, né, do por trás dos panos.
- 3:16Isso pode acabar dando algumas informações valiosas ali pro
- 3:19pros atacantes pra montar ataques.
- 3:22É cadeia de de vulnerabilidades ali que vai, né?
- 3:25Ter um efeito maior. Então, pode ser que essa
- 3:28exposição de dados, ela pode, por si só, já conter alguma
- 3:32coisa problemática. Mas ela também pode servir para
- 3:35alimentar um ataque futuro. É isso?
- 3:37Exatamente. É e além disso, claro, um alguma
- 3:42função, alguma ação dentro do software que.
- 3:45Não deveria ser acionada, né? É e que às vezes é por conta da
- 3:49falta de uma tratativa de erro. Lembrando que uma falha de
- 3:52segurança nem sempre vai envolver a um agente malicioso,
- 3:55né? Às vezes também é um é um bug
- 3:57que gera algum dano pra informação ou pro sistema, mesmo
- 4:01que não tenha nenhum agente mal intencionado atuando.
- 4:04É. A gente já viu, inclusive, em
- 4:06vários momentos da história da cibersegurança, que foi por sem
- 4:09querer que algumas vulnerabilidades foram
- 4:10descobertas, né? O log for Shell, por exemplo,
- 4:13foi um ataque num servidor de Minecraft, né?
- 4:15Uma brincadeira que o pessoal fez e acabou virando uma
- 4:17vulnerabilidade de escala global.
- 4:20Então, às vezes até essas coincidências aí acabam
- 4:22derrubando vários e vários sistemas, né?
- 4:25Legal, mas e pro desenvolvedor que tá escutando a gente assim,
- 4:27o que que ele pode fazer hoje pra poder se prevenir contra
- 4:30esse tipo de ataque e vulnerabilidade no sistema dele?
- 4:33Então pra resolver esse tipo de pitigar, né, esse tipo de de
- 4:36risco? É o mais importante é realmente
- 4:39pensar em todos os caminhos possíveis ali que um determinado
- 4:42trecho de código, uma função pode seguir.
- 4:45Nesse caso, os testes unitários, por exemplo, são uma boa.
- 4:48É ferramenta ACT sempre verificar que tipo de informação
- 4:53tá voltando na requisição pro pro front end, uma coisa é você
- 4:57logar, né? 111 erro de strikete na sua
- 5:00ferramenta de log da cloud. Outra coisa é isso, voltar junto
- 5:04com a sua requisição com a resposta pro clientside né?
- 5:07Então sempre ter uma tratativa que evita com que o erro cru
- 5:15volte pro font end né? Colocar uma mensagem genérica ou
- 5:18então melhor ainda é você colocar códigos de erros
- 5:21específicos pra diferentes tipos de é de erros que são jogados
- 5:26pra que você consiga auxiliar de até o usuário, depois AA
- 5:29corrigir e entender o que que tá acontecendo na aplicação dele
- 5:31especificamente. Mas o mais importante é
- 5:33realmente ter 11 visão do dos caminhos que o seu código pode
- 5:38percorrer, né? Às vezes utilizar um fuzer pra
- 5:40isso, né? O fuzer é uma ferramenta de
- 5:42segurança que ela vai mandar vários inputs diferentes.
- 5:44Vários tipos de inputs, tamanhos diferentes que você às vezes.
- 5:47Não pensaria em mandar, né? Que foge da regra de negócio e
- 5:51que pode acabar é gerando respostas imprevisíveis ali, né?
- 5:55Dentro da aplicação, isso pode ajudar também a você a detectar
- 5:57esse tipo de. Problema?
- 5:58Então, em resumo, é bom você testar pra saber se está
- 6:02acontecendo, como por exemplo, enviando vários inputs
- 6:04diferentes, né? Colocando um input de alfabeto
- 6:07em um campo que é numérico ou um input alfanumérico, um campo que
- 6:10não aceita, né? Algo nesse sentido.
- 6:12E do outro, além de testar do outro lado, é conferir se está
- 6:15acontecendo via código, né? Então fazer um bom filtro de
- 6:18erros pra ter a certeza de que não está retornando nada.
- 6:21Acho que isso cobre 11 bom pedaço do que que a gente acabou
- 6:24de falar, né cara? Que que incrível.
- 6:26Não esperava que o simples fato de devolver informações que
- 6:29fosse tão danoso assim pro código, né?
- 6:31Pra quem está tentando investigar, muito legal, faz
- 6:33sentido né? Estar presente dentro do top 10,
- 6:35eu imagino quantos códigos afora não tenham esse tipo de problema
- 6:39e a gente nem imagine, né? Às vezes informações, erros
- 6:41simples que acabam passando, mas vamos subir então para o nosso
- 6:44top 9 e aí em nono lugar ao asp cataloga falhas de log e alerta
- 6:52como o nono problema mais danoso, barra provável de se ter
- 6:56na sua aplicação. Tales, conta pra gente um
- 6:59pouquinho aí, cara, que que significa isso?
- 7:01Cara, essa esse top nova, ele é bem interessante, eu gosto muito
- 7:04dele. É e basicamente é o próprio nome
- 7:06de entrega. É a falha que o servidor tem,
- 7:08que é a aplicação. O time responsável tem em
- 7:11gerenciar o comportamento da dos usuários, seja registro em logs,
- 7:15registro de ações foram executadas no servidor.
- 7:18E é muito importante a gente entender e monitorar o que está
- 7:21sendo feito essa aplicação, porque se alguma pessoa estiver
- 7:24rodando um escândalo delicioso, por exemplo, a gente poderia
- 7:26detectar. Logo cedo?
- 7:28É essencial para reduzir o tempo de defesa caso um ataque esteja
- 7:32sinalizado. Então, mais uma vez, a gente vê
- 7:33aqui que. A falha por si só, ela não dá
- 7:36uma sensação de exposição de dados como a gente tem na mente,
- 7:40né, que a uma vulnerabilidade sempre vai colocar o dado do
- 7:43público, né? Vai, vai vazar um banco de
- 7:45dados, vai tomar o seu servidor, vai colocar um vírus, não é
- 7:49isso, né? Mas assim, o simples fato de
- 7:51você não estar atento o suficiente, ele já é uma
- 7:55vulnerabilidade por si só, porque você não vai reagir
- 7:57rapidamente, né? Que bacana, né, essa visão da
- 8:00asp. Exatamente, até porque.
- 8:02O ataque, geralmente ele começa como estuda a aplicação.
- 8:05Então, se 11 atacante ele vai atacar o Facebook, por exemplo,
- 8:09ele vai tentar entender como funciona o site, os
- 8:11comportamentos intipoints. Eles, os primeiros se passam por
- 8:14um. Usuário, exatamente.
- 8:15Eles passam por um usuário e você tentar entender o que
- 8:17diferenciar aquilo de um usuário ou não através de logs vai
- 8:21minimizar muito tempo que você vai ter para defender.
- 8:23Então, por exemplo, um scan automático que é feito
- 8:26ferramentas. É um exemplo mais detalhado e o
- 8:29user age dele, por exemplo, vai ser diferente dos normais.
- 8:31Eu estou usando uma versão de cronoman mais antiga, ou ele vai
- 8:34estar usando vários ips diferentes pra mesma requisição
- 8:37ou fazendo muitas e muitas requisições.
- 8:38Em pouquíssimo tempo está sendo vários entipoints que usaram
- 8:41normal não conseguiam acessar, então você ter noção de que sua
- 8:44aplicação ela já pode estar sendo analisada, pode estar
- 8:46sendo utilizado ferramentas de scanela logo cedo, vai aumentar
- 8:50muito tempo de que você vai ter para defender e provavelmente
- 8:53vai ter uma gama maior de defesa bloqueando IP da pessoa.
- 8:57É definindo os endpoints que foram acessados.
- 8:59Talvez acessem endpoints que você não saberia que o dedo ser
- 9:01acessados. Esses dias eu me deparei com um
- 9:03produto exclusivamente brasileiro, um site que nós
- 9:06temos exclusivamente brasileiro, onde ele estava recebendo várias
- 9:09requisições de alguns países do norte e da Europa.
- 9:12Então acho que foi bem próximo disso daí que você acabou de
- 9:14falar, né? Assim, eram requisições
- 9:16estranhas pra rotas que não existiam e que notoriamente
- 9:19estavam tentando identificar alguma coisa dentro do produto.
- 9:21Então elas estavam batendo, por exemplo, no.
- 9:23Barra WP admin, que é a rota de login do do administrador do
- 9:26wordpress só que o site nem era feito no wordpress, né?
- 9:29Então assim, dava pra ver que alguma coisa estranha tinha, né?
- 9:32A geolocalização, o padrão de requisições, eu acho que vai
- 9:35muito de encontro com isso que você acabou de falar, né?
- 9:38Justamente por termos esse log bem estruturado é que a gente
- 9:41conseguiu montar um plano de ação, definir riscos e uma
- 9:44defesa estruturada. Mas eu fico pensando, né, e se a
- 9:46gente não tivesse isso, como é que seria?
- 9:48A gente tinha, né? Ótimo, beleza.
- 9:50Mas talvez nem tudo d Eve que esteja escutando a gente tenha
- 9:53isso hoje. Como identificar isso no seu
- 9:55próprio código? Assim, qualquer um exemplo bom,
- 9:57um exemplo ruim e, por exemplo, ruim, o que que eu posso fazer a
- 9:59respeito? Por exemplo, ruim é justamente
- 10:02você não ter nenhum tipo de log. Você não ter esses logs é uma
- 10:05coisa que é prejudicar muito essa explicação.
- 10:07Você não ter um retilit, por exemplo, você não saber o que tá
- 10:10acontecendo por trás dos panos, quem tá acessando, que horas
- 10:13estão acessando? É essencial pra você monitorar
- 10:15essa aplicação de fato. Então, um exemplo ruim seria
- 10:18você antenada ou também você ter e não fiscar o suficiente.
- 10:22Você vê que, por exemplo, o usuário acessou o antipoint, mas
- 10:24você não sabe que horas que foi, quantas vezes tenta ser um
- 10:27antipoint? Qual foi o infor completo de
- 10:29acessar? Ou, se tiver a certeza, não
- 10:31alertar, né, porque o nome da da vulnerabilidade aqui é falha de
- 10:35log e alerta, né? Exatamente, exatamente.
- 10:37Mas é isso. Você tem muitos, muitos logs
- 10:39gigas e gigas de logs, por exemplo, feitos durante o mês
- 10:41inteiro. E você não olhar, não tem
- 10:43ninguém responsável por olhar. Não adianta, tem que estar
- 10:45alertando da hora 11 e-mail uma. Sara desarma, é coisa automática
- 10:48e ao mesmo. Tempo eu acho que não faz
- 10:49sentido alertar para tudo também, né?
- 10:50Você tem que ter regras bem definidas sobre quando alertar e
- 10:53quando não alertar. Exatamente AO astro até ela
- 10:56fazer uma combinações interessantes de logs.
- 10:57É bom você dar uma olhada, mas o importante é você achar um meio
- 11:02termo. Não adianta você estrear tudo
- 11:03todo momento, porque toda hora vai ter um apito no seu celular
- 11:05falando Ah, tá, o usuário é só o ind point, tal beleza.
- 11:08Né? E se tudo é um alerta, nada é um
- 11:10alerta, né? Exatamente.
- 11:11Então, o certo quando eu falei é você achar o meu caminho, você
- 11:15conseguir filtrar exatamente os logs que são necessários, você
- 11:17conseguir diferenciar é, obviamente vai levar um pouco de
- 11:19tempo de você entender como funcionaria.
- 11:22Mas você conseguir diferenciar um ataque de um usuário comum e
- 11:24você conseguir ministrar somente aquilo que pode parecer um
- 11:26ataque mesmo. Esse filtro realmente parece um
- 11:28pouco delicado de ser aplicado, mas você comentou que o próprio
- 11:31site da asp ele tem algumas recomendações, certo?
- 11:33Então vale a pena deixar aí de dica pro pro nosso ouvinte.
- 11:37Que lá no site da oasp, se você for até lá, tem a listagem de
- 11:40todo o top 10 que a gente tá falando.
- 11:42E pra cada um desses itens individualmente, eles possuem
- 11:46conselhos, né? Dicas do que que você pode fazer
- 11:49e que que você pode aplicar aí no seu código pra melhorar ele.
- 11:52E claro, esse top 9 que a gente acabou de falar tá dentro disso
- 11:54daí. E pra finalizar esse tópico
- 11:56aqui, eu sinto que hoje as nuvens tornaram isso um pouco
- 12:00mais fácil. Eu vejo que você tem o
- 12:03application insides, por exemplo, e outros recursos de
- 12:06logins, monitoramento e alertas nas nuvens que eles tentam
- 12:09automatizar esse processo. A minha percepção, ela é verdade
- 12:13ou não? Hoje você ainda pode fazer tudo
- 12:16isso manual, com o mesmo esforço.
- 12:17Vai dar na mesma no final das contas.
- 12:19A sua verdadeira é muitos serviços de até de hospedagem
- 12:22mesmo a WS ela faz diversas hospidades de servidores, ela
- 12:25fornece esse sistema de monitoramento, então já tem
- 12:29diversos filtros que já estão pré estabelecidos.
- 12:31EE, eles podem ir apitando cada um deles pra sua aplicação,
- 12:34então a ever também AWS diversos eles fornecem já esse serviço.
- 12:38Legal, legal. Bom, finalizamos o top 9 aqui,
- 12:41então vamos subindo na nossa escadinha, passando pro top 8.
- 12:44Falhas de integridade de software ou dados parece um nome
- 12:48um pouco genérico aqui, né? Quem?
- 12:50Quem de vocês 2 vai destrinchar aí pra gente o que que isso
- 12:53significa? Então vamos lá, né, esse número
- 12:558, ele vai dizer respeito a códigos de terceiros que a gente
- 12:59incorpora no nosso é no nosso código ou na nossa
- 13:03infraestrutura. Lembrando que isso é é tem
- 13:06muitas interseções com o item 3, né?
- 13:08Dessa desse top 10 de 2025, mas tem algumas diferenças que vai
- 13:12ficar claro, né? Nesse caso, ele tá falando sobre
- 13:15a integridade desse código que a gente tá incorporando e que que
- 13:18é a integridade. A integridade é um mecanismo de
- 13:20segurança pra gente garantir que aquele código realmente.
- 13:24É o código que a gente pensa que ele é tipo, digamos, o original.
- 13:27Isso é feito de várias formas, né?
- 13:29O mais comum é você utilizar é 11 rest, né?
- 13:33Para fazer uma verificação de integridade de arquivo.
- 13:35O famoso chek Sam o chek. Sam, exatamente.
- 13:38E um exemplo disso é, muitas vezes quando você vai baixar
- 13:40algum, é algum programa em algum site, né?
- 13:44De distribuição tipo sociford, por exemplo, sempre tem 1111
- 13:48stringzinha assim, maior embaixo assim da do botão de download
- 13:52que é. A verificação que é o check Sam
- 13:54daquele arquivo que você tá baixando e como você usa aquilo,
- 13:57você baixa o arquivo e você roda uma roda, uma função no seu
- 14:00próprio computador pra verificar se o se as 2 strinks são
- 14:03idênticas. Ah, você você realiza o cálculo
- 14:05no próprio computador e aí você compara os resultados.
- 14:08Exatamente pra você ter certeza que aquele arquivo realmente é o
- 14:11arquivo que você queria baixar é e não cair em algum tipo de
- 14:14ataque de mandemida ou por exemplo, onde você vai clicar
- 14:17pra baixar? Mas na verdade o servidor foi
- 14:19comprometido, né? Com algum ataque de é.
- 14:21De DNS, né? E você tá baixando um outro, um
- 14:24outro arquivo ali que não tem a ver com aquele que você queria.
- 14:26E esse mesmo, essa mesma lógica, ela se aplica a várias.
- 14:29É outras situações no desenvolvimento de software, né?
- 14:33Então, na própria pipeline, quando você faz o fat ali de
- 14:37componentes, bibliotecas externas, de terceiros, né?
- 14:40É o mesmo processo que você tá fazendo.
- 14:42Quando você baixa um arquivo, você tá é extraindo 11 arquivo
- 14:45uma informação de outro lugar. E a verificação de integridade,
- 14:49ela serve pra você garantir que essa é o arquivo correto que
- 14:52aquele fornecedor realmente disponibilizou, né, pra ser
- 14:55utilizado então serve pra pipeline, serve pra biblioteca,
- 14:59serve pro pro próprio seu próprio repositório, né?
- 15:01Que você vai estar é publicando então.
- 15:04Esses dias teve uma vulnerabilidade num software que
- 15:06eu gosto muito, que é o Notepad, mais mais vocês.
- 15:09Vocês viram isso? Não sei se vocês chegaram a
- 15:11olhar, mas ele tinha uma falha que quando ele IA buscar uma
- 15:15update. Ele não validava a integridade
- 15:18do servidor que ele IA buscar e ele tava buscando o update de um
- 15:22servidor falso, então ele aplicava o pet da atualização,
- 15:26que era o pet oficial dele adicionado de um malware, né?
- 15:32Então eu acho que é exatamente isso que você acabou de falar,
- 15:34né? Então, dentro da toda vez que
- 15:36você abria o os, o Notepad, mais mais, ele te falava, né?
- 15:39Ah, tem uma versão mais atual, você gostaria de atualizar, né?
- 15:41Gostaria de baixar. E aí, quem clicou, sim.
- 15:44Foi até um servidor desconhecido que aplicava a atualização dele,
- 15:49se passava legitimamente, ele realmente era atualizado, só que
- 15:52de brinde vinha no pacotinho aí adicional um mouerzinho pra
- 15:56pessoa justamente porque ele falhou de verificar essa
- 15:58integridade. Então olha que legal, né?
- 15:59O exemplo da asp que aparece aqui no top 8 se faz presente de
- 16:03fato, né? Um software como o Notepad mais
- 16:05mais que é baixado. Aos milhões e milhões ao redor
- 16:09do mundo. Quantas pessoas será que não
- 16:11foram infectadas por causa disso, né?
- 16:13Por causa dessa falha de integridade?
- 16:15E pro desenvolvedor que tá escutando a gente, o que que ele
- 16:18pode fazer hoje pra. Garantir, né?
- 16:20Esse tipo de é a segurança em relação a esse tipo de falha.
- 16:24É mais uma questão de configurações corretas.
- 16:27Os crowdproviders os sistemas operacionais, né?
- 16:30As aplicações no geral, elas já fornecem configurações pra você
- 16:34sempre garantir. A integridade de arquivos que
- 16:36você esteja baixando, né? O único caso onde eu vejo que
- 16:40exista 11 ação própria ali do do desenvolvedor é, nesse caso de
- 16:45você estar baixando bibliotecas, baixando pacotes manualmente.
- 16:50Nesses casos, eu acho que é é importante você fazer o check
- 16:54Sam, dura 3 segundos ali, você digita o nome da função.
- 16:58É compara ali pra ver se é string, Aparecida e é se é
- 17:00igual, né? Na verdade, então você compara
- 17:02ali, OK, mas no geral é garantir, né, que sua pipeline e
- 17:06teu se a esse dia ali tá tá reforçando essas verificações de
- 17:11integridade, né? Então cada cloud vai ter isso
- 17:13configurado de um jeito. E para esses casos de
- 17:15atualizações externas, como no Notepad?
- 17:17E garantir a integridade dessa comunicação com os servidores,
- 17:20né? Verificar assinaturas, né?
- 17:22Se os certificados estão expirados ou não, se está indo
- 17:24para o lugar certo, endereçamento e por aí vai.
- 17:26Isso e no desenvolvimento, né? Garantir que o seu próprio
- 17:29software é esteja fazendo esse tipo de verificação nas funções
- 17:33EE toda vez que ele for importar alguma biblioteca, alguma coisa
- 17:37de terceiro ali no código você tem 111 certo nível de
- 17:40segurança, né? Por exemplo, um hater de
- 17:43segurança que pode ajudar a gente nesse tipo de defesa é a
- 17:46CSP, né? Que vai limitar.
- 17:49Justamente ali no front end, OOA quais origens é os seus próprios
- 17:54software pode utilizar para poder obter recursos, né?
- 17:57Escritos, imagens, vídeos, né? É.
- 18:00E uma CSP bem configurada pode impedir certos ataques de
- 18:04integridade. Onde alguma biblioteca que você
- 18:06importou ali pro seu front end vai tentar importar um script
- 18:09malicioso, a sua CSP vai falar OPA, não, não pode.
- 18:12Aqui ele falou que é só dessa, dessa fonte aqui.
- 18:15Cara, em pensar que eu já briguei tanto com o content CQU
- 18:17de polis, né? E agora eu sou tão amigo dele.
- 18:19Bom, vamos continuar então subindo para o nosso top 71 das
- 18:23minhas categorias favoritas. Acaba de voltar aqui para o asp,
- 18:26né? O authentication falers então as
- 18:29falhas de autenticação mais 1 ano, né?
- 18:32Mais mais um 11 agrupamento do asp top 10 marcando presença.
- 18:37Sobe de vez em quando, desce um pouquinho, mas entra o top 10,
- 18:41sai top 10. Ela continua aparecendo e a
- 18:43gente continua, então, aparentemente tendo essas falhas
- 18:46nos nossos softwares, né? E Thales, que que é esse grupo
- 18:48que que é o authentication failers?
- 18:50Cara, o authentication failers. Ele aborda muitas coisas, desde
- 18:53gerenciamento de sessão, como você vai validar seu touk JBT,
- 18:57como que você vai permitir que as senhas sejam inseridas, se
- 19:00vão ser senhas curtas, senhas longas, então são vários
- 19:03fatores, sabe? A gente pode?
- 19:05Falar de muitos, muitos aqui. Um exemplo, por exemplo, um
- 19:07exemplo deles é você ter a senha dos padrões de administrador.
- 19:11Já de mim é de mim já é uma falha de dedicação e também uma
- 19:14falha de configuração. Espera aí, você?
- 19:15Está me dizendo que não pode ter usuário de mim?
- 19:17Senha de? Mim, infelizmente, não queria
- 19:19que pudesse, seria muito mais fácil.
- 19:21Mas. É basicamente isso, você
- 19:23permitir senhas fracas, por exemplo, senhas de 6 caracteres
- 19:26sem precisar de nenhum especial ou ou maiúsculo minúsculo.
- 19:30Uma pá vem tipo banana, por exemplo, seria.
- 19:32Ou um minuto pra você um atacante conseguir desbloquear
- 19:35fora você não utilizar MFA também, indicação dos fatores e
- 19:38vai agora essas coisas, né? Você ter senhas conhecidas do
- 19:40seu moco de dados e também os token jwt, eles vão serem
- 19:43validados corretamente, porque não adianta você ter uma senha
- 19:46que é muito forte e o seu token é de ser um ID que escala
- 19:49incrementalmente, então você tem o ID um para o AD um e seu banco
- 19:52de dados, ele não faz a avaliação desse token, então
- 19:54você pode só ir lá, colocar nos seus cookies que você é o ID um
- 19:57agora e pronto, você é o admin. Então não adianta você ter uma
- 19:59super senha gigantesca que o seu banco de dados não tá fazendo
- 20:01corretamente, então são vários fatores que englobam a falha de
- 20:05autenticação. Então, no geral, tudo que a
- 20:07gente precisa ter, a garantia aqui é de que a sua autenticação
- 20:10ela esteja muito bem validada de ponta a ponta, desde o início da
- 20:14sua sessão até o final dela. Quando eu digo o início, até
- 20:16mesmo a criação da sua conta, né?
- 20:18O criar a conta com uma política de senhas bem aplicada.
- 20:21Bloquear senhas padrões, né? Ter uma senha bem configurada,
- 20:25extensa, com os parâmetros que a gente recomenda.
- 20:28Isso tudo faz parte desse pacote aqui das falhas de autenticação.
- 20:31Exatamente, e um adicional que muita gente ainda faz que não é
- 20:35muito recomendado. Essas são as perguntas da
- 20:37segurança. Isso já não é recomendado há um
- 20:39bom tempo, muita gente que tá criando aplicações atualmente tá
- 20:42fazendo isso. Então qual é o nome do seu gato?
- 20:44Qual é o nome do seu avô? Isso qualquer pessoa descobre
- 20:46facilmente, e isso é um pouco pouco a gente fala.
- 20:49É, eu sei que até hoje no Windows 11, quando você vai
- 20:52fazer o login offline? E caso você não saiba, sim,
- 20:55ainda é possível de se fazer o login offline no Windows 11, tá?
- 20:59Você tem que dar 11, você tem que abrir o prompt de comando,
- 21:01dar um Bypass na autenticação online dele.
- 21:03Ele pede 3 perguntas de segurança e são perguntas assim,
- 21:06completamente triviais, assim, cidade que você nasceu, né?
- 21:10Nome do primeiro animal de estimação e por aí vai.
- 21:13É uma boa prática, né? Hoje Moderna, assim que é
- 21:15essencial é MFA, gente. MFA já é assim, o padrão básico.
- 21:20Assim, já não é mais o diferencial.
- 21:21Né não é e. E não vale também você ter o
- 21:24MFA, e aí tem a opção de o usuário marcar, não tem o MFA.
- 21:29E aí você manda OSMS no celular, né?
- 21:32Manda por e-mail ali, né? Tipo assim, tem que ter o MFA
- 21:35bem reforçado, né? Claro que tem esses casos de
- 21:37sessão, mas MFA, hoje é obrigatório.
- 21:41Questão também de invalidação de de sessão também entra é nessa
- 21:46parte de de autenticação, né? É, enfim, então.
- 21:48A gente tá sempre combinando alguma coisa que o usuário sabe
- 21:51com alguma coisa que o usuário tem.
- 21:53Não é isso? Então aí ele sabe o login e a
- 21:55senha e ele tem, né? Acesso à conta de e-mail de
- 21:59telefone, aplicativo de autenticação no celular e por aí
- 22:03vai. E também reforço que nesse
- 22:04ponto, como são muitos itens pequenos e detalhes que podem
- 22:08acabar passando, vale a pena dar uma olhadinha na lista da asp,
- 22:11né? Lá no site eu acho que ela tem
- 22:12pelo menos uns 30 itens lá que vale a pena olhar dentre eles,
- 22:15como fazer para validar sua senha, como fazer para poder
- 22:17encerrar a boa sessão, como validar um token de maneira
- 22:20eficiente, né? E por aí vai.
- 22:22Então vale a pena para você que tá ouvindo a gente acessar o
- 22:24site lá da asp e dar um confere nesse item aqui em específico
- 22:27também. Claro que assim por mim, né?
- 22:29Leríamos todos de cabra a rabo aqui, mas esse aí em especial,
- 22:33acho que vale a pena dar uma dar um pulinho lá.
- 22:36Bom, vamos continuar subindo então para o nosso item, nosso
- 22:39top 6 para finalizar a metade de baixo da tabela, né?
- 22:43É o insequire designing. Agora, além de saber de Cyber
- 22:47segurança, eu vou ter que saber de UIUX também.
- 22:49O que que é isso em ser aqui? O design?
- 22:51Aqui, então, é esse número 6 aí. Ele é muito relacionado ao
- 22:56paradigma do shift left, né? Que é você trazer a segurança
- 23:00para as etapas iniciais, né? Do desenvolvimento de software,
- 23:03né? Sendo que o design é uma dessas
- 23:05primeiras etapas, né? E o 6.
- 23:07Ele é importante porque existem vários tipos de vulnerabilidades
- 23:10que eles são fundamentais da forma como aquele software foi
- 23:14desenhado. Então, elas estão bem
- 23:16intrínsecas à arquitetura, né? A forma como aquilo foi
- 23:19construído é, às vezes não foi feito uma boa modelagem de
- 23:22ameaças antes do software ser desenvolvido, né?
- 23:25E aí são problemas estruturais que muitas vezes vão exigir
- 23:28mudanças grandiosas ali no software para esse essa
- 23:32configuração deixar de dar problema, né?
- 23:35Então o gasto é muito maior de corrigir esse tipo de
- 23:37vulnerabilidade inerente posteriormente.
- 23:39Por isso que o insecre design ele é tão importante que é você.
- 23:43Ali, no ato de desenhar o software, de pensar nas
- 23:45funcionalidades, nas regras de negócio, você já tá pensando em
- 23:49segurança? Olha, talvez não seja muito
- 23:51legal ter essa opção aqui pra esse pra esse usuário, porque
- 23:54você pode levar a isso, né? Então é ter esse tipo de de
- 23:57maldade ali na hora de desenhar o software antes de desenvolver
- 24:01ele, então. O próprio desenho da
- 24:04arquitetura, do fluxo, dos dados, da aplicação, eles já
- 24:08competem a segurança. Entender que eu estou desenhando
- 24:1111 front end que se conecta diretamente com um banco de
- 24:14dados sem ser um fairy base, né? Claro, eu tô falando assim, um
- 24:16banco tradicional. Eu entendo, entender que isso é
- 24:19uma falha de design, um desenho da minha aplicação.
- 24:22Ele está mal feito, né? Eu preciso de ter um agente
- 24:24intermediário que barre a minha conexão direta e consiga fazer
- 24:28essa proteção. Pô, e como que o desenvolvedor
- 24:33que tá ouvindo a gente que às vezes não tem um expertise em
- 24:35segurança, como que ele pode revisar a aplicação dele?
- 24:39Como que ele pode procurar mais sobre isso, garantir que tá tudo
- 24:42certo ou pelo menos fazer uma revisão básica?
- 24:44Bom, a gente tá em 2026, né? Então eu já vou começar com o
- 24:48mais óbvio que você pode usar e abusar de inteligência
- 24:51artificial pra fazer isso, né? Então, uma vez que você tem um
- 24:53diagrama arquitetoral inicial ali, você pode facilmente é
- 24:57colocar ele junto com o prompt olha, me ajude a fazer uma
- 25:00modelagem de ameaças nessa arquitetura que a gente desenhou
- 25:03aqui é você pode definir o nível de detalhe que você quer.
- 25:06Né, se é a nível de código ou se é a nível de cada componente.
- 25:09Olha, é interessante ter um firewall aqui entre esses 2
- 25:12componentes, né? É, ou é interessante você juntar
- 25:15esse esses todas, essas requisições aqui no aplication,
- 25:18é gateway, por exemplo, né? Então você pode utilizar dessas
- 25:22ferramentas pra ter em sites que você talvez não teria
- 25:24normalmente. É, e a segurança?
- 25:26Ela é uma postura antes de tudo também, uma cultura, né, e que
- 25:30qualquer um pode ter. Né?
- 25:32Então o exercício de fazer uma modelagem de ameaças, né, que é
- 25:35você pensar ali onde que pode dar problema basicamente, né?
- 25:38E o que que você pode fazer pra resolver esses problemas todo
- 25:41mundo deveria fazer constantemente, né?
- 25:42Então é mesmo desenvolvedor que não tem experiência com
- 25:45segurança, ele já pode começar a ter esse tipo de é de
- 25:49questionamento, né, e fazer esse exercício.
- 25:51Recomendo também que sempre tenha nessas conversas iniciais,
- 25:55né Discovery, entender as jornadas de usuário.
- 25:59De cada tipo de persona que vai ter dentro do produto.
- 26:01Você já envolveu alguém de segurança nessas conversas?
- 26:03Sempre existe uma persona que é um atacante, né, que vai usar
- 26:06seu sistema. É 11 ótima abordagem.
- 26:08É pensar também nesse no indivíduo, né?
- 26:11Tipo assim, que pode estar agindo com má intenção no uso da
- 26:14sua, é da sua aplicação e entender qual que seria a
- 26:17jornada dele, né? Digamos assim, pelas sombras ali
- 26:20da aplicação, né? É uma ótima abordagem e é isso é
- 26:23ter essa, esse questionamento. Ter pessoas qualificadas do do
- 26:27lado, né? Nesses momentos e usar
- 26:29inteligência artificial também pra poder é entender melhor os
- 26:33tipos de fraqueza que você pode encontrar desde o início.
- 26:36Perfeito. Então uma sabatina com um
- 26:38especialista poderia ser substituído por uma sabatina com
- 26:41aya. Desde que você faça as perguntas
- 26:43certas, né? Aya deve ter competência o
- 26:44suficiente pra poder te provar alguns pontos.
- 26:47Uau. E agora a gente vê porque que
- 26:49esse top desce é tão relevante, cara.
- 26:51E olha que essa foi só a metade baixo da tabela, Hein?
- 26:54E eu já estou extremamente preocupado com meu software, eu
- 26:56sinto que eu já preciso fazer uma sabatina de arquitetura
- 26:58urgente de volta e olha que eu trabalho com segurança, né?
- 27:02Se eu não trabalhar assim, então nossa senhora, eu já estava
- 27:04ligando pro meu time Sério de segurança, agora correndo
- 27:06urgente. Inclusive você que é deve
- 27:08recomendo que faça isso, andem sempre em conjunto, né?
- 27:11Ambas as partes precisam operar fazendo o mesmo produto no final
- 27:15das contas. Então com essas preocupações,
- 27:18dessas 6 ao 10 aqui com muitas coisas na cabeça que eu gostaria
- 27:21de verificar. Não me despeço de todos vocês e
- 27:24espero que esse sentimento seja compartilhado.
- 27:27Valeu, pessoal. A gente se vê daqui a pouco, no
- 27:29outro episódio, falando da parte de cima da tabela, Hein?
- 27:31Beijo vocês lá. Valeu até mais.
- 27:33Valeu pessoal, um abraço. Valeu galera, até a parte 2.