祝賀《如(rú)何終結數據庫SQL注入攻擊》文章(zhāng)發表
發布時間: 2017.01.20 | 來源: 帕拉迪

由杭州帕拉迪網絡科(kē)技有(yǒu)限公司副總經理(lǐ)李總撰寫的(de)文章(zhāng)《如(rú)何終結數據庫SQL注入攻擊》發表在《互聯網安全的(de)40個智慧洞見》一(yī)書中。該書作者均是在中國(guó)乃至全球具有(yǒu)重要影響力的(de)中外網絡安全名家內(nèi)容不僅覆蓋Web 安全、移動安全、企業安全、電子(zǐ)取證、雲與數據、軟件安全、APT 等熱點安全領域,還涉及國(guó)家網絡空間戰略、新興威脅、工控安全、車聯網安全、信息安全立法等新興安全領域。

文章(zhāng)DT時代面臨的(de)數據庫安全威脅、優雅而堅定的(de)和(hé)SQL注入說再見、應用場景三個部分進行(xíng)闡述。李總指出:大數據和(hé)雲計算時代的(de)來臨,數據安全防護顯得尤為(wèi)重要。衆所周知,基礎信息網絡和(hé)重要信息系統安全防護能力不強,企業內(nèi)部的(de)惡意違規和(hé)誤操作,以及第三方運維和(hé)開發人員留取的(de)後門程序等技術安全風險因素和(hé)人為(wèi)惡意攻擊的(de)存在,使得數據庫安全乃至信息安全問題頻發。而SQL注入攻擊具有(yǒu)廣泛存在、手段隐蔽、特征不可(kě)枚舉、攻擊手段及工具平民化的(de)特征。可(kě)以說,隻要人類還在編寫數據庫應用,SQL注入漏洞就會一(yī)直存在。NGDAP通過白模型鑒别的(de)非常态阻斷模式,對請求數據進行(xíng)标準化處理(lǐ),然後将處理(lǐ)後的(de)數據進行(xíng)規則匹配,合法請求将被傳遞到真實的(de)數據庫當中。而其他所有(yǒu)的(de)SQL請求則會立即被阻斷,系統發出攻擊告警,并形成記錄日志,通過這個過程,NGDAP能輕松的(de)在源頭成功遏制SQL注入攻擊問題。帕拉迪将圍繞數據安全威脅的(de)發現與防禦的(de)核心貢獻目标,構建和(hé)持續完善數據邊界安全産品線,針對數據全生命周期的(de)不同場景,提供相匹配的(de)數據安全保護産品及解決方案。

 

全文如(rú)下:

如(rú)何終結數據庫SQL注入攻擊

 

随着IT時代的(de)發展我們(men)的(de)生活越來越便捷,高(gāo)速信息時代讓我們(men)能實現數據的(de)互聯互通、信息資源的(de)共享,這就是我們(men)所說的(de)信息技術時代;而随着大數據、雲計算等技術的(de)不斷興起與成熟,在大數據時代下的(de)我們(men)體驗的(de)是消費行(xíng)為(wèi)的(de)智能化,商(shāng)業價值的(de)數字化,DT數據技術時代的(de)到來讓我們(men)數據産生巨大價值的(de)同時,也帶來了許多高(gāo)危風險。

跟我們(men)日常息息相關的(de)一(yī)些新聞,比如(rú)說某某電商(shāng)因為(wèi)用戶信息洩露,導緻用戶流量大減,品牌造成很大的(de)負面影響;某社保局的(de)參保人員信息遭到洩露,個人身份證、手機(jī)号碼、參保金額等敏感信息被迫曝光;某某某高(gāo)校新生信息被洩密,不法分子(zǐ)通過精準信息進行(xíng)詐騙,騙走新生全家多年(nián)積攢的(de)學(xué)費緻使新生猝死等事件頻發。但從事件的(de)本質來看,這些客戶的(de)數據庫均遭受到了拖庫攻擊。

一(yī)、數據庫安全威脅分析

    那我們(men)的(de)疑問同時也出現了,各大電商(shāng)企業、金融單位、政府信息中心通過多年(nián)的(de)IT建設,各安全設備已經部署很完善了。從邊界安全、過程控制、內(nèi)容審計等多方面進行(xíng)防護,安全服務團隊定期進行(xíng)漏洞掃描、安全加固等動作,為(wèi)什麽在立體式的(de)防護過程中,數據庫還是被拖走了呢(ne),而且在很多情況下是被長(cháng)時間的(de)、悄無痕迹的(de)竊取掉呢(ne)?

我們(men)從兩個角度來分析:

