説明

出力制御装置、出力制御プログラム、出力制御方法および出力制御システム

【課題】近年、新たなマルウエアの発生頻度が増加しており、マルウエアの侵入を完全に防止することが困難になってきた。
【解決手段】データを外部に出力する出力部と、悪意あるソフトウエアにより出力部から出力されるデータの特徴、および悪意あるソフトウエアがデータを出力する場合における出力部の動作パターンの特徴の少なくとも一方を示す異常条件を格納する条件格納部と、出力部から出力されるデータの特徴および出力部の動作パターンの特徴の少なくとも一方が異常条件を満たす場合に、データの出力を禁止する出力制御部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、出力制御装置、出力制御プログラム、出力制御方法および出力制御システムに関する。
【背景技術】
【0002】
コンピュータウイルス、スパイウエアなどのマルウエアは、情報処理装置に侵入して、侵入した情報処理装置に格納されたデータを外部に送信する場合がある。マルウエア対策として、マルウエアが情報処理装置に侵入することを防止するアンチウイルスプログラムが知られている。(例えば、特許文献1〜5を参照。)。
[特許文献]
特許文献1 特開2003−303118号公報
特許文献2 特表2010−511951号公報
特許文献3 特表2009−514095号公報
特許文献4 特表2009−507271号公報
特許文献5 特開2009−151751号公報
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかし、近年、新たなマルウエアの発生頻度が増加している。それに伴い、マルウエアの侵入を完全に防止することが困難になってきた。また、アンチウイルスプログラムの管理の手間が増加している。
【課題を解決するための手段】
【0004】
上記課題を解決するために、本発明の第1の態様においては、データを外部に出力する出力部と、悪意あるソフトウエアにより出力部から出力されるデータの特徴、および悪意あるソフトウエアがデータを出力する場合における出力部の動作パターンの特徴の少なくとも一方を示す異常条件を格納する条件格納部と、出力部から出力されるデータの特徴および出力部の動作パターンの特徴の少なくとも一方が異常条件を満たす場合に、データの出力を禁止する出力制御部とを備える出力制御装置が提供される。上記の出力制御装置において、異常条件は、悪意あるソフトウエアにより出力部から出力されるデータの特徴を示す異常データ条件、および悪意あるソフトウエアがデータを出力する場合における出力部の動作パターンの特徴を示す異常動作条件の少なくとも一方を含んでよい。
【0005】
上記の出力制御装置において、条件格納部は、悪意あるソフトウエア以外のソフトウエアにより出力部から出力されるデータの特徴、および悪意あるソフトウエア以外のソフトウエアがデータを出力する場合における出力部の動作パターンの特徴の少なくとも一方を示す正常条件をさらに格納してよく、出力制御部は、出力部から出力されるデータの特徴および出力部の動作パターンの特徴の少なくとも一方が正常条件を満たす場合に、データの出力を許可してよい。上記の出力制御装置において、正常条件は、悪意あるソフトウエア以外のソフトウエアにより出力部から出力されるデータの特徴を示す正常データ条件、および悪意あるソフトウエア以外のソフトウエアがデータを出力する場合における出力部の動作パターンの特徴を示す正常動作条件の少なくとも一方を含んでよい。
【0006】
上記の出力制御装置において、出力制御部は、出力部から出力されるデータの特徴が異常条件および正常条件を満たさない場合に、データの出力の是非をユーザに問い合わせてよい。上記の出力制御装置において、出力制御部は、出力部の動作パターンの特徴が異常条件および正常条件を満たさない場合に、データの出力の是非をユーザに問い合わせてよい。上記の出力制御装置において、出力制御部は、ユーザからデータの出力を許可する指示を受け取った場合に、データの出力を許可してよい。
【0007】
本発明の第2の態様においては、コンピュータを、上記の出力制御装置として機能させる出力制御プログラムが提供される。
【0008】
本発明の第3の態様においては、悪意あるソフトウエアにより出力部から出力されるデータの特徴、および悪意あるソフトウエアがデータを出力する場合における出力部の動作パターンの特徴の少なくとも一方を示す異常条件を、条件格納部に格納する段階と、出力部から出力されるデータの特徴および出力部の動作パターンの特徴の少なくとも一方と異常条件とを比較し、出力部から出力されるデータの特徴および出力部の動作パターンの特徴の少なくとも一方が異常条件を満たす場合にデータの出力を禁止する段階とを備える出力制御方法が提供される。
【0009】
本発明の第4の態様においては、サーバと、通信回線を介してサーバと情報をやり取りする端末とを備え、端末は、データを外部に出力する出力部と、出力部から出力されるデータの特徴および出力部の動作の特徴の少なくとも一方を示す特徴情報を収集し、特徴情報をサーバに送信する特徴情報収集部とを有し、サーバは、悪意あるソフトウエアにより出力部から出力されるデータの特徴および悪意あるソフトウエアがデータを出力する場合における出力部の動作の特徴の少なくとも一方を示す異常条件を格納する条件格納部と、特徴情報を受け取り、特徴情報が異常条件を満たす場合にデータの出力を禁止することを決定し、出力部に通知する決定部とを有し、出力部は、データの出力を禁止する決定を受け取った場合、データを外部に出力しない出力制御システムが提供される。
【0010】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0011】
【図1】出力制御システム100のシステム構成の一例を概略的に示す。
【図2】ユーザ端末110のシステム構成の一例を概略的に示す。
【図3】レーティングサーバ120のシステム構成の一例を概略的に示す。
【図4】出力制御方法の一例を概略的に示す。
【図5】条件収集方法の一例を概略的に示す。
【図6】条件収集方法の一例を概略的に示す。
【図7】条件収集方法の一例を概略的に示す。
【図8】出力制御システム800のシステム構成の一例を概略的に示す。
【図9】一実施形態に係るコンピュータ1900のハードウエア構成の一例を概略的に示す。
【発明を実施するための形態】
【0012】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。また、図面を参照して、実施形態について説明するが、図面の記載において、同一または類似の部分には同一の参照番号を付して重複する説明を省く場合がある。
【0013】
図1は、出力制御システム100のシステム構成の一例を概略的に示す。図1は、出力制御システム100を、通信回線10、外部端末20および外部記憶装置30とともに示す。出力制御システム100は、ユーザ端末110と、レーティングサーバ120とを備える。ユーザ端末110は、端末の一例であってよい。レーティングサーバ120は、サーバの一例であってよい。
【0014】
通信回線10は、インターネット、専用回線、無線パケット通信網であってよい。外部端末20は、通信回線10を介してユーザ端末110と情報を送受できる装置であればよく、Webブラウザソフトにより閲覧可能なWebページを管理するサーバ、Webブラウザソフトが導入されたパーソナルコンピュータ、携帯電話、携帯端末または無線端末であってよい。外部端末20は、仮想サーバまたはクラウドシステムであってもよい。外部記憶装置30は、ユーザ端末110に接続され、ユーザ端末110との間で情報を送受してよい。外部記憶装置30は、ハードディスク、CD−ROM、ICカード、フラッシュメモリなどの記憶装置または記憶媒体であってよい。外部記憶装置30は、仮想化またはクラウド化された記憶装置または記憶媒体であってもよい。
【0015】
ユーザ端末110は、通信回線10を介してレーティングサーバ120との間で情報を送受する。ユーザ端末110は、レーティングサーバ120により認証された端末であってよい。レーティングサーバ120は、シリアルIDなど一意な情報によりユーザ端末110を認証してよい。ユーザ端末110は、出力制御システム100に含まれない外部端末20との間で情報を送受してよい。ユーザ端末110は、出力制御システム100に含まれない外部記憶装置30との間で情報を送受してよい。
【0016】
ユーザ端末110は、用途に特化したシステムまたはコントローラであってもよく、パーソナルコンピュータ等の汎用の情報処理装置であってもよい。ユーザ端末110は、Webブラウザソフトが導入されたパーソナルコンピュータ、携帯電話、携帯端末または無線端末であってよい。
【0017】
ユーザ端末110は、外部端末20または外部記憶装置30にデータを出力する場合に、データの出力の是非を判断する。ユーザ端末110は、マルウエアに感染した場合に出力されるデータの特徴、およびマルウエアに感染した場合における動作パターンの特徴の少なくとも一方に基づいて、データの出力の是非を判断してよい。
【0018】
マルウエアは、コンピュータウイルス、ワーム、バックドア、キーロガー、トロイの木馬、マクロウイルス、ブートセクタウイルス、スクリプトウイルス、クライムウェア、スケアウェア、スパイウエア、悪質なアドウェア、ミスリーディングアプリケーションのようなソフトウエアまたはコードであってよい。マルウエアは、悪意あるソフトウエアの一例であってよい。マルウエアに感染した場合に出力されるデータの特徴は、悪意あるソフトウエアにより出力されるデータの特徴の一例であってよい。マルウエアに感染した場合における動作パターンの特徴は、悪意あるソフトウエアの動作パターンの特徴の一例であってよい。
【0019】
ユーザ端末110は、データの出力を禁止すべきと判断した場合には、外部端末20または外部記憶装置30にデータを出力しない。これにより、仮に、ユーザ端末110がマルウエアに感染した場合であっても、ユーザ端末110に格納されたデータが外部に出力されたり、ユーザ端末110から外部に不正なメールを送信したりすることを抑制できる。例えば、外部端末20が提供するコンテンツを閲覧しているときに、ユーザ端末110に外部端末20から悪意あるソフトウエアがダウンロードされ、ユーザが認識しない状態またはユーザの承認を得ていない状態で、ユーザ端末110に格納された情報が外部に送信されることを防止する。
【0020】
データの出力の是非を判断する方法としては、出力を禁止するデータに含まれる可能性のある文字列を予め定めておき、出力しようとするデータに含まれる文字列と、予め定められた文字列とを比較して、出力しようとするデータに予め定められた文字列が含まれている場合に、データの出力を禁止する方法が考えられる。しかし、マルウエアに感染した場合に出力されるデータの特徴、およびマルウエアに感染した場合における動作パターンの特徴の少なくとも一方に基づいて、データの出力の是非を判断することで、システムの運用の負担を大きく低減させることができる。
【0021】
レーティングサーバ120は、通信回線10を介して複数のユーザ端末110との間で情報を送受してよい。レーティングサーバ120は、ユーザ端末110により信頼されたサーバであってよい。ユーザ端末110およびレーティングサーバ120は、SSL(Secure Sockets Layer protocol)の認証局を利用して、信頼性を確保してよい。レーティングサーバ120は、単一のサーバから構成されてもよく、複数のサーバから構成されてもよい。レーティングサーバ120は、仮想サーバまたはクラウドシステムであってよい。レーティングサーバ120は、用途に特化したシステムまたはコントローラであってもよく、パーソナルコンピュータ等の汎用の情報処理装置であってもよい。
【0022】
レーティングサーバ120は、複数のユーザ端末110から、マルウエアに感染した場合に出力されるデータの特徴およびマルウエアに感染した場合における動作パターンの特徴の少なくとも一方を収集してよい。レーティングサーバ120は、収集した特徴を、出力を禁止すべき特徴を示す異常条件として格納してよい。レーティングサーバ120は、複数のユーザ端末110のそれぞれに、異常条件を通知してよい。
【0023】
レーティングサーバ120は、複数のユーザ端末110から、マルウエアに感染していない場合に出力されるデータの特徴およびマルウエアに感染していない場合における動作パターンの特徴の少なくとも一方を収集してよい。レーティングサーバ120は、収集した特徴を、出力を許可すべき特徴を示す正常条件として格納してよい。レーティングサーバ120は、複数のユーザ端末110のそれぞれに、正常条件を通知してよい。
【0024】
図2は、ユーザ端末110のシステム構成の一例を概略的に示す。ユーザ端末110は、表示部222と、入力部224と、データ格納部230と、出力制御装置240とを備える。出力制御装置240は、出力部250と、出力制御部260と、端末用条件格納部270とを有してよい。端末用条件格納部270は、条件格納部の一例であってよい。
【0025】
表示部222は、出力制御装置240から取得した情報を表示してよい。表示部222は、液晶ディスプレイ、有機ELディスプレイ、CRTディスプレイなどの表示装置またはプリンタもしくはスピーカであってよい。入力部224は、ユーザからの入力を受け付け、出力制御装置240に通知する。入力部224は、キーボード、マウス、タッチパネル、マイクなどの入力装置、OCRなどの文字認識装置、または音声認識装置であってよい。
【0026】
データ格納部230は、データを格納する。データ格納部230は、ROM、RAM、キャッシュメモリなどのメモリであってよい。データ格納部230は、ハードディスク、CD−ROM、ICカード、フラッシュメモリなどの記憶装置または記憶媒体であってもよい。データ格納部230は、仮想化またはクラウド化された記憶装置または記憶媒体であってもよい。
【0027】
出力制御装置240は、データ格納部230に格納されたデータを出力制御システム100の外部に出力する。出力制御装置240は、外部端末20または外部記憶装置30にデータを出力する場合に、データの出力の是非を判断する。出力制御装置240は、マルウエアに感染した場合に出力されるデータの特徴、およびマルウエアに感染した場合における動作パターンの特徴の少なくとも一方に基づいて、データの出力の是非を判断してよい。
【0028】
出力制御装置240は、出力制御装置240の稼動状況を記録してよい。出力制御装置240は、出力の禁止または許可の決定の時系列データ、収集した特徴情報の識別記号、ユーザ端末110のアクセス先、ユーザ端末110へのアクセス元などのログを記録してよい。出力制御装置240は、ログを統計的に解析してよい。出力制御装置240は、ログを統計的に解析したデータをユーザに表示してよい。ユーザまたは出力制御装置240は、は、ログを統計的に解析したデータに基づいて、出力されるデータの特徴および動作パターンの特徴と、データの出力の是非とを対応付けてよい。
【0029】
出力制御装置240および出力制御装置240の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよい。出力制御装置240は、それぞれの用途に特化したシステムであってもよく、パーソナルコンピュータ等の汎用の情報処理装置であってもよい。上記の特化したシステムおよび情報処理装置は、単一のコンピュータにより構成されてもよく、ネットワーク上に分散した複数のコンピュータにより構成されてもよい。
【0030】
出力制御装置240は、プログラムが実行されることにより、コンピュータが出力制御装置240として機能してもよい。CPU、ROM、RAM、通信インターフェイス等を有するデータ処理装置と、入力装置と、出力装置と、記憶装置とを備えた一般的な構成の情報処理装置において、出力制御装置240の各部の動作を規定したソフトウエアを起動することにより、出力制御装置240が実現されてよい。
【0031】
出力部250は、出力制御部260の指示に基づいて、データ格納部230に格納されたデータを外部に出力する。出力部250は、出力制御部260からデータの出力を禁止する指示を受け取った場合には、データを外部に出力しない。出力部250は、出力制御部260からデータの出力を許可する指示を受け取った場合には、データを外部に出力する。
【0032】
出力制御部260は、出力部250を制御する。出力制御部260は、出力部250がデータを外部に出力することを禁止または許可する。出力制御部260は、特徴情報収集部262と、比較部264と、決定部266とを有してよい。
【0033】
特徴情報収集部262は、出力部250から出力されるデータの特徴および出力部250の動作パターンの特徴の少なくとも一方を示す特徴情報を収集する。特徴情報収集部262は、出力部250が出力しようとするデータを監視して、出力部250から出力されるデータの特徴を示す特徴情報を収集してよい。特徴情報収集部262は、出力部250が出力しようとするデータがRFC(Request for Comments)に準拠しているか否かを特徴情報として収集してよい。
【0034】
特徴情報収集部262は、出力部250が出力しようとするデータのうち、ユーザ端末110がマルウエアに感染した場合とユーザ端末110がマルウエアに感染していない場合とでデータに相違が生じる可能性が高い箇所を監視して、当該箇所の情報を特徴情報として収集してよい。特徴情報収集部262は、当該箇所の情報のハッシュ値を特徴情報として収集してよい。これにより、個人情報を含まない形式で特徴情報を収集することができる。
【0035】
ユーザ端末110がマルウエアに感染した場合とユーザ端末110がマルウエアに感染していない場合とでデータに相違が生じる可能性が高い箇所としては、出力部250が出力しようとするデータのヘッダ、当該データを出力しようとしているプロセスのプロセス名、ならびに、ユーザ端末110が通信しているサイトのURL、ドメイン名およびIPアドレスを例示することができる。なお、文字列はバイナリデータとして可読性の無いものであってもよい。
【0036】
特徴情報収集部262は、予め、市販のアプリケーションなどの動作を解析して、ユーザ端末110がマルウエアに感染した場合とユーザ端末110がマルウエアに感染していない場合とでデータに相違が生じる可能性が高い箇所を決定してよい。特徴情報収集部262は、悪意のあるソフトウエアではないソフトウエアを動作させたときに使用頻度の小さいフィールドを、上記のデータに相違が生じる可能性が高い箇所として決定してよい。
【0037】
特徴情報収集部262は、データに相違が生じる可能性が高い箇所を監視して、出力部250が出力しようとするデータの特徴情報を収集してよい。特徴情報収集部262は、出力部250が出力しようとするデータの本文を検索することなく、当該データの特徴を収集してもよい。これにより、ユーザのプライバシーを保護することができる。
【0038】
特徴情報収集部262は、出力部250の動作を監視して、出力部250の動作パターンの特徴を示す特徴情報を収集してよい。動作パターンの特徴としては、出力部250が特定の動作を実行しようとする場合における、ユーザの承諾の有無、データの出力先、ならびに、通信しているサイトのURL、ドメイン名またはIPアドレスと、データを出力しようとするサイトのURL、ドメイン名またはIPアドレスとの一致の有無を例示することができる。特徴情報収集部262は、接続先のドメイン名に含まれる文字列と、接続先のIPアドレスに含まれる文字列との不一致の程度が大きい場合には、異常である可能性が高いと判断して、当該不一致を特徴情報として収集してよい。
【0039】
上記の特定の動作としては、出力部250が出力先を変更する、バックグラウンドで出力するなどの動作を例示することができる。出力部250の動作パターンの特徴を示す特徴情報の他の例は、出力部250が通信する時間間隔であってよい。
【0040】
動作パターンの特徴となるデータの出力先としては、以前に、出力部250の特徴情報が異常条件を満たすと判断された場合に、出力部250がデータを出力しようとしていたメールアドレス、IPアドレス、URLなどを例示することができる。
【0041】
比較部264は、特徴情報収集部262から受け取った特徴情報と、端末用条件格納部270に格納された異常条件とを比較する。異常条件は、マルウエアに感染した場合に出力部から出力されるデータの特徴、およびマルウエアに感染した場合における出力部の動作パターンの特徴の少なくとも一方を示す。比較部264は、特徴情報収集部262から受け取った特徴情報が端末用条件格納部270に格納された異常条件を満たす場合、その旨を決定部266に通知する。
【0042】
マルウエアに感染した場合に出力部250から出力されるデータの特徴は、悪意あるソフトウエアにより出力部250から出力されるデータの特徴の一例であってよい。マルウエアに感染した場合における出力部250の動作パターンの特徴は、悪意あるソフトウエアがデータを出力する場合における出力部250の動作パターンの特徴の一例であってよい。異常条件としては、出力されるデータのヘッダにおける特定のフィールドの使用の有無、データを出力しようとしているプロセスの識別記号、出力されるデータの送信先のドメイン名またはIPアドレスに特定の文字列が含まれるか否か、接続先のドメイン名またはIPアドレスと、出力されるデータの送信先のドメイン名またはIPアドレスとの一致の程度を例示することができる。
【0043】
比較部264は、特徴情報収集部262から受け取った特徴情報が端末用条件格納部270に格納された異常条件を満たさない場合、レーティングサーバ120から、レーティングサーバ120に格納された異常条件を受け取り、特徴情報収集部262から受け取った特徴情報と、レーティングサーバ120から受け取った異常条件とを比較してよい。比較部264は、特徴情報収集部262から受け取った特徴情報がレーティングサーバ120から受け取った異常条件を満たす場合、その旨を決定部266に通知する。
【0044】
比較部264は、特徴情報収集部262から受け取った特徴情報と、端末用条件格納部270に格納された正常条件とを比較してよい。正常条件は、マルウエアに感染していない場合に出力部250から出力されるデータの特徴、およびマルウエアに感染していない場合における出力部250の動作パターンの特徴の少なくとも一方を示す。比較部264は、特徴情報収集部262から受け取った特徴情報が端末用条件格納部270に格納された正常条件を満たす場合、その旨を決定部266に通知する。
【0045】
マルウエアに感染していない場合に出力部250から出力されるデータの特徴は、悪意あるソフトウエア以外のソフトウエアにより出力部250から出力されるデータの特徴の一例であってよい。マルウエアに感染していない場合における出力部250の動作パターンの特徴は、悪意あるソフトウエア以外のソフトウエアがデータを出力する場合における出力部250の動作パターンの特徴の一例であってよい。正常条件としては、出力されるデータのヘッダにおける特定のフィールドの使用の有無、データを出力しようとしているプロセスの識別記号、出力されるデータの送信先のドメイン名またはIPアドレスに特定の文字列が含まれるか否か、接続先のドメイン名またはIPアドレスと、出力されるデータの送信先のドメイン名またはIPアドレスとの一致の程度を例示することができる。
【0046】
比較部264は、特徴情報収集部262から受け取った特徴情報が端末用条件格納部270に格納された正常条件を満たさない場合、レーティングサーバ120から、レーティングサーバ120に格納された正常条件を受け取り、特徴情報収集部262から受け取った特徴情報と、レーティングサーバ120から受け取った正常条件とを比較してよい。比較部264は、特徴情報収集部262から受け取った特徴情報がレーティングサーバ120から受け取った正常条件を満たす場合、その旨を決定部266に通知する。
【0047】
比較部264は、特徴情報収集部262から受け取った特徴情報が、端末用条件格納部270およびレーティングサーバ120の少なくとも一方に格納された異常条件および正常条件を満たさない場合に、データの出力の是非をユーザに問い合わせてよい。比較部264は、出力部250から出力されるデータの特徴が、端末用条件格納部270およびレーティングサーバ120の少なくとも一方に格納された異常条件および正常条件を満たさない場合に、データの出力の是非をユーザに問い合わせてよい。比較部264は、出力部250の動作パターンの特徴が、端末用条件格納部270およびレーティングサーバ120の少なくとも一方に格納された異常条件および正常条件を満たさない場合に、データの出力の是非をユーザに問い合わせてよい。
【0048】
比較部264は、表示部222にデータの出力の是非を問い合わせる画面を表示させてよい。ユーザが、データの出力を禁止するする指示またはデータの出力を許可する指示を入力部224に入力すると、出力制御部260は当該指示を受け取り、当該指示に基づいて出力部250を制御する。
【0049】
比較部264は、特徴情報収集部262から受け取った特徴情報ごとに、データの出力の是非を問い合わせる画面を表示させてよい。ユーザが、特徴情報ごとにデータの出力を禁止するする指示またはデータの出力を許可する指示を入力部224に入力すると、出力制御部260は当該指示を受け取り、当該指示に基づいて端末用条件格納部270の情報を更新してよい。
【0050】
比較部264は、ユーザが表示部222の表示を現実に閲覧したことを確認することを目的として、表示部222にデフォルメされた文字列を表示させ、ユーザに当該文字列の入力を促す画面を表示させてよい。比較部264は、表示部222に図形を表示させ、ユーザに当該図形を表す名詞の入力を促す画面を表示させてもよい。出力制御部260は、入力部224に入力された文字列を確認して、正しい文字列が入力された場合に、ユーザからの指示を受け取ってよい。これにより、ユーザの指示の有効性を確認することができる。また、マルウエアなどが機械的にデータの出力を許可することを抑制できる。
【0051】
比較部264は、出力部250から出力されるデータの特徴が、端末用条件格納部270およびレーティングサーバ120の少なくとも一方に格納された異常条件および正常条件を満たさない場合に、表示部222に警告を表示させてよい。比較部264は、出力部の動作パターンの特徴が、端末用条件格納部270およびレーティングサーバ120の少なくとも一方に格納された異常条件および正常条件を満たさない場合に、表示部222に警告を表示させてよい。
【0052】
異常条件および正常条件に含まれる文字列は、複数の文字列に分割されて、複数の文字列のそれぞれに重み係数が設定されていてよい。比較部264は、特徴情報が異常条件もしくは正常条件を満たすか否か、または、特徴情報が異常条件もしくは正常条件と一致するか否かを判断する場合に、特徴情報に含まれる文字列を複数の文字列に分割して、特徴情報を分割して得られた文字列と、異常条件または正常条件を分割して得られた文字列とを比較してよい。
【0053】
比較部264は、一致した文字列の重み係数に基づいて、比較部264は、特徴情報が異常条件もしくは正常条件を満たすか否か、または、特徴情報が異常条件もしくは正常条件と一致するか否かを判断してよい。比較部264は、一致した文字列の重み係数の和を算出して、算出された値が予め定められた値より大きい場合に、特徴情報が異常条件もしくは正常条件を満たすか、または、特徴情報が異常条件もしくは正常条件と一致すると判断してよい。上記の比較は、文字列のハッシュ値同士を比較することで実施されてよい。
【0054】
異常条件および正常条件は、当該特徴情報を示すソフトウエアの識別記号と対応づけて格納されていてよい。これにより、比較部264は、データを出力しようとしているソフトウエアを特定または推定することができる。
【0055】
決定部266は、出力部250が出力制御システム100の外部にデータを出力することを禁止するか否かを決定する。決定部266は、比較部264から受け取った通知に基づいて、出力部250が出力制御システム100の外部にデータを出力することを禁止するか否かを決定してよい。
【0056】
決定部266は、出力部250から出力されるデータの特徴および出力部250の動作パターンの特徴の少なくとも一方が異常条件を満たす旨の通知を受け取った場合、データの出力を禁止してよい。決定部266は、出力部250が出力するデータが異常データ条件を満たす場合に、データの出力を禁止してよい。異常データ条件は、マルウエアに感染した場合に出力部から出力されるデータの特徴を示す。決定部266は、出力部250が出力するデータが異常動作条件を満たす場合に、データの出力を禁止してよい。異常動作条件は、マルウエアに感染した場合における出力部の動作パターンの特徴を示す。
【0057】
決定部266は、出力部250から出力されるデータの特徴および出力部250の動作パターンの特徴の少なくとも一方が正常条件を満たす旨の通知を受け取った場合に、データの出力を許可してよい。決定部266は、出力部250が出力するデータが正常データ条件を満たす場合に、データの出力を許可してよい。正常データ条件は、マルウエアに感染していない場合に出力部から出力されるデータの特徴を示す。決定部266は、出力部250の動作パターンが正常動作条件と一致する場合に、データの出力を許可してよい。正常動作条件は、マルウエアに感染していない場合における出力部の動作パターンの特徴を示す。
【0058】
複数の異常条件のそれぞれには、特徴情報が異常条件を満たした場合の重みが設定されていてよい。複数の正常条件のそれぞれには、特徴情報が異常条件を満たした場合の重みが設定されていてよい。特定の異常条件または特定の正常条件に、重みが設定されていてもよい。決定部266は、比較部264から、特徴情報収集部262の収集した特徴情報が充足する異常条件または正常条件の種類に関する情報を受け取ってよい。
【0059】
決定部266は、比較部264から受け取った情報に基づいて、正常条件を満たす特徴情報に関する評価値および異常条件を満たす特徴情報に関する評価値の少なくとも一方を算出してよい。決定部266は、異常条件を満たす特徴情報に関する評価値として、特徴情報収集部262の収集した特徴情報が充足する異常条件に設定された重みの合計を算出してよい。決定部266は、正常条件を満たす特徴情報に関する評価値として、特徴情報収集部262の収集した特徴情報が充足する正常条件に設定された重みの合計を算出してよい。
【0060】
決定部266は、異常条件を満たす特徴情報に関する評価値および正常条件を満たす特徴情報に関する評価値の少なくとも一方に基づいて、出力部250が出力制御システム100の外部にデータを出力することを禁止するか否かを決定してよい。これにより、特徴情報収集部262の収集した特徴情報の中に、異常条件および正常条件の両方を満たす特徴情報がある場合、または、特徴情報収集部262が収集した複数の特徴情報の一部が異常条件を満たし、当該特徴情報の他の一部が正常条件を満たす場合であっても、決定部266は、出力の可否を決定することができる。
【0061】
決定部266は、異常条件を満たす特徴情報に関する評価値が、予め定められた値と同等または予め定められた値より大きい場合に、出力部250が出力制御システム100の外部にデータを出力することを禁止してよい。決定部266は、正常条件を満たす特徴情報に関する評価値が、予め定められた値と同等または予め定められた値より大きい場合に、出力部250が出力制御システム100の外部にデータを出力することを許可してよい。
【0062】
決定部266は、異常条件を満たす特徴情報に関する評価値が、正常条件を満たす特徴情報に関する評価値と同等または当該評価値より大きい場合には、出力部250が出力制御システム100の外部にデータを出力することを禁止してよい。決定部266は、正常条件を満たす特徴情報に関する評価値が、異常条件を満たす特徴情報に関する評価値と同等または当該評価値より大きい場合には、出力部250が出力制御システム100の外部にデータを出力することを許可してよい。
【0063】
本実施形態において、上記の評価値として、異常条件または正常条件に設定された重みの合計を算出する場合について説明した。また、評価の決定方法として、評価値および予め定められた値の大小によって決定する方法と、異常条件を満たす特徴情報に関する評価値および異常条件を満たす特徴情報に関する評価値の大小によって決定する方法について説明した。しかし、決定部266はこれに限定されない。決定部266は、ベイジアン関数またはSVM(Support Vector Machine)を用いて、上記の評価値を算出してよい。決定部266は、ユーザが選択した評価値の算出方法および評価の決定方法を実行してよい。
【0064】
本実施形態において、決定部266が正常条件を満たす特徴情報に関する評価および異常条件を満たす特徴情報に関する評価の少なくとも一方を算出する場合について説明した。しかし、出力制御部260はこれに限定されない。比較部264が正常条件を満たす特徴情報に関する評価および異常条件を満たす特徴情報に関する評価の少なくとも一方を算出してもよい。
【0065】
決定部266は、入力部224からのユーザの指示を受け取り、ユーザの指示に従って、出力部250を制御してもよい。決定部266は、ユーザからの指示に基づき、端末用条件格納部270の情報を更新してよい。決定部266は、特徴情報収集部262から受け取った特徴情報と、ユーザからの指示とを対応付けて、端末用条件格納部270に格納してよい。決定部266は、特徴情報収集部262から受け取った特徴情報と、ユーザからの指示とを対応付けた情報を、レーティングサーバ120に通知してよい。
【0066】
決定部266は、比較部264が特定または推定したソフトウエアの識別番号を受け取ってよい。決定部266は、ソフトウエアの識別番号に基づいて、出力部250が出力制御システム100の外部にデータを出力することを禁止するか否かを決定してよい。
【0067】
端末用条件格納部270は、異常条件を格納する。異常条件は、異常データ条件および異常動作条件の少なくとも一方を含んでよい。端末用条件格納部270は、正常条件を格納してよい。正常条件は、正常データ条件および正常動作条件の少なくとも一方を含んでよい。端末用条件格納部270は、ROM、RAM、キャッシュメモリなどのメモリであってよい。端末用条件格納部270は、ハードディスク、CD−ROM、ICカード、フラッシュメモリなどの記憶装置または記憶媒体であってもよい。
【0068】
端末用条件格納部270は、それぞれのユーザ端末110に特有の異常条件および正常条件の少なくとも一方を格納してよい。例えば、ユーザ端末110にユーザが独自に開発したアプリケーションがインストールされている場合に、当該アプリケーションに特有の異常条件および正常条件を格納してよい。端末用条件格納部270は、レーティングサーバ120から、レーティングサーバ120に格納された異常条件および正常条件の少なくとも一方を取得してよい。端末用条件格納部270は、レーティングサーバ120から、レーティングサーバ120に格納された異常条件および正常条件の少なくとも一方を、定期的に取得してよい。
【0069】
本実施形態において、出力制御装置240がユーザ端末110に配される場合について説明した。しかし、出力制御装置240はこれに限定されない。出力制御装置240は、複数のユーザ端末110と通信回線10とを接続するルータ、ハブ、プロキシサーバ、Firewall、DMZサーバに配されてもよい。この場合、出力制御装置240は、ユーザ端末110が通信回線10を介して出力制御システム100の外部に出力しようとするデータを受け取り、当該データを出力制御システム100の外部に出力するか否かを決定する。
【0070】
図3は、レーティングサーバ120のシステム構成の一例を概略的に示す。レーティングサーバ120は、条件収集部360と、サーバ用条件格納部370とを備える。
【0071】
条件収集部360は、複数のユーザ端末110から、マルウエアに感染した場合に出力されるデータの特徴およびマルウエアに感染した場合における動作パターンの特徴の少なくとも一方を収集してよい。条件収集部360は、収集した特徴と、サーバ用条件格納部370に格納された異常条件とを比較する。条件収集部360は、収集した特徴が異常条件と一致しない場合、収集した特徴を新たな異常条件としてサーバ用条件格納部370に格納する。
【0072】
条件収集部360は、収集した特徴と、サーバ用条件格納部370に格納された正常条件とを比較してよい。条件収集部360は、収集した特徴が正常条件と一致する場合、異常条件ではない一般的な特徴であると判断してよい。収集した特徴が正常条件と一致する場合の他の処理方法として、条件収集部360は、収集した特徴が、異常条件および正常条件の両方に該当する可能性のある特徴であると判断してもよい。
【0073】
この場合、条件収集部360は、異常条件および正常条件の両方に該当する可能性のある特徴の出現頻度が予め定められた値より大きくなった場合に、当該特徴を新たな異常条件としてサーバ用条件格納部370に格納してよい。出現頻度は、予め定められた期間、または、ユーザ端末110の稼動時間もしくはソフトウエアの動作時間が予め定められた時間を経過するまでの間に、当該特徴が検出される回数であってよい。条件収集部360は、異常条件および正常条件の両方に該当する可能性のある特徴を異常条件としてサーバ用条件格納部370に格納した後、当該特徴の出現頻度が予め定められた値より小さくなった場合には、当該特徴は異常条件ではないと判断して、サーバ用条件格納部370から削除してよい。
【0074】
条件収集部360は、複数のユーザ端末110から、マルウエアに感染していない場合に出力されるデータの特徴およびマルウエアに感染していない場合における動作パターンの特徴の少なくとも一方を収集してよい。条件収集部360は、収集した特徴と、サーバ用条件格納部370に格納された正常条件とを比較する。条件収集部360は、収集した特徴が正常条件と一致しない場合、収集した特徴を新たな正常条件としてサーバ用条件格納部370に格納する。
【0075】
条件収集部360は、収集した特徴と、サーバ用条件格納部370に格納された異常条件とを比較してよい。条件収集部360は、収集した特徴が異常条件と一致する場合、正常条件ではない一般的な特徴であると判断してよい。収集した特徴が異常条件と一致する場合の他の処理方法として、条件収集部360は、収集した特徴が、異常条件および正常条件の両方に該当する可能性のある特徴であると判断してもよい。
【0076】
この場合、条件収集部360は、異常条件および正常条件の両方に該当する可能性のある特徴の出現頻度が予め定められた値より大きくなった場合に、当該特徴を新たな正常条件としてサーバ用条件格納部370に格納してよい。条件収集部360は、異常条件および正常条件の両方に該当する可能性のある特徴を正常条件としてサーバ用条件格納部370に格納した後、当該特徴の出現頻度が予め定められた値より小さくなった場合には、当該特徴は正常条件ではないと判断して、サーバ用条件格納部370から削除してよい。
【0077】
条件収集部360は、条件収集部360は、新たな異常条件または正常条件がサーバ用条件格納部370に格納された場合または定期的に、サーバ用条件格納部370に格納した異常条件および正常条件の少なくとも一方を、複数のユーザ端末110のそれぞれに通知してよい。サーバ用条件格納部370は、ROM、RAM、キャッシュメモリなどのメモリであってよい。サーバ用条件格納部370は、ハードディスク、CD−ROM、ICカード、フラッシュメモリなどの記憶装置または記憶媒体であってもよい。
【0078】
図4は、出力制御方法の一例を概略的に示す。ステップ410(S410と記載する場合がある。他のステップについても同様とする。)において、特徴情報収集部262が出力部250を監視して、特徴情報を収集する。特徴情報収集部262は、収集した特徴情報を比較部264に通知する。
【0079】
ステップ420において、比較部264は、特徴情報収集部262から受け取った特徴情報と、端末用条件格納部270に格納された異常条件とを比較する。特徴情報収集部262から受け取った特徴情報が端末用条件格納部270に格納された異常条件を満たす場合、ステップ422において、比較部264はその旨を決定部266に通知する。決定部266は、比較部264からの通知を受け取ると、出力部250がデータを外部に出力することを禁止する。この場合、出力部250は、データを外部に出力しない。
【0080】
特徴情報収集部262から受け取った特徴情報が端末用条件格納部270に格納された異常条件を満たさない場合、ステップ430において、比較部264は、特徴情報収集部262から受け取った特徴情報と、端末用条件格納部270に格納された正常条件とを比較する。特徴情報収集部262から受け取った特徴情報が端末用条件格納部270に格納された正常条件を満たす場合、ステップ432において、比較部264はその旨を決定部266に通知する。決定部266は、比較部264からの通知を受け取ると、出力部250がデータを外部に出力することを許可する。この場合、出力部250は、データを外部に出力する。
【0081】
特徴情報収集部262から受け取った特徴情報が端末用条件格納部270に格納された正常条件も満たさない場合、ステップ440において、比較部264は、特徴情報収集部262から受け取った特徴情報が異常条件および正常条件を満たさない旨を通知して、データの出力の是非をユーザに問い合わせる。
【0082】
ステップ450において、入力部224がユーザの指示を受け付けると、決定部266はユーザの指示の有効性を確認し、ユーザの指示が有効である場合には、ユーザの指示に従って、データの出力の是非を決定する。決定部266がユーザから出力を許可する旨の指示を受け取った場合、ステップ452において、決定部266は出力部250がデータを外部に出力することを許可する。この場合、出力部250は、データを外部に出力する。決定部266がユーザから出力を禁止する旨の指示を受け取った場合、ステップ460において、決定部266は出力部250がデータを外部に出力することを禁止する。この場合、出力部250は、データを外部に出力しない。
【0083】
なお、本実施形態において、特徴条件が異常条件を満たすか否かを判断するステップを、特徴条件が正常条件を満たすか否かを判断するステップの前に実施した。しかし、出力制御方法はこれに限定されない。特徴条件が正常条件を満たすか否かを判断するステップを、特徴条件が異常条件を満たすか否を判断するステップの前に実施してもよい。また、何れか一方のステップのみを実施してもよい。
【0084】
図5は、条件収集方法の一例を概略的に示す。図5は、正常条件を収集する方法の一例を概略的に示す。ステップ510において、マルウエアに感染していない情報処理装置上で、正規のアプリケーションなどの信頼できるソフトウエアを動作させる。説明を簡略化する目的で、ユーザ端末110上で信頼できるソフトウエアを動作させる場合を例として条件収集方法について説明するが、条件収集方法はこれに限定されない。信頼できるソフトウエアを動作させる情報処理装置は、ユーザ端末110であってもよく、レーティングサーバ120であってもよい。
【0085】
ステップ520において、特徴情報収集部262が出力部250の特徴情報を収集する。特徴情報収集部262は、収集した特徴情報を比較部264に通知する。ステップ530において、比較部264は、特徴情報収集部262から受け取った特徴情報と、端末用条件格納部270に格納された正常条件とを比較する。特徴情報収集部262から受け取った特徴情報が端末用条件格納部270に格納された正常条件と一致しない場合、ステップ540において、比較部264は、収集した特徴を新たな正常条件として端末用条件格納部270に格納する。これにより、特徴情報の収集にかかる費用および時間を低減することができる。
【0086】
比較部264は、収集した特徴を、動作しているソフトウエアの識別記号と対応づけて端末用条件格納部270に格納してよい。これにより、出力部250の特徴情報に基づいて、データを出力しようとしているソフトウエアの種類を特定または推定することができる。
【0087】
なお、本実施形態において、比較部264は、特徴情報収集部262から受け取った特徴情報と、端末用条件格納部270に格納された正常条件とを比較した。しかし、条件収集方法はこれに限定されない。比較部264は、特徴情報収集部262から受け取った特徴情報と、サーバ用条件格納部370に格納された正常条件とを比較してもよい。
【0088】
図6は、条件収集方法の一例を概略的に示す。図6は、ユーザ端末110のそれぞれに特有の異常条件および正常条件の少なくとも一方を収集する方法の一例を概略的に示す。ステップ610において、ユーザ端末110が少なくとも既知のマルウエアに感染していないことを確認した後、ユーザ端末110に様々な動作を実行させる。例えば、ユーザ端末110にインストールされているユーザが独自に開発したアプリケーションを実行させる。
【0089】
ステップ620において、特徴情報収集部262が出力部250の特徴情報を収集する。特徴情報収集部262は、収集した特徴情報を比較部264に通知する。ステップ630において、比較部264は、特徴情報収集部262から受け取った特徴情報と、端末用条件格納部270に格納された異常条件および正常条件とを比較する。
【0090】
特徴情報収集部262から受け取った特徴情報が端末用条件格納部270に格納された異常条件および正常条件と一致しない場合、ステップ640において、比較部264は、異常条件および正常条件と一致しない特徴情報を表示部222に表示して、出力部250が当該特徴を示した場合におけるデータの出力の是非をユーザに問い合わせる。入力部224がユーザの指示を受け付けると、決定部266はユーザの指示の有効性を確認し、ユーザの指示が有効である場合には、ユーザの指示に従って、収集した特徴情報とデータの出力の是非とを対応付ける。
【0091】
ステップ640において、異常条件および正常条件と一致しない特徴情報のそれぞれについて、ユーザからの指示が出力を禁止する旨の指示であるか否かを判断する。ある特徴情報に対するユーザからの指示が出力を禁止する旨の指示である場合、ステップ642において、決定部266は、当該特徴情報を新たな異常条件として端末用条件格納部270に格納する。
【0092】
当該特徴情報に対するユーザからの指示が出力を禁止する旨の指示でない場合、ステップ650において、決定部266は、当該特徴情報に対するユーザからの指示が出力を許可する旨の指示であるか否かを判断する。当該特徴情報に対するユーザからの指示が出力を許可する旨の指示である場合、ステップ652において、決定部266は、決定部266は、当該特徴情報を新たな正常条件として端末用条件格納部270に格納する。これにより、特徴情報の収集にかかる費用および時間を低減することができる。
【0093】
なお、本実施形態において、ユーザからの指示が出力を禁止する旨の指示であるか否かを判断するステップを、ユーザからの指示が出力を許可する旨の指示であるか否かを判断するステップの前に実施した。しかし、条件収集方法はこれに限定されない。
【0094】
ユーザからの指示が出力を禁止する旨の指示であるか否かを判断するステップを、ユーザからの指示が出力を許可する旨の指示であるか否かを判断するステップの前に実施してもよい。また、ユーザからの指示が出力を禁止する旨の指示であるか否かの判断と、ユーザからの指示が出力を許可する旨の指示であるか否かの判断とを同一のステップにおいて実施してもよい。また、何れか一方のステップのみを実施してもよい。
【0095】
図7は、条件収集方法の一例を概略的に示す。図7は、図5または図6に関連して説明した条件収集方法の他の例を示す。ステップ710において、特徴情報収集部262が出力部250を監視して、特徴情報を収集する。
【0096】
ステップ720において、特徴情報収集部262は、収集した特徴情報をレーティングサーバ120に送信する。ステップ730において、レーティングサーバ120の条件収集部360は、特徴情報収集部262から特徴情報を受け取とり、特徴情報収集部262から受け取った特徴情報と、サーバ用条件格納部370に格納された異常条件および正常条件の少なくとも一方とを比較する。
【0097】
特徴情報収集部262から受け取った特徴情報が、サーバ用条件格納部370に格納された異常条件および正常条件と一致しない場合、ステップ740において、条件収集部360は、異常条件および正常条件と一致しない特徴情報のそれぞれについて、ユーザからの指示が出力を禁止する旨の指示であるか否かを判断する。例えば異常条件および正常条件と一致しない特徴情報を表示部222に表示して、出力部250が当該特徴を示した場合におけるデータの出力の是非をユーザに問い合わせる。
【0098】
ある特徴情報に対するユーザからの指示が出力を禁止する旨の指示である場合、ステップ742において、条件収集部360は、当該特徴情報を新たな異常条件としてサーバ用条件格納部370に格納する。当該特徴情報に対するユーザからの指示が出力を禁止する旨の指示でない場合、ステップ750において、条件収集部360は、当該特徴情報を新たな正常条件としてサーバ用条件格納部370に格納する。これにより、特徴情報の収集にかかる費用および時間を低減することができる。
【0099】
なお、本実施形態において、ユーザからの指示が出力を禁止する旨の指示であるか否かを判断するステップのみを実施した。しかし、条件収集方法はこれに限定されない。ユーザからの指示が出力を禁止する旨の指示であるか否かを判断するステップと、ユーザからの指示が出力を許可する旨の指示であるか否かを判断するステップとを実施してもよい。
【0100】
図8は、出力制御システム800のシステム構成の一例を概略的に示す。出力制御システム800は、ユーザ端末810と、レーティングサーバ820とを備える。ユーザ端末は、データ格納部230と、出力部250と、特徴情報収集部262とを有する。レーティングサーバ820は、表示部222と、入力部224と、出力制御部860と、サーバ用条件格納部370とを有する。出力制御システム100の各部と同一または類似の部分には同一の参照番号を付して重複する説明を省く。
【0101】
出力制御システム800は、出力制御部860が通信回線10を介して、出力部250を制御する点で、出力制御システム100と相違する。出力制御システム800は、出力部250が通信回線10を介して決定部266からの決定を受け取る点で、出力制御システム100と相違する。出力制御システム800は、特徴情報収集部262が通信回線10を介して収集した特徴情報を比較部264に通知する点で、出力制御システム100と相違する。
【0102】
出力制御システム800は、比較部264が特徴情報収集部262から受け取った特徴情報と、サーバ用条件格納部370に格納された異常条件および正常条件の少なくとも一方とを比較する点で、出力制御システム100と相違する。出力制御システム800は、決定部266がサーバ用条件格納部370を更新する点で出力制御システム100と相違する。その他の構成については、出力制御システム800は出力制御システム100と同様の構成を有してよい。
【0103】
図9は、一実施形態に係るコンピュータ1900のハードウエア構成の一例を概略的に示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
【0104】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0105】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
【0106】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウエアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0107】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0108】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0109】
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれる。
【0110】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0111】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0112】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
【0113】
コンピュータ1900にインストールされ、コンピュータ1900を出力制御システムまたは出力制御装置の各部、例えば、出力部250、特徴情報収集部262、比較部264、決定部266、端末用条件格納部270、条件収集部360またはサーバ用条件格納部370として機能させるプログラムは、各部の動作を規定したモジュールを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、出力制御システムまたは出力制御装置の各部としてそれぞれ機能させる。
【0114】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の出力制御システムまたは出力制御装置、例えば出力制御システム100、出力制御システム800または出力制御装置240を構築できる。
【0115】
以上に記載されている通り、本願明細書には、悪意あるソフトウエアにより出力部から出力されるデータの特徴、および悪意あるソフトウエアがデータを出力する場合における出力部の動作パターンの特徴の少なくとも一方を示す異常条件を条件格納部に格納する段階と、出力部から出力されるデータの特徴および出力部の動作パターンの特徴の少なくとも一方と、異常条件とを比較する段階と、出力部から出力されるデータの特徴および出力部の動作パターンの特徴の少なくとも一方が異常条件を満たす場合にデータの出力を禁止する段階とを備える出力制御方法が記載されている。
【0116】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0117】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0118】
10 通信回線
20 外部端末
30 外部記憶装置
100 出力制御システム
110 ユーザ端末
120 レーティングサーバ
222 表示部
224 入力部
230 データ格納部
240 出力制御装置
250 出力部
260 出力制御部
262 特徴情報収集部
264 比較部
266 決定部
270 端末用条件格納部
360 条件収集部
370 サーバ用条件格納部
800 出力制御システム
810 ユーザ端末
820 レーティングサーバ
860 出力制御部
1900 コンピュータ
2000 CPU
2010 ROM
2020 RAM
2030 通信インターフェイス
2040 ハードディスクドライブ
2050 フレキシブルディスク・ドライブ
2060 CD−ROMドライブ
2070 入出力チップ
2075 グラフィック・コントローラ
2080 表示装置
2082 ホスト・コントローラ
2084 入出力コントローラ
2090 フレキシブルディスク
2095 CD−ROM

