• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Web應(yīng)用安全分析與解決方案研究

      2012-04-29 00:44:03侯莉
      電腦知識(shí)與技術(shù) 2012年20期
      關(guān)鍵詞:漏洞

      侯莉

      摘要:隨著Internet的蓬勃發(fā)展,越來(lái)越多的企業(yè)將應(yīng)用系統(tǒng)架構(gòu)于Web網(wǎng)站之上,由此引發(fā)的應(yīng)用安全問(wèn)題是所有Web應(yīng)用系統(tǒng)所面臨的重要課題,也得到更多企業(yè)的重視。通過(guò)對(duì)Web應(yīng)用安全領(lǐng)域所存在的風(fēng)險(xiǎn)以及防范措施進(jìn)行分析,并從安全軟件工程的角度提出了Web應(yīng)用安全的解決方案,闡述了如何在軟件開(kāi)發(fā)的各階段全面引入安全管理方案。對(duì)企業(yè)進(jìn)行信息安全建設(shè)具有一定的借鑒意義。

      關(guān)鍵詞: Web應(yīng)用安全;安全軟件工程;Internet;SSL;漏洞

      中圖分類(lèi)號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)20-4823-03

      Web Application Security Analysis and Solution Studies

      HOU Li

      (Air China Information Management the Southwest Information Division, Chengdu 610041, China)

      Abstract:With the vigorous development of the Internet, more and more enterprises build the architecture of the application on the web site, the application security issues are an important issue facing, and also get more companies to pay attention to. Web application security risks and preventive measures are analyzed, and from the point of view of security software engineering, Web application security solutions are proposed, and it has certain reference significance for companies to develop information security system.

      Key words:Web application security; security software engineering; Internet;SSL; loophole

      Web安全框架包括物理層面、終端層面、網(wǎng)絡(luò)層面、數(shù)據(jù)層面、應(yīng)用層面以及貫穿這五個(gè)層面的管理層面。

      1)物理安全:為信息系統(tǒng)的安全運(yùn)行和信息的安全保護(hù)提供基本的計(jì)算機(jī)、網(wǎng)絡(luò)硬件設(shè)備、設(shè)施、環(huán)境、介質(zhì)等方面的全面支持。

      2)終端安全:對(duì)信息系統(tǒng)中的終端以及主機(jī)節(jié)點(diǎn)進(jìn)行安全評(píng)估、加固和安全維護(hù),部署安全桌面系統(tǒng)等操作。

      3)網(wǎng)絡(luò)安全:為信息系統(tǒng)在網(wǎng)絡(luò)環(huán)境的安全運(yùn)行提供支持。一方面,確保網(wǎng)絡(luò)系統(tǒng)的安全運(yùn)行,提供有效的網(wǎng)絡(luò)服務(wù)。另一方面,確保在網(wǎng)上傳輸數(shù)據(jù)的保密性、完整性、可用性、可控性和不可否認(rèn)性等。通過(guò)訪問(wèn)控制、入侵監(jiān)測(cè)、防病毒設(shè)備等安全設(shè)備實(shí)現(xiàn)網(wǎng)絡(luò)的安全,同時(shí)對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行安全加固和維護(hù)。

      4)數(shù)據(jù)安全:在物理安全的基礎(chǔ)上提供安全的操作系統(tǒng)和安全的數(shù)據(jù)庫(kù)管理系統(tǒng),以實(shí)現(xiàn)操作系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)的安全運(yùn)行以及對(duì)操作系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)所存儲(chǔ)、傳輸和處理數(shù)據(jù)的安全保護(hù)。

      5)應(yīng)用安全:在物理、系統(tǒng)、網(wǎng)絡(luò)等層面安全的支持下,實(shí)現(xiàn)用戶(hù)安全需求所確定的安全目標(biāo)。

      6)安全管理:主要從安全相關(guān)制度規(guī)范的建立來(lái)加強(qiáng)和落實(shí)安全思想和安全操作規(guī)范。

      該文通過(guò)對(duì)Web應(yīng)用安全領(lǐng)域所存在的風(fēng)險(xiǎn)以及防范措施進(jìn)行分析,并從安全軟件工程的角度提出了Web應(yīng)用安全的解決方案。

      1 Web應(yīng)用安全風(fēng)險(xiǎn)分析與防范

      1.1 SQL注入

      用戶(hù)可以提交一段SQL查詢(xún)代碼,根據(jù)返回的結(jié)果獲取他想要知的數(shù)據(jù),攻擊者把SQL命令插入到Web表單的輸入域或頁(yè)面請(qǐng)求的查詢(xún)字符串,欺騙服務(wù)器執(zhí)行惡意的SQL命令,從而獲取想得到的密碼或其它信息,這個(gè)就是SQL注入(SQL Injection)。SQL注入具有隱蔽性強(qiáng)、攻擊時(shí)間短、危害性大等特點(diǎn)。SQL注入一般是在程序員編寫(xiě)包含用戶(hù)輸入的動(dòng)態(tài)數(shù)據(jù)庫(kù)查詢(xún)時(shí)產(chǎn)生的,因此主要通過(guò)使用參數(shù)化查詢(xún)、采用存儲(chǔ)過(guò)程、對(duì)用戶(hù)輸入進(jìn)行轉(zhuǎn)義等方法進(jìn)行防范。

      1.2跨站腳本攻擊

      跨站腳本攻擊(XSS)是指攻擊者往Web頁(yè)面里插入惡意html代碼,當(dāng)用戶(hù)瀏覽該頁(yè)之時(shí),嵌入其中Web里面的html代碼會(huì)被執(zhí)行,從而達(dá)到惡意用戶(hù)的特殊目的。XSS攻擊主要分為兩類(lèi):一類(lèi)是來(lái)自?xún)?nèi)部的攻擊,主要指的是利用Web程序自身的漏洞,執(zhí)行跨站語(yǔ)句。另一類(lèi)是來(lái)自外部的攻擊,主要指自己構(gòu)造XSS跨站漏洞網(wǎng)頁(yè)或者尋找非目標(biāo)機(jī)以外的有跨站漏洞的網(wǎng)頁(yè)。

      防止XSS攻擊,首先要阻止攻擊者利用在被攻擊網(wǎng)站上發(fā)布跨站攻擊語(yǔ)句。首先代碼里對(duì)用戶(hù)輸入的地方和變量都需要仔細(xì)檢查長(zhǎng)度,對(duì)特殊字符做過(guò)濾;其次任何內(nèi)容寫(xiě)到頁(yè)面之前都必須加以encode。另外,需要避免Cookie防盜,避免直接在cookie中泄露用戶(hù)隱私,或者通過(guò)使cookie和系統(tǒng)ip綁定來(lái)降低cookie泄露后的危險(xiǎn)。盡量采用POST而非GET提交表單。

      1.3錯(cuò)誤的認(rèn)證和會(huì)話(huà)管理

      錯(cuò)誤的認(rèn)證和會(huì)話(huà)管理,就是攻擊者竊聽(tīng)了用戶(hù)名和密碼,或者是會(huì)話(huà),從而得到會(huì)話(huà)進(jìn)程的sessionID,進(jìn)而冒充授權(quán)用戶(hù)進(jìn)行Http訪問(wèn)的過(guò)程。與之相關(guān)的漏洞通常存在于Web應(yīng)用程序的某些特殊區(qū)域,如退出、密碼管理、超時(shí)、保密問(wèn)題、賬戶(hù)更新等。這些漏洞可能導(dǎo)致部分甚至全部賬戶(hù)遭受攻擊。解決此問(wèn)題的方法是需要全面審查應(yīng)用系統(tǒng)的架構(gòu),確保其認(rèn)證機(jī)制本身必須是簡(jiǎn)單、集中和標(biāo)準(zhǔn)化的;在系統(tǒng)中使用容器提供標(biāo)準(zhǔn)session id;用SSL(Secure Sockets Layer安全套接層)協(xié)議來(lái)保護(hù)密碼和session id。

      1.4不正確的直接對(duì)象引用

      不正確的直接對(duì)象引用是指一個(gè)已經(jīng)授權(quán)的用戶(hù),通過(guò)更改訪問(wèn)時(shí)的一個(gè)參數(shù),從而訪問(wèn)到了原本并未被授權(quán)的對(duì)象。這種漏洞能損害參數(shù)所引用的所有數(shù)據(jù),攻擊者很容易就訪問(wèn)到業(yè)務(wù)系統(tǒng)的所有數(shù)據(jù)。解決此問(wèn)題的方法是必須控制Web應(yīng)用程序?qū)ξ募脑L問(wèn),對(duì)每一個(gè)用戶(hù)可訪問(wèn)的對(duì)象(如對(duì)象數(shù)量、文件名)選擇一個(gè)適當(dāng)?shù)姆椒?,如:使用間接對(duì)象引用,防止攻擊者直接攻擊未授權(quán)資源。應(yīng)用程序?qū)⒚總€(gè)用戶(hù)間接引用映射到服務(wù)器的實(shí)際數(shù)據(jù)庫(kù)密匙中;檢查訪問(wèn),來(lái)自不受信源所使用的所有直接對(duì)象引用都必須包含訪問(wèn)控制審核,以確保用戶(hù)對(duì)要求的對(duì)象有訪問(wèn)權(quán)限。

      1.5偽造跨站請(qǐng)求(CSRF)

      偽造跨站請(qǐng)求(CSRF)是一種控制終端用戶(hù)在已登錄的Web應(yīng)用程序上執(zhí)行非法操作的攻擊方法。攻擊者只要借助少許的社會(huì)工程手段,就能迫使用戶(hù)去執(zhí)行攻擊者需要的操作。CSRF的防范機(jī)制常用的有以下三種:

      1)檢查HTTP頭部Refer信息,是防止CSRF的最簡(jiǎn)單易行的方式。根據(jù)RFC對(duì)于HTTP協(xié)議中Refer的定義,Refer信息跟隨出現(xiàn)在每個(gè)Http請(qǐng)求頭部。Server端在收到請(qǐng)求之后,可以檢查頭信息,只接受來(lái)自本域的請(qǐng)求而忽略外部域的請(qǐng)求。

      2)使用一次性令牌:對(duì)于Get請(qǐng)求,在URL里面加入令牌,對(duì)于Post請(qǐng)求,在隱藏域中加入令牌。這個(gè)令牌由server端生成,編程人員在客戶(hù)端發(fā)送請(qǐng)求時(shí)攜帶本令牌然后在Server端進(jìn)行驗(yàn)證。

      3)使用驗(yàn)證圖片,可防止暴力攻擊。在CSRF防范上,應(yīng)用程序結(jié)合驗(yàn)證圖片和一次性令牌來(lái)做雙重保護(hù)。這種方式很難被惡意程序在客戶(hù)端識(shí)別,因而能提高更強(qiáng)的保護(hù)。1.6安全性誤配置

      安全性誤配置可能存在于Web應(yīng)用的各個(gè)層次,開(kāi)發(fā)人員需要和網(wǎng)絡(luò)管理人員共同確保所有層次都合理配置。這個(gè)漏洞往往使得攻擊者能夠訪問(wèn)未被授權(quán)的系統(tǒng)數(shù)據(jù)和功能,有時(shí)甚至可能導(dǎo)致整個(gè)系統(tǒng)被破壞。防范這個(gè)漏洞的唯一方法就是盡可能對(duì)系統(tǒng)的所有方面都做好安全配置,包括:安裝最新版本的軟件及補(bǔ)??;最小化安裝;Web文件/數(shù)據(jù)庫(kù)文件不存放在系統(tǒng)盤(pán)上;不在Web/數(shù)據(jù)庫(kù)服務(wù)器上運(yùn)行其他服務(wù);嚴(yán)格檢查所有與驗(yàn)證和權(quán)限有關(guān)的設(shè)定;權(quán)限最小化;不使用默認(rèn)路徑和預(yù)設(shè)賬號(hào)等。

      1.7限制遠(yuǎn)程訪問(wèn)失敗

      系統(tǒng)雖然對(duì)URL訪問(wèn)做了限制,但通常僅限于表示層的訪問(wèn)控制,攻擊者能夠輕易偽造請(qǐng)求直接訪問(wèn)未被授權(quán)的頁(yè)面,從而造成限制遠(yuǎn)程訪問(wèn)失敗。為此,需要建立起適當(dāng)?shù)纳矸蒡?yàn)證和授權(quán)機(jī)制,如:基于角色進(jìn)行認(rèn)證和授權(quán),拒絕所有的默認(rèn)訪問(wèn),明確授予特定的用戶(hù)和角色訪問(wèn)每個(gè)頁(yè)面。如果頁(yè)面參與了工作流,檢查并確保在認(rèn)證條件滿(mǎn)足的狀態(tài)下才允許訪問(wèn)頁(yè)面。

      1.8未驗(yàn)證的重定向和傳遞

      Web應(yīng)用中重定向很普遍,并且通常重定向的URL帶有參數(shù)。如果重定向未被驗(yàn)證,那么攻擊者就可以引導(dǎo)用戶(hù)訪問(wèn)一些有風(fēng)險(xiǎn)的站點(diǎn)。這種重定向可以嘗試安裝惡意軟件或欺騙用戶(hù)泄露密碼或其他敏感信息。轉(zhuǎn)發(fā)也很普遍,不安全的轉(zhuǎn)發(fā)可能允許繞過(guò)訪問(wèn)控制。為了保障重定向和轉(zhuǎn)移的安全,可以避免使用重定向和轉(zhuǎn)移;如果用到了,不要在目標(biāo)中涉及用戶(hù)參數(shù);如果目標(biāo)參數(shù)無(wú)法避免,需要確保參數(shù)的有效性。

      1.9不安全的加密存儲(chǔ)

      大多數(shù)Web應(yīng)用程序?qū)γ舾袛?shù)據(jù)加密是一種關(guān)鍵的步驟。在實(shí)際應(yīng)用中,使用有缺陷的加密算法,或者使用不合適的密鑰,或者沒(méi)有正確的使用密鑰,都會(huì)導(dǎo)致敏感數(shù)據(jù)泄漏,從而造成攻擊者能夠獲取或篡改信息,并進(jìn)行進(jìn)一步的攻擊。在系統(tǒng)開(kāi)發(fā)時(shí),不能使用自創(chuàng)的不安全的加密算法,不要使用安全強(qiáng)度不強(qiáng)的弱算法。離線生成密鑰,謹(jǐn)慎保護(hù)私鑰,確保在磁盤(pán)中加密的數(shù)據(jù)不會(huì)被解密。確保所有的證書(shū)、密鑰和密碼都被安全存放;具有安全的密鑰分發(fā)和應(yīng)急處理方案。

      1.10不足的傳輸層保護(hù)

      不足的傳輸層保護(hù)也是一種缺少對(duì)敏感數(shù)據(jù)保護(hù)的漏洞,它更關(guān)注數(shù)據(jù)在網(wǎng)絡(luò)上的傳輸。由于未能識(shí)別所有的敏感數(shù)據(jù),或者未能識(shí)別敏感數(shù)據(jù)發(fā)送的位置,或者未能在每個(gè)位置對(duì)敏感數(shù)據(jù)提供合理的保護(hù),從而造成攻擊者能夠獲取或篡改信息以進(jìn)行進(jìn)一步攻擊。在系統(tǒng)開(kāi)發(fā)時(shí),需要對(duì)敏感數(shù)據(jù)的傳輸提供合理的保護(hù)機(jī)制,如:在傳輸前對(duì)數(shù)據(jù)加密,在傳輸前對(duì)信息簽名;合理管理密鑰和證書(shū),并在使用前驗(yàn)證SSL證書(shū)。

      2軟件全生命周期的安全規(guī)劃

      通過(guò)對(duì)Web應(yīng)用安全的風(fēng)險(xiǎn)與防范分析,企業(yè)在信息安全建設(shè)工作中,除了要關(guān)注信息安全基礎(chǔ)設(shè)施的建設(shè),還需要逐步實(shí)施安全軟件工程,從需求、設(shè)計(jì)、編碼、測(cè)試、運(yùn)行維護(hù)的軟件全生命周期進(jìn)行安全規(guī)劃、實(shí)施,以全面的保障應(yīng)用系統(tǒng)安全。

      2.1需求階段

      確定系統(tǒng)安全需求和風(fēng)險(xiǎn)點(diǎn),提供針對(duì)性的安全目標(biāo),確定安全假設(shè),確認(rèn)數(shù)據(jù)流,保護(hù)邊界,并且通過(guò)安全威脅分析,建立需求控制矩陣,從而在需求階段就考慮安全需求:詳細(xì)說(shuō)明安全與保密要求;把安全保密分配到處理流程中;確定用戶(hù)數(shù)據(jù)的敏感等級(jí);確定安全計(jì)劃,建立安全模型,盡可能的降低脆弱性。

      2.2設(shè)計(jì)階段

      確認(rèn)安全原則,根據(jù)系統(tǒng)實(shí)際網(wǎng)絡(luò)環(huán)境和安全需求分析,以及系統(tǒng)的重要性,架構(gòu)合理的安全架構(gòu),主要從物理安全、網(wǎng)絡(luò)安全、系統(tǒng)安全、應(yīng)用安全、終端安全等方面進(jìn)行系統(tǒng)的安全架構(gòu)設(shè)計(jì)。在設(shè)計(jì)階段,需要驗(yàn)證安全模型的正確性,設(shè)計(jì)整體安全機(jī)制和安全方案,把安全要求分解到相關(guān)模塊中,把對(duì)數(shù)據(jù)的安全要求體現(xiàn)在安全數(shù)據(jù)庫(kù)的設(shè)計(jì)中。

      2.3編碼階段

      1)安全編碼原則

      根據(jù)安全編碼原則進(jìn)行代碼的編寫(xiě):進(jìn)攻面最小化原則:在軟件架構(gòu)中將最少的功能性代碼開(kāi)放給用戶(hù)。如:功能代碼和界面代碼分離,內(nèi)核代碼和用戶(hù)任務(wù)處理代碼分離等;深度防衛(wèi)原則:在軟件代碼開(kāi)發(fā)中注重代碼安全性加入安全防護(hù)功能代碼,如:防溢出處理,防注入代碼,防跨站代碼等;最小權(quán)限原則:對(duì)軟件用戶(hù)或軟件運(yùn)行權(quán)限進(jìn)行最小化,防止使用者惡意突破權(quán)限限制非法操作。

      2)代碼審計(jì)

      代碼審計(jì)的實(shí)質(zhì)是一次風(fēng)險(xiǎn)評(píng)估,核心就是找到系統(tǒng)的架構(gòu)失敗與編碼失敗,并與常見(jiàn)的攻擊模式進(jìn)行校驗(yàn)。結(jié)合代碼評(píng)估工具和手工驗(yàn)證的方式來(lái)確認(rèn)代碼中存在的缺陷(設(shè)計(jì)缺陷、實(shí)現(xiàn)缺陷)。設(shè)計(jì)缺陷包括:不正確產(chǎn)生的隨機(jī)數(shù)、不正確的產(chǎn)生加密Key。實(shí)現(xiàn)缺陷包括:不正確的函數(shù)。

      3)安全培訓(xùn)

      對(duì)系統(tǒng)的開(kāi)發(fā)人員提供專(zhuān)業(yè)的安全編碼上的培訓(xùn),提高開(kāi)發(fā)人員安全意識(shí),同時(shí)也避免在開(kāi)發(fā)中的一些代碼缺陷,逐漸實(shí)現(xiàn)代碼級(jí)的安全,從根本上預(yù)防安全威脅的出現(xiàn)。

      2.4測(cè)試階段

      黑盒測(cè)試:通過(guò)對(duì)網(wǎng)站實(shí)施模擬真實(shí)黑客入侵,采用多種攻擊方式對(duì)網(wǎng)站實(shí)施良性滲透,在測(cè)試階段以檢驗(yàn)系統(tǒng)的安全性。

      滲透測(cè)試:模擬非法用戶(hù)從互聯(lián)網(wǎng)用戶(hù)(外)和業(yè)務(wù)維護(hù)用戶(hù)(內(nèi))兩個(gè)角度對(duì)系統(tǒng)的所有業(yè)務(wù)進(jìn)行業(yè)務(wù)(流程)滲透測(cè)試,測(cè)試內(nèi)容包括:驗(yàn)證碼破解、認(rèn)證漏洞測(cè)試、非法業(yè)務(wù)訂購(gòu)測(cè)試、資源正常釋放、業(yè)務(wù)流程驗(yàn)證等。

      2.5運(yùn)行維護(hù)階段

      在完成安全基礎(chǔ)建設(shè)的基礎(chǔ)上,輔助以安全監(jiān)控、安全評(píng)估、安全加固、應(yīng)急響應(yīng)等措施,實(shí)現(xiàn)系統(tǒng)在維護(hù)階段的正常運(yùn)行。

      3小結(jié)

      Web應(yīng)用安全是一個(gè)動(dòng)態(tài)變化的過(guò)程,隨著技術(shù)的發(fā)展,會(huì)有越來(lái)越多的安全風(fēng)險(xiǎn)產(chǎn)生。企業(yè)在信息安全建設(shè)工作中,通過(guò)逐步的夯實(shí)信息安全基礎(chǔ)架構(gòu),建立健全的安全管理制度,在軟件開(kāi)發(fā)中逐步實(shí)施和完善安全軟件工程,在軟件開(kāi)發(fā)的各個(gè)階段建立起相應(yīng)的安全管理措施,全面應(yīng)對(duì)不斷出現(xiàn)的安全風(fēng)險(xiǎn)。

      參考文獻(xiàn):

      [1]任偉.軟件安全[M].北京:國(guó)防工業(yè)出版社,2010.

      [2](美)霍普等.Web安全測(cè)試[M].北京:清華大學(xué)出版社,2010.

      [3](美)斯坎布雷.黑客大曝光:Web應(yīng)用程序安全[M].北京:機(jī)械工業(yè)出版社,2011.

      [4]王嘉延. Web應(yīng)用生命周期安全防護(hù)探討[J].計(jì)算機(jī)安全,2011.

      [5]丁妮.Web應(yīng)用安全研究[D].南京信息工程學(xué)院,2007.

      [6]鄭明.企業(yè)應(yīng)用集成服務(wù)的安全策略設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2009.

      猜你喜歡
      漏洞
      漏洞
      網(wǎng)絡(luò)安全漏洞管理與漏洞情報(bào)庫(kù)建設(shè)方案探討及研究
      漏洞在哪里
      基于selenium的SQL注入漏洞檢測(cè)方法
      電子制作(2019年11期)2019-07-04 00:34:40
      Windows 10被曝新零日漏洞涉及3大版本
      偵探推理游戲(二)
      三明:“兩票制”堵住加價(jià)漏洞
      漏洞在哪兒
      Java 反序列化漏洞研究
      高鐵急救應(yīng)補(bǔ)齊三漏洞
      苗栗市| 库尔勒市| 平罗县| 兴国县| 中山市| 宣威市| 宣武区| 灵武市| 华亭县| 天长市| 广元市| 武山县| 包头市| 周至县| 湟源县| 土默特左旗| 封丘县| 喀什市| 秦皇岛市| 库车县| 玉山县| 临潭县| 土默特左旗| 黄浦区| 枣强县| 呈贡县| 乐业县| 南昌市| 宣汉县| 镇安县| 呼伦贝尔市| 滨州市| 临颍县| 绥滨县| 大石桥市| 陈巴尔虎旗| 同德县| 罗定市| 中超| 玉屏| 新干县|