于穎
摘要:Web服務(wù)組合安全性檢測(cè)對(duì)提高Web服務(wù)的安全性具有重要意義。針對(duì)Web應(yīng)用安全存在的主要8種漏洞,在建立測(cè)試框架的基礎(chǔ)上,提出安全檢測(cè)關(guān)鍵技術(shù)的實(shí)現(xiàn)方法,為提高Web服務(wù)安全性提供技術(shù)參考。
關(guān)鍵詞:安全性測(cè)試;Web服務(wù);漏洞;測(cè)試框
中圖分類號(hào): TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-1161(2016)03-0036-03
1969年互聯(lián)網(wǎng)在美國(guó)誕生,1994年我國(guó)與國(guó)際互聯(lián)網(wǎng)成功連接,標(biāo)志著我國(guó)互聯(lián)網(wǎng)步入新時(shí)代。經(jīng)過20多年的發(fā)展,我國(guó)的互聯(lián)網(wǎng)實(shí)現(xiàn)了從無到有,并且規(guī)模越來越大,現(xiàn)已經(jīng)成為世界第二大網(wǎng)絡(luò)大國(guó)。據(jù)《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》(中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心2016年1月22日第37次權(quán)威發(fā)布)顯示,截至2015年12月,我國(guó)網(wǎng)民規(guī)模達(dá)6.88億,互聯(lián)網(wǎng)普及率達(dá)50.3%,半數(shù)中國(guó)人已接入互聯(lián)網(wǎng)。伴隨著互聯(lián)網(wǎng)的快速發(fā)展,以社交網(wǎng)絡(luò)、電子商務(wù)等為代表的Web服務(wù)正在深刻地改變著人們的生活方式,甚至影響著整個(gè)社會(huì)發(fā)展進(jìn)程。
1 Web服務(wù)的基本概念及組成
Web服務(wù)作為一種遠(yuǎn)程訪問的標(biāo)準(zhǔn),具有松散耦合、平臺(tái)無關(guān)、交互性、語言中立等優(yōu)點(diǎn),通常作為分布式應(yīng)用實(shí)現(xiàn)的技術(shù)基礎(chǔ)。Web應(yīng)用系統(tǒng)組成十分復(fù)雜,正因?yàn)槠鋸?fù)雜組件和彼此間復(fù)雜的關(guān)系,所以才能為用戶提供強(qiáng)大服務(wù)。Web應(yīng)用系統(tǒng)核心組件包括用戶接口代碼、前端系統(tǒng)、服務(wù)器軟件、后臺(tái)系統(tǒng)、數(shù)據(jù)庫系統(tǒng)等。
2 Web服務(wù)安全性測(cè)試的重要意義
Web應(yīng)用當(dāng)前已經(jīng)成為軟件開發(fā)的重要組成部分。由于開發(fā)人員技術(shù)水平有限或者安全意識(shí)比較薄弱,每一個(gè)Web系統(tǒng)自身都存在著一定的安全漏洞,并在使用過程中逐漸暴露出來,入侵者就可能利用漏洞到Web應(yīng)用上進(jìn)行惡意攻擊。Web系統(tǒng)中有大量信息,其中許多信息涉及個(gè)人隱私或是企業(yè)關(guān)鍵性業(yè)務(wù)等,一旦Web服務(wù)安全性出了問題,可能會(huì)給個(gè)人或企業(yè)造成重大損失和帶來嚴(yán)重后果。雖然當(dāng)前入侵檢測(cè)、防火墻等技術(shù)已經(jīng)相對(duì)成熟,可以為Web系統(tǒng)提供一定的安全防護(hù),但是對(duì)Web應(yīng)用的惡性攻擊大多來自于應(yīng)用層,完全解決各種安全性問題的難度非常大。在此情況下,Web服務(wù)安全性測(cè)試具有重大現(xiàn)實(shí)意義。
3 Web應(yīng)用安全漏洞
Web應(yīng)用安全漏洞是指一個(gè)Web系統(tǒng)的所有組件在設(shè)計(jì)、實(shí)現(xiàn)或者操作和管理中存在的可能被入侵者利用的缺陷和弱點(diǎn)。常見的Web應(yīng)用安全漏洞主要有以下8個(gè)類別。
3.1 未被驗(yàn)證的輸入
入侵者通過篡改HTTP請(qǐng)求越過站點(diǎn)安全機(jī)制,主要包括緩沖區(qū)溢出、跨站點(diǎn)腳本、SQL注入、格式化字符串攻擊等輸入篡改攻擊方式。HTTP請(qǐng)求主要包括查詢字符串、Cookie、HTTP頭部、URL、表單等。
3.2 SQL注入
SQL注入是最普遍、最嚴(yán)重的Web應(yīng)用安全漏洞。入侵者通過在輸入域中插入某些特殊字符,完全改變SQL查詢的自身功能,欺騙數(shù)據(jù)庫服務(wù)器進(jìn)行非法操作,從而達(dá)到破壞數(shù)據(jù)庫或非法獲取數(shù)據(jù)清單的目的。
3.3 跨站點(diǎn)腳本
入侵者在Web瀏覽器客戶端通過頁面提交的輸入數(shù)據(jù)嵌入惡意代碼,如果服務(wù)器不經(jīng)過濾或轉(zhuǎn)義直接將這些數(shù)據(jù)返回,那么這些惡意代碼在其他用戶訪問該Web頁面時(shí)將被執(zhí)行,從而實(shí)現(xiàn)其惡意攻擊的目的。
3.4 緩沖區(qū)溢出
入侵者利用緩沖區(qū)溢出漏洞向Web應(yīng)用發(fā)送特定請(qǐng)求,使目標(biāo)Web應(yīng)用執(zhí)行其設(shè)定的代碼。
3.5 隱藏的字段
在正常操作中,用戶可以執(zhí)行Web瀏覽器中的“查看源文件”,并查看字段內(nèi)容,通過手工修改參數(shù)值,再傳回給服務(wù)器端。入侵者通過對(duì)HTML源文件中的這些隱藏字段進(jìn)行修改實(shí)現(xiàn)惡意目的。
3.6 不恰當(dāng)?shù)漠惓L幚?/p>
用戶向Web應(yīng)用提交正常請(qǐng)求時(shí),可能頻繁產(chǎn)生內(nèi)存不足、系統(tǒng)調(diào)用失敗、數(shù)據(jù)庫鏈接錯(cuò)誤等異常情況。如果不能進(jìn)行恰當(dāng)處理,堆棧追蹤、數(shù)據(jù)庫結(jié)構(gòu)、錯(cuò)誤代碼等內(nèi)部錯(cuò)誤信息很可能被入侵者獲知,帶來一定的安全隱患。
3.7 遠(yuǎn)程命令執(zhí)行
用戶提供的輸入數(shù)據(jù)在沒有經(jīng)過適當(dāng)驗(yàn)證情況下,就可以通過Web服務(wù)器進(jìn)行傳遞。入侵者可能利用這個(gè)漏洞,使目標(biāo)Web應(yīng)用執(zhí)行他的命令。
3.8 遠(yuǎn)程代碼注入
這一安全漏洞通常是由Web應(yīng)用開發(fā)者存在不良編碼習(xí)慣引起的,如允許沒有經(jīng)過驗(yàn)證的用戶輸入,造成本地應(yīng)用或遠(yuǎn)程的PHP代碼被包含進(jìn)來。這一漏洞被入侵者利用,實(shí)現(xiàn)其向目標(biāo)Web應(yīng)用中注入其他PHP代碼的目的。
4 Web服務(wù)安全性測(cè)試技術(shù)
為保障Web服務(wù)安全,消除潛在的漏洞隱患,一方面Web服務(wù)要在用戶的身份標(biāo)識(shí)和驗(yàn)證級(jí)別上集成Web站點(diǎn)安全;另一方面要在服務(wù)器與用戶進(jìn)行信息交換的過程增加安全防范措施。目前,通常在身份驗(yàn)證/授權(quán)、傳輸層安全、應(yīng)用層安全3個(gè)領(lǐng)域采取安全措施。
4.1 測(cè)試框架
Web應(yīng)用安全性測(cè)試框架主要包括威脅建模、測(cè)試需求、測(cè)試策劃、測(cè)試執(zhí)行、報(bào)告5個(gè)不同階段,具體情況如圖1所示。
第一階段是威脅建模,主要是有效確定安全目標(biāo),對(duì)漏洞隱患進(jìn)行確定和評(píng)級(jí)。第二階段是測(cè)試需求,準(zhǔn)確確定測(cè)試對(duì)象并合理進(jìn)行資源分配,主要依據(jù)軟件具體需求和威脅剖面素。第三階段是測(cè)試策劃,主要是測(cè)試策略文檔,通過提供控制策略,有效控制系統(tǒng)程序總體架構(gòu)、資源需求和缺陷,準(zhǔn)確描述測(cè)試環(huán)境等一系列情況。第四階段是測(cè)試執(zhí)行,及時(shí)準(zhǔn)確的記錄測(cè)試的結(jié)果。第五階段是報(bào)告,對(duì)最終測(cè)試結(jié)果進(jìn)行詳細(xì)地說明和報(bào)告。
4.2 安全性測(cè)試技術(shù)
在Web應(yīng)用系統(tǒng)開發(fā)的整個(gè)過程中,對(duì)整個(gè)體系結(jié)構(gòu)的每一個(gè)環(huán)節(jié)都進(jìn)行必要的安全性測(cè)試,就會(huì)發(fā)現(xiàn)其存在的安全漏洞隱患,從而有效提高整個(gè)Web應(yīng)用系統(tǒng)的綜合安全性能。在最初的設(shè)計(jì)環(huán)節(jié)對(duì)安全漏洞進(jìn)行檢測(cè),并及時(shí)對(duì)漏洞進(jìn)行修復(fù),可能避免后續(xù)環(huán)節(jié)發(fā)生安全問題。把目標(biāo)部署環(huán)境所關(guān)聯(lián)的設(shè)計(jì)作為目標(biāo)對(duì)象進(jìn)行通盤考慮和研究設(shè)計(jì),有效提高Web應(yīng)用系統(tǒng)的安全水平。“白盒子”測(cè)試的主要內(nèi)容是,在Web應(yīng)用系統(tǒng)開發(fā)過程中,依據(jù)源代碼的不同級(jí)別對(duì)目標(biāo)網(wǎng)站進(jìn)行相應(yīng)安全測(cè)試,及時(shí)發(fā)現(xiàn)相關(guān)問題并進(jìn)行有效處理。
4.3 應(yīng)用及傳輸安全
Web應(yīng)用系統(tǒng)設(shè)計(jì)完成后,要通過一系列的安全測(cè)試,發(fā)現(xiàn)系統(tǒng)中存在的漏洞隱患,并有效進(jìn)行修復(fù)。“黑箱子”測(cè)試的主要內(nèi)容是,當(dāng)Web應(yīng)用系統(tǒng)已經(jīng)投入使用后,在不影響其正常運(yùn)行的條件下,積極應(yīng)用遠(yuǎn)程方式進(jìn)行安全測(cè)試,模擬黑客攻擊目標(biāo)系統(tǒng),最大限度對(duì)Web應(yīng)用系統(tǒng)安全性進(jìn)行有效測(cè)試。
在測(cè)試過程中,通常選取應(yīng)用級(jí)和傳輸級(jí)2個(gè)等級(jí)層面進(jìn)行測(cè)試。應(yīng)用級(jí)安全性測(cè)試是通過系統(tǒng)自帶程序?qū)δ夸浽O(shè)置、注冊(cè)及登錄、在線超時(shí)、操作留痕、備份及恢復(fù)進(jìn)行檢查測(cè)試,有效排除程序設(shè)計(jì)方面存在的安全漏洞隱患。傳輸級(jí)安全性測(cè)試是以系統(tǒng)傳輸特性為基礎(chǔ),通過對(duì)包括SSL、數(shù)據(jù)加密、防火墻、服務(wù)器腳本漏洞在內(nèi)的從用戶端到服務(wù)器整個(gè)數(shù)據(jù)信息傳輸過程進(jìn)行檢查測(cè)試,進(jìn)一步增強(qiáng)系統(tǒng)拒絕非法訪問的能力。
參考文獻(xiàn)
[1] 唐修平.Web服務(wù)安全性研究及應(yīng)用[J].湖南工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2011(5):5-7.
[2] 張?jiān)偃A.基于.NET平臺(tái)Web服務(wù)安全性的研究與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù):學(xué)術(shù)交流,2012(2X):1292-1293.
[3] 邢翠芳,李瑛,趙海冰,等.一種移動(dòng)Web服務(wù)安全性技術(shù)方案[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013(4):122-125.
[4] 周潔,任江春,王志英,等.一種基于Petri網(wǎng)的Web服務(wù)組合安全性動(dòng)態(tài)檢測(cè)技術(shù)[J].計(jì)算機(jī)工程與科學(xué),2014(2):250-257.