隨著B(niǎo)/S模式應(yīng)用開(kāi)發(fā)的發(fā)展,使用這種模式編寫(xiě)應(yīng)用程序的程序員也越來(lái)越多。但是由于程序員的水平及經(jīng)驗(yàn)參差不齊,相當(dāng)大一部分程序員在編寫(xiě)代碼的時(shí)候,沒(méi)有對(duì)用戶(hù)輸入數(shù)據(jù)的合法性進(jìn)行判斷,使應(yīng)用程序存在安全隱患。所謂SQL注入,就是通過(guò)把SQL命令插入到Web表單遞交或輸入域名或頁(yè)面請(qǐng)求的查詢(xún)字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令,比如先前的很多影視網(wǎng)站VIP會(huì)員密碼泄露大多就是通過(guò)Web表單遞交查詢(xún)字符實(shí)現(xiàn)的,這類(lèi)表單特別容易受到SQL注入式攻擊。
SQL注入攻擊的原理本身非常簡(jiǎn)單,相關(guān)攻擊工具容易下載,攻擊者獲得權(quán)限后有利可圖。這使得它成為最有效的、攻擊者最常采用的Web入侵手段,是眾多網(wǎng)站成為惡意代碼傳播平臺(tái)的起因之一。
針對(duì)這一攻擊手段,安全專(zhuān)家認(rèn)為,最根本的措施是對(duì)Web應(yīng)用的用戶(hù)輸入進(jìn)行過(guò)濾。并針對(duì)Web應(yīng)用的基本特性,對(duì)Web應(yīng)用的整體安全工作采取以下具體措施:
1、Web應(yīng)用安全評(píng)估:結(jié)合應(yīng)用的開(kāi)發(fā)周期,通過(guò)安全掃描、人工檢查、滲透測(cè)試、代碼審計(jì)、架構(gòu)分析等方法,全面發(fā)現(xiàn)Web應(yīng)用本身的脆弱性及系統(tǒng)架構(gòu)導(dǎo)致的安全問(wèn)題。應(yīng)用程序的安全問(wèn)題可能是軟件生命周期的各個(gè)階段產(chǎn)生的,其各個(gè)階段可能會(huì)影響系統(tǒng)安全的要點(diǎn)主要有:
2、Web應(yīng)用安全加固:對(duì)應(yīng)用代碼及其中間件、數(shù)據(jù)庫(kù)、操作系統(tǒng)進(jìn)行加固,并改善其應(yīng)用部署的合理性。從補(bǔ)丁、管理接口、賬號(hào)權(quán)限、文件權(quán)限、通信加密、日志審核等方面對(duì)應(yīng)用支持環(huán)境和應(yīng)用模塊間部署方式劃分的安全性進(jìn)行增強(qiáng)。
3、對(duì)外部威脅的過(guò)濾:通過(guò)部署Web防火墻、IPS等設(shè)備,監(jiān)控并過(guò)濾惡意的外部訪問(wèn),并對(duì)惡意訪問(wèn)進(jìn)行統(tǒng)計(jì)記錄,作為安全工作決策及處置的依據(jù)。
4、 Web安全狀態(tài)檢測(cè):持續(xù)地檢測(cè)被保護(hù)應(yīng)用頁(yè)面的當(dāng)前狀態(tài),判斷頁(yè)面是否被攻擊者加入惡意代碼。同時(shí)通過(guò)檢測(cè)Web訪問(wèn)日志及Web程序的存放目錄,檢測(cè)是否存在文件篡改及是否被加入Web Shell一類(lèi)的網(wǎng)頁(yè)后門(mén)。
5、事件應(yīng)急響應(yīng):提前做好發(fā)生幾率較大的安全事件的預(yù)案及演練工作,力爭(zhēng)以最高效、最合理的方式申報(bào)并處置安全事件,并整理總結(jié)。
6、 安全知識(shí)培訓(xùn):讓開(kāi)發(fā)和運(yùn)維人員了解并掌握相關(guān)知識(shí),在系統(tǒng)的建設(shè)階段和運(yùn)維階段同步考慮安全問(wèn)題,在應(yīng)用發(fā)布前最大程度地減少脆弱點(diǎn)。
在現(xiàn)在和將來(lái),由于受互聯(lián)網(wǎng)地下黑色產(chǎn)業(yè)鏈中盜取用戶(hù)賬號(hào)及虛擬財(cái)產(chǎn)等行為的利益驅(qū)動(dòng),攻擊者仍將Web應(yīng)用作為傳播木馬等惡意程序的主要手段。盡管這會(huì)對(duì)廣大的運(yùn)維人員和安全工作者造成很大的工作壓力,但是通過(guò)持續(xù)不斷地執(zhí)行并改進(jìn)相關(guān)安全措施,可以最大限度地保障Web應(yīng)用的安全,將關(guān)鍵系統(tǒng)可能發(fā)生的風(fēng)險(xiǎn)控制在可接受的范圍之內(nèi)。
新聞熱點(diǎn)
疑難解答
圖片精選