91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

國產(chǎn)平臺之OKT507-C開發(fā)板Android 安全策略漫談

飛凌嵌入式 ? 2021-12-03 11:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

平臺:OKT507-C開發(fā)板

系統(tǒng)Android10.0

OKT507-C開發(fā)板Android系統(tǒng)版本為Android10.0,默認(rèn)開啟了SELinux?;贛AC訪問控制模型的SElinux,可以更好地保護(hù)我們的Android系統(tǒng), 比如限制系統(tǒng)服務(wù)的訪問權(quán)限、控制應(yīng)用對數(shù)據(jù)和系統(tǒng)日志的訪問等措施,這樣就降低了惡意軟件的影響,并且可以防止因代碼存在的缺陷而產(chǎn)生的對系統(tǒng)安全的影響。

從系統(tǒng)安全方面考慮,SELinux是保護(hù)神,但是從軟件開發(fā)方面,SELinux就是一道牽絆,這是一把雙刃劍。

比如我們開發(fā)應(yīng)用或者增加系統(tǒng)服務(wù)的某些權(quán)限的時(shí)候,我們必須遵循SELinux的規(guī)則,給我們的應(yīng)用設(shè)置對應(yīng)的安全策略,否則我們的應(yīng)用就不具備訪問數(shù)據(jù)或者設(shè)備的權(quán)限。下面我們MAC訪問控制模型開始,簡單的梳理一下OKT507-C開發(fā)板 Android的安全策略,以及自定義OKT507-C開發(fā)板 Android安全策略的方法。

訪問控制模型DAC,MAC

訪問控制是指控制對計(jì)算機(jī)或者網(wǎng)絡(luò)中某個資源的訪問。沒有它,所有人都可以訪問任何資源。有了訪問控制,用戶在獲取實(shí)際訪問資源或進(jìn)行操作之前,必須通過識別、驗(yàn)證、授權(quán)。

自主訪問控制(DAC: Discretionary Access Control)系統(tǒng)識別用戶,根據(jù)被操作對象的權(quán)限的設(shè)置,來決定該用戶對其擁有的操作權(quán)限,read、write、exec。擁有這個對象權(quán)限的用戶,又可以將該權(quán)限分配給其他用戶,此謂之“Discretionary”。缺陷就是對權(quán)限控制比較分散,不便于管理,比如無法簡單地將一組文件設(shè)置統(tǒng)一的權(quán)限開放給指定的一群用戶。

強(qiáng)制訪問控制(MAC: Mandatory Access Control)MAC是為了彌補(bǔ)DAC權(quán)限控制過于分散的問題而誕生的。在MAC這種模型里,管理員管理訪問控制。管理員制定策略,用戶不能改變它。策略定義了哪個主體能訪問哪個對象。這種訪問控制模型可以增加安全級別,因?yàn)樗诓呗?,任何沒有被顯式授權(quán)的操作都不能執(zhí)行。MAC被開發(fā)和實(shí)現(xiàn)在最重視保密的系統(tǒng)中,如軍事系統(tǒng)。主體獲得清楚的標(biāo)記,對象得到分類標(biāo)記,或稱安全級別。

基于MAC的SElinux


  1. 參考鏈接:

  2. https://source.android.google.cn/security/selinux

軟件通常情況下必須以Root用戶帳號的身份運(yùn)行,才能向原始塊設(shè)備寫入數(shù)據(jù)。在基于DAC的傳統(tǒng)Linux環(huán)境中,如果Root用戶遭到入侵,攻擊者便可以利用該用戶身份向每個原始塊設(shè)備寫入數(shù)據(jù)。從Android4.3 起,SELinux開始為傳統(tǒng)的自主訪問控制 (DAC)環(huán)境提供強(qiáng)制訪問控制(MAC)保護(hù)功能。

作為Android安全模型的一部分,Android使用安全增強(qiáng)型 Linux(SELinux) 對所有進(jìn)程強(qiáng)制執(zhí)行強(qiáng)制訪問控制 (MAC),甚至包括以Root/超級用戶權(quán)限運(yùn)行的進(jìn)程(Linux 功能)。例如可以使用SELinux為這些設(shè)備添加標(biāo)簽,以便被分配了 Root 權(quán)限的進(jìn)程只能向相關(guān)政策中指定的設(shè)備寫入數(shù)據(jù)。這樣一來,該進(jìn)程便無法重寫特定原始塊設(shè)備之外的數(shù)據(jù)和系統(tǒng)設(shè)置。

借助 SELinux,Android可以更好地保護(hù)和限制系統(tǒng)服務(wù)、控制對應(yīng)用數(shù)據(jù)和系統(tǒng)日志的訪問、降低惡意軟件的影響,并保護(hù)用戶免遭移動設(shè)備上的代碼可能存在的缺陷的影響。54670b84-538c-11ec-a27f-dac502259ad0.jpg

