← Voltar aos artigos

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)

AppSecPT

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.

  1. 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:

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.

  1. 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.

  1. Modelo de Ameaça e Formalização do Problema

Assumimos um adversário externo com as seguintes capacidades:

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).

  1. Metodologia Proposta

A arquitetura proposta integra:

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.

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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.