<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: K</title>
    <description>The latest articles on DEV Community by K (@k_336be9edf3535190b9f89b9).</description>
    <link>https://dev.to/k_336be9edf3535190b9f89b9</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4025405%2F25c8815d-d5d0-4cab-b7bd-13e64d4d7df3.jpg</url>
      <title>DEV Community: K</title>
      <link>https://dev.to/k_336be9edf3535190b9f89b9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/k_336be9edf3535190b9f89b9"/>
    <language>en</language>
    <item>
      <title>Segurança não é encontrar alertas. É entender como um sistema pode ser quebrado.</title>
      <dc:creator>K</dc:creator>
      <pubDate>Sat, 11 Jul 2026 17:18:13 +0000</pubDate>
      <link>https://dev.to/k_336be9edf3535190b9f89b9/seguranca-nao-e-encontrar-alertas-e-entender-como-um-sistema-pode-ser-quebrado-2l4l</link>
      <guid>https://dev.to/k_336be9edf3535190b9f89b9/seguranca-nao-e-encontrar-alertas-e-entender-como-um-sistema-pode-ser-quebrado-2l4l</guid>
      <description>&lt;p&gt;Existe uma diferença enorme entre executar uma ferramenta de segurança e realizar uma análise de vulnerabilidade de verdade.&lt;/p&gt;

&lt;p&gt;Scanners são úteis. Eles identificam versões vulneráveis, configurações suspeitas, headers ausentes e padrões conhecidos. Mas as falhas mais relevantes raramente aparecem como um simples alerta vermelho em um dashboard.&lt;/p&gt;

&lt;p&gt;Vulnerabilidades críticas geralmente surgem da combinação entre componentes que, analisados isoladamente, parecem funcionar corretamente.&lt;/p&gt;

&lt;p&gt;Um endpoint valida a autenticação.&lt;/p&gt;

&lt;p&gt;Outro endpoint valida a existência do recurso.&lt;/p&gt;

&lt;p&gt;O backend confia que o identificador recebido pertence ao usuário autenticado.&lt;/p&gt;

&lt;p&gt;Cada parte parece segura. A lógica completa, porém, permite que um usuário acesse dados de outra conta.&lt;/p&gt;

&lt;p&gt;Isso é segurança ofensiva.&lt;/p&gt;

&lt;p&gt;Não se trata apenas de procurar SQL Injection, XSS ou arquivos expostos. Trata-se de compreender autenticação, autorização, estados internos, fluxos de negócio, relações de confiança e decisões arquiteturais.&lt;/p&gt;

&lt;p&gt;A superfície de ataque real&lt;/p&gt;

&lt;p&gt;A superfície de ataque de uma aplicação não é composta somente pelas URLs visíveis.&lt;/p&gt;

&lt;p&gt;Ela também inclui:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;APIs internas consumidas pelo frontend;&lt;/li&gt;
&lt;li&gt;endpoints antigos ainda ativos;&lt;/li&gt;
&lt;li&gt;integrações com serviços terceiros;&lt;/li&gt;
&lt;li&gt;filas, webhooks e workers;&lt;/li&gt;
&lt;li&gt;parâmetros que controlam estados internos;&lt;/li&gt;
&lt;li&gt;diferenças entre aplicações web e mobile;&lt;/li&gt;
&lt;li&gt;mecanismos de importação e exportação;&lt;/li&gt;
&lt;li&gt;armazenamento de arquivos;&lt;/li&gt;
&lt;li&gt;painéis administrativos;&lt;/li&gt;
&lt;li&gt;ambientes de homologação;&lt;/li&gt;
&lt;li&gt;regras de autorização implementadas apenas no cliente.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Um sistema pode utilizar criptografia moderna, autenticação multifator e uma infraestrutura robusta, mas continuar vulnerável porque uma única operação sensível não verifica corretamente quem pode executá-la.&lt;/p&gt;

&lt;p&gt;Autenticação não é autorização&lt;/p&gt;

