☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

sexta-feira, 6 de novembro de 2026

🎩 O GOLPE DE MESTRE DOS BANCOS DIGITAIS: THOMAS CROWN, UENO BANK, BANCO MASTER E OS MILHÕES QUE DESAPARECERAM ATRÁS DOS SISTEMAS!

 

Bellacosa Mainframe e o ocaso do Banco Ueno no Paraguay

☕ UM CAFÉ NO BELLACOSA MAINFRAME

🎩 O GOLPE DE MESTRE DOS BANCOS DIGITAIS: THOMAS CROWN, UENO BANK, BANCO MASTER E OS MILHÕES QUE DESAPARECERAM ATRÁS DOS SISTEMAS!

Quando um banco possui milhões de clientes, computadores sofisticados, inteligência artificial, bilhões em operações e uma contabilidade aparentemente impecável, quem garante que o dinheiro realmente existe? Sob a ótica de Thomas Crown, vamos investigar dois escândalos financeiros sul-americanos e descobrir como COBOL, IBM Z, RACF, CICS, Db2, auditoria e controles independentes podem impedir que uma bela arquitetura tecnológica esconda uma perigosa realidade financeira.

Bellacosa Mainframe — Arqueologia da Computação, COBOL, Segurança Bancária, Inteligência Artificial e os Fantasmas da Contabilidade Digital.



🎬 Prólogo — Thomas Crown entra no banco e percebe que o quadro mais valioso não está na parede

Nova York, 1999.

Um homem elegantemente vestido entra num museu de arte.

Seu nome é Thomas Crown.

Milionário, sofisticado, inteligente, amante de desafios e absolutamente convencido de que qualquer sistema de segurança possui uma fraqueza.

Crown não está particularmente interessado no dinheiro. Ele já possui muito mais do que necessita.

O que o fascina é a possibilidade de superar um sistema considerado invulnerável.

No filme The Thomas Crown Affair, dirigido por John McTiernan e estrelado por Pierce Brosnan e Rene Russo, Crown organiza o roubo de uma valiosa pintura de Claude Monet.

Mas existe um detalhe extraordinário.

O golpe não depende simplesmente de desativar alarmes, arrombar portas ou derrotar vigilantes.

O verdadeiro truque consiste em manipular aquilo que os responsáveis pela segurança acreditam estar enxergando.

É exatamente essa ideia que nos interessa.

Imagine agora que Thomas Crown abandona temporariamente os museus de Nova York e viaja para Assunção, no Paraguai.

Diante dele aparece um banco digital com milhões de clientes, aplicativos modernos, biometria, computação em nuvem e sistemas capazes de processar um volume gigantesco de transações.

Pouco depois, ele encontra outro caso, desta vez no Brasil.

O Banco Master.

Dois escândalos financeiros. Dois contextos diferentes. Muitas perguntas semelhantes.

Crown observa os números, examina as operações e pergunta:

De que adianta proteger perfeitamente uma pintura se ninguém verifica se a pintura é verdadeira?

No mundo bancário, a pergunta seria:

De que adianta um computador calcular corretamente bilhões de dólares se os ativos utilizados no cálculo não possuem o valor declarado?

Prepare o café. Nossa investigação começa agora.

Nota editorial: Thomas Crown é utilizado como personagem e recurso narrativo fictício. As investigações envolvendo os bancos são fatos reais, mas suspeitas e acusações não devem ser confundidas com condenações definitivas.



🎩 Capítulo I — Quem é Thomas Crown e o que ele tem a ensinar sobre segurança bancária?

Thomas Crown representa um tipo particular de adversário: aquele que compreende as regras, estuda os comportamentos e procura explorar aquilo que os responsáveis pela segurança não questionam.

No filme de 1999, sua adversária é Catherine Banning, uma investigadora de seguros interpretada por Rene Russo.

Catherine compreende algo que muitos especialistas em segurança esquecem: investigar não significa apenas examinar o mecanismo de proteção.

É necessário compreender os incentivos, os interesses e as relações entre as pessoas.

Nos bancos, acontece exatamente a mesma coisa.

Um sistema pode possuir:

  • Criptografia de última geração.

  • Autenticação multifator.

  • Monitoramento permanente.

  • Servidores redundantes.

  • Processamento transacional confiável.

  • Recuperação automática de falhas.

  • Auditoria eletrônica.

Mesmo assim, a instituição pode enfrentar problemas graves de governança financeira.

Por quê?

Porque sistemas verificam condições definidas por pessoas.

Se uma regra permite que determinada autoridade aprove empréstimos acima dos limites adequados, o computador poderá executar essa autorização perfeitamente.

Se uma empresa vinculada ao controlador não estiver corretamente identificada no cadastro, um algoritmo poderá classificá-la como cliente independente.

Se uma carteira de créditos possuir registros contabilmente consistentes, mas não houver comprovação da existência dos contratos, o balanço poderá apresentar números aparentemente corretos.

A primeira lição de Thomas Crown é simples:

Nunca confunda a aparência de controle com a existência de controle efetivo.



🏦 Capítulo II — Ueno Bank: a ascensão de um gigante digital paraguaio

O Ueno Bank tornou-se um dos exemplos mais conhecidos da expansão bancária digital no Paraguai.

Sua estratégia combinava serviços financeiros acessíveis, abertura digital de contas, cartões, pagamentos eletrônicos e uma presença comercial apoiada em tecnologia.

A instituição cresceu rapidamente e passou a atender aproximadamente três milhões de clientes.

O que torna esse número extraordinário é a dimensão do mercado paraguaio.

Uma instituição com essa quantidade de usuários deixa de ser apenas uma empresa financeira inovadora. Ela passa a integrar o cotidiano econômico de uma parcela muito significativa da população.

Pequenos comerciantes recebem pagamentos.

Trabalhadores movimentam salários.

Famílias mantêm economias.

Empresas contratam crédito.

Órgãos públicos depositam recursos.

E aqui encontramos uma curiosidade importante.

Um banco digital pode crescer comercialmente muito mais depressa do que uma instituição tradicional.

Não precisa abrir centenas de agências para conquistar novos correntistas.

Seu aplicativo funciona como uma agência disponível permanentemente.

Entretanto, o crescimento das operações precisa ser acompanhado por capital, liquidez, controles internos e capacidade de administração de riscos.

Foi justamente a fragilidade dessa relação que se tornou central no caso Ueno.

Em 2 de novembro de 2026, o Banco Central do Paraguai decidiu iniciar o procedimento de resolução da instituição, anunciado publicamente no dia seguinte.

Segundo o regulador, ajustes realizados nos demonstrativos financeiros durante o processo de regularização revelaram que o índice de solvência havia caído para menos de 50% do mínimo exigido.

Isso não significa simplesmente que o banco ficou sem dinheiro em determinada conta.

Significa que sua capacidade patrimonial de suportar os riscos assumidos estava gravemente comprometida.

A autoridade determinou medidas para preservar ativos, apurar a situação patrimonial e proteger depositantes.

A dimensão social do episódio foi enorme, especialmente diante da presença de depósitos públicos e recursos relacionados à previdência social.

A história demonstra que um banco pode possuir uma experiência digital moderna e, simultaneamente, enfrentar problemas gravíssimos em sua estrutura financeira.

A tecnologia facilita o acesso ao banco.

Mas não substitui capital verdadeiro.



💰 Capítulo III — Banco Master: quando o problema atravessa a fronteira

Agora Thomas Crown chega ao Brasil.

Sua atenção se volta ao Banco Master.

A instituição brasileira apresentou uma expansão significativa e chamou a atenção do mercado por seu modelo de captação, operações financeiras e exposição a ativos de maior risco.

Em 18 de novembro de 2025, o Banco Central do Brasil decretou a liquidação extrajudicial de instituições do conglomerado Master.

A autoridade apontou grave crise de liquidez, comprometimento significativo da situação econômico-financeira e graves violações das normas aplicáveis.

Um dos aspectos centrais da investigação brasileira envolve a comercialização de carteiras de crédito para o Banco de Brasília, o BRB.

A Polícia Federal passou a investigar operações associadas a aproximadamente R$ 12,2 bilhões em créditos suspeitos.

Aqui encontramos uma semelhança importante com o escândalo paraguaio.

Nos dois casos, surgiram questionamentos sobre a qualidade dos ativos, a consistência das informações financeiras e a efetividade dos controles.

Entretanto, os mecanismos investigados não são necessariamente idênticos.

No Master, uma das suspeitas centrais envolve créditos sem lastro adequado ou inexistentes.

No Ueno, documentos e manifestações públicas apontaram problemas relacionados a operações com empresas vinculadas, qualidade dos ativos, documentação e ajustes contábeis.

Isso nos conduz à segunda lição de Thomas Crown:

Dois quadros podem parecer iguais na parede, mas apenas a investigação de sua origem permite determinar se ambos são autênticos.

No universo bancário, isso significa verificar cada contrato, cada garantia, cada contraparte e cada obrigação financeira.


🧠 Capítulo IV — O maior truque não está no aplicativo: está nos dados

Vamos imaginar um banco fictício chamado Crown Digital.

A instituição possui cem mil contratos de crédito.

Seu sistema registra:

InformaçãoValor
Quantidade de contratos100.000
Valor total contabilizadoR$ 5 bilhões
Parcelas recebidas no mêsR$ 120 milhões
Créditos considerados regulares95%
Créditos em atraso5%

O painel de controle apresenta uma bonita mensagem verde:

SISTEMA OPERACIONAL — PROCESSAMENTO CONCLUÍDO COM SUCESSO.

Mas Catherine Banning resolve investigar.

Ela seleciona uma amostra de mil contratos.

Descobre que alguns clientes não reconhecem as operações.

Outros contratos apresentam garantias não comprovadas.

Algumas empresas pertencem ao mesmo grupo econômico.

E determinados pagamentos foram realizados com recursos obtidos em novos financiamentos.

O sistema funcionou.

O problema estava na realidade econômica representada pelos registros.

É o conhecido princípio da computação:

Garbage In, Garbage Out — lixo entra, lixo sai.

Mas existe uma segunda dimensão, ainda mais perigosa.

Quando registros inválidos circulam por diferentes sistemas, a repetição pode produzir uma falsa sensação de autenticidade.

O mesmo contrato aparece no core bancário, no relatório contábil, no painel de riscos e no arquivo enviado ao regulador.

Quatro sistemas concordam.

Isso não significa necessariamente que quatro verificações independentes tenham ocorrido.

Pode significar apenas que quatro sistemas copiaram a mesma informação original.

Eis uma lição que vale ouro para qualquer programador COBOL.

Conciliação entre sistemas não é o mesmo que comprovação independente da existência de um ativo.


☁️ Capítulo V — Oracle, AWS e o verdadeiro CPD do Ueno

Thomas Crown gosta de tecnologia.

Por isso, antes de investigar os números, ele examina a infraestrutura.

