鐘文德 邱丹青
(廣東宜通世紀(jì)科技股份有限公司,廣東 廣州 510000)
WEB應(yīng)用程序安全設(shè)計(jì)及應(yīng)用技術(shù)的研究
鐘文德 邱丹青
(廣東宜通世紀(jì)科技股份有限公司,廣東 廣州 510000)
隨著迅猛發(fā)展的計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),電子商務(wù)也正在快速發(fā)展中,而其在開發(fā)應(yīng)用程序領(lǐng)域的過程當(dāng)中,已占到軟件開發(fā)系統(tǒng)一定的比重。網(wǎng)絡(luò)安全方面的相關(guān)研究在目前的發(fā)展中,比較廣泛應(yīng)用了各種安全技術(shù)。然而針對在設(shè)計(jì)應(yīng)用程序過程中的軟件設(shè)計(jì)者,怎樣使web應(yīng)用程序安全性有所提高,在當(dāng)前而言有關(guān)研究工作者相對比較少,在普及全球化的網(wǎng)絡(luò)環(huán)境下,如何讓網(wǎng)絡(luò)的安全環(huán)境保持穩(wěn)定運(yùn)行,應(yīng)用程序安全設(shè)計(jì)的相關(guān)研究必不可少,其意義相當(dāng)重大。
計(jì)算機(jī);網(wǎng)絡(luò);web應(yīng)用程序;安全設(shè)計(jì)
在計(jì)算機(jī)通信技術(shù)的不斷發(fā)展中,人們已普遍使用網(wǎng)絡(luò)辦公、網(wǎng)絡(luò)購物、網(wǎng)上支付等業(yè)務(wù)于實(shí)際工中,盡管在互聯(lián)網(wǎng)上可以使很多事情的可能變成了現(xiàn)實(shí),但對于現(xiàn)代化企業(yè)而言,互聯(lián)網(wǎng)卻是一個(gè)十分危險(xiǎn)的環(huán)境。為了保護(hù)現(xiàn)代企業(yè)的應(yīng)用程序,在危險(xiǎn)的環(huán)境中應(yīng)該采取一系列的舉施,在該過程中雖然部分內(nèi)容通常不屬于開發(fā)者的職責(zé)所在,但如何對應(yīng)用程序安全性的相關(guān)知識有所了解,怎樣才能設(shè)計(jì)出正確有效的安全性策略,以及進(jìn)行選擇相關(guān)的安全技術(shù)與添加到需要設(shè)計(jì)的應(yīng)用程序中去,這對應(yīng)用程序開發(fā)者而言都是至關(guān)重要的。
為了防止保護(hù)web應(yīng)用程序遭到各種不同威脅的無情攻擊,一定要采取有效的控制方法與安全策略加以防范。就目前來說web安全的技術(shù)相關(guān)領(lǐng)域大概可分為6個(gè),該6個(gè)安全相關(guān)技術(shù)如下:身份驗(yàn)證、授權(quán)、安全審核、完整性、安全保密與認(rèn)可技術(shù)。
身份驗(yàn)證技術(shù)是指一個(gè)主體進(jìn)行對另外一個(gè)主體的確認(rèn)有無確實(shí)是其聲稱的實(shí)體的一個(gè)過程。當(dāng)中使用客戶身份也可當(dāng)作為一個(gè)主體,驗(yàn)證身份能夠在web應(yīng)用程序中的各種異同位置出現(xiàn),當(dāng)用戶進(jìn)行對web應(yīng)用程序連接的時(shí)候,當(dāng)中web服務(wù)器可進(jìn)行對用戶的身份情況加以驗(yàn)證;若果程序里的web頁進(jìn)行調(diào)用com+組件的時(shí)候,該組件也可以對用戶的身份加以驗(yàn)證。
主體經(jīng)由驗(yàn)證身份后將要訪問一部分資源,經(jīng)由檢查驗(yàn)證身份的主體已通過是否有權(quán)訪問它所請求的資源而進(jìn)行決定該主體的訪問權(quán)限,該過程稱之為授權(quán)。訪問權(quán)限的決定主要有資源訪問控制信息與比較主體信息兩個(gè)方面。
審核(也所謂的日志)它是對各種不同的信息進(jìn)行有效收集,包括使用訪問特權(quán)、嘗試訪問對象及其余的安全性操作。對不同的信息進(jìn)行有效審核并注寫入日志中有助于往后對其方便進(jìn)行分析,日志還有利于對web應(yīng)用程序加以進(jìn)行協(xié)助調(diào)試,若日志沒有存在的話,只能單憑判斷為何一些人對某個(gè)資源受到了拒絕訪問。
所謂完整性技術(shù)指的是防止不會出現(xiàn)隨便修改或刪掉數(shù)據(jù)的能力,確保收到與發(fā)送的信息同歷史數(shù)據(jù)完全相一致。該技術(shù)的傳奇應(yīng)用之處在可編程的簽名數(shù)據(jù)內(nèi),以編程的格式創(chuàng)建起數(shù)據(jù)的Hash value(哈希值),再把歷史數(shù)據(jù)同它一并發(fā)送,若果所收到的數(shù)據(jù)同Hash value(哈希值)互相匹配的話,接收人便能通曉數(shù)據(jù)并沒有出現(xiàn)一點(diǎn)改變。
該技術(shù)它隱藏著未經(jīng)過授權(quán)使用用戶的信息,同時(shí)它大部分采用加密技術(shù),經(jīng)由加密技術(shù)之后,用戶之間可以互相發(fā)送機(jī)密信息,但其余用戶們看到該些消息非常困難,盡管采取網(wǎng)絡(luò)協(xié)議分析器也難以看到。
采取該技術(shù)證明的是當(dāng)中的部分操作早已產(chǎn)生,在操作過程里可預(yù)防無端受到拒絕,在認(rèn)可計(jì)劃的完整性中,要提供身份驗(yàn)證、授權(quán)訪問、安全審核與完整性數(shù)據(jù),認(rèn)可技術(shù)在電子商務(wù)發(fā)展中的地位十分重要。
如果要得到最安全的解決方案,那么在web應(yīng)用程序設(shè)計(jì)的過程當(dāng)中,都需要對安全性的問題進(jìn)行考慮。對怎樣編制出安全性設(shè)計(jì),怎樣擇取安全技術(shù),以及需添加到web應(yīng)用程序里的相關(guān)服務(wù),顯得尤其的重要。其設(shè)計(jì)方法有如下幾點(diǎn):
有效進(jìn)行收集web應(yīng)用程序的產(chǎn)品、有效信息與有關(guān)業(yè)務(wù)需求,且需編制成結(jié)構(gòu)圖與設(shè)計(jì)說明,在完成任務(wù)收集了之后,其下一步設(shè)計(jì)是對web應(yīng)用程序安全性威脅進(jìn)行確定,其界定威脅均應(yīng)依據(jù)商業(yè)風(fēng)險(xiǎn)執(zhí)行,在碰到商業(yè)風(fēng)險(xiǎn)不斷增大之時(shí),被意識到威脅所帶來的影響也隨之增大。
對web應(yīng)用程序的威脅進(jìn)行分析的首步是進(jìn)行有效識別設(shè)計(jì)規(guī)格、說明書里遭遇襲擊的資源,在各個(gè)組織里有部分受到保護(hù)避開遭受潛伏攻擊的資源。網(wǎng)絡(luò)上的所有人均可進(jìn)行訪問web站點(diǎn),然而網(wǎng)絡(luò)站點(diǎn)里的使用資源易于遭受不同程度威脅的感染。
進(jìn)行對web應(yīng)用程序威脅有效識別之后,要清楚對各種不同威脅的成本加以避免,同時(shí)相比該成本同受保護(hù)資源的價(jià)值,以便于區(qū)分出威脅的前后次序。通曉威脅的影響是將某單個(gè)威脅出現(xiàn)的幾率乘以該威脅會遭受到的影響,就可知曉該威脅對組織引起的影響。
安全性措施能夠滿足對保護(hù)電腦網(wǎng)絡(luò)的有關(guān)需求度,并且它對信息的機(jī)密性、有效性與完整性起到保護(hù)效用,并且包含有效監(jiān)測安全性事故、響應(yīng)和預(yù)防的過程,在規(guī)劃與設(shè)計(jì)web應(yīng)用程序安全性的過程里提供實(shí)現(xiàn)可靠的框架結(jié)構(gòu)。
在對一些相對特殊的威脅進(jìn)行防御之時(shí),在應(yīng)用一種技術(shù)時(shí)常會出現(xiàn)安全性疏漏,但可以同時(shí)擇取不同類型的技術(shù),因此在選擇技術(shù)使用時(shí)是否正確變得尤為重要。為了選擇適當(dāng)可用的不同類型技術(shù),先須清楚用于防御威脅的決策切實(shí)可行與否,然后再根據(jù)決策指定采取何種技術(shù)。
若要使某種類型風(fēng)險(xiǎn)得以減輕,可創(chuàng)建一個(gè)安全性服務(wù)于web應(yīng)用程序里,其宗旨促使風(fēng)險(xiǎn)在安全性策略允可的界限內(nèi)得以減輕。在創(chuàng)建安全性服務(wù)之時(shí),安全性技術(shù)可以作為相對獨(dú)立的一個(gè)組件運(yùn)行著,有利于促使web應(yīng)用程序的耦合性有所降低。
在windows2012server操作系統(tǒng)下,應(yīng)用一個(gè)開發(fā)工具為visualstudio2012,后臺數(shù)據(jù)庫為SQLserver2012,設(shè)計(jì)一個(gè)web安全應(yīng)用程序。
數(shù)據(jù)庫層位于結(jié)構(gòu)的最底層處,其功能是對有效數(shù)據(jù)進(jìn)行存儲,為上層使用數(shù)據(jù)提供有利的條件。在數(shù)據(jù)庫層內(nèi)需保證保存好一些敏感數(shù)據(jù),宜采用加密技術(shù)進(jìn)行對數(shù)據(jù)存儲,在數(shù)據(jù)層同應(yīng)用層通信時(shí)也要采取安全的通信協(xié)議對數(shù)據(jù)進(jìn)行傳輸。
而整個(gè)系統(tǒng)中的重中之重部分在于應(yīng)用層,應(yīng)用層中有兩個(gè)模塊,它們分別為管理模塊和使用者模塊。web應(yīng)用程序的安全性與管理模塊的安全性息息相關(guān),在管理模塊的應(yīng)用中,經(jīng)由客戶端證書對身份進(jìn)行驗(yàn)證,從而使整個(gè)系統(tǒng)的安全性得到提高。使用者模塊在應(yīng)用的過程中要先依據(jù)客戶端的請求對數(shù)據(jù)庫進(jìn)行訪問,在連接數(shù)據(jù)庫的時(shí)候,要進(jìn)行加密字符串,這樣有利于使字符串的安全性得以保證,同時(shí)可攔截非授權(quán)使用加以訪問。
用戶層區(qū)域主要是給使用者進(jìn)行提供信息的交互,當(dāng)中含有反饋區(qū)、互動(dòng)區(qū)及部分私有數(shù)據(jù)信息。使用者點(diǎn)擊瀏覽器加以訪問請求,可以進(jìn)入查詢有關(guān)數(shù)據(jù)、添加數(shù)據(jù)等操作,在用戶層里可供使用者輸入驗(yàn)證,嚴(yán)格對用戶輸入的數(shù)據(jù)格式掌握控制好,預(yù)防使用者的非法輸入。
4.2.1 系統(tǒng)漏洞的攻擊
使用Windows 2012 Server操作系統(tǒng),安裝微軟最新補(bǔ)丁,在SQLServer2012中安裝SPZ最新補(bǔ)丁,經(jīng)由采取瑞星殺毒軟件掃描后未發(fā)現(xiàn)系統(tǒng)和軟件存在漏洞;安裝新版360殺毒軟件后可有效攔截木馬、病毒的侵入,使web服務(wù)器的安全性得到保證。
4.2.2 2 SQL注入攻擊
使用者全部采取帶參數(shù)的查詢,在查詢的輸入界面中,需要進(jìn)行格式化輸入數(shù)據(jù),在數(shù)據(jù)庫權(quán)限里,web應(yīng)用程序獨(dú)立的登陸用戶還未建立起,嚴(yán)格對該用戶的權(quán)限加以控制,除可執(zhí)行的部分操作外,其余全部權(quán)限將予以受到拒絕,經(jīng)由試驗(yàn)結(jié)果表明該系統(tǒng)對SQL注入攻擊是能夠防止的。
4.2.3 拒絕服務(wù)的攻擊
在web系統(tǒng)中,面臨較大威脅的主要是拒絕服務(wù)的攻擊,其主要有監(jiān)控與防御兩種不同方法,安裝ISA防火墻軟件,開啟預(yù)防Dos/DDos功能,網(wǎng)絡(luò)管理者應(yīng)定期進(jìn)行檢查網(wǎng)絡(luò)狀態(tài),為預(yù)防Dos/DDos的攻擊可以在硬件方面提高帶寬與分散業(yè)務(wù)服務(wù)器等方面。
在實(shí)驗(yàn)測試過程中雖然并未測試所有可能發(fā)生的攻擊,但由平時(shí)的攻擊加以分析得出,在程序設(shè)計(jì)時(shí)設(shè)計(jì)者所引入的安全設(shè)計(jì),對攻擊者而言如果想執(zhí)意攻破其系統(tǒng)是何其的困難。
本文從web應(yīng)用程序設(shè)計(jì)者的角度為出發(fā)點(diǎn),介紹了web安全的相關(guān)技術(shù),對web應(yīng)用程序安全設(shè)計(jì)過程與方法進(jìn)行了淺析,并通過一個(gè)系統(tǒng)示例貫穿整個(gè)web安全設(shè)計(jì),驗(yàn)證闡述其設(shè)計(jì)方法的可行性及應(yīng)用效益。
[1]劉穎,李真,陳才賢.證書管理策略形式化問題的分析與研究[J].計(jì)算機(jī)應(yīng)用與軟件,2009(07).
TP317
A
10.13612/j.cnki.cntp.2014.06.153