&lt;p&gt;Essa continua sendo uma das confusões mais perigosas no desenvolvimento de software.&lt;/p&gt;

&lt;p&gt;Autenticação responde:&lt;/p&gt;

&lt;p&gt;“Quem é você?”&lt;/p&gt;

&lt;p&gt;Autorização responde:&lt;/p&gt;

&lt;p&gt;“Você pode realizar esta ação sobre este recurso?”&lt;/p&gt;

&lt;p&gt;Estar autenticado não significa estar autorizado a alterar qualquer objeto cuja identificação possa ser enviada ao backend.&lt;/p&gt;

&lt;p&gt;Considere uma API como:&lt;/p&gt;

&lt;p&gt;GET /api/documents/9831&lt;br&gt;
Authorization: Bearer &lt;/p&gt;

&lt;p&gt;O servidor pode validar perfeitamente o token e ainda assim retornar um documento pertencente a outro usuário.&lt;/p&gt;

&lt;p&gt;A autenticação funcionou.&lt;/p&gt;

&lt;p&gt;A autorização falhou.&lt;/p&gt;

&lt;p&gt;Esse tipo de problema pode resultar em exposição de dados, alteração de registros, acesso entre organizações, escalada horizontal de privilégios ou comprometimento administrativo.&lt;/p&gt;

&lt;p&gt;A lógica de negócio é parte da segurança&lt;/p&gt;

&lt;p&gt;Algumas das falhas mais impactantes não possuem payloads complexos.&lt;/p&gt;

&lt;p&gt;Elas exploram comportamentos legítimos em uma ordem ou contexto que os desenvolvedores não anteciparam.&lt;/p&gt;

&lt;p&gt;Exemplos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;reutilizar um cupom que deveria ser utilizado uma única vez;&lt;/li&gt;
&lt;li&gt;cancelar uma operação depois de receber o benefício;&lt;/li&gt;
&lt;li&gt;alterar o preço pelo cliente;&lt;/li&gt;
&lt;li&gt;pular etapas obrigatórias de um fluxo;&lt;/li&gt;
&lt;li&gt;executar novamente uma ação por meio de condições de corrida;&lt;/li&gt;
&lt;li&gt;transferir recursos entre contas sem validar propriedade;&lt;/li&gt;
&lt;li&gt;manipular estados que deveriam ser definidos exclusivamente pelo servidor.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nenhuma dessas falhas depende necessariamente de malware ou de técnicas extremamente sofisticadas.&lt;/p&gt;

&lt;p&gt;Elas dependem de uma pergunta simples:&lt;/p&gt;

&lt;p&gt;“O servidor está impondo todas as regras importantes ou apenas confiando no comportamento esperado do cliente?”&lt;/p&gt;

&lt;p&gt;O impacto precisa ser demonstrado&lt;/p&gt;

&lt;p&gt;Um bom relatório de vulnerabilidade não deve apenas afirmar que algo “pode ser explorado”.&lt;/p&gt;

&lt;p&gt;Ele deve apresentar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pré-condições;&lt;/li&gt;
&lt;li&gt;passos reproduzíveis;&lt;/li&gt;
&lt;li&gt;requisições e respostas relevantes;&lt;/li&gt;
&lt;li&gt;comportamento esperado;&lt;/li&gt;
&lt;li&gt;comportamento observado;&lt;/li&gt;
&lt;li&gt;impacto técnico;&lt;/li&gt;
&lt;li&gt;impacto para o negócio;&lt;/li&gt;
&lt;li&gt;causa raiz;&lt;/li&gt;
&lt;li&gt;recomendação de correção;&lt;/li&gt;
&lt;li&gt;evidência mínima e não destrutiva.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A qualidade da evidência importa tanto quanto a descoberta.&lt;/p&gt;

&lt;p&gt;Sem contexto, uma falha pode parecer irrelevante. Sem controle, uma prova de conceito pode ultrapassar limites éticos ou causar impacto desnecessário.&lt;/p&gt;

&lt;p&gt;O objetivo de uma análise profissional não é causar o maior dano possível.&lt;/p&gt;

&lt;p&gt;É demonstrar, com segurança e precisão, o dano que seria possível.&lt;/p&gt;

&lt;p&gt;Segurança precisa existir no backend&lt;/p&gt;

&lt;p&gt;Qualquer controle implementado exclusivamente no frontend deve ser considerado contornável.&lt;/p&gt;

&lt;p&gt;Botões podem ser reativados.&lt;/p&gt;

&lt;p&gt;Campos ocultos podem ser modificados.&lt;/p&gt;

&lt;p&gt;Requisições podem ser enviadas diretamente.&lt;/p&gt;

&lt;p&gt;Aplicações mobile podem ser instrumentadas.&lt;/p&gt;

&lt;p&gt;O cliente está sob controle do usuário. Portanto, decisões críticas precisam ser validadas pelo servidor.&lt;/p&gt;

&lt;p&gt;O backend deve verificar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;identidade;&lt;/li&gt;
&lt;li&gt;permissão;&lt;/li&gt;
&lt;li&gt;propriedade do recurso;&lt;/li&gt;
&lt;li&gt;estado atual da operação;&lt;/li&gt;
&lt;li&gt;integridade dos parâmetros;&lt;/li&gt;
&lt;li&gt;limites de uso;&lt;/li&gt;
&lt;li&gt;transições permitidas;&lt;/li&gt;
&lt;li&gt;consistência entre organizações ou tenants.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Uma interface pode orientar o usuário.&lt;/p&gt;

&lt;p&gt;Somente o servidor pode impor a regra.&lt;/p&gt;

&lt;p&gt;Segurança não termina quando a falha é corrigida&lt;/p&gt;

&lt;p&gt;Corrigir apenas o endpoint vulnerável pode não resolver o problema estrutural.&lt;/p&gt;

&lt;p&gt;Quando uma falha de autorização é encontrada, é necessário investigar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;outros endpoints que utilizam o mesmo padrão;&lt;/li&gt;
&lt;li&gt;serviços que compartilham a mesma camada de acesso;&lt;/li&gt;
&lt;li&gt;operações de leitura, alteração e exclusão;&lt;/li&gt;
&lt;li&gt;implementações semelhantes em versões antigas da API;&lt;/li&gt;
&lt;li&gt;testes automatizados inexistentes;&lt;/li&gt;
&lt;li&gt;decisões arquiteturais que permitiram a vulnerabilidade.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Uma vulnerabilidade é frequentemente um sintoma.&lt;/p&gt;

&lt;p&gt;A causa real pode ser a ausência de um modelo centralizado de autorização, falta de threat modeling, validações inconsistentes ou confiança excessiva no cliente.&lt;/p&gt;

&lt;p&gt;Segurança ofensiva não é barulho&lt;/p&gt;

&lt;p&gt;O valor de uma análise não está na quantidade de alertas gerados.&lt;/p&gt;

&lt;p&gt;Está na capacidade de identificar caminhos reais de ataque, validar impacto e fornecer informações que permitam corrigir o problema de forma definitiva.&lt;/p&gt;

&lt;p&gt;Ferramentas encontram padrões.&lt;/p&gt;

&lt;p&gt;Pesquisadores encontram contexto.&lt;/p&gt;

&lt;p&gt;E contexto é o que transforma um comportamento inesperado em uma vulnerabilidade real.&lt;/p&gt;

&lt;p&gt;Na A.S.I.A Security, o foco é justamente esse: compreender a aplicação como um sistema completo, identificar falhas exploráveis e produzir evidências técnicas que ajudem equipes a corrigir riscos reais — não apenas aumentar a quantidade de itens em um relatório.&lt;/p&gt;

&lt;h1&gt;
  
  
  CyberSecurity #AppSec #OffensiveSecurity #BugBounty #VulnerabilityResearch #Pentest #APISecurity #InformationSecurity
&lt;/h1&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>security</category>
    </item>
  </channel>
</rss>
