在多线程javascript上阅读this question,我想知道允许javascript生成多个线程是否会带来安全问题。例如,是否会有恶意脚本反复生成线程的风险,从而试图压倒操作系统或解释器并触发进入“未定义行为域”的入口,还是几乎没有问题?攻击是否可以利用假设的javascript实现来支持非线程实现免疫的线程?
更新:注意到锁定浏览器与创建未定义的行为漏洞是不一样的。
发布于 2008-11-27 01:41:46
不,多线程不会在完美的实现中增加额外的安全问题。线程化的javascript将增加javascript解释器的复杂性,这使得它更有可能存在可利用的bug。但是单靠线程并不会增加任何安全问题。
线程不存在于javascript中,因为"Threads“-从语言设计器(http://weblogs.mozillazine.org/roadmap/archives/2007/02/threads_suck.html)读取更多内容
发布于 2008-09-02 16:55:14
好吧,你已经可以锁上浏览器,严重地减慢一个行为不佳的JS系统的运行速度。开明的浏览器已经实现了对这类事情的检查,并且会在它失控之前停止它。
我倾向于假设线程将以类似的方式处理。
也许你可以解释一下你所说的“未定义的行为”是什么意思?允许不受信任的脚本直接控制操作系统数量的解释器--运行中的本机线程--我不知道Gears是如何运行的,但是由于WorkerPool的API是围绕着WorkerPool的,所以如果它们没有将使用的本地线程总数限制在非常低的数量上,我会感到非常惊讶。
发布于 2008-09-02 16:50:03
嗯,我认为多线程javascript的唯一主要例子是Google的chrome (如果他们已经发布IT了,天哪),如果我理解的话,javascript每个选项卡只会有一个进程,所以除非它开始生成选项卡(弹出窗口),否则我认为这将是一个空问题,但我认为Google已经包好了,所有的javascript都在沙箱中运行。
https://stackoverflow.com/questions/39983
复制相似问题