我正在浏览此链接以了解CodeAccessSecurity: http://www.codeproject.com/KB/security/UB_CAS_NET.aspx
这是一篇很棒的文章,但它给我留下了以下问题:
如果您可以要求并获得所需的任何权限,那么任何可执行文件都可以在计算机上获得Full_Trust。如果权限已经存在,那么为什么我们需要这些权限呢?
代码正在服务器上执行,因此权限在服务器上而非客户端计算机上?
文章举例说明了从程序集中删除写入权限以显示安全性异常。虽然在现实世界中,System.IO程序集(或相关类)将负责这些权限。那么我们是否需要CAS呢?
答案 0 :(得分:2)
“最小特权访问”的概念是一个非常重要的安全主体。黑客会让你的应用程序做一些它本不打算做的事情。无论应用程序在攻击时拥有什么权限,攻击者都拥有相同的权限。您无法阻止针对您的应用程序的每次攻击,因此您需要尽可能降低可能的攻击的影响。这不是防弹,但这显着提高了标准。攻击者可能能够在其漏洞利用中链接特权升级攻击。
在大多数情况下,您无法控制客户端的操作。通常,您应该假设攻击者可以使用调试器或使用已修改或重写的客户端来控制客户端。对于Web应用程序尤其如此。您希望尽可能地保护服务器,调整权限是执行此操作的常用方法。
抱歉,没有谷歌,我无法回答这个问题。但CAS无论如何都被弃用了。