
Pesquisa e PoC prática do Spectre Variant 2 (CVE-2017-5715), uma vulnerabilidade de canal lateral de hardware que explora a execução especulativa da CPU e a previsão de desvios. Inclui configuração de laboratório, identificação de vulnerabilidade, passo a passo do exploit, análise de temporização de cache, vídeo de demonstração e estratégias de mitigação.
Um artigo de pesquisa aprofundado e uma Prova de Conceito (PoC) prática explorando ataques de execução especulativa em CPUs modernas.
Este projeto é uma exploração de pesquisa e baseada em laboratório do Spectre Variant 2 (CVE-2017-5715), também conhecido como Injeção de Alvo de Desvio (Branch Target Injection) — uma vulnerabilidade de canal lateral em nível de hardware que afeta CPUs que implementam execução especulativa e predição de desvios.
Os objetivos deste projeto foram:
⚠️ Aviso: Este trabalho foi conduzido estritamente em uma máquina virtual controlada e isolada, para fins acadêmicos e educacionais. Ele não tem como alvo nem afeta qualquer sistema de produção, e nenhum código de exploração proprietário foi criado — o repositório publicamente disponível SpectrePoC foi utilizado para demonstração.
CVE-2017-5715 é uma vulnerabilidade de microprocessador que permite a um atacante enganar o preditor de desvios da CPU para executar instruções ao longo de um caminho incorreto ("especulativo"). Embora a CPU descarte corretamente os resultados dessa previsão incorreta, ela não consegue apagar completamente os efeitos colaterais — principalmente, as alterações no estado do cache da CPU. Essas alterações residuais no cache podem ser medidas por meio de análise de temporização, permitindo que um atacante infira dados secretos que nunca deveriam ter sido acessíveis.
Ao contrário dos bugs de software tradicionais, o Spectre explora o design de hardware das CPUs modernas, tornando extremamente difícil corrigi-lo completamente e exigindo uma combinação de mitigações em nível de microcódigo, sistema operacional e compilador.
| Componente | Detalhes |
|---|---|
| Sistema Operacional | Ubuntu 14.04 LTS |
| Versão do Kernel | 4.4.0-148-generic |
| CPU | 12ª Geração Intel® Core™ i5-12450H |
| Virtualização | VMware Workstation |
| Repositório da PoC | crozone/SpectrePoC |
sudo apt update
sudo apt install git
git clone https://github.com/crozone/SpectrePoC
cd SpectrePoC
make
O Linux expõe o status de vulnerabilidade/mitigação da CPU diretamente por meio do sysfs:
grep . /sys/devices/system/cpu/vulnerabilities/*
Isso confirmou que a CPU de teste estava vulnerável a spectre_v2, enquanto outras vulnerabilidades relacionadas (Meltdown, L1TF, MDS) estavam mitigadas ou não eram afetadas.
./spectre.out
A ferramenta relata repetidamente resultados de Success juntamente com uma "pontuação" de confiança, derivada das diferenças de temporização do cache — cada leitura bem-sucedida representa um byte vazado de memória de outra forma inacessível, reconstruído inteiramente por meio do canal lateral especulativo.
Uma demonstração gravada de toda a PoC — desde a configuração do ambiente até a exfiltração bem-sucedida de dados — está incluída neste repositório para validar visualmente o ataque.
📁 Atualize o caminho acima depois que o arquivo de vídeo for adicionado ao seu repositório (por exemplo, coloque-o em uma pasta
demo/oumedia/e ajuste o link de acordo).
Indirect Branch Restricted Speculation (IBRS) e mitigações semelhantes reduzem o vazamento entre limites..
├── README.md
├── Research_Paper_-_CVE-2017-5715_Spectre_by_Shivam_Bhatt.pdf
└── demo/
└── spectre-poc-demo.mp4
Shivam Bhatt Diploma de Pós-Graduação em Segurança Cibernética (Com Honras) — NAIT 🔗 Sinta-se à vontade para se conectar no LinkedIn ou entrar em contato para colaboração em pesquisa de cibersegurança.
⭐ Se você achou esta pesquisa útil, considere dar uma estrela no repositório!