求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

Microsoft .NET Framework檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
Microsoft .NET Framework

Microsoft .NET Framework是用於Windows的新託管代碼編程模型。它將強大的功能與新技術結合起來,用於構建具有視覺上引人注目的用戶體驗的應用程序,實現跨技術邊界的無縫通信,並且能支持各種業務流程。

簡介

在今天的軟件環境中,應用程序的來源很多,它們執行很多任務。對應用程序代碼的信任是一個主要需求,因為我們誰也不想軟件或信息遭到破壞。給予許可的安全策略不會允許對敏感信息的不適當的訪問,或將本地機器暴露給惡意的程序或甚至是有平常錯誤的代碼。 過去,安全結構提供了基於用戶帳號的隔離和訪問控制--在這些限制內給予代碼完全訪問權,並假定由特定用戶可運行的代碼具有相同的信任度。不幸的是,如果所有程序都代表某用戶運行,根據用戶對代碼的隔離對於保護一個程序不被其它用戶使用是不夠的。另一種情況,不能被完全信任的代碼經常被轉移到"沙箱"模型中執行,在此代碼運行於隔離環境,而不會訪問大部分的服務。對今天應用程序的成功的安全解決方案必須能強化兩個安全模型間的平衡。它必須提供對資源的訪問,以便以完成有用的工作,它需要對應用程序的安全性作細緻的控制以確保代碼被識別,檢測,並給予合適的安全級別。.NET Framework就提供了一個這樣的安全模型

評價

.NET Framework安全解決方案基於管理代碼的概念,以及由通用語言運行時(CLR)加強的安全規則。大部分管理代碼需要進行驗證以確保類型安全及預先定義好的其它屬性的行為的安全。例如,在驗證的代碼中,聲明為接收4字節值的訪問將拒絕提供8字節參數的調用,因為不是類型安全的。驗證過程還確保了執行流只傳送到已知的位置,如方法入口點--這個過程去除了跳轉到任意位置執行的能力。驗證將阻止不是類型安全的代碼執行,在它們引起破壞前捕獲很多常見的編程錯誤。通常的弱點--如緩存溢出,對任意內存或沒有初始化的內存的讀取,對控件的隨意傳送--都不再可能出現。這將使最終用戶受益,因為在他們執行代碼前對其進行檢查。這也有益於開發人員,他們會發現很多常見錯誤(過去一直在困擾前開發)可以查明,並能阻止它們引起破壞。CLR也能使非管理代碼運行,但非管理代碼不能從這些安全措施中受益。特殊的許可與對非管理代碼的調用能力相關,一個強大的安全策略能確保這些許可被恰當地給予。經過很長時間後,非管理代碼到管理代碼的移植將減少對非管理代碼的調用頻率。[1]

參考文獻