日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
使用VS2010代碼分析功能增強(qiáng)ASP.NET應(yīng)用程序安全

任何從事ASP.NET開發(fā)的人都不得不承認(rèn),在其職業(yè)生涯中曾經(jīng)遇到過(guò)應(yīng)用程序安全問(wèn)題,開發(fā)人員常常被迫盡快交付代碼,平臺(tái)的復(fù)雜性和各種配置選項(xiàng)讓應(yīng)用程序的安全總達(dá)不到預(yù)期,此外,調(diào)試和生產(chǎn)環(huán)境的配置要求可能會(huì)不同,因此,一個(gè)常見(jiàn)的問(wèn)題是將調(diào)試配置引入到生產(chǎn)環(huán)境,從而造成各種問(wèn)題。

成都創(chuàng)新互聯(lián)公司是專業(yè)的萬(wàn)年網(wǎng)站建設(shè)公司,萬(wàn)年接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行萬(wàn)年網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

經(jīng)過(guò)多年的發(fā)展,ASP.NET平臺(tái)已經(jīng)成熟,MSDN和社區(qū)博客也產(chǎn)生了大量?jī)?yōu)秀的文檔,但確定使用哪些功能或配置往往是件麻煩事,即使開發(fā)人員有著良好的安全意識(shí)和安全技能,錯(cuò)誤總是在所難免,程序中的漏洞仍然很多。同行代碼審查是一個(gè)有用的過(guò)程,也是早期捕捉問(wèn)題的很好方法,但不是每個(gè)人都有時(shí)間或預(yù)算做同行評(píng)審。

自Visual Studio 2005引入代碼分析功能以來(lái),開發(fā)人員可以自動(dòng)分析他們的代碼,查看是否遵守了設(shè)計(jì)、可維護(hù)性、性能和安全性的最佳實(shí)踐,雖然代碼分析是個(gè)好東西,但它一直未為ASP.NET提供最佳安全實(shí)踐指南,直到現(xiàn)在。本文將向你介紹新的ASP.NET代碼分析規(guī)則,包括Visual Studio代碼分析功能和獨(dú)立的FxCop提高ASP.NET應(yīng)用程序的安全性。

概述
你可以從go.microsoft.com/-?linkid=9750555下載Visual Studio 2010 ASP.NET安全代碼分析規(guī)則包和FxCop v10.0,安裝程序包含下面三個(gè)新的規(guī)則包:
ASP.NET.Security:它重點(diǎn)在System.Web.Ui.Page屬性初始化相關(guān)的最佳安全實(shí)踐。
ASP.NET.MVC.Security:它重點(diǎn)在如何使用ASP.NET MVC相關(guān)的安全最佳實(shí)踐。
ASP.NET.Security.Configuration:它重點(diǎn)在web.config文件下的配置元素相關(guān)的安全最佳實(shí)踐。

規(guī)則包安裝好后,點(diǎn)擊“生成”菜單下“網(wǎng)站”按鈕上的“運(yùn)行代碼分析”,開始自動(dòng)分析Web應(yīng)用程序的安全,這個(gè)過(guò)程會(huì)分析應(yīng)用程序的每個(gè)Page類和web.config文件,與ASP.NET應(yīng)用程序最佳安全實(shí)踐進(jìn)行對(duì)比,給出綜合性的分析結(jié)果。例如,一個(gè)常見(jiàn)的Web應(yīng)用程序安全漏洞是跨站請(qǐng)求偽造,它允許攻擊者以其他用戶的身份執(zhí)行命令,修復(fù)這個(gè)漏洞的方法是使用Page.ViewStateUserKey屬性,你也可以使用ASP.NET MVC中的AntiForgeryToken,這兩種技術(shù)都可以預(yù)防對(duì)應(yīng)用程序的惡意重放攻擊,代碼分析將有助于確定使用正確的修復(fù)方法。

我從許多開發(fā)人員那里得到的反饋是,首次運(yùn)行代碼分析功能時(shí)將會(huì)得到許多警告,如圖1所示,不過(guò)這些都是很好解決的問(wèn)題。

 
圖 1 在錯(cuò)誤列表警告標(biāo)簽中列出的警告信息

為了消除這些警告,每個(gè)規(guī)則包含一個(gè)清晰的指令指出必須修復(fù)的地方,以及如何修復(fù),如果需要更多信息還應(yīng)該列出一些參考內(nèi)容,如圖2所示。

 
圖 2 警告列表中的詳細(xì)信息

代碼分析也可以配置為每次生成操作時(shí)運(yùn)行,點(diǎn)擊“網(wǎng)站”*“配置代碼分析”,然后選中“啟用生成時(shí)代碼分析(定義CODE_ANALYSIS常量)”選項(xiàng),如圖3所示。

 
圖 3 開啟生成期間的代碼分析功能