【特許請求の範囲】
【請求項1】
データを外部に出力する出力部と、
悪意あるソフトウエアにより前記出力部から出力されるデータの特徴、および前記悪意あるソフトウエアがデータを出力する場合における前記出力部の動作パターンの特徴の少なくとも一方を示す異常条件を格納する条件格納部と、
前記出力部から出力されるデータの特徴および前記出力部の動作パターンの特徴の少なくとも一方が前記異常条件を満たす場合に、前記データの出力を禁止する出力制御部と、
を備える出力制御装置。
【請求項2】
前記異常条件は、前記悪意あるソフトウエアにより前記出力部から出力されるデータの特徴を示す異常データ条件、および前記悪意あるソフトウエアがデータを出力する場合における前記出力部の動作パターンの特徴を示す異常動作条件の少なくとも一方を含む、
請求項1に記載の出力制御装置。
【請求項3】
前記条件格納部は、前記悪意あるソフトウエア以外のソフトウエアにより前記出力部から出力されるデータの特徴、および前記悪意あるソフトウエア以外のソフトウエアがデータを出力する場合における前記出力部の動作パターンの特徴の少なくとも一方を示す正常条件をさらに格納し、
前記出力制御部は、前記出力部から出力されるデータの特徴および前記出力部の動作パターンの特徴の少なくとも一方が前記正常条件を満たす場合に、前記データの出力を許可する、
請求項1または請求項2に記載の出力制御装置。
【請求項4】
前記正常条件は、前記悪意あるソフトウエア以外のソフトウエアにより前記出力部から出力されるデータの特徴を示す正常データ条件、および前記悪意あるソフトウエア以外のソフトウエアがデータを出力する場合における前記出力部の動作パターンの特徴を示す正常動作条件の少なくとも一方を含む、
請求項3に記載の出力制御装置。
【請求項5】
前記出力制御部は、前記出力部から出力されるデータの特徴が前記異常条件および前記正常条件を満たさない場合に、前記データの出力の是非をユーザに問い合わせる、
請求項3または請求項4に記載の出力制御装置。
【請求項6】
前記出力制御部は、前記出力部の動作パターンの特徴が前記異常条件および前記正常条件を満たさない場合に、前記データの出力の是非をユーザに問い合わせる、
請求項3から請求項5までの何れか一項に記載の出力制御装置。
【請求項7】
前記出力制御部は、前記ユーザから前記データの出力を許可する指示を受け取った場合に、前記データの出力を許可する、
請求項5または請求項6に記載の出力制御装置。
【請求項8】
コンピュータを、
請求項1から請求項7までの何れか一項に記載の出力制御装置として機能させる、
出力制御プログラム。
【請求項9】
悪意あるソフトウエアにより出力部から出力されるデータの特徴、および前記悪意あるソフトウエアがデータを出力する場合における前記出力部の動作パターンの特徴の少なくとも一方を示す異常条件を、条件格納部に格納する段階と、
前記出力部から出力されるデータの特徴および前記出力部の動作パターンの特徴の少なくとも一方と前記異常条件とを比較し、前記出力部から出力されるデータの特徴および前記出力部の動作パターンの特徴の少なくとも一方が前記異常条件を満たす場合に前記データの出力を禁止する段階と、
を備える出力制御方法。
【請求項10】
サーバと、
通信回線を介して前記サーバと情報をやり取りする端末と、
を備え、
前記端末は、
データを外部に出力する出力部と、
前記出力部から出力されるデータの特徴および前記出力部の動作の特徴の少なくとも一方を示す特徴情報を収集し、前記特徴情報を前記サーバに送信する特徴情報収集部と、
を有し、
前記サーバは、
悪意あるソフトウエアにより前記出力部から出力されるデータの特徴および前記悪意あるソフトウエアがデータを出力する場合における前記出力部の動作の特徴の少なくとも一方を示す異常条件を格納する条件格納部と、
前記特徴情報を受け取り、前記特徴情報が前記異常条件を満たす場合に前記データの出力を禁止することを決定し、前記出力部に通知する決定部と、
を有し、
前記出力部は、前記データの出力を禁止する決定を受け取った場合、前記データを外部に出力しない、
出力制御システム。

【図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