女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

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

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

平臺:OKT507-C開發板

系統Android10.0

OKT507-C開發板Android系統版本為Android10.0,默認開啟了SELinux。基于MAC訪問控制模型的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

    文章

    3963

    瀏覽量

    129552
  • 開發板
    +關注

    關注

    25

    文章

    5524

    瀏覽量

    102305
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

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

    開發板與PC端的高效文件交互尤為重要。現以iTOP-RK3568開發板為例,詳細演示Android13系統如何通過CIFS協議掛載Windows共享目錄,實現開發板與PC的無縫文件共享
    的頭像 發表于 04-16 14:08 ?644次閱讀
    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 ?2089次閱讀
    迅為iTOP-RK3576人工智能<b class='flag-5'>開發板</b><b class='flag-5'>Android</b>?系統接口功能測試

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

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

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

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

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

    瑞芯微方案主板Android系統串口測試方法,通用RK3568、RK3566、RK3588、RK3576等。觸覺智能RK3562開發板演示
    的頭像 發表于 12-24 11:51 ?779次閱讀
    瑞芯微<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 ?816次閱讀
    [迅為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 ?826次閱讀
    基于迅為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 ?942次閱讀
    迅為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

    設計TMS320C548/9 DSP開發板

    電子發燒友網站提供《設計TMS320C548/9 DSP開發板.pdf》資料免費下載
    發表于 10-26 10:13 ?0次下載
    設計TMS320<b class='flag-5'>C</b>548/9 DSP<b class='flag-5'>開發板</b>

    在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 ?1061次閱讀
    <b class='flag-5'>Android</b>案例分享,基于瑞芯微RK3568<b class='flag-5'>國產</b><b class='flag-5'>平臺</b>!

    迅為國產四核RK3562開發板底板硬件接口原理說明

    迅為國產四核RK3562開發板底板硬件接口原理說明
    的頭像 發表于 06-14 15:27 ?2649次閱讀
    迅為<b class='flag-5'>國產</b>四核RK3562<b class='flag-5'>開發板</b>底板硬件接口原理說明