(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025006749
(43)【公開日】2025-01-17
(54)【発明の名称】制御装置,制御方法および制御プログラム
(51)【国際特許分類】
G06F 21/62 20130101AFI20250109BHJP
【FI】
G06F21/62 318
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023107731
(22)【出願日】2023-06-30
(71)【出願人】
【識別番号】598057291
【氏名又は名称】エフサステクノロジーズ株式会社
(74)【代理人】
【識別番号】110003649
【氏名又は名称】弁理士法人真田特許事務所
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】山田 英弘
(57)【要約】 (修正有)
【課題】記憶部に対する不正規なアクセスを抑制する制御装置,制御方法および制御プログラムを提供する。
【解決手段】サーバコンピュータ等においてシステムボード上に搭載され、記憶部とバスによって直結される制御装置10(BMC(Baseboard Management Controller))であって、記憶部に所定の情報が書き込まれているかを判断するアクセス判断部21と、所定の情報が書き込まれている場合には、記憶部へのアクセスを許可し、所定の情報が書き込まれていない場合には、不正規のアクセスと判断して前記記憶部へのアクセスを阻害するアクセス制御部22と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
記憶部とバスによって直結される制御装置であって、
前記記憶部に所定の情報が書き込まれているかを判断するアクセス判断部と、
前記所定の情報が書き込まれている場合は前記記憶部へのアクセスを許可し、前記所定の情報が書き込まれていない場合には不正規のアクセスと判断して前記記憶部へのアクセスを阻害するアクセス制御部と
を備えることを特徴とする、制御装置。
【請求項2】
前記バスに、デバイスが前記記憶部にアクセスするためのデータアクセスピンが形成され、
前記アクセス判断部は、正規のデバイスが前記記憶部に前記所定の情報の書き込みを完了するために要する時間以上となるように決定された間隔をおいて定期的に、前記所定の情報が書き込まれているかの判断を行なう
ことを特徴とする、請求項1に記載の制御装置。
【請求項3】
前記アクセス判断部は、前記記憶部へのアクセスが検出されると、前記記憶部に所定の情報が書き込まれているかの判断を行なう
ことを特徴とする、請求項1または2に記載の制御装置。
【請求項4】
前記バスが、SPI(Serial Peripheral Interface)に基づく通信を行なう
ことを特徴とする、請求項1に記載の制御装置。
【請求項5】
記憶部とバスによって直結される制御装置において、
前記記憶部に所定の情報が書き込まれているかを判断し、
前記所定の情報が書き込まれている場合は前記記憶部へのアクセスを許可し、前記所定の情報が書き込まれていない場合には不正規のアクセスと判断して前記記憶部へのアクセスを阻害する
処理を制御部が実行することを特徴とする、制御方法。
【請求項6】
記憶部とバスによって直結され、プロセッサを有する制御装置において、
前記記憶部に所定の情報が書き込まれているかを判断し、
前記所定の情報が書き込まれている場合は前記記憶部へのアクセスを許可し、前記所定の情報が書き込まれていない場合には不正規のアクセスと判断して前記記憶部へのアクセスを阻害する
処理を前記プロセッサに実行させることを特徴とする、制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置,制御方法および制御プログラムに関する。
【背景技術】
【0002】
サーバコンピュータ等において、マザーボード上にBMC(Baseboard Management Controller)を搭載し、このBMCによってサーバコンピュータを監視することが行なわれている。以下、サーバコンピュータを単にサーバという場合がある。
【0003】
サーバ内部のデバイス間の通信手段として、SPI(Serial Peripheral Interface)が知られている。また、サーバにおいて、BMCと、当該BMCが実行するファームウェアを格納するEEPROM(Electrically Erasable Programmable Read-Only Memory)との接続にもSPIが用いられている。
【0004】
図5はサーバの基盤上におけるBMCとEEPROMとの接続を例示する図である。
【0005】
この
図5において、サーバのマザーボード500上に、BMC501とEEPROM502とが搭載されている。これらのBMC501とEEPROM502とはSPI規格のバス503を介して接続されている。
【0006】
また、当該バス503にはデバッグピン504が接続されており、このデバッグピン504にデバッグツール505が接続される。デバッグツール505は、デバッグピン504およびバス503を介してEEPROM502にアクセスして、データの読み出し等を行なう。
【0007】
EEPROM502にはBMC501が実行するファームウェアと当該ファームウェアが用いる設定情報とが格納されている。ファームウェアのセキュリティは、サーバのブート時にファームウェアをEEPROM502からBMC501に読み出す際にハッシュを用いた暗号化を行なうことにより実現されている。
【0008】
なお、設定情報はファームウェアからの読み出しに際して暗号化されていないため、読み出しが可能な部分ができてしまう。
【0009】
デバイス間におけるSPI通信においては、マスタ(SPIマスタ)のデバイスが主体となって、スレーブ(SPIスレーブ)のデバイスへデータ読み込み書きを要求する。
【0010】
SPIに準拠するデバイスは、クロック(CLK),チップセレクト(CS),マスタ出力/スレーブ入力(MOSI)およびマスタ入力/スレーブ出力(MISO)の各信号端子を備える。
【0011】
ここで、CSは、複数のデバイス(マイコン)を接続した場合にモード・フォルト検出を有効にすることで、同時に複数のデバイスがマスタになる事を防止する。マスタは対象スレーブのCSをL(Low)の状態にすることで当該スレーブと通信ができるようになる。また、複数のマスタがある場合において、CSがH(High)の状態では通信を行なうことができない。
【0012】
例えば、
図5に示す例において、デバッグツール505がEEPROM502にアクセスしてデータの読み書きを行なう場合に、デバッグツール505はマスタとしてCSをLにした後に、EEPROM502に対してアクセスを行なう。
【0013】
また、BMC501は、SPIの既知の機能によりCSがLとなったことを検知することで、自身以外(例えば、デバッグツール505)によるEEPROM502へのアクセスを検知することができる。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2007-18442号公報
【特許文献2】特開平6-67985号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
上述したSPI通信においては、BMC501は、SPIの機能によりCSがLとなったことを検知し、自身以外によるEEPROM502へのアクセスを検知することができるが、EEPROM502へのアクセスが、正規のデバッカによるものなのか、不正規なデバイスによるハッキングによるものなのか判定することができないという課題がある。
【0016】
1つの側面では、本発明は、記憶部に対する不正規なアクセスを抑制することを目的とする。
【課題を解決するための手段】
【0017】
このため、この制御装置は、記憶部とバスによって直結される制御装置であって、前記記憶部に所定の情報が書き込まれているかを判断するアクセス判断部と、前記所定の情報が書き込まれている場合は前記記憶部へのアクセスを許可し、前記所定の情報が書き込まれていない場合には不正規のアクセスと判断して前記記憶部へのアクセスを阻害するアクセス制御部とを備える。
【発明の効果】
【0018】
一実施形態によれば、記憶部に対する不正規なアクセスを抑制することができる。
【図面の簡単な説明】
【0019】
【
図1】一実施形態に係るBMCを搭載するシステムボードのハードウェア構成を例示する図である。
【
図2】一実施形態に係るBMCの機能構成を示す図である。
【
図3】一実施形態に係るBMCによる、正規デバッカからの正規アクセスが行なわれた場合の処理を説明するためのタイミングチャートである。
【
図4】一実施形態に係るBMCによる、不正規デバッカからの正規アクセスが行なわれた場合の処理を説明するためのタイミングチャートである。
【
図5】サーバの基盤上におけるBMCとEEPROMとの接続を例示する図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して本制御装置,制御方法および制御プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0021】
(A)構成
(A-1)ハードウェア構成
図1は一実施形態に係るBMC10を搭載するシステムボード1のハードウェア構成を例示する図である。
【0022】
システムボード1は、図示しないサーバコンピュータ等に搭載される基板装置である。システムボードをマザーボードといってもよい。
【0023】
図1に例示するシステムボード1には、CPU(Central Processing Unit)14,DIMM(Dual Inline Memory Module)15,FAN16,インタフェースカード17,PSU18,BMC10およびファームウェアメモリ13が搭載されている。
【0024】
また、
図1に例示するシステムボード1においては、CPU14,DIMM15,FAN16,インタフェースカード17,PSU18のそれぞれを複数備えることで冗長化されている。
【0025】
BMC10は、システムボード1や、当該システムボード1が搭載されたサーバコンピュータに搭載された機器を監視する制御装置であり、これらのシステムボード1や各機器の情報を収集する。BMC10を管理装置といってよい。BMC10は、例えばLSI(Large Scale Integration)チップとして構成されてもよい。
【0026】
BMC10は、
図1に示すように、プロセッサ11およびメモリ12を構成要素として有する。BMC10はコンピュータである。また、BMC10にはファームウェアメモリ13がSPI規格のバス23を介して接続されている。
【0027】
また、このバス23にはデバッグピン24が接続されており、このデバッグピン24に図示しないデバイスが接続される。デバッグピン24はデバイスがファームウェアメモリ13(記憶部)にアクセスするためのデータアクセスピンに相当する。後述する正規デバッカおよび不正規デバッカは、このデバッグピン24を介してファームウェアメモリ13に接続される。これらの正規デバッカおよび不正規デバッカはデバイスの一例に相当する。
【0028】
ファームウェアメモリ13は、プロセッサ11によって実行されるファームウェア(プログラム)や当該ファームウェアが用いる設定情報を読み出し可能に記憶する記憶部である。
【0029】
ファームウェアには、BMC10によって本実施形態のセキュリティ機能を実現するためにプロセッサ11によって実行される制御プログラムが含まれてもよい。
【0030】
ファームウェアメモリ13は、例えば、ROM(Read Only Memory)であってよい。本実施形態においては、ファームウェアメモリ13がEEPROMである例について示す。
【0031】
また、ファームウェアメモリ13として、例えば、ストレージクラスメモリ(SCM:Storage Class Memory)や、フラッシュメモリ等の半導体記憶装置(SSD:Solid State Drive)を使用することもできる。
【0032】
プロセッサ11は、BMC10全体を制御する制御部である。プロセッサ11は、マルチプロセッサであってもよい。プロセッサ11は、例えばCPU(Central Processing Unit),MPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array)のいずれか一つであってもよい。また、プロセッサ11は、CPU,MPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。
【0033】
メモリ12は、BMC10の主記憶装置として使用される。メモリ12には、プロセッサ11に実行させるファームウェア(プログラム)の少なくとも一部が一時的に格納される。また、メモリ12には、プロセッサ11による処理に必要な各種データが格納される。プロセッサ11による処理に必要な各種データには、ファームウェアメモリ13から読み出される設定情報が含まれてよい。
【0034】
BMC10は、例えばコンピュータ読み取り可能な非一時的な記録媒体に記録されたプログラム(制御プログラム等)を実行することにより、本実施形態のセキュリティ機能を実現する。BMC10に実行させる処理内容を記述したプログラム(ファームウェア)は、様々な記録媒体に記録しておくことができる。例えば、BMC10に実行させるプログラムをファームウェアメモリ13に格納しておくことができる。プロセッサ11は、ファームウェアメモリ13内のプログラムの少なくとも一部をメモリ12にロードし、ロードしたプログラムを実行する。
【0035】
また、BMC10(プロセッサ11)に実行させるプログラムを、図示しない光ディスク,メモリ装置,メモリカード等の非一時的な可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ11からの制御により、ファームウェアメモリ13にインストールされた後、実行可能になる。また、プロセッサ11が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0036】
(A-2)機能構成
図2は一実施形態に係るBMC10の機能構成を示す図である。
【0037】
BMC10は、
図2に示すように、少なくともアクセス判断部21およびアクセス制御部22としての機能を有している。
【0038】
BMC10のプロセッサ11が、ファームウェアに含まれる制御プログラムを実行することにより、これらのアクセス判断部21およびアクセス制御部22として機能する。
【0039】
なお、これらのアクセス判断部21およびアクセス制御部22としての機能を実現するためのプログラム(制御プログラム)は、例えばフレキシブルディスク,CD(CD-ROM,CD-R,CD-RW等),DVD(DVD-ROM,DVD-RAM,DVD-R,DVD+R,DVD-RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、BMC10(コンピュータ)はその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【0040】
アクセス判断部21およびアクセス制御部22としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ12)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではプロセッサ11)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【0041】
アクセス判断部21は、ファームウェアメモリ13に対するアクセスが行なわれた場合に、このアクセスが正規のアクセスであるか不正規のアクセスであるかを判断する。
【0042】
以下においては、ファームウェアメモリ13に対して、正規のアクセスを行なうデバイス(正規デバイス)である正規デバッカ(図示省略)と、不正規のアクセスを行なうデバイス(不正規デバイス)である不正規デバッカ(図示省略)とのいずれかからアクセスが行なわれる例について示す。
【0043】
アクセス判断部21は、ファームウェアメモリ13に対するアクセスを監視する。具体的には、アクセス判断部21は、ファームウェアメモリ13における所定の記憶領域に、予め規定された識別情報が書き込まれているか否かを確認する。識別情報は所定の情報に相当する。
【0044】
この所定の記憶領域に識別情報が書き込まれている場合に、アクセス判断部21は、ファームウェアメモリ13に対して正規なアクセスが行なわれたと判断する。一方、この所定の記憶領域に識別情報が書き込まれていない場合に、アクセス判断部21は、ファームウェアメモリ13に対して不正規なアクセスが行なわれたと判断する。
【0045】
ここで、ファームウェアメモリ13における所定の記憶領域は、例えば、ファームウェアメモリ13の記憶領域の先頭の所定サイズ(例えば、32バイト)の領域であってよい。ただし、所定の記憶領域は、ファームウェアメモリ13の記憶領域の先頭領域に限定されるものではなく、他の領域であってもよく、種々変形して実施することができる。
【0046】
また、識別情報は、予め規定されたデータ列であってよく、例えば、所定長(例えば、32バイト)を有する所定のデータ列であってよい。以下、識別情報を接続先識別子といってよい。
【0047】
以下、ファームウェアメモリ13における、接続先識別子が格納される所定の記憶領域を識別領域といってよい。
【0048】
なお、ファームウェアメモリ13の識別領域に接続先識別子が書き込まれているかを監視するためには、アクセス判断部21がファームウェアメモリ13にアクセスする必要がある。そのため、アクセス判断部21は、ファームウェアメモリ13のCSをLにしてから、ファームウェアメモリ13の識別領域のデータを読み出す。
【0049】
アクセス判断部21がファームウェアメモリ13の識別領域に接続先識別子が書き込まれているかを確認することを、識別領域の監視といってよい。
【0050】
また、アクセス判断部21は、ファームウェアメモリ13の識別領域の監視を、所定期間ごとに繰り返し実行する。すなわち、アクセス判断部21は、ファームウェアメモリ13の識別領域に対して定期的な監視(定期監視)を行なう。
【0051】
なお、この定期監視の間隔は、正規デバッカ(正規デバイス、デバイス)がファームウェアメモリ13の識別領域に接続先識別子を書き込むために要する時間以上となるように決定される。定期監視の間隔は、例えば、数10msであってよい。
【0052】
アクセス判断部21は、ファームウェアメモリ13における識別領域を監視し、接続先識別子の書き込みが行なわれているか否かを判断するのである。
【0053】
ここで、バス23で行なわれるSPI通信において、ファームウェアメモリ13の識別領域への接続先識別子の書き込みは、マスタとなった正規デバイスが行なう。
【0054】
正規デバイスには、アクセス対象のファームウェアメモリ13のCSをLにした後、識別領域への接続先識別子の書き込みを行なう機能が搭載されている。正規デバイスは、識別領域への接続先識別子の書き込みを行なった後に、ファームウェアメモリ13に対するデータアクセス(データの読み出しや書き込み)を実行する。
【0055】
なお、アクセス判断部21は、例えば、SPIの既知の機能によりファームウェアメモリ13のCSがLとなったことを検知することで、ファームウェアメモリ13に対して行なわれるアクセスを検知してよい。
【0056】
そして、アクセス判断部21は、ファームウェアメモリ13に対して行なわれたアクセスを検知すると、ファームウェアメモリ13における識別領域を監視し、接続先識別子の書き込みが行なわれているか否かを判断してよい。
【0057】
アクセス制御部22は、アクセス判断部21による判断結果に従って、ファームウェアメモリ13に対してデバイスが行なうアクセスを制御する。
【0058】
アクセス判断部21による判断結果において、ファームウェアメモリ13に対して不正規なアクセスが行なわれたと判断された場合には、アクセス制御部22は、デバイス(不正規デバイス)によるファームウェアメモリ13へのアクセスを阻害する。
【0059】
具体的には、アクセス制御部22は、ファームウェアメモリ13のCSをLにする。これにより、BMC10以外のデバイスがファームウェアメモリ13のCSをLにすることができなくなる。従って、不正規デバッカがファームウェアメモリ13にアクセスすることができなくなる。
【0060】
アクセス制御部22は、疑似的に、BMC10以外からのファームウェアメモリ13に対するアクセス競合を生成することで、アクセス阻害を実現するのである。
【0061】
アクセス制御部22は、不正規デバッカからのファームウェアメモリ13への接続が無くなったことを検知すると、ファームウェアメモリ13へのアクセス阻害を解除する。
【0062】
具体的には、アクセス制御部22は、ファームウェアメモリ13のCSをLからHにする。これにより、BMC10以外のデバイスがファームウェアメモリ13のCSをLにすることができるようになる。従って、BMC10以外のデバイスがファームウェアメモリ13にアクセスすることができるようになる。
【0063】
アクセス制御部22は、ファームウェアメモリ13のCSがLからHとなったことを検知することで、不正規デバッカからのファームウェアメモリ13に対する接続が無くなったことを検知してよい。
【0064】
アクセス判断部21による判断結果において、ファームウェアメモリ13に対して正規なアクセスが行なわれたと判断された場合には、アクセス制御部22は、デバイス(正規デバイス)によるファームウェアメモリ13へのアクセスの阻害を行なわない。アクセス判断部21は、CSをHにすることでファームウェアメモリ13をアクセス許可状態にする。
【0065】
これにより、正規デバッカが、ファームウェアメモリ13のCSをLにし、ファームウェアメモリ13のデータを読み込むことが可能となる。
【0066】
また、アクセス制御部22は、正規デバッカからのファームウェアメモリ13への接続が無くなったことを検知すると、ファームウェアメモリ13の識別領域の接続先識別子を消去する。例えば、アクセス制御部22は、識別領域に0や乱数値を上書きすることで接続先識別子を消去してよい。
【0067】
アクセス制御部22は、ファームウェアメモリ13のCSがLからHとなったことを検知することで、正規デバッカからのファームウェアメモリ13に対する接続が無くなったことを検知してよい。
【0068】
(B)動作
上述の如く構成された一実施形態に係るBMC10による、正規デバッカからの正規アクセスが行なわれた場合の処理を、
図3に示すタイミングチャートを用いて説明する。
【0069】
本例においては、デバッグピン24に正規デバッカが接続され、ファームウェアメモリ13の所定の記憶領域のデータを読み出す例を示す。
【0070】
この
図3においては、CS信号と、BMC10のマスタ出力/スレーブ入力信号(MOSI1)と、正規デバッカのマスタ出力/スレーブ入力信号(MOSI2)とを示す。
【0071】
BMC10(アクセス判断部21)はファームウェアメモリ13に対して定期的に監視アクセスを行なう。
【0072】
アクセス判断部21は、ファームウェアメモリ13の監視領域の定期監視を行なうべく、先ず、CSをLにする(
図3の符号P1参照)。アクセス判断部21は、ファームウェアメモリ13の監視領域の監視を行ない、接続先識別子が書き込まれているかを確認する(
図3の符号P2参照)。このタイミングでは、まだ、監視領域に接続先識別子は書き込まれていない。確認後、アクセス判断部21は、CSをHにする(
図3の符号P3参照)。
【0073】
ここで、正規デバッカが、ファームウェアメモリ13にアクセスするために、ファームウェアメモリ13の監視領域に接続先識別子を書き込むべくCSをLにする(
図3の符号P4参照)。その後、正規デバッカは、ファームウェアメモリ13の監視領域に接続先識別子を書き込む(
図3の符号P5参照)。接続先識別子の書き込みが完了すると、正規デバッカはCSをHにする(
図3の符号P6参照)。
【0074】
ファームウェアメモリ13の監視領域に対する定期監視の次のタイミングに到達すると、アクセス判断部21は、CSがHになるまで待機し、正規デバッカがCSをHにしたことを検知すると(
図3の符号P6参照)、CSをLにする(
図3の符号P7参照)。アクセス判断部21は、ファームウェアメモリ13の監視領域の監視を行ない、接続先識別子が書き込まれていることを確認する(
図3の符号P8参照)。
【0075】
監視領域に接続先識別子が記憶されているので、アクセス判断部21は、ファームウェアメモリ13に対して正規なアクセスが行なわれたと判断する。アクセス制御部22は、デバイス(正規デバイス)によるファームウェアメモリ13へのアクセスの阻害を行なわない。アクセス判断部21は、CSをHにすることでファームウェアメモリ13をアクセス許可状態にする(
図3の符号P9参照)。
【0076】
アクセス制御部22は、ファームウェアメモリ13の監視領域に対する定期監視の次のタイミングに到達した後において、正規デバッカによりCSがHにされるまで待機する。アクセス制御部22は、正規デバッカによるファームウェアメモリ13への接続が無くなり、CSがHになったことを検知すると(
図3の符号P10参照)、CSをLにした後に(
図3の符号P11参照)、ファームウェアメモリ13の識別領域の接続先識別子を消去する。その後、アクセス制御部22は、CSをHにする(
図3の符号P12参照)。
【0077】
正規デバッカはファームウェアメモリ13に接続するためにCSをLにする(
図3の符号P13参照)。正規デバッカは、ファームウェアメモリ13におけるアクセス対象の記憶領域に対して有効なアクセスを行ない、データの読み出しを実行する(
図3の符号P14参照)。正規デバッカは、ファームウェアメモリ13からのデータの読み出しを完了すると、CSをHにする(
図3の符号P15参照)。
【0078】
アクセス判断部21は、ファームウェアメモリ13の監視領域の定期監視を再開し、符号P1以降の処理を繰り返し実行する。
【0079】
次に、一実施形態に係るBMC10による、不正規デバッカからの不正規アクセスが行なわれた場合の処理を、
図4に示すタイミングチャートを用いて説明する。
【0080】
本例においては、デバッグピン24に不正規デバッカが接続され、ファームウェアメモリ13の所定の記憶領域のデータを不正に読み出そうとする例を示す。
【0081】
この
図4においては、CS信号と、BMC10のマスタ出力/スレーブ入力信号(MOSI1)と、不正規デバッカのマスタ出力/スレーブ入力信号(MOSI2)とを示す。
【0082】
BMC10はファームウェアメモリ13に対して定期的に監視アクセスを行なう。
【0083】
アクセス判断部21は、ファームウェアメモリ13の監視領域の定期監視を行なうべく、先ず、CSをLにする(
図4の符号P1参照)。アクセス判断部21は、ファームウェアメモリ13の監視領域の監視を行ない、接続先識別子が書き込まれているかを確認する(
図4の符号P2参照)。確認後、アクセス判断部21は、CSをHにする(
図4の符号P3参照)。
【0084】
ここで、不正規デバッカが、ファームウェアメモリ13に対してハッキング等の目的でアクセスするために、CSをLにする(
図4の符号P4参照)。この際、不正規デバッカは、ファームウェアメモリ13の監視領域に接続先識別子の書き込みを行なわずに、ファームウェアメモリ13に対するアクセスを行なう(
図4の符号P5参照)。不正規デバッカは、ファームウェアメモリ13をアクセス許可状態にするためにCSをHにする(
図4の符号P6参照)。
【0085】
ファームウェアメモリ13の監視領域に対する定期監視の次のタイミングに到達すると、アクセス判断部21は、CSがHになるまで待機し、不正規デバッカがCSをHにしたことを検知すると(
図3の符号P6参照)、CSをLにする(
図4の符号P7参照)。アクセス判断部21は、ファームウェアメモリ13の監視領域の監視を行ない、接続先識別子が書き込まれていないことを確認する(
図4の符号P8参照)。
【0086】
監視領域に接続先識別子が記憶されていないので、アクセス判断部21は、ファームウェアメモリ13に対して不正規なアクセスが行なわれたと判断する。アクセス制御部22は、デバイス(不正規デバイス)によるファームウェアメモリ13へのアクセスの阻害を行なう。具体的には、アクセス判断部21は、CSをLの状態で維持することでファームウェアメモリ13をアクセス禁止状態にする(
図4の符号P9参照)。
【0087】
不正規デバッカは、自身でファームウェアメモリ13のCSをLにすることができないので、ファームウェアメモリ13への接続を阻害された状態で維持される。
【0088】
なお、アクセス判断部21は、ファームウェアメモリ13に対して行なわれたアクセスを検知したタイミングでも、ファームウェアメモリ13における識別領域に接続先識別子の書き込みが行なわれているか否かを判断してよい。
【0089】
(C)効果
このように、一実施形態に係るBMC10によれば、アクセス判断部21が、ファームウェアメモリ13の識別領域に接続先識別子の書き込みが行なわれたかを判断する。接続先識別子の書き込みが行なわれた場合は、アクセス制御部22は、ファームウェアメモリ13へのアクセスを許可する。一方で、識別領域に接続先識別子の書き込みが行なわれなかった場合には、アクセス制御部22は、不正規のアクセスと判断してファームウェアメモリ13へのアクセスを阻害する。
【0090】
ファームウェアメモリ13の識別領域に接続先識別子の書き込みが行なわれたかを判断することで、正規デバイスによるアクセスであるか不正規デバイスによるアクセスであるかを判定することができる。従って、ファームウェアメモリ13とデバッカが直結している状態においても、正規デバッカによるアクセスと不正規デバッカによる不正規なアクセス(ハッキング)とを区別することができる。
【0091】
ファームウェアメモリ13とデバッカとの間にセキュリティ用の回路部品等を備えることなく、低コストでファームウェアメモリ13のデータの保護を実現できる。
【0092】
また、アクセス制御部22が、不正規デバッカからファームウェアメモリ13に対して不正規なアクセス(ハッキング)が行なわれた場合に、ファームウェアメモリ13へのアクセスをブロックすることで、ファームウェアメモリ13に対する不正規なアクセスを阻止することができ、セキュリティを向上させることができる。
【0093】
アクセス制御部22が、ファームウェアメモリ13のCSをLにすることで、不正規デバッカによるファームウェアメモリ13へのアクセスを容易に阻止することをできる。
【0094】
(D)その他
本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【0095】
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
【0096】
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【0097】
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
【0098】
(付記1)
記憶部とバスによって直結される制御装置であって、
前記記憶部に所定の情報が書き込まれているかを判断するアクセス判断部と、
前記所定の情報が書き込まれている場合は前記記憶部へのアクセスを許可し、前記所定の情報が書き込まれていない場合には不正規のアクセスと判断して前記記憶部へのアクセスを阻害するアクセス制御部と
を備えることを特徴とする、制御装置。
【0099】
(付記2)
前記バスに、デバイスが前記記憶部にアクセスするためのデータアクセスピンが形成され、
前記アクセス判断部は、正規のデバイスが前記記憶部に前記所定の情報の書き込みを完了するために要する時間以上となるように決定された間隔をおいて定期的に、前記所定の情報が書き込まれているかの判断を行なう
ことを特徴とする、付記1に記載の制御装置。
【0100】
(付記3)
前記アクセス判断部は、前記記憶部へのアクセスが検出されると、前記記憶部に所定の情報が書き込まれているかの判断を行なう
ことを特徴とする、付記1または2に記載の制御装置。
【0101】
(付記4)
前記バスが、SPI(Serial Peripheral Interface)に基づく通信を行なう
ことを特徴とする、付記1に記載の制御装置。
【0102】
(付記5)
記憶部とバスによって直結される制御装置において、
前記記憶部に所定の情報が書き込まれているかを判断し、
前記所定の情報が書き込まれている場合は前記記憶部へのアクセスを許可し、前記所定の情報が書き込まれていない場合には不正規のアクセスと判断して前記記憶部へのアクセスを阻害する
処理を制御部が実行することを特徴とする、制御方法。
【0103】
(付記6)
前記バスに、デバイスが前記記憶部にアクセスするためのデータアクセスピンが形成され、
前記制御部が、
正規のデバイスが前記記憶部に前記所定の情報の書き込みを完了するために要する時間以上となるように決定された間隔をおいて定期的に、前記所定の情報が書き込まれているかを判断する
処理を実行することを特徴とする、付記5に記載の制御方法。
【0104】
(付記7)
前記制御部が、
前記記憶部へのアクセスが検出されると、前記記憶部に所定の情報が書き込まれているかを判断する
処理を実行することを特徴とする、付記5または6に記載の制御方法。
【0105】
(付記8)
前記バスが、SPI(Serial Peripheral Interface)に基づく通信を行なう
ことを特徴とする、付記5に記載の制御方法。
【0106】
(付記9)
記憶部とバスによって直結され、プロセッサを有する制御装置において、
前記記憶部に所定の情報が書き込まれているかを判断し、
前記所定の情報が書き込まれている場合は前記記憶部へのアクセスを許可し、前記所定の情報が書き込まれていない場合には不正規のアクセスと判断して前記記憶部へのアクセスを阻害する
処理を前記プロセッサに実行させることを特徴とする、制御プログラム。
【0107】
(付記10)
前記バスに、デバイスが前記記憶部にアクセスするためのデータアクセスピンが形成され、
正規のデバイスが前記記憶部に前記所定の情報の書き込みを完了するために要する時間以上となるように決定された間隔をおいて定期的に、前記所定の情報が書き込まれているかを判断する
処理を前記プロセッサに実行させることを特徴とする、付記9に記載の制御プログラム。
【0108】
(付記11)
前記記憶部へのアクセスが検出されると、前記記憶部に所定の情報が書き込まれているかを判断する
処理を前記プロセッサに実行させることを特徴とする、付記9または10に記載の制御プログラム。
【0109】
(付記12)
前記バスが、SPI(Serial Peripheral Interface)に基づく通信を行なう
ことを特徴とする、付記9に記載の制御プログラム。
【符号の説明】
【0110】
1 システムボード
10 BMC
11 プロセッサ
12 メモリ
13 ファームウェアメモリ
14 CPU
15 DIMM
16 FAN
17 HDD
18 PCIeカード
19 PSU
20 マルチプレクサ
21 アクセス判断部
22 アクセス制御部
23 バス
24 デバッグピン