(57)【要約】      （修正有）【課題】システムオンチップ基盤のアンチマルウェアサービスを提供できるようにする。【解決手段】デバイスは、ユーザ・オペレーティング・システムを有し、十分なリソースを有さない個人用デバイスであって、アンチマルウェアサービスを提供するシステムオンチップと、前記システムオンチップを使用するために提供される作業の集まりである関数ライブラリーを格納する格納部と、前記作業のうち、少なくとも何れか一つの作業を呼び出してウイルススキャニングの対象になるスキャニング用データ及びスキャニングを指示するコマンドをユーザから受け取ってＳｏＣ送信用データとして構成するとともに前記システムオンチップに送信する機能を有するユーザインタフェースを提供するアプリケーションとしてのスキャニング用データセンダーとを備える。【選択図】図１
2014089741.tif 000002
【特許請求の範囲】
【請求項１】
アンチマルウェアサービスを提供する、ユーザ・オペレーティング・システムを有し、前記アンチマルウェアサービスを実行するのに十分なリソースを有さない個人用デバイスであって、
前記アンチマルウェアサービスを提供するシステムオンチップと、
前記アンチマルウェアサービスを提供するシステムオンチップを使用するために提供される作業の集まりである関数ライブラリーを格納する格納部と、
前記作業のうち、少なくとも何れか一つの作業を呼び出してウイルススキャニングの対象になるスキャニング用データ及びスキャニングを指示するコマンドをユーザから受け取ってＳｏＣ送信用データとして構成するとともに前記システムオンチップに送信する機能を有するユーザインタフェースを提供するアプリケーションとしてのスキャニング用データセンダーとを備え、
前記作業は、前記システムオンチップで行われるウイルススキャニング、パケットデータフィルタリング、ウイルスパターンデータベース（ＤＢ）のアップデート、ルールパターンデータベース（ＤＢ）のアップデート、暗復号化、ハッシュ値計算のうち、少なくとも何れか一つに関わったことを特徴とするデバイス。
【請求項２】
前記関数ライブラリーを介してシステムオンチップを動作させることができるコミュニケーションインタフェース部と、
前記コミュニケーションインタフェース部を介してシステムオンチップ動作コマンドと
動作を送信し受信するように指定したプロトコル部とをさらに備えることを特徴とする請求項１に記載のデバイス。
【請求項３】
前記システムオンチップは、前記スキャニング用データをスキャンするのに使用されるウイルスパターンデータベース（ＤＢ）を格納していることを特徴とする請求項１に記載のデバイス。
【請求項４】
前記システムオンチップに格納されたウイルスパターンデータベース（ＤＢ）をアップデートするためのアップデート用データを前記システムオンチップに送信するセンダーをさらに備える請求項３に記載のデバイス。
【請求項５】
前記スキャニング用データに対するスキャニング結果を前記システムオンチップから通知を受けるメッセージレシーバーをさらに備えることを特徴とする請求項１に記載のデバイス。
【請求項６】
ファイヤウォール（ＦＷ）アプリケーションをさらに含み、
前記システムオンチップは、パケットデータをフィルタリングし、前記ファイヤウォール（ＦＷ）アプリケーションは、前記システムオンチップによってフィルタリングされたデータを受信することを特徴とする請求項１に記載のデバイス。
【請求項７】
データベースファイルセンダーをさらに備え、
前記システムオンチップは、パターンルールデータベース（ＤＢ）を格納し、前記データベースファイルセンダーは、前記システムオンチップに格納されたパターンルールデータベース（ＤＢ）をアップデートするためのアップデート用データを前記システムオンチップに送信することを特徴とする請求項６に記載のデバイス。
【請求項８】
前記スキャニング用データセンダーは、
前記ＳｏＣ送信用データがアンチマルウェアサービスの種類を表す項目、スキャニング用データ及びスキャニングを指示するコマンドを含むように構成することを特徴とする請求項７に記載のデバイス。
【請求項９】
前記システムオンチップは、
前記ＳｏＣ送信用データがどんな種類のアンチマルウェアサービスに関することであるかを判断するマルウェアマネジャーを含むことを特徴とする請求項８に記載のデバイス。
【請求項１０】
ユーザ・オペレーティング・システムを有し、提供すべきアンチマルウェアサービスを実行するのに十分なリソースを有さない個人用デバイスにおいてシステムオンチップ基盤のアンチマルウェアサービスを提供する方法であって、
前記デバイスが、前記アンチマルウェアサービスの種類を表す項目及びコマンドを含むＳｏＣ送信用データを構成するステップと、
前記デバイスが、前記ＳｏＣ送信用データを前記デバイスに搭載されたシステムオンチップに送信するステップとを含み、
前記システムオンチップは、前記ＳｏＣ送信用データにおいてアンチマルウェアサービスの種類を表す項目を参照して前記アンチマルウェアサービスがフィルタリング動作に関わることであるか、又はスキャニング動作に関わることであるかを判断し、
前記デバイスは、前記システムオンチップの使用のための作業の集まりである関数ライブラリーを格納しており、前記作業は前記システムオンチップで行われるウイルススキャニング、パケットデータフィルタリング、ウイルスパターンデータベース（ＤＢ）のアップデート、ルールパターンデータベース（ＤＢ）のアップデートのうち、少なくとも何れか一つに関わるものであり、少なくとも何れか一つの作業を呼び出してウィルススキャニングの対象になるスキャニングデータ及びスキャニングを指示するコマンドをアプリケーションとして提供されるユーザインタフェースを介してユーザから受け取って前記ＳｏＣ送信用データを構成し、
前記ＳｏＣ送信用データに含まれたコマンドに応じて、前記ウイルススキャニング又はパケットフィルタリング動作を行うことができることを特徴とするアンチマルウェアサービスの提供方法。
【請求項１１】
前記システムオンチップは、前記フィルタリング動作のためのルールパターンデータベース（ＤＢ）と、前記ウイルススキャニング動作のためのウイルスパターンデータベース（ＤＢ）とを格納していることを特徴とする請求項１０に記載のアンチマルウェアサービスの提供方法。
【請求項１２】
前記ＳｏＣ送信用データは、
ウイルススキャニング用データ及びスキャニングを指示するコマンドを含む第１ＳｏＣ送信用データと、
アップデート用ウイルスパターンデータベース（ＤＢ）及びウイルスパターンデータベース（ＤＢ）のアップデートを指示するコマンドを含む第２ＳｏＣ送信用データと、
アップデート用フィルタリングルールリスト及びルールパターンデータベース（ＤＢ）のアップデートを指示するコマンドを含む第３ＳｏＣ送信用データとのうち、少なくとも何れか一つであることを特徴とする請求項１０に記載のアンチマルウェアサービスの提供方法。
【請求項１３】
前記システムオンチップは、フィルタリングの対象になるデータに対してフィルタリング動作とウイルススキャニング動作とを並行して行うことができることを特徴とする請求項１０に記載のアンチマルウェアサービスの提供方法。
【請求項１４】
前記デバイスは、スキャニング用データを予め定義したサイズに分割するステップをさらに含み、
前記第１ＳｏＣ送信用データは、前記分割されたスキャニング用データを含むことを特徴とする請求項１２に記載のアンチマルウェアサービスの提供方法。
【請求項１５】
ユーザ・オペレーティング・システムを有し、アンチマルウェアシステムを実行するのに十分なリソースを有しない個人用デバイスにおけるシステムオンチップ基盤のアンチマルウェアサービスの提供方法であって、
システムオンチップの使用のための作業の集まりである関数ライブラリーを、前記システムオンチップが装着される前記デバイスに格納するステップと、
前記デバイスが、前記ライブラリーに含まれた少なくとも一つの作業を呼び出して、ウイルススキャニングの対象になるスキャニング用データ及びスキャニングを指示するコマンドをアプリケーションとして提供されるユーザインタフェースを介してユーザから受け取ってＳｏＣ送信用データとして構成するとともに前記スキャニング用データに対するＳｏＣ送信用データを前記システムオンチップに送信するステップとを含み、
前記作業は、前記システムオンチップで行われるウイルススキャニング、パケットデータフィルタリング、ウイルスパターンデータベース（ＤＢ）のアップデート、ルールパターンデータベース（ＤＢ）のアップデートのうち、少なくとも何れか一つに関わったことを特徴とするアンチマルウェアサービスの提供方法。
【請求項１６】
前記構成するステップで構成されたＳｏＣ送信用データは、スキャニング用データ及びスキャニングを指示するコマンドを含むことを特徴とする請求項１５に記載のアンチマルウェアサービスの提供方法。
【請求項１７】
前記デバイスが、スキャニング用データを予め定義したサイズに分割するステップをさらに含み、
前記送信するステップは、前記分割されたスキャニング用データを前記システムオンチップに順次送信することを特徴とする請求項１５に記載のアンチマルウェアサービスの提供方法。
【請求項１８】
前記システムオンチップは、前記ウイルススキャニング動作に使用されるウイルスパターンデータベース（ＤＢ）を前記デバイスから受信して格納するステップをさらに含み、
前記システムオンチップは、前記格納したウイルスパターンデータベース（ＤＢ）を利用してウイルススキャニング動作を行うことを特徴とする請求項１５に記載のアンチマルウェアサービスの提供方法。
【請求項１９】
前記デバイスは、前記ライブラリーに含まれた作業のうち、少なくとも一つの作業を呼び出して、アップデート用ウイルスパターンデータベース（ＤＢ）をＳｏＣ送信用データとして構成するステップと、
前記デバイスは、前記アップデート用ウイルスパターンデータベース（ＤＢ）に対したＳｏＣ送信用データを前記システムオンチップに送信するステップと、
前記システムオンチップは、前記アップデート用ウイルスパターンデータベース（ＤＢ）に対したＳｏＣ送信用データに含まれたウイルスパターンデータベース（ＤＢ）によって予め格納されたウイルスパターンデータベース（ＤＢ）をアップデートするステップとをさらに含むことを特徴とする請求項１８に記載のアンチマルウェアサービスの提供方法。
【請求項２０】
前記システムオンチップは、パケットデータに対するフィルタリング動作を行うステップをさらに含み、
前記デバイスが作成したスキャニング用データに対するＳｏＣ送信用データは、アンチマルウェアサービスの種類を表す項目、スキャニングを指示するコマンド、及びスキャニング用データを含むことを特徴とする請求項１５に記載のアンチマルウェアサービスの提供方法。
【請求項２１】
前記システムオンチップは、前記デバイスからルールリストを受信して予め定義された形式のルールパターンデータベース（ＤＢ）に変換して格納するステップをさらに含み、
前記システムオンチップは、前記格納したルールパターンデータベース（ＤＢ）を利用してフィルタリング動作を行うことを特徴とする請求項２０に記載のアンチマルウェアサービスの提供方法。
【請求項２２】
前記デバイスは、前記ライブラリーに含まれた少なくとも一つの作業を呼び出して、前記フィルタリング動作を定義したルールリストに対するＳｏＣ送信用データを構成し、このように構成したＳｏＣ送信用データを前記システムオンチップに送信するステップをさらに含むことを特徴とする請求項２０に記載のアンチマルウェアサービスの提供方法。
【請求項２３】
前記デバイスは、モバイルデバイスであることを特徴とする請求項１５に記載のアンチマルウェアサービスの提供方法。
【請求項２４】
請求項９に記載の方法を行うコンピュータにより実行可能なプログラムが記録された、コンピュータで読み出すことができる記録媒体。
【請求項２５】
請求項１５に記載の方法を行うコンピュータにより実行可能なプログラムが記録された、コンピュータで読み出すことができる記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムオンチップ基盤のアンチマルウェアサービスを提供できるデバイス及びその方法に関する。
【背景技術】
【０００２】
マルウェアとは、ウイルス、アドウェア、スパイウェア、又はトロイの木馬のように、システムの動作を妨害したり危険に露出するようにするソフトウェアやコードのことを意味する。マルウェアは、多様な方法でシステムを感染させる。例えば電子メールを開封したり、又は特定のウェブサイトに接続することだけでも、接続したシステムはマルウェアに感染しうる。
【０００３】
アンチマルウェアシステムは、マルウェアによる被害を事前に防ぎ治療するシステムであって、ファイヤーウォール（防火壁）やウイルススキャニングエンジンを具備している。
【０００４】
通信技術が発展するに伴い、新しいマルウェアが急速に生じ、既存のマルウェアも続いて変形している傾向にある。そのため、アンチマルウェアシステムは、従来のマルウェアだけでなく、新しく生じるものまで検出しなければならないので、高速で動作する必要がある。特に、資源の限定されたモバイルデバイスの場合は、資源を少なく使いながらも高速でマルウェアを検出できるアンチマルウェアシステムが必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の一実施の形態によれば、本発明の目的は、高速でウイルススキャニングを行うことができ、パケットデータをフィルタリングできるシステムオンチップ基盤のアンチマルウェアサービスを提供できるデバイス及びアンチマルウェアサービスの提供方法を提供することにある。
【０００６】
本発明の一実施の形態によれば、本発明の目的は、アンチマルウェアサービスを提供するシステムオンチップとデバイス間のインタフェース方法を提供することにある。
【０００７】
本発明の一実施の形態によれば、本発明の目的は、アンチマルウェアシステムオンチップ用インタフェースを提供することによって、アンチマルウェアシステムオンチップを単独で使用することもでき、別途のマルウェア検出エンジンをアプリケーション端に追加して、アンチマルウェアシステムオンチップとマルチエンジンで多形性ウイルスに対応を行うこともでき、デバイスに負荷が多い作業をシステムオンチップを介することによりバッテリー、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ; 中央処理装置）、メモリのようなリソースを最小化することができる。そして、アプリケーション端とシステムオンチップ端にわたったセキュリティー作業を介して、さらに安全なセキュリティーソリューションを提供できる。
【課題を解決するための手段】
【０００８】
上記の目的を達成すべく、本発明の一実施の形態によれば、アンチマルウェアサービスを提供する、ユーザ・オペレーティング・システムを有し、前記アンチマルウェアサービスを実行するのに十分なリソースを有さない個人用デバイスは、前記アンチマルウェアサービスを提供するシステムオンチップと、前記アンチマルウェアサービスを提供するシステムオンチップを使用するために提供される作業の集まりである関数ライブラリーを格納する格納部と、前記作業のうち、少なくとも何れか一つの作業を呼び出してウイルススキャニングの対象になるスキャニング用データ及びスキャニングを指示するコマンドをユーザから受け取ってＳｏＣ送信用データとして構成するとともに前記システムオンチップに送信する機能を有するユーザインタフェースを提供するアプリケーションとしてのスキャニング用データセンダーとを備え、前記作業は、前記システムオンチップで行われるウイルススキャニング、パケットデータフィルタリング、ウイルスパターンデータベース（ＤＢ）のアップデート、ルールパターンデータベース（ＤＢ）のアップデート、暗復号化、ハッシュ値計算のうち、少なくとも何れか一つに関わったことを特徴とする。
【０００９】
また、上記の目的を達成すべく、本発明の他の一実施の形態によれば、ユーザ・オペレーティング・システムを有し、提供すべきアンチマルウェアサービスを実行するのに十分なリソースを有さない個人用デバイスにおいてシステムオンチップ基盤のアンチマルウェアサービスを提供する方法であって、前記デバイスが、前記アンチマルウェアサービスの種類を表す項目及びコマンドを含むＳｏＣ送信用データを構成するステップと、前記デバイスが、前記ＳｏＣ送信用データを前記デバイスに搭載されたシステムオンチップに送信するステップとを含み、前記システムオンチップは、前記ＳｏＣ送信用データにおいてアンチマルウェアサービスの種類を表す項目を参照して前記アンチマルウェアサービスがフィルタリング動作に関わることであるか、又はスキャニング動作に関わることであるかを判断し、前記デバイスは、前記システムオンチップの使用のための作業の集まりである関数ライブラリーを格納しており、前記作業は前記システムオンチップで行われるウイルススキャニング、パケットデータフィルタリング、ウイルスパターンデータベース（ＤＢ）のアップデート、ルールパターンデータベース（ＤＢ）のアップデートのうち、少なくとも何れか一つに関わるものであり、少なくとも何れか一つの作業を呼び出してウィルススキャニングの対象になるスキャニングデータ及びスキャニングを指示するコマンドをアプリケーションとして提供されるユーザインタフェースを介してユーザから受け取って前記ＳｏＣ送信用データを構成し、前記ＳｏＣ送信用データに含まれたコマンドに応じて、前記ウイルススキャニング又はパケットフィルタリング動作を行うことができることを特徴とする。
【００１０】
また、上記の目的を達成すべく、本発明のさらに他の一実施の形態によれば、ユーザ・オペレーティング・システムを有し、アンチマルウェアシステムを実行するのに十分なリソースを有しない個人用デバイスにおけるシステムオンチップ基盤のアンチマルウェアサービスの提供方法であって、システムオンチップの使用のための作業の集まりである関数ライブラリーを、前記システムオンチップが装着される前記デバイスに格納するステップと、前記デバイスが、前記ライブラリーに含まれた少なくとも一つの作業を呼び出して、ウイルススキャニングの対象になるスキャニング用データ及びスキャニングを指示するコマンドをアプリケーションとして提供されるユーザインタフェースを介してユーザから受け取ってＳｏＣ送信用データとして構成するとともに前記スキャニング用データに対するＳｏＣ送信用データを前記システムオンチップに送信するステップとを含み、前記作業は、前記システムオンチップで行われるウイルススキャニング、パケットデータフィルタリング、ウイルスパターンデータベース（ＤＢ）のアップデート、ルールパターンデータベース（ＤＢ）のアップデートのうち、少なくとも何れか一つに関わったことを特徴とする。
【００１１】
また、上記の目的を達成すべく、本発明のさらに他の一実施の形態によれば、デバイスにおいてシステムオンチップ基盤のアンチマルウェアサービスを提供する方法を行うコンピュータにより実行可能なプログラムが記録されたコンピュータで読み出すことができる記録媒体を提供する。
【００１２】
また、上記の目的を達成すべく、本発明のさらに他の一実施の形態によれば、システムオンチップ基盤のアンチマルウェアサービスの提供方法を行うコンピュータにより実行可能なプログラムが記録されたコンピュータで読み出すことができる記録媒体を提供する。
【発明の効果】
【００１３】
本発明の一つ以上の実施の形態によれば、資源の限定されたモバイルデバイスにおいて資源を少なく消費しながらウイルスを高速でスキャニングでき、パケットをフィルタリングできる。
【００１４】
本発明の一つ以上の実施の形態によれば、アンチマルウェアサービスを提供するシステムオンチップとデバイスとの間を互いにインタフェースできる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施の形態によるデバイスを説明するために提供される図である
【図２】図１の実施の形態を説明するために提供される図である。
【図３】図１の実施の形態を説明するために提供される図である。
【図４】本発明の他の実施の形態に係るデバイスを説明するための図である。
【図５】本発明の他の実施の形態に係るデバイスを説明するための図である。
【図６】本発明の他の実施の形態に係るデバイスを説明するための図である。
【図７】本発明の他の実施の形態に係るデバイスを説明するための図である。
【図８】本発明の一実施の形態によるＡＶ  ＵＩを説明するための図である。
【図９】本発明の一実施の形態によるＦＷ  ＵＩを説明するための図である。
【図１０】本発明の一実施の形態によるＡＶ  ＵＩとＦＷ  ＵＩのアップデート動作を説明するための図である。
【図１１】本発明の一実施の形態によるＳｏＣ送信型データを説明するための図である。
【図１２】本発明の一実施の形態によるアンチマルウェアサービスの提供方法を説明するための図である。
【図１３】本発明の一実施の形態によるＡＶ  ＵＩの動作を説明するための図である
【図１４】本発明の一実施の形態によるＦＷ  ＵＩの動作を説明するための図である
【図１５】本発明の例示的な実施の形態によるＳｏＣの効果を説明するための図である。
【図１６】本発明の例示的な実施の形態によるＳｏＣの効果を説明するための図である。
【図１７】本発明の例示的な実施の形態によるＳｏＣの効果を説明するための図である。
【図１８】本発明の例示的な実施の形態によるＳｏＣの効果を説明するための図である。
【図１９】本発明の例示的な実施の形態によるＳｏＣの効果を説明するための図である。
【図２０】本発明の例示的な実施の形態によるＳｏＣの効果を説明するための図である。
【発明を実施するための形態】
【００１６】
以上の本発明の目的、他の目的、特徴及び利点は、添付された図面と関連した以下の好ましい実施の形態により容易に理解されるはずである。しかしながら、本発明は、ここで説明される実施の形態に限定されずに他の形態で具体化されることもできる。むしろ、ここで紹介される実施の形態は、開示された内容が徹底かつ完全になるように、そして当業者に本発明の思想を十分に送信させるために提供されることである。本明細書において、ある構成要素が他の構成要素上にあると言及される場合に、それは、他の構成要素上に直接形成されうるか、又はそれらの間に第３の構成要素が介在されうることを意味する。
【００１７】
本明細書で使用された用語は、実施の形態を説明するためのもので、本発明を限定するものではない。本明細書において、単数形は、特に言及しない限り、複数形も含む。明細書で使用される「含む（ｃｏｍｐｒｉｓｅｓ）」及び／又は「含む（ｃｏｐｒｉｓｉｎｇ）」と言及された構成要素は、一つ以上の他の構成要素の存在又は追加を排除しない。
【００１８】
以下、図面を参照して本発明を詳細に説明する。以下の特定の実施の形態を述べるにおいて、色々な特定の内容は、発明をさらに具体的に説明し理解を助けるために作成された。
しかしながら、本発明を理解することができる程度のこの分野における知識を有した読者は、このような色々な特定の内容がなくても使用されうることを認知できる。ある場合には、発明を述べるにおいて周知で発明と大きく関連のない部分は、本発明を説明するにおいて特別な理由なしで混乱を引き起こすことを防止するために述べないことを予め言及しておく。
【００１９】
図１は、本発明の実施の形態に係るアンチマルウェアサービスを提供するシステムオンチップが装着されたデバイスの動作を説明するためのブロック図である。
【００２０】
図１に示すように、本発明の一 実施の形態によるデバイス１００は、オペレーティングシステム（ＯＳ:Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１１０、アンチマルウェアサービスを提供するアンチマルウェアシステム１２０（ 以下、ＡＭシステムとする） の動作のためのＳｏＣドライバー、データの格納のための格納部１３０、及びアンチマルウェアサービスと関連したアプリケーション１０２を備えることができる。
【００２１】
本実施の形態においてデバイス１００は、図１には示していないが、上記の構成要素の動作のために中央処理装置（ＣＰＵ）、バス（ＢＵＳ）、メモリ（Ｍｅｍｏｒｙ）、格納部等をさらに備えることができる。例えば、アプリケーション又はオペレーティングシステムのようなプログラムは、ある格納部（（ｅｘ）ＨＤＤ、不揮発性メモリ）に格納されてから、メインメモリにロードされて中央処理装置の制御下で動作できる。このようにプログラムが動作するためには、メモリにロードされて中央処理装置の制御下で動作するということは、既に周知の技術的な内容であるから、本願明細書でプログラムの動作を説明するときには、そういう動作原理は省略する。また、プログラムを格納する格納部、プロセッサ、及びメモリのようなハードウェアは必要なものであるが、理解の便宜のためにこれらのハードウェアは、図示を省略する。  
【００２２】
ＡＭシステム１２０は、ウイルススキャニング及び／又はパケットデータに対するフィルタリング動作を行うことができ、システムオンチップ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）形態で具現化されて、デスクトップ、ラップトップ、スマートフォン、タブレットＰＣなどネットワーク通信が可能な機器自体に装着されうる。
【００２３】
ＡＭシステム１２０は、デバイス１００からウイルススキャニング対象になるデータ（以下、スキャニング用データとする）を受信し、スキャニング用データにウイルスが存在しているかどうかをスキャニングした後、スキャニング結果をデバイス１００に通知する。
【００２４】
ＡＭシステム１２０は、ウイルスパターンデータベース（以下、ＤＢとする）を格納しており、ウイルスパターンＤＢを利用してウイルススキャニング動作を行うことができる。ＡＭシステム１２０は、デバイス１００からウイルスパターンＤＢのアップデートのためのデータを受信し、受信したデータを利用して予め格納していたウイルスパターンＤＢをアップデートする。
【００２５】
請求項を含んだ本願明細書において「ウイルス」とは、デバイス１００の動作に害を及ぼすことのできる悪性コード、トロイの木馬、スパイウェア、アドウェアなど周知のすべてのマルウェアデータを含む意味として使用される。
【００２６】
ＡＭシステム１２０は、パケットデータに対してフィルタリングルールを適用してパケットデータを「通過」又は「遮断」するかを判断し、判断結果に応じてパケットデータを通過又は遮断するフィルタリング動作を行うことができる。ＡＭシステム１２０がフィルタリングするパケットデータは、デバイス１００から受信したものであるか、又はＡＭシステム１２０が外部から直接受信するものでありうる。ＡＭシステム１２０は、ルールパターンＤＢを格納しており、ルールパターンＤＢを利用してフィルタリング動作を行うことができる。ＡＭシステム１２０は、デバイス１００からルールパターンＤＢのアップデートのためのデータを受信し、受信したデータを利用して予め格納していたルールパターンＤＢをアップデートする。
【００２７】
ＡＭシステム１２０は、ＳｏＣドライバーとデータの送受信のためのアプリケーションプロセッサドライバー（以下、ＡＰドライバーとする）を備えることができる。本発明の一実施の形態によるＳｏＣドライバーは、ＳｏＣ送信型データを送受信するためのドライバーと、パケットデータの送受信のためのドライバーとを備える。
【００２８】
アプリケーション１０２は、ＡＭシステム１２０のウイルススキャニング動作に関わったユーザインタフェースを提供するアプリケーション（以下、ＡＶ  ＵＩアプリケーションとする）、ＡＭシステム１２０のフィルタリング動作に関わったユーザインタフェースを提供するアプリケーション（以下、ＦＷ  ＵＩアプリケーション）、及びフィルタリングの対象になるパケットデータを使用するアプリケーション（ 例えば、ウェブブラウザ又はＦＴＰ、ＳＮＳソフトウェアのようなネットワークアプリケーション）のうち、少なくとも何れか一つを含む。
【００２９】
ＡＶ  ＵＩアプリケーションは、ユーザからウイルススキャニング動作に対する命令を受け取ることができ、ＡＭシステム１２０によるウイルススキャニング結果を受信してユーザに表示できる。また、ＡＶ  ＵＩアプリケーションは、ユーザからウイルススキャニング動作に対するスキャニング日程を受け取って格納することができる。以後、ＡＶ  ＵＩアプリケーションは、デバイス１１０が格納するスキャニング日程を参照し、そのスキャニング日程にしたがってＡＭシステム１２０にスキャニング動作を指示できる。また、ＡＶ  ＵＩアプリケーションは、ウイルスパターンＤＢに対したアップデート動作を行うことができる。例えば、ＡＶ  ＵＩアプリケーションは、予め格納するアップデート日程を参照し、アップデート日程にしたがってアップデート用ウイルスパターンＤＢをアップデート用サーバに要請して受信した後、ＡＭシステム１２０に送信できる。
【００３０】
ＦＷ  ＵＩアプリケーションは、ＦＷ動作作業、ＦＷ停止作業、ルール追加作業、ルール変更作業、特定ルール除去作業、全体ルール除去作業、ルール状態表示作業、各ルールに適用されたパケットログ出力作業、及び基本ルール設定変更作業を提供できる。
【００３１】
例えば、ＦＷ  ＵＩアプリケーションは、ユーザからパケットデータフィルタリングに対するルールを受け取ることができ、ＡＭシステム１２０によったパケットデータフィルタリング結果をＡＭシステム１２０から受信してユーザに表示できる。また、ＦＷ  ＵＩアプリケーションは、ルールパターンＤＢに対したアップデート動作を行う。
【００３２】
ウェブブラウザ又はＦＴＰ、メッセンジャー、ＳＮＳソフトウェアのようなネットワークアプリケーションは、パケットデータをサブ側と送受信する。
【００３３】
ＯＳ１１０は、デバイス１１０のオペレーティングシステムとしてＡＭシステム１２０の動作のためのＳｏＣドライバー１１０を含む。
【００３４】
格納部１３０は、スキャニング用データを格納することができる。スキャニング用データは、例えば、実行ファイル、文書ファイル、データファイルなどを含み、ＡＭシステム１２０においてウイルスの有無をスキャニングする対象になる。
【００３５】
格納部１３０は、また、ウイルススキャニング設定情報とフィルタリング設定情報とを格納することができる。ウイルススキャニング設定情報は、スキャニング日程、ウイルスパターンＤＢに対したアップデート日程のうち、少なくとも一つを含み、フィルタリング設定情報は、ユーザから入力を受け取ったフィルタリングルールに対する情報を含む。
【００３６】
格納部１３０は、また、ユーザから入力を受け取ったフィルタリングルールが変換されたルールリストを格納することができる。
【００３７】
格納部１３０は、また、ＡＭシステム１２０を使用するために提供される関数（例えば、作業（ｏｐｅｒａｔｉｏｎｓ）の集まりである関数ライブラリ」を格納することができる。ここで、関数は、ＡＭシステム１２０で行われるウイルススキャニング作業、パケットデータフィルタリング作業、ウイルスパターンＤＢのアップデート作業、ルールパターンＤＢのアップデート作業、暗号化作業、復号化作業、ハッシュ値計算作業のうち、少なくとも何れかーつと関連したものであることができる。ここで、「関連」とは、そういう動作を行うのに直接又は間接的に必要であるということを示す。
【００３８】
上述した格納部１３０は、ＨＤＤ、ＳＤＤ、又はメモリなどのような記録媒体を意味できるが、これらに限定されるものでないことはもちろんである。そして、図１には、格納部１３０が１個のみ示されているが、本発明の実施の形態がこれに限定されるものではなく、本発明の他の実施の形態によれば、２個以上の記録媒体が含まれうることを理解しなければならない。例えば、格納部１３０は、スキャニング用データを格納する第１格納部、スキャニング設定情報とフィルタリング設定情報とを格納する第２格納部、ルールリストを格納する第３格納部として具現可能である。
【００３９】
ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１２１は、パケットデータ網にパケットデータを送信するか、又はそれから受信するためのものであって、ＡＭシステム１２０の一部として装着される。ＮＩＣ１２１は、例えば有線又は無線ラン網を介してパケットデータを受信することができ、ＡＭシステム１２０は、ＮＩＣ１２１が受信したパケットデータに対するフィルタリング動作を行った後、ＳｏＣドライバーに送信する。
【００４０】
一方、図１ には示していないが、デバイス１００は、関数ライブラリーを介してシステムオンチップを動作させうるコミュニケーションインタフェース部（図示せず） 、コミュニケーションインタフェース部を介してシステムオンチップ動作コマンドと動作を送信し受信するように指定したプロトコル部（図示せず）をさらに備えることができる。
【００４１】
図２は、図１の実施の形態を説明するために提供される図であって、以下では、本実施の形態に係る図２を参照してウイルススキャニング動作を説明する。
【００４２】
ＡＶ  ＵＩアプリケーションは、ＡＭシステム１２０がウイルススキャニング用データに対するスキャニング動作を行うように指示できる。例えば、ＡＶ  ＵＩアプリケーションは、ユーザからスキャニング命令を受けるか、又は格納部１３０に予め格納されたウイルススキャニング設定情報に基づいてＡＭシステム１２０がウイルススキャニング動作を行うように指示できる。
【００４３】
本発明の一実施の形態によるＡＶ  ＵＩアプリケーションは、スキャニング用データをＳｏＣ送信型データとして構成し、ＳｏＣ送信型データをＳｏＣドライバー１１０に送信する。ＳｏＣドライバー１１０は、ＡＶ  ＵＩアプリケーションから受信したＳｏＣ送信型データをＡＰドライバーに送信する。以後、ＡＭシステム１２０は、ＡＰドライバーが受信したＳｏＣ送信型データに含まれたスキャニング用データに対してウイルススキャニング動作を行い、遂行結果をＡＰドライバーを介してＳｏＣドライバー１１０ に送信する。ＳｏＣドライバー１１０ は、遂行結果をＡＶ  ＵＩアプリケーションに送信し、ＡＶ  ＵＩアプリケーションは、スキャニング結果をユーザに表示できる。
【００４４】
ＡＶ  ＵＩアプリケーションで作成するスキャニング用データに対するＳｏＣ送信型データは、例えば、図１１に示すデータ形式を有することができる。すなわち、命令の種類を表すコマンド項目、将来拡張性を考慮したリザーブ（ｒｅｓｅｒｖｅｄ）項目データのサイズを表す項目、データ項目を含むことができる。ここで、データ項目にスキャニング用データやアップデートのためのデータが挿入される。
【００４５】
本発明の一実施の形態によれば、コマンド項目は、ＡＭシステム１２０が行う動作の種類を表し、その動作がウイルススキャニングに関連したものか、それともフィルタリングに関連したものかを表すことができる。例えば、コマンド項目に挿入される命令語が１〜１００のうち何れか一つであると、挿入された命令語は、ウイルススキャニング関連命令語であり、コマンド項目に挿入される命令語が１０１〜２００のうち何れか一つであると、挿入された命令語は、フィルタリング関連命令語から構成できる。このような場合、コマンドは、遂行する動作の種類を表すと同時に、その動作がフィルタリングに関連したものであるか、それともウイルススキャニングに関連したものであるかを表すことができる。しかしながら、これとは異なり、コマンドは、ＡＭシステム１２０ が行う動作のみを表し、その動作がウイルススキャニングと関連したことか、それともフィルタリングに関連したことかを表す項目を別に追加する構成も可能である。
【００４６】
一方、本願明細書において、「ＳｏＣ送信型データ」とは、特別な言及がない限り図１１に示す形式を有するが、本発明に係る一つ以上の実施の形態が図１１の形式にのみ限定されるものではないことはもちろんである。例えば、ウイルススキャニングに対するＳｏＣ送信型データは、ウイルススキャニングを指示するコマンドと、スキャニング用データを含むものであり、アップデート用データに対するＳｏＣ送信型データは、アップデートを指示するコマンドと、アップデートするデータとを含む。
【００４７】
ＡＶ  ＵＩアプリケーション１０２は、格納部１３０に格納された関数ライブラリーに含まれた作業のうち、少なくとも何れか一つを呼び出してウイルススキャニング用データに対するＳｏＣ送信型データを構成できる。
【００４８】
次に、図２を参照してＡＭシステム１２０が格納するウイルスパターンＤＢのアップデート動作を説明する。ＡＶ  ＵＩアプリケーションは、格納部１３０に格納されたウイルススキャニング設定情報を参照して、ウイルスパターンＤＢのアップデート時期になったかどうかを判断する。
【００４９】
ＡＶ  ＵＩアプリケーションは、ウイルスパターンＤＢのアップデート時期になったと判断される場合、アップデートサーバ（図示せず）にアップデート用ウイルスパターンＤＢを送信することを要請する。アップデートサーバからアップデート用ウイルスパターンＤＢを受信すると、格納部１３０に格納された関数ライブラリーのファイルのうち、ウイルスパターンＤＢのアップデートのために必要な作業を呼び出して、ＳｏＣ送信型データを構成する。
【００５０】
ＡＶ  ＵＩアプリケーションは、ウイルスパターンＤＢに対したＳｏＣ送信型データをＳｏＣドライバーに送信し、ＳｏＣドライバーは、ＡＰドライバーに送信する。ＡＭシステムは、予め格納したウイルスパターンＤＢを、ＡＰドライバーが受信したアップデート用ウイルスパターンＤＢを利用してアップデートする。
【００５１】
本例示的な実施の形態において、ＡＶ  ＵＩアプリケーションが、ウイルスパターンＤＢのアップデートサーバにアップデートを要請しているが、このような構成にのみ本願発明の例示的な実施の形態が限定されるものではないことはもちろんである。例えば、本願発明の他の例示的な実施の形態によれば、ＡＶ  ＵＩアプリケーションの要請がなくても、アップデートサーバ（図示せず） が、アップデートするウイルスパターンＤＢが存在すると、ＡＶ  ＵＩアプリケーションにアップデート用データを送信できる。
【００５２】
また、本例示的な実施の形態において、アップデートサーバ（図示せず）は、アップデート用ウイルスパターンＤＢを格納すること以外に、追加的に、ＡＭシステム１２０で動作するアンチウイルススキャニングエンジンとファイヤーウォールエンジンとアップデートするためのデータも格納することができる。このような場合、ＡＶ  ＵＩアプリケーションは、アンチウイルススキャニングエンジンとファイヤーウォールエンジンに対するアップデート用データをアップデートサーバ（図示せず） から受信して、ＡＭシステム１２０に送信できる。
【００５３】
次に、図２を参照してＡＭシステム１２０が格納するルールパターンＤＢのアップデート動作を説明する。ＦＷ  ＵＩアプリケーションは、ユーザからフィルタリングルールを受け取って格納部１３０に格納することができる。以後、ＦＷ  ＵＩアプリケーションは、格納部１３０に格納されたルールを所定の形式を有したルールリストに変換し、ルールリストをＳｏＣ送信型データとして構成してＳｏＣドライバーに送信する。ここで、ＦＷ  ＵＩアプリケーションは、格納部１３０に格納された関数ライブラリーに含まれた作業を呼び出して、ルールリストに対するＳｏＣ送信型データを構成できる。
【００５４】
ルールリストに対するＳｏＣ送信型データを受け取ったＳｏＣドライバーは、ＡＰドライバーに再度送信する。ＡＭシステム１２０は、ルールリストを所定の形式を有したパターンＤＢの形態に再度変換させ、該変換させたデータを利用して予め格納していたルールパターンＤＢをアップデートする。
【００５５】
図３は、図１の例示的な実施の形態を説明するために提供される図である。図３を参照してパケットデータフィルタリング動作について説明すると、ＮＩＣ１２１がパケットデータを受信すると、ＡＭシステム１２０は、予め格納していたルールパターンＤＢを適用してＮＩＣ１２１が受信したパケットデータを通過させるか否かを判断する。ＡＭシステム１２０が「通過」と判断した場合、ＡＭシステム１２０ は、ＮＩＣ１２１が受信したパケットデータをＳｏＣドライバーに送信し、ＳｏＣドライバーは、ウェブブラウザ又はネットワークアプリケーションに送信する。
【００５６】
一方、ＡＭシステム１２０が「遮断」と判断した場合、ＡＭシステム１２０ は、ＮＩＣ１２１が受信したパケットデータをＳｏＣドライバーに送信せずに削除する。
【００５７】
上述した例示的な実施の形態において、ＡＭシステム１２０が、ＮＩＣ１２１が受信したパケットデータに対してフィルタリング動作を行う場合を説明したが、ＡＭシステム１２０がフィルタリング動作とスキャニング動作とを併行するように構成することも可能である。すなわち、ＡＭシステム１２０は、ＮＩＣ１２１が受信したパケットデータに対してフィルタリング動作を行い、これと並行してそのパケットデータにウイルスが存在しているか否かをスキャニングするスキャニング動作も行うことができる。
【００５８】
フィルタリング動作とスキャニング動作とを併行する場合には、フィルタリング結果「通過」と判断した場合でも、パケットデータにウイルスが存在する場合には、ＡＭシステム１２０は、ＳｏＣドライバー１１０にパケットデータを送信せずに削除する。パケットデータに対してフィルタリング動作とスキャニング動作とを併行する構成についてのさらに詳細な説明は、図５を参照して後述する。
【００５９】
以下、ウェブブラウザやネットワークアプリケーションがパケットデータを外部に送信する場合について説明する。このような場合は、図３での矢印が表示する方向の反対方向にパケットデータが移動するようになる。すなわち、ウェブブラウザやネットワークアプリケーションがパケットデータをＳｏＣドライバー１１０に送信すると、ＡＭシステム１２０は、ＳｏＣドライバー１１０ から受信したパケットデータをＮＩＣ１２１を介して外部に送信する。
【００６０】
図４は、本発明の他の実施の形態に係るデバイスを説明するための図である。図４に示すように、デバイス１００は、４Ｇモデム１１１をさらに有する。デバイス１００は、４Ｇモデム１１１を介してもパケットデータを受信又は送信できる。
【００６１】
本実施の形態において４Ｇモデム１１１は、移動通信のデータ網にパケットデータを送信するか、又はパケットデータを受信することができる。ここで、４Ｇモデム１１１は、移動通信のためのモデムであって、例えば４Ｇ通信技術のうちの一つであるＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖａｌｕａｔｉｏｎ）又はＷｉＢｒｏ／ＷｉＭＡＸ端末モデムでありうる。一方、本実施の形態は、データ通信網を介してパケットデータを送受信できるモデムであれば、如何なるモデムでも使用可能なので、４Ｇモデムでない他の方式のデータ網モデムも使用可能である。
【００６２】
４Ｇモデム１１１がデータパケットを受信すると、ＳｏＣドライバーは、ＡＭシステム１２０に送信する。ＡＭシステム１２０は、データパケットに対してフィルタリング動作を行った後、「通過」と決定した場合にのみ再度ＳｏＣドライバーに送信する。以後、ＳｏＣドライバーは、データパケットをウェブブラウザ又はネットワークアプリケーションに送信する。図４の実施の形態の場合にも、ＡＭシステム１２０が、４Ｇモデム１１１が受信したパケットデータに対してフィルタリングとスキャニング動作を並行して行うことができる。
【００６３】
４Ｇモデム１１１は、４Ｇ通信技術の一つであるＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖａｌｕａｔｉｏｎ）端末モデムでありうる。一例として、４Ｇモデム１１１は、高画質動画データを受信して変換できる。
【００６４】
図５は、本発明の他の実施の形態に係るデバイスを説明するための図である。図５の実施の形態は、ＡＭシステムがシステムオンチップの基盤で具現化されてデバイスに装着された例である。
【００６５】
図５に示すように、デバイス２００は、アプリケーション、アンチマルウェアＳｏＣストリームインタフェースドライバー２１１、及びアンチマルウェアＳｏＣミニポートドライバー２１７を含む。
【００６６】
デバイス２００が有するアプリケーションは、アンチマルウェアＵＩアプリケーション２０１、ウェブブラウザ（Ｗｅｂ  Ｂｒｏｗｓｅｒ）２０３及びネットワークアプリケーション（Ｎｅｔｗｏｒｋ  Ａｐｐｌｉｃａｔｉｏｎｓ）２０５を含む。ここで、アンチマルウェアＵＩアプリケーションは、ＡＶ  ＵＩアプリケーションとＦＷ  ＵＩアプリケーションを含み、これらを各々区別する必要がない場合には、「ＡＭ  ＵＩアプリケーション」として通称する。
【００６７】
アンチマルウェアＳｏＣストリームインタフェースドライバー２１１（以下、ストリームインタフェースドライバーとする）は、ＡＭ  ＵＩアプリケーションからデータを受信してアンチマルウェアＳｏＣのＡＰドライバー２２１に送信するか、又はＡＰドライバー２２１からデータを受信してＡＭ  ＵＩアプリケーションに送信できる。
【００６８】
発明の一実施の形態によるアンチマルウェアＳｏＣストリームインタフェースドライバー２１１は、ＡＭ  ＵＩアプリケーションが生成したＳｏＣ送信型データを受信して、ＡＰドライバーに送信できる。ここで、ＳｏＣ送信型データは、例えば、図１１のような形式を有することができ、スキャニング用データに対するＳｏＣ送信型データ、ウイルスパターンＤＢに対するＳｏＣ送信型データ、又はルールリストに対するＳｏＣ送信型データがありうる。
【００６９】
アンチマルウェアＳｏＣミニポートドライバー２１７（ 以下、ミニポートドライバーとする）は、ＦＷ アプリケーション（例えば、ウェブブラウザやネットワークアプリケーション）からパケットデータを受信して、ＡＰドライバー２２１に送信するか、又はＡＰドライバー２２１からパケットデータを受信してＦＷ アプリケーションに送信する。
【００７０】
本発明の一実施の形態によるミニポートドライバー２１７は、また、パケットデータをＡＰドライバー２２１に送信する前に、プロセス別にフィルタリングする動作を行うことができる。ユーザが設定したルールのうち、プロセス別に設定されたルールがある場合、その該当ルールは、カーネルが管理する領域に格納される。ミニポートドライバー２１７は、ＦＷアプリケーションからパケットデータを受信すると、オーナープロセスを把握した後、プロセス別ルールと比較してパケットを通過させるかどうかを判断する。
【００７１】
ＴＣＰ／ＩＰプロトコルを使用してパケットデータを送受信する場合、図５に示すように、デバイス２００は、ＴＣＰ／ＩＰプロトコルドライバー２１５を含む。また、デバイス２００がウィンドウズ（ＷＩＮＤＯＷＳ）ＯＳを使用する場合には、ＷｉｎＳｏＣｋ２１３を含む。上述した、ＴＣＰ／ＩＰプロトコルドライバー２１５とＷｉｎＳｏＣｋ２１３の動作は、従来広く知られたことであるから、これらの動作については説明しない。一方、デバイス２００がパケットデータをＴＣＰ／ＩＰプロトコルとは異なるプロトコルを利用する場合であると、他のプロトコルの使用のためのドライバーを含むことができる。また、デバイス２００がＷｉｎｄｏｗｓＯＳではない他のＯＳを使用する場合には、ＷｉｎＳｏＣｋ２１３でない他の構成要素を含むことができる。
【００７２】
デバイス２００は、ウイルススキャニングとフィルタリング動作を行うアンチマルウェアＳｏＣを装着できる。
【００７３】
デバイス２００に装着されるアンチマルウェアＳｏＣは、ＡＰドライバー２２１、アンチマルウェアマネジャー（以下、ＡＭマネジャーとする）２２３、アンチウイルスマネジャー（以下、ＡＶマネジャーとする）２２５、ファイヤーウォールマネジャー（以下、ＦＷマネジャーとする）２２７、アンチマルウェアエンジン（以下、ＡＶエンジンとする）２２６、ウイルスパターンＤＢ２２２、ルールパターンＤＢ２２４、防火壁（ファイヤーウォール）エンジン（以下、ＦＷエンジンとする）２２９、ＮＩＣドライバー２２８、及びＮＩＣ２３１を備える。
【００７４】
ＡＰドライバー２２１は、ストリームインタフェースドライバー２１１又はミニポートドライバー２１７からデータを受信し、仮に、ストリームインタフェースドライバー２１１から受信したデータであると、ＡＭマネジャー２２３に送信し、ミニポートドライバー２１７から受信したデータであると、ＦＷエンジン２２９に送信する。
【００７５】
ＡＭマネジャー２２３は、ＡＰドライバー２２１から受信したデータをパッシングしてＡＶ マネジャーに送信するか、又はＦＷマネジャーに送信するかを判断する。例えば、ＡＭ マネジャー２２３は、ＳｏＣ送信型データに含まれたコマンドがどんなコマンドなのかを確認して、ＡＶ マネジャーに送信するか、又はＦＷマネジャーに送信するかを決定できる。
【００７６】
本発明の一実施の形態によれば、ＳｏＣ送信型データに含まれたコマンドは、スキャニングに関わったものであるか、又はフィルタリングに関わったものであるかを表すことができる。ＡＭマネジャー２２３は、コマンドが具体的にどんな動作を指示するかを必ず確認する必要はなく、そのコマンドがスキャニングに関わったものであるか、又はフィルタリングに関わったものであるかを確認して該当する所に送信できる。
【００７７】
ＡＶマネジャー２２５は、ＡＭ マネジャー２２３から受信したＳｏＣ送信型データをパッシングして、コマンドを確認し、コマンドに応じる動作を行う。例えば、コマンドがウイルススキャニング指示を表すと、ＡＶ マネジャー２２５は、ＡＶエンジン２２６にウイルススキャニング動作指示をする。ＡＶ エンジン２２６は、ＳｏＣ送信型データに含まれているスキャニング用データに対してウイルスパターンＤＢ２２２を適用して、ウイルスの存在有無を判断する。
【００７８】
ＡＶエンジン２２６は、ウイルス判断結果をＡＶマネジャー２２５に通知し、ＡＶマネジャー２２５は、ＡＭマネジャー２２３に通知し、ＡＭマネジャー２２３は、ＡＰドライバー２２１に通知し、ＡＰドライバー２２１は、ストリームインタフェースドライバー２１１に通知し、ストリームインタフェースドライバー２１１は、ＡＭ  ＵＩアプリケーション２０１に通知する。
【００７９】
一方、ＡＶマネジャー２２５がＳｏＣ送信型データをパッシングした結果、コマンドがウイルスパターンＤＢのアップデートを表すと、ＡＶマネジャー２２５は、ＳｏＣ送信型データに含まれたアップデート用ウイルスパターンＤＢを利用して、予め格納していたウイルスパターンＤＢ２２２をアップデートする。
【００８０】
ＡＭマネジャー２２３がＳｏＣ送信型データをパッシングした結果、フィルタリングと関連したコマンドが含まれていると、受信したデータをＦＷマネジャー２２７に送信する。ＦＷマネジャー２２７は、ＳｏＣ送信型データをパッシングしてコマンドを確認し、コマンドに応じる動作を行う。例えば、コマンドがルールパターンＤＢ２２４をアップデートすることであると、ＦＷマネジャー２２７は、ＳｏＣ送信型データに含まれたルールリストをルールパターンに変換し、変換したルールパターンを利用してＳｏＣが予め格納したルールパターンＤＢ２２４をアップデートする。
【００８１】
ＡＰドライバー２２１がミニポートドライバー２１３からデータを受信した場合、ＡＰドライバー２２１は、受信したデータをＦＷエンジン２２９に送信する。ＦＷエンジン２２９は、パケット検証（Ｖｅｒｉｆｉｃａｔｉｏｎ）過程を経て、以後パケットフィルタリング動作を行う。ここで、パケット検証過程は、例えばＳｙｎ  Ｆｌｏｏｄｉｎｇのような攻撃を防止するためである。韓国特許登録番号１０−８０６４９２号（ＴＣＰ状態遷移を利用したサービス拒否攻撃の遮断方法） には、パケット検証方法の一例が開示されており、この韓国特許に開示された技術内容は、本願発明と相反しない限度で本願明細書の一部として結合される。
【００８２】
ＦＷエンジン２２９は、パケットフィルタリング動作を行った結果、「通過」と判断し
た場合にのみＡＰドライバー２２１から受信したデータをＮＩＣドライバー２２８に送信する。ＮＩＣドライバー２２８は、ＦＷエンジン２２９から受信したデータをＮＩＣ２３１に送信する。以後、ＮＩＣ２３１は、外部ネットワークにデータを送信する。
【００８３】
一方、ＮＩＣ２３１がパケットデータを外部ネットワークから受信すると、ＮＩＣドライバー２２８は、パケットデータをＦＷエンジン２２９に送信する。ＦＷエンジン２２９は、パケット検証過程を経て、以後パケットフィルタリング動作を行う。
【００８４】
実施の形態においてＦＷエンジン２２９は、また、パケットデータにウイルススキャ
ニングするデータが含まれているかどうかを判断し、ウイルススキャニングするデータ（例えば、ファイル、スクリプト） が含まれていると判断された場合、ＡＶエンジン２２６にパケットデータに対してウイルススキャニングをすることを知らせる。ＡＶエンジン２２６は、ＦＷエンジン２２９からパケットデータを受信し、受信したパケットデータに対してウイルスパターンＤＢ２２２を適用し、ウイルスの存在有無をスキャニングした後スキャニング結果をＦＷエンジン２２９に通知する。
【００８５】
ＦＷエンジン２２９は、ＡＶエンジン２２６から、パケットデータにウイルスが存在するという結果を受けた場合には、パケットデータをＡＰドライバー２２１に送信せずに削除（例えば、廃棄） する。
【００８６】
一方、ＦＷエンジン２２９は、パケットフィルタリング結果「通過」と判断し、そしてパケットデータにウイルスが存在しない結果を受けた場合にのみパケットデータをＡＰドライバー２２１に送信する。ＡＰドライバー２２１は、パケットデータをミニポートドライバー２１７に送信し、以後パケットデータは、ＴＣＰ／ＩＰプロトコルドライバー２１５を経てＦＷドライバーに送信される。
【００８７】
上述したように、図５の例示的な実施の形態において、ＡＶエンジン２２６は、ＡＶマネジャー２２５からウイルススキャニングする対象になるデータを受信することもあるが、ＦＷエンジン２２９からもウイルススキャニングする対象になるデータを受信することもある。
【００８８】
一方、図５の例示的な実施の形態には示していないが、デバイス２００は、ＡＭ ＳｏＣの動作のための関数の集まりである関数ライブラリーをさらに含み、ＡＭ  ＵＩアプリケーションは、関数ライブラリーに含まれた関数のうち、少なくとも一つ以上を呼び出して、ＳｏＣ送信型データを構成する。
【００８９】
図６は、本発明の他の例示的な実施の形態に係るデバイスを説明するための図である。
【００９０】
図６の例示的な実施の形態は、ＮＩＣ３３１が受信したパケットデータに対しては、ウイルススキャニング動作を行わずに、フィルタリング動作のみを行うという点で図５の例示的な実施の形態と差がある。すなわち、ＦＷエンジン３２９は、ＮＩＣ３３１が受信したパケットデータに対してパケット検証過程を経、フィルタリング動作を行った後「通過」と判断した場合には、パケットデータをＡＰドライバー３２１に送信する。以後、ＡＰドライバー３２１は、ミニポートドライバー３１７にパケットデータを送信し、ミニポートドライバー３１７は、ＴＣＰ／ＩＰプロトコルドライバー３１５を介してＦＷアプリケーションに送信する。
【００９１】
一方、ＡＭアプリケーションは、パケットデータにファイルのようにスキャニングするデータが含まれている場合、そういうファイルに対してウイルススキャニングすることを指示するＳｏＣ送信型データを構成した後、ストリームインタフェースドライバー３１１に送信する。ストリームインタフェースドライバー３１１は、ＡＰドライバー３２１にＳｏＣ送信型データを送信し、ＡＰドライバー３２１は、ＡＭマネジャー３２３にＳｏＣ送信型データを送信する。以後、ＡＭマネジャー３２３は、ＳｏＣ送信型データをバッシングしてスキャニングに関わったものであるか、又はフィルタリングに関わったものであるかを判断する。本ＳｏＣ送信型データの場合、ウイルススキャニングに関わったものであるから、ＡＶマネジャー３２５にＳｏＣ送信型データが送信され、ＡＶマネジャー３２５は、コマンドを確認した後、ＡＶエンジン３２６にウイルススキャニングすることを指示する。このように、図６の実施の形態において、ＡＶエンジン３２６は、スキャニングする対象になるデータをＦＷエンジン３２９から直接受信せず、ＡＰドライバー３２１を介して受信する。
【００９２】
図６の残りの構成要素の動作は、図５における類似の図面番号が付された構成要素と同一又は類似の動作を行うので、その詳細な説明は省略する。
【００９３】
図７は、本発明の他の実施の形態に係るデバイスを説明するための図である。
【００９４】
図７の実施の形態は、図６の例示的な実施の形態と比較すると、移動通信のデータ網を介してパケットデータを送受信できる４Ｇモデム４１４と、４Ｇドライバー４１９とをさらに備える。
【００９５】
４Ｇモデム４１４は、外部の移動通信のデータ網からパケットデータを受信することができる。
【００９６】
４Ｇドライバー４１９は、４Ｇモデム４１４が受信したパケットデータをＡＰドライバー４２１に送信し、ＡＰドライバー４２１は、パケットデータをＦＷエンジン４２９に送信する。以後、ＦＷエンジン４２９がパケット検証過程を行った後にパケットフィルタリング動作を行って、「通過」かどうかを判断する。「通過」と判断した場合、ＦＷエンジン４２９は、パケットデータをＡＰドライバー４２１に再度送信し、ＡＰドライバー４１７は、ＴＣＰ／ＩＰプロトコルドライバー４１５に送信し、ＴＣＰ／ＩＰプロトコルドライバー４１５は、ＦＷ アプリケーションに送信する。
【００９７】
以下、ＦＷ アプリケーションにおいて、パケットデータを４Ｇモデム４１４を介して送信する過程について説明する。ＦＷアプリケーションがデータの送信をＴＣＰ／ＩＰプロトコルドライバー４１５に指示すると、ＴＣＰ／ＩＰプロトコルドライバー４１５は、パケットデータを生成してＡＰドライバー４２１に送信する。ＡＰドライバー４２１は、パケットデータをＦＷエンジン４２９に送信し、ＦＷエンジン４２９は、パケットデータに対してパケット検証過程を経てパケットフィルタリング動作を行う。「通過」と判断した場合にのみ、ＦＷエンジン４２９は、パケットデータをＡＰドライバー４２１に送信し、ＡＰドライバー４２１は、パケットデータを４Ｇドライバー４１９に送信する。以後、４Ｇドライバー４１９は、４Ｇモデム４１４に送信し、４Ｇモデム４１４が外部移動通信のデータ網にパケットデータを送信する。
【００９８】
図７の例示的な実施の形態は、４Ｇモデム４１４を介してパケットデータを送受信すること以外にも、ＮＩＣ４３１を介してパケットデータを送受信できる。図７の例示的な実施の形態は、４Ｇモデム４１４と、４Ｇドライバー４１９をさらに備えること以外には、図６の例示的な実施の形態と同一又は類似している。図７の残りの構成要素の動作は、図６での類似の図面番号が付された構成要素と同じ動作を行うので、その詳細な説明は省略する。
【００９９】
図８は、本発明の一実施の形態によるＡＶ  ＵＩアプリケーションを説明するための図である。図８の実施の形態に係るデバイス５００は、スキャンの対象になるファイル（スキャン用データ）をファイルストリームドライバーに送信するスキャンファイルセンダー５０５と、ＡＭ ＳｏＣ５２０からＡＶスキャン結果を受信するメッセージレシーバー５０７を備える。スキャン用データを送信することと重要な関連性のない構成要素は、説明の便宜のために図８に示していないことを理解しなければならない。
【０１００】
図８に示すように、ＡＶ  ＵＩアプリケーションは、ユーザにマニュアルスキャン、ファイルイベントスキャン、デバイスイベントスキャン、スケジュールスキャン、メモリスキャン、入力バッファスキャンのうち、少なくとも何れか一つのスキャン命令を受け取ることができる。ＡＶ  ＵＩアプリケーションは、ユーザから受け取ったスキャン命令をスキャンキュー５０３に格納し、スキャンファイルセンダー５０５は、スキャンキュー５０３に格納されたスキャン命令を順次行う。すなわち、スキャンファイルセンダー５０５は、スキャンキュー５０３に格納されたスキャン命令とスキャニング対象データとを含むＳｏＣ送信型データを構成した後、ストリームインタフェースドライバー５１１に送信し、ストリームインタフェースドライバー５１１は、ＡＭ ＳｏＣ５２０にＳｏＣ送信型データを送信する。ＡＭ ＳｏＣ５２０は、ＳｏＣ送信型データに含まれたスキャニング対象データに対するスキャニング動作を行い、スキャニング結果をストリームインタフェースドライバー５１１に送信し、ストリ- ムインタフェースドライバー５１１は、メッセージレシーバー５０７に送信する。メッセージレシーバー５０７は、スキャンキュー５０３にスキャニング結果を送信し、ＡＶ  ＵＩアプリケーションは、スキャンキュー５０３に格納されたスキャニング結果をユーザに表示する。
【０１０１】
図８の例示的な実施の形態は、スキャニング対象データを送信しスキャニング結果を受けるスキャンファイルセンダー５０５とメッセージレシーバー５０７とを別に具現化した実施の形態を表したものである。これとは異なり、ＡＶ  ＵＩアプリケーションがスキャンファイルセンダー５０５とメッセージレシーバー５０７の機能を含むように構成することも可能である。本願明細書において、スキャンファイルセンダー５０５とレシーバー５０７とが別に具現化されていない場合には、これらの機能をＡＶ  ＵＩアプリケーションが内包することを理解しなければならない。後述する、ＦＷコマンダーセンダー６０５とＦＷ コマンダーレシーバー６０７もやはり、別に具現化されていない場合には、これらの機能をＦＷ  ＵＩアプリケーションが内包すると理解しなければならない。
【０１０２】
図８の実施の形態は、スキャニング用データをＳｏＣ５２０に送信する専用アプリケーションを説明したが、ウイルスパターンＤＢデータをＳｏＣ５２０に送信する専用アプリケーションを具現化することも可能である。このような専用アプリケーションについては、図１０を参照して説明する。
【０１０３】
本発明の一実施の形態によれば、ＡＶ  ＵＩアプリケーションは、スキャニングに関わったすべての機能を内包するように具現化されることも可能であるが、図８と後述する図１０から分かるように、ＡＶ  ＵＩアプリケーションが有する機能の一部を専用にして行う専用アプリケーション（例えば、スキャンファイルセンダー、ＤＢファイルセンダ一等）を別に具現化することも可能である。ＦＷ  ＵＩアプリケーションの場合にも同様に、ＦＷ  ＵＩアプリケーションは、フィルタリングに関わったすべての機能を内包するように具現化されることが可能であるが、ＦＷ  ＵＩアプリケーションが有する機能の一部を専用にして行う専用アプリケーション（例えば、ＦＷ コマンドセンサ、ルールコンバーター等） を別に具現化することが可能である。
【０１０４】
図９は、本発明の一実施の形態によるＦＷ  ＵＩアプリケーションを説明するための図である。図９では、ＦＷ と関連したコマンドを送信しコマンド遂行結果を受信する専用ＦＷ  ＵＩアプリケーションを示す。図９でも、ＦＷ に関わったコマンドを送信することと重要な関連性のない構成要素は、説明の便宜のために省略したことを理解しなければならない。
【０１０５】
ＦＷ コマンドセンダー６０５は、ＦＷ に関わったコマンドをＳｏＣ送信型データとして構成してストリームインタフェースドライバー６１１に送信し、ストリームインタフェースドライバー６１１は、ＳｏＣ送信型データをＳｏＣ６２０に送信する。ＳｏＣ６２０は、ＳｏＣ送信型データを解析してコマンドに応じる動作を行った後、その結果をストリームインタフェースドライバー６１１に送信し、ストリームインタフェースドライバー６１１は、結果をＦＷ コマンドレシーバー６０７に送信する。
【０１０６】
図１０は、本発明の一実施の形態によるＡＶ  ＵＩアプリケーションとＦＷ  ＵＩアプリケーションのアップデート動作を説明するための図である。
【０１０７】
図１０の例示的な実施の形態は、アップデートのための専用アプリケーション（ＤＢパターンアップデート器とＤＢファイルセンダー）を含む場合である。
【０１０８】
図１０に示すように、ＡＶ  ＵＩアプリケーションは、格納部１３０に格納されたウイルススキャニング設定情報を参照して、ウイルスパターンＤＢのアップデート時期になったかどうかを判断する。ＡＶ  ＵＩアプリケーションは、アップデート時期になったと判断された場合、ＤＢパターンアップデート器（ＤＢ  Ｐａｔｔｅｒｎ  Ｕｐｄａｔｅｒ）にアップデートを指示する。ＤＢパターンアップデート器は、アップデートサーバにアップデート用ウイルスパターンＤＢがあると送信してくれることを要請する。ＤＢパターンアップデート器は、アップデートサーバからアップデート用ウイルスパターンＤＢを受信すると、アップデートするデータをＤＢファイルセンダー（ＤＢ  Ｆｉｌｅ  Ｓｅｎｄｅｒ）にＡＭシステム１２０に送信することを要請する。ＤＢファイルセンダーは、アップデート用ウイルスパターンＤＢに対したＳｏＣ送信型データを構成して、アンチマルウェアＳｏＣファイルストリームドライバー５１１に送信する。アンチマルウェアＳｏＣファイルストリームドライバー５１１、ＤＢファイルセンダーからＳｏＣ送信型データを受信してアンチマルウェアＳｏＣ５２０に送信する。
【０１０９】
次に、ＦＷ  ＵＩアプリケーションのルールパターンＤＢのアップデート動作を説明する。
【０１１０】
ＦＷ  ＵＩアプリケーションは、ユーザにパケットデータに対するフィルタリングルールを受け取り、格納部（図示せず）に格納する。ルールコンバーターは、ユーザから受け取ったルールをルールリストの形式に変換し、ルール間の衝突を検査する。仮に、ルール間に衝突が発生すると、ルールコンバーターは、ＦＷ  ＵＩアプリケーションにルール衝突事実を通知し、ＦＷ  ＵＩアプリケーションは、ユーザにルールが衝突したことを通知する。
【０１１１】
<表１> は、ルールコンバーターにより変換される前のフィルタリングルールの例であり、<表２> は、ルールコンバーターにより変換されたルールリストの例を示す。
【０１１２】
【表１】
2014089741.tif 000003
【０１１３】
表１において、ＩＰアドレス「１９２．１６８． ２．１１１／２７」は、ＩＰアドレスとサブネットマスクとを含む。すなわち、「／２７」は、サブネットマスクのプレフィックスを表し、それは、サブネットマスクが「２５５．２５５．２５５．２２４」であることを意味する。また、用語「Ｄｉｒ」は、「Ｄｉｒｅｃｔｉｏｎ」を表し、用語「Ｍａｃ」は、「Ｍａｃ  ａｄｄｒｅｓｓ」を表す。
【０１１４】
【表２】
2014089741.tif 000004
【０１１５】
ルールコンバーターは、所定の形式に変換されたルールリストに対するＳｏＣ送信型データを構成して、アンチマルウェアＳｏＣファイルストリームドライバー５１１に送信する。アンチマルウェアＳｏＣファイルストリームドライバー５１１は、ルールリストに対するＳｏＣ送信型データをアンチマルウェアＳｏＣ５２０に送信する。
【０１１６】
本実施の形態において、ルールコンバーターは、アンチマルウェアＳｏＣ５２０が装着されるデバイスの格納部（図示せず）に格納された関数を呼び出して、ＳｏＣ送信型データを構成することができ、ルールリストに対するＳｏＣ送信型データは、図１１のような形式を有することができる。ここで、コマンド項目には、ルールパターンＤＢのアップデート命令が含まれ、データ項目には、アップデート用ルールリストが含まれることができる。
【０１１７】
図１１は、本発明の一実施の形態によるＳｏＣ送信型データを説明するための図である。
【０１１８】
図１１に示すように、ＳｏＣ送信型データは、コマンドを表すコマンド項目、リザーブ（ｒｅｓｅｒｖｅｄ）項目、データサイズを表す項目、及びデータ項目を含む。上述した実施の形態においてストリームインタフェースドライバーは、単にＳｏＣ送信型データから構成された場合にのみ送信又は受信する。データサイズは、データ項目に含まれたデータのサイズを表し、データ項目には、スキャニング用データ又はアップデート用データが含まれることができる。
【０１１９】
ＡＭマネジャーは、ＳｏＣ送信型データからコマンドを確認してＳｏＣ送信型データがどんなサービス（すなわち、ＳｏＣが提供するサービス）に関わっているかを判断した後、ＡＶマネジャー又はＦＷマネジャーにＳｏＣ送信型データを送信する。ここで、ＳｏＣが提供するサービスは、例えば、ウイルススキャニングに関わったサービスであるか、又はパケットデータに対するフィルタリングサービスに関するものでありうる。
【０１２０】
ＡＶマネジャーは、ＳｏＣ送信型データに含まれたコマンドを確認してコマンドに応じる動作を行う。例えば、ウイルススキャニングコマンドであると、ＡＶマネジャーは、ＳｏＣ送信型データのデータ項目に含まれたデータに対してウイルススキャニングすることをＡＶ エンジンに指示する。
【０１２１】
ＦＷマネジャーは、ＳｏＣ送信型データに含まれたコマンドを確認してコマンドに応じる動作を行う。例えば、ルールパターンＤＢのアップデートコマンドであると、ＦＷマネジャーは、ＳｏＣ送信型データのデータ項目に含まれたデータをルールパターンの形態に変換し、このように変換したルールパターンで予め格納していたルールパターンＤＢをアップデートする。
【０１２２】
本発明の一実施の形態によれば、ＦＷアプリケーションやＡＶアプリケーションは、ＳｏＣの動作のための作業から構成された関数ライブラリーの作業のうち、少なくとも一つ以上の作業を呼び出してＳｏＣ送信型データを生成する。本開示（Ｄｉｓｃｌｏｓｕｒｅ）において、ＳｏＣに送信するＳｏＣ送信型データが生成されるとき、上述した作業を呼び出すという記載がなくてもＳｏＣ送信型データが生成される際には、関連した作業が呼び出されると理解しなければならない。
【０１２３】
図１２は、本発明の一実施の形態によるアンチマルウェアサービスの提供方法を説明するための図である。本アンチマルウェアサービスの提供方法を図６で具現化する場合を説明するものの、図６の実施の形態は、あくまでも例示に過ぎないもので、他の実施の形態でも具現化が可能でありうる。
【０１２４】
図６と図１２に示すように、ＡＭ  ＵＩアプリケーション３０１は、ＳｏＣの動作のための関数ライブラリーに含まれた少なくとも一つの関数を利用して、ＳｏＣ送信型データを構成できる（Ｓ１０１）。関数ライブラリーは、デバイス３００が有する格納部（図示せず）に格納されており、ＡＭ  ＵＩアプリケーション３０１の呼び出しによりデバイス３００が有するメモリ（図示せず）にロードされて動作できる。
【０１２５】
ＡＭ  ＵＩアプリケーション３０１は、ストリームインタフェースドライバー３１１にＳｏＣ送信型データを送信し、ストリームインタフェースドライバー３１１は、ＳｏＣ送信型データをＡＰドライバー３２１に送信する（Ｓ１０３）。
【０１２６】
ＡＰドライバー３２１は、ＳｏＣ送信型データをＡＭマネジャー３２３に送信し（Ｓ１０５）、ＡＭマネジャー３２３は、ＳｏＣ送信型データに含まれたコマンドを確認して、ウイルススキャニングとの関連有無を判断する（Ｓ１０７）。仮に、コマンドがウイルススキャニングに関わったものであると（Ｓ１０７：Ｙ）、そのコマンドに関わった動作をＡＶマネジャー３２５又はＡＶエンジン３２６が行う（Ｓ１０９）。例えば、コマンドがウイルススキャニング指示を表すと、ＡＶエンジン３２６がウイルススキャニング動作を行うが、コマンドがアップデートを表すと、ＡＶマネジャー３２５がウイルスパターンＤＢのアップデート動作を行う。
【０１２７】
コマンドがスキャニングに関わっていない場合（Ｓ１０７：Ｎ）、ＦＷマネジャー３２７がフィルタリング関連動作を行うことができる（Ｓ１１１）。
【０１２８】
ＦＭマネジャー３２３は、ＡＶマネジャー３２５又はＦＷマネジャー３２７からコマンド遂行結果を受信し、遂行結果をＡＰドライバー３２１を介してストリームインタフェースドライバー３１１に送信し、ストリームインタフェースドライバー３１１は、送信結果をＡＭ  ＵＩアプリケーション３０１に送信する（Ｓ１１３）。
【０１２９】
図１３は、本発明の一実施の形態によるＡＶ  ＵＩアプリケーションの動作を説明するための図である。本ＡＶ  ＵＩアプリケーションの動作方法を図１で具現化する場合を説明するものの、図１の実施の形態は、あくまでも例示にすぎず、他の実施の形態に具現化することも可能である。
【０１３０】
図１と図１３に示すように、ＡＶ  ＵＩアプリケーションは、格納部１３０に格納されたウイルススキャニングに関わった設定情報を確認する（Ｓ２０１）。ここで、設定情報は、例えばウイルスパターンスキャニングの動作周期やウイルスパターンＤＢのアップデート周期などになりうる。
【０１３１】
ＡＶ  ＵＩアプリケーションは、アップデート周期になったと判断した場合、アップデート用サーバ（図示せず）にアップデート用ウイルスパターンＤＢを送信するよう要請して受信する（Ｓ２０３）。以後、ＡＶ  ＵＩアプリケーションは、アップデート用ウイルスパターンＤＢをＳｏＣ送信型データとして構成して（Ｓ２０５）、ＳｏＣドライバーに送信し、ＳｏＣドライバーは、ＳｏＣ送信型データをＡＰドライバーに送信する。以後の動作は、図１２のＳ１０３以後の動作に従うことができる。
【０１３２】
一方、ＡＶ  ＵＩアプリケーションは、ウイルススキャニングする周期になったと判断した場合、スキャニングするデータを予め定義されたサイズに分割する（Ｓ２０２）。分割したスキャニング用データを各々ＳｏＣ送信型データとして構成した後（Ｓ２０４）、ＳｏＣドライバーに送信する。ＳｏＣドライバーは、ＳｏＣ送信型データをＡＰドライバーに送信する。以後の動作は、図１２のＳ１０３以後の動作に従うことができる。
【０１３３】
図１４は、本発明の一 実施の形態によるＦＷ  ＵＩアプリケーションの動作を説明するための図である。本ＦＷ  ＵＩアプリケーションの動作方法を図１０で具現化する場合を説明するものの、図１０の実施の形態は、あくまでも例示的なものであって、他の実施の形態に具現化することも可能である。
【０１３４】
図１０と図１４に示すように、ＦＷ  ＵＩアプリケーションは、ユーザからパケットデータに対するフィルタリングルールを受け取る（Ｓ３０１）。ルールコンバーターは、ユーザから受け取ったフィルタリングルールを所定の形式を有したルールリストに変換する（Ｓ３０３）。以後、ルールコンバーターは、ルールリストを含むＳｏＣ送信型データを構成して（Ｓ３０５）、ストリームインタフェースドライバー５１１に送信する。以後の動作は、図１２のＳ１０３以後の動作に従うことができる。
【０１３５】
図１５〜図２０は、本発明の実施の形態によるＳｏＣの効果を説明するための図である
【０１３６】
図１５に示すように、同じアルゴリズムを使用するアンチウイルススキャニングエンジンをアプリケーションレイヤーでマルウェアスキャニングテスト（以下、ＴＥＳＴ  １とする）をしたことと、ＳｏＣ基盤のアンチウイルススキャニングエンジンをマルウェアスキャニングテストした場合のスキャニング速度を示したものである。
【０１３７】
図１５における棒（ｂａｒ）で表現されたものがＴＥＳＴ  １のスキャニング速度で、折線で表現されたものがＳｏＣ基盤のアンチウイルスエンジンをテストしたものである。そして、折線のうち、下部の折線は、ＳｏＣ内のソフトウェアとハードウェアロジックから構成されたアンチウイルスエンジンを利用してマルウェアスキャニングをしたもの（以下、ＴＥＳＴ  ２とする）であり、上部の折線は、ＳｏＣ内のＳＷだけで具現化されたアンチウイルスエンジンでマルウェアスキャニングをしたもの（以下、ＴＥＳＴ  ３とする）である。
【０１３８】
一方、図１５の結果において、ＴＥＳＴ  １は、８００ＭＨｚのＣＰＵを使用した場合で、ＴＥＳＴ  ２とＴＥＳＴ  ３は、ＳｏＣ用ＦＰＧＡボード上においてテストしたもので、５０ＭＨｚのＣＰＵを使用した場合である。したがって、これらを同じ速度を有したＣＰＵを使用してテストする場合、ＳｏＣ端においてテストした場合（すなわち、ＴＥＳＴ  ２とＴＥＳＴ  ３）のスキャニング速度が、アプリケーションレイヤーでテストした場合（ＴＥＳＴ  １）の速度よりはるかに速いことが予測される。
【０１３９】
図１５では、ＴＥＳＴ  ２のスキャニングタイムがＴＥＳＴ  １のスキャニングタイムより多くかかるように現れたが、ＣＰＵの速度の差を考慮する場合、実際には、ＳｏＣ端でＳＷのみから構成されたアンチマルウェアエンジンを動作させた場合のスキャニングタイムが、アプリケーションレイヤーでアンチマルウェアエンジンをスキャニング動作させた場合のスキャニングタイムより少なくかかることが予測される。
【０１４０】
一方、ＴＥＳＴ  ３は、ＣＰＵの速度差があるにもかかわらず、ＴＥＳＴ  １の場合よりスキャニング速度がはるかに速いことが分かる。すなわち、スキャニング対象であるファイルの個数が約２千個を超えるにつれて、ＴＥＳＴ  ３は、ＴＥＳＴ  １より、スキャニング速度が１．５倍以上速くなることが分かる。
【０１４１】
図１６は、従来のＳｏＣ基盤でないアプリケーションで具現化したモバイルアンチウイルスエンジンを使用してマルウェアをスキャニングした場合のメモリ使用量とスキャニング時間を示している。
【０１４２】
図１６における棒（Ｂａｒ）は、マルウェアスキャニングに使用されたメモリ使用量であり、折線は、マルウェアスキャニングに使用された時間を示したもので、８００ＭＨｚのＣＰＵを使用している。図１６から分かるように、ＳｏＣ基盤でないアプリケーションで具現化されたアンチウイルスエンジンは、スキャニングの対象になるファイルの個数が少ない状態でも、メモリを多く使用することが分かる。
【０１４３】
一方、図１６において、ファイルの個数が約３２０個より多くなるにつれて棒の（Ｂａｒ）の長さが減少することが表されているが、これは、メモリのスワッピング動作によるものである。オペレーティングシステムは、スキャニングする対象になるファイルの個数がメモリが耐えることができない程度に多くなると、メモリのスワッピング動作を行う。このように、スワッピング動作が起きるようになると、スキャニングする時間が増加せざるを得ず、結果的にバッテリー消費が大きくなる。
【０１４４】
図１７は、アンチウイルスエンジンの電力消費量を示したものであって、商用化された製品と本発明の一 実施の形態によるアンチウイルスエンジンを使用してテストした結果である。
【０１４５】
図１７に示すように、比較製品１と比較製品２の両方は、ＳｏＣ基盤でないソフトウェアだけで具現化されたアンチウイルスエンジンであって、比較製品１は、約１６０ｍＡを消費し、比較製品２は、２００ｍＡを消費していることが分かる。これに比べて、本願発明の一実施の形態によるＳｏＣ  ＡＣエンジンは、ソフトウェアとハードウェアロジックから構成されたエンジンであって、約１２６．９ｍＡを消費することが分かる。
【０１４６】
図１８は、既存モバイルフォンで使用される商用化された製品と本発明の一実施の形態によるＳｏＣ基盤のアンチウイルスエンジンをテストした結果であって、マルウェアをスキャニングするのにかかった時間とＣＰＵ使用時間とを示したものである。
【０１４７】
図１８に示すように、商用化された既存製品Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７、Ｐ８、Ｐ９、Ｐ１０、Ｐ１１、Ｐ１２と本発明の一実施の形態によるＳｏＣ基盤のアンチウイルスエンジンＰ１３に対して、スキャニング対象になるファイルの個数を別にしてそれぞれ２回ずつテストした結果である。
【０１４８】
図１８に示すように、比較製品のＣＰＵ使用量は、ほとんど１００ % を使用し、本発明の実施の形態の場合Ｐ１３よりＣＰＵの使用量がはるかに多いことが分かる。したがって、ＣＰＵ使用量とスキャニング時間が多いほど、バッテリー消費が多くなるので、本発明の実施の形態を介してバッテリー消費を減らすことができるという効果がある。
【０１４９】
その上、本実施の形態Ｐ１３は、５０ＭＨｚのＣＰＵを有したＦＰＧＡボードを使用してテストしたことであり、上記の商用化された製品は、数百ＭＨｚ〜数ＭＨｚのＣＰＵを使用したものであるから、仮にこれらを同じ条件下でテストするならば、ＣＰＵの使用量やスキャニング時間において本実施の形態Ｐ１３がはるかに優れることが予測される。
【０１５０】
図１９は、アンドロイドフォンに実際商用アンチウイルスソフトウェアをインストールして動作する様子を示したものである。３つのそれぞれ異なるＡＶ ソフトウェアであるが、スキャニング時には、全部ＣＰＵを１００ % 使用することが分かる。
【０１５１】
図１９の（ａ）、（ｂ）、及び（ｃ）をそれぞれ参照すると、ＣＰＵの使用量を３個のグラフ（（ １）、（２）、（３））で表示したが、これらは、順にＣＰＵの全体使用量（（１））、ユーザーコードレベルで使用されるＣＰＵの使用量（（ ２））、カーネルコードレベルで使用されるＣＰＵの使用量（（３ ））を示す。
【０１５２】
図２０は、本発明の一実施の形態によるＳｏＣ基盤のアンチウイルスエンジンを使用して、マルウェアをスキャニングする際に使用されるＣＰＵの使用量を示したものである。図２０に示すように、ＣＰＵ使用量が３％〜３０％を表していることが分かる。このようにＣＰＵを少なく使用するようになるにつれて、速い速度で処理されると、バッテリー消費も顕著に減るようになる。
【０１５３】
一方、図２０の（ａ）において２個の信号のうち、直線型の信号は、メモリ使用量を示したもので、残りの信号は、ＣＰＵの使用量を示す信号である。図２０の（ｂ）の場合も同様に、メモリ使用量とＣＰＵの使用量とを示す。
【０１５４】
一方、図２０の実施の形態は、５０ＭＨｚのＣＰＵを使用してテストした結果であるから、従来の製品のように数百ＭＨｚ〜数ＧＨｚのＣＰＵを使用して同様にテストすると、本願発明の効果は、従来の製品よりはるかに優れることが予測される。
【０１５５】
以上説明した本発明に係る実施の形態は、コンピュータで読み出すことのできる記録媒体にコンピュータで読み出すことのできるコードとして具現化することが可能である。コンピュータで読み出すことのできる記録媒体は、コンピュータシステムによって読まれることのできるデータが格納されるすべての種類の記録装置を備える。コンピュータで読み出すことのできる記録媒体の例には、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク、光データ格納装置などがあり、またキャリアウェーブ（例えば、インターネットを介した送信）の形態で具現化されることも含む。また、コンピュータで読み出すことのできる記録媒体は、ネットワークで接続したコンピュータシステムに分散されて、分散方式でコンピュータで読み出すことのできるコードが格納され実行されることができる。
【０１５６】
以上説明した本発明の実施の形態によれば、アンチマルウェアシステムオンチップ用インタフェースを提供することによって、アンチマルウェアシステムオンチップを単独で使用することもでき、別途のマルウェアスキャニングエンジンをシステムオンチップでないアプリケーション端に追加して、アンチマルウェアシステムオンチップと共にマルチエンジンで多形性ウイルスに対応することもできる。また、デバイスに負荷が多くかかるアンチマルウェアスキャニング及びフィルタリング作業をシステムオンチップを介して行うことで、デバイスのバッテリー、ＣＰＵ、メモリのようなリソースの使用を最小化できる。
また、アプリケーション端とシステムオンチップとの間にわたったセキュリティー作業を介して、さらに安全なセキュリティーソリューションを提供できる。
【０１５７】
以上、本発明は、限定された実施の形態と図面により説明されたが、本発明は、上記の実施の形態に限定されるものではなく、本発明が属する分野における通常の知識を有した者であればこのような記載から多様な修正及び変形が可能である。したがって、本発明の範囲は、説明された実施の形態に限って決まってはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等なものによって決まらねばならない。
【符号の説明】
【０１５８】
１０２  アプリケーション
１１０  ＳｏＣドライバー
１１１  ４Ｇモデム
１２０  ＡＰドライバー
１３０  格納部
【図１】
2014089741.tif 000005
【図２】
2014089741.tif 000006
【図３】
2014089741.tif 000007
【図４】
2014089741.tif 000008
【図５】
2014089741.tif 000009
【図６】
2014089741.tif 000010
【図７】
2014089741.tif 000011
【図８】
2014089741.tif 000012
【図９】
2014089741.tif 000013
【図１０】
2014089741.tif 000014
【図１１】
2014089741.tif 000015
【図１２】
2014089741.tif 000016
【図１３】
2014089741.tif 000017
【図１４】
2014089741.tif 000018
【図１８】
2014089741.tif 000019
【図１５】
2014089741.tif 000020
【図１６】
2014089741.tif 000021
【図１７】
2014089741.tif 000022
【図１９】
2014089741.tif 000023
【図２０】
2014089741.tif 000024