在线观看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。基于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

    文章

    3940

    瀏覽量

    127649
  • 開發板
    +關注

    關注

    25

    文章

    5096

    瀏覽量

    97825
收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

    [迅為RK3568開發板]非科班也能玩轉Android應用,體驗QT跨平臺能力
    的頭像 發表于 12-18 16:41 ?387次閱讀
    [迅為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 ?411次閱讀
    基于迅為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 ?543次閱讀
    迅為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 ?705次閱讀
    <b class='flag-5'>Android</b>案例分享,基于瑞芯微RK3568<b class='flag-5'>國產</b><b class='flag-5'>平臺</b>!

    ARM Cortex-A53嵌入式開發平臺FETT507-C OKT507-C用戶編譯手冊

    電子發燒友網站提供《ARM Cortex-A53嵌入式開發平臺FETT507-C OKT507-C用戶編譯手冊.pdf》資料免費下載
    發表于 04-28 15:20 ?0次下載

    實測14us,Linux-RT實時性能及開發案例分享—基于全志T507-H國產平臺

    本文帶來的是基于全志T507-H(硬件平臺:創龍科技TLT507-EVM評估),Linux-RT內核的硬件GPIO輸入和輸出實時性測試及應用開發
    的頭像 發表于 04-18 09:34 ?1048次閱讀
    實測14us,Linux-RT實時性能及<b class='flag-5'>開發</b>案例分享—基于全志T<b class='flag-5'>507</b>-H<b class='flag-5'>國產</b><b class='flag-5'>平臺</b>

    Android發布,全志T507四核A53@1.4GHz工業平臺,含稅僅168元起!

    近年來,Android系統在工業自動化、儀器儀表、醫療、安防等工業領域的使用日趨廣泛。為了滿足廣大工業用戶的需求,創龍科技針對全志T507-H工業平臺進行了Android系統適配。 ?
    的頭像 發表于 02-06 09:59 ?759次閱讀
    <b class='flag-5'>Android</b>發布,全志T<b class='flag-5'>507</b>四核A53@1.4GHz工業<b class='flag-5'>平臺</b>,含稅僅168元起!

    fpga開發板與linux開發板區別

    FPGA開發板與Linux開發板是兩種不同的硬件開發平臺,各自具有不同的特點和應用場景。在以下的文章中,我將詳細介紹FPGA開發板和Linu
    的頭像 發表于 02-01 17:09 ?2360次閱讀

    TLT507-Android開發環境搭建

    TLT507-Android開發環境搭建
    的頭像 發表于 01-26 17:03 ?621次閱讀
    TLT<b class='flag-5'>507-Android</b><b class='flag-5'>開發</b>環境搭建

    TLT507-Android應用開發手冊

    TLT507-Android應用開發手冊
    的頭像 發表于 01-26 15:32 ?563次閱讀
    TLT<b class='flag-5'>507-Android</b>應用<b class='flag-5'>開發</b>手冊
    主站蜘蛛池模板: 欧美日本一区二区| 国内自拍露脸普通话对白在线 | 亚洲人成网i8禁止| 女bbbbxxxx视频| 69er小视频| 男人边吃奶边爱边做视频日韩| 亚洲欧洲色| 亚洲第一网站快活影院| 久久免费视频网站| 日韩三级久久| 亚洲大成色www永久网址| 亚洲福利视频一区二区三区| 亚洲卡5卡6卡7国色天香| 免费的毛片网站| 亚洲一区二区三区四区在线观看| 国产人人看| 女bbbbxxxx毛片视频| 九九热精品国产| 免费的三及片| 欧美成人影院| 在线视频h| 8050网午夜| www.干| 中文字幕亚洲一区二区v@在线| 97天天干| 欧美亚洲在线| 天堂新版www中文| 亚洲国产成人久久三区| 色婷婷99综合久久久精品| 午色| 兔费看全黄三级| 性欧美视频在线观看| xxⅹ丰满妇女与善交| 特黄aaaaaa久久片| 亚洲福利秒拍一区二区| 久久精品国产99久久72| 美女露出扒开尿口让男人桶| 羞羞爱爱| 狠狠色丁香久久婷婷| 第四色播日韩第一页| videosgratis乱色欧美野外|