国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Open Harmony與Android框架安全機制分析

2023-11-06 09:38:42徐仙偉錢珺
電腦知識與技術(shù) 2023年25期
關(guān)鍵詞:內(nèi)核進程應(yīng)用程序

徐仙偉,錢珺

(南京森林警察學院信息技術(shù)學院,江蘇南京 210023)

0 引言

Open Harmony 是開放原子開源基金會(Open Atom Foundation)的一款運營項目,采用開源方式,目的是構(gòu)建一款智能化終端設(shè)備操作系統(tǒng)框架和平臺,實現(xiàn)全場景、全連接、全智能化的設(shè)備應(yīng)用,真正實現(xiàn)萬物互聯(lián)的社會發(fā)展需求。華為Harmony OS 正是基于Open Harmony開發(fā),借助分布式技術(shù),將使用人、智能設(shè)備以及應(yīng)用場景有機結(jié)合,使人在各種場景中應(yīng)用的多種智能終端設(shè)備實現(xiàn)極速發(fā)現(xiàn)與連接,達到設(shè)備間硬件資源互助,系統(tǒng)資源共享等體驗效果,真正實現(xiàn)萬物互聯(lián)[1-2]。

安卓(Android)是基于Linux 內(nèi)核(不包含GNU 組件)的開源操作系統(tǒng)框架。當前主要用于一些移動智能終端,如智能手機和平板電腦等。該框架由美國谷歌公司和開放手機聯(lián)盟共同管理和開發(fā),因其開放性特點使得眾多開發(fā)者參與其中,從而出現(xiàn)許多移動終端廠商加入安卓聯(lián)盟。

本文將對上述兩種系統(tǒng)開發(fā)框架進行闡述,著重從信息安全角度對其安全機制進行分析,對比分析各自的優(yōu)勢和不足,為信息安全人員從事相關(guān)研究和實踐提供理論依據(jù)。

1 系統(tǒng)體系架構(gòu)分析

1.1 Open Harmony

Open Harmony采用分層設(shè)計思想,包括:內(nèi)核層、系統(tǒng)服務(wù)層、框架層、應(yīng)用層。系統(tǒng)功能上主要按照系統(tǒng)→子系統(tǒng)→功能/模塊的方式進行逐級展開,能夠在多設(shè)備應(yīng)用場景下,根據(jù)實際需求進行功能/模塊裁剪[3],實現(xiàn)設(shè)備互通、應(yīng)用服務(wù)需求滿足的同時降低系統(tǒng)資源消耗。

在內(nèi)核上該架構(gòu)主要采用多內(nèi)核設(shè)計,支持針對不同資源受限設(shè)備選用適合的OS 內(nèi)核。其中,系統(tǒng)服務(wù)層是系統(tǒng)的核心能力集合,包含了多種服務(wù)子系統(tǒng)集,并根據(jù)不同設(shè)備形態(tài)進行環(huán)境部署。同時,該層通過框架層向應(yīng)用層中應(yīng)用程序提供服務(wù)。框架層主要為系統(tǒng)應(yīng)用開發(fā)提供Java/C/C++/JS 等多語言的用戶程序框架、Ability 框架等。應(yīng)用層主要包括系統(tǒng)應(yīng)用和第三方非系統(tǒng)應(yīng)用。

1.2 Android

Android 架構(gòu)主要分為四層,從上到下依次為應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運行庫層以及內(nèi)核層。其中,應(yīng)用程序?qū)又饕峁?yīng)用程序,常用Java語言編寫開發(fā),因其簡單易學可被開發(fā)人員及時更新與替換,因此具有較高的靈活性和個性化特點。應(yīng)用程序框架層提供了Android 應(yīng)用開發(fā)的基礎(chǔ)功能,許多核心應(yīng)用程序功能需要通過該層來實現(xiàn)。同時,該層中簡化了組件的重用,一方面,使得開發(fā)人員可直接使用現(xiàn)有的組件進行快速開發(fā),另一方面,也可以通過繼承方式實現(xiàn)功能的個性化拓展。系統(tǒng)運行庫層主要包括系統(tǒng)庫和Android 運行時兩部分,其主要作用是連接應(yīng)用程序框架層與Linux內(nèi)核層。最底層為Linux 內(nèi)核層,其核心系統(tǒng)服務(wù)如系統(tǒng)安全性、內(nèi)存和進程管理以及網(wǎng)路協(xié)議等均由該層提供[4]。

1.3 架構(gòu)對比分析

盡管兩種框架都是基于Linux 內(nèi)核開發(fā),但構(gòu)架仍有許多區(qū)別。

