亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3274 | 回復(fù): 9
打印 上一主題 下一主題

[其他] 如何理解安全模型中低級別的進程可以寫入到高級別的客體,但不能讀呢? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-08-20 12:33 |只看該作者 |倒序瀏覽
學(xué)習(xí)SELinux中,了解到一個最基本的Bell-La Padula模型,其中描述如果進程當(dāng)前的安全級別優(yōu)于客體的安全級別,進程則可以"讀取"客體。如果低于客體的安全級別,則可以"寫入"客體,因此,同時讀寫客體只要這兩個安全級別相等就可以了。



這里的安全體系的含義是什么?安全模型中低級別的進程可以寫入到高級別的客體,但不能讀呢? 而高級別的進程只能讀低級別的客體,但不能寫呢?

謝謝!

論壇徽章:
20
CU大;照
日期:2013-04-17 11:48:26羊年新春福章
日期:2015-03-10 22:39:202015年中國系統(tǒng)架構(gòu)師大會
日期:2015-06-29 16:11:282015亞冠之平陽省
日期:2015-07-31 09:19:042015七夕節(jié)徽章
日期:2015-08-21 11:06:17IT運維版塊每日發(fā)帖之星
日期:2015-09-30 06:20:002015亞冠之柏太陽神
日期:2015-10-19 20:29:5915-16賽季CBA聯(lián)賽之天津
日期:2016-11-29 14:03:4315-16賽季CBA聯(lián)賽之北控
日期:2016-12-24 20:51:492015年辭舊歲徽章
日期:2015-03-03 16:54:15雙魚座
日期:2015-01-12 20:58:532014年中國系統(tǒng)架構(gòu)師大會
日期:2014-10-14 15:59:00
2 [報告]
發(fā)表于 2014-08-21 13:03 |只看該作者
最近學(xué)習(xí)SELinux的人有點多啊

論壇徽章:
0
3 [報告]
發(fā)表于 2014-08-21 13:32 |只看該作者
本帖最后由 mnipxh 于 2014-08-21 13:38 編輯

防止竊取信息吧。
A低級別,B高級別
a不能讀b,是為了防止泄露b已經(jīng)讀取的機密信息,好理解。
b不能寫a,是為了防止b主動將機密信息透露給低級別的a,就醬。
相同級別的就隨便搞好了。

windows下也是這套東西。
這個理論實踐起來有點麻煩。
之前windows下用輸入法啟動cmd修改密碼就是這樣的,
輸入法低級別,可以寫,以寫,寫
。。。你懂的。

論壇徽章:
3
雙魚座
日期:2013-09-04 19:47:39天蝎座
日期:2013-12-11 20:30:532015年亞洲杯之澳大利亞
日期:2015-04-20 00:28:02
4 [報告]
發(fā)表于 2014-08-21 18:35 |只看該作者
假設(shè)你是神盾局的特工,級別為7級。你有九頭蛇的機密信息,你只能報告(寫)給高你級別的特工。但高級特工有權(quán)讀你的信息,dan他并不會共享他的機密給你。因為他可能掌握高你一級,高你兩級特工機密。寫給你就意味泄露了其他高級特工的機密。
這是MLS機制.no read up. No write down

論壇徽章:
0
5 [報告]
發(fā)表于 2014-08-21 19:23 |只看該作者
本帖最后由 kerryxi 于 2014-08-21 19:25 編輯

回復(fù) 4# kiongf


    謝謝,有一點點道理.

    做為信息來講, 這個模型是有道理的. 低級別的要只能向高級別的匯報(寫), 但不能看(讀). 高級別的只能不能寫低級別(泄密),但能夠看低級別的信息(讀).

    不過, 做為計算數(shù)據(jù)來說, 如果低級別的主體寫高級別的, 不也違反了安全條例嗎? 假如低級別的隨意篡改高級別的機密數(shù)據(jù), 或者安裝一個木馬等, 不就麻煩嗎?    實際問題就是低級別的user怎么能夠?qū)憆oot級別的文件數(shù)據(jù)呢?  應(yīng)該是低級別不能讀,也不能寫高級別的客體才對啊.

     好像哪里理解還有問題.

論壇徽章:
3
雙魚座
日期:2013-09-04 19:47:39天蝎座
日期:2013-12-11 20:30:532015年亞洲杯之澳大利亞
日期:2015-04-20 00:28:02
6 [報告]
發(fā)表于 2014-08-22 00:30 來自手機 |只看該作者
本帖最后由 kiongf 于 2014-08-22 09:10 編輯

