☕ 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

Mostrar mensagens com a etiqueta SIEM. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta SIEM. Mostrar todas as mensagens

sábado, 8 de novembro de 2025

🕶️ DIABOLIK NO MAINFRAME — Red Team e a Arte de Atacar as Certezas

 

Bellacosa Mainframe e diabolik entra no redt eam

☕ Um Café no Bellacosa Mainframe

🕶️ DIABOLIK NO MAINFRAME — Red Team e a Arte de Atacar as Certezas

O melhor Red Team não pergunta apenas como invadir o mainframe. Pergunta quais certezas precisam deixar de ser verdade para que o próprio ambiente abra caminho para o incidente.



Imagine a cena.

São 03:17.

O IBM Z continua funcionando.

As LPARs estão ativas. CICS responde. Db2 está disponível. JES2 continua processando sua fila. RACF permanece de pé. O SIEM está recebendo eventos. Há redundância de rede. Existe um segundo caminho. Os operadores estão na sala.

No dashboard, quase tudo continua verde.

Então alguém pergunta:

— Estamos seguros?

E Diabolik sorri.

Porque essa é a pergunta errada.

A pergunta interessante é:

Quais coisas precisam deixar de funcionar simultaneamente para transformar uma arquitetura aparentemente segura em uma arquitetura vulnerável?

Bem-vindo ao Red Team.

E, principalmente, bem-vindo ao Red Team visto sob a tutela de Diabolik, o criminoso fictício que não ficou famoso simplesmente pela força bruta.

Diabolik observa.

Planeja.

Estuda pessoas.

Entende rotinas.

Explora confiança.

Procura exceções.

E espera.

Esse último verbo é importantíssimo.

Porque um atacante sofisticado não precisa encontrar um sistema permanentemente vulnerável.

Ele pode esperar pelo momento em que o sistema temporariamente se torna vulnerável.

No mainframe isso muda completamente nossa maneira de pensar segurança.



🕶️ CAPÍTULO 1 — Diabolik não começa pelo RACF

Imagine que contratamos uma equipe para realizar um exercício autorizado de Red Team em uma grande organização que utiliza IBM Z.

A abordagem superficial começaria perguntando:

Qual versão do z/OS?

Existe RACF?

Existe MFA?

Como está a rede?

Quais aplicações estão expostas?

Existem APIs?

Existe USS?

Existe Zowe?

Tudo isso importa.

Mas Diabolik provavelmente começaria antes.

Ele colocaria sobre a mesa uma folha em branco e escreveria:

ASSET

O que realmente estamos protegendo?

Talvez:

CORE BANKING
CARD AUTHORIZATION
PIX
CUSTOMER DATA
PAYROLL
SECURITIES
INSURANCE
CLEARING
SETTLEMENT

Agora outra pergunta:

THREAT ACTORS

De quem estamos protegendo esses ativos?

Depois:

TRUST

Em quem o funcionamento desses sistemas confia?

Finalmente:

ASSUMPTIONS

Quais condições acreditamos que sempre serão verdadeiras?

É aqui que a investigação começa a ficar interessante.

Porque podemos descobrir que a organização possui milhões investidos em tecnologia, mas toda aquela arquitetura depende de algumas premissas extremamente humanas.

Por exemplo:

O operador seguirá o procedimento.

A conta privilegiada será usada corretamente.

O segundo link estará disponível.

O backup será recuperável.

O certificado será renovado.

O alerta será investigado.

A mudança será registrada.

O fornecedor continuará confiável.

A conta de serviço permanecerá protegida.

Alguém interromperá o processo se algo der errado.

Diabolik circula essa última frase.

"Alguém interromperá."

Será?



🎭 CAPÍTULO 2 — Red Team não é apenas invasão

Existe uma caricatura bastante comum de Red Team.

Alguém de moletom preto diante de seis monitores digitando furiosamente:

ACCESS GRANTED

Pronto.

Invadimos.

Mas Red Team maduro é muito mais interessante.

O exercício autorizado tenta colocar determinadas premissas defensivas sob pressão.

Pergunta:

Se um adversário real estivesse estudando nossa organização, quais caminhos poderiam levá-lo aos ativos importantes?

Isso envolve tecnologia, mas também:

  • identidade;

  • processos;

  • segregação de funções;

  • configuração;

  • monitoramento;

  • fornecedores;

  • procedimentos;

  • comportamento;

  • contingência;

  • comunicação;

  • resposta a incidentes;

  • governança.

Nosso estudo anterior chegou exatamente a esse ponto: o Red Team deixa de olhar apenas para o controle isolado e começa a investigar a arquitetura de confiança.

No mainframe isso é extraordinariamente importante.

Porque IBM Z raramente vive sozinho.

Temos algo parecido com:

USER
  ↓
DEVICE
  ↓
NETWORK
  ↓
IDENTITY
  ↓
APPLICATION
  ↓
CICS / IMS
  ↓
COBOL
  ↓
DB2 / VSAM

Mas existem dezenas de arestas laterais:

APIs
MQ
FTP/SFTP
z/OS Connect
USS
Zowe
Schedulers
DevOps
CI/CD
Cloud
Distributed Systems
Service Accounts
Vendors
Automation

Segurança é um grafo.

E cada aresta representa alguma forma de confiança.



🕸️ CAPÍTULO 3 — Diabolik desenha o grafo

Pegue um programa COBOL aparentemente inocente:

BILLING01

Talvez ele leia:

CUSTOMER
ACCOUNT
TRANSACTION
PRODUCT

e atualize:

INVOICE

O iniciante poderia pensar:

PROGRAM → DATABASE

Diabolik desenharia:

                    USER
                      │
                      ▼
                   RACF ID
                      │
               ┌──────┴──────┐
               ▼             ▼
             CICS           BATCH
               │             │
               ▼             ▼
            BILLING01      JCL/JES
               │             │
          ┌────┴────┐        │
          ▼         ▼        ▼
        DB2        VSAM    DATASET
          │
          ▼
       CUSTOMER

Depois continuaria:

CI/CD ──────► LOADLIB
                ▲
                │
DEVELOPER ──────┘

SERVICE ACCOUNT ──► AUTOMATION

API ──► z/OS Connect ──► CICS

MQ ──► APPLICATION

Agora temos algo muito mais interessante.

Porque a pergunta deixou de ser:

O Db2 está protegido?

Passou a ser:

Quantos caminhos diferentes podem produzir uma alteração relevante no estado desse negócio?

Esse é pensamento de Red Team.



🔐 CAPÍTULO 4 — RACF não protege contra todas as formas de confiança

RACF é extraordinariamente importante.

Mas existe uma armadilha conceitual:

RACF = SEGURANÇA

Não.

RACF é uma parte da arquitetura de segurança.

Imagine:

USER01
READ   DATASET.A

USER01
UPDATE DATASET.B

USER01
EXECUTE TRANSACTION.C

USER01
SUBMIT JOB.D

Cada permissão individualmente pode ter justificativa.

Auditor pergunta:

READ A?
OK.

UPDATE B?
OK.

CICS C?
OK.

JOB D?
OK.

Quatro verdes.

Diabolik pergunta:

READ A
+
UPDATE B
+
TRANSACTION C
+
JOB D
=
?

Essa é uma pergunta completamente diferente.

Não estamos mais analisando permissões isoladas.

Estamos analisando capacidade acumulada.

O usuário talvez não possua uma permissão perigosa.

Pode possuir uma combinação perigosa de permissões legítimas.

Essa diferença é fundamental.



🧩 CAPÍTULO 5 — Compartmentalization

Aqui aparece um princípio antigo de segurança e inteligência: compartimentalização.

Compare:

USUÁRIO A
├── desenvolvimento
├── aprovação
├── implantação
├── produção
├── auditoria
└── rollback

com:

DEV      → desenvolvimento
APPROVER → aprovação
OPS      → implantação
SEC      → segurança
AUDIT    → auditoria

Por que dividir?

Porque comprometimento possui blast radius.

Se uma identidade conhece, controla ou executa tudo, comprometer aquela identidade potencialmente compromete tudo.

O mesmo raciocínio vale para pessoas.

Vale para contas técnicas.

Vale para pipelines.

Vale para fornecedores.

Vale para APIs.

Vale para certificados.

Vale até para informações aparentemente banais.

Não precisamos transformar cada funcionário em suspeito.

O objetivo é exatamente o contrário: construir um sistema no qual a confiança em uma única pessoa não seja suficiente para destruir o modelo inteiro.


👤 CAPÍTULO 6 — Insider Threat não significa vilão

Quando falamos em insider threat, muita gente imediatamente imagina:

FUNCIONÁRIO TRAIDOR

Esse é apenas um cenário.

Insider risk pode envolver:

malícia
erro
negligência
coerção
engenharia social
credencial comprometida
procedimento inadequado
excesso de privilégio
informação excessiva
automação mal configurada

Imagine um analista autorizado.

Ele não deseja prejudicar ninguém.

Mas possui:

PRODUCTION ACCESS

Recebe uma solicitação aparentemente normal.

Executa determinada atividade.

O problema talvez não seja:

BAD EMPLOYEE

Pode ser:

BAD PROCESS

Um sistema resiliente deve presumir que humanos eventualmente erram.

Por isso temos segregação.

Aprovação.

Logging.

Monitoring.

Least privilege.

Dual control.

Change management.

Não porque todo mundo seja criminoso.

Porque confiança absoluta é um controle de segurança péssimo.


🎬 CAPÍTULO 7 — A fotografia virou filme

Aqui chegamos ao nosso Risk Scoring.

A segurança tradicional frequentemente produz fotografias:

USER01 = LOW RISK

Diabolik pergunta:

Quando?

08:00?

11:30?

03:17?

O contexto muda.

Por isso deveríamos pensar:

RISK(t)

Risco como função do tempo.

Imagine:

08:00

USER01
LOCATION = NORMAL
DEVICE   = MANAGED
ACTION   = NORMAL
RISK     = 20

Agora:

03:17

USER01
UNUSUAL CONTEXT
PRIVILEGED ACTION
CHANGE WINDOW
MULTIPLE FAILURES
RISK = ?

O usuário continua sendo USER01.

Mas o contexto deixou de ser o mesmo.

É exatamente por isso que comportamento importa.

Não perguntamos apenas:

WHO ARE YOU?

Perguntamos:

IS WHAT YOU ARE DOING
CONSISTENT WITH
WHAT WE EXPECT?

🧮 CAPÍTULO 8 — Risk Score não é sentença

É importante não transformar Risk Scoring em numerologia.

Podemos imaginar pedagogicamente:

BASELINE.................... 20
privileged operation........ +15
unusual context............. +10
change detected............. +10
control degraded............ +15
unexpected dependency....... +10
-------------------------------
RISK........................ 80

Esses números são ilustrativos.

O princípio importa mais que o peso.

Cada evento altera contexto.

Portanto:

EVENT
   ↓
CONTEXT
   ↓
RISK RECALCULATION
   ↓
DECISION

Isso permite decisões graduais:

ALLOW

CHALLENGE

REQUIRE APPROVAL

LIMIT

