首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASLR的成本效益分析

ASLR的成本效益分析
EN

Security用户
提问于 2016-09-29 21:01:38
回答 3查看 380关注 0票数 3

我想评估是否值得将ASLR添加到专有操作系统中。这个操作系统运行多个不相互信任的应用程序,并通过网络交换数据,因此ASLR缓解的威胁确实适用。在无限资源的情况下,我会添加ALSR。

但资源是有限的。也许我们会在其他方面花费时间,比如更密集的测试、更精细的静态分析、一般的设计改进等等,从而获得更强的安全性。

我们可以查看我们的操作系统并评估ASLR的成本(初始设计,避免地址泄漏,例如定时,更大的调试难度,…)。我们如何评估这些好处?

ASLR不能防止漏洞,它只会使漏洞更难利用。我倾向于认为,最不容易被利用的漏洞是不存在的,攻击者总是会找到一种方法,但这只是一种感觉,我没有数据。ASLR让开发成为不可能是很普遍的吗?我们如何量化ASLR的好处?

EN

回答 3

Security用户

发布于 2016-09-29 22:41:33

获取相关数据的一种方法是在测试环境中实现ASLR,然后对非ASLR版本和ASLR版本进行攻击,从而衡量ASLR在此特定操作系统中的成功率/失败率。当然,这是片面的,因为它只是由一个特定的实体而不是一个社区来测试。然而,你会得到一个粗略的想法,ASLR有多有效,这个数字有多精确取决于攻击有多复杂。

没有一种保护措施能成功阻止所有攻击。如果有时间、资源和持久性,攻击者最终将成功。ASLR为完全接管操作系统所需的技能设置了更高的标准,但这并不是不可能的。

考虑到深度防御作为ASLR的争论点,可靠的安全设计在外部用户实际到达应用程序之前利用多个防御。它的存在是为了保护操作系统,如果有人足够聪明,能够绕过内部防御。如果这个人只是一个脚本猫,他很幸运地进入了网络,却不知道ASLR是如何工作的呢?攻击被挫败了,或者至少大大减少了它的影响。如果袭击者是专业人士呢?使用ASLR当然不会使他们的目标变得更容易,他们可能会继续坚持下去,或者只是疲惫不堪,拿走他们能得到的东西。

当然,由于这个操作系统是专有的,如果有人对它进行妥协的话,开发人员(S)肯定会觉得这个操作系统不太好,那么就会发现操作系统的核心从来没有实施过任何保护措施。这就像一家银行在金库上使用住宅锁。

票数 2
EN

Security用户

发布于 2016-09-30 02:27:19

测试您在这个自定义操作系统上运行的应用程序是否存在输入漏洞,特别是缓冲区溢出和堆栈溢出。如果你发现任何一个,这是一个迹象,深度防御是一个比你意识到更必要的策略。

您不必构建任何外壳代码或将攻击进行到底。只需让其他工程师相信您可以将任意值注入指令指针就足够了。那时ASLR的好处就开始显现了。

票数 2
EN

Security用户

发布于 2016-10-18 04:24:27

ASLR是众所周知的一种很好的方法,可以使某些漏洞难以利用。如果您想实现类似的功能,那么研究替代方案将是一项昂贵的任务。您已经知道ASLR是好的,而您的研究结果并不是一个确定的解决方案。我听起来不太兴奋。您可以参考这篇微软安全文章,说明https://blogs.technet.microsoft.com/srd/2014/03/12/when-aslr-makes-the-difference/何时显示它的值:。

ASLR的成本效益还取决于在操作系统上运行应用程序的控制级别。

  • 您能控制在您的操作系统上运行的应用程序的质量吗?如果是的话,那么专注于测试、静态分析等就很重要了。否则,它并没有给你带来很多额外的好处。
  • ASLR对于一组非常具体的漏洞非常有用。只有当运行操作系统的机器是一个非常关键的系统时,攻击者才可能关注这些问题。对于非关键系统,您可以集中精力寻找其他解决方案。
票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/138278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档