Como proteger adequadamente um programa que pode travar o computador

1

Recentemente eu compilei um programa em GNU MIX . O programa é bastante simples e contém apenas um salto incondicional para a única instrução, que é essencialmente um loop infinito.

O problema é que, quando executo o programa usando o mixvm , o sistema trava. Isso pode ser um problema separado e eu posso apenas enviar um relatório de bug para GNU MIX . Mesmo executando o seguinte não ajuda

mixvm -r infiniteloop.mix & sleep 5 && killall mixvm

A minha pergunta é, existe uma maneira simples de executar um programa que possivelmente pode travar o computador em um ambiente de área restrita para que ele apenas trava a sandbox?

Estou procurando uma abordagem que não exija a configuração de máquinas virtuais. Não tenho certeza se isso deve ser identificado como "código malicioso", pois confio que o programa não fará nada a respeito dos problemas de segurança, como roubar minha senha ou limpar meu disco. O único problema com isso é que ele pode travar o computador irrecuperavelmente (a única maneira de recuperar é a reinicialização forçada ou possivelmente (eu não tentei) enviar um SysRq).

Estou executando Ubuntu 16.04.4 LTS .

Eu não estou tão familiarizado com a virtualização, então sinta-se à vontade para me corrigir se houver algo óbvio que eu tenha perdido.

    
por Weijun Zhou 03.03.2018 / 22:46

1 resposta

2

há um programa que você pode executar do bash chamado

cpulimit

e aqui está a documentação sobre isso

link

Estou copiando o primeiro exemplo deles

EXEMPLOS        Assumindo que você iniciou foo --bar e descubra com o topo (1) ou        ps (1) que este processo usa todo o seu tempo de CPU você pode

   # cpulimit -e foo -l 50
          limits the CPU usage of the process by acting on the  executable
          program file (note: the argument "--bar" is omitted)
    
por 04.03.2018 / 02:54

Tags