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

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

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

 

全文如(rú)下:

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

 

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

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

一、數據庫安全威脅分析

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

我們從兩個角度來分析:

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

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

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

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

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

三、精準攔截SQL注入攻擊

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

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

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

 

 

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

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

 


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

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

 


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



Copyright © 2019 All Rights Reserved Designed
杭州斯凱網絡科技有限公司