(57)【特許請求の範囲】
【請求項１】
データを外部に出力する出力部と、
悪意あるソフトウエアがデータを出力する場合における前記出力部の動作パターンの特徴を示す異常動作条件を含む異常条件を格納する条件格納部と、
前記出力部の動作パターンの特徴が前記異常条件を満たす場合に、前記データの出力を禁止する出力制御部と、
を備え、
前記出力部の動作パターンの特徴は、
（ｉ）前記出力部がデータの出力先を変更する場合又は前記出力部がバックグラウンドでデータを出力する場合における、（ａ）ユーザの承諾の有無、（ｂ）データの出力先、及び、（ｃ）通信しているＷｅｂサイトのＵＲＬ、ドメイン名又はＩＰアドレスと、データを出力しようとするＷｅｂサイトのＵＲＬ、ドメイン名又はＩＰアドレスとの一致の有無からなる群から選択される少なくとも１つ、並びに、
（ｉｉ）出力部が通信する時間間隔、
の少なくとも一方を含み、
前記異常条件は、前記悪意あるソフトウエアにより前記出力部から出力されるデータの特徴を示す異常データ条件をさらに含み、
前記条件格納部は、前記悪意あるソフトウエア以外のソフトウエアにより前記出力部から出力されるデータの特徴、および前記悪意あるソフトウエア以外のソフトウエアがデータを出力する場合における前記出力部の動作パターンの特徴の少なくとも一方を示す正常条件をさらに格納し、
前記出力制御部は、
前記出力部から出力されるデータの特徴および前記出力部の動作パターンの特徴の少なくとも一方が前記正常条件を満たす場合に、前記データの出力を許可し、
前記出力部から出力されるデータの特徴が前記異常条件および前記正常条件を満たさない場合に、前記データの出力の是非をユーザに問い合わせ、
前記問い合わせに対する前記ユーザからの指示の有効性を確認し、
前記ユーザからの指示の有効性を確認した場合に、前記ユーザの指示を受け取り、
前記ユーザから前記データの出力を許可する指示を受け取った場合に、前記データの出力を許可する、
出力制御装置。
【請求項２】
データを外部に出力する出力部と、
悪意あるソフトウエアがデータを出力する場合における前記出力部の動作パターンの特徴を示す異常動作条件を含む異常条件を格納する条件格納部と、
前記出力部の動作パターンの特徴が前記異常条件を満たす場合に、前記データの出力を禁止する出力制御部と、
を備え、
前記出力部の動作パターンの特徴は、
（ｉ）前記出力部がデータの出力先を変更する場合又は前記出力部がバックグラウンドでデータを出力する場合における、（ａ）ユーザの承諾の有無、（ｂ）データの出力先、及び、（ｃ）通信しているＷｅｂサイトのＵＲＬ、ドメイン名又はＩＰアドレスと、データを出力しようとするＷｅｂサイトのＵＲＬ、ドメイン名又はＩＰアドレスとの一致の有無からなる群から選択される少なくとも１つ、並びに、
（ｉｉ）出力部が通信する時間間隔、
の少なくとも一方を含み、
前記条件格納部は、前記悪意あるソフトウエア以外のソフトウエアにより前記出力部から出力されるデータの特徴、および前記悪意あるソフトウエア以外のソフトウエアがデータを出力する場合における前記出力部の動作パターンの特徴の少なくとも一方を示す正常条件をさらに格納し、
前記出力制御部は、
前記出力部から出力されるデータの特徴および前記出力部の動作パターンの特徴の少なくとも一方が前記正常条件を満たす場合に、前記データの出力を許可し、
前記出力部の動作パターンの特徴が前記異常条件および前記正常条件を満たさない場合に、前記データの出力の是非をユーザに問い合わせ、
前記問い合わせに対する前記ユーザからの指示の有効性を確認し、
前記ユーザからの指示の有効性を確認した場合に、前記ユーザの指示を受け取り、
前記ユーザから前記データの出力を許可する指示を受け取った場合に、前記データの出力を許可する、
出力制御装置。
【請求項３】
前記異常条件に含まれる文字列は、それぞれに重み係数が設定された複数の文字列に分割されており、
前記出力制御部は、
前記出力部の動作パターンの特徴を示す情報に含まれる文字列を複数の文字列に分割し、
前記出力部の動作パターンの特徴を示す情報を分割して得られた複数の文字列と、前記重み係数が設定された複数の文字列とを比較し、
前記比較において一致した文字列の重み係数に基づいて、前記出力部の動作パターンの特徴が前記異常条件を満たすか否かを判断する、
請求項１又は請求項２に記載の出力制御装置。
【請求項４】
前記正常条件に含まれる文字列は、それぞれに重み係数が設定された複数の文字列に分割されており、
前記出力制御部は、
前記出力部から出力されるデータの特徴および前記出力部の動作パターンの特徴の少なくとも一方を示す特徴情報に含まれる文字列を複数の文字列に分割し、
前記特徴情報を分割して得られた複数の文字列と、前記重み係数が設定された複数の文字列とを比較し、
前記比較において一致した文字列の重み係数に基づいて、前記出力部から出力されるデータの特徴および前記出力部の動作パターンの特徴の少なくとも一方が前記正常条件を満たすか否かを判断する、
請求項１から請求項３までの何れか一項に記載の出力制御装置。
【請求項５】
前記正常条件は、前記悪意あるソフトウエア以外のソフトウエアにより前記出力部から出力されるデータの特徴を示す正常データ条件、および前記悪意あるソフトウエア以外のソフトウエアがデータを出力する場合における前記出力部の動作パターンの特徴を示す正常動作条件の少なくとも一方を含む、
請求項１から請求項４までの何れか一項に記載の出力制御装置。
【請求項６】
前記出力制御部は、
前記ユーザの端末の表示部に図形を表示し、前記ユーザに前記図形を表す名詞の入力を促すための画面を、前記表示部に表示させ、
前記ユーザが入力部に入力した情報を確認して、正しい情報が入力された場合に、前記問い合わせに対する前記ユーザからの指示が有効であることを確認する、
請求項１から請求項５までの何れか一項に記載の出力制御装置。
【請求項７】
コンピュータを、
請求項１から請求項６までの何れか一項に記載の出力制御装置として機能させる、
出力制御プログラム。
【請求項８】
出力制御方法であって、
悪意あるソフトウエアがデータを出力する場合における出力部の動作パターンの特徴を示す異常動作条件を含む異常条件を、条件格納部に格納する段階と、
前記出力部の動作パターンの特徴と前記異常条件とを比較し、前記出力部の動作パターンの特徴が前記異常条件を満たす場合に前記データの出力を禁止する段階と、
を備え、
前記出力部の動作パターンの特徴は、
（ｉ）前記出力部がデータの出力先を変更する場合又は前記出力部がバックグラウンドでデータを出力する場合における、（ａ）ユーザの承諾の有無、（ｂ）データの出力先、及び、（ｃ）通信しているＷｅｂサイトのＵＲＬ、ドメイン名又はＩＰアドレスと、データを出力しようとするＷｅｂサイトのＵＲＬ、ドメイン名又はＩＰアドレスとの一致の有無からなる群から選択される少なくとも１つ、並びに、
（ｉｉ）出力部が通信する時間間隔、
の少なくとも一方を含み、
前記異常条件は、前記悪意あるソフトウエアにより前記出力部から出力されるデータの特徴を示す異常データ条件をさらに含み、
前記条件格納部は、前記悪意あるソフトウエア以外のソフトウエアにより前記出力部から出力されるデータの特徴、および前記悪意あるソフトウエア以外のソフトウエアがデータを出力する場合における前記出力部の動作パターンの特徴の少なくとも一方を示す正常条件をさらに格納し、
前記出力制御方法は、
前記出力部から出力されるデータの特徴および前記出力部の動作パターンの特徴の少なくとも一方が前記正常条件を満たす場合に、前記データの出力を許可する段階と、
前記出力部から出力されるデータの特徴が前記異常条件および前記正常条件を満たさない場合に、前記データの出力の是非をユーザに問い合わせ、前記問い合わせに対する前記ユーザからの指示の有効性を確認し、前記ユーザからの指示の有効性を確認した場合に、前記ユーザの指示を受け取り、前記ユーザから前記データの出力を許可する指示を受け取った場合に、前記データの出力を許可する段階と、
をさらに備える、
出力制御方法。
【請求項９】
サーバと、
通信回線を介して前記サーバと情報をやり取りする端末と、
を備え、
前記端末は、
データを外部に出力する出力部と、
前記出力部から出力されるデータの特徴および前記出力部の動作パターンの特徴を示す情報を収集し、前記出力部から出力されるデータの特徴および前記出力部の動作パターンの特徴を示す情報を前記サーバに送信する特徴情報収集部と、
を有し、
前記サーバは、
悪意あるソフトウエアがデータを出力する場合における前記出力部の動作パターンの特徴を示す異常動作条件を含む異常条件を格納する条件格納部と、
前記出力部から出力されるデータの特徴および前記出力部の動作パターンの特徴を示す情報を受け取り、前記出力部の動作パターンの特徴が前記異常条件を満たす場合に前記データの出力を禁止することを決定し、前記出力部に通知する決定部と、
を有し、
前記出力部の動作パターンの特徴は、
（ｉ）前記出力部がデータの出力先を変更する場合又は前記出力部がバックグラウンドでデータを出力する場合における、（ａ）ユーザの承諾の有無、（ｂ）データの出力先、及び、（ｃ）通信しているＷｅｂサイトのＵＲＬ、ドメイン名又はＩＰアドレスと、データを出力しようとするＷｅｂサイトのＵＲＬ、ドメイン名又はＩＰアドレスとの一致の有無からなる群から選択される少なくとも１つ、並びに、
（ｉｉ）出力部が通信する時間間隔、
の少なくとも一方を含み、
前記異常条件は、前記悪意あるソフトウエアにより前記出力部から出力されるデータの特徴を示す異常データ条件をさらに含み、
前記条件格納部は、前記悪意あるソフトウエア以外のソフトウエアにより前記出力部から出力されるデータの特徴、および前記悪意あるソフトウエア以外のソフトウエアがデータを出力する場合における前記出力部の動作パターンの特徴の少なくとも一方を示す正常条件をさらに格納し、
前記決定部は、
前記出力部から出力されるデータの特徴および前記出力部の動作パターンの特徴の少なくとも一方が前記正常条件を満たす場合に、前記データの出力を許可し、
前記出力部から出力されるデータの特徴が前記異常条件および前記正常条件を満たさない場合に、前記データの出力の是非をユーザに問い合わせ、
前記問い合わせに対する前記ユーザからの指示の有効性を確認し、
前記ユーザからの指示の有効性を確認した場合に、前記ユーザの指示を受け取り、
前記ユーザから前記データの出力を許可する指示を受け取った場合に、前記データの出力を許可し、
前記出力部は、前記データの出力を禁止する決定を受け取った場合、前記データを外部に出力しない、
出力制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力制御装置、出力制御プログラム、出力制御方法および出力制御システムに関する。
【背景技術】
【０００２】
コンピュータウイルス、スパイウエアなどのマルウエアは、情報処理装置に侵入して、侵入した情報処理装置に格納されたデータを外部に送信する場合がある。マルウエア対策として、マルウエアが情報処理装置に侵入することを防止するアンチウイルスプログラムが知られている。（例えば、特許文献１〜５を参照。）。
［特許文献］
特許文献１  特開２００３−３０３１１８号公報
特許文献２  特表２０１０−５１１９５１号公報
特許文献３  特表２００９−５１４０９５号公報
特許文献４  特表２００９−５０７２７１号公報
特許文献５  特開２００９−１５１７５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、近年、新たなマルウエアの発生頻度が増加している。それに伴い、マルウエアの侵入を完全に防止することが困難になってきた。また、アンチウイルスプログラムの管理の手間が増加している。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、本発明の第１の態様においては、データを外部に出力する出力部と、悪意あるソフトウエアにより出力部から出力されるデータの特徴、および悪意あるソフトウエアがデータを出力する場合における出力部の動作パターンの特徴の少なくとも一方を示す異常条件を格納する条件格納部と、出力部から出力されるデータの特徴および出力部の動作パターンの特徴の少なくとも一方が異常条件を満たす場合に、データの出力を禁止する出力制御部とを備える出力制御装置が提供される。上記の出力制御装置において、異常条件は、悪意あるソフトウエアにより出力部から出力されるデータの特徴を示す異常データ条件、および悪意あるソフトウエアがデータを出力する場合における出力部の動作パターンの特徴を示す異常動作条件の少なくとも一方を含んでよい。
【０００５】
上記の出力制御装置において、条件格納部は、悪意あるソフトウエア以外のソフトウエアにより出力部から出力されるデータの特徴、および悪意あるソフトウエア以外のソフトウエアがデータを出力する場合における出力部の動作パターンの特徴の少なくとも一方を示す正常条件をさらに格納してよく、出力制御部は、出力部から出力されるデータの特徴および出力部の動作パターンの特徴の少なくとも一方が正常条件を満たす場合に、データの出力を許可してよい。上記の出力制御装置において、正常条件は、悪意あるソフトウエア以外のソフトウエアにより出力部から出力されるデータの特徴を示す正常データ条件、および悪意あるソフトウエア以外のソフトウエアがデータを出力する場合における出力部の動作パターンの特徴を示す正常動作条件の少なくとも一方を含んでよい。
【０００６】
上記の出力制御装置において、出力制御部は、出力部から出力されるデータの特徴が異常条件および正常条件を満たさない場合に、データの出力の是非をユーザに問い合わせてよい。上記の出力制御装置において、出力制御部は、出力部の動作パターンの特徴が異常条件および正常条件を満たさない場合に、データの出力の是非をユーザに問い合わせてよい。上記の出力制御装置において、出力制御部は、ユーザからデータの出力を許可する指示を受け取った場合に、データの出力を許可してよい。
【０００７】
本発明の第２の態様においては、コンピュータを、上記の出力制御装置として機能させる出力制御プログラムが提供される。
【０００８】
本発明の第３の態様においては、悪意あるソフトウエアにより出力部から出力されるデータの特徴、および悪意あるソフトウエアがデータを出力する場合における出力部の動作パターンの特徴の少なくとも一方を示す異常条件を、条件格納部に格納する段階と、出力部から出力されるデータの特徴および出力部の動作パターンの特徴の少なくとも一方と異常条件とを比較し、出力部から出力されるデータの特徴および出力部の動作パターンの特徴の少なくとも一方が異常条件を満たす場合にデータの出力を禁止する段階とを備える出力制御方法が提供される。
【０００９】
本発明の第４の態様においては、サーバと、通信回線を介してサーバと情報をやり取りする端末とを備え、端末は、データを外部に出力する出力部と、出力部から出力されるデータの特徴および出力部の動作の特徴の少なくとも一方を示す特徴情報を収集し、特徴情報をサーバに送信する特徴情報収集部とを有し、サーバは、悪意あるソフトウエアにより出力部から出力されるデータの特徴および悪意あるソフトウエアがデータを出力する場合における出力部の動作の特徴の少なくとも一方を示す異常条件を格納する条件格納部と、特徴情報を受け取り、特徴情報が異常条件を満たす場合にデータの出力を禁止することを決定し、出力部に通知する決定部とを有し、出力部は、データの出力を禁止する決定を受け取った場合、データを外部に出力しない出力制御システムが提供される。
【００１０】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１１】
【図１】出力制御システム１００のシステム構成の一例を概略的に示す。
【図２】ユーザ端末１１０のシステム構成の一例を概略的に示す。
【図３】レーティングサーバ１２０のシステム構成の一例を概略的に示す。
【図４】出力制御方法の一例を概略的に示す。
【図５】条件収集方法の一例を概略的に示す。
【図６】条件収集方法の一例を概略的に示す。
【図７】条件収集方法の一例を概略的に示す。
【図８】出力制御システム８００のシステム構成の一例を概略的に示す。
【図９】一実施形態に係るコンピュータ１９００のハードウエア構成の一例を概略的に示す。
【発明を実施するための形態】
【００１２】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。また、図面を参照して、実施形態について説明するが、図面の記載において、同一または類似の部分には同一の参照番号を付して重複する説明を省く場合がある。
【００１３】
図１は、出力制御システム１００のシステム構成の一例を概略的に示す。図１は、出力制御システム１００を、通信回線１０、外部端末２０および外部記憶装置３０とともに示す。出力制御システム１００は、ユーザ端末１１０と、レーティングサーバ１２０とを備える。ユーザ端末１１０は、端末の一例であってよい。レーティングサーバ１２０は、サーバの一例であってよい。
【００１４】
通信回線１０は、インターネット、専用回線、無線パケット通信網であってよい。外部端末２０は、通信回線１０を介してユーザ端末１１０と情報を送受できる装置であればよく、Ｗｅｂブラウザソフトにより閲覧可能なＷｅｂページを管理するサーバ、Ｗｅｂブラウザソフトが導入されたパーソナルコンピュータ、携帯電話、携帯端末または無線端末であってよい。外部端末２０は、仮想サーバまたはクラウドシステムであってもよい。外部記憶装置３０は、ユーザ端末１１０に接続され、ユーザ端末１１０との間で情報を送受してよい。外部記憶装置３０は、ハードディスク、ＣＤ−ＲＯＭ、ＩＣカード、フラッシュメモリなどの記憶装置または記憶媒体であってよい。外部記憶装置３０は、仮想化またはクラウド化された記憶装置または記憶媒体であってもよい。
【００１５】
ユーザ端末１１０は、通信回線１０を介してレーティングサーバ１２０との間で情報を送受する。ユーザ端末１１０は、レーティングサーバ１２０により認証された端末であってよい。レーティングサーバ１２０は、シリアルＩＤなど一意な情報によりユーザ端末１１０を認証してよい。ユーザ端末１１０は、出力制御システム１００に含まれない外部端末２０との間で情報を送受してよい。ユーザ端末１１０は、出力制御システム１００に含まれない外部記憶装置３０との間で情報を送受してよい。
【００１６】
ユーザ端末１１０は、用途に特化したシステムまたはコントローラであってもよく、パーソナルコンピュータ等の汎用の情報処理装置であってもよい。ユーザ端末１１０は、Ｗｅｂブラウザソフトが導入されたパーソナルコンピュータ、携帯電話、携帯端末または無線端末であってよい。
【００１７】
ユーザ端末１１０は、外部端末２０または外部記憶装置３０にデータを出力する場合に、データの出力の是非を判断する。ユーザ端末１１０は、マルウエアに感染した場合に出力されるデータの特徴、およびマルウエアに感染した場合における動作パターンの特徴の少なくとも一方に基づいて、データの出力の是非を判断してよい。
【００１８】
マルウエアは、コンピュータウイルス、ワーム、バックドア、キーロガー、トロイの木馬、マクロウイルス、ブートセクタウイルス、スクリプトウイルス、クライムウェア、スケアウェア、スパイウエア、悪質なアドウェア、ミスリーディングアプリケーションのようなソフトウエアまたはコードであってよい。マルウエアは、悪意あるソフトウエアの一例であってよい。マルウエアに感染した場合に出力されるデータの特徴は、悪意あるソフトウエアにより出力されるデータの特徴の一例であってよい。マルウエアに感染した場合における動作パターンの特徴は、悪意あるソフトウエアの動作パターンの特徴の一例であってよい。
【００１９】
ユーザ端末１１０は、データの出力を禁止すべきと判断した場合には、外部端末２０または外部記憶装置３０にデータを出力しない。これにより、仮に、ユーザ端末１１０がマルウエアに感染した場合であっても、ユーザ端末１１０に格納されたデータが外部に出力されたり、ユーザ端末１１０から外部に不正なメールを送信したりすることを抑制できる。例えば、外部端末２０が提供するコンテンツを閲覧しているときに、ユーザ端末１１０に外部端末２０から悪意あるソフトウエアがダウンロードされ、ユーザが認識しない状態またはユーザの承認を得ていない状態で、ユーザ端末１１０に格納された情報が外部に送信されることを防止する。
【００２０】
データの出力の是非を判断する方法としては、出力を禁止するデータに含まれる可能性のある文字列を予め定めておき、出力しようとするデータに含まれる文字列と、予め定められた文字列とを比較して、出力しようとするデータに予め定められた文字列が含まれている場合に、データの出力を禁止する方法が考えられる。しかし、マルウエアに感染した場合に出力されるデータの特徴、およびマルウエアに感染した場合における動作パターンの特徴の少なくとも一方に基づいて、データの出力の是非を判断することで、システムの運用の負担を大きく低減させることができる。
【００２１】
レーティングサーバ１２０は、通信回線１０を介して複数のユーザ端末１１０との間で情報を送受してよい。レーティングサーバ１２０は、ユーザ端末１１０により信頼されたサーバであってよい。ユーザ端末１１０およびレーティングサーバ１２０は、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ  ｐｒｏｔｏｃｏｌ）の認証局を利用して、信頼性を確保してよい。レーティングサーバ１２０は、単一のサーバから構成されてもよく、複数のサーバから構成されてもよい。レーティングサーバ１２０は、仮想サーバまたはクラウドシステムであってよい。レーティングサーバ１２０は、用途に特化したシステムまたはコントローラであってもよく、パーソナルコンピュータ等の汎用の情報処理装置であってもよい。
【００２２】
レーティングサーバ１２０は、複数のユーザ端末１１０から、マルウエアに感染した場合に出力されるデータの特徴およびマルウエアに感染した場合における動作パターンの特徴の少なくとも一方を収集してよい。レーティングサーバ１２０は、収集した特徴を、出力を禁止すべき特徴を示す異常条件として格納してよい。レーティングサーバ１２０は、複数のユーザ端末１１０のそれぞれに、異常条件を通知してよい。
【００２３】
レーティングサーバ１２０は、複数のユーザ端末１１０から、マルウエアに感染していない場合に出力されるデータの特徴およびマルウエアに感染していない場合における動作パターンの特徴の少なくとも一方を収集してよい。レーティングサーバ１２０は、収集した特徴を、出力を許可すべき特徴を示す正常条件として格納してよい。レーティングサーバ１２０は、複数のユーザ端末１１０のそれぞれに、正常条件を通知してよい。
【００２４】
図２は、ユーザ端末１１０のシステム構成の一例を概略的に示す。ユーザ端末１１０は、表示部２２２と、入力部２２４と、データ格納部２３０と、出力制御装置２４０とを備える。出力制御装置２４０は、出力部２５０と、出力制御部２６０と、端末用条件格納部２７０とを有してよい。端末用条件格納部２７０は、条件格納部の一例であってよい。
【００２５】
表示部２２２は、出力制御装置２４０から取得した情報を表示してよい。表示部２２２は、液晶ディスプレイ、有機ＥＬディスプレイ、ＣＲＴディスプレイなどの表示装置またはプリンタもしくはスピーカであってよい。入力部２２４は、ユーザからの入力を受け付け、出力制御装置２４０に通知する。入力部２２４は、キーボード、マウス、タッチパネル、マイクなどの入力装置、ＯＣＲなどの文字認識装置、または音声認識装置であってよい。
【００２６】
データ格納部２３０は、データを格納する。データ格納部２３０は、ＲＯＭ、ＲＡＭ、キャッシュメモリなどのメモリであってよい。データ格納部２３０は、ハードディスク、ＣＤ−ＲＯＭ、ＩＣカード、フラッシュメモリなどの記憶装置または記憶媒体であってもよい。データ格納部２３０は、仮想化またはクラウド化された記憶装置または記憶媒体であってもよい。
【００２７】
出力制御装置２４０は、データ格納部２３０に格納されたデータを出力制御システム１００の外部に出力する。出力制御装置２４０は、外部端末２０または外部記憶装置３０にデータを出力する場合に、データの出力の是非を判断する。出力制御装置２４０は、マルウエアに感染した場合に出力されるデータの特徴、およびマルウエアに感染した場合における動作パターンの特徴の少なくとも一方に基づいて、データの出力の是非を判断してよい。
【００２８】
出力制御装置２４０は、出力制御装置２４０の稼動状況を記録してよい。出力制御装置２４０は、出力の禁止または許可の決定の時系列データ、収集した特徴情報の識別記号、ユーザ端末１１０のアクセス先、ユーザ端末１１０へのアクセス元などのログを記録してよい。出力制御装置２４０は、ログを統計的に解析してよい。出力制御装置２４０は、ログを統計的に解析したデータをユーザに表示してよい。ユーザまたは出力制御装置２４０は、は、ログを統計的に解析したデータに基づいて、出力されるデータの特徴および動作パターンの特徴と、データの出力の是非とを対応付けてよい。
【００２９】
出力制御装置２４０および出力制御装置２４０の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよい。出力制御装置２４０は、それぞれの用途に特化したシステムであってもよく、パーソナルコンピュータ等の汎用の情報処理装置であってもよい。上記の特化したシステムおよび情報処理装置は、単一のコンピュータにより構成されてもよく、ネットワーク上に分散した複数のコンピュータにより構成されてもよい。
【００３０】
出力制御装置２４０は、プログラムが実行されることにより、コンピュータが出力制御装置２４０として機能してもよい。ＣＰＵ、ＲＯＭ、ＲＡＭ、通信インターフェイス等を有するデータ処理装置と、入力装置と、出力装置と、記憶装置とを備えた一般的な構成の情報処理装置において、出力制御装置２４０の各部の動作を規定したソフトウエアを起動することにより、出力制御装置２４０が実現されてよい。
【００３１】
出力部２５０は、出力制御部２６０の指示に基づいて、データ格納部２３０に格納されたデータを外部に出力する。出力部２５０は、出力制御部２６０からデータの出力を禁止する指示を受け取った場合には、データを外部に出力しない。出力部２５０は、出力制御部２６０からデータの出力を許可する指示を受け取った場合には、データを外部に出力する。
【００３２】
出力制御部２６０は、出力部２５０を制御する。出力制御部２６０は、出力部２５０がデータを外部に出力することを禁止または許可する。出力制御部２６０は、特徴情報収集部２６２と、比較部２６４と、決定部２６６とを有してよい。
【００３３】
特徴情報収集部２６２は、出力部２５０から出力されるデータの特徴および出力部２５０の動作パターンの特徴の少なくとも一方を示す特徴情報を収集する。特徴情報収集部２６２は、出力部２５０が出力しようとするデータを監視して、出力部２５０から出力されるデータの特徴を示す特徴情報を収集してよい。特徴情報収集部２６２は、出力部２５０が出力しようとするデータがＲＦＣ（Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ）に準拠しているか否かを特徴情報として収集してよい。
【００３４】
特徴情報収集部２６２は、出力部２５０が出力しようとするデータのうち、ユーザ端末１１０がマルウエアに感染した場合とユーザ端末１１０がマルウエアに感染していない場合とでデータに相違が生じる可能性が高い箇所を監視して、当該箇所の情報を特徴情報として収集してよい。特徴情報収集部２６２は、当該箇所の情報のハッシュ値を特徴情報として収集してよい。これにより、個人情報を含まない形式で特徴情報を収集することができる。
【００３５】
ユーザ端末１１０がマルウエアに感染した場合とユーザ端末１１０がマルウエアに感染していない場合とでデータに相違が生じる可能性が高い箇所としては、出力部２５０が出力しようとするデータのヘッダ、当該データを出力しようとしているプロセスのプロセス名、ならびに、ユーザ端末１１０が通信しているサイトのＵＲＬ、ドメイン名およびＩＰアドレスを例示することができる。なお、文字列はバイナリデータとして可読性の無いものであってもよい。
【００３６】
特徴情報収集部２６２は、予め、市販のアプリケーションなどの動作を解析して、ユーザ端末１１０がマルウエアに感染した場合とユーザ端末１１０がマルウエアに感染していない場合とでデータに相違が生じる可能性が高い箇所を決定してよい。特徴情報収集部２６２は、悪意のあるソフトウエアではないソフトウエアを動作させたときに使用頻度の小さいフィールドを、上記のデータに相違が生じる可能性が高い箇所として決定してよい。
【００３７】
特徴情報収集部２６２は、データに相違が生じる可能性が高い箇所を監視して、出力部２５０が出力しようとするデータの特徴情報を収集してよい。特徴情報収集部２６２は、出力部２５０が出力しようとするデータの本文を検索することなく、当該データの特徴を収集してもよい。これにより、ユーザのプライバシーを保護することができる。
【００３８】
特徴情報収集部２６２は、出力部２５０の動作を監視して、出力部２５０の動作パターンの特徴を示す特徴情報を収集してよい。動作パターンの特徴としては、出力部２５０が特定の動作を実行しようとする場合における、ユーザの承諾の有無、データの出力先、ならびに、通信しているサイトのＵＲＬ、ドメイン名またはＩＰアドレスと、データを出力しようとするサイトのＵＲＬ、ドメイン名またはＩＰアドレスとの一致の有無を例示することができる。特徴情報収集部２６２は、接続先のドメイン名に含まれる文字列と、接続先のＩＰアドレスに含まれる文字列との不一致の程度が大きい場合には、異常である可能性が高いと判断して、当該不一致を特徴情報として収集してよい。
【００３９】
上記の特定の動作としては、出力部２５０が出力先を変更する、バックグラウンドで出力するなどの動作を例示することができる。出力部２５０の動作パターンの特徴を示す特徴情報の他の例は、出力部２５０が通信する時間間隔であってよい。
【００４０】
動作パターンの特徴となるデータの出力先としては、以前に、出力部２５０の特徴情報が異常条件を満たすと判断された場合に、出力部２５０がデータを出力しようとしていたメールアドレス、ＩＰアドレス、ＵＲＬなどを例示することができる。
【００４１】
比較部２６４は、特徴情報収集部２６２から受け取った特徴情報と、端末用条件格納部２７０に格納された異常条件とを比較する。異常条件は、マルウエアに感染した場合に出力部から出力されるデータの特徴、およびマルウエアに感染した場合における出力部の動作パターンの特徴の少なくとも一方を示す。比較部２６４は、特徴情報収集部２６２から受け取った特徴情報が端末用条件格納部２７０に格納された異常条件を満たす場合、その旨を決定部２６６に通知する。
【００４２】
マルウエアに感染した場合に出力部２５０から出力されるデータの特徴は、悪意あるソフトウエアにより出力部２５０から出力されるデータの特徴の一例であってよい。マルウエアに感染した場合における出力部２５０の動作パターンの特徴は、悪意あるソフトウエアがデータを出力する場合における出力部２５０の動作パターンの特徴の一例であってよい。異常条件としては、出力されるデータのヘッダにおける特定のフィールドの使用の有無、データを出力しようとしているプロセスの識別記号、出力されるデータの送信先のドメイン名またはＩＰアドレスに特定の文字列が含まれるか否か、接続先のドメイン名またはＩＰアドレスと、出力されるデータの送信先のドメイン名またはＩＰアドレスとの一致の程度を例示することができる。
【００４３】
比較部２６４は、特徴情報収集部２６２から受け取った特徴情報が端末用条件格納部２７０に格納された異常条件を満たさない場合、レーティングサーバ１２０から、レーティングサーバ１２０に格納された異常条件を受け取り、特徴情報収集部２６２から受け取った特徴情報と、レーティングサーバ１２０から受け取った異常条件とを比較してよい。比較部２６４は、特徴情報収集部２６２から受け取った特徴情報がレーティングサーバ１２０から受け取った異常条件を満たす場合、その旨を決定部２６６に通知する。
【００４４】
比較部２６４は、特徴情報収集部２６２から受け取った特徴情報と、端末用条件格納部２７０に格納された正常条件とを比較してよい。正常条件は、マルウエアに感染していない場合に出力部２５０から出力されるデータの特徴、およびマルウエアに感染していない場合における出力部２５０の動作パターンの特徴の少なくとも一方を示す。比較部２６４は、特徴情報収集部２６２から受け取った特徴情報が端末用条件格納部２７０に格納された正常条件を満たす場合、その旨を決定部２６６に通知する。
【００４５】
マルウエアに感染していない場合に出力部２５０から出力されるデータの特徴は、悪意あるソフトウエア以外のソフトウエアにより出力部２５０から出力されるデータの特徴の一例であってよい。マルウエアに感染していない場合における出力部２５０の動作パターンの特徴は、悪意あるソフトウエア以外のソフトウエアがデータを出力する場合における出力部２５０の動作パターンの特徴の一例であってよい。正常条件としては、出力されるデータのヘッダにおける特定のフィールドの使用の有無、データを出力しようとしているプロセスの識別記号、出力されるデータの送信先のドメイン名またはＩＰアドレスに特定の文字列が含まれるか否か、接続先のドメイン名またはＩＰアドレスと、出力されるデータの送信先のドメイン名またはＩＰアドレスとの一致の程度を例示することができる。
【００４６】
比較部２６４は、特徴情報収集部２６２から受け取った特徴情報が端末用条件格納部２７０に格納された正常条件を満たさない場合、レーティングサーバ１２０から、レーティングサーバ１２０に格納された正常条件を受け取り、特徴情報収集部２６２から受け取った特徴情報と、レーティングサーバ１２０から受け取った正常条件とを比較してよい。比較部２６４は、特徴情報収集部２６２から受け取った特徴情報がレーティングサーバ１２０から受け取った正常条件を満たす場合、その旨を決定部２６６に通知する。
【００４７】
比較部２６４は、特徴情報収集部２６２から受け取った特徴情報が、端末用条件格納部２７０およびレーティングサーバ１２０の少なくとも一方に格納された異常条件および正常条件を満たさない場合に、データの出力の是非をユーザに問い合わせてよい。比較部２６４は、出力部２５０から出力されるデータの特徴が、端末用条件格納部２７０およびレーティングサーバ１２０の少なくとも一方に格納された異常条件および正常条件を満たさない場合に、データの出力の是非をユーザに問い合わせてよい。比較部２６４は、出力部２５０の動作パターンの特徴が、端末用条件格納部２７０およびレーティングサーバ１２０の少なくとも一方に格納された異常条件および正常条件を満たさない場合に、データの出力の是非をユーザに問い合わせてよい。
【００４８】
比較部２６４は、表示部２２２にデータの出力の是非を問い合わせる画面を表示させてよい。ユーザが、データの出力を禁止するする指示またはデータの出力を許可する指示を入力部２２４に入力すると、出力制御部２６０は当該指示を受け取り、当該指示に基づいて出力部２５０を制御する。
【００４９】
比較部２６４は、特徴情報収集部２６２から受け取った特徴情報ごとに、データの出力の是非を問い合わせる画面を表示させてよい。ユーザが、特徴情報ごとにデータの出力を禁止するする指示またはデータの出力を許可する指示を入力部２２４に入力すると、出力制御部２６０は当該指示を受け取り、当該指示に基づいて端末用条件格納部２７０の情報を更新してよい。
【００５０】
比較部２６４は、ユーザが表示部２２２の表示を現実に閲覧したことを確認することを目的として、表示部２２２にデフォルメされた文字列を表示させ、ユーザに当該文字列の入力を促す画面を表示させてよい。比較部２６４は、表示部２２２に図形を表示させ、ユーザに当該図形を表す名詞の入力を促す画面を表示させてもよい。出力制御部２６０は、入力部２２４に入力された文字列を確認して、正しい文字列が入力された場合に、ユーザからの指示を受け取ってよい。これにより、ユーザの指示の有効性を確認することができる。また、マルウエアなどが機械的にデータの出力を許可することを抑制できる。
【００５１】
比較部２６４は、出力部２５０から出力されるデータの特徴が、端末用条件格納部２７０およびレーティングサーバ１２０の少なくとも一方に格納された異常条件および正常条件を満たさない場合に、表示部２２２に警告を表示させてよい。比較部２６４は、出力部の動作パターンの特徴が、端末用条件格納部２７０およびレーティングサーバ１２０の少なくとも一方に格納された異常条件および正常条件を満たさない場合に、表示部２２２に警告を表示させてよい。
【００５２】
異常条件および正常条件に含まれる文字列は、複数の文字列に分割されて、複数の文字列のそれぞれに重み係数が設定されていてよい。比較部２６４は、特徴情報が異常条件もしくは正常条件を満たすか否か、または、特徴情報が異常条件もしくは正常条件と一致するか否かを判断する場合に、特徴情報に含まれる文字列を複数の文字列に分割して、特徴情報を分割して得られた文字列と、異常条件または正常条件を分割して得られた文字列とを比較してよい。
【００５３】
比較部２６４は、一致した文字列の重み係数に基づいて、比較部２６４は、特徴情報が異常条件もしくは正常条件を満たすか否か、または、特徴情報が異常条件もしくは正常条件と一致するか否かを判断してよい。比較部２６４は、一致した文字列の重み係数の和を算出して、算出された値が予め定められた値より大きい場合に、特徴情報が異常条件もしくは正常条件を満たすか、または、特徴情報が異常条件もしくは正常条件と一致すると判断してよい。上記の比較は、文字列のハッシュ値同士を比較することで実施されてよい。
【００５４】
異常条件および正常条件は、当該特徴情報を示すソフトウエアの識別記号と対応づけて格納されていてよい。これにより、比較部２６４は、データを出力しようとしているソフトウエアを特定または推定することができる。
【００５５】
決定部２６６は、出力部２５０が出力制御システム１００の外部にデータを出力することを禁止するか否かを決定する。決定部２６６は、比較部２６４から受け取った通知に基づいて、出力部２５０が出力制御システム１００の外部にデータを出力することを禁止するか否かを決定してよい。
【００５６】
決定部２６６は、出力部２５０から出力されるデータの特徴および出力部２５０の動作パターンの特徴の少なくとも一方が異常条件を満たす旨の通知を受け取った場合、データの出力を禁止してよい。決定部２６６は、出力部２５０が出力するデータが異常データ条件を満たす場合に、データの出力を禁止してよい。異常データ条件は、マルウエアに感染した場合に出力部から出力されるデータの特徴を示す。決定部２６６は、出力部２５０が出力するデータが異常動作条件を満たす場合に、データの出力を禁止してよい。異常動作条件は、マルウエアに感染した場合における出力部の動作パターンの特徴を示す。
【００５７】
決定部２６６は、出力部２５０から出力されるデータの特徴および出力部２５０の動作パターンの特徴の少なくとも一方が正常条件を満たす旨の通知を受け取った場合に、データの出力を許可してよい。決定部２６６は、出力部２５０が出力するデータが正常データ条件を満たす場合に、データの出力を許可してよい。正常データ条件は、マルウエアに感染していない場合に出力部から出力されるデータの特徴を示す。決定部２６６は、出力部２５０の動作パターンが正常動作条件と一致する場合に、データの出力を許可してよい。正常動作条件は、マルウエアに感染していない場合における出力部の動作パターンの特徴を示す。
【００５８】
複数の異常条件のそれぞれには、特徴情報が異常条件を満たした場合の重みが設定されていてよい。複数の正常条件のそれぞれには、特徴情報が異常条件を満たした場合の重みが設定されていてよい。特定の異常条件または特定の正常条件に、重みが設定されていてもよい。決定部２６６は、比較部２６４から、特徴情報収集部２６２の収集した特徴情報が充足する異常条件または正常条件の種類に関する情報を受け取ってよい。
【００５９】
決定部２６６は、比較部２６４から受け取った情報に基づいて、正常条件を満たす特徴情報に関する評価値および異常条件を満たす特徴情報に関する評価値の少なくとも一方を算出してよい。決定部２６６は、異常条件を満たす特徴情報に関する評価値として、特徴情報収集部２６２の収集した特徴情報が充足する異常条件に設定された重みの合計を算出してよい。決定部２６６は、正常条件を満たす特徴情報に関する評価値として、特徴情報収集部２６２の収集した特徴情報が充足する正常条件に設定された重みの合計を算出してよい。
【００６０】
決定部２６６は、異常条件を満たす特徴情報に関する評価値および正常条件を満たす特徴情報に関する評価値の少なくとも一方に基づいて、出力部２５０が出力制御システム１００の外部にデータを出力することを禁止するか否かを決定してよい。これにより、特徴情報収集部２６２の収集した特徴情報の中に、異常条件および正常条件の両方を満たす特徴情報がある場合、または、特徴情報収集部２６２が収集した複数の特徴情報の一部が異常条件を満たし、当該特徴情報の他の一部が正常条件を満たす場合であっても、決定部２６６は、出力の可否を決定することができる。
【００６１】
決定部２６６は、異常条件を満たす特徴情報に関する評価値が、予め定められた値と同等または予め定められた値より大きい場合に、出力部２５０が出力制御システム１００の外部にデータを出力することを禁止してよい。決定部２６６は、正常条件を満たす特徴情報に関する評価値が、予め定められた値と同等または予め定められた値より大きい場合に、出力部２５０が出力制御システム１００の外部にデータを出力することを許可してよい。
【００６２】
決定部２６６は、異常条件を満たす特徴情報に関する評価値が、正常条件を満たす特徴情報に関する評価値と同等または当該評価値より大きい場合には、出力部２５０が出力制御システム１００の外部にデータを出力することを禁止してよい。決定部２６６は、正常条件を満たす特徴情報に関する評価値が、異常条件を満たす特徴情報に関する評価値と同等または当該評価値より大きい場合には、出力部２５０が出力制御システム１００の外部にデータを出力することを許可してよい。
【００６３】
本実施形態において、上記の評価値として、異常条件または正常条件に設定された重みの合計を算出する場合について説明した。また、評価の決定方法として、評価値および予め定められた値の大小によって決定する方法と、異常条件を満たす特徴情報に関する評価値および異常条件を満たす特徴情報に関する評価値の大小によって決定する方法について説明した。しかし、決定部２６６はこれに限定されない。決定部２６６は、ベイジアン関数またはＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）を用いて、上記の評価値を算出してよい。決定部２６６は、ユーザが選択した評価値の算出方法および評価の決定方法を実行してよい。
【００６４】
本実施形態において、決定部２６６が正常条件を満たす特徴情報に関する評価および異常条件を満たす特徴情報に関する評価の少なくとも一方を算出する場合について説明した。しかし、出力制御部２６０はこれに限定されない。比較部２６４が正常条件を満たす特徴情報に関する評価および異常条件を満たす特徴情報に関する評価の少なくとも一方を算出してもよい。
【００６５】
決定部２６６は、入力部２２４からのユーザの指示を受け取り、ユーザの指示に従って、出力部２５０を制御してもよい。決定部２６６は、ユーザからの指示に基づき、端末用条件格納部２７０の情報を更新してよい。決定部２６６は、特徴情報収集部２６２から受け取った特徴情報と、ユーザからの指示とを対応付けて、端末用条件格納部２７０に格納してよい。決定部２６６は、特徴情報収集部２６２から受け取った特徴情報と、ユーザからの指示とを対応付けた情報を、レーティングサーバ１２０に通知してよい。
【００６６】
決定部２６６は、比較部２６４が特定または推定したソフトウエアの識別番号を受け取ってよい。決定部２６６は、ソフトウエアの識別番号に基づいて、出力部２５０が出力制御システム１００の外部にデータを出力することを禁止するか否かを決定してよい。
【００６７】
端末用条件格納部２７０は、異常条件を格納する。異常条件は、異常データ条件および異常動作条件の少なくとも一方を含んでよい。端末用条件格納部２７０は、正常条件を格納してよい。正常条件は、正常データ条件および正常動作条件の少なくとも一方を含んでよい。端末用条件格納部２７０は、ＲＯＭ、ＲＡＭ、キャッシュメモリなどのメモリであってよい。端末用条件格納部２７０は、ハードディスク、ＣＤ−ＲＯＭ、ＩＣカード、フラッシュメモリなどの記憶装置または記憶媒体であってもよい。
【００６８】
端末用条件格納部２７０は、それぞれのユーザ端末１１０に特有の異常条件および正常条件の少なくとも一方を格納してよい。例えば、ユーザ端末１１０にユーザが独自に開発したアプリケーションがインストールされている場合に、当該アプリケーションに特有の異常条件および正常条件を格納してよい。端末用条件格納部２７０は、レーティングサーバ１２０から、レーティングサーバ１２０に格納された異常条件および正常条件の少なくとも一方を取得してよい。端末用条件格納部２７０は、レーティングサーバ１２０から、レーティングサーバ１２０に格納された異常条件および正常条件の少なくとも一方を、定期的に取得してよい。
【００６９】
本実施形態において、出力制御装置２４０がユーザ端末１１０に配される場合について説明した。しかし、出力制御装置２４０はこれに限定されない。出力制御装置２４０は、複数のユーザ端末１１０と通信回線１０とを接続するルータ、ハブ、プロキシサーバ、Ｆｉｒｅｗａｌｌ、ＤＭＺサーバに配されてもよい。この場合、出力制御装置２４０は、ユーザ端末１１０が通信回線１０を介して出力制御システム１００の外部に出力しようとするデータを受け取り、当該データを出力制御システム１００の外部に出力するか否かを決定する。
【００７０】
図３は、レーティングサーバ１２０のシステム構成の一例を概略的に示す。レーティングサーバ１２０は、条件収集部３６０と、サーバ用条件格納部３７０とを備える。
【００７１】
条件収集部３６０は、複数のユーザ端末１１０から、マルウエアに感染した場合に出力されるデータの特徴およびマルウエアに感染した場合における動作パターンの特徴の少なくとも一方を収集してよい。条件収集部３６０は、収集した特徴と、サーバ用条件格納部３７０に格納された異常条件とを比較する。条件収集部３６０は、収集した特徴が異常条件と一致しない場合、収集した特徴を新たな異常条件としてサーバ用条件格納部３７０に格納する。
【００７２】
条件収集部３６０は、収集した特徴と、サーバ用条件格納部３７０に格納された正常条件とを比較してよい。条件収集部３６０は、収集した特徴が正常条件と一致する場合、異常条件ではない一般的な特徴であると判断してよい。収集した特徴が正常条件と一致する場合の他の処理方法として、条件収集部３６０は、収集した特徴が、異常条件および正常条件の両方に該当する可能性のある特徴であると判断してもよい。
【００７３】
この場合、条件収集部３６０は、異常条件および正常条件の両方に該当する可能性のある特徴の出現頻度が予め定められた値より大きくなった場合に、当該特徴を新たな異常条件としてサーバ用条件格納部３７０に格納してよい。出現頻度は、予め定められた期間、または、ユーザ端末１１０の稼動時間もしくはソフトウエアの動作時間が予め定められた時間を経過するまでの間に、当該特徴が検出される回数であってよい。条件収集部３６０は、異常条件および正常条件の両方に該当する可能性のある特徴を異常条件としてサーバ用条件格納部３７０に格納した後、当該特徴の出現頻度が予め定められた値より小さくなった場合には、当該特徴は異常条件ではないと判断して、サーバ用条件格納部３７０から削除してよい。
【００７４】
条件収集部３６０は、複数のユーザ端末１１０から、マルウエアに感染していない場合に出力されるデータの特徴およびマルウエアに感染していない場合における動作パターンの特徴の少なくとも一方を収集してよい。条件収集部３６０は、収集した特徴と、サーバ用条件格納部３７０に格納された正常条件とを比較する。条件収集部３６０は、収集した特徴が正常条件と一致しない場合、収集した特徴を新たな正常条件としてサーバ用条件格納部３７０に格納する。
【００７５】
条件収集部３６０は、収集した特徴と、サーバ用条件格納部３７０に格納された異常条件とを比較してよい。条件収集部３６０は、収集した特徴が異常条件と一致する場合、正常条件ではない一般的な特徴であると判断してよい。収集した特徴が異常条件と一致する場合の他の処理方法として、条件収集部３６０は、収集した特徴が、異常条件および正常条件の両方に該当する可能性のある特徴であると判断してもよい。
【００７６】
この場合、条件収集部３６０は、異常条件および正常条件の両方に該当する可能性のある特徴の出現頻度が予め定められた値より大きくなった場合に、当該特徴を新たな正常条件としてサーバ用条件格納部３７０に格納してよい。条件収集部３６０は、異常条件および正常条件の両方に該当する可能性のある特徴を正常条件としてサーバ用条件格納部３７０に格納した後、当該特徴の出現頻度が予め定められた値より小さくなった場合には、当該特徴は正常条件ではないと判断して、サーバ用条件格納部３７０から削除してよい。
【００７７】
条件収集部３６０は、条件収集部３６０は、新たな異常条件または正常条件がサーバ用条件格納部３７０に格納された場合または定期的に、サーバ用条件格納部３７０に格納した異常条件および正常条件の少なくとも一方を、複数のユーザ端末１１０のそれぞれに通知してよい。サーバ用条件格納部３７０は、ＲＯＭ、ＲＡＭ、キャッシュメモリなどのメモリであってよい。サーバ用条件格納部３７０は、ハードディスク、ＣＤ−ＲＯＭ、ＩＣカード、フラッシュメモリなどの記憶装置または記憶媒体であってもよい。
【００７８】
図４は、出力制御方法の一例を概略的に示す。ステップ４１０（Ｓ４１０と記載する場合がある。他のステップについても同様とする。）において、特徴情報収集部２６２が出力部２５０を監視して、特徴情報を収集する。特徴情報収集部２６２は、収集した特徴情報を比較部２６４に通知する。
【００７９】
ステップ４２０において、比較部２６４は、特徴情報収集部２６２から受け取った特徴情報と、端末用条件格納部２７０に格納された異常条件とを比較する。特徴情報収集部２６２から受け取った特徴情報が端末用条件格納部２７０に格納された異常条件を満たす場合、ステップ４２２において、比較部２６４はその旨を決定部２６６に通知する。決定部２６６は、比較部２６４からの通知を受け取ると、出力部２５０がデータを外部に出力することを禁止する。この場合、出力部２５０は、データを外部に出力しない。
【００８０】
特徴情報収集部２６２から受け取った特徴情報が端末用条件格納部２７０に格納された異常条件を満たさない場合、ステップ４３０において、比較部２６４は、特徴情報収集部２６２から受け取った特徴情報と、端末用条件格納部２７０に格納された正常条件とを比較する。特徴情報収集部２６２から受け取った特徴情報が端末用条件格納部２７０に格納された正常条件を満たす場合、ステップ４３２において、比較部２６４はその旨を決定部２６６に通知する。決定部２６６は、比較部２６４からの通知を受け取ると、出力部２５０がデータを外部に出力することを許可する。この場合、出力部２５０は、データを外部に出力する。
【００８１】
特徴情報収集部２６２から受け取った特徴情報が端末用条件格納部２７０に格納された正常条件も満たさない場合、ステップ４４０において、比較部２６４は、特徴情報収集部２６２から受け取った特徴情報が異常条件および正常条件を満たさない旨を通知して、データの出力の是非をユーザに問い合わせる。
【００８２】
ステップ４５０において、入力部２２４がユーザの指示を受け付けると、決定部２６６はユーザの指示の有効性を確認し、ユーザの指示が有効である場合には、ユーザの指示に従って、データの出力の是非を決定する。決定部２６６がユーザから出力を許可する旨の指示を受け取った場合、ステップ４５２において、決定部２６６は出力部２５０がデータを外部に出力することを許可する。この場合、出力部２５０は、データを外部に出力する。決定部２６６がユーザから出力を禁止する旨の指示を受け取った場合、ステップ４６０において、決定部２６６は出力部２５０がデータを外部に出力することを禁止する。この場合、出力部２５０は、データを外部に出力しない。
【００８３】
なお、本実施形態において、特徴条件が異常条件を満たすか否かを判断するステップを、特徴条件が正常条件を満たすか否かを判断するステップの前に実施した。しかし、出力制御方法はこれに限定されない。特徴条件が正常条件を満たすか否かを判断するステップを、特徴条件が異常条件を満たすか否を判断するステップの前に実施してもよい。また、何れか一方のステップのみを実施してもよい。
【００８４】
図５は、条件収集方法の一例を概略的に示す。図５は、正常条件を収集する方法の一例を概略的に示す。ステップ５１０において、マルウエアに感染していない情報処理装置上で、正規のアプリケーションなどの信頼できるソフトウエアを動作させる。説明を簡略化する目的で、ユーザ端末１１０上で信頼できるソフトウエアを動作させる場合を例として条件収集方法について説明するが、条件収集方法はこれに限定されない。信頼できるソフトウエアを動作させる情報処理装置は、ユーザ端末１１０であってもよく、レーティングサーバ１２０であってもよい。
【００８５】
ステップ５２０において、特徴情報収集部２６２が出力部２５０の特徴情報を収集する。特徴情報収集部２６２は、収集した特徴情報を比較部２６４に通知する。ステップ５３０において、比較部２６４は、特徴情報収集部２６２から受け取った特徴情報と、端末用条件格納部２７０に格納された正常条件とを比較する。特徴情報収集部２６２から受け取った特徴情報が端末用条件格納部２７０に格納された正常条件と一致しない場合、ステップ５４０において、比較部２６４は、収集した特徴を新たな正常条件として端末用条件格納部２７０に格納する。これにより、特徴情報の収集にかかる費用および時間を低減することができる。
【００８６】
比較部２６４は、収集した特徴を、動作しているソフトウエアの識別記号と対応づけて端末用条件格納部２７０に格納してよい。これにより、出力部２５０の特徴情報に基づいて、データを出力しようとしているソフトウエアの種類を特定または推定することができる。
【００８７】
なお、本実施形態において、比較部２６４は、特徴情報収集部２６２から受け取った特徴情報と、端末用条件格納部２７０に格納された正常条件とを比較した。しかし、条件収集方法はこれに限定されない。比較部２６４は、特徴情報収集部２６２から受け取った特徴情報と、サーバ用条件格納部３７０に格納された正常条件とを比較してもよい。
【００８８】
図６は、条件収集方法の一例を概略的に示す。図６は、ユーザ端末１１０のそれぞれに特有の異常条件および正常条件の少なくとも一方を収集する方法の一例を概略的に示す。ステップ６１０において、ユーザ端末１１０が少なくとも既知のマルウエアに感染していないことを確認した後、ユーザ端末１１０に様々な動作を実行させる。例えば、ユーザ端末１１０にインストールされているユーザが独自に開発したアプリケーションを実行させる。
【００８９】
ステップ６２０において、特徴情報収集部２６２が出力部２５０の特徴情報を収集する。特徴情報収集部２６２は、収集した特徴情報を比較部２６４に通知する。ステップ６３０において、比較部２６４は、特徴情報収集部２６２から受け取った特徴情報と、端末用条件格納部２７０に格納された異常条件および正常条件とを比較する。
【００９０】
特徴情報収集部２６２から受け取った特徴情報が端末用条件格納部２７０に格納された異常条件および正常条件と一致しない場合、ステップ６４０において、比較部２６４は、異常条件および正常条件と一致しない特徴情報を表示部２２２に表示して、出力部２５０が当該特徴を示した場合におけるデータの出力の是非をユーザに問い合わせる。入力部２２４がユーザの指示を受け付けると、決定部２６６はユーザの指示の有効性を確認し、ユーザの指示が有効である場合には、ユーザの指示に従って、収集した特徴情報とデータの出力の是非とを対応付ける。
【００９１】
ステップ６４０において、異常条件および正常条件と一致しない特徴情報のそれぞれについて、ユーザからの指示が出力を禁止する旨の指示であるか否かを判断する。ある特徴情報に対するユーザからの指示が出力を禁止する旨の指示である場合、ステップ６４２において、決定部２６６は、当該特徴情報を新たな異常条件として端末用条件格納部２７０に格納する。
【００９２】
当該特徴情報に対するユーザからの指示が出力を禁止する旨の指示でない場合、ステップ６５０において、決定部２６６は、当該特徴情報に対するユーザからの指示が出力を許可する旨の指示であるか否かを判断する。当該特徴情報に対するユーザからの指示が出力を許可する旨の指示である場合、ステップ６５２において、決定部２６６は、決定部２６６は、当該特徴情報を新たな正常条件として端末用条件格納部２７０に格納する。これにより、特徴情報の収集にかかる費用および時間を低減することができる。
【００９３】
なお、本実施形態において、ユーザからの指示が出力を禁止する旨の指示であるか否かを判断するステップを、ユーザからの指示が出力を許可する旨の指示であるか否かを判断するステップの前に実施した。しかし、条件収集方法はこれに限定されない。
【００９４】
ユーザからの指示が出力を禁止する旨の指示であるか否かを判断するステップを、ユーザからの指示が出力を許可する旨の指示であるか否かを判断するステップの前に実施してもよい。また、ユーザからの指示が出力を禁止する旨の指示であるか否かの判断と、ユーザからの指示が出力を許可する旨の指示であるか否かの判断とを同一のステップにおいて実施してもよい。また、何れか一方のステップのみを実施してもよい。
【００９５】
図７は、条件収集方法の一例を概略的に示す。図７は、図５または図６に関連して説明した条件収集方法の他の例を示す。ステップ７１０において、特徴情報収集部２６２が出力部２５０を監視して、特徴情報を収集する。
【００９６】
ステップ７２０において、特徴情報収集部２６２は、収集した特徴情報をレーティングサーバ１２０に送信する。ステップ７３０において、レーティングサーバ１２０の条件収集部３６０は、特徴情報収集部２６２から特徴情報を受け取とり、特徴情報収集部２６２から受け取った特徴情報と、サーバ用条件格納部３７０に格納された異常条件および正常条件の少なくとも一方とを比較する。
【００９７】
特徴情報収集部２６２から受け取った特徴情報が、サーバ用条件格納部３７０に格納された異常条件および正常条件と一致しない場合、ステップ７４０において、条件収集部３６０は、異常条件および正常条件と一致しない特徴情報のそれぞれについて、ユーザからの指示が出力を禁止する旨の指示であるか否かを判断する。例えば異常条件および正常条件と一致しない特徴情報を表示部２２２に表示して、出力部２５０が当該特徴を示した場合におけるデータの出力の是非をユーザに問い合わせる。
【００９８】
ある特徴情報に対するユーザからの指示が出力を禁止する旨の指示である場合、ステップ７４２において、条件収集部３６０は、当該特徴情報を新たな異常条件としてサーバ用条件格納部３７０に格納する。当該特徴情報に対するユーザからの指示が出力を禁止する旨の指示でない場合、ステップ７５０において、条件収集部３６０は、当該特徴情報を新たな正常条件としてサーバ用条件格納部３７０に格納する。これにより、特徴情報の収集にかかる費用および時間を低減することができる。
【００９９】
なお、本実施形態において、ユーザからの指示が出力を禁止する旨の指示であるか否かを判断するステップのみを実施した。しかし、条件収集方法はこれに限定されない。ユーザからの指示が出力を禁止する旨の指示であるか否かを判断するステップと、ユーザからの指示が出力を許可する旨の指示であるか否かを判断するステップとを実施してもよい。
【０１００】
図８は、出力制御システム８００のシステム構成の一例を概略的に示す。出力制御システム８００は、ユーザ端末８１０と、レーティングサーバ８２０とを備える。ユーザ端末は、データ格納部２３０と、出力部２５０と、特徴情報収集部２６２とを有する。レーティングサーバ８２０は、表示部２２２と、入力部２２４と、出力制御部８６０と、サーバ用条件格納部３７０とを有する。出力制御システム１００の各部と同一または類似の部分には同一の参照番号を付して重複する説明を省く。
【０１０１】
出力制御システム８００は、出力制御部８６０が通信回線１０を介して、出力部２５０を制御する点で、出力制御システム１００と相違する。出力制御システム８００は、出力部２５０が通信回線１０を介して決定部２６６からの決定を受け取る点で、出力制御システム１００と相違する。出力制御システム８００は、特徴情報収集部２６２が通信回線１０を介して収集した特徴情報を比較部２６４に通知する点で、出力制御システム１００と相違する。
【０１０２】
出力制御システム８００は、比較部２６４が特徴情報収集部２６２から受け取った特徴情報と、サーバ用条件格納部３７０に格納された異常条件および正常条件の少なくとも一方とを比較する点で、出力制御システム１００と相違する。出力制御システム８００は、決定部２６６がサーバ用条件格納部３７０を更新する点で出力制御システム１００と相違する。その他の構成については、出力制御システム８００は出力制御システム１００と同様の構成を有してよい。
【０１０３】
図９は、一実施形態に係るコンピュータ１９００のハードウエア構成の一例を概略的に示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【０１０４】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【０１０５】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【０１０６】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウエアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【０１０７】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【０１０８】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【０１０９】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれる。
【０１１０】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【０１１１】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【０１１２】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【０１１３】
コンピュータ１９００にインストールされ、コンピュータ１９００を出力制御システムまたは出力制御装置の各部、例えば、出力部２５０、特徴情報収集部２６２、比較部２６４、決定部２６６、端末用条件格納部２７０、条件収集部３６０またはサーバ用条件格納部３７０として機能させるプログラムは、各部の動作を規定したモジュールを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、出力制御システムまたは出力制御装置の各部としてそれぞれ機能させる。
【０１１４】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の出力制御システムまたは出力制御装置、例えば出力制御システム１００、出力制御システム８００または出力制御装置２４０を構築できる。
【０１１５】
以上に記載されている通り、本願明細書には、悪意あるソフトウエアにより出力部から出力されるデータの特徴、および悪意あるソフトウエアがデータを出力する場合における出力部の動作パターンの特徴の少なくとも一方を示す異常条件を条件格納部に格納する段階と、出力部から出力されるデータの特徴および出力部の動作パターンの特徴の少なくとも一方と、異常条件とを比較する段階と、出力部から出力されるデータの特徴および出力部の動作パターンの特徴の少なくとも一方が異常条件を満たす場合にデータの出力を禁止する段階とを備える出力制御方法が記載されている。
【０１１６】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１１７】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１１８】
１０  通信回線  
２０  外部端末  
３０  外部記憶装置  
１００  出力制御システム  
１１０  ユーザ端末  
１２０  レーティングサーバ  
２２２  表示部  
２２４  入力部  
２３０  データ格納部  
２４０  出力制御装置  
２５０  出力部  
２６０  出力制御部  
２６２  特徴情報収集部  
２６４  比較部  
２６６  決定部  
２７０  端末用条件格納部  
３６０  条件収集部  
３７０  サーバ用条件格納部  
８００  出力制御システム  
８１０  ユーザ端末  
８２０  レーティングサーバ  
８６０  出力制御部  
１９００  コンピュータ  
２０００  ＣＰＵ  
２０１０  ＲＯＭ  
２０２０  ＲＡＭ  
２０３０  通信インターフェイス  
２０４０  ハードディスクドライブ  
２０５０  フレキシブルディスク・ドライブ  
２０６０  ＣＤ−ＲＯＭドライブ  
２０７０  入出力チップ  
２０７５  グラフィック・コントローラ  
２０８０  表示装置  
２０８２  ホスト・コントローラ  
２０８４  入出力コントローラ  
２０９０  フレキシブルディスク  
２０９５  ＣＤ−ＲＯＭ  
【図１】
0005779334.tif 000002
【図２】
0005779334.tif 000003
【図３】
0005779334.tif 000004
【図４】
0005779334.tif 000005
【図５】
0005779334.tif 000006
【図６】
0005779334.tif 000007
【図７】
0005779334.tif 000008
【図８】
0005779334.tif 000009
【図９】
0005779334.tif 000010