ESCALATE

STOP

Diabolik detestaria principalmente a última.


🚨 CAPÍTULO 9 — CHANGE é um evento de segurança

Mainframe conhece Change Management muito bem.

Mudou:

JCL
COBOL
PARMLIB
PROCLIB
LOADLIB
RACF
DB2
CICS
IMS
MQ
NETWORK
CERTIFICATE

Registramos.

Aprovamos.

Testamos.

Ou deveríamos.

Mas Red Team acrescenta outra pergunta:

O que mais mudou como consequência dessa mudança?

Imagine:

PRIMARY LINK DOWN

Temos backup.

Ótimo.

Então:

BACKUP LINK DEGRADED

Ainda funciona.

Então:

MONITORING DELAY

Ainda funciona.

Então:

SECURITY ALERT

Provavelmente falso positivo.

Então alguém diz:

BYPASS

Separadamente:

LINK FAILURE       = manageable
BACKUP DEGRADED    = manageable
MONITORING DELAY   = manageable
ALERT              = manageable
BYPASS             = manageable

Juntos:

FAILURE
+
DEGRADATION
+
BLINDNESS
+
ALERT
+
BYPASS
=
CRITICAL STATE

Esse é o filme que a fotografia não mostra.


🧀 CAPÍTULO 10 — O queijo suíço chegou à LPAR

Existe uma metáfora maravilhosa para isso: o Swiss Cheese Model.

Imagine várias barreiras.

IDENTITY
████████○████

NETWORK
███○█████████

RACF
█████████○███

APPLICATION
█████○███████

MONITORING
██○██████████

Cada camada possui imperfeições.

Normalmente os buracos não se alinham.

Uma camada compensa a outra.

Mas existe uma condição perigosa:

○
○
○
○
○
│
▼
INCIDENT

Diabolik não precisa destruir todas as fatias.

Precisa encontrar o momento em que os buracos se alinham.

Essa é uma maneira extraordinária de ensinar defesa em profundidade.


💥 CAPÍTULO 11 — Ataque a redundância

Temos:

LPAR A
LPAR B

Excelente.

Mas:

LPAR A ─┐
        ├── DEPENDENCY X
LPAR B ─┘

Temos realmente redundância?

Talvez tenhamos dois componentes com single point of failure compartilhado.

Isso aparece em inúmeras arquiteturas:

2 SERVERS
1 NETWORK

2 APPLICATIONS
1 DATABASE

2 LINKS
1 PROVIDER

2 ADMINS
1 PRIVILEGED ACCOUNT

2 SYSTEMS
1 CERTIFICATE

Diabolik procura exatamente isso.

Não necessariamente:

WHAT IS MISSING?

Mas:

WHAT DO ALL THESE THINGS
SECRETLY DEPEND ON?

Essa pergunta deveria estar pendurada em toda War Room.


🧠 CAPÍTULO 12 — Normalization of Deviance

Agora aparece um inimigo extremamente humano.

Primeiro:

"Hoje vamos fazer uma exceção."

Nada acontece.

Depois:

"Fizemos isso semana passada."

Nada acontece.

Mais tarde:

"Fazemos sempre assim."

Finalmente:

"Nem sei por que existe essa regra."

Parabéns.

A exceção virou processo.

Isso é normalização do desvio.

E existe um erro lógico perigosíssimo associado:

FIZEMOS 100 VEZES
E NADA ACONTECEU

Portanto:

É SEGURO

Não.

A conclusão correta é:

100 EXECUÇÕES
SEM INCIDENTE

Somente isso.

Ausência histórica de desastre não prova ausência de risco.


🛑 CAPÍTULO 13 — Quem pode apertar STOP?

Essa talvez seja uma das perguntas mais importantes de toda esta história.

Imagine:

NORMAL OPERATION
       ↓
     CHANGE
       ↓
  RISK INCREASE
       ↓
       ???

Quem pode dizer:

STOP

?

Existe autoridade?

Existe procedimento?

Existe pressão para continuar?

O operador consegue interromper uma operação crítica?

O gerente aceitará?

O negócio pressionará?

Existe escalation path?

Esse componente organizacional pode ser mais importante que determinado produto de cybersecurity.

O fluxo saudável seria:

CHANGE DETECTED
       ↓
     STOP
       ↓
    ASSESS
       ↓
  RECALCULATE
       ↓
   ┌───┴───┐
   ▼       ▼
CONTINUE  ABORT

Não:

CHANGE
 ↓
"VAI ASSIM MESMO"

⏳ CAPÍTULO 14 — Temporal Attack Surface

Aqui está um conceito delicioso para nossa investigação.

Superfície de ataque normalmente é apresentada como:

PORTS
APIs
SERVICES
USERS
DEVICES
NETWORKS

Mas existe também uma dimensão temporal.

Imagine:

00:00 ───────────────────────── 23:59
                 │
             03:17
                 │
          ATTACK WINDOW

Talvez durante alguns minutos aconteçam simultaneamente:

CHANGE WINDOW
+
REDUCED STAFF
+
DEGRADED CONTROL
+
PRIVILEGED ACTIVITY
+
MONITORING NOISE

Às 09:00 alguém audita:

RACF.......... OK
NETWORK....... OK
CICS.......... OK
DB2........... OK
MONITORING.... OK

Tudo verde.

Mas isso é uma fotografia das 09:00.

O incidente ocorreu às 03:17.

Precisamos reconstruir:

02:55
03:01
03:07
03:12
03:16
03:17
03:18
03:25

Agora temos um filme.


🕵️ CAPÍTULO 15 — Diabolik procura combinações

Uma auditoria convencional pode produzir:

CONTROL A = PASS
CONTROL B = PASS
CONTROL C = PASS
CONTROL D = PASS

Diabolik pergunta:

A + B + C + D = ?

Melhor ainda:

A DEGRADED
+
B BYPASSED
+
C DELAYED
+
D MISINTERPRETED
=
?

Esse é o coração do exercício.

Não testar apenas controles.

Testar interações entre controles.


🔬 CAPÍTULO 16 — Como transformar isso em exercício defensivo

Uma organização pode estruturar um exercício autorizado sem sair tentando "hackear tudo".

Primeiro:

1. IDENTIFY ASSETS

Quais serviços não podem parar?

Depois:

2. MAP TRUST

Quem e o que possui acesso?

Depois:

3. MAP DEPENDENCIES

De que cada componente depende?

Depois:

4. IDENTIFY ASSUMPTIONS

O que estamos assumindo que nunca falhará?

Depois:

5. CREATE SAFE SCENARIOS

Por exemplo:

E se o link primário desaparecer?

E se uma conta privilegiada precisar ser bloqueada?

E se o SIEM ficar temporariamente indisponível?

E se o operador principal não estiver presente?

E se uma mudança emergencial acontecer?

E se um fornecedor estiver indisponível?

E se o segundo caminho compartilhar a mesma dependência?

Depois:

6. OBSERVE RESPONSE

Finalmente:

7. IMPROVE CONTROLS

Esse é Red Team gerando engenharia.

Não espetáculo.


🖥️ CAPÍTULO 17 — O COBOL também entra na investigação

Nosso programador COBOL iniciante talvez esteja pensando:

— Mas eu apenas programo.

Não existe "apenas programo" em sistemas críticos.

Imagine:

IF AUTHORIZED
    PERFORM UPDATE-ACCOUNT
END-IF.

A pergunta tradicional é:

AUTHORIZED funciona?

Red Team pergunta:

Quem determina AUTHORIZED?

De onde vem esse estado?

Ele pode ficar obsoleto?

Existe contexto?

Existe logging?

Existe override?

Quem aprova?

O que acontece em erro?

FAIL OPEN ou FAIL CLOSED?

Uma pequena condição COBOL pode representar uma enorme decisão de negócio.

Por isso segurança não termina no RACF.

Ela atravessa aplicação, dados e processo.


🧪 CAPÍTULO 18 — O teste mais perigoso é o pressuposto

Faça uma reunião.

Pergunte:

O que nunca pode acontecer aqui?

Alguém responderá:

"Os dois links nunca cairão juntos."

Anote.

Outro:

"Ninguém compartilha essa conta."

Anote.

Outro:

"Produção nunca recebe alteração sem aprovação."

Anote.

Outro:

"Se o monitoramento parar, perceberemos."

Anote.

Outro:

"Nosso fornecedor cuida disso."

Circule duas vezes.

Essas frases são excelentes candidatas para exercícios defensivos.

Red Team é, em grande parte, uma máquina de transformar:

EU ACHO

em:

NÓS TESTAMOS

🎩 CAPÍTULO 19 — O Easter Egg das 03:17

Nos artigos Bellacosa Mainframe, 03:17 aparece quando alguma coisa resolveu acontecer justamente na hora em que ninguém queria.

Aqui ele ganha significado especial.

Às 03:17 não precisamos imaginar um invasor cinematográfico digitando furiosamente.

Podemos imaginar:

03:17:00 CONTROL A DEGRADED

03:17:03 DEPENDENCY B UNAVAILABLE

03:17:07 AUTOMATION RETRY

03:17:12 OPERATOR OVERRIDE

03:17:18 SECURITY EVENT

03:17:21 ALERT DELAYED

Diabolik não criou necessariamente nenhuma dessas condições.

Ele apenas adoraria descobrir que elas podem coexistir.

E esse é o Easter Egg:

O momento mais perigoso de uma arquitetura talvez não seja quando alguma coisa quebra. É quando várias coisas continuam funcionando mal o suficiente para ninguém decidir parar.


🕶️ CAPÍTULO 20 — A verdadeira lição de Diabolik

Diabolik não deveria nos ensinar a ser criminosos.

Como metáfora de Red Team, deveria ensinar-nos a pensar como adversários para construir sistemas melhores.

Ele não pergunta apenas:

COMO QUEBRO O RACF?

Pergunta:

POR QUE PRECISARIA QUEBRÁ-LO?

Não:

COMO DERRUBO A REDUNDÂNCIA?

Mas:

ELA É REALMENTE INDEPENDENTE?

Não:

COMO ENGANAR O OPERADOR?

Mas:

O PROCESSO DEPENDE DEMAIS DE UMA PESSOA?

Não:

COMO DESATIVAR O ALERTA?

Mas:

O QUE ACONTECE QUANDO O ALERTA
APARECE NO PIOR MOMENTO POSSÍVEL?

Essa mudança de mentalidade é enorme.


☕ EPÍLOGO — O mainframe que confiava demais

Às 03:17 daquela noite imaginária, nosso mainframe não estava sem segurança.

Esse é justamente o problema.

Ele possuía:

RACF
SIEM
MFA
NETWORK SECURITY
SEGREGATION
CHANGE MANAGEMENT
BACKUP
REDUNDANCY
MONITORING
PROCEDURES

Tudo existia.

Mas segurança não é a soma dos produtos instalados.

Segurança é o comportamento da arquitetura quando o mundo deixa de colaborar com nossas premissas.

É por isso que Red Team importa.

Blue Team pergunta:

Estamos detectando ataques?

Purple Team aproxima ataque e defesa.

