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

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

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

智能終端安全:內(nèi)核安全-SElinux整體架構(gòu)

冬至子 ? 來源:TrustZone ? 作者:Hkcoco ? 2023-10-18 15:06 ? 次閱讀

這里來看看操作系統(tǒng)之前先看看內(nèi)核

操作系統(tǒng)和內(nèi)核是包含關(guān)系,內(nèi)核是操作系統(tǒng)最基本的部分,它提供了操作系統(tǒng)的最基本功能,是操作系統(tǒng)工作的基礎(chǔ)。

操作系統(tǒng)內(nèi)核負責操作系統(tǒng)的任務(wù)調(diào)度、用戶管理、內(nèi)存管理、多線程支持、多CPU支持等,并包含 必要的網(wǎng)絡(luò)協(xié)議、驅(qū)動等 。

內(nèi)核是所有軟件的基礎(chǔ),相應(yīng)的 內(nèi)核安全是操作系統(tǒng)安全的基礎(chǔ) 。

這里其實可以理解一下什么內(nèi)核和操作系統(tǒng):簡言之,操作系統(tǒng)就是內(nèi)核掌握了技能之后的樣子。

當前主流操作系統(tǒng)的內(nèi)核都屬于UNIX(或類UNIX)系統(tǒng)。UNIX是一個強大的多用戶、多任務(wù)操作系統(tǒng),支持多種處理器架構(gòu),屬于分時操作系統(tǒng)。

UNIX最早于1969年在AT&T的貝爾實驗室開發(fā),隨著時間演進產(chǎn)生若干分支,并在移動智能終端操作系統(tǒng)中獲得廣泛使用,如 iOS系統(tǒng)基于UNIX BSD規(guī)范 ,而 Android則基于Linux,同屬UNIX大類

簡單地說,UNIX是現(xiàn)代操作系統(tǒng)的典型代表,也是各種主要OS的技術(shù)源泉;而Linux是類UNIX的一個開源版本,具有產(chǎn)品級的系統(tǒng)穩(wěn)定性。

典型終端操作系統(tǒng)內(nèi)核使用情況如表所示。

image.png

可以看到,除了iOS,其他多數(shù)移動智能終端操作系統(tǒng)均采用了Linux內(nèi)核。但iOS系統(tǒng)是封閉的,整體來說,對Linux內(nèi)核的安全研究有相當?shù)膶嶋H價值。

在Linux基礎(chǔ)之上,2000年12月22日美國國家安全局(NSA,National Security Agency)發(fā)布了Linux安全增強版本SELinux, 其全稱為Security-Enhanced Linux ,之后被合并到主線Linux內(nèi)核版本中。隨著近幾年安全需求的不斷增強,SELinux開始在產(chǎn)品和系統(tǒng)中獲得使用。

于是請歡迎咱們的主角SELinux登場?。?!

1、SELinux整體架構(gòu)

1.1 SELinux基本概念

SELinux由NSA發(fā)布,之后,Red Hat、Network Associates、Secure Computing Corporation、Tresys Technology以及Trusted Computer Solutions等公司及研究團隊都為SELinux的發(fā)展做出了重要的貢獻。

SELinux本質(zhì)是一個Linux內(nèi)核安全模塊 ,可在Linux系統(tǒng)中配置其狀態(tài)。SELinux的狀態(tài)分為3種,即disabled、permissive和enforcing。

  • (1)disabled狀態(tài):指在Linux系統(tǒng)中不啟用SELinux模塊的功能。
  • (2)permissive狀態(tài):指在Linux系統(tǒng)中,SELinux模塊處于Debug模式, 若操作違反策略系統(tǒng)將對違反內(nèi)容進行記錄 ,但不影響后續(xù)操作。
  • (3)enforcing狀態(tài):指在Linux系統(tǒng)中,SELinux模塊有效, 若操作違反策略,SELinux模塊將無法繼續(xù)工作 。

SELinux涉及的重要概念如下。

(1)主體

主體是訪問操作的發(fā)起者 ,是系統(tǒng)中信息流的啟動者。主體通常指用戶或代表用戶意圖的進程。

通常, 主體是訪問的發(fā)起者,但有時也會成為訪問或受控的對象 。

一個主體可以向另一個主體授權(quán),一個進程可能會控制幾個子進程,這時受控的主體或子進程就是一種客體。

(2)客體

客體相對主體而存在,通??腕w 是指信息的載體或從其他主體或客體接收信息的實體 ,即訪問對象。

(3)訪問控制分類

管理方式的不同形成不同的訪問控制方式。

