|
6.權(quán)限提升
簡(jiǎn)單的說(shuō),“權(quán)限提升”包括使用現(xiàn)有的低權(quán)限帳戶(hù),利用巧取、偷竊或非法的方式獲取更高的權(quán)限,甚至是數(shù)據(jù)庫(kù)管理員的權(quán)限。
下面舉個(gè)使用CREATEANY權(quán)限的例子。假設(shè)我能通過(guò)一個(gè)擁有CREATEANYTRIGGER權(quán)限的用戶(hù)CYW訪問(wèn)數(shù)據(jù)庫(kù),這樣我就能在任意的模式里創(chuàng)建觸發(fā)器。如果你能追蹤到一個(gè)任何用戶(hù)都能執(zhí)行寫(xiě)入操作的表,你在SYSTEM里創(chuàng)建了一個(gè)能夠在低權(quán)限的你對(duì)該可寫(xiě)表進(jìn)行插入或更新操作時(shí)執(zhí)行的觸發(fā)器。你編寫(xiě)的觸發(fā)器會(huì)調(diào)用一個(gè)存儲(chǔ)過(guò)程(也是你自己編寫(xiě)的),該存儲(chǔ)過(guò)程會(huì)使用AUTHIDCURRENT_USER為調(diào)用者授權(quán)。這就意味著,當(dāng)該觸發(fā)器運(yùn)行“你”的存儲(chǔ)過(guò)程時(shí),擁有SYSTEM的權(quán)限,F(xiàn)在你的非法存儲(chǔ)過(guò)程內(nèi)部,包含了“EXECUTEIMMEDIATE’GRANTDBATOCYW’”。這樣我就可以在觸發(fā)器運(yùn)行的時(shí)候插入到我的公共表里,該觸發(fā)器由SYSTEM所有,而SYSTEM會(huì)調(diào)用我的change_privileges存儲(chǔ)過(guò)程,這個(gè)存儲(chǔ)過(guò)程使用AUTHIDCURRENT_USER為我授權(quán)。這樣“我”就可以在不改變我自身權(quán)限的情況下獲得并執(zhí)行SYSTEM的權(quán)限。
防范此類(lèi)攻擊的方法
數(shù)據(jù)庫(kù)管理員該怎么應(yīng)對(duì)這個(gè)問(wèn)題呢?首先,你應(yīng)該審核數(shù)據(jù)庫(kù)的CREATEANY權(quán)限,刪除其中不需要的那些部分。其次,看看類(lèi)似于www.securityfocus.com這類(lèi)的論壇,看看關(guān)于權(quán)限提升的最新漏洞。最后,激活對(duì)某些特定類(lèi)型數(shù)據(jù)庫(kù)活動(dòng)的審計(jì)功能并沒(méi)有什么壞處,這樣數(shù)據(jù)庫(kù)就能讓你實(shí)現(xiàn)自我保護(hù)。當(dāng)數(shù)據(jù)庫(kù)自行審核類(lèi)似于GRANTDBA這樣的事件時(shí),你可以通過(guò)查看審計(jì)日志知道有沒(méi)有出現(xiàn)惡意或突發(fā)的活動(dòng)
7.操作系統(tǒng)指令和安全
黑客并不總是通過(guò)shell命令行提示符登錄到你的系統(tǒng)的。不過(guò),通過(guò)誘使Oracle數(shù)據(jù)庫(kù)運(yùn)行操作系統(tǒng)水平的指令,我們的確給黑客提供了一條運(yùn)行指令的有效途徑。這些指令能夠刪除和破壞文件、改寫(xiě)日志(以便隱藏他們的行蹤)、創(chuàng)建帳戶(hù),以及其他一些能通過(guò)命令行輸入指令達(dá)成的操作。他們是怎么做到的呢?盡管方法有很多,最容易的一種就是通過(guò)Java和PL/SQL這些程序語(yǔ)言。通?梢岳脛(chuàng)建外部存儲(chǔ)過(guò)程的能力,使之執(zhí)行一個(gè)具備系統(tǒng)調(diào)用功能的存儲(chǔ)程序。這個(gè)系統(tǒng)調(diào)用指令能夠以首次安裝時(shí)使用的oracle帳戶(hù)權(quán)限執(zhí)行。
防范此類(lèi)攻擊的方法
雖然Oracle在保護(hù)用戶(hù)免受此類(lèi)攻擊上已經(jīng)取得了一定進(jìn)展,不過(guò)你最好還是把希望寄托在你的預(yù)防監(jiān)測(cè)工作上。嚴(yán)密留意你的系統(tǒng)內(nèi)部有沒(méi)有出現(xiàn)這類(lèi)活動(dòng),當(dāng)有攻擊者試圖對(duì)你使用此類(lèi)惡意攻擊時(shí),你最好能夠事先掌握主動(dòng)權(quán)。
8.文件系統(tǒng)安全
對(duì)文件系統(tǒng)(filesystem)的訪問(wèn)是一個(gè)讓你頭大的棘手問(wèn)題!皁racle”操作系統(tǒng)用戶(hù)擁有所有Oracle軟件和數(shù)據(jù)庫(kù)數(shù)據(jù)文件的訪問(wèn)權(quán)限,所以如果數(shù)據(jù)庫(kù)內(nèi)部的某些用戶(hù)利用UTL_FILE包訪問(wèn)filesystem上的文件時(shí),他們就可以訪問(wèn)之前由于權(quán)限和角色限制而無(wú)權(quán)訪問(wèn)的很多數(shù)據(jù)庫(kù)內(nèi)部文件。
防范此類(lèi)攻擊的方法
Oracle引入DIRECTORY對(duì)象在防止此類(lèi)攻擊上也有一定作用。在10g系統(tǒng)中,必須通過(guò)DIRECTORY對(duì)象來(lái)定義某些類(lèi)型的讀寫(xiě)操作。這意味著用戶(hù)必須擁有CREATEDIRECTORY權(quán)限,而在前面介紹的權(quán)限提升問(wèn)題中,我們已經(jīng)看到可以通過(guò)很多方法獲取這種權(quán)限。即使這些也被解決了,還是有很多方法可以通過(guò)PL/SQL或Java語(yǔ)言來(lái)獲取對(duì)filesystem的訪問(wèn)權(quán)限和對(duì)文件的讀寫(xiě)權(quán)限。
總論:
就像上面討論的一樣,Oracle數(shù)據(jù)庫(kù)產(chǎn)品有很多漏洞,有時(shí)候看起來(lái)就像由一些聰明透頂?shù)墓こ處熃ㄔ斓囊凰勒,工程師固然聰明,但比那些覬覦此宅的黑客們忠厚老實(shí)多了。因此,他們沒(méi)有預(yù)料到有人會(huì)利用這種種方法來(lái)偷磚竊瓦削弱豪宅的根基。黑客可以通過(guò)很多不同的方法進(jìn)行攻擊,侵入到目標(biāo)數(shù)據(jù)庫(kù)。
不過(guò),只要數(shù)據(jù)庫(kù)管理員能夠花點(diǎn)時(shí)間和精力來(lái)解決,其中很多問(wèn)題都是可以避免的。Oracle已經(jīng)針對(duì)很多漏洞在數(shù)據(jù)庫(kù)內(nèi)部打上了補(bǔ)丁,而且入侵監(jiān)測(cè)系統(tǒng)能體構(gòu)額外的安全保障。所以數(shù)據(jù)庫(kù)管理員應(yīng)該對(duì)每一種漏洞都銘記在心,警惕性才是防范的關(guān)鍵,盡量執(zhí)行好自己制定的安全計(jì)劃。本新聞共 3頁(yè),當(dāng)前在第 3頁(yè) 1 2 3 |
【收藏】【打印】【進(jìn)入論壇】 |
|
|
|
|
|
|
|