Auditoria pergunta:

Os controles estão implementados?

Operações pergunta:

O serviço está disponível?

Risk Management pergunta:

Qual é nossa exposição?

E nosso Diabolik imaginário entra silenciosamente na War Room, olha para aquele enorme painel verde e faz outra pergunta:

"Qual dessas coisas verdes precisa ficar amarela para fazer as outras perderem valor?"

Silêncio.

Essa é a pergunta.

Porque o adversário sofisticado não precisa derrotar todas as nossas defesas.

Não precisa derrubar o IBM Z.

Não precisa destruir RACF.

Não precisa comprometer cada aplicação.

Não precisa vencer cada operador.

Pode precisar apenas encontrar:

FAILURE
+
CHANGE
+
EXCEPTION
+
TRUST
+
PREDICTABILITY
+
TIMING

e esperar que essas condições se encontrem.

Por isso eu resumiria toda a filosofia do Bellacosa Red Team Mainframe numa única equação:

SECURITY ≠ CONTROLS

Segurança real é:

SECURITY =
CONTROLS
+
CONTEXT
+
RESILIENCE
+
OBSERVABILITY
+
SEGREGATION
+
GOVERNANCE
+
ABILITY TO STOP

E o Risk Scoring completa:

RISK = RISK(t)

O risco de ontem não é necessariamente o risco de agora.

O usuário continua sendo o mesmo.

O programa COBOL continua sendo o mesmo.

A LPAR continua sendo a mesma.

O RACF continua sendo o mesmo.

Mas alguma coisa mudou.

E CHANGE pode transformar uma arquitetura.

Essa talvez seja a maior lição de Diabolik para quem trabalha com IBM Mainframe:

Não procure somente a vulnerabilidade. Procure a combinação de condições que transforma controles individualmente fortes em uma arquitetura coletivamente fraca.

Porque uma fortaleza não precisa perder todas as muralhas para ser penetrável.

Basta existir uma noite em que a ponte esteja abaixada, o guarda esteja olhando para outro lado, a contingência tenha sido improvisada e alguém diga:

"Está funcionando.

Pode continuar."

E, em algum lugar da War Room, o relógio muda silenciosamente para:

03:17

Diabolik sorri.

O Red Team anota.

E o Blue Team, na manhã seguinte, transforma aquela descoberta em uma arquitetura melhor.

sábado, 4 de fevereiro de 2023

Capítulo II — Operação, Detecção, Resposta e Recuperação

 

Bellacosa Mainframe e a cybersegurança parte II

☕ Um Café no Bellacosa Mainframe

Capítulo II — Operação, Detecção, Resposta e Recuperação

Ou: o Agente 86 recebeu um alerta às 03h17, entrou no SOC pelo Cone do Silêncio, descobriu que a KAOS estava usando uma conta perfeitamente válida — e Igor restaurou o backup errado porque a fita estava etiquetada como “FINAL-FINAL-AGORA-VAI”



Prólogo — O telefone-sapato tocou às 03h17

O telefone-sapato tocou às 03h17 da madrugada.

O Agente 86 levou alguns segundos para encontrá-lo. Primeiro atendeu o abajur, depois tentou conversar com uma torradeira e finalmente percebeu que estava usando o aparelho no pé direito.

— 86, temos um incidente — disse o Chefe.

— A KAOS invadiu o datacenter?

— Ainda não sabemos.

— Roubaram dados?

— Ainda não sabemos.

— Derrubaram o CICS?

— Ainda não sabemos.

— Então o que sabemos?

— Um alerta apareceu no SIEM. Depois apareceram outros 4.732. Igor clicou em “reconhecer todos” para limpar a tela.

— Chefe... acreditaria se eu dissesse que isso fazia parte da estratégia?

— Não.

— Eu também não.

No Capítulo I aprendemos o vocabulário: ativo, ameaça, vulnerabilidade, risco, confidencialidade, integridade, disponibilidade, autenticação, autorização, malware, criptografia e programação segura.

Agora começa a parte que separa a segurança decorativa da segurança operacional.

Porque nenhum ambiente consegue impedir todos os erros, ataques e falhas. Em algum momento uma senha será reutilizada, uma biblioteca apresentará vulnerabilidade, um funcionário clicará, um fornecedor será comprometido, um certificado vencerá, um job executará fora de sequência ou um atacante usará uma credencial válida.

A pergunta profissional não é apenas:

“Como impedir que algo aconteça?”

Também precisamos perguntar:

  • Como perceberemos rapidamente?

  • Como distinguiremos ruído de incidente real?

  • Quem terá autoridade para agir?

  • Como conteremos sem destruir o negócio?

  • Que evidências serão preservadas?

  • Como recuperaremos dados e serviços confiáveis?

  • Como evitaremos repetir a mesma história?

Pegue o café. O sistema está online, mas isso não significa que esteja saudável — e uma luz verde sozinha nunca absolveu ninguém.



1. Prevenção é apenas o primeiro turno da operação

Existe uma fantasia confortável segundo a qual segurança funciona como uma muralha medieval: instalamos firewall, antivírus, RACF, MFA e criptografia; depois trancamos a porta e voltamos para casa.

O atacante moderno prefere justamente não parecer atacante. Ele pode entrar com:

  • conta legítima comprometida;

  • token de sessão roubado;

  • API autorizada usada de forma abusiva;

  • ferramenta administrativa existente;

  • job scheduler corporativo;

  • acesso remoto de fornecedor;

  • credencial de serviço esquecida;

  • dependência comprometida no pipeline.

Quando uma operação maliciosa utiliza mecanismo legítimo, a simples pergunta “o acesso foi autorizado pelo sistema?” não basta. Precisamos perguntar se o comportamento é coerente com a identidade, a função, o horário, o ativo, o volume e o contexto.

Um usuário autorizado a consultar cem clientes por dia pode estar tecnicamente autorizado e comportamentalmente suspeito ao consultar dois milhões durante a madrugada.

No mainframe, uma transação pode apresentar:

  • RACF RC=0;

  • CICS funcionando;

  • Db2 respondendo;

  • conexão TLS válida;

  • programa corretamente autorizado;

e ainda assim representar fraude, abuso interno ou credencial comprometida.

Segurança operacional vive nessa diferença entre permitido e esperado.



2. Antes do alerta: conheça o que existe

Não existe detecção séria sem inventário. Se ninguém conhece os ativos, ninguém sabe quais eventos importam.

2.1 Inventário não é apenas lista de servidores

Um inventário útil inclui:

  • sistemas e aplicações;

  • LPARs e subsistemas;

  • started tasks;

  • regiões CICS e IMS;

  • bancos Db2 e arquivos VSAM;

  • datasets críticos;

  • filas e canais MQ;

  • APIs e endpoints;

  • servidores USS;

  • certificados e chaves;

  • usuários privilegiados;

  • contas técnicas;

  • agendamentos;

  • pipelines e repositórios;

  • fornecedores e conexões externas;

  • responsáveis técnicos e de negócio.

O ativo precisa ter proprietário. “A aplicação é da TI” não é propriedade; é abandono coletivo com crachá.

Pergunte:

  1. Quem responde pelo serviço?

  2. Qual processo de negócio depende dele?

  3. Quais dados são tratados?

  4. Qual a criticidade?

  5. Qual o RTO e o RPO?

  6. Quem pode interrompê-lo numa emergência?

  7. Onde estão os contatos fora do expediente?

  8. Quais sistemas precisam voltar antes dele?

2.2 Classificação

Nem todo dado merece o mesmo controle. Classifique conforme sensibilidade, impacto e obrigação legal:

  • público;

  • interno;

  • confidencial;

  • restrito;

  • regulado;

  • crítico para continuidade.

O objetivo não é criar etiquetas bonitas. A classificação deve alterar comportamento: acesso, criptografia, retenção, mascaramento, backup, logging, transmissão e descarte.

2.3 Dependências invisíveis

Um sistema aparentemente simples pode depender de DNS, identidade, certificados, MQ, banco, storage, scheduler, rede, fornecedor e relógio sincronizado.

O Agente 86 pode restaurar o CICS em dez minutos e continuar parado porque o certificado do API gateway venceu três semanas antes e ninguém o colocou no inventário.

Dica Bellacosa: desenhe a cadeia mínima da transação crítica, da entrada até o registro final. Marque cada identidade, protocolo, fila, arquivo, banco, log e fornecedor atravessado. Esse mapa vale ouro durante um incidente.



3. Gestão de vulnerabilidades — scanner não é oráculo

O scanner encontra sinais de fraqueza. Ele não conhece sozinho todo o contexto do negócio.

3.1 CVE, CWE e CVSS

  • CVE identifica uma vulnerabilidade conhecida específica.

  • CWE descreve uma classe de fraqueza, como validação inadequada ou controle de acesso incorreto.

  • CVSS ajuda a expressar severidade técnica.

Severidade não é igual a risco empresarial.

Uma vulnerabilidade crítica pode estar em componente não executado, isolado e sem dados relevantes. Outra de severidade média pode estar numa API exposta que controla pagamentos.

Priorize considerando:

  • exploração conhecida;

  • exposição à Internet;

  • privilégio necessário;

  • facilidade de exploração;

  • criticidade do ativo;

  • dados alcançáveis;

  • controles compensatórios;

  • impacto operacional;

  • movimento lateral possível.

3.2 O ciclo correto

  1. Descobrir os ativos.

  2. Identificar vulnerabilidades.

  3. Validar o achado.

  4. Avaliar exposição e impacto.

  5. Priorizar.

  6. Corrigir ou mitigar.

  7. Testar novamente.

  8. Registrar exceções e prazos.

  9. Medir recorrência.

“Aceitar risco” não significa ignorar. Significa que uma autoridade informada aceitou determinado risco por período definido, com justificativa, controles compensatórios e data de revisão.

3.3 Patch sem ensaio também derruba produção

Atualizar é essencial, mas mudança insegura pode criar indisponibilidade. O processo precisa de:

  • avaliação;

  • ambiente de teste;

  • plano de implementação;

  • rollback;

  • janela;

  • validação técnica e funcional;

  • monitoração pós-mudança.

No mainframe, SMP/E, HOLDDATA, manutenção de middleware, compatibilidade de compiladores, DBRM, packages, exits e integrações precisam ser entendidos. Segurança e disponibilidade não são inimigas; são requisitos que precisam conversar.





4. Evento, alerta, incidente e crise — não são sinônimos

Essa distinção evita que toda luz vermelha convoque o presidente da empresa.

Evento

Algo observável aconteceu:

  • login;

  • job iniciado;

  • dataset aberto;

  • regra de firewall acionada;

  • falha de autenticação;

  • transação concluída.

A maioria dos eventos é normal.

Alerta

Uma regra, modelo ou analista marcou determinado evento ou conjunto como digno de atenção.

Exemplo:

Dez falhas de login para a mesma conta em cinco minutos.

Alerta não prova ataque. Pode ser usuário esquecendo senha, script mal configurado ou tentativa hostil.

Incidente

Ocorrência que compromete ou ameaça confidencialidade, integridade, disponibilidade, autenticidade ou operação.

