久久久噜噜噜久久中文字幕色伊伊,av免费高清网址在线播放,黑逼白逼一样操,在线岛国片免费无码AV

?
內(nèi)容中心
按關(guān)鍵字查找
Oracle密碼存儲和驗證過程剖析及防御建議
作者:思成 發(fā)布時間:2016-06-29

Oracle作為目前市場占有率第一的數(shù)據(jù)庫產(chǎn)品,相比其他數(shù)據(jù)庫產(chǎn)品,自身存在的漏洞數(shù)量也是同類產(chǎn)品之中最多的,而且還在增長。由此,我們可以預(yù)見,數(shù)據(jù)庫安全問題也將長期存在。
 談到數(shù)據(jù)庫安全問題,備受用戶關(guān)注的有數(shù)據(jù)庫密碼安全,專業(yè)的說法是數(shù)據(jù)庫身份驗證過程安全。數(shù)據(jù)庫密碼是保護(hù)庫內(nèi)核心數(shù)據(jù)的關(guān)鍵,一旦數(shù)據(jù)庫密碼被竊取,會導(dǎo)致攻擊者對數(shù)據(jù)庫乃至整個網(wǎng)絡(luò)更深入的入侵。

攻擊者針對數(shù)據(jù)庫的身份驗證過程主要采取兩種策略:一種是繞過數(shù)據(jù)庫身份驗證過程,一種是是攻破數(shù)據(jù)庫身份驗證過程。本文主要針對后者主動攻破方式 進(jìn)行探討。安華金和數(shù)據(jù)庫攻防實驗室結(jié)合Oracle數(shù)據(jù)庫的特點論述攻擊Oracle身份驗證過程的辦法,以及針對這些攻擊行為提出防御建議。

Oracle數(shù)據(jù)庫身份驗證繞過手段

利用Oracle的默認(rèn)密碼和Oracle密碼特點破解密碼

獲取Oracle密碼的暴力破解方法,除去通用的排列組、字典破解等方式外,Oracle 自身存在一些默認(rèn)用戶名密碼,例如智能代理賬戶DBSNMP/DBSNMP。這是Oracle 中最可能被忘記修改的默認(rèn)用戶名和密碼。造成這一現(xiàn)象的原因是智能代理的密碼需要在兩個不同的地方進(jìn)行修改,首先要在數(shù)據(jù)庫中對DBSNMP用戶密碼進(jìn)行 修改,其次需要在snmp_rw.ora這個文件中再次進(jìn)行密碼修改。

還有Oracle登陸包中會帶有數(shù)據(jù)庫密碼位數(shù)的信息,這是由于數(shù)據(jù)庫服務(wù)器和客戶端之間加密協(xié)議造成的。在數(shù)據(jù)庫的登錄信息包中存在一個關(guān)鍵字段 AUTH_PASSWORD,這個字段是客戶端對密碼進(jìn)行加密后傳出的,這個參數(shù)的長度和原密碼的長度密切相關(guān)。我們以O(shè)racle 11g為例這個AUTH_PASSWORD的長度是96位預(yù)示著密碼明文的長度應(yīng)該是16-30位之間(Oracle密碼長度最大不超過30位)。

下圖中AUTH_PASSWORD的長度是64位預(yù)示著密碼明文的長度應(yīng)該是1-15位之間。

這一特點不是11g版本獨有的,oracle所有版本都有類似的特點。通過包中AUTH_PASSWORD位數(shù)確定密碼的位數(shù),此舉將有效的降低暴力破解的成本。

從Oracle本地文件獲取密碼

雖然可以進(jìn)行一定的優(yōu)化,但暴力破解本質(zhì)還是靠大量的訪問鏈接進(jìn)行測試。除了暴力破解外還存在著更為簡便的獲得密碼的方法。假設(shè)已經(jīng)可以訪問數(shù)據(jù)庫 所在主機的文件系統(tǒng),那么可以通過Oracle的一些本該刪除的文件獲得數(shù)據(jù)庫密碼信息。例如在數(shù)據(jù)庫四大用戶中SYSMAN的密碼會以密文的形式被寫入 到文件中,但是同時也會把密鑰寫入到同一個文檔中。例如C:\app\lsc\product\11.2.0\dbhome_1\sysman \config下的emoms.properties 中存儲了 SYSMAN的密碼和密鑰。打開emoms.propeties

