新聞中心
【.com 獨(dú)家翻譯】業(yè)內(nèi)分析人士估計(jì),有超過70%的安全漏洞是在應(yīng)用程序中被發(fā)現(xiàn)的,大部分都是由代碼內(nèi)存在的安全缺陷引起的。

微軟已經(jīng)為.Net環(huán)境添加了大量的功能,幫助開發(fā)人員創(chuàng)建安全的應(yīng)用程序,例如,身份驗(yàn)證已經(jīng)成為開發(fā)環(huán)境集成的一個(gè)功能,另外,默認(rèn)情況下調(diào)試消息被禁用掉了。微軟對(duì)安全的關(guān)注程度極大地影響了開發(fā)人員,促使他們?cè)谲浖_發(fā)過程中重新評(píng)估納入安全保障的重要性。
但遺憾的是不是每個(gè)人都能做得很好,據(jù)來自SPI Dynamics公司的客戶服務(wù)記錄顯示,.Net開發(fā)人員常犯以下6大安全錯(cuò)誤:
1、在開發(fā)過程中沒有考慮安全
如果在整個(gè)應(yīng)用程序開發(fā)過程中做到了安全地編碼,將會(huì)使開發(fā)周期和成本減小到最低。此外,安全開發(fā)實(shí)踐將會(huì)使應(yīng)用程序更穩(wěn)定,錯(cuò)誤更少,但如果不考慮安全,直到產(chǎn)品生命周期中的QA或用戶驗(yàn)收階段才考慮安全性,很可能會(huì)導(dǎo)致返工,延遲交付,最終導(dǎo)致成本超支。
2、SQL注入
SQL注入就是向應(yīng)用程序提交非開發(fā)人員本意的SQL代碼,這些SQL代碼往往具有陰險(xiǎn)的目的,如果Web應(yīng)用程序把關(guān)不嚴(yán),它們將傳遞給數(shù)據(jù)庫,數(shù)據(jù)庫一般是無法識(shí)別SQL是否具有惡意,它只管執(zhí)行接收到的命令。
例如,當(dāng)開發(fā)人員沒有保護(hù)潛在的惡意輸入字符(`)時(shí),攻擊者就可以偽造SQL字符串,使系統(tǒng)和應(yīng)用程序的訪問權(quán)直接暴露給攻擊者。
3、跨站腳本攻擊
跨站腳本是由用戶輸入產(chǎn)生的,返回給用戶有用的信息,在動(dòng)態(tài)生成的網(wǎng)頁顯示沒有經(jīng)過驗(yàn)證的輸入時(shí)就可能發(fā)生跨站腳本攻擊(也被稱為XSS或CSS),這樣攻擊者可以在生成的頁面中插入惡意JavaScript代碼,只要用戶訪問了該頁面,他使用的機(jī)器就會(huì)執(zhí)行惡意JavaScript代碼。
攻擊者使用跨站腳本攻擊可能會(huì)獲得一些機(jī)密信息,操縱或竊取Cookie,為有效的用戶創(chuàng)建一個(gè)錯(cuò)誤請(qǐng)求,或在最終用戶系統(tǒng)上執(zhí)行惡意代碼。
4、使用用戶輸入作為文件名
開發(fā)人員經(jīng)常使用一個(gè)參數(shù)確定哪些文件應(yīng)該顯示給最終用戶。如:myPageGenerator.aspx?Template=Welcome.html。
如果使用這種功能,關(guān)鍵是要確保請(qǐng)求的文件在正確的文件夾中,攻擊者可以修改查詢字符串訪問本不能訪問到的文件。
攻擊者示例:myPageGenerator.aspx?Template=../../../../../../boot.ini。
5、不當(dāng)?shù)厥褂肅ookie和隱藏參數(shù)
開發(fā)人員經(jīng)常會(huì)在Cookie和隱藏參數(shù)中存儲(chǔ)信息,Cookie是從服務(wù)器發(fā)送給客戶端瀏覽器HTTP消息頭中的一段信息,隱藏參數(shù)是在HTML表單中隱藏的控件名稱和值,許多Web服務(wù)器使用Cookie存儲(chǔ)會(huì)話令牌和其它基于會(huì)話的令牌。
常見的錯(cuò)誤包括將產(chǎn)品定價(jià),信用卡號(hào)碼,帳戶和其它關(guān)鍵信息存儲(chǔ)在Cookie和隱藏參數(shù)中。開發(fā)人員必須記住,攻擊者可以很容易修改Cookie。
6、在Web.config文件中開啟調(diào)試選項(xiàng)
Web.config文件的 部分設(shè)置.Net應(yīng)用程序如何處理錯(cuò)誤,應(yīng)用程序不應(yīng)該將詳細(xì)的錯(cuò)誤信息顯示給最終用戶,相反,應(yīng)該顯示一個(gè)“友好的”消息給用戶,指出網(wǎng)站遇到技術(shù)困難正在處理,不要顯示任何技術(shù)細(xì)節(jié)信息。攻擊者可以從錯(cuò)誤信息中獲得大量有用的信息,在ASP.NET應(yīng)用程序中開啟詳細(xì)錯(cuò)誤消息是最大的安全問題。
下表顯示了有效的設(shè)置:
| 表1 |
描述摘自Visual Studio .Net默認(rèn)產(chǎn)生的Web.config文件。
總結(jié)
無論安全漏洞是否被公開,攻擊者能訪問你的敏感數(shù)據(jù)是事實(shí),應(yīng)該引起公司、股東和最重要的,你的客戶的高度重視。SPI Dynamics發(fā)現(xiàn),大多數(shù)公司談到自身應(yīng)用程序的安全問題時(shí)都很謹(jǐn)慎,看來應(yīng)用程序安全問題在未來一段時(shí)間內(nèi)仍將會(huì)是攻擊者的首選目標(biāo)。
【.COM 獨(dú)家翻譯,轉(zhuǎn)載請(qǐng)注明出處及作者!】
【編輯推薦】
- 如何使用Nikto漏洞掃描工具檢測(cè)網(wǎng)站安全
- 雅虎HotJobs網(wǎng)站發(fā)現(xiàn)跨站腳本攻擊安全漏洞
當(dāng)前名稱:.Net開發(fā)人員常犯的6大安全錯(cuò)誤
文章源于:http://fisionsoft.com.cn/article/djpsiig.html


咨詢
建站咨詢