OKT507-C開發(fā)板 Android系統(tǒng)版本為Android10,SELinux默認(rèn)開啟,即使獲得了該系統(tǒng)的root權(quán)限,也只能向相關(guān)策略中指定的設(shè)備寫入數(shù)據(jù),從而更好地保護(hù)和限制系統(tǒng)服務(wù),保障系統(tǒng)和數(shù)據(jù)的安全。

標(biāo)簽、規(guī)則和域

SELinux 依靠標(biāo)簽來匹配操作和策略。標(biāo)簽用于決定允許的事項(xiàng)。套接字、文件和進(jìn)程在 SELinux 中都有標(biāo)簽。SELinux 在做決定時(shí)需參照兩點(diǎn):一是為這些對象分配的標(biāo)簽,二是定義這些對象如何交互的策略。

在 SELinux 中,標(biāo)簽采用以下形式:usertype:mls_level,其中 type 是訪問決定的主要組成部分,可通過構(gòu)成標(biāo)簽的其他組成部分進(jìn)行修改。對象會映射到類,對每個類的不同訪問類型由權(quán)限表示。

策略規(guī)則采用以下形式:allow domains types:classes permissions;,其中:


  1. Domain - 一個進(jìn)程或一組進(jìn)程的標(biāo)簽。也稱為域類型,因?yàn)樗皇侵高M(jìn)程的類型。

  2. Type - 一個對象(例如,文件、套接字)或一組對象的標(biāo)簽。

  3. Class - 要訪問的對象(例如,文件、套接字)的類型。

  4. Permission - 要執(zhí)行的操作(例如,讀取、寫入)。

策略配置源文件

1、external/sepolicy這是獨(dú)立于設(shè)備的配置,一般不能針對設(shè)備進(jìn)行修改2、device///sepolicy這是特定于設(shè)備的配置,基于 BOARDSEPOLICY* 變量來選擇對應(yīng)平臺的策略配置。

以O(shè)KT507-C開發(fā)板為例,OKT507-C開發(fā)板策略文件的路徑如下:


  1. OKT507-android-source/android$ ls device/softwinner/common/sepolicy/

  2. private vendor

Type Enforcement (TE) 配置文件

.te 文件中保存了對應(yīng)對象的域和類型定義、規(guī)則。通常每個域一個 .te 文件,例如installd.te。在 device.te、file.te 中聲明了設(shè)備和文件類型。在某些文件(例如domain.te、app.te)中則存儲著共享規(guī)則。

以O(shè)KT507-C開發(fā)板為例,T507 system_app的TE文件的路徑如下:


  1. OKT507-android-source/android$ ls device/softwinner/common/sepolicy/vendor/system_app.te

  2. device/softwinner/common/sepolicy/vendor/system_app.te

標(biāo)簽配置文件

1、filecontexts:文件安全上下文

2、propertycontexts:屬性安全上下文

SEAndroid app分類

SELinux(或SEAndroid)將app劃分為主要三種類型(根據(jù)user不同,也有其他的domain類型):

1)untrustedapp 第三方app,沒有Android平臺簽名,沒有system權(quán)限2)platformapp 有android平臺簽名,沒有system權(quán)限

3)system_app 有android平臺簽名和system權(quán)限

從上面劃分,權(quán)限等級,理論上:untrustedapp < platformapp < system_app

以O(shè)KT507-C開發(fā)板為例,查看當(dāng)前運(yùn)行的應(yīng)用信息:

  1. console:/ # ps -Z

  2. usystem_app:s0 system 15712 1861 1050628 110868 SyS_epoll_wait 0 S forlinx.example.app

  3. uuntrusted_app_27c512,c768 u0_a62 30259 1861 1052120 114132 SyS_epoll_wait 0 S com.forlinx.changelogo

當(dāng)前運(yùn)行的兩個APP,forlinx.example.app的type就是systemapp,com.forlinx.changelogo的type就是untrustedapp。

OKT507-C開發(fā)板自定義system_app的安全策略

