説明

コンピュータシステム、コンピュータ保護方法、コンピュータ保護プログラム

【課題】情報処理ユニットがアクセスしようとする必要なファイルを直ちに検査することで、その情報処理ユニットを悪意あるソフトウェアから保護する。
【解決手段】ファイル処理部15は、ファイル・アクセスの際にシステム・コールを発生し、このシステム・コールをファイル処理制御部16がフックする。情報処理ユニット2が情報処理ユニット1の仮想記憶を取り扱えるように、アドレス管理部23は、アドレス変換部14のアドレス変換情報を、アドレス変換部24に通知させる。アドレス調停部51は、アドレス変換部14,24間で物理アドレスの調停を行い、アドレスを指定する。ファイル処理制御部16は、ファイル転送部25に対し、補助記憶装置4からメモリ3へのファイル転送を要求する。ファイル検査部26は、ファイル転送の際に検査を行い、ファイルに悪意あるソフトウェアが含まれていなければ、上記システム・コールを実行させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、悪意あるソフトウェアからコンピュータを保護するコンピュータシステム、コンピュータ保護方法、コンピュータ保護プログラムに関し、特に、複数のプロセッサを活用することで、悪意あるソフトウェアからコンピュータを保護するコンピュータシステム、コンピュータ保護方法、コンピュータ保護プログラムに関する。なお、本明細書では、ファイル、オブジェクト、データ等を総称して、「ファイル」と称するものとする。
【背景技術】
【0002】
利用者に製品が提供された時点でその製品に導入されているファイルに対しては、悪意あるソフトウェアが含まれているか否かの検査が既に行われている。しかし、製品の提供後に利用者によってその製品に追加されるファイルには、悪意あるソフトウェアが含まれている可能性がある。悪意あるソフトウェアとは、コンピュータシステムまたはコンピュータシステムの利用者に被害を与えるソフトウェアのことを指し、例えば、コンピュータウイルスなどがある。
【0003】
従来、この種の悪意あるソフトウェアからコンピュータを保護するために、例えば、ウイルス対策ソフトウェアをコンピュータに導入することが行われてきた。さらに、ハードウェアをも活用した例が、特許文献1に記載されている。また、ファイルを転送する段階でそのファイルを検査する例が、特許文献2,3に記載されている。
【0004】
特許文献1に記載されたコンピュータシステムは、破壊に対して耐久性のある、デジタル・コンピュータの情報処理における安全性を確保するものである。
【0005】
図21は、特許文献1の実施例の1つに記載された従来のコンピュータシステムの構成を示す図である。
【0006】
図21に示したコンピュータシステムは、悪意あるソフトウェアを検出するための免疫IC1001と、コンピュータとしての情報処理を実行するCPU1002と、CPU1002がファイルを処理する際に一時的にデータを記憶させる計算用RAM1004と、外部との入出力の制御を行う入出力装置1005と、外部との通信を行う通信回線接続装置1006と、表示や入力を行う表示装置・入力装置1007と、大容量の記憶装置である大容量記憶装置1008と、小容量の記憶装置である小型記憶装置1009と、CPU1002と計算用RAM1004と入出力装置1005と大容量記憶装置1008と小型記憶装置1009とを接続するバス1003とから構成される。
【0007】
入出力装置1005は、免疫IC1001に記憶された悪意あるソフトウェアに関する情報を基にして、通信回線接続装置1006により読み出されたファイルを検査する。
【0008】
特許文献2に記載されたコンピュータシステムは、大規模で高速なネットワークを流れるファイル(データ)にコンピュータウイルスが含まれているか否かを高速に検査するものである。
【0009】
図22は、特許文献2の実施形態の1つに記載された従来のコンピュータシステムの構成を簡潔に示す図である。なお、図22には図示されていないが、ホストCPU2101がアクセス可能な外部記憶装置を備えることもある。
【0010】
図22に示したコンピュータシステムにおいては、通信用ソフトウェアによって動作するホストCPU2101は、ネットワークから受信したファイルをメインメモリ2102に記憶させる。メインメモリ2102に記憶されたファイルは、専用プロセスによって動作するホストCPU2101によってコンピュータウイルス検査装置2001へ転送される。コンピュータウイルス検査装置2001は、パターン・マッチング回路を使用してファイルを検査する。
【0011】
特許文献3に記載されたコンピュータシステムは、ネットワークを介して計算機システムに転送されるファイルに対して、利用者が特に意識することなく、かつファイル転送プログラムにウイルス・チェック機能を持たせることなく、ウイルスに感染したファイルが記憶装置に保存されることを防止するシステムである。
【0012】
図23は、特許文献3の実施例の1つに記載された従来のコンピュータシステムの構成を示す図である。
【0013】
図23に示したコンピュータシステムにおいては、ファイル転送プログラム3001は、受信データの受信命令3003をソケット・モジュール3002に発行する。このとき、フック部3004は、ファイル転送プログラム3001からの受信命令3003を横取りし、代理関数3005は、改めて受信命令3006をソケット・モジュール3002に発行する。ソケット・モジュール3002がネットワーク3011から受信した受信データ3007は、代理関数3005に送られる。代理関数3005は、受信データ3007を検査してコンピュータウイルスの有無を検査し、ウイルスが検出されない場合には受信データ3008をファイル転送プログラム3001に送出し、ファイル転送プログラム3001は、受信データ3008を記憶装置3009に書き込む。一方、代理関数3005は、ウイルスが検出された場合には通知部3010を起動してコンピュータウイルスの検出を利用者に通知する。
【特許文献1】特開平8−179942号公報
【特許文献2】特表2004−528651号公報
【特許文献3】特開平11−11991号公報
【発明の開示】
【発明が解決しようとする課題】
【0014】
しかしながら、従来のコンピュータシステムには次のような課題がある。
【0015】
第1の課題は、悪意あるソフトウェア対策として使用する対策ソフトウェアを動作させるための資源と、悪意あるソフトウェアが動作する可能性のある資源とが分離されていないため、万が一、悪意あるソフトウェアにより資源が汚染されてしまった場合、対策ソフトウェアが汚染されてしまう可能性があるという課題である。
【0016】
第2の課題は、特許文献1に関するものである。特許文献1に記載の発明では、悪意あるソフトウェアを検出するための免疫IC1001は、CPU1002とアドレス参照を共有することができないため、CPU1002の動作とは無関係に、ファイルを検査せざるを得ない。この場合、免疫IC1001は、CPU1002が直ちに必要とするファイルではなく、CPU1002が直ちに必要としないファイルを検査してしまうという事態が発生しうるという課題がある。
【0017】
第3の課題は、特許文献2に関するものである。特許文献2に記載の発明では、コンピュータウイルス検査部分がハードウェアによって実現されていても、コンピュータウイルス検査装置2001へのデータの転送は、悪意あるソフトウェアが実行される可能性のあるホストCPU2101によって行われる。そのため、ホストCPU2101にコンピュータウイルス検査装置2001へファイルを転送させるためのソフトウェアが改ざんされると、ホストCPU2101がウイルス検査装置2001にファイルを転送しない、または、異なるファイルを転送してしまう可能性があるという課題がある。
【0018】
第4の課題は、特許文献3に関するものである。特許文献3に記載の発明を、仮想記憶を使用するOS(オペレーティング・システム)によって動作するコンピュータの内部において、ファイルにアクセスする際にそのファイルを検査できるように応用する場合を考慮する。この場合、ファイル転送プログラム3001により動作する第1の情報処理ユニットと代理関数3005により動作する第2の情報処理ユニットとは、仮想アドレスと物理アドレスのアドレス変換情報を共有することができない。そのため、第1の情報処理ユニットのソフトウェアの実行形式を変更せずに、悪意あるソフトウェアを検査する手段を第2の情報処理ユニットに実装することができないという課題がある。
【0019】
本発明の目的は、仮想記憶を利用するOSによって動作する情報処理ユニットを複数設ける場合において、ある情報処理ユニットがアクセスしようとしている必要なファイルを直ちに検査することにより、その情報処理ユニットを悪意あるソフトウェアから保護することができる、コンピュータシステム、コンピュータ保護方法、コンピュータ保護プログラムを提供することにある。
【0020】
本発明の他の目的は、ある情報処理ユニットの仮想記憶を、他の情報処理ユニットでも取り扱うことができる、コンピュータシステム、コンピュータ保護方法、コンピュータ保護プログラムを提供することにある。
【0021】
本発明のさらに他の目的は、ある情報処理ユニットが、万が一、悪意あるソフトウェアにより汚染されてしまったとしても、その情報処理ユニットを検査する他の情報処理ユニットが悪意あるソフトウェアにより汚染されることを回避できる、コンピュータシステム、コンピュータ保護方法、コンピュータ保護プログラムを提供することにある。
【課題を解決するための手段】
【0022】
上記目的を達成するために本発明のコンピュータシステムは、
第1の情報処理ユニットと、第2の情報処理ユニットと、メモリと、補助記憶装置とを有してなるコンピュータシステムにおいて、
前記第1の情報処理ユニットは、
前記補助記憶装置に記憶されたファイルへのアクセス時に、OSの機能としてシステム・コールを発生するファイル処理部と、
前記システム・コールをOS階層以下においてフックし、前記補助記憶装置から前記メモリへのファイルの転送要求を前記第2の情報処理ユニットに対して発行し、前記第2の情報処理ユニットからの前記転送要求に対する応答結果に基づき、前記システム・コールを実行するファイル処理制御部と、
仮想アドレスと物理アドレスの変換を行う第1のアドレス変換部とを含み、
前記第2の情報処理ユニットは、
前記転送要求に基づき、前記補助記憶装置から前記メモリへファイルを転送するファイル転送部と、
前記転送要求をトリガとしてファイルを検査し、該検査結果に基づく情報を前記転送要求に対する応答結果として前記ファイル処理制御部に通知するファイル検査部と、
前記第1のアドレス変換部のアドレス変換情報を管理するアドレス管理部と、
前記アドレス管理部にて管理されている前記第1のアドレス変換部のアドレス変換情報に基づき、仮想アドレスと物理アドレスの変換を行う第2のアドレス変換部とを含み、
前記コンピュータシステムは、
前記第1のアドレス変換部と前記第2のアドレス変換部との間で物理アドレスの調停を行うアドレス調停部をさらに有することを特徴とする。
【0023】
この構成によれば、第1の情報処理ユニットによるファイルへのアクセス時にはシステム・コールが必ずフックされ、第1の情報処理ユニットがアクセスしようとするファイルの転送要求が第1の情報処理ユニットから第2の情報処理ユニットに発行される。また、この際、第1の情報処理ユニットにおける仮想アドレスと物理アドレスとのアドレス変換情報が、第1の情報処理ユニットから第2の情報処理ユニットへ通知される。
【0024】
したがって、第2の情報処理ユニットは、第1の情報処理ユニットがアクセスしようとしている必要なファイルを直ちに検査することができる。また、第1の情報処理ユニットの仮想記憶を、第2の情報処理ユニットでも取り扱うことができる。
【0025】
また、前記ファイル処理制御部は、前記システム・コールを実行して、前記ファイル検査部により検査済みのファイルにアクセスすることを特徴とする。
【0026】
この構成によれば、第1の情報処理ユニットがアクセスするファイルは、第2の情報処理ユニットにより検査済みのファイル、例えば、悪意あるソフトウェアが含まれていないと判断されたファイルとなる。
【0027】
したがって、第1の情報処理ユニットが悪意あるソフトウェアの起動を中止することが可能となるため、悪意あるソフトウェアから保護することができる。
【0028】
また、前記メモリは、
前記第1の情報処理ユニットと前記第2の情報処理ユニットがファイルの読み出し、書き込み可能である共用メモリ部と、
前記第2の情報処理ユニットのみがファイルの読み出し、書き込み可能である専用メモリ部とを含み、
前記ファイル転送部は、前記転送要求に基づき、前記補助記憶装置から前記専用メモリ部へファイルを転送し、
前記ファイル検査部は、前記専用メモリ部上でファイルを検査し、検査済みのファイルを前記共有メモリ部へ転送することを特徴とする。
【0029】
この構成によれば、万が一、第2の情報処理ユニットの検査において検出できなかった悪意あるソフトウェア(例えば、新種のコンピュータウイルス)が第1の情報処理ユニット上で動作し、その悪意あるソフトウェアによって共用メモリ部が汚染されたとしても、専用メモリ部は汚染されないため、第2の情報処理ユニットが正常に動作を継続できる。
【0030】
また、前記補助記憶装置は、
前記第1の情報処理ユニットと前記第2の情報処理ユニットの両方がファイルの読み出し、書き込み可能である共用ファイル記憶部と、
前記第2の情報処理ユニットのみがファイルの読み出し、書き込み可能である専用ファイル記憶部とを含み、
前記ファイル転送部は、前記転送要求に基づき、前記共用ファイル記憶部から前記メモリへファイルを転送することを特徴とする。
【0031】
この構成によれば、第1の情報処理ユニットが活用する共用ファイル記憶部に記憶されたファイルが、悪意あるソフトウェアによって汚染されたとしても、第2の情報処理ユニットが活用する専用ファイル記憶部に記憶されたファイルを悪意あるソフトウェアから保護することができる。
【0032】
また、前記ファイル転送部は、ファイル転送を代行するDMAコントローラをさらに含むことを特徴とする。
【0033】
また、前記第2の情報処理ユニットは、一定条件下で、前記ファイル転送部に対するファイルの転送要求を自動的に発行するスケジューリング部をさらに含むことを特徴とする。
【0034】
この構成によれば、第1の情報処理ユニットからファイルの検査要求がなくとも補助記憶装置に記憶されたファイルを自動的に検査することが可能となるため、第1の情報処理ユニットからのファイル転送の要求があった場合に、そのファイルがすでに検査済みであれば、ファイルを検査する時間を削減することができる。
【0035】
また、前記第2の情報処理ユニットは、前記ファイル検査部を提供するサーバから新たなファイル検査部を取得することで、前記ファイル検査部を自動的に更新するファイル検査管理部をさらに含むことを特徴とする。
【0036】
この構成によれば、最新の悪意あるソフトウェアを検出可能なファイル検査部への更新を自動的に行うことが可能となるため、最新の悪意あるソフトウェアを検出可能として、安全性の向上を図ることができる。
【0037】
また、前記第2の情報処理ユニットは、
前記ファイル検査部を提供するサーバから新たなファイル検査部を取得することで、前記ファイル検査部を自動的に更新するファイル検査管理部と、
前記ファイル検査管理部によって前記ファイル検査部が更新された場合、前記ファイル転送部に対するファイルの転送要求を自動的に発行するスケジューリング部とをさらに含むことを特徴とする。
【0038】
この構成によれば、最新の悪意あるソフトウェアを検出可能な最新のファイル検査部により、補助記憶装置に記憶されたファイルを自動的に検査することが可能となるため、第1の情報処理ユニットからの転送の要求があった場合に、そのファイルが最新のファイル検査部による検査が行われていれば、ファイルを最新のファイル検査部により検査する時間を削減することができる。
【0039】
また、前記ファイル処理制御部は、前記システム・コールをOS階層以下においてフックし、前記補助記憶装置から前記メモリへのファイルの転送要求と、更に、ファイルの検査要求も前記第2の情報処理ユニットに対して発行し、前記第2の情報処理ユニットからの前記転送要求および前記検査要求に対する応答結果に基づき、前記システム・コールを実行することを特徴とする。
【0040】
この構成によれば、第1の情報処理ユニットは、検査要求に対する応答結果を認識することが可能となる。
【0041】
上記目的を達成するために本発明のコンピュータ保護方法は、
第1の情報処理ユニットと、第2の情報処理ユニットと、メモリと、補助記憶装置とを有してなるコンピュータシステムによるコンピュータ保護方法であって、
前記第1の情報処理ユニットが、前記補助記憶装置に記憶されたファイルへのアクセス時に、前記第2の情報処理ユニットに対して、前記補助記憶装置から前記メモリへのファイルの転送要求を発行するステップと、
前記第2の情報処理ユニットが、前記転送要求に基づいて前記補助記憶装置から前記メモリにファイルを転送するとともに、該ファイルを検査して該検査結果に基づく情報を前記第1の情報処理ユニットに対して通知するステップと、
前記第1の情報処理ユニットが、前記第2の情報処理ユニットからの通知に基づいて、前記メモリへ転送されたファイルへのアクセスの可否を決定するステップとを有することを特徴とする。
【0042】
上記目的を達成するために本発明のコンピュータ保護プログラムは、
第1の情報処理ユニットと、第2の情報処理ユニットと、メモリと、補助記憶装置と、アドレス調停部とを有してなるコンピュータシステムに実行させるコンピュータ保護プログラムであって、
前記第1の情報処理ユニットに、
前記補助記憶装置に記憶されたファイルへのアクセス時に、OSの機能としてシステム・コールを発生する処理と、
前記システム・コールをOS階層以下においてフックし、前記補助記憶装置から前記メモリへのファイルの転送要求を前記第2の情報処理ユニットに対して発行し、前記第2の情報処理ユニットからの前記転送要求に対する応答結果に基づき、前記システム・コールを実行する処理と、
仮想アドレスと物理アドレスの変換を行う処理とを実行させ、
前記第2の情報処理ユニットに、
前記転送要求に基づき、前記補助記憶装置から前記メモリへファイルを転送する処理と、
前記転送要求をトリガとしてファイルを検査し、該検査結果に基づく情報を前記転送要求に対する応答結果として前記第1の情報処理ユニットに通知する処理と、
前記第1の情報処理ユニットのアドレス変換情報を管理する処理と、
前記第1の情報処理ユニットのアドレス変換情報に基づき、仮想アドレスと物理アドレスの変換を行う処理とを実行させ、
前記アドレス調停部に、
前記第1の情報処理ユニットと前記第2の情報処理ユニットとの間で物理アドレスの調停を行う処理を実行させることを特徴とする。
【発明の効果】
【0043】
以上説明したように本発明によれば、第1の情報処理ユニットによるファイルへのアクセス時にはシステム・コールが必ずフックされ、第1の情報処理ユニットがアクセスしようとするファイルの転送要求が第1の情報処理ユニットから第2の情報処理ユニットに発行される。また、この際、第1の情報処理ユニットにおける仮想アドレスと物理アドレスとのアドレス変換情報が、第1の情報処理ユニットから第2の情報処理ユニットへ通知される。
【0044】
したがって、第2の情報処理ユニットは、第1の情報処理ユニットがアクセスしようとしている必要なファイルを直ちに検査することができるという効果が得られる。また、第1の情報処理ユニットの仮想記憶を、第2の情報処理ユニットでも取り扱うことができるという効果が得られる。
【発明を実施するための最良の形態】
【0045】
以下に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【0046】
(第1の実施形態)
図1は、本発明の第1の実施形態のコンピュータシステムの全体構成を示すブロック図である。
【0047】
図1を参照すると、本実施形態は、ソフトウェア制御により動作するプロセッサである情報処理ユニット1と、ソフトウェア制御により動作するプロセッサである情報処理ユニット2と、情報処理ユニット1と情報処理ユニット2が一時記憶のために使用するメモリ3と、ファイルを記憶する補助記憶装置4と、情報処理ユニット1と情報処理ユニット2との間でのアドレスの調停を行うアドレス調停部51とを含む。
【0048】
図2は、本発明の第1の実施形態のコンピュータシステムの機能に関する詳細な構成を示すブロック図である。図3は、本発明の第1の実施形態のコンピュータシステムのソフトウェアも含めた詳細な構成を示すブロック図である。
【0049】
図2および図3を参照すると、情報処理ユニット1は、情報処理回路11と、OS(オペレーティング・システム)12と、アドレス変換部14と、ファイル処理部15と、ファイル処理制御部16とを備える。
【0050】
情報処理回路11は、ソフトウェアの機能を実現するハードウェアである。
【0051】
OS12は、情報処理回路11上で動作し、メモリ3や補助記憶装置4、およびコンピュータシステムの不図示の入出力装置を管理するソフトウェアである。
【0052】
アドレス変換部14は、OS12と情報処理回路11により実現される。アドレス変換部14は、OS12で取り扱われる仮想アドレスとメモリ3で取り扱われる物理アドレスとを相互に変換する。
【0053】
ファイル処理部15は、OS12上で動作するソフトウェアとして実装される。ファイル処理部15は、例えば、ファイルを開く処理、ファイルを閉じる処理、ファイルから読み出す処理、ファイルに書き込む処理、ファイルを実行する処理など、ファイルへのアクセス処理を行う際にシステム・コールを発生する。
【0054】
ファイル処理制御部16は、OS12の一部として実装される。ファイル処理制御部16は、ファイル処理部15によって発生したシステム・コールをフックする処理と、情報処理ユニット2に対してファイルの転送を要求する処理と、情報処理ユニット2からの通知に基づいてシステム・コールの実行またはファイル処理部15にエラーを返す処理を行う。
【0055】
情報処理ユニット2は、情報処理回路21と、OS22と、アドレス管理部23と、アドレス変換部24と、ファイル転送部25と、ファイル検査部26とを備える。
【0056】
情報処理回路21は、ソフトウェアの機能を実現するハードウェアである。
【0057】
OS22は、情報処理回路21上で動作し、メモリ3や補助記憶装置4、およびコンピュータシステムの不図示の入出力装置を管理するソフトウェアである。
【0058】
アドレス管理部23は、OS22の一部として実装されても、OS22上で動作するソフトウェアとして実装されていてもよい。アドレス管理部23は、ファイル転送など必要に応じて、情報処理ユニット1のアドレス変換部14に対し、アドレス変換部14のアドレス変換情報を情報処理ユニット2のアドレス変換部24に通知させる。
【0059】
アドレス変換部24は、OS22内部で動作するソフトウェアと情報処理回路21により実現される。アドレス変換部24は、OS22で取り扱われる仮想アドレスとメモリ3で取り扱われる物理アドレスとを相互に変換する。
【0060】
ファイル転送部25は、OS22の上で動作するソフトウェアとして実装される。ファイル転送部25は、情報処理ユニット1からの要求に基づいて、補助記憶装置4の共有ファイル記憶部41からメモリ3の専用メモリ部32へファイルを転送する処理を行う。ファイル転送を行う際には、ファイル転送部25の管理のもとで、例えば、DMAコントローラといったファイル転送専用ハードウェアがファイル転送を代行してもよい。
【0061】
ファイル検査部26は、OS22の上で動作するソフトウェアとして実装される。ファイル検査部26は、ファイル転送部25からの転送要求をトリガにして、メモリ3の専用メモリ部32へ書き込まれたファイルに悪意あるソフトウェアが含まれているか否かを検査し、その検査結果に基づくシステム・コールの実行の可否を情報処理ユニット1へ返す。また、ファイル検査部26は、検査済みのファイルをメモリ3の共有メモリ部31へ転送する。ファイル検査を行う際には、ファイル検査部26の管理のもとで、専用のハードウェアがファイル検査を代行してもよい。
【0062】
メモリ3は、共用メモリ部31と専用メモリ部32から構成され、情報処理ユニット1から専用メモリ部23への不正な書き込みを防止できる構成となっている。例えば、共用メモリ部31と専用メモリ部32は、物理的に同一のメモリチップで構成され、アドレス変換部14により情報処理ユニット1では専用メモリ部32が参照できない状態であっても良い。または、共用メモリ部31と専用メモリ部32は、異なるメモリチップに分割され、結線やチップへの書込み保護設定により、情報処理ユニット1では専用メモリ部32が参照できない状態であってよい。アドレス変換部14への設定においては、例えば、ハードウェアによる設定を行うことで、ファイルのオーバーライトによる専用メモリ部32への攻撃を避けることが可能となる。
【0063】
共用メモリ部31は、情報処理ユニット1と情報処理ユニット2がアクセス可能である。共用メモリ部31には、OS12やファイル処理部15が使用するファイルなどが情報処理ユニット2により書き込まれる。また、共用メモリ部31は、情報処理ユニット1が行う処理のための作業メモリなどとしても活用される。
【0064】
専用メモリ部32は、情報処理ユニット2のみがアクセス可能である。専用メモリ部32には、OS22やファイル検査部26が使用する対策ソフトウェアなどが書き込まれる。また、専用メモリ部32は、情報処理ユニット2が実行する処理のための作業メモリなどとしても利用される。
【0065】
このように、専用メモリ部32を情報処理ユニット1の処理系から分離して設けることにより、万が一、悪意あるソフトウェアによって動作する情報処理ユニット1によってメモリ3の共用メモリ部31が汚染されても、専用メモリ部32が汚染されることはないため、情報処理ユニット2は正常に動作する。ここでの万が一の場合としては、コンピュータの利用者が、情報処理ユニット2の検査において検出できない、コンピュータを破壊してしまうソフトウェア(例えば、新種のコンピュータウイルス)を、自ら当該コンピュータで作成、実行した場合などが考えられるが、この限りではない。
【0066】
補助記憶装置4は、不揮発性の記憶装置によって構成され、共用ファイル記憶部41と専用ファイル記憶部42から構成される。共用ファイル記憶部41と専用ファイル記憶部42は、物理的に分割されていても、アドレス変換部14により情報処理ユニット1では専用ファイル記憶部42がアクセスできない状態でもよい。
【0067】
共用ファイル記憶部41は、情報処理ユニット1と情報処理ユニット2からアクセス可能である。共用ファイル記憶部41は、OS12やファイル処理部15が使用するファイルなどが記憶される。
【0068】
専用ファイル記憶部42は、情報処理ユニット2のみがアクセス可能である。専用ファイル記憶部42は、OS22やファイル検査部26が使用するソフトウェアなどが記憶される。
【0069】
このように、専用ファイル記憶部42を設けることで、万が一、悪意あるソフトウェアによって動作する情報処理ユニット1によって補助記憶装置4の共用ファイル記憶部41が汚染されても、専用ファイル記憶部42が汚染されることはないため、情報処理ユニット2は正常に動作する。
【0070】
アドレス調停部51は、情報処理ユニット1のアドレス変換部14と情報処理ユニット2のアドレス変換部24との間で、物理アドレスの衝突が発生しないように物理アドレスの調停を行う。
【0071】
次に、図4および図5を参照して、本実施形態の動作について詳細に説明する。
【0072】
図4を参照すると、情報処理ユニット1のファイル処理部15が、ファイルへのアクセスの際に、システム・コールを発生する(ステップA1)。
【0073】
情報処理ユニット1のファイル処理制御部16が、上記システム・コールをフックする(ステップA2)。
【0074】
情報処理ユニット1のファイル処理制御部16が、情報処理ユニット2に含まれるファイル転送部25に対して、補助記憶装置4の共有ファイル記憶部41からメモリ3の共用メモリ部31へのファイル転送を要求する(ステップA3)。
【0075】
ファイル転送部25が、アドレス管理部23に対して、アドレス変換部14のアドレス変換情報を、アドレス変換部14からアドレス変換部24へ通知させるよう要求する(ステップA4)。
【0076】
アドレス管理部14が、アドレス変換情報をアドレス管理部24に通知する(ステップA5)。この結果、情報処理ユニット2は、情報処理ユニット1と同じファイルを参照することができる。
【0077】
ファイル転送部25が、補助記憶装置4の共有ファイル記憶部41から読み出したファイルを、メモリ3の専用メモリ部32に書き込む。専用メモリ部32に書き込まれたファイルは、ファイル検査部26により、悪意あるソフトウェアが含まれているか否かの検査を受ける(ステップA6)。検査されたファイルは、ファイル検査部26により、共用メモリ部31に転送される。ただし、検査の結果、悪意あるソフトウェアが含まれていた場合は、共用メモリ部31に転送しなくてもよい。検査の方法としては、例えば、検査対象のファイルと悪意あるソフトウェアのデータ系列とのパターン・マッチングや、OS22の上に構成された仮想マシンにおいて、ホストOS22とは完全に独立した環境の中での試験的な実行が考えられるが、この限りではない。OS12によって情報処理ユニット1のシステム・コールがフックされ、その間に別のシステム・コールが実行されないコンピュータシステムである場合、情報処理ユニット2は、補助記憶装置4から読み出したファイルを、メモリ3の共用メモリ部31に書き込み、検査してもよい。
【0078】
ファイル検査部26が、ファイル検査の結果を基にして、上記システム・コールの実行の可否をファイル処理制御部16に通知する(ステップA7)。
【0079】
ファイル検査部26が、検査の結果、ファイルの中に悪意あるソフトウェアが含まれていなかったと判断し、システム・コールの実行を許可する通知をした場合(ステップA8)、ファイル処理制御部16は、上記システム・コールを実行する(ステップA9)。
【0080】
一方、ファイル検査部26が、検査の結果、ファイルの中に悪意あるソフトウェアが含まれていると判断し、システム・コールの実行を不許可とする通知をした場合(ステップA8)、ファイル処理部15に対してエラーを返す(ステップA10)。ステップA10により、悪意あるソフトウェアの起動を中止することが可能となる。
【0081】
上述したように本実施形態においては、情報処理ユニット1によるファイルへのアクセス時にはシステム・コールが必ずフックされ、情報処理ユニット1がアクセスしようとするファイルの転送要求が情報ユニット1から情報処理ユニット2に発行される。また、この際、情報処理ユニット1の仮想アドレスと物理アドレスとのアドレス変換情報が、情報処理ユニット1から情報処理ユニット2へ通知される。
【0082】
したがって、情報処理ユニット2は、情報処理ユニット1がアクセスしようとしている必要なファイルを直ちに検査することができるという効果が得られる。情報処理ユニット1の仮想記憶を、情報処理ユニット2でも取り扱うことができるという効果が得られる。
【0083】
また、本実施形態においては、情報処理ユニット1がアクセスするファイルは、情報処理ユニット2によって検査済みのファイルとなる。
【0084】
したがって、情報処理ユニット1が悪意あるソフトウェアの起動を中止することが可能となるため、悪意あるソフトウェアから保護することができるという効果が得られる。
【0085】
また、本実施形態においては、メモリ3が、情報処理ユニット1が使用する領域(共用メモリ部31)と、情報処理ユニット2が使用する領域(専用メモリ部32)とに分離されている。
【0086】
したがって、万が一、情報処理ユニット2が検出できなかった悪意あるソフトウェアが情報処理ユニット1上で動作し、その悪意あるソフトウェアによって共用メモリ部31が汚染されたとしても、専用メモリ部32は汚染されないため、情報処理ユニット2が正常に動作を継続できるという効果が得られる。なお、情報処理ユニット2が、専用メモリ部32上で、悪意あるソフトウェアが含まれているファイルを検査する場合があるが、ファイルを検査するだけでは、専用メモリ部32が汚染されることはない。
【0087】
また、本実施形態においては、補助記憶装置4が、情報処理ユニット1が活用するソフトウェアが記憶された領域(共有ファイル記憶部41)と、情報処理ユニット2が活用するソフトウェアが記憶された領域(専用ファイル記憶部42)とに分離されている。
【0088】
したがって、情報処理ユニット1が活用する補助記憶装置4に記憶されたファイルが、悪意あるソフトウェアによって汚染されたとしても、情報処理ユニット2が活用する補助記憶装置4に記憶されたファイルを悪意あるソフトウェアから保護することができるという効果が得られる。
【0089】
(第2の実施形態)
図6は、本発明の第2の実施形態のコンピュータシステムの機能に関する詳細な構成を示すブロック図である。
【0090】
図6を参照すると、本実施形態は、第1の実施形態と比較して、情報処理ユニット2にスケジューリング部27を備えている点が異なる。その他は、第1の実施形態と同様である。
【0091】
スケジューリング部27は、OS22の上で動作するソフトウェアであっても、OS22に含まれるソフトウェアであってもよい。スケジューリング部27は、ファイル処理制御部16から一定時間要求がない場合、ファイル転送部25およびファイル検査部26を起動する。これにより、情報処理ユニット2が、情報処理ユニット1からのファイル検査要求とは独立して、ファイルを検査できる。検査した結果はファイル検査記録として専用メモリ部32に記憶される。
【0092】
次に、図7および図8を参照して、本実施形態の動作について詳細に説明する。
【0093】
図7は、本実施形態の動作のうち、スケジューリング部27からの要求によるファイル検査の動作を示す図である。
【0094】
図7を参照すると、ファイル処理制御部16から要求が一定時間ない場合(ステップA51)、スケジューリング部27がファイル転送部25およびファイル検査部26を起動し、ファイル転送部25が、検査対象のファイルを、補助記憶装置4の共用ファイル記憶部41からメモリ3の専用メモリ部32へ転送し、ファイル検査部26が、専用メモリ部32へ転送されたファイルを検査する(ステップA52)。
【0095】
検査結果は、ファイル検査部26により、ファイル検査記録として専用メモリ部32に記憶される(ステップA53)。更に、検査結果は、専用ファイル記憶部42など情報処理ユニット2のみが書き換え可能な領域であれば、その他の記憶領域に記憶されてもよい。
【0096】
図8は、本実施形態の動作のうち、情報処理ユニット1からの転送要求によるファイル検査の動作を示す図である。
【0097】
図8を参照すると、情報処理ユニット1からのファイル転送の要求があった場合(ステップA3)、ファイル検査部26が、ファイル検査記録を参照する(ステップA11)。
【0098】
検査対象のファイルが検査済みである場合、ファイル検査部26が、ファイル検査記録からファイルが安全であるか否かを判断する(ステップA12)。
【0099】
検索対象のファイルが安全である場合、ファイル転送部25とファイル検査部26が、共有メモリ部31へのファイル転送を行い(ステップA13)、ファイル検査部26が、システム・コールの実行許可を情報処理ユニット1に通知する(ステップA14)。
【0100】
一方、検索対象のファイルが安全でなかった場合、ファイル検査部26が、システム・コールの実行不許可をファイル処理制御部16に通知し、ファイル処理制御部16が、ファイル処理部15にエラーを返す(ステップA10)。このとき、当該ファイルを転送しないなどの処理が考えられるが、この限りではない。
【0101】
また、検索対象のファイルが検査済みでなかった場合、ファイル検査部26が、第1の実施形態と同様にファイルを検査する(ステップA6、ステップA7)。その他は、第1の実施形態と同様である。
【0102】
上述したように本実施形態においては、情報処理ユニット1からファイルの検査要求がなくとも補助記憶装置4の共有ファイル記憶部41に記憶されたファイルを検査する。
【0103】
そのため、情報処理ユニット1からのファイル転送の要求があった場合に、そのファイルがすでに検査済みであれば、ファイルを検査する時間を削減できるという効果が得られる。その他の効果は第1の実施形態と同様である。
【0104】
なお、利用者は、スケジューリング部27の設定を変更することで、スケジューリング部27による検査の実行の可否を選択できる。
【0105】
(第3の実施形態)
図9は、本発明の第3の実施形態のコンピュータシステムの機能に関する詳細な構成を示すブロック図である。
【0106】
図9を参照すると、本実施形態は、第1の実施形態と比較して、ファイル検査部26を提供する情報提供サーバ60と、情報処理提供サーバ60と情報処理ユニット2とを接続するネットワーク61と、ファイル検査部26の新旧、更新状況、バグなどを管理するファイル検査管理部28と、ファイル処理管理部28をネットワーク61に接続するNIC(ネットワーク・インターフェース・カード)62とを備えている点が異なる。その他は、第1の実施形態と同様である。
【0107】
ファイル検査管理部28は、ファイル検査部26の新旧に関して情報提供サーバ60にNIC62を通して問い合わせを行い、より新しいファイル検査部26が提供されている場合には、新しいファイル検査部26を取得する。更に、第2の実施形態と組み合わせた場合は、新しいファイル検査部26を取得すると、ファイル検査記録の内容をすべて未検査とした上で、新しいファイル検査部26が、補助記憶装置4の共用ファイル記憶部42に記憶されたファイルを検査する。
【0108】
上述したように本実施形態においては、ファイル検査管理部28が自動的にファイル検査部26を更新することにより、最新の悪意あるソフトウェアを検出可能として、安全性の向上を図ることができるという効果が得られる。更に、第2の実施形態と組み合わせた場合は、最新の悪意あるソフトウェアを検出可能な状態で、第2の実施の形態の効果を得られる。その他の効果は第1の実施形態と同様である。
【0109】
なお、利用者は、ファイル検査管理部28の設定を変更することで、ファイル検査管理部28による更新の実行の可否を選択できる。
【0110】
(第4の実施形態)
図10は、本発明の第4の実施形態のコンピュータシステムの機能に関する詳細な構成を示すブロック図である。
【0111】
図10を参照すると、本実施形態は、第1の実施形態と比較して、情報処理ユニット1のファイル処理制御部16が、ファイル検査部26に対して、ファイルの検査を要求する機能を備えている点が異なる。その他は、第1の実施形態と同様である。
【0112】
次に、図11を参照して、本実施形態の動作について詳細に説明する。
【0113】
図11を参照すると、情報処理ユニット1のファイル処理制御部16が、ファイルの転送を要求する際に、同時に、ファイルを検査する要求を発生する(ステップA15)。
【0114】
ファイル転送部25が、アドレス管理部23に対して、アドレス変換部14のアドレス変換情報を、アドレス変換部14からアドレス変換部24へ通知させるよう要求する(ステップA4)。
【0115】
アドレス管理部14が、アドレス変換情報をアドレス管理部24に通知する(ステップA5)。この結果、情報処理ユニット2は、情報処理ユニット1と同じファイルを参照することができる。
【0116】
ファイル転送部25が、補助記憶装置4の共有ファイル記憶部41から読み出したファイルを、メモリ3の専用メモリ部32に書き込む。専用メモリ部32に書き込まれたファイルは、ファイル検査部26により、悪意あるソフトウェアが含まれているか否かの検査を受ける(ステップA6)。
【0117】
ファイル検査部26が、ファイル検査の結果をファイル処理制御部16に通知する(ステップA16)。
【0118】
ファイル処理制御部16が、ファイルの中に悪意あるソフトウェアが含まれていなかったと判断した場合(ステップA17)、上記システム・コールを実行する(ステップA9)。
【0119】
一方、ファイル処理制御部16が、ファイルの中に悪意あるソフトウェアが含まれていると判断した場合、ファイル処理部15に対してエラーを返す(ステップA10)。ステップA10により、悪意あるソフトウェアの起動を中止することが可能となる。その他は、第1の実施形態と同様である。
【0120】
上述したように本実施形態においては、情報処理ユニット1は、ファイル検査部26からファイル検査の結果が通知された際に、悪意あるソフトウェアに対する検査の結果であることを認識することが可能となる。そのため、情報処理ユニット1は、例えば、コンピュータシステムの利用者に検査結果を通知することができるという効果が得られる。その他の効果は第1の実施形態と同様である。
【実施例】
【0121】
(実施例1)
図12は、本発明の実施例1のコンピュータシステムの構成を示すブロック図である。本実施例は、第1の実施形態に対応するものである。
【0122】
図12を参照すると、本実施例は、情報処理ユニット1としてマルチ・コア・プロセッサ800のプロセッサ・コア100を、情報処理ユニット2としてプロセッサ・コア200を、メモリ3としてDRAM(ダイナミック・ランダム・アクセス・メモリ)300を、補助記憶装置4としてフラッシュ・メモリ400を、アドレス調停部51としてアドレス調停部501を設けている。
【0123】
なお、本実施例では、同じダイに複数のプロセッサが含まれるマルチ・コア・プロセッサを取り上げているが、複数のプロセッサを1つのコンピュータに含みバスを共有するようなマルチ・プロセッサでもよい。
【0124】
プロセッサ・コア100には、アドレス変換部14としてMMU(メモリ・マネジメント・ユニット)101が備えられている。
【0125】
プロセッサ・コア200には、アドレス変換部24としてMMU201が、アドレス管理部23としてアドレス管理部202が備えられている。
【0126】
DRAM300は、プロセッサ・コア100やプロセッサ・コア200が処理を行う際に使用する一時記憶装置である。DRAM300は、プロセッサ・コア100とプロセッサ・コア200のどちらもがアクセスできる共用領域と、プロセッサ・コア200のみがアクセスできる専用領域を有する。専用領域は、プロセッサ・コア100のMMU101の設定により、プロセッサ・コア100からはアクセスできない。
【0127】
フラッシュ・メモリ400は、プロセッサ・コア100とプロセッサ・コア200のどちらもが読み出し、書き込み可能である共用領域と、プロセッサ・コア200のみが読み出し、書き込み可能である専用領域を有する。共用領域には、ファイル処理部15としてプロセッサ・コア100を機能させるアプリケーション・ソフトウェアと、ファイル処理制御部16としてプロセッサ・コア100を機能させるフック・モジュールを含むOSなどが記憶されている。専用領域には、ファイル転送部25としてプロセッサ・コア200を機能させるOSと、ファイル検査部26としてプロセッサ・コア200を機能させる対策ソフトウェアが記憶されている。
【0128】
アドレス調停部501は、プロセッサ・コア100のMMU101とプロセッサ・コア200のMMU201との間で、物理アドレスの衝突が発生しないように物理アドレスを調停する。本実施例の場合では、プロセッサ・コア100とプロセッサ・コア200が、DRAM300の共用領域に同時にアクセスしないようにする。調停方法としては、システムの状態に応じて、コアのどちらかに優先権を与える方法がある。
【0129】
次に、図13を参照して、本実施例の動作について詳細に説明する。なお、図13では、例えば、フラッシュ・メモリ400の共用領域に記憶されたファイルを、アプリケーション・ソフトウェアによって動作するプロセッサ・コア100が読み出すと仮定する。
【0130】
図13を参照すると、アプリケーション・ソフトウェアによりプロセッサ・コア100は、ファイルを開くというシステム・コールを生成する(ステップB1)。
【0131】
生成されたシステム・コールは、システム・コールをフックするモジュールを備えたOSにより動作するプロセッサ・コア100によって、フックされる(ステップB2)。
【0132】
OSによって動作するプロセッサ・コア100は、OSによって動作するプロセッサ・コア200に対して、フラッシュ・メモリ400からのメモリ300へのファイル転送の要求を発する(ステップB3)。要求の内容には、例えば、ファイルが格納される場所を示すファイル・パスや書込み先のメモリのアドレスなどが含まれる。要求の内容を伝送する方法としては、例えば、共用メモリを使用する方法や、メッセージ・パッシングを使用する方法、専用線を配置する方法などが考えられるが、この限りではない。
【0133】
プロセッサ・コア200のアドレス管理部202が、MMU101に対して、仮想アドレスと物理アドレスとのアドレス変換情報を通知するように要求する(ステップB4)。
【0134】
MMU101は、上記のアドレス変換情報をMMU201に通知する(ステップB5)。これにより、プロセッサ・コア100とプロセッサ・コア200とが同じ仮想記憶を扱えるようになる。
【0135】
OSによって動作するプロセッサ・コア200は、ファイルの転送を実行し、対策ソフトウェアによって動作するプロセッサ・コア200は、悪意あるソフトウェアに関する情報をもとにして、ファイルの中に悪意あるソフトウェアが含まれているか否かを検査する(ステップB6)。プロセッサ・コア100のシステム・コールがフックされ、その間に別のシステム・コールが実行されないコンピュータシステムである場合、プロセッサ・コア200は、フラッシュ・メモリ400の共用領域から読み出したファイルを、DRAM300の共用領域に書き込み、検査してもよい。
【0136】
プロセッサ・コア200は、検査の結果に基づき、システム・コール実行の可否を、プロセッサ・コア100に通知する(ステップB7)。
【0137】
システム・コールをフックするモジュールを備えたOSによって動作するプロセッサ・コア100は、実行が可であった場合(ステップB8)、上記システム・コールを実行する(ステップB9)。それにより、ファイルをDRAM300からプロセッサ・コア100へ読み出すことが可能となる。
【0138】
一方、実行が不可であった場合(ステップB8)、プロセッサ・コア100は、上記システム・コールを発生したアプリケーション・ソフトウェアに対して、エラーを返す(ステップB10)。
【0139】
(実施例2)
図14は、本発明の実施例2のコンピュータシステムの構成を示すブロック図である。本実施例は、第1の実施形態に対応するものである。
【0140】
図14を参照すると、本実施例は、実施例1と比較して、ファイル転送部25として機能するDMAコントローラ502を備える点が異なる。その他は、実施例1と同様である。
【0141】
DMAコントローラ502は、プロセッサ・コア200がファイル転送部25として機能する際にファイル転送を代行する。同時に、DMAコントローラ502は、アドレス調停部51としても動作する。その他は、実施例1と同様である。
【0142】
(実施例3)
図15は、本発明の実施例3のコンピュータシステムの構成を示すブロック図である。本実施例は、第2の実施形態に対応するものである。
【0143】
図15を参照すると、本実施例は、実施例1と比較して、フラッシュ・メモリ400の専用領域に、スケジューラと、ファイル検査記録とを記憶している点が異なる。スケジューラは、プロセッサ・コア100からの要求がない場合に、プロセッサ・コア200が独立してファイル検査ができるように、プロセッサ・コア200をスケジューリング部27として機能させる。ファイル検査記録は、プロセッサ・コア200が検査した結果を記録したものである。その他は、実施例1と同様である。図16にファイル検査記録の例を示す。
【0144】
次に、図17および図18を参照して、本実施例の動作について詳細に説明する。
【0145】
図17は、本実施例の動作のうち、スケジューラからの要求によるファイル検査の動作を示す図である。
【0146】
図17を参照すると、プロセッサ・コア100から要求が一定時間ない場合(ステップB51)、スケジューラにより動作するプロセッサ・コア200が、検査対象のファイルを、フラッシュ・メモリ400の共用領域から、DRAM300の専用領域へ転送し、対策ソフトウェアによりファイル検査部26として機能するプロセッサ・コア200が、ファイルを検査する(ステップB52)。
【0147】
検査結果は、プロセッサ・コア200のみがアクセスできる記憶領域に保存される(ステップB53)
図18は、本実施例の動作のうち、プロセッサ・コア100からの要求によるファイル検査の動作を示す図である。
【0148】
OSによって動作するプロセッサ・コア100からのファイル転送の要求があった場合(ステップB3)、OSによって動作するプロセッサ・コア200が、ファイル検査記録を参照する(ステップB11)。
【0149】
その結果、検査対象のファイルが検査済みである場合、ファイル検査記録を参照してファイルが安全であるかを判断する(ステップB12)。
【0150】
上記ファイルが安全である場合、OSによって動作するプロセッサ・コア200が、ファイル転送を行い(ステップB13)、システム・コールの許可を、プロセッサ・コア100に通知する(ステップB14)。
【0151】
一方、ファイルが安全でなかった場合、OSによって動作するプロセッサ・コア200が、システム・コールの不許可を、プロセッサ・コア100に通知し、プロセッサ・コア100が、上記システム・コールを発生したアプリケーション・ソフトウェアに対して、エラーを返す(ステップB10)。
【0152】
また、参照した結果、検査対象のファイルが検査済みでなかった場合、プロセッサ・コア200が、実施例1と同様に上記ファイルを検査する(ステップB6、ステップB7)。その他は、実施例1と同様である。
【0153】
(実施例4)
図19は、本発明の実施例4のコンピュータシステムの構成を示すブロック図である。本実施例は、第3の実施形態に対応するものである。
【0154】
図19を参照すると、本実施例は、実施例1と比較して、対策ソフトウェアの更新データを提供する情報提供サーバ600と、情報提供サーバ600とコンピュータ900とを接続するネットワーク601と、コンピュータ900をネットワーク601と接続可能にするNIC602とを備えている点と、フラッシュ・メモリ400の専用領域に、プロセッサ・コア200に対策ソフトウェアを管理させる機能を実現する対策管理ソフトウェアを記憶している点とが異なる。その他は、実施例1と同様である。
【0155】
対策ソフトウェアによりファイル検査部26として動作するプロセッサ・コア200は、対策ソフトウェアの新旧に関して情報提供サーバ600にNIC602を通して問い合わせを行い、より新しい対策ソフトウェアが提供されている場合には、新しい対策ソフトウェアを取得し、フラッシュ・メモリ400の専用領域に記憶させる。更に、実施例3と組み合わせた場合は、ファイル検査記録の内容をすべて未検査とした上で、新しい対策ソフトウェアによってファイル検査部26として動作するプロセッサ・コア200が、フラッシュ・メモリ400の共用領域に記憶されたファイルを検査する。
【0156】
(実施例5)
図20は、本発明の実施例5のコンピュータシステムの動作を示す図である。本実施例は、第4の実施形態に対応するものである。
【0157】
図20を参照すると、OSによって動作するプロセッサ・コア100が、OSによって動作するプロセッサ・コア200に対してフラッシュ・メモリ400からのメモリ300へのファイル転送の要求と検査の要求を発生する(ステップB15)。
【0158】
OSによって動作するプロセッサ・コア200は、ファイルの転送を実行し、対策ソフトウェアによって動作するプロセッサ・コア200は、悪意あるソフトウェアに関する情報をもとにして、ファイルの中に悪意あるソフトウェアが含まれているか否かを検査をする(ステップB6)。
【0159】
プロセッサ・コア200は、検査の結果を、プロセッサ・コア100に通知する(ステップB16)。
【0160】
システム・コールをフックするモジュールを備えたOSによって動作するプロセッサ・コア100は、通知の結果、悪意あるソフトウェアが含まれていなかったと判断した場合(ステップB17)、上記システム・コールを実行する(ステップB9)。それにより、ファイルをDRAM300からプロセッサ・コア100へ読み出すことが可能となる。
【0161】
一方、プロセッサ・コア100は、悪意あるソフトウェアが含まれていると判断した場合、上記システム・コールを発生したアプリケーション・ソフトウェアに対して、エラーを返す(ステップB10)。その他は、実施例1と同様である。
【産業上の利用可能性】
【0162】
本発明は、マイクロ・プロセッサ・コアを複数活用することにより、消費電力などの観点から、マイクロ・プロセッサ・コア1個あたりの処理能力を著しく高められず、また、OSの再インストールなどを容易に行うことができないために、悪意あるソフトウェアからの高い耐性が要求される、組込み機器などに適用することが可能である。
【図面の簡単な説明】
【0163】
【図1】本発明の第1の実施形態のコンピュータシステムの全体構成を示すブロック図である。
【図2】本発明の第1の実施形態のコンピュータシステムの機能に関する詳細な構成を示すブロック図である。
【図3】本発明の第1の実施形態のコンピュータシステムのソフトウェアの機能も含めた構成を示すブロック図である。
【図4】本発明の第1の実施形態のコンピュータシステムの動作を示すフローチャートである。
【図5】本発明の第1の実施形態のコンピュータシステムの動作を示すシーケンス図である。
【図6】本発明の第2の実施形態のコンピュータシステムの機能に関する詳細な構成を示すブロック図である。
【図7】本発明の第2の実施形態のコンピュータシステムの動作のうち、スケジュールリング部の要求によりファイル検査を行う場合の動作を示すフローチャートである。
【図8】本発明の第2の実施形態のコンピュータシステムの動作のうち、情報処理ユニット1の要求によりファイル検査を行う場合の動作を示すフローチャートである。
【図9】本発明の第3の実施形態のコンピュータシステムの機能に関する詳細な構成を示すブロック図である。
【図10】本発明の第4の実施形態のコンピュータシステムの機能に関する詳細な構成を示すブロック図である。
【図11】本発明の第4の実施形態のコンピュータシステムの動作を示すフローチャートである。
【図12】本発明の実施例1のコンピュータシステムの構成を示すブロック図である。
【図13】本発明の実施例1のコンピュータシステムの動作を示すフローチャートである。
【図14】本発明の実施例2のコンピュータシステムの構成を示すブロック図である。
【図15】本発明の実施例3のコンピュータシステムの構成を示すブロック図である。
【図16】本発明の実施例3におけるファイル検査記録の例を示す図である。
【図17】本発明の実施例3のコンピュータシステムの動作のうち、スケジューラの要求によりファイル検査を行う場合の動作を示すフローチャートである。
【図18】本発明の実施例3のコンピュータシステムの動作のうち、プロセッサ・コア100の要求によりファイル検査を行う場合の動作を示すフローチャートである。
【図19】本発明の実施例4のコンピュータシステムの構成を示すブロック図である。
【図20】本発明の実施例5のコンピュータシステムの動作を示すフローチャートである。
【図21】特許文献1に示される従来のコンピュータシステムの構成を示すブロック図である。
【図22】特許文献2に示される従来のコンピュータシステムの構成を示すブロック図である。
【図23】特許文献3に示される従来のコンピュータシステムの構成を示すブロック図である。
【符号の説明】
【0164】
1 情報処理ユニット
2 情報処理ユニット
3 メモリ
4 補助記憶装置
5 バス調停部
11 情報処理回路
12 OS
14 アドレス変換部
15 ファイル処理部
16 ファイル処理制御部
21 情報処理回路
22 OS
23 アドレス管理部
24 アドレス変換部
25 ファイル転送部
26 ファイル検査部
27 スケジューリング部
28 ファイル検査管理部
31 共用メモリ部
32 専用メモリ部
41 共用ファイル記憶部
42 専用ファイル記憶部
51 アドレス調停部
100 プロセッサ・コア
101 MMU
200 プロセッサ・コア
201 MMU
202 アドレス管理部
300 DRAM
400 フラッシュ・メモリ
501 アドレス調停部
502 DMAコントローラ
600 情報提供サーバ
601 ネットワーク
602 NIC
800 マルチ・コア・プロセッサ
900 コンピュータ

