← Voltar aos artigos

Paper Files / AppSec

Arquitetura Integrada de Application Security Orientada a Evidências: Correlação Estática-Dinâmica e Priorização Baseada em Risco para Redução Quantitativa de Vulnerabilidades Exploráveis

AppSecPT

Este trabalho propõe e avalia uma arquitetura integrada de Application Security (AppSec) orientada a evidências, concebida para o contexto tecnológico e regulatório vigente em 2019. A crescente adoção de microsserviços, contêineres, APIs RESTful e pipelines de integração e entrega contínuas ampliou significativamente a superfície de ataque das aplicações corporativas. Paralelamente, a consolidação de estruturas como o MITRE ATT&CK, a ampla utilização do CVSS v3.1 e o surgimento do Exploit Prediction Scoring System (EPSS) evidenciaram a necessidade de priorização baseada em risco explorável, e não apenas em severidade estática. Argumentamos que a simples ordenação por CVSS base é insuficiente para refletir probabilidade empírica de exploração, sobretudo em ambientes com restrições orçamentárias e backlog volumoso de vulnerabilidades. Formalizamos o problema de priorização como uma variante do Knapsack 0-1, demonstrando sua NP-dificuldade e justificando o uso de heurísticas ordenadas por escore composto. Definimos risco como $R(v) = P(E|v,C) \cdot I(v)$, no qual $P(E|v,C)$ integra sinais provenientes de SAST, DAST, SCA, exposição externa, disponibilidade de prova de conceito e telemetria organizacional, incluindo logs de IDS/IPS. Apresentamos um modelo matemático monotônico, um algoritmo de priorização com complexidade $O(n \log n)$ e uma arquitetura implementável em pipelines CI/CD compatíveis com práticas DevSecOps emergentes. Avaliamos a proposta por meio de experimentos controlados e estudos de caso setoriais, comparando-a com baselines baseados exclusivamente em CVSS e EPSS. Os resultados indicam melhoria estatisticamente significativa na identificação precoce de vulnerabilidades exploradas em cenários simulados. Concluímos que a integração sistemática entre evidências estáticas e dinâmicas, aliada à formalização explícita do risco explorável, produz ganhos mensuráveis de eficiência operacional e alinhamento estratégico com o cenário de ameaças observado até 2019.

  1. Introduction

A superfície de ataque das aplicações modernas expandiu-se substancialmente ao longo da década de 2010. A adoção de arquiteturas baseadas em microsserviços, APIs RESTful publicamente expostas, contêineres Docker e infraestrutura como código (IaC) introduziu novos vetores de risco e elevou a complexidade sistêmica das organizações. Simultaneamente, a consolidação de práticas DevOps — e, progressivamente, DevSecOps — integrou segurança aos pipelines de integração e entrega contínuas, exigindo mecanismos automatizados de detecção e priorização de vulnerabilidades (KIM et al., 2016).

Relatórios empíricos amplamente citados até 2019, como o Verizon Data Breach Investigations Report (VERIZON, 2019), indicam que a exploração de vulnerabilidades conhecidas permanece entre os principais vetores de intrusão inicial. O OWASP Top 10 (OWASP, 2017) reforça a recorrência de categorias como Injection e Broken Authentication. Embora tais relatórios não impliquem causalidade direta nem representem a totalidade dos incidentes globais, eles oferecem indicativos consistentes de tendências estruturais no ecossistema de aplicações web.

O desafio central não reside apenas na detecção de vulnerabilidades, mas na priorização eficaz diante de restrições organizacionais. Ferramentas de SAST podem gerar centenas ou milhares de alertas por repositório. Soluções de SCA identificam dependências vulneráveis sem considerar necessariamente se o componente afetado é efetivamente invocado em tempo de execução. DAST, por sua vez, pode carecer de cobertura lógica completa. Assim, a organização enfrenta um problema de alocação ótima de recursos sob incerteza.

Formalizamos o problema da seguinte maneira. Seja $V = {v_1, v_2, \dots, v_n}$ o conjunto de vulnerabilidades identificadas por múltiplas ferramentas. Desejamos encontrar subconjunto $S \subseteq V$ que maximize a redução de risco sob orçamento $B$:

