☕ 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

sábado, 11 de março de 2017

Nove Faltas? CTRL+Z — Quando o Banco de Dados Decide o que é Verdade

 

Bellacosa Mainframe e a o banco de dados alterado

☕ Um Café no Bellacosa Mainframe — Especial Red Team

Nove Faltas? CTRL+Z — Quando o Banco de Dados Decide o que é Verdade

💾 Ferris, registros escolares, integridade de dados e o perigo de confiar cegamente naquilo que aparece na tela

Chicago.

Uma escola.

Um diretor desconfiado.

Um aluno que já acumulou faltas suficientes para transformar o boletim numa pequena investigação administrativa.

E um computador.

A tela mostra um número.

Nove faltas.

O diretor Rooney conhece Ferris Bueller.

Conhece o histórico.

Conhece o comportamento.

Conhece a capacidade quase sobrenatural daquele adolescente de transformar regras em sugestões.

Ele suspeita.

Desconfia.

Quase consegue sentir que alguma coisa está errada.

Mas então acontece algo maravilhoso.

O número muda.

O computador registra outra realidade.

E, naquele instante, Ferris demonstra uma das vulnerabilidades mais antigas e persistentes da tecnologia:

quando a organização confunde o registro com a realidade.

Bem-vindo ao segundo episódio de:

SAVE FERRIS — Red Team para Quem Aprendeu que o Sistema Também Mata Aula

Hoje não vamos falar apenas de hackers.

Vamos falar de algo muito mais assustador.

Dados confiáveis demais.


🖥️ Se o computador diz, deve ser verdade

Quem trabalha com sistemas corporativos já ouviu alguma variação desta frase milhares de vezes:

— O pagamento foi feito?

— Está no sistema.

— O cliente possui autorização?

— Está no sistema.

— O funcionário está ativo?

— Está no sistema.

— A mercadoria saiu?

— Está no sistema.

— A transferência foi aprovada?

— Está no sistema.

— Esse usuário deveria possuir esse acesso?

— Está no sistema.

Maravilhoso.

Então está resolvido.

Exceto por uma pergunta ligeiramente inconveniente:

quem colocou essa informação no sistema?

E outra:

quem poderia alterá-la?

E uma terceira, ainda pior:

como saberíamos que foi alterada?

É aqui que o café começa a ficar forte.


💾 O dado não é a realidade

Essa distinção parece filosófica.

Mas é brutalmente prática.

Um banco de dados não armazena a realidade.

Armazena uma representação dela.

Se uma pessoa nasceu em determinada data, o sistema não armazena o nascimento.

Armazena algo como:

DATA_NASCIMENTO = 1980-03-14

Se um funcionário recebeu um pagamento, o sistema não armazena o ato econômico em si.

Armazena registros dizendo que aquilo ocorreu.

Se Ferris faltou à aula, o computador não armazena a cadeira vazia.

Armazena:

ABSENCES = 9

A diferença parece pequena.

Não é.

Porque a realidade física pode ser difícil de alterar.

O registro digital, às vezes, não.


🔴 Integridade: a palavra que parece chata até destruir sua empresa

Segurança costuma ser ensinada pela famosa tríade:

Confidencialidade
Integridade
Disponibilidade

A maioria das pessoas se apaixona imediatamente pela confidencialidade.

Senhas.

Criptografia.

Dados secretos.

Espionagem.

Hackers.

Tudo muito cinematográfico.

Disponibilidade também recebe atenção.

Sistema caiu?

Pânico.

Mas integridade frequentemente fica no meio, olhando para os lados, como aquele parente esquecido na fotografia.

Até o dia em que alguém altera alguma coisa.

Então todos descobrem que integridade era provavelmente a parte mais importante.

Porque um sistema disponível com dados errados pode ser pior que um sistema indisponível.

Muito pior.


☕ Imagine um banco perfeitamente disponível

Todos os servidores funcionando.

Nenhum downtime.

Rede perfeita.

Banco de dados online.

Aplicação respondendo em 50 milissegundos.

Usuários felizes.

Tudo verde.

Só existe um pequeno detalhe.

Alguém alterou:

SALDO = 10.000

para:

SALDO = 100.000

A disponibilidade está maravilhosa.

A confidencialidade talvez também.

Mas a integridade morreu.

E agora o sistema está funcionando perfeitamente para produzir resultados errados.

Isso é assustador.


🎬 Rooney sabe que alguma coisa está errada

É isso que torna a cena de Ferris tão interessante.

Rooney possui uma coisa que o computador não possui:

contexto.

Ele conhece Ferris.

Ele sabe que aquele número parece estranho.

A intuição diz:

“Isso não está certo.”

Mas organizações modernas frequentemente treinam pessoas a fazer o oposto.

O sistema virou autoridade.

A tela substitui o julgamento.

O operador pergunta.

O sistema responde.

Fim da conversa.

Esse é um tipo perigoso de automação cognitiva.


🧠 “Mas o sistema não pode estar errado”

Ah.

Pode.

Pode estar errado por defeito.

Pode estar errado por erro humano.

Pode estar errado por integração incorreta.

Pode estar errado por dado desatualizado.

Pode estar errado por fraude.

Pode estar errado porque alguém com privilégio alterou o registro.

Pode estar errado porque o próprio processo de entrada nunca foi confiável.

Pode estar errado porque um sistema anterior mandou informação errada.

Pode estar errado porque ninguém percebeu que o campo significava outra coisa.

E pode estar errado porque apareceu um Ferris Bueller.


🔐 Privilégio excessivo: quem pode alterar a verdade?

Aqui entramos num tema delicioso para Red Team.

Imagine um registro escolar.

Quem deveria poder alterar faltas?

Provavelmente poucos usuários.

Talvez professores.

Secretaria.

Administração.

Talvez algum processo automático.

Agora imagine que 40 pessoas possuem acesso.

Ou 400.

Ou uma conta técnica antiga.

Ou uma credencial compartilhada.

Ou um usuário com privilégio administrativo concedido cinco anos atrás para resolver uma emergência.

Você acaba de criar um pequeno mercado negro da verdade.


🪜 Least Privilege não é decoração de PowerPoint

O princípio de menor privilégio é simples:

cada identidade deve possuir apenas os acessos necessários para executar sua função.

Na prática, porém, organizações acumulam privilégios como minha geração acumulava disquetes.

Ninguém quer apagar nada.

Vai que precisa.

Então acontece:

2019 - acesso temporário
2020 - promoção
2021 - projeto emergencial
2022 - migração
2023 - suporte fornecedor
2024 - incidente
2025 - mudança de área
2026 - ninguém lembra por quê

Resultado:

O usuário que deveria consultar possui alteração.

O operador possui administração.

A conta de serviço possui permissões globais.

A aplicação antiga continua autenticando.

E Ferris agradece.


🧾 “Quem alterou isso?”

Essa é provavelmente uma das perguntas mais importantes de qualquer sistema crítico.

Não basta permitir alteração.

É necessário responder:

quem;

quando;

de onde;

qual valor anterior;

qual valor novo;

por qual processo;

com qual identidade;

sob qual autorização.

Isso é trilha de auditoria.

Sem isso, depois do incidente começa o esporte corporativo favorito:

arqueologia de logs.


📜 Antes e depois

Imagine um bom registro:

TIME: 10:42:11
USER: USER123
OBJECT: STUDENT.FERRIS
FIELD: ABSENCES
OLD_VALUE: 9
NEW_VALUE: 2
SOURCE: ADMIN_CONSOLE
SESSION: 883201

Agora temos alguma coisa.

Podemos perguntar:

USER123 deveria fazer isso?

Estava trabalhando naquele horário?

A sessão era legítima?

Houve aprovação?

Existe outro evento relacionado?

O IP é esperado?

O dispositivo é conhecido?

Perceba como a investigação muda.

Sem log:

— Alguém mudou.

Com log:

— Podemos reconstruir a história.


🕵️ Insider Threat: o inimigo já tem crachá

Outra coisa importante.

Quando falamos de ataque, imaginamos frequentemente alguém de fora.

O hacker misterioso.

O russo numa sala escura.

O adolescente no porão.

O grupo criminoso.

Mas muitos sistemas podem ser abusados por quem já possui acesso.

Isso é insider threat.

E insider não significa necessariamente um funcionário maligno tramando destruir a empresa.

Pode ser:

funcionário fraudando;

administrador curioso;

terceirizado abusando de acesso;

usuário cometendo erro;

conta legítima comprometida por atacante externo.

O sistema vê uma identidade autorizada.

Mas não sabe necessariamente se a intenção é legítima.