通常,訪問控制方式分為兩類:自主訪問控制(DAC, Discretionary Access Control)和強制訪問控制(MAC, Mandatory Access Control)。

(4)域

域決定了系統(tǒng)中進程的訪問,所有進程都在域中運行 。本質(zhì)上 ,域是一個進程允許的操作列表,決定了一個進程可以對哪些類型進行操作 。SELinux中域的概念相當于標準Linux中uid的概念。

(5)類型

類型與域的概念基本相似,但是, 域是相對進程主體的概念,類型是相對目錄、文件等客體的概念 。類型分配給一個客體,并決定哪個主體可以訪問該客體。

(6)角色

角色決定了可以使用哪些域 。具體哪些角色可以使用哪些域,需要在策略配置文件中預(yù)先定義。如果在策略配置文件中定義了某個角色不可以使用某個域,在實際使用中將會被拒絕。

(7)身份

身份屬于安全上下文的一部分,身份決定了本質(zhì)上可以執(zhí)行哪個域。

(8)安全上下文

安全上下文是對操作涉及的所有部分的屬性描述,包括身份、角色、域、類型。

(9)策略

策略是規(guī)則的集合,是可以設(shè)置的規(guī)則。

策略決定一個角色的用戶可以訪問什么,哪個角色可以進入哪個域,哪個域可以訪問哪個類型等。

1.2、SELinux內(nèi)核架構(gòu)

最早期的SELinux是Linux系統(tǒng)一個增強安全的補丁集,其后為解決每個系統(tǒng)對安全的細節(jié)控制不盡相同的問題,Linux安全框架(LSM, Linux Security Modules)被提出,使SELinux可作為可加載的安全模塊運行。

LSM是一個底層的安全策略框架,Linux系統(tǒng)利用LSM管理所有的系統(tǒng)調(diào)用。SELinux通過LSM框架整合到Linux內(nèi)核中。

當用戶進程執(zhí)行系統(tǒng)調(diào)用時,進程首先遍歷Linux內(nèi)核現(xiàn)有的邏輯尋找和分配資源,進行一些常規(guī)的錯誤檢查,然后進行DAC自動訪問控制。

自主訪問控制(DAC, Discretionary Access Control)

進程僅在內(nèi)核訪問內(nèi)部對象之前,由LSM的鉤子詢問LSM模塊可否訪問,LSM模塊處理該策略問題并回答可以訪問或拒絕訪問。

LSM框架主要包括安全服務(wù)器、客體管理器和訪問向量緩存。LSM模塊架構(gòu)如圖所示。

image.png

安全服務(wù)器負責策略決定,安全服務(wù)器使用的策略通過策略管理接口載入。

客體管理器負責按照安全服務(wù)器的策略決定強制執(zhí)行它管理的資源集。

對于內(nèi)核, 客體管理器可以理解為一個內(nèi)核子系統(tǒng) ,負責創(chuàng)建并管理內(nèi)核級的客體,包括文件系統(tǒng)、進程管理和System V進程間通信(IPC, Inter-Process Communication)。

訪問向量緩存(AVC, Access Vector Cache)提升了訪問確認的速度,并為LSM鉤子和內(nèi)核客體管理器提供了SELinux接口。

1.3、SELinux策略語言

SELinux架構(gòu)中,對于內(nèi)核資源,策略通過策略管理接口載入SELinux LSM模塊安全服務(wù)器中,從而決定訪問控制。

SELinux的優(yōu)勢是其策略規(guī)則不是靜態(tài)的,用戶必須按照安全目標的要求自行編寫策略。使用和應(yīng)用SELinux本質(zhì)上就是編寫和執(zhí)行策略的過程。

策略在策略源文件中描述。策略源文件名稱為policy.conf,其文件結(jié)構(gòu)包括以下幾點。

  • (1)類別許可, 指安全服務(wù)器的客體類別 ,對于內(nèi)核而言, 類別直接關(guān)系內(nèi)核源文件許可指針對每個客體類別的許可。 通常,SELinux策略編寫者不會修改客體的類別和許可定義。
  • (2)類型強制聲明,包括所有的類型聲明和所有的TE(Type Enforcement,類型強制)規(guī)則,是SELinux策略中最重要的部分。
  • (3)約束,是TE規(guī)則許可范圍之外的規(guī)則,為TE規(guī)則提供必要的限制。多級安全(MLS)是一種約束規(guī)則。
  • (4)資源標記說明,指對所有客體都必須添加的一個“安全上下文”標記,是SELinux實施訪問控制的前提。SELinux根據(jù)資源標記說明處理文件系統(tǒng)標記以及標記運行時創(chuàng)建的臨時客體規(guī)則。