Exemplos:

  • conta comprometida;

  • acesso indevido;

  • malware confirmado;

  • exfiltração;

  • alteração não autorizada;

  • indisponibilidade causada por ataque.

Crise

Quando o impacto ultrapassa a resposta técnica e exige coordenação executiva, jurídica, regulatória, comunicacional e de continuidade.

Um incidente pode ser tecnicamente pequeno e reputacionalmente enorme. Outro pode ser tecnicamente complexo, mas bem contido e quase invisível ao cliente.


5. Logging — a caixa-preta do datacenter

Log é memória operacional. Sem ele, a investigação depende de palpites, lembranças e do testemunho de Igor, que afirma ter apertado “o botão verde — ou talvez o vermelho”.

5.1 O que registrar

Um registro útil responde:

  • quando aconteceu;

  • qual identidade agiu;

  • de onde veio;

  • qual recurso foi usado;

  • qual ação foi tentada;

  • qual foi o resultado;

  • qual regra autorizou ou negou;

  • qual identificador correlaciona a transação;

  • qual foi o código de retorno;

  • quanto tempo levou.

5.2 O que não registrar

Evite colocar em log:

  • senha;

  • chave privada;

  • token completo;

  • código MFA;

  • número integral de cartão;

  • dado pessoal sem necessidade;

  • conteúdo confidencial indiscriminado.

Log também é dado sensível. Ele pode revelar identidades, arquitetura, horários, endereços, comandos e regras internas.

5.3 O identificador de correlação

Uma transação moderna atravessa várias camadas. Sem um identificador consistente, cada sistema conta uma história separada.

Imagine:

CORRELATION-ID: TX-20260825-031700-0086

Esse identificador pode acompanhar API gateway, z/OS Connect, CICS, programa COBOL, Db2, MQ e resposta ao cliente.

5.4 Exemplo COBOL didático

DISPLAY 'SECLOG|'
        'CORR=' WS-CORRELATION-ID '|'
        'USER=' WS-USER-ID '|'
        'ACTION=TRANSFERENCIA|'
        'RESULT=' WS-RESULTADO '|'
        'RC=' WS-RETURN-CODE

Em produção, o formato deve ser padronizado, protegido e integrado à plataforma de logging. O importante é não escrever mensagens vagas como:

DEU ERRO

“Deu erro” é a versão digital de encontrar um cadáver com um bilhete dizendo “alguma coisa aconteceu”.

5.5 Tempo confiável

Sem sincronização de horário, a timeline vira ficção científica. Um servidor afirma que a credencial foi usada antes de ser roubada; outro registra a resposta antes da requisição.

Mantenha fontes de tempo confiáveis, timezone conhecido e tratamento consistente.


6. SIEM, SOC e o perigo da árvore de Natal

SIEM

Security Information and Event Management coleta, normaliza, correlaciona e pesquisa dados de segurança.

Ele pode reunir:

  • autenticação;

  • endpoints;

  • firewall;

  • cloud;

  • aplicações;

  • banco;

  • mainframe;

  • identidade;

  • vulnerabilidades;

  • threat intelligence.

Mas SIEM não é um detetive autônomo infalível. Sem fontes corretas, regras, contexto e operação, ele vira uma árvore de Natal: milhares de luzes piscando, ninguém sabendo qual representa incêndio.

SOC

Security Operations Center é a capacidade humana e processual de monitorar, analisar e coordenar resposta.

Pode ser interno, terceirizado ou híbrido. O importante é possuir:

  • cobertura definida;

  • responsabilidades;

  • níveis de escalonamento;

  • playbooks;

  • acesso a especialistas;

  • métricas;

  • autoridade para agir.

Falso positivo e falso negativo

  • Falso positivo: o alerta aponta ameaça inexistente.

  • Falso negativo: a ameaça existe, mas não é detectada.

Reduzir falsos positivos demais pode aumentar falsos negativos. Tornar a regra sensível demais pode afogar os analistas.

Detecção é equilíbrio, contexto e melhoria contínua.

Métricas que importam

  • tempo para detectar;

  • tempo para qualificar;

  • tempo para conter;

  • tempo para recuperar;

  • recorrência;

  • percentual de ativos cobertos;

  • qualidade das fontes;

  • alertas sem proprietário;

  • incidentes descobertos externamente.

Não comemore apenas “um milhão de eventos processados”. Isso mede volume, não proteção.


7. Mainframe também precisa falar com o SOC

O estereótipo do mainframe isolado morreu quando conectamos TCP/IP, web, APIs, DevOps, fornecedores e estações distribuídas.

No IBM Z, fontes relevantes podem incluir:

  • SMF;

  • registros RACF;

  • zSecure ou ferramentas equivalentes;

  • CICS monitoring e journaling;

  • Db2 audit e traces;

  • MQ events;

  • IMS logs;

  • JES e SDSF;

  • z/OSMF;

  • Communications Server;

  • USS syslog e audit;

  • FTP, SSH, TN3270 e APIs;

  • alterações em datasets e bibliotecas sensíveis.

Exemplos de sinais importantes

  • sucessivas falhas de autenticação;

  • uso incomum de usuário privilegiado;

  • alteração em perfil RACF;

  • concessão de SPECIAL, OPERATIONS ou acesso excessivo;

  • acesso fora do padrão a dataset sensível;

  • job submetido por identidade incomum;

  • mudança em biblioteca APF;

  • novo UID(0) no USS;

  • certificado alterado;

  • volume incomum de leitura ou transferência;

  • canal MQ criado ou modificado;

  • API chamada em velocidade incompatível com uso humano.

O desafio não é apenas extrair SMF. É transformar registros em contexto compreensível para o SOC.

Um alerta “ICH408I” sem explicação pode não ajudar um analista distribuído. Enriqueça com:

  • ativo;

  • proprietário;

  • criticidade;

  • identidade;

  • perfil envolvido;

  • histórico;

  • ação recomendada.


8. MITRE ATT&CK — o catálogo de comportamento da KAOS

O MITRE ATT&CK é uma base de conhecimento sobre táticas e técnicas observadas em adversários reais. Não é uma lista de produtos, nem uma sequência obrigatória.

Entre as táticas empresariais estão:

  • Reconhecimento;

  • Desenvolvimento de Recursos;

  • Acesso Inicial;

  • Execução;

  • Persistência;

  • Escalada de Privilégio;

  • Evasão;

  • Acesso a Credenciais;

  • Descoberta;

  • Movimento Lateral;

  • Coleta;

  • Comando e Controle;

  • Exfiltração;

  • Impacto.

O valor operacional está em perguntar:

“Se alguém executar esta técnica em nosso ambiente, quais sinais veremos?”

Exemplo

O atacante obtém senha de fornecedor.

  • Acesso Inicial: usa serviço remoto legítimo.

  • Descoberta: enumera sistemas e permissões.

  • Acesso a Credenciais: encontra segredo num script.

  • Movimento Lateral: alcança servidor intermediário.

  • Coleta: reúne relatórios.

  • Exfiltração: envia pequenos volumes.

  • Impacto: executa ransomware para distrair.

Se a empresa possui regra apenas para o ransomware, detecta o último ato e perde a investigação inteira.

O ATT&CK ajuda a construir cobertura, exercícios de Red Team, hipóteses de hunting e linguagem comum. A matriz é um mapa do comportamento, não um bingo de checkboxes. MITRE ATT&CK


9. Threat hunting — procurar antes que o alarme toque

Monitoramento tradicional responde a regras conhecidas. Threat hunting começa com hipótese.

Exemplo:

“Se uma credencial privilegiada fosse comprometida, o atacante poderia consultar datasets fora de seu padrão sem gerar falha de autorização.”

O hunter procura:

  • horários incomuns;

  • ativos nunca usados por aquela identidade;

  • sequência atípica de comandos;

  • crescimento de volume;

  • combinação rara de eventos;

  • acessos legítimos com finalidade suspeita.

O processo:

  1. Formular hipótese.

  2. Identificar fontes de dados.

  3. Pesquisar comportamento.

  4. Validar contexto.

  5. Investigar anomalias.

  6. Criar nova detecção.

  7. Melhorar a telemetria.

Threat hunting não é sair procurando “qualquer coisa estranha”. É investigação orientada por hipótese e conhecimento do ambiente.


10. Resposta a incidentes — o plano antes do incêndio

O NIST finalizou em 2025 a SP 800-61 Rev. 3, integrando resposta a incidentes ao gerenciamento de risco e às funções do CSF 2.0. A mensagem central é poderosa: resposta não começa quando o ataque é confirmado; preparação, governança, identificação, proteção e detecção fazem parte da capacidade de responder. NIST SP 800-61 Rev. 3

Para fins operacionais, podemos organizar a missão em:

  1. Preparação.

  2. Detecção e análise.

  3. Contenção.

  4. Erradicação.

  5. Recuperação.

  6. Lições aprendidas.

10.1 Preparação

Defina antes:

  • equipe;

  • contatos;

  • autoridade;

  • canais alternativos;

  • ferramentas;

  • acesso emergencial;

  • playbooks;

  • critérios de severidade;

  • obrigações legais;

  • fornecedores;

  • procedimentos de evidência;

  • ambientes de recuperação.

Se o diretório corporativo estiver indisponível, como a equipe encontrará os telefones? Se o e-mail estiver comprometido, por onde conversará? Se o cofre de senhas depender do ambiente atacado, quem abrirá a porta?

O Cone do Silêncio do Agente 86 é um ótimo exemplo de canal alternativo, exceto pelo pequeno detalhe de nunca funcionar.

10.2 Detecção e análise

Pergunte:

  • o que aconteceu?

  • quando começou?

  • quais ativos?

  • quais identidades?

  • qual escopo?

  • há persistência?

  • houve exfiltração?

  • o ataque continua?

  • qual impacto?

  • quais evidências sustentam a conclusão?

Não confunda ausência de evidência com evidência de ausência. Talvez o log não exista, esteja incompleto ou tenha sido apagado.

10.3 Contenção

Objetivo: limitar dano sem destruir capacidade de investigar ou operar.

Ações possíveis:

  • bloquear credencial;

  • revogar token;

  • isolar endpoint;

  • segmentar rede;

  • suspender integração;

  • limitar funcionalidade;

  • bloquear indicador;

  • preservar imagem e memória;

  • colocar regra temporária.

Desligar tudo pode conter o ataque e também apagar memória volátil, interromper negócio e alertar o adversário.

A contenção precisa considerar risco, evidência e missão.

10.4 Erradicação

Remova causa e presença:

  • malware;

  • conta criada;

  • persistência;

  • segredo exposto;

  • configuração insegura;

  • vulnerabilidade explorada;

  • acesso do fornecedor comprometido.

Trocar uma senha não resolve se o atacante possui token válido, outra conta ou chave de API.

10.5 Recuperação

Retorne de forma controlada:

  • restaure de fonte confiável;

  • aplique correções;

  • rotacione segredos;

  • valide integridade;

  • monitore intensamente;

  • reative em etapas;

  • confirme função de negócio;

  • comunique interessados.

10.6 Lições aprendidas

