# Open Finance Brasil - Regulamentação BACEN e Riscos de Segurança
> [!abstract] Síntese
> O Open Finance Brasil é o maior programa de dados financeiros abertos do mundo, com mais de 50 milhões de consentimentos ativos. Regulamentado pelo [[brasil|BACEN]], o sistema permite que clientes compartilhem seus dados financeiros entre instituições via APIs padronizadas. Do ponto de vista de segurança, o Open Finance expande drasticamente a superfície de ataque do [[financial|setor financeiro]] brasileiro - cada API exposta é um vetor potencial para credential stuffing, data scraping e abuso de autorização.
---
## O que é o Open Finance Brasil
O **Open Finance Brasil** (anteriormente chamado de Open Banking) é um ecossistema regulado que permite o compartilhamento de dados e serviços financeiros entre instituições autorizadas, com consentimento explícito do cliente. Lançado em fases a partir de fevereiro de 2021, o sistema inclui:
| Fase | Lançamento | Escopo |
| ---- | ---------- | ------ |
| Fase 1 | Fev/2021 | Dados públicos das IFs (produtos, tarifas, canais) |
| Fase 2 | Ago/2021 | Dados de clientes (conta, cartão, câmbio, crédito) |
| Fase 3 | Out/2021 | Iniciação de pagamentos e propostas de crédito |
| Fase 4 | Dez/2021 | Dados de previdência, investimentos, seguros |
| Fase 4B (Open Finance) | 2022-2023 | Dados não financeiros (exchange, seguros, telco) |
O Brasil é referência global: o Open Finance brasileiro supera o UK Open Banking em volume de consentimentos e escopo de dados compartilhados.
> [!latam] Relevância para o Brasil
> O Brasil possui o maior ecossistema de Open Finance do mundo, com mais de 1.000 instituições participantes e 50 milhões de consentimentos ativos. Essa liderança cria uma superfície de ataque sem precedentes no setor financeiro nacional. Trojans bancários brasileiros como **Grandoreiro**, **Casbaneiro** e **Mekotio** já adaptaram seus overlays para explorar fluxos de consentimento Open Finance - subvertendo a autenticação OAuth para capturar tokens de sessão e redirecionar transferências. O CERT.br e o BACEN monitoram ativamente incidentes relacionados às APIs do ecossistema.
---
## Visão Geral
> [!info] Em revisão
> Esta seção está sendo elaborada com contexto histórico, relevância para o Brasil e LATAM.
## Arquitetura Técnica e Superfície de Ataque
```mermaid
graph TB
CLIENT["👤 Cliente<br/>Autoriza compartilhamento"]
CLIENT --> CONSENT["🔐 Consentimento OAuth 2.0<br/>FAPI + PKCE + mTLS"]
CONSENT --> DIR["📋 Diretório de Participantes<br/>PKI centralizada BACEN"]
DIR --> TRANS["🏦 IF Transmissora<br/>Detém os dados"]
DIR --> RECV["🏢 IF Receptora<br/>Consome os dados"]
TRANS --> API["⚙️ APIs REST/JSON<br/>Padrão Open Finance Brasil"]
API --> RECV
RECV --> USE["📊 Caso de Uso<br/>Crédito, PFM, investimentos"]
ATTACK["☠️ Superfície de Ataque"] --> A1["API Endpoints<br/>T1190 - Exploit API"]
ATTACK --> A2["Tokens OAuth<br/>T1528 - Steal App Token"]
ATTACK --> A3["Credential Stuffing<br/>T1110 - Brute Force"]
ATTACK --> A4["Consentimento Fraudulento<br/>Engenharia Social"]
ATTACK --> A5["Participante Malicioso<br/>Insider / Rogue IF"]
style ATTACK fill:#1a1a2e,stroke:#e94560,color:#fff
style DIR fill:#1a1a2e,stroke:#4ade80,color:#fff
```
---
## Mecanismos de Segurança Regulatórios
### 1. Financial-grade API (FAPI)
O Open Finance Brasil adota o perfil **FAPI 1.0 Advanced** - o padrão mais robusto de segurança para APIs financeiras:
- **OAuth 2.0 + PKCE**: protege contra interceptação de authorization code
- **mTLS (Mutual TLS)**: certificação bidirecional - tanto o cliente quanto o servidor se autenticam
- **PAR (Pushed Authorization Requests)**: parâmetros de autorização enviados server-to-server, não via redirect
- **JWT assinado**: todas as respostas de API carregam assinatura digital verificável
### 2. Diretório de Participantes
O BACEN opera um **Diretório de Participantes** como raiz de confiança do ecossistema:
- Apenas instituições certificadas podem participar do Open Finance
- Cada participante recebe certificados digitais únicos (PKI)
- Comprometimento de um participante é detectável e isolável
- Revogação de certificado remove imediatamente a IF do ecossistema
### 3. Consentimento Granular
O [[lgpd|LGPD]] e o Open Finance exigem consentimento **explícito, específico e revogável**:
| Aspecto | Requisito |
| ------- | --------- |
| Granularidade | Cliente escolhe quais dados compartilhar (conta? cartão? crédito?) |
| Prazo | Máximo 12 meses, renovável |
| Revogação | Imediata, via app da IF transmissora |
| Propósito | Declarado no momento da autorização |
| Auditoria | Log completo de acessos disponível ao cliente |
---
## Riscos e Vetores de Ataque
> [!danger] Expansão da Superfície de Ataque
> Cada IF participante do Open Finance expõe APIs acessíveis públicamente 24/7. Com mais de 1.000 IFs participantes no Brasil, o ecossistema representa uma superfície de ataque massiva e distribuída.
### Vetores Primários
**1. Credential Stuffing e Account Takeover**
O elo mais fraco é a autenticação do cliente na IF transmissora. Atacantes que comprometem credenciais bancárias podem:
- Criar consentimentos fraudulentos para extrair dados do cliente
- Usar dados financeiros para engenharia social mais convincente
- Identificar clientes de alto valor (saldo elevado) para targeting
Relação com técnica [[t1110-brute-force|T1110 - Brute Force]] e [[t1078-valid-accounts|T1078 - Valid Accounts]].
**2. Exploração de APIs**
APIs mal implementadas podem expor dados além do consentimento:
- IDOR (Insecure Direct Object Reference) - acessar dados de outros clientes via manipulação de parâmetros
- Rate limiting insuficiente - scraping massivo de dados públicos de produtos
- Vulnerabilidades de injeção em filtros de consulta
Relação com técnica [[t1190-exploit-public-facing-application|T1190 - Exploit Public-Facing Application]].
**3. Rogue Participant**
Um participante certificado mal-intencionado (ou comprometido) pode:
- Solicitar consentimentos enganosos a clientes (phishing com UI legítima de Open Finance)
- Agregar dados de múltiplos clientes para revenda no mercado negro
- Usar dados financeiros para ataques direcionados ([[t1566-001-spearphishing-attachment|T1566.001 - Spearphishing]])
**4. Token Theft**
Tokens OAuth com longa válidade são alvos valiosos:
- Trojan bancário captura token OAuth da sessão Open Finance
- Acesso mantido por até 12 meses (prazo máximo de consentimento)
- Extração silenciosa de dados financeiros sem interação do usuário
Relação com técnica [[t1528-steal-application-access-token|T1528 - Steal Application Access Token]].
---
## Correlação com Ameaças
### Grupos e Malware com Interesse em Open Finance
| Ameaça | Relevância para Open Finance |
| ------ | ---------------------------- |
| [[s0531-grandoreiro\|Grandoreiro]] | Grupos operadores adaptam overlays para telas de consentimento Open Finance |
| [[casbaneiro\|Casbaneiro]] | Rouba tokens de sessão que incluem tokens OAuth de APIs financeiras |
| [[g1016-fin13\|FIN13]] | Grupo mexicano com operações no Brasil especializado em dados financeiros |
| [[g0008-carbanak\|Carbanak]] | Referência histórica de ataques a APIs bancárias internas |
### TTPs Relevantes
| TTP | Técnica | Aplicação no Open Finance |
| --- | ------- | ------------------------- |
| [[t1190-exploit-public-facing-application\|T1190]] | Exploit Public-Facing App | Exploração de vulnerabilidades nas APIs Open Finance |
| [[t1078-valid-accounts\|T1078]] | Valid Accounts | Uso de credenciais bancárias legítimas para criar consentimentos fraudulentos |
| [[t1528-steal-application-access-token\|T1528]] | Steal App Access Token | Captura de tokens OAuth das APIs financeiras |
| [[t1110-004-credential-stuffing\|T1110.004]] | Credential Stuffing | Comprometer contas bancárias para acesso não autorizado ao Open Finance |
| [[t1566-phishing\|T1566]] | Phishing | Enganar clientes para autorizar consentimentos maliciosos |
---
## Obrigações de Segurança para Participantes
### Certificações Obrigatórias
Para participar do Open Finance Brasil, a IF deve:
1. **Certificação FAPI 1.0 Advanced** - válidada por laboratório homologado
2. **Registro no Diretório** com certificados PKI emitidos pela cadeia BACEN
3. **Pentest obrigatório** das APIs Open Finance antes de cada fase de expansão
4. **Bug Bounty ou Vulnerability Disclosure Policy** pública
5. **Monitoramento de APIs 24/7** com alertas para anomalias de consumo
### Obrigações de Resposta a Incidentes
| Evento | Prazo de Notificação |
| ------ | -------------------- |
| Vazamento de dados via API | 72h para BACEN + ANPD |
| Comprometimento de certificado | Imediato (revogação + notificação) |
| Indisponibilidade de API > 4h | Notificação ao Diretório |
| Uso suspeito de consentimento | Bloqueio preventivo + análise |
---
## Referências
- [Banco Central - Open Finance Brasil](https://www.bcb.gov.br/estabilidadefinanceira/openfinance)
- [Diretório de Participantes Open Finance](https://web.directory.openbankingbrasil.org.br/)
- [Específicações Técnicas de Segurança FAPI](https://openfinancebrasil.atlassian.net/wiki/spaces/OF/overview)
- [LGPD - Lei 13.709/2018](https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm)
---
← Voltar para **[[_regulations|Regulações]]** · **[[_market|Market Intelligence]]**