數(shù)據(jù)安全治理關(guān)鍵技術(shù)之?dāng)?shù)據(jù)庫(kù)脫敏技術(shù)詳解
數(shù)據(jù)安全治理之API監(jiān)測(cè)系統(tǒng) ,解決API接口安全問題【安華金和】
新一代數(shù)據(jù)庫(kù)脫敏技術(shù),為敏感數(shù)據(jù)建立保護(hù)盾!
數(shù)據(jù)庫(kù)脫敏系統(tǒng)與金融行業(yè)案例解讀
數(shù)據(jù)安全治理建設(shè)思路的著力點(diǎn)——數(shù)據(jù)安全咨詢服務(wù)【安華金和】
數(shù)據(jù)庫(kù)防火墻功能有哪些?-數(shù)據(jù)安全-安華金和
數(shù)據(jù)安全關(guān)鍵技術(shù)之?dāng)?shù)據(jù)庫(kù)脫敏技術(shù)詳解【安華金和】
中國(guó)數(shù)據(jù)安全治理落地指導(dǎo)書籍《數(shù)據(jù)安全治理白皮書5.0》正式發(fā)布(附下載)
數(shù)據(jù)庫(kù)的安全是長(zhǎng)期存在的問題。在目前大量的數(shù)據(jù)泄露事件以及漏洞面前,大家看到的大都是SQl注入、越權(quán)操作、緩沖區(qū)溢出等這些具體漏洞。往往卻 忽視了造成這些問題的前提,黑客想要入侵?jǐn)?shù)據(jù)庫(kù)一定會(huì)嘗試獲取數(shù)據(jù)庫(kù)ip、端口和數(shù)據(jù)庫(kù)版本號(hào)。沒有ip和端口黑客對(duì)數(shù)據(jù)庫(kù)的攻擊將無從下手,也就無法對(duì) 數(shù)據(jù)庫(kù)發(fā)動(dòng)真正有效的進(jìn)攻。所以防止數(shù)據(jù)庫(kù)ip 、端口和版本號(hào)的泄露是防止黑客入侵?jǐn)?shù)據(jù)庫(kù)的第一道防線。
要想防止黑客盜取數(shù)據(jù)庫(kù)版本信息。首先就要弄清黑客是從哪些渠道獲取數(shù)據(jù)庫(kù)版本信息的,然后才能提出切實(shí)有效的防御方案。本文僅針對(duì)Oracle講 解黑客獲取Oracle數(shù)據(jù)庫(kù)版本號(hào)的方式以及預(yù)防措施。除去社會(huì)工程學(xué)從技術(shù)角度出發(fā)TNS(ORTACLE的網(wǎng)絡(luò)核心組件)是泄露數(shù)據(jù)庫(kù)版本號(hào)的一個(gè) 重要功能。
安華金和數(shù)據(jù)庫(kù)攻防實(shí)驗(yàn)室結(jié)合多年的經(jīng)驗(yàn)與實(shí)踐總結(jié)出黑客通過TNS獲取ORACLE數(shù)據(jù)庫(kù)版本信息主要有以下三種方式:
1. 身份驗(yàn)證前部分函數(shù)泄露數(shù)據(jù)庫(kù)版本
在TNS的通訊包中存在大量的函數(shù)調(diào)用。這些函數(shù)調(diào)用中有一部分函數(shù)會(huì)在進(jìn)行身份驗(yàn)證之前被運(yùn)行,其中一部分函數(shù)會(huì)導(dǎo)致數(shù)據(jù)庫(kù)版本信息外泄。從而使得只要黑客知道數(shù)據(jù)庫(kù)ip和端口以及實(shí)例名就可以成功騙去數(shù)據(jù)庫(kù)版本信息。其中最有代表的函數(shù)是0x3B TTC函數(shù)。
客戶端接收到服務(wù)器發(fā)送的接收包,服務(wù)器可能會(huì)選擇商議附加的網(wǎng)絡(luò)服務(wù),約定客戶端和服務(wù)器采用的身份驗(yàn)證、加密、數(shù)據(jù)完整性和管理等。在ANO商議頭(下面包中的0XDEADBEEF)后面的3個(gè)字節(jié)中可以找到服務(wù)器的數(shù)據(jù)庫(kù)版本信息。
圖中紅線所指地方0x0a200100就是數(shù)據(jù)庫(kù)版本信息,只觀可以判斷版本為10.2.0.1.0(a在16進(jìn)制里是10)。
2.TNS報(bào)錯(cuò)信息泄露數(shù)據(jù)庫(kù)版本
如果TNS接到一個(gè)它無法識(shí)別的TNS命令(是格式正確,但內(nèi)容不對(duì)),就會(huì)會(huì)送一個(gè)錯(cuò)誤,在這個(gè)錯(cuò)誤中包含VSNNUM,它保存了一個(gè)十進(jìn)制數(shù)
字,把該數(shù)字轉(zhuǎn)成十六進(jìn)制會(huì)得到數(shù)據(jù)庫(kù)版本號(hào)。這種方式比上一種方式需求的信息更少,只需要數(shù)據(jù)庫(kù)的IP和端口就可以進(jìn)行數(shù)據(jù)庫(kù)版本號(hào)的騙取。
例如:C:\Documents and Settings\lsc>sqlplus scott/tig@192.168.0.60:1521/or(實(shí)例名、密碼全不對(duì),但格式正確。)
服務(wù)器會(huì)回答一個(gè)錯(cuò)誤應(yīng)答包如下圖所示:
箭頭所指的方向 VS NNUM=169869568 是ORACLE客戶端的版本號(hào)。把這組數(shù)轉(zhuǎn)成16進(jìn)制變成 A200100
3. TNS命令不合理使用泄露數(shù)據(jù)版本
第三種也是最危險(xiǎn)的一種。只需要有IP就能獲取端口號(hào)、數(shù)據(jù)庫(kù)版本號(hào)甚至操作系統(tǒng)版本號(hào)。危險(xiǎn)的來源是本來lsnrctl的命令應(yīng)該只在本地執(zhí)行, 但oracle為了照顧操作的靈活性,某些版本支持lsnrctl 遠(yuǎn)程使用。僅通過IP信息可以獲取目標(biāo)數(shù)據(jù)庫(kù)所有外圍敏感信息。例如我們ping 192.168.0.60發(fā)現(xiàn)可以ping 通。直接設(shè)置監(jiān)聽目標(biāo)ip (set current_listener 192.168.0.60)執(zhí)行命令version獲取目標(biāo)IP數(shù)據(jù)庫(kù)的端口、數(shù)據(jù)庫(kù)版本以及操作系統(tǒng)版本。
對(duì)比3種獲取數(shù)據(jù)庫(kù)版本信息的方法,第三種方法要求最低,收益最高,但缺點(diǎn)是這種方式只支持到Oracle10R2版本。而方法一和方法二,則是任何一個(gè)版本的oracle數(shù)據(jù)庫(kù)都存在安全隱患。
知道了黑客采集數(shù)據(jù)庫(kù)版本的辦法,我們就可以針對(duì)性的進(jìn)行防御。安華金和數(shù)據(jù)庫(kù)攻防實(shí)驗(yàn)室根據(jù)多年經(jīng)驗(yàn)以及攻防測(cè)試總結(jié)出以下4點(diǎn)有助于加固TNS的解決法辦法。
1.設(shè)置TNS Listener 口令
默認(rèn)情況下,TNS Listener 沒有設(shè)置口令,任何可以連接到系統(tǒng)的人都可以管理它。設(shè)置Listener口令可以防止對(duì)Listener的無授權(quán)管理。為了設(shè)置口令,編輯 listener.ora 加入PASSWORDS_LISTENERNAME.按步操作,直到完成整個(gè)加口令過程。
2.開啟 Admin Restrictions
通過開啟Admin Restrictions(管理限制)可防止對(duì)Listener的未授權(quán)管理。隨著Admin Restrictions的開啟,一些命令將不能被遠(yuǎn)程調(diào)用。及時(shí)提供Listener口令也不行。為開啟Admin Restrictions,將下面的代碼行添加到Listener.ora文件中。
ADMIN_RESTRICTIONS_listencername =ON
3.開啟TCP有效節(jié)點(diǎn)檢查
TCP有效節(jié)點(diǎn)檢驗(yàn)可以用來允許某些主機(jī)連接到數(shù)據(jù)庫(kù)而阻止其他服務(wù)器鏈接。為開啟TCP有效節(jié)點(diǎn)檢驗(yàn),按如下方式編譯代碼:
TCP.VALIDNODE_CHECKING = YES
TCP.EXCLUDED_NODES={List of ip addresses separated by a comma}
或者
TCP.INVITED_NODES={List of ip addresses separated by a comma}
4.網(wǎng)絡(luò)通信量加密
利用Oracle Net Manager實(shí)現(xiàn)對(duì)客戶機(jī)和數(shù)據(jù)庫(kù)服務(wù)器之間的通訊進(jìn)行加密。注意此處的加密指的是協(xié)議加密,而并非數(shù)據(jù)加密。
根據(jù)安華金和數(shù)據(jù)庫(kù)攻防實(shí)驗(yàn)室的實(shí)踐以上四點(diǎn)能夠有效的防止黑客獲取數(shù)據(jù)庫(kù)版本信息。從而使黑客無法對(duì)數(shù)據(jù)庫(kù)進(jìn)行針對(duì)性的攻擊。通過加固TNS將避免一些設(shè)計(jì)帶來的問題,有利于保護(hù)數(shù)據(jù)庫(kù)版本信息不被泄露 ,從而保障數(shù)據(jù)庫(kù)安全。
試用申請(qǐng)
在線咨詢
咨詢電話
TOP