簡明扼要ADO.NET概述
ADO.NET經(jīng)過長時(shí)間的發(fā)展,很多用戶都很了解ADO.NET了,這里我發(fā)表一下個(gè)人理解,和大家討論討論。保護(hù)應(yīng)用程序的安全是一個(gè)持續(xù)的過程。 因?yàn)椴豢赡茴A(yù)知將來會(huì)出現(xiàn)哪種新的攻擊技術(shù),所以開發(fā)人員永遠(yuǎn)都不能保證某一應(yīng)用程序可以免受所有的攻擊。僅因?yàn)檫€沒有人發(fā)現(xiàn)(或發(fā)布)系統(tǒng)中的安全性缺陷,也不意味著不存在或可能不存在安全性缺陷。在項(xiàng)目的設(shè)計(jì)階段,您需要對安全性進(jìn)行規(guī)劃,并規(guī)劃如何在應(yīng)用程序生存期內(nèi)維護(hù)其安全。
ADO.NET概述安全性設(shè)計(jì)
在開發(fā)安全應(yīng)用程序時(shí)遇到的最大問題之一是安全通常是事后的補(bǔ)救辦法,即在項(xiàng)目的代碼完成后才想起需要實(shí)現(xiàn)某些內(nèi)容。 因?yàn)槲纯紤]如何維護(hù)應(yīng)用程序的安全,所以在開始階段未注重應(yīng)用程序安全性將導(dǎo)致所開發(fā)的應(yīng)用程序不安全。
到最后關(guān)頭再實(shí)現(xiàn)安全性將導(dǎo)致更多 Bug,因?yàn)檐浖o法承受新的制約,或必須重寫才能容納未預(yù)想到的功能。 每行修訂的代碼都可能引入新 Bug。 因此,您在開發(fā)過程的初始階段就應(yīng)考慮安全性,使得安全性可與新功能的開發(fā)同步進(jìn)行。
ADO.NET概述威脅建模
您只有了解系統(tǒng)可能會(huì)受到的所有攻擊,才能使系統(tǒng)免受這些攻擊。 評估安全威脅的過程稱為“威脅建?!?,該過程是確定 ADO.NET 應(yīng)用程序中違反安全性的可能性及后果所必要的。威脅建模由三個(gè)高級步驟組成: 了解攻擊者的目的、辨別系統(tǒng)安全性和確定威脅。威脅建模是一種迭代方法,用于評估應(yīng)用程序中的漏洞,以找到可公開敏感數(shù)據(jù)的最危險(xiǎn)的漏洞。 一旦確定了漏洞,您就可以按安全性對其進(jìn)行排列,并創(chuàng)建一組按優(yōu)先順序排列的措施以應(yīng)對威脅。
#T#當(dāng)設(shè)計(jì)、構(gòu)建及部署應(yīng)用程序時(shí),您必須假定您的應(yīng)用程序?qū)⑹艿焦簟?通常,這些攻擊來自使用運(yùn)行此代碼的用戶的權(quán)限執(zhí)行的惡意代碼, 其他攻擊可能源自被攻擊者利用的善意代碼。 在規(guī)劃安全性時(shí),始終假設(shè)將出現(xiàn)最糟糕的情況。您可以使用的一種措施是:嘗試使用最小特權(quán)來運(yùn)行代碼,在代碼周圍樹立盡可能多的障礙。 最小特權(quán)原則指出,應(yīng)在完成工作所需的最短時(shí)間內(nèi)向所需的最少代碼授予任何給定的特權(quán)。
創(chuàng)建安全應(yīng)用程序的最好方法是在開始階段不授予任何權(quán)限,然后對執(zhí)行的特定任務(wù)添加最有限的權(quán)限。 相反,如果開始具有所有權(quán)限而以后拒絕個(gè)別權(quán)限,就會(huì)導(dǎo)致難以測試和維護(hù)的不安全應(yīng)用程序,因?yàn)闊o意中授予過多的權(quán)限會(huì)造成完全漏洞。
ADO.NET概述代碼訪問安全性 (CAS)
代碼訪問安全性 (CAS) 是幫助限制代碼對受保護(hù)資源和操作的訪問權(quán)限的一種機(jī)制。 在 .NET Framework 中,CAS 執(zhí)行下列功能:
◆定義權(quán)限和權(quán)限集,它們表示訪問各種系統(tǒng)資源的權(quán)限。
◆使管理員能夠通過將權(quán)限集與代碼組關(guān)聯(lián)來配置安全策略。
◆使代碼能夠請求運(yùn)行所必需的權(quán)限及其他一些有用的權(quán)限,并指定代碼絕對不能擁有哪些權(quán)限。
◆根據(jù)代碼要求的權(quán)限和安全策略允許的操作,向加載的每個(gè)程序集授予權(quán)限。
◆使代碼能夠要求其調(diào)用方擁有特定的權(quán)限。
◆使代碼能夠要求其調(diào)用方擁有數(shù)字簽名,從而只允許特定組織或特定網(wǎng)站的調(diào)用方來調(diào)用受保護(hù)的代碼。
◆通過將調(diào)用堆棧上為每個(gè)調(diào)用方授予的權(quán)限與調(diào)用方必須擁有的權(quán)限相比較,加強(qiáng)在運(yùn)行時(shí)對代碼的限制。
若要將因攻擊成功而導(dǎo)致的損害降到最低,請為您的代碼選擇安全上下文,以便只向資源授予其完成工作所必需的訪問權(quán)限。