🧠 O problema da identidade válida

Isso é particularmente perverso.

Defesas tradicionais procuram comportamento obviamente hostil.

Mas imagine:

LOGIN = SUCCESS
MFA = SUCCESS
USER = AUTHORIZED
ACTION = ALLOWED

Tudo certo.

Só que a pessoa por trás da sessão não deveria estar fazendo aquilo.

Ou talvez nem seja a pessoa.

Do ponto de vista técnico, o sistema está funcionando.

Do ponto de vista de segurança, você tem um incidente.

Ferris provavelmente adoraria essa zona cinzenta.


🏦 Agora troque escola por banco

Vamos aumentar um pouco o tamanho do problema.

Em vez de:

ABSENCES = 9

temos:

CREDIT_LIMIT = 50.000

ou:

ACCOUNT_STATUS = ACTIVE

ou:

TRANSFER_APPROVED = YES

Agora integridade deixa de ser tema escolar.

Vira dinheiro.

Compliance.

Auditoria.

Regulação.

Fraude.


🦖 E no mainframe?

Aqui o assunto fica especialmente interessante.

Mainframes são máquinas construídas em torno de processamento confiável.

Transações.

Registros.

Contabilidade.

Bancos.

Seguradoras.

Governos.

Sistemas onde dados não podem simplesmente “mais ou menos” estar corretos.

Imagine um ambiente:

CICS
  ↓
COBOL
  ↓
Db2

O usuário executa uma transação.

O programa altera um registro.

O banco confirma.

Tudo perfeito.

Mas segurança não pergunta apenas:

a transação funcionou?

Pergunta:

quem tinha autoridade para executá-la?


🔐 RACF não lê sua alma

RACF pode controlar quem acessa o quê.

Pode ser extremamente granular.

Pode registrar eventos.

Pode aplicar políticas.

Mas existe uma verdade desconfortável:

um sistema de controle de acesso valida identidade e permissão.

Não intenção.

Se uma conta autorizada é comprometida, o controle pode legitimamente permitir a ação.

Por isso segurança moderna precisa de camadas.

Autenticação.

Autorização.

Monitoramento.

Auditoria.

Detecção comportamental.

Segregação de funções.

Revisão.


🧱 Segregação de funções: não dê a Ferris o lápis e a borracha

Uma das maneiras mais antigas de reduzir fraude é simples:

não permita que uma única pessoa controle todo o processo.

Quem cria não aprova.

Quem solicita não executa.

Quem altera não audita.

Isso é segregation of duties.

Porque se uma pessoa pode:

CREATE
ALTER
APPROVE
DELETE_LOG

então ela basicamente possui a versão corporativa do poder de Ferris sobre suas faltas.

Pode mudar a realidade e apagar as pegadas.

Nada ideal.


🚨 O log também precisa de integridade

Aqui aparece uma pegadinha elegante.

Você criou auditoria.

Excelente.

Mas quem pode alterar o log?

Se o mesmo administrador que modifica dados pode apagar eventos, temos um problema.

É como instalar uma câmera de segurança e deixar o suspeito com a chave da sala onde ficam as gravações.

Logs precisam ser protegidos.

Idealmente enviados para outro ambiente.

Com retenção.

Controles.

Imutabilidade quando possível.

Porque a trilha de auditoria só é útil se também for confiável.


🧼 “Não encontramos evidência”

Outra frase maravilhosa.

Às vezes significa:

não aconteceu.

Às vezes significa:

ninguém procurou direito.

Às vezes:

os logs não existiam.

Às vezes:

os logs foram apagados.

Às vezes:

o evento aconteceu num sistema diferente.

E às vezes:

a investigação estava procurando no lugar errado.

Red Team adora essa questão.

Não basta perguntar:

“O ataque seria bloqueado?”

Pergunte também:

“Seria detectado?”

E depois:

“Conseguiríamos explicar o que aconteceu?”


🧭 Prevenção sem detecção é fé

Imagine duas empresas.

Empresa A possui controles excelentes.

Mas praticamente nenhuma visibilidade.

Empresa B possui controles razoáveis e ótima detecção.

Qual é mais segura?

Depende.

Mas a empresa A talvez nunca saiba quando o controle falhar.

Isso é perigoso.

Nenhum controle é perfeito.

Então Red Team deve testar:

prevenção;

detecção;

resposta.

Ferris pode conseguir alterar o número.

A pergunta seguinte é:

alguém perceberia?


📊 “Está no dashboard”

Em 2026 temos uma nova versão do mesmo problema.

Não apenas:

“Está no sistema.”

Agora temos:

“Está no dashboard.”

O dashboard mostra verde.

Então está tudo bem.

Talvez.

Mas dashboards também são representações.

Eles dependem de:

dados;

regras;

queries;

thresholds;

integrações;

timing.

Se qualquer uma dessas partes estiver errada, você terá uma bela visualização de uma realidade inexistente.


🤖 E agora temos IA dizendo o que é verdade

A coisa ficou ainda mais interessante.

Sistemas modernos podem resumir logs.

Interpretar eventos.

Classificar risco.

Priorizar alertas.

Gerar respostas.

Fantástico.

Mas existe o perigo de transformar:

SYSTEM SAYS

em:

TRUTH

Agora não é apenas um campo no banco.

É uma interpretação automatizada.

E usuários podem confiar demais.

Automation Bias entra pela porta.


🧠 O operador acredita na máquina

Suponha que um analista veja:

RISK SCORE: LOW

Pode relaxar.

Mas como esse score foi calculado?

Quais sinais entraram?

Algum dado estava faltando?

Um atacante conseguiu influenciar a entrada?

O modelo conhece aquele padrão?

A confiança na ferramenta pode ser explorada tanto quanto qualquer outra confiança.

Ferris não precisa enganar apenas pessoas.

Pode enganar as máquinas que ajudam pessoas a decidir.


🧪 Data Poisoning: Ferris aprende estatística

Vamos imaginar uma versão moderna.

Se um sistema aprende padrões históricos, o que acontece se alguém conseguir contaminar esses padrões?

Pouco a pouco, comportamentos anormais podem parecer normais.

Isso é uma forma de data poisoning.

A velha cena de Ferris ganha nova vida.

Ele não precisa apenas alterar:

ABSENCES = 9

Talvez queira alterar o mecanismo que decide o que significa “frequência normal”.

A escala muda.

A filosofia permanece.


🧾 Fonte da verdade não significa fonte infalível

Empresas adoram a expressão:

Single Source of Truth.

É útil.

Evita sistemas discordando.

Centraliza informação.

Mas existe um problema semântico.

Uma fonte única da verdade não é necessariamente verdadeira.

Ela é apenas a fonte que todos concordaram em usar.

Se estiver errada, todos errarão de maneira consistente.

Isso é operacionalmente elegante.

E filosoficamente aterrorizante.


💣 Uma verdade errada propagada perfeitamente

Imagine:

Sistema A registra valor errado.

Sistema B consome.

Sistema C replica.

Data lake armazena.

Dashboard mostra.

IA resume.

Executivo recebe relatório.

Agora temos:

ERRO
 ↓
INTEGRAÇÃO
 ↓
PROPAGAÇÃO
 ↓
ANÁLISE
 ↓
DECISÃO

A cadeia inteira funcionou perfeitamente.

Parabéns.

Você automatizou o erro.


🎯 Red Team precisa atacar a confiança nos dados

Esse tipo de exercício é extremamente valioso.

Não apenas:

“Consigo acessar o banco?”

Mas:

“Consigo modificar um dado crítico?”

“Isso dispara alerta?”

“Qual sistema percebe?”

“Quanto tempo leva?”

“Quem investiga?”

“Existe reconciliação?”

“Existe validação independente?”

“Existe dupla aprovação?”

“Existe trilha?”

Agora estamos testando integridade de verdade.


🧠 A pergunta Bellacosa

Eu faria uma pergunta particularmente desagradável numa War Room:

“Qual dado, se alterado silenciosamente, poderia causar mais estrago sem derrubar nenhum sistema?”

Pense.

Talvez não seja senha.

Talvez seja:

limite de crédito;

status de cliente;

conta bancária de fornecedor;

parâmetro de juros;

identidade;

regra fiscal;

preço;

saldo;

permissão;

modelo de risco.

Isso é uma superfície de ataque completamente diferente.


🚦 Sistema verde, negócio vermelho

Imagine:

CPU normal.

Disco normal.

Rede normal.

Banco online.

CICS respondendo.

MQ fluindo.

APIs funcionando.

Tudo verde.

