# Stuxnet
> [!critical] Primeira Arma Cibernética de Estado - Sabotagem de Centrífugas Nucleares Iranianas
> Stuxnet é o primeiro malware públicamente documentado com alvo exclusivo em sistemas de controle industrial (ICS/SCADA), desenvolvido conjuntamente por EUA e Israel para sabotar o programa nuclear iraniano. Explorou **quatro vulnerabilidades zero-day simultâneas** do Windows - recorde histórico - e reprogramou PLCs Siemens para destruir centrífugas de enriquecimento de urânio enquanto relatava operação normal. Mudou permanentemente a doutrina de guerra cibernética global.
## Visão Geral
Stuxnet (MITRE S0603, também conhecido como W32.Stuxnet, Rootkit.Tmphider) é o worm ICS mais sofisticado já documentado, descoberto em junho de 2010 pela empresa bielorrussa VirusBlokAda e subsequentemente analisado em profundidade pela Kaspersky Lab, Symantec e ESET. Apesar da descoberta em 2010, análise forense de amostras revelou componentes em circulação desde novembro de 2008. O malware foi atribuído públicamente a uma operação conjunta EUA-Israel, conduzida sob o codinome "Olympic Games" e iniciada durante o governo Bush, continuada pelo governo Obama. O objetivo era atrasar o programa de enriquecimento de urânio do Irã, específicamente as instalações de Natanz, sem desencadear um conflito militar aberto.
A sofisticação técnica do Stuxnet era sem precedentes: o malware explorou simultaneamente quatro vulnerabilidades zero-day do Windows (CVE-2010-2568, CVE-2010-2772, CVE-2010-2729, CVE-2010-2743) - quantidade nunca vista em um único malware até então. Utilizou dois certificados digitais roubados de fabricantes taiwaneses legítimos (Realtek Semiconductor e JMicron Technology) para assinar seus drivers e parecer software legítimo para o Windows. O worm também incorporou um rootkit sofisticado que ocultava a presença de arquivos maliciosos do sistema de arquivos e do Editor de Registro.
O alvo final do Stuxnet não era a rede de TI das instalações nucleares, mas os CLPs (Controladores Lógicos Programáveis) Siemens SIMATIC S7-315 e S7-417 que controlavam as centrífugas IR-1 para enriquecimento de urânio. Após comprometer sistemas Windows, o malware verificava a presença de software Siemens Step 7 e identificava CLPs específicos com configuração correspondente à de Natanz. Quando encontrava o alvo, reprogramava silenciosamente as centrífugas para operar em velocidades que causavam estresse mecânico e ruptura, enquanto enviava dados falsos de "operação normal" para os operadores humanos. Estima-se que o Stuxnet destruiu ou danificou entre 1.000 e 2.000 das 9.000 centrífugas instaladas em Natanz.
O Stuxnet estabeleceu um paradigma que redefiniu a doutrina de guerra cibernética: provou que código computacional pode causar destruição física em infraestrutura crítica de um adversário soberano sem disparo de armas convencionais. Seu código-fonte e técnicas inspiraram gerações subsequentes de malware ICS como Industroyer, TRITON/TRISIS e Industroyer2, todos direcionados a infraestrutura crítica global.
| Campo | Detalhe |
|-------|---------|
| **Tipo** | Worm ICS / arma cibernética de Estado |
| **Linguagem** | C/C++ (user-mode) + rootkit kernel-mode |
| **Primeira versão** | Novembro 2008 (componentes), Junho 2010 (descoberta) |
| **Status** | Inativo - versões originais não circulam, código disseminado |
| **MITRE ID** | S0603 |
| **Plataformas** | Windows, Siemens SIMATIC S7 PLCs |
| **Alvo principal** | Centrífugas IR-1, instalações nucleares Natanz (Irã) |
## Como Funciona
**Entrada inicial via USB infectado:** O Stuxnet foi projetado para operar em redes air-gapped usando USB como vetor de entrada. Ao inserir um dispositivo USB infectado, o malware explorava a vulnerabilidade LNK (CVE-2010-2568) no Windows Shell para executar automaticamente sem ação do usuário - simplesmente abrindo a pasta no Explorer disparava a execução.
**Propagação lateral por múltiplos vetores:** Após comprometer o primeiro host, o worm se espalhava pela rede interna via: compartilhamentos de rede Windows (CVE-2010-2568), print spooler (CVE-2010-2729), vulnerabilidade do servidor de impressão (CVE-2010-2722), e via Step 7 infectando projetos Siemens.
**Instalação com drivers assinados:** O malware instalava dois drivers de kernel assinados com certificados roubados da Realtek e JMicron - drivers assinados eram aceitos automaticamente pelo Windows sem alertas de segurança, garantindo instalação silenciosa mesmo com UAC ativo.
**Rootkit duplo:** Um rootkit de user-mode ocultava arquivos e chaves de registro maliciosos do Explorer, regedit e ferramentas de segurança. Um rootkit de kernel-mode interceptava leituras de blocos do sistema de arquivos para ocultar o worm em dispositivos USB inseridos.
**Verificação do alvo específico:** Antes de atacar, o Stuxnet verificava rigorosamente o ambiente: presença de software Siemens WinCC/Step 7, configuração específica de CPUs S7 (315-2 ou 417), número de inversores de frequência Vacon ou Fararo Paya, e frequência de operação das centrífugas (807 Hz ou 1210 Hz - específicas para centrífugas IR-1).
**Sabotagem dos CLPs:** Uma vez no CLP alvo, o Stuxnet reprogramava os blocos de código Siemens OB35 (função de interrupção periódica) para alterar a velocidade das centrífugas em padrões destrutivos - aceleração abrupta para 1410 Hz, depois queda para 2 Hz, repetidamente - enquanto interceptava as leituras dos sensores e enviava valores normais para as estações de monitoramento dos operadores.
**Limpeza anti-forense:** O worm incluía rotina de autodeleção programada para 24 de junho de 2012 - data em que se deletaria de todos os sistemas infectados. Também apagava rastros via timestomping e deletava logs de eventos relacionados à sua atividade.
## Attack Flow
```mermaid
graph TB
A["USB infectado introduzido<br/>Operativo ou insider<br/>T1091 Removable Media"] --> B["Exploit LNK zero-day<br/>CVE-2010-2568 autoexec<br/>T1210 Exploitation Services"]
B --> C["Driver assinado instalado<br/>Cert Realtek JMicron<br/>T1553.002 Code Signing"]
C --> D["Propagação na rede<br/>Print spooler SMB<br/>CVE-2010-2729 CVE-2010-2772"]
D --> E["Busca Siemens Step 7<br/>Verificação CLP S7-315 417<br/>T1082 System Information"]
E --> F["Reprogramação do CLP<br/>Bloco OB35 modificado<br/>Centrífugas IR-1 sabotadas"]
F --> G["Leituras falsas para ops<br/>Rootkit mascara anomalias<br/>T1070 Indicator Removal"]
classDef entry fill:#e74c3c,color:#fff
classDef exploit fill:#e67e22,color:#fff
classDef persist fill:#3498db,color:#fff
classDef lateral fill:#8e44ad,color:#fff
classDef target fill:#27ae60,color:#fff
classDef impact fill:#2c3e50,color:#fff
class A entry
class B,C exploit
class D lateral
class E target
class F impact
class G impact
```
## Timeline
```mermaid
timeline
title Stuxnet - Cronologia do Ataque
2006 : Projeto Olympic Games aprovado
: Bush autoriza operação EUA-Israel
2008 : Primeiros componentes Stuxnet
: Versao inicial em circulação Natanz
2009 : Versao 1.001 distribuída via USB
: Centrífugas começam a falhar
2010-06 : VirusBlokAda descobre worm
: Kaspersky e Symantec analisam
2010-09 : Symantec publica análise completa
: 4 zero-days confirmados Siemens
2011 : New York Times confirma Olympic Games
: Obama confirma continuação do programa
2012 : Stuxnet versão 0.5 analisada pela Symantec
: Rotina de autodeleção ativa
2013 : Snowden documenta Olympic Games NSA
: Confirmação joint operation NSA/Unit 8200
2016 : Industroyer/Crashoverride surge
: Herança técnica do Stuxnet em ICS
2022 : Industroyer2 ataca Ucrânia
: Descendente direto do legado Stuxnet
```
## TTPs Mapeados
| Tática | Técnica | Uso Específico |
|--------|---------|----------------|
| Acesso Inicial | [[t1091-replication-through-removable-media\|T1091]] | Propagação via USB com exploit LNK automático |
| Execução | [[t1047-windows-management-instrumentation\|T1047]] | WMI para execução de código e movimento lateral |
| Execução | [[t1129-shared-modules\|T1129]] | Módulos compartilhados via DLLs injetadas |
| Persistência | [[t1543-003-windows-service\|T1543.003]] | Serviço Windows para persistência do rootkit |
| Persistência | [[t1112-modify-registry\|T1112]] | Modificações de registro para configuração e persistência |
| Escalação | [[t1134-001-token-impersonationtheft\|T1134.001]] | Impersonação de token para operações privilegiadas |
| Evasão | [[t1070-006-timestomp\|T1070.006]] | Modificação de timestamps de arquivos maliciosos |
| Evasão | [[t1070-004-file-deletion\|T1070.004]] | Autodeleção programada e limpeza de logs |
| Evasão | [[t1027-013-encryptedencoded-file\|T1027.013]] | Payload criptografado em arquivo container |
| Evasão | [[t1140-deobfuscatedecode-files-or-information\|T1140]] | Decodificação de payloads em memória |
| Movimento Lateral | [[t1210-exploitation-of-remote-services\|T1210]] | Exploração CVE-2010-2729 (print spooler) para lateral |
| Descoberta | [[t1082-system-information-discovery\|T1082]] | Verificação de configuração Siemens Step 7 e CLPs |
| Descoberta | [[t1016-system-network-configuration-discovery\|T1016]] | Reconhecimento de rede para propagação |
| C2 | [[t1132-001-standard-encoding\|T1132.001]] | Codificação de comúnicações P2P entre instâncias |
| C2 | [[t1560-003-archive-via-custom-method\|T1560.003]] | Compressão customizada de dados para exfiltração |
## Grupos que Usam
- [[g0020-equation-group|Equation Group]] (NSA TAO) - atribuição pública via documentos Snowden e investigações jornalísticas; operação conjunta com Unit 8200 (Israel)
## Relevância LATAM/Brasil
O impacto direto do Stuxnet sobre o Brasil é baixo - o malware foi projetado específicamente para atacar centrífugas IR-1 da Siemens em Natanz. No entanto, o Stuxnet tem relevância crítica para o contexto LATAM/Brasil por múltiplas razões estratégicas.
Primeiro, o Brasil possui a única instalação de enriquecimento de urânio da América Latina - a Fábrica de Combustível Nuclear (FCN) em Resende, Rio de Janeiro, operada pela INB (Indústrias Nucleares do Brasil). Embora uses tecnologia de centrifugação diferente (rotores de carbono desenvolvidos domesticamente), o precedente do Stuxnet demonstrou que instalações nucleares civis com software SCADA conectado a sistemas Windows são vulneráveis a ataques cibernéticos de nação-estado.
Segundo, os Stuxnet e seus descendentes (Industroyer, TRITON/TRISIS, Industroyer2) estabeleceram a norma de que infraestrutura crítica industrial - usinas hidrelétricas, refinarias de petróleo, sistemas de tratamento de água - é alvo legítimo de conflito cibernético. O Brasil opera a maior usina hidrelétrica do mundo (Itaipu Binacional) e infraestrutura crítica de porte global (Petrobras, Embraer, sistema financeiro BACEN). Ataques ICS inspirados no Stuxnet representam ameaça real a esta infraestrutura.
Terceiro, a revelação do Stuxnet catalisou o desenvolvimento de capacidades ofensivas por múltiplos países, incluindo atores do Oriente Médio e China que desenvolveram ferramentas ICS similares. A proliferação dessas capacidades aumenta o risco global para toda infraestrutura crítica industrial, incluindo a brasileira.
## Detecção
**Fontes de dados recomendadas:**
- **Sistemas SCADA/ICS:** Monitorar modificações não autorizadas nos blocos de código de CLPs Siemens (especialmente OB35, OB1) - qualquer alteração sem autorização do engenheiro de controle é sinal crítico
- **USB/removable media:** Alertar sobre execução automática via LNK de dispositivos removíveis - o CVE-2010-2568 está corrigido, mas variantes com vetores similares existem
- **Certificados de driver:** Validar assinaturas de drivers carregados - drivers com certificados revogados ou de fabricantes de hardware consumidor carregando em sistemas industriais é anomalia grave
- **Network (ICS):** Monitorar comúnicações entre estações de engenharia e CLPs Siemens - Stuxnet se comúnicava via protocolo Siemens S7 em portas 102/TCP; qualquer tráfego S7 não autorizado é alerta
**Regras de detecção:**
- YARA: `Stuxnet.yar` - strings internas, estruturas de rootkit e strings de configuração Siemens (repositório Neo23x0/signature-base e Kaspersky ICS CERT)
- Sigma: `proc_creation_win_stuxnet_lnk.yml` - padrão de exploração LNK via Windows Shell (abrangente para variantes posteriores)
- ICS: Monitorar integridade de blocos de código de CLPs via comparação de hash de programa carregado vs. referência - técnica de detecção recomendada pela ICS-CERT
## Referências
- [1](https://attack.mitre.org/software/S0603/) MITRE ATT&CK - S0603 Stuxnet
- [2](https://docs.broadcom.com/doc/security-response-w32-stuxnet-dossier-11-en) Symantec - W32.Stuxnet Dossier (2010)
- [3](https://ics-cert.kaspersky.com/publications/reports/2010/09/24/stuxnet-and-the-threat-to-industrial-facilities/) Kaspersky ICS CERT - Stuxnet Analysis (2010)
- [4](https://www.wired.com/2014/11/countdown-to-zero-day-stuxnet/) Wired - Kim Zetter: Countdown to Zero Day (2014)
- [5](https://www.nytimes.com/2012/06/01/world/middleeast/obama-ordered-wave-of-cyberattacks-against-iran.html) New York Times - Obama Ordered Olympic Games (2012)
- [6](https://www.cisa.gov/topics/industrial-control-systems) CISA - ICS Security Resources (referência ICS)