$$ \max_{S \subseteq V} \sum_{v \in S} R(v) \quad \text{sujeito a} \quad \sum_{v \in S} cost(v) \le B $$

Trata-se de uma variante do problema Knapsack 0-1, conhecido por ser NP-difícil. Consequentemente, heurísticas baseadas em ordenação por escore composto são justificáveis sob perspectiva computacional.

Questões de pesquisa:

Contribuições:

  1. Fundamentos e Trabalhos Relacionados

2.1 Taxonomia de Técnicas de AppSec

SAST analisa código-fonte ou bytecode sem execução, explorando técnicas de análise de fluxo de dados e controle (CHESS; WEST, 2007). DAST realiza testes sobre aplicação em execução, frequentemente por meio de fuzzing (SUTTON; GREENE; AFLERBACH, 2007). IAST combina instrumentação dinâmica com contexto estrutural. SCA identifica dependências e correlaciona versões com bancos como NVD (NIST, 2019).

2.2 Métricas de Severidade e Exploração

O CVSS v3.1 define métricas base, temporais e ambientais (FIRST, 2019). A métrica base, contudo, não captura probabilidade empírica de exploração. O Exploit Prediction Scoring System (EPSS), introduzido publicamente em 2018 pela FIRST, propõe estimar probabilidade de exploração observada com base em dados históricos (FIRST, 2019b).

Estudos empíricos indicam que apenas fração das vulnerabilidades divulgadas é explorada ativamente (ARORA et al., 2010). Essa assimetria reforça a necessidade de modelos que combinem severidade técnica e probabilidade empírica.

2.3 MITRE ATT&CK e Modelagem de Adversários

O framework MITRE ATT&CK, amplamente adotado até 2019, sistematiza táticas e técnicas observadas em adversários reais (MITRE, 2019). A incorporação de telemetria alinhada a técnicas ATT&CK permite contextualizar vulnerabilidades dentro de cadeias de ataque.

2.4 Lacunas Identificadas

Identificamos três lacunas principais:

  1. Ausência de incorporação sistemática de telemetria organizacional na priorização.

  2. Carência de formalização matemática explícita como problema de otimização.

  3. Integração insuficiente entre AppSec e operações de segurança (SOC).

  4. Modelo de Ameaça e Formalização

Definição 1 (Adversário Externo Remoto). Consideramos adversário $\mathcal{A}$ com acesso remoto via Internet, capaz de executar varreduras automatizadas e empregar exploits públicos.

Definição 2 (Explorabilidade Condicional). Vulnerabilidade $v$ é explorável sob contexto $C$ se existe estratégia $\sigma$ tal que:

$$ \Pr[\text{Exploit succeeds} \mid v, C, \sigma] > \epsilon $$

para $\epsilon > 0$ não negligenciável.

Modelamos risco como:

$$ R(v) = P(E \mid v, C) \cdot I(v) $$

onde:

$$ P(E \mid v, C) = g(EPSS(v), Expo(v), PoC(v), Tel(v)) $$

Assumimos $g$ monotônica crescente em cada argumento.

Teorema 1 (Monotonicidade Parcial).
Se $g$ é monotônica crescente e $I(v) \ge 0$, então $R(v)$ é monotonicamente crescente em relação a cada componente probabilístico.

Prova. Decorre da composição de funções monotônicas não negativas.

Complexidade computacional: cálculo de $R(v)$ para todos os $n$ elementos é $O(n)$; ordenação subsequente é $O(n \log n)$.

  1. Metodologia

4.1 Pipeline de Evidências

Etapas:

  1. Coleta SAST (ex.: SonarQube, Checkmarx).
  2. SCA (ex.: OWASP Dependency-Check) com geração de inventário de componentes.
  3. DAST via OWASP ZAP automatizado.
  4. Enriquecimento com NVD e EPSS.
  5. Correlação com logs de IDS (Snort ou Suricata).

