資源描述:
《使用ASPNET技術(shù)構(gòu)建安全網(wǎng)站》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、使用Asp.Net構(gòu)建安全網(wǎng)站張德強(qiáng)(成都房地產(chǎn)信息中心,四川成都610015)摘 要 Asp.Net技術(shù)被廣泛應(yīng)用,該技術(shù)的安全性越來越受到人們重視。本文介紹黑客對(duì)Asp.Net系統(tǒng)的攻擊手段以及如何采用Asp.Net技術(shù)來避免這些安全漏洞,從而構(gòu)建安全性的網(wǎng)站系統(tǒng)。關(guān)鍵字 Asp.Net;安全漏洞;對(duì)策SecureWebSitesStructuredbyAsp.NetZHANGDe-qiang(ChengduRealEstateinformationcenter,ChengduSichuan610015,P,R.China)Abstract:TheAsp.Nettechnologyha
2、sbeenwidelyused,thetechnologysecurityismoreandmoreimportanttopeople.ThispaperintroducedhowthehackerattackstotheAsp.Netsystem,aswellashowtoavoidthesesecurityvulnerabilitybyhigh-devloppingasp.nettechnologyandhowtoconstructthesecurewebsitesystem.Keywords:Asp.Net;securityvulnerability;countermeasures1
3、引言Asp.Net又叫ASP+,他不是ASP的簡(jiǎn)單升級(jí),而是Microsoft推出的新一代ActiveServerPages。ASP.Net是建立在微軟新一代.Net平臺(tái)架構(gòu)上,利用普通語言運(yùn)行時(shí)(CommonLanguageRuntime)在服務(wù)器后端為用戶提供建立強(qiáng)大的企業(yè)級(jí)Web應(yīng)用服務(wù)的編程框架。廣泛的用在B/S架構(gòu)的系統(tǒng)構(gòu)建上。該項(xiàng)技術(shù)被國(guó)內(nèi)越來越多的網(wǎng)站所采用。Asp.Net的安全性逐漸被重視起來。原因很簡(jiǎn)單,一個(gè)安全性的漏洞會(huì)對(duì)一個(gè)網(wǎng)站帶來毀滅性的災(zāi)難,對(duì)網(wǎng)站經(jīng)營(yíng)者帶來非常嚴(yán)重的損失。保證應(yīng)用程序的安全,避免安全漏洞應(yīng)當(dāng)從編寫第一行代碼的時(shí)候開始做起,這是因?yàn)殡S著應(yīng)用規(guī)模的發(fā)
4、展,修補(bǔ)安全漏洞所需的代價(jià)也隨之快速增長(zhǎng)。惠普、IBM、休斯飛機(jī)公司、TRW以及其他組織的研究人員發(fā)現(xiàn),在構(gòu)建活動(dòng)開始之前清除一個(gè)錯(cuò)誤,那么返工的成本僅僅是“在開發(fā)過程的最后階段(在系統(tǒng)測(cè)試期間或者發(fā)布之后)做同樣事情”的十分之一到百分之一。掌握常見的安全漏洞對(duì)開發(fā)一個(gè)系統(tǒng)來說非常必要,利用這些知識(shí)點(diǎn)可以用非常低的成本構(gòu)建安全的網(wǎng)站系統(tǒng)。2常見安全漏洞大多數(shù)Web應(yīng)用程序攻擊都要在HTTP請(qǐng)求中傳遞惡意輸入項(xiàng)。一般這種攻擊并非強(qiáng)迫應(yīng)用程序執(zhí)行未經(jīng)授權(quán)的操作,而是要中斷應(yīng)用程序的正常操作。Asp.Net網(wǎng)站系統(tǒng)常見的威脅有代碼注入、信息泄漏和身份盜用等?!?.1代碼注入代碼注入是最常見的一種
5、安全漏洞,也是最容易受到攻擊的,因?yàn)楣粽卟恍枰莆仗嗟膶I(yè)知識(shí)就可以對(duì)這些漏洞進(jìn)行攻擊。對(duì)系統(tǒng)的威脅也非常大。代碼注入攻擊主要包括SQL注入、跨站點(diǎn)腳本和緩沖區(qū)溢出三種:SQL注入(SQLinjection):根據(jù)用戶的輸入值來動(dòng)態(tài)構(gòu)造SQL語句,該構(gòu)造語句很可能就是攻擊性的有害SQL語句。即攻擊者可發(fā)送SQL輸入來更改數(shù)據(jù)庫(kù)中的預(yù)期查詢或執(zhí)行全新的查詢。表單身份驗(yàn)證登錄頁是常見的攻擊對(duì)象,因?yàn)椴樵冇脩舸鎯?chǔ)所使用的是用戶名和密碼。跨站點(diǎn)腳本(Cross-siteScripting):將惡意腳本作為輸入項(xiàng)發(fā)送到Web應(yīng)用程序。一旦執(zhí)行,結(jié)果將回應(yīng)至用戶瀏覽器。緩沖區(qū)溢出(BufferOv
6、erflow):雖然托管代碼的類型安全驗(yàn)證可大大降低風(fēng)險(xiǎn),但應(yīng)用程序依然存在安全漏洞,特別是調(diào)用非托管代碼時(shí)。緩沖區(qū)溢出使攻擊者可利用Web應(yīng)用程序的安全上下文在Web應(yīng)用程序進(jìn)程中執(zhí)行任意代碼。這里我們要特別搞清楚一個(gè)概論,傳輸加密技術(shù)不能用來防御注入攻擊。注入攻擊可通過使用HTTP或HTTPSSecureSocketLayer(SSL)連接發(fā)送請(qǐng)求。收到信息的服務(wù)器會(huì)認(rèn)為該信息是合法的輸入?!?.2信息泄漏信息泄漏主要涉及把一些服務(wù)器出錯(cuò)信息完全透露給請(qǐng)求者和隱藏域信息被攻擊者使用等。攻擊者往往通過探測(cè)Web頁來找尋引起異常的各種情況,異常細(xì)節(jié)信息常以HTML的形式返回并顯示在瀏覽器中
7、。這可能會(huì)泄漏很有用的信息,如堆棧跟蹤。堆棧跟蹤包含數(shù)據(jù)庫(kù)連接字符串、數(shù)據(jù)庫(kù)名、數(shù)據(jù)庫(kù)方案信息、SQL語句以及操作系統(tǒng)和平臺(tái)版本。攻擊者利用這些信息很容易找到攻擊的方法。 2.3身份盜用惡意用戶盜用合法用戶的身份訪問網(wǎng)站系統(tǒng),主要包括身份驗(yàn)證Cookie未加密的保存在客戶端,系統(tǒng)中用戶使用了弱密碼等。攻擊者采用這些信息以合法的用戶身份登錄系統(tǒng)。3預(yù)防措施知道了攻擊者怎么攻擊Asp.Net網(wǎng)站系統(tǒng),系統(tǒng)在編寫第一句代碼的時(shí)