安卓系統(tǒng)是基于Linux的宏內(nèi)核設(shè)計。宏內(nèi)核中包含了操作系統(tǒng)的大多數(shù)的功能和模塊,而這些功能和模塊必須都具有最高權(quán)限,只要一個模塊出錯,整個系統(tǒng)就會崩潰。此外由于Android是用Java語言編寫的,系統(tǒng)開發(fā)難度低[5],由此導致的缺點是不能與系統(tǒng)底層直接進行通信活動,必須通過虛擬機來運行,當虛擬機出現(xiàn)問題整個系統(tǒng)就會卡住,這也是安卓系統(tǒng)容易崩潰的原因。

Open Harmony 主要采用微內(nèi)核設(shè)計。微內(nèi)核中主要包括操作系統(tǒng)必要的一些功能模塊(如任務(wù)管理、內(nèi)存分配等),處在核心地位,具有最高權(quán)限。當其他模塊出現(xiàn)問題,對于整個系統(tǒng)的運行是無礙的。因此,微內(nèi)核開發(fā)難度大,但是系統(tǒng)穩(wěn)定性高[6]。并且該系統(tǒng)采用加編譯器取代虛擬機,直接編譯為二進制機器碼,無須中轉(zhuǎn),執(zhí)行速度快,但同時需要的內(nèi)存空間也高。

2 安全機制分析

2.1 Android系統(tǒng)安全機制

Android 系統(tǒng)在其架構(gòu)的各個層面都進行了安全設(shè)計,主要包括系統(tǒng)內(nèi)核、虛擬機、應(yīng)用程序框架層以及應(yīng)用層等。其主要目的在于實現(xiàn)開放的同時,也能全面地保護用戶數(shù)據(jù)、應(yīng)用程序以及設(shè)備的安全性。其安全模型提供的安全機制如下。

2.1.1 訪問控制

訪問控制是保證操作系統(tǒng)安全性的核心方法。在Android 系統(tǒng)中,任何有可能危害到操作系統(tǒng)的操作和程序都應(yīng)無法正常執(zhí)行,這些非法操作包括讀、寫用戶隱私數(shù)據(jù)以及其他應(yīng)用程序的文件等。該機制可及時限制有害于系統(tǒng)和用戶使用的程序運行,從而進一步保證用戶數(shù)據(jù)不被非法程序訪問。

2.1.2 應(yīng)用程序簽名

安卓系統(tǒng)要求其所有的應(yīng)用程序都必須通過證書簽名機制才可安裝。只有簽名后的apk(應(yīng)用安裝包)才可發(fā)布。一方面,該機制可保證應(yīng)用安裝包的完整性,使用惡意代碼無法插入和修改apk包;另一方面,對apk包的應(yīng)用更新也能起到規(guī)范管理。

2.1.3 進程防護

在進程管理中為了保障應(yīng)用程序及其數(shù)據(jù)、文件的完整性和機密性,Android 一般采用進程隔離以及基于共享內(nèi)存的Binder 策略加以實現(xiàn),并且能達到輕量級的遠程進程調(diào)用效果。在進程間通信數(shù)據(jù)安全方面,主要通過接口描述語言定義接口與交換數(shù)據(jù)的類型,使得數(shù)據(jù)不會溢出。

2.1.4 權(quán)限命名

繼承Linux 權(quán)限管理方法,系統(tǒng)中每個權(quán)限包括3項信息,分別是:權(quán)限的名稱、各個權(quán)限所屬的組以及權(quán)限的保護等級。權(quán)限組是指把權(quán)限按照不同的功能要求分成不同集合。每個權(quán)限組中包含若干個具體權(quán)限,組中的每個權(quán)限均具有該組提供的權(quán)限等級,不同組中的權(quán)限具有不同的權(quán)限等級,保護級別使用應(yīng)用程序訪問時要使用此權(quán)限時的認證方式。

2.1.5 內(nèi)存管理

Android 系統(tǒng)采用Linux 的低內(nèi)存管理機制,將進程按重要性進行分級、分組。當系統(tǒng)內(nèi)存不足時,采用獨特的低內(nèi)存清理方法,自動清理最低級別進程的內(nèi)存空間。在共享內(nèi)存空間管理方面主要采用Ashmem機制進行清理。

2.1.6 “沙箱”機制

在Android 系統(tǒng)中,所有的應(yīng)用程序和系統(tǒng)進程都會被分配一個固定的用戶ID(UID) 進行唯一性標識,該UID 必須與內(nèi)核層進程的UID保持一致。該方法可保證每個應(yīng)用程序可以在自己獨立的DVM(Dalvik 虛擬機)中運行,擁有獨立的地址空間和系統(tǒng)資源,這種隔離機制稱為沙箱機制。該方法主要采用重定向技術(shù),實現(xiàn)系統(tǒng)的安全防護。

2.2 Open Harmony安全機制

