TW201329867A - 外部開機裝置及外部開機方法 - Google Patents

外部開機裝置及外部開機方法 Download PDF

Info

Publication number
TW201329867A
TW201329867A TW101138881A TW101138881A TW201329867A TW 201329867 A TW201329867 A TW 201329867A TW 101138881 A TW101138881 A TW 101138881A TW 101138881 A TW101138881 A TW 101138881A TW 201329867 A TW201329867 A TW 201329867A
Authority
TW
Taiwan
Prior art keywords
data
address
control data
memory
loader
Prior art date
Application number
TW101138881A
Other languages
English (en)
Inventor
Junko Suginaka
Original Assignee
Junko Suginaka
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Junko Suginaka filed Critical Junko Suginaka
Publication of TW201329867A publication Critical patent/TW201329867A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本發明之USB記憶體2具備:第1記憶部211,其記憶藉由終端機1之BIOS之啟動而優先讀出至RAM14之啟動記憶體區域141之1次載入器;第2記憶部212,其記憶特定之控制資料及位址資料,該控制資料包含接受依1次載入器之資料傳送指示而作為依序分割之分割控制資料讀出至啟動記憶體區域141之中斷向量表及2次載入器,該位址資料成為分割控制資料之寫入位置;資料傳送部(23、23B),其藉由中斷傳送而將分割控制資料依序傳送至啟動記憶體區域141;及傳送結束處理部234,其接受中斷傳送之結束而發行硬體中斷。

Description