O Ueno divulgou uma migração de seu core bancário para Oracle Cloud Infrastructure, realizada com a participação da empresa itti.

A documentação institucional identifica o uso do Oracle Exadata Database Service on Dedicated Infrastructure.

Essa arquitetura oferece recursos especializados para processamento de bancos de dados de alto desempenho.

Também encontramos documentação pública da fabricante KAL sobre a infraestrutura dos terminais de autoatendimento utilizados pelo Ueno.

Entre as soluções divulgadas estão:

  • K3A, aplicação dos terminais.

  • KTC, ferramenta de monitoramento e gerenciamento.

  • KTH, sistema de processamento de operações relacionadas aos caixas.

  • Kalignite, plataforma de software para autoatendimento.

Outras informações públicas mencionam serviços de nuvem e ferramentas de automação integradas ao ecossistema bancário.

Mas existe um cuidado fundamental: não dispomos de um inventário integral e auditado dos servidores, sistemas operacionais, equipamentos de rede, versões de software e dependências de produção da instituição.

Portanto, não podemos afirmar que determinada falha de produto tenha causado a crise.

Também não encontramos evidência pública suficiente para afirmar que o Ueno utilizava IBM Z, z/OS, COBOL ou CICS em seu core.

É importante separar três perguntas:

A tecnologia funcionava?

Os dados processados representavam operações legítimas?

Os administradores utilizavam adequadamente as informações produzidas?

São questões diferentes.

Um banco pode responder positivamente à primeira e negativamente às outras duas.

A computação em nuvem permite escalar operações e melhorar a disponibilidade.

Mas nem Oracle, AWS, IBM ou qualquer fabricante pode garantir, apenas por fornecer tecnologia, a honestidade de cada registro financeiro.


🖼️ Capítulo VI — O quadro de US$ 127 milhões: quando software vira patrimônio

Este é um dos capítulos mais interessantes da investigação.

Em agosto de 2026, o jornal paraguaio ABC Color publicou informações sobre uma rubrica contábil do Ueno identificada como Bens Intangíveis — Sistemas.

O saldo líquido informado no encerramento de 2025 era de aproximadamente 761,4 bilhões de guaranis, equivalentes, segundo a reportagem, a cerca de US$ 127 milhões.

O montante chamou atenção por superar significativamente os registros comparáveis de outras instituições paraguaias.

Mas por que um banco contabilizaria software como patrimônio?

Porque, sob determinadas condições contábeis, investimentos em desenvolvimento e aquisição de sistemas podem constituir ativos intangíveis.

Imagine que uma instituição desenvolva uma plataforma bancária por R$ 20 milhões.

Se os requisitos contábeis aplicáveis forem atendidos, parte desses custos poderá ser reconhecida como ativo e amortizada durante sua vida útil.

Isso é diferente de registrar todas as despesas tecnológicas como gastos imediatos.

O problema surge quando despesas que deveriam ser reconhecidas no resultado são indevidamente capitalizadas ou quando o valor atribuído ao ativo não encontra suporte econômico suficiente.

Um contrato de manutenção recorrente, por exemplo, não se transforma automaticamente em ativo intangível simplesmente porque está relacionado à tecnologia.

Também é necessário distinguir propriedade intelectual, licenças, serviços de nuvem, equipamentos físicos e contratos antecipados.

No caso Ueno, a imprensa questionou a composição e classificação de determinadas rubricas.

A instituição apresentou explicações defendendo a abrangência de seus investimentos tecnológicos.

Esses questionamentos não demonstram, isoladamente, que cada lançamento fosse irregular.

A conclusão depende de documentação contratual, critérios contábeis, comprovação de entregas e revisão independente.

Thomas Crown observaria que um quadro pode estar segurado por cem milhões de dólares.

Mas o valor declarado não substitui a necessidade de determinar sua autenticidade.

No balanço bancário, o preço de um software não comprova automaticamente seu valor econômico recuperável.


💻 Capítulo VII — Laboratório COBOL: construindo o primeiro detector de operações suspeitas

Agora vamos entrar no laboratório Bellacosa Mainframe.

Nosso objetivo será construir um pequeno programa COBOL educativo que analise operações de crédito.

Ele não determina se ocorreu fraude.

Ele apenas identifica situações que exigem revisão humana.

Vamos trabalhar com quatro informações:

  1. Valor solicitado.

  2. Limite permitido para a operação.

  3. Existência de vínculo com o grupo controlador.

  4. Situação da documentação.

A regra será simples.

Uma operação deve ser encaminhada para revisão quando superar o limite, envolver parte relacionada ou apresentar documentação incompleta.

Passo 1 — Criar o programa

No ambiente IBM Z, utilizando Enterprise COBOL, crie um membro chamado CRNRISCO numa biblioteca de fontes.

O exemplo também pode ser adaptado a um ambiente de aprendizagem com GnuCOBOL.

       >>SOURCE FORMAT FREE
identification division.
program-id. CRNRISCO.

environment division.

data division.
working-storage section.

01 ws-valor          pic 9(9)v99.
01 ws-limite         pic 9(9)v99.
01 ws-relacionada    pic x.
01 ws-documentacao   pic x.
01 ws-alerta         pic x value 'N'.

procedure division.

    move 50000000.00 to ws-valor
    move 10000000.00 to ws-limite
    move 'S' to ws-relacionada
    move 'N' to ws-documentacao

    display "BELLACOSA MAINFRAME"
    display "CONTROLE DE OPERACOES"

    if ws-valor > ws-limite
        display "ALERTA: LIMITE EXCEDIDO"
        move 'S' to ws-alerta
    end-if

    if ws-relacionada = 'S'
        display "ALERTA: PARTE RELACIONADA"
        move 'S' to ws-alerta
    end-if

    if ws-documentacao not = 'S'
        display "ALERTA: DOCUMENTOS PENDENTES"
        move 'S' to ws-alerta
    end-if

    if ws-alerta = 'S'
        display "STATUS: REVISAO OBRIGATORIA"
    else
        display "STATUS: TRIAGEM SEM ALERTAS"
    end-if

    goback.

Passo 2 — Entender o programa

A IDENTIFICATION DIVISION identifica o programa.

A DATA DIVISION define as variáveis.

O campo WS-VALOR armazena o valor da operação com duas casas decimais.

O campo WS-LIMITE representa um limite autorizado.

A variável WS-RELACIONADA indica se existe relação societária conhecida com o grupo controlador.

O campo WS-DOCUMENTACAO informa se os documentos necessários estão completos.

Finalmente, WS-ALERTA registra se alguma condição de risco foi identificada.

Observe um detalhe importante.

O programa não aprova automaticamente o empréstimo quando não encontra alertas.

Ele apenas informa que a triagem inicial não identificou nenhuma das condições programadas.

Isso é fundamental.

Ausência de alerta não significa ausência de risco.

Passo 3 — Executar o teste

Com os valores preenchidos, o resultado esperado será:

BELLACOSA MAINFRAME
CONTROLE DE OPERACOES
ALERTA: LIMITE EXCEDIDO
ALERTA: PARTE RELACIONADA
ALERTA: DOCUMENTOS PENDENTES
STATUS: REVISAO OBRIGATORIA

Três problemas foram identificados.

O empréstimo supera o limite.

A operação envolve uma parte relacionada.

A documentação está incompleta.

Na arquitetura de produção de um banco, a transação deveria ser submetida a controles adicionais antes de qualquer liberação.

Passo 4 — Realizar novos testes

Modifique os valores.

Primeiro, experimente uma operação de R$ 100 mil, com limite de R$ 500 mil, sem relação societária identificada e com documentos completos.

O sistema deverá informar que não encontrou alertas nessa triagem.

Depois, experimente uma operação de R$ 100 mil envolvendo uma empresa relacionada.

Mesmo abaixo do limite, o programa deverá exigir revisão.

Esse segundo teste é especialmente importante.

O tamanho de uma operação não determina sozinho seu risco.

Passo 5 — Entender as limitações

Nosso programa é apenas um exercício.

Um sistema bancário real também precisaria verificar beneficiários finais, garantias, exposições consolidadas, capacidade de pagamento, classificação de risco, limites regulatórios e histórico das contrapartes.

Além disso, os dados precisam vir de fontes confiáveis, e o bloqueio deve ser imposto por um componente transacional que não possa ser contornado simplesmente alterando uma interface.

E o código jamais deveria ser colocado em produção sem testes, revisão, tratamento de erros, segregação de funções e aprovação formal.


🛡️ Capítulo VIII — RACF: quem possui as chaves do museu?

No filme, Thomas Crown conhece a importância do acesso.

Uma porta protegida não serve para muita coisa quando alguém possui a chave correta e pode utilizá-la sem fiscalização.

No IBM Z, o RACF pode participar da proteção de recursos, identidades e permissões.

Mas uma autorização técnica não equivale necessariamente a uma autorização financeira legítima.

Imagine um executivo responsável por conceder empréstimos.

Ele não deveria conseguir, sozinho, cadastrar uma empresa, registrar seus beneficiários, estabelecer o limite de crédito, aprovar a operação, liberar os recursos e alterar posteriormente os registros de auditoria.

Essas atividades precisam ser segregadas.

A separação de funções é uma das defesas clássicas contra fraudes internas.

Uma arquitetura adequada poderia estabelecer perfis independentes para cadastro, análise de risco, aprovação, operações, contabilidade e auditoria.

O RACF controlaria o acesso aos recursos técnicos sob sua responsabilidade.

A aplicação COBOL, por sua vez, aplicaria as regras específicas do negócio.

O processo de governança definiria quem pode autorizar exceções.

E a auditoria independente verificaria se as regras foram respeitadas.

Outro ponto importante é o gerenciamento de identidades privilegiadas.

Um administrador técnico pode necessitar de acesso emergencial.

Isso não significa que esse acesso deva permanecer permanentemente liberado.

O ideal é utilizar privilégios temporários, aprovações apropriadas, registro das ações e revisão posterior.

Thomas Crown não precisaria derrotar todas as fechaduras do museu se pudesse convencer alguém a entregar a chave principal.


🗄️ Capítulo IX — Db2 e CICS: o coração das transações

Vamos imaginar um ambiente bancário IBM Z.

O aplicativo móvel envia uma solicitação de empréstimo através de uma API.

A requisição chega a uma transação CICS.

Um programa COBOL valida os dados e consulta informações armazenadas no Db2.

Esse programa precisa verificar não apenas a existência do cliente, mas também suas relações econômicas.

Uma estrutura simplificada poderia conter três conjuntos de informações.

A primeira tabela armazena os clientes.

A segunda registra contratos de crédito.

A terceira contém relações entre clientes, empresas e grupos econômicos.

Uma consulta educativa poderia procurar operações relacionadas a determinados grupos:

SELECT C.ID_CONTRATO,
       C.ID_CLIENTE,
       C.VALOR_CREDITO,
       R.ID_GRUPO
  FROM CONTRATOS C
  JOIN RELACOES R
    ON C.ID_CLIENTE = R.ID_CLIENTE
 WHERE C.VALOR_CREDITO > 10000000;

