韋智博
摘要:隨著web技術(shù)的不斷發(fā)展,Web應(yīng)用逐漸深入人們的生活,Web應(yīng)用安全方面的問題日益凸顯,用戶的信息存在安全方面的威脅。所以,關(guān)于Web應(yīng)用安全的研究是十分必要且有重要意義的。該文將從常見的Web應(yīng)用攻擊和Web應(yīng)用安全的防護(hù)兩個(gè)方面來闡述關(guān)于web應(yīng)用安全的研究。
關(guān)鍵詞:Web應(yīng)用攻擊;Web應(yīng)用安全防護(hù)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)27-6303-02
Abstract: With the continuous development of web technology, web application gradually into people's life, the web application security issues become increasingly prominent, the user information in the presence of security threat. Therefore, research on Web application security is very necessary and important. This paper from the two aspects of the common protection of web application attacks and security of web application to study on Web application security.
Key words: Web application attack; Web application security protection
隨著近十年來網(wǎng)絡(luò)的普及以及網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,一些Web的應(yīng)用走入人們的生活,稱為必不可少的一部分,如電子郵件、人人網(wǎng)、土豆網(wǎng)等等。此外,基于Web應(yīng)用的服務(wù)還在軍事、教育、經(jīng)濟(jì)等其他領(lǐng)域發(fā)揮它的巨大作用。
但是,人們?cè)趶V泛使用基于Web應(yīng)用的技術(shù)時(shí),卻并沒有保 障Web程序的安全性,使得Web應(yīng)用程序存在較大的安全隱患。攻擊者發(fā)現(xiàn)并利用這些漏洞篡改、破壞用戶的重要信息。所以,為了保障Web應(yīng)用程序的安全性,必須要防患于未然,了解各種Web應(yīng)用的安全漏洞以及攻擊者可能采用的攻擊方法,針對(duì)這些可能發(fā)生的情況,采取有效的應(yīng)對(duì)措施,及時(shí)發(fā)現(xiàn)及時(shí)修復(fù)。
本文涉及了Web應(yīng)用安全的現(xiàn)狀以及存在的漏洞和常見的攻擊,然后針對(duì)不同的攻擊給出了相應(yīng)的解決方案,最后對(duì)全文進(jìn)行了總結(jié)。
1 常見的Web應(yīng)用攻擊
從十大Web應(yīng)用安全來看,不僅有Web應(yīng)用程序本身的漏洞存在,還有安全管理方面的問題,例如Security Misconfiguration安全配置錯(cuò)誤。所以不僅需要重視Web應(yīng)用程序本身的安全性,還應(yīng)該將Web應(yīng)用程序管理規(guī)范起來,降低不安全的風(fēng)險(xiǎn)。
下面將從Web安全的源頭開始分為服務(wù)器端、服務(wù)器端到客戶端的傳輸過程中、客戶端三個(gè)過程中的不同類型的攻擊的原理進(jìn)行深入的探究:
1.1 Web服務(wù)器端存在的安全威脅
Web服務(wù)器通常存儲(chǔ)著大量的用戶信息以及各種秘密的文件,攻擊者通過發(fā)現(xiàn)Web服務(wù)器的漏洞攻擊服務(wù)器可以獲得許多它想獲得的信息,或者用來存儲(chǔ)惡意的攻擊代碼。Web服務(wù)器端可能面臨的安全威脅有:
1) 服務(wù)器中存儲(chǔ)的信息:攻擊者通過攻擊可以獲得用戶銀行的賬戶和密碼,將用戶銀行中的錢轉(zhuǎn)移到自己的賬戶中。此外,還可以獲取獲取服務(wù)器中存儲(chǔ)的商業(yè)機(jī)密文件等等。
2) 存儲(chǔ)惡意的攻擊代碼:攻擊者將惡意的攻擊代碼存入服務(wù)器中,也可以實(shí)現(xiàn)惡意攻擊,例如:網(wǎng)頁掛馬攻擊。
下面對(duì)于服務(wù)器端典型的攻擊的原理進(jìn)行深入的分析:
1.2 SQL注入攻擊
SQL注入,即為用戶可以提交一段數(shù)據(jù)庫查詢代碼,根據(jù)程序返回的結(jié)果,獲得某些他想得知的數(shù)據(jù)。SQL 注入攻擊利用服務(wù)器端自身存在的漏洞進(jìn)行攻擊,在發(fā)現(xiàn)SQL的注入位置之后,把 SQL命令注入到 Web應(yīng)用程序中,繞過數(shù)據(jù)庫的身份認(rèn)證,將程序命令當(dāng)作用戶輸入數(shù)據(jù)提交給程序執(zhí)行,根據(jù)SQL查詢的結(jié)果獲取系統(tǒng)管理員權(quán)限,進(jìn)行惡意攻擊。
1.3 傳輸過程中可能存在的安全威脅
常見的攻擊方式包括主動(dòng)攻擊和被動(dòng)攻擊兩種:
1) 主動(dòng)攻擊:主動(dòng)攻擊通過偽裝、重放、修改報(bào)文、拒絕服務(wù)、分布式拒絕服務(wù)五種方式對(duì)數(shù)據(jù)流進(jìn)行篡改,以達(dá)到攻擊的目的。
2) 被動(dòng)攻擊:攻擊者通過嗅探、監(jiān)聽、竊聽等方式獲取正在傳輸?shù)男畔ⅰ?/p>
1.4 客戶端存在的安全威脅
1.4.1 跨腳本攻擊(XSS)
跨腳本攻擊(Cross Site Scripting)的攻擊原理是,為了獲取授權(quán)用戶的Cookie信息,攻擊者對(duì)網(wǎng)頁進(jìn)行篡改,插入惡意的腳本,使得用戶在瀏覽網(wǎng)頁時(shí)在不知情的情況下被攻擊者所攻擊。在服務(wù)器端,每一個(gè)包含認(rèn)證 Cookie 的 Web請(qǐng)求都看作來自與之相關(guān)用戶發(fā)出的請(qǐng)求,所以,攻擊者可以利用竊取的Cookie冒充授權(quán)用戶完成當(dāng)前會(huì)話。XSS分為三種類型:
1) 持久型跨腳本攻擊,也稱存儲(chǔ)型,指的是惡意代碼存儲(chǔ)在與 Web應(yīng)用程序交互的數(shù)據(jù)庫中,當(dāng)用戶訪問該頁面時(shí),Web 應(yīng)用程序從數(shù)據(jù)庫中返回惡意代碼給用戶。當(dāng)瀏覽該頁面時(shí),這種攻擊自動(dòng)運(yùn)行,此種方式也是最直接的危害方式。
2) 非持久型跨腳本攻擊,也稱反射型,,這種攻擊方式是在攻擊的過程中反射給用戶,它通過給用戶發(fā)送帶有惡意腳本代碼參數(shù)的統(tǒng)一資源定位符URL ,當(dāng) URL 地址被打開時(shí),帶有的惡意代碼參數(shù)被 HTML 解析執(zhí)行。
3) DOM跨腳本攻擊,客戶端腳本處理邏輯錯(cuò)誤導(dǎo)致的安全問題。
1.4.2 點(diǎn)擊劫持
點(diǎn)擊劫持是一種惡意的攻擊手段,攻擊者通常使用一個(gè)透明的 Web 元素,將網(wǎng)頁上的某部分進(jìn)行覆蓋,但網(wǎng)頁看上去是正常的,而當(dāng)用戶在點(diǎn)擊該頁面時(shí),可能會(huì)點(diǎn)擊到透明的 Web 元素,從而實(shí)現(xiàn)對(duì)用戶點(diǎn)擊操作的劫持,視覺上就是用戶的鼠標(biāo)被控制了。
2 Web應(yīng)用安全的防護(hù)
加強(qiáng)Web應(yīng)用安全的防護(hù)應(yīng)針對(duì)Web應(yīng)用的安全,應(yīng)從Web應(yīng)用開發(fā)階段、Web應(yīng)用運(yùn)行階段、Web應(yīng)用日常管理三個(gè)不同階段采取不同的安全防護(hù)措施:
2.1 Web應(yīng)用開發(fā)編程階段
代碼的安全性直接決定了網(wǎng)站W(wǎng)eb 應(yīng)用的安全性。所以,在Web應(yīng)用開發(fā)編程階段,開發(fā)人員應(yīng)遵循特定的 Web 編程安全規(guī)范,以盡量避免Web應(yīng)用代碼的安全問題。其次,還可以在Web應(yīng)用中增加安全模塊,例如身份驗(yàn)證、檢查訪問者的訪問權(quán)限,使得Web應(yīng)用具有基本的安全防護(hù)機(jī)制。
2.2 web應(yīng)用運(yùn)行階段
Web應(yīng)用運(yùn)行階段更是安全防護(hù)中的重點(diǎn)。首先,在Web應(yīng)用服務(wù)器端增加安全防護(hù)措施,例如Apache的Mod_Security是一個(gè)具有入侵檢測(cè)、防御引擎功能的開源Web應(yīng)用安全程序,它以Apache web服務(wù)器的模塊方式運(yùn)行, 增強(qiáng)Web應(yīng)用程序的安全性, 防止Web應(yīng)用程序受到已知或未知的攻擊。
其次,可以定期維護(hù)Web應(yīng)用程序的代碼,檢查服務(wù)器是否存在安全問題,有漏洞及時(shí)修復(fù),打補(bǔ)丁,防患于未然。
2.3 日常Web應(yīng)用管理
開發(fā)人員更多關(guān)注技術(shù)上的防護(hù),往往容易忽略Web應(yīng)用管理安全上的漏洞帶來的威脅??梢詮囊韵聨追矫婕訌?qiáng)對(duì)Web應(yīng)用安全的管理:
1) 完善規(guī)章制度,加強(qiáng)安全防護(hù):建立和完善Web應(yīng)用程序開發(fā)規(guī)范、服務(wù)器安全管理,規(guī)范網(wǎng)站的管理制度,保障Web應(yīng)用程序安全穩(wěn)定運(yùn)行。
2) 加強(qiáng)安全教育,引入安全意識(shí):對(duì)Web服務(wù)器的運(yùn)營維護(hù)管理分工明確,并定期開展安全培訓(xùn)。
3) 定期對(duì) Web 應(yīng)用服務(wù)器測(cè)評(píng)。
3 總結(jié)
隨著web技術(shù)的不斷發(fā)展和進(jìn)步,Web 應(yīng)用滲入到每個(gè)人的日常生活。從e-mail,購物,網(wǎng)絡(luò)虛擬銀行到社交網(wǎng)絡(luò),Web 應(yīng)用扮演Web Service中十分重要角色。與此同時(shí),Web 相關(guān)應(yīng)用的復(fù)雜度急劇增加,但各種類型的安全漏洞也不斷涌現(xiàn)。
另一方面,Web 服務(wù)所相關(guān)的關(guān)鍵數(shù)據(jù)和程序吸引了越來越多的被經(jīng)濟(jì)利益驅(qū)動(dòng)的攻擊者,并針對(duì)web應(yīng)用的安全漏洞發(fā)起更強(qiáng)烈的攻擊。
當(dāng)前 Web應(yīng)用處在一個(gè)高速發(fā)展的時(shí)代,同時(shí)也是web應(yīng)用安全威脅與日俱增的時(shí)代。深入了解潛在的安全威脅的機(jī)理,對(duì)開發(fā)有效的新型防御檢測(cè)技術(shù)有很重要的作用與意義。
參考文獻(xiàn):
[1] 肖遙,網(wǎng)站入侵與腳本攻防修煉[M].北京:電子工業(yè)出版社,2008:9-10,26-28.
[2] 楊林,楊鵬,李長齊.Web 應(yīng)用漏洞分析及防御解決方案研究[J].信息安全與通信保密,2011(02):58-60.
[3] 黃耀鋒,吳迪.Web應(yīng)用的安全現(xiàn)狀及防護(hù)[J].科技資訊,2011,35(16):16.