圖中畫紅線的位置:

oracle.sysman.eml.mntr.emdRepPwd記錄的是sysman的密碼,oracle.sysman.eml.mntr.emdRepPwdSeed記錄的是對應(yīng)密碼的密鑰。

同時得到了密文與密鑰用DES解密器可以獲得密碼原文

如果數(shù)據(jù)庫管理中多個賬號采用統(tǒng)一密碼,就會導(dǎo)致直接外泄SYS/SYSTEM密碼。
 在Oracle主目錄的cfgtoologs文件夾中還存在一些會暴露密碼信息的文件。

利用Oracle加密原理破解密碼

除了以上兩種獲取密碼的方法外還有更加直接的辦法,這種方法就是通過理解Oracle的密鑰傳輸過程破解Oracle通訊協(xié)議中的密文。(下面以O(shè)racle 9i為例說明這一方法,10、11原理類似,只是更加復(fù)雜)

首先拿一個Oracle登錄包來說明整個過程。首先客戶端給服務(wù)器發(fā)送SERVICE_NAME。

這一發(fā)送過程如果沒有向Listener登記該服務(wù),那么Listener會生成一個錯誤,則終止所有過程。如果成功則進(jìn)入身份驗證過程,首先客戶 端向服務(wù)器發(fā)送一個含有用戶名的數(shù)據(jù)包,服務(wù)器判斷用戶名存在后從數(shù)據(jù)庫中提取出該用戶名的散列值,服務(wù)器使用這個散列值生成一個密碼。

這個密碼的生成過程是服務(wù)器調(diào)用orageneric庫中的函數(shù)slgdt()過程。slgdt()函數(shù)是用來重新獲得系統(tǒng)時間的,將分鐘、小時、 秒、毫秒結(jié)合起來形成一個用來加密的8個字節(jié)的“文本”。文本的前四位是由分鐘和小時與用戶名對應(yīng)的散列的后四位進(jìn)行異或運算得出,文本的后四位是由秒和 毫秒與用戶名對應(yīng)的散列的前四位進(jìn)行異或運算得出。

加密過程通過調(diào)用oracommon庫中的函數(shù)kzsrenc(),使用該密鑰對文本進(jìn)行加密。通過使用函數(shù)lncgks(),函數(shù) kzsrenc()基本完成了DES密鑰的生成,最后利用函數(shù)incecb()輸出ecb模式下的DES密文,這里生成的密文就是密碼。接著再次調(diào)用函數(shù) kzsrenc(),利用用戶的密碼散列值對該密碼加密,這樣調(diào)用的結(jié)果就是AUTH_SESSKEY然后發(fā)送給客戶端。

收到AUTH_SESSKEY后,客戶端將其重新解密并重新獲得該密碼。用戶利用oracore庫中的函數(shù)lncupw()創(chuàng)建自己密碼散列值的一 個副本,然后通過調(diào)用函數(shù)kzsrdec(),將該散列值用作對AUTH_SESSKEY進(jìn)行解密的密鑰。這一過程順利完成后就會生成密碼。

這個密碼通過調(diào)用函數(shù)kzsrenp()作為密鑰對其中的明文、大小寫敏感字符進(jìn)行加密。kzsrenp()函數(shù)完成了DES密鑰的生成以及在CBC模式下用戶密碼的加密。接下來,密文以AUTH_PASSWORD的形式被送回服務(wù)器。

服務(wù)器調(diào)用oracommon庫中的函數(shù)kzsrdep(),利用密鑰密碼對AUTH_PASSWORD進(jìn)行解密,這個時候服務(wù)器就擁有了明文密碼的一個副本,然后服務(wù)器創(chuàng)建密碼的散列值并將它與數(shù)據(jù)庫中的散列值進(jìn)行比較,如果匹配成功,那么用戶就完成了整個身份驗證。

