欧美精品一区二区,体育生GAY白袜调教VIDEO,私人影院播放器,色偷偷AV老熟女色欲涩爱

?
內(nèi)容中心
按關(guān)鍵字查找
ORACLE 12C 安全隱患系列(一)
作者:思成 發(fā)布時(shí)間:2017-03-15

從三月開(kāi)始,安華金和安全實(shí)驗(yàn)室會(huì)陸續(xù)推出系列文章,專(zhuān)門(mén)以O(shè)racle數(shù)據(jù)庫(kù)為研究對(duì)象,展開(kāi)安全隱患的分析研究,為大家?guī)?lái)安全防范建議,幫助大家做好數(shù)據(jù)庫(kù)安全防護(hù)。本期推出ORACLE 12C 安全隱患系列(一),如果您或您的團(tuán)隊(duì)正在使用Oracle12C,或打算使用Oracle12C,請(qǐng)一定按照本文思路對(duì)用戶(hù)的inherit privileges權(quán)限進(jìn)行合理分配,杜絕安全隱患。

摘要

在12.1之后的Oracle版本中引入了一個(gè)和安全相關(guān)的權(quán)限—INHERIT PRIVILEGES。這個(gè)權(quán)限可以賦予用戶(hù)或角色。喜的是,Oracle引入這個(gè)權(quán)限的目標(biāo)是解決調(diào)用者權(quán)限可能造成的安全隱患。然而悲的是,在12.1的默認(rèn)配置下,INHERIT PRIVILEGES并不會(huì)起到提高安全性的作用。只有用戶(hù)重新配置INHERIT PRIVILEGES才能真正達(dá)到Oracle設(shè)計(jì)INHERIT PRIVILEGES提高安全性目的。

要弄清楚如何正確配置INHERIT PRIVILEGES,首先要搞清楚三個(gè)問(wèn)題:1.調(diào)用者方式的安全隱患。2. INHERIT PRIVILEGES是如何工作的?3. INHERIT PRIVILEGES應(yīng)該如何配置?

調(diào)用者方式-存在安全隱患

Oracle函數(shù)、存儲(chǔ)過(guò)程的創(chuàng)建不同于其他數(shù)據(jù)庫(kù),可以采取兩種截然不同的方式建立。一種是定義者權(quán)限(Definer’s right),一種是調(diào)用者權(quán)限(Invoker’s right)。調(diào)用者權(quán)限創(chuàng)建的函數(shù)或存儲(chǔ)過(guò)程,在創(chuàng)建過(guò)程中不會(huì)判斷創(chuàng)建者是否擁有對(duì)存儲(chǔ)過(guò)程或函數(shù)中調(diào)用的表、視圖和對(duì)象的執(zhí)行權(quán)限。簡(jiǎn)單地說(shuō),就是調(diào)用者方式允許低權(quán)限用戶(hù)在函數(shù)或存儲(chǔ)過(guò)程中使用超越自身的權(quán)限。允許超越自身權(quán)限帶來(lái)了便利,也同時(shí)給數(shù)據(jù)庫(kù)帶來(lái)非法提權(quán)、非法操作、非法獲取敏感信息等一系列安全隱患。

為了講清楚隱患,這里舉一個(gè)例子:有一個(gè)低權(quán)限用戶(hù)hacker_user,他只有創(chuàng)建存儲(chǔ)過(guò)程和會(huì)話(huà)權(quán)限。

01.png

hacker_user使用調(diào)用者權(quán)限創(chuàng)建了函數(shù) add_number。并把a(bǔ)dd_number的執(zhí)行權(quán)限賦予全體,讓所有用戶(hù)都可以通過(guò)hacker_user. add_number的方式調(diào)用該函數(shù)。

02.jpg

至此無(wú)論是有DBA權(quán)限的dba_user還是只有會(huì)話(huà)權(quán)限的normal_user都可以使用hacker_user. add_number完成運(yùn)算任務(wù)。

03.png

當(dāng)hacker_user. add_number得到其他用戶(hù)充分信任后,hacker_user動(dòng)了提升自己權(quán)限的心思。于是hacker_user首先使用調(diào)用者方式創(chuàng)建一個(gè)用于提權(quán)的存儲(chǔ)過(guò)程(change_me_dba)。由于使用的是調(diào)用者方式,即使“GRANT DBA TO hacker_user這種高危語(yǔ)句被嵌入其中,存儲(chǔ)過(guò)程也能順利創(chuàng)建。