以O(shè)KT507-C開發(fā)板中的Systemmix服務(wù)為例,我們?yōu)槠涮砑訄?zhí)行腳本的權(quán)限:


  1. OKT507-android-source/android$ vi device/softwinner/common/sepolicy/vendor/systemmix.te

  2. ...

  3. allow systemmix vendor_shell_exec:file { getattr open read execute execute_no_trans };

  4. allow systemmix shell_exec:file { getattr open read execute execute_no_trans };

  5. allow systemmix shell:file { getattr open read execute execute_no_trans };

  6. ...

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    4026

    瀏覽量

    134040
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    26

    文章

    6294

    瀏覽量

    118274
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    MTK平臺LK階段mt_boot.c配置:SELINUX_STATUS 2的作用與影響

    SELINUX_STATUS 2)聚焦于SELinux(安全增強(qiáng)型 Linux)的啟動狀態(tài)配置,直接影響后續(xù) Android 系統(tǒng)的安全策略生效方式。
    的頭像 發(fā)表于 02-03 15:46 ?808次閱讀
    MTK<b class='flag-5'>平臺</b>LK階段mt_boot.<b class='flag-5'>c</b>配置:SELINUX_STATUS 2的作用與影響

    探索FRDM - MCXA156開發(fā)板:設(shè)計(jì)與評估的理想

    探索FRDM - MCXA156開發(fā)板:設(shè)計(jì)與評估的理想選 在電子設(shè)計(jì)與開發(fā)領(lǐng)域,擁有一款功能強(qiáng)大且易于使用的評估平臺至關(guān)重要。今天,我們將深入探討NXP推出的FRDM - MCXA
    的頭像 發(fā)表于 12-24 11:50 ?1554次閱讀

    FRDM-MCXE31B開發(fā)板:設(shè)計(jì)與評估的理想

    FRDM-MCXE31B開發(fā)板:設(shè)計(jì)與評估的理想選 在電子工程師的日常工作中,選擇一款合適的開發(fā)板對于項(xiàng)目的成功至關(guān)重要。今天,我們就來詳細(xì)探討一下NXP推出的FRDM-MCXE31B開發(fā)板
    的頭像 發(fā)表于 12-24 10:20 ?316次閱讀

    探索FRDM-MCXW23開發(fā)板:低功耗藍(lán)牙應(yīng)用的理想

    探索FRDM-MCXW23開發(fā)板:低功耗藍(lán)牙應(yīng)用的理想選 作為電子工程師,我們總是在尋找功能強(qiáng)大、性能卓越且易于使用的開發(fā)板,以實(shí)現(xiàn)各種創(chuàng)新的設(shè)計(jì)。今天,就讓我們一起深入了解NXP
    的頭像 發(fā)表于 12-24 09:55 ?441次閱讀

    OPTIGA? Authenticate NBT開發(fā)板:物聯(lián)網(wǎng)安全認(rèn)證的理想

    OPTIGA? Authenticate NBT開發(fā)板:物聯(lián)網(wǎng)安全認(rèn)證的理想選 一、引言 在物聯(lián)網(wǎng)(IoT)蓬勃發(fā)展的今天,設(shè)備的安全認(rèn)證變得至關(guān)重要。OPTIGA? Authent
    的頭像 發(fā)表于 12-19 11:25 ?384次閱讀

    迅為RK3588開發(fā)板Android系統(tǒng)燒寫及注意事項(xiàng)

    迅為RK3588開發(fā)板Android系統(tǒng)燒寫及注意事項(xiàng)
    的頭像 發(fā)表于 12-03 15:17 ?7183次閱讀
    迅為RK3588<b class='flag-5'>開發(fā)板</b><b class='flag-5'>Android</b>系統(tǒng)燒寫及注意事項(xiàng)

    RK3506開發(fā)板Linux開發(fā)板極致性價(jià)比

    RK3506開發(fā)板Linux開發(fā)板極致性價(jià)比選瑞芯微RK3506開發(fā)板,3核Cortex-A7@1.5GHz+Cortex-M0,Linux+RT-Thread系統(tǒng)支持,128MB超
    的頭像 發(fā)表于 09-11 16:26 ?3482次閱讀
    RK3506<b class='flag-5'>開發(fā)板</b>Linux<b class='flag-5'>開發(fā)板</b>極致性價(jià)比<b class='flag-5'>之</b>選

    瑞芯微RK3576開發(fā)板Android14三屏異顯開發(fā)教程

    本文介紹瑞芯微RK3576平臺Android14系統(tǒng)三屏異顯開發(fā)的方法,使用觸覺智能EVB7608開發(fā)板演示,開發(fā)板板載雙千兆網(wǎng)口、HDMI
    的頭像 發(fā)表于 09-08 13:55 ?819次閱讀
    瑞芯微RK3576<b class='flag-5'>開發(fā)板</b><b class='flag-5'>Android</b>14三屏異顯<b class='flag-5'>開發(fā)</b>教程

    ZeroNews內(nèi)網(wǎng)穿透安全策略深度解析:構(gòu)建企業(yè)級安全連接體系

    通過ZeroNews(零訊)的安全策略,企業(yè)可在無公網(wǎng)IP環(huán)境下,構(gòu)建兼顧便捷性與安全性的遠(yuǎn)程訪問體系,為數(shù)字化轉(zhuǎn)型提供堅(jiān)實(shí)保障。
    的頭像 發(fā)表于 08-04 11:45 ?807次閱讀
    ZeroNews內(nèi)網(wǎng)穿透<b class='flag-5'>安全策略</b>深度解析:構(gòu)建企業(yè)級<b class='flag-5'>安全</b>連接體系

    告別燒固件,RK3562開發(fā)板Android系統(tǒng)屏幕方向臨時(shí)設(shè)置小妙招

    本文介紹RK3562開發(fā)板Android13系統(tǒng)不修改源碼情況下,通過修改系統(tǒng)配置文件來實(shí)現(xiàn)屏幕方向旋轉(zhuǎn)。使用觸覺智能RK3562開發(fā)板演示,搭載4核A53處理器,主頻高達(dá)2.0GHz;內(nèi)置獨(dú)立
    的頭像 發(fā)表于 07-11 18:48 ?942次閱讀
    告別燒固件,RK3562<b class='flag-5'>開發(fā)板</b><b class='flag-5'>Android</b>系統(tǒng)屏幕方向臨時(shí)設(shè)置小妙招

    【新品】遠(yuǎn)距離圖傳數(shù)傳模塊開發(fā)板、藍(lán)牙模塊開發(fā)板、無線模塊開發(fā)板

    新品上市圖傳數(shù)傳模塊開發(fā)板藍(lán)牙模塊開發(fā)板國產(chǎn)無線模塊開發(fā)板部分型號參與送樣文末了解詳情↓↓↓EWT611-900NW20S遠(yuǎn)距離圖傳數(shù)傳模塊開發(fā)板
    的頭像 發(fā)表于 06-12 19:33 ?1162次閱讀
    【新品】遠(yuǎn)距離圖傳數(shù)傳模塊<b class='flag-5'>開發(fā)板</b>、藍(lán)牙模塊<b class='flag-5'>開發(fā)板</b>、無線模塊<b class='flag-5'>開發(fā)板</b>

    3步精簡Android11預(yù)裝!瑞芯微開發(fā)板系統(tǒng)瘦身實(shí)戰(zhàn)

    本文介紹瑞芯微開發(fā)板安卓Android11系統(tǒng)預(yù)裝應(yīng)用裁剪的方法,使用觸覺智能PurplePiOH鴻蒙開發(fā)板演示,搭載了瑞芯微RK3566芯片,4核1.8Ghz+1T算力NPU;類樹莓派
    的頭像 發(fā)表于 06-06 17:57 ?1265次閱讀
    3步精簡<b class='flag-5'>Android</b>11預(yù)裝!瑞芯微<b class='flag-5'>開發(fā)板</b>系統(tǒng)瘦身實(shí)戰(zhàn)

    一文掌握RK3568開發(fā)板Android13掛載Windows共享目錄

    在物聯(lián)網(wǎng)和邊緣計(jì)算場景中,開發(fā)板與PC端的高效文件交互尤為重要。現(xiàn)以iTOP-RK3568開發(fā)板為例,詳細(xì)演示Android13系統(tǒng)如何通過CIFS協(xié)議掛載Windows共享目錄,實(shí)現(xiàn)開發(fā)板
    的頭像 發(fā)表于 04-17 13:54 ?1221次閱讀
    一文掌握RK3568<b class='flag-5'>開發(fā)板</b><b class='flag-5'>Android</b>13掛載Windows共享目錄

    RK3568開發(fā)板教程:以iTOP-RK3568開發(fā)板為例 Android13通過CIFS協(xié)議掛載Windows共享目錄

    開發(fā)板與PC端的高效文件交互尤為重要。現(xiàn)以iTOP-RK3568開發(fā)板為例,詳細(xì)演示Android13系統(tǒng)如何通過CIFS協(xié)議掛載Windows共享目錄,實(shí)現(xiàn)開發(fā)板與PC的無縫文件共享
    的頭像 發(fā)表于 04-16 14:08 ?1860次閱讀
    RK3568<b class='flag-5'>開發(fā)板</b>教程:以iTOP-RK3568<b class='flag-5'>開發(fā)板</b>為例 <b class='flag-5'>Android</b>13通過CIFS協(xié)議掛載Windows共享目錄

    迅為iTOP-RK3576人工智能開發(fā)板Android?系統(tǒng)接口功能測試

    迅為iTOP-RK3576人工智能開發(fā)板Android?系統(tǒng)接口功能測試
    的頭像 發(fā)表于 03-28 14:45 ?3806次閱讀
    迅為iTOP-RK3576人工智能<b class='flag-5'>開發(fā)板</b><b class='flag-5'>Android</b>?系統(tǒng)接口功能測試