説明

情報処理装置、及び情報処理装置の制御方法

【課題】書き換え可能なメモリなどの記憶装置上に格納された情報処理装置の実行コードあるいはデータを確実に保護することができるようにする。
【解決手段】設定アドレス範囲への書き込み動作かどうか否かをチェックし(S101)、設定アドレス範囲への書き込み動作であれば、書き込み処理を実行する(S102)。次いで、書き込みを通知するか否かについて判断し(S103)、通知する場合には書き込み動作があったことを通知し(S104)、通知しないのであれば通知しないまま終了する。設定アドレス範囲内への書き込み動作でなければ、設定アドレス範囲外に書き込む(S105)。このように処理すると、書き込み処理通知の許可の選択が可能となり、、ソフトウェア設定により割り込み信号の発行許可のON/OFF、あるいはステータス表示許可のON/OFFを選択することにより特定のアドレス範囲に書き込み動作発生の通知をCPU1に知らせることができる。

【発明の詳細な説明】
【技術分野】
【0001】
CPUの実行コードを書き換え可能なメモリ上でプログラム実行する情報処理装置、当該情報処理装置の制御方法に関する。
【背景技術】
【0002】
情報処理装置の実行コードは通常ROMやHDDのような不揮発性メモリに格納され、装置の電源が投入されると実行コードがCPUにより順次呼び出されて処理を行っていく。不揮発性メモリでは電源を切断しても情報が保持される反面、読み出しなどの速度が一般的に遅いため、CPUの実行速度を上げる目的でよりアクセスの速いRAM等のデバイスに実行コードを移してRAM上で処理を行う場合がある。また不揮発性メモリの容量を少なくするため実行コードを圧縮して格納している場合もRAM上に実行コードを伸長して格納するなどの処理が行われる。
【0003】
そのためソフトウェア不具合によりRAM実行コード部分が破壊されてしまった場合は以後の正常動作が困難になる場合がある。またウィルスソフトような悪意のあるコードにより実行プログラムの書き換えがあった場合、機器の動作不具合だけでなく機器内部の情報が不正に読み出されることも懸念される。
【0004】
そこで、特許文献1には、バスに接続されたメモリの所定の記憶領域への書込みを制御するメモリアクセス保護装置が開示されている。この装置は、アクセス保護機能を内蔵していないデバイスがRAMアクセスを行う場合にも、その保護を可能とするために、記憶保護設定手段にメモリ装置のプログラム領域などの所定の記憶保護領域に対するライトアクセスを許可する許可情報が設定されている場合には、メモリアクセス装置はメモリ装置の所定の記憶保護領域に書き込みを行うことができ、記憶保護設定手段にメモリ装置の所定の記憶保護領域に対するライトアクセスを禁止する禁止情報が設定されている場合には、メモリアクセス装置が、メモリ装置の所定の記憶保護領域をライトアクセスしようとした場合には、アクセス制御手段がメモリ装置へのアクセスを許可しないようにしたものである。
【特許文献1】特開平6−75861号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
このように前記特許文献1に開示された発明では、バスに接続されたメモリに書き込み要求があった場合、前記予め設定された特定領域に対してメモリアクセス保護を行い、書き込みアクセスさせないように制御しているので、前記特定領域に記憶された情報については書き込みが行われることがなく、前記領域に書き込まれた情報は保護されるが、その他の領域に書き込まれた情報については保護されない。そのため、前記領域に書き込まれていない情報については、意図せず上書きされて消去される虞がある。
【0006】
そこで、本発明の目的は、書き換え可能なメモリなどの記憶装置上に格納された情報処理装置の実行コードあるいはデータを確実に保護することができるようにすることにある。
【課題を解決するための手段】
【0007】
前記目的を達成するため、第1の手段は、CPUの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置において、前記実行コードをロードしたメモリ領域に書き込み動作があると、書き込み動作があったことをCPUに通知する手段と、前記メモリ領域への書き込み動作があると、書き込み動作があったことを前記CPUに通知する際のアクセス監視開始を時間経過により自動的に設定する手段を備えていることを特徴とする。
【0008】
第2の手段は、第1の手段において、保護領域への書き込みがあった場合、その領域からの通常読み出しの禁止を設定する手段を備えていることを特徴とする。
【0009】
第3の手段は、第1の手段において、前記保護領域の範囲を変更する手段を備えていることを特徴とする。
【0010】
第4の手段は、CPUの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置の制御方法において、前記メモリの前記実行コードをロードしたアドレス範囲への書き込み動作かどうか否かを判断する工程と、前記判断により前記アドレス範囲への書き込み動作であれば、当該アドレス範囲に書き込む工程と、前記判断により前記アドレス範囲への書き込み動作でなければ、前記アドレス範囲外に書き込む工程と、前記書き込み処理を行ったことを前記CPUに通知するか否かについて判断する工程とを含むことを特徴とする。
【0011】
第5の手段は、CPUの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置の制御方法において、前記メモリの前記実行コードをロードしたアドレス範囲への書き込み動作かどうか否かを判断する工程と、前記アドレス範囲への書き込み動作であれば、当該アドレス範囲に書き込む工程と、前記判断により前記アドレス範囲への書き込み動作でなければ、前記アドレス範囲外に書き込む工程と、前記アドレス範囲へ書き込んだとき、前記CPUに前記書き込みを実行した旨の通知を開始する時間を経過しているかどうか判断する工程と、前記通知を開始する時間が経過していれば、前記CPUに書き込みを通知するか否かについて判断する工程とを含むことを特徴とする。
【0012】
第6の手段は、CPUの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置の制御方法において、前記メモリの前記実行コードをロードしたアドレス範囲からの読み出し動作であるかどうかを判断する工程と、前記アドレス範囲からの読み出し動作でなければ、通常の読み出し処理を実行する工程と、前記アドレス範囲からの読み出し動作であれば、さらに、禁止範囲へ書き込みがあったかどうかを判断する工程と、前記禁止範囲へ書き込みがなければ、読み出し処理を実行する工程と、前記禁止範囲へ書き込みがあれば、デバッグモードによる読み出しかどうかを判定する工程と、デバッグモードによる読み出しであれば、読み出し処理を実行する工程とを含むことを特徴とする。
【発明の効果】
【0013】
本発明によれば、書き換え可能なメモリなどの記憶装置上に格納された情報処理装置の実行コードあるいはデータを確実に保護することが可能となり、セキュリティーの向上を図ることができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施形態について図面を参照して説明する。
【0015】
図4は、本発明の第1の実施形態に係るメモリ制御装置の概略構成を示すブロック図である。
【0016】
同図において、メモリ制御装置は、CPU1、アクセス制御部2、ROM3、RAM4及びハードディスク装置(HDD)5から基本的に構成されている。アクセス制御部2は、ROMアクセス制御部21、RAMアクセス制御部22、HDDアクセス制御部23、ステータス表示部24、第1の書き込み監視部25及び第2の書き込み監視部26を含む。ROMアクセス制御部21はROM3に対するアクセス制御を実行し、RAMアクセス制御部22はRAM4に対するアクセス制御を実行し、HDDアクセス制御部23はHDD5に対するアクセス制御を実行する。RAMアクセス制御部22のRAM4に対するアクセス状態、及びHDDアクセス制御部23のHDD5に対するアクセス状態はそれぞれ第1の書き込み監視部25及び第2の書き込み監視部26でそれぞれ監視する。ステータス表示部24は、第1及び第2の書き込み監視部25,26から書き込み検出信号を受信してその受信状態を表示する。また、ステータス表示部24はCPUに対して割り込み信号を出力することができる。
【0017】
なお、CPU1、アクセス制御部2、ROM3、RAM4及びハードディスク装置(HDD)5はバスによって接続され、CPU1からの指示によりROM3、RAM4及びHDD5へのアクセスが可能である。
【0018】
ところで、特定のアドレス範囲に書き込み動作があったことをCPU1のような処理装置に通知する方法としては、書き込みを監視する装置あるいは素子から処理装置(CPU)1に対して信号変化を入力し、割り込み処理要求を出力するという方法、割り込み信号線を使用しなくてもCPU1が一定時間毎に監視装置のステータス情報を読み出すポーリング処理を行う方法がある。
【0019】
図1は本発明の第1の実施形態に係る通知処理の処理手順を示すフローチャートである。この処理は第1及び第2の書き込み監視部25,26で実行される。
同図において、この処理では、まず、設定アドレス範囲への書き込み動作かどうか否かをチェックし(ステップS101)、設定アドレス範囲への書き込み動作であれば、書き込み処理を実行する(ステップS102)。次いで、書き込みをCPU1に通知するか否かについて判断し(ステップS103)、CPU1に通知する場合には書き込み動作があったことを通知し(ステップS104)、通知しないのであれば通知しないまま終了する。
【0020】
他方、ステップS101で設定アドレス範囲内への書き込み動作でなければ、設定アドレス範囲外に書き込んで(ステップS105)、この処理を終了する。
【0021】
このように処理すると、書き込み処理通知を許可の選択が可能となり、ソフトウェア設定により割り込み信号の発行許可のON/OFF、あるいはステータス表示許可のON/OFFを選択することにより特定のアドレス範囲に対する書き込み動作発生の通知をCPU1に知らせることが可能になる。
【0022】
図2は、本発明の第2の実施形態に係る通知処理の処理手順を示すフローチャートである。この処理も書き込み監視部25,26で実行される。
同図において、この処理では、まず、設定アドレス範囲への書き込み動作かどうか否かをチェックし(ステップS201)、設定アドレス範囲への書き込み動作であれば、書き込み処理を実行する(ステップS202)。次いで、通知開始遅延時間を経過しているかどうかをチェックし(ステップS203)、経過していれば、さらに、CPU1に書き込みを通知するか否かについて判断し(ステップS103)、通知する場合には書き込み動作があったことを通知し(ステップS205)、通知しないのであれば通知しないまま終了する。
【0023】
一方、ステップS203で遅延時間を経過していない場合、あるいは、書き込み通知を行わない場合には、そのまま終了する。
【0024】
他方、ステップS202で設定アドレス範囲内への書き込み動作でなければ、設定アドレス範囲外に書き込んで(ステップS206)、この処理を終了する。
【0025】
このように処理すると、ソフトウェアの処理なしに、装置の電源がONになってから一定時間経過後、ハードウエアの処理のみで特定のアドレス範囲への書き込み動作発生通知を許可開始する。図2のフローチャートでは、装置の電源ONからの時間になっているが、時間をカウント開始するトリガーになるイベントは特定のアドレス範囲への書き込みが発生した後や、図1のフローチャートに示したようにソフトウェアで通知許可設定後のように装置の電源ONに限定されない。たとえば特定のアドレス範囲への書き込みが発生後、通知開始までの時間を0とすれば、一度書き込まれたアドレス範囲の内容を上書きなどで書き換えると、監視装置が書き換え通知を発行するといった処理も選択可能である。
【0026】
また、図4に示したようにデータ書き換えを禁止する領域がRAM等のメモリの場合、書き込み監視部25はメモリのアドレスと書き込みアクセスか否かを監視する。第2の書き込み監視部26のように接続されたデバイスがHDD5等のように直接アドレスで領域を指定できない場合、セクタ情報やヘッドNo.などのアドレスに変わる情報を監視し、指定範囲への書き込み動作をチェックする。
【0027】
図3は、本発明の第3の実施形態に係る処理手順を示すフローチャートである。この処理手順では、図1のフローチャートの処理に加え、あらかじめ設定されたアドレス範囲に書き込みアクセスがあった場合、書き込みを行わない処理を選択可能としたものである。また、書き込みされた禁止領域のアドレス情報を保持し、その領域からの読み出しを行わない制御も選択可能とする。不正書き込みが行われた領域のデータを読み出すには、監視機能を停止させるなどの設定を行ったあと読み出しアクセスを行うなど、通常動作とは異なるデバッグモードのプログラムなどでアクセス可能とし、どこで不正な書き込みが行われたかの解析を容易にする。
【0028】
そのため、この処理手順では、まず、設定アドレス範囲からの読み出し動作であるかどうかをチェックし(ステップS301)、設定アドレス範囲からの読み出し動作でなければ、通常の読み出し処理を実行し(ステップS302)、設定アドレス範囲からの読み出し動作であれば、さらに、禁止範囲へ書き込みがあったかどうかをチェックする(ステップS303)。もし、禁止範囲へ書き込みがなければ、読み出し処理を実行し(ステップS304)、書き込みがあれば、デバッグモードによる読み出しかどうかをチェックし(ステップS305)、デバッグモードによる読み出しでなければ、そのまま終了し、デバッグモードによる読み出しであれば、読み出し処理を実行して(S306)、処理を終える。
【0029】
このように処理すると、図1あるいは図2のフローチャートに示した処理により保護領域範囲の書き換えが可能となる。また、図4に示したようにデータ書き換えを禁止する領域がRAM等のメモリの場合は開始アドレスと終了アドレス、あるいは開始アドレスと終了までのメモリ量などの情報を第1の書き込み監視部25に保持してアクセス監視を実行する。同様に第2の書き込み監視部26ではセクタ情報やヘッドNo.などのアドレスに変わる情報を保持してアクセス監視を実行する。どちらの場合も設定の範囲を任意に変更可能とすることにより読み書き可能領域と読み出し専用領域範囲を任意に切り換えるようにする。
【0030】
以上のよう第1の実施形態によれば、あらかじめ設定されたアドレス範囲に書き込みアクセスがあった場合、割り込み発生などの方法でCPUに書き換え処理があったことを通知することにより書き換え可能なメモリ領域に置かれたコードやデータなどがソフトウェア処理の予期しないアクセスにより書き換えられたことを知ることができ、書き込み内容の信頼性を確認することが可能になる。これにより、不正なコードが実行されることを防止することが可能となり、セキュリティー機能の向上を図ることができる。
【0031】
また、第2の実施形態によれば、書き込みそのものを禁止する手段を持つことによりメモリ上にある情報の信頼性を向上させることが可能になる。また単純に書き込み禁止とするのではなく、不正書き込みの領域を読み出し不可とするので、書き込まれたコード、データは保持して、プログラム上のどこで書き込み禁止領域へのアクセスが行われたかの解析が容易になる。
【0032】
さらに、第3の実施形態によれば、メモリ内容書き換えを禁止とした保護領域の拡大縮小や範囲の移動を行い、扱うソフトウェアのコード量、データ量にあわせて必要分の書き込み専用領域を設定することが可能になり、書き換え可能領域が少なくなるような無駄を回避できる。
【図面の簡単な説明】
【0033】
【図1】本発明の第1の実施形態に係る通知処理の処理手順を示すフローチャートである。
【図2】本発明の第2の実施形態に係る通知処理の処理手順を示すフローチャートである。
【図3】本発明の第3の実施形態に係る処理手順を示すフローチャートである。
【図4】本発明の第1の実施形態に係るメモリ制御装置の概略構成を示すブロック図である。
【符号の説明】
【0034】
1 CPU
2 アクセス制御部
3 ROM
4 RAM
5 HDD
21 RAMアクセス制御部
22 ROMアクセス制御部
23 HDDアクセス制御部
24 ステータス表示部
25 第1の書き込み監視部
26 第2の書き込み監視部