第一(yī)個從IT建設發展的(de)曆程分析。目前大部分客戶在對安全體系的(de)設計和(hé)治理(lǐ)方案中主要依靠傳統邊界安全防護,如(rú)防火牆、下一(yī)代防火牆、IPS、IDS等安全控制類産品;随着邊界安全防護的(de)進一(yī)步落地(dì),逐步開始向內(nèi)容安全防護過度,如(rú)上網行(xíng)為(wèi)管理(lǐ)、堡壘機(jī)、數據庫審計等安全設備;而随着數據大集中之後,數據庫裏的(de)數據越來越有(yǒu)價值,而目前的(de)防護體系中針對數據庫的(de)安全防護是空白的(de)。很多客戶認為(wèi)自(zì)己有(yǒu)災備軟件、有(yǒu)數據庫審計就能對數據庫進行(xíng)安全管理(lǐ),但實際上災備軟件隻能恢複數據庫原有(yǒu)數據,數據庫審計隻能事後對訪問情況進行(xíng)追溯,如(rú)果業務系統存在SQL注入漏洞,惡意攻擊者就可(kě)以通過繞過WAF等行(xíng)為(wèi)對數據庫造成攻擊,客戶無法實時保障數據不被竊取或篡改,無法做(zuò)到針對數據庫的(de)事前預防和(hé)事中阻斷。

第二個從目前信息安全等級保護整改遺留的(de)難點分析。等級保護整改中涉及物理(lǐ)安全、網絡安全、服務器安全、制度安全等各部分的(de)整改,相對來說通過技術、制度、傳統安全設備的(de)配置可(kě)以較快速和(hé)穩妥的(de)進行(xíng)加固。但是在數據庫安全、應用系統安全上的(de)安全加固以及整改卻成棘手之事。不同的(de)數據庫以及各版本都有(yǒu)漏洞,但由于業務系統的(de)長(cháng)時間不間斷運行(xíng),擔心由于補丁及版本升級造成業務癱瘓,故把這部分的(de)安全問題暫時擱置;另外,由于應用系統開發商(shāng)已經把業務系統交付多年(nián),雖然代碼層面可(kě)能留有(yǒu)一(yī)些漏洞,但是讓項目組重新對代碼進行(xíng)加固,阻力和(hé)壓力都是很大的(de)。由于這些問題的(de)存在,數據庫的(de)大門一(yī)直向黑客敞開着。不是目前的(de)防護體系已經把核心資産保護的(de)水洩不通,而是黑客目前還沒盯上你。

     通過Verison2015年(nián)企業安全威脅報告我們(men)可(kě)以看出,作為(wèi)數據庫的(de)安全威脅越來越高(gāo)。很多企業以前業務中斷已經是很大的(de)安全事故了,但現在随着互聯網的(de)成熟,一(yī)旦客戶或企業的(de)核心敏感信息被曝光,基本上對其發展、品牌以及事件導緻的(de)經濟損失将會是成指數級别的(de)量級遞增。再加之現在的(de)黑客産業鏈發展,已經由當初的(de)個人散兵(bīng)作戰,發展到現在的(de)有(yǒu)組織、有(yǒu)預謀、有(yǒu)利益、有(yǒu)生态鏈的(de)規模。由此可(kě)見,企業、政府所面臨的(de)數據庫威脅已迫在眉睫。

二、傳統數據庫安全防護弊端

我們(men)來分析一(yī)下傳統安全防護的(de)弊端。數據庫防火牆主要是基于網絡層的(de)訪問控制,很難對數據庫協議以及應用層協議作出分析與控制;就算近幾年(nián)發展的(de)如(rú)火如(rú)荼的(de)下一(yī)代防火牆,也很難對數據庫協議進行(xíng)精準解碼并且作出實時阻斷;IPS、IDS主要也是對邊界攻擊進行(xíng)掃描分析,數據庫層面的(de)分析也很難進行(xíng)控制;再分析一(yī)下web應用防火牆,其主要是通過規則庫的(de)方式來進行(xíng)攻擊攔截,而目前很多Oday攻擊、SQL注入攻擊等方式,都可(kě)以繞開WAF直接對數據庫進行(xíng)拖庫。傳統的(de)安全防護手段是無法解決數據庫安全的(de)問題。

三、精準攔截SQL注入攻擊

    接下來看看我們(men)是如(rú)何解決數據庫安全威脅的(de)在數據庫的(de)衆多威脅中,業務系統遭到SQL注入攻擊,導緻數據庫拖庫應該算是最大的(de)威脅之一(yī)。SQL注入攻擊是廣泛存在的(de),其攻擊手段隐蔽、特征不可(kě)窮舉、攻擊手段平民化,這些特點也讓其安全防護者頭痛。隻要人類還在編寫數據庫應用,就存在SQL注入漏洞的(de)威脅。