É apenas um exemplo conceitual.

Num ambiente real, seria necessário considerar a data de validade das relações societárias, múltiplos beneficiários, percentuais de participação, garantias e regras regulatórias.

Uma consulta SQL correta não consegue descobrir automaticamente um vínculo societário que nunca foi registrado.

Esse é um dos grandes desafios dos bancos.

Uma empresa pode aparecer com nome diferente, utilizar intermediários ou participar de diversas estruturas jurídicas.

Por isso, um mecanismo de identificação de partes relacionadas precisa de fontes adicionais e processos de atualização.

O Db2 é excelente para armazenar e consultar dados.

Mas a capacidade de descobrir relações econômicas depende da qualidade do modelo de dados e das informações disponíveis.

A arquitetura também precisa garantir atomicidade das operações.

Se um empréstimo for aprovado, mas o registro da exposição consolidada não for atualizado, o banco poderá ficar com informações inconsistentes.

As transações devem manter integridade, inclusive diante de falhas ou operações simultâneas.

É aqui que mecanismos transacionais associados a CICS, COBOL e Db2 se tornam especialmente valiosos.


🎭 Capítulo X — O truque das empresas relacionadas

Imagine três empresas fictícias:

Crown Tecnologia.

Crown Participações.

Crown Investimentos.

Formalmente, possuem registros empresariais distintos.

Mas todas pertencem ao mesmo grupo econômico.

Agora imagine que cada uma solicite empréstimos de R$ 8 milhões.

Se o sistema considerar apenas o identificador individual de cada empresa, poderá interpretar as operações como exposições independentes.

Entretanto, o grupo inteiro acumulará R$ 24 milhões de crédito.

Se o limite consolidado for R$ 15 milhões, a exposição ultrapassará o parâmetro permitido.

Um controle baseado apenas no cliente individual falharia.

O sistema precisaria calcular a exposição de todo o grupo econômico.

Isso exige identificar beneficiários finais e relações societárias relevantes.

Também exige controlar mudanças de propriedade e relações indiretas.

Não basta colocar o nome da empresa numa tabela.

É necessário compreender quem efetivamente controla a operação.

Outra situação importante envolve pagamentos circulares.

Uma empresa recebe financiamento.

Transfere recursos a outra.

A segunda utiliza parte do dinheiro para liquidar obrigações da primeira.

Se a análise observar apenas os pagamentos registrados, poderá concluir que os créditos estão sendo honrados.

Mas o dinheiro talvez esteja circulando sem geração econômica independente correspondente.

Isso não prova necessariamente fraude. Existem operações legítimas de tesouraria e financiamento intragrupo.

A investigação deve analisar contratos, origem dos recursos, finalidade econômica e capacidade real de pagamento.

O objetivo da auditoria é identificar substância econômica, não simplesmente desenhar setas entre contas.


📡 Capítulo XI — Por que a nuvem não resolveu o problema?

Computação em nuvem oferece vantagens significativas.

Ela permite escalabilidade, automação, disponibilidade e padronização de infraestrutura.

Entretanto, existe uma diferença entre segurança operacional e governança financeira.

A segurança operacional procura garantir que sistemas estejam disponíveis, dados sejam protegidos e acessos indevidos sejam bloqueados.

A governança financeira busca assegurar que recursos estejam adequadamente administrados, riscos sejam compreendidos e informações contábeis sejam confiáveis.

Imagine um banco que executa suas aplicações em servidores extremamente seguros.

Os discos estão criptografados.

As conexões utilizam protocolos robustos.

Os backups funcionam.

Os servidores são monitorados continuamente.

Nada disso comprova que um empréstimo possui garantia suficiente.

Tampouco confirma que uma empresa não esteja vinculada ao controlador.

O fornecedor de nuvem fornece capacidades tecnológicas.

A instituição continua responsável por seus processos de negócio, controles e obrigações regulatórias, de acordo com a distribuição contratual e legal de responsabilidades.

Uma migração para a nuvem também pode produzir novos desafios.

É necessário controlar identidades, permissões, integrações, configurações, custos, dependências e acessos administrativos.

Ambientes multicloud exigem atenção adicional à centralização de evidências.

Se os registros estão distribuídos em vários provedores, a auditoria precisa conseguir reconstruir uma operação inteira, de ponta a ponta.

Thomas Crown perceberia imediatamente a diferença.

Um museu pode possuir alarmes excelentes em cada sala.

Mas alguém precisa observar o movimento entre todas elas.


⚡ Capítulo XII — A corrida bancária na velocidade de um clique

Antigamente, quando um banco enfrentava uma crise de confiança, clientes formavam filas diante das agências.

Hoje, milhares de pessoas conseguem solicitar transferências simultaneamente.

Uma notícia circula pelas redes sociais.

Clientes procuram informações.

Alguns decidem retirar recursos preventivamente.

Outros interpretam as movimentações como confirmação de problemas.

O processo pode acelerar rapidamente.

Isso introduz um desafio importante de liquidez.

Um banco pode possuir ativos de longo prazo, mas não conseguir convertê-los imediatamente em dinheiro para atender todas as solicitações.

Liquidez e solvência são conceitos diferentes.

Liquidez é a capacidade de cumprir obrigações nos vencimentos.

Solvência está relacionada à capacidade patrimonial de suportar perdas e riscos.

Uma instituição pode enfrentar uma crise de liquidez mesmo quando possui ativos de valor superior aos passivos.

Também pode apresentar problemas patrimoniais graves que não seriam resolvidos apenas com um empréstimo temporário de caixa.

A digitalização acelera a movimentação de recursos, mas não constitui, isoladamente, a causa de uma crise.

Por isso, sistemas de gestão de liquidez precisam simular cenários extremos.

Um exercício adequado pode considerar saídas concentradas, perda de confiança, interrupção de canais, indisponibilidade de contrapartes e dificuldades de obtenção de financiamento.

Os resultados devem alimentar planos de contingência efetivos.

Um painel bonito que mostra apenas os depósitos da última semana não substitui testes de estresse.


🔍 Capítulo XIII — Como descobrir problemas antes que o banco entre em colapso?

Agora Catherine Banning assume o comando da investigação.

Ela não procura apenas uma operação suspeita.

Procura padrões.

O primeiro sinal seria o crescimento de crédito muito superior ao crescimento de capital.

O segundo seria a concentração de operações em determinados grupos econômicos.

O terceiro envolveria garantias insuficientes ou cuja existência não pudesse ser comprovada.

O quarto seria uma dependência excessiva de receitas extraordinárias.

O quinto apareceria quando ativos intangíveis ou outros ativos de difícil conversão em caixa representassem uma parcela importante do patrimônio.

Nenhum desses indicadores comprova automaticamente fraude.

Eles representam sinais que justificam análise aprofundada.

Imagine, por exemplo, que um banco apresente crescimento de 50% na carteira de crédito em um ano, enquanto seus recursos próprios cresçam apenas 5%.

Esse resultado pode ter explicações legítimas, dependendo da composição dos ativos, do risco assumido e dos requisitos regulatórios.

Entretanto, seria necessário verificar se a expansão continua compatível com os limites prudenciais.

Outro exemplo seria um aumento muito expressivo nos ativos intangíveis.

A auditoria deveria solicitar contratos, comprovantes de pagamento, evidências de entrega, critérios de capitalização, testes de recuperabilidade e cronogramas de amortização.

Também deveria identificar fornecedores relacionados ao controlador.

O objetivo não é considerar software um ativo suspeito por natureza.

É comprovar que o valor registrado possui fundamento.

A melhor auditoria não espera que o balanço apresente um desastre. Ela investiga os sinais que aparecem antes dele.


🤖 Capítulo XIV — A inteligência artificial poderia ter identificado os riscos?

A inteligência artificial pode auxiliar bastante.

Imagine um sistema que analisa diariamente milhares de operações de crédito.

O modelo identifica padrões incomuns, concentrações, relacionamentos societários e comportamentos financeiros que merecem investigação.

Também pode comparar movimentações com histórico de clientes e indicadores de risco.

Entretanto, é importante evitar uma ilusão perigosa.

IA não transforma automaticamente dados incompletos em conhecimento verdadeiro.

Se as informações sobre beneficiários finais estiverem erradas, o modelo poderá deixar de identificar relações relevantes.

Se seus dados de treinamento contiverem operações fraudulentas tratadas como normais, ele poderá aprender padrões inadequados.

E um modelo generativo pode apresentar explicações convincentes sem evidência suficiente.

Por isso, uma arquitetura responsável deve separar três funções.

A primeira é a detecção de anomalias.

A segunda é a aplicação de regras determinísticas.

A terceira é a investigação humana.

Um sistema de IA pode recomendar uma revisão.

Uma regra COBOL pode bloquear uma operação que exceda um limite objetivo.

Um analista autorizado deve examinar a documentação e tomar a decisão de negócio apropriada.

Também são indispensáveis explicabilidade, validação dos modelos, monitoramento de falsos positivos e controle de alterações.

A IA deve ampliar a capacidade da auditoria.

Nunca servir como justificativa para eliminar a responsabilidade humana.


🧪 Capítulo XV — Um laboratório completo de prevenção para iniciantes

Vamos transformar nossa investigação em um pequeno projeto de aprendizagem.

O nome será Projeto Crown Shield.

A missão é desenvolver controles básicos para uma carteira bancária fictícia.

Etapa 1 — Organizar os dados

Crie um arquivo contendo identificador do cliente, contrato, valor do crédito, grupo econômico e situação documental.

Utilize apenas dados fictícios.

Nunca copie dados bancários reais para ambientes de estudo.

Etapa 2 — Validar os registros

Desenvolva um programa COBOL que rejeite identificadores vazios, valores inválidos e documentos obrigatórios ausentes.

Em aplicações reais, validações devem incluir formatos, domínios, consistência entre campos e regras de negócio.

Etapa 3 — Calcular limites individuais

Some os contratos de cada cliente.

Compare o resultado com seus limites aprovados.

Lembre-se de considerar contratos já existentes e operações simultâneas.

Etapa 4 — Consolidar os grupos econômicos

Utilize uma tabela de relacionamentos para identificar empresas pertencentes ao mesmo grupo.

Calcule a exposição consolidada.

Não permita que o controle seja contornado apenas dividindo operações entre diferentes empresas.

Etapa 5 — Verificar garantias

Registre tipo, valor, validade e documentação da garantia.

Não considere automaticamente como disponível uma garantia inexistente, vencida ou já comprometida com outra obrigação.

Etapa 6 — Registrar as decisões

Cada operação deverá possuir identificador único, horário, usuário responsável, regra aplicada e resultado.

Alterações precisam preservar histórico.

O objetivo é permitir reconstruir posteriormente o caminho de cada decisão.

Etapa 7 — Implementar aprovação independente

