在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

國產平臺之OKT507-C開發板Android 安全策略漫談

飛凌嵌入式 ? 2021-12-03 11:42 ? 次閱讀

平臺:OKT507-C開發板

系統Android10.0

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

從系統安全方面考慮,SELinux是保護神,但是從軟件開發方面,SELinux就是一道牽絆,這是一把雙刃劍。

比如我們開發應用或者增加系統服務的某些權限的時候,我們必須遵循SELinux的規則,給我們的應用設置對應的安全策略,否則我們的應用就不具備訪問數據或者設備的權限。下面我們MAC訪問控制模型開始,簡單的梳理一下OKT507-C開發板 Android的安全策略,以及自定義OKT507-C開發板 Android安全策略的方法。

訪問控制模型DAC,MAC

訪問控制是指控制對計算機或者網絡中某個資源的訪問。沒有它,所有人都可以訪問任何資源。有了訪問控制,用戶在獲取實際訪問資源或進行操作之前,必須通過識別、驗證、授權。

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

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

基于MAC的SElinux


  1. 參考鏈接:

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

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

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

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

OKT507-C開發板 Android系統版本為Android10,SELinux默認開啟,即使獲得了該系統的root權限,也只能向相關策略中指定的設備寫入數據,從而更好地保護和限制系統服務,保障系統和數據的安全。

標簽、規則和域

SELinux 依靠標簽來匹配操作和策略。標簽用于決定允許的事項。套接字、文件和進程在 SELinux 中都有標簽。SELinux 在做決定時需參照兩點:一是為這些對象分配的標簽,二是定義這些對象如何交互的策略。

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

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


  1. Domain - 一個進程或一組進程的標簽。也稱為域類型,因為它只是指進程的類型。

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

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

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

策略配置源文件

1、external/sepolicy這是獨立于設備的配置,一般不能針對設備進行修改2、device///sepolicy這是特定于設備的配置,基于 BOARDSEPOLICY* 變量來選擇對應平臺的策略配置。

以OKT507-C開發板為例,OKT507-C開發板策略文件的路徑如下:


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

  2. private vendor

Type Enforcement (TE) 配置文件

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

以OKT507-C開發板為例,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

標簽配置文件

1、filecontexts:文件安全上下文

2、propertycontexts:屬性安全上下文

SEAndroid app分類

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

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

3)system_app 有android平臺簽名和system權限

從上面劃分,權限等級,理論上:untrustedapp < platformapp < system_app

以OKT507-C開發板為例,查看當前運行的應用信息:

  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

當前運行的兩個APP,forlinx.example.app的type就是systemapp,com.forlinx.changelogo的type就是untrustedapp。

OKT507-C開發板自定義system_app的安全策略

