TWI467408B - 嵌入式元件與控制方法 - Google Patents
嵌入式元件與控制方法 Download PDFInfo
- Publication number
- TWI467408B TWI467408B TW101121603A TW101121603A TWI467408B TW I467408 B TWI467408 B TW I467408B TW 101121603 A TW101121603 A TW 101121603A TW 101121603 A TW101121603 A TW 101121603A TW I467408 B TWI467408 B TW I467408B
- Authority
- TW
- Taiwan
- Prior art keywords
- verified
- random access
- access memory
- value
- data
- Prior art date
Links
Landscapes
- Storage Device Security (AREA)
Description
本發明係相關於一種嵌入式元件以及使用其中的的資安控制方法。
嵌入式系統(embedded system)應用的非常廣。舉凡智慧型手機(smart phone)、智慧型家電、電視機上盒等,都是嵌入式系統的應用範圍。而相關之裝置,泛稱為嵌入式裝置(embedded devices)。隨著應用面的推廣,嵌入式裝置也開始處理許多非常重要的資訊,像是個人資料、卡號、帳號或是檔案等。而對於開放系統(open system)或半開放系統(semi-open system)言,如何防止這些重要資訊被外界不當的知悉或是獲取,便成為嵌入式裝置的一個非常重要之資安防護課題。
在資安業界,有一種防護方法是針對已知的潛伏程式(lurking program)。潛伏程式指的是一種惡意程式,它被植入並潛伏於被害者的電腦系統中,接受駭客的操控指令,以進行非合法授權的活動。這種防護方法挖掘出潛伏程式的程式特徵碼,以作為以後辨識它的依據。特色是在潛伏程式未執行或儲存於檔案系統之前,就可以予以攔截,防止潛伏程式案件的發生。優點是偵測的準確率非常高,但缺點是僅僅對已知且未被包裹(pack)的潛伏程式有效。
另一種防護方法是監看系統是否有異常行為或是行
為特徵,來攔截不被授權的行為。這樣的方法可以在潛伏程式的惡意動作被執行時,去偵測並且攔截,阻止潛伏程式案件的持續進行。此種防護方法雖然可以不受限於程式特徵的不足,對於未知的潛伏程式也可能提供有效的防護。只是,如何去定義所謂異常行為或是行為特徵,便是每個資安專家所努力的目標。
本發明之一實施例提供一種適用於一嵌入式元件之控制方法。一微處理器執行一隨機存取記憶體中的一程式碼。驗證包含該功能程式碼之一待驗證資料。該驗證步驟先以該待驗證資料為輸入,產生一當下數位簽章。該驗證步驟並比較該當下數位簽章與一預設數位簽章。當該當下數位簽章跟該預設數位簽章不一致時,中斷該微處理器執行該隨機存取記憶體上的該程式碼。
本發明之一實施例提供嵌入式元件,包含有一隨機存取記憶體以及一處理器。該處理器包含有一處理器核心以及一認證模組。該隨機存取記憶體存放有一待驗證資料,包含一功能程式碼。該處理器核心執行該功能程式碼。認證模組週期性地讀取該隨機存取記憶體中的該待驗證資料,並加以驗證。當認定該待驗證資料喪失完整性時,該認證模組中斷該處理器核心執行該程式碼。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下:
第1圖顯示一種依據本發明實施例的嵌入式裝置10,其可以是一智慧型手機。在嵌入式裝置10中,有多核處理器12、唯讀記憶體(read only memory,ROM)14、以及外部隨機存取記憶體(random access memory,簡稱為RAM)16,三者透過資料匯流排(data bus)18傳遞訊息。多核處理器12可以實現於一積體電路中。
唯讀記憶體14可以是快閃記憶體(flash)或是電子抹除式可複寫唯讀記憶體(electrically-erasable programmable read only memory,簡稱為EEPROM),可用來儲存韌體或一些必需的驅動程式。舉例來說,韌體包含一般使用者沒有存取權限的系統核心(kernel)與核心模組(kernel module)等。
外部隨機存取記憶體16具有可隨時讀寫,資料存取速度快之特性,經常做為其他正在運行中的程式之臨時資料儲存媒介。
舉例來說,於開機過程中,多核處理器12先將系統核心與核心模組從存取速度較慢的唯讀記憶體14,暫時複製到隨機存取記憶體16中,然後多核處理器12存取隨機存取記憶體16中所暫存的系統核心與核心模組來據以執行。隨機存取記憶體16可以是一動態隨機存取記憶體(Dynamic Random Access Memory,簡稱為DRAM)。
多核處理器12中具有數個處理器核心(processor core)20、認證模組22,以及記憶體介面(memory interface)24。其中,處理器核心20電連接於認證模組
22以及記憶體介面24。
多核處理器12可以是一積體電路。處理器核心20與認證模組22透過記憶體介面24存取唯讀記憶體14與隨機存取記憶體16。在處理器核心20依據隨機存取記憶體16中所暫存的程式碼而執行時,認證模組22同時平行地認證隨機存取記憶體16中所暫存的程式碼。認證方法將於稍後說明。如果認證失敗,認證模組22發出停止信號SHALT,使處理器核心20中斷執行所暫存的程式。
應注意的是,並不是所有暫存在隨機存取記憶體16中的程式碼都會被認證模組22認證。認證模組22所認證的,僅限於隨機存取記憶體16中,在處理器核心20正常執行時不應該被改變的程式碼。
認證模組22所認證的程式碼可參考第2圖,其顯示根據一實施例,隨機存取記憶體16中一些暫存之程式與其所在位置(location)。在第2圖之實施例中,處理器韌體程式暫存在區塊32中;而區塊32的起始位址(starting address)是SA1,區塊的大小是SIZE1。區塊34、36、38、與40分別暫存有密碼處理器程式、第一應用程式、第二應用程式、與位置對照表(scalar-and-gather table);區塊34、36、38、與40的起始位址分別是SA2、SA3、SA4、SA5;區塊34、36、38、與40的大小分別是SIZE2、SIZE3、SIZE4、SIZE5。位置對照表記錄了所有要被認證之程式或資料在隨機存取記憶體16中的所在位置。如同第2圖所示,區塊40存有(SA1,SIZE1)~(SA5,SIZE5)的位置資料。
應注意的是,第2圖並非用來限制本發明,僅僅是舉
例了一些不應該在嵌入式裝置運作時被改變的程式。隨機存取記憶體16中可能另存有一些在處理器核心20處理過程中隨時可能被更新的數字或是文字資料;這些隨時更新的資料,即不會被認證模組22所驗證。為方便之故,以下將所舉例的區塊32、34、36、38、與40中的程式碼,統稱為被驗證程式碼。
在本發明的實施例中,被驗證程式碼至少要包含了處理器核心20正常操作時,在隨機存取記憶體16中一些被執行的程式碼。舉例來說,在另一個實施例中,被驗證程式碼只有包含區塊32中的處理器韌體程式。
請同時參閱第1圖與第2圖。認證模組22中包含有雜湊模組50、啟始值模組52、黃金值模組54、以及比較模組56。
於一實施例中,雜湊模組50週期性讀取隨機存取記憶體16中的被驗證程式碼,並計算出一雜湊值。於另一實施例中,雜湊模組50於每一次處理器核心20存取隨機存取記憶體16中的被驗證程式碼時計算一雜湊值。
雜湊模組50可以採用安全雜湊演算法256(Secure Hash Algorithm,簡稱為SHA256)或是雜湊訊息確認碼(Hash-based Message Authentication Code,簡稱為HMAC)之類的一雜湊函數,根據啟始值模組52所提供的一啟始值(initial value),對該被驗證程式碼進行計算而獲得該雜湊值。但是本發明並不限於任何特定的函數或是驗證方法。
黃金值模組54紀錄並提供了一個黃金值(golden
value),其代表了被驗證程式在未被更動的條件下,應有的預設雜湊值。就功能而言,雜湊值作為一程式碼的數位簽章。
基本上,當輸入之一程式碼改變時,雜湊函數所輸出的雜湊值就會改變。當黃金值與雜湊模組50所產生的雜湊值一致時,代表被驗證程式碼是完整的,應無未授權之更動行為發生,所以處理器核心20持續讀取且執行隨機存取記憶體16中的程式。一旦黃金值與雜湊模組50所產生的雜湊值不一致,基本上代表被驗證程式碼已經被更動,亦即發生了未授權之更動行為,所以比較模組56送出停止信號SHALT
,促使處理器核心20停止操作,以避免未授權的行為持續發生。
黃金值與啟始值可以在嵌入式裝置10的每一次開機程序(boot procedure)中或是預先被決定。一旦決定之後,黃金值與啟始值即被安全地保存,不能被更動。在一實施例中,一啟始值可以是由一亂數產生器,在一開機程序中產生,並據此產生一相對應之黃金值。
第3圖顯示依據本發明之一實施例的嵌入式裝置控制方法。請同時參照第1圖之嵌入式裝置10以及第2圖之隨機存取記憶體16。
嵌入式裝置10一開機時,先執行開機程序60。
韌體或程式一開始存放在非揮發性記憶體中,像是嵌入式裝置10中的唯讀記憶體14、外插之SD記憶卡等等。除了即將執行的韌體或程式外,非揮發性記憶體同時也存放了一位置對照表,其記錄有韌體或程式將要放置在隨機
存取記憶體16中的位置資料。首先,步驟64依據位置對照表,將相對應的韌體或程式,以及該位置對照表,都複製到隨機存取記憶體16的相對應區塊中。
步驟66在步驟64之後,設定用來存放位置對照表的區塊40為一鎖定區塊,除非重新開機重新執行開機程序,或是整個多核處理器12重置,否則不能接受任何的寫入動作。
在步驟68中,啟始值模組52提供一啟始值。舉例來說,以一亂數產生器來產生該啟始值。
步驟70使雜湊模組50執行第一次,依據啟始值模組52所提供的啟始值、區塊40中的位置對照表、以及位置對照表中所對應到的區塊內之程式或是資料當作輸入,經由自己內部所預先設定的雜湊函數,算出一雜湊值。這第一次所產生的雜湊值稱為黃金值。黃金值與啟始值分別安全地保存或是鎖定,除非重新開機或是IC重置,否則不能更動。舉例來說,黃金值被鎖存於黃金值模組54中。
步驟72中,處理器核心20開始執行,依照嵌入式裝置10所接收到的指令或是程式而操作。譬如說,處理器核心20讀取隨機存取記憶體16中的程式碼,依序的執行。
在處理器核心20執行的同時,步驟74使雜湊模組50依據所鎖存的啟始值,對被驗證程式碼(區塊32、34、36、38、與40中程式或是資料)進行驗證。驗證結果會產生一雜湊值。譬如說,以被驗證程式碼與啟始值作為輸入,依據一雜湊函數,計算出雜湊值。
步驟76檢查當下的這個雜湊值是否與黃金值是否一
致。如果一致,則步驟74持續的執行,週期性地檢查被驗證程式碼的完整性(integrity);如果不一致,代表不應該被更動的被驗證程式碼已經被更動了,已經喪失其完整性,所以進入步驟78,中斷處理器核心20的持續正常動作。
這裡所謂程式碼的完整性是指程式碼沒有被竄改或是破壞。舉例來說,步驟78可以發出停止信號SHALT給處理器核心20,使其提供一異常訊息告知使用者;或是記錄一異常事件後,直接使整個嵌入式裝置10直接重新啟動。
從第3圖中的方法可以得知,被驗證程式碼的完整性驗證與處理器核心20操作是平行的。雜湊模組50在處理器核心20執行時間(runtime)的過程中,持續性、週期性、背景式的檢查被驗證程式碼的完整性。在開機程序60執行完了之後,只要被驗證程式碼被更動了,處理器核心20在短時間內就能被告知,而中止接著可能繼續發生的損害。
在第3圖中,黃金值以及啟始值是在開機過程60中重新產生的。但是本發明並不限於此。
第4圖顯示依據本發明之一實施例的嵌入式裝置之另一控制方法。在第4圖之實施例中,一開始記錄著韌體、程式與位置對照表的一非揮發性記憶體也同時永久記錄著黃金值與啟始值。所以第4圖中的控制方法省略了第3圖中的步驟68與70,但增加了步驟67直接從該非揮發性記憶體讀取並被鎖存的黃金值與啟始值。
在此實施例中,開機程序60a於步驟64前可更包括一步驟62,嵌入式裝置10於此步驟先行驗證韌體或程式的完整性(integrity)。在這步驟中,由於黃金值與啟始值為已知,並與韌體或程式一併存放在非揮發性記憶體中,嵌入式裝置10即可於步驟64將其複製到隨機存取記憶體16的相對應區塊前先行驗證。譬如說,嵌入式裝置10檢查即將執行的韌體或程式的數位簽章(digital signature),與預設的數位簽章比對,確認韌體或程式的完整性(integrity)。
當然,步驟62也可以一起驗證該位置對照表。步驟64接著將完整性沒有問題的韌體或程式,以及該位置對照表,都複製到隨機存取記憶體16的相對應區塊中。
認證模組22可以是獨立於處理器核心20之外的一特殊應用積體電路(application-specific integrated circuit),完全以硬體呈現,如同第1圖所示。
在另一個實施例中,認證模組之部分可以用軟體方式呈現。本發明所實施的另一實施例中,一嵌入式裝置有專用的一認證處理器核心,以及一唯讀記憶體。而這唯讀記憶體中有相關之認證模組程式。認證處理器核心會依據認證模組程式,持續性、週期性、背景式的檢驗被驗證程式碼的完整性。
綜上所述,雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專
利範圍所界定者為準。
10‧‧‧嵌入式裝置
12‧‧‧多核處理器
14‧‧‧唯讀記憶體
16‧‧‧隨機存取記憶體
18‧‧‧資料匯流排
20‧‧‧處理器核心
22‧‧‧認證模組
24‧‧‧記憶體介面
32、34、36、38、40‧‧‧區塊
50‧‧‧雜湊模組
52‧‧‧啟始值模組
54‧‧‧黃金值模組
56‧‧‧比較模組
60、60a‧‧‧開機程序
62、64、66、67、68、70、72、74、76、78‧‧‧步驟
SA1、SA2、SA3、SA4、SA5‧‧‧起始位址
SIZE1、SIZE2、SIZE3、SIZE4、SIZE5‧‧‧區塊大小
第1圖顯示一種依據本發明所實施例的嵌入式裝置。
第2圖顯示一隨機存取記憶體中,一些暫存之程式與其所在位置。
第3圖顯示依據本發明之一實施例的嵌入式裝置控制方法。
第4圖顯示依據本發明之一實施例的嵌入式裝置之另一控制方法。
64、66、68、70、72、74、76、78‧‧‧步驟
Claims (19)
- 一種適用於一嵌入式元件之控制方法,包含以下步驟:執行一隨機存取記憶體中的一程式碼;驗證(authenticate)包含該程式碼之一待驗證資料,包含有:以該待驗證資料為輸入,產生一當下數位簽章(digital signature);以及比較該當下數位簽章與一預設數位簽章;以及當該當下數位簽章跟該預設數位簽章不一致時,中斷執行該隨機存取記憶體上的該程式碼。
- 如申請專利範圍第1項所述之控制方法,更包含以下步驟:當該相對應數位簽章跟該預設數位簽章一致時,週期性地重複執行該驗證步驟。
- 如申請專利範圍第1項所述之控制方法,其中,該待驗證資料係包括一位置對照表,該位置對照表係包含該程式碼於該隨機存取記憶體所在之一位置,以及該位置對照表於該隨機存取記憶體所在之一位置。
- 如申請專利範圍第3項所述之控制方法,其中,該隨機存取記憶體中存放該位置對照表之一區塊於存放該位置對照表後,僅當重新執行一開機或重置程序時,該區塊可被寫入。
- 如申請專利範圍第1項所述之控制方法,其中,該隨機存取記憶體係為一動態隨機存取記憶體。
- 如申請專利範圍第1項所述之控制方法,其中,該當下數位簽章係為一雜湊值(Hash value)。
- 如申請專利範圍第1項所述之控制方法,其中,該驗證步驟根據一雜湊函數,以一啟始值與該隨機存取記憶體中的該待驗證資料作為輸入,產生該當下數位簽章。
- 如申請專利範圍第7項所述之控制方法,其中,該啟始值係依據一亂數產生函數而產生。
- 如申請專利範圍第1項所述之控制方法,更包含以下步驟:於執行該程式碼前執行一開機程序(booting procedure),其中,該開機程序包含有:複製該待驗證資料至該隨機存取記憶體;以及以該待驗證資料為輸入,產生該預設數位簽章。
- 如申請專利範圍第1項所述之控制方法,其中,該預設數位簽章,於一開機程序後不更動。
- 如申請專利範圍第1項所述之控制方法,更包含以下步驟:從一唯讀記憶體複製該待驗證資料至該隨機存取記憶體。
- 一種嵌入式元件,包含有:一隨機存取記憶體,存放有一待驗證資料,包含一程式碼;一處理器,包含一處理器核心,用以執行該程式碼;以及一認證模組,用以週期性地讀取該隨機存取記憶體中 的該待驗證資料,並加以驗證;其中,當認定該待驗證資料喪失完整性時,該認證模組中斷該處理器核心執行該程式碼。
- 如申請專利範圍第12項所述之嵌入式元件,其中,該認證模組包含:一啟始值模組,用以提供一啟始值;一雜湊模組,用以週期性讀取該隨機存取記憶體中的該待驗證資料,根據該啟始值計算出一雜湊值;以及,一比較模組,用以比較該雜湊值與一黃金值;其中,當該雜湊值與該黃金值不一致時,判斷該待驗證資料喪失完整性。
- 如申請專利範圍第13項所述之嵌入式元件,其中,該黃金值為該雜湊模組於一開機程序中,執行第一次計算所產生的一雜湊值。
- 如申請專利範圍第13項所述之嵌入式元件,其中,該啟始值模組包含一亂數產生器,於一開機程序中產生該啟始值。
- 如申請專利範圍第13項所述之嵌入式元件,其中,於該黃金值與該啟始值產生之後,僅當重新執行一開機或重置程序時,該黃金值與該啟始值可被更動。
- 如申請專利範圍第12項所述之嵌入式元件,其中更包含:一唯讀記憶體,用以非揮發性地存放該待驗證資料。
- 如申請專利範圍第12項所述之嵌入式元件,其中,該待驗證資料包括一位置對照表,其包含該程式碼於 該隨機存取記憶體所在之一位置,以及該位置對照表於該隨機存取記憶體所在之一位置。
- 如申請專利範圍第18項所述之嵌入式元件,其中,該隨機存取記憶體中存放該位置對照表之一區塊,於存放該位置對照表後,僅當重新執行一開機或重置程序時,該區塊可被寫入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/677,479 US9262631B2 (en) | 2011-11-15 | 2012-11-15 | Embedded device and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161559780P | 2011-11-15 | 2011-11-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201319862A TW201319862A (zh) | 2013-05-16 |
TWI467408B true TWI467408B (zh) | 2015-01-01 |
Family
ID=48313728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101121603A TWI467408B (zh) | 2011-11-15 | 2012-06-15 | 嵌入式元件與控制方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103105783B (zh) |
TW (1) | TWI467408B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11436315B2 (en) * | 2019-08-15 | 2022-09-06 | Nuvoton Technology Corporation | Forced self authentication |
TWI763192B (zh) * | 2020-12-18 | 2022-05-01 | 技嘉科技股份有限公司 | 電子裝置以及資料完整性的檢驗方法 |
CN114547703A (zh) * | 2022-04-25 | 2022-05-27 | 浙江中控研究院有限公司 | 基于安全隔离模块的嵌入式安全通信方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200838168A (en) * | 2006-03-09 | 2008-09-16 | Ttp Communications Ltd | Integrity protection |
TW200937931A (en) * | 2007-12-17 | 2009-09-01 | Ibm | Secure digital signature system |
CN1659494B (zh) * | 2002-04-12 | 2011-06-08 | 英特尔公司 | 微码补丁验证 |
TW201126530A (en) * | 2010-01-28 | 2011-08-01 | Phison Electronics Corp | Flash memory storage system, and controller and method for anti-falsifying data thereof |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6263431B1 (en) * | 1998-12-31 | 2001-07-17 | Intle Corporation | Operating system bootstrap security mechanism |
CN1215418C (zh) * | 2001-01-09 | 2005-08-17 | 中兴通讯股份有限公司 | 一种防止在计算机中运行的应用系统被攻击或篡改的方法 |
CN101615237A (zh) * | 2009-08-11 | 2009-12-30 | 威盛电子股份有限公司 | 可验证嵌入式系统及其验证方法 |
JP5335634B2 (ja) * | 2009-09-29 | 2013-11-06 | レノボ・シンガポール・プライベート・リミテッド | システム管理モードの特権レベルを保護するコンピュータ |
-
2012
- 2012-06-15 TW TW101121603A patent/TWI467408B/zh active
- 2012-07-11 CN CN201210239114.2A patent/CN103105783B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1659494B (zh) * | 2002-04-12 | 2011-06-08 | 英特尔公司 | 微码补丁验证 |
TW200838168A (en) * | 2006-03-09 | 2008-09-16 | Ttp Communications Ltd | Integrity protection |
TW200937931A (en) * | 2007-12-17 | 2009-09-01 | Ibm | Secure digital signature system |
TW201126530A (en) * | 2010-01-28 | 2011-08-01 | Phison Electronics Corp | Flash memory storage system, and controller and method for anti-falsifying data thereof |
Also Published As
Publication number | Publication date |
---|---|
TW201319862A (zh) | 2013-05-16 |
CN103105783A (zh) | 2013-05-15 |
CN103105783B (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4729046B2 (ja) | コンピュータに信頼可能な実行環境を構築する方法 | |
JP4708414B2 (ja) | ランタイム・セキュリティ保証用の自律型メモリ・チェッカ | |
JP6373888B2 (ja) | 情報処理装置及び制御方法 | |
JP4769608B2 (ja) | 起動検証機能を有する情報処理装置 | |
CN103718165B (zh) | Bios闪存攻击保护和通知 | |
WO2020037612A1 (zh) | 嵌入式程序的安全引导方法、装置、设备及存储介质 | |
US9262631B2 (en) | Embedded device and control method thereof | |
TW201506675A (zh) | 修復受危害之系統啓動碼之技術 | |
US8751817B2 (en) | Data processing apparatus and validity verification method | |
TW201500960A (zh) | 在配有適用統一可延伸韌體介面(uefi)之韌體之計算裝置中的安全性變數變化檢測技術 | |
CN109445705B (zh) | 固件认证方法及固态硬盘 | |
US10776493B2 (en) | Secure management and execution of computing code including firmware | |
US20210367781A1 (en) | Method and system for accelerating verification procedure for image file | |
TW201931191A (zh) | 記憶體子系統、安全客戶端裝置與認證方法 | |
TWI467408B (zh) | 嵌入式元件與控制方法 | |
TW201510767A (zh) | 安全認證電子裝置、安全開機方法與電腦可存取儲存裝置 | |
US7624442B2 (en) | Memory security device for flexible software environment | |
US11657157B2 (en) | Secure boot system, method and apparatus | |
JP6622360B2 (ja) | 情報処理装置 | |
TWI715826B (zh) | 用於改良一矽基系統之安全性之電腦實施方法及設備 | |
TWI738020B (zh) | 電子機器及其控制方法 | |
TWI728377B (zh) | 安全啟動系統、方法及裝置 | |
US20240005005A1 (en) | Electronic device and control method thereof | |
US20220342996A1 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
JP2023026017A (ja) | 起動検証プログラム、情報処理装置および起動検証方法 |