郭優(yōu)
摘要:網(wǎng)站作為信息的重要傳輸載體,一旦遭受攻擊,既嚴(yán)重?fù)p害了廣大網(wǎng)絡(luò)用戶的利益和隱私,又阻礙了網(wǎng)絡(luò)應(yīng)用的發(fā)展。研究網(wǎng)站安全問題的目的是為了更好地保護(hù)用戶信息安全和網(wǎng)絡(luò)安全。該文首先介紹了我國網(wǎng)站安全的現(xiàn)狀,然后分析了網(wǎng)站被攻擊的方式和危害性,最后針對各種攻擊和危害提出了網(wǎng)站安全防范的具體措施。
關(guān)鍵詞:網(wǎng)站安全;攻擊方式;措施
中圖分類號:TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號:1009-3044(2015)14-0025-02
近年來隨著互聯(lián)網(wǎng)的高速發(fā)展,人們對于網(wǎng)絡(luò)的依賴程度也愈加強(qiáng)烈。購物,網(wǎng)上支付,在線聊天等已經(jīng)成為生活必備,政府及企業(yè)也搭建了門戶網(wǎng)站和重要系統(tǒng)。然而,給人們帶來極大方便的同時(shí),網(wǎng)絡(luò)安全問題也變得日益嚴(yán)峻。2014年3月攜程支付日志出現(xiàn)漏洞,幾千萬數(shù)據(jù)泄露。2014年12月12306火車訂票網(wǎng)站因被黑客撞庫導(dǎo)致13萬用戶信息泄露。在互聯(lián)網(wǎng)及大數(shù)據(jù)的今天,一旦網(wǎng)站存在安全漏洞,泄露信息少則幾萬多則上億,數(shù)量驚人。與此同時(shí),中央也更加重視網(wǎng)絡(luò)信息安全,2014年3月,以習(xí)近平主席為組長的國家網(wǎng)絡(luò)安全和信息化小組宣告成立,同年11月在世界互聯(lián)網(wǎng)大會(huì)上習(xí)近平主席在賀詞中至少三次提及網(wǎng)絡(luò)安全。網(wǎng)站安全作為網(wǎng)絡(luò)安全最重要的一部分,安全問題急需得到解決。
1 網(wǎng)站安全現(xiàn)狀分析
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展和web站點(diǎn)的迅速增長,信息的交互和共享已經(jīng)突破了國界,普及到了整個(gè)世界。與此同時(shí),網(wǎng)站安全問題也愈來愈嚴(yán)重,并且為攻擊者提供了更多攻擊的機(jī)會(huì),危害范圍也越來越大,web站點(diǎn)安全越來越?jīng)]有保障。目前,網(wǎng)站面臨著如下的安全問題。
1)政府、學(xué)校、企業(yè)門戶網(wǎng)站因?yàn)殚L期缺乏專業(yè)安全維護(hù)人員導(dǎo)致廠商發(fā)布的補(bǔ)丁不能及時(shí)更新,從而被攻擊者利用。
2)由于網(wǎng)站開發(fā)人員缺乏專業(yè)的安全培訓(xùn),導(dǎo)致所開發(fā)網(wǎng)站存在一系列的安全隱患。
3)網(wǎng)絡(luò)中存在著大量的免費(fèi)而又操作簡單的攻擊工具,使用這些工具并不需要很高的技術(shù)水平,也可以使網(wǎng)站受到巨大的打擊。
4)隨著攻擊技術(shù)廣泛普及,使得高水平攻擊者越來越多,導(dǎo)致網(wǎng)站系統(tǒng)面臨的壓力越來越大。
5)攻擊者通過各種攻擊手段闖入網(wǎng)站系統(tǒng)、篡改網(wǎng)站內(nèi)容、竊取用戶隱私、非法販賣個(gè)人信息從而獲得非法收入。
2 網(wǎng)站被攻擊方式及危害分析
網(wǎng)站被攻擊的方式有SQL注入攻擊、xss跨站腳本攻擊、文件上傳漏洞攻擊以及流量攻擊等等。現(xiàn)將這幾種攻擊做以詳細(xì)分析。
2.1 SQL注入攻擊
SQL注入攻擊(SQL Injection),簡稱注入攻擊、SQL注入,被廣泛用于非法獲取網(wǎng)站信息,是發(fā)生在應(yīng)用程序的數(shù)據(jù)庫層面上的安全漏洞。在設(shè)計(jì)程序時(shí),忽略了對輸入字符串中夾帶的SQL指令的檢查,查詢語句直接被帶進(jìn)數(shù)據(jù)庫中,并且被數(shù)據(jù)庫誤認(rèn)為是正常的SQL指令而運(yùn)行,從而攻擊者就可以使用對數(shù)據(jù)庫有害的查詢語句攻擊數(shù)據(jù)庫,進(jìn)行增加、更改、刪除等惡意操作以及造成信息泄漏。
1)get型注入
一般來說,get型sql注入存在于形如http://xxx.xxx.xxx/abc.php?id=xx 等帶有參數(shù)的動(dòng)態(tài)網(wǎng)頁中。由于程序員未做必要的過濾,導(dǎo)致id后所帶的參數(shù)直接進(jìn)入數(shù)據(jù)庫中查詢,攻擊者就可以得到網(wǎng)站數(shù)據(jù)庫中的信息。但是由于目前大多數(shù)網(wǎng)站都寫入了過濾程序,所以這類注入攻擊已經(jīng)越來越少,但的確存在。
2)post型sql注入
這種攻擊方式相對于get型sql注入來說更加隱蔽,容易被忽略。大多數(shù)網(wǎng)站后臺(tái)登錄框一般都是以post方式來傳遞數(shù)據(jù),而一旦未過濾,將很容易讓攻擊者得到管理員賬號密碼,越權(quán)訪問,導(dǎo)致攻擊者非法進(jìn)入網(wǎng)站后臺(tái)管理系統(tǒng)的危險(xiǎn)。像這類攻擊方式,一些大型網(wǎng)站以及國家管理系統(tǒng)仍存在此類問題。
3)cookie型sql注入
cookie型注入是一種更高級的注入方式。在asp中request對象獲取客戶端提交數(shù)據(jù)常用get和post兩種方式。而如果程序員沒有規(guī)定提交數(shù)據(jù)通過何種方式傳遞的話,通過cookies也是可以獲取客戶端提交的數(shù)據(jù),并且如果沒有對使用request.cookie(“參數(shù)名稱”)方式提交的數(shù)據(jù)過濾時(shí),cookie注入就產(chǎn)生了。這種方式一般是在前兩種方式因?yàn)榫W(wǎng)站存在防御措施而失效后所采取的另一種攻擊方式。
SQL注入攻擊對網(wǎng)站的危害包括四個(gè)方面。一是網(wǎng)站數(shù)據(jù)庫遭受攻擊。數(shù)據(jù)庫作為網(wǎng)站數(shù)據(jù)的存儲(chǔ)中心,放置著所有用戶信息等重要數(shù)據(jù),通過SQL注入可以把數(shù)據(jù)庫中所存放的信息竊取,導(dǎo)致隱私信息落入攻擊者手中,攻擊者從而販賣信息獲得非法利益。二是獲得網(wǎng)站管理權(quán)限。數(shù)據(jù)庫中存儲(chǔ)著網(wǎng)站管理員的賬戶信息,一旦攻擊者獲得管理員賬戶信息,攻擊者將可以非法進(jìn)入網(wǎng)站后臺(tái)篡改數(shù)據(jù),并且可以對特定網(wǎng)頁進(jìn)行篡改。三是網(wǎng)站被安裝后門程序。攻擊者入侵網(wǎng)站后通常會(huì)留下后門程序,用來控制網(wǎng)站服務(wù)器,控制操作系統(tǒng)。四是直接破壞硬盤中的數(shù)據(jù),導(dǎo)致系統(tǒng)遭到破壞。
2.2 xss跨站腳本攻擊
1)反射型xss攻擊
只有用戶點(diǎn)擊攻擊者所構(gòu)造的惡意腳本的url后,可觸發(fā)其攻擊命令。這種攻擊影響范圍較小,但危害也不容小視。
2)存儲(chǔ)型xss攻擊
該類型是應(yīng)用最廣泛而且可能影響到web服務(wù)器自身安全的漏洞。黑客將攻擊腳本上傳到web服務(wù)器上,將使得所有訪問該網(wǎng)頁的用戶都造成攻擊,其中也包括網(wǎng)站管理員。例如網(wǎng)站留言板,一旦攻擊者向留言板中插入攻擊腳本,只要是訪問該留言板的用戶都會(huì)遭到攻擊。當(dāng)管理員在后臺(tái)審核留言時(shí),管理員也將遭到攻擊。
xss跨站腳本攻擊的危害包括七個(gè)方面。一是釣魚欺騙。最典型的就是利用目標(biāo)網(wǎng)站的反射型跨站腳本漏洞將目標(biāo)網(wǎng)站重定向到釣魚網(wǎng)站,或者注入釣魚JavaScript以監(jiān)控目標(biāo)網(wǎng)站的表單輸入,甚至發(fā)起基于DHTML更高級的釣魚攻擊方式。二是網(wǎng)站掛馬??缯緯r(shí)利用IFrame嵌入隱藏的惡意網(wǎng)站或者將被攻擊者定向到惡意網(wǎng)站上,或者彈出惡意網(wǎng)站窗口等方式都可以進(jìn)行掛馬攻擊。三是身份盜用。cookie是用戶對于特定網(wǎng)站的身份驗(yàn)證標(biāo)志,xss可以盜取到用戶的cookie,從而利用該cookie盜取用戶對該網(wǎng)站的操作權(quán)限。如果一個(gè)網(wǎng)站管理員用戶cookie被竊取,將會(huì)對網(wǎng)站引發(fā)巨大的危害。四是盜取網(wǎng)站用戶信息。當(dāng)能夠竊取到用戶cookie,從而獲取到用戶身份,這樣就使攻擊者可以獲取到用戶對網(wǎng)站的操作權(quán)限,從而查看用戶隱私信息。五是垃圾信息發(fā)送。利用xss漏洞借用被攻擊者的身份發(fā)送大量的垃圾信息給特定的目標(biāo)群。六是劫持用戶Web行為。一些高級的xss攻擊甚至可以劫持用戶的Web行為,監(jiān)視用戶的瀏覽歷史,以及用戶發(fā)送與接收的數(shù)據(jù)等等。七是XSS蠕蟲。xss 蠕蟲可以用來打廣告、刷流量、掛馬、惡作劇、破壞網(wǎng)上數(shù)據(jù)、實(shí)施DDos攻擊等。
2.3 文件上傳漏洞攻擊
文件上傳漏洞通常由于網(wǎng)頁代碼中的文件上傳路徑變量過濾不嚴(yán)格,導(dǎo)致用戶可以上傳任意格式的文件。如果文件上傳功能實(shí)現(xiàn)代碼沒有嚴(yán)格限制用戶上傳的文件后綴以及文件類型,并能夠?qū)⑦@些文件進(jìn)行解釋,就可以在遠(yuǎn)程服務(wù)器上執(zhí)行任意腳本。攻擊者也可通過 Web 訪問的目錄上傳后門文件,從而遠(yuǎn)程控制網(wǎng)站服務(wù)器。
2.4 流量攻擊
流量攻擊是指攻擊者通過制造大量無效的或偽造的訪問請求,使網(wǎng)站無法接受正常用戶請求,使服務(wù)器過載,甚至使服務(wù)器癱瘓的一種網(wǎng)絡(luò)攻擊方式。目前,流量攻擊可分為CC攻擊和DDOS攻擊兩種。流量攻擊不論網(wǎng)站大小都會(huì)受到不同程度的損失,對于小網(wǎng)站來說這樣的打擊將是致命的。這種攻擊方式目前并沒有十分有效的防御方式。一旦攻擊者以十分大的訪問量攻擊服務(wù)器,網(wǎng)站服務(wù)器將沒有能力去承載壓力,導(dǎo)致服務(wù)器崩潰。
3 網(wǎng)站安全管理措施分析
針對不同的攻擊和危害,應(yīng)采取不同的網(wǎng)站安全管理措施。
3.1 針對SQL注入攻擊的防范措施
1)在編寫網(wǎng)站程序時(shí),所有的數(shù)據(jù)庫查詢語句都需要使用數(shù)據(jù)庫所提供的參數(shù)化查詢接口,一旦有遺漏,就相當(dāng)于給攻擊者打開了一扇攻進(jìn)數(shù)據(jù)庫的門。這樣操作不但可以避免SQL注入,還能提高查詢的性能。
2)對于一些例如”select”,”and”,”union”,以及特殊字符("<>&*")等進(jìn)行轉(zhuǎn)義處理或者進(jìn)行阻止。
3)限制輸入的數(shù)據(jù)長度,這樣攻擊者在輸入較長的攻擊語句時(shí)將無法正確執(zhí)行。
4)對數(shù)據(jù)庫中的核心數(shù)據(jù)例如用戶賬號等個(gè)人隱私信息等進(jìn)行嚴(yán)格加密,用戶信息即使 被竊取,數(shù)據(jù)庫中的真實(shí)信息也不會(huì)流入攻擊者手中。
5)嚴(yán)格限制網(wǎng)站用戶的數(shù)據(jù)庫的操作權(quán)限,給此用戶提供僅僅能夠滿足其使用的操作權(quán)限,減少注入攻擊對數(shù)據(jù)庫的危害。
6)盡量避免網(wǎng)站系統(tǒng)報(bào)錯(cuò)的信息,攻擊者可以利用網(wǎng)站反饋的報(bào)錯(cuò)信息來進(jìn)行一些判斷,并且暴露服務(wù)器以及數(shù)據(jù)庫的相關(guān)信息。
7)網(wǎng)站維護(hù)人員可以使用一些SQL注入自動(dòng)化檢測工具,對網(wǎng)站一些忽略的注入點(diǎn)進(jìn)行修復(fù)。
3.2 常用的防止xss漏洞的方法
1)xss同樣也是在用戶輸入處存在的漏洞,所以與SQL注入類似的必須要對用戶輸入部分進(jìn)行過濾,例如對“script”、 “<”、“>”等特殊字符進(jìn)行嚴(yán)格過濾。
2)對能夠存儲(chǔ)到服務(wù)器端的數(shù)據(jù)進(jìn)行嚴(yán)格控制。
3)使用檢測xss的自動(dòng)化工具進(jìn)行測試,發(fā)現(xiàn)立即處理。
3.3 針對文件上傳漏洞攻擊的防范方法
在網(wǎng)站開發(fā)過程中,開發(fā)者要嚴(yán)格限制上傳文件的類型,嚴(yán)格控制上傳文件的后綴名,對危險(xiǎn)文件進(jìn)行過濾。
3.4 流量攻擊的預(yù)防措施
購置高性能的服務(wù)器和加大網(wǎng)絡(luò)帶寬。對于這種攻擊方式來說,完全防范基本上是不可能的,只能提升服務(wù)器的承載能力,讓攻擊難度加大,攻擊成本增加。
4 網(wǎng)站安全管理策略
1)從主動(dòng)式掃描向被動(dòng)式掃描轉(zhuǎn)變。傳統(tǒng)的網(wǎng)站安全檢測方法主要采用的是主動(dòng)式掃描:即網(wǎng)站站長授權(quán)網(wǎng)站安全檢測服務(wù)商,利用蜘蛛爬蟲技術(shù),對網(wǎng)站頁面進(jìn)行定期的主動(dòng)掃描和安全檢測。不過,這種檢測方法有一些難以克服的弊端。
而被動(dòng)式掃描是根據(jù)網(wǎng)站用戶的實(shí)際訪問請求來進(jìn)行頁面的安全性檢測,這就有效地克服了主動(dòng)式掃描無法檢測孤島頁面的局限性,從而使安全檢測的掃描覆蓋更全面、更徹底。此外,由于被動(dòng)式掃描只掃描那些用戶訪問的頁面,而沒有去掃描那些“無人問津”頁面,這在一定程度上提高了網(wǎng)站安全檢測的效率。
2)使用防火墻并增設(shè)網(wǎng)絡(luò)入侵檢測系統(tǒng)。防火墻可以過濾不安全的服務(wù)和非法用戶,禁止未授權(quán)的用戶訪問受保護(hù)的網(wǎng)絡(luò),并且控制對特殊站點(diǎn)的訪問。入侵檢測系統(tǒng)又稱IDS,可以對異常行為模式進(jìn)行統(tǒng)計(jì)分析,發(fā)現(xiàn)入侵行為規(guī)律。二者的共同作用可以有效抵御多數(shù)網(wǎng)站安全問題。
3)定期對網(wǎng)站數(shù)據(jù)庫信息進(jìn)行備份管理,特別是核心關(guān)鍵數(shù)據(jù)要更加重視,保障用戶的信息安全。
4)在網(wǎng)站程序?qū)ν獍l(fā)布之前,首先對整個(gè)程序進(jìn)行網(wǎng)站安全性能分析,把風(fēng)險(xiǎn)系數(shù)降低到最低。
5)建立網(wǎng)站安全應(yīng)急部門。對于大中型企業(yè)應(yīng)該常設(shè)網(wǎng)站安全應(yīng)急部門,設(shè)立網(wǎng)絡(luò)安全工程師,對突發(fā)的安全問題做出及時(shí)的處理,防止問題進(jìn)一步擴(kuò)大。做到及時(shí)發(fā)現(xiàn),及時(shí)處理,及時(shí)通報(bào)。對廠商發(fā)布的補(bǔ)丁進(jìn)行及時(shí)更新,對第三方上報(bào)的漏洞進(jìn)行及時(shí)處理。
5 結(jié)束語
本文通過介紹我國網(wǎng)站安全的現(xiàn)狀,分析了網(wǎng)站被攻擊的常見方式以及由此造成的危害,最后針對這些攻擊提出了保證網(wǎng)站安全的具體防范措施?!皼]有網(wǎng)絡(luò)安全就沒有國家安全”。網(wǎng)站安全是一個(gè)長期而又艱巨的任務(wù),會(huì)不斷出現(xiàn)新的問題,這就需要專業(yè)人員不斷地研究和探索,在危害到來之前就將其解決。相信在未來新的技術(shù)將會(huì)更好地解決一系列的安全問題。
參考文獻(xiàn):
[1] 國家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心.2013年中國互聯(lián)網(wǎng)網(wǎng)絡(luò)安全報(bào)告[M].北京:人民郵電出版社,2014.
[2] 趙彬.黑客攻防:Web 安全實(shí)戰(zhàn)詳解[M].北京:中國鐵道出版社,2014.
[3] 奇虎360公司2014年網(wǎng)站安全報(bào)告,2014.
[4] 魏為民,袁仲雄.網(wǎng)絡(luò)攻擊與防御技術(shù)的研究與實(shí)踐 [J].信息網(wǎng)絡(luò)安全,2012(12).
[5] 沈壽忠.基于網(wǎng)絡(luò)爬蟲的SQL注入與XSS漏洞挖掘[J].西安電子科技大學(xué),2009(8).