為(wèi)了數據庫安全,我們(men)就需要了解數據庫遭到攻擊或威脅的(de)途徑有(yǒu)哪些:1、操作者直接進入機(jī)房,通過直連的(de)方式連接并操作數據庫;2、操作者通過網絡途徑使用遠程C/S客戶端連接數據庫并進行(xíng)操作;3、B/S中間件三層架構操作者通過前端網頁連接中間件應用服務器,再通過SQL語句連接數據庫。

    前面兩種通過相應的(de)制度和(hé)控制技術可(kě)以進行(xíng)防護,本次重點闡述的(de)是針對中間件業務系統的(de)防護是整個數據庫安全行(xíng)業的(de)重點關注點

 

 

    正常的(de)業務訪問是使用者按照正常的(de)訪問方式進行(xíng),應用服務器把前端的(de)請求轉換成SQL語句與數據庫進行(xíng)交互。而惡意的(de)業務訪問是惡意攻擊者構建非正常的(de)SQL語句,我們(men)把它定義為(wèi)破壞模态化的(de)行(xíng)為(wèi)。當一(yī)個應用系統開發完交付的(de)那一(yī)刻起,其正常的(de)業務交互邏輯或語法就已經固化下來,我們(men)稱之為(wèi)模态化。而惡意攻擊的(de)方法或手段的(de)結果就是破壞了正常的(de)模态化。

這就需要我們(men)能對正常的(de)業務流還是惡意的(de)攻擊流做(zuò)到精準的(de)分析。要做(zuò)到這點是需要有(yǒu)大量的(de)技術基礎的(de),比如(rú):數據庫是在IT系統的(de)最後端,前端所有(yǒu)的(de)數據都要彙總過來,實際情況下就存在着大數據的(de)并發。網絡中數據包是雜亂無序進行(xíng)傳播的(de),需要通過流會話技術把數據包進行(xíng)重組,使其成為(wèi)有(yǒu)序傳播的(de)會話。若重組技術不成熟,将出現各種丢包、錯組的(de)情況,給數據庫防護帶來災難。另外一(yī)個重點就是協議解碼,各個數據庫都有(yǒu)自(zì)己的(de)私有(yǒu)協議,各家數據庫廠商(shāng)未向國(guó)內(nèi)廠商(shāng)公開。我們(men)的(de)解碼工作就是翻譯,如(rú)果協議解碼不全,就像打戰一(yī)樣我們(men)無法獲取清楚的(de)情報,基于解碼不全的(de)任何阻斷都是空談。

 


那在解決其方法的(de)技術上,我們(men)通過對業務SQL語句的(de)關鍵字、邏輯關系等特征自(zì)動采樣學(xué)習,并結合高(gāo)性能的(de)SQL語義分析計算,構建對應的(de)SQL語法樹,完成模态數據建模。在實際應用環境中,海量的(de)數據主要包括以下三種數據:業務數據、運維數據、非法數據;而數據量占比最大的(de)就是正常的(de)業務數據。我們(men)通過自(zì)動化學(xué)習,把正常的(de)業務模态化數據流分離(lí)出來,把存在惡意攻擊的(de)語句識别出來。在惡意攻擊語句中,SQL注入和(hé)中間件通道(dào)複用兩種攻擊是難中難,同時也是重中重。其難以被發現,所以成為(wèi)防護中重要環節的(de)重點防護對象。

舉個例子(zǐ):惡意攻擊者通過非法途徑獲得中間件webshell,通過其發起的(de)對數據庫的(de)交互,無論是賬号、密碼、IP來源都是相同的(de),不同的(de)地(dì)方可(kě)能是使用後台木馬作為(wèi)連接工具或直接SQL語句來進行(xíng)數據庫攻擊。通過我們(men)自(zì)動的(de)SQL語法建模以及來自(zì)多維度的(de)準入因子(zǐ)識别技術,可(kě)以把惡意攻擊擋在我們(men)的(de)安全大門之外。

 


我們(men)解決問題以及設計的(de)核心思想就是放水抓魚,我們(men)通過識别海量正常的(de)業務流使其放行(xíng),抓取我們(men)所關注的(de)惡意攻擊語句。這不同于傳統的(de)規則庫的(de)方式,由于采用SQL語法樹的(de)建模方式,得以對0DAY、SQL注入等攻擊進行(xíng)防護,保護數據庫不被拖庫。



Copyright © 2019 All Rights Reserved Designed
杭州帕拉迪網絡科(kē)技有(yǒu)限公司