Pergunta

Lendo esta pergunta multi-threaded javascript, eu estava me perguntando se seria implicações de segurança em permitir que o javascript para desovar várias threads.Por exemplo, haveria um risco de um script mal-intencionado repetidamente geração de thread thread em uma tentativa de sobrecarregar o sistema operacional ou o intérprete e o gatilho de entrada no "comportamento indefinido terra", ou é muito bonito, não é um problema?Qualquer outra forma em que um ataque pode explorar uma hipotética implementação de javascript que suporta threads que um não-threading implementação seria imune?

Atualização: Note que o fecho de um navegador não é o mesmo que criar um comportamento indefinido explorar.

Foi útil?

Solução

Não, de múltiplos threads não gostaria de adicionar extra problemas de segurança em uma execução perfeita.Rosca javascript adicionar complexidade ao interpretador de javascript que torna mais provável que você tenha uma vulnerabilidade no jogo.Mas threads são por si só não vai para adicionar quaisquer problemas de segurança.

Threads não estão presentes em javascript, pois "Threads " Chupar" - leia mais da linguagem designer (http://weblogs.mozillazine.org/roadmap/archives/2007/02/threads_suck.html)

Outras dicas

Bem, você já pode bloquear um navegador e sério desacelerar um sistema com mal-comportado JS.Iluminado navegadores implementaram verifica este tipo de coisa, e irá pará-lo antes que ele fica fora de mão.

Eu tendem a assumir que os tópicos seriam tratados de forma semelhante.


Talvez você poderia explicar o que você quer dizer por "comportamento indefinido", então?Um intérprete que permitiu script não confiável para diretamente controle o número da OS-threads nativas a ser executado seria incrivelmente ingênuo - eu não sei como Mudanças executa coisas, mas desde que a API é centrada em torno de Workers em WorkerPools, eu ficaria muito surpreso se eles não estão limitando o número total de threads nativas em uso para algumas número muito baixo.

Bem, eu acho que o maior exemplo de multi-threaded javascript do Google chrome (que ELES LANÇAMENTO JÁ EITA) e se eu entender que o javascript terá apenas um processo por aba, então, a menos que começou a desova de guias (pop-ups) eu diria que este seria um nulo problema, mas eu acho que o Google tem que em segredo de qualquer maneira, o executando todas as javascript em uma caixa de areia.

Novamente, precisamos fazer uma distinção entre o 1) apoio de vários segmentos na língua (o que eu não acho que é a sério a ser discutido como algo que vai acontecer) e 2) o uso de múltiplas threads no motor de JavaScript/intérprete no navegador.

Para #2, eu não vejo como isso pode realmente adicionar quaisquer problemas de segurança possível para o motor/intérprete, a menos que existam falhas na implementação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top