Open Harmony 是一款面向未來的、全場景的、分布式操作系統(tǒng)框架,在手機、電腦以及更加豐富的物聯(lián)網(wǎng)(IoT)設(shè)備上具備通用性。數(shù)據(jù)的跨設(shè)備調(diào)用和流轉(zhuǎn)在Harmony OS 設(shè)備間非常普遍。在提供優(yōu)質(zhì)服務(wù)與用戶體驗的同時,保證系統(tǒng)安全與隱私保護[7]。其安全機制如圖1所示。

圖1 Open Harmony安全機制

2.2.1 硬件安全

1) 啟動可信根。Open Harmony 設(shè)備采用PKI 體系保護軟件完整性,確保設(shè)備運行來源合法、軟件未被篡改。在設(shè)備啟動流程中,逐級進行軟件簽名校驗形成安全啟動鏈,任何一個環(huán)節(jié)的簽名校驗不通過即終止設(shè)備啟動。安全啟動鏈中最初執(zhí)行簽名校驗的軟硬件實體,即為設(shè)備的啟動可信根。

2)硬件隔離可信環(huán)境。遵循可信計算系統(tǒng)的設(shè)計理念,使可信與不可信之間存在清晰而明確的隔離邊界。Open Harmony設(shè)備在可信環(huán)境中實現(xiàn)核心敏感數(shù)據(jù)的保護機制,可確保即使不可信的操作系統(tǒng)存在漏洞且被利用也能保證可信環(huán)境中敏感數(shù)據(jù)的安全,該可信環(huán)境主要采用基于硬件的安全隔離機制構(gòu)建。

3)硬件密鑰引擎。利用計算機硬件輔助軟件來處理數(shù)據(jù)的加解密,由硬件實現(xiàn)加解密處理,將使部分專用硬件資源用于處理加解密計算任務(wù),當加解密引擎工作時,CPU 可并發(fā)地繼續(xù)執(zhí)行其他計算任務(wù),可以極大地提升性能,降低CPU 負載。此外,硬件密鑰引擎還可對抗電磁、輻射等物理側(cè)信道攻擊。

2.2.2 系統(tǒng)安全

1)進程隔離。進程隔離一般采用虛擬地址空間映射方式,通過MMU配置,將不同進程的虛擬地址映射成各自不同的實際的物理地址段,當進程通過虛擬地址訪問實際內(nèi)存數(shù)據(jù)時,在非共享內(nèi)存條件下,該存儲空間只屬于某一進程,其他進程無法訪問。對于用戶態(tài)進程均擁有獨立的VMM空間,相互不可見。

2) 自主訪問控制DAC(Discretionary Access Control)。規(guī)定文件權(quán)限由文件擁有者來決定其他角色的訪問權(quán)限。權(quán)限管控粒度分為三類:user(自身)、group(組員)、other(其他人),即UGO。將任意用戶分類為UGO中三者之一,采取相應(yīng)管控策略,完成DAC權(quán)限校驗流程。

3)Capability機制。在多用戶計算機系統(tǒng)中,一般系統(tǒng)管理員(root)會擁有系統(tǒng)的所有權(quán)限。Open Harmony將系統(tǒng)中的特權(quán)訪問進行管控,系統(tǒng)需要對用戶層訪問內(nèi)核的特權(quán)級系統(tǒng)調(diào)用進行限制,僅允許部分高權(quán)限應(yīng)用進行特權(quán)操作。

4)安全啟動。通過采用數(shù)字簽名和完整性校驗機制,從芯片內(nèi)部固化的可信啟動根開始,逐級校驗每一層軟件的完整性和合法性,確保最終啟動的操作系統(tǒng)軟件是廠家提供的正確合法的軟件,防止攻擊者對系統(tǒng)軟件進行惡意的篡改和植入,為整個系統(tǒng)提供初始安全的基礎(chǔ)運行環(huán)境。

2.2.3 數(shù)據(jù)安全

HUKS(Open Harmony Universal Keystore Service),提供了密鑰管理、證書管理服務(wù),用于支撐HiChain(設(shè)備身份認證平臺)的基礎(chǔ)設(shè)備認證。

2.2.4 設(shè)備互聯(lián)安全

為了實現(xiàn)用戶數(shù)據(jù)在設(shè)備互聯(lián)場景下各個設(shè)備之間安全流轉(zhuǎn),需要保證設(shè)備之間相互正確可信,即設(shè)備和設(shè)備之間建立信任關(guān)系,并能夠在驗證信任關(guān)系后,搭建安全的連接通道,實現(xiàn)用戶數(shù)據(jù)的安全傳輸。設(shè)備之間的信任關(guān)系將涉及IoT(物聯(lián)網(wǎng))主控設(shè)備和IoT設(shè)備之間的可信關(guān)系。

2.2.5 應(yīng)用安全

1)應(yīng)用簽名管控。Open Harmony 應(yīng)用安裝首先需要對包的完整性進行校驗。當安裝應(yīng)用時首先計算包的Hash 值,然后使用hash 值和服務(wù)器上的簽名信息以及預置公鑰進行驗簽,只有驗簽通過的應(yīng)用才能安裝。

2)應(yīng)用權(quán)限控制。Open Harmony 系統(tǒng)允許安裝第三方應(yīng)用,需要對第三方應(yīng)用的敏感權(quán)限調(diào)用進行管控,具體實現(xiàn)是應(yīng)用在開發(fā)階段就需要在profile.json中指明此應(yīng)用在運行過程中可能會調(diào)用哪些敏感權(quán)限,這些權(quán)限包括靜態(tài)權(quán)限和動態(tài)權(quán)限,當需要運行時讓用戶確認才可調(diào)用。

3 結(jié)論

當前,全球智能移動終端市場蓬勃發(fā)展,Android仍是主流開發(fā)環(huán)境,其開放性、不受到運營商制約、豐富的硬件選擇、不受任何限制的開發(fā)商等優(yōu)勢給消費者提供了極大便利,拉近了人與互聯(lián)網(wǎng)間距離,改變了人們的生活方式。但同時也出現(xiàn)了許多問題,特別在安全和隱私方面,越來越多的安全漏洞在Android應(yīng)用程序框架中被發(fā)現(xiàn)。一些已知的漏洞可能導致大規(guī)模的網(wǎng)絡(luò)攻擊并嚴重損害用戶的安全和隱私,例如惡意APP 可以利用它們來竊取用戶密碼,在后臺拍照,啟動UI 欺騙攻擊,并篡改用戶數(shù)據(jù)。

隨著物聯(lián)網(wǎng)技術(shù)的需求應(yīng)用,Open Harmony體現(xiàn)顯著優(yōu)勢。其以其分布式特點實現(xiàn)業(yè)務(wù)程序數(shù)據(jù)和用戶數(shù)據(jù)的分布式管理,使得業(yè)務(wù)邏輯與數(shù)據(jù)存儲分離。通過構(gòu)建統(tǒng)一的分布式服務(wù)管理,達到分布式任務(wù)調(diào)度目的。利用分布式虛擬化平臺實現(xiàn)不同設(shè)備的資源融合、設(shè)備管理以及數(shù)據(jù)處理,并將周邊設(shè)備作為能力的延伸,共同形成一個超級虛擬終端。此外,Open Harmony 通過組件化和組件彈性化等設(shè)計方法,做到硬件資源的在多種終端設(shè)備間,按需彈性部署。同時根據(jù)設(shè)備的可用資源和主要業(yè)務(wù)方向進行靈活增減,從而實時地滿足不同形態(tài)下的多終端設(shè)備對于操作系統(tǒng)的服務(wù)需求。在安全性方面,因Harmony 微內(nèi)核的代碼很少,受攻擊的可能性大大降低,而且無需Root,細粒度權(quán)限控制從源頭提升系統(tǒng)安全,通過分布式多端協(xié)同身份認證來保證人、設(shè)備和數(shù)據(jù)的正確性。在數(shù)據(jù)使用中圍繞數(shù)據(jù)的生成、存儲、使用、傳輸以及銷毀過程進行全生命周期的保護,從而保證個人數(shù)據(jù)與隱私以及系統(tǒng)的機密數(shù)據(jù)的安全性。

猜你喜歡
內(nèi)核進程應(yīng)用程序
萬物皆可IP的時代,我們當夯實的IP內(nèi)核是什么?
強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
刪除Win10中自帶的應(yīng)用程序
電腦報(2019年12期)2019-09-10 05:08:20
基于嵌入式Linux內(nèi)核的自恢復設(shè)計
Linux內(nèi)核mmap保護機制研究
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
我國高等教育改革進程與反思
Linux僵死進程的產(chǎn)生與避免
關(guān)閉應(yīng)用程序更新提醒
電腦迷(2012年15期)2012-04-29 17:09:47
绥滨县| 安图县| 扶沟县| 衡南县| 文登市| 汕头市| 郯城县| 长治市| 乡城县| 神农架林区| 巴中市| 修水县| 邢台市| 德庆县| 林芝县| 新郑市| 福贡县| 长白| 巴彦淖尔市| 雷山县| 崇信县| 江源县| 朔州市| 繁峙县| 永靖县| 古浪县| 荣昌县| 新余市| 漠河县| 通渭县| 来宾市| 铜陵市| 黄骅市| 内乡县| 绥中县| 西安市| 中阳县| 汪清县| 普兰店市| 五莲县| 荣成市|