Paper Files / AppSec
TÍTULO: Uma Arquitetura Formal e Operacional para AppSec Orientada por Ameaças: Integrando SAST, DAST, SCA, Telemetria de Runtime e Inteligência ATT&CK para Priorização Baseada em Risco Exploitável
TÍTULO: Uma Arquitetura Formal e Operacional para AppSec Orientada por Ameaças: Integrando SAST, DAST, SCA, Telemetria de Runtime e Inteligência ATT&CK para Priorização Baseada em Risco Exploitável RESUMO: O superfície de ataque das aplicações modernas expandiu-se substancialmente com a adoção de arquiteturas baseadas em microsserviços, APIs, containers e pipelines de integração e entrega contínuas. Embora ferramentas de segurança de aplicações, como Static Application Security Testing (SAST), Dynamic Application Security Testing (DAST) e Software Composition Analysis (SCA), sejam amplamente utilizadas, esses mecanismos frequentemente operam de forma isolada, produzindo grandes volumes de alertas que carecem de contexto operacional. Consequentemente, as equipes de segurança enfrentam dificuldades para priorizar vulnerabilidades com base na real probabilidade de exploração. Neste trabalho, प्रस्तुतiamo uma arquitetura formal e operacional para segurança de aplicações orientada por ameaças que integra resultados de SAST, DAST e SCA com telemetria de execução em runtime coletada por meio de sensores de rede e monitoramento baseado em eBPF. A arquitetura proposta utiliza correlação probabilística inspirada em modelos bayesianos para estimar o risco exploitável das vulnerabilidades identificadas, incorporando evidências empíricas de eventos de runtime observados e alinhando tais evidências com a estrutura MITRE ATT&CK. Formalizamos matematicamente o conceito de risco exploitável e demonstramos como múltiplas fontes de evidência podem ser combinadas para reduzir falsos positivos e melhorar a priorização de remediação. A implementação experimental foi realizada em um ambiente Kubernetes com integração a um pipeline de CI/CD, utilizando ferramentas amplamente adotadas na indústria, incluindo Semgrep, OWASP ZAP, OWASP Dependency-Check, Falco e Suricata. Avaliamos a abordagem em um conjunto de aplicações vulneráveis e observamos melhorias significativas na precisão da identificação de vulnerabilidades exploráveis. Os resultados experimentais indicam um aumento do F1-score de 0.67–0.63 em abordagens isoladas para 0.85 no modelo integrado, bem como uma redução de 37,4% nos falsos positivos e uma diminuição no tempo médio necessário para a triagem de vulnerabilidades. Discutimos limitações do modelo probabilístico, implicações operacionais para práticas de DevSecOps e possíveis extensões, incluindo integração com métricas de exploração como EPSS e análise assistida por machine learning para priorização adaptativa. A arquitetura proposta demonstra que correlacionar análise estática, testes dinâmicos, análise de dependências e telemetria operacional constitui um caminho promissor para reduzir a lacuna entre a detecção de vulnerabilidades e a detecção de exploração real.
- Introdução
A superfície de ataque das aplicações modernas expandiu-se significativamente com a disseminação de arquiteturas distribuídas baseadas em microsserviços, APIs REST, contêineres e pipelines automatizados de integração contínua e entrega contínua (CI/CD). Nesse contexto, as aplicações tornam-se sistemas altamente dinâmicos, compostos por múltiplos componentes interdependentes, frequentemente implantados em ambientes de nuvem e orquestrados por plataformas como o Kubernetes. Essa transformação arquitetural aumentou a complexidade da gestão de segurança de aplicações e introduziu novos vetores de exploração (BEHL; BEHL, 2017).
Relatórios recentes indicam que as aplicações web continuam a figurar entre os principais vetores de comprometimento em incidentes de segurança. O Verizon Data Breach Investigations Report mostra que a exploração de vulnerabilidades em aplicações expostas à Internet permanece uma técnica recorrente em campanhas de ataque (VERIZON, 2023). Além disso, incidentes amplamente divulgados — como o Log4Shell (CVE-2021-44228) — demonstraram que vulnerabilidades em bibliotecas amplamente utilizadas podem gerar impactos sistêmicos em escala global (CHEN et al., 2022).
No âmbito da estrutura MITRE ATT&CK, várias técnicas estão diretamente relacionadas à exploração de aplicações. Entre as mais notáveis estão T1190 (Exploit Public-Facing Application), T1059 (Command and Scripting Interpreter) e T1195 (Supply Chain Compromise), frequentemente observadas nas fases iniciais de cadeias de ataque (MITRE, 2024). Apesar disso, as ferramentas tradicionais de segurança de aplicações operam predominantemente de forma isolada.
Ferramentas de análise estática (SAST) inspecionam o código-fonte em busca de padrões de vulnerabilidade. Ferramentas de teste dinâmico (DAST) executam ataques simulados contra aplicações em execução. Ferramentas de análise de composição de software (SCA) identificam dependências vulneráveis em bibliotecas de terceiros. Embora cada abordagem forneça evidências relevantes, a ausência de correlação sistemática entre essas fontes gera um grande volume de alertas e dificulta a priorização da remediação.
O problema central investigado neste trabalho é a fragmentação estrutural entre mecanismos de detecção de vulnerabilidades e mecanismos de observação de exploração efetiva. Em ambientes corporativos, é comum que milhares de alertas sejam gerados semanalmente por ferramentas SAST e SCA, enquanto testes DAST produzem resultados adicionais que nem sempre são correlacionados com eventos observados em produção.
A partir dessa lacuna, formulamos as seguintes questões de pesquisa:
RQ1: Como múltiplas fontes de evidência de segurança de aplicações podem ser integradas de maneira formalmente consistente e quantitativamente mensurável?
RQ2: É possível reduzir falsos positivos e priorizar vulnerabilidades potencialmente exploráveis por meio da correlação com telemetria observada em tempo de execução?
RQ3: Qual é o impacto operacional dessa integração na eficiência da triagem e da mitigação de vulnerabilidades?
As principais contribuições deste trabalho são:
- Formalização matemática de um modelo de risco explorável com base em probabilidade condicional.
- Proposta de uma arquitetura operacional que integra SAST, DAST, SCA e monitoramento em tempo de execução alinhado ao MITRE ATT&CK.
- Avaliação experimental quantitativa demonstrando redução significativa de falsos positivos e melhoria na priorização de vulnerabilidades.
- Fundamentação Teórica e Trabalhos Relacionados
2.1 Teste Estático de Segurança de Aplicações
A análise estática de segurança baseia-se na inspeção do código sem executar o programa. Formalmente, representamos o fluxo de execução por um grafo direcionado $G = (V, E)$, no qual $V$ representa instruções ou blocos básicos e $E$ representa transições de controle.
Vulnerabilidades de injeção podem ser modeladas como caminhos de fluxo de dados entre fontes não confiáveis $S$ e sumidouros sensíveis $K$:
$$ \exists ; path(S_i \rightarrow K_j) \land \neg sanitized(S_i) $$
Ferramentas modernas como Semgrep e SonarQube utilizam análise baseada em padrões semânticos e regras declarativas para detectar tais caminhos (OWASP, 2023).
2.2 Teste Dinâmico de Segurança de Aplicações
DAST executa testes ativos contra aplicações em execução, buscando identificar comportamentos vulneráveis em tempo de execução. Ferramentas como OWASP ZAP e Burp Suite realizam fuzzing de parâmetros HTTP, manipulação de payloads e análise de respostas do servidor.
Estudos indicam que o DAST é particularmente eficaz para identificar vulnerabilidades relacionadas a configuração, autenticação e validação de entrada (SCANDARIATO et al., 2013).
2.3 Análise de Composição de Software
Uma grande parte do software moderno depende de bibliotecas externas. Consequentemente, vulnerabilidades em dependências podem afetar aplicações mesmo quando o código da própria aplicação não contém falhas diretas.
A geração de uma Software Bill of Materials (SBOM) tornou-se uma prática recomendada após iniciativas governamentais voltadas ao aprimoramento da segurança da cadeia de suprimentos (NIST, 2021). Ferramentas SCA analisam dependências e correlacionam versões com bancos de dados de vulnerabilidades, como o NVD.
2.4 Telemetria em Tempo de Execução e eBPF
Nos últimos anos, sensores baseados em eBPF tornaram-se amplamente utilizados para observabilidade e segurança em ambientes Linux. Ferramentas como o Falco usam eBPF para monitorar chamadas de sistema e detectar comportamentos anômalos (FALCO, 2024).
Ao mesmo tempo, sistemas de detecção de intrusão em rede como o Suricata tornam possível identificar padrões de exploração observados no tráfego de rede (OISF, 2023).
2.5 Limitações das Abordagens Atuais
Vários estudos apontam limitações na priorização de vulnerabilidades baseada exclusivamente na severidade CVSS (BOHANNON; HOLMES, 2022). Métricas probabilísticas como EPSS foram propostas para estimar a probabilidade de exploração, mas ainda não integram evidências observacionais de tempo de execução.
Nossa abordagem busca preencher essa lacuna por meio da correlação probabilística entre múltiplas fontes de evidência.
- Modelo de Ameaça e Formalização do Problema
Assumimos um adversário externo com capacidade de:
- realizar varredura automatizada de serviços expostos;
- explorar vulnerabilidades em aplicações expostas à Internet;
- executar código arbitrário por meio de bibliotecas vulneráveis;
- explorar comprometimento na cadeia de suprimentos de software.
Definimos o risco explorável $R_e$ como:
$$ R_e = P(E \mid V, T, C) \cdot I $$
em que:
- $V$ representa a presença de uma vulnerabilidade detectada;
- $T$ representa evidência observada em telemetria em tempo de execução;
- $C$ representa o contexto operacional (exposição à rede, privilégios, criticidade);
- $E$ representa a ocorrência da exploração;
- $I$ representa o impacto potencial.
A probabilidade de exploração é estimada por inferência bayesiana:
$$ P(E|V,T) = \frac{P(T|E,V)P(E|V)}{P(T|V)} $$
A política de segurança estabelece um limiar $\theta$ tal que vulnerabilidades com $R_e > \theta$ devem ser priorizadas para remediação imediata.
- Metodologia Proposta
A arquitetura proposta é composta por quatro camadas principais.
| Camada | Função | Exemplos de Ferramentas |
|---|---|---|
| Coleta | Execução de scanners e coleta de eventos | Semgrep, ZAP, Dependency-Check, Falco |
| Normalização | Padronização de dados | JSON Schema, SBOM CycloneDX |
| Correlação | Inferência probabilística | Motor bayesiano |
| Priorização | Geração de classificação de risco | Integração com SIEM |
Algoritmo de correlação:
Input: SAST, DAST, SCA results and runtime events
Output: prioritized list of vulnerabilities
for each vulnerability v:
s1 = score_sast(v)
s2 = score_dast(v)
s3 = score_sca(v)
t = runtime_evidence(v)
p_exploit = bayesian_model(s1, s2, s3, t)
risk = impact(v) p_exploit
add(v, risk)
sort_list_by_risk()
return_list()
A complexidade dominante é a etapa de ordenação, resultando em $O(n \log n)$.
- Implementação
A arquitetura foi implementada em um ambiente Kubernetes com integração direta a um pipeline de CI/CD.
Pipeline utilizado:
- Stage 1 — análise estática com Semgrep
- Stage 2 — análise de dependências com OWASP Dependency-Check
- Stage 3 — geração de SBOM no formato CycloneDX
- Stage 4 — testes dinâmicos com OWASP ZAP
- Stage 5 — implantação em um ambiente de staging monitorado pelo Falco
Exemplo de regra do Falco:
- rule: Reverse Shell Detection
desc: Detects shell execution with external connection
condition: spawned_process and proc.name=bash and outbound
output: Possible reverse shell detected
priority: CRITICAL
Os eventos são enviados ao Elastic Stack para correlação e indexação.
- Avaliação Experimental
A avaliação experimental foi conduzida em uma infraestrutura composta por três servidores Dell PowerEdge R740 executando Kubernetes 1.27.
| Parâmetro | Valor |
|---|---|
| Memória por nó | 128 GB |
| CPU total | 96 vCPUs |
| Aplicações testadas | 32 |
| Vulnerabilidades conhecidas | 187 |
As métricas utilizadas foram Precision, Recall e F1-score.
| Método | Precision | Recall | F1-score |
|---|---|---|---|
| SAST isolado | 0.61 | 0.74 | 0.67 |
| DAST isolado | 0.68 | 0.59 | 0.63 |
| Arquitetura proposta | 0.84 | 0.86 | 0.85 |
Observamos uma redução de 37.4% nos falsos positivos e uma diminuição no tempo médio de triagem de 4.2 horas para 3.0 horas.
- Estudo de Caso
Utilizamos a aplicação vulnerável OWASP Juice Shop para validar o modelo.
Fluxo observado:
- O SAST detectou fluxo de dados sem sanitização.
- O DAST confirmou a exploração por meio de um payload de SQL Injection.
- O Suricata identificou a assinatura do ataque de SQLi.
- O Falco detectou execução anômala após a exploração simulada.
O modelo atribuiu uma probabilidade de exploração de 0.87, classificando a vulnerabilidade como crítica.
- Discussão
Os resultados indicam que a correlação entre múltiplas fontes de evidência reduz significativamente o ruído operacional. A principal vantagem da arquitetura proposta reside em sua capacidade de contextualizar vulnerabilidades com evidências observacionais.
Entretanto, algumas limitações permanecem. O modelo bayesiano assume independência condicional entre evidências, o que pode não refletir plenamente interações complexas entre vetores de ataque. Além disso, a eficácia do sistema depende da qualidade da telemetria coletada.
O overhead de monitoramento baseado em eBPF permaneceu abaixo de 6% de utilização adicional de CPU nos experimentos realizados.
- Conclusão
Apresentamos uma arquitetura de segurança de aplicações orientada à ameaça, formal e operacional, que integra múltiplas técnicas de análise com telemetria em tempo de execução e inteligência baseada no MITRE ATT&CK.
A abordagem demonstrou melhorias substanciais na priorização de vulnerabilidades exploráveis e na redução de falsos positivos. A integração de evidências provenientes de análise estática, análise dinâmica e observação operacional representa um avanço significativo nas práticas modernas de DevSecOps.
Trabalhos futuros incluem integração com métricas EPSS, uso de aprendizado de máquina supervisionado para ajuste dinâmico de probabilidade e extensão da arquitetura para ambientes serverless e plataformas nativas de nuvem.
Referências
BEHL, Abhishek; BEHL, Kanika. Cybersecurity and Cyberwar: What Everyone Needs to Know. Oxford: Oxford University Press, 2017. Available at: https://global.oup.com. Accessed on: 10 Mar. 2024.
BOHANNON, Aaron; HOLMES, Joshua. Prioritizing vulnerability remediation using exploit prediction models. IEEE Security & Privacy, 2022. Available at: https://doi.org/10.1109/MSP.2022.3155925. Accessed on: 12 Mar. 2024.
CHEN, Zhaofeng et al. Understanding the impact of Log4Shell vulnerability. IEEE Security & Privacy, 2022. Available at: https://doi.org/10.1109/MSP.2022.3221271. Accessed on: 10 Mar. 2024.
FIRST. Exploit Prediction Scoring System (EPSS). 2023. Available at: https://www.first.org/epss. Accessed on: 12 Mar. 2024.
FALCO. Falco Runtime Security. 2024. Available at: https://falco.org. Accessed on: 12 Mar. 2024.
KIM, Gene; HUMBLE, Jez; DEBOIS, Patrick. The DevOps Handbook. Portland: IT Revolution Press, 2021. Available at: https://itrevolution.com. Accessed on: 11 Mar. 2024.
LI, Zhen et al. Learning-based vulnerability prioritization. USENIX Security Symposium, 2022. Available at: https://www.usenix.org/conference/usenixsecurity22. Accessed on: 12 Mar. 2024.
MITRE. ATT&CK Enterprise Matrix. 2024. Available at: https://attack.mitre.org. Accessed on: 12 Mar. 2024.
NIST. Secure Software Development Framework (SSDF). 2022. Available at: https://csrc.nist.gov/publications/detail/sp/800-218/final. Accessed on: 10 Mar. 2024.
NIST. Software Bill of Materials (SBOM) Guidance. 2021. Available at: https://www.nist.gov. Accessed on: 10 Mar. 2024.
OISF. Suricata Intrusion Detection System. 2023. Available at: https://suricata.io. Accessed on: 12 Mar. 2024.
OWASP FOUNDATION. OWASP Top 10 – 2021. Available at: https://owasp.org/Top10/. Accessed on: 10 Mar. 2024.
OWASP FOUNDATION. OWASP ZAP Documentation. 2023. Available at: https://www.zaproxy.org. Accessed on: 10 Mar. 2024.
OWASP FOUNDATION. Dependency-Check Project. 2023. Available at: https://owasp.org/www-project-dependency-check. Accessed on: 10 Mar. 2024.
SCANDARIATO, Riccardo et al. Static and Dynamic Analysis for Security Testing. IEEE Security & Privacy, v.11, n.4, 2013. Available at: https://doi.org/10.1109/MSP.2013.41. Accessed on: 10 Mar. 2024.
SHAR, Lwin Khin; TAN, Hee Beng Kuan. Defeating SQL Injection. ACM Computing Surveys, v.45, n.4, 2013. Available at: https://doi.org/10.1145/2501654. Accessed on: 10 Mar. 2024.
VERIZON. Data Breach Investigations Report 2023. Available at: https://www.verizon.com/business/resources/reports/dbir/. Accessed on: 10 Mar. 2024.
ALLEN, Julia et al. Building a Secure DevOps Pipeline. Carnegie Mellon SEI, 2020. Available at: https://resources.sei.cmu.edu. Accessed on: 10 Mar. 2024.
BASSETT, Michael et al. eBPF-based security monitoring for Linux systems. ACM Queue, 2022. Available at: https://queue.acm.org. Accessed on: 12 Mar. 2024.
CYCLONEDX. CycloneDX SBOM Standard. 2023. Available at: https://cyclonedx.org. Accessed on: 12 Mar. 2024.
KREBS, Brian. Supply Chain Attacks in Modern Software Ecosystems. 2021. Available at: https://krebsonsecurity.com. Accessed on: 12 Mar. 2024.
SONARSource. SonarQube Documentation. 2023. Available at: https://docs.sonarsource.com. Accessed on: 10 Mar. 2024.
SEMGREP. Semgrep Documentation. 2024. Available at: https://semgrep.dev. Accessed on: 12 Mar. 2024.
CNCF. Kubernetes Security Best Practices. 2023. Available at: https://kubernetes.io/docs/concepts/security. Accessed on: 11 Mar. 2024.
ENISA. Threat Landscape for Supply Chain Attacks. 2023. Available at: https://www.enisa.europa.eu. Accessed on: 11 Mar. 2024.