04.png

接著hacker_user再偷偷對(duì)add_number進(jìn)行修改,在add_number中調(diào)用change_me_dba.

05.png

hacker_user整個(gè)布局完成后,就靜靜等著其他用戶(hù)像以往一樣調(diào)用hacker_user. add_number。這種攻擊的方式不僅難以防護(hù),還難以被察覺(jué)。低權(quán)限用戶(hù)使用hacker_user. add_number,依然會(huì)正常運(yùn)算,同時(shí)也不會(huì)出現(xiàn)任何報(bào)錯(cuò)信息。例如用normal_user調(diào)用hacker_user. add_number 正確運(yùn)算,且無(wú)報(bào)錯(cuò),如果不去檢查hacker_user. add_number的源碼會(huì)很難發(fā)現(xiàn),實(shí)際上hacker_user在私下已經(jīng)偷偷對(duì)hacker_user. add_number動(dòng)了手腳。

06.png

由于無(wú)異常、不報(bào)錯(cuò),被hacker_user修改后的add_number能安全地潛伏在數(shù)據(jù)庫(kù)中。等到類(lèi)似dba_user這樣的DBA用戶(hù)調(diào)用hacker_user. add_number后,它會(huì)神不知鬼不覺(jué)地進(jìn)行提權(quán)。

07.png

同樣地,即便是有DBA權(quán)限的dba_user調(diào)用也不會(huì)有任何異常。除非查詢(xún)dba_role_privs,才會(huì)抓到hacker_user的“狐貍尾巴”。

08.png

但分析如何提權(quán),必須對(duì)所有hacker_user中的內(nèi)容進(jìn)行分析,因?yàn)榘l(fā)現(xiàn)問(wèn)題的時(shí)候hacker_user很可能早就把a(bǔ)dd_number改了回去,把change_me_dba做了刪除,做到毀尸滅跡,以防止安全人員找到提權(quán)手法后,進(jìn)行針對(duì)性封堵。

INHERIT PRIVILEGES的機(jī)制

Oracle12.1為了解決上述問(wèn)題,引入了inherit privileges和inherit any privileges 這兩組權(quán)限,用以限制用戶(hù)訪問(wèn)其他用戶(hù),使用調(diào)用者權(quán)限創(chuàng)建的函數(shù)或存儲(chǔ)過(guò)程。在12.1上正確配置權(quán)限后用dba_user調(diào)用add_number,不僅不會(huì)執(zhí)行,且會(huì)出現(xiàn)ORA-06598錯(cuò)誤,用以防止低權(quán)限用戶(hù)借用高權(quán)限進(jìn)行非法操作。

09.png

inherit privileges通過(guò)GRANT和REVOKE進(jìn)行賦權(quán)或取消賦權(quán)。invoking_user(dba_user)只把自己的inherit privileges賦予自己信任的procedure_owner(hacker_user)中,防止調(diào)用不安全的存儲(chǔ)過(guò)程或函數(shù)。

GRANT INHERIT PRIVILEGES ON USER  invoking_user  TO  procedure_owner;    
REVOKE INHERIT PRIVILEGES ON USER  invoking_user  FROM  procedure_owner;

引入inherit privileges原本可以很好地解決低權(quán)限用戶(hù)利用調(diào)用者方式,騙取高權(quán)限的問(wèn)題。但Oracle12.1默認(rèn)對(duì)inherit privileges權(quán)限的賦予存在一定的問(wèn)題。12.1在創(chuàng)建新用戶(hù)或升級(jí)到12.1后對(duì)老用戶(hù)都自動(dòng)做了GRANT INHERIT PRIVILEGES ON USER USERNAME TO PUBLIC 的操作,使得inherit privileges的限制直接作廢。默認(rèn)狀態(tài)下hacker_user依然可以用上述手段完成提權(quán)操作。

10.png

好的解決方法也需要合理的配置。如果配置不當(dāng),安全將成為一句空話(huà)。inherit privileges權(quán)限的辦法是好的,但不科學(xué)的默認(rèn)配置毀了這一切。

INHERIT PRIVILEGES的合理配置