Operações que excedam determinados parâmetros deverão exigir autorização adicional.

O responsável pela aprovação não deverá possuir liberdade irrestrita para alterar os dados que justificam sua própria decisão.

Etapa 8 — Criar relatórios periódicos

Utilize COBOL, SQL e ferramentas de processamento em lote para gerar relatórios de exceções.

Num ambiente IBM Z, JCL pode orquestrar etapas de execução e DFSORT pode auxiliar na organização e consolidação dos arquivos.

Etapa 9 — Simular incidentes

Introduza deliberadamente dados fictícios problemáticos.

Experimente contratos duplicados.

Empresas relacionadas.

Garantias vencidas.

Operações acima do limite.

Documentos ausentes.

Verifique se os controles identificam os cenários esperados.

Etapa 10 — Realizar uma auditoria independente

Peça que outra pessoa revise os resultados.

Essa etapa talvez seja a mais importante de todas.

Um desenvolvedor pode conhecer muito bem seu próprio programa e, justamente por isso, deixar de questionar determinadas hipóteses.

Uma revisão independente ajuda a identificar aquilo que a equipe original não percebeu.


🕵️ Capítulo XVI — As dez lições que Thomas Crown deixaria para o mundo bancário

Primeira lição: tecnologia moderna não substitui governança.

Um aplicativo sofisticado pode conviver com decisões financeiras inadequadas.

Segunda lição: a existência do registro não comprova a existência do ativo.

É necessário verificar contratos, contrapartes e evidências independentes.

Terceira lição: identifique quem realmente controla as empresas.

Operações distribuídas entre várias pessoas jurídicas podem representar riscos concentrados.

Quarta lição: controle quem pode criar, aprovar e modificar transações.

A segregação de funções é indispensável.

Quinta lição: não confunda crescimento comercial com solidez financeira.

Milhões de clientes não garantem patrimônio suficiente.

Sexta lição: teste liquidez e solvência separadamente.

Um banco precisa administrar suas obrigações de curto prazo e sua capacidade de suportar perdas.

Sétima lição: investigue ativos intangíveis relevantes.

Software pode representar investimento legítimo, mas seus valores precisam de documentação e critérios contábeis adequados.

Oitava lição: preserve evidências independentes.

Logs, documentos e relatórios devem permitir reconstruir operações mesmo depois de mudanças nos sistemas.

Nona lição: automatize a detecção sem automatizar cegamente a confiança.

Alertas eletrônicos são úteis, mas exigem interpretação e encaminhamento.

Décima lição: proteja também a independência dos auditores.

Nenhum sistema técnico consegue compensar integralmente uma estrutura institucional em que alertas sejam sistematicamente ignorados.


🎩 Capítulo XVII — Easter egg: o homem do chapéu-coco e os mil clones

Quem assistiu ao filme de 1999 provavelmente recorda uma das sequências mais marcantes.

Thomas Crown utiliza uma multidão de homens com roupas semelhantes e chapéus-coco, numa referência visual à obra de René Magritte.

A cena transforma a identificação do verdadeiro personagem num desafio.

Agora imagine uma investigação bancária.

O auditor encontra dezenas de empresas com nomes diferentes.

Cada uma possui cadastro próprio.

Cada uma apresenta contratos formalmente separados.

Cada uma movimenta recursos por caminhos diferentes.

O sistema enxerga dezenas de entidades.

Mas será que existe um mesmo grupo econômico por trás delas?

Essa é a versão financeira dos homens de chapéu-coco.

O easter egg é também uma lição de modelagem de dados.

Identificadores diferentes não significam necessariamente riscos independentes.

Por isso, sistemas modernos precisam considerar relações societárias, beneficiários finais, vínculos econômicos e informações atualizadas.

No mundo de Crown, o objetivo era confundir a identificação visual.

No mundo bancário, uma estrutura societária complexa pode dificultar a identificação do risco consolidado, mesmo quando não exista intenção fraudulenta.

Catherine Banning não se contentaria em contar os chapéus.

Ela investigaria quem está por baixo deles.


⚖️ Capítulo XVIII — O que governos, reguladores e bancos precisam fazer?

Os casos Ueno e Master demonstram a importância de combinar supervisão prudencial, controles internos e transparência.

O primeiro requisito é melhorar a qualidade dos dados regulatórios.

As autoridades precisam receber informações que permitam analisar concentração, exposição, qualidade de crédito, solvência e liquidez.

O segundo é verificar a consistência das informações recebidas.

Relatórios produzidos automaticamente não são necessariamente independentes dos sistemas que originaram os números.

O terceiro requisito envolve inspeções orientadas por risco.

Instituições que apresentam expansão acelerada, operações complexas ou exposição concentrada podem exigir atenção proporcionalmente maior.

O quarto é exigir comprovação adequada para operações relevantes.

Carteiras de crédito, garantias e ativos intangíveis precisam possuir documentação verificável.

O quinto é estabelecer mecanismos efetivos de responsabilização.

Quando são identificadas deficiências, devem existir processos claros para correção, acompanhamento e eventual sanção, respeitando os procedimentos legais aplicáveis.

O sexto envolve a proteção dos depositantes.

Regimes de garantia de depósitos precisam de comunicação clara, regras conhecidas e capacidade operacional para executar pagamentos quando necessário.

Finalmente, a sociedade deve receber informações suficientes para compreender os riscos sem depender exclusivamente de rumores.

Transparência não significa divulgar dados bancários protegidos.

Significa apresentar informações públicas confiáveis, tempestivas e compreensíveis.


☕ Epílogo — Catherine encontra o quadro verdadeiro

Voltamos ao museu.

Thomas Crown observa a pintura.

Catherine Banning examina os detalhes.

Ela sabe que a moldura pode ser perfeita.

A iluminação pode ser impecável.

O sistema de segurança pode funcionar sem falhas.

Nada disso responde à pergunta principal.

A pintura é verdadeira?

No universo financeiro, a questão é ainda mais importante.

Um registro bancário representa dinheiro de alguém.

Pode representar a poupança de uma família.

O capital de giro de uma pequena empresa.

O salário de um trabalhador.

Ou recursos reservados à aposentadoria de milhares de pessoas.

Os computadores precisam funcionar corretamente.

Os programas COBOL devem preservar a integridade das transações.

Os sistemas de autorização devem controlar os acessos.

Os bancos de dados precisam manter informações consistentes.

A inteligência artificial pode identificar riscos.

A nuvem pode oferecer escalabilidade.

Mas nenhuma dessas tecnologias dispensa uma pergunta simples:

Aquilo que está registrado corresponde à realidade econômica?

Os casos Ueno Bank e Banco Master mostram por que essa pergunta deve acompanhar cada auditoria, cada sistema e cada decisão financeira.

Não existe plataforma capaz de substituir integralmente responsabilidade, transparência e supervisão independente.

Talvez Thomas Crown encerrasse nossa investigação com um sorriso discreto, ajeitando o chapéu e observando os computadores do banco.

No entanto, Catherine Banning teria a última palavra.

Porque a melhor maneira de impedir um golpe sofisticado não é apenas construir uma fechadura mais resistente.

É compreender o que está sendo protegido, quem controla as chaves e como verificar aquilo que parece verdadeiro.

E essa, meus amigos, é uma das maiores lições que um programador COBOL pode aprender sobre segurança bancária.


📚 Fontes e referências para aprofundamento

Nota: Os exemplos COBOL, Crown Digital, Crown Shield e as operações financeiras hipotéticas são exclusivamente didáticos. As informações sobre investigações refletem os dados públicos disponíveis até 6 de novembro de 2026 e não constituem determinação de culpa de pessoas ou fornecedores mencionados.


Bellacosa Mainframe

Onde a arqueologia da computação encontra os mistérios da tecnologia moderna.

☕ Até o próximo café — e nunca se esqueça: um RETURN-CODE = 0 não significa que o balanço esteja correto!

🎲 KAIJI E A ROLETA RUSSA DIGITAL: O DIA EM QUE 1,3 MILHÃO DE TV BOXES APOSTARAM A SEGURANÇA DOS SEUS DONOS!

 

Bellacosa Mainframe e a insegurança digital o caso da tv boxes

☕ UM CAFÉ NO BELLACOSA MAINFRAME

🎲 KAIJI E A ROLETA RUSSA DIGITAL: O DIA EM QUE 1,3 MILHÃO DE TV BOXES APOSTARAM A SEGURANÇA DOS SEUS DONOS!

Uma fabricante chinesa, um Android adulterado, milhões de vítimas e um cassino clandestino de computadores zumbis. Sob a batuta de Kaiji Itou, vamos investigar como o malware XCPE transformou aparelhos domésticos em instrumentos de crimes digitais — e descobrir o que COBOL, RACF, JCL, APF e o IBM Z podem aprender com essa tragédia tecnológica.

Bellacosa Mainframe — Arqueologia da Computação, COBOL, IBM Z, Segurança Cibernética e os Fantasmas Escondidos no Firmware

6 de novembro de 2026 | Segurança Cibernética | COBOL | Mainframe | Android | IoT



🎬 Prólogo — Kaiji entra no cassino e descobre que a televisão está apostando por ele

Imagine a seguinte cena.

É uma noite chuvosa em Tóquio.

Kaiji Itou, protagonista do anime Gyakkyō Burai Kaiji: Ultimate Survivor, está sentado diante de uma pequena televisão. Seu apartamento é modesto, o dinheiro praticamente desapareceu e as dívidas continuam aumentando.

Na televisão, uma propaganda promete resolver seus problemas.

— Compre nossa fantástica TV Box! Milhares de canais, filmes, aplicativos, entretenimento ilimitado e um preço inacreditável!

Kaiji examina o aparelho.

— Por esse preço? Não pode ser verdade...

Mas a tentação vence.

Ele compra.

Conecta o equipamento à televisão, informa a senha do Wi-Fi e começa a assistir.

Tudo funciona perfeitamente.

Ou quase.

Durante a madrugada, enquanto Kaiji dorme, sua TV Box estabelece comunicação com servidores desconhecidos. Recebe instruções, instala programas clandestinos e começa a utilizar sua conexão residencial para atividades que ele jamais autorizou.

Em algum lugar da internet, criminosos negociam acesso àquela pequena máquina.

Kaiji desconhece tudo.

Então surge uma figura imaginária, semelhante aos administradores dos jogos cruéis que tanto marcaram sua história.

— Kaiji! Você acaba de entrar em nossa maior competição!

— Mas eu não aceitei participar de jogo nenhum!

— Isso é o mais divertido! Você comprou o equipamento, pagou a eletricidade, contratou a internet e agora nós utilizamos tudo isso para ganhar dinheiro!

ZAWA... ZAWA... ZAWA...

O suspense característico de Kaiji toma conta da sala.

Porque existe algo muito pior do que perder uma aposta.

É descobrir que alguém apostou utilizando seus recursos sem pedir autorização.

