# M1013 — Application Developer Guidance ## Visão Geral --- *Fonte: [MITRE ATT&CK — M1013](https://attack.mitre.org/mitigations/M1013)* ## Descrição Application Developer Guidance foca em fornecer aos desenvolvedores o conhecimento, as ferramentas e as melhores práticas necessárias para escrever código seguro, reduzir vulnerabilidades e implementar princípios de design seguro. ```mermaid graph TB A["📐 Fase de Design<br/>Threat Modeling STRIDE<br/>requisitos de segurança"] --> B["💻 Desenvolvimento<br/>Secure Coding Training<br/>OWASP Top 10"] B --> C["🔍 SAST no CI/CD<br/>varredura automática<br/>de vulnerabilidades"] C --> D["🧪 DAST / Pentest<br/>Burp Suite / OWASP ZAP<br/>antes de produção"] D --> E["🚀 Deploy Seguro<br/>secrets em vault<br/>não no código-fonte"] E --> F["🔄 Patch & Revisão<br/>resposta a CVEs<br/>do software desenvolvido"] ``` Ao integrar segurança em todo o ciclo de vida de desenvolvimento de software (SDLC), esta mitigação visa prevenir a introdução de fraquezas exploráveis em aplicações, sistemas e APIs. Esta mitigação pode ser implementada por meio das seguintes medidas: Prevenção de SQL Injection (Prática de Codificação Segura): - Implementação: Treinar desenvolvedores para usar consultas parametrizadas ou prepared statements em vez de incorporar diretamente a entrada do usuário em consultas SQL. - Caso de uso: Uma aplicação web aceita entrada do usuário para consultar um banco de dados. Ao sanitizar e válidar as entradas do usuário, os desenvolvedores podem prevenir que atacantes injetem comandos SQL maliciosos. Mitigação de Cross-Site Scripting (XSS): - Implementação: Exigir que desenvolvedores implementem codificação de saída para todo conteúdo gerado por usuários exibido em uma página web. - Caso de uso: Um site de e-commerce permite que usuários deixem avaliações de produtos. A codificação e o escape adequados das entradas do usuário impedem que scripts maliciosos sejam executados nos navegadores de outros usuários. Design Seguro de APIs: - Implementação: Treinar desenvolvedores para autenticar todos os endpoints de API e evitar a exposição de informações sensíveis nas respostas da API. - Caso de uso: Uma aplicação de mobile banking utiliza APIs para gestão de contas. Ao aplicar autenticação baseada em tokens para cada chamada de API, os desenvolvedores reduzem o risco de acesso não autorizado. Análise Estática de Código no Pipeline de Build: - Implementação: Incorporar ferramentas nos pipelines de CI/CD para escanear automaticamente vulnerabilidades durante o processo de build. - Caso de uso: Uma fintech integra ferramentas de análise estática para detectar credenciais hardcoded em seu código-fonte antes do deploy. Modelagem de Ameaças na Fase de Design: - Implementação: Utilizar frameworks como STRIDE (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege) para avaliar ameaças durante o design da aplicação. - Caso de uso: Antes de lançar um portal do cliente, uma empresa SaaS identifica casos potenciais de abuso, como session hijacking, e projeta mitigações como gerenciamento seguro de sessões. **Ferramentas para Implementação**: - Ferramentas de Análise Estática de Código: Utilizar ferramentas que escaneiam vulnerabilidades conhecidas no código-fonte. - Dynamic Application Security Testing (DAST): Utilizar ferramentas como Burp Suite ou OWASP ZAP para simular ataques em tempo de execução e identificar vulnerabilidades. - Frameworks Seguros: Recomendar frameworks seguros por padrão (ex.: Django para Python, Spring Security para Java) que aplicam melhores práticas de segurança. ## Técnicas Mitigadas | ID | Técnica | |---|---------| | T1496.003 | [[t1496-003-sms-pumping\|T1496.003 — SMS Pumping]] | | T1647 | [[t1647-plist-file-modification\|T1647 — Plist File Modification]] | | T1195 | [[t1195-supply-chain-compromise\|T1195 — Supply Chain Compromise]] | | T1574 | [[t1574-hijack-execution-flow\|T1574 — Hijack Execution Flow]] | | T1564 | [[t1564-hide-artifacts\|T1564 — Hide Artifacts]] | | T1212 | [[t1212-exploitation-for-credential-access\|T1212 — Exploitation for Credential Access]] | | T1564.012 | [[t1564-012-filepath-exclusions\|T1564.012 — File/Path Exclusions]] | | T1550.001 | [[t1550-001-application-access-token\|T1550.001 — Application Access Token]] | | T1559.003 | [[t1559-003-xpc-services\|T1559.003 — XPC Services]] | | T1550 | [[t1550-use-alternate-authentication-material\|T1550 — Use Alternate Authentication Material]] | | T1593.003 | [[t1593-003-code-repositories\|T1593.003 — Code Repositories]] | | T1078 | [[t1078-valid-accounts\|T1078 — Valid Accounts]] | | T1564.009 | [[t1564-009-resource-forking\|T1564.009 — Resource Forking]] | | T1574.001 | [[t1574-001-dll\|T1574.001 — DLL]] | | T1195.001 | [[t1195-001-compromise-software-dependencies-and-development-tools\|T1195.001 — Compromise Software Dependencies and Development Tools]] | | T1593 | [[t1593-search-open-websitesdomains\|T1593 — Search Open Websites/Domains]] | | T1559 | [[t1559-inter-process-communication\|T1559 — Inter-Process Commúnication]] | ## Contexto LATAM > [!globe] Relevância Regional > O ecossistema de desenvolvimento de software no Brasil é um dos maiores da América Latina, com crescente adoção de práticas DevSecOps, especialmente após casos de supply chain compromise afetando empresas nacionais. Vulnerabilidades em aplicações desenvolvidas internamente (SQL injection, XSS, IDOR) permanecem entre as principais causas de incidentes reportados ao CERT.br em organizações de governo e fintech. > - Adoção em SOCs brasileiros: baixo-médio — empresas de grande porte e fintechs reguladas pelo BACEN implementam SAST/DAST; startups e governo em fase inicial de maturidade DevSecOps > - Regulamentações relevantes: LGPD (privacy by design — desenvolvimento seguro como requisito), BACEN 4893/2021 (SDLC seguro para sistemas financeiros críticos), OWASP Brazil Chapter (referência local) > - Desafios regionais: alta rotatividade de desenvolvedores juniores, pressão por time-to-market em detrimento de segurança, ausência de programas de bug bounty formais na maioria das empresas brasileiras