(57)【要約】【課題】不正なオートランプログラムの起動を予防する。【解決手段】情報処理装置１０は、記憶デバイスを着脱可能に構成され、当該記憶デバイス５０にオートランプログラムが格納されている場合に当該オートランプログラムを自動的に実行する自動実行機能を有する。情報処理装置１０は、オートランプログラムが所定の実行許可条件を満たしているか否かを判定し、オートランプログラムが当該実行許可条件を満たしていない場合に、オートランプログラムの自動実行機能を無効とするセキュリティドライバ１８を備えている【選択図】図１
2008186433.tif 000002
【特許請求の範囲】
【請求項１】
記憶デバイスを着脱可能に構成され、当該記憶デバイスに自動起動するように記録されたプログラムが格納されている場合に当該プログラムを自動的に実行する自動実行機能を有する情報処理装置であって、
前記記憶デバイスまたは前記プログラムが所定の実行許可条件を満たしているか否かを判定し、前記記憶デバイスまたは前記プログラムが当該実行許可条件を満たしていない場合に、前記プログラムを自動実行する機能を無効とするセキュリティドライバを備えていることを特徴とする情報処理装置。
【請求項２】
前記プログラム実行許可条件は、前記情報処理装置に装着された記憶デバイスが、所定のプログラムの自動起動が許可される記憶デバイスのリストを記憶した許可デバイスリストに含まれることである請求項１に記載の情報処理装置。
【請求項３】
前記プログラム実行許可条件は、前記情報処理装置に装着された記憶デバイスに格納された自動起動するように記憶されたプログラムが、実行が許可されるプログラムのリストを記憶した許可プログラムリストに含まれることである請求項１または２に記載の情報処理装置。
【請求項４】
前記許可デバイスリストまたは前記許可プログラムリストの少なくとも一方を、暗号化された状態で記憶していることを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記プログラム用の誤り検出符号を用いて当該プログラムが改ざんされていないことを検出する検出処理手段をさらに備え、
前記プログラム実行許可条件は、前記検出処理手段により改ざんされたものでないと検出されることである請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記プログラム実行許可条件は、前記情報処理装置に装着された記憶デバイスが、所定のプログラムの自動実行機能に対応するタイプのデバイスに該当することである請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記セキュリティドライバは、前記情報処理装置に装着された記憶デバイスの内部データを参照することで、当該記憶デバイスが所定のプログラムの自動実行機能に対応するタイプのデバイスか否かを判定することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記プログラム実行許可条件は、前記プログラムの起動についてあらかじめ許可されていることであることを特徴とする請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
着脱可能な記憶デバイスに格納された自動起動するように記憶されたプログラムの自動実行機能に関する情報処理方法であって、
前記記憶デバイスまたは前記プログラムが所定の実行許可条件を満たしているか否かを判定するステップと、
前記記憶デバイスまたは前記プログラムが当該実行許可条件を満たしていない場合に、前記プログラムを自動実行する機能を無効とするステップと、
を含む情報処理方法。
【請求項１０】
着脱可能な記憶デバイスに格納された自動起動するように記憶されたプログラムの自動実行機能に関する情報処理プログラムであって、
前記記憶デバイスまたは前記オートランプログラムが所定の実行許可条件を満たしているか否かを判定する機能と、
前記記憶デバイスまたは前記オートランプログラムが当該実行許可条件を満たしていない場合に、前記プログラムを自動実行する機能を無効とする機能と、
をコンピュータに実現させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正なオートランプログラムの実行を予防するための情報処理装置、情報処理方法、および情報処理プログラムに関する。
【背景技術】
【０００２】
従来文献（特許文献１）には、コンピュータのＵＳＢ接続ポートにＵＳＢメモリを差し込んだ場合に、ＵＳＢメモリに格納されたメールソフト等を起動して、ＵＳＢメモリのユーザ独自のメール使用環境を提供する技術が示されている。この従来文献に係る技術では、ＵＳＢメモリに格納されたオートランプログラムを起動するために、ＵＳＢメモリの制御部は、ＵＳＢメモリの属性を擬似的に「ＣＤドライバ」に変更して、ＣＤドライバであることを知らせる信号をコンピュータに通知し、さらにＣＤ‐ＲＯＭの挿入を知らせる信号をコンピュータに通知することで、ＵＳＢメモリに格納されたオートランプログラムを自動的に起動している。
【特許文献１】特許第３７６７８１８号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述した従来文献に係る技術では、ＵＳＢメモリに格納されたオートランプログラムが、ウィルス感染やデータ破壊などを引き起こす不正プログラムであった場合には、コンピュータは甚大な被害を被ってしまう。よって、上述した従来文献に係る技術には、セキュリティ上の問題が存在している。
【０００４】
一方、現在一般的に用いられているオペレーティングシステムであるウィンドウズ２０００（登録商標）には、ＵＳＢデバイスを管理するためにアクティブディレクトリと呼ばれる機能が設けられている。このアクティブディレクトリは、ネットワーク上に存在するサーバ、クライアント、プリンタなどのハードウェア資源や、それらを使用するユーザの属性、アクセス権などの情報を一元管理するための機能である。このアクティブディレクトリを用いれば、コンピュータのＵＳＢ接続ポートに接続可能なＵＳＢデバイスを予め設定しておくことができる。
【０００５】
しかしながら、このアクティブディレクトリを用いても、不正プログラムを自動的に起動してしまう場合もありうる。例えば、ネットワークからコンピュータが隔離されて、コンピュータがアクティブディレクトリの管理下でなくなった場合には、不正プログラムが起動される危険がある。また、例えば、上述したようにＵＳＢデバイスが擬似的にＣＤドライバに変更された場合には、同様に不正プログラムの起動が出来てしまう可能性がある。さらに、他の状況においても、不正プログラムが起動できる方法は存在すると考えられる。
【０００６】
本発明は、上記の課題を解決するためになされたもので、不正なオートランプログラムの実行を予防するための情報処理装置、情報処理方法、および情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した目的を達成するために、本発明は、記憶デバイスを着脱可能に構成され、当該記憶デバイスに自動起動するように記憶されたプログラムが格納されている場合に当該プログラムを自動的に実行する自動実行機能を有する情報処理装置であって、記憶デバイスまたはプログラムが所定の実行許可条件を満たしているか否かを判定し、記憶デバイスまたはプログラムが当該実行許可条件を満たしていない場合に、プログラムを自動実行する機能を無効とするセキュリティドライバを備えていることを特徴とする。
【０００８】
また、本発明は、着脱可能な記憶デバイスに格納された自動起動するように記憶されたプログラムの自動実行機能に関する情報処理方法であって、記憶デバイスまたはプログラムが所定の実行許可条件を満たしているか否かを判定するステップと、記憶デバイスまたはプログラムが当該実行許可条件を満たしていない場合に、プログラムを自動実行する機能を無効とするステップと、を含む情報処理方法である。
【０００９】
また、本発明は、着脱可能な記憶デバイスに格納された自動起動するように記憶されたプログラムの自動実行機能に関する情報処理プログラムであって、記憶デバイスまたはプログラムが所定の実行許可条件を満たしているか否かを判定する機能と、記憶デバイスまたはプログラムが当該実行許可条件を満たしていない場合に、プログラムを自動実行する機能を無効とする機能と、をコンピュータに実現させる情報処理プログラムである。
【発明の効果】
【００１０】
本発明によれば、不正なオートランプログラムの実行を予防するための情報処理装置、情報処理方法、および情報処理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照して、本発明の好適な実施形態について詳細に説明する。なお、説明において、同一要素又は同一機能を有する要素には、同一符号を用いることとし、重複する説明は省略する。
【００１２】
図１を参照して、本発明の実施形態に係る情報処理装置１０について説明する。情報処理装置１０は、ノート型パーソナルコンピュータであり、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等の一般的な構成要素を含んで構成されている。
【００１３】
情報処理装置１０は、情報処理装置１０の全体的な管理を行うオペレーティングシステム１２と、記憶データの管理を行うファイルシステム１４と、ＵＳＢ（Universal Serial Bus）デバイスに関する制御を行うＵＳＢドライバと、オートランプログラムの起動を制御するフィルタドライバであるセキュリティドライバ１８と、情報処理装置１０にＵＳＢデバイスを接続するためのＵＳＢ接続ポート２０と、フロッピーディスクドライブ２２と、ハードディスクドライブ２４と、を備えている。
【００１４】
なお、オペレーティングシステム１２、ファイルシステム１４、ＵＳＢドライバおよびセキュリティドライバ１８は、情報処理装置１０にプレインストールされたプログラムをＣＰＵが実行することにより実現される。以下の説明では、オペレーティングシステム１２、ファイルシステム１４、ＵＳＢドライバおよびセキュリティドライバ１８を纏めて、カーネルと称する。
【００１５】
ＵＳＢ接続ポート２０には、ＵＳＢコネクタを備える様々なＵＳＢデバイス（例えば、ＵＳＢメモリ５０、ＵＳＢ‐ＣＤ（Compact Disc）ドライブ、ＵＳＢ‐ＤＶＤ（Digital Versatile Disc）ドライブ、ＵＳＢ‐キーボード、ＵＳＢ‐マウスなど）を接続することができる。また、ＵＳＢはプラグ＆プレイに対応しており、ＵＳＢ接続ポート２０にＵＳＢ‐ＣＤドライブまたはＵＳＢ‐ＤＶＤドライブが接続され、それにＣＤまたはＤＶＤが挿入された場合には、そのＣＤまたはＤＶＤに格納されたオートランプログラムが自動的に起動されるように設定されている。ここでいうオートランプログラムとは、リムーバブルな記憶媒体をマウントしたときに自動的に起動されるプログラムのことである。一般的な方法としては、個々の記憶媒体に所定の名前のファイルを作成し、そのファイルの中で自動的に起動したいプログラムを記述しておくと、オペレーティングシステム１２がそのプログラムを自動的に起動してくれる方法が考えられている。
【００１６】
セキュリティドライバ１８は、オートランプログラムの起動を制御するための制御部であり、セキュリティドライバ１８の保有する許可リストに基づいてオートランプログラムの自動実行機能を許可または無効化する機能を有する。ここで、許可リストとは、オートランプログラムの実行を許可する条件を示す一覧情報であり、図２に示される情報である。図２（ａ）は、オートランプログラムの起動が許可された複数のＵＳＢデバイスを特定する許可デバイスリストである。図２（ｂ）は、起動が許可された複数のオートランプログラムを特定する許可プログラムリストである。なお、これらの許可リストは、ハッキングを防止するために、暗号化された状態でＲＯＭに格納されている。セキュリティドライバ１８は、ＲＯＭから許可リストを読み出すと、暗号化された許可リストを解読してから、許可リストを使用する。
【００１７】
許可デバイスリストは、製造メーカーを特定するベンダーＩＤ（ｉｄＶｅｎｄｏｒ０，ｉｄＶｅｎｄｏｒ１）、製品仕様を特定するプロダクトＩＤ（ｉｄＰｒｏｄｕｃｔ０，ｉｄＰｒｏｄｕｃｔ１）、製造番号を特定するシリアル番号（ｉＳｅｒｉａｌＮｕｍｂｅｒ）、および許可の程度を示す許可フラグを含んでいる。ＵＳＢ接続ポート２０に差し込まれたＵＳＢデバイスの属性が、許可デバイスリストのベンダーＩＤ、プロダクトＩＤ、シリアル番号に一致する場合に、セキュリティドライバ１８は、許可フラグに応じてオートランプログラムの起動を許可する。一方、ＵＳＢデバイスの属性が、許可デバイスリストのベンダーＩＤ、プロダクトＩＤ、シリアル番号に一致しない場合に、セキュリティドライバ１８は、オートランプログラムの起動を無効とする。
【００１８】
より具体的に説明すると、デバイス番号１のようにベンダーＩＤのみが設定されている場合には、セキュリティドライバ１８は、ＵＳＢ接続ポート２０に差し込まれたＵＳＢデバイスのベンダーＩＤが、許可デバイスリストのベンダーＩＤに一致していることを条件として、そのＵＳＢデバイスに許可フラグに応じたオートランプログラムの起動を許可する。デバイス番号２のようにベンダーＩＤおよびプロダクトＩＤが設定されている場合には、セキュリティドライバ１８は、ＵＳＢ接続ポート２０に差し込まれたＵＳＢデバイスのベンダーＩＤおよびプロダクトＩＤが、許可デバイスリストのベンダーＩＤおよびプロダクトＩＤに一致していることを条件として、そのＵＳＢデバイスに許可フラグに応じたオートランプログラムの起動を許可する。デバイス番号３のようにベンダーＩＤ、プロダクトＩＤおよびシリアル番号が設定されている場合には、セキュリティドライバ１８は、ＵＳＢ接続ポート２０に差し込まれたＵＳＢデバイスのベンダーＩＤ、プロダクトＩＤおよびシリアル番号が、許可デバイスリストのベンダーＩＤ、プロダクトＩＤおよびシリアル番号に一致していることを条件として、そのＵＳＢデバイスに許可フラグに応じたオートランプログラムの起動を許可する。
【００１９】
また、デバイス番号１のように許可フラグが３である場合には、セキュリティドライバ１８は、ＵＳＢデバイスのオートランプログラムがどのようなプログラムであっても、そのオートランプログラムの起動を許可する。デバイス番号２のように許可フラグが２である場合には、セキュリティドライバ１８は、ＵＳＢデバイスのオートランプログラムが許可プログラムリストに登録されていることを条件として、そのオートランプログラムの起動を許可する。デバイス番号３のように許可フラグが１である場合には、セキュリティドライバ１８は、ＵＳＢデバイスのオートランプログラムが許可プログラムリストに登録されており、且つ、誤り検出符号（ＣＲＣ、ＭＤ５ＳＵＭ等）を用いた検査により改ざんされていないことが確認されたことを条件として、そのオートランプログラムの起動を許可する。デバイス番号４のように許可フラグが０である場合には、セキュリティドライバ１８は、ＵＳＢデバイスのオートランプログラムがどのようなプログラムであっても、そのオートランプログラムの起動を無効とする。
【００２０】
なお、セキュリティドライバ１８は、ＵＳＢデバイスのオートランプログラムの属性情報（プログラム名、データサイズ、日付等）と、許可プログラムリストのプログラムの属性情報（プログラム名、データサイズ、日付等）とが一致している場合に、ＵＳＢデバイスのオートランプログラムが許可プログラムリストに登録されていることを判定する。
【００２１】
ＵＳＢデバイスがＵＳＢ接続ポートに差し込まれた後、ＵＳＢデバイスから情報処理装置１０に、ＵＳＢデバイスに関する情報（ｕｓｂ＿ｄｅｖｉｃｅ＿ｄｅｓｃｒｉｐｔｏｒ）が通知される。ｕｓｂ＿ｄｅｖｉｃｅ＿ｄｅｓｃｒｉｐｔｏｒは、図３に示される構造のデータである。ｕｓｂ＿ｄｅｖｉｃｅ＿ｄｅｓｃｒｉｐｔｏｒは、ＵＳＢデバイスの種別を特定するデバイスクラス（ｂＤｅｖｉｃｅＣｌａｓｓ）、ＵＳＢデバイスのトランスポートプロトコル等を特定するサブクラス（ｂＤｅｖｉｃｅＳｕｂＣｌａｓｓ）、ＵＳＢデバイスの製造メーカーを特定するベンダーＩＤ（ｉｄＶｅｎｄｏｒ０，ｉｄＶｅｎｄｏｒ１）、ＵＳＢデバイスの製品仕様を特定するプロダクトＩＤ（ｉｄＰｒｏｄｕｃｔ０，ｉｄＰｒｏｄｕｃｔ１）、ＵＳＢデバイスの製造番号を特定するシリアル番号（ｉＳｅｒｉａｌＮｕｍｂｅｒ）などを含んでいる。
【００２２】
図４には、ＵＳＢデバイスの種別を特定するデバイスクラスの定義が示されている。各クラスコード（０〜９）に、ＵＳＢデバイスの種別であるデバイスクラスが対応している。これらのデバイスクラスの中でＭａｓｓ＿Ｓｔｏｒａｇｅが、ＵＳＢメモリ、ＵＳＢ‐ＣＤドライブ、ＵＳＢ‐ＤＶＤドライブ、フロッピーディスクドライブなどに対応している。
【００２３】
また、図５には、Ｍａｓｓ＿Ｓｔｏｒａｇｅにおいて、ＵＳＢデバイスのトランスポートプロトコル等を特定するサブクラスの定義が示されている。各サブクラスコード（０ｘ１〜０ｘ６）に、ＵＳＢデバイスが採用するトランスポートプロトコル等が対応している。ＵＳＢデバイスの種別に応じてトランスポートプロトコル等は異なるので、言い換えれば、各サブクラスコード（０ｘ１〜０ｘ６）に、ＵＳＢデバイスの詳細な種別が対応している。なお、これらのサブクラスの中でＳＣＳＩ＿ｔｒａｎｓｐａｒｅｎｔ＿ｃｏｍｍａｎｄ＿ｓｅｔが、ＵＳＢメモリ、ＵＳＢ‐ＣＤドライブ、ＵＳＢ‐ＤＶＤドライブなどに対応している。
【００２４】
次に、カーネルがＵＳＢデバイスを認識してからオートランプログラムを起動するまでの処理について説明する。図６には、カーネルによる一連の処理のフローチャートが示されている。
【００２５】
ユーザによりＵＳＢデバイスがＵＳＢ接続ポート２０に差し込まれると、カーネルは、ＵＳＢデバイスの接続を認識し、ＵＳＢデバイスからｕｓｂ＿ｄｅｖｉｃｅ＿ｄｅｓｃｒｉｐｔｏｒを取得する（Ｓ６０１）。そして、カーネルは、ｕｓｂ＿ｄｅｖｉｃｅ＿ｄｅｓｃｒｉｐｔｏｒからｂＤｅｖｉｃｅＣｌａｓｓを取り出し、ｂＤｅｖｉｃｅＣｌａｓｓを参照してＵＳＢデバイスのデバイスクラスがＭａｓｓ＿Ｓｔｏｒａｇｅか否かを判定する（Ｓ６０２）。ここで、デバイスクラスがＭａｓｓ＿Ｓｔｏｒａｇｅであると判定された場合にはカーネルの処理はステップ６０３に進み、一方、デバイスクラスがＭａｓｓ＿Ｓｔｏｒａｇｅでないと判定された場合にはカーネルの処理は終了する。
【００２６】
ＵＳＢ接続ポート２０にＵＳＢ‐ＣＤドライブまたはＵＳＢ‐ＤＶＤドライブが差し込まれた場合には、カーネルは、ｕｓｂ＿ｄｅｖｉｃｅ＿ｄｅｓｃｒｉｐｔｏｒからｂＤｅｖｉｃｅＳｕｂＣｌａｓｓを取り出し、ｂＤｅｖｉｃｅＳｕｂＣｌａｓｓを参照してＵＳＢデバイスがＵＳＢ‐ＣＤドライブまたはＵＳＢ‐ＤＶＤドライブであることを認識する（Ｓ６０３）。そして、ＵＳＢ‐ＣＤドライブまたはＵＳＢ‐ＤＶＤドライブに記憶メディアが挿入された場合には、カーネルは、メディア無し状態からメディア有り状態に変化したことを認識する（Ｓ６０４，Ｓ６０５）。
【００２７】
カーネルは、上記のステップ６０３〜ステップ６０５の一連の認識処理を行い、且つ、ＵＳＢ‐ＣＤドライブまたはＵＳＢ‐ＤＶＤドライブに挿入された記憶メディアにオートランプログラムが格納されている場合に、そのオートランプログラムの起動処理に移行する。なお、ＵＳＢ接続ポート２０に差し込まれたＵＳＢデバイスが従来文献（特許第３７６７８１８号）のＵＳＢメモリである場合にも、ＵＳＢメモリは擬似的なＵＳＢ‐ＣＤドライブとして取り扱われるため、カーネルは、上記のステップ６０３〜ステップ６０５の一連の認識処理を行い、オートランプログラムの起動処理に移行する。
【００２８】
記憶メディアにオートランプログラムが格納されていた場合には、カーネル（特にセキュリティドライバ１８）は、ＵＳＢ接続ポート２０に差し込まれたＵＳＢデバイスまたはオートランプログラムが所定の実行許可条件を満たしているか否かを判定する。すなわち、セキュリティドライバ１８は、オートランプログラムの起動が許可されるＵＳＢデバイスであるか否かを、許可リストを参照して判定する（Ｓ６０６）。ここで、オートランプログラムの起動が許可されるＵＳＢデバイスである場合には、カーネルは、オートランプログラムを自動的に起動する（Ｓ６０７）。一方、オートランプログラムの起動が許可されないＵＳＢデバイスである場合には、カーネルは、オートランプログラムを起動することなく、処理を終了する。
【００２９】
次に、図７および図８を参照して、図６のステップ６０６の処理について、より詳しく説明する。このステップ６０６の処理は、ＵＳＢ接続ポート２０に差し込まれたＵＳＢデバイスが、オートランプログラムの起動が許可されるＵＳＢデバイスであるか否かを判定する処理である。図７および図８には、セキュリティドライバ１８による一連の処理のフローチャートが示されている。
【００３０】
セキュリティドライバ１８は、ＵＳＢ接続ポート２０に差し込まれたＵＳＢデバイスのｕｓｂ＿ｄｅｖｉｃｅ＿ｄｅｓｃｒｉｐｔｏｒをカーネルから取り出す（Ｓ７０１）。そして、セキュリティドライバ１８は、ＵＳＢデバイスのデバイスクラスがＭａｓｓ＿Ｓｔｏｒａｇｅであるか否かを判定する（Ｓ７０２）。ここで、ＵＳＢデバイスのデバイスクラスがＭａｓｓ＿Ｓｔｏｒａｇｅである場合には、セキュリティドライバ１８は、ステップ７０３の処理に進む。一方、ＵＳＢデバイスのデバイスクラスがＭａｓｓ＿Ｓｔｏｒａｇｅでない場合には、セキュリティドライバ１８は、ステップ７１３の処理に進む。
【００３１】
次に、セキュリティドライバ１８は、ＵＳＢデバイスのサブクラスがＳＣＳＩ＿ｔｒａｎｓｐａｒｅｎｔ＿ｃｏｍｍａｎｄ＿ｓｅｔであるか否かを判定する（Ｓ７０３）。ここで、サブクラスがＳＣＳＩ＿ｔｒａｎｓｐａｒｅｎｔ＿ｃｏｍｍａｎｄ＿ｓｅｔである場合には、ＵＳＢデバイスがＵＳＢ‐ＣＤドライブ、ＵＳＢ‐ＤＶＤドライブ、ＵＳＢメモリ５０のいずれかであるため、セキュリティドライバ１８は、ＵＳＢデバイスの種別を特定するためにステップ７０４の処理に進む。一方、サブクラスがＳＣＳＩ＿ｔｒａｎｓｐａｒｅｎｔ＿ｃｏｍｍａｎｄ＿ｓｅｔでない場合には、セキュリティドライバ１８は、ステップ７１３の処理に進む。
【００３２】
次に、セキュリティドライバ１８は、ＵＳＢデバイスにアクセスして、ＵＳＢデバイスの記憶領域に格納された内部データを参照することで、ＵＳＢデバイスがＵＳＢメモリ５０であるか否かを判定する（Ｓ７０４）。セキュリティドライバ１８は、カーネルモードで動作しているため、上記のようにＵＳＢデバイスの内部データを参照することが可能であり、ＵＳＢデバイスが擬似的にＵＳＢ‐ＣＤドライブとなっていても、ＵＳＢメモリ５０であることを確認することができる。ＵＳＢデバイスがＵＳＢメモリ５０である場合には、セキュリティドライバ１８は、ステップ７０５の処理に進む。一方、ＵＳＢデバイスがＵＳＢメモリ５０でない場合には、セキュリティドライバ１８は、ステップ７１３の処理に進む。
【００３３】
なお、上述したステップ７０２〜ステップ７０４の処理は、オートランプログラムの自動実行機能に対応するタイプのデバイス（ＵＳＢ‐ＣＤドライブ、ＵＳＢ‐ＤＶＤドライブ等）に該当するか、またはオートランプログラムの自動実行機能に対応しないタイプのデバイス（ＵＳＢメモリ）に該当するかを判定するための処理である。
【００３４】
次に、セキュリティドライバ１８は、ＵＳＢ接続ポート２０に差し込まれたＵＳＢメモリ５０を特定する情報を取得する。すなわち、セキュリティドライバ１８は、ｕｓｂ＿ｄｅｖｉｃｅ＿ｄｅｓｃｒｉｐｔｏｒのｉＳｅｒｉａｌＮｕｍｂｅｒからターゲットＵＳＢのシリアル番号を取り出す（Ｓ７０５）。続いて、セキュリティドライバ１８は、ｕｓｂ＿ｄｅｖｉｃｅ＿ｄｅｓｃｒｉｐｔｏｒのｉｄＶｅｎｄｏｒ０およびｉｄＶｅｎｄｏｒ１からベンダーＩＤを取り出す（Ｓ７０６）。続いて、セキュリティドライバ１８は、ｕｓｂ＿ｄｅｖｉｃｅ＿ｄｅｓｃｒｉｐｔｏｒのｉｄＰｒｏｄｕｃｔ０およびｉｄＰｒｏｄｕｃｔ１からプロダクトＩＤを取り出す（Ｓ７０７）。
【００３５】
次に、セキュリティドライバ１８は、オートランプログラムの許可リストをＲＯＭから読み出して暗号化を解除し（Ｓ７０８）、許可リストを参照してＵＳＢメモリ５０についてオートランプログラムの起動が許可されているか否かを判定する（Ｓ７０９）。オートランプログラムの起動の可否を判定する具体的な手法については、図２に示される許可デバイスリストおよび許可プログラムリストを参照して、前述したとおりである。ここで、オートランプログラムの起動が許可されている場合には、セキュリティドライバ１８は、ステップ７１１の処理に進む。一方、オートランプログラムの起動が許可されていない場合には、セキュリティドライバ１８は、エラー処理（Ｓ７１０）を行ってから処理を終了する。
【００３６】
次に、セキュリティドライバ１８は、オートランプログラムの起動の可否の選択をユーザに促す選択画面をディスプレイに表示するための処理を行う（Ｓ７１１）。ユーザがマウスを操作して「許可」をクリックした場合には、セキュリティドライバ１８はステップ７１２の処理に進む。一方、ユーザがマウスを操作して「不許可」をクリックした場合には、セキュリティドライバ１８はステップ７１３の処理に進む。
【００３７】
ステップ７１２では、セキュリティドライバ１８は、オートランプログラムを起動するために、オートランプログラムの起動を開始するための情報（例えば、記憶メディアが挿入されたことを示すｕｓｂ＿ｄｅｖｉｃｅ＿ｄｅｓｃｒｉｐｔｏｒ）をカーネルに与える。カーネルは、セキュリティドライバ１８からの情報に応じて、オートランプログラムの起動を開始する。
【００３８】
一方、ステップ７１３では、セキュリティドライバ１８は、オートランプログラムの起動を無効にするために、オートランプログラムの起動を開始しないための情報（例えば、記憶メディアが挿入されていないことを示すｕｓｂ＿ｄｅｖｉｃｅ＿ｄｅｓｃｒｉｐｔｏｒ）をカーネルに与える。カーネルは、セキュリティドライバ１８からの情報に応じて、オートランプログラムの起動を開始しない。
【００３９】
本実施形態の情報処理装置１０によれば、ＵＳＢ接続ポート２０にＵＳＢメモリ５０を挿入したときに、ＵＳＢメモリ５０に格納された不正なオートランプログラムが自動的に起動されることを阻止することができる。すなわち、本実施形態では、ＵＳＢドライバ１６とＵＳＢ接続ポート２０との間にセキュリティドライバ１８が存在するため、オペレーティングシステム１２等のプログラムに変更を加えることなく、セキュリティドライバ１８のプログラムを追加するだけで、不正なオートランプログラムが自動的に起動されることを阻止することができる。よって、不正なオートランプログラムの自動起動により生ずるウィルス感染、データ破壊、ＤｏＳ（Denial of Service）攻撃等を回避することができる。
【００４０】
また、本実施形態の情報処理装置１０によれば、ＵＳＢ接続ポート２０に差し込まれたＵＳＢデバイスが従来文献（特許第３７６７８１８号）のＵＳＢメモリであり、ＵＳＢメモリが擬似的なＵＳＢ‐ＣＤドライブとして取り扱われた場合であっても、不正なオートランプログラムが自動的に起動されることを阻止することができる。
【００４１】
また、本実施形態の情報処理装置１０は、既存のオペレーティングシステムであるウィンドウズ２０００（登録商標）のアクティブディレクトリ機能と対比しても、次の点で特に優れている。すなわち、ウィンドウズ２０００（登録商標）のアクティブディレクトリ機能では、コンピュータがネットワークから外れた状況では、アクティブディレクトリ機能によりＵＳＢデバイスは制限されないため、不正なオートランプログラムの起動を阻止することができない。これに対して、本実施形態のセキュリティドライバ１８は、情報処理装置１０にプレインストールされているため、コンピュータがネットワークから切り離された状況でも、不正なオートランプログラムの起動を阻止することができる。
【００４２】
なお、本発明は、上述した実施形態に限定されるものではない。例えば、上述した実施形態では、様々なオートランプログラムの実行許可条件が採用されており、セキュリティドライバ１８は全ての実行許可条件を確認しているが、他の実施形態では、セキュリティドライバ１８は、上述した実施形態に示された多数の実行許可条件のうち一部のみを確認するものでもよい。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施形態に係る情報処理装置の概略図である。
【図２】許可リストのデータ構造を示す図である。
【図３】ｕｓｂ＿ｄｅｖｉｃｅ＿ｄｅｓｃｒｉｐｔｏｒのデータ構造を示す図である。
【図４】ＵＳＢデバイスのデバイスクラスを説明するための図である。
【図５】ＵＳＢデバイスのサブクラスを説明するための図である。
【図６】カーネルによる処理のフローチャートである。
【図７】セキュリティドライバによる処理のフローチャートの前半である。
【図８】セキュリティドライバによる処理のフローチャートの後半である。
【符号の説明】
【００４４】
１０…情報処理装置、１２…オペレーティングシステム、１４…ファイルシステム、１６…デバイスドライバ、１８…セキュリティドライバ、２０…ＵＳＢ接続ポート、２２…フロッピーディスクドライブ、２４…ハードディスクドライブ、５０…ＵＳＢメモリ。
【図１】
2008186433.tif 000003
【図２】
2008186433.tif 000004
【図３】
2008186433.tif 000005
【図４】
2008186433.tif 000006
【図５】
2008186433.tif 000007
【図６】
2008186433.tif 000008
【図７】
2008186433.tif 000009
【図８】
2008186433.tif 000010