隨著網(wǎng)絡(luò)信息化的發(fā)展,企業(yè)組織對網(wǎng)絡(luò)安全的關(guān)注,由物理安全、邊界安全和系統(tǒng)安全,已逐漸將注意力轉(zhuǎn)移到業(yè)務(wù)安全和數(shù)據(jù)安全,對于業(yè)務(wù)數(shù)據(jù)的安全防護(hù)成本已占到企業(yè)組織IT預(yù)算成本的一半以上。特別在新時代新形勢新業(yè)態(tài)的互聯(lián)網(wǎng)安全中,信息安全部門已逐步成為企業(yè)組織的一級部門,企業(yè)數(shù)據(jù)已經(jīng)成為組織核心資產(chǎn),對于數(shù)據(jù)的保護(hù)已寫入企業(yè)的基本戰(zhàn)略。

企業(yè)對數(shù)據(jù)資產(chǎn)的安全防護(hù)存在多項(xiàng)工作,數(shù)據(jù)備份安全、數(shù)據(jù)存儲安全、數(shù)據(jù)脫敏及加密……以可用性為主的業(yè)務(wù)安全觀點(diǎn)人群中,大多還沒有完全理解數(shù)據(jù)庫安全的重要性,而據(jù)前瞻性統(tǒng)計(jì)發(fā)現(xiàn),越來越多的企業(yè)信息安全負(fù)責(zé)人開始將數(shù)據(jù)庫安全細(xì)分領(lǐng)域列入自己的備忘清單。業(yè)務(wù)連續(xù)性為企業(yè)組織的根本核心,而業(yè)務(wù)安全和數(shù)據(jù)安全是企業(yè)長久發(fā)展的安全保障,在以企業(yè)數(shù)據(jù)資產(chǎn)為核心競爭力的現(xiàn)下,數(shù)據(jù)庫作為企業(yè)組織“核心競爭力”–數(shù)據(jù)資產(chǎn)–的容器,承載了企業(yè)核心數(shù)據(jù),成為業(yè)務(wù)運(yùn)行和數(shù)據(jù)保護(hù)的基礎(chǔ)設(shè)施,數(shù)據(jù)庫的安全防御問題已躍至CTO/CIO的工作內(nèi)容象限的榜首。
一、數(shù)據(jù)庫面臨哪些安全威脅
企業(yè)組織的數(shù)據(jù)庫體系,不僅僅是數(shù)據(jù)庫軟件平臺本身,不會流動的數(shù)據(jù)沒有意義,當(dāng)我們考慮數(shù)據(jù)庫安全的時候,顯然我們需要合理評估數(shù)據(jù)庫的受攻擊面大小,數(shù)據(jù)庫訪問涉及的認(rèn)證、授權(quán)和審計(jì)問題,由于開發(fā)人員疏忽帶來的軟件漏洞和運(yùn)維人員的管理不善等。各種各樣的風(fēng)險都可能產(chǎn)生并帶來可怕的后果,筆者實(shí)驗(yàn)室通過收集各漏洞平臺及企業(yè)安全運(yùn)營者的反饋數(shù)據(jù)庫安全信息,參考OWASP TOP 10制定了數(shù)據(jù)庫應(yīng)用防御的十大數(shù)據(jù)庫風(fēng)險威脅列表。
十大數(shù)據(jù)庫安全威脅(DB Vuln Top 10)
1. 權(quán)限濫用
2. 特權(quán)提升
3. 數(shù)據(jù)庫軟件漏洞
4. SQL注入
5. 審計(jì)記錄缺失
6. 拒絕服務(wù)
7. 通信協(xié)議漏洞
8. 身份驗(yàn)證不足
9. 敏感數(shù)據(jù)泄露
10. 安全配置不規(guī)范