【特許請求の範囲】
【請求項1】
第1の情報処理ユニットと、第2の情報処理ユニットと、メモリと、補助記憶装置とを有してなるコンピュータシステムにおいて、
前記第1の情報処理ユニットは、
前記補助記憶装置に記憶されたファイルへのアクセス時に、OSの機能としてシステム・コールを発生するファイル処理部と、
前記システム・コールをOS階層以下においてフックし、前記補助記憶装置から前記メモリへのファイルの転送要求を前記第2の情報処理ユニットに対して発行し、前記第2の情報処理ユニットからの前記転送要求に対する応答結果に基づき、前記システム・コールを実行するファイル処理制御部と、
仮想アドレスと物理アドレスの変換を行う第1のアドレス変換部とを含み、
前記第2の情報処理ユニットは、
前記転送要求に基づき、前記補助記憶装置から前記メモリへファイルを転送するファイル転送部と、
前記転送要求をトリガとしてファイルを検査し、該検査結果に基づく情報を前記転送要求に対する応答結果として前記ファイル処理制御部に通知するファイル検査部と、
前記第1のアドレス変換部のアドレス変換情報を管理するアドレス管理部と、
前記アドレス管理部にて管理されている前記第1のアドレス変換部のアドレス変換情報に基づき、仮想アドレスと物理アドレスの変換を行う第2のアドレス変換部とを含み、
前記コンピュータシステムは、
前記第1のアドレス変換部と前記第2のアドレス変換部との間で物理アドレスの調停を行うアドレス調停部をさらに有する、コンピュータシステム。
【請求項2】
前記ファイル処理制御部は、前記システム・コールを実行して、前記ファイル検査部により検査済みのファイルにアクセスする、請求項1に記載のコンピュータシステム。
【請求項3】
前記メモリは、
前記第1の情報処理ユニットと前記第2の情報処理ユニットがファイルの読み出し、書き込み可能である共用メモリ部と、
前記第2の情報処理ユニットのみがファイルの読み出し、書き込み可能である専用メモリ部とを含み、
前記ファイル転送部は、前記転送要求に基づき、前記補助記憶装置から前記専用メモリ部へファイルを転送し、
前記ファイル検査部は、前記専用メモリ部上でファイルを検査し、検査済みのファイルを前記共有メモリ部へ転送する、請求項1に記載のコンピュータシステム。
【請求項4】
前記補助記憶装置は、
前記第1の情報処理ユニットと前記第2の情報処理ユニットの両方がファイルの読み出し、書き込み可能である共用ファイル記憶部と、
前記第2の情報処理ユニットのみがファイルの読み出し、書き込み可能である専用ファイル記憶部とを含み、
前記ファイル転送部は、前記転送要求に基づき、前記共用ファイル記憶部から前記メモリへファイルを転送する、請求項1に記載のコンピュータシステム。
【請求項5】
前記ファイル転送部は、ファイル転送を代行するDMAコントローラをさらに含む、請求項1に記載のコンピュータシステム。
【請求項6】
前記第2の情報処理ユニットは、一定条件下で、前記ファイル転送部に対するファイルの転送要求を自動的に発行するスケジューリング部をさらに含む、請求項1に記載のコンピュータシステム。
【請求項7】
前記第2の情報処理ユニットは、前記ファイル検査部を提供するサーバから新たなファイル検査部を取得することで、前記ファイル検査部を自動的に更新するファイル検査管理部をさらに含む、請求項1に記載のコンピュータシステム。
【請求項8】
前記第2の情報処理ユニットは、
前記ファイル検査部を提供するサーバから新たなファイル検査部を取得することで、前記ファイル検査部を自動的に更新するファイル検査管理部と、
前記ファイル検査管理部によって前記ファイル検査部が更新された場合、前記ファイル転送部に対するファイルの転送要求を自動的に発行するスケジューリング部とをさらに含む、請求項1に記載のコンピュータシステム。
【請求項9】
前記ファイル処理制御部は、前記システム・コールをOS階層以下においてフックし、前記補助記憶装置から前記メモリへのファイルの転送要求と、更に、ファイルの検査要求も前記第2の情報処理ユニットに対して発行し、前記第2の情報処理ユニットからの前記転送要求および前記検査要求に対する応答結果に基づき、前記システム・コールを実行する、請求項1に記載のコンピュータシステム。
【請求項10】
第1の情報処理ユニットと、第2の情報処理ユニットと、メモリと、補助記憶装置とを有してなるコンピュータシステムによるコンピュータ保護方法であって、
前記第1の情報ユニットが、前記補助記憶装置に記憶されたファイルへのアクセス時に、前記第2の情報処理ユニットに対して、前記補助記憶装置から前記メモリへのファイルの転送要求を発行するステップと、
前記第2の情報処理ユニットが、前記転送要求に基づいて前記補助記憶装置から前記メモリにファイルを転送するとともに、該ファイルを検査して該検査結果に基づく情報を前記第1の情報処理ユニットに対して通知するステップと、
前記第1の情報ユニットが、前記第2の情報処理ユニットからの通知に基づいて、前記メモリへ転送されたファイルへのアクセスの可否を決定するステップとを有する、コンピュータ保護方法。
【請求項11】
前記第2の情報処理ユニットが、一定条件下で、ファイルの転送要求を自動的に発行するステップをさらに有する、請求項10に記載のコンピュータ保護方法。
【請求項12】
前記第2の情報処理ユニットが、ファイルを検査するファイル検査部を提供するサーバから新たなファイル検査部を取得することで、前記ファイル検査部を自動的に更新するステップをさらに有する、請求項10に記載のコンピュータ保護方法。
【請求項13】
前記第2の情報処理ユニットが、ファイルを検査するファイル検査部を提供するサーバから新たなファイル検査部を取得することで、前記ファイル検査部を自動的に更新するステップと、
前記第2の情報処理ユニットが、前記ファイル検査部が更新された場合に、ファイルの転送要求を自動的に発行するステップとをさらに有する、請求項10に記載のコンピュータ保護方法。
【請求項14】
前記転送要求を発行するステップでは、前記補助記憶装置に記憶されたファイルへのアクセス時に、前記第2の情報処理ユニットに対して、前記補助記憶装置から前記メモリへのファイルの転送要求と、更に、ファイルの検査要求も発行し、
前記検査結果に基づく情報を通知するステップでは、前記転送要求に基づいて前記補助記憶装置から前記メモリにファイルを転送するとともに、前記検査要求に基づいて該ファイルを検査して該検査結果に基づく情報を前記第1の情報処理ユニットに対して通知する、請求項10に記載のコンピュータ保護方法。
【請求項15】
第1の情報処理ユニットと、第2の情報処理ユニットと、メモリと、補助記憶装置と、アドレス調停部とを有してなるコンピュータシステムに実行させるコンピュータ保護プログラムであって、
前記第1の情報処理ユニットに、
前記補助記憶装置に記憶されたファイルへのアクセス時に、OSの機能としてシステム・コールを発生する処理と、
前記システム・コールをOS階層以下においてフックし、前記補助記憶装置から前記メモリへのファイルの転送要求を前記第2の情報処理ユニットに対して発行し、前記第2の情報処理ユニットからの前記転送要求に対する応答結果に基づき、前記システム・コールを実行する処理と、
仮想アドレスと物理アドレスの変換を行う処理とを実行させ、
前記第2の情報処理ユニットに、
前記転送要求に基づき、前記補助記憶装置から前記メモリへファイルを転送する処理と、
前記転送要求をトリガとしてファイルを検査し、該検査結果に基づく情報を前記転送要求に対する応答結果として前記第1の情報処理ユニットに通知する処理と、
前記第1の情報処理ユニットのアドレス変換情報を管理する処理と、
前記第1の情報処理ユニットのアドレス変換情報に基づき、仮想アドレスと物理アドレスの変換を行う処理とを実行させ、
前記アドレス調停部に、
前記第1の情報処理ユニットと前記第2の情報処理ユニットとの間で物理アドレスの調停を行う処理を実行させる、コンピュータ保護プログラム。
【請求項16】
前記システム・コールを実行する処理では、前記システム・コールを実行して、前記検査済みのファイルにアクセスする、請求項15に記載のコンピュータ保護プログラム。
【請求項17】
前記第2の情報処理ユニットに、一定条件下で、ファイルの転送要求を自動的に発行する処理をさらに実行させる、請求項15に記載のコンピュータ保護プログラム。
【請求項18】
前記第2の情報処理ユニットに、ファイルを検査するファイル検査部を提供するサーバから新たなファイル検査部を取得することで、前記ファイル検査部を自動的に更新する処理をさらに実行させる、請求項15に記載のコンピュータ保護プログラム。
【請求項19】
前記第2の情報処理ユニットに、
ファイルを検査するファイル検査部を提供するサーバから新たなファイル検査部を取得することで、前記ファイル検査部を自動的に更新する処理と、
前記ファイル検査部が更新された場合に、ファイルの転送要求を自動的に発行する処理をさらに実行させる、請求項15に記載のコンピュータ保護プログラム。
【請求項20】
前記システム・コールを実行する処理では、前記システム・コールをOS階層以下においてフックし、前記補助記憶装置から前記メモリへのファイルの転送要求と、更に、ファイルの検査要求も前記第2の情報処理ユニットに対して発行し、前記第2の情報処理ユニットからの前記転送要求および前記検査要求に対する応答結果に基づき、前記システム・コールを実行する、請求項15に記載のコンピュータ保護プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate