在线口译员/编制者如何处理恶意代码?

时间:2011-02-04 01:06:57

标签: security

在线代码解释器/编译器(jsfiddle.netjsbin.comideone.comcodepad.org等)如何处理恶意代码,例如无限循环?< / p>

3 个答案:

答案 0 :(得分:11)

jsFiddle仅运行客户端代码(JavaScript) - 它可以伤害的唯一机器是您(或查看您小提琴的人)。

大多数浏览器都有适当的位置来检测无响应的脚本(如无限循环),并为您提供暂停脚本的选项。

然后有codepad.orgideone.com等网站,其中在本地计算机上运行代码。

Codepad.org

  

代码执行由基于geordi的主管处理。策略是在ptrace下运行所有​​内容,不允许或忽略许多系统调用。编译器和最终可执行文件都在chroot jail中执行,具有严格的资源限制。

     

当您的应用程序是远程代码执行时,您必须预料到安全问题。我没有依赖chroot和ptrace主管,而是采取了一些额外的预防措施:

     
      
  • 管理程序进程在防火墙的虚拟机上运行   这样他们就无法制作   传出连接。
  •   
  • 运行虚拟机的计算机也严重防火墙,   并从他们的源图像恢复   周期性。
  •   

答案 1 :(得分:1)

该特定网站看起来像是在客户端运行其代码。所以你不能伤害他们的服务器。

其他网站采用在虚拟机中运行代码的方法。您可以限制虚拟机可以占用的资源,并限制可能造成的潜在损害。

答案 2 :(得分:0)

由于像jsfiddle这样的网站只是客户端代码(你不能编写服务器端代码),任何不良代码都会影响运行它的浏览器。它根本不应该影响他们的服务器。