Só que alguém alterou uma tabela de parâmetros.

Agora cada transação está ligeiramente errada.

Nada cai.

Nada trava.

Nenhum alerta tradicional dispara.

O sistema virou uma máquina perfeitamente funcional de produzir prejuízo.

Esse tipo de incidente é muito mais interessante que simplesmente derrubar um servidor.


🧩 Ferris não quer destruir a escola

Essa é outra razão pela qual a metáfora funciona.

Ferris não quer incendiar o prédio.

Não quer destruir o computador.

Não quer impedir a escola de funcionar.

Quer apenas fazer o sistema acreditar em outra versão da realidade.

Atacantes financeiros frequentemente preferem exatamente isso.

Silêncio.

Discrição.

Mudanças pequenas.

Persistentes.

Porque interrupção chama atenção.

Fraude silenciosa paga melhor.


🕶️ O atacante perfeito talvez pareça um usuário normal

Essa é uma das conclusões mais importantes.

Se a ação maliciosa parece uma ação autorizada, detecção fica difícil.

Por isso precisamos de contexto.

Quem normalmente faz isso?

Em qual horário?

Com qual frequência?

De qual dispositivo?

Em qual volume?

Depois de qual evento?

Segurança não pode olhar apenas para:

ALLOW
DENY

Precisa olhar para comportamento.


🔵 Rooney versus o computador

Voltemos a Rooney.

Ele possui intuição.

O computador possui registro.

A segurança madura precisa dos dois.

Dados.

Contexto.

Automação.

Experiência humana.

Nenhum deveria dominar cegamente.

Rooney também pode estar errado.

Sua obsessão por Ferris prova isso.

Mas o computador também pode.

A chave é não transformar nenhuma fonte em autoridade absoluta.


☕ “Está no sistema” não significa “é verdade”

Essa frase deveria estar impressa em muitas salas de operação.

Talvez em letras grandes.

Porque sistemas registram aquilo que conseguimos observar.

E aquilo que alguém informou.

E aquilo que integrações enviaram.

E aquilo que processos permitiram.

Eles não possuem acesso mágico à realidade.

Então sempre precisamos perguntar:

Como esse dado nasceu?

Quem pode alterá-lo?

Como validamos?

Como auditamos?

Como detectamos inconsistências?


🔴 Integridade é confiança verificável

No final, integridade significa uma coisa muito simples:

poder confiar que informação não foi alterada de maneira indevida.

Mas “confiar” não pode significar fé.

Precisa existir evidência.

Controles.

Logs.

Reconciliação.

Segregação.

Revisão.

Detecção.

E capacidade de reconstruir eventos.


🎬 Ferris Bueller e o primeiro ataque à verdade digital

Talvez Ferris não tivesse percebido a profundidade filosófica do que estava fazendo.

Provavelmente só queria matar aula.

Mas aquele computador escolar antecipou um problema que cresceria enormemente nas décadas seguintes.

O mundo passou a depender cada vez mais de registros digitais.

Dinheiro virou registro.

Identidade virou registro.

Propriedade virou registro.

Saúde virou registro.

Reputação virou registro.

Autorizações viraram registros.

E quanto mais a sociedade digitaliza, maior fica o valor de alterar silenciosamente aquilo que ela acredita ser verdade.


☕ Epílogo: nove faltas desapareceram

Rooney olha para Ferris.

Ferris olha para o computador.

O computador olha para ninguém.

Ele apenas executa comandos.

Essa talvez seja a parte mais importante.

A máquina não sabe que está mentindo.

Ela não sabe que está dizendo a verdade.

Ela simplesmente armazena estado.

Nós é que atribuímos confiança.

E é exatamente essa confiança que Red Team deve testar.

Porque entre:

REALITY

e:

DATABASE

existe sempre um caminho.

Alguém coleta.

Alguém transmite.

Alguém grava.

Alguém altera.

Alguém consulta.

Alguém interpreta.

Cada etapa pode falhar.

Cada etapa pode ser abusada.

Cada etapa pode virar uma porta.

Então da próxima vez que alguém disser:

“Mas está no sistema.”

Sirva outro café.

Olhe para Ferris.

E faça a pergunta mais importante:

“Quem disse ao sistema que isso era verdade?”

SAVE FERRIS.

No próximo artigo:

Abe Froman, o Rei da Salsicha de Chicago — A Aula de Engenharia Social que Ninguém Percebeu

Porque talvez você não precise hackear um banco de dados.

Talvez precise apenas convencer alguém de que você deveria estar sentado naquela mesa.

☕ Um Café no Bellacosa Mainframe — Especial Red Team

SAVE FERRIS — Ferris Bueller’s Red Team

Uma série de 12 artigos sobre Red Team, segurança ofensiva, engenharia social, OSINT, integridade de dados, MFA, PAM, rollback, Blue Team, inteligência artificial, RACF e z/OS, usando Ferris Bueller para explorar uma pergunta fundamental: o sistema está realmente seguro ou apenas acredita que está?

  • Red Team
  • OSINT
  • Engenharia Social
  • Blue Team
  • MFA
  • PAM
  • IA Generativa
  • RACF
  • z/OS
  • Mainframe
1

Ferris Bueller Tinha um Plano de Ataque — Red Team Antes de Existir Red Team

Reconhecimento, criatividade adversarial e a ideia de que o verdadeiro alvo nem sempre é a tecnologia: são as suposições de quem construiu o sistema.

Red Team • Recon • Threat Modeling • Criatividade Adversarial
2

Nove Faltas? CTRL+Z — Quando o Banco de Dados Decide o que é Verdade

Integridade de dados, alteração de registros, privilégio, auditoria e a perigosa diferença entre aquilo que aconteceu e aquilo que o banco de dados afirma ter acontecido.

Integridade • Db2 • Auditoria • Insider Threat • Dados
3

Abe Froman, o Rei da Salsicha de Chicago — A Aula de Engenharia Social que Ninguém Percebeu

Pretexting, autoridade inventada e confiança contextual: Identity, Authentication e Authorization não são a mesma coisa.

Engenharia Social • Pretexting • Identity • Authentication
4

“Você Conhece o Diretor Rooney?” — OSINT Antes do Google Existir

Como dados públicos sobre pessoas, tecnologias, hábitos, empresas e relacionamentos podem revelar uma superfície de ataque antes do primeiro scan.

OSINT • Recon • LinkedIn • GitHub • Attack Surface
5

Cameron, Atenda o Telefone — Social Engineering as a Service

Ferris → Cameron → telefone → escola → funcionário → sistema. Nenhuma peça precisa falhar sozinha quando a cadeia inteira possui uma combinação explorável de confiança.

Social Engineering • Swiss Cheese Model • Human Risk
6

O Diretor Rooney Está Procurando Malware no Lugar Errado

Firewall, SIEM, EDR e Zero Trust podem funcionar perfeitamente enquanto engenharia social, Help Desk e processos humanos criam outro caminho até o objetivo.

SOC • SIEM • EDR • Zero Trust • Engenharia Social
7

A Ferrari do Cameron Não Tinha MFA

Privilégio, acesso físico, MFA, PAM, least privilege e o risco de proteger um ativo crítico apenas com medo, confiança e a esperança de que ninguém ousará tocá-lo.

MFA • PAM • Least Privilege • Privileged Access
8

Colocamos a Ferrari em Ré — Por Que Rollback Não É Backup

Rollback, restore, journaling, logs, Db2, VSAM e recuperação: voltar o estado de um sistema não significa apagar as consequências daquilo que aconteceu.

Backup • Restore • Rollback • Db2 • VSAM • Recovery
9

Rooney Invadiu a Casa Errada — Quando o Blue Team Vira o Próprio Incidente

Confirmation Bias, tunnel vision, Sunk Cost, Authority Gradient e o risco de uma resposta defensiva criar mais impacto que o próprio atacante.

Blue Team • SOC • Cognitive Bias • Incident Response
10

FerrisGPT — Agora o Adolescente Tem um Exército de Estagiários Sintéticos

IA generativa, agentes, OSINT automatizado, deepfake, voice cloning e automação transformam o ataque artesanal em uma capacidade paralela e escalável.

Generative AI • Agents • Deepfake • Voice Cloning • OSINT
11

Ferris Entra no Mainframe — RACF, z/OS e o Dia em que SPECIAL Virou o Passe para Chicago

RACF, SAF, ACEE, APF, USS, TSO, CICS, Db2, MQ, z/OS Connect, Zowe e service accounts vistos pela ótica dos caminhos de ataque até o mainframe.

Mainframe • RACF • z/OS • CICS • Db2 • MQ • Zowe
12

“A Vida Passa Muito Rápido” — O Red Team Depois que Todo Mundo Foi Embora

Red Team não termina em “conseguimos entrar”. Ataque deve gerar descoberta, evidência, correção, detecção e aprendizado para deixar a organização mais resiliente.

Red Teaming • Purple Team • Detection • Resilience • Learning

🎬 Página principal da temporada

Ferris Bueller’s Red Team: Como Hackear o Sistema Sem Precisar Roubar a Ferrari do Cameron reúne os doze episódios e conecta Red Team, engenharia social, IA, Blue Team e segurança de mainframe.

☕ Acessar o especial completo SAVE FERRIS

Sobre a série SAVE FERRIS — Red Team

A série SAVE FERRIS, publicada no Bellacosa Mainframe, utiliza situações inspiradas em Ferris Bueller para explicar conceitos de Red Team, cybersecurity, segurança ofensiva, engenharia social, OSINT, Blue Team, Purple Team, Zero Trust, MFA, PAM, inteligência artificial, RACF, IBM z/OS, CICS, Db2, MQ e segurança de mainframe.

O fio condutor é simples: um atacante não precisa necessariamente quebrar a tecnologia. Ele pode explorar relações de confiança, processos, identidades, privilégios, integrações e suposições existentes entre pessoas e sistemas.

A temporada acompanha o ciclo completo: reconhecimento → engenharia social → acesso → privilégio → impacto → detecção → correção → aprendizado.

Para Red Teams e Blue Teams, o objetivo final não é provar quem é mais inteligente, mas encontrar caminhos invisíveis antes que um adversário real os descubra.

sexta-feira, 10 de março de 2017

A Jornada do Engenheiro de Performance em Mainframe : Quando um Cadete Embarca no USS Seaview

Bellacosa Mainframe e a jornada do engenheiro de performance em mainframe

 

☕ Um Café no Bellacosa Mainframe

A Jornada do Engenheiro de Performance em Mainframe

Quando um Cadete Embarca no USS Seaview e Descobre que o Verdadeiro Tesouro Não Está no Fundo do Oceano... Está Escondido Entre Milhões de Métricas do IBM Z

"Profundidade: 10.000 metros."

"Motores nucleares operando normalmente."

"Sonar ativo."

"Todos os sensores reportando dados."

O Capitão Lee Crane olha para o jovem cadete recém-chegado ao USS Seaview.

— Você sabe pilotar um submarino?

— Não, senhor.

— Então sabe interpretar o sonar?

— Ainda não.

— Conhece oceanografia?

— Também não.

O capitão sorri.

— Excelente. Você está exatamente onde todo grande engenheiro começou.

Essa pequena cena resume perfeitamente a Engenharia de Performance em Mainframe.

Ninguém nasce sabendo interpretar RMF.

Ninguém entende SMF na primeira semana.

Ninguém olha um relatório de WLM e imediatamente identifica um problema.

Tudo isso é aprendido.

E existe um caminho.

Este artigo é exatamente esse mapa.

Não um curso.

Mas um roteiro de formação para transformar um programador COBOL em um verdadeiro Engenheiro de Performance IBM Z.


A Grande Verdade

Existe uma diferença enorme entre:

Fazer um programa funcionar

e

Entender como o computador inteiro funciona.

O programador escreve aplicações.

O engenheiro de performance compreende o ecossistema inteiro.

Ele precisa enxergar aquilo que ninguém vê.

Enquanto um desenvolvedor observa:

READ CLIENTE

O especialista imagina imediatamente:

  • Quantos EXCPs isso gera?

  • O dataset está em cache?

  • Existe contenção?

  • O Buffer Pool está adequado?

  • O Storage está respondendo normalmente?

  • Esse acesso poderia usar Sequential Detection?

  • Existe leitura desnecessária?

É outro universo.


A Mentalidade Correta

Antes dos livros...

antes dos cursos...

antes das ferramentas...

é preciso desenvolver uma nova forma de pensar.

O engenheiro de performance não pergunta:

"Como resolver?"

Ele pergunta:

"Por que isso aconteceu?"

Essa simples mudança muda toda a carreira.


O Primeiro Ano

Imagine que você acabou de embarcar no Seaview.

Ninguém coloca um novato para controlar o reator nuclear.

Primeiro ele aprende o navio.

No IBM Z acontece exatamente o mesmo.


Etapa 1

Aprenda o Sistema Operacional

Antes de qualquer ferramenta...

aprenda z/OS.

Muito bem.

Estude:

  • IPL

  • Address Space

  • TCB

  • SRB

  • Dispatching

  • Cross Memory

  • Storage

  • Virtual Storage

  • Paging

  • Swapping

  • CSA

  • SQA

  • ECSA

  • Link Pack Area

  • APF

  • Catalog

  • SMS

  • JES2

  • JES3

Sem isso...

todo o restante fica confuso.


Por quê?

Porque performance nunca acontece apenas no COBOL.

Ela acontece dentro do z/OS.


Etapa 2

Aprenda Arquitetura IBM Z

Conheça profundamente:

CPC

Drawer

Books

CP

zIIP

ICF

SAP

LPAR

PR/SM

Channel Subsystem

OSA

FICON

Coupling Facility

Memory

Cache

HMC

SE

Imagine o Seaview.

Antes de mergulhar você precisa conhecer:

  • motores

  • hélices

  • sonar

  • casco

  • radar

  • reator

O IBM Z também é um navio.


Etapa 3

CPU

Aqui começa o verdadeiro mundo da performance.

Aprenda:

CPU Time

Elapsed Time

Dispatch Time

Wait Time

SRB Time

TCB Time

PR/SM

Weight

LPAR

Logical CPU

Physical CPU

SMT

Vertical High

Vertical Medium

Vertical Low

Entenda:

GCP

zIIP

IFL

ICF

SAP

Nunca mais olhe apenas:

CPU = 90%

Pergunte:

90% de quê?


Etapa 4

Memória

Aprenda:

Frames

Pages

Paging

Working Set

Central Storage

Expanded Storage (história)

Auxiliary Storage

Frames Reais

Virtual Storage

Buffer Pool

Hiperspace

Data Spaces

Memory Objects

A memória explica inúmeros problemas aparentemente "misteriosos".


Etapa 5

I/O

Talvez o assunto mais importante.

Estude:

Channel

CU

Device

Volume

Cache

FICON

IOSQ

Pending

Connect

Disconnect

Response Time

EXCP

DASD

FlashSystem

RAID

Storage Class

SMS

Cache Miss

Write Pending

Buffering

Sem dominar I/O...

não existe engenheiro de performance.


Easter Egg

Na série Viagem ao Fundo do Mar...

o sonar era mais importante que o periscópio.

No Mainframe...

o I/O costuma ser mais importante que CPU.


Segundo Ano

Agora você começa a estudar subsistemas.


CICS

Aprenda:

Task

Transaction

Program

COMMAREA

Channel

Threadsafe

QR

L8

Open TCB

MXT

SOS

DSALIM

Storage

Temporary Storage

Transient Data

Journal

Mirror

TOR

AOR

FOR

Pipeline

IPIC

MRO

ISC

EXCI

Performance CICS é um universo inteiro.


Db2

Estude:

Access Path

RUNSTATS

REBIND

Package

Plan

RID List

Getpage

Prefetch

Index

Cluster Ratio

Lock

Latch

Buffer Pool

Sort

Stage 1

Stage 2

CPU SQL

RID Overflow

Parallelism

Dynamic SQL

Static SQL

Performance Db2 é quase uma especialização própria.


MQ

Aprenda:

Queue

Channel

Trigger

Persistent

Non Persistent

Commit

Rollback

Backout

Depth

Dead Letter Queue

Transmission Queue

Cluster

MQ também impacta performance.


IMS

Mesmo que nunca utilize...

conheça.

Principalmente:

DL/I

PSB

PCB

Database

Fast Path

Message Queue

TM

DB


WLM

Aqui mora a inteligência do z/OS.

Aprenda:

Service Class

Report Class

Velocity

Response Time

Importance

Goals

Classification

Policy

Performance sem WLM...

é impossível.


Ferramentas

Agora sim.

Chegou a hora.


RMF

Aprenda:

Monitor I

Monitor II

Monitor III

Postprocessor

Reports


SMF

Este será seu melhor amigo.

Conheça:

SMF 30

SMF 70

SMF 72

SMF 74

SMF 80

SMF 100

SMF 101

SMF 110

SMF 115

SMF 116

Cada registro conta uma história.


