Pular para o conteúdo principal

7 postagens marcadas com "segurança"

Ver todas os Marcadores

O Sandbox do V8

· Leitura de 15 minutos
Samuel Groß

Após quase três anos desde o documento de design inicial e centenas de CLs no período, o Sandbox do V8 — um sandbox leve e em processo para o V8 — progrediu ao ponto em que não é mais considerado um recurso experimental de segurança. A partir de hoje, o Sandbox do V8 está incluído no Programa de Recompensa por Vulnerabilidades do Chrome (VRP). Embora ainda existam vários problemas a serem resolvidos antes que se torne uma barreira de segurança robusta, sua inclusão no VRP é um passo importante nessa direção. O Chrome 123 pode ser considerado uma espécie de versão "beta" para o sandbox. Este post de blog aproveita esta oportunidade para discutir a motivação por trás do sandbox, mostrar como ele impede que a corrupção de memória no V8 se espalhe dentro do processo host e, por fim, explicar por que ele é um passo necessário para a segurança de memória.

V8 está mais rápido e seguro do que nunca!

· Leitura de 8 minutos
[Victor Gomes](https://twitter.com/VictorBFG), o especialista em Glühwein

Bem-vindo ao emocionante mundo do V8, onde velocidade não é apenas uma característica, mas um estilo de vida. Enquanto nos despedimos de 2023, é hora de celebrar as impressionantes realizações que o V8 alcançou este ano.

Através de otimizações inovadoras de desempenho, o V8 continua a expandir os limites do que é possível no cenário em constante evolução da Web. Introduzimos um novo compilador de nível intermediário e implementamos várias melhorias na infraestrutura do compilador de alto nível, no runtime e no coletor de lixo, o que resultou em ganhos significativos de velocidade em todos os aspectos.

Integridade do Fluxo de Controle no V8

· Leitura de 9 minutos
Stephen Röttger

A integridade do fluxo de controle (CFI) é uma funcionalidade de segurança que visa impedir que explorações assumam o controle do fluxo de controle. A ideia é que, mesmo que um invasor consiga corromper a memória de um processo, verificações adicionais de integridade podem impedir que executem código arbitrário. Neste post no blog, queremos discutir nosso trabalho para habilitar o CFI no V8.

Adaptando a segurança temporal da memória no C++

· Leitura de 12 minutos
Anton Bikineev, Michael Lippautz ([@mlippautz](https://twitter.com/mlippautz)), Hannes Payer ([@PayerHannes](https://twitter.com/PayerHannes))
nota

Nota: Esta publicação foi originalmente publicada no Google Security Blog.

Segurança da memória no Chrome é um esforço contínuo para proteger nossos usuários. Estamos constantemente experimentando diferentes tecnologias para nos manter à frente de agentes maliciosos. Sob esse espírito, esta publicação fala sobre nossa jornada no uso de tecnologias de varredura de heap para melhorar a segurança de memória no C++.

Um ano com Spectre: uma perspectiva do V8

· Leitura de 10 minutos
Ben L. Titzer e Jaroslav Sevcik

Em 3 de janeiro de 2018, o Google Project Zero e outros divulgaram as três primeiras vulnerabilidades de uma nova classe que afeta CPUs que realizam execução especulativa, chamadas Spectre e Meltdown. Usando os mecanismos de execução especulativa das CPUs, um atacante poderia temporariamente ignorar verificações de segurança implícitas e explícitas no código que impedem programas de ler dados não autorizados na memória. Embora a especulação do processador tenha sido projetada para ser um detalhe microarquitetural, invisível no nível arquitetural, programas cuidadosamente criados poderiam ler informações não autorizadas durante a especulação e divulgá-las por meio de canais laterais, como o tempo de execução de um fragmento de programa.

Desativando temporariamente a análise de escape

· Leitura de 2 minutos
Mathias Bynens ([@mathias](https://twitter.com/mathias)), analista de escape de sandbox

Em JavaScript, um objeto alocado escapa se ele for acessível fora da função atual. Normalmente, o V8 aloca novos objetos no heap do JavaScript, mas utilizando análise de escape, um compilador de otimização pode determinar quando um objeto pode ser tratado de forma especial porque seu tempo de vida está comprovadamente vinculado à ativação da função. Quando a referência a um objeto recém-alocado não escapa da função que o cria, os engines de JavaScript não precisam alocar explicitamente esse objeto no heap. Eles podem, em vez disso, tratar efetivamente os valores do objeto como variáveis locais da função. Isso, por sua vez, permite todos os tipos de otimizações, como armazenar esses valores na pilha ou em registradores, ou, em alguns casos, otimizar os valores completamente. Objetos que escapam (mais precisamente, objetos que não podem ser comprovadamente não escapantes) precisam ser alocados no heap.

Sobre aquela vulnerabilidade de inundação de hash no Node.js…

· Leitura de 6 minutos
Yang Guo ([@hashseed](https://twitter.com/hashseed))

No início de julho deste ano, o Node.js lançou uma atualização de segurança para todos os ramos atualmente mantidos para resolver uma vulnerabilidade de inundação de hash. Este reparo intermediário tem o custo de uma regressão significativa no desempenho de inicialização. Enquanto isso, o V8 implementou uma solução que evita a penalidade de desempenho.