gpt4 book ai didi

java - 除了 Java 之外,还有哪些语言具有非特权代码与特权代码的安全模型?

转载 作者:搜寻专家 更新时间:2023-10-31 19:41:10 26 4
gpt4 key购买 nike

我最近了解了 Java 的安全模型。大多数人认为 Java 是安全的,因为它不受缓冲区溢出等问题的影响,但是整个 Java 安全模型都以检查代码是否有权执行某些操作为中心。他们实际上是在解决一个具有挑战性的问题:如何让任意不受信任的代码(比如在网络浏览器中)运行,但被阻止以恶意方式访问底层系统,同时保留以某些方式与系统交互的能力。

沙盒 C++ 或类似的东西甚至都很难尝试,因为该语言要求您能够进行指针运算等,从而允许恶意代码破坏进程的其他部分。不过,由于有许多内存安全语言,我想知道还有哪些其他语言具有复杂的安全模型,以及它们与 Java 的相比如何。

我不知道有多少语言努力拥有“沙盒”等概念。我正在寻找一些指导来了解计算机安全这个有趣的方向。

最佳答案

Perl 有一个非常巧妙的特性,称为污点模式 (-T)。启用该模式后,任何来自外部世界的变量(env vars、GET/POST 数据等)都会被污染,任何接触到被污染变量的变量也会被污染。受污染的变量不能用于接触外界的方法(SQL、exec/system 等)。清除变量的唯一方法是对其执行正则表达式;任何匹配的组都是未受污染的。当然,您可以通过为 /(.*)/ 执行正则表达式来绕过污点模式,但想法是您必须主动编写这样的错误代码——而不是粗心地忘记清理您的输入——如果您打算做一些愚蠢的事情,比如将用户输入直接连接到 MySQL。

关于java - 除了 Java 之外,还有哪些语言具有非特权代码与特权代码的安全模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8550328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com