嗯。我理解你的疑問。我對也有疑問。主要是對這個讀操作的疑問,讀目錄算不算讀?如果算的話,那么是否可以理解為某個安全級別的進程被約束只能在同級別或者低級別的目錄中。這樣進程就無法寫到高級別目錄中。也就不會出現(xiàn)你所說的篡改高安全級別文件的可能性。
這只是我的猜測。需要驗證下DAC下能否直接穿過不可讀目錄修改其中的文件。
希望你理解后,能夠分享下心得。我在裁剪selinux的時候看到MLS用于政府軍事機密就直接移除了,沒往太深研究

注:已確認,DAC下進程無法穿過無讀權(quán)限的目錄,直接寫入目錄中的文件。因此很大可能性,低級別的用戶只能在部分目錄下活動,不會出現(xiàn)你所說篡改高機密文件的可能性

論壇徽章:
20
CU大;照
日期:2013-04-17 11:48:26羊年新春福章
日期:2015-03-10 22:39:202015年中國系統(tǒng)架構(gòu)師大會
日期:2015-06-29 16:11:282015亞冠之平陽省
日期:2015-07-31 09:19:042015七夕節(jié)徽章
日期:2015-08-21 11:06:17IT運維版塊每日發(fā)帖之星
日期:2015-09-30 06:20:002015亞冠之柏太陽神
日期:2015-10-19 20:29:5915-16賽季CBA聯(lián)賽之天津
日期:2016-11-29 14:03:4315-16賽季CBA聯(lián)賽之北控
日期:2016-12-24 20:51:492015年辭舊歲徽章
日期:2015-03-03 16:54:15雙魚座
日期:2015-01-12 20:58:532014年中國系統(tǒng)架構(gòu)師大會
日期:2014-10-14 15:59:00
7 [報告]
發(fā)表于 2014-08-22 09:39 |只看該作者
回復(fù) 6# kiongf


    SELinux中有一個dac_override的權(quán)限,進程有了這個權(quán)限以后,就不受DAC的限制了,比如,普通用戶之間可以相互訪問家目錄

論壇徽章:
0
8 [報告]
發(fā)表于 2014-08-22 09:44 |只看該作者
本帖最后由 kerryxi 于 2014-08-22 09:44 編輯

你的穿透試驗是被DAC先擋住了,所以 "DAC下進程無法穿過無讀權(quán)限的目錄,直接寫入目錄中的文件". 此時還沒有到達DAC的機制運作.

對于安全模型的安全級別, 還有一個疑問, 就是除了root用戶之外, 我覺得DAC是沒有安全級別的區(qū)分的,只有不同用戶的區(qū)分. 只要用戶相同或者屬于某個GROUP,就可訪問,不是就不能訪問.  沒看到哪里有安全級別的高低的說法.

另外, 對于SELINUX的MAC來說, 也沒看到哪里有安全級別的高低之分, 我看到的只是type類型是否一致,如果一致就可訪問, 不一致就不能訪問. mac只是定義了一些policies, policies沒看到分安全的等級.

所以, 對于安全模型中的安全級別High和low的區(qū)分, 不知道在DAC和MAC中怎么應(yīng)用的.

論壇徽章:
20
CU大;照
日期:2013-04-17 11:48:26羊年新春福章
日期:2015-03-10 22:39:202015年中國系統(tǒng)架構(gòu)師大會
日期:2015-06-29 16:11:282015亞冠之平陽省
日期:2015-07-31 09:19:042015七夕節(jié)徽章
日期:2015-08-21 11:06:17IT運維版塊每日發(fā)帖之星
日期:2015-09-30 06:20:002015亞冠之柏太陽神
日期:2015-10-19 20:29:5915-16賽季CBA聯(lián)賽之天津
日期:2016-11-29 14:03:4315-16賽季CBA聯(lián)賽之北控
日期:2016-12-24 20:51:492015年辭舊歲徽章
日期:2015-03-03 16:54:15雙魚座
日期:2015-01-12 20:58:532014年中國系統(tǒng)架構(gòu)師大會
日期:2014-10-14 15:59:00
9 [報告]
發(fā)表于 2014-08-22 09:45 |只看該作者
回復(fù) 1# kerryxi


    這個模型,說白了就是禁止上讀下寫,即禁止低級別的主體讀高級別的客體信息,禁止高級別的主體往低級別的客體寫數(shù)據(jù)。這個模型適用于軍方都場合。在SELinux中,就是MLS這一特性了,在Linux中,kernel_t都是高級別的主體,級別為s15