Pergunte sem caça às bruxas:

  • o que permitiu o incidente?

  • o que funcionou?

  • o que atrasou?

  • quais dados faltaram?

  • quais decisões foram confusas?

  • que controle precisa mudar?

  • como testar a melhoria?

Lição aprendida sem ação, responsável e prazo é apenas literatura pós-apocalíptica.


11. Classificação de severidade e playbooks

Nem todo incidente exige a mesma mobilização.

Uma matriz pode considerar:

  • criticidade do ativo;

  • sensibilidade do dado;

  • abrangência;

  • persistência;

  • impacto ao cliente;

  • indisponibilidade;

  • obrigação regulatória;

  • risco à vida ou segurança física;

  • exposição pública.

Playbook

Playbook é roteiro para tipo de ocorrência:

  • phishing;

  • conta comprometida;

  • ransomware;

  • vazamento;

  • DDoS;

  • segredo exposto;

  • fornecedor comprometido;

  • alteração privilegiada.

Ele deve informar:

  1. Gatilhos.

  2. Dados necessários.

  3. Passos iniciais.

  4. Decisões e autoridades.

  5. Contenção.

  6. Evidências.

  7. Comunicações.

  8. Critério de encerramento.

Playbook não substitui julgamento. Serve para que o julgamento comece vários degraus acima do pânico.


12. Forense digital — não pise nas pegadas da KAOS

Forense busca preservar, examinar e interpretar evidências digitais.

Princípios básicos

  • preservar o original;

  • documentar cada ação;

  • controlar acesso;

  • registrar horário e responsável;

  • calcular hashes quando apropriado;

  • trabalhar sobre cópias;

  • manter cadeia de custódia;

  • usar ferramentas e procedimentos defensáveis.

Ordem de volatilidade

Algumas evidências desaparecem rapidamente:

  • memória;

  • conexões;

  • processos;

  • sessões;

  • arquivos temporários;

  • disco;

  • backups e arquivos históricos.

Por isso, “desligue imediatamente” nem sempre é a primeira resposta correta.

Timeline

A investigação procura montar sequência:

03:12 — login remoto do fornecedor
03:14 — consulta a inventário
03:17 — falhas RACF em recurso crítico
03:19 — novo job submetido
03:23 — volume anormal em fila MQ
03:28 — transferência externa iniciada
03:31 — primeiro alerta qualificado

Uma timeline liga identidades, ativos e técnicas. Sem tempo sincronizado e correlação, ela vira um quebra-cabeça produzido por Kafka depois de três expressos.

Cadeia de custódia

Documenta quem coletou, quando, onde, como, quem recebeu e quais transformações ocorreram. É essencial quando a evidência pode sustentar processo disciplinar, regulatório ou judicial.


13. Ransomware — o incêndio pode ser cortina de fumaça

Ransomware moderno pode envolver:

  • acesso inicial;

  • roubo de credenciais;

  • movimento lateral;

  • desativação de defesa;

  • exfiltração;

  • destruição de backup;

  • criptografia;

  • extorsão.

O arquivo criptografado é o sintoma visível. O incidente começou antes.

Primeiras perguntas

  • Quais sistemas foram atingidos?

  • O ataque continua?

  • Há exfiltração?

  • Quais credenciais foram usadas?

  • Backups foram alcançados?

  • Há cópia offline?

  • Quais dados e clientes estão envolvidos?

  • Existe obrigação de notificação?

Backups

A CISA recomenda backups offline, criptografados e testados regularmente. Backup conectado permanentemente ao mesmo domínio e acessível pelas mesmas credenciais pode ser destruído junto com produção. CISA StopRansomware

Uma regra prática conhecida é 3-2-1-1-0:

  • 3 cópias dos dados;

  • 2 tipos de mídia ou plataformas;

  • 1 cópia fora do local;

  • 1 cópia offline ou imutável;

  • 0 erros após testes de verificação.

Não trate a fórmula como religião. Ajuste ao risco, à arquitetura e ao negócio.

Restaurar não encerra o incidente

Restaurar recupera disponibilidade. Ainda é necessário:

  • eliminar persistência;

  • corrigir entrada;

  • rotacionar credenciais;

  • validar integridade;

  • investigar vazamento;

  • monitorar retorno;

  • cumprir obrigações.


14. RTO, RPO e a fita “FINAL-FINAL”

RTO — Recovery Time Objective

Quanto tempo o serviço pode ficar indisponível.

RPO — Recovery Point Objective

Quanto dado pode ser perdido, expresso como ponto no tempo.

Exemplo:

  • RTO: duas horas;

  • RPO: quinze minutos.

Isso significa que a solução deve restaurar em até duas horas e perder no máximo quinze minutos de dados, conforme o cenário planejado.

Dependência e ordem de recuperação

Não adianta recuperar aplicação antes de identidade, rede, storage, banco ou mensageria.

Monte uma ordem:

  1. infraestrutura fundamental;

  2. identidade e segurança;

  3. dados e mensageria;

  4. serviços centrais;

  5. canais;

  6. integrações;

  7. relatórios e funções secundárias.

Backup não testado é esperança magnética

Teste:

  • leitura;

  • integridade;

  • tempo de restauração;

  • procedimentos;

  • permissões;

  • dependências;

  • capacidade da equipe;

  • recuperação em ambiente isolado.

Igor possuir vinte fitas não significa possuir vinte backups. Pode possuir dezenove cópias ilegíveis e uma gravação do almoço de confraternização de 1998.


15. Continuidade de negócio e recuperação de desastre

Continuidade de negócio

Como manter funções essenciais durante interrupção.

Disaster Recovery

Como restaurar tecnologia e dados após desastre.

São relacionados, mas não idênticos.

Uma empresa pode continuar aceitando operações com limites reduzidos enquanto o ambiente completo é recuperado. Essa operação degradada precisa ser desenhada, autorizada e testada.

Pergunte:

  • Qual é o serviço mínimo viável?

  • Que operações podem esperar?

  • Que controles não podem ser removidos?

  • Como evitar duplicidade no reprocessamento?

  • Como reconciliar dados depois?

  • Como comunicar clientes e reguladores?

Nunca resolva disponibilidade removendo segurança de forma permanente. “Modo emergência” precisa ter escopo, prazo, auditoria e retorno controlado.


16. O programador COBOL dentro da resposta

O desenvolvedor não é figurante. Ele conhece regras, arquivos, commits, códigos de retorno e comportamentos que as ferramentas não compreendem.

Durante um incidente, pode ajudar a responder:

  • esta sequência é possível?

  • que arquivos são atualizados?

  • existe reprocessamento?

  • a operação é idempotente?

  • o rollback cobre tudo?

  • quais mensagens indicam fraude?

  • que campos correlacionam transações?

  • qual job gera este resultado?

  • qual versão estava em produção?

Exemplo: tratamento de retorno

EVALUATE TRUE
    WHEN WS-DB2-SQLCODE = 0
         MOVE 'SUCESSO' TO WS-RESULTADO
    WHEN WS-DB2-SQLCODE = 100
         MOVE 'NAO-ENCONTRADO' TO WS-RESULTADO
    WHEN OTHER
         MOVE 'FALHA-TECNICA' TO WS-RESULTADO
         PERFORM REGISTRAR-EVENTO-SEGURANCA
         PERFORM EXECUTAR-ROLLBACK
END-EVALUATE

O objetivo não é registrar todo erro como ataque. É produzir sinal confiável e impedir estado inconsistente.

Idempotência

Se uma mensagem for processada novamente, o resultado deve ser controlado. Uma transferência não pode dobrar porque o consumidor caiu depois do débito e antes do acknowledgement.

Use:

  • identificador único;

  • controle de estado;

  • deduplicação;

  • transação adequada;

  • reconciliação.

Segurança no erro

Evite:

  • continuar com dados incompletos;

  • conceder acesso porque o autorizador não respondeu;

  • ocultar falha crítica;

  • expor SQL, dataset ou stack ao usuário;

  • gravar segredo no dump;

  • repetir operação destrutiva sem controle.


17. Exercício completo — Operação Telefone-Sapato

Cenário

Às 03h17, o SIEM detecta:

  • login válido de fornecedor;

  • origem incomum;

  • acesso a documentação interna;

  • falhas RACF em dataset crítico;

  • job submetido fora da janela;

  • aumento de volume numa fila MQ.

Passo 1 — Qualificar

Confirme fontes, horários, identidade, ativo e criticidade. Contate o fornecedor por canal confiável.

Passo 2 — Declarar incidente

Há combinação suficiente para investigação coordenada. Defina severidade, líder e canal seguro.

Passo 3 — Preservar

Guarde logs, eventos, comandos, metadados, configurações e evidências voláteis relevantes.

Passo 4 — Conter

  • revogue sessão;

  • suspenda a credencial;

  • limite conexão do fornecedor;

  • isole o ponto intermediário;

  • monitore contas relacionadas.

Passo 5 — Determinar escopo

Pesquise:

  • onde a credencial foi usada;

  • que recursos foram lidos;

  • que comandos foram executados;

  • se houve persistência;

  • se dados saíram;

  • se outras identidades foram obtidas.

Passo 6 — Erradicar

  • remova persistência;

  • corrija vulnerabilidade;

  • rotacione segredos;

  • revise acessos;

  • valide sistemas envolvidos.

Passo 7 — Recuperar

Reative conexões em etapas, com monitoramento reforçado e aprovação dos responsáveis.

Passo 8 — Aprender

Talvez a causa não tenha sido “fornecedor malicioso”, mas:

  • ausência de MFA resistente a phishing;

  • acesso excessivo;

  • segmentação inadequada;

  • falta de alerta sobre origem;

  • segredo em documentação;

  • resposta lenta fora do expediente.

A solução precisa atingir causas e não apenas trocar a senha.


18. Checklist da madrugada

Quando o alerta chegar, respire e confirme:

  1. Quem lidera?

  2. Qual canal será usado?

  3. O que sabemos como fato?

  4. O que é hipótese?

  5. Quais ativos e identidades estão envolvidos?

  6. O ataque continua?

  7. Que evidências precisam ser preservadas?

  8. Qual contenção reduz dano sem destruir a investigação?

  9. Quem pode autorizar indisponibilidade?

  10. Há impacto legal, regulatório ou ao cliente?

  11. Os backups são confiáveis e isolados?

  12. Qual a ordem de recuperação?

  13. Como validar integridade antes de voltar?

  14. Que monitoração permanecerá reforçada?

  15. Quem será responsável pelas melhorias?

Não execute comandos copiados às pressas sem compreender o efeito. Não publique detalhes em grupos amplos. Não negocie atribuição antes de confirmar fatos. Não confunda velocidade com correria.


Epílogo — O alarme que finalmente significava alguma coisa

Às 08h42, o Agente 86 voltou ao escritório do Chefe.

— Incidente contido. A credencial foi revogada, o acesso do fornecedor isolado, as evidências preservadas e os serviços críticos validados.

— Excelente, 86. E o backup?

— Igor restaurou a fita FINAL-FINAL-AGORA-VAI.

— Funcionou?