以OKT507-C開發板中的Systemmix服務為例,我們為其添加執行腳本的權限:


  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. ...

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Android
    +關注

    關注

    12

    文章

    3966

    瀏覽量

    129652
  • 開發板
    +關注

    關注

    25

    文章

    5565

    瀏覽量

    102748
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    【新品】遠距離圖傳數傳模塊開發板、藍牙模塊開發板、無線模塊開發板

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

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

    在物聯網和邊緣計算場景中,開發板與PC端的高效文件交互尤為重要。現以iTOP-RK3568開發板為例,詳細演示Android13系統如何通過CIFS協議掛載Windows共享目錄,實現開發板
    的頭像 發表于 04-17 13:54 ?320次閱讀
    一文掌握RK3568<b class='flag-5'>開發板</b><b class='flag-5'>Android</b>13掛載Windows共享目錄

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

    開發板與PC端的高效文件交互尤為重要?,F以iTOP-RK3568開發板為例,詳細演示Android13系統如何通過CIFS協議掛載Windows共享目錄,實現開發板與PC的無縫文件共享
    的頭像 發表于 04-16 14:08 ?670次閱讀
    RK3568<b class='flag-5'>開發板</b>教程:以iTOP-RK3568<b class='flag-5'>開發板</b>為例 <b class='flag-5'>Android</b>13通過CIFS協議掛載Windows共享目錄

    迅為iTOP-RK3576人工智能開發板Android?系統接口功能測試

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

    國產FPGA入學必備】刀劍在鞘,兵器先藏 | 盤古676系列國產FPGA開發板

    同創攜手金牌方案提供商小眼睛科技,組織了數十位應用技術專家,共同編寫《國產FPGA權威設計指南》。 這本教材選擇的實驗平臺也是這款盤古676系列開發板! 本書系統地介紹紫光同創FPGA的開發
    發表于 02-20 15:38

    迅為RK3576開發板Android?多屏顯示

    迅為RK3576開發板Android?多屏顯示
    的頭像 發表于 01-16 16:58 ?878次閱讀
    迅為RK3576<b class='flag-5'>開發板</b><b class='flag-5'>Android</b>?多屏顯示

    瑞芯微開發板/主板Android系統APK簽名文件使用方法,實用干貨

    瑞芯微主板/開發板Android系統,APK系統簽名文件使用方法
    的頭像 發表于 12-26 09:43 ?842次閱讀
    瑞芯微<b class='flag-5'>開發板</b>/主板<b class='flag-5'>Android</b>系統APK簽名文件使用方法,實用干貨

    瑞芯微平臺Android系統串口測試方法,觸覺智能RK3562開發板演示

    瑞芯微方案主板Android系統串口測試方法,通用RK3568、RK3566、RK3588、RK3576等。觸覺智能RK3562開發板演示
    的頭像 發表于 12-24 11:51 ?817次閱讀
    瑞芯微<b class='flag-5'>平臺</b><b class='flag-5'>Android</b>系統串口測試方法,觸覺智能RK3562<b class='flag-5'>開發板</b>演示

    [迅為RK3568開發板]非科班也能玩轉Android應用,體驗QT跨平臺能力

    [迅為RK3568開發板]非科班也能玩轉Android應用,體驗QT跨平臺能力
    的頭像 發表于 12-18 16:41 ?843次閱讀
    [迅為RK3568<b class='flag-5'>開發板</b>]非科班也能玩轉<b class='flag-5'>Android</b>應用,體驗QT跨<b class='flag-5'>平臺</b>能力

    基于迅為RK3568開發板國產平臺,快速實現APP開機自啟動技術分享

    基于迅為RK3568開發板國產平臺,快速實現APP開機自啟動技術分享
    的頭像 發表于 11-21 13:58 ?851次閱讀
    基于迅為RK3568<b class='flag-5'>開發板</b>全<b class='flag-5'>國產</b><b class='flag-5'>平臺</b>,快速實現APP開機自啟動技術分享

    迅為RK3588開發板Android12動態替換開機logo

    迅為RK3588開發板Android12動態替換開機logo
    的頭像 發表于 11-15 15:04 ?967次閱讀
    迅為RK3588<b class='flag-5'>開發板</b><b class='flag-5'>Android</b>12動態替換開機logo

    全志T507-H國產平臺Ubuntu系統正式發布,讓您的應用開發更便捷!

    ].tar.gz(基于全志官方V2.0_20220618) 全志T507-H國產平臺T507-H是全志科技4核ARM Cortex-A53處理器,創龍科技基于T
    發表于 10-29 09:39

    在TI開發板上啟用Android Automotive

    電子發燒友網站提供《在TI開發板上啟用Android Automotive.pdf》資料免費下載
    發表于 09-18 14:52 ?0次下載
    在TI<b class='flag-5'>開發板</b>上啟用<b class='flag-5'>Android</b> Automotive

    國產!全志科技T507-H工業開發板( 4核ARM Cortex-A5)規格書

    參數 表 2 4 開發資料 (1) 提供核心引腳定義、可編輯底板原理圖、可編輯底板 PCB、芯片 Datasheet ,協 助國產元器件方案選型, 縮短硬件設計周期; (2) 提供系統固化
    發表于 07-12 17:22

    Android案例分享,基于瑞芯微RK3568國產平臺!

    SDK:Rockchip_Android13_SDK_Release ? 硬件平臺介紹 創龍科技TL3568-EVM是一款基于瑞芯微RK3568J/RK3568B2處理器設計的四核ARM Cortex-A55國產工業評估
    的頭像 發表于 06-20 10:04 ?1081次閱讀
    <b class='flag-5'>Android</b>案例分享,基于瑞芯微RK3568<b class='flag-5'>國產</b><b class='flag-5'>平臺</b>!
    主站蜘蛛池模板: 在线观看黄色x视频 | 久久精品高清视频 | 亚洲一本高清 | 久久女人网 | 老色99久久九九精品尤物 | 3344在线观看永久免费 | 夜夜福利| 天天看片夜夜爽 | 波多野结衣一级特黄毛片 | 久久久久国产一级毛片高清片 | 久青草视频在线 | 8050网午夜一级毛片免费不卡 | 一级毛片看真人在线视频 | 黄色网址 在线播放 | 高级毛片 | 偷自在线 | 激情在线网站 | 天堂成人 | 丁香六月婷婷综合 | 欧美ggg666| 五月天免费在线播放 | 俺去俺来也www色官网免费的 | 三级网站在线看 | 综合激情网站 | 天堂网www在线| 一级毛片免费毛片一级毛片免费 | 国产色丁香久久综合 | 91成人免费福利网站在线 | 成人黄色免费观看 | 日韩中文视频 | 超级淫小黄文大全很污的那种 | 亚洲人成网站色7799在线播放 | 天堂资源8中文最新版在线 天堂资源地址在线 | 久久草在线看 | 狠狠躁夜夜躁人人爽天天天天 | 国内精品网站 | 婷婷综合五月 | 日韩三级中文字幕 | 精品久久久久久国产免费了 | 国产激情片 | 亚洲人成电影在线小说网色 |