A Escala Intruso
Uma medida económica da robustez anti-automação.
- Âmbito
- A tese
- O erro que se repete
- Definições normativas
- Procedimento de medição
- Honestidade estatística
- Conformidade
- Medição de referência
- Como isto pode estar errado
- Limitações
- A inversão: do teste à tarifa
- Trabalho relacionado
- O que falta para ser ciência
- Participar
- Como citar
- Histórico de versões
0Âmbito
Este documento define como medir, em dólares, o custo de atacar automaticamente um mecanismo anti-bot, e como exprimir esse custo numa escala comparável entre mecanismos, entre organizações e ao longo do tempo.
Define três coisas e não define mais nenhuma:
O que este documento não é. Não é um produto, não é código, e não descreve nenhuma implementação em particular. É a especificação da medida. Qualquer pessoa a pode implementar, e o § 6 diz o que uma implementação tem de fazer para poder dizer que reporta intrusos.
Palavras-chave normativas. DEVE, NÃO DEVE e PODE são usadas no sentido do RFC 2119: DEVE marca um requisito de conformidade, PODE marca uma opção legítima.
1A tese
Daqui decorre tudo o resto. Se a segurança é uma relação entre dois preços, então: mede-se em dinheiro, não em percentagens; é comparável entre mecanismos que não se parecem em nada; muda quando o preço do compute muda, mesmo que ninguém toque no código; e pode ser calculada antes de o ataque acontecer.
A tese não é nova em economia da segurança — Anderson (2001) e Gordon & Loeb (2002) defendem-na há vinte e cinco anos. O que não existe é a instrumentação: um procedimento que pegue num mecanismo concreto e devolva o preço. É isso que esta escala especifica.
2O erro que se repete
Um fornecedor de CAPTCHA diz «bloqueamos 99,4% dos bots».
A frase é verdadeira e não significa nada, por três razões independentes.
2.1 É uma medida do denominador errado
99,4% de quê? Dos bots que tentaram — ou seja, da população de atacantes que o mecanismo já dissuadiu. Um mecanismo que bloqueia 99,4% de dez mil tentativas triviais e 0% das seis tentativas competentes reporta 99,4%.
2.2 Não tem unidade económica
Tome-se um atacante com receita de $0,02 por conta criada e custo de $0,000026 por resolução (números da medição de referência do § 7). Bloquear 99,4% entra na conta dele como um multiplicador de custo: só 1 em 167 tentativas passa, logo cada conta que consegue sai-lhe a $0,0043. Contra $0,02 de receita, continua a ganhar $0,0157 por conta.
A taxa de bloqueio de 99,4% é real e o negócio do atacante também. Uma métrica que pode estar em 99,4% enquanto o atacante lucra quase quatro vezes o que gasta não está a medir segurança — está a medir esforço.
2.3 Degrada-se sem aviso
A taxa de bloqueio de hoje é uma função do estado da arte em visão computacional de hoje. Bursztein et al. (WOOT 2014) resolveram genericamente famílias inteiras de CAPTCHAs de texto que, na véspera, tinham taxas de bloqueio publicadas na casa dos 90%. Nada no mecanismo mudou. Mudou o preço de o atacar.
3Definições normativas
3.1 V* — o custo de ataque
Seja W o conjunto das vias de ataque disponíveis. Para cada via
w ∈ W, seja c(w) o custo total em dólares
incorrido, e s(w) o número de resoluções bem-sucedidas que
produz. Então:
V* = min c(w) / s(w)
w ∈ W
V* é um mínimo, não uma média. Esta é a decisão de desenho central da escala. A segurança de uma corrente é a do elo mais fraco, e um atacante racional não faz a média das opções disponíveis: escolhe a mais barata. Uma implementação NÃO DEVE reportar como V* a média, a mediana ou qualquer outra estatística central do conjunto das vias.
Na medição de referência do § 7, a média das três vias daria $0,0004 em vez de $0,000026 — uma margem 1,2 ordens de grandeza melhor do que a realidade, que descreveria apenas um atacante que escolhe a sua estratégia ao acaso.
As vias a considerar dependem do mecanismo. Para mecanismos de desafio visual, o conjunto mínimo é:
| Via | O que custa |
|---|---|
| Bot próprio | treino + inferência, amortizados pelas resoluções produzidas |
| Trabalho humano | custo por resolução, ancorado a preços publicados |
| API de visão | preço por chamada × chamadas por resolução bem-sucedida |
| Mimetismo comportamental | custo de simular um humano, tipicamente base/(1−m)^k |
Uma implementação PODE acrescentar vias. DEVE documentar quais considerou, porque uma via omitida só pode subir V* — e subir V* é o erro que faz um cliente sentir-se seguro sem o estar.
3.2 M — a margem de Intruso
M = log₁₀( V* / A )
onde A é o valor de uma resolução bem-sucedida para o atacante.
Nota de notação.
V*é um custo, apesar da letra; a estrela marca o mínimo definido em 3.1. O valor chama-seA(de Atacante) precisamente para não colidir com ele. Uma versão anterior deste trabalho usavaVpara o valor e colidia.
| M | Leitura |
|---|---|
| M > 1 | sobra margem; endurecer mais só afasta clientes |
| 0 < M < 1 | defende-se, mas sem folga para o próximo salto de compute |
| M ≈ 0 | fronteira; é aqui que o ataque começa a compensar |
| M < 0 | atacar compensa — provavelmente já está a acontecer |
A é do cliente, não do auditor. Quem mede não
sabe quanto vale uma conta fraudulenta no negócio de quem é medido. Uma
implementação DEVE aceitar A como
entrada declarada e DEVE reportá-lo junto de M,
porque um M sem o A que o gerou não é interpretável.
Porquê logaritmo. Porque a quantidade que interessa é
quantas ordens de grandeza faltam, não a razão bruta. Um rácio de
1000 e um rácio de 3 são a mesma categoria de «seguro» numa escala linear e
categorias completamente diferentes numa decisão de investimento. E porque o
compute baratece exponencialmente: uma escala
logarítmica em dólares é aproximadamente linear no tempo.
M = 2 não é «duas vezes melhor» do que M = 1 — é
mais uns anos.
3.3 O intruso — a unidade
1 intruso = $0,001 por resolução
Ancorada ao preço de mercado de uma resolução humana documentado por Motoyama et al. (USENIX Security 2010): $0,50 a $1,00 por mil resoluções.
A âncora é fixa e pública, como o dBm ou a escala de Richter. NÃO DEVE ser actualizada com a inflação, com o câmbio ou com os preços de mercado correntes, e não pretende prever a factura de ninguém. Existe para que «0,03 intrusos» signifique exactamente a mesma coisa em 2026 e em 2036, e para que dois mecanismos medidos com dez anos de intervalo continuem comparáveis.
Uma unidade que se move deixa de ser uma unidade. O barateamento do compute tem de aparecer no número medido, que é onde ele é informação; se aparecesse também na unidade, cancelar-se-ia e a escala deixaria de detectar a única coisa que a Previsão 3 (§ 8) diz que ela detecta.
4Procedimento de medição
O custo de um bot próprio não é directamente observável: depende de quantos dados o atacante consegue reunir, e um atacante determinado reúne mais do que qualquer bancada de ensaio produz. A escala contorna-o medindo a derivada em vez do valor.
4.1 A curva de aprendizagem
Treina-se a bateria de adversários com n exemplos, para uma
sucessão crescente de n, e mede-se a taxa de resolução
s(n) num conjunto reservado. Ajusta-se:
s(n) = s∞ − a · n^(−b)
Uma lei de potência. A escolha não é arbitrária: é a forma empiricamente
observada das curvas de escala em aprendizagem automática (Hestness et al.,
2017; Kaplan et al., 2020). s∞ é a assímptota — a taxa de
resolução de um atacante com dados ilimitados.
É s∞, e não s(n_max), que entra em V*.
Uma implementação DEVE usar a assímptota. Medir a
taxa no maior n ensaiado e reportar isso como o custo de ataque
seria auditar o adversário que o auditor construiu, e não o que o
cliente vai enfrentar.
4.2 A armadilha dos graus de liberdade
O ajuste tem três parâmetros livres (s∞,
a, b). Com três pontos ou menos, o sistema tem zero
graus de liberdade: o ajuste não está a ajustar, está a
interpolar. A curva passa exactamente por todos os pontos e
o r² sai 1.000 — por identidade algébrica, não por qualidade do
modelo. Sai igual se os pontos forem [0,50, 0,10, 0,90], que não
seguem lei de potência nenhuma.
Um R² = 1.000 numa auditoria é o número que faz uma sala de reunião parar de fazer perguntas.
Portanto: quando os graus de liberdade forem ≤ 0, uma
implementação DEVE omitir o r² e
DEVE assinalar que o ajuste é interpolado.
O que NÃO DEVE fazer é cancelar a extrapolação.
Cair para «s∞ = última taxa medida» subestima o atacante, o que
inflaciona V* e diz ao cliente que está mais seguro do que
está — o erro que toda esta escala existe para não cometer. A extrapolação
mantém-se e perde a credencial: o intervalo por bootstrap passa a
ser a única declaração de incerteza, que é o que sempre deveria ter sido.
Este requisito não é teórico. Foi escrito depois de a primeira medição de referência ter sido publicada com
r² = 1,000sobre três pontos, e de ninguém ter reparado durante vários dias.
4.3 A bateria e a fronteira
Recomenda-se uma bateria de famílias de adversário em vez de um único modelo — por exemplo, para desafios de texto: floresta aleatória sobre píxeis, modelo linear sobre HOG, e rede neuronal sobre HOG. Quando o desafio é decomponível (por exemplo, em posições de carácter), escolhe-se o melhor especialista por posição e a taxa da fronteira é o produto das taxas por posição.
Isto sobrestima deliberadamente o atacante. É o desenho correcto: V* é um limite superior da segurança, logo tem de ser construído a partir de um limite inferior do custo de ataque. Errar por excesso de paranóia custa ao cliente dinheiro em contramedidas; errar por optimismo custa-lhe o negócio.
4.4 Três conjuntos disjuntos
Um corpus treina. Outro selecciona o melhor adversário. Um terceiro mede. Uma implementação DEVE mantê-los disjuntos e DEVE falhar com erro — não com aviso — se forem reutilizados.
Seleccionar o vencedor e medi-lo nos mesmos dados enviesa a taxa de resolução para cima, o que faz o mecanismo parecer mais fraco do que é, o que leva o cliente a comprar contramedidas contra uma ameaça sobredimensionada. Numa medição que é vendida a quem depois gasta dinheiro com base nela, isto não é um deslize metodológico: é vender um problema inventado.
4.5 Contramedidas
Uma implementação que reporte o efeito de uma contramedida DEVE regenerar o mecanismo com a alteração aplicada e reatacá-lo de raiz. NÃO DEVE estimar o efeito por extrapolação, por tabela ou por julgamento.
A razão é que a contramedida muda a distribuição sobre a qual o adversário treina, e um adversário treinado do zero sobre a versão endurecida é precisamente o que o mundo real produz ao fim de uma semana.
5Honestidade estatística
Três regras. Uma implementação conforme aplica-as sem excepção.
- Toda a proporção traz um intervalo de confiança a 95% de Wilson.
Wilson (1927), e NÃO DEVE ser a aproximação
normal: as taxas de resolução aproximam-se de 0 e de 1, que é exactamente
onde a aproximação normal produz limites fora de
[0,1]. - O que não foi medido é marcado como assumido, e traz banda em vez de ponto. NÃO DEVE aparecer com o mesmo peso visual de uma observação. Uma via cujo custo vem de um preço de tabela e não de uma medição tem de o dizer, em todos os suportes onde o número apareça.
- Divisões por zero não se tapam com pisos. Quando nenhuma tentativa
atravessa o mecanismo,
custo / taxaé indefinido. Um piso arbitrário — do géneromax(taxa, 0,001)— produz um número inventado que aparece no relatório indistinguível dos medidos. Em vez disso, DEVE usar-se o limite superior de Wilson da taxa, que é o valor mais favorável ao atacante compatível com a observação, e a linha DEVE ser rotulada como limite inferior de V*.
Um «≥ $0,40» honesto vale mais do que um «$5,00» fabricado — e vale mais precisamente porque é pior.
6Conformidade
Uma medição PODE ser descrita como «em intrusos» ou «conforme à Escala Intruso v1.0» se, e só se, satisfizer tudo o seguinte:
- V* é o mínimo sobre as vias consideradas (§ 3.1), e as vias consideradas estão enumeradas no resultado.
Aé declarado junto de qualquer M reportado (§ 3.2).- A unidade não foi reancorada: 1 intruso = $0,001/resolução (§ 3.3).
- V* usa a assímptota
s∞, não a taxa no maiornensaiado (§ 4.1). - O r² é omitido quando os graus de liberdade são
≤ 0(§ 4.2). - Os conjuntos de treino, selecção e avaliação são disjuntos (§ 4.4).
- Todas as proporções trazem intervalo de Wilson a 95% (§ 5).
- Tudo o que não foi medido está marcado como assumido e traz banda (§ 5).
- Os pressupostos de preço são publicados com o resultado — preço de compute, de dados, de trabalho humano, de chamadas a APIs. Sem eles, V* não é verificável nem reproduzível.
- O resultado tem data. Uma medição sem data não é interpretável, porque a Previsão 3 (§ 8) diz que ela decai.
- A medição incide sobre um mecanismo que o medidor possui, opera, ou tem autorização escrita para testar. Esta escala existe para atribuir preço à defesa de quem a implementa. NÃO DEVE ser usada como pretexto para atacar sistemas de terceiros, e uma medição obtida assim não é conforme.
7Medição de referência
Um CAPTCHA de texto com distorção ligeira — do tipo que ainda hoje se
encontra em formulários de registo. Medido em 21 de Setembro de 2026, corpus
sintético, semente 20260918, cinco pontos de curva.
M = −2,89 já deve estar a ser atacado
V* = $0,000026 / resolução 0,026 intrusos
A = $0,02 / resolução (declarado)
A curva de aprendizagem
(300 amostras de avaliação em cada ponto)
| n (treino) | resolve | IC 95% de Wilson |
|---|---|---|
| 120 | 26,3% | 21,7 – 31,6 |
| 300 | 80,0% | 75,1 – 84,1 |
| 600 | 96,0% | 93,1 – 97,7 |
| 1000 | 96,0% | 93,1 – 97,7 |
| 1500 | 99,3% | 97,6 – 99,8 |
Extrapolando: s∞ = 100% [99,5 – 100,0], r² = 0,997 com
2 graus de liberdade. O ajuste encosta ao tecto, pelo que o
resultado é reportado como o piso do intervalo e não como valor exacto.
As três vias, e porque V* é o mínimo
| Via | $/resolução | |
|---|---|---|
| bot próprio | 0,000026 | medido |
| modelo de visão | 0,000101 | assumido |
| trabalho humano | 0,001053 | assumido |
A via mais barata é 40× mais barata do que o trabalho humano.
As contramedidas, medidas e não estimadas
Cada uma regenerou o mecanismo e foi reatacada de raiz (§ 4.5):
| Contramedida | Queda na taxa | Efeito em M |
|---|---|---|
| ondulação | 73,3 pp | +0,48 |
| multi-fonte | 35,3 pp | +0,09 |
| rotação | 26,6 pp | +0,03 |
| sobreposição | 4,0 pp | −0,08 |
A melhor move a margem em +0,48 e M continua negativo. A leitura correcta não é «instalem-se as quatro»: é que este mecanismo não serve como barreira única, qualquer que seja o número de contramedidas cosméticas que se lhe apliquem.
Sobreposição piora M porque aumenta o custo de servir sem reduzir proporcionalmente a taxa de resolução — um resultado que só é visível numa escala que mede preço, e que uma métrica de taxa de bloqueio reportaria como melhoria.
Pressupostos de preço usados (requisito 9 do § 6): compute a preço de instância CPU de mercado em 2026, dados de treino a custo de geração, trabalho humano ancorado a Motoyama et al. (2010) ajustado por 2% de atrito e 95% de acerto, API de visão a $0,0001 por chamada.
8Como isto pode estar errado
Uma tese que não pode falhar não é uma tese. Estas são as previsões da escala e o que as falsificaria.
- Previsão 1 — ordenação. Dados dois mecanismos com
M₁ < M₂, o primeiro é atacado primeiro no mundo real. Falsificável com dados de incidentes. - Previsão 2 — limiar. Mecanismos com
M < 0sofrem ataque automatizado sustentado; mecanismos comM > 1não. Falsificável, e é a previsão mais arriscada, porque fixa um valor absoluto e não apenas uma ordem. - Previsão 3 — deriva temporal. O
Mde um mecanismo intocado decresce ao ritmo do barateamento do compute. Um mecanismo comM = 1hoje cruza o zero em1/log₁₀(r)anos, onderé o factor anual de barateamento. Falsificável por medição repetida do mesmo mecanismo. ComoV*é um mínimo sobre as vias e cada via cai ao seu próprio ritmo, o cruzamento é o do envelope inferior — e a via que expira a defesa pode não ser a mais barata de hoje. Esta previsão está tornada instrumento em intruso.org/horizonte, com o declive de cada via datado e com fonte.
Onde a extrapolação quebra. A lei de potência do § 4.1 assume que a única coisa que falta ao atacante são dados. Não captura mudanças de paradigma: um modelo de visão pré-treinado que chegue e resolva de imediato aquilo que a curva dizia precisar de 10⁶ exemplos não viola o ajuste — viola o pressuposto de que a família de adversários considerada era a certa. Ye et al. (CCS 2018) demonstraram exactamente esse salto, com GANs a reduzirem em duas ordens de grandeza os dados necessários.
A mitigação honesta não é matemática: é re-medir. É por isso que o requisito 10 do § 6 exige data.
9Limitações
Por ordem decrescente de gravidade:
- Corpora sintéticos medem o mecanismo, não o tráfego. O tráfego real tem distribuições que nenhum gerador reproduz.
- Os preços são pressupostos. Publicados e discutíveis (requisito 9), mas pressupostos. V* é tão bom quanto eles.
- As previsões do § 8 não foram validadas contra dados de incidentes reais. Este é o maior buraco, e está escrito aqui porque é.
- A bateria de adversários tem data. Um atacante com um modelo melhor do que o ensaiado tem custos menores do que os medidos — o que significa que V* é um limite superior do custo de ataque, e portanto M é optimista. A escala erra para o lado de dizer que se está mais seguro do que se está, e quem a usa tem de saber disso.
10A inversão: do teste à tarifa
O CAPTCHA original (von Ahn et al., EUROCRYPT 2003) assentava numa aposta explícita e elegante: que existem tarefas fáceis para humanos e difíceis para máquinas, e que essa diferença dura. Se a máquina resolver, dizia a aposta, a inteligência artificial avançou — e isso também é bom.
A aposta perdeu-se. E não gradualmente: Bursztein et al. (IEEE S&P 2010) já mediam humanos a falhar CAPTCHAs difíceis com frequência incómoda, e hoje um modelo de visão de prateleira é melhor do que o utilizador médio em várias famílias de desafio. A diferença que sustentava a construção inverteu-se de sinal.
Logo, a pergunta «isto é um humano?» deixou de ter resposta fiável. E, o que é mais importante, deixou de ser a pergunta certa — porque uma fracção crescente do tráfego legítimo é composta por agentes a agir por mandato de um humano. Bloqueá-los é bloquear clientes.
A pergunta com resposta é outra:
Um mandato assinado — por exemplo em Ed25519 (RFC 8032) — declarando emissor, agente, âmbito de acções permitidas, ritmo máximo, validade e tarifa. O sítio verifica a assinatura, o âmbito e o ritmo, e cobra.
A economia inverte-se de forma limpa:
V*_mandato = custo_de_identidade / acções_até_revogação
Um atacante que queira agir em escala tem de obter identidades verificadas, e cada identidade revogada leva consigo todo o investimento nela. O mecanismo deixa de depender de uma diferença de capacidade cognitiva — que se está a fechar — e passa a depender de um custo de identidade, que é uma variável de política, ajustável, e que não se degrada quando o modelo seguinte sai.
A direcção não é original: a assinatura criptográfica de pedidos HTTP está normalizada (RFC 9421) e há trabalho em curso na IETF sobre autenticação de agentes. O contributo específico desta escala é acoplar-lhe a tarifa e medir a margem resultante — tratar o agente como um cliente com preço, e não como uma ameaça com um portão.
11Trabalho relacionado
A economia da segurança. Anderson, Why Information Security is Hard (ACSAC 2001); Gordon & Loeb, The Economics of Information Security Investment (ACM TISSEC 2002); Herley, The Plight of the Targeted Attacker in a World of Scale (WEIS 2010). Estabelecem o enquadramento. Não instrumentam mecanismos concretos.
A economia dos CAPTCHAs. Motoyama et al., Re: CAPTCHAs — Understanding CAPTCHA-Solving Services in an Economic Context (USENIX Security 2010): a medição empírica do mercado de resolução, e a origem da âncora do § 3.3. Mede o mercado; não mede um mecanismo específico.
A quebra dos CAPTCHAs. von Ahn et al. (EUROCRYPT 2003); Bursztein et al. (IEEE S&P 2010; WOOT 2014); Ye et al. (CCS 2018). Demonstram quebras sucessivas. Reportam taxas de resolução, não preços por resolução.
Curvas de escala. Hestness et al. (2017); Kaplan et al. (2020). Dão a forma funcional do § 4.1, embora noutro domínio.
Intervalos de confiança para proporções. Wilson (1927).
Autenticação de agentes. RFC 9421 (HTTP Message Signatures); RFC 8032 (EdDSA). Dão o mecanismo criptográfico; não lhe atribuem preço.
O que não encontrámos. Trabalho que pegue num mecanismo anti-bot concreto, meça a curva de aprendizagem do adversário, extrapole a assímptota, converta em dólares por resolução e devolva uma margem accionável. É este o espaço que a escala ocupa. Se este trabalho existir e nos tiver escapado, queremos saber — ver § 13.
12O que falta para isto ser ciência
Honestamente: ainda não é. É um método, com previsões falsificáveis e uma implementação de referência — o que é o requisito de entrada, não o de chegada.
Falta:
- Validação externa. Correlacionar o M medido com incidentes observados, num conjunto de mecanismos reais. Sem isto, o § 8 é uma hipótese.
- Reprodução independente. Outra equipa, o mesmo mecanismo, o mesmo V* dentro da banda declarada.
- Um corpo de referência. Mecanismos públicos com M medido e datado, para que a deriva temporal da Previsão 3 possa ser observada em vez de argumentada.
Se estas três coisas acontecerem, passa a haver uma ciência da robustez económica. Se a primeira falhar, o método é um instrumento útil com uma teoria errada por trás — e continua a ser útil, porque os preços que mede são medidos na mesma.
Este documento é público para que a segunda e a terceira sejam possíveis. Uma unidade que só uma pessoa pode usar não é uma unidade; é jargão interno. O decibel funciona porque qualquer pessoa o pode aplicar sem pedir licença a ninguém.
13Participar
- Reproduções, discordâncias e erros encontrados: abra um issue no repositório canónico.
- Pressupostos de preço que considere errados: são o alvo legítimo mais fácil desta escala, e mudá-los é suposto ser trivial. Diga quais e porquê.
- Trabalho relacionado que nos tenha escapado (§ 11): é a contribuição mais valiosa que nos pode fazer.
Contacto directo: quintas@intruso.org.
14Como citar
@misc{quintas2026escala,
author = {Quintas, Manuel},
title = {A Escala Intruso: uma medida económica da robustez
anti-automação},
year = {2026},
version = {1.0},
howpublished = {\url{https://github.com/Quintas701/escala-intruso}},
note = {Especificação, versão 1.0, 21 de Setembro de 2026}
}
Ver também CITATION.cff.
15Histórico de versões
| Versão | Data | Alterações |
|---|---|---|
| 1.0 | 2026-09-21 | Primeira publicação. |
Esta escala segue versionamento semântico na sua definição normativa: uma alteração que mude um valor de V* ou de M calculado a partir dos mesmos dados incrementa a versão maior. Correcções de texto que não alterem nenhum número incrementam a versão menor. A âncora do § 3.3 não muda em nenhuma versão — se alguma vez precisar de mudar, o resultado será uma escala diferente, com outro nome.