(57)【特許請求の範囲】
【請求項１】
コンピュータシステムに接続されたデバイスの分析方法であって、
ルールを格納する工程と、データを前記デバイスから受信する工程と、受信データを分析する工程と、分析結果を前記ルールに適用する工程と、追加のルールを生成する工程と、データベースに前記追加のルールを格納する工程とを含み、
前記ルールを格納する工程では、少なくとも1つのデータベースに、以前コンピュータシステムに接続されたデバイス、及び破損した状態であるかをさらに分析すべき場合であるかを示す少なくとも1つの条件を指定する前記ルールに関連するデータを格納し、
前記データをデバイスから受信する工程では、前記デバイスまたは前記デバイスと前記コンピュータシステム間の接続に関するデータを前記デバイスから受信し、
前記受信データを分析する工程では、前記受信データ及び前記以前コンピュータシステムに接続されたデバイスに関する格納されたデータを比較することによって前記受信データをハードウェアプロセッサによって分析し、
前記分析結果をルールに適用する工程では、前記受信データの分析結果を、前記デバイスが変更または破損している可能性があるか及びマルウェアの存在をさらに分析すべきかを示す少なくとも1つの条件を満たすかを決定するために前記ルールに、前記ハードウェアプロセッサによって適用し、
前記追加のルールを生成する工程では、前記デバイスが破損していると判断された場合に、追加のルールを生成し、
前記データベースに前記追加のルールを格納する工程では、前記追加のルールを少なくとも一つのデータベースに格納し、
前記追加のルールは、破損デバイスの受信データの分析に基づいている。
【請求項２】
前記デバイスからのデータは、前記デバイスと前記コンピュータシステムとの間の接続の形式、前記コンピュータシステムの接続ポート、前記コンピュータシステムの形式、前記デバイスの形式、前記コンピュータシステムと前記以前コンピュータシステムに接続されたデバイスとの間の接続頻度、前記デバイスの動作期間、及び前記コンピュータシステムの動作期間の少なくとも一つを含む、請求項１に記載の方法。
【請求項３】
前記少なくとも1つの条件を満たす場合には、コンピュータシステムに接続されたデバイスのウイルスチェックを実行する工程をさらに含む、請求項１に記載の方法。
【請求項４】
前記少なくとも一つの条件は、前記デバイスと前記コンピュータシステムとの間の接続の形式、前記コンピュータシステムの接続ポート、前記コンピュータシステムの形式、前記デバイスの形式、前記コンピュータシステムと前記以前コンピュータシステムに接続されたデバイスとの間の接続頻度、前記デバイスの動作期間、前記コンピュータシステムの動作期間、及び前記デバイスの電圧、電流または抵抗のパラメータの少なくとも一つに基づく、請求項１に記載の方法。
【請求項５】
デバイスが未知であるか、前記デバイスが前記コンピュータシステムにどのように接続されたか、及び前記デバイスと前記コンピュータシステムとの間の接続時間の少なくとも一つを特定するために受信データの分析を実行する工程を含む、請求項１に記載の方法。
【請求項６】
前記少なくとも1つの条件を満たし、前記デバイスがハッカーによって破損させられたと判断した場合に、前記デバイスと前記コンピュータシステムとの間の接続の想定動作における少なくとも一つの異常を特定する工程を含む、請求項１に記載の方法。
【請求項７】
コンピュータシステムに接続されたデバイスを分析するシステムであって、
前記システムは、少なくとも一つのデータベースと、ハードウェアプロセッサとを備え、
前記少なくとも一つのデータベースは、以前コンピュータシステムに接続されたデバイス、及び前記デバイスが破損した状態であるかをさらに分析すべき場合であるかを示す少なくとも1つの条件を指定するルールに関するデータを格納するように構成され、
前記ハードウェアプロセッサは、
前記デバイスから前記デバイスまたは前記デバイスと前記コンピュータシステム間の接続に関するデータを受信し、
受信データと前記以前コンピュータシステムに接続されたデバイスに関するデータとを比較することによって受信データを分析し、
前記受信データの分析結果を、前記デバイスが変更または破損している可能性があるか及びマルウェアの存在をさらに分析すべきかを示す少なくとも1つの条件を満たすかを決定するためのルールに適用し、
前記ハードウェアプロセッサは、前記デバイスが破損していると判断された場合に、追加のルールを生成し、前記追加のルールを少なくとも一つのデータベースに格納するように構成され、前記追加のルールは、破損デバイスの受信データの分析に基づいている。
【請求項８】
前記デバイスからのデータは、前記デバイスと前記コンピュータシステムとの間の接続の形式、前記コンピュータシステムの接続ポート、前記コンピュータシステムの形式、前記デバイスの形式、前記コンピュータシステムと前記以前コンピュータシステムに接続されたデバイスとの間の接続頻度、前記デバイスの動作期間、及び前記コンピュータシステムの動作期間の少なくとも一つを含む、請求項７に記載のシステム。
【請求項９】
前記ハードウェアプロセッサは、前記少なくとも1つの条件を満たす場合には、前記コンピュータシステムに接続されたデバイスのウイルスチェックを実行するようにさらに構成されている、請求項７に記載のシステム。
【請求項１０】
前記少なくとも一つの条件は、前記デバイスと前記コンピュータシステムとの間の接続の形式、前記コンピュータシステムの接続ポート、前記コンピュータシステムの形式、前記デバイスの形式、前記コンピュータシステムと前記以前コンピュータシステムに接続されたデバイスとの間の接続頻度、前記デバイスの動作期間、前記コンピュータシステムの動作期間、及び前記デバイスの電圧、電流または抵抗のパラメータの少なくとも一つに基づく、請求項７に記載のシステム。
【請求項１１】
前記ハードウェアプロセッサは、デバイスが未知であるか、前記デバイスが前記コンピュータシステムにどのように接続されたか、及び前記デバイスと前記コンピュータシステムとの間の接続時間の少なくとも一つを特定するために受信データの分析を実行するようにさらに構成されている、請求項７に記載のシステム。
【請求項１２】
前記ハードウェアプロセッサは、前記少なくとも1つの条件を満たし、前記デバイスがハッカーによって破損させられたと判断した場合に、前記デバイスと前記コンピュータシステムとの間の接続の想定動作における少なくとも一つの異常を特定するように構成されている、請求項７に記載のシステム。
【請求項１３】
コンピュータシステムに接続されたデバイスの分析のためのコンピュータ実行可能命令を格納する非一過性の記録媒体であって、前記命令は、
以前コンピュータシステムに接続されたデバイス、及びデバイスが破損した状態であるかをさらに分析すべき場合であるかを示す少なくとも1つの条件を指定するルールに関するデータを少なくとも一つのデータベースに格納し、
前記デバイスまたは前記デバイスと前記コンピュータシステム間の接続に関するデータを前記デバイスから受信し、
受信データと前記以前コンピュータシステムに接続されたデバイスに関するデータとを比較することによって前記受信データを分析し、
前記受信データの分析結果を、前記デバイスが変更または破損している可能性があるか及びさらに分析すべきかを示す少なくとも1つの条件を満たすかを決定するためのルールに適用する命令を含み、
前記デバイスが破損していると判断された場合に、追加のルールを生成し、前記追加のルールを少なくとも一つのデータベースに格納する命令を含み、前記追加のルールは、破損デバイスの受信データの分析に基づいている。
【請求項１４】
前記デバイスからのデータは、前記デバイスと前記コンピュータシステムとの間の接続の形式、前記コンピュータシステムの接続ポート、前記コンピュータシステムの形式、前記デバイスの形式、前記コンピュータシステムと前記以前コンピュータシステムに接続されたデバイスとの間の接続頻度、前記デバイスの動作期間、及び前記コンピュータシステムの動作期間の少なくとも一つを含む、請求項１３に記載の非一過性の記録媒体。
【請求項１５】
前記少なくとも1つの条件を満たす場合には、前記コンピュータシステムに接続されたデバイスのウイルスチェックを実行する命令をさらに含む、請求項１３に記載の非一過性の記録媒体。
【請求項１６】
前記少なくとも一つの条件は、前記デバイスと前記コンピュータシステムとの間の接続の形式、前記コンピュータシステムの接続ポート、前記コンピュータシステムの形式、前記デバイスの形式、前記コンピュータシステムと前記以前コンピュータシステムに接続されたデバイスとの間の接続頻度、前記デバイスの動作期間、前記コンピュータシステムの動作期間、及び前記デバイスの電圧、電流または抵抗のパラメータの少なくとも一つに基づく、請求項１３に記載の非一過性の記録媒体。
【請求項１７】
デバイスが未知であるか、前記デバイスが前記コンピュータシステムにどのように接続されたか、及び前記デバイスと前記コンピュータシステムとの間の接続時間の少なくとも一つを特定するために受信データの分析を実行する命令をさらに含む、請求項１３に記載の非一過性の記録媒体。
【請求項１８】
前記少なくとも1つの条件を満たし、前記デバイスがハッカーによって破損させられたと判断した場合に、前記デバイスと前記コンピュータシステムとの間の接続の想定動作における少なくとも一つの異常を特定する命令をさらに含む、請求項１３に記載の非一過性の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的にコンピュータセキュリティの分野に関し、変更または破損した外部デバイスを検出するためのシステム及び方法に関する。
【０００２】
関連出願の相互参照
本開示は、2015年6月30日に出願されたロシア特許出願第2015125967の関連出願であり、米国特許法第119条でこの出願に基づく優先権を主張し、本明細書中に参考として援用する。
【背景技術】
【０００３】
現在、データの通信のために互いに接続することができるデバイスの数が大幅に増加し続けている。このようなデバイスとしては、例えば、モデム、パーソナルコンピュータ、電話やスマートフォン、ビデオカメラ、外付けハードディスクなどが挙げられる。デバイス間でデータを送信する場合、有線及び無線のデータ通信技術が用いられる。最も普及しているデバイスを有線接続する方法の一つは、ユニバーサル・シリアル・バス（USB）を用いたデバイス間の接続である。
【０００４】
しかしながら、USB接続を有するデバイスの数の増加に従い、この形式の接続における多くの欠点及び問題点が認識されるようになった。例えば、パーソナルコンピュータに接続された複合USBデバイスは、データストレージ、インストールディスクが挿入されたCD-ROM、キーボード、などの複数のデバイスの一つとして認識され得る。このような構成にハッカーは強く関心を持つ。特に、ハッカーは、デバイスの複合構成を利用し、またカスタマイズされたマイクロプログラムを用いることによって、悪質なアクションを実行する可能性があるハッカー自身のデバイスを組み込む（例えば、BadUSB攻撃クラス：「https://ru.wikipedia.org/wiki/BadUSB」等を参照。）。
【０００５】
例えば、ハッカーは、フラッシュドライブを用いて使用者のパーソナルコンピュータを騙し、「キーボード」形式の新しいデバイスであると認識させ、悪意のあるコードを読み込ませ実行させる。
【０００６】
現在、接続デバイスの分析を目的とする多くの解決策が存在する。しかしながら、これらの解決策は接続デバイス及びイベントの解析を行うが、コンピュータシステムに接続された際の変更または破損している外部デバイスにより引き起こされる異常の識別については言及されていない。そこで、本開示のシステムと方法は、外部デバイスがコンピュータシステムに接続された際の異常検出に関する上記問題を効果的に解決することを可能にするものである。
【発明の概要】
【０００７】
コンピュータシステムに接続された変更または破損した外部デバイスを検出するためのシステム及び方法が開示される。本発明の一態様によれば、コンピュータシステムに接続されたデバイスを分析するための方法が開示される。例示的な態様によれば、上記方法は、ルールを格納する工程と、データをデバイスから受信する工程と、受信データを分析する工程と、分析結果をルールに適用する工程とを含み、ルールを格納する工程では、少なくとも1つのデータベースに、以前コンピュータシステムに接続されたデバイス、及び破損した状態であるかをさらに分析すべき場合であるかを示す少なくとも1つの条件を指定するルールに関連するデータを格納し；データをデバイスから受信する工程では、デバイスまたはデバイスとコンピュータシステム間の接続に関するデータをデバイスから受信し；受信データを分析する工程では、受信データ及び以前コンピュータシステムに接続されたデバイスに関する格納されたデータを比較することによって受信データをハードウェアプロセッサによって分析し；分析結果をルールに適用する工程では、受信データの分析結果を、デバイスが変更または破損している可能性があるか及びマルウェアの存在をさらに分析すべきかを示す少なくとも1つの条件を満たすかを決定するためのルールに、ハードウェアプロセッサによって適用する。
【０００８】
別の態様によれば、デバイスからのデータは、デバイスとコンピュータシステムとの間の接続の形式、コンピュータシステムの接続ポート、コンピュータシステムの形式、デバイスの形式、コンピュータシステムと以前コンピュータシステムに接続されたデバイスとの間の接続頻度、デバイスの動作期間、及びコンピュータシステムの動作期間の少なくとも一つを含む。
【０００９】
別の態様によれば、上記方法は、上記少なくとも1つの条件を満たす場合には、コンピュータシステムに接続されたデバイスのアンチウイルスチェック（ウイルスチェック）を実行する工程を含む。
【００１０】
別の態様によれば、上記少なくとも一つの条件は、デバイスとコンピュータシステムとの間の接続の形式、コンピュータシステムの接続ポート、コンピュータシステムの形式、デバイスの形式、コンピュータシステムと以前コンピュータシステムに接続されたデバイスとの間の接続頻度、デバイスの動作期間、コンピュータシステムの動作期間、及びデバイスの電圧、電流または抵抗のパラメータ、の少なくとも一つに基づく。
【００１１】
別の態様によれば、上記方法は、デバイスが未知であるか、デバイスがコンピュータシステムにどのように接続されたか、及びデバイスとコンピュータシステムとの間の接続時間の少なくとも一つを特定するために受信データの分析を実行する工程を含む。
【００１２】
別の態様によれば、上記方法は、デバイスが破損していると判断された場合に、追加のルールを生成する工程と、該追加のルールを少なくとも一つのデータベースに格納する工程を含み、追加のルールは、破損デバイスの受信データの分析に基づく。
【００１３】
別の態様によれば、上記方法は、少なくとも1つの条件を満たし、デバイスがハッカーによって破損させられたと判断した場合に、デバイスとコンピュータシステムとの間の接続の想定動作における少なくとも一つの異常を特定する工程を含む。
【００１４】
本発明の一態様によれば、システムは、コンピュータシステムに接続されたデバイスを分析するために開示される。例示的な態様によれば、上記システムは、少なくとも一つのデータベースと、ハードウェアプロセッサとを備え、該少なくとも一つのデータベースは、以前コンピュータシステムに接続されたデバイス、及びデバイスが破損した状態であるかをさらに分析すべき場合であるかを示す少なくとも1つの条件を指定するルールに関するデータを格納するように構成され；該ハードウェアプロセッサは、デバイスからデバイスまたはデバイスとコンピュータシステム間の接続に関するデータを受信し、受信データと以前コンピュータシステムに接続されたデバイスに関するデータとを比較することによって受信データを分析し、受信データの分析結果を、デバイスが変更または破損している可能性があるか及びさらに分析すべきかを示す少なくとも1つの条件を満たすかを決定するためのルールに適用するように構成されている。
【００１５】
別の態様によれば、コンピュータ実行可能命令を格納する非一過性の記録媒体が、コンピュータシステムに接続されたデバイスの分析のために開示される。例示的な態様によれば、以前コンピュータシステムに接続されたデバイス、及びデバイスが破損した状態であるかをさらに分析すべき場合であるかを示す少なくとも1つの条件を指定するルールに関するデータを少なくとも一つのデータベースに格納し；デバイスまたはデバイスとコンピュータシステム間の接続に関するデータをデバイスから受信し；受信データと以前コンピュータシステムに接続されたデバイスに関するデータとを比較することによって受信データを分析し；受信データの分析結果を、デバイスが変更または破損している可能性があるか及びさらに分析すべきかを示す少なくとも1つの条件を満たすかを決定するためのルールに適用するように上記命令が出される。
【００１６】
例示的態様における上記の簡単な概要は、本開示の基本的な理解を提供するのに役立つ。本概要は、すべての企図される態様の広範な概観ではなく、すべての態様の主要または重大な要素を特定することも意図しておらず、本開示における、任意又は全ての態様の範囲を線引きもしないということが意図される。その唯一の目的は、以下の開示のより詳細な説明の前置きとして簡略化された形式で1または複数の態様を提示することである。前述の達成のために、本開示の1つまたは複数の態様について、説明され、例示的に特許請求の範囲に示してある特徴を含む。
【図面の簡単な説明】
【００１７】
添付図面は、詳細な説明と共に、本明細書に組み込まれ、その一部を構成し、本開示における1つまたは複数の実施態様を示しており、それらの原理及び実装を説明するのに役立つ。
【００１８】
【図１】図1は、コンピュータシステム及び少なくとも一つ接続デバイスの動作モードの4つのバリエーションを示す。
【図２】図2は、例示的な一態様による、デバイスがコンピュータシステムに接続された際の異常を特定するシステムのブロック図を示す。
【図３】図3は、例示的な一態様による、デバイスがコンピュータシステムに接続された際の異常を特定する方法を示す。
【図４】図4は、例示的な一態様による、本開示のシステム及び方法を実施することが可能な汎用コンピュータシステムを表す。
【詳細な説明】
【００１９】
例示的な態様は、コンピュータシステムに接続された変更または破損している外部デバイスを検出するために、システム、方法、及びコンピュータプログラム製品に関連して本明細書に開示される。当業者は、以下の説明は単なる例示であり、決して限定であることを意図するものではないことを理解するであろう。他の態様は、本開示の利益を有する当業者にとって、容易に示唆となりえる。参照は、添付の図面に示されるように、現在の例示の態様の実装について詳細に説明するものである。同じ参照指標は、同一または同様の項目を参照するため、図面及び以下の説明の全体を通じて、可能な限り使用される。
【００２０】
デバイスとしては、コンピュータシステムに接続可能ないかなるデバイスを含むことができ、限定されないが、例えば、キーボードやマウスなどのデータ入力デバイス；モニター、プロジェクター、スピーカー、ヘッドフォンなどのデータ出力デバイス；外付けハードドライブ、外付けCD-ROM、USBメモリスティックなどのデータ記憶デバイス；プリンタ、スキャナ、ウェブカメラなどの周辺デバイス；ネットワークカード、モデム、ルータ、ハブなどのネットワーク通信デバイス；携帯電話、タブレットなどのパーソナル通信デバイスなどが挙げられる。
【００２１】
コンピュータシステムとしては、限定されないが、例えば、パーソナルコンピュータ（PC）、サーバ、ノートブック、タブレット、スマートフォン、ネットワークルータ、ゲーム機、産業用制御システム、またはプロセッサ、メモリ、及び図4に示された汎用コンピュータシステムの他の様々な構成要素の少なくとも一つを有する他の汎用／特殊コンピュータ機器などが挙げられる。
【００２２】
デバイスは、有線または無線接続を介してコンピュータシステムに接続され得る。有線接続の例は、コンピュータバスを介した接続である。一般に、上記バス接続は、接続ワイヤーまたはコンタクトにより行われる。最も頻繁に使用される有線接続は、ユニバーサル・シリアル・バス（USB）を用いた接続である。無線接続は、ワイヤーまたは物理的コンタクトを使用しない、無線または光学技術に基づいた接続を含む.最も頻繁に使用される無線接続の一部は、BluetoothとWi-Fiである。Exampleofa無線ネットワーク接続の例は、無線パーソナルエリアネットワーク（WPAN）又は無線ローカルエリアネットワーク（WLAN）の技術である。
【００２３】
ハッカーによって変更されたデバイスは、接続された際に特定形式の標準デバイスとして認識され得るデバイスを含み、スクリプトを使用することによって有害なアクションを実行することが可能なコードがデバイスにハッカーによって導入されているか、あるいは標準デバイスの特定形式の特性をもつ一連のコマンドを自動実行する機能を有し、これにより悪意のあるソフトウェアアプリケーションのロードと実行を引き起こすようにされている。
【００２４】
コンピュータシステム及び少なくとも一つ接続デバイスの標準動作モードは、コンピュータシステムの電源をオン／オフするシーケンス、及び少なくとも一つデバイスの就業日などの特定の期間の過程における接続と切断の頻度によって特徴づけられた、コンピュータシステム及び少なくとも一つ接続デバイスの通常のルーチン条件である。
【００２５】
ユーザのコンピュータを設定する過程で、管理者はマウス、キーボード、モニター、ハードディスクなどの未知のデバイスを管理者のコンピュータシステムに頻繁に接続することがある。管理者のコンピュータシステムは、例えば、管理が連続して行われるときには、数日間の電源がオン状態であることがある。同時に、管理者のコンピュータシステムは、例えば、その動作を確認するためにハードディスクまたはビデオカードを交換する場合には、一時間で複数回電源をオフ状態に切り替えられることがある。
【００２６】
ユーザのコンピュータシステムにおいては、デバイスを変更する頻度が低く、新しいデバイスを接続するということは大きな重要性を有している。ユーザのコンピュータシステムは、ユーザの就業日には通常終日電源オンの状態にある。また、ユーザのコンピュータシステムは、就業日においては電源オフの状態となることは再起動またはスリープモード中のわずかな期間でさえも稀である。
【００２７】
例えば、コンピュータシステムの少なくとも一つのポートが使用中であり、少なくとも一つのデバイスが接続され、コンピュータシステムが電源オンの状態である時間が測定された場合、コンピュータシステム及び接続デバイスの通常動作モードの4つのバリエーションが存在し得る。
【００２８】
図1は、コンピュータシステム及び少なくとも一つ接続デバイスの動作モードの4つのバリエーションを示す。示されているように、第1のバリエーション101においては、コンピュータシステム120の動作期間及び接続デバイス110の動作期間は同一であり、一致する。コンピュータシステムの電源がオンになるとデバイスは接続され、そしてコンピュータシステムの電源がオフになるとデバイスが切断される。この場合、デバイスは例えば、常に使用されるキーボードまたはマウスである。
【００２９】
第２のバリエーション102においては、コンピュータシステム120の動作期間は接続デバイス110の動作期間と部分的に一致する。上記一致は短期間のみであり、複数回の一致があり得る。このバリエーションでは、デバイスは例えば、ユーザが定期的に接続及び切断し、常に使用されるフラッシュドライブである。
【００３０】
第３のバリエーション103においては、コンピュータシステム120の動作期間は接続デバイス110の動作期間と期間の最後の部分で部分的に一致する。上記一致は、コンピュータシステム及び接続デバイスが同時に電源オフになることで終了する。この場合、デバイスは例えば、コンピュータシステムの電源オフ時に接続されたままである外付けハードディスク、携帯電話、またはフラッシュドライブである。
【００３１】
第４のバリエーション104においては、コンピュータシステム120の動作期間は接続デバイス110の動作期間と初期段階で部分的に一致する。上記一致は、コンピュータシステムが電源オフになるずっと前の接続デバイスの切断によって終了する。この場合、デバイスは例えば、コンピュータシステムの電源オフ時に接続されたままであった外付けハードディスク、携帯電話、またはフラッシュドライブである。
【００３２】
コンピュータシステム及び少なくとも一つの接続デバイスの動作モードについて識別されたバリエーションに基いて、デバイス接続における異常が特定される。以下、デバイスの接続における異常は、通常の動作モードにおける状態とは異なるコンピュータシステム及び少なくとも一つの接続デバイスの状態であり、ハッカーにより変更/破損されたデバイスが存在する可能性の兆候であると理解されるべきである。すなわち、本明細書におけるシステム及び方法は、コンピュータシステムに接続されたデバイスにおける異常を検出するために提供される。
【００３３】
図2は、例示的な一態様による、デバイスがコンピュータシステムに接続された際の異常を特定するシステムのブロック図を示す。示されているように、上記例示的な一態様は、少なくとも一つのデバイスが接続されたコンピュータシステム210、収集モジュール220、分析モジュール230、異常検索モジュール240、デバイスのデータベース250、及びルールのデータベース260を備える。例示的なシステムを実施するための例示的なコンピュータは、図4に関しての記載として後述されている。また、例示的な態様として分離したコンポーネントが記載されているが、別の態様においてはこれらのコンポーネントの一つ以上は組み合わされ単一のコンポーネントとすることができることは理解されるべきである。例えば、デバイスデータベース250及びルールデータベース260は、別の例示的な態様においては、組み合わせて単一のデータベースとすることができる。
【００３４】
例示的な態様によれば、例えば、ユーザがUSB接続またはコンピュータシステムの他のポートによってコンピュータシステム210にデバイスを接続可能であることが意図される。また、収集モジュール220は、少なくとも一つの接続デバイスからデータを収集するように構成される。データ収集は、プッシュベース（例えば、デバイスが自動的にデータを収集モジュール220へ送信する）によって、または、データを収集モジュール220へ送れという収集モジュール220から接続デバイスへの要求に応答するプルベースによって行われ得る。
【００３５】
例示的な一態様において、収集モジュール220へ送信された接続デバイス上のデータは、接続形式、接続ポート、デバイスが接続されたコンピュータシステムの形式、デバイスの形式、デバイスの接続頻度、デバイスの動作期間、コンピュータシステムの動作期間、などを含むことができる。
【００３６】
収集モジュール220は、データを受信すると収集データを、例えば、図４に示されているように、ハードウェアプロセッサ等の分析モジュール230へ送信する。分析モジュール230は、収集データ及びデバイスのデータベース250からの以前コンピュータシステムに接続されたデバイス上のデータを分析するように構成される。
【００３７】
分析の過程で、分析モジュール230は、接続デバイスが未知であるか、デバイスに接続されたかを特定することや、接続時間を記録することなどを行うことができる。分析モジュール230は、分析結果を異常検索モジュール240へ送るように構成することもできる。
【００３８】
例示的な態様によれば、デバイスのデータベース250は、コンピュータシステムに以前接続されたことのあるデバイスに関するデータを格納するように構成される。別の態様においては、データベースは、コンピュータシステムに将来接続され得る追加デバイスに関するデータを読み込むことも可能であろう。例示的な態様においては、データベースは、接続処理中に接続デバイス上のデータを収集するコンピュータシステムの助けを借りて、またはサードパーティーのアンチウイルスサーバによって満たされ、更新されることがある。
【００３９】
接続デバイスに関するデータは、コンピュータシステム及び少なくとも一つの接続デバイスの通常動作モードである図1に示されたバリエーションの他の場合に、デバイスが接続された際に異常を検出した場合に用いられる。
【００４０】
デバイスが接続された際の異常の一例は、通常動作モード101の第1のバリエーションに従い動作しているコンピュータシステムからの接続デバイスの切断である。この切断デバイス（例えば、キーボード、マウス、ビデオカード、ネットワークカード、など）は、コンピュータシステムを使用したユーザの作業において重要な役割を果たし、一旦交換する必要がある。ハッカーによって変更されているかもしれず、また以前に使用された接続デバイスの切断を装っているかもしれないため、同じポートに接続され、同一形式であるデバイスは注意深く分析する必要がある。
【００４１】
コンピュータシステムに接続されているデバイスは、例えば、入力デバイス、出力デバイス、情報格納デバイスなどの形式によって分類することが可能である。例示的な一態様によれば、デバイス形式はさらにカテゴリーに細分することができる。デバイスのカテゴリーの例は、次のURLで見ることができ、本明細書に参考として援用される。
https://msdn.microsoft.com/en-us/library/windows/hardware/dn465876（v=vs.85）.aspx
【００４２】
デバイスが接続された際の異常の別の例は、すでに存在しているデバイスと同一形式のデバイスがコンピュータシステムに接続された場合の状態であってよい。例えば、通常動作モード101の第1のバリエーションにおいては、デバイス1は、コンピュータシステムのポート1にすでに接続されており、形式1（キーボード）を有している。コンピュータシステムは、ポート2も使用している。すでにキーボードを使用中の通常のユーザが、古いキーボードと交換することなく別のポートに新しいキーボードを接続する場合に作り出される状況であるため、ポート2に接続された形式1（キーボード）のデバイス2は、デバイスが接続された際の異常である。この例では、ハッカーによって変更されている可能性があるため、デバイス2はさらに分析されるべきである。
【００４３】
デバイスが接続された際の異常の別の例は、短期間のうちにポート1においてデバイス１がデバイス２に置き換わり、ユーザによるデバイス交換のスピードと同等でない場合である。切断を伴わないデバイスの瞬時の切り替えは、疑わしく、ハッカーにより変更されたデバイスであることを証拠付けることができる人間の行動ではない特徴である。
【００４４】
例示的な一態様によれば、ルールのデータベース260は、異常特定のためのルールを格納するように構成される。異常特定のためのルールは、ハッカーにより変更されたデバイスの存在の可能性を示すことができるコンピュータシステム及び少なくとも一つの接続デバイスの状態を記述した一連の条件である。
【００４５】
デバイスが接続された際の異常に関する上記の例を考慮すると、次のようなルールが形成される。デバイス1がコンピュータシステムのポート1に常時接続されている場合、デバイス1の切断及びポート1へのデバイス2の接続は、デバイスが接続された際の異常であり、ハッカーにより変更されたデバイスの存在の兆候となり得る。他のルールは、接続形式、接続ポート、デバイスが接続されていたコンピュータシステムの形式、デバイスの形式、デバイスの接続頻度、デバイスの動作期間、コンピュータシステムの動作期間、電圧パラメータ、抵抗、電流、などの条件に基づき形成され得る。
【００４６】
例示的な一態様によれば、ルールは、ハッカーにより変更されたデバイスの検出後に異常検索モジュール240によって自動的に形成される。例えば、悪意のあるアプリケーションを検出すると、プリンタとして識別されているデバイスによってコンピュータシステムへ伝送されていたことが明らかになる。このデバイスの接続に関するデータに基づき、ルールは異常特定のために自動的に形成され、ルールのデータベース260へ組み込まれ得る。
【００４７】
異常特定のためのルールは、コンピュータシステムの形式に関するデータに従い変更することが可能である。例えば、コンピュータシステムの形式は、ハードウェアに応じて、据え付け、ポータブル、またはサーバであるかが識別される。
【００４８】
既定では、サーバコンピュータシステムにキーボートは接続され得ない。また、２つのキーボード及び2つのマウスは、ドッキングステーションを有するノートブックなどのポータブルコンピュータシステムには接続され得る。
【００４９】
デバイスが有線接続により接続された場合、異常特定のためのルールは、電流の強さのパラメータなどの様々な物理的パラメータ/状態に基いて形成され得る。例えば、"キーボード"形式のデバイス動作時に70mAを消費する。この場合、次のようなルールが形成されるだろう。接続デバイスがキーボードとして識別されているが、このデバイスの形式を示すものと異なる電流値を消費する場合には、デバイスが接続された際の異常及びハッカーにより変更されたデバイスの存在の兆候であると思われる状態である。
【００５０】
本発明の一態様によれば、異常特定のために上記ルールに加えて、ニューラルネットとファジーロジックを採用することができる。
【００５１】
デバイスのデータベース250及びルールのデータベース260として種々のデータベースを用いることができることが、当業者によって理解されるべきである。データベースとしては、例えば、階層的データベース（IMS、TDMS、System2000）、ネットワークデータベース（Cerebrum、Сronospro、DBVist）、リレーショナルデータベース（DB2、Informix、MicrosoftSQLServer）、オブジェクト指向データベース（Jasmine、Versant、POET）、オブジェクト-リレーショナルデータベース（OracleDatabase、PostgreSQL、FirstSQL/J）、ファンクショナルデータベースなどが挙げられる。データベースの更新は、アンチウイルスサーバによって行われてもよい。
【００５２】
図3は、例示的な一態様による、デバイスがコンピュータシステムに接続された際の異常を特定する方法を示す。ステップ310においては、示されているように、デバイスは例えばユーザによってコンピュータシステムに接続される。ステップ311においては、収集モジュール220は、接続デバイスに関するデータ収集を実行し、分析モジュール230へ収集データを送信する。ステップ312においては、分析モジュール230は、収集データ及びデバイスのデータベース250からの以前接続されていたデバイスに関するデータの分析を実行する。次に、分析モジュール230は、分析結果を異常検索モジュール240へ伝達する。ステップ313においては、異常検索モジュール240は、分析結果及びルールのデータベース260からの異常特定のためのルールに基づき、すべての状態が少なくとも一つのルールを満たすかを判定する。すべての状態が少なくとも一つのルールを満たす場合には、ステップ315において異常検索モジュール240がデバイスが接続された際の異常を特定し、デバイスがハッカーによって変更/破損されたかを明らかとするために接続デバイスのさらなる検証を開始する。あるいは、少なくとも一つのルールが満たされなかった場合、ステップ314において、デバイスの異常を調べる方法は終了する。
【００５３】
例示的な一態様によれば、当技術分野において当業者に理解されるように、ハッカーによる変更/破損デバイスを特定するためのさらなる検証の過程において、アンチウイルスまたは行動署名、接続デバイスから入力されるデータの検証、デバイスのファームウェアの変更の検証（可能なら）などに基づきアンチウイルスチェックが実行され得る。デバイスが、変更または破損していると特定された場合には、デバイスへの接続は終了またはブロックされる。
【００５４】
図4は、例示的な一態様による、本開示のシステム及び方法を実施することが可能な汎用コンピュータシステム（パーソナルコンピュータまたはサーバであってよい）を表す。示されているように、コンピュータシステムは、中央処理装置21と、システムメモリ22と、中央処理装置21と関連するメモリを含む様々なシステムコンポーネントに接続しているシステムバス23とを備える。システムバス23は、先行技術から知られている任意のバス構造に類似であってよく、他のバスアーキテクチャと相互作用することが可能なバスメモリまたはバスメモリコントローラ、周辺バス、ローカルバスを含んでよい。システムメモリは、固定メモリ（ROM）24及びランダムアクセスメモリ（RAM）25を含む.基本入力/出力システム（BIOS）26は、ROM24を使用したオペレーティングシステムの読み込み時などのパーソナルコンピュータ20の要素間の情報伝達を保証する基本的手順を含む。
【００５５】
パーソナルコンピュータ２０は、同様に、データを読み込み及び書き込むためにハードディスク２７、リムーバル磁気ディスク２９に読み取り及び書き込みするために磁気ディスクドライブ２８及びリムーバル光学ディスクドライブ３１（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ及び別の光学情報メディア）を読み取り及び書き込みするために光学ドライブ３０を含む。ハードディスク２７、磁気ディスクドライブ２８及び光学ドライブ３０は、ハードディスクインターフェース３２、磁気ディスクインターフェース３３及び光学ドライブインターフェース３４それぞれを介して、システムバス２３に接続されている。ドライブ及び対応するコンピュータ情報メディアは、パーソナルコンピュータ２０における、コンピュータ命令、データ構造、プログラムモジュール及び別のデータを記憶するために、電力的に独立しているモジュールである。
【００５６】
本開示は、ハードディスク２７、リムーバブル磁気ディスク２９及びリムーバブル光学ディスク３１を使用するシステムの実装を提供するが、別のタイプのコンピュータ情報媒体５６の採用が可能であることが理解されるべきであり、それは、コンピュータによって読み取り可能な形式でデータを格納することができるもの（半導体ドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ（ＲＡＭ）など）であり、それは、コントローラ５５を介してシステムバス２３に接続されている。
【００５７】
コンピュータ20は、ファイルシステム36（記録されるシステム35はここに保持される）、さらに、追加プログラム・アプリケーション37、他のプログラムモジュール38及びプログラムデータ39を備える。ユーザは、入力デバイス（キーボード40、マウス42）を用いて、パーソナルコンピュータ20にコマンドと情報を入力することが可能である。他の入力デバイス（図示せず）は、マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ、等を用いることができる。そのような入力デバイスは、通常コンピュータシステム20に、シリアルポート46を介して、接続され、それは、順に、システムバスに接続されるが、それらは、他の方法で、例えば、パラレルポート、ゲームポート及びユニバーサルシリアルバス（USB）の助けを借りて、接続される。モニター47又は他の種類のディスプレイデバイスも、ビデオアダプター48等のインターフェースを介してシステムバス23に接続される。モニター47に加えて、パーソナルコンピュータは、ラウドスピーカー、プリンタ等他の周辺外部デバイス（図示せず）に備えてもよい。
【００５８】
パーソナルコンピュータ20は、1つ又は複数のリモートコンピュータ49とのネットワーク接続を用いて、ネットワーク環境で操作できる。リモートコンピュータ（またはコンピュータ）49も、図４に示すように、前述の要素（パーソナルコンピュータ20の特質を説明したもの）の大部分又は全てを有するパーソナルコンピュータ又はサーバである。他のデバイスも、ルータ、ネットワーク局、ピアデバイス又は他のネットワークノード等、コンピュータネットワークに存在してもよい。
【００５９】
ネットワーク接続は、ローカル・エリア・コンピュータ・ネットワーク（LAN）50、及びワイドエリア・コンピュータ・ネットワーク（WAN）を形成することができる。そのようなネットワークは、企業コンピュータネットワーク又は社内ネットワークで使用され、それらは、概してインターネットアクセスを有している。LAN又はWANネットワークで、パーソナルコンピュータ20は、ネットワークアダプター又はネットワークインターフェース51を介して、ローカル・エリア・ネットワーク50に接続される。ネットワークが用いられる場合、パーソナルコンピュータ20は、インターネット等のワイド・エリア・ネットワークでのコミュニケーションを提供するために、モデム54又は他のモジュールを採用する。モデム54は、内部的又は外部的デバイスであり、シリアルポート46によって、システムバス23と接続される。ネットワーク接続は、一例であり、ネットワークの正確な構成を示す必要はないことを留意されたい。すなわち、実際には、技術的な通信モジュールによる、あるコンピュータと他のコンピュータとの接続を確立する他の方法がある。
【００６０】
様々な態様において、本明細書で説明するシステム及び方法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで実現されてもよい。ソフトウェアで実装される場合、本方法は、非一時的なコンピュータ可読媒体の1つ又は複数の命令又はコードとして格納されてもよい。コンピュータ可読媒体は、データ記憶装置を含む。例として、限定するものではないが、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、フラッシュメモリ、又は、電気的、磁気的、又は他の種類の光学記憶媒体を備えてもよい。それは、命令又はデータ構造の形式で、所望のプログラムコードを搬送又は格納されてもよく、且つ、汎用コンピュータのプロセッサにアクセスできる。
【００６１】
様々な側面で、本開示に記載されたシステム及び方法はモジュールの観点から理解することが可能である。本明細書で使用される用語"モジュール"は、特定用途向け集積回路（ASIC）又はフィールド・プログラマブル・ゲート・アレイ（FPGA）（例えば、ハードウェアとソフトウェアの組み合わせ）などによって、ハードウェアを用いて実装される、実世界のデバイス、構成要素、又は構成要素の配置を意味している。例えば、マイクロプロセッサシステム及びジュールの機能を実装するための命令セットによって、それは、（実行時）マイクロプロセッサシステムを専用機に変換する。モジュールも、これらの組み合わせとして実装されてもよく、ハードウェア単体で容易である特定の機能で、及び、ハードウェアとソフトウェアの組み合わせによって容易である他の機能で実装されてもよい。ある実施態様で、モジュールの少なくとも一部、及び、場合によっては、全てが、汎用コンピュータ（上記、図４により詳細に説明したもの等）のプロセッサで実行することができる。したがって、各モジュールは、様々な適切である構成で実現することができ、本明細書において例示される任意の特定の実装に限定されるものではない。
【００６２】
明瞭にするために、本態様における繰り返される機能の全てが、本明細書に開示されるわけではない。本開示の任意で実際の実装における開発で、多数の実装固有の決定が、開発者の特定の目標を達成するために、成されなければならないことが理解されるであろう。これらの具体的な目標は、実装及び開発者ごとに変化するであろう。そのような開発努力は複雑で時間がかかるかもしれないことが、それにもかかわらず、本開示の利益を有する当業者にとっては、エンジニアにとっては日常の仕事であることが、理解されるであろう。
【００６３】
さらに、本明細書で使用される表現又は用語は、説明の目的のためであり、制限を目的としていないことを理解すべきである。本明細書の用語又は表現は、関連技術での熟練の知識と組み合わせて、本明細書に提示される教示及び指針に照らして当業者によって解釈されるべきである。さらに、明示的記載がない限り、本明細書又は特許請求の範囲における任意の用語に対して、一般的でない又は特別な意味を帰することは意図されていない。
【００６４】
本明細書に開示される様々な態様は、例示により本明細書に言及される既知のモジュールに、現在及び将来の既知の均等物を包含する。さらに、態様及び用途を図示し、且つ、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることは、この開示の利益を有する当業者には明らかであろう。
【図１】
0006290297.tif 000002
【図２】
0006290297.tif 000003
【図３】
0006290297.tif 000004
【図４】
0006290297.tif 000005