使用FxCop進(jìn)行代碼分析

代碼分析功能僅在Visual Studio Premium和Ultimate版中提供,此外,你還可以使用獨(dú)立的FxCop工具執(zhí)行ASP.NET代碼分析,F(xiàn)xCop是Windows SDK的一部分,最新的Windows SDK 7.1可從這里下載,使用標(biāo)準(zhǔn)的FxCop工具執(zhí)行分析時(shí)需要多做一點(diǎn)工作。

正常情況下,當(dāng)你編譯Web項(xiàng)目時(shí),頁(yè)面標(biāo)記 - 代碼隱藏文件中未包括的頁(yè)面代碼 - 不會(huì)被編譯,它們會(huì)原封不動(dòng)地停留在應(yīng)用程序的根目錄下,當(dāng)?shù)谝粋€(gè)用戶請(qǐng)求頁(yè)面時(shí),標(biāo)記被編譯進(jìn)獨(dú)立的程序集,這樣更新網(wǎng)站時(shí)就不用重新編譯所有代碼。

因?yàn)椴皇撬写a全部自動(dòng)編譯,在分析期間有的代碼是不可見(jiàn)的,因此一些重要的安全問(wèn)題可能被錯(cuò)過(guò),為了確保所有的代碼在分析過(guò)程中可見(jiàn),你需要強(qiáng)制預(yù)編譯所有頁(yè)面,可以使用“發(fā)布網(wǎng)站”工具實(shí)現(xiàn)預(yù)編譯,點(diǎn)擊“生成”*“發(fā)布網(wǎng)站”即可,這個(gè)工具允許你配置如何發(fā)布網(wǎng)站,以及開啟預(yù)編譯功能,取消“允許預(yù)編譯網(wǎng)站以更新”選項(xiàng),點(diǎn)擊“確定”,如圖4所示,這樣就會(huì)完整編譯整個(gè)網(wǎng)站進(jìn)行分析。

圖 4 使用預(yù)編譯發(fā)布網(wǎng)站

ASP.NET分析只需要FxCop命令行版本的功能,打開命令提示符窗口,切換到FxCop安裝目錄,如果你是32位Windows,則可能是:C:\Program Files (x86)\Microsoft FxCop 10.0,如果是64位Windows,則可能是:C:\Program Files\Microsoft FxCop 10.0。從FxCop安裝目錄運(yùn)行Fxcop-cmd.exe開始代碼分析,對(duì)于一個(gè)ASP.NET網(wǎng)站,使用下面這樣的命令:

圖5

/file參數(shù)指出要分析的程序集,在這個(gè)例子中,我預(yù)編譯的網(wǎng)站程序集在H:\MSDN\PrecompiledWeb\MSDNSampleSite\bin下。
/rule參數(shù)指定分析期間使用的規(guī)則,對(duì)于這個(gè)例子,我只使用了三個(gè)ASP.NET安全規(guī)則:AspNetConfigurationSecurityRules.dll,AspNetMvcSecurity-Rules.dll和ASPNetSecurityRules.dll。
/aspnet參數(shù)表示開啟ASP.NET分析,/console參數(shù)指出分析結(jié)果輸出到命令行窗口。

結(jié)語(yǔ)

讓ASP.NET網(wǎng)站更安全是一項(xiàng)艱巨的任務(wù),ASP.NET安全代碼分析規(guī)則算是幫了一個(gè)大忙,至少你幫你確定一些重大的威脅,正如你從這篇文章看到的,其分析過(guò)程很簡(jiǎn)單,可以配置為每次生成時(shí)運(yùn)行,讓你可以及早發(fā)現(xiàn)問(wèn)題。

我建議將規(guī)則部署到每個(gè)開發(fā)人員的機(jī)器上,也將它們作為TFS(Team Foundation Sever)或其它代碼倉(cāng)庫(kù)檢入(check in)策略的一部分,以便每個(gè)開發(fā)人員都可以在生成時(shí)執(zhí)行代碼分析和策略。你也可以定制自己的代碼分析規(guī)則,如果你想就此做進(jìn)一步學(xué)習(xí)和研究,建議去由Duke Kamstra維護(hù)的代碼分析團(tuán)隊(duì)博客逛逛,此外,在Tatham Oddie的博客中也有很多優(yōu)秀的文章。


文章標(biāo)題:使用VS2010代碼分析功能增強(qiáng)ASP.NET應(yīng)用程序安全
轉(zhuǎn)載源于:http://www.dlmjj.cn/article/dpocspe.html