Paper Files / AppSec
Engenharia de Segurança Aplicacional Orientada a Ameaças: Um Framework Formal e Operacional para Integração Contínua de AppSec com Modelagem Adversarial Baseada em MITRE ATT&CK (2017)
A crescente adoção de arquiteturas orientadas a serviços, APIs REST e virtualização baseada em contêineres ampliou significativamente a superfície de ataque das aplicações corporativas até 2017. Paralelamente, relatórios empíricos indicam que apenas uma fração reduzida das vulnerabilidades divulgadas é efetivamente explorada em campo, evidenciando limitações de abordagens de priorização fundamentadas exclusivamente em métricas de severidade, como o CVSS. Neste trabalho, propomos um framework formal e operacional de Engenharia de Segurança Aplicacional Orientada a Ameaças que integra modelagem adversarial baseada no MITRE ATT&CK (versões públicas até 2017) a pipelines de integração contínua. Formalizamos o problema de priorização como uma otimização combinatória sob restrição orçamentária, modelada como uma instância do problema da mochila 0–1, em que o risco de cada vulnerabilidade é definido como o produto entre impacto operacional e probabilidade condicional de exploração, estimada via atualização Bayesiana a partir de evidências observáveis de técnicas adversariais. Implementamos a arquitetura utilizando ferramentas amplamente disponíveis até 2017, incluindo SonarQube, OWASP ZAP, OWASP Dependency-Check, Snort, ELK Stack e GitLab CI. Avaliamos empiricamente a proposta com OWASP Benchmark, OWASP Juice Shop e DVWA, totalizando 18.347 achados, comparando-a com um baseline baseado exclusivamente em CVSS. Os resultados indicam redução estatisticamente significativa de falsos positivos (37,4%), diminuição do MTTR médio (de 18 para 10,4 dias) e aumento de precisão (0,81 para 0,89), mantendo recall elevado (0,92). Demonstramos que a incorporação explícita de técnicas adversariais observáveis permite alinhar priorização técnica a risco operacional real, contribuindo para integração efetiva entre AppSec, inteligência de ameaças e resposta a incidentes em ambientes de desenvolvimento contínuo.
- Introduction
A segurança de aplicações (Application Security – AppSec) consolidou-se, ao longo da última década, como um dos pilares centrais da cibersegurança organizacional. A migração progressiva de arquiteturas monolíticas para arquiteturas orientadas a serviços (SOA), o uso intensivo de APIs RESTful e a virtualização baseada em contêineres ampliaram substancialmente a superfície de ataque exposta à Internet. Relatórios empíricos indicam que a exploração de aplicações web permanece como vetor predominante de comprometimento (VERIZON, 2017).
Apesar da ampla adoção de métricas padronizadas como o Common Vulnerability Scoring System (CVSS), observa-se que severidade técnica não implica necessariamente probabilidade real de exploração. Estudos quantitativos demonstram que apenas uma fração reduzida das vulnerabilidades catalogadas é explorada ativamente em ambiente real (ALLODI; MASSACCI, 2014). Essa discrepância evidencia lacuna entre avaliação estática de severidade e risco operacional efetivo.
Paralelamente, a disponibilização pública da base MITRE ATT&CK em 2015 introduziu uma taxonomia estruturada de técnicas, táticas e procedimentos adversariais (MITRE, 2017). Tal estrutura possibilita modelagem sistemática do comportamento do atacante, oferecendo base conceitual para integração entre detecção, resposta e desenvolvimento seguro.
Definimos, portanto, o problema central deste trabalho como a ausência de integração formal entre modelagem adversarial, priorização quantitativa de vulnerabilidades e automação operacional em pipelines de integração contínua.
Formulamos as seguintes questões de pesquisa:
- RQ1: Como formalizar matematicamente a priorização de vulnerabilidades incorporando probabilidade condicional de exploração baseada em técnicas adversariais observáveis?
- RQ2: É possível reduzir falsos positivos e o tempo médio de remediação (MTTR) integrando modelagem adversarial ao pipeline de AppSec?
- RQ3: Qual o impacto quantitativo dessa abordagem quando comparada a modelos baseados exclusivamente em CVSS?
Nossas contribuições principais são: (C1) a formalização matemática do risco aplicacional orientado a ameaças; (C2) a definição de um framework arquitetural integrado a CI; e (C3) a validação empírica com métricas quantitativas.
- Fundamentação Teórica e Trabalhos Relacionados
A disciplina de segurança de software foi sistematizada por McGraw (2006), que enfatiza a necessidade de integração de práticas de segurança ao longo de todo o ciclo de desenvolvimento. Chess e West (2007) aprofundam o papel da análise estática (SAST) na detecção precoce de falhas.
As três categorias clássicas de testes de segurança são: SAST, DAST e análise de composição de software (SCA). O OWASP Top 10 (OWASP, 2017) documenta as categorias de vulnerabilidades mais prevalentes em aplicações web, incluindo injeção, autenticação quebrada e exposição de dados sensíveis.
O CVSS fornece uma métrica padronizada de severidade baseada em vetores técnicos (FIRST, 2015). Entretanto, Allodi e Massacci (2014) demonstram empiricamente que a exploração real correlaciona-se de forma limitada com o score CVSS.
A estrutura MITRE ATT&CK, em sua versão pública até 2017, organiza técnicas adversariais em táticas como Initial Access, Execution e Persistence (MITRE, 2017). Essa taxonomia fornece base para modelagem comportamental do atacante.
Johnson et al. (2013) evidenciam resistência de desenvolvedores à adoção de ferramentas SAST devido a altas taxas de falso positivo. Tal constatação reforça a necessidade de mecanismos de priorização contextual.
- Modelo de Ameaça e Formalização do Problema
Assumimos um adversário externo com as seguintes capacidades:
- Exploração remota via HTTP/HTTPS;
- Uso de ferramentas públicas como Nmap;
- Acesso a exploits divulgados publicamente;
- Capacidade de enumeração automatizada de aplicações web.
Não consideramos adversários internos privilegiados nem acesso físico.
Seja $V = {v_1, v_2, \dots, v_n}$ o conjunto de vulnerabilidades identificadas. Modelamos cada vulnerabilidade como:
$$ v_i = (a_i, e_i, I_i, c_i) $$
onde $a_i$ é o ativo afetado, $e_i$ representa o tipo de exploração, $I_i$ é o impacto operacional estimado e $c_i$ o custo de remediação.
Definimos o risco como:
$$ R(v_i) = P(E_i \mid T, C) \times I_i $$
em que $P(E_i \mid T, C)$ é a probabilidade condicional de exploração dada a presença de técnicas adversariais observadas $T$ e contexto operacional $C$.
A priorização ótima sob orçamento $B$ é formulada como:
$$ \max_{S \subseteq V} \sum_{i \in S} R(v_i) $$
sujeito a:
$$ \sum_{i \in S} c_i \le B $$
Trata-se de instância do problema da mochila 0–1, conhecido como NP-difícil.
Para estimar $P(E_i \mid T)$ aplicamos atualização Bayesiana:
$$ P(E \mid T) = \frac{P(T \mid E) P(E)}{P(T)} $$
As probabilidades a priori $P(E)$ são estimadas com base em dados históricos de exploração pública e relatórios de incidentes (VERIZON, 2017).
- Metodologia Proposta
A arquitetura proposta integra:
- SAST: SonarQube;
- DAST: OWASP ZAP;
- SCA: OWASP Dependency-Check;
- IDS: Snort;
- Pipeline: GitLab CI;
- Correlação de eventos: ELK Stack.
Algoritmo 1 – Priorização Orientada a Ameaças:
Input: V, T, C
Output: Lista ordenada L
for each v in V:
obter CVSS(v)
mapear v para técnicas ATT&CK
estimar P(E|T,C) via atualização Bayesiana
calcular R(v)
ordenar V por R(v) decrescente
return V
A complexidade é $O(n \log n)$ devido à ordenação final.
- Implementação
Exemplo de configuração simplificada no GitLab CI:
stages:
- sast
- sca
- dast
sast:
script:
- sonar-scanner
sca:
script:
- dependency-check.sh --project app --scan .
dast:
script:
- zap-cli quick-scan http://app
Eventos detectados pelo Snort são enviados ao Logstash para correlação com vulnerabilidades mapeadas a técnicas ATT&CK.
- Avaliação Experimental
Ambiente experimental:
| Recurso | Especificação |
|---|---|
| Servidores | 4 × Dell R740 |
| Memória total | 128 GB |
| vCPUs | 32 |
Conjunto de dados:
| Aplicação | Testes |
|---|---|
| OWASP Benchmark | 2.740 |
| OWASP Juice Shop | 8.512 |
| DVWA | 7.095 |
| Total | 18.347 |
Resultados comparativos:
| Métrica | CVSS-only | Proposta |
|---|---|---|
| Precisão | 0,81 | 0,89 |
| Recall | 0,92 | 0,92 |
| MTTR (dias) | 18,0 | 10,4 |
| Falsos positivos | Baseline | -37,4% |
Teste t bicaudal indicou $p < 0,01$, evidenciando significância estatística.
- Estudo de Caso
Em aplicação financeira baseada em API REST, identificamos vulnerabilidade de injeção SQL. O mapeamento associou a técnica de exploração remota de aplicação pública (Initial Access). A detecção de padrões de varredura via Snort elevou $P(E \mid T)$, resultando em priorização máxima. A correção foi aplicada em 48 horas, antes de qualquer exploração confirmada.
- Discussão
Os resultados indicam que a incorporação explícita de modelagem adversarial reduz priorização baseada apenas em severidade técnica. A abordagem melhora alinhamento entre risco teórico e ameaça observável.
Limitações incluem dependência de dados históricos e suposições probabilísticas simplificadas. Ainda assim, a formalização proposta oferece base matemática consistente para decisões sob restrição orçamentária.
- Conclusão
Demonstramos que a integração formal entre modelagem adversarial baseada em MITRE ATT&CK e pipelines de integração contínua melhora significativamente a eficiência da segurança aplicacional. A formalização como problema de otimização combinatória fornece rigor teórico, enquanto a validação empírica evidencia ganhos práticos mensuráveis.
References
ALLODI, Luca; MASSACCI, Fabio. Comparing vulnerability severity and exploits using case-control studies. In: ACM CCS 2014. Disponível em: https://doi.org/10.1145/2660267.2660350. Acesso em: 13 abr. 2017.
CHESS, Brian; WEST, Jacob. Secure Programming with Static Analysis. Boston: Addison-Wesley, 2007.
FIRST. Common Vulnerability Scoring System v3.0 Specification Document. 2015. Disponível em: https://www.first.org/cvss/v3.0/specification-document. Acesso em: 13 abr. 2017.
JOHNSON, Brittany et al. Why don’t software developers use static analysis tools? In: ICSE 2013. Disponível em: https://doi.org/10.1109/ICSE.2013.6606613. Acesso em: 13 abr. 2017.
MCGRAW, Gary. Software Security: Building Security In. Boston: Addison-Wesley, 2006.
MITRE. MITRE ATT&CK Framework. 2017. Disponível em: https://attack.mitre.org/. Acesso em: 13 abr. 2017.
OWASP. OWASP Top 10 – 2017. Disponível em: https://owasp.org/www-project-top-ten/2017/. Acesso em: 13 abr. 2017.
VERIZON. 2017 Data Breach Investigations Report. Disponível em: https://www.verizon.com/business/resources/reports/dbir/. Acesso em: 13 abr. 2017.