【特許請求の範囲】
【請求項1】
CPUの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置において、
前記コードをロードしたメモリ領域に書き込み動作があると、書き込み動作があったことをCPUに通知する手段と、
前記メモリ領域への書き込み動作があると、書き込み動作があったことを前記CPUに通知する際のアクセス監視開始を時間経過により自動的に設定する手段を備えていることを特徴とする情報処理装置。
【請求項2】
保護領域への書き込みがあった場合、その領域からの通常読み出しの禁止を設定する手段を備えていることを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記保護領域の範囲を変更する手段を備えていることを特徴とする請求項1記載の情報処理装置。
【請求項4】
CPUの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置の制御方法において、
前記メモリの前記実行コードをロードしたアドレス範囲への書き込み動作かどうか否かを判断する工程と、
前記判断により前記アドレス範囲への書き込み動作であれば、当該アドレス範囲に書き込む工程と、
前記判断により前記アドレス範囲への書き込み動作でなければ、前記アドレス範囲外に書き込む工程と、
前記書き込み処理を行ったことを前記CPUに通知するか否かについて判断する工程と、
を含むことを特徴とする情報処理装置の制御方法。
【請求項5】
CPUの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置の制御方法において、
前記メモリの前記実行コードをロードしたアドレス範囲への書き込み動作かどうか否かを判断する工程と、
前記アドレス範囲への書き込み動作であれば、当該アドレス範囲に書き込む工程と、
前記判断により前記アドレス範囲への書き込み動作でなければ、前記アドレス範囲外に書き込む工程と、
前記アドレス範囲へ書き込んだとき、前記CPUに前記書き込みを実行した旨の通知を開始する時間を経過しているかどうか判断する工程と、
前記通知を開始する時間が経過していれば、前記CPUに書き込みを通知するか否かについて判断する工程と、
を含むことを特徴とする情報処理装置の制御方法。
【請求項6】
CPUの実行コードを不揮発性メモリから書き換え可能なメモリに転送してプログラムを実行する情報処理装置の制御方法において、
前記メモリの前記実行コードをロードしたアドレス範囲からの読み出し動作であるかどうかを判断する工程と、
前記アドレス範囲からの読み出し動作でなければ、通常の読み出し処理を実行する工程と、
前記アドレス範囲からの読み出し動作であれば、さらに、禁止範囲へ書き込みがあったかどうかを判断する工程と、
前記禁止範囲へ書き込みがなければ、読み出し処理を実行する工程と、
前記禁止範囲へ書き込みがあれば、デバッグモードによる読み出しかどうかを判定する工程と、
デバッグモードによる読み出しであれば、読み出し処理を実行する工程と、
を含むことを特徴とする情報処理装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2006−18500(P2006−18500A)
【公開日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願番号】特願2004−194657(P2004−194657)
【出願日】平成16年6月30日(2004.6.30)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】