二、數(shù)據(jù)庫安全風(fēng)險是否會發(fā)生
答案就是墨菲定律,它闡述了一個事實(shí):如果事情有變糟糕(發(fā)生)的可能,不管這種可能性有多小,它總會發(fā)生。
墨菲(Edward A. Murphy)是美國愛德華茲空軍基地的上尉工程師。1949年,他和他的上司斯塔普少校,在一次火箭減速超重試驗(yàn)中,因儀器失靈發(fā)生了事故。墨菲發(fā)現(xiàn),測量儀表被一個技術(shù)人員裝反了。由此,他得出的教訓(xùn)是:如果做某項(xiàng)工作有多種方法,而其中有一種方法將導(dǎo)致事故,那么一定有人會按這種方法去做。在事后的一次記者招待會上,斯塔普將其稱為“墨菲法則”,并以極為簡潔的方式作了重新表述:凡事可能出岔子,就一定會出岔子。墨菲定律的適用范圍非常廣泛,它揭示了一種獨(dú)特的社會及自然現(xiàn)象。它的極端表述是:如果壞事有可能發(fā)生,不管這種可能性有多小,它總會發(fā)生,并造成最大可能的破壞。
此后在技術(shù)界也不脛而走,并不是我要將其強(qiáng)加在數(shù)據(jù)庫安全領(lǐng)域,因?yàn)樗莱隽艘粋法則,即安全風(fēng)險必將由可能性變?yōu)橥话l(fā)性的事實(shí)。
三、以墨菲定律分析數(shù)據(jù)庫安全
從墨菲定律來觀察數(shù)據(jù)庫入侵防御,我們要持以積極的態(tài)度,既然數(shù)據(jù)庫安全風(fēng)險一定會發(fā)生,那我們一定要順應(yīng)必然性,積極應(yīng)對,做好事件應(yīng)急和處置。在數(shù)據(jù)庫安全防御方面來說,要科學(xué)合理規(guī)劃全面積極的應(yīng)對方案,必須做到事前主動防御、事中及時阻斷、事后完整審計(jì)。
根據(jù)墨菲定律可總結(jié)對數(shù)據(jù)庫入侵防御的啟示:
1. 不能忽視數(shù)據(jù)庫風(fēng)險小概率事件
雖然數(shù)據(jù)庫安全事件不斷發(fā)生,但仍有一定數(shù)量的安全負(fù)責(zé)人認(rèn)為,企業(yè)安全防護(hù)已經(jīng)從物理層、網(wǎng)絡(luò)層、計(jì)算主機(jī)層、應(yīng)用層等進(jìn)行了多重防御,網(wǎng)絡(luò)邊界嚴(yán)格準(zhǔn)入控制,外部威脅情報和內(nèi)部態(tài)勢感知系統(tǒng)能完美配合,業(yè)務(wù)數(shù)據(jù)早已經(jīng)過層層保護(hù),安全威脅不可能被利用發(fā)生數(shù)據(jù)庫安全事件。
由于小概率事件在一次實(shí)驗(yàn)或活動中發(fā)生的可能性很小,因此,就給人一種錯誤的理解,即在一次活動中不會發(fā)生。與事實(shí)相反,正是由于這種錯覺,加大了事件發(fā)生的可能性,其結(jié)果是事故可能頻繁發(fā)生。雖然事件原因是復(fù)雜的,但這卻說明小概率事件也會常發(fā)生的客觀事實(shí)。
墨菲定律正是從強(qiáng)調(diào)小概率事件的重要性的角度啟示我們,雖然數(shù)據(jù)庫安全風(fēng)險事件發(fā)生的概率很小,但在入侵防御體系活動中,仍可能發(fā)生且必將發(fā)生,因此不能忽視。
2. 在數(shù)據(jù)庫安全中積極應(yīng)用墨菲定律
1)強(qiáng)化數(shù)據(jù)庫入侵防御的安全認(rèn)知
數(shù)據(jù)庫已經(jīng)成為企業(yè)安全防護(hù)的核心,預(yù)防數(shù)據(jù)庫不安全狀態(tài)的意外性事件發(fā)生,認(rèn)識數(shù)據(jù)庫安全威脅事件可能發(fā)生的必然性,必須要采取事前預(yù)防措施,從網(wǎng)絡(luò)層、應(yīng)用層和數(shù)據(jù)庫層,涵蓋業(yè)務(wù)系統(tǒng)(中間件)和運(yùn)維DBA,全面管控,提前謀劃。既然數(shù)據(jù)庫入侵事件無可避免,那一定要保證完整原始的數(shù)據(jù)庫訪問記錄,以供審計(jì)取證留存證據(jù),做到有據(jù)可查。
2)規(guī)范安全管理,正確認(rèn)識數(shù)據(jù)庫安全控制
安全管理的目標(biāo)是杜絕事故的發(fā)生,而事故是一種不經(jīng)常發(fā)生的意外事件,這些意外事件發(fā)生的概率一般比較小,由于這些小概率事件在大多數(shù)情況下不發(fā)生,所以,往往管理疏忽恰恰是事故發(fā)生的主觀原因。墨菲定律告誡我們,數(shù)據(jù)庫及業(yè)務(wù)數(shù)據(jù)的安全控制不能疏忽。要想保證數(shù)據(jù)庫安全,必須從基礎(chǔ)做起,對數(shù)據(jù)庫的基本安全配置,要形成統(tǒng)一的安全基線,對數(shù)據(jù)庫的訪問行為要做到 “白名單化”,采取積極的預(yù)防方法和措施,消除意外的事件發(fā)生。
3)轉(zhuǎn)變觀念,數(shù)據(jù)庫入侵防御變被動為主動
傳統(tǒng)安全管理是被動的安全管理,是在安全管理活動中采取安全措施或事故發(fā)生后,通過總結(jié)教訓(xùn),進(jìn)行“亡羊補(bǔ)牢”式的管理。隨著IT網(wǎng)絡(luò)技術(shù)迅速發(fā)展,安全攻擊方式不斷變化,新的安全威脅不斷涌現(xiàn),發(fā)生數(shù)據(jù)庫安全事件的誘因增多,而傳統(tǒng)的網(wǎng)絡(luò)型入侵防御系統(tǒng)模式已難于應(yīng)付當(dāng)前對數(shù)據(jù)庫安全防御的需求。為此,不僅要重視已有的安全威脅,還要主動地去識別新的風(fēng)險,主動學(xué)習(xí),模態(tài)分析,及時而準(zhǔn)確的阻斷風(fēng)險活動,變被動為主動,牢牢掌握數(shù)據(jù)庫入侵防御的主動權(quán)。
四、正確認(rèn)識數(shù)據(jù)庫入侵防御系統(tǒng)
1. 數(shù)據(jù)庫入侵防御系統(tǒng)串聯(lián)與并聯(lián)之爭
數(shù)據(jù)庫入侵防御系統(tǒng),可以通過串聯(lián)或旁路部署的方式,對業(yè)務(wù)系統(tǒng)與數(shù)據(jù)庫之間的訪問行為進(jìn)行精確識別、精準(zhǔn)阻斷。不僅如此,合理使用還能具有事前主動防御和事后審計(jì)追溯的能力。
不過,部分用戶認(rèn)為旁路的阻斷行為效果不佳,而串聯(lián)進(jìn)網(wǎng)絡(luò)實(shí)現(xiàn)實(shí)時阻斷,又擔(dān)心影響業(yè)務(wù)訪問時。
串聯(lián)模式部署在業(yè)務(wù)系統(tǒng)與數(shù)據(jù)庫中間,通過流量協(xié)議解碼對所有SQL語句進(jìn)行語法解析,審核基于TCP/IP五元組(來往地址、端口與協(xié)議)、準(zhǔn)入控制因素和數(shù)據(jù)庫操作行為的安全策略,結(jié)合自主動態(tài)建模學(xué)習(xí)的白名單規(guī)則,能夠準(zhǔn)確識別惡意數(shù)據(jù)庫指令,及時阻斷會話或準(zhǔn)確攔截惡意操作語句。串聯(lián)模式部署最大風(fēng)險在于不能出現(xiàn)誤判,否則影響正常語句通過,此必需要系統(tǒng)的SQL語句解析能力足夠精確,并且能夠建立非常完善的行為模型,在發(fā)現(xiàn)危險語句時,能夠在不中斷會話的情況下,精準(zhǔn)攔截風(fēng)險語句,且不影響正常訪問請求。因此,若想數(shù)據(jù)庫入侵防御系統(tǒng)發(fā)揮最佳效果,必須串聯(lián)在數(shù)據(jù)庫的前端,可以物理串聯(lián)(透明橋接)或邏輯串聯(lián)(反向代理)。
旁路部署模式,目前常用方式是通過發(fā)送RESET指令進(jìn)行強(qiáng)行會話重置,此部署方式在較低流量情況下效果最佳。如在業(yè)務(wù)系統(tǒng)大并發(fā)情況下,每秒鐘SQL交易量萬條以上,這種旁路識別阻斷有可能出現(xiàn)無法阻斷情況,且會出現(xiàn)延遲。有可能因?yàn)檠舆t,阻斷請求發(fā)送在SQL語句執(zhí)行之后,那么反倒影響了正常業(yè)務(wù)請求。所以在高并發(fā)大流量場景下,如果要實(shí)現(xiàn)實(shí)時精準(zhǔn)阻斷攔截效果,就要求數(shù)據(jù)庫入侵防御系統(tǒng)具有超高端的處理性能。
至于串聯(lián)部署還是旁路部署更為合適,需要匹配相應(yīng)的業(yè)務(wù)系統(tǒng)場景。數(shù)據(jù)庫入侵防御系統(tǒng)最終奧義是它的防御效果,即對風(fēng)險語句的精準(zhǔn)阻斷能力,從墨菲定律對比分析,旁路部署有阻斷請求的可能性則必然會發(fā)生。而串聯(lián)存在影響業(yè)務(wù)訪問的擔(dān)憂,那它始終都會發(fā)生,而正視這種風(fēng)險,讓我們對數(shù)據(jù)庫入侵防御系統(tǒng)的精準(zhǔn)阻斷能力有更高要求,盡可能將這種風(fēng)險降到最低。
2. 數(shù)據(jù)庫入侵防御系統(tǒng)串聯(lián)實(shí)時同步阻斷與異步阻斷之爭
相對數(shù)據(jù)庫入侵防御系統(tǒng)的串并聯(lián)之爭來講,串聯(lián)實(shí)現(xiàn)同步阻斷與異步阻斷更為細(xì)分了,市面上存在兩類串聯(lián)的數(shù)據(jù)庫入侵防御系統(tǒng);
一類就是以IBM Guardium為代表的本地代理引擎在線監(jiān)聽異步阻斷,當(dāng)有危險語句通過代理到DBMS時,代理會將內(nèi)容信息副本發(fā)至分析中心,由中心判斷是否違法或觸犯入侵防御規(guī)則,進(jìn)而給代理程序發(fā)出阻斷指令,很顯然這種部署的好處是不局限與數(shù)據(jù)庫的網(wǎng)絡(luò)環(huán)境,ip可達(dá)即可,而壞處就更明顯了,那就是agent與Center通信期間,sql訪問是放行的,也就是如果在前面幾個包就出現(xiàn)了致命攻擊語句,那么這次攻擊就會被有效執(zhí)行,即防御體系被有效繞過。
另一類就是以國內(nèi)廠商漢領(lǐng)信息為代表的串聯(lián)實(shí)時同步阻斷,當(dāng)有危險語句通過串聯(lián)數(shù)據(jù)庫入侵防御系統(tǒng)時,入侵防御系統(tǒng)若監(jiān)測到風(fēng)險語句,立馬阻斷;無風(fēng)險的語句放行,這種模式及立馬分析立馬判斷。也很顯然,這種部署模式的好處是小概率事件或預(yù)謀已久的直接攻擊語句也會被實(shí)時阻斷;而壞處也非常明顯,那就是處理效率,如果數(shù)據(jù)庫入侵防御系統(tǒng)處理效率不行,那就會出現(xiàn)排隊(duì)等待的狀態(tài),業(yè)務(wù)的連續(xù)性就造成了影響。關(guān)鍵就是要把握這個平衡點(diǎn),至少要達(dá)到無感知,這個點(diǎn)的取舍就取決于各個數(shù)據(jù)庫安全廠商處理sql語句的算法能力了。
結(jié)束語:
墨菲定律并不復(fù)雜,將它應(yīng)用到數(shù)據(jù)庫入侵防御領(lǐng)域,揭示了在數(shù)據(jù)庫安全中不能忽視的小概率風(fēng)險事件,要正視墨菲定律轉(zhuǎn)為積極響應(yīng),應(yīng)充分理解墨菲定律,抵制 “數(shù)據(jù)庫層層保護(hù)不存在風(fēng)險”、“別人都是這樣做”、“數(shù)據(jù)庫入侵防御系統(tǒng)并聯(lián)不會誤阻斷” 等錯誤認(rèn)識,牢記只要存在風(fēng)險隱患,就有事件可能,事件遲早會發(fā)生,我們應(yīng)當(dāng)杜絕習(xí)慣性認(rèn)知,積極主動應(yīng)對數(shù)據(jù)庫安全風(fēng)險。