清楚這里面的原理就可以按照Oracle的思路在網(wǎng)絡(luò)上嗅探到AUTH_SESSKEY和AUTH_PASSWORD,然后利用暴力破解破解出散列值,最終利用散列值解密AUTH_SESSKEY獲得密碼。

知道了攻擊者獲取數(shù)據(jù)庫密碼的辦法,就可以有針對性的對其進(jìn)行防御。從攻擊方法上看,第一種方法主要是依賴默認(rèn)口令或弱口令;第二種方法是配置文件泄漏;第三種方法是通過破解散列值獲取。

根據(jù)安華金和攻防實驗室專家多年經(jīng)驗以下3點有助于加固Oracle密碼安全,解決攻擊者對Oracle驗證繞過的威脅。

Oracle身份認(rèn)證加固建議

定期修改賬戶的密碼

在數(shù)據(jù)庫創(chuàng)建之后會存在一些默認(rèn)用戶,例如文中提到的智能代理賬號DBSNMP。要定期對這些使用的賬號進(jìn)行修改密碼。密鑰要遵循Oracle的建議,并且理論上密碼越復(fù)雜越有利于安全。

鎖死一些不需要的用戶,對系統(tǒng)文件進(jìn)行加鎖處理

例如文中的文件系統(tǒng)中暴露的是SYSMAN的密碼,這個賬號是用于管理EM的賬號,如果你的環(huán)境不需要EM,請鎖死這個賬號,并對一些可能泄露密碼的配置文件進(jìn)行文件加鎖,防止本地文件系統(tǒng)被入侵牽連到數(shù)據(jù)庫。

提高數(shù)據(jù)庫版本,使用非定值的散列值

10g之前的數(shù)據(jù)庫由于固定用戶名對應(yīng)的散列值是固定的僅依靠時間函數(shù)做調(diào)整,這就給攻擊者對數(shù)據(jù)庫散列值做暴力破解帶來了可能。建議升級數(shù)據(jù)庫到 11g版本,11g開始引入了AUTH_VFR_DATA這個隨機值,并對AUTH_SESSKEY的生成做了更復(fù)雜的調(diào)整有利于防止密碼通過泄露的傳輸 信息被破譯。

相信只要做到以上三點,就可以有效的防止攻擊者獲取數(shù)據(jù)庫密碼。


?
波多野结衣在线成人精品| 操逼电影免费观看完整版| 欧美精品在线播放第一页| 波多野结衣vs黑人无码| 两个奶头被吃高潮视频| 精品人妻一区二区三区中文| 日韩人妻久久久午夜精品| 妺妺窝人体色777777| 日本xxxxx黄区免费| 黄片成人影院大鸡巴自慰| 东京热熟女aⅴ久久久久| 亚洲精品国产精品乱码视色 | 铜铜铜铜铜铜铜铜好大好深色| 用我要灬我要灬我要灬造| 又长又粗插淫妇黄色视频| 亚洲国产精品电影人久久| 丰满饥渴老女人hd| 孕妇变态av无码专区线| 国产高清国产精品国产专区| 国产精品国产欧美综合一区| 黑森林国产在线导航一区| 在线黄色网站不卡摸奶咬| 国产精品片在线免费观看| 少妇系列之白嫩人妻| 91久久精品国产免费一区| 大鸡巴操死AV| 久久人妻公开中文字幕网| 6分钟人性短片视频| 日韩美女爱黑屌| 日本一区二区电影噜噜噜噜| 国产suv精品一区二区五| 啊啊啊啊~好大插我视频| 啊啊啊好舒服用力点视频| 中文字幕精品亚洲无线码| 在公交车上弄到高c了怎么办 | 久久久国产精品亚洲av| 极品女神麻酥酥| 麻豆国产一区二区三区四区| JB插进去网站| 啊啊啊好大好痛好爽视频| 麻豆亚洲自偷拍精品日韩另 |