SDSF

Domine completamente.

Aprenda:

DA

ST

H

LOG

INPUT

OUTPUT

JESMSGLG

JESJCL

SYSOUT


OMEGAMON

Depois:

OMEGAMON

z/OS

CICS

Db2

MQ

Storage

Network


IntelliMagic Vision

Aprenda:

Health Insights

Topology

Trend

Change Detection

Capacity

Forecast

Anomaly

Correlation

Drill Down

Rating

É uma das ferramentas mais impressionantes existentes hoje.


Estatística

Surpresa.

Todo engenheiro de performance precisa entender estatística.

Não avançada.

Mas suficiente.

Estude:

Média

Moda

Mediana

Percentil

Desvio Padrão

Correlação

Distribuição

Outlier

Baseline

Forecast

Sazonalidade

Sem estatística...

não existe Capacity Planning.


Capacity Planning

Depois de dominar performance...

aprenda previsão.

Pergunte:

Quando acabará CPU?

Quando acabará memória?

Quando precisaremos de outro CPC?

Quando o licenciamento aumentará?

Como reduzir MSU?

Como aproveitar melhor zIIP?


Custos

Aqui está um assunto que quase ninguém ensina.

Performance também significa dinheiro.

Um SQL ruim pode custar milhares de horas de CPU por mês.

Um loop desnecessário pode aumentar MSUs.

Uma política WLM inadequada pode provocar desperdício.

Um buffer pool pequeno pode multiplicar leituras físicas.

Um zIIP subutilizado pode elevar custos de software.

O melhor engenheiro de performance pensa como um engenheiro e como um gestor.


O Que Ler

Monte sua biblioteca.

IBM Redbooks

IBM Documentation

RMF User Guide

SMF Manuals

Principles of Operation

DFSMS Redbooks

Db2 Performance Guides

CICS Performance Guide

WLM Redbooks

Enterprise COBOL Programming Guide

Arquitetura de Computadores

Sistemas Operacionais

Estatística

Filas

Teoria das Filas

Capacity Planning

AIOps

Observabilidade


O Que Praticar

Leia SMFs.

Analise RMFs.

Observe gráficos.

Faça comparações.

Monte dashboards.

Descubra gargalos.

Correlacione métricas.

Explique resultados.

Escreva relatórios.

Ensine outras pessoas.

Ensinar acelera o aprendizado.


O Perfil Ideal

O engenheiro de performance gosta de:

✔ investigar

✔ medir

✔ comparar

✔ questionar

✔ procurar padrões

✔ estudar arquitetura

✔ entender negócios

✔ resolver problemas difíceis

Ele é menos "programador".

E mais "cientista".


A Evolução da Carreira

O caminho normalmente segue algo parecido com:

Programador COBOL

Programador Sênior

Especialista CICS/Db2

Analista Técnico

Performance Analyst

Capacity Planner

System Performance Engineer

IBM Z Architect

Enterprise Performance Consultant

Chief Performance Engineer

Não existe pressa.

Existe evolução contínua.


Curiosidades Bellacosa

☕ Um único dia de operação de um grande banco pode produzir milhões de registros SMF.

☕ Muitos problemas atribuídos ao COBOL têm origem em SQL, storage, WLM ou infraestrutura.

☕ O melhor relatório de performance é aquele que explica o impacto no negócio, não apenas os números.

☕ A maioria dos grandes especialistas em performance começou como programador ou operador e desenvolveu a capacidade de conectar métricas, arquitetura e processos de negócio.

☕ Ferramentas modernas como IBM Z IntelliMagic Vision aceleram a análise, mas não substituem o conhecimento de arquitetura. Elas ajudam o especialista a enxergar mais rápido, mas é o especialista quem transforma dados em decisões.


Missão Final – A Última Viagem do Seaview

Depois de anos estudando, você retorna ao centro de controle do USS Seaview.

O sonar detecta uma anomalia.

Os alarmes começam.

Todos olham para você.

Ninguém pergunta:

"Qual é a CPU?"

Perguntam:

"O que está acontecendo?"

Você consulta RMF, SMF, OMEGAMON, IntelliMagic Vision, WLM e os monitores dos subsistemas. Em poucos minutos percebe que o problema não está na CPU, nem no CICS, nem no Db2.

Um volume de storage apresenta aumento no tempo de resposta, gerando filas de I/O, elevando o tempo de espera das transações e causando degradação em cascata.

Você explica a causa, demonstra as evidências, estima o impacto no negócio e propõe a correção.

Nesse instante, você deixa de ser apenas um programador COBOL.

Você se torna um verdadeiro Engenheiro de Performance em Mainframe.

Porque, no universo Bellacosa Mainframe, performance não é decorar relatórios.

É aprender a ouvir o sonar invisível do IBM Z antes que o oceano inteiro perceba que existe um problema.

quinta-feira, 9 de março de 2017

🎹 Os 10 Segredos que Fazem uma Melodia Grudar na Cabeça : Quando um Programador COBOL Descobre que o Cérebro Também Possui Cache... e Alguns Temas Nunca Sofrem RESET

 

Bellacosa Mainframe e os 10 segredos para uma melodia grudar na cabeça

🎹 Os 10 Segredos que Fazem uma Melodia Grudar na Cabeça

Quando um Programador COBOL Descobre que o Cérebro Também Possui Cache... e Alguns Temas Nunca Sofrem RESET

Existe uma pergunta que intriga músicos, neurocientistas, compositores e, agora, também programadores COBOL.

Por que algumas melodias ficam na cabeça durante décadas... enquanto outras desaparecem antes mesmo dos créditos finais?

Você termina um filme.

Dias depois...

Ainda está assobiando.

Passam vinte anos.

Alguém toca quatro notas.

Instantaneamente sua memória reconstrói personagens, cenas, emoções, cheiros e até o cinema onde assistiu ao filme.

Isso não acontece por acaso.

Os grandes compositores não dependem apenas de talento.

Eles conhecem padrões que nosso cérebro adora reconhecer.

No Bellacosa Mainframe poderíamos dizer que eles descobriram o algoritmo de compressão da memória emocional.

John Williams.

Ennio Morricone.

Joe Hisaishi.

Nobuo Uematsu.

Yoko Kanno.

Hiroyuki Sawano.

Kevin Penkin.

Todos utilizam praticamente os mesmos princípios.

Hoje vamos abrir esse "código-fonte".


🎼 Segredo 1 — Simplicidade vence complexidade

O erro mais comum dos iniciantes é acreditar que mais notas significam melhor música.

Os grandes compositores fazem exatamente o contrário.

Eles simplificam.

Pense em:

  • Tubarão

  • Star Wars

  • Super Mario

  • Zelda

  • Harry Potter

Nenhum desses temas começa com uma sequência impossível.

Eles começam com ideias extremamente simples.

Na programação seria como escrever um algoritmo elegante.

Poucas linhas.

Muito resultado.

Quanto menor a ideia central, mais fácil será para o cérebro armazená-la.


🥁 Segredo 2 — O ritmo vem antes das notas

Faça um teste.

Ignore completamente as notas.

Bata apenas o ritmo de Indiana Jones sobre a mesa.

Muitas pessoas já reconhecerão.

Isso acontece porque nosso cérebro memoriza ritmo antes da melodia.

É o mesmo motivo pelo qual conseguimos identificar alguém apenas pelo jeito de andar.

No cinema, o ritmo representa personalidade.

Indiana Jones corre.

Darth Vader marcha.

Totoro passeia.

Frieren caminha lentamente.

O ritmo conta uma história antes mesmo da primeira nota.


🔁 Segredo 3 — Repetição cria memória

Nenhum sistema operacional lê um arquivo importante apenas uma vez.

Ele mantém informações em cache.

Nosso cérebro faz igual.

Toda vez que uma sequência reaparece, ela fortalece conexões neurais.

Mas existe uma regra.

Repetir não significa copiar.

É repetir com intenção.

Os grandes compositores apresentam um motivo.

Depois o repetem discretamente.

Depois o expandem.

Depois o escondem.

Quando percebemos...

Ele já virou parte da nossa memória.


⚡ Segredo 4 — A surpresa acorda o cérebro

Imagine ouvir:

TAN
TAN
TAN

Você espera outra nota igual.

Então...

Surge uma nota muito mais alta.

Ou uma pausa.

Ou um acorde inesperado.

Seu cérebro desperta imediatamente.

Na programação isso lembra um IF.

O fluxo parecia previsível.

De repente muda.

Essa pequena quebra cria identidade.

Sem surpresa...

Tudo soa genérico.