E, infelizmente, o que parecia apenas mais uma história extravagante de anime ganhou um correspondente assustador no mundo real.

Em novembro de 2026, o Google revelou uma operação envolvendo mais de 1,3 milhão de dispositivos Android comprometidos.

O nome da ameaça?

XCPE.

E a grande surpresa?

Segundo a investigação do Google, o fabricante estava envolvido intencionalmente na criação, distribuição e monetização do malware.

Prepare o café.

Nossa viagem pelo cassino clandestino da tecnologia está apenas começando.



🎲 Capítulo I — A banca sempre ganha: o escândalo Videostrong

Em 2 de novembro de 2026, o Google Threat Intelligence Group publicou uma investigação intitulada Shutting the Door on the XCPE Botnet.

O relatório apresentou uma conclusão gravíssima.

A empresa chinesa Videostrong Technology, fabricante e desenvolvedora de dispositivos Android, teria incorporado deliberadamente uma porta dos fundos ao firmware de equipamentos comercializados internacionalmente.

Essa conclusão foi apresentada pelo Google com elevado grau de confiança.

Não se tratava simplesmente de um programador descuidado.

Não era apenas uma vulnerabilidade esquecida.

O Google descreveu uma operação organizada para obter lucro mediante a exploração clandestina de equipamentos vendidos aos consumidores.

Uma fábrica de vítimas

A investigação identificou mais de 1,3 milhão de dispositivos integrados à rede XCPE.

Os aparelhos atingidos incluíam diferentes marcas e modelos, principalmente TV Boxes, mas também outras categorias de equipamentos Android.

A operação contava com uma característica especialmente preocupante: a Videostrong atuava como fabricante original e também como desenvolvedora para outras marcas.

Em outras palavras, um consumidor poderia comprar uma TV Box com determinado nome comercial sem perceber que parte do hardware ou software vinha de um fornecedor envolvido no caso.

É semelhante ao que acontece na indústria automobilística.

Diferentes fabricantes podem utilizar componentes produzidos pelo mesmo fornecedor.

Se esse componente apresentar um defeito grave, o problema poderá aparecer em veículos com marcas completamente diferentes.

No caso XCPE, entretanto, estamos falando de um componente digital capaz de executar instruções clandestinas.

O Brasil também participou desse jogo

A reportagem da Fast Company Brasil, publicada em 5 de novembro de 2026, apresentou dados da TrendAI apontando aproximadamente 150 mil dispositivos comprometidos no Brasil.

Um número impressionante.

Imagine quantas residências, pequenos comércios, escritórios e estabelecimentos podem possuir equipamentos desse tipo.

Uma TV Box escondida atrás da televisão parece inofensiva.

Mas um dispositivo conectado à rede deve ser tratado como um computador.

Porque é exatamente isso que ele é.

A punição aplicada

O Google anunciou medidas contra a Videostrong, incluindo o rompimento da relação comercial e a proibição de produzir ou fornecer dispositivos e software para o ecossistema Android certificado com aplicativos Google pré-instalados.

Também atuou, junto a parceiros, para interromper servidores e domínios de comando e controle.

A investigação apontou ainda que a interrupção da infraestrutura de grupos associados poderia afetar o acesso criminoso a pelo menos outros 10 milhões de dispositivos comprometidos por diferentes mecanismos de distribuição.

Atenção: esses 10 milhões adicionais não devem ser somados automaticamente como se todos fossem TV Boxes infectadas pelo XCPE. Trata-se de outra estimativa, relacionada às redes de malware de parceiros criminosos.

Kaiji observa os números.

— Então não era um pequeno golpe de esquina...

Não.

Era um empreendimento criminoso em escala industrial.



🧠 Capítulo II — Engenharia do golpe: o segredo estava escondido no firmware

Para compreender o que aconteceu, precisamos conhecer três elementos fundamentais: hardware, firmware e sistema operacional.

Primeiro: o hardware

Hardware é a parte física de um dispositivo.

Na TV Box encontramos processador, memória RAM, armazenamento, interfaces de rede e circuitos eletrônicos.

O equipamento recebe eletricidade e executa instruções.

Segundo: o firmware

Firmware é o software armazenado no equipamento que participa de sua inicialização e de seu funcionamento básico.

Em dispositivos Android, a imagem de firmware pode conter o sistema operacional, componentes privilegiados, aplicativos pré-instalados e configurações específicas do fabricante.

É importante distinguir firmware de uma memória ROM imutável.

Muitos equipamentos modernos armazenam esse software em memória flash, permitindo atualizações e substituições controladas.

Portanto, firmware não significa necessariamente um programa impossível de modificar.

Terceiro: o Android

O Android fornece serviços, processos, permissões, interfaces e mecanismos de segurança.

Aplicativos comuns devem operar dentro das permissões concedidas.

Mas componentes privilegiados, instalados pelo fabricante, podem ter capacidades superiores às de um aplicativo baixado pelo usuário.

E aqui começa nossa tragédia.

A porta clandestina

O relatório do Google descreve um componente identificado como x.cpe, também encontrado como com.oemservice.

Esse software era pré-instalado e executava com o identificador privilegiado android.uid.system.

Para um iniciante, isso significa que ele não estava simplesmente brincando na área comum dos aplicativos.

Ele operava com uma posição privilegiada dentro do ambiente Android.

O componente conseguia manter comunicação com a infraestrutura criminosa e facilitar a instalação de outros módulos.

Se determinada instalação fosse removida pelo usuário, mecanismos presentes no equipamento poderiam restaurá-la a partir da partição /oem/ após uma reinicialização.

Kaiji grita:

— Mas eu já apaguei o programa!

O operador do cassino sorri:

— Você apagou uma cópia. Nossa reserva continua guardada.

ZAWA... ZAWA...

É o conceito de persistência.

Uma ameaça persistente possui mecanismos para continuar funcionando ou retornar depois de tentativas superficiais de remoção.

Uma curiosidade importante

Nem todo malware persistente está no firmware.

Existem ameaças que utilizam tarefas agendadas, serviços, mecanismos de inicialização, scripts ou alterações em aplicativos.

A particularidade do XCPE era sua integração privilegiada ao software fornecido com o equipamento.

Isso tornava a simples restauração de fábrica insuficiente nos aparelhos comprometidos.

É como restaurar uma sala de computadores a partir de uma imagem de sistema que já contém o invasor.

A restauração funciona.

O problema é que restaura também a ameaça.



📡 Capítulo III — O servidor do cassino: HTTP, MQTT e o comando remoto

Agora chegamos à parte mais interessante da engenharia.

O malware precisava receber instruções.

Para isso, utilizava uma arquitetura de comando e controle, frequentemente abreviada como C2.

O funcionamento descrito pelo Google envolvia inicialmente solicitações HTTP para obtenção de parâmetros e depois comunicação persistente utilizando MQTT.

O que é HTTP?

HTTP é um protocolo utilizado na comunicação entre aplicações.

Navegadores o utilizam para solicitar páginas e recursos, embora sistemas modernos também utilizem HTTP em inúmeras integrações.

O malware podia empregar solicitações HTTP para obter configurações.

O que é MQTT?

MQTT significa Message Queuing Telemetry Transport.

Trata-se de um protocolo leve de comunicação baseado no modelo de publicação e assinatura.

Ele é muito comum em projetos legítimos de Internet das Coisas.

Imagine uma fábrica com centenas de sensores.

Cada sensor pode publicar informações sobre temperatura ou pressão.

Outros sistemas assinam determinados tópicos e recebem os dados relevantes.

Essa arquitetura é eficiente.

Mas uma tecnologia legítima pode ser utilizada de maneira maliciosa.

No caso XCPE, o MQTT permitia a distribuição de instruções para aparelhos comprometidos.

Por que isso é perigoso?

Porque o dispositivo deixa de executar apenas funções solicitadas por seu proprietário.

Ele passa a obedecer também a ordens de uma infraestrutura externa não autorizada.

O Google documentou capacidades como instalação silenciosa de aplicativos, execução de comandos, reconhecimento de rede, captura de telas e coleta de informações.

Não significa que todas essas operações tenham ocorrido em todos os aparelhos.

Significa que a infraestrutura possuía recursos capazes de realizar atividades desse tipo.

O falso aplicativo de sistema

Outra característica interessante foi a evolução do malware.

O Google identificou componentes que procuravam parecer aplicativos normais do Android, inclusive utilizando nomes semelhantes aos de serviços de sistema.

Isso nos apresenta um princípio essencial de segurança:

O nome de um programa não comprova sua legitimidade.

Um arquivo chamado SECURITY.EXE pode ser malicioso.

Um aplicativo chamado SYSTEM-UPDATE pode não ter relação alguma com o fabricante legítimo.

E uma biblioteca mainframe chamada PAYROLL.SECURE.LOAD não é necessariamente segura apenas porque seu nome contém a palavra SECURE.

A confiança exige procedência, integridade, autorização e verificação.


💰 Capítulo IV — O cassino invisível: como os criminosos ganhavam dinheiro

Em Kaiji, os participantes frequentemente descobrem que as regras favorecem os administradores.

No caso XCPE, a lógica comercial do crime apresentava uma característica semelhante.

Os operadores monetizavam equipamentos que não lhes pertenciam mais.

O consumidor havia comprado o produto.

Mas o acesso clandestino continuava rendendo dinheiro.

Primeira modalidade: proxies residenciais

Imagine que um criminoso queira acessar determinado serviço utilizando um endereço IP residencial.

Ele poderia tentar utilizar a conexão de uma vítima.

A TV Box comprometida passava a funcionar como intermediária de tráfego.

Assim, determinadas solicitações externas poderiam aparecer como originadas da residência do consumidor.

Isso não significa necessariamente que o criminoso tenha acesso completo a todos os computadores da casa.

Entretanto, utilizar a conexão de terceiros sem consentimento já representa um risco relevante.

Além disso, um dispositivo comprometido pode servir de ponto de partida para outras tentativas de exploração da rede local.

Segunda modalidade: fraude publicitária

A publicidade digital frequentemente remunera determinadas impressões, visualizações ou interações.

Criminosos podem tentar produzir eventos artificiais para gerar receitas.

Alguns módulos investigados pelo Google simulavam atividades publicitárias sem participação real de um usuário.

Imagine milhões de televisões produzindo silenciosamente eventos que deveriam representar pessoas assistindo a anúncios.

As empresas anunciantes podem acabar pagando por interações inexistentes.

O consumidor fornece o equipamento e a energia.

O sistema criminoso explora a capacidade computacional.

Terceira modalidade: distribuição de outros malwares

Uma vez instalada a porta clandestina, outros módulos podiam ser introduzidos.

É uma estratégia modular.

O operador principal fornece acesso.

Parceiros criminosos oferecem diferentes formas de exploração.

Essa organização lembra uma plataforma comercial legítima, mas com finalidade criminosa.

Existe infraestrutura, distribuição, controle de versões, comunicação, módulos especializados e gerenciamento remoto.