默認(rèn)任何用戶(hù)都把inherit privileges賦予PUBLIC的行為,很大程度是從兼容性的角度考慮的。雖然達(dá)到了兼容的目的,但卻破壞了安全的效果,而且很可能給后來(lái)者留下錯(cuò)誤使用inherit privileges的范例。總結(jié)下來(lái),inherit privileges合理配置應(yīng)該遵循兩點(diǎn):1.用戶(hù)只給可信且必要的存儲(chǔ)過(guò)程和函數(shù)的用戶(hù)賦予inherit privileges;2.DBA用戶(hù)不要給任何用戶(hù)inherit privileges 權(quán)限,防止出現(xiàn)低權(quán)限用戶(hù)被破解后利用調(diào)用者權(quán)限竊取DBA權(quán)限,實(shí)施非法行為。

針對(duì)上述兩個(gè)要點(diǎn),我們首先檢查當(dāng)前數(shù)據(jù)庫(kù)DBA用戶(hù)有SYSTEM、SYS和DBA_USER.

11.png

下一步再檢查這些DBA用戶(hù)是否已經(jīng)給其他用戶(hù)inherit privileges,如果存在請(qǐng)進(jìn)行回收,否則可能造成安全隱患。

12.png

dba_user用戶(hù)inherit privileges權(quán)限賦予public,回收該權(quán)限。否則,還可能出現(xiàn)DBA用戶(hù)誤使用有風(fēng)險(xiǎn)的函數(shù)或存儲(chǔ)過(guò)程的現(xiàn)象。

13.png

對(duì)每一個(gè)DBA使用類(lèi)似檢查,修改DBA默認(rèn)的賦權(quán)對(duì)象,再按照實(shí)際需求把用戶(hù)的inherit privileges權(quán)限賦予必要用戶(hù)。如此,既不影響用戶(hù)使用,又在一定程度上避免安全隱患。

當(dāng)然如果您不愿意手動(dòng)進(jìn)行上述檢查和部署,可以通過(guò)安華金和的漏掃產(chǎn)品DBScan,進(jìn)行針對(duì)性的專(zhuān)項(xiàng)檢查,并根據(jù)您的配置方案進(jìn)行權(quán)限的自動(dòng)部署。

結(jié)論

Inherit privileges的出現(xiàn)說(shuō)明Oracle對(duì)于安全問(wèn)題已經(jīng)越來(lái)越重視。但百密終有一疏,在默認(rèn)情況下,新功能Inherit privileges形同虛設(shè),并不能起到加強(qiáng)數(shù)據(jù)庫(kù)安全的效果。如果您或您的團(tuán)隊(duì)正在使用Oracle12C,或打算使用Oracle12C,請(qǐng)一定按照本文思路對(duì)用戶(hù)的inherit privileges權(quán)限進(jìn)行合理分配,杜絕安全隱患。


?
乳欲人妻办公室奶水在线电影国产| 成人性生交大片免费看| 野外被三个男人躁一夜小说| 艳妇500篇短篇h系列| 中老年妇女的性色视频| 中文字幕乱码熟女人妻水蜜桃 | 波多野42部无码喷潮在线| 两根粗大在她腿间进进出出h| 伊人成色综合人夜夜久久| 少妇愉情理伦片丰满丰满午夜| 东北浓毛老妇国语对白| 黑人30厘米全部进去了| 三妻四妾免费观看完整版高清| 人妻少妇偷人精品无码洋洋av| 被几个人摁住玩弄隐私作文| 免费视频在线观看| 国产精品美女一区二区三区| 成全动漫视频在线观看免费高清| 久久这里只有精品| 无码欧美人xxxxx日本漫画| 国产熟女一区二区三区五月婷| 夜夜躁天天躁很躁| 摸进她的内裤里疯狂揉她| 无码任你躁久久久久久老妇app | 久久久久亚洲AV无码A片| 成人性生交大片免费看r| 熟妇的奶头又大又粗| 午夜福利不卡片在线播放| 免费人妻精品一区二区三区| 母亲とが话しています播放| 真人高清实拍女处被破的视频| 无码人妻少妇色欲av一区二区| 双性玩弄调教np产乳孕交灌尿| 久久泄欲网| 色戒完整版无删减158分钟hd| 长篇交换高h肉辣全集目录| 刺激的至亲乱45部| 老板含着她的花蒂啃咬高潮的视频| 双性美人被CAO到崩溃H漫画| 呦vodafonewifi高清| 日本老熟妇maturebbw|