🎯 Segredo 5 — Intervalos são a personalidade da melodia

Pouca gente percebe isso.

O importante nem sempre são as notas.

É a distância entre elas.

Essa distância recebe o nome de intervalo.

Um salto grande transmite aventura.

Um movimento pequeno transmite calma.

Por isso:

  • Star Wars soa heroico.

  • Harry Potter soa mágico.

  • Zelda soa exploratório.

  • Final Fantasy soa épico.

As notas poderiam até mudar.

Mantendo os intervalos, a personalidade continua.

É parecido com um layout COBOL.

Os dados podem mudar.

A estrutura permanece.


🤫 Segredo 6 — O silêncio também compõe

Ennio Morricone entendia isso perfeitamente.

John Williams também.

Joe Hisaishi também.

Silêncio é expectativa.

Silêncio cria espaço.

Silêncio faz o cérebro completar a frase musical.

Pense no famoso assobio de "Era Uma Vez no Oeste".

As pausas possuem tanto peso quanto as notas.

É como um operador esperando o resultado de um JOB crítico.

O silêncio aumenta a tensão.


🎭 Segredo 7 — A melodia precisa contar uma história

Uma boa melodia possui início.

Desenvolvimento.

Conclusão.

Mesmo durando apenas cinco segundos.

Ela parece conversar.

Respirar.

Perguntar.

Responder.

É exatamente como um bom programa COBOL.

Existe fluxo.

Existe direção.

Existe propósito.

Uma sequência aleatória de notas pode impressionar tecnicamente.

Mas dificilmente emocionará alguém.


🎻 Segredo 8 — O timbre muda completamente a emoção

Toque a mesma melodia em:

  • piano

  • trompa

  • violino

  • guitarra

  • coral

  • sintetizador

Você terá seis emoções completamente diferentes.

John Williams costuma usar metais para heroísmo.

Joe Hisaishi prefere pianos delicados.

Kevin Penkin mistura instrumentos étnicos para criar estranheza.

Yoko Kanno alterna jazz, rock, orquestra e música eletrônica conforme a personalidade da cena.

A melodia permanece.

Quem muda é sua roupa.


🧠 Segredo 9 — Expectativa e resolução

Nosso cérebro odeia perguntas sem resposta.

A música explora exatamente isso.

Ela cria tensão.

Depois resolve.

Essa resolução gera prazer.

É semelhante a um programa COBOL que executa milhares de operações e finalmente apresenta:

JOB COMPLETED
RC=0000

Essa sensação de conclusão é extremamente poderosa.

Os grandes compositores sabem exatamente quanto tempo deixar a expectativa crescer antes de entregar a resolução.


❤️ Segredo 10 — Emoção sempre vence técnica

Talvez essa seja a maior lição.

Você pode dominar:

  • harmonia;

  • contraponto;

  • escalas;

  • modos gregos;

  • orquestração.

Mas...

Se a música não emocionar...

Ela será esquecida.

John Williams emociona.

Morricone emociona.

Joe Hisaishi emociona.

Nobuo Uematsu emociona.

Kevin Penkin emociona.

A técnica existe para servir à emoção.

Nunca o contrário.


🎬 Exemplos que praticamente todo mundo conhece

⭐ Star Wars

Poucas notas.

Grande intervalo.

Heroísmo imediato.


🏰 Harry Potter

Escala misteriosa.

Movimentos delicados.

Magia.

Curiosidade.

Infância.


🦈 Tubarão

Duas notas.

Repetição.

Crescimento.

Tensão.

Medo.

Uma aula completa usando quase nada.


🤠 Era Uma Vez no Oeste

Poucas notas.

Muito silêncio.

Harmônica.

Paisagem sonora.

O instrumento vira personagem.


🍄 Super Mario Bros.

Ritmo contagiante.

Saltos melódicos.

Alegria.

Movimento constante.

Impossível ouvir sem imaginar o personagem correndo.


🗡️ The Legend of Zelda

Mistura aventura com descoberta.

A melodia parece convidar o jogador para explorar um mundo desconhecido.


⚔️ Final Fantasy

Nobuo Uematsu trabalha leitmotifs durante dezenas de horas de jogo.

Um pequeno tema aparece no começo.

Volta vinte horas depois.

Agora completamente diferente.

O jogador amadureceu.

A música também.


🌸 Frieren

Joe Hisaishi não participa da trilha, mas Evan Call segue uma filosofia semelhante: poucas notas, muito espaço e enorme carga emocional.

Cada retorno de um tema lembra que o tempo passou.

Não pela fala.

Pela música.


🕷️ Attack on Titan

Hiroyuki Sawano mistura coros, metais, rock e orquestra.

Mesmo em meio à grandiosidade, seus temas possuem células rítmicas facilmente reconhecíveis.

O caos possui organização.


🌌 Made in Abyss

Kevin Penkin usa instrumentos incomuns.

Silêncios.

Texturas.

Pequenos motivos.

A música transmite simultaneamente beleza e perigo.

O cérebro nunca relaxa completamente.


O cérebro funciona como um buffer

Imagine que cada nova melodia entre em uma fila.

Se ela for comum...

Sai rapidamente.

Se possuir:

  • repetição;

  • surpresa;

  • emoção;

  • identidade;

  • resolução;

Ela passa do buffer para o armazenamento permanente.

É exatamente assim que funciona um bom cache.

Poucas informações.

Altíssimo valor.


O exercício Bellacosa Mainframe

Pegue apenas quatro notas.

Agora pergunte:

  • Existe ritmo?

  • Existe repetição?

  • Existe surpresa?

  • Existe silêncio?

  • Existe emoção?

  • Existe resolução?

Se respondeu "não" para alguma delas...

Não escreva mais notas.

Corrija a estrutura.

Os grandes compositores raramente resolvem problemas adicionando complexidade.

Eles resolvem refinando a ideia principal.


O grande segredo escondido

Depois de analisar centenas de trilhas famosas, percebemos algo curioso.

Nenhuma delas tenta impressionar o músico.

Elas tentam conversar com o cérebro humano.

É por isso que crianças conseguem cantar temas de filmes.

É por isso que adultos assobiam músicas quarenta anos depois.

É por isso que basta ouvir duas notas para sentir medo de um tubarão que nem está na tela.

John Williams, Morricone, Joe Hisaishi, Nobuo Uematsu e tantos outros descobriram que a memória não gosta de excesso.

Ela gosta de significado.


Bellacosa Mainframe

Se um arquiteto de software precisasse escrever uma definição para uma melodia inesquecível, talvez fosse algo assim:

IDENTIFICATION DIVISION.
PROGRAM-ID. MELODIA-INESQUECIVEL.

DATA DIVISION.
WORKING-STORAGE SECTION.

01 MEMORIA.
   05 RITMO       PIC X.
   05 REPETICAO   PIC X.
   05 SURPRESA    PIC X.
   05 EMOCAO      PIC X.
   05 SILENCIO    PIC X.

PROCEDURE DIVISION.

    PERFORM CONTAR-UMA-HISTORIA
    PERFORM CRIAR-EXPECTATIVA
    PERFORM RESOLVER
    PERFORM GRAVAR-NO-CEREBRO

    STOP RUN.

No fim das contas, um grande compositor e um grande programador compartilham a mesma missão: criar algo elegante, reutilizável e memorável.

A diferença é que um escreve para computadores.

O outro escreve para a memória das pessoas.

E quando tudo dá certo, ambos conseguem o mesmo resultado:

uma pequena sequência que continua sendo executada... mesmo décadas depois da última compilação.