Uma comparação com COBOL

Imagine um sistema bancário desenvolvido em COBOL.

O programa de contas correntes possui regras, controles, arquivos e transações.

Agora imagine, hipoteticamente, que uma biblioteca privilegiada tenha sido alterada para executar uma operação clandestina sempre que determinada aplicação for iniciada.

O operador bancário pode executar os procedimentos corretamente.

O programa principal pode até parecer intacto.

Mas a cadeia de execução contém um componente comprometido.

A lição é clara.

Uma aplicação confiável não consegue compensar, sozinha, uma infraestrutura profundamente comprometida.


🏠 Capítulo V — O cidadão comum: o participante que nunca recebeu as regras

Voltemos ao apartamento de Kaiji.

Ele pensa que o maior problema será a conta de eletricidade.

Infelizmente, existem outros riscos.

Exposição de informações

O Google identificou capacidades de captura de telas, obtenção de informações sobre dispositivos e contas e execução de comandos.

Dependendo da atividade realmente executada e das informações presentes no aparelho, dados sensíveis poderiam ser expostos.

É importante não afirmar que todos os usuários tiveram senhas bancárias roubadas.

A investigação demonstrou capacidades e atividades maliciosas, mas isso não equivale a comprovar cada consequência em todas as vítimas.

Reputação do endereço IP

Quando um criminoso utiliza a conexão residencial de uma vítima, serviços externos podem associar atividades suspeitas ao endereço IP utilizado.

Isso pode resultar em bloqueios, verificações adicionais ou dificuldades de acesso.

O endereço IP, isoladamente, não identifica necessariamente a pessoa responsável por uma atividade.

Redes compartilhadas, tradução de endereços e outros fatores tornam a atribuição muito mais complexa.

Mesmo assim, a situação pode gerar transtornos consideráveis.

Riscos para a rede doméstica

Uma TV Box normalmente compartilha a rede com outros equipamentos.

Computadores, celulares, impressoras, câmeras e dispositivos inteligentes podem utilizar o mesmo roteador.

Um aparelho comprometido representa uma superfície adicional de ataque.

Ele não garante automaticamente acesso aos demais dispositivos.

Contudo, sua presença cria oportunidades para reconhecimento de rede e tentativas de exploração.

A ameaça silenciosa

Talvez o maior problema seja a ausência de sintomas.

Um aparelho infectado pode continuar reproduzindo vídeos normalmente.

Nem sempre há anúncios estranhos.

Nem sempre o equipamento fica lento.

Nem sempre aparecem mensagens de erro.

O usuário pode acreditar que está seguro simplesmente porque tudo funciona.

Mas funcionamento e segurança são propriedades diferentes.


🛡️ Capítulo VI — Como evitar cair na armadilha da TV Box

Kaiji finalmente compreende que precisa abandonar o jogo.

Mas qual seria o procedimento correto?

Passo 1 — Identifique o equipamento

Verifique a marca, modelo exato, versão de firmware e fabricante responsável.

Uma marca comercial não revela necessariamente todos os fornecedores envolvidos na fabricação.

Consulte comunicados oficiais, atualizações de segurança e alertas específicos sobre o modelo.

Passo 2 — Avalie a procedência

Prefira fabricantes reconhecidos, com histórico de atualizações e suporte técnico.

No Brasil, confira também as informações de homologação da Anatel quando aplicáveis.

A certificação é uma camada importante, mas não constitui garantia absoluta de ausência de ameaças.

O próprio caso XCPE revelou limitações em processos de verificação anteriores.

Passo 3 — Desconecte dispositivos suspeitos

Se houver confirmação de comprometimento ou suspeita fundamentada de que o modelo foi afetado, interrompa sua comunicação de rede.

Desconecte Wi-Fi e cabo Ethernet.

Não tente executar programas desconhecidos de suposta limpeza.

Uma ferramenta fornecida por fonte não confiável pode aumentar o problema.

Passo 4 — Não confie apenas na restauração de fábrica

Se o firmware original já estiver comprometido, restaurar as configurações poderá simplesmente reinstalar a ameaça.

Procure orientações verificáveis sobre atualizações limpas e oficiais.

Na ausência de solução confiável, a substituição do dispositivo pode ser a alternativa mais segura.

Passo 5 — Proteja os demais equipamentos

Atualize o roteador e os outros dispositivos.

Verifique as contas utilizadas no equipamento suspeito.

Se houver indícios de exposição de credenciais, altere as senhas a partir de um dispositivo confiável e habilite autenticação multifator.

Considere criar uma rede separada para dispositivos IoT.

Essa separação deve ser configurada corretamente, com regras que limitem a comunicação com a rede principal.

Uma rede de convidados mal configurada pode não fornecer o isolamento esperado.

Passo 6 — Observe o tráfego

Ferramentas de monitoramento de rede podem ajudar a identificar comunicações incomuns.

Entretanto, tráfego intenso ou conexões desconhecidas não comprovam isoladamente uma infecção.

A análise precisa considerar o comportamento normal do equipamento, os destinos, os horários e os indicadores documentados pelos pesquisadores.


🏛️ Capítulo VII — Kaiji visita um CPD: o que o mundo mainframe pode aprender?

Agora imaginemos que Kaiji abandona seu apartamento e visita um grande centro de processamento de dados.

À sua frente encontra um ambiente IBM Z executando z/OS.

Milhares de transações são processadas.

Programas COBOL acessam bases Db2 e arquivos VSAM.

Regiões CICS atendem aplicações corporativas.

Rotinas JCL controlam processamento batch.

O RACF participa das decisões de autorização e controle de acesso.

Kaiji contempla os equipamentos.

— Aqui deve ser impossível acontecer algo semelhante!

Infelizmente, nenhuma arquitetura é imune a comprometimentos.

O IBM Z possui mecanismos sofisticados de segurança, isolamento, proteção e auditoria.

Mas sua efetividade depende de configuração adequada, gestão de privilégios, controle dos fornecedores e disciplina operacional.

Vamos comparar as ameaças.

Firmware comprometido versus software privilegiado

O paralelo mais útil com XCPE não é afirmar que o z/OS funciona como Android.

São arquiteturas diferentes.

O ponto comum está na confiança concedida a componentes de alto privilégio.

No z/OS, determinados programas e bibliotecas podem ser autorizados a executar operações privilegiadas.

As bibliotecas APF são um exemplo relevante.

APF significa Authorized Program Facility.

É um mecanismo pelo qual o sistema identifica bibliotecas autorizadas, permitindo que programas que satisfaçam as condições necessárias operem com capacidades especiais.

Um programa não se torna automaticamente confiável apenas porque está numa biblioteca APF.

E colocar código inadequado numa cadeia de execução privilegiada pode introduzir riscos graves.

A grande lição da APF

Bibliotecas autorizadas exigem proteção rigorosa.

É necessário controlar quem pode atualizar seus membros, quais processos podem distribuir alterações e como a integridade dos componentes será verificada.

O princípio é semelhante ao aprendido com a TV Box:

Não basta confiar na aparência do componente.

É preciso controlar quem o produziu, quem o alterou e quem autorizou sua entrada em produção.

RACF: o segurança do cassino

O Resource Access Control Facility, RACF, fornece mecanismos de identificação, autenticação, autorização e auditoria.

Ele permite controlar o acesso a recursos e registrar eventos relevantes.

Mas considere uma situação hipotética.

Um usuário possui autorização excessiva para atualizar uma biblioteca crítica.

Esse usuário pode ser uma pessoa legítima, uma conta de serviço ou uma identidade comprometida.

Se as permissões forem amplas demais, a própria configuração de segurança pode facilitar a introdução de alterações indevidas.

Por isso, aplicar RACF não significa apenas criar perfis.

Significa desenhar uma política de acesso coerente.

Princípio do menor privilégio

Cada identidade deve possuir apenas as permissões necessárias para realizar seu trabalho.

Um programador que precisa consultar componentes de produção não deveria receber automaticamente autorização para alterá-los.

Uma conta de execução batch não precisa necessariamente possuir poderes administrativos.

Uma ferramenta de implantação não deve ter acesso irrestrito a todos os recursos do sistema.

A pergunta correta não é:

— Esse usuário é confiável?

A pergunta mais segura é:

— Quais operações essa identidade realmente precisa executar?


📚 Capítulo VIII — Laboratório COBOL: criando um detector didático de eventos suspeitos

Chegou a hora de colocar as mãos no código.

Nosso objetivo será construir um pequeno programa COBOL para analisar registros fictícios de eventos de segurança.

Ele não detectará o malware XCPE diretamente.

Também não substituirá RACF, SIEM, SMF ou ferramentas especializadas.

Será um exercício introdutório para compreender a lógica de classificação de eventos.

Cenário

Imagine que nosso sistema receba registros de auditoria já normalizados por uma ferramenta de coleta.

Cada registro contém um código de evento.

Vamos utilizar quatro classificações:

  • APF — alteração em componente associado a biblioteca autorizada.

  • RAC — falha de autorização.

  • JCL — alteração de um job considerado crítico.

  • NET — comunicação de rede potencialmente suspeita.

Esses códigos são exclusivamente didáticos e não correspondem a uma codificação oficial de registros SMF.

O programa KAIJISEC

       >>SOURCE FORMAT FREE
identification division.
program-id. KAIJISEC.

environment division.
input-output section.
file-control.
    select audit-file
        assign to "AUDIT.DAT"
        organization is line sequential
        file status is ws-file-status.

data division.
file section.
fd audit-file.
01 audit-record.
   05 audit-type pic x(3).
   05 audit-description pic x(60).

working-storage section.
01 ws-file-status pic xx.
01 ws-end pic 9 value 0.
01 ws-count pic 9(5) value 0.
01 ws-alerts pic 9(5) value 0.

procedure division.
main-process.
    open input audit-file

    if ws-file-status not = "00"
        display "ERRO AO ABRIR ARQUIVO"
        display "FILE STATUS: " ws-file-status
        goback
    end-if

    perform until ws-end = 1
        read audit-file
            at end
                move 1 to ws-end
            not at end
                add 1 to ws-count
                perform check-event
        end-read
    end-perform

    close audit-file

    display "REGISTROS: " ws-count
    display "ALERTAS:   " ws-alerts

    goback.

check-event.
    evaluate audit-type
        when "APF"
            display "ALERTA APF: "
                audit-description
            add 1 to ws-alerts

        when "RAC"
            display "ALERTA RACF: "
                audit-description
            add 1 to ws-alerts

        when "JCL"
            display "REVISAR JCL: "
                audit-description
            add 1 to ws-alerts

        when "NET"
            display "REVISAR REDE: "
                audit-description
            add 1 to ws-alerts

        when other
            continue
    end-evaluate.

Explicação para o iniciante

O programa começa com IDENTIFICATION DIVISION, onde declaramos sua identificação.

Em ENVIRONMENT DIVISION, definimos o arquivo de entrada.

A instrução SELECT estabelece a associação lógica entre o arquivo COBOL e o recurso externo.

A variável ws-file-status permite verificar se a operação de abertura foi bem-sucedida.

A estrutura PERFORM UNTIL executa um laço até atingir o fim do arquivo.

A instrução READ lê um registro de cada vez.

Em seguida, EVALUATE examina o tipo de evento e seleciona uma ação.

Esse comando lembra a estrutura switch de outras linguagens.

Quando ocorre uma classificação prevista, o programa apresenta uma mensagem e incrementa o contador.

Arquivo de teste

Crie um arquivo de texto contendo os registros abaixo, em que os três primeiros caracteres representam o código.

APFALTERACAO NA BIBLIOTECA AUTORIZADA
RACACESSO NEGADO A RECURSO CRITICO
JCLMODIFICACAO DE JOB FINANCEIRO
NETCONEXAO EXTERNA NAO RECONHECIDA
INFEXECUCAO ROTINEIRA CONCLUIDA

Nosso programa deverá identificar quatro eventos para revisão.

O registro INF será ignorado pela regra de classificação atual.

Isso não significa que seja necessariamente seguro; significa apenas que nenhuma regra foi criada para esse código.

Uma limitação importante

O programa considera qualquer ocorrência de APF, RAC, JCL ou NET como um alerta.

Num ambiente real, essa estratégia produziria muitos falsos positivos.

Alterações autorizadas em bibliotecas APF podem fazer parte da manutenção.

Falhas RACF podem decorrer de erros operacionais legítimos.

Jobs JCL são modificados durante mudanças aprovadas.

Conexões externas podem ser completamente normais.

Portanto, um sistema de monitoramento profissional precisa incorporar contexto.

O evento ocorreu durante uma janela autorizada?

Quem solicitou a alteração?

Existe uma mudança aprovada?

O destino de rede está permitido?

A operação corresponde ao comportamento histórico?

Essas informações são essenciais para diferenciar um evento suspeito de uma atividade legítima.


🧪 Capítulo IX — JCL: executando nosso laboratório em ambiente z/OS

No mundo mainframe, COBOL e JCL frequentemente trabalham juntos.

COBOL implementa a lógica da aplicação.

JCL descreve como determinadas tarefas batch serão executadas.

Em nosso exemplo, consideraremos que o programa KAIJISEC já foi compilado e ligado, estando disponível numa biblioteca de carga apropriada.

O JCL abaixo é ilustrativo e deve ser adaptado aos padrões e permissões do ambiente.

//KAIJISEC JOB (ACCT),'AUDIT LAB',
//             CLASS=A,MSGCLASS=X,
//             NOTIFY=&SYSUID
//*
//RUN      EXEC PGM=KAIJISEC
//STEPLIB  DD DISP=SHR,
//             DSN=LAB.COBOL.LOAD
//SYSOUT   DD SYSOUT=*
//AUDITDD  DD DISP=SHR,
//             DSN=LAB.SECURITY.INPUT

Observe um detalhe fundamental.

Nosso programa COBOL foi escrito com ASSIGN TO "AUDIT.DAT" e organização LINE SEQUENTIAL.

Para executar a mesma lógica em z/OS tradicional, precisamos adaptar a associação do arquivo ao DDNAME e utilizar um formato de registro compatível com o compilador, o runtime e o dataset.

Uma versão propriamente mainframe poderia declarar:

select audit-file
    assign to AUDITDD
    organization is sequential
    file status is ws-file-status.

Nesse caso, a definição do arquivo e sua estrutura física devem ser ajustadas conjuntamente.

O dataset deve conter registros com o layout esperado pelo programa.

Em uma implementação simples, poderíamos utilizar registros de comprimento fixo e preencher os campos de acordo com o FD.

A solução inicial com LINE SEQUENTIAL é particularmente conveniente para testes locais com compiladores que suportam esse formato.

Por que essa distinção importa?

Porque COBOL não funciona isoladamente do ambiente.

Uma aplicação que executa num computador pessoal pode precisar de adaptações para utilizar datasets MVS.

O compilador, o runtime, a organização dos arquivos e os recursos do sistema operacional influenciam a solução.

Essa também é uma lição de segurança.

Conhecer a lógica do programa não basta; precisamos conhecer o ambiente no qual ele executa.


🔐 Capítulo X — RACF, APF, SMF e a defesa em profundidade

Vamos aprimorar nosso laboratório.

Em vez de depender exclusivamente de registros fictícios, um sistema corporativo pode utilizar informações de auditoria provenientes de mecanismos legítimos do z/OS.

SMF: a memória operacional do sistema

SMF significa System Management Facilities.

É uma infraestrutura de coleta e registro de eventos e métricas no z/OS.

Determinados tipos de registros SMF documentam informações sobre execução, utilização de recursos, operações do sistema e eventos relacionados à segurança.

Registros do tipo 80, por exemplo, estão associados à auditoria de eventos RACF.

Mas não devemos imaginar que todo evento SMF possa ser lido diretamente como uma linha de texto.

Muitos registros possuem estruturas binárias complexas, layouts específicos e variações conforme o tipo e subtipo.

Um programa COBOL profissional precisa conhecer essas estruturas.

A arquitetura recomendada

Em um projeto didático de monitoramento, poderíamos desenvolver a seguinte sequência:

  1. Coletar registros SMF por meios autorizados.

  2. Extrair os tipos de evento necessários.

  3. Interpretar os layouts utilizando ferramentas e documentação apropriadas.

  4. Normalizar os eventos para um arquivo ou fluxo de dados.

  5. Executar regras de classificação.

  6. Correlacionar eventos com usuários, horários e mudanças aprovadas.

  7. Gerar relatórios e alertas para revisão humana.

A aplicação COBOL poderia participar da etapa de classificação.

Ferramentas especializadas poderiam realizar coleta, correlação e análise mais sofisticada.

O que monitorar?

Em um ambiente corporativo, merecem atenção especial:

Bibliotecas privilegiadas: mudanças em bibliotecas APF, componentes de inicialização e bibliotecas críticas.

Identidades: criação de usuários, alterações de permissões, elevações de privilégio e uso de contas de serviço.

Execução batch: alterações inesperadas em jobs, procedimentos catalogados e parâmetros críticos.

Comunicação externa: conexões não previstas, mudanças em destinos permitidos e fluxos de dados incomuns.

Integridade de software: divergências entre componentes implantados e versões aprovadas.

Automação: alterações em pipelines, scripts REXX, configurações e ferramentas com capacidade de implantação.

A importância da correlação

Um único acesso negado pelo RACF pode ser apenas um erro.

Entretanto, imagine a seguinte sequência hipotética:

Às 02h10 ocorre uma tentativa de acesso a uma biblioteca crítica.

Às 02h12 uma identidade recebe uma autorização adicional.

Às 02h14 um membro de biblioteca é alterado.

Às 02h17 um job inesperado é executado.

Às 02h20 surge uma comunicação externa desconhecida.

Isoladamente, cada evento exige interpretação.

Em conjunto, podem justificar uma investigação urgente.

Essa é uma das diferenças entre registrar dados e produzir inteligência de segurança.


🕵️ Capítulo XI — O malware ensina uma lição sobre confiança e fornecedores

O caso Videostrong demonstra que o risco não termina no código escrito pelos profissionais de uma organização.

Também precisamos considerar componentes produzidos por terceiros.

No mundo mainframe, essa preocupação se estende a:

Bibliotecas comerciais, ferramentas de monitoração, agentes de automação, produtos de segurança, componentes de conectividade, aplicações adquiridas, pacotes de atualização e soluções integradas a pipelines DevOps.

Isso não significa que esses produtos sejam suspeitos por natureza.

Significa que precisam participar de um processo adequado de avaliação e controle.

SBOM: o inventário dos componentes

SBOM significa Software Bill of Materials.

É uma relação estruturada dos componentes que integram determinado software.

Sua finalidade é melhorar a visibilidade sobre dependências e tecnologias utilizadas.

Uma organização que conhece seus componentes consegue investigar mais rapidamente a exposição a vulnerabilidades conhecidas.

Porém, uma SBOM não comprova que o software seja seguro.

Ela é um instrumento de transparência, não uma garantia absoluta.

Assinaturas digitais e integridade

Assinaturas digitais podem ajudar a verificar autoria e integridade de artefatos, desde que as chaves e os processos de confiança estejam adequadamente protegidos.

Hashes também são úteis para detectar alterações.

Mas atenção: um hash apenas confirma a correspondência entre conteúdos.

Se um arquivo malicioso for considerado a versão de referência, calcular seu hash não o tornará confiável.

É fundamental que a referência seja obtida por um processo independente e legítimo.

O paralelo com o firmware

O problema XCPE revelou que mecanismos de certificação podem ser contornados quando o processo de avaliação não examina suficientemente o comportamento do equipamento após sua inicialização.

A lição para a engenharia de software é poderosa.

Não devemos avaliar somente a aparência inicial de um componente.

Precisamos compreender seu comportamento em operação, suas dependências e a possibilidade de receber instruções externas posteriormente.


⚙️ Capítulo XII — Dez medidas para fortalecer um ambiente IBM Z

Kaiji finalmente chega à sala onde a equipe de segurança acompanha o ambiente corporativo.

Em vez de apostar, ele deseja estabelecer regras.

E a primeira é simples:

A banca não pode possuir privilégios ilimitados.

1. Proteger as bibliotecas APF

Revisar regularmente as bibliotecas autorizadas e restringir rigorosamente as permissões de atualização.

Alterações devem passar por processos formais de mudança.

2. Revisar autorizações RACF

Identificar permissões excessivas, contas antigas, identidades de serviço e acessos administrativos que não sejam mais necessários.

Aplicar o menor privilégio.

3. Controlar programas privilegiados

Examinar programas com capacidades especiais e validar sua origem.

A execução privilegiada precisa ser justificada, controlada e auditável.

4. Proteger a cadeia de implantação

Aplicar controles nos repositórios, pipelines, ferramentas de build e processos de liberação.

Uma alteração maliciosa pode entrar antes de o programa chegar à produção.

5. Adotar segregação de funções

Evitar que a mesma pessoa ou identidade possa desenvolver, aprovar e implantar alterações críticas sem controles independentes.

6. Monitorar SMF e eventos RACF

Selecionar eventos relevantes, manter registros protegidos e estabelecer regras de investigação.

O monitoramento precisa ter responsáveis e procedimentos de resposta.

7. Validar componentes de terceiros

Verificar procedência, versões, assinaturas quando disponíveis e recomendações de segurança dos fornecedores.

Manter inventário atualizado.

8. Proteger os canais de comunicação

Controlar conexões externas, autenticação de serviços, certificados e integrações.

Um programa COBOL pode ser seguro em sua lógica e ainda assim depender de uma integração mal protegida.

9. Testar recuperação e integridade

Backups são essenciais, mas precisam ser verificados.