— Tecnicamente, sim.

— Tecnicamente?

— Recuperamos o sistema de folha de pagamento de 1997. Segundo os dados, eu ainda sou solteiro, o café custa cinquenta centavos e ninguém ouviu falar de ransomware.

— 86...

— Desculpe por isso, Chefe.

O Capítulo II termina com uma verdade que não cabe numa caixa de ferramenta: resiliência é uma capacidade organizacional.

Ela nasce quando inventário, vulnerabilidade, logging, detecção, resposta, forense, backup e recuperação funcionam juntos.

Prevenção reduz a probabilidade. Detecção reduz o tempo de permanência. Contenção reduz o alcance. Erradicação remove a causa. Recuperação devolve a missão. Aprendizado reduz a chance de repetição.

O melhor SOC não é o que possui a maior parede de monitores. É aquele que sabe quais sinais importam, possui autoridade para agir, preserva evidências, mantém o negócio informado e transforma cada incidente em melhoria verificável.

Para o programador COBOL iniciante, a lição é direta: seu código participa da defesa. Cada validação, return code, log, commit, rollback, identificador de correlação e regra de reprocessamento pode acelerar ou destruir uma investigação.

Quando o telefone-sapato tocar às 03h17, ninguém desejará uma mensagem dizendo apenas DEU ERRO.

Queremos saber o que ocorreu, com quem, onde, quando, em qual transação, com qual resultado — e como voltar para casa sem deixar a KAOS escondida dentro do próximo batch.


Referências para continuar a missão

☕ Um Café no Bellacosa Mainframe

Cibersegurança: dos fundamentos à recuperação

Uma jornada em dois capítulos para entender a linguagem da segurança, reconhecer riscos e organizar a operação antes, durante e depois de um incidente.

Vocabulário e Fundamentos da Cibersegurança

Tríade CIA, ativos, ameaças, vulnerabilidades, risco, malware, autenticação, criptografia, redes, aplicações web e codificação segura.

Ler o Capítulo I no artigo original →

Operação, Detecção, Resposta e Recuperação

Inventário, vulnerabilidades, eventos, alertas, incidentes, crise, monitoramento, contenção, evidências, continuidade e recuperação.

Ler o Capítulo II no artigo original →

Mapa da missão: o primeiro capítulo explica o que precisa ser protegido e por quê; o segundo mostra como observar, decidir, responder e restaurar a operação quando a prevenção não for suficiente.

Capítulo I — Vocabulário e Fundamentos da Cibersegurança

Abrir fora do quadro ↗

Capítulo II — Operação, Detecção, Resposta e Recuperação

Abrir fora do quadro ↗

quarta-feira, 4 de janeiro de 2023

Capítulo I — Vocabulário e Fundamentos da Cibersegurança

 


☕ Um Café no Bellacosa Mainframe

Capítulo I — Vocabulário e Fundamentos da Cibersegurança

Ou: o Agente 86 recebeu a missão de proteger o datacenter, entrou pela porta blindada usando o telefone-sapato — e descobriu que Igor havia publicado a senha do RACF em Base64 porque “agora ninguém consegue ler”



Prólogo — A porta secreta que não era tão secreta

— 86, temos uma emergência — disse o Chefe, fechando cuidadosamente as persianas do escritório.

— A KAOS invadiu o datacenter?

— Pior. Igor fez um curso de quinze páginas sobre cibersegurança e declarou o ambiente completamente protegido.

— Isso parece ótimo, Chefe.

— Ele instalou um firewall, colocou a senha em Base64 e desativou os logs para que os atacantes não soubessem o que estávamos fazendo.

— Ah. Nesse caso, estamos mortos.

Para quem começa em COBOL, cibersegurança às vezes parece um continente descoberto recentemente: cheio de siglas, especialistas vestidos de preto e diagramas onde uma caveira atravessa uma nuvem até alcançar um servidor. Mas o programador mainframe já vive dentro desse assunto há décadas, mesmo quando ninguém usava os nomes atuais.

Quando você protege um dataset com RACF, verifica um return code, impede que um programa atualize uma conta sem autorização, registra uma operação no SMF, faz COMMIT ou ROLLBACK, separa desenvolvimento de produção e limita o acesso de uma transação CICS, você está praticando segurança.

O problema começa quando confundimos ferramentas com segurança. Firewall não é segurança completa. Criptografia não é segurança completa. MFA não é segurança completa. Antivírus, WAF, SIEM, RACF e auditoria são componentes de um sistema maior.

Segurança é a capacidade de conhecer o que precisa ser protegido, reduzir a possibilidade de dano, detectar quando algo saiu do esperado, responder com disciplina e restaurar o serviço sem transformar o incidente num festival de improvisos.

Pegue seu café. O Agente 86 já está descendo para a sala de controle — infelizmente pelo elevador errado.



1. Cibersegurança não é apenas impedir hackers

Uma definição introdutória diz que cibersegurança é a prática de proteger sistemas, redes, programas e dados contra ataques, danos ou acessos não autorizados. Está correta, mas descreve apenas a fachada do prédio.

Na vida real, cibersegurança envolve pessoas, processos, tecnologia e decisões de negócio. Inclui:

  • descobrir quais ativos existem;

  • compreender quais deles são críticos;

  • identificar ameaças e vulnerabilidades;

  • administrar identidades e privilégios;

  • desenvolver software seguro;

  • monitorar o ambiente;

  • responder a incidentes;

  • recuperar dados e serviços;

  • atender leis e contratos;

  • preservar evidências;

  • aprender com cada falha.

O NIST Cybersecurity Framework 2.0 organiza essa jornada em seis funções: Governar, Identificar, Proteger, Detectar, Responder e Recuperar.

Repare no verbo “Governar”. Antes de comprar uma ferramenta, alguém precisa definir responsabilidades, apetite de risco, prioridades, recursos e critérios de decisão. Se um scanner encontra vinte mil vulnerabilidades e ninguém sabe quais sistemas processam folha de pagamento, cartão ou PIX, temos dados, mas não temos governo.

No IBM Z, isso pode ser traduzido assim:

  • Governar: definir proprietários, políticas, segregação de funções e risco aceitável.

  • Identificar: inventariar LPARs, aplicações, started tasks, usuários, datasets, filas MQ, APIs, certificados e dependências.

  • Proteger: usar RACF, criptografia, hardening, MFA, menor privilégio e programação segura.

  • Detectar: coletar SMF, logs de CICS, Db2, z/OSMF, USS, rede e ferramentas de segurança.

  • Responder: bloquear credenciais, conter o incidente, preservar evidências e comunicar responsáveis.

  • Recuperar: restaurar dados confiáveis, validar integridade e retomar os serviços na ordem correta.

As funções não formam uma fila de batch na qual uma só começa quando a anterior termina. Governar, identificar, proteger e detectar são atividades contínuas; resposta e recuperação precisam estar prontas antes do incidente.

Curiosidade de corredor: o melhor plano de resposta não é aquele que está num PDF de 180 páginas. É aquele que a equipe consegue encontrar e executar enquanto o telefone toca, o diretor pergunta quando o sistema volta e o Agente 86 está preso dentro da cabine telefônica.




2. A tríade CIA — o triângulo que sustenta o castelo

O primeiro mapa mental da segurança é a tríade CIA:

  • Confidentiality — Confidencialidade;

  • Integrity — Integridade;

  • Availability — Disponibilidade.

Não confunda CIA com a agência americana. O Agente 86 já confundiu e passou quarenta minutos tentando apresentar credenciais ao triângulo.

2.1 Confidencialidade

Confidencialidade significa que a informação só pode ser acessada por pessoas, sistemas ou processos autorizados.

Exemplos:

  • um cliente vê apenas suas próprias contas;

  • um operador acessa os comandos necessários, mas não toda a administração do sistema;

  • uma aplicação CICS lê somente os recursos indispensáveis;

  • uma cópia de produção usada em testes tem dados mascarados;

  • backups, dumps e logs recebem proteção equivalente à informação original.

Criptografia ajuda a preservar confidencialidade, mas não resolve tudo. Um banco de dados perfeitamente criptografado pode ser exposto por uma aplicação autenticada que execute SELECT * FROM CLIENTES e entregue o resultado ao usuário errado.

Confidencialidade depende também de autorização, classificação, minimização, mascaramento, segregação, descarte seguro e proteção das chaves.

2.2 Integridade

Integridade significa preservar correção, completude, consistência e origem confiável.

É comum imaginar um invasor alterando saldos, mas a integridade também pode ser perdida por:

  • erro de programação;

  • campo truncado;

  • processamento duplicado;

  • mensagem MQ consumida duas vezes;

  • restauração de backup antigo;

  • atualização parcial;

  • regra de negócio incorreta;

  • falha de sincronização.

Considere este trecho didático:

COMPUTE WS-NOVO-SALDO =
        WS-SALDO-ATUAL - WS-VALOR-TRANSFERENCIA

Se WS-VALOR-TRANSFERENCIA aceitar valor negativo, subtrair -100 adicionará 100 ao saldo. O programa compilou. O RACF autorizou. O banco estava disponível. Mesmo assim, a integridade foi destruída porque a regra de domínio não foi validada.

Integridade não significa apenas “o arquivo não mudou”. Significa que as mudanças foram corretas, completas, autorizadas e rastreáveis.

2.3 Disponibilidade

Disponibilidade é a capacidade de acessar informação e serviços quando a missão exige.

Não basta a tela responder ao PING. Se uma autorização de cartão leva três minutos, o serviço está tecnicamente vivo e operacionalmente morto.

Disponibilidade envolve:

  • redundância;

  • capacidade;

  • proteção contra DDoS;

  • manutenção;

  • monitoração;

  • backup;

  • recuperação de desastre;

  • tolerância a falhas;

  • operação degradada segura.

Duas siglas são fundamentais:

  • RTO: tempo máximo aceitável para restaurar o serviço;

  • RPO: quantidade máxima aceitável de dados perdidos, normalmente expressa em tempo.

Se o RTO é duas horas, não adianta descobrir durante o desastre que restaurar o ambiente exige nove. Se o RPO é zero, a arquitetura precisa tratar replicação e consistência de forma muito diferente daquela que admite perder uma hora.

2.4 O que existe além da CIA?

A tríade é a fundação, não o edifício inteiro. Também precisamos considerar:

  • autenticidade;

  • responsabilização;

  • rastreabilidade;

  • privacidade;

  • não repúdio;

  • resiliência;

  • segurança física;

  • segurança humana.

Uma assinatura digital pode ajudar a demonstrar origem e integridade, mas o não repúdio depende também de identidade verificada, custódia da chave, timestamp, auditoria e processo jurídico. Igor assinar um arquivo com uma chave privada encontrada num diretório público não cria prova celestial de autoria.



3. Ativo, ameaça, vulnerabilidade, exposição e risco

Essas palavras são frequentemente misturadas até virarem uma sopa de siglas. Vamos separá-las.

Ativo

É algo que possui valor: dinheiro, informação, sistema, reputação, credencial, certificado, serviço, conhecimento ou capacidade operacional.

