Hyperbleed - Current state of spectre-BTI mitigations on cloud

Version 1.0 Introduction During our tests for reverse spectre attacks 123, we have observed that the behavior of the spectre-BTI4 mitigations differs between a bare-metal and a cloud-based scenario. The Linux kernel allows userspace processes to enable mitigations by calling prctl5 with the PR_GET_SPECULATION_CTRL which disables the speculation feature or by using seccomp6. The default behavior changed over time (from using IBPB/STIBP to IBRS). We have measured that on some instances of Google, AWS, Azure and Oracle, the spectre-BTI mitigation using prctl still leaves the victim exposed to attacks in some cases....

May 29, 2023 · 30 min · 6351 words · bsdaemon, esoj

Load+Reload: Uma prova de conceito de um side-channel que explora a cache associativa de processadores AMD

Introdução Em busca da maior performance possível, os processadores atuais tiram vantagem de diversos artifícios, muitas vezes sem grande consideração pela segurança. Nesse contexto, ataques como Spectre (Kocher et al. 2019) e Meltdown (Lipp et al. 2018) mostram que a execução especulativa é um tópico muito interessante a ser explorado. Nesse artigo, construiremos uma prova de conceito do ataque Load+Reload (Lipp et al. 2020), que tira vantagem do preditor de way presente na cache dos processadores atuais da AMD....

October 2, 2022 · 10 min · 1957 words · ottoboni

ReDoS

Quinta-feira passada, eu estava procrastinando como sempre, quando me deparei com um vídeo de uma talk chamada “The State of the Web”. O título do vídeo em questão era “JavaScript Vulnerabilities”. Como amante de web pretensioso que sou, logo pensei “vou abrir, mas duvido que aprenda algo novo”. Apenas 51 segundos depois, o entrevistado disse a seguinte frase (traduzida): Também há coisas que as pessoas não pensam sobre, como regular expression denial-of-service....

June 3, 2018 · 5 min · 899 words · mavellar

Keyloggers

O que são, para que servem, e como fazer um? Uma das ferramentas potencialmente maliciosas mais bem conhecidas na área de computação é o keylogger. Um keylogger é um programa (ou dispositivo) que detecta quando alguma tecla é pressionada no teclado e, de uma maneira ou de outra, guarda essa informação — seja para uso futuro pelo próprio usuário ou não. É importante notar que um keylogger não necessariamente é um spyware, isto é, um programa para espionar no usuário sem consentimento....

May 23, 2018 · 8 min · 1627 words · mavellar

Resumo sobre as características e o funcionamento do Docker - Parte I

O docker é um meio termo entre uma máquina virtual (= que roda um sistema guest (convidado) dentro de um sistema host (hospedeiro)) e um sistema rodando simultaneamente e concorrentemente com outro. Em primeiro lugar, ele é bem mais leve e mais rápido do que uma máquina virtual completa, pois reutiliza vários sub-sistemas do sistema host (diferentemente de uma máquina virtual, que tipicamente “emula” todos os aspectos de hardware e de software do guest), tal como o kernel....

October 8, 2017 · 2 min · 392 words · thiagowfx