論壇徽章:
3
雙魚座
日期:2013-09-04 19:47:39天蝎座
日期:2013-12-11 20:30:532015年亞洲杯之澳大利亞
日期:2015-04-20 00:28:02
10 [報告]
發(fā)表于 2014-08-25 00:41 |只看該作者
回復(fù) 8# kerryxi


    我覺得你可以搞混了。 MLS是屬于MAC機制,不屬于DAC機制。 DAC本身就沒有安全級別這一說。它只由文件擁有者決定其他用戶的權(quán)限(當(dāng)然root用戶是個特例)。
   
   
   SELinux起源于自1980年開始的微內(nèi)核和操作系統(tǒng)安全的研究,最終形成一個叫做分布式信任計算機(Distribute Trusted Mach(DTMach))的項目。美國過安全局的研究組織參與了DTMach項目,付出了巨大努力,并且參與了大量的后續(xù)安全微內(nèi)核研究。最終,這些工作和努力導(dǎo)致了一個新項目的誕生,那就是Flask。

MLS只定位于數(shù)據(jù)保密性而并不關(guān)心數(shù)據(jù)完整性和最小權(quán)能原則(Least Privilege),以及對進程的能力進行分類.

  我從資料上看到,MLS遠在80年代就開始研究了,比SELinux, FLASK要早得多。開始針對于對進程能力進行分類,應(yīng)該是FLASK架構(gòu)的出現(xiàn)。 所以我覺得MLS是最初通過和DAC配合一起實現(xiàn)的。當(dāng)然只是我的猜想。

  如果你系統(tǒng)上使用的安全策略打開了MLS選項,你查看進程或者是文件的security context應(yīng)該是這種形式:
       system_u:object_r:bin_t:s0             ----        s0就是和MLS有關(guān)的敏感度。
  Reference policy打開MLS的選項在源碼樹/build.conf中。

至于安全級別的實現(xiàn)可以查看這個函數(shù):
  security/selinux/ss/context_struct_compute_av()
649         avkey.target_class = tclass;
650         avkey.specified = AVTAB_AV;
651         sattr = flex_array_get(policydb.type_attr_map_array, scontext->type - 1);
652         BUG_ON(!sattr);
653         tattr = flex_array_get(policydb.type_attr_map_array, tcontext->type - 1);
654         BUG_ON(!tattr);
655         ebitmap_for_each_positive_bit(sattr, snode, i) {
656                 ebitmap_for_each_positive_bit(tattr, tnode, j) {
657                         avkey.source_type = i + 1;
658                         avkey.target_type = j + 1;
659                         for (node = avtab_search_node(&policydb.te_avtab, &avkey);
660                              node;
661                              node = avtab_search_node_next(node, avkey.specified)) {
662                                 if (node->key.specified == AVTAB_ALLOWED)
663                                         avd->allowed |= node->datum.data;
664                                 else if (node->key.specified == AVTAB_AUDITALLOW)
665                                         avd->auditallow |= node->datum.data;
666                                 else if (node->key.specified == AVTAB_AUDITDENY)
667                                         avd->auditdeny &= node->datum.data;
668                         }
669
670                         /* Check conditional av table for additional permissions */
671                         cond_compute_av(&policydb.te_cond_avtab, &avkey, avd);
672
673                 }
674         }
675
676         /*
677          * Remove any permissions prohibited by a constraint (this includes
678          * the MLS policy).
679          */
680       constraint = tclass_datum->constraints;
681         while (constraint) {
682                 if ((constraint->permissions & (avd->allowed)) &&
683                     !constraint_expr_eval(scontext, tcontext, NULL,
684                                           constraint->expr)) {
685                         avd->allowed &= ~(constraint->permissions);
686                 }
687                 constraint = constraint->next;

這個函數(shù)是內(nèi)核用來檢測是否有個授權(quán)規(guī)則是否存在(也就是一次存取操作是否合法)。
  655-668行就是檢測 是否存在匹配source type/targe type/class/permission的allow規(guī)則
  如果匹配,還需要經(jīng)過constraint的檢測。 constraint權(quán)力比allow大,即使你定義了allow規(guī)則,允許init_t域訪問bin_t類型的文件,
  但constraint禁止了,allow規(guī)則就無效了。
  constraint的信息來源于policy language的constraint語句和mls_constraint(顧名思義,這個就和MLS有關(guān)).
  安全級別的檢測就是通過mls_constraint語句實現(xiàn)的。
  
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP