一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

將實時Java添加到MILS操作系統(tǒng)

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:DR. KEVIN NILSEN ? 2022-11-10 16:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

多獨立安全級別 (MILS) 操作系統(tǒng)支持安全部署多個應用程序,每個應用程序表示屬于不同安全領域的數(shù)據(jù)。編寫用于使用 MILS 操作系統(tǒng)部署的軟件需要注意主流操作系統(tǒng)上不需要的細節(jié)。在 MILS 操作系統(tǒng)中集成 Java 虛擬機 (VM) 可簡化 MILS 應用軟件的開發(fā)。

通常,多獨立安全級別 (MILS) 操作系統(tǒng)是更通用的實時操作系統(tǒng)的特殊配置,旨在簡化支持多個獨立安全級別的軟件系統(tǒng)的開發(fā)。這種系統(tǒng)在軍事場景中尤其常見,例如,同一計算機系統(tǒng)可能需要將屬于一個國家政府的絕密數(shù)據(jù)與屬于北約等政府聯(lián)盟的機密數(shù)據(jù)隔離開來(圖1)。

圖1:配置為限制分區(qū)之間信息流的安全 MILS 操作系統(tǒng)

pYYBAGNsulKAVma5AAB5AvL0wvM782.jpg

從概念上講,MILS 操作系統(tǒng)維護邏輯分區(qū)以隔離內(nèi)存、CPU 時間和特定應用程序可訪問的其他資源,并限制在不同邏輯分區(qū)中運行的應用程序之間的交互。為一組特定的應用程序配置 MILS 操作系統(tǒng)允許開發(fā)人員建立控制分區(qū)之間交互的規(guī)則。例如,規(guī)則可能聲明僅允許分區(qū) A 將消息傳遞到分區(qū) C 和 D。

MILS 分區(qū)的理想是降低證明系統(tǒng)足夠安全所需的安全審核成本。操作系統(tǒng)的分區(qū)實現(xiàn)由操作系統(tǒng)供應商認證為安全,此認證的費用由所有被許可方分擔。鑒于操作系統(tǒng)可以保證在不同分區(qū)中運行的應用程序之間沒有通信,因此了解和記錄每個應用程序的安全敏感行為所需的工作量要少得多。將 Java 虛擬機 (VM) 添加到 MILS 操作系統(tǒng)可極大地簡化應用程序軟件到 MILS 環(huán)境的移植和開發(fā)。

案例研究:在 MILS 環(huán)境中部署軟件的實用性

為了便于安全審計以確保獨立分區(qū)之間沒有通信,開發(fā) MILS 操作系統(tǒng)的公司通常會將操作系統(tǒng)提供的服務集限制為在 MILS 分區(qū)內(nèi)運行的應用程序。每個 MILS 環(huán)境在有效執(zhí)行 Java 虛擬機方面都面臨著不同的挑戰(zhàn)。讓我們看一下應軍事和航空航天工業(yè)客戶的要求將實時虛擬機產(chǎn)品移植到特定的商用現(xiàn)貨 (COTS) MILS 操作系統(tǒng)時遇到的一些問題。

在此 MILS 操作系統(tǒng)中遇到的限制中,此 MILS 操作系統(tǒng)為確保系統(tǒng)安全而實施的一些約束包括:

無法寫入程序的文本段。

系統(tǒng)沒有提供用于設置環(huán)境變量的命令行工具。

該系統(tǒng)不支持本地圖書館的動態(tài)鏈接。

雖然不是此 COTS MILS 操作系統(tǒng)的一般限制,但我們客戶的目標平臺缺少文件系統(tǒng)。

鑒于這些限制(這是深度嵌入式 MILS 部署的典型限制),很明顯,在大多數(shù)現(xiàn)成的應用程序在此環(huán)境中運行之前,需要大量的移植和集成工作。Java的可移植性提供了顯著降低這種移植和集成工作成本的潛力。

Java 與 MILS 應用的相關性

Java與安全軟件的開發(fā)特別相關,因為該語言比C和C++更強烈。自從早期開發(fā)專注于互聯(lián)網(wǎng)應用程序的Java語言以來,安全性在其設計中一直至關重要。例如,Java禁止指針和非指針數(shù)據(jù)類型之間的強制,并且禁止指針算術。此外,每次訪問 Java 數(shù)組都會執(zhí)行數(shù)組邊界檢查。拋出異常,而不是允許軟件應用程序超出數(shù)組有效數(shù)據(jù)的末尾。同樣,Java 運行時環(huán)境會檢查堆棧溢出并引發(fā)異常,而不是允許線程踐踏超出線程分配堆棧末尾的內(nèi)存。通常,Java 語言中內(nèi)置的這些安全功能完全消除了通常在特洛伊木馬和病毒軟件的實現(xiàn)中利用的絕大多數(shù)漏洞,這些漏洞通常會感染 C 和 C++ 應用程序。

Java的一個優(yōu)勢與在MILS環(huán)境中實現(xiàn)新軟件功能的挑戰(zhàn)特別相關,因為與更傳統(tǒng)的語言相比,Java顯著減少了實現(xiàn),移植和將獨立開發(fā)的軟件組件集成到工作應用程序中所需的工作量。代表性項目發(fā)現(xiàn),開發(fā)人員在開發(fā)新功能時的效率通常是其兩倍,而在使用 Java 而不是 C 或 C++ 工作時,重用軟件組件的工作效率通常提高 10 倍。這是因為 Java 語言支持更高級別的抽象,更具可移植性,并且鼓勵比 C 和 C++ 更緊密的封裝。這些好處的價值在經(jīng)驗報告中得到了強調(diào),如圖 2 所示。

圖2:Java與開發(fā)專用、安全的專用系統(tǒng)的相關性

pYYBAGNsulOAJ9T3AACEKhwMn70421.jpg

內(nèi)置的跟蹤垃圾回收功能(可自動回收與應用程序不再相關的動態(tài)分配對象的內(nèi)存)是一項 Java 功能,它使將獨立開發(fā)的 COTS Java 組件集成到 MILS 應用程序中變得特別容易。每當一個對象由一個組件分配并由其他組件使用時,C 或 C++ 工程師都需要設計和實現(xiàn)一個協(xié)議,用于檢測對象的使用壽命結束并回收其當時的內(nèi)存。使用Java,自動檢測和回收死對象,并且回收的內(nèi)存會自動進行碎片整理,這是大多數(shù)自動垃圾收集技術的寶貴副作用。除了減少開發(fā)和集成軟件組件所需的智力工作外,此功能還消除了調(diào)試與懸空指針、內(nèi)存泄漏和內(nèi)存碎片相關的許多常見內(nèi)存管理編程錯誤的需要。

因此,能夠用Java語言實現(xiàn)MILS應用程序是非常可取的。該語言比 C 和 C++ 等傳統(tǒng)傳統(tǒng)語言更安全,它減少了實現(xiàn)定制功能所需的工作量,并且在重用和集成獨立開發(fā)的軟件組件期間節(jié)省了大量成本。

將 Java VM 移植到 COTS MILS 環(huán)境

要在 MILS 分區(qū)中部署 Java 軟件,首先需要在 MILS 分區(qū)中安裝 Java 虛擬機運行時環(huán)境。Java 虛擬機提供標準 Java 庫、Java 類裝入器、Java 字節(jié)碼解釋器和/或實時 (JIT) 編譯器,以及跟蹤垃圾回收器的實現(xiàn)。有了 Java 虛擬機,Java 編程的所有傳統(tǒng)優(yōu)勢都很容易獲得。

鑒于 MILS 環(huán)境提供的服務通常比同一操作系統(tǒng)的類似非 MILS 配置少得多,因此已配置為在傳統(tǒng)或實時操作系統(tǒng)上運行的虛擬機產(chǎn)品可能不會在 MILS 分區(qū)中運行。最近,一位客戶要求我們?yōu)樘囟ǖ?COTS MILS 操作系統(tǒng)環(huán)境提供虛擬機支持。

由于 MILS 環(huán)境施加的 MILS 限制,有一些 Java 功能無法得到支持。但在大多數(shù)情況下,所描述的虛擬機技術的 MILS 配置支持所有標準版 Java。以下五個部分構成了 Java 配置的基本原理和可用解決方法的案例研究。

#1 – 高保證網(wǎng)絡堆棧 (HANS)

根據(jù)其支持提高安全性的目標,客戶選擇的 MILS 操作系統(tǒng)在分發(fā)時可以選擇使用高保證網(wǎng)絡堆棧。此網(wǎng)絡堆棧在隔離的 MILS 分區(qū)中運行,允許它以非常高的優(yōu)先級運行,而不會影響為其他 MILS 分區(qū)預算的公平 CPU 時間份額。將網(wǎng)絡堆棧放在自己的小分區(qū)中,可以將堆棧與單個應用程序中的錯誤隔離開來。不同分區(qū)中的應用程序可能會崩潰并重新啟動,而不會影響 HANS 的完整性。此外,HANS 消耗的 CPU 時間和內(nèi)存資源受到其運行分區(qū)約束的限制。這為網(wǎng)絡堆棧實現(xiàn)提供了針對拒絕服務攻擊的某些保護。

鑒于專用于 HANS 實現(xiàn)的內(nèi)存量和 CPU 時間受到 MILS 操作系統(tǒng)的限制,只有 HANS 分區(qū)本身受到另一臺計算機的網(wǎng)絡通信請求的影響,以高于其準備處理的速率與此計算機進行交互。雖然在這種情況下,HANS 可能會丟棄數(shù)據(jù)包,但在其他 MILS 分區(qū)中運行的應用程序不會受到拒絕服務攻擊的影響。

虛擬機與此 MILS 環(huán)境的集成支持 HANS 的使用,從而適應了 HANS 和標準網(wǎng)絡堆棧 API 之間的少量差異。特別是,HANS 未枚舉為特定 MILS 虛擬板配置配置的網(wǎng)絡設備。相反,命令行選項允許系統(tǒng)集成商提供已配置網(wǎng)絡設備的列表。域名服務函數(shù) gethostname() 和 hostGetByName() 也不被 HANS 支持。Atego Perc Ultra 虛擬機技術的 MILS 集成為客戶提供了在必要時使用這些服務的專有基于表的查找來實施這些服務的機會。

#2 – 不調(diào)試已編譯的代碼

由于 MILS 環(huán)境禁止寫入文本段,因此無法在靜態(tài)編譯并鏈接到運行時映像的 Java 代碼中設置斷點。

但是,需要調(diào)試功能的 Java 開發(fā)人員可以使用幾種方法。首先,由于Java是一種可移植的編程語言,因此通??梢栽诠δ芨钠脚_上完全調(diào)試應用程序,然后將調(diào)試后的應用程序部署在MILS平臺上。其次,如果在 MILS 環(huán)境中調(diào)試是絕對必要的,那么仍然可以調(diào)試以解釋字節(jié)碼運行的 Java 應用程序。

#3 – 沒有動態(tài)加載本機庫

許多 Java 應用程序由 Java 和本機代碼的組合組成,通常用 C 或 C++ 編寫。當本機組件是 Java 應用程序的一部分時,最常見的是在 Java System.loadLibrary 服務的指導下動態(tài)加載本機代碼。此服務在實時虛擬機的 MILS 集成中不可用。相反,系統(tǒng)集成商可以選擇靜態(tài)鏈接本機庫。

#4 – 專用虛擬文件系統(tǒng)

為了支持缺乏文件系統(tǒng)支持的 MILS 平臺,我們實現(xiàn)了虛擬文件系統(tǒng)作為 MILS 端口的一部分。此虛擬文件系統(tǒng)允許 Java 應用程序創(chuàng)建、寫入和讀取存儲在內(nèi)存中的文件數(shù)據(jù)。虛擬文件系統(tǒng)的可用性使得測試虛擬機實現(xiàn)和將現(xiàn)成的 Java 代碼移植到 MILS 平臺上變得更加容易,否則這些平臺將缺少文件支持。

#5 – 沒有環(huán)境變量

環(huán)境變量通常用于保存關鍵配置數(shù)據(jù),以方便用戶。環(huán)境變量指定的配置選項不需要在每次啟動應用程序時在命令行上重復。由于 MILS 環(huán)境不為用戶提供設置環(huán)境變量的能力,因此這種便利性通常不可用。相反,MILS Java 應用程序通常以命令行參數(shù)的形式接收配置數(shù)據(jù)。

Java降低了成本,增加了MILS軟件系統(tǒng)的可靠性

在 MILS 操作系統(tǒng)分區(qū)中啟用 Java 開發(fā)非常有意義。虛擬機技術(如Atego Perc Ultra)使得在MILS上運行標準版Java成為可能,為利用多個獨立安全級別的項目提供成本節(jié)約和可靠性優(yōu)勢。

審核編輯:郭婷

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

    關注

    68

    文章

    11080

    瀏覽量

    217116
  • 操作系統(tǒng)

    關注

    37

    文章

    7152

    瀏覽量

    125602
  • JAVA
    +關注

    關注

    20

    文章

    2989

    瀏覽量

    109799
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    鴻道Intewell實時操作系統(tǒng)有哪些應用場景

    鴻道Intewell工業(yè)操作系統(tǒng)作為一款國產(chǎn)實時操作系統(tǒng)(RTOS),在工業(yè)領域因其高實時性、高可靠性和強定制化能力,被廣泛應用于對系統(tǒng)響應
    的頭像 發(fā)表于 06-26 10:15 ?165次閱讀

    開源鴻蒙星載實時操作系統(tǒng)標準的制定與意義

    近年來,微納衛(wèi)星憑借低成本、高靈活性成為全球航天領域的重要發(fā)展方向。然而,傳統(tǒng)微納衛(wèi)星受限于平臺規(guī)模,難以搭載常規(guī)操作系統(tǒng),可靠性與實時性存在短板。
    的頭像 發(fā)表于 06-05 14:37 ?450次閱讀

    如何VCP功能添加到UVC應用程序代碼中?

    我正在嘗試 VCP 功能添加到 UVC 應用程序代碼中。 我的平臺是CYUSB3011-BZXC UsbUart 示例代碼已添加到現(xiàn)有的 UVC 應用程序中。 初始化和主循環(huán)
    發(fā)表于 05-16 06:41

    什么樣的才叫實時工業(yè)操作系統(tǒng)

    實時工業(yè)操作系統(tǒng)的核心是在嚴格時間約束下保證任務執(zhí)行的確定性、可靠性和安全性,通常需通過專用架構、實時調(diào)度算法和工業(yè)級認證來滿足嚴苛的工業(yè)環(huán)境需求。選擇時需根據(jù)具體場景的實時性等級(硬
    的頭像 發(fā)表于 04-17 10:09 ?310次閱讀
    什么樣的才叫<b class='flag-5'>實時</b>工業(yè)<b class='flag-5'>操作系統(tǒng)</b>

    如何ENWF9408AVEF Wi-Fi模塊添加到1064EVK wifi_cli SDK項目中?

    如何 松下 ENWF9408AVEF (NXP 88W8977) Wi-Fi 模塊添加到 1064EVK wifi_cli SDK 項目中? 使用不同的 88W8977 定義初始化失敗
    發(fā)表于 04-02 07:50

    SEGGER發(fā)布下一代安全實時操作系統(tǒng)embOS-Ultra-MPU

    2025年3月,SEGGER發(fā)布滿足周期定時分辨率要求的下一代安全實時操作系統(tǒng)embOS-Ultra-MPU,該系統(tǒng)基于成熟的embOS-Classic-MPU和embOS-Ultra操作系統(tǒng)
    的頭像 發(fā)表于 03-31 14:56 ?500次閱讀

    實時操作系統(tǒng)RTOS選型指南及實例分析

    鴻道Intewell操作系統(tǒng)是由科東軟件自主研發(fā)的新型工業(yè)操作系統(tǒng),歷經(jīng)30多年研發(fā)積累,采用微內(nèi)核架構和自主研發(fā)的Hypervisor虛擬化技術,保證系統(tǒng)實時性、高可靠性。鴻道In
    的頭像 發(fā)表于 02-27 15:21 ?571次閱讀

    鴻道Intewell操作系統(tǒng)的Linux實時拓展方案

    鴻道Intewell操作系統(tǒng)是科東軟件自主研發(fā)的新型工業(yè)實時操作系統(tǒng),歷經(jīng)30多年研發(fā)積累,采用業(yè)界領先的微內(nèi)核架構,具備高實時、高安全及強擴展的特性,是目前國內(nèi)唯一通過汽車、工業(yè)控制
    的頭像 發(fā)表于 02-27 10:08 ?388次閱讀
    鴻道Intewell<b class='flag-5'>操作系統(tǒng)</b>的Linux<b class='flag-5'>實時</b>拓展方案

    鴻道Intewell操作系統(tǒng)的Windows實時拓展方案

    鴻道Intewell操作系統(tǒng)的Windows實時拓展方案,即鴻道Intewell-Win構型,是一款專為工業(yè)控制領域設計的國產(chǎn)操作系統(tǒng),支持Windows實時擴展,具備以下特點和優(yōu)勢:
    的頭像 發(fā)表于 12-24 17:40 ?565次閱讀
    鴻道Intewell<b class='flag-5'>操作系統(tǒng)</b>的Windows<b class='flag-5'>實時</b>拓展方案

    基于國產(chǎn)化鴻道Intewell操作系統(tǒng)的高性能實時運動控制解決方案

    目前國產(chǎn)化高實時運動控制達到了什么樣的控制水平呢?軟件+操作系統(tǒng)實時控制如何實現(xiàn)呢?下面,讓我們一起看看基于國產(chǎn)化鴻道Intewell操作系統(tǒng)的高性能
    的頭像 發(fā)表于 12-05 16:03 ?482次閱讀

    國產(chǎn)實時操作系統(tǒng):和RT-Linux,Zephyr的實時性對比

    RT-Thread在工業(yè)領域、高安全高可靠性領域,實時操作系統(tǒng)在其中發(fā)揮著重要的作用,從毫秒級,微秒級實時響應,決定著裝置系統(tǒng)能滿足何種嚴苛的要求。RT-ThreadSmart
    的頭像 發(fā)表于 11-12 01:07 ?2597次閱讀
    國產(chǎn)<b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>:和RT-Linux,Zephyr的<b class='flag-5'>實時</b>性對比

    linux是實時系統(tǒng)還是分時操作系統(tǒng)

    大家平時玩單片機基本上對于μC/OS、FreeRTOS、ThreadX這些操作系統(tǒng)非常熟悉了,他們都屬于實時操作系統(tǒng)(RTOS),在工業(yè)領域比較廣泛;然而對于linux這樣的基于時間片劃分的非
    的頭像 發(fā)表于 11-11 11:43 ?1186次閱讀

    ARM開發(fā)板上的實時操作系統(tǒng)介紹

    在現(xiàn)代電子設備中,嵌入式系統(tǒng)扮演著越來越重要的角色。ARM處理器因其低功耗、高性能的特點,成為了許多嵌入式系統(tǒng)的首選平臺。 一、實時操作系統(tǒng)(RTOS)概述
    的頭像 發(fā)表于 11-05 11:34 ?1119次閱讀

    鴻道Intewell實時操作系統(tǒng)MIPS架構生態(tài):龍芯2K1000

    在當今快速發(fā)展的工業(yè)互聯(lián)時代,實時操作系統(tǒng)(RTOS)扮演著至關重要的角色。實時操作系統(tǒng)為工業(yè)制造、能源電力、軌道交通、汽車電子等領域提供了高實時
    的頭像 發(fā)表于 08-29 10:09 ?671次閱讀
    鴻道Intewell<b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>MIPS架構生態(tài):龍芯2K1000

    簡單認識RTOS實時操作系統(tǒng)

    RTOS(Real Time Operating System,實時操作系統(tǒng))是一種專門設計用于在嚴格時間限制內(nèi)處理任務的操作系統(tǒng)。它以其高實時性、多任務處理能力和資源管理能力在工業(yè)自
    的頭像 發(fā)表于 08-20 11:20 ?5269次閱讀