• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    針對軟件測試開發技術 .NET 框架的安全編碼指南

    發布: 2009-8-17 10:54 | 作者: 不詳 | 來源: 領測軟件測試網 | 查看: 83次 | 進入軟件測試論壇討論

    領測軟件測試網

    要解決該問題,可以限制調用方(例如,要求它具有某個權限)或對執行委托的權限加以限制(例如,通過使用 Deny 或 PermitOnly 堆棧重寫)。

    LinkDemands 和包裝程序

    在安全基礎結構中,已經加強了對鏈接請求的特殊保護措施,但它仍然是代碼中可能的漏洞來源。

    如果完全受信任的代碼調用某個由 LinkDemand 保護的屬性、事件或方法,那么,如果對調用方的 LinkDemand 權限檢查獲得通過,則調用將成功。此外,如果完全受信任的代碼所公開的類使用了某個屬性的名稱,并使用反射來調用該屬性的 get 訪問器,那么,即使用戶代碼無權訪問該屬性,對 get 訪問器的調用也會成功。這是因為 LinkDemand 將只檢查直接調用方,而直接調用方是完全受信任的代碼。其實,完全受信任的代碼在代表用戶代碼執行經授權的調用時,不需要確保用戶代碼有權進行該調用。如果您要包裝反射功能,請參閱 Microsoft .NET 框架的第 1 版安全更改一文,以獲得詳細信息。

    為了防止因疏忽造成的安全漏洞(例如,上面描述的情況),運行時將對任何使用調用的操作(實例創建、方法調用、屬性設置或獲得)所進行的完整堆棧審核請求檢查擴展到由鏈接請求保護的方法、構造函數、屬性或事件。該保護會導致一些性能成本(單級 LinkDemand 速度更快),并且會更改安全檢查的語義 — 即使單級檢查已通過,完整堆棧審核請求也可能會失敗。

    程序集加載包裝程序

    用來加載托管代碼的幾個方法(包括 Assembly.Load(byte[])),可使用調用方的證據加載程序集。具體來說,如果要包裝這些方法中的任意一個,安全系統可以使用您代碼被授予的權限(而不是調用方對包裝程序的權限)來加載程序集。顯然,您并不想允許信任度較低的代碼指使您代表它加載其所獲權限比調用方對包裝程序的權限更高的代碼。

    擁有完全信任或信任度比潛在調用方(包括 Internet 權限級調用方)高得多的任何代碼很容易通過這種方式降低安全性。如果您代碼包含的公共方法可以取得字節數組并將其傳遞給 Assembly.Load(byte[]),從而代表調用方創建程序集,則可能會破壞安全性。

    該問題會發生在以下 API 元素上:

    System.AppDomain.DefineDynamicAssembly

    System.Reflection.Assembly.LoadFrom

    System.Reflection.Assembly.Load

    異常處理

    在運行任何 finally 語句之前,將運行堆棧上面的一個篩選表達式。在運行 finally 語句之后,將運行與該篩選器關聯的 catch 代碼塊。請考慮以下偽代碼:

    void Main() { try { Sub(); } except (Filter()) { Console.WriteLine("catch"); } } bool Filter () { Console.WriteLine("filter"); return true; } void Sub() { try { Console.WriteLine("throw"); throw new Exception(); } finally { Console.WriteLine("finally"); } }

    該代碼將打印以下內容:

    Throw Filter Finally Catch

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>