外部開機裝置及外部開機方法
本發明係關於一種安裝於具備中央處理單元(CPU,Central Processing Unit)之資訊處理裝置而使上述資訊處理裝置開機(boot)之外部開機裝置及外部開機方法。
近年來,各種病毒等入侵乃至潛伏於連接於網際網路等網路之伺服器或終端機(個人電腦)等資訊處理裝置,由此而產生資料之竊聽、被盜、竄改、洩露及攻擊等危害。針對此種病毒危害,以儘可能地阻止病毒入侵為目的,採取進行發現或驅除病毒之軟體之改良或開發,進而線路限制(位址限制)之設定等對策。然而,若考慮自新型病毒之發現至驅除用軟體之開發為止之時間延遲等,則難以確實地阻止病毒之入侵。又,亦考慮到於接通電源後資訊處理裝置啟動之期間感染病毒之虞,因而亦期待針對此期間內之有效之病毒對策。
專利文獻1中記載有儲存於資訊處理裝置之硬碟內之作業系統(OS,Operation System)之啟動方法。更詳細而言,若檢測到接通資訊處理裝置之電源,則啟動記憶於快閃記憶體中之基本輸入輸出系統(BIOS,Basic Input/Output System)而檢索可啟動之開機裝置,並啟動儲存於通用串列匯流排(USB,Universal Serial Bus)記憶體中之開機OS,首先使顯示手段顯示密碼之輸入畫面。其次,受理對該輸入畫面所進 行之來自輸入手段之密碼輸入。若輸入密碼,則將輸入之密碼與USB記憶體中固有之資訊連結並轉換成雜湊值(hash value),而生成應啟動之硬碟之鎖定解除密碼。而且,於判斷為要啟動之硬碟已完成安全性設定之情形時,則以上述鎖定解除密碼解除上述硬碟之鎖定狀態,另一方面,於判斷為上述硬碟並未完成安全性設定之情形時,則採用如下方法:設定上述硬碟之安全性,啟動已解除鎖定狀態之上述硬碟之主開機記錄(MBR,Master Boot Record),啟動OS之開機載入器(boot loader),經過該等處理而啟動OS。藉此,可進行OS啟動時之安全性認證。又,專利文獻1中記載有於解除上述硬碟之鎖定狀態之狀態下,使用儲存於USB記憶體中之病毒檢查功能進行病毒檢查而可檢查硬碟之病毒。
又,專利文獻2中記載有啟動程式之執行方法。更詳細而言係具有如下啟動前處理步驟者,即針對自個人電腦對硬碟之初始讀入請求,先於儲存有啟動程式之記憶媒體之啟動磁區而讀出儲存有安全性等任意程式之臨時啟動磁區,並執行該任意程式。而且,於執行該安全性等任意程式之後執行本來之啟動程式而啟動OS。藉此,不變更個人電腦之BOIS或記憶媒體之啟動磁區(邏輯區塊位址(LBA,Logical Block Address)0)便可於OS啟動之前執行安全性等之任意程式。
[先前技術文獻] [專利文獻]
[專利文獻1]日本專利特開2007-66123號公報
[專利文獻2]日本專利特開2006-236193號公報
專利文獻1係一種個人認證技術,即,由於用於對密碼輸入畫面輸入密碼之態樣,有密碼被盜之虞,因而與USB記憶體之固有資訊結合而製作雜湊值,並設為鎖定解除資訊。又,專利文獻1中記載有可藉由使用儲存於USB記憶體中之病毒檢查功能進行病毒檢查而檢查硬碟之病毒,但並無任何具體之記載。
另一方面,於專利文獻2中,即便於硬碟內之臨時啟動磁區之任意程式為病毒檢查程式之情形時,亦可於執行該程式之前,啟動如具有例如Rootkit之形態之不正當程式,而自任意程式隱藏自身(不正當程式),故對於病毒檢查之可靠性存在一定極限。又,於專利文獻2中完全未記載於啟動OS之前監視病毒之具體方法。即便可發現自電源接通前就一直潛伏之病毒,亦因於再啟動(啟動OS)後未進行病毒檢查,而對在再啟動中入侵之病毒依然處於無防備之狀態。進而,由於專利文獻1、2為於個人電腦側進行處理之一般態樣,故即便就此方面而言,確保較高之可靠性亦存在極限。
又,近年來,已知有如專利文獻1中記載之啟動方法的所謂之USB記憶體開機方式。USB記憶體開機方式為如下技 術,即,於將USB記憶體連接於終端機並接通終端機之電源之情形時,由BIOS優先指定USB記憶體,且使記憶於其內部之OS開機,而可將例如工作場所之終端機於自己的PC環境下使用。作為該USB記憶體開機方式之另一態樣,亦已知有可預先記憶病毒驅除程式並使之優先啟動而驅除終端機內之潛伏病毒者。然而,絲毫未言及USB記憶體自身有無感染病毒,或於病毒驅除程式之啟動前執行帶有病毒之程式而使病毒驅除動作無力化之情況,進而自病毒驅除處理結束至OS之啟動為止之期間有無病毒入侵。
本發明之目的在於提供一種抑制病毒等惡意軟體(malware)之動作之外部開機之技術。
本發明之外部開機裝置係使具備CPU及展開上述CPU所執行之程式之主記憶體,並且於上述主記憶體與外部之間進行利用硬體之資料通信之具備晶片組(chip set)內之控制器之資訊處理裝置,經由上述控制器而將啟動所需之資料寫入至上述主記憶體而啟動之外部開機裝置;其特徵在於具備:第1記憶部,其記憶1次載入器(loader),該1次載入器藉由以上述CPU執行上述資訊處理裝置之BIOS,而優先讀出至作為上述主記憶體之一部分之可進行位址指定之啟動記憶體區域,且包含資料傳送之指示資訊;第2記憶部,其記憶特定之控制資料及位址資料,該控制資料係於接受上述1 次載入器之上述資料傳送指示後,作為依序分割之分割控制資料而讀出至上述啟動記憶體區域,且至少包含中斷向量表(interrupt vector table)及2次載入器,而該位址資料成為將上述分割控制資料寫入至上述啟動記憶體區域時之寫入位置;資料傳送部,其自於讀出至上述啟動記憶體區域之後而啟動之上述1次載入器,接受上述資料傳送之指示,且自上述第2記憶部,將上述各分割控制資料按照所對應之上述位址資料並經由上述控制器而依序讀出至上述主記憶體;以及硬體中斷指示部,其接受上述資料傳送處理之結束,而將上述硬體中斷指示信號轉移至被讀出至上述啟動記憶體區域之上述中斷向量表,且為使上述2次載入器啟動而發行硬體中斷。
又,本發明之外部開機方法係使具備CPU及展開上述CPU所執行之程式之主記憶體,並且於上述主記憶體與外部之間進行利用硬體之資料通信之具備晶片組內之控制器之資訊處理裝置,經由上述控制器而將啟動所需之資料寫入至上述主記憶體而啟動之外部開機方法;其特徵在於,上述外部開機方法具備:第1記憶部,其記憶1次載入器,該1次載入器係藉由以上述CPU執行上述資訊處理裝置之BIOS,而優先讀出至作為上述主記憶體之一部分之可進行位址指定之啟動記憶體區域,且包含資料傳送之指示資訊;以及第2記憶部,其記憶特定之控制資料及位址資料,該控 制資料係接受上述1次載入器之上述資料傳送指示後,作為依序分割之分割控制資料而讀出至上述啟動記憶體區域,且至少包含中斷向量表及2次載入器,而該位址資料成為將上述分割控制資料寫入至上述啟動記憶體區域時之寫入位置;且該外部開機方法具備:資料傳送步驟,自於讀出至上述啟動記憶體區域之後而啟動之上述1次載入器,接受上述資料傳送之指示,且自上述第2記憶部,將上述各分割控制資料按照所對應之上述位址資料並經由上述控制器而依序讀出至上述主記憶體;以及硬體中斷指示步驟,接受上述資料傳送處理之結束,而將上述硬體中斷指示信號轉移至被讀出至上述啟動記憶體區域之上述中斷向量表,且為使上述2次載入器啟動而發行硬體中斷。
根據該等發明,若於在例如個人電腦(PC,personal computer)等資訊處理裝置安裝有外部開機裝置,例如USB(Universal Serial Bus)記憶體之狀態下,接通資訊處理裝置之電源,則資訊處理裝置以成為可操作之狀態之方式,藉由CPU等而啟動(開機)。再者,外部開機裝置既可為開機處理專用裝置,亦可為可進行開機處理之外部裝置。
於外部開機裝置中至少記憶有外部MBR等1次載入器,及藉由1次載入器而載入之控制資料。資訊處理裝置係於接通電源後成為CPU可動作之狀態,且首先進行BIOS之程式之啟動。藉由BIOS之電力開啟自我測試(POST,Power On Self Test)處理而優先選擇外部開機裝置。然後,將寫入至外部開機裝置之特定磁區、例如起始磁區(initial sector)之外部MBR(Outer Master Boot Record)之1次載入器讀入至資訊處理裝置側,並寫入至資訊處理裝置之啟動記憶體區域內之特定區域。其次,CPU將控制交給作為啟動程式之1次載入器。
1次載入器係製作最初之位址資料,或自外部開機裝置取入等,並將該位址資料寫入至啟動記憶體區域內之特定位置。若進行用於此種資料傳送之環境設定,進而自1次載入器發出資料傳送指示,則不受CPU之控制,而可接受該指示信號,並開始經由晶片組內之控制器之利用資料傳送部之資料傳送處理。即,將寫入至外部開機裝置之第2記憶部之控制資料作為分割控制資料,而藉由例如中斷傳送(interrupt transfer)並經由控制器讀出至資訊處理裝置。讀出之控制資料按照作為物理位址之位址資料依序寫入至啟動記憶體區域之特定位置。該資料傳送處理不受CPU之控制。而且,若產生資料傳送處理結束,例如無接下來要傳送之資料(亦包含1次所傳送之資料未達到特定資料量之情形)或特定次數之傳送已結束之狀況,則例如設置資料傳送之結束旗標。該結束旗標係藉由硬體中斷指示部而作為硬體中斷指示信號向控制器發行。其次,該控制器發行硬體中斷,將控制轉移至啟動記憶體區域內之中斷向量表。而且,藉由資訊處理 裝置之CPU而啟動例如OS載入器等2次載入器。即,由此,藉由CPU之控制而將載入對象程式,例如OS載入至啟動記憶體區域外。再者,2次載入器並不限定於OS載入器。2次載入器亦可為用以將預先準備於外部開機裝置中之專用載入器、特定OS載入器等載入至啟動記憶體區域外者。例如,專用OS載入器只要載入至啟動記憶體區域外且區別於自資訊處理終端機內之硬碟等載入之通用OS之載入區域的區域即可。藉由利用該專用OS載入器監視通用OS,而可於更安全之狀態下進行通用OS之載入。
如此,於藉由外部開機裝置之1次載入器而脫離CPU控制之狀態下,藉由對資訊處理終端機之整個啟動記憶體區域,自外部開機裝置傳送並寫入控制資料,而抑制於BIOS級之病毒等惡意軟體之動作。即,即便病毒等惡意軟體潛伏於BIOS,或於自BIOS之啟動至1次載入器之啟動為止之期間,病毒等惡意軟體奪取CPU之控制而於啟動記憶體區域複製危險之資料等,亦會因其之後無關於CPU之控制而以來自外部開機裝置之特定資料對整個啟動記憶體區域進行覆寫,從而使上述經複製等之危險資料一律被刪除。
於上述外部開機裝置中,其特徵在於:上述控制資料具有相當於上述啟動記憶體區域之記憶容量之資料量。
根據該構成,可藉由控制資料,即分割控制資料,而更新啟動記憶體區域之全體。
於上述外部開機裝置中,其特徵在於:上述啟動記憶體區域為自起始部分至1Mbyte為止之區域。根據該構成,以來自外部開機裝置之資料,填滿資訊處理裝置啟動時於主記憶體中所展開之資料之範圍,即1MB為止之範圍,故即便於該區域中潛伏有惡意軟體等,亦可將其除去。
於上述外部開機裝置中,其特徵在於:上述分割控制資料係設定有固定資料量者。根據該構成,以固定資料量進行各資料傳送,故容易設定發送處理及寫入位置。
於上述外部開機裝置中,其特徵在於:上述分割控制資料包含不構成上述2次載入器之一部分之至少1個虛擬資料(dummy data)。根據該構成,可藉由包含虛擬資料而將控制資料之資料量設定為特定量。
於上述外部開機裝置中,其特徵在於:構成上述2次載入器之一部分之分割控制資料,係於其內部包含依序向次一關聯之上述分割控制資料之跳躍目的地之位址。根據該構成,連續執行分散配置於啟動記憶體區域之2次載入器。
於上述外部開機裝置中,其特徵在於:上述2次載入器係將載入對象資料載入至上述主記憶體之上述啟動記憶體區域以上之區域者。根據該構成,因載入對象資料係載入至2次載入器之配置區域以外,故不藉由載入對象資料覆寫2次載入器,便可確實地執行2次載入器。
於上述外部開機裝置中,其特徵在於:上述位址資料係設 為均按預先設定之複數個位址資料而分割之分割位址表,且上述資料傳送部每當讀出與1個上述分割位址表中所含之位址資料對應之分割控制資料時,便將下一分割位址表讀出至上述主記憶體。根據該構成,位址資料亦分別按特定數進行分割,且與分割控制資料之讀出相關聯地傳送至主記憶體,故可進行分散傳送。
於上述外部開機裝置中,其特徵在於:上述各分割位址表於表的最末尾具有指定作為下一上述分割位址表之寫入位置之位址的位址資訊。根據該構成,分割位址表依序於指定之位址而展開。
於上述外部開機裝置中,其特徵在於具備:傳送順序設定手段,其進行上述分割控制資料之讀出順序之設定、及成為上述分割控制資料之寫入位置之上述位址資料之排序中之至少一者。根據該構成,可使寫入至主記憶體之資料之分散性更高。
於上述外部開機裝置中,其特徵在於:上述傳送順序設定手段使虛擬資料與第1個上述分割位址表之最末尾以外之位址對應之分割控制資料建立關聯。根據該構成,因最初展開之複數個資料為虛擬資料,故可抑制由惡意軟體竄改之機會。
於上述外部開機裝置中,其特徵在於:上述傳送資料設定手段使中斷向量表與第2個上述分割位址表之起始位址 (initial address)建立關聯。根據該構成,藉由緊接著虛擬資料之後而配置中斷向量表,從而可儘可能早地覆寫惡意軟體用之中斷向量,並相應地抑制惡意軟體之動作。
於上述外部開機裝置中,其特徵在於:上述傳送資料設定手段以將第2個上述分割位址表以後之各分割位址表讀出至上述主記憶體內之超出上述啟動記憶體區域之區域之方式設定位址資訊。根據該構成,即便開機期間惡意軟體奪取CPU之控制,在此期間,亦為實模式(real mode),且於CPU無法指定超出啟動記憶體區域之區域之位址,故無法竄改第2個上述分割位址表之位址資料。
於上述外部開機裝置中,其特徵在於:對於第2個上述分割位址表以後之各分割位址表,設定各不相同之位址資訊。根據該構成,對於分割位址表之分散配置性提高。
於上述外部開機裝置中,其特徵在於:上述資料傳送部係經由上述控制器並藉由中斷傳送而於上述主記憶體之間進行上述資料傳送。根據該構成,因於中斷傳送中無法進行由CPU控制之資料傳送,故即便惡意軟體奪取CPU之控制,亦無法對主記憶體輸入輸出資料。
如申請專利範圍第15項所記載之外部開機裝置於上述外部開機裝置中,其特徵在於:硬體中斷指示部接受上述中斷傳送中之最後分割控制資料之傳送動作,而進行上述硬體中斷指示信號之輸出動作。根據該構成,藉由於利用控制器之 資料傳送結束之後不將控制交給CPU而直接執行硬體中斷,從而確實地抑制惡意軟體之動作。
根據本發明,可藉由外部開機而抑制惡意軟體之動作。
圖1係表示應用本發明之一實施形態之外部開機裝置之網路通信系統之概要圖。圖1所示之網路通信系統具備:終端機1,其係作為內建例如個人電腦之資訊處理裝置之一例;USB(Universal Serial Bus)記憶體2,其係作為可連接於該終端機1之外部開機裝置之一例;及網際網路等網路3。終端機1係經由網際網路服務提供者(ISP,Internet Service Provider)4而與網路3連接。於本實施形態中,由於終端機1可連接於網路3,且於安裝有USB記憶體2之狀態下,具有如下所述經由USB記憶體2而與網路3連接之構成。於網路3上配設有複數個ISP4,且各ISP4係連接於1個或複數個終端機1或提供各種資訊之省略圖示之網站(website)。USB記憶體2係例如於接受登錄作為具有通過來自終端機1之操作而接受特定服務之提供之權限之會員時而支付。USB記憶體2係於大致長方體形狀之框體內具備主機板(省略圖示),且於主機板上搭載有各種電路元件及半導體元件。USB記憶體2係於內部之記憶部中記錄有識別固體(自己本身)之資訊、識別成為持有者之會員之資訊,及其他資訊。關於 USB記憶體2之構成及功能等於下文進行敍述。
於本網路3上經由ISP4而連接有1個或特定個數之會員伺服器5及複數個客戶終端機6(圖1中,各以1個為代表而記載)。會員伺服器5係以會員單位記憶與擁有終端機1或可支配操作之會員相關之適當資訊,例如會員之姓名、名稱、電子郵件位址、住所等會員資訊等。客戶終端機6係記憶對來自作為客戶端之各終端機1之交易請求之處理,例如利用電子結算之處理、交易資訊,且進行與交易相關之歷史資訊之管理。於會員伺服器5中,除上述會員資訊以外,亦可視需要而記憶(保管及管理)可對終端機1提供之資訊,例如於執行提供給會員之服務之方面所必需之處理軟體,即例如用以製作所需之文件之文件製作程式等,或進而在大容量伺服器就每個終端機1之交易內容及歷史資訊進行之。
再者,本發明中之網路通信系統可採用以下態樣作為一例。例如,終端機1如下所述般根據有無利用USB記憶體2之開機而設定切換可使用之態樣,即作為對發送對象之資料實施一般處理並於網際網路線路上發送之通用終端機而使用之情形,以及作為對發送對象之資料實施特定處理並於網際網路線路上發送之專用終端機而使用之情形。於例如作為通用終端機而使用之通用模式之情形時,於終端機1內儲存有執行利用一般文件或圖形之製作軟體之資訊之製作、加工、記憶、進而利用通信用軟體之資訊之收發等一般之各種 處理之程式檔案(program file)(稱為通用應用程式(AP,application program))。另一方面,於USB記憶體2內記憶有進行與特定應用軟體之執行相關聯之處理之特定模式之程式檔案(稱為特定AP)。通用AP可藉由終端機1內原有之MBR或載入器所讀出之OS而動作,相對於此,特定AP可藉由USB記憶體2內之2次載入器所讀出之OS(稱為特定OS)而動作。更具體而言,於會員間,即消費者、商店及企業等終端機1中,作為特定AP而於開機後自USB記憶體2載入有進行商品或服務之買賣、估價或請求、關於現金進出(關於所謂之商業交易)之各文件之製作及通信之軟體、及視需要之特定之認證處理之軟體。即,終端機1可藉由特定AP而進行一般商業交易中之結算,例如來自業者店鋪之帳單之發行、收領、或自購買者側向帳單發行方之合作金融機關之帳戶的進款(即付款)指示書、其收據之發行,此外,無論電子結算之情況如何均能以各種電子文件進行收發處理。特定AP可將各種文件製作成文字形式或二進制形式之電子檔案。電子檔案係例如以會員伺服器5轉送(或者並行)而於終端機1間進行授受。於各金融機關之終端機1亦安裝有進行按照來自消費者或企業之終端機1之金融結算文件之結算指示處理(於金融機關間之結算處理之指令等)之特定AP。分配寫入有每個登錄會員固有之資訊之USB記憶體2。於會員接受服務之提供之情形時,以將該USB記憶體2 插入至終端機1之USB埠口,並至少以接受USB之正當性之認證處理、較佳為進而接受個人認證(為USB記憶體2之正當持有者之認證)處理為條件。
會員伺服器5具備記憶管理用之各會員之檔案收發歷史或其檔案類型等之記憶部。會員伺服器5亦可具備認證功能,於該情形時,亦可設為如下態樣,即認證功能係瀏覽於會員伺服器5與終端機1之間授受之檔案,即封包(packet),而進行有無會員正當性之認證。
又,本網路通信系統考慮有其他各種應用例。例如可列舉如下例,即應用於例如與存在於製作、保管管理秘密資訊之作為官方或準官方(包括民間)機關之團體組織(包含國家、自治團體、協會、公會等)外之終端機1之間的資訊通信、管理體制。而作為與存在於團體組織外之終端機之間之資訊通信,例如假設為證明書之發行、申請書之發送等。
再者,於藉由按照傳送控制協定/網際網路協定(TCP/IP,transmission control protocol/internet protocol)規則所形成之封包而進行文件檔案之收發之情形時,將接收之封包返回至原來之檔案、或將預定發送之檔案置換為封包並發送。進而,於所發送之各封包之標頭中包含作為發送來源之終端機1之全域IP位址、作為發送目的地之其他終端機及會員伺服器之全域IP位址。
圖2係表示終端機及外部開機裝置之基本構成之一例之 方塊圖。終端機1係如圖2所示,於各個晶片組上具備作為控制手段之中央處理單元(CPU,Central Processing Unit)11、記憶體控制器集線器(MCH,Memory Controller Hub)12及輸入輸出控制器集線器ICH,I/O Controller Hub)13之眾所周知構成。所謂晶片組係指以構成省略圖示之主機板之主要零件,而控制CPU11或各種記憶體14、15、其他硬碟(HDD(Hard Disk Drive)16)、或省略圖示之光碟-唯讀記憶體(CD-ROM,Compact Disc Read Only Memory)等與主機板連接之所有零件間之資料之交換的電路群。MCH12係設為利用具有擔負記憶體與CPU11之連接之功能的晶片組,以32位元(或64位元)進行動作之構成。ICH13係設為利用具有使USB記憶體2等外部裝置與其他構成要素連接之功能的晶片組,以32位元(或64位元)進行動作之構成。終端機1與外部開機裝置,此處為與USB記憶體2之間之資料之授受,係經由該ICH13、MCH12而進行。又,於ICH13中,形成有與USB記憶體2具體地進行資料之收發且包含硬體之USB主控制器131。再者,因MCH12、ICH13係以32位元等所構成,故作為物理位址而可存取超過1MB。
隨機存取記憶體(RAM,Random Access Memory)14係作為主記憶體而發揮功能,且具有特定之記憶容量,例如4GB(再者,B為byte(位元)之簡稱)。RAM14具有作為啟動時之工作區而發揮功能之啟動記憶體區域141,進而用以執 行通常處理之工作區。啟動記憶體區域141為具有特定之記憶容量,此處為位址線20位元規格,即1MByte(再者,準確而言為1MByte+64Kbyte,但參照一般記法,又,為便於記載,此處記為1MByte)之區域。快閃唯讀記憶體(ROM,Read Only Memory)15係記憶BIOS(Basic Input/Output system)程式者。硬碟(HDD)16係記憶終端機1側之MBR、通用OS載入器、通用OS、通用AP等各程式者。於RAM14上經由MCH12而連接有CPU11及ICH 13,進而亦連接有快閃ROM15、HDD16。又,於CPU11上連接有具備操作者輸入必需之指令或資訊之數字小鍵盤或滑鼠等之操作部17,及顯示影像之顯示部18。顯示部18係用於顯示輸入資訊之確認或顯示通信內容。
於本實施形態中,BIOS係以優先指定作為外部開機裝置之USB記憶體2之方式而設定。再者,指定之優先順序係可覆寫地保存於另外具備之互補金氧半導體(CMOS,Complementary Metal Oxide Semiconductor)中。
圖3係表示終端機及外部開機裝置中,主要與開機相關之功能部之方塊圖。圖4係用以說明向RAM14之資料展開順序之圖。CPU11係作為啟動處理部111、資訊處理部112、及網路通信處理部113而發揮功能;該啟動處理部111藉由執行於RAM14中展開之程式,而進行電源接通後之終端機1之啟動;該資訊處理部112以所設定之模式(通用模式、 或特定模式)藉由操作部17而進行文章製作等資訊製作處理或其類似處理(例如圖表之製作)等;及,該網路通信處理部113將所製作之資訊檔案或所保管之資訊檔案向所需地發送。資訊處理部112於通用模式、特定模式中,根據各自之通用AP、特定AP而進行資訊之處理。網路通信處理部113於本實施形態中,如下所述,用於通用模式。再者,如眾所周知般,各處理部111~113中之實際之資訊處理係包含於RAM14內之運算處理而進行。
USB記憶體2係於安裝於終端機1之狀態下作為USB目標物(target)而就定位。USB記憶體2具備:記憶部21,其記憶特定之資料類;USB目標物控制器22,其係作為執行目標物側之資料傳送處理之硬體構成;CPU23,其與USB目標物控制器22協同動作而執行特定之動作,典型的是與資料傳送之準備相關之各種處理;網路通信處理部24,其用以控制與外部網路之通信;及網路介面卡(NIC,Network Interface Card)25,其用以與外部網路進行通信。
記憶部21具有第1記憶部211~第4記憶部214。第1記憶部211係記憶外部MBR1411(即外部主開機記錄:1次載入器)者。外部MBR1411係如下所述,於BIOS開機時,藉由BIOS之處理而寫入至啟動記憶體區域141之特定位置(例如位址“0x07C00”)。
第2記憶部212係記憶傳送描述符(Transfer Descriptors) 資料(以下,稱為TD資料(位址資料))以及包含虛擬資料、中斷向量表之資料、及作為2次載入器之例如特定OS載入器的控制資料。詳細情況於下文進行敍述,但於本實施形態中,記憶於第2記憶部212之控制資料,係設為預先以特定資料量(例如1KB(B為byte之簡稱))為單位進行分割之分割控制資料。2次載入器一般而言具有少於1MB之資料量。控制資料係藉由調整虛擬資料之數量而如下所述設為具有1MB者。
TD資料係一覽表示將各分割控制資料傳送至啟動記憶體區域141且展開時之寫入位置(寫入位址)的位址資料。位址資料係用來將分別具有特定資料量之分割控制資料於RAM14之啟動記憶體區域141中展開,並以控制資料填滿啟動記憶體區域141上之方式寫入者。又,該位址資料並非為一次轉送至啟動記憶體區域141之特定位址並展開之方式,亦並非為逐個傳送之方式,而於本實施形態中,係分割為具有預先設定之資料量或資料數(於此處具有特定個,例如5個,即相當於5列之位址資料(參照圖4之符號1412))之特定個數之分割TD資料表。於藉由分割而形成之分割TD資料表1412之最下列(最末尾),按照降序自第1個分割TD資料表TD[1]至最後一個之前一個分割TD資料表TD[n-1],如下所述般依序設定有下一表之寫入位址。再者,第1個分割TD資料表TD[1]亦可為自外部MBR製作之態 樣。若參照圖4之例,則於分割TD資料表TD[1]之最下列,例如設定位址“0x40000”,且以該位址“0x40000”為基準寫入分割TD資料表TD[2]。如此,藉由依序將下一分割TD資料表TD[i](i:1~n-1)之位址設定於表的最下列,而可實現至最後之分割TD資料表TD[n]為止之寫入。再者,於本實施例中,如下所述,第2個分割TD資料表TD[2]以後,係均於超出啟動記憶體區域141之區域中展開。
中斷向量表1414係指於發生各種中斷之情形時,處理之程式之起始位址分別儲存於對應之特定INT位置之表(對應表)。中斷向量表1414之資料係受理下述之硬體中斷信號之輸入者。再者,中斷向量表1414亦可分割為特定個數,但於本實施形態中,於中斷向量表1414之資料量相當於1次傳送之傳送資料量之情形時,則不分割而保持原樣。特定OS載入器(2次載入器)之程式係藉由於寫入至受理硬體中斷信號之中斷向量表1414之INT“XX”之位址資料中,配置(相當於特定OS載入器之程式最初之序列部分)起始之分割控制資料,而使程式整體於啟動記憶體區域141中展開。又,關於分割控制資料之讀出係於下文進行敍述。再者,構成分割控制資料之一部分之虛擬資料,亦可為例如表示“0”或“1”之簡單資料,但作為惡意軟體之對策,亦可為由複雜地混有“0”及“1”之無意義之碼構成。
第3記憶部213係記憶藉由於RAM14上展開之特定OS 載入器(2次載入器)而載入之特定OS、及於特定OS之動作環境下所執行之特定AP之各程式者。第4記憶部214係記憶上述之會員資訊或個體識別資訊等者。
USB目標物控制器22係於啟動時,按照利用硬體之資料傳送方式,例如下述之中斷傳送,即來自USB主控制器131之指示而動作。所謂中斷傳送,更詳細而言係指USB目標物控制器22等待接收來自USB主控制器131之週期性(例如每隔10 msec)的輪詢信號(polling signal),每次接收信號時,若於作為工作記憶體(work memory)之RAM23B之特定位置存在預定傳送之資料,則將該資料讀出至USB主控制器131。因該資料傳送係藉由控制器22、131而進行者,並非藉由執行程式而進行者,故不受CPU11之控制。
CPU23係於啟動時支援利用USB目標物控制器22之資料傳送動作。CPU23係作為傳送資料處理部231、傳送順序設定部232、傳送資料準備處理部233、傳送結束處理部234、及2次載入器處理部235而發揮功能;該傳送資料處理部231藉由執行儲存於ROM23A且於工作記憶體(RAM)23B之特定區域展開之處理程式,而使用記憶於第2記憶部212之資料,且如下所述般加工(製作)為特定大小之分割控制資料;該傳送順序設定部232設定分割控制資料之傳送順序,並將預定傳送之資料於RAM23B之特定區域展開;該傳送資料準備處理部233按照所設定之資料傳送順序,而以預定 傳送之資料單位,準備(寫入)於RAM23B之讀出位置;及,該傳送結束處理部234判斷有無資料傳送之結束。
傳送資料處理部231係執行如下處理,即,將記憶於第2記憶部212之資料,即控制資料(虛擬資料、中斷向量表及特定OS載入器(2次載入器))分割成特定之資料大小,例如1KB之大小之資料大小,而製作分割控制資料,並寫入至第2記憶部212。分割控制資料包含分割成特定個數之特定OS載入器、1個或特定個數之虛擬資料、及(於本實施形態中不被分割、包含1KB之)中斷向量表,且作為整體與啟動記憶體區域141之容量對應。再者,由於分割控制資料本身一旦製作則可固定地使用,故亦可代替每次啟動資訊處理裝置1時均進行製作處理之方法,而為僅於最初製作1次之態樣。或者,亦可設為將所製作之結果之分割控制資料儲存於第2記憶部212之態樣,於該情形時,未必需要傳送資料處理部231。
傳送順序設定部232係進行如下設定,即,將構成TD資料之各位址資料之順序、以及於傳送資料處理部231所製作之分割控制資料之傳送順序及傳送位置,以特定時序,較佳為每當終端機1外部開機時便進行變更。TD資料之順序之變更(排序)及分割控制資料之傳送順序之變更,亦可不為每次外部開機時都進行,此處,該每次都進行則可確保更高之安全性。又,此種變更處理既可於外部開機之開始時間點進 行,亦可為於上一次(前次)之外部開機結束後預先設定之態樣。
上述變更或位址資料之排序之方法係根據變動條件而設定。此處,參照圖4,首先,對於TD資料進行說明。TD資料係如上所述為指示分割控制資料之各自之傳送目的地之位址之表單(表)。雖可將該TD資料保持原樣而藉由1次傳送動作讀出至啟動記憶體區域141,但於本實施形態中,按特定大小,例如均為1KB進行分割,而作為分割TD資料表進行傳送。其結果,如下所述,分割TD資料表自身亦可與分割控制資料一同地進行中斷傳送。再者,如上所述,於圖4之例中,藉由外部MBR1411而製作之分割TD資料表TD[1]係藉由外部MBR1411而於以啟動記憶體區域141之特定位址,例如以位址“0x01000”為基準之區域展開,第2個以後之分割TD資料表TD[2]、…係自USB記憶體2讀出,且於超出啟動記憶體區域141之區域(例如,分割TD資料表TD[2],位址“0x40000”)展開。再者,分割TD資料表TD[1]之展開位置亦可於每次外部開機時均為固定,但亦可為藉由外部MBR1411而隨機地、或按照特定之規則變更之態樣。
傳送順序設定部232係對於TD資料內之各位址資料,於每次外部開機時,例如隨機地或以特定之規則打亂等而進行排序。又,傳送順序設定部232對排序後之TD資料,自起 始側即按照傳送順序,分割成各有特定個數,於本實施形態中各有4個之位址資料,而分別製作包含該等4個位址資料之分割TD資料表TD[i]。更詳細而言,使4個位址資料對應於各分割TD資料表TD[i]之第1列至第4列,且於第5列設定成為下一分割TD資料表TD[i+1]之展開目的地之位址資料。藉由此種處理而製作分割TD資料表TD[i]。
其次,對於分割控制資料之傳送順序及傳送位置之變動進行說明。若除去虛擬資料,則各分割控制資料具有構成特定OS載入器(程式)之序列之各自之一部分的資料、及用以識別自身之例如序號資訊等識別資訊。進而,於構成特定OS載入器之各自之一部分的各分割控制資料中,於在RAM14中分散展開之情形時,特定向成為特定OS載入器內之下一序列之分割控制資料跳躍之位置之位址資訊,如下所述,係藉由傳送順序設定部232而附加。藉此,即便變更分割控制資料之傳送順序、傳送位置,特定OS載入器亦可按序列動作。
傳送順序設定部232對新製作的各分割TD資料表TD[i]之第1列至第4列之各位址資料(或新排序之TD資料之各位址資料),建立分割控制資料之新的對應關係。可藉由補充所需數量之虛擬資料,而對所有位址資料分配分割控制資料。進而,傳送順序設定部232對至少構成特定OS載入器之所有分割控制資料,進行包含分配至與下一序列對應(具 有識別資訊)之分割控制資料之新的傳送目的地之位址資料之(寫入)處理、即可跳躍處理。再者,對於上述TD資料及分割控制資料之處理係讀出記憶於第2記憶部212之各資料而進行,且於處理後暫時保管於例如RAM23B之特定記憶體區域。
其結果,除於RAM14展開之分割控制資料之傳送順序及傳送位置之變動以外,傳送位置之指定順序亦於每次啟動時發生變動。再者,較佳為執行外部開機中之分割控制資料之傳送順序、傳送位置及傳送位置之指定順序之各變動中之至少任一者以上,就安全上而言,更佳為執行任兩個或3個。又,亦可設為僅進行將TD資料之各位址資料排序之處理、及分割控制資料與TD資料之各位址資料之分配處理中之至少一者之態樣。
又,傳送順序設定部232係隨機地或基於特定規則而進行上述至少1個以上之變動處理。作為特定規則,為利用寫入至第4記憶部214之會員資訊或個體識別資訊之至少一者,進而於視需要而於USB記憶體2具備計時部之態樣下加入有時間資訊,或於記憶與通信歷史相關之資訊之態樣下加入有通信歷史資訊者。
而且,傳送順序設定部232係將按照重新排序之位址資料順序而製作之各分割TD資料表、及與各位址順序對應地製作之新的各分割控制資料暫時準備於RAM23B內之特定位 置。再者,如上所述,傳送順序設定部232將分割TD資料表TD[1]設定於啟動記憶體區域141內之特定位置,並且對與分割TD資料表TD[1]內之第1列至第4列之位址資料對應之分割控制資料分配虛擬資料。即,傳送順序設定部232係於每次外部開機時都對分割TD資料表TD[1]內之第1列至第4列之位址資料進行變動,另一方面,作為與第1列至第4列之位址資料對應之分割控制資料,使虛擬資料發生變動或固定地分配。又,關於分割TD資料表TD[1]內之第5列之位址資料,即分割TD資料表TD[2]內之展開目的地,除固定之態樣以外,亦可為變動之態樣。
傳送順序係將第1個分割TD資料表TD[1]作為起始而設定。該第1個分割TD資料表TD[1]係於外部MBR1411製作,但亦可為於傳送順序設定部232製作,且由例如外部MBR1411傳送至RAM14之態樣。或者,亦可設為外部MBR僅製作分割TD資料表TD[1]之配置位址,並基於此而於中斷傳送開始後隨即就取入分割TD資料表TD[1]之態樣。又,於在外部MBR1411製作分割TD資料表TD[1]之情形時,必需使之與於傳送順序設定部232製作之第2個分割TD資料表TD[2]之配置位址一致,但只要為使第2個分割TD資料表TD[2]之配置位址固定化之態樣、或以兩者共用之規則進行TD資料之排序即可。
傳送資料準備處理部233依重新製作之分割TD資料表 TD[2]、…、分割TD資料表TD[n]及重新製作之分割控制資料而進行按照傳送順序之排序。於本實施例中之順序為傳送至分割TD資料表TD[1]之第1列之位址資料之位置之分割控制資料(於本實施例中為虛擬資料1413(參照圖4))、傳送至分割TD資料表TD[1]之第2列之位址資料之位置之分割控制資料(於本實施例中為虛擬資料)、…、傳送至分割TD資料表TD[1]之第4列之位址資料之位置之分割控制資料(於本實施例中為虛擬資料)、傳送至分割TD資料表TD[1]之第5列之位址資料之位置之分割TD資料表TD[2]、傳送至分割TD資料表TD[2]之第1列之位址資料之位置之分割控制資料(於本實施例中,中斷向量表1414(參照圖4))、傳送至分割TD資料表TD[2]之第2列之位址資料之位置之分割控制資料、…、傳送至分割TD資料表TD[n]之第5列之位址資料之位置之分割控制資料。如此,於資料傳送中,將分割TD資料表TD[1]與分割控制資料均視作同列之分割資料而處理。再者,分割資料之排序既可設為將資料本身按照傳送順序排序並暫時保管之態樣,亦可設為對各分割資料賦予傳送順序資訊,並於傳送時依序轉移至傳送位置之態樣。再者,於分割TD資料表TD[2]之第1列之位址資料之位置配置中斷向量表1414之原因在於,通常若於中斷向量表1414之位置存在惡意軟體之情況,則由於會於該區域藉由惡意軟體而製作惡意軟體用之中斷向量,故藉由於中斷傳送 之儘可能早的階段以正規之中斷向量表更新該區域,而可迅速刪除惡意軟體用之中斷向量。
又,傳送資料準備處理部233係依序將下一預定傳送之分割資料移至RAM23B之特定位置,且於接受到下一輪詢信號之前待機。傳送資料準備處理部233根據輪詢信號之接受週期並按照所設定之傳送順序而準備分割資料。準備於RAM23B之特定位置之分割資料,於每次接受輪詢信號時,均由USB目標物控制器22讀取,並向USB主控制器131側取入。於每次之輪詢信號均重複此種動作,藉此將來自USB記憶體2之傳送資料寫入(埋入)至RAM14。再者,自USB目標物控制器22讀出之分割資料中之分割TD資料表TD[2]以後之分割TD資料表係讀出至啟動記憶體區域141外,較佳為各不相同之位置,另一方面,分割控制資料係全部讀出至啟動記憶體區域141內。
藉由來自USB主控制器131之物理位址(於本實施例中可達到與32位元對應之4GB)而將分割TD資料表TD[2]以後之分割TD資料表寫入至啟動記憶體區域141以外,藉此即便惡意軟體控制CPU11而欲覆寫分割TD資料表之資料,亦無法於實模式環境下,於利用根據晶片組內之段暫存器內之段資料及偏移資料(offset data)而計算出之線性位址之存取中,無法對1MB以上,即啟動記憶體區域141以外進行存取,故可防止複製動作,從而可抑制惡意軟體之動作。即 便考慮到惡意軟體進行向所謂之非實模式(Unreal mode)之環境設定之情形,環境變更處理等亦需要時間,其結果,於輪詢週期內之動作受到抑制。再者,所謂非實模式係指藉由於實模式環境下將資料段暫存器之存取限度變更為4GB,而僅使資料存取中可對1MB以上,即啟動記憶體區域141外進行存取之特殊狀態。又,關於分割TD資料表TD[1],因對中斷傳送之起始至相當於4個之分割控制資料,即起始第1列~第4列之分割控制資料全部設定虛擬資料而抑制覆寫之機會,故即便被覆寫而對啟動記憶體區域141施加某些改變,亦藉由緊接著之利用分割控制資料對啟動記憶體區域141之全體區域之更新而刪除改變內容。因此,即便於中斷傳送前藉由惡意軟體等實施自BIOS向啟動記憶體區域141之不正當之寫入、小花樣,於啟動記憶體區域141之全體區域藉由中斷傳送而展開分割控制資料,由此而均被刪除。
傳送結束處理部234最後之預定傳送之資料向RAM23B之特定位置之轉移(準備)結束時,則於RAM23B內或包含其他記憶體之控制暫存器中設置結束旗標。USB目標物控制器22於接受到下一輪詢信號時,若於控制暫存器中設置有結束旗標,則向USB主控制器131發送硬體中斷指示信號。再者,USB目標物控制器22亦可於無應向RAM23B之特定位置傳送之資料之情形時,結束一系列之傳送處理,而生成硬體中斷指示信號並發送至USB主控制器131。
硬體中斷指示信號傳送至啟動記憶體區域141之特定位址。即,硬體中斷指示信號係藉由中斷傳送而傳送至於啟動記憶體區域141所展開之中斷向量表1414之INT“XX”。在CPU11之控制下,作為有該硬體中斷指示信號,即硬體中斷,而跳躍至寫入至該INT“XX”之位置之位址。而且,CPU11跳躍至寫入至相當於INT“XX”之位置之位置資訊,即特定OS載入器(2次載入器)之程式內之起始序列部分並執行此,繼而依序參照跳躍目的地之位址而依序跳躍至展開之2次載入器之下一序列,並依序執行此等。
2次載入器處理部235係於藉由終端機1側之CPU11而執行2次載入器之情形時,將特定OS自第3記憶部213讀出至RAM14之1MB以上之區域。特定OS視需要讀出特定之AP。而且,可藉由所讀出之特定AP,而如上所述進行以特定模式之資訊處理等。2次載入器並不限於特定OS載入器,亦可為通用OS載入器。
網路通信處理部24係藉由以CPU23執行儲存於ROM24A之程式且為於RAM24B展開之處理程式,而進行經由NIC(Network Interface Card)25與網際網路等外部網路進行通信之處理。再者,由於ROM24A包含ROM23A,RAM24B包含RAM23B,於圖4中,根據功能之不同而個別地表示。NIC25係配備有省略圖示之路由器,或與路由器串列地連接。該路由器係進行位址資訊(路由表(routing table)或位址 解析協定(ARP,Address Resolution Protocol)表)之設定,該位址資訊係用以識別例如表示於作為發送信號或接受信號之各封包之特定位置上所附加之發送目的地之位址資訊是基於網際網路用之規則之全域IP位址、或是與該全域IP位址之附加方法不同(全域IP位址為可識別之形態)之專用網路用之例如以乙太網路(Ethernet)(註冊商標)用等為基準之特定之區域IP位址(媒體存取控制(MAC,Media Access Control)位址)。封包係與表對照,且僅向位址一致之路線(route)發送,藉此,可在經由網際網路、或專用網路而於軟體上切換傳送路徑。
此處,對於開機之流程簡單地進行說明。開機時之資訊之流程及其順序於圖4中以箭頭表示。首先,接受終端機1之電源接通後CPU11啟動BIOS,並藉由BIOS之處理而將外部MBR1411自USB記憶體2取入。若外部MBR1411之取入結束,則CPU11之處理交給外部MBR1411,而外部MBR1411之主開機記錄作為1次載入器而發揮功能。首先,製作第1個分割TD資料表TD[1]1412(圖4之箭頭(1))。其次,外部MBR1411對於USB主控制器131進行中斷傳送之開始指示(指令)(圖4之箭頭(2))。首先,藉由USB主控制器131而取得分割TD資料表TD[1]之第1列之位址資料,並將該位址資料及作為第1個傳送之分割資料之虛擬資料1413,經由MCH12而傳送至RAM14(圖4之箭頭(3)),並寫 入至該位址(圖4之箭頭(4))。以下,不受CPU11之控制,便可於USB主控制器131與USB目標物控制器22之間,自USB記憶體2依序取入分割資料,因而分割TD資料表TD[1]之第5列之位址資料藉由USB主控制器131而取得,該位址資料及作為第5個傳送之分割資料的分割TD資料表TD[2],經由MCH12而傳送至RAM14,並寫入至啟動記憶體區域141外之該位址“0x40000”(圖4之箭頭(5))。
與該分割TD資料表TD[2]之各列之位址資料對應之分割資料,自USB記憶體2依序讀入,且於啟動記憶體區域141展開。USB主控制器131每次傳送分割TD資料表TD時,均暫時保管該分割TD資料表中所含之位址資料,使位址資料與接下來傳送之分割控制資料建立關聯而送出至MCH12。MCH12自傳送來的資料取得位址資料,且於該位址中寫入分割控制資料1415。
此處,與分割TD資料表TD[2]之第1列之位址資料對應地,中斷向量表1414自USB記憶體讀取、寫入(圖4之箭頭(6))。然後,依序展開分割TD資料表TD[i](圖4之箭頭(7)),當與最後之分割TD資料表TD[n]之最下列之位址資料對應之分割資料,自USB2讀入,且向啟動記憶體區域141展開,則同時經由MCH12(不經由CPU11)而將硬體中斷指示信號發送至中斷向量表之INT“XX”(圖4之箭頭(8))。CPU11接受該硬體中斷指示信號,而使中斷之指令向 展開有所分割之特定OS載入器之起始之分割資料之分割控制資料(初始)1415之基準位址跳躍(圖4之箭頭(9)),藉此,開始特定OS載入器之執行。藉由以上處理,存在於中斷傳送前之啟動記憶體區域141之惡意軟體等全部被刪除。
圖5係說明藉由於安裝有USB記憶體之狀態下之終端機1之CPU11而執行之BIOS之啟動處理之順序之流程圖。若首先接通終端機1之電源(步驟S1),即主機板上之時脈產生器(clock generator)接受電源供給而開始輸出時脈脈衝,則開始記憶體或周邊機器之裝置之檢查(POST處理)(步驟S3)。其次,是否安裝有作為外部裝置之USB記憶體2之判斷,係例如利用公眾周知之交握(handshake)信號之授受等而確認。此處,因安裝有USB記憶體2,故省略判斷處理,而啟動USB記憶體2。即,當安裝有USB記憶體2,則按照優先順序,藉由BIOS啟動常式(routine)而將USB記憶體2之MBR(之主開機記錄)作為外部MBR1411而讀入至啟動記憶體區域141(步驟S5)。再者,若於終端機1之埠口未安裝USB記憶體2(若於其他埠口亦未安裝外部裝置),則自終端機1之HDD選擇並讀入MBR。
其次,判斷外部MBR1411之主開機記錄之寫入是否結束(步驟S7),若外部MBR1411之主開機記錄之寫入未結束,則返回至步驟S5,而重複相同之處理。另一方面,若已結束,則將CPU11之控制轉移至外部MBR1411之主開機記錄 (步驟S9)。
圖6係說明藉由終端機1之CPU11而執行之外部MBR之開機處理之順序之流程圖。首先,執行外部MBR之程式(步驟S21),其次,製作分割TD資料表TD[1],並設定於啟動記憶體區域141(步驟S23)。然後,將用於中斷傳送之環境設定信號送出至USB主控制器131(步驟S25),此後,將開始中斷傳送之指令送出至USB主控制器131(步驟S27)。
圖7、圖8係說明藉由USB記憶體2之CPU23而執行之中斷傳送順序變動處理之順序之流程圖。首先,判斷是否自USB主控制器131接受用於中斷傳送之環境設定信號(步驟# 1)。若未接受,則省去本流程。另一方面,若接受環境設定信號,則首先如上所述隨機或按照特定之規則執行TD資料之排序(步驟# 3)。TD資料之排序方法係如上所述,既可為利用亂數產生之隨機方式,亦可為利用會員識別資訊等、另外日期、通信歷史等各種資訊之態樣。據此,獲得較高之變動性,進而於針對每個USB記憶體2而不同之方面則較佳。
重新排序之TD資料係自起始部分起按特定個數,於本實施形態中為各為4個地分割,而分別製作分割TD資料表TD[i](i=2、3、…n)(步驟# 5)。更詳細而言,於該等之各分割TD資料表TD[i]之第1~4列,以所排序之順序設定位址資料。再者,於本實施形態中,如上所述最初之分割TD資 料表TD[1]係設為由外部MBR製作之態樣。
其次,於該等之各分割TD資料表TD[i]之第5列設定下一分割TD資料表TD[i+1]之位址資料(步驟# 7)。再者,如上所述,預先設定第2個分割TD資料表TD[2]以後之各分割TD資料表之配置位置,且設定此種已設定完成之位址。然而,亦考慮未預先設定各分割TD資料表之配置位置之態樣,於該情形時,只要重新製作經重新製作之各分割TD資料表TD[i]之配置位址,並執行步驟# 7即可。
進而,於本實施形態中,於分割TD資料表TD[2]之第1列,設定中斷向量表作為分割控制資料(步驟# 9),繼而,於分割TD資料表TD[2]之第1列以外之所有分割TD資料表之第1~4列,進行分割控制資料(特定OS載入器、虛擬資料)之分配(步驟# 11)。再者,步驟# 7~步驟# 11之處理亦可特別地調換順序。
繼而,於分配後之構成特定OS載入器(即除虛擬資料以外)之分割控制資料之各內部,進行作為下一序列之分割控制資料之配置位址之設定(步驟# 13)。即便藉由該配置位址之設定處理,而使分割特定OS載入器之分割控制資料於啟動記憶體區域141分散配置,亦可執行按照程式之序列之處理。再者,亦可為於各分割控制資料內附加例如跳躍指令及其位址作為最後之指令之態樣,來代替成為下一序列之分割控制資料之配置位址之設定。
然後,實施此種配置位址之設定處理,其結果,包含分割TD資料表TD[i]、及分割控制資料之分割資料,按照傳送順序(j)而設定(步驟# 15),接下來並暫時保管於RAM23B(步驟# 17)。
即,傳送順序(j)成為分割控制資料之第1~4個(於本實施形態中,全部為虛擬資料)、分割TD資料表TD[2]、分割控制資料之第5~8個(於本實施形態中,第5個分割控制資料為中斷向量表)、分割TD資料表TD[3]、分割控制資料之第9~12個、…、而且最後之分割TD資料表TD[n]、分割控制資料之最後之4個。
圖9係說明藉由USB記憶體2之CPU23而執行之中斷傳送準備處理之順序之流程圖。首先,將資料傳送順序j設置為值1(步驟# 21)。其次,設置成為第j個傳送順序之分割資料(步驟# 23)。接下來,判斷此次預定傳送之分割資料是否為最後之資料(步驟# 25),若非為最後之資料,則以j=j+1之形式使傳送順序僅增加1(步驟# 27)。接著,待機至經過用以等待下一輪詢信號之特定時間(輪詢週期)為止(步驟# 29)。再者,於該輪詢週期期間,設置於RAM23之分割資料藉由USB目標物控制器22而讀出至USB主控制器131側。而且,若經過特定時間,則返回至步驟# 23,設置下一傳送對象之分割資料。另一方面,於步驟# 25中,若為最後之資料,則設置結束旗標(步驟# 31)。
圖10係說明藉由終端機1之USB主控制器131與USB記憶體2之USB目標物控制器22而執行之中斷傳送之動作之時序圖。
中斷傳送之指令係藉由外部MBR之執行而發送至CPU11、MCH12、ICH13、及USB記憶體2側。若接受該指令,則為了確認自USB主控制器131對USB目標物控制器22有無發送請求而開始每隔特定週期之輪詢動作(處理T1)。再者,特定週期之管理係藉由設定例如USB主控制器131所管理之計時器並計時其時間而進行。
USB目標物控制器22若接受輪詢信號,則按照中斷傳送之指令而讀出預先準備於RAM23B之第1個分割控制資料並,送出至USB主控制器131(處理Q1)。該第1個分割控制資料係取入至USB主控制器131,並經由MCH12而向位址資料所指示之啟動記憶體區域141之配置位置展開(處理T3)。再者,如上所述第1個分割控制資料係寫入至與分割TD資料表TD[1]之第1列之位址資料對應之位置之虛擬資料1413。其次,若計時特定時間(處理T5),則輸出輪詢信號(處理T7),且與該輪詢信號對應地讀出第2個分割控制資料,並發送至USB主控制器131(處理Q3)。USB主控制器131將第2個分割控制資料經由MCH12而向啟動記憶體區域141內之啟動記憶體區域141之配置位置展開。其後,經由USB主控制器131及MCH12而將分割TD資料表TD[2] 作為控制資料讀出至RAM14之啟動記憶體區域141外之特定之配置位置,例如位址“0x40000”(處理Q5)。接下來,讀出作為分割控制資料之中斷向量表1414(處理Q7),而寫入至與分割TD資料表TD[2]之第1列之位址資料對應之位置,例如啟動記憶體區域141內之位址“0x00000”。
重複此種處理,讀出最後之分割控制資料(處理Q9),寫入至與分割TD資料表TD[n]之第4列之位址資料對應之位置,而結束中斷傳送。其結果,RAM14之啟動記憶體區域141內被控制資料填滿,即中斷傳送前之啟動記憶體區域141之全體區域被控制資料所更新。因此,即便惡意軟體潛伏等亦被刪除。
再者,此時,CPU23之傳送結束處理部234於RAM23B內之控制暫存器中設置結束旗標。而且,若USB目標物控制器22檢測出存在該結束旗標,則生成硬體中斷指示信號,並送出至USB主控制器131(處理Q11)。該硬體中斷指示信號經由MCH12而轉移至RAM14內之中斷向量表1414之INT“XX”。繼而,啟動起始之分割控制資料,即特定OS載入器。
再者,本發明可採用以下態樣。
(1)於本實施形態中,雖採用了USB記憶體等外部裝置作為外部開機裝置,但並不限定於此,只要為至少內置有CPU及ROM、RAM之裝置即可。例如,既可為積體電路(IC, integrated circuit)卡,亦可為內置於可攜式通信機器(相當於終端機1)之態樣。
(2)中斷傳送亦能以如下態樣執行。即,對於分割TD資料表TD[2]之第1列之位址資料,如上述實施形態般分配中斷向量表,另一方面,對於該分割TD資料表TD[2]之第1列之後,較佳為第2列之位址資料,分配局部載入器(以下,稱為準載入器)。使該第2列之位址資料與記述於中斷向量表1414之INT“XX”之位址資料一致。進而,CPU23於該準載入器之中斷傳送結束之時間點,設立初始之結束旗標,並於USB目標物控制器22中生成硬體中斷信號。結束旗標係於無下一中斷傳送中之預定傳送資料之情形時,或,傳送資料不具有特定資料量之情形時生成。因此,只要準載入器之資料量小於特定資料量,則可於該準載入器之中斷傳送之時間點生成結束旗標。
藉由實施此種偽裝,而以與分割TD資料表TD[2]之第1列對應之中斷傳送,寫入中斷向量表1414,以下一中斷傳送,寫入準載入器。而且,在此之後立即將硬體中斷指示信號發送至中斷向量表1414之INT“XX”,並啟動準載入器。準載入器於執行下述處理後,以將環境設定信號經由USB主控制器131而發送至USB目標物控制器22之方式進行指示。其結果,重新進行中斷傳送動作,並中斷傳送與下一分割TD資料表TD[2]之第3列之位址資料對應地分配之 分割控制資料。再者,於分割TD資料表TD[2]之第3列~分割TD資料表TD[n]之第4列(即,最後之分割控制資料之傳送目的地)之間,於與寫入有準載入器之位址等同之位址資料中寫入特定OS載入器之起始之分割控制資料。藉此,藉由於所有中斷傳送結束之時間點產生之(所謂之第2次之)結束旗標而產生硬體中斷指示,且向特定OS載入器之起始之分割控制資料跳躍,結果,開始啟動特定OS載入器。此種設定及處理係藉由傳送順序設定部232~2次載入器處理部235而執行。
上述中,準載入器係如下處理程式,即,對於中斷向量表之特定INT,設定中斷控制器可編程中斷控制器(PIC,Programable Interrupt Controller)指令且設定HALT(停止)指令;該中斷控制器可編程中斷控制器指令設定硬體中斷之禁止,該HALT指令停止CPU11之處理。然而,於中斷控制器PIC中,排除禁止INT“XX”之硬體中斷。
如此,利用於設定於啟動記憶體區域141外之分割TD資料表設定之準載入器,由於接下來自INT“XX”發行硬體中斷之前,完全停止CPU11之動作,故可於抑制惡意軟體之動作之狀態下,將1MB更新為特定OS載入器。
(3)所應用之資訊處理裝置亦可為會員伺服器5或客戶終端機6。又,除終端機1以外,只要為具有資訊處理功能之裝置,則亦可應用於資料伺服器、移動通信終端機。
1‧‧‧終端機(資訊處理裝置)
2‧‧‧USB記憶體(外部開機裝置)
3‧‧‧網路
4‧‧‧ISP
5‧‧‧會員伺服器
6‧‧‧客戶終端機
11‧‧‧CPU
12‧‧‧MCH(控制器)
13‧‧‧ICH(控制器)
14‧‧‧RAM(主記憶體)
15‧‧‧快閃記憶體
16‧‧‧HDD
17‧‧‧操作部
18‧‧‧顯示部
21‧‧‧記憶部
22‧‧‧USB目標物控制器(資料傳送部)
23‧‧‧CPU(資料傳送部)
23A‧‧‧ROM
23B‧‧‧RAM(資料傳送部)
24‧‧‧網路通信處理部
24A‧‧‧ROM
24B‧‧‧RAM
25‧‧‧NIC
111‧‧‧啟動處理部
112‧‧‧資訊處理部
113‧‧‧網路通信處理部
131‧‧‧USB主控制器(控制器)
141‧‧‧啟動記憶體區域
211‧‧‧第1記憶部
212‧‧‧第2記憶部
213‧‧‧第3記憶部
214‧‧‧第4記憶部
231‧‧‧傳送資料處理部
232‧‧‧傳送順序設定部(傳送順序設定手段)
233‧‧‧傳送資料準備處理部
234‧‧‧傳送結束處理部(硬體中斷指示部)
235‧‧‧2次載入器處理部
1411‧‧‧外部MBR
1412‧‧‧分割TD資料表
1413‧‧‧虛擬資料
1414‧‧‧中斷向量表
1415‧‧‧分割控制資料
圖1係表示應用本發明之一實施形態之外部開機裝置之網路通信系統之概要圖。
圖2係表示終端機與外部開機裝置之基本構成之一例之方塊圖。
圖3係表示於終端機及外部開機裝置內主要與開機相關之功能部之方塊圖。
圖4係用以說明向RAM之資料展開順序之圖。
圖5係說明藉由於安裝有USB記憶體之狀態下之終端機之CPU而執行之BIOS之啟動處理之順序之流程圖。
圖6係說明藉由終端機之CPU而執行之外部MBR之開機處理之順序之流程圖。
圖7係說明藉由USB記憶體之CPU而執行之中斷傳送順序變動處理之順序之流程圖。
圖8係說明藉由USB記憶體之CPU而執行之中斷傳送順序變動處理之順序之流程圖。
圖9係說明藉由USB記憶體之CPU而執行之中斷傳送準備處理之順序之流程圖。
圖10係說明藉由終端之USB主控制器及USB記憶體之USB目標物控制器而執行之中斷傳送之動作之時序圖。
1‧‧‧終端機(資訊處理裝置)
2‧‧‧USB記憶體(外部開機裝置)
11‧‧‧CPU
12‧‧‧MCH(控制器)
13‧‧‧ICH(控制器)
14‧‧‧RAM(主記憶體)
21‧‧‧記憶部
22‧‧‧USB目標物控制器(資料傳送部)
23‧‧‧CPU(資料傳送部)
23A‧‧‧ROM
23B‧‧‧RAM(資料傳送部)
24‧‧‧網路通信處理部
24A‧‧‧ROM
24B‧‧‧RAM
25‧‧‧NIC
111‧‧‧啟動處理部
112‧‧‧資訊處理部
113‧‧‧網路通信處理部
131‧‧‧USB主控制器(控制器)
141‧‧‧啟動記憶體區域
211‧‧‧第1記憶部
212‧‧‧第2記憶部
213‧‧‧第3記憶部
214‧‧‧第4記憶部
231‧‧‧傳送資料處理部
232‧‧‧傳送順序設定部(傳送順序設定手段)
233‧‧‧傳送資料準備處理部
234‧‧‧傳送結束處理部(硬體中斷指示部)
235‧‧‧2次載入器處理部

Claims (17)

  1. 一種外部開機裝置,其係使具備CPU及展開上述CPU所執行之程式之主記憶體,並且於上述主記憶體與外部之間進行利用硬體之資料通信之具備晶片組內之控制器之資訊處理裝置,經由上述控制器而將啟動所需之資料寫入至上述主記憶體而啟動之外部開機裝置;其特徵在於,其具備有:第1記憶部,其記憶1次載入器,該1次載入器藉由以上述CPU執行上述資訊處理裝置之BIOS,而優先讀出至作為上述主記憶體之一部分之可進行位址指定之啟動記憶體區域,且包含資料傳送之指示資訊;第2記憶部,其記憶特定之控制資料及位址資料,該控制資料係於接受上述1次載入器之上述資料傳送指示後,作為依序分割之分割控制資料而讀出至上述啟動記憶體區域,且至少包含中斷向量表及2次載入器,而該位址資料成為將上述分割控制資料寫入至上述啟動記憶體區域時之寫入位置;資料傳送部,其自於讀出至上述啟動記憶體區域之後而啟動之上述1次載入器,接受上述資料傳送之指示,且自上述第2記憶部,將上述各分割控制資料按照所對應之上述位址資料並經由上述控制器而依序讀出至上述主記憶體;以及硬體中斷指示部,其接受上述資料傳送處理之結束,而將上述硬體中斷指示信號轉移至被讀出至上述啟動記憶體區域之上述中斷向量表,且為使上述2次載入器啟動而發行硬 體中斷。
  2. 如申請專利範圍第1項之外部開機裝置,其中,上述控制資料具有相當於上述啟動記憶體區域之記憶容量之資料量。
  3. 如申請專利範圍第2項之外部開機裝置,其中,上述啟動記憶體區域係自起始部分至1Mbyte為止之區域。
  4. 如申請專利範圍第1項之外部開機裝置,其中,上述分割控制資料係設定有固定資料量者。
  5. 如申請專利範圍第4項之外部開機裝置,其中,上述分割控制資料係包含不構成上述2次載入器之一部分之至少1個虛擬資料。
  6. 如申請專利範圍第4項之外部開機裝置,其中,構成上述2次載入器之一部分之分割控制資料,係於其內部包含依序向次一關聯之上述分割控制資料之跳躍目的地之位址。
  7. 如申請專利範圍第4項之外部開機裝置,其中,上述2次載入器係將載入對象資料載入至上述主記憶體之上述啟動記憶體區域以上之區域。
  8. 如申請專利範圍第1項之外部開機裝置,其中,上述位址資料係設為均按預先設定之複數個位址資料而分割之分割位址表,且上述資料傳送部每當讀出與1個上述分割位址表中所含之位址資料對應之分割控制資料時,便將下一分割位址表讀 出至上述主記憶體。
  9. 如申請專利範圍第8項之外部開機裝置,其中,上述各分割位址表係於表的最末尾具有指定作為下一上述分割位址表之寫入位置之位址的位址資訊。
  10. 如申請專利範圍第1項之外部開機裝置,其中,具備:傳送順序設定手段,其進行上述分割控制資料之讀出順序之設定、及成為上述分割控制資料之寫入位置之上述位址資料之排序中之至少一者。
  11. 如申請專利範圍第10項之外部開機裝置,其中,上述傳送順序設定手段係使虛擬資料與第1個上述分割位址表之最末尾以外之位址對應之分割控制資料建立關聯。
  12. 如申請專利範圍第10項之外部開機裝置,其中,上述傳送資料設定手段係使中斷向量表與第2個上述分割位址表之起始位址建立關聯。
  13. 如申請專利範圍第10項之外部開機裝置,其中,上述傳送資料設定手段係以將第2個上述分割位址表以後之各分割位址表,讀出至上述主記憶體內之超出上述啟動記憶體區域之區域之方式,設定位址資訊。
  14. 如申請專利範圍第10項之外部開機裝置,其中,對於第2個上述分割位址表以後之各分割位址表,設定各不相同之位址資訊。
  15. 如申請專利範圍第1至14項中任一項之外部開機裝 置,其中,上述資料傳送部係經由上述控制器並藉由中斷傳送而於上述主記憶體之間進行上述資料傳送。
  16. 如申請專利範圍第15項之外部開機裝置,其中,硬體中斷指示部係接受上述中斷傳送中之最後之分割控制資料之傳送動作,而進行上述硬體中斷指示信號之輸出動作。
  17. 一種外部開機方法,其係使具備CPU及展開上述CPU所執行之程式之主記憶體,並且於上述主記憶體與外部之間進行利用硬體之資料通信之具備晶片組內之控制器之資訊處理裝置,經由上述控制器而將啟動所需之資料寫入至上述主記憶體而啟動之外部開機方法;其特徵在於,上述外部開機方法具備:第1記憶部,其記憶1次載入器,該1次載入器係藉由以上述CPU執行上述資訊處理裝置之BIOS,而優先讀出至作為上述主記憶體之一部分之可進行位址指定之啟動記憶體區域,且包含資料傳送之指示資訊;以及第2記憶部,其記憶特定之控制資料及位址資料,該控制資料係接受上述1次載入器之上述資料傳送指示後,作為依序分割之分割控制資料而讀出至上述啟動記憶體區域,且至少包含中斷向量表及2次載入器,而該位址資料成為將上述分割控制資料寫入至上述啟動記憶體區域時之寫入位置;且該外部開機方法具備:資料傳送步驟,自於讀出至上述啟動記憶體區域之後而啟動之上述1次載入器,接受上述資料 傳送之指示,且自上述第2記憶部,將上述各分割控制資料按照所對應之上述位址資料並經由上述控制器而依序讀出至上述主記憶體;以及硬體中斷指示步驟,接受上述資料傳送處理之結束,而將上述硬體中斷指示信號轉移至被讀出至上述啟動記憶體區域之上述中斷向量表,且為使上述2次載入器啟動而發行硬體中斷。
TW101138881A 2011-10-26 2012-10-22 外部開機裝置及外部開機方法 TW201329867A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011235386A JP2013092946A (ja) 2011-10-26 2011-10-26 外部ブートデバイス及び外部ブート方法

Publications (1)

Publication Number Publication Date
TW201329867A true TW201329867A (zh) 2013-07-16

Family

ID=48167616

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101138881A TW201329867A (zh) 2011-10-26 2012-10-22 外部開機裝置及外部開機方法

Country Status (3)

Country Link
JP (1) JP2013092946A (zh)
TW (1) TW201329867A (zh)
WO (1) WO2013061782A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008192126A (ja) * 2007-01-12 2008-08-21 Konica Minolta Business Technologies Inc 情報処理装置およびプログラム
JP2008186220A (ja) * 2007-01-30 2008-08-14 Oyo Denshi:Kk リムーバブルメモリユニット
US9588829B2 (en) * 2010-03-04 2017-03-07 F-Secure Oyj Security method and apparatus directed at removable storage devices

Also Published As

Publication number Publication date
WO2013061782A1 (ja) 2013-05-02
JP2013092946A (ja) 2013-05-16

Similar Documents

Publication Publication Date Title
KR102250505B1 (ko) 터널 및 데이터 플로우에 기반하여 노드의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
US10917243B2 (en) Secure server and compute nodes
KR101332135B1 (ko) Tpm 액세스들을 가상화하기 위한 시스템들, 방법들 및 장치들
TWI567581B (zh) 用於在隱藏式執行環境中提供完整性驗證與認證之技術的裝置、方法及系統
TWI431533B (zh) 微處理器系統及用以初始化安全操作之方法與處理器
JP7115526B2 (ja) 分析システム、方法、及び、プログラム
WO2011145199A1 (ja) 外部ブートデバイス、外部ブート方法、情報処理装置及びネットワーク通信システム
JP2013251016A (ja) 複数の認証済みコードモジュールを利用するプロセッサ、方法、及びシステム
WO2011141997A1 (ja) 外部ブートデバイス、外部ブートプログラム、外部ブート方法及びネットワーク通信システム
WO2013069587A1 (ja) 情報処理空間管理方法、外部デバイス及び情報処理装置
CN112241285A (zh) 运营程序的配置方法、装置及设备
CN106796644B (zh) 访问控制系统及访问控制方法
KR20110055628A (ko) 듀얼 부트 제어 방법 및 듀얼 부팅 컴퓨터
WO2012053053A1 (ja) 外部ブートデバイス及びネットワーク通信システム
TW201329867A (zh) 外部開機裝置及外部開機方法
CN115549938A (zh) 用于控制器的主机防火墙接口
EP4231159A1 (en) Method for switching execution environment and related device
JP5759845B2 (ja) 情報処理システム、情報処理装置、外部記憶媒体、プログラム、記憶媒体、及び、ファイル管理方法
JP7393269B2 (ja) 端末装置、処理方法及び端末制御システム
JP5337675B2 (ja) 端末管理システム及び方法
WO2013080848A1 (ja) ファイル通信処理方法及び外部デバイス
KR20240040006A (ko) 데이터를 안전하게 전달하기 위한 방법, 장치, 및 전자 장치