Um job crítico, uma chave criptográfica e a confiança do cliente são ativos, embora não tenham a mesma forma.

Ameaça

É uma circunstância capaz de causar dano.

Pode ser:

  • criminoso;

  • funcionário mal-intencionado;

  • usuário enganado;

  • incêndio;

  • falha elétrica;

  • erro humano;

  • fornecedor comprometido;

  • ransomware;

  • bug destrutivo.

Ameaça não é sinônimo de hacker. Uma enchente não possui endereço IP e ainda assim pode derrubar o datacenter.

Vulnerabilidade

É uma fraqueza que pode ser explorada ou acionada:

  • SQL construído por concatenação;

  • senha reutilizada;

  • software desatualizado;

  • conta órfã;

  • porta administrativa exposta;

  • excesso de privilégios;

  • ausência de segregação de funções;

  • procedimento de recuperação nunca testado.

Exposição

É a condição que coloca o ativo ao alcance da ameaça. Um servidor vulnerável desligado e isolado possui vulnerabilidade, mas exposição pequena. O mesmo servidor publicado na Internet possui outro nível de risco.

Controle

É uma medida que reduz probabilidade ou impacto:

  • MFA;

  • firewall;

  • validação;

  • revisão de código;

  • limite transacional;

  • segmentação;

  • monitoração;

  • backup imutável.

Risco

Uma fórmula didática é:

Risco ≈ Probabilidade × Impacto

Mas risco não é uma multiplicação divina capaz de produzir a verdade com duas casas decimais. Precisamos avaliar valor do ativo, exposição, capacidade do adversário, controles existentes, detectabilidade, impacto operacional, jurídico e reputacional.

Uma vulnerabilidade CVSS 9.8 numa biblioteca não é automaticamente o maior risco da empresa. Pergunte:

  1. O componente vulnerável é realmente utilizado?

  2. Está exposto?

  3. Existe exploração conhecida?

  4. A exploração exige autenticação?

  5. Com qual privilégio o processo roda?

  6. Que dados podem ser alcançados?

  7. Existem controles compensatórios?

  8. Qual seria o impacto para o negócio?

Dica do Agente 86: nunca permita que um número substitua a investigação. O placar mostra onde olhar; não conta sozinho toda a história.



4. Malware — o zoológico dentro do telefone-sapato

Malware é software criado ou utilizado para executar ações maliciosas. As categorias ajudam a estudar, mas uma única amostra pode possuir várias capacidades.

Vírus

Anexa-se a arquivo ou programa e normalmente depende da execução para se espalhar. É o passageiro clandestino.

Worm

Propaga-se automaticamente por redes ou serviços. Se o vírus pede carona, o worm possui pernas e conhece os horários dos trens.

Trojan

Parece legítimo, mas carrega função maliciosa. “Trojan” descreve principalmente o disfarce ou forma de entrada, não todas as ações posteriores.

Ransomware

Bloqueia, criptografa ou destrói acesso e exige pagamento. Operações modernas podem combinar roubo de dados, ameaça de publicação, destruição de backup e pressão sobre clientes.

Restaurar o backup pode recuperar a disponibilidade, mas não devolve a confidencialidade dos dados já roubados.

Spyware e keylogger

Monitoram comportamento e coletam dados. Um keylogger pode capturar senhas, códigos, conversas e dados financeiros.

Rootkit

Oculta presença e ajuda a preservar acesso privilegiado. Atua na persistência e evasão.

Botnet

Botnet não é exatamente uma espécie isolada de malware; é uma rede de dispositivos comprometidos sob comando. Pode ser usada para DDoS, spam, fraude, mineração ou distribuição de novas cargas.

Insider threat

Também não é malware. Pode ser o funcionário malicioso, negligente, coagido, enganado, o ex-funcionário ainda habilitado ou uma conta legítima tomada por criminosos.

No mainframe, o invasor mais perigoso pode não precisar quebrar o RACF. Ele pode utilizar uma identidade autorizada para executar uma finalidade não autorizada.


5. Engenharia social — a vulnerabilidade usa crachá

Phishing não explora apenas ignorância. Explora características humanas normais:

  • autoridade;

  • urgência;

  • medo;

  • curiosidade;

  • escassez;

  • desejo de ajudar;

  • fadiga;

  • hábito.

As principais formas incluem phishing genérico, spear phishing direcionado, whaling contra executivos, smishing por SMS, vishing por voz, pretexting com história falsa, baiting por isca e quid pro quo por troca de favores.

Exemplo:

“Aqui é o suporte antifraude. Recebemos uma tentativa suspeita. Informe o código que acabou de chegar para bloquearmos a operação.”

O código é verdadeiro. O contexto é falso.

Treinamento é necessário, mas não pode ser a única barreira. O sistema deve supor que alguém eventualmente clicará. Use:

  • MFA resistente a phishing;

  • aprovação dupla;

  • limites transacionais;

  • filtragem de mensagens;

  • privilégio mínimo;

  • detecção comportamental;

  • confirmação fora de banda;

  • canal simples para denúncia.

Quando a organização culpa exclusivamente o usuário, ela transforma “defesa em profundidade” em “culpa em profundidade”.


6. O ataque não segue um fluxograma obediente

O modelo introdutório apresenta reconhecimento, varredura, exploração, manutenção de acesso e impacto. É útil, mas ataques reais voltam etapas, mudam de rota e frequentemente usam credenciais legítimas.

Uma campanha pode incluir:

  1. pesquisa sobre funcionários e fornecedores;

  2. criação de domínio parecido;

  3. phishing direcionado;

  4. roubo de sessão;

  5. acesso inicial;

  6. descoberta do ambiente;

  7. roubo de credenciais;

  8. escalada de privilégio;

  9. persistência;

  10. movimento lateral;

  11. coleta;

  12. exfiltração;

  13. impacto.

O ransomware que aparece no final pode ser apenas a sirene. O roubo silencioso aconteceu semanas antes.

Easter egg para os antigos: no Agente 86, as portas automáticas fechavam atrás do herói criando a ilusão de segurança perfeita. Na cibersegurança, isso se chama perímetro. O problema é descobrir quem já estava dentro antes de a última porta fechar.


7. Segurança de rede — a DMZ não é uma zona mágica

O desenho clássico é:

Internet → firewall → DMZ → firewall interno → aplicação → banco

É uma boa introdução à defesa em profundidade, mas uma arquitetura moderna pode conter CDN, proteção DDoS, WAF, API gateway, balanceador, serviços, filas, identidade, armazenamento, SIEM e serviços em nuvem.

Firewall

Controla fluxos conforme regras, mas não entende necessariamente fraude ou regra de negócio. Uma porta 443 permitida pode transportar um ataque perfeitamente protegido por TLS.

O cadeado garante que a conversa foi criptografada; não garante que um dos participantes seja honesto.

IDS e IPS

  • IDS detecta e alerta.

  • IPS pode intervir e bloquear.

Na prática, ferramentas podem combinar funções. Mais importante: alerta sem investigação é apenas uma mensagem de socorro guardada para auditoria.

Proxy, reverse proxy, WAF e gateway

“Proxy” é uma família:

  • forward proxy representa clientes;

  • reverse proxy representa servidores;

  • WAF analisa tráfego de aplicação web;

  • API gateway autentica, limita e roteia chamadas.

Nenhum deles corrige automaticamente código inseguro.

VPN

VPN protege o canal, não purifica o endpoint. Um notebook comprometido pode transformar a VPN numa ponte criptografada para o invasor.

Segmentação

Segmentação reduz movimento lateral e raio de explosão. VLAN sem política aplicada e monitorada é apenas organização de rede.

Pergunte a cada fluxo:

  • quem chama?

  • usando qual identidade?

  • por qual protocolo?

  • para qual finalidade?

  • com qual privilégio?

  • como será auditado?

  • o que acontece quando falha?


8. Identificação, autenticação, autorização e auditoria

Essas quatro etapas precisam ser separadas.

Identificação

“Sou o usuário MAXWELL86.”

Autenticação

“Consigo provar que sou MAXWELL86.”

Autorização

“MAXWELL86 pode executar esta ação neste recurso?”

Accountability

“Conseguimos reconstruir quem fez o quê, quando, de onde e com qual resultado?”

No RACF:

  • o USERID declara a identidade;

  • senha, certificado, PassTicket ou MFA ajudam a autenticar;

  • perfis, grupos e níveis de acesso determinam autorização;

  • SMF e outros registros fornecem evidências.

MFA

Os fatores clássicos são:

  • algo que você sabe;

  • algo que você possui;

  • algo que você é.

Senha mais PIN não é MFA verdadeiro: ambos são conhecimento. Senha mais pergunta secreta também não.

Códigos digitáveis acrescentam proteção, mas podem ser capturados por phishing. Para acessos sensíveis, mecanismos criptográficos resistentes a phishing são preferíveis.

Senhas

A velha receita “oito caracteres, maiúscula, número, símbolo e troca a cada 30 dias” produziu monstruosidades previsíveis como Agosto@2026!.

As diretrizes modernas favorecem:

  • comprimento;

  • blocklist de senhas comuns ou vazadas;

  • gerenciador de senhas;

  • ausência de trocas periódicas sem suspeita de comprometimento;

  • MFA;

  • proteção contra tentativas automatizadas.

Senhas não devem ser armazenadas em texto puro nem em SHA-256 simples. Aplicações usam funções próprias para derivação de senha, como Argon2id, com salt e parâmetros adequados.

Menor privilégio

Cada identidade recebe somente o necessário, durante o período necessário.

“Funciona com SPECIAL” não é solução; é confissão.


9. Criptografia, hashing e encoding — três ferramentas diferentes

Igor colocou a senha em Base64 e declarou:

— Pronto. Está criptografada.

O Chefe olhou para o Agente 86.

— Você quer contar ou eu conto?

Encoding

Encoding muda a representação para armazenamento ou transmissão. Base64, ASCII e UTF-8 não oferecem sigilo.

senha123 → c2VuaGExMjM=

Qualquer pessoa pode reverter essa representação.

Hashing

Hash transforma uma entrada em saída de tamanho definido e não utiliza chave. Serve para verificações de integridade, identificação de conteúdo e construções criptográficas.

Não existe operação de “descriptografar o hash”, mas entradas fracas podem ser descobertas por tentativa e comparação. Por isso, senha não deve ser guardada com hash rápido simples.

MD5 e SHA-1 não são escolhas adequadas para novas proteções criptográficas. SHA-256 e SHA-3 pertencem a famílias modernas, mas o algoritmo correto depende do uso.

Criptografia simétrica

Usa segredo compartilhado e é eficiente para grandes volumes. AES é a referência moderna, normalmente dentro de um modo autenticado adequado.

Criptografia assimétrica

Usa par de chaves pública e privada. É aplicada em assinatura, autenticação e estabelecimento de chaves.

Sistemas reais geralmente são híbridos:

  1. mecanismo assimétrico estabelece um segredo de sessão;

  2. mecanismo simétrico protege o volume de dados.

DES, 3DES e Blowfish aparecem em materiais antigos ao lado de AES, como se fossem opções equivalentes. Não são. DES está quebrado, 3DES é legado e Blowfish possui limitações para novos projetos.