Aqui está um bloco completo em **HTML + CSS + JavaScript**, pronto para colar em uma página ou postagem do **Blogspot**, com visual inspirado em trilhas sonoras de anime, previews por iframe, resumos, botões externos e links fixos rastreáveis por Google e Bing. ```html
🎼
UM CAFÉ NO BELLACOSA MAINFRAME

Anime Soundtrack Mainframe

Uma viagem pelo código-fonte invisível das trilhas sonoras, dos leitmotifs e das melodias que continuam executando na memória muito depois dos créditos finais.

JOB SOUNDTRACK-HUB EXECUTANDO — RC=0000
TRACK 01
🎼

Leitmotif sem Mistérios

Quando um Programador COBOL Descobre que John Williams Também Programava... Só que em Notas Musicais

Descubra como pequenas sequências musicais podem representar personagens, lugares, ameaças, lembranças e destinos. Um mergulho no leitmotif como COPYBOOK emocional do cinema, dos animes e dos games.

Carregar preview do artigo O iframe será carregado somente quando solicitado.
Abrir artigo ↗
TRACK 02
🎹

Como Criar seu Primeiro Leitmotif

Quando um Tema Inesquecível Cabe em Menos Espaço que um Copybook

Um tutorial prático para criar um motivo musical usando apenas quatro notas. Aprenda a trabalhar ritmo, repetição, timbre, variação, personagem e emoção como módulos reutilizáveis de um sistema musical.

Carregar preview do artigo O iframe será carregado somente quando solicitado.
Abrir artigo ↗
TRACK 03
🧠

Os 10 Segredos de uma Melodia Inesquecível

Quando o Cérebro Também Possui Cache e Alguns Temas Nunca Sofrem RESET

Ritmo, repetição, intervalos, pausas, surpresa, expectativa e resolução. Conheça os mecanismos que fazem temas de filmes, animes e jogos permanecerem residentes no cache emocional durante décadas.

Carregar preview do artigo O iframe será carregado somente quando solicitado.
Abrir artigo ↗
TRACK 04
🎧

O Código-Fonte Invisível dos Animes

Quando as Trilhas Sonoras Também Executam Jobs em Segundo Plano

Uma análise sobre como leitmotifs, instrumentação, silêncio e repetição conduzem personagens, memórias, batalhas, perdas e revelações dentro das trilhas sonoras dos animes.

Carregar preview do artigo O iframe será carregado somente quando solicitado.
Abrir artigo ↗
TRACK 05
💿

Acervo e Coletânea de Trilhas Sonoras

Descubra Onde Pesquisar, Ouvir e Estudar Anime Soundtracks

Um ponto de partida para localizar álbuns, compositores, coleções, bancos de dados, comunidades e referências ligadas às trilhas sonoras de animes, filmes, jogos e produções japonesas.

Carregar preview do artigo O iframe será carregado somente quando solicitado.
Abrir artigo ↗
🎵 ROTEIRO + 🎞️ ANIMAÇÃO + 🎼 TRILHA SONORA = ❤️ MEMÓRIA

quarta-feira, 8 de março de 2017

O Choque Cultural de Quem Sai do Mundo Windows/Linux e Entra em z/OS

 

Bellacosa Mainframe e o choque cultural na chegada na Stack mainframe

☕ Um Café no Bellacosa Mainframe

O Choque Cultural de Quem Sai do Mundo Windows/Linux e Entra em z/OS

Este post é excelente porque captura exatamente a sensação de quase todo profissional que chega ao universo IBM Z pela primeira vez.

A primeira impressão costuma ser:

"Isto não é um computador. Isto é uma máquina do tempo."

E, em parte, é verdade.

Mas também é uma das arquiteturas computacionais mais sofisticadas já produzidas.

Vamos desmontar alguns mitos e aprofundar os conceitos.


O primeiro choque: não existem pastas

Quem vem de Windows pensa:

C:
 ├── Projetos
 │    ├── Cobol
 │    ├── Testes

Quem vem de Linux pensa:

/opt/cobol/src/
/home/user/programs

No z/OS, historicamente não existiu um sistema de arquivos hierárquico.

Você encontra:

IBMUSER.TEST.COBOL

ou

BELLACOSA.DEV.SOURCE

ou

BANK01.CICS.COPYLIB

Não são diretórios.

São datasets.


Dataset é um conceito muito mais antigo que um arquivo

Dataset significa literalmente:

Conjunto de dados

Há vários tipos.

Sequential Dataset

PS

Exemplo:

USER01.JCL

Contém apenas um fluxo.

Como um TXT gigante.


PDS

Partitioned Data Set

Aqui começa o choque.

Imagine:

Windows

Cobol
 ├── CLIENTE.cbl
 ├── CONTA.cbl
 └── CARTAO.cbl

No Mainframe:

Dataset

USER01.COBOL.SOURCE

Membros

CLIENTE
CONTA
CARTAO

Notação:

USER01.COBOL.SOURCE(CLIENTE)

Muito elegante.

Um único catálogo.

Milhares de programas.


O PDS não é uma pasta

Esta é uma distinção importante.

Um diretório moderno é dinâmico.

Um PDS é pré-alocado.

Você define:

Primary Space

Secondary Space

Directory Blocks

Exemplo:

SPACE=(CYL,(10,5,20))

20 blocos de diretório.

Acabaram?

Não cria sozinho.

Você recria.

Ou comprime.


Os fantasmas dentro do PDS

Essa foi uma observação muito boa do autor.

Quando alteramos:

CLIENTE

CLIENTE

CLIENTE

CLIENTE

O ISPF grava uma nova versão física.

A antiga continua ocupando espaço.

Marcada como deletada.

Mas ainda existe.

Igual um SSD sem TRIM.


Compress

No ISPF:

Utilities

3.1

Compress Dataset

ou

IEBCOPY

//STEP1 EXEC PGM=IEBCOPY

Ele reorganiza.

Remove membros mortos.

Compacta.

Recupera espaço.


O famoso ABEND Sx37

O texto menciona 0E37.

Na realidade os mais comuns são:

SB37

Sem espaço em disco


SE37

Sem extents disponíveis


SD37

Dataset VSAM cheio


No PDS, muitas vezes ocorre:

Directory Full

ou

SB37

dependendo da situação.

Compress normalmente resolve.

Regra de ouro do Sysprog:

Se um PDS antigo começou a se comportar estranho,

faça um compress.


O nome dos datasets

Ele fala em três níveis.

Na prática podem existir muitos.

Exemplo:

BANK01.DEV.COBOL.SOURCE


BANK01.TEST.COBOL.COPYLIB


BANK01.PROD.JCL.BATCH


BANK01.CICS.LOADLIB

Até 44 caracteres.

Qualificadores:

Primeiro nível

High Level Qualifier

HLQ

Exemplo:

IBMUSER

Segundo:

Aplicação

FINANCE

Terceiro:

Tipo

SOURCE
LOAD
COPYLIB
DBRM
JCL
PROC

O choque das 80 colunas

Outro fantasma tecnológico.

Cartões IBM.

80 posições.

Ainda hoje.

COBOL clássico:

1-6    Sequence


7      Indicator


8-11   Area A


12-72  Area B


73-80  Comentários

Exemplo:

000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. CLIENTE.

ISPF é um editor absurdamente eficiente

No começo parece cruel.

Depois de alguns meses...

Você entende.

E não quer sair.

Comandos:

C
CC
M
MM
A
B
RR

Copiar.

Mover.

Repetir.

Excluir.

Tudo sem mouse.


Exemplo:

CC
...
CC


A

Copia cem linhas.

Instantaneamente.


Terminal versus GUI

Debate interessante.

GUI

Excelente descoberta.

Visual.

Baixa curva.


Terminal

Extremamente rápido.

Menos distrações.

Baixo consumo.

Automatizável.


Um Sysprog experiente parece um pianista.

F3

F7

F8

PF11

PF12

Enter

Tab

Em segundos percorre centenas de datasets.


Como começar no Mainframe?

Caminho 1 — IBM Z Xplore

Hoje é provavelmente o melhor caminho.

Laboratórios reais.

TSO.

JCL.

COBOL.

DB2.

USS.

RACF.

Sem instalar nada.

Excelente para iniciantes.


Caminho 2 — Hercules

Ótimo.

Mas exige bastante dedicação.

TK4-

MVS 3.8J

TK5

Ajuda muito a compreender:

JES2

Catalog

VTAM

TSO

ISPF

Porém não representa totalmente um z/OS moderno.


Caminho 3 — Zowe

Talvez seja o mais amigável.

VSCode.

Git.

SSH.

REST.

Terminal.

Mainframe híbrido.

Muito próximo do DevOps moderno.


O maior choque para quase todos os iniciantes

Normalmente é uma destas coisas:

Desenvolvedor Linux

Onde está o ls?


Desenvolvedor Windows

Cadê minhas pastas?


Programador Java

O que é um JCL?


Programador COBOL

Por que preciso dar BIND no DB2?


Sysadmin

Como assim reiniciar um LPAR custa milhões de dólares por hora?


A grande revelação

Depois de alguns meses, a percepção muda.

Você deixa de pensar em:

"Por que o Mainframe é tão estranho?"

E começa a perguntar:

"Por que os outros sistemas desperdiçam tantos recursos para fazer coisas que o Mainframe resolve há cinquenta anos?"

O IBM Z é menos um computador pessoal e mais uma infraestrutura industrial de processamento de transações, concebida para operar continuamente durante décadas, suportando bancos, bolsas de valores, seguradoras, governos e sistemas críticos. Muitas das suas peculiaridades não são limitações, mas decisões de engenharia tomadas para privilegiar estabilidade, previsibilidade, compatibilidade binária, desempenho e disponibilidade extrema. O verdadeiro desafio para quem está começando não é aprender COBOL ou decorar comandos do ISPF; é realizar uma mudança de paradigma e compreender que, no mundo do IBM Z, quase tudo foi projetado para minimizar riscos e garantir que um programa escrito há quarenta anos continue funcionando hoje, enquanto conversa com APIs REST, microsserviços, containers OpenShift e até aplicações de Inteligência Artificial. É justamente essa convivência entre passado, presente e futuro que torna o ecossistema do Mainframe tão fascinante.


terça-feira, 7 de março de 2017

A Linguagem que Conversa com o IBM Z Desde a Era dos Cartões Perfurados até a Inteligência Artificial

 

Bellacosa Mainframe relembrando JCL

☕ Um Café no Bellacosa Mainframe

📜 O Holocron do JCL

A Linguagem que Conversa com o IBM Z Desde a Era dos Cartões Perfurados até a Inteligência Artificial

A imagem apresentada é bastante didática e está correta para alguém iniciando no universo IBM Z. Entretanto, ela simplifica algo que, na prática, representa uma das tecnologias mais sofisticadas e resilientes já construídas pela engenharia de software.

Para um profissional COBOL, um operador, um analista de produção ou um Sysprog, entender JCL significa compreender como o z/OS pensa.

E isso muda completamente a forma de trabalhar.


O que realmente é JCL?

JCL significa:

Job Control Language

Mas essa definição é insuficiente.

Uma definição mais próxima da realidade seria:

JCL é a linguagem declarativa utilizada pelo z/OS para descrever uma unidade completa de processamento batch.

Ela informa:

  • O que executar

  • Quando executar

  • Com quais arquivos

  • Em quais dispositivos

  • Com quais limites

  • Em quais classes

  • Com qual prioridade

  • Como tratar erros

  • Como reiniciar

  • Como gerar relatórios

  • Como conversar com subsistemas


JCL não é programação

Essa é uma dúvida comum.

COBOL é procedural.

Python é procedural.

Assembler é procedural.

JCL é declarativo.

Você não diz:

Faça isso
Depois faça aquilo

Você diz:

"Quero que este programa seja executado utilizando estes datasets, estes recursos e estas condições."

O sistema operacional decide como fazer.

Similar a Kubernetes.

Exemplo:

replicas: 3

Você não cria containers.

Você declara.

O orquestrador cria.

JCL fazia isso nos anos 60.


A origem histórica

Década de 1960

IBM System/360

Na época havia cartões perfurados.

Cada cartão tinha 80 colunas.

Exemplo

//STEP01 EXEC PGM=IEFBR14

Era literalmente um cartão.

Daí nasceu:

Coluna 1-2

//

Coluna 3-71

Comandos

72-80

Sequência

Muitos padrões atuais nasceram aqui.


O Batch é o coração do Mainframe

Um dos maiores equívocos modernos é imaginar:

Mainframe = COBOL

Não.

O batch é mais importante.

O COBOL é apenas um passageiro.

Batch executa:

Folha salarial

PIX

FGTS

INSS

Bacen

IRPF

Conciliação bancária

Cartões

Faturamento

Bilhões de registros.


Sem JCL não existe Batch

Imagine um COBOL.


OPEN INPUT CLIENTES

Pergunta:

Onde está CLIENTES?

O COBOL não sabe.

O programa espera.

JCL informa.

//CLIENTES DD DSN=BANCO.CLIENTES,
// DISP=SHR

Agora o programa encontra o dataset.


Anatomia de um JCL

A imagem mostra muito bem.

Existem três pilares.

JOB

Representa o trabalho.

//PAGTO JOB (999),'FOLHA'

Equivalente:

Metadados.

Quem executa.

Classe.

Accounting.

Prioridade.

Tempo.

Região.

Exemplo

MSGCLASS=X
CLASS=A
TIME=1440

EXEC

O cérebro.

Define programa.

//STEP01 EXEC PGM=COBOLPGM

Ou utilitário.

EXEC PGM=SORT
EXEC PGM=IDCAMS
EXEC PGM=IKJEFT01
EXEC PGM=DSNUTILB

DD

Dataset Definition

A parte mais importante.

95% dos problemas em produção estão aqui.

Exemplo:

//ENTRADA DD DSN=EMPRESA.CLIENTES,
// DISP=SHR

Saída:

//SAIDA DD DSN=EMPRESA.RELATORIO,
// DISP=(NEW,CATLG,DELETE)

DISP é quase uma filosofia

Muitos juniores sofrem aqui.

SHR

Compartilhado

DISP=SHR

OLD

Exclusivo

DISP=OLD

NEW

Criar dataset

DISP=(NEW,CATLG,DELETE)

Se sucesso

Cataloga.

Se erro

Apaga.

Elegante.

Muito elegante.


O que realmente acontece quando submetemos um JCL?

A imagem mostra:

Create

Submit

Read

Execute

Mas internamente é muito maior.

Etapa 1

JES2 recebe


Etapa 2

Parser valida sintaxe


Etapa 3

Conversão

Job vira estrutura interna.

JCT

TIOT

JQE

JOE

Control Blocks.


Etapa 4

Scheduler escolhe execução

WLM

Service Class

Importance

Velocity


Etapa 5

Allocation

IEFBR14

Catalog

SMS

Volumes

DASD


Etapa 6

Carregamento

Program Fetch

LPA

Linklist

STEPLIB


Etapa 7

Execução


Etapa 8

Geração de SYSOUT

Spool

JES2


SYSIN é genial

A imagem cita:

SYSIN

Pouca gente entende.

SYSIN é um arquivo virtual.

Exemplo:

//SYSIN DD *
 SORT FIELDS=(1,10,CH,A)
 SUM FIELDS=NONE
/*

O programa lê como se fosse arquivo.

Mas é texto embutido.

Quase um precursor do conceito de:

Heredoc

ConfigMap

Manifest


Utilitários famosos

IEFBR14

Não faz nada.

Serve para alocar.

Apagar.

Testar.

IDCAMS

VSAM

Catalog


SORT

DFSORT

ICETOOL


IKJEFT01

Executa comandos TSO

DB2

SPUFI

DSN

REXX


IEBGENER

Copiar datasets


Condições e Fluxo

JCL possui lógica.

Pouca gente sabe.

COND

COND=(4,LT)

IF

IF STEP1.RC = 0 THEN
ENDIF

RC

Return Code

0

Sucesso

4

Warning

8

Erro

12

Erro grave

16

Falha crítica


PROC

Reutilização

Semelhante a função.

//PAYPROC PROC ENV=PROD

Chamando:

EXEC PAYPROC

Hoje lembraríamos de:

Template

Ansible

Helm Chart

Pipeline


JCL é DevOps antes do DevOps existir

Comparação moderna:

JCLDevOps
JOBPipeline
EXECStage
DDArtifact
PROCTemplate
SYSINConfiguração
JES2Scheduler
WLMQoS
CatalogRegistry
RestartRollback
CONDWorkflow

Por que aprender JCL em 2026 ainda vale muito a pena?

Porque praticamente todos os setores críticos continuam dependendo dele:

  • Bancos

  • Seguradoras

  • Bolsa de valores

  • Previdência

  • Governo

  • Telecomunicações

  • Varejo

  • Processadoras de cartões

  • Indústria

Milhões de JCLs são executados diariamente em ambientes z/OS. Muitos deles foram escritos há décadas, evoluíram ao longo do tempo e continuam sustentando operações que movimentam trilhões de dólares por ano.

Pergunta de entrevista para impressionar um recrutador

Pergunta: O JCL é apenas uma linguagem para executar programas COBOL?

Resposta esperada:

Não. O JCL é uma linguagem declarativa de controle de processamento do z/OS que define a execução de workloads batch, alocação de recursos, gerenciamento de datasets, integração com subsistemas, políticas de recuperação, automação operacional e interação com JES e WLM. O COBOL é apenas um dos muitos consumidores desse ambiente.

No fim das contas, o JCL é muito mais do que uma "linguagem de execução". Ele é o contrato operacional entre o negócio, os programas e o sistema operacional IBM Z, permitindo que um ecossistema gigantesco funcione de maneira previsível, auditável e extremamente confiável há mais de seis décadas. Para um Padawan COBOL, dominar JCL é deixar de ser apenas um programador e começar a pensar como um verdadeiro habitante do universo z/OS.

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...