Vazamentos & Privacidade
ABIN e FirstMile: geolocalização, SS7 e limites da evidência
Uma análise técnica do caso ABIN/FirstMile: localização de rede, confiança na sinalização, incerteza dos dados e auditoria de consultas com exemplos locais.
O caso FirstMile coloca uma pergunta técnica no centro da discussão sobre a ABIN: o que uma rede de telefonia sabe sobre a localização de um assinante, e como esse conhecimento deveria ser controlado? A resposta exige distinguir o aplicativo instalado no celular, a infraestrutura da operadora e a interpretação de uma observação geográfica. Misturar essas camadas produz explicações atraentes, mas imprecisas.
Esta matéria examina documentos públicos sobre o caso e apresenta modelos originais para estudar qualidade do dado e auditoria. Não disponibiliza uma ferramenta de rastreamento. Os exemplos usam registros fictícios, sem conexão com operadoras, números de telefone ou pessoas reais.
ABIN, FirstMile e o que as fontes realmente registram
Em março de 2023, o Senado divulgou um requerimento de esclarecimentos sobre monitoramento pela ABIN. O texto associa FirstMile à empresa Cognyte e descreve localização e histórico de deslocamentos obtidos a partir de dados da telefonia móvel. Trata-se de um registro parlamentar de questionamentos e informações então noticiadas, não de uma publicação do código ou da arquitetura interna do produto.
Em 20 de outubro de 2023, a Polícia Federal anunciou a Operação Última Milha. Na nota da PF reproduzida pela Agência Gov, a investigação é descrita como apuração do uso indevido de um sistema de geolocalização sem a devida autorização judicial. A nota caracteriza o sistema como intrusivo na infraestrutura de telefonia e apresenta suspeitas sob investigação. Isso deve ser citado como manifestação da investigação, sem transformar suspeita em condenação ou atribuir condutas indistintamente a toda a instituição.
Na resposta institucional divulgada no mesmo dia, a ABIN informou ter concluído uma correição extraordinária em fevereiro de 2023 e compartilhado informações da apuração com a PF e o STF. Essa posição também integra o registro histórico e deve ser examinada separadamente das alegações investigativas.
Na checagem de 7 de outubro de 2026, as páginas históricas da Agência Gov estavam temporariamente desativadas por legislação eleitoral; seus textos indexados foram consultados. O requerimento aprovado pela CCAI em 25 de outubro de 2023 permanece uma referência parlamentar para o pedido de informações sobre a operação. Esta análise não apresenta uma atualização do desfecho judicial.
Essas fontes sustentam a discussão do caso. Não oferecem uma captura completa do FirstMile, especificação de API ou código verificável. Portanto, as seções sobre protocolos abaixo explicam a classe de problema. Não afirmam que uma operação específica de SS7, uma mensagem de Diameter ou um endpoint aqui imaginado tenha sido empregado naquele sistema.
Localização de rede não é uma leitura automática do GPS
Um celular precisa estar alcançável para receber serviços. A rede conserva informações de mobilidade e de atendimento, com granularidade dependente da tecnologia e da situação. Uma associação com uma célula ou área de atendimento não equivale, por si só, a uma coordenada GPS coletada por aplicativo. O ponto exibido em um mapa pode representar um elemento de rede, uma estimativa ou uma observação anterior.
Para analisar qualquer produto de localização, procure o significado do campo antes de olhar o marcador: o dado é atual ou histórico? Refere-se à célula, a uma área ou a uma estimativa? Qual é a origem do horário? Há incerteza declarada? Um sistema que transforma toda resposta em um pin aparentemente exato pode ocultar limitações importantes mesmo quando o registro original está correto.
| Informação | O que permite examinar | O que não prova sozinha |
|---|---|---|
| Identificador de célula | Elemento da infraestrutura associado à observação | Endereço exato ou pessoa segurando o aparelho |
| Horário da observação | Idade e sequência do registro | Presença contínua naquele local |
| Coordenada e raio declarados | Área estimada e sua incerteza | Precisão real sem validação do método |
| Identificador de assinatura | Correlação do registro com uma assinatura | Identidade permanente do dispositivo ou de seu usuário |
| Registro de consulta | Quem solicitou, quando e em qual contexto | Regularidade de toda a operação sem outras evidências |
SS7 e Diameter: a superfície está na sinalização
Sinalização é o conjunto de mensagens que coordena serviços, mobilidade e encaminhamento. A GSMA descreve SS7 como um protocolo legado concebido em um ambiente de confiança entre operadores, com riscos quando essa confiança é indevidamente aproveitada. Essas mensagens de controle pertencem a uma camada diferente do conteúdo de uma conversa no aplicativo.
O relatório da ENISA sobre SS7, Diameter e 5G descreve localização de assinantes, falsificação de identificadores e outras categorias de ameaça na interconexão. Ele também situa componentes que conservam perfis e informações transitórias de mobilidade. Essas classes de ameaça ajudam a compreender o risco de acesso indevido à sinalização; não demonstram o funcionamento interno de um produto comercial específico.
Registro legítimo de mobilidade
↓
Estado da assinatura na infraestrutura
↓
Pedido de informação atravessa uma fronteira de confiança
↓
Validação de origem, finalidade e contexto
↓
Resposta permitida ou bloqueada
↓
Registro auditável do resultado
Este fluxo é um modelo de defesa, não uma sequência operacional do FirstMile. O ponto de interesse é a fronteira: alcançar um serviço não deveria significar autorização para obter qualquer informação que ele consegue responder. Controle de origem, coerência com o estado da assinatura e política de finalidade são perguntas diferentes.
Um registro só é útil quando sua incerteza acompanha o resultado
Imagine uma observação de laboratório com coordenada, raio estimado e horário. Antes de desenhar o marcador, o consumidor valida formato, idade e limites. O código seguinte é uma política didática de admissão de registros, sem consulta de rede. O prazo de cinco minutos e o teto de raio são escolhas do laboratório; não descrevem limites do FirstMile ou uma precisão garantida.
from datetime import datetime, timezone
from math import isfinite
def validar_observacao(item, agora):
valores = [item['latitude'], item['longitude'], item['raio_m']]
if not all(type(v) in (int, float) and isfinite(v) for v in valores):
raise ValueError('medida inválida')
latitude, longitude, raio = valores
if not (-90 <= latitude <= 90 and -180 <= longitude <= 180):
raise ValueError('coordenada fora dos limites')
if not 0 < raio <= 50000:
raise ValueError('incerteza inválida')
instante = datetime.fromisoformat(item['observado_em'])
if instante.tzinfo is None:
raise ValueError('fuso ausente')
idade = (agora - instante).total_seconds()
if not 0 <= idade <= 300:
raise ValueError('observação futura ou antiga')
return {'terminal': item['terminal'], 'idade_s': idade, 'raio_m': raio}
agora = datetime(2026, 10, 14, 12, 0, tzinfo=timezone.utc)
registro = {'terminal': 'LAB-A', 'latitude': -15.8, 'longitude': -47.9,
'raio_m': 1200, 'observado_em': '2026-10-14T11:59:00+00:00'}
assert validar_observacao(registro, agora)['idade_s'] == 60
print('observação fictícia aceita com incerteza preservada')
A primeira verificação rejeita valores não finitos e booleanos tratados acidentalmente como números. A segunda impede coordenadas fora do domínio. A terceira exige uma incerteza explícita. O horário precisa carregar fuso e não pode estar no futuro em relação ao relógio do consumidor. Isso é validação de consistência, não comprovação de que a localização declarada foi medida corretamente.
Uma aplicação profissional ainda registraria a fonte, a transformação aplicada, a qualidade do relógio e a versão da política. Se o produtor não conhece a incerteza, o consumidor deve exibir essa ausência. Inventar um raio apenas para preencher um campo troca uma lacuna conhecida por uma certeza falsa.
Auditoria de consultas: finalidade precisa virar dado verificável
Um painel pode exigir login e continuar sem rastreabilidade adequada. Em um desenho de laboratório, cada consulta deveria carregar uma referência de autorização, escopo temporal, responsável, finalidade e identificador único. A aprovação da consulta e o resultado retornado seriam eventos separados, para permitir examinar pedidos negados e falhas.
Considere uma tabela fictícia chamada consultas_lab. A consulta abaixo procura resultados positivos sem referência de autorização. É uma regra de qualidade de registro, não a estrutura real de logs da ABIN. Tampouco conclui ilegalidade: uma referência ausente pode ser um defeito de integração que exige esclarecimento.
SELECT consulta_id, operador_lab, instante
FROM consultas_lab
WHERE resultado = 'permitido'
AND (autorizacao_ref IS NULL OR trim(autorizacao_ref) = '')
ORDER BY instante;
Esse desenho permite testar se uma ação consegue atravessar o sistema sem contexto suficiente. Outro controle compara a vigência da autorização com o horário da consulta. Um terceiro associa cada exportação ao conjunto exato de registros liberados. Quantidade de logs não substitui integridade, completude e possibilidade de revisão independente.
Firewall de sinalização exige contexto, não apenas uma lista de IPs
Um desenho defensivo deve questionar tanto quem enviou a mensagem quanto se aquela operação faz sentido para o estado observado. Uma origem conhecida pode ter sido comprometida; um formato válido pode ser inadequado à relação entre operadores. Para aprofundar os documentos específicos por protocolo, consulte a biblioteca de segurança da GSMA.
No laboratório, monte quatro classes: pedido esperado, origem não autorizada, contexto inconsistente e pedido repetido além do orçamento. Verifique bloqueio, registro e continuidade do serviço legítimo. O objetivo é medir a decisão do controle, sem enviar operações a redes públicas. Um alerta isolado precisa conservar o motivo e a evidência que sustentam sua interpretação.
Migração de tecnologia também exige cuidado. A GSMA apresenta mecanismos do 5G para proteger a interconexão, incluindo SEPP, filtragem e proteção das mensagens. Isso não autoriza afirmar que qualquer aparelho com o ícone 5G está imune a problemas de sinalização: a arquitetura efetiva e os caminhos de interoperabilidade precisam ser examinados.
Criptografia de conversa e metadados são camadas distintas
A proteção do conteúdo no aplicativo responde a uma pergunta: quem consegue interpretar a mensagem? O estado de mobilidade responde a outra: como a infraestrutura encontra uma assinatura para prestar o serviço? Essa distinção explica por que uma discussão sobre localização não deve ser automaticamente apresentada como quebra da criptografia de ponta a ponta.
Da mesma forma, um túnel de dados altera o percurso do tráfego da aplicação, mas não elimina a necessidade de o terminal se registrar na rede de acesso. Uma análise útil identifica qual dado está sendo protegido, contra qual observador e em qual camada. Prometer uma solução universal sem esse recorte prejudica a compreensão do risco.
Como ler o caso sem transformar hipótese em prova
Separe quatro objetos no relatório: declaração institucional, evidência técnica, reconstrução de mecanismo e conclusão. Uma nota de investigação informa a posição da autoridade naquele momento. Uma captura ou log pode sustentar um comportamento delimitado. Um modelo didático explica uma possibilidade. A conclusão precisa mostrar a ligação entre eles e registrar as lacunas.
Para continuar o estudo de confiança em infraestrutura, leia a análise de QUANTUMINSERT e disputa de respostas TCP, publicada na série anterior. Os mecanismos são diferentes, mas ambos exigem distinguir acesso ao caminho de autorização para influenciar ou revelar informação.
O aprendizado técnico do caso ABIN/FirstMile é seguir o dado desde sua origem até a decisão de uso. Localização, tempo, incerteza, autorização e auditoria precisam viajar juntos. O resultado mais profissional não é um marcador chamativo: é uma observação que outra pessoa consegue compreender, contestar e verificar.