針對軟件測試開發技術 .NET 框架的安全編碼指南 .NET 開發技術
關鍵字:.NET 基于證據的安全性和代碼訪問安全性
結合使用兩項單獨的技術來保護托管代碼:
•基于證據的安全性決定將什么權限授予代碼。
•代碼訪問安全性負責檢查堆棧上的所有代碼是否擁有執行某項操作的所需權限。
權限將這兩個技術綁定在一起:權限是執行某個特定受保護操作的權利。例如,“讀取 c:\temp”是一個文件權限;“連接到 www.msn.com”是一個網絡權限。
基于證據的安全性決定授予代碼的權限。證據是有關用作安全策略機制輸入的任何程序集(授予權限的單位)的已知信息。假如將證據作為輸入,系統將評估由管理員設置的安全策略,以決定可以將什么權限授予代碼。代碼本身可以使用權限請求來影響被授予的權限。權限請求被表示為使用自定義屬性語法的程序集級別的聲明性安全性。但是,代碼不能以任何方式獲取多于或少于策略系統所允許的權限。權限授予只發生一次,指定程序集中所有代碼的權利。要查看或編輯安全策略,請使用 .NET 框架配置工具 (Mscorcfg.msc)。
下表列出了策略系統用來向代碼授予權限的某些常見證據類型。除了這里列出的標準證據類型(它們是由安全系統提供的)以外,還可以使用用戶定義的新類型來擴展證據集合。
證據說明哈希值
程序集的哈希值
出版商
AuthentiCode(R) 簽名者
強名稱
公鑰+名稱+版本
站點
代碼來源的 Web 站點
Url
代碼來源的 URL
區域
代碼來源的 Internet Explorer 區域
原文轉自:http://www.anti-gravitydesign.com