Uma recuperação baseada em componentes comprometidos poderá restaurar o problema.

Os procedimentos devem prever fontes confiáveis de software e configurações.

10. Exercitar a resposta a incidentes

Simular alterações indevidas, credenciais comprometidas e tentativas de acesso a bibliotecas críticas.

Verificar se a equipe consegue identificar, conter, investigar e recuperar o ambiente.

A existência de uma ferramenta não garante que ela esteja corretamente configurada ou que a equipe saiba utilizá-la numa emergência.


🎰 Capítulo XIII — Um laboratório de investigação: cinco perguntas antes de liberar um programa COBOL

Imagine que uma equipe está prestes a colocar um novo programa em produção.

O nome do programa é FINPAG01.

Ele processa pagamentos.

Kaiji recebe a tarefa de revisar sua segurança.

Não basta verificar se o programa compila.

Ele precisa responder a cinco perguntas.

Primeira pergunta: quem escreveu o código?

A versão que será executada corresponde a um commit e a uma mudança formalmente aprovados?

Segunda pergunta: quem compilou?

O pipeline de construção utiliza ferramentas confiáveis e parâmetros controlados?

Terceira pergunta: onde o programa será instalado?

A biblioteca de destino possui proteções adequadas?

Se estiver associada a execução privilegiada, a justificativa foi revisada?

Quarta pergunta: com quais permissões executará?

A identidade utilizada possui somente os acessos necessários?

Quinta pergunta: como detectaremos uma alteração indevida?

Existem registros, verificações de integridade e responsáveis pela investigação?

Essas perguntas representam uma forma prática de aplicar a lição do XCPE ao cotidiano de desenvolvimento.

Um exercício para o estudante

Crie uma pequena aplicação COBOL chamada VALIDA01.

Ela deverá receber um arquivo de inventário contendo:

  • Nome de um programa.

  • Identificação da versão aprovada.

  • Identificação da versão implantada.

  • Indicador de aprovação da mudança.

O programa deve comparar os campos.

Se as versões forem diferentes, deverá produzir um alerta.

Se a alteração não possuir aprovação, deverá produzir outro alerta.

Se ambos estiverem corretos, deverá indicar que o registro passou pelas verificações.

Depois, amplie o exercício para gerar um relatório consolidado.

Esse laboratório não comprova a integridade criptográfica dos programas.

Ele ensina a lógica de comparação entre o estado esperado e o estado observado.

Em uma solução real, os identificadores devem ser derivados de evidências confiáveis, como manifestos assinados, inventários controlados e processos seguros de implantação.


🧩 Capítulo XIV — Curiosidades: quando a ficção encontra a engenharia

Curiosidade 1 — O malware pode se comportar como um produto comercial

O XCPE utilizava uma arquitetura modular, permitindo diferentes formas de monetização.

Essa característica lembra plataformas que oferecem serviços por meio de componentes independentes.

A diferença está na ausência de consentimento e na finalidade maliciosa.

Curiosidade 2 — MQTT não é um protocolo criminoso

O mesmo protocolo empregado numa operação maliciosa pode ser utilizado legitimamente para telemetria industrial e automação.

Bloquear uma tecnologia inteira simplesmente porque criminosos a utilizaram pode causar impactos desnecessários.

A defesa deve considerar contexto, autorização e comportamento.

Curiosidade 3 — Um sistema pode ser comprometido sem apresentar falhas visíveis

A televisão pode continuar funcionando.

Uma aplicação financeira também pode continuar processando transações enquanto alguma atividade indevida ocorre em outro componente.

Por isso, testes funcionais não substituem verificações de segurança.

Curiosidade 4 — Os mainframes também dependem de cadeias de fornecimento

Apesar das diferenças arquiteturais, ambientes IBM Z utilizam ferramentas, componentes de software, bibliotecas, atualizações e integrações de múltiplas origens.

A confiança precisa acompanhar toda essa cadeia.

Curiosidade 5 — Segurança é também um problema econômico

No caso XCPE, o incentivo financeiro era parte fundamental da operação.

O aparelho vendido continuava gerando possibilidades de receita para os operadores.

Isso explica por que algumas campanhas criminosas investem tanto em persistência, automação e evasão.

Curiosidade 6 — A quantidade de dispositivos não mede diretamente o prejuízo

Mais de 1,3 milhão de aparelhos comprometidos constitui uma escala significativa.

Mas não podemos calcular o prejuízo financeiro total apenas multiplicando o número de equipamentos por um valor arbitrário.

É necessário conhecer receitas criminosas, perdas das vítimas, impactos operacionais e outras variáveis.

Curiosidade 7 — Kaiji representa o usuário sem informações suficientes

Uma característica recorrente de Kaiji é a desigualdade entre participantes e organizadores dos jogos.

Os administradores conhecem mecanismos ocultos.

Os participantes precisam descobrir as regras enquanto enfrentam consequências.

Essa assimetria de informação é uma metáfora particularmente útil para o mercado de dispositivos conectados.

Curiosidade 8 — O maior problema pode estar no que não conseguimos observar

Uma organização pode ter excelentes regras para seus programas COBOL e, mesmo assim, desconhecer o comportamento de uma ferramenta privilegiada instalada por terceiros.

Quanto maior a capacidade de um componente, maior deve ser a exigência de transparência, controle e monitoramento.


🧠 Capítulo XV — A grande lição de Kaiji: nunca entregue todas as fichas a um único participante

Depois de atravessar tantos jogos perigosos, Kaiji compreende uma regra essencial.

Não se deve participar de uma competição na qual o adversário controla secretamente todas as condições.

Em segurança informática, precisamos transformar essa ideia em arquitetura.

Nenhuma identidade deve ter poderes ilimitados sem justificativa.

Nenhum componente deve ser considerado seguro exclusivamente por sua origem declarada.

Nenhum fornecedor deve receber confiança irrestrita.

Nenhuma atualização deve ser liberada sem controles adequados.

Nenhum mecanismo de auditoria deve depender exclusivamente do componente que está sendo auditado.

É aqui que entra o conceito de defesa em profundidade.

Em vez de confiar numa única barreira, a organização distribui controles por diferentes camadas.

No mainframe, isso pode envolver RACF, proteção de datasets, integridade de software, controles de implantação, segregação de funções, monitoramento SMF e procedimentos de resposta.

Cada camada possui responsabilidades diferentes.

E nenhuma deve ser tratada como solução mágica.

Zero Trust não significa desconfiar de todas as pessoas

Significa evitar que a localização de um componente ou a identidade declarada de um serviço seja suficiente para conceder acesso irrestrito.

As permissões devem considerar identidade, contexto, necessidade e controles apropriados.

Para o programador COBOL, isso se traduz em práticas concretas.

Validar entradas.

Tratar erros.

Evitar informações sensíveis desnecessárias em logs.

Não colocar credenciais diretamente no código.

Utilizar identidades de execução com permissões mínimas.

Proteger bibliotecas e arquivos.

Testar comportamentos inesperados.

E compreender que segurança da aplicação e segurança da plataforma são responsabilidades complementares.


🎬 Epílogo — A última aposta de Kaiji: o verdadeiro patrimônio é a confiança

A madrugada termina.

Kaiji observa a pequena TV Box agora desconectada da internet.

O aparelho continua sobre a mesa.

Ele pagou por aquele equipamento.

Esperava receber entretenimento.

Mas descobriu que outra pessoa havia transformado sua compra numa fonte clandestina de receitas.

— Então o problema não era somente o vírus...

Exatamente.

Era a confiança.

Confiança no fabricante.

Confiança no sistema operacional.

Confiança no firmware.

Confiança nos processos de certificação.

Confiança na cadeia que leva um produto da fábrica à residência.

E confiança nos mecanismos que deveriam impedir alterações clandestinas.

O mesmo princípio vale para o universo IBM Z.

Um programa COBOL pode conter décadas de regras de negócio cuidadosamente aperfeiçoadas.

Uma transação CICS pode executar corretamente milhões de vezes.

Uma base Db2 pode manter informações fundamentais para uma instituição.

Um conjunto de jobs JCL pode sustentar processos financeiros inteiros.

Mas todos esses componentes dependem de uma infraestrutura cujas permissões, versões, bibliotecas e integrações precisam ser continuamente protegidas.

O caso XCPE demonstra que a origem de uma ameaça pode estar antes mesmo da primeira execução do equipamento pelo comprador.

É uma advertência para a indústria de tecnologia.

E também para quem trabalha com sistemas corporativos.

Não devemos perguntar apenas se nosso programa está seguro. Precisamos perguntar se podemos confiar na cadeia inteira que permite a ele funcionar.

Kaiji ergue a xícara de café.

— Desta vez, eu quero conhecer as regras antes de apostar!

ZAWA... ZAWA... ZAWA...

E, em algum lugar de um centro de processamento de dados, um programador COBOL examina cuidadosamente a próxima alteração de uma biblioteca autorizada.

Porque a segurança não começa quando o ataque acontece.

Ela começa quando decidimos quais componentes merecem nossa confiança.

No cassino digital, a banca só ganha sempre quando ninguém fiscaliza as regras.


📖 Fontes e referências técnicas

  1. Google Threat Intelligence Group — Shutting the Door on the XCPE Botnet, 2 de novembro de 2026. Investigação primária da infraestrutura XCPE, arquitetura do malware, persistência, monetização e medidas de interrupção.
    https://cloud.google.com/blog/topics/threat-intelligence/shutting-the-door-on-the-xcpe-botnet

  2. Fast Company Brasil — Google bane fabricante de TV Box após descobrir malware em mais de 1,3 milhão de aparelhos, 5 de novembro de 2026. Cobertura do incidente e dados relativos ao Brasil.
    https://fastcompanybrasil.com/tech/google-bane-fabricante-tv-box-apos-descobrir-malware-13-milhao-aparelhos/

  3. Malwarebytes — A hidden backdoor put 1.3 million TV boxes to work for criminals, 3 de novembro de 2026. Análise complementar dos riscos para consumidores e persistência no firmware.
    https://www.malwarebytes.com/blog/mobile/2026/11/a-hidden-backdoor-put-1-3-million-tv-boxes-to-work-for-criminals

  4. IBM Documentation — Documentação de z/OS, RACF, APF, SMF, JCL e Enterprise COBOL. Referência para implementação e verificação de procedimentos específicos de cada versão e ambiente.
    https://www.ibm.com/docs/en/zos

  5. Kaiji — Gyakkyō Burai Kaiji: Ultimate Survivor. Obra de ficção utilizada como recurso narrativo e educativo. As falas e situações envolvendo o incidente XCPE foram criadas exclusivamente para este artigo e não pertencem à história original do anime.


Bellacosa Mainframe — Onde a arqueologia da computação encontra os desafios da segurança digital. Porque compreender o passado é uma das melhores maneiras de proteger o futuro.

☕ Até o próximo café no Bellacosa Mainframe!

Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...