Gestão de chaves

A criptografia é tão forte quanto a administração das chaves:

  • geração;

  • armazenamento;

  • distribuição;

  • rotação;

  • segregação;

  • revogação;

  • destruição;

  • recuperação controlada.

Uma chave AES gravada no fonte COBOL é apenas uma senha com autoestima elevada.

Assinatura digital

Ajuda a verificar origem e integridade, mas não fornece confidencialidade automaticamente. E não deve ser reduzida à frase “criptografar com a chave privada”; esquemas de assinatura possuem construções específicas.

Curiosidade: a migração pós-quântica já começou. Padrões como ML-KEM, ML-DSA e SLH-DSA existem para enfrentar futuros adversários com capacidade quântica. O trabalho atual não é apertar um botão, mas inventariar algoritmos, certificados, protocolos e dependências para construir agilidade criptográfica.


10. Segurança web — o navegador também executa o inimigo

Uma aplicação web pode ser atacada em qualquer camada: navegador, web server, aplicação, API, identidade, dependência, banco, pipeline ou configuração.

SQL Injection

O erro clássico é misturar código e dados:

String sql = "SELECT * FROM USERS WHERE USERNAME = '" + user + "'";

Uma entrada maliciosa altera a estrutura do comando. A defesa principal é consulta parametrizada.

Em COBOL com Db2, SQL estático com host variables separa naturalmente valores do comando:

EXEC SQL
   SELECT NOME
     INTO :WS-NOME
     FROM CLIENTES
    WHERE CPF = :WS-CPF
END-EXEC

Ainda precisamos validar tamanho, formato, domínio, autorização e tratamento de erro. E SQL dinâmico concatenado pode recriar a vulnerabilidade.

XSS

Cross-Site Scripting ocorre quando dados do atacante são interpretados como código no navegador.

A proteção principal é encoding contextual da saída. O tratamento muda conforme o destino: HTML, atributo, JavaScript, CSS ou URL. Content Security Policy é uma segunda camada, não cura universal.

CSRF

Cross-Site Request Forgery força o navegador de um usuário autenticado a enviar uma ação não desejada.

Defesas incluem:

  • token anti-CSRF;

  • cookies SameSite;

  • verificação de origem;

  • reautenticação em operações críticas;

  • não usar GET para alterar estado.

Controle de acesso quebrado

Se o cliente altera /conta/12345 para /conta/12346 e vê a conta alheia, a autenticação funcionou. A autorização falhou.

Esconder o botão na tela não protege o endpoint. O servidor precisa autorizar cada operação e cada objeto.


11. OWASP — mapa de conscientização, não certificado de invencibilidade

Materiais baseados em 2021 já estão historicamente úteis, mas a lista vigente do OWASP Top 10 é a de 2025:

  1. Controle de acesso quebrado;

  2. Configuração insegura;

  3. Falhas na cadeia de suprimentos de software;

  4. Falhas criptográficas;

  5. Injeção;

  6. Design inseguro;

  7. Falhas de autenticação;

  8. Falhas de integridade de software ou dados;

  9. Falhas de logging e alertas;

  10. Tratamento incorreto de condições excepcionais.

As mudanças contam uma história. Configuração subiu de importância. Supply chain ganhou destaque. Logging passou a enfatizar alertas. Tratamento incorreto de condições excepcionais entrou na lista.

Isso é música para ouvidos COBOL. Mainframeiro sabe que exceção ignorada, return code não verificado e transação parcialmente atualizada podem produzir desastres sem uma única linha de malware.

OWASP Top 10 serve para conscientização. Não é uma lista completa de requisitos. Para verificação estruturada, o OWASP ASVS é mais apropriado.


12. Programação segura — não cole segurança depois do compilador

Programação segura inclui:

  • validação de entrada;

  • consultas parametrizadas;

  • encoding de saída;

  • autenticação forte;

  • autorização em cada operação;

  • menor privilégio;

  • tratamento seguro de erro;

  • logging útil;

  • proteção de segredos;

  • atualização de dependências;

  • revisão de código;

  • testes de segurança.

Validação de domínio

Não pergunte apenas se o dado é numérico. Pergunte se faz sentido.

Uma idade de -900 pode caber num PIC S9(4), mas não cabe na realidade. Uma transferência pode possuir sintaxe perfeita e violar limite, estado da conta ou segregação de funções.

Falhar de forma segura

Quando o serviço de autorização não responde, a aplicação libera ou nega? Quando ocorre timeout após débito, a repetição duplica a transferência? Quando o log falha, a operação privilegiada continua?

Falhar de forma segura exige:

  • estado consistente;

  • rollback;

  • idempotência;

  • mensagens externas discretas;

  • evidência interna suficiente;

  • negação por padrão quando apropriada.

Logs

Registre quem, o quê, quando, onde, resultado e identificador de correlação. Não registre senha, chave, token completo ou dado pessoal sem necessidade.

Log sem alerta é arqueologia. Alerta sem responsável é decoração natalina do SOC.

Cadeia de suprimentos

Atualizar biblioteca é só o início. Precisamos saber:

  • quais componentes existem;

  • de onde vieram;

  • quem alterou o pipeline;

  • quais artefatos foram assinados;

  • onde estão os segredos;

  • como revogar uma versão comprometida;

  • como reconstruir o software de forma confiável.

Segurança entra no desenho, no código, no build, no teste, na implantação e na operação.


13. Passo a passo — uma transferência bancária atravessa o castelo

Vamos acompanhar uma transferência.

Passo 1 — O cliente se conecta

TLS protege o canal. Mas o cadeado não garante que a aplicação esteja livre de fraude ou falha lógica.

Passo 2 — O cliente se identifica e autentica

O sistema verifica senha, passkey, dispositivo ou MFA, aplica rate limiting e detecta credential stuffing.

Passo 3 — O sistema autoriza

Verifica se o cliente possui a conta, se pode usar aquele canal, se o valor está dentro do limite e se a sessão possui nível suficiente.

Passo 4 — A regra de negócio valida

Confere valor positivo, moeda, saldo, favorecido, bloqueios, limite, horário, duplicidade e estado da conta.

Passo 5 — A transação é executada

Débito e crédito precisam formar uma unidade atômica. Em caso de falha, ROLLBACK; no sucesso, COMMIT.

Passo 6 — A operação é registrada

Logs e trilhas registram identidade, conta, canal, horário, resultado e correlação, sem expor segredos desnecessários.

Passo 7 — A fraude é analisada

O sistema considera novo dispositivo, valor atípico, velocidade, localização e histórico.

Passo 8 — O ambiente monitora

SIEM, regras, analistas e automações observam sinais técnicos e de negócio.

Passo 9 — Se algo der errado

A organização contém, investiga, preserva evidências, comunica, recupera e aprende.

Perceba: firewall, criptografia e MFA são três parafusos. A transferência segura depende da máquina inteira.


14. Checklist do programador COBOL que começou ontem — e quer chegar vivo à produção

Antes de entregar um programa, pergunte:

  1. Todos os campos externos têm tamanho, tipo e domínio validados?

  2. Valores negativos, zeros, limites e overflow foram tratados?

  3. Cada operação verifica autorização, não apenas autenticação?

  4. O programa usa apenas os privilégios necessários?

  5. SQL dinâmico e comandos externos separam código de dados?

  6. Return codes e condições excepcionais são tratados?

  7. Atualizações relacionadas usam unidade transacional adequada?

  8. Reprocessamento é idempotente ou pode duplicar operações?

  9. Logs possuem correlação e não vazam segredos?

  10. Mensagens ao usuário evitam detalhes internos?

  11. Senhas, tokens e chaves estão fora do fonte e do JCL?

  12. Há testes de sucesso, negação, limite, falha e recuperação?

  13. Alguém revisou o código com olhar de abuso, não só de funcionalidade?

  14. Existe plano para detectar e corrigir o comportamento em produção?

Se alguma resposta for “não sei”, você encontrou trabalho útil antes que a KAOS encontre trabalho divertido.


Epílogo — Desculpe por isso, Chefe

O Agente 86 voltou à sala de controle carregando um relatório.

— Chefe, tenho boas e más notícias.

— Comece pelas boas.

— O firewall está funcionando, o RACF está ativo e a senha não está mais em Base64.

— E as más?

— Igor substituiu a senha por AGOSTO@2026!, concedeu ALTER para todos e desligou o SIEM porque as luzes vermelhas estavam deixando o laboratório nervoso.

— 86...

— Eu sei, Chefe. Errei por isso aqui.

Esta é a grande lição do Capítulo I: segurança não é um produto instalado, um cadeado no navegador ou uma certificação pendurada na parede. É uma disciplina contínua de conhecimento, prevenção, observação, reação e aprendizado.

A tríade CIA ensina o que preservar. A análise de risco ensina onde concentrar esforço. A defesa em profundidade assume que algum controle falhará. A programação segura reduz fraquezas antes da produção. O monitoramento reconhece o que escapou. A resposta limita o dano. A recuperação devolve a missão ao ar.

O iniciante não precisa decorar todas as siglas de uma vez. Precisa aprender a fazer as perguntas certas:

  • O que estou protegendo?

  • De quem ou de quê?

  • Como isso pode falhar?

  • Quem realmente precisa de acesso?

  • Como saberei que algo aconteceu?

  • O que farei quando acontecer?

  • Como provarei o que ocorreu?

  • Como voltarei a operar com segurança?

Quando essas perguntas entram no código, no JCL, no RACF, no CICS, no Db2, na arquitetura e na reunião de mudança, o programador deixa de enxergar segurança como uma equipe que diz “não” no final do projeto. Ele passa a enxergá-la como parte da qualidade do sistema.

E qualidade, no Bellacosa Mainframe, significa algo muito simples: o programa faz o que deve, somente para quem pode, preserva o que importa, conta o que aconteceu e sabe voltar para casa depois que o telefone-sapato explode.


Referências para continuar a missão

☕ Um Café no Bellacosa Mainframe

Cibersegurança: dos fundamentos à recuperação

Uma jornada em dois capítulos para entender a linguagem da segurança, reconhecer riscos e organizar a operação antes, durante e depois de um incidente.

Vocabulário e Fundamentos da Cibersegurança

Tríade CIA, ativos, ameaças, vulnerabilidades, risco, malware, autenticação, criptografia, redes, aplicações web e codificação segura.

Ler o Capítulo I no artigo original →

Operação, Detecção, Resposta e Recuperação

Inventário, vulnerabilidades, eventos, alertas, incidentes, crise, monitoramento, contenção, evidências, continuidade e recuperação.

Ler o Capítulo II no artigo original →

Mapa da missão: o primeiro capítulo explica o que precisa ser protegido e por quê; o segundo mostra como observar, decidir, responder e restaurar a operação quando a prevenção não for suficiente.

Capítulo I — Vocabulário e Fundamentos da Cibersegurança

Abrir fora do quadro ↗

Capítulo II — Operação, Detecção, Resposta e Recuperação

Abrir fora do quadro ↗
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...