Mais uma semana, mais um BWAIN!
Como você saberá se ouviu a semana passada Podcast (sugerir, sugerir!), BWAIN é a abreviação de Bug com um nome impressionante:
É um apelido que aplicamos quando os descobridores de um novo ataque de segurança cibernética ficam tão empolgados com sua descoberta que dão a ele um apelido amigável para relações públicas, registram um nome de domínio personalizado para ele, criam um site personalizado e projetam um logotipo especial.
Desta vez, o nome Colidir+Força inclui um caractere de pontuação irritante, que é uma vantagem na nomenclatura de bugs, mas uma desvantagem ao registrar um domínio da Internet. (Ironicamente, os nomes de domínio podem usar -
, Mas não +
).
Assim, o nome de domínio teve que ser abreviado ligeiramente para https://collidepower.com, mas o site fornecerá uma visão geral do problema de qualquer maneira, mesmo com o sinal de adição subtraído.
Colide dados em cache e meça a energia necessária
Os pesquisadores por trás desse novo papel são Andreas Kogler, Jonas Juffinger, Lukas Giner, Martin Schwarzl, Daniel Gruss e Stefan Mangard da Graz University na Áustria, e Lukas Gerlach e Michael Schwarz do CISPA Helmholtz Center for Information Security na Alemanha.
Não vamos tentar explicar detalhadamente as várias formas desse ataque, porque os detalhes técnicos de como fazer as medições e a modelagem matemática usada para fazer inferências a partir dessas medições são complexos.
Mas o cerne do problema, com o perdão do trocadilho parcial, é que a memória cache que está enterrada dentro dos chips de processadores modernos, destinada a fornecer um aumento de desempenho invisível e automático…
…nem sempre é tão invisível quanto você pode pensar e, às vezes, pode vazar parte ou todo o seu conteúdo, mesmo para processos que não deveriam ser capazes de vê-lo.
Como o nome sugere, a memória cache (pronuncia-se numerário, como em dólares e centavos, não selo, como em respeito e prestígio, se você já se perguntou), mantém cópias especiais de valores de dados da RAM convencional em locais ocultos dentro do próprio chip da CPU.
Se a CPU acompanhar os endereços de RAM (localizações de memória) que você usou recentemente e puder adivinhar bem quais você provavelmente usará novamente em breve, ela poderá mantê-los temporariamente em sua memória cache e, assim, aumentar bastante a velocidade seu segundo acesso a esses valores e o terceiro acesso, o quarto e assim por diante.
Por exemplo, se estiver procurando uma série de valores de dados em uma tabela para converter pixels de imagem de um formato de cor para outro, você pode descobrir que na maioria das vezes a tabela de pesquisa diz para você visitar o endereço RAM 0x06ABCC00 (que pode onde o código especial para “pixel preto” está armazenado) ou endereço 0x3E00A040 (que pode ser a localização do código “pixel transparente”).
Ao manter automaticamente os valores desses dois endereços de memória comumente necessários em seu cache, a CPU pode causar um curto-circuito (figurativamente, não literalmente!) em tentativas futuras de acessar esses endereços, de modo que não haja necessidade de enviar sinais elétricos para fora do processador, na placa-mãe e nos chips de RAM reais para ler a cópia principal dos dados armazenados lá.
Portanto, os dados em cache geralmente são muito mais rápidos de acessar do que os dados na RAM da placa-mãe.
De um modo geral, no entanto, você não pode escolher quais registradores de cache serão usados para armazenar quais endereços de RAM, e você não pode escolher quando a CPU decide parar de armazenar em cache seu valor de “código de pixel transparente” e começar a armazenar em cache o valor de outro programa. “chave criptográfica supersecreta” em vez disso.
Com efeito, a cache pode conter uma mistura liberal de valores, desde uma mistura liberal de endereços RAM, pertencentes a uma mistura liberal de diferentes contas de utilizador e níveis de privilégio, tudo ao mesmo tempo.
Por esse motivo, junto com motivos de eficiência e desempenho, mesmo os programas de nível administrativo não podem espiar diretamente a lista de endereços sendo armazenados em cache ou obter seus valores, para proteger os dados em cache contra espionagem externa.
Como programador, você ainda usa a instrução do código de máquina “leia o código de pixel transparente do endereço 0x3E00A040”, e o sistema operacional ainda decide se você deve ter acesso a esses dados com base no endereço numérico 0x3E00A040, mesmo que o os dados vêm diretamente do cache em vez do verdadeiro endereço de RAM 0x3E00A040.
O preço de um bit-flip
O que os pesquisadores do Collide+Power descobriram, muito simplificado, é que, embora você não possa espiar diretamente os dados temporários no armazenamento em cache e, portanto, não possa evitar a proteção de memória que seria aplicada se você passasse pelo endereço RAM oficial …
…você pode adivinhar quando valores de dados específicos estão prestes a ser gravados em registros de armazenamento de cache específicos.
E quando um número já armazenado em cache está sendo substituído por outro, você pode fazer inferências sobre ambos os valores medindo quanta energia a CPU usa no processo.
(Processadores modernos geralmente incluem registros internos especiais que fornecem leituras de uso de energia para você, então você não precisa abrir o gabinete do computador e conectar um fio de sonda física em algum lugar da placa-mãe.)
Curiosamente, o consumo de energia da própria CPU, quando substitui um valor de cache por um novo, depende de quantos bits foram alterados entre os números.
Se simplificarmos as questões para bytes individuais, sobrescrevendo o valor binário 0b00000000
de 0b11111111
(mudar o decimal 0 para o decimal 255) requer inverter todos os bits no byte, o que consumiria mais energia.
Substituindo o caractere ASCII A
(65 em decimal) com Z
(90 em decimal) significa mudar 0b01000001
para dentro 0b01011010
, onde quatro posições de bit são invertidas, consumindo assim uma quantidade mediana de energia
E se os números forem iguais, nenhum bit precisa ser invertido, o que consumiria menos energia.
Em geral, se você XOR os dois números juntos e contar o número de bits 1 na resposta, você encontrará o número de flips, porque 0 XOR 0 = 0
e 1 XOR 1 = 0
(portanto, zero denota nenhuma inversão), enquanto 0 XOR 1 = 1
e 1 XOR 0 = 1
(indicando uma virada).
Em outras palavras, se você pode acessar um monte de endereços escolhidos de uma forma que prepara um conjunto específico de registradores de cache dentro da CPU e, em seguida, monitorar o consumo de energia com precisão suficiente quando o código de outra pessoa obtém seus dados atribuídos a esses caches locais em vez…
…então você pode fazer inferências sobre quantos bits invertidos entre o conteúdo do cache antigo e o novo.
Claro, você pode escolher os valores armazenados nos endereços com os quais você preparou os registradores de cache, então você não apenas sabe quantos bits provavelmente foram invertidos, mas também quais eram os valores iniciais desses bits antes que as inversões ocorressem. lugar.
Isso fornece ainda mais dados estatísticos para prever os prováveis novos valores no cache, dado que você sabe o que havia antes e o número provável de bits que agora são diferentes.
Você pode não conseguir descobrir exatamente quais dados o processo de sua vítima estava usando, mas mesmo que consiga eliminar alguns padrões de bits, você acabou de aprender algo que não deveria saber.
E se esses dados forem, digamos, uma chave de criptografia de algum tipo, você poderá converter um ataque de força bruta inviável em um ataque no qual poderá ter sucesso.
Por exemplo, se você pode prever 70 bits em uma chave de criptografia de 128 bits, em vez de tentar todas as combinações de 128 bits, o que seria uma tarefa impossível, você precisa tentar 258 chaves diferentes (128 – 70 = 58), o que pode muito bem ser viável.
Não precisa entrar em pânico
Felizmente, essa “vulnerabilidade” (agora chamada CVE-2023-20583) é improvável que seja usado contra você em breve.
É mais uma questão teórica que os fabricantes de chips precisam levar em consideração, com base no truísmo de que os ataques de segurança cibernética “só ficam melhores e mais rápidos”, do que uma brecha explorável que poderia ser usada hoje.
De fato, os pesquisadores admitem, quase timidamente, que “Você não precisa se preocupar. "
Eles realmente escreveram Você em itálico, e a imprecação não se preocupe em negrito:
Na conclusão do artigo, os pesquisadores observam com pesar que alguns de seus melhores resultados do mundo real com esse ataque, em condições ideais de laboratório, vazaram apenas 5 bits por hora.
Para um de seus cenários de ataque, de fato, eles admitiram ter encontrado “limitações práticas que levam a taxas de vazamento de mais de [um] ano por bit”.
Sim, você leu corretamente – verificamos várias vezes no jornal apenas para ter certeza de que não estávamos imaginando.
E isso, é claro, levanta a questão: “Quanto tempo você precisa deixar uma coleção de testes de transferência de dados em execução antes de poder medir com segurança taxas de transmissão tão baixas?”
Pelos nossos cálculos, um bit por ano dá cerca de 125 bytes por milênio. Nesse ritmo, baixar o filme de sucesso de bilheteria de três horas recém-lançado Oppenheimer em qualidade IMAX, que aparentemente ocupa cerca de meio terabyte, levaria aproximadamente 4 bilhões de anos. Para colocar esse fato bizarro em perspectiva, a própria Terra tem apenas cerca de 4.54 bilhões de anos, mais ou menos algumas centenas de milhões de meses.
O que fazer?
A maneira mais simples de lidar com o CVE-2023-20538 agora é não fazer nada, já que os próprios pesquisadores aconselharam você a não se preocupar.
Se você sentir a necessidade de fazer algo, os processadores Intel e AMD têm maneiras de reduzir a precisão de suas ferramentas de medição de energia de propósito, adicionando ruído aleatório às leituras de energia.
Isso deixa suas médias corretas, mas varia as leituras individuais o suficiente para tornar esse ataque que já não é realmente viável ainda mais difícil de realizar.
A mitigação da medição de energia da Intel é conhecida como filtragem de limite de potência média em execução (RAPL); AMD é referido como modo de determinismo de desempenho.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Automotivo / EVs, Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- BlockOffsets. Modernizando a Propriedade de Compensação Ambiental. Acesse aqui.
- Fonte: https://nakedsecurity.sophos.com/2023/08/03/performance-and-security-clash-yet-again-in-collidepower-attack/
- :é
- :não
- :onde
- $UP
- 1
- 15%
- 25
- 70
- 700
- a
- Capaz
- Sobre
- absoluto
- Acesso
- Conta
- Contas
- precisão
- exatamente
- em
- real
- acrescentando
- Adição
- endereço
- endereços
- Admitem
- admitiu
- novamente
- contra
- Todos os Produtos
- permitidas
- juntamente
- já
- tb
- Apesar
- sempre
- AMD
- quantidade
- an
- e
- Outro
- responder
- qualquer
- aplicado
- Aplicar
- aproximadamente
- SOMOS
- AS
- atribuído
- At
- anexar
- ataque
- Ataques
- Tentativas
- Áustria
- autor
- auto
- Automático
- automaticamente
- média
- background-image
- baseado
- base
- BE
- Porque
- antes
- atrás
- ser
- MELHOR
- Melhor
- entre
- bilhão
- Pouco
- sucesso
- pino
- fronteira
- ambos
- Inferior
- força bruta
- Bug
- construir
- Monte
- mas a
- by
- Esconderijo
- cálculos
- CAN
- casas
- Centralização de
- mudado
- mudança
- personagem
- verificado
- lasca
- Chips
- Escolha
- escolhido
- Choque
- código
- coleção
- cor
- COM
- combinações
- vem
- integrações
- computador
- conclusão
- condições
- consumir
- consumo
- não contenho
- conteúdo
- conteúdo
- convencional
- converter
- núcleo
- correta
- poderia
- Para
- cobrir
- fenda
- Atualmente
- personalizadas
- Cíber segurança
- Daniel
- dados,
- acordo
- denota
- depende
- Design
- detalhes
- DID
- diferente
- diretamente
- descoberto
- descoberta
- Ecrã
- do
- dólares
- domínio
- Nome de domínio
- NOMES DE DOMÍNIO
- não
- apelidado
- terra
- eficiência
- ou
- eliminado
- Else's
- criptografia
- suficiente
- Mesmo
- SEMPRE
- exatamente
- exemplo
- animado
- Explicação
- externo
- fato
- mais rápido
- factível
- sentir
- poucos
- Figura
- Encontre
- Giro
- Flips
- Escolha
- força
- formato
- formas
- quatro
- Quarto
- da
- futuro
- Geral
- Alemanha
- ter
- OFERTE
- dado
- dá
- vai
- grandemente
- tinha
- Metade
- acontecer
- mais duro
- Ter
- altura
- oculto
- Buraco
- hora
- pairar
- Como funciona o dobrador de carta de canal
- Como Negociar
- Contudo
- HTML
- HTTPS
- cem
- ideal
- if
- imagem
- impossível
- impressionante
- in
- incluir
- inclui
- Individual
- INFORMAÇÕES
- segurança da informação
- dentro
- em vez disso
- Intel
- Pretendido
- interno
- Internet
- para dentro
- Ironicamente
- IT
- ESTÁ
- se
- apenas por
- Guarda
- manutenção
- Chave
- chaves
- Saber
- conhecido
- laboratório
- Sobrenome
- principal
- vazar
- aprendido
- mínimo
- Deixar
- esquerda
- Comprimento
- níveis
- Provável
- LIMITE
- limitações
- Lista
- localização
- locais
- logotipo
- longo
- procurando
- pesquisa
- Baixo
- máquina
- fazer
- Fabricantes
- muitos
- Margem
- Martin
- dominar
- matemático
- Importância
- Matéria
- max-width
- Posso..
- significa
- a medida
- medição
- medições
- medição
- Memória
- Michael
- poder
- Millennium
- milhão
- mitigação
- misturar
- mistura
- modelagem
- EQUIPAMENTOS
- Monitore
- mês
- mais
- a maioria
- filme
- muito
- nome
- nomes
- nomeando
- você merece...
- Novo
- não
- Ruído
- nenhum
- normal
- nada
- agora
- número
- números
- of
- WOW!
- oficial
- Velho
- on
- ONE
- queridos
- só
- aberto
- operando
- sistema operativo
- or
- Outros
- A Nossa
- Fora
- lado de fora
- Visão geral
- próprio
- Papel
- padrões
- Paul
- para
- atuação
- perspectiva
- físico
- pixels
- Lugar
- platão
- Inteligência de Dados Platão
- PlatãoData
- mais
- posição
- POSTAGENS
- poder
- predizer
- Prestige
- preço
- privilégio
- provavelmente
- sonda
- Problema
- processo
- processos
- Subcontratante
- processadores
- Programador
- Programas
- pronunciado
- proteger
- proteção
- fornecer
- propósito
- colocar
- qualidade
- questão
- raises
- RAM
- acaso
- Taxa
- Preços
- Leia
- mundo real
- clientes
- razão
- razões
- recentemente
- reduzir
- a que se refere
- cadastre-se
- registro
- registradores
- relativo
- liberado
- substituído
- exige
- pesquisadores
- respeito
- Resultados
- certo
- corrida
- mesmo
- dizer
- cenários
- Preto
- Segundo
- segurança
- Vejo
- enviar
- Série
- conjunto
- vários
- Baixo
- assinar
- sinais
- simplificada
- simplificar
- local
- bisbilhotando
- So
- sólido
- alguns
- Alguém
- algo
- algum lugar
- em breve
- falando
- especial
- específico
- velocidade
- começo
- Comece
- estatístico
- Ainda
- Dê um basta
- armazenamento
- loja
- armazenadas
- suceder
- Sugere
- suposto
- certo
- SVG
- .
- mesa
- Tire
- toma
- Tarefa
- Dados Técnicos:
- conta
- temporário
- testes
- do que
- que
- A
- deles
- Eles
- si mesmos
- então
- teórico
- Lá.
- assim sendo
- deles
- think
- Terceiro
- isto
- aqueles
- Assim
- tempo
- para
- hoje
- juntos
- levou
- ferramentas
- topo
- pista
- transferência
- transição
- transparente
- verdadeiro
- tentar
- dois
- Em última análise
- para
- universidade
- improvável
- URL
- Uso
- usar
- usava
- Utilizador
- utilização
- geralmente
- valor
- Valores
- VAIDADE
- vário
- muito
- via
- Visite a
- foi
- Caminho..
- maneiras
- we
- Site
- semana
- BEM
- fui
- foram
- O Quê
- quando
- se
- qual
- enquanto
- largura
- precisarão
- Fio
- de
- palavras
- preocupar-se
- seria
- escrever
- escrito
- ano
- anos
- ainda
- Vocês
- investimentos
- zefirnet
- zero