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

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

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

 

全文如下:

如何終結數據庫SQL注入攻擊

 

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

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

一、數據庫安全威脅分析

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

我們從兩(liǎng)個角度來分析:

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

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

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

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

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

三、精準攔截SQL注入攻擊

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

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

    前面(miàn)兩(liǎng)種(zhǒng)通過(guò)相應的制度和控制技術可以進(jìn)行防護,本次重點闡述的是針對(duì)中間件業務系統的防護是整個數據庫安全行業的重點關注點

 

 

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

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

 


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

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

 


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



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