葉良艷 江國粹
摘要:該文研究SQL注入等常見網(wǎng)站攻擊原理,并結(jié)合基于云計算模式下高校教學(xué)資源共享平臺特點,從安全管理、安全檢查和技術(shù)手段研究平臺多方位安全防御策略。
關(guān)鍵詞:云計算;多方位;防御系統(tǒng)
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)28-0059-02
在《教育信息化十年發(fā)展規(guī)劃 ( 2011- 2020)》第九章對要“建立國家教育云服務(wù)模式”:“充分整合現(xiàn)有資源,采用云計算技術(shù),形成資源配置與服務(wù)的集約化發(fā)展途徑,構(gòu)建穩(wěn)定可靠、低成本的國家教育云服務(wù)模式?!保疚恼轮饕芯炕谠朴嬎隳J较赂咝=虒W(xué)資源共享平臺建設(shè)過程中需要注意哪些安全。
1 常見的WEB網(wǎng)站攻擊及原理
1.1 WEB網(wǎng)站攻擊現(xiàn)狀
2013年OWASP[1]發(fā)布前十大攻擊,依次為注入、時效的省份認(rèn)證和會話管理、跨站腳本、不安全的直接對象應(yīng)用、安全配置錯誤、敏感信息泄漏、功能級訪問控制缺失、跨站請求偽造、使用還有已知漏洞的組件和未驗證的重定向和轉(zhuǎn)發(fā),其中網(wǎng)站注入居高位。
2014年發(fā)生全球十一大攻擊事件,如Regin惡意軟件、索尼攻擊事件、iCloud攻擊事件、摩根大通(JPMorgan)信用卡入侵、家得寶(Home Depot)、韓國信用卡黑客事件、易趣網(wǎng)(eBay)泄密事件、尼曼(Neiman Marcus)攻擊事件、破殼漏洞(Shellshock)、心臟滴血漏洞和12306用戶數(shù)據(jù)泄露含身份證及密碼信息,其中12306用戶數(shù)據(jù)泄露含身份證及密碼信息為撞庫攻擊,這種攻擊方式將成為未來趨勢。
1.2 WEB網(wǎng)站常見攻擊——SQL注入攻擊
SQL注入一直是WEB中最廣泛最危險的攻擊,它的攻擊原理是黑客借助用戶交互時,故意插入一些特殊的SQL語句,該語句一旦插人到實際SQL語句中并執(zhí)行它,就可以竊取系統(tǒng)機密信息,甚至控制主機或其權(quán)限 [2]。下面是php程序的一個簡單SQL注入實例:
假設(shè)的登錄查詢SELECT * FROM users WHERE username =admin and password=password‘
假設(shè)的php 代碼$myquery="Select * from users where username='". $username ."' and password='".$pwd."'";
輸人字符username =or 1=1
實際的查詢代碼SELECT * FROM users WHERE username=or 1=1 and password='anything‘。在條件語句中,無論用戶名稱是否正確,由于1=1永遠(yuǎn)是為真,導(dǎo)致users表中的所有數(shù)據(jù)都被竊取。
2 研究平臺的特點
基于云計算模式下高校教學(xué)資源共享平臺服務(wù)器由第三方云服務(wù)器商提供,網(wǎng)站系統(tǒng)是WAMP(Windows+Apache+MySQL+PHP)框架式。平臺分為四個部分:用戶層、網(wǎng)絡(luò)層、云層和網(wǎng)站系統(tǒng)層。如下圖1平臺安全層次圖。
用戶層:即應(yīng)用層,用戶與服務(wù)器交互,該層主要被黑客惡意攻擊的地方。網(wǎng)絡(luò)層:信息篡改常常來自網(wǎng)絡(luò)層,常用預(yù)防措施有:SSL協(xié)議和S-HTTP。云層:該層是核心層,一旦被控制后果非常嚴(yán)重。網(wǎng)站系統(tǒng)層:網(wǎng)站系統(tǒng)的安全系數(shù)與網(wǎng)站被攻擊成正比。
3 平臺多方位防御系統(tǒng)設(shè)計
一個好的防御系統(tǒng)需要有自我防御、檢測、監(jiān)督、修復(fù)等性能,同時配對一套合理的安全管理,且能嚴(yán)格定期執(zhí)行,具體設(shè)計如下。
3.1 平臺設(shè)計
一個擁有自我防御、檢測、監(jiān)督、修復(fù)等性能平臺,可網(wǎng)站編碼、功能和借助外部軟件等方法實現(xiàn)。
1) 編碼規(guī)范。編碼不規(guī)范容易給黑客留下后門,如明確指定輸出的編碼方式:不要允許攻擊者為你的用戶選擇編碼方式(如ISO 8859-1或 UTF 8)。網(wǎng)站開發(fā)規(guī)范可以參照《OWASP安全編碼規(guī)范快速參考指南》。
2) 全面防御功能設(shè)計。用戶層常用預(yù)防措施有:①對用戶身份進(jìn)行驗證,對用戶訪問權(quán)限控制,分級管理用戶;②對用戶的輸入特殊字符屏蔽和過濾;③對重要和敏感的數(shù)據(jù)進(jìn)行加密。云端常用措施是建立監(jiān)督機制,預(yù)防被利用的可能。網(wǎng)絡(luò)層采用防護(hù)措施有:①用 SSL 實現(xiàn)安全通信,防止攻擊,②過濾所有外部數(shù)據(jù)、使用現(xiàn)有函數(shù)、自己定義函數(shù)進(jìn)行校驗、使用白名單。網(wǎng)站系統(tǒng)層常用預(yù)防措施提①編寫通用的安全模塊。如判斷是否驗證、授權(quán)等安全模塊代碼。②對重要的數(shù)據(jù)加密,以確保信息的安全性,如用戶登錄密碼,銀行帳號。③提供安全存儲,對HTML 或 PHP 文件、與腳本相關(guān)的數(shù)據(jù)和 MySQL數(shù)據(jù)采取不同存儲方式,如腳本只能讀但不能寫。④增強Web服務(wù)器安全,利用WebShell檢測技術(shù)。
3) 借助外部軟件。①應(yīng)用網(wǎng)站安全評估產(chǎn)品。目前防御系統(tǒng)有:360、騰訊和SCANV等,其中SCANV(http://www.scanv.com/)是一家專注網(wǎng)站安全監(jiān)測。②Web應(yīng)用防火墻。
3.2 安全管理設(shè)計
定期對網(wǎng)站應(yīng)用狀況的安全檢測,并給出Web應(yīng)用安全性評估等。常用方法是定期對WEB日志判斷來檢測Web網(wǎng)站是否受到攻擊[3]:
1)檢查web日志:查看是否有特殊記錄,如SQL語句select,drop,insert等關(guān)鍵字參數(shù);或則如“‘;--”等特殊的表達(dá)式的請求記錄;2)檢查web防御系統(tǒng)日志:查看被攻擊的IP或源頁面等;3)查看防火墻等網(wǎng)絡(luò)設(shè)備日志:如Web端口連接IP分布、服務(wù)器對外發(fā)起的連接狀況;4)查看數(shù)據(jù)庫日志:檢查數(shù)據(jù)庫建立新表的記錄、新庫、存儲過程執(zhí)行記錄或者數(shù)據(jù)導(dǎo)入導(dǎo)出記錄等;5)檢查Web目錄:如上傳文件或文件夾及他們修改與最后訪問時間等。
4 結(jié)束語
綜上所述,本文主要介紹WEB常見的網(wǎng)站攻擊類型及基原理,另外根據(jù)云平臺網(wǎng)站的安全特點提出防御系統(tǒng)的設(shè)計建議,望能給平臺開發(fā)者提供參考。
參考文獻(xiàn):
[1] OWASP.Top10-2013.The Ten Most Critical Web Application Security Risks.[EB/OL ].http://www.owasp.org.
[2] 肖遙.網(wǎng)站入侵與腳本攻防修煉[M].北京:電子工業(yè)出版社,2008.
[3] 俞優(yōu),顧健,李毅.web應(yīng)用安全現(xiàn)狀分析及防護(hù)建議[J].技術(shù)研究,2010,7(76).