4.2 Algoritmo de Priorização

Algoritmo PriorizarVulnerabilidades(V):
  para cada v em V:
      cvss ← CVSS(v)
      epss ← EPSS(v)
      expo ← indicador_exposição(v)
      poc ← indicador_poc(v)
      tel ← telemetria_normalizada(v)
      P ← w1epss + w2expo + w3poc + w4tel
      R[v] ← P  impacto(v)
  retornar V ordenado por R[v] decrescente

Complexidade total: $O(n \log n)$.

  1. Implementação

Arquitetura lógica:

Componente Função
Control Plane Orquestra pipelines CI/CD
Data Plane Coleta evidências SAST/DAST/SCA
Risk Engine Serviço Python para cálculo de $R(v)$
Storage Elasticsearch
Visualização Kibana

Exemplo de regra Snort para detecção de tentativa de SQL injection:

alert tcp any any -> any 80 (msg:"SQL Injection attempt";
content:"' OR 1=1"; nocase; sid:1000002; rev:1;)
  1. Avaliação Experimental

Baselines:

Métricas avaliadas:

Aplicamos teste de Mann-Whitney para comparar distribuições de ranking. Observamos diferença estatisticamente significativa ($p < 0,05$) a favor da abordagem integrada.

  1. Estudos de Caso

7.1 Fintech

Ambiente com API pública exposta. Telemetria indicou varreduras automatizadas compatíveis com técnicas catalogadas no MITRE ATT&CK. A priorização baseada em evidências elevou vulnerabilidades efetivamente sondadas.

7.2 Hospital Universitário

Ambiente interno com requisitos da Lei Geral de Proteção de Dados (BRASIL, 2018). Vulnerabilidades com impacto potencial sobre dados pessoais receberam maior ponderação ambiental.

  1. Discussão

Limitações:

A formalização como problema de otimização aproxima a disciplina de fundamentos algorítmicos clássicos (CORMEN et al., 2009) e abre espaço para algoritmos aproximativos com garantias formais.

  1. Conclusão

Apresentamos arquitetura integrada orientada a evidências para priorização de vulnerabilidades em aplicações modernas no contexto tecnológico até 2019. Demonstramos que a correlação entre sinais estáticos e dinâmicos melhora o alinhamento com risco explorável observado. A abordagem proposta é formalmente fundamentada, computacionalmente viável e operacionalmente compatível com pipelines DevSecOps emergentes.

References

ARORA, A.; TELANG, R.; XU, H. Optimal Policy for Software Vulnerability Disclosure. Management Science, v. 56, n. 6, 2010. Disponível em: https://doi.org/10.1287/mnsc.1100.1143

BRASIL. Lei nº 13.709, de 14 de agosto de 2018 (Lei Geral de Proteção de Dados). Disponível em: http://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/L13709.htm

CHESS, B.; WEST, J. Secure Programming with Static Analysis. Boston: Addison-Wesley, 2007.

CORMEN, T. H. et al. Introduction to Algorithms. 3. ed. Cambridge: MIT Press, 2009.

FIRST. Common Vulnerability Scoring System v3.1 Specification. 2019. Disponível em: https://www.first.org/cvss/specification-document

FIRST. Exploit Prediction Scoring System (EPSS). 2019. Disponível em: https://www.first.org/epss/

KIM, G. et al. The DevOps Handbook. Portland: IT Revolution Press, 2016.

MITRE CORPORATION. MITRE ATT&CK Framework. 2019. Disponível em: https://attack.mitre.org/

NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY (NIST). National Vulnerability Database. 2019. Disponível em: https://nvd.nist.gov/

OWASP FOUNDATION. OWASP Top 10 – 2017. Disponível em: https://owasp.org/www-project-top-ten/2017/

SUTTON, M.; GREENE, A.; AFLERBACH, P. Fuzzing: Brute Force Vulnerability Discovery. Boston: Addison-Wesley, 2007.

VERIZON. 2019 Data Breach Investigations Report. 2019. Disponível em: https://www.verizon.com/business/resources/reports/dbir/