SELinux策略大而復(fù)雜,由一個個小的策略模塊構(gòu)成。

策略模塊的生成一般采用源模塊法。源模塊法支持單策略的開發(fā),并通過一組shell腳本、m4宏和Makefile一起合并成為文本文件。

多個策略模塊集合組成策略源文件,即policy.conf,策略源文件是文本文件,通過策略編譯器checkpolicy編譯為二進制文件policy.xx(xx為版本號),并通過策略裝載函數(shù)security_load_policy載入內(nèi)核且實施訪問控制。

使用源模塊構(gòu)造和載入SELinux策略的全過程如圖所示。

image.png

  • 首先,通過源模塊法生成一個個策略模塊,策略模塊聚合形成一個大的策略源文件policy.conf;
  • 其次,策略源文件policy.conf通過策略編譯器checkpolicy,生成可被內(nèi)核讀取的二進制文件policy.xx;
  • 最后,policy.xx通過策略裝載函數(shù)security_load_policy載入內(nèi)核空間并實施訪問控制。

目前,在SELinux策略上常見的是單策略組合。

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

    關(guān)注

    2

    文章

    772

    瀏覽量

    41534
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    588

    瀏覽量

    27262
  • 狀態(tài)機
    +關(guān)注

    關(guān)注

    2

    文章

    489

    瀏覽量

    27433
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用 閱讀體驗 +分離內(nèi)核的嵌入式Hyperviso

    讀后感:分離內(nèi)核與SKH架構(gòu)的深刻洞察 在閱讀了關(guān)于分離內(nèi)核和SKH(分離內(nèi)核Hypervisor)的詳細闡述后,我深感這一技術(shù)在現(xiàn)代計算機系統(tǒng),尤其是嵌入式系統(tǒng)和
    的頭像 發(fā)表于 10-12 17:06 ?161次閱讀
    嵌入式Hypervisor:<b class='flag-5'>架構(gòu)</b>、原理與應(yīng)用 閱讀體驗 +分離<b class='flag-5'>內(nèi)核</b>的嵌入式Hyperviso

    電梯報警顯示終端智能電梯時代如何重塑安全管理?

    在現(xiàn)代都市的摩天大樓中,電梯作為垂直交通的重要工具,其安全性直接關(guān)系到每一位乘客的生命財產(chǎn)安全。隨著科技的進步,電梯報警顯示終端作為電梯安全管理系統(tǒng)的重要組成部分,正逐步成為提升電梯運
    的頭像 發(fā)表于 09-10 11:08 ?239次閱讀

    中國首個終端安全生態(tài)聯(lián)盟成立

    國內(nèi)首個聚焦于終端安全的生態(tài)聯(lián)盟——ISC終端安全生態(tài)聯(lián)盟,近日宣告正式成立,標志著我國在構(gòu)建安全可信的數(shù)字環(huán)境上邁出了重要一步。該聯(lián)盟匯聚
    的頭像 發(fā)表于 08-30 16:15 ?1056次閱讀

    國內(nèi)首個專注于終端安全的生態(tài)聯(lián)盟正式成立

    8月30日,國內(nèi)首個聚焦于終端安全領(lǐng)域的生態(tài)聯(lián)盟——ISC終端安全生態(tài)聯(lián)盟宣告成立,標志著行業(yè)邁入了一個嶄新的協(xié)作時代。該聯(lián)盟匯聚了包括360、龍芯、統(tǒng)信、用友、海泰方圓、微步在線等在
    的頭像 發(fā)表于 08-30 14:25 ?288次閱讀

    如何保障后臺與終端產(chǎn)品之間數(shù)據(jù)安全交互

    隨著互聯(lián)網(wǎng)、智能終端等相關(guān)行業(yè)的飛速發(fā)展,對終端產(chǎn)品遠程控制的需求在人們生活中越來越普遍。如何保障后臺與終端產(chǎn)品之間數(shù)據(jù)安全交互、不被篡改、
    的頭像 發(fā)表于 08-26 17:20 ?279次閱讀
    如何保障后臺與<b class='flag-5'>終端</b>產(chǎn)品之間數(shù)據(jù)<b class='flag-5'>安全</b>交互

    恒訊科技分析:Linux系統(tǒng)的vps服務(wù)器怎么關(guān)閉selinux?

    在Linux系統(tǒng)中,SELinux(Security-Enhanced Linux)是一個強制訪問控制系統(tǒng),用于增強系統(tǒng)的安全性。如果你需要關(guān)閉SELinux,可以按照以下步驟操作: 1、臨時關(guān)閉
    的頭像 發(fā)表于 07-17 13:29 ?336次閱讀

    帶你走進信息安全軟件架構(gòu)

    經(jīng)緯恒潤車端信息安全解決方案整合了 MCU 端以及 MPU 端的信息安全解決方案,具體方案包括 Security Boot、安全通信、安全存儲、安全
    的頭像 發(fā)表于 06-12 14:36 ?806次閱讀
    帶你走進信息<b class='flag-5'>安全</b>軟件<b class='flag-5'>架構(gòu)</b>

    OpenHarmony中SELinux使用詳解

    在OH中應(yīng)用整體來說,功能和以上介紹的使用方法并無太大差別,只是在原生SELinux內(nèi)核中做了部分驅(qū)動和文件系統(tǒng)的適配。目前碼云社區(qū)上master分支以RK3568為例子做了適配并開啟了SEL
    發(fā)表于 04-03 10:43

    基于多內(nèi)核的操作系統(tǒng)內(nèi)生安全技術(shù)

    萬物互聯(lián),設(shè)備越來越多,且智能化、網(wǎng)絡(luò)化趨勢日益明顯,成為未來發(fā)展的一個必然方向,但同時也為系統(tǒng)安全帶來了新的挑戰(zhàn)與機遇,功能安全與網(wǎng)絡(luò)安全的各種問題和隱患也隨之而來。操作系統(tǒng)是軟件
    的頭像 發(fā)表于 01-16 11:07 ?602次閱讀
    基于多<b class='flag-5'>內(nèi)核</b>的操作系統(tǒng)內(nèi)生<b class='flag-5'>安全</b>技術(shù)

    什么是智能安全帽,如何選購智能安全帽,智能安全帽的主要功能

    什么是智能安全帽,如何選購智能安全帽,智能安全帽的主要功能
    的頭像 發(fā)表于 12-20 09:29 ?1073次閱讀
    什么是<b class='flag-5'>智能</b><b class='flag-5'>安全</b>帽,如何選購<b class='flag-5'>智能</b><b class='flag-5'>安全</b>帽,<b class='flag-5'>智能</b><b class='flag-5'>安全</b>帽的主要功能

    第二屆大會回顧第5期 | 分級安全架構(gòu)構(gòu)筑智能汽車功能、網(wǎng)絡(luò)、隱私三安全

    委員會副首席科學家、終端BG/車BU首席安全架構(gòu)師。主要負責HarmonyOS/OpenHarmony操作系統(tǒng)安全架構(gòu)設(shè)計、終端芯片安全架構(gòu)
    的頭像 發(fā)表于 12-19 08:36 ?408次閱讀
    第二屆大會回顧第5期 | 分級<b class='flag-5'>安全架構(gòu)</b>構(gòu)筑<b class='flag-5'>智能</b>汽車功能、網(wǎng)絡(luò)、隱私三<b class='flag-5'>安全</b>

    架構(gòu)下的功能安全思考

    到新的區(qū)域控制器。同時,區(qū)域控制器也集成了二級智能配電功能,真正形成了Power HUB, IO HUB, Data HUB。 整車區(qū)域架構(gòu) 新EEA架構(gòu)下,功能安全也隨之有了新的變化
    的頭像 發(fā)表于 11-06 08:40 ?505次閱讀
    域<b class='flag-5'>架構(gòu)</b>下的功能<b class='flag-5'>安全</b>思考

    SELinux策略語言是什么

    SELinux策略語言 SELinux架構(gòu)中,對于內(nèi)核資源,策略通過策略管理接口載入SELinux LSM模塊
    的頭像 發(fā)表于 10-31 14:58 ?519次閱讀
    <b class='flag-5'>SELinux</b>策略語言是什么

    SELinux內(nèi)核架構(gòu)

    SELinux可作為可加載的安全模塊運行。 LSM是一個底層的安全策略框架,Linux系統(tǒng)利用LSM管理所有的系統(tǒng)調(diào)用。SELinux通過LSM框架整合到Linux
    的頭像 發(fā)表于 10-31 14:50 ?436次閱讀
    <b class='flag-5'>SELinux</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>架構(gòu)</b>

    SELinux基本概念介紹

    Computer Solutions等公司及研究團隊都為SELinux的發(fā)展做出了重要的貢獻。 SELinux本質(zhì)是一個Linux內(nèi)核安全模塊,可在Linux系統(tǒng)中配置其狀態(tài)。
    的頭像 發(fā)表于 10-31 14:42 ?998次閱讀