JP5389740B2 - 更新方法、更新装置及び更新システム - Google Patents

更新方法、更新装置及び更新システム Download PDF

Info

Publication number
JP5389740B2
JP5389740B2 JP2010131476A JP2010131476A JP5389740B2 JP 5389740 B2 JP5389740 B2 JP 5389740B2 JP 2010131476 A JP2010131476 A JP 2010131476A JP 2010131476 A JP2010131476 A JP 2010131476A JP 5389740 B2 JP5389740 B2 JP 5389740B2
Authority
JP
Japan
Prior art keywords
file
record
acquisition
acquired
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010131476A
Other languages
English (en)
Other versions
JP2011257960A (ja
Inventor
毅 八木
直人 谷本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010131476A priority Critical patent/JP5389740B2/ja
Publication of JP2011257960A publication Critical patent/JP2011257960A/ja
Application granted granted Critical
Publication of JP5389740B2 publication Critical patent/JP5389740B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、更新方法、更新装置及び更新システムに関する。
インターネットの普及に伴い、個人情報を管理するサーバやアプリケーションを配信するサーバに対するサイバー攻撃が急増している。サイバー攻撃では、マルウェアが用いられることが多い。
マルウェアを利用したサイバー攻撃では、例えば、既存のサーバに外部サーバからマルウェアをダウンロードさせ、ダウンロードさせたマルウェアを既存のサーバに実行させることで既存のサーバを乗っ取る。マルウェアのダウンロード元となるウェブサイトを「マルウェアダウンロードサイト」とも称する。マルウェアダウンロードサイトは、例えば、悪意の第三者に悪用された一般のウェブサイトや、悪意の第三者に予め用意されたウェブサイトなどである。そして、サイバー攻撃では、悪意の第三者は、乗っ取った既存のサーバを用いて、例えば、DDoS(Distributed Denial of Services)攻撃を実行し、スパムを送信し、情報を窃盗する。
ここで、マルウェアダウンロードサイトのリストを生成し、生成したリストに登録されたマルウェアダウンロードサイトへの顧客のサーバによるアクセスをフィルタするフィルタリング装置がある。マルウェアダウンロードサイトのリストを「ブラックリスト」とも称する。
八木毅、谷本直人、浜田雅樹、伊藤光恭、「プロバイダによるWebサイトへのマルウェア配布防御方式」、信学技報、社団法人電子情報通信学会、IN2009-34(2009-7)
しかしながら、上述したフィルタリング装置では、マルウェアが削除されたサイトがブラックリストに登録されたままになることがある。例えば、悪意の第三者に悪用された一般のウェブサイトの管理者は、マルウェアを発見すると駆除する。この場合、一度ブラックリストに登録された一般のウェブサイトは、駆除後にはマルウェアダウンロードサイトでないにもかかわらず、ブラックリストに登録されたままになることがある。
また、例えば、悪意の第三者がブラックリストを回避することを目的として、マルウェアダウンロードサイトを頻繁に変えることがある。この場合、マルウェアが配置されなくなったウェブサイトは、マルウェアダウンロードサイトではないにもかかわらず、ブラックリストに登録されたままになることがある。
開示の技術は、上述に鑑みてなされたものであって、マルウェアが削除されたサイトがブラックリストに登録されたままになることを防止可能である更新方法、更新装置及び更新システムを提供することを目的とする。
開示する更新方法では、一つの態様において、コンピュータが、ネットワークにおける位置を示す位置情報とファイルを識別する識別情報とを含むレコードを記憶する記憶部から、当該レコードを取得するレコード取得ステップを実行する。また、コンピュータが、前記レコード取得ステップより取得されたレコードに含まれる位置情報により示される位置にあるファイルを取得するファイル取得ステップを実行する。また、コンピュータが、前記ファイル取得ステップにより取得されたファイルである取得ファイルが前記レコード取得ステップにより取得されたレコードである取得レコードに含まれる識別情報により識別されるファイルと同一であるか否かを判定する判定ステップを実行する。また、コンピュータが、前記判定ステップにより同一でないと判定された場合に、前記取得レコードに含まれる位置情報により示される位置にあるファイルを取得して実行する旨の実行指示を所定のサーバに送信する送信ステップを実行する。また、コンピュータが、前記送信ステップにより送信された実行指示を実行した前記所定のサーバの挙動を分析することで前記取得ファイルが悪意のあるプログラムであるか否かを判定し、悪意のあるプログラムであると判定した場合には、前記取得レコードに含まれる識別情報を前記ファイル取得ステップにより取得されたファイルを識別する識別情報に更新し、悪意のあるプログラムであると判定しなかった場合には、前記取得レコードを前記記憶部から削除する更新処理ステップを実行する。
開示する更新装置の一つの態様によれば、マルウェアが削除されたサイトがブラックリストに登録されたままになることを防止可能であるという効果を奏する。
図1は、実施例1に係る更新システムの全体像を示す図である。 図2は、実施例1に係るフィルタリング装置の構成の一例を示す図である。 図3は、実施例1におけるブラックリストテーブルに記憶された情報の一例を示す図である。 図4は、実施例1における更新処理部による更新後のブラックリストテーブルに記憶された情報の一例を示す図である。 図5は、実施例1に係るフィルタリング装置による更新処理の流れの一例を示すフローチャートである。 図6は、実施例1における命令送信部による処理の流れの一例を示すフローチャートである。 図7は、アドレステーブルを有するフィルタリング装置の構成を示すブロック図である。 図8は、ファイルサーバからファイルを取得する場合について示す図である。 図9は、フィルタリング装置からファイルを取得する場合について示す図である。 図10は、フィルタリング装置からファイルを取得する旨の命令をアプリケーションサーバに送信する場合におけるフィルタリング装置の構成の一例を示すブロック図である。 図11は、開示の技術に係る更新プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。
以下に、開示する更新方法、更新装置及び更新システムの実施例について、図面に基づいて詳細に説明する。なお、本実施例により開示する発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[全体像]
図1は、実施例1に係る更新システムの全体像を示す図である。図1において、200は、ファイルを記憶するファイルサーバである。300は、悪意の第三者により用いられる端末である。400は、アプリケーションによりユーザにサービスを提供するアプリケーションサーバである。511は、マルウェアダウンロードサイトのリストであるブラックリストを記憶するブラックリストテーブルである。500は、アプリケーションサーバ400からブラックリストテーブル511に登録されたマルウェアダウンロードサイトへのアクセスを遮断するフィルタリング装置である。600は、端末300とファイルサーバ200とフィルタリング装置500とが接続されたネットワークである。更新システム100は、フィルタリング装置500と、アプリケーションサーバ400とを有する。図1に示す例では、説明の便宜上、ファイルサーバ200と端末300とを併せて記載した。
ファイルサーバ200は、ネットワーク600を介して端末300及びフィルタリング装置500と接続される。ファイルサーバ200は、例えば、既存のサーバが該当する。ファイルサーバ200は、ファイルとして、悪意の第三者により用いられる悪意のあるプログラムを記憶する。例えば、ファイルサーバ200は、マルウェアを記憶する。ファイルサーバ200は「マルウェアダウンロードサイト」とも称する。以下では、悪意のあるプログラムとしてマルウェアを用いて説明するが、本発明はこれに限定されるものではなく、任意のプログラムであって良い。
なお、ファイルサーバ200は、マルウェアを記憶するが、ファイルサーバ200自身がマルウェアに感染していても良く、感染していなくても良い。また、ファイルサーバ200は、マルウェアではないデータを更に記憶しても良い。
また、ファイルサーバ200は、アプリケーションサーバ400やフィルタリング装置500からファイルが要求されると、要求されたファイルを送信する。例えば、ファイルサーバ200は、FTP(File Transfer Protocol)プロトコルやHTTP(Hyper Text Transfer Protocol)プロトコルなどの転送プロトコルを用いて、ファイルを送信する。
例えば、ファイルサーバ200が、「http://host#1/d-A/d-B/d-C/file-a」にあるファイルを要求された場合を用いて説明する。この場合、ホスト名として「host#1」が割り当てられたファイルサーバ200は、パス「d-A/d-B/d-C」にあるファイル「file-a」を、要求元となるコンピュータに送信する。
端末300は、ネットワーク600を介してファイルサーバ200及びフィルタリング装置500と接続される。端末300は、悪意の第三者により用いられる端末である。端末300は、例えば、既知のコンピュータが該当する。
端末300は、脆弱性実証コード(exploit code)を既存のパソコンやサーバに送信することで、例えば、既存のパソコンやサーバにファイルサーバ200から悪意のあるプログラムをダウンロードさせ、ダウンロードさせた悪意のあるプログラムを実行させる。そして、例えば、端末300は、既存のパソコンやサーバにマルウェアをダウンロードさせて実行させることで、既存のパソコンやサーバにバックドアを生成し、既存のパソコンやサーバにスパムメールを送信させ、既存のパソコンやサーバに記憶された情報を窃盗する。
アプリケーションサーバ400は、フィルタリング装置500を介してネットワーク600と接続される。アプリケーションサーバ400は、アプリケーションを実行することでユーザにサービスを提供する。例えば、アプリケーションサーバ400は、ウェブアプリケーションを実行することで、例えば、ブログや掲示板、ソーシャルネットワークサービスなどのサービスをユーザに提供する。
フィルタリング装置500は、ネットワーク600を介してファイルサーバ200及び端末300と接続され、アプリケーションサーバ400と接続される。フィルタリング装置500は、アプリケーションサーバ400とネットワーク600に接続された装置とのデータの送受信を中継する。フィルタリング装置500は、例えば、ホームネットワークとインターネットとの境界に配置されるホームゲートウェイ装置、データセンタ及び企業ネットワークとインターネットとの境界に配置されるゲートウェイ装置やプロキシ装置、セキュリティアプライアンス装置やファイアウォール装置、スイッチやルータなどの中継装置が該当する。
フィルタリング装置500は、ブラックリストテーブル511を有する。フィルタリング装置500は、ブラックリストテーブル511に登録されたマルウェアダウンロードサイトへのアプリケーションサーバ400からのアクセスを遮断する遮断処理を実行する。また、フィルタリング装置500は、後述するように、ブラックリストに登録済みの情報を更新する更新処理を実行する。フィルタリング装置500は「更新装置」とも称する。
ただし、図1に示す例では、フィルタリング装置500が、アプリケーションサーバ400とネットワーク600に接続された装置とのデータの送受信を中継する中継装置であり、遮断処理と更新処理とを実行する場合を例に示したが、本発明はこれに限定されるものではない。例えば、フィルタリング装置500は、中継装置とは別の装置であっても良い。この場合、フィルタリング装置500は、中継装置による中継処理を監視し、ブラックリストに登録されたマルウェアダウンロードサイトへのアクセスを遮断する。
また、以下では、フィルタリング装置500が、ブラックリストを用いて遮断処理を実行し、ブラックリストに登録済みの情報を更新する更新処理を実行する場合を用いて説明するが、本発明はこれに限定されるものではない。例えば、ブラックリストを用いて遮断処理を実行する遮断処理装置と、遮断処理を実行する装置により用いられるブラックリストに対して更新処理を実行する更新処理装置とが別の装置であっても良い。また、遮断処理装置と更新処理装置とが別の装置である場合には、遮断処理装置のブラックリストを監視し、ブラックリストに新たなレコードが格納されると新たなレコードを更新処理装置に通知する通知装置を更に用いても良い。
ここで、マルウェアダウンロードサイトを特定し、特定したマルウェアダウンロードサイトのレコードをブラックリストに登録する登録処理については、任意の手法を用いて良く、詳細な説明を省略する。例えば、マルウェアダウンロードサイトを示す情報を利用者が手動にてブラックリストに登録しても良く、上述した非特許文献に記載された手法を用いて登録しても良く、任意の手法を用いて良い。すなわち、以下では、ブラックリストに新たにレコードを登録する処理についてではなく、既に登録されたレコード各々を管理して更新する処理について、詳細に説明する。すなわち、例えば、更新処理として、マルウェアダウンロードサイトでなくなっていたレコードを削除し、レコードの情報に誤りが含まれている場合には修正する場合について説明する。
ネットワーク600は、ファイルサーバ200、端末300及びフィルタリング装置500を相互に接続する。ネットワーク600は、例えば、インターネットが該当する。ただし、本発明はこれに限定されるものではなく、ネットワーク600は、イントラネットでも良く、任意のネットワークであって良い。
図1に示す例では、アプリケーションサーバ400とフィルタリング装置500とが1対1で接続される場合を示したが、本発明はこれに限定されるものではない。例えば、アプリケーションサーバ400とフィルタリング装置500とは、ネットワーク600とは別のネットワークと接続されても良い。この場合、アプリケーションサーバ400とフィルタリング装置500とは、ネットワーク600とは別のネットワークを介して、アプリケーションサーバ400とフィルタリング装置500とは別の装置と接続される。
また、図1に示す例では、端末300とファイルサーバ200とアプリケーションサーバ400とフィルタリング装置500とが1つずつある場合を例に示したが、これに限定されるものではない。例えば、端末300が複数あっても良く、ファイルサーバ200が複数あっても良く、アプリケーションサーバ400が複数あっても良く、フィルタリング装置500が複数あっても良い。
[フィルタリング装置の構成]
図2は、実施例1に係るフィルタリング装置の構成の一例を示す図である。図2では、説明の便宜上、ファイルサーバ200とアプリケーションサーバ400とを併せて記載した。
図2に示す例では、フィルタリング装置500は、記憶部510と制御部520とを有する。図2には記載の便宜上示していないが、フィルタリング装置500は、各種の情報を受信する受信部と、各種の情報を送信する送信部とを有する。例えば、フィルタリング装置500は、各種の入出力ポートを有する。
記憶部510は、制御部520と接続される。記憶部510は、制御部520による各種処理に用いるデータを記憶する。記憶部510は、例えば、RAM(Random Access Memory)やフラッシュメモリ(Flash Memory)などの半導体メモリ素子、又は、ハードディスクや光ディスクなどの記憶装置が該当する。図2に示す例では、記憶部510は、ブラックリストテーブル511を有する。
ブラックリストテーブル511は、悪意のあるプログラムのダウンロード元となるネットワークの位置を示す位置情報のリストを記憶する。言い換えると、ブラックリストテーブル511は、マルウェアダウンロードサイトを示すレコードのリストを記憶する。
ここで、ブラックリストテーブル511に記憶されたレコードには、位置情報に加えて、悪意のあるプログラムを外部サーバからダウンロードさせる命令であって実行するプログラムを指定して実行させる指定命令と、悪意のあるプログラムを識別するファイル識別情報と、悪意のあるプログラムを実行することで発生する処理内容の種類とが含まれる。ファイル識別情報は「識別情報」とも称する。
図3は、実施例1におけるブラックリストテーブルに記憶された情報の一例を示す図である。図3に示すように、ブラックリストテーブル511は、位置情報と指定命令とファイル識別情報とファイル種類とを含むレコードを記憶する。図3に示す例では、ブラックリストテーブル511は、位置情報「http://host#1/d‐A/d‐B/d‐C/file‐a」と、指定命令「http://server#3/set.php?dir=」と、ファイル識別情報「hash#101」と、ファイル種類「バックドア」とを含むレコードを記憶する。すなわち、ブラックリストテーブル511は、「http://host#1/d‐A/d‐B/d‐C/file‐a」により示される位置に、「hash#101」により識別される悪意のあるプログラムがあることを記憶する。また、ブラックリストテーブル511は、「hash#101」により識別される悪意のあるプログラムを実行することでバックドアが生成されることを記憶する。また、ブラックリストテーブル511は、同様に、他のレコードについても情報を記憶する。
図3の指定命令について、指定命令「http://server#3/set.php?dir=」を用いて補足する。指定命令は、実行するプログラムを指定する。指定命令「http://server#3/set.php?dir=」の場合には、「set.php?」により実行するプログラムが指定される。また、図3の指定命令では、「=」以下に位置情報が入力されることで、入力された位置情報からファイルを取得する命令であって、「set.php?」により指定されたプログラムにて実行する旨の指示である実行指示となる。
ここで、ブラックリストテーブル511に記憶されたレコードを登録する処理について簡単に説明する。上述したように、マルウェアダウンロードサイトのネットワークにおける位置を示す位置情報は、任意の手法でブラックリストに登録される。この際、例えば、ブラックリストテーブル511には、位置情報と、指定命令と、ファイル識別情報と、ファイル種類とを含むレコードが登録される。
位置情報と指定命令とファイル識別情報とファイル種類とを含むレコードを登録処理の一例について、更に説明する。例えば、フィルタリング装置500は、上述した非特許文献の手法を実行することで、指定命令ごとに位置情報を収集する。そして、フィルタリング装置500は、指定命令や位置情報を収集するごとに、収集した指定命令と位置情報とを含むレコードをブラックリストテーブル511に登録する。その際、フィルタリング装置500は、登録した位置情報により示される位置にあるマルウェアのハッシュ値を算出してファイル識別情報として併せて登録する。また、フィルタリング装置500は、登録した位置情報により示される位置にあるマルウェアを実行することで発生する処理内容を解析し、解析結果をファイル種類として併せて登録する。ただし、フィルタリング装置500がレコードを収集して登録する処理はこれに限定されるものではなく、任意の手法を用いて良い。なお、以下では、ファイル識別情報としてハッシュ値を用いる場合を例に説明するが、本発明はこれに限定されるものではない。例えば、ファイル識別情報としてファイル名を用いても良く、任意の情報を用いて良い。
以下では、ブラックリストテーブル511が、位置情報に加えて、指定命令とファイル識別情報とファイル種類とを含むレコードを記憶する場合を用いて説明するが、本発明はこれに限定されるものではない。例えば、ブラックリストテーブル511は、位置情報とファイル識別情報とを含むレコードを記憶し、指定命令とファイル種類を記憶してなくても良い。また、同様に、ブラックリストテーブル511は、位置情報と指定命令とファイル識別情報とファイル種類とに加えて、別の情報を更に記憶しても良い。
制御部520は、記憶部510と接続される。制御部520は、各種の処理手順などを規定したプログラムを記憶する内部メモリを有し、種々の処理を制御する。制御部520は、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、CPU(Central Processing Unit)、MPU(Micro Processing Unit)などの電子回路が該当する。
ファイル取得部521は、ブラックリストテーブル511に記憶されたレコードを取得する。以下では、ファイル取得部521が、位置情報「http://host#1/d‐A/d‐B/d‐C/file‐a」と、指定命令「http://server#3/set.php?dir=」と、ファイル識別情報「hash#101」と、ファイル種類「バックドア」とを含むレコードを取得した場合を用いて説明する。ファイル取得部521は、「レコード取得部」「ファイル取得部」とも称する。また、ファイル取得部521により取得されたレコードを「取得レコード」とも称する。
ファイル取得部521は、取得したレコードに含まれる位置情報により示される位置にあるファイルを取得する。例えば、ファイル取得部521は、位置情報「http://host#1/d‐A/d‐B/d‐C/file‐a」にあるファイルを取得する。例えば、ファイル取得部521は、ファイルサーバ200に対して、位置情報「http://host#1/d‐A/d‐B/d‐C/file‐a」にあるファイルを取得する旨の要求を送信することで、ファイルサーバ200からファイル「file‐a」を取得する。ファイル取得部521は、例えば、FTPやwgetやcurlなどの既存の手法を用いてファイルを取得する。
ここで、ファイル取得部521は、取得レコードに含まれる位置情報により示される位置にファイルが存在せず、ファイルの取得に失敗した場合には、取得レコードをブラックリストテーブル511から削除して処理を終了する。取得レコードに含まれる位置情報により示される位置にファイルが存在しないということは、悪意のあるプログラムが既に削除されたことを示す。このため、ファイル取得部521は、取得したレコードをブラックリストテーブル511から削除することで、マルウェアが削除されたサイトがブラックリストに登録されたままになることを防止する。
ファイル内容判定部522は、ファイル取得部521により取得されたファイルである取得ファイルが、取得レコードに含まれる識別情報により識別されるファイルと同一であるか否かを判定する。例えば、ファイル内容判定部522は、ファイル取得部521により取得されたファイルのハッシュ値を算出し、取得レコードに含まれるファイル識別情報と同一であるか否かを判定する。例えば、ファイル内容判定部522は、ファイル取得部521により取得されたファイルから算出したハッシュ値が「hash#105」である場合には、取得レコードに含まれるファイル識別情報「hash#101」と同一とはならず、同一ではないと判定する。
ここで、ファイル内容判定部522は、同一であると判定した場合には、そのまま処理を終了する。取得レコードに含まれる位置情報により示される位置にあるファイルに変化がないということは、悪意のあるプログラムが変わらずあることを示す。このため、ファイル内容判定部522は、取得レコードについて何ら変更を加えることなく、処理を終了する。
命令送信部523は、ファイル内容判定部522により同一でないと判定された場合に、取得レコードに含まれる位置情報により示される位置にあるファイルを取得して実行する旨の実行指示を所定のサーバに送信する。具体的には、命令送信部523は、取得レコードに含まれる位置情報により示される位置にあるファイルを取得して指定されたプログラムにより実行する旨の指示である実行指示を、アプリケーションサーバ400に送信する。命令送信部523は、「送信部」とも称する。ここで、命令送信部523が実行指示を送信する送信先となるアプリケーションサーバ400は、アプリケーションによりユーザにサービスを提供する一般のサーバであっても良く、フィルタリング装置500による更新処理のみに用いられる囮用のサーバであっても良く、任意のアプリケーションサーバ400であって良い。
例えば、命令送信部523は、実行指示「http://server#3/set.php?dir=http://host#1/d‐A/d‐B/d‐C/file‐a」をアプリケーションサーバ400に送信する。すなわち、命令送信部523は、「http://host#1/d‐A/d‐B/d‐C/file‐a」からファイルを取得して「set.php?」により指定されるプログラムにて実行する旨の実行指示を送信する。
また、命令送信部523は、送信した実行指示をアプリケーションサーバ400が実行したか否かを監視する。例えば、命令送信部523は、アプリケーションサーバ400が送受信するトラヒックを監視し、取得レコードに含まれる位置情報からファイルを取得したか否かを監視する。また、例えば、命令送信部523は、アプリケーションサーバ400のOS(オペレーティングシステム、Operating System)の挙動を監視することで、取得したファイルが指定されたプログラムで実行されたか否かを監視する。
ここで、命令送信部523は、実行しなかったとの監視結果が得られた場合に、取得レコードとは別のレコードに含まれる指定命令により指定されるプログラムでファイルを実行させる実行指示をアプリケーションサーバ400に送信する。命令送信部523は、「第二の送信部」とも称する。
例えば、命令送信部523は、取得レコードとは別のレコードの指定命令をブラックリストテーブル511から取得する。例えば、命令送信部523は、ブラックリストテーブル511の上位から順に指定命令を取得したり、予め設定された指定命令を取得したりする。図3に示す例では、命令送信部523は、取得レコードの指定命令とは別の指定命令「http://server#3/board/login.php?id=」をブラックリストテーブル511から取得し、新たに取得した指定命令を用いて実行指示をアプリケーションサーバ400に送信する。より詳細な一例を用いて説明すると、実行指示「http://server#3/board/login.php?id=http://host#1/d‐A/d‐B/d‐C/file‐a」をアプリケーションサーバ400に送信する。すなわち、命令送信部523は、「http://host#1/d‐A/d‐B/d‐C/file‐a」からファイルを取得して「login.php?」により指定されるプログラムにて実行する旨の実行指示を送信する。そして、命令送信部523は、アプリケーションサーバ400が実行したと判定するまで上述した一連の処理を繰り返し、あるいは、所定回数実行した後にエラーとして処理を終了する。
命令送信部523によりファイルを実行するプログラムを変更した実行指示を送信する点について補足する。悪意のあるプログラムは、特定のプログラムでのみ実行可能である場合がある。ここで、位置情報にあるファイルは悪意のあるプログラムであるが、レコードに含まれる指定命令により指定されるプログラムが、位置情報にあるファイルが悪意のあるプログラムに対応しない場合が考えられる。この場合、本来、位置情報にあるファイルは悪意のあるプログラムであるにもかかわらず、実行指示を受信したアプリケーションサーバ400では悪意のあるプログラムが実行されず、このままでは悪意のあるプログラムではないと判定されることになる。このことを踏まえ、命令送信部523は、実行指示の送信先となったアプリケーションサーバ400が取得したファイルを実行しない場合には、実行指示により指定されるプログラムが誤っている可能性を踏まえ、実行指示により指定されるプログラムを変更した実行指示を送信する。この結果、フィルタリング装置500によれば、レコードに含まれる指定情報により指定されるプログラムが誤っていたとしても、位置情報にあるファイルが悪意のあるプログラムかを確実に判定可能となる。
上述した説明では、命令送信部523は、ブラックリストテーブル511にある取得レコードとは別のレコードの指定命令を用いる場合について説明したが、本発明はこれに限定されるものではない。例えば、命令送信部523は、ブラックリストテーブル511に登録された別のレコードの指定命令を用いることなく、指定するプログラムを変更した実行指示を自ら生成して送信しても良く、任意の手法を用いて良い。
更新処理部524は、命令送信部523により送信された実行指示を実行したアプリケーションサーバ400の挙動を分析することで、取得ファイルが悪意のあるプログラムであるか否かを判定する。
例えば、更新処理部524は、既知の任意の手法を用いて、アプリケーションサーバ400の挙動を分析する。より詳細な一例をあげて説明すると、更新処理部524は、アプリケーションサーバ400が送受信するトラヒックを監視し、アプリケーションサーバ400がファイル実行後にバックドアを生成するか否かを判定する。また、更新処理部524は、アプリケーションサーバ400のOSの挙動を監視することで如何なるコマンドが実行されたかを識別し、例えば、多数のメッセージが送信されたか否かを判定し、外部のサイトと接続したか否かを判定する。
ここで、例えば、更新処理部524は、バックドアを生成すると判定した場合には悪意のあるプログラムであると判定し、バックドアを生成すると判定しなかった場合には悪意のあるプログラムでないと判定する。
更新処理部524は、悪意のあるプログラムであると判定した場合には、取得レコードに含まれる識別情報をファイル取得部521により取得されたファイルを識別する識別情報に更新する。図4は、実施例1における更新処理部による更新後のブラックリストテーブルに記憶された情報の一例を示す図である。例えば、更新処理部524は、取得レコードに含まれるファイル識別情報「hash#101」を、図4に示すように、ファイル取得部521により取得されたファイルから算出されたハッシュ値「hash#105」に更新する。また、この際、更新処理部524は、取得レコードに含まれるファイル種類が分析結果と異なる場合には、ファイル種類を更新しても良い。例えば、図4に示す例では、取得レコードに含まれるファイル種類を「外部接続」に更新する場合を例に示した。
また、更新処理部524は、悪意のあるプログラムであると判定しなかった場合には、取得レコードをブラックリストテーブル511から削除する。例えば、更新処理部524は、位置情報「http://host#1/d‐A/d‐B/d‐C/file‐a」と、指定命令「http://server#3/set.php?dir=」と、ファイル識別情報「hash#101」と、ファイル種類「バックドア」とを含むレコードをブラックリストテーブル511から削除する。
このように、更新処理部524は、ファイルの内容が変化していたとしても、悪意のあるプログラムであると判定した場合には、取得レコードの内容を最新の内容に更新する。一方、更新処理部524は、ファイルの内容が変化しており、かつ、悪意のあるプログラムであると判定しなかった場合には、取得レコードを削除する。この結果、更新処理部524は、取得レコードをブラックリストテーブル511から削除することで、マルウェアが削除されたサイトがブラックリストに登録されたままになることを防止する。
[フィルタリング装置による更新処理]
図5を用いて、実施例1に係るフィルタリング装置500による更新処理の流れの一例を示す。図5は、実施例1に係るフィルタリング装置による更新処理の流れの一例を示すフローチャートである。以下では、ファイル取得部521が、位置情報「http://host#1/d‐A/d‐B/d‐C/file‐a」と、指定命令「http://server#3/set.php?dir=」と、ファイル識別情報「hash#101」と、ファイル種類「バックドア」とを含むレコードを取得する場合を用いて説明する。
図5に示すように、ファイル取得部521は、ブラックリストテーブル511に記憶されたレコードを取得すると(ステップS101肯定)、取得したレコードに含まれる位置情報により示される位置にあるファイルを取得する(ステップS102)。例えば、ファイル取得部521は、ファイルサーバ200に対して、位置情報「http://host#1/d‐A/d‐B/d‐C/file‐a」にあるファイルを取得する旨の要求を送信することで、ファイル「file‐a」を取得する。
ここで、ファイル取得部521は、ファイルの取得に失敗した場合には(ステップS103肯定)、取得レコードをブラックリストテーブル511から削除して処理を終了する(ステップS104)。すなわち、取得レコードに含まれる位置情報により示される位置にファイルが存在しないということは、悪意のあるプログラムが削除されたことを示す。このため、ファイル取得部521は、取得したレコードをブラックリストテーブル511から削除することで、マルウェアが削除されたサイトがブラックリストに登録されたままになることを防止する。
一方、ファイル取得部521がファイルの取得に成功した場合には(ステップS103否定)、ファイル内容判定部522は、ファイル取得部521により取得されたファイルである取得ファイルが、取得レコードに含まれる識別情報により識別されるファイルと同一であるか否かを判定する(ステップS105)。例えば、ファイル内容判定部522は、ファイル取得部521により取得されたファイルのハッシュ値を算出し、取得レコードに含まれるファイル識別情報と同一であるか否かを判定する。
ここで、ファイル内容判定部522は、同一であると判定した場合には(ステップS106肯定)、ブラックリストテーブル511を更新することなく(ステップS107)、そのまま処理を終了する。
一方、ファイル内容判定部522が同一でないと判定した場合には(ステップS106否定)、命令送信部523は、取得レコードに含まれる位置情報により示される位置にあるファイルを取得して実行する旨の実行指示を所定のサーバに送信する(ステップS108)。例えば、命令送信部523は、実行指示「http://server#3/set.php?dir=http://host#1/d‐A/d‐B/d‐C/file‐a」をアプリケーションサーバ400に送信する。すなわち、命令送信部523は、「http://host#1/d‐A/d‐B/d‐C/file‐a」からファイルを取得して「set.php?」により指定されるプログラムにて実行する旨の実行指示を送信する。なお、命令送信部523による実行指示送信処理の詳細については、図6を用いて改めて説明する。
そして、更新処理部524は、命令送信部523により送信された実行指示を実行したアプリケーションサーバ400の挙動を分析し(ステップS109)、取得ファイルが悪意のあるプログラムであるか否かを判定する(ステップS110)。例えば、更新処理部524は、アプリケーションサーバ400が送受信するトラヒックを監視し、アプリケーションサーバ400がファイル実行後にバックドアを生成するか否かを判定することで、悪意のあるプログラムであるか否かを判定する。
ここで、更新処理部524は、悪意のあるプログラムであると判定した場合には(ステップS110肯定)、取得レコードに含まれる識別情報をファイル取得部521により取得されたファイルを識別する識別情報に更新する(ステップS111)。例えば、ファイル取得部521により取得されたファイルから算出されたハッシュ値「hash#105」である場合には、更新処理部524は、取得レコードのファイル識別情報を「hash#105」に更新する。すなわち、更新処理部524は、悪意のあるプログラムであると判定した場合には、取得レコードの内容を最新の内容に更新する。
一方、更新処理部524は、悪意のあるプログラムであると判定しなかった場合には(ステップS110否定)、取得レコードをブラックリストテーブル511から削除する(ステップS112)。すなわち、更新処理部524は、取得レコードをブラックリストテーブル511から削除することで、マルウェアが削除されたサイトがブラックリストに登録されたままになることを防止する。
[命令送信部による処理]
図6を用いて、実施例1における命令送信部523による処理の流れの一例を示す。図6は、実施例1における命令送信部による処理の流れの一例を示すフローチャートである。図6を用いて説明する一連の処理は、図5におけるステップS108に対応する。
図6に示すように、命令送信部523は、取得レコードに含まれる位置情報により示される位置にあるファイルを取得して実行する旨の実行指示をアプリケーションサーバ400に送信すると(ステップS201肯定)、送信した実行指示をアプリケーションサーバ400が実行したか否かを監視する。例えば、命令送信部523は、アプリケーションサーバ400のOSの挙動を監視することで、取得したファイルが実行されたか否かを監視する(ステップS202)。
ここで、命令送信部523は、実行したとの監視結果が得られた場合には、そのまま処理を終了し(ステップS203肯定)、フィルタリング装置500は、図5におけるステップS109を実行する。
一方、命令送信部523は、実行したとの監視結果が得られなかった場合には、(ステップS203否定)、取得レコードとは別のレコードに含まれる指定命令により指定されるプログラムにより実行させる実行指示をアプリケーションサーバ400に送信する(ステップS204)。つまり、命令送信部523は、ファイルを実行するプログラムが異なる別の実行指示を送信する。例えば、命令送信部523は、取得レコードに含まれる指定命令とは別の指定命令「http://server#3/board/login.php?id=」をブラックリストテーブル511から取得し、新たに取得した指定命令を用いて実行指示をアプリケーションサーバ400に送信する。そして、命令送信部523は、ステップS202に戻り、アプリケーションサーバ400が実行したと判定するまで、上述した一連の処理を繰り返す。
[実施例1の効果]
上述したように、実施例1によれば、フィルタリング装置500は、位置情報とファイル識別情報とを含むレコードを記憶するブラックリストテーブル511を有する。また、フィルタリング装置500は、ブラックリストテーブル511に記憶されたレコードを取得し、取得レコードに含まれる位置情報により示される位置にあるファイルを取得する。そして、フィルタリング装置500は、取得レコードに含まれるファイル識別情報により識別されるファイルと取得ファイルが同一であるか否かを判定する。そして、フィルタリング装置500は、同一でないと判定した場合に、取得レコードに含まれる位置情報により示される位置にあるファイルを取得して実行する旨の実行指示をアプリケーションサーバ400に送信する。そして、フィルタリング装置500は、送信した実行指示を実行したアプリケーションサーバ400の挙動を分析することで取得ファイルが悪意のあるプログラムであるか否かを判定し、悪意のあるプログラムであると判定した場合には、取得レコードに含まれる識別情報をファイル取得部521により取得されたファイルを識別する識別情報に更新し、悪意のあるプログラムであると判定しなかった場合には、取得レコードを記憶部510から削除する。この結果、フィルタリング装置500によれば、ブラックリストテーブル511を適切に更新でき、マルウェアが削除されたサイトがブラックリストに登録されたままになることを防止可能である。
例えば、フィルタリング装置500によれば、ブラックリストを自動的に更新可能である。すなわち、位置情報にあるファイルが同一ではない場合に、悪意のあるプログラムであるかを手動にて解析する手法では、解析を実行する者に多大な負荷がかかり、かつ、解析に時間がかかる結果ブラックリストが迅速に更新されないと考えられる。これに対して、フィルタリング装置500によれば、ブラックリストテーブル511を自動的に更新でき、更新に要する時間を短縮可能であり、解析を実行する者にかかっていた負荷を減少させることが可能である。また、フィルタリング装置500によれば、ブラックリストテーブル511の更新にかかる時間を短縮可能な結果、マルウェアダウンロードサイトが頻繁に変化する状況下であっても、ブラックリストを用いてのフィルタリングを適切に実行可能である。
すなわち、フィルタリング装置500によれば、マルウェアが配置されているサイトを定期的に監視してファイルの内容や配置位置が変更されていないかを定期的に確認することで、マルウェアダウンロードサイトが動的に変化する事象やマルウェア自身が変化する事象においても、正確にブラックリストテーブル511を更新可能である。
また、実施例1によれば、フィルタリング装置500は、ファイルを実行するプログラムを指定してファイルを実行させる指定命令を含むレコードを記憶する。そして、フィルタリング装置500は、取得したファイルが同一でないと判定した場合に、取得レコードに含まれる指定命令により指定されるプログラムにより実行させる実行指示をアプリケーションサーバ400に送信する。そして、フィルタリング装置500は、送信した実行指示をアプリケーションサーバ400が実行したか否かを監視し、実行しなかったとの監視結果が得られた場合に、取得レコードとは別のレコードに含まれる指定命令により指定されるプログラムにより実行させる実行指示をアプリケーションサーバ400に送信する。この結果、フィルタリング装置500によれば、レコードに含まれる指定情報により指定されるプログラムが誤っていたとしても、位置情報にあるファイルが悪意のあるプログラムかを確実に判定可能となる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例を示す。
[処理フラグ]
例えば、ファイル取得部521が、ブラックリストテーブル511から一定周期ごとにレコードを再度取得するようにしても良い。例えば、ブラックリストテーブル511は、レコードごとに、ファイル取得部521により取得されたか否かを示す「処理フラグ」を記憶する。例えば、ブラックリストテーブル511の処理フラグは、「0」が所得されていないことを示し、「1」が取得されたことを示す。ここで、例えば、ファイル取得部521は処理フラグが「0」のレコードを取得し、取得したレコードの処理フラグを「0」から「1」に更新する。また、ファイル取得部521は、例えば、一定時間経過後に、すべての処理フラグをリセットして「0」に更新する。
[アドレス記憶部]
また、例えば、フィルタリング装置500は、ファイルを取得する際に用いるネットワークにおける自装置の位置を示す位置情報を、適宜変更しても良い。例えば、図7に示すように、フィルタリング装置500の記憶部510は、ファイル取得部521がファイルを取得する際に用いたネットワークにおける自装置の位置を示す位置情報を記憶するアドレステーブル512を更に有する。図7は、アドレステーブルを有するフィルタリング装置の構成を示すブロック図である。アドレステーブル512は、位置情報として、例えば、使用済みのIPアドレスを記憶する。アドレステーブルに記憶された使用済みのIPアドレス(Internet Protocol Address)は、例えば、一定期間経過後に削除し、再度使用可能な状態にする。ファイル取得部521は、アドレステーブルに記憶されていないIPアドレスを用いて、ファイルサーバ200からファイルを取得する。
ファイルサーバ200は、アクセスログを有し、一度アクセスしたアクセス先から短期間に再度同じファイルに対するアクセスがあった場合に、予め設定された処理を実行する場合がある。例えば、ファイルサーバ200は、一定期間同じIPアドレスからのアクセスを拒絶することがある。また、例えば、攻撃者によって、ブラックリストの更新処理を回避することを目的として、同じIPアドレスからのアクセスがあった場合にその旨のメッセージを端末300に送信することも考えられる。このことを踏まえ、フィルタリング装置500は、ファイルを取得する際に自装置を示すIPアドレスを変更することで、ファイルサーバ200により予期しない事態に陥ることを防止することが可能である。
[アプリケーションサーバの状態]
また、例えば、フィルタリング装置500の制御部520は、実行指示を実行したアプリケーションサーバ400の状態を、実行指示の実行前の状態に変更しても良い。例えば、フィルタリング装置500は、アプリケーションサーバ400を仮想装置上に構築し、仮想装置のイメージファイルを保存しておく、そして、フィルタリング装置500は、実行指示を実行させた後に、保存しておいたイメージファイルで現在の環境を上書きすることで、実行指示の実行前の状態に変更しても良い。ただし、本発明はこれに限定されるものではなく、任意の手法を用いて実行指示の実行前の状態に変更して良い。この結果、アプリケーションサーバ400が実行指示を実行することでマルウェアに感染したとしても、実行指示の実行前の状態に戻すことが可能である。
[ファイル取得部によるファイル取得]
また、例えば、ファイル取得部521は、一度ファイルの取得に失敗したとしても、ネットワーク環境などに起因した失敗である可能性があることを踏まえ、複数回ファイルの取得を試行しても良い。この場合、例えば、試行するファイル取得回数は予めオペレータが設定しておき、ファイル取得部521は、ファイルの取得に失敗した場合には、予め設定されたファイル取得回数になるまで処理を繰り返す。
[実行指示]
また、例えば、上述した実施例では、命令送信部523が、位置情報により示される位置にあるファイルを実行するプログラムを指定する場合を用いて説明したが、本発明はこれに限定されるものではない。例えば、命令送信部523は、ファイルを実行するプログラムを指定することなく、位置情報により示される位置にあるファイルを実行する旨の実行指示を送信しても良い。この場合、ブラックリストテーブル511は、指定命令を記憶してなくても良い。
[アプリケーションサーバによるファイル取得]
また、例えば、上述した実施例では、アプリケーションサーバ400が、取得レコードに含まれる位置情報により示されるネットワークの位置からファイルを取得する場合を用いて説明した。つまり、図8に示すように、アプリケーションサーバ400が、ファイルサーバ200からファイルを取得する場合を用いて説明した。言い換えると、ファイルサーバ200がファイルをアプリケーションサーバ400に送信する場合を用いて説明した。図8は、ファイルサーバからファイルを取得する場合について示す図である。
図8を用いてより詳細に説明する。図8の(1)に示すように、フィルタリング装置500は、レコードに含まれる位置情報により示される位置にあるファイルを取得する要求をファイルサーバ200に送信し、(2)に示すように、ファイルをファイルサーバ200から取得する。そして、図8の(3)に示すように、フィルタリング装置500は、例えば、取得したファイルのハッシュ値を算出して同一であるかを確認することで、ファイルが同一であるかを判定する。そして、フィルタリング装置500は、同一でないと判定した場合に、図8の(4)に示すように、レコードに含まれる位置情報により示される位置にあるファイルを取得することをアプリケーションサーバ400に命令する。そして、図8の(5)に示すように、アプリケーションサーバ400は、ファイルを取得する要求をファイルサーバ200に送信し、図8の(6)に示すように、ファイルサーバ200からファイルを取得する。その後、フィルタリング装置500は、アプリケーションサーバ400の挙動を監視することで悪意のあるプログラムであるか否かを判定する。
ただし、本発明はこれに限定されるものではない。例えば、図9に示すように、アプリケーションサーバ400は、フィルタリング装置500からファイルを取得しても良い。言い換えると、フィルタリング装置500が、アプリケーションサーバ400にファイルを送信しても良い。図9は、フィルタリング装置からファイルを取得する場合について示す図である。
図9を用いてより詳細に説明する。図9の(1)〜(4)については図8の(1)〜(4)と同一であり、説明を省略する。図9の(5)に示すように、アプリケーションサーバ400によって、ファイルを取得する要求がファイルサーバ200に向けて送信されると、図9の(6)に示すように、フィルタリング装置500は、ファイルを取得する要求をアプリケーションサーバ400に送信することなく、ファイルをアプリケーションサーバ400に返信する。具体的には、フィルタリング装置500は、アプリケーションサーバ400により送信された要求を受信した場合におけるファイルサーバ200の応答を擬似的に生成し、ファイル取得部521にて取得したファイルと併せてアプリケーションサーバ400に返信する。
すなわち、フィルタリング装置500は、ファイルサーバ200とアプリケーションサーバ400の中継機能を有する場合に、アプリケーションサーバ400によってファイル取得要求が送信されると、ファイル取得要求を受信するはずのファイルサーバ200が生成すると予想される応答を生成し、ファイルサーバ200から取得したファイルとともにアプリケーションサーバ400に送信しても良い。
このように、アプリケーションサーバ400がフィルタリング装置500からファイルを取得することで、アプリケーションサーバ400が実際にファイルサーバ200にアクセスすることなく、アプリケーションサーバ400とフィルタリング装置500との間にてローカルに処理することが可能である。
[ファイル取得命令]
また、図9に示す例では、フィルタリング装置500が中継機能を有し、アプリケーションサーバ400がファイルサーバ200に向けてファイルを取得する要求を送信する場合について説明した。ただし、本発明はこれに限定されるものではない。例えば、フィルタリング装置500では、ファイル取得部521が既にファイルを取得しており、フィルタリング装置500からファイルを取得する旨の命令をアプリケーションサーバ400に送信しても良い。
図10は、フィルタリング装置からファイルを取得する旨の命令をアプリケーションサーバに送信する場合におけるフィルタリング装置の構成の一例を示すブロック図である。図10に示すように、フィルタリング装置500は、ファイルテーブル512と、返信部525とを更に備える。
ファイルテーブル512は、ファイル取得部521により取得されたファイルを記憶する。ファイル取得部521は、取得したファイルをファイルテーブル512に格納する。例えば、フィイル取得部521は、ファイルを取得した際に用いた位置情報に含まれるパスにて特定される記憶領域にファイルを格納する。より詳細な一例をあげて説明すると、ファイル取得部521は、位置情報「http://host#1/d-A/d-B/d-C/file-a」にあるファイルを取得した場合には、ファイルテーブル512において「d-A/d-B/d-C/」により特定される記憶領域にファイルを格納する。ただし、本発明はこれに限定されるものではなく、任意の記憶領域にファイルを格納しても良い。
そして、命令送信部523は、ファイルテーブル512からファイルを取得して実行する旨の実行指示をアプリケーションサーバ400に送信する。例えば、命令送信部523は、実行命令に含まれる位置情報のホスト名を、フィルタリング装置500に付与されたホスト名に更新した上で、実行命令を送信する。より詳細な一例をあげて説明すると、フィルタリング装置500のホスト名が「host#filter」である場合には、命令送信部523は、位置情報「http://host#1/d-A/d-B/d-C/file-a」を「http://host#filter/d-A/d-B/d-C/file-a」に更新した上で、実行命令を送信する。この結果、アプリケーションサーバ400は、ホスト名が「host#1」であるファイルサーバ200ではなく、ホスト名が「host#filter」であるフィルタリング装置500にアクセスする。
なお、ここで、ファイル取得部521が、ファイルを任意の記憶領域に格納した場合には、命令送信部523は、位置情報に含まれるパスについても、ファイルが格納された記憶領域を示すパスに更新した上で送信する。
そして、フィルタリング装置500の返信部525は、アプリケーションサーバ400から実行指示により指定されるファイルを要求するファイル要求を受信すると、ファイル要求に対する応答を生成し、ファイル要求により要求されたファイルをファイルテーブル512から取得する。そして、返信部525は、生成した応答と取得したファイルとをアプリケーションサーバ400に返信する。
この結果、フィルタリング装置500が中継機能を有しなくても、アプリケーションサーバ400とフィルタリング装置500との間にてローカルに処理することが可能である。
なお、例えば、フィルタリング装置500は、ファイルを取得する旨の命令をアプリケーションサーバ400に送信することなく、ファイル取得要求を受信するはずのファイルサーバ200が生成すると予想される応答とファイルとをすぐにアプリケーションサーバ400に送信しても良い。
[システム構成]
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。例えば、この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については(図1〜図10)、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、フィルタリング装置500のブラックリストテーブル511をフィルタリング装置500の外部装置としてネットワーク経由で接続するようにしても良い。また、図10に示す例では、ファイルテーブル512がフィルタリング装置500とは別の外部装置としても良い。この場合、命令送信部523は、外部装置としてのファイルテーブル512のホスト名を用いて更新した上で、実行命令を送信する。
[プログラム]
図11は、開示の技術に係る更新プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。図11に例示するように、コンピュータ3000は、例えば、メモリ3010と、CPU(Central Processing Unit)3020と、ハードディスクドライブインタフェース3030と、ディスクドライブインタフェース3040と、シリアルポートインタフェース3050と、ビデオアダプタ3060と、ネットワークインタフェース3070とを有する。コンピュータ3000の各部はバス3100によって接続される。
メモリ3010は、図11に例示するように、ROM3011及びRAM3012を含む。ROM3011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース3030は、図11に例示するように、ハードディスクドライブ3080に接続される。ディスクドライブインタフェース3040は、図11に例示するように、ディスクドライブ3090に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ3090に挿入される。シリアルポートインタフェース3050は、図11に例示するように、例えばマウス3051、キーボード3052に接続される。ビデオアダプタ3060は、図11に例示するように、例えばディスプレイ3061に接続される。
ここで、図11に例示するように、ハードディスクドライブ3080は、例えば、OS3081、アプリケーションプログラム3082、プログラムモジュール3083、プログラムデータ3084を記憶する。すなわち、開示の技術に係る更新プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュール3083として、例えばハードディスクドライブ3080に記憶される。具体的には、上記実施例で説明した制御部520の各部と同様の情報処理を実行する手順各々が記述されたプログラムモジュールが、ハードディスクドライブ3080に記憶される。また、上記実施例で説明した記憶部510に記憶されるデータのように、更新プログラムによる情報処理に用いられるデータは、プログラムデータ3084として、例えばハードディスクドライブ3080に記憶される。そして、CPU3020が、ハードディスクドライブ3080に記憶されたプログラムモジュール3083やプログラムデータ3084を必要に応じてRAM3012に読み出し、各種の手順を実行する。
なお、更新プログラムに係るプログラムモジュール3083やプログラムデータ3084は、ハードディスクドライブ3080に記憶される場合に限られない。例えば、プログラムモジュール3083やプログラムデータ3084は、着脱可能な記憶媒体に記憶されても良い。この場合、CPU3020は、ディスクドライブなどの着脱可能な記憶媒体を介してデータを読み出す。また、同様に、更新プログラムに係るプログラムモジュール3083やプログラムデータ3084は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されても良い。この場合、CPU3020は、ネットワークインタフェースを介して他のコンピュータにアクセスすることで各種データを読み出す。
[その他]
なお、本実施例で説明した更新プログラムは、インターネットなどのネットワークを介して配布することができる。また、更新プログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
100 更新システム
200 ファイルサーバ
300 端末
400 アプリケーションサーバ
500 フィルタリング装置
510 記憶部
511 ブラックリストテーブル
512 アドレステーブル
520 制御部
521 ファイル取得部
522 ファイル内容判定部
523 命令送信部
524 更新処理部
600 ネットワーク

Claims (8)

  1. コンピュータが、
    ネットワークにおける位置を示す位置情報とファイルを識別する識別情報とを含むレコードを記憶する記憶部から、当該レコードを取得するレコード取得ステップと、
    前記レコード取得ステップより取得されたレコードに含まれる位置情報により示される位置にあるファイルを取得するファイル取得ステップと、
    前記ファイル取得ステップにより取得されたファイルである取得ファイルが前記レコード取得ステップにより取得されたレコードである取得レコードに含まれる識別情報により識別されるファイルと同一であるか否かを判定する判定ステップと、
    前記判定ステップにより同一でないと判定された場合に、前記取得レコードに含まれる位置情報により示される位置にあるファイルを取得して実行する旨の実行指示を所定のサーバに送信する送信ステップと、
    前記送信ステップにより送信された実行指示を実行した前記所定のサーバの挙動を分析することで前記取得ファイルが悪意のあるプログラムであるか否かを判定し、悪意のあるプログラムであると判定した場合には、前記取得レコードに含まれる識別情報を前記ファイル取得ステップにより取得されたファイルを識別する識別情報に更新し、悪意のあるプログラムであると判定しなかった場合には、前記取得レコードを前記記憶部から削除する更新処理ステップと
    を実行することを特徴とする更新方法。
  2. 前記ファイル取得ステップは、前記レコード取得ステップによりファイルを取得する際に用いられた前記ネットワークにおける自装置の位置を示す位置情報を記憶するアドレス記憶部を参照し、当該アドレス記憶部に記憶されていない位置情報を用いてファイルを取得することを特徴とする請求項1に記載の更新方法。
  3. 前記記憶部は、前記ファイルを実行するプログラムを指定して当該ファイルを実行させる指定命令を含む前記レコードを記憶し、
    前記送信ステップは、前記判定ステップにより同一でないと判定された場合に、前記取得レコードに含まれる指定命令により指定されるプログラムにより実行させる実行指示を所定のサーバに送信し、
    前記送信ステップにより送信された実行指示を前記所定のサーバが実行したか否かを監視し、実行しなかったとの監視結果が得られた場合に、前記取得レコードとは別のレコードに含まれる指定命令により指定されるプログラムにより実行させる実行指示を所定のサーバに送信する第二の送信ステップを更に実行することを特徴とする請求項1又は2に記載の更新方法。
  4. 前記コンピュータが、前記実行指示を実行した前記所定のサーバの状態を、前記実行指示の実行前の状態に変更するサーバ状態変更ステップを更に実行することを特徴とする請求項1〜3のいずれか1つに記載の更新方法。
  5. 前記コンピュータは、前記所定のサーバによるデータの送受信を中継し、
    前記所定のサーバによって前記実行指示により指定される位置にあるファイルを要求するファイル要求が送信されると、当該ファイル要求を当該所定のサーバに送信することなく当該ファイル要求に対する応答を生成し、前記ファイル取得ステップにより取得されたファイルと共に当該所定のサーバに返信する第一の返信ステップを更に実行することを特徴とする請求項1〜4のいずれか1つに記載の更新方法。
  6. 前記ファイル取得ステップにより取得されたファイルを所定の記憶部に格納する格納ステップを更に実行し、
    前記送信ステップは、前記格納ステップにより前記ファイルが格納された前記所定の記憶部から当該ファイルを取得して実行する旨の前記実行指示を前記所定のサーバに送信し、
    前記実行指示により指定されるファイルを要求するファイル要求を前記所定のサーバから受信すると、当該ファイル要求に対する応答を生成し、当該ファイル要求により要求されたファイルを前記所定の記憶部から取得し、生成した応答と取得したファイルとを当該所定のサーバに返信する第二の返信ステップを更に実行することを特徴とする請求項1〜5のいずれか1つに記載の更新方法。
  7. ネットワークにおける位置を示す位置情報とファイルを識別する識別情報とを含むレコードを記憶する記憶部を有するフィルタリング装置と、当該記憶部に記憶されたレコードを更新する更新装置と、当該更新装置により用いられるサーバとを有する更新システムであって、
    前記フィルタリング装置は、
    ネットワークにおける位置を示す位置情報と、ファイルを識別する識別情報とを含むレコードを記憶する記憶部と、
    前記記憶部に記憶されたレコードに基づいてフィルタリングを実行するフィルタリング部とを備え、
    前記更新装置は、
    前記記憶部から前記レコードを取得するレコード取得部と、
    前記レコード取得部により取得されたレコードに含まれる位置情報により示される位置にあるファイルを取得するファイル取得部と、
    前記ファイル取得部により取得されたファイルである取得ファイルが前記レコード取得部により取得されたレコードである取得レコードに含まれる識別情報により識別されるファイルと同一であるか否かを判定する判定部と、
    前記判定部により同一でないと判定された場合に、前記取得レコードに含まれる位置情報により示される位置にあるファイルを取得して実行する旨の実行指示を所定のサーバに送信する送信部と、
    前記送信部により送信された実行指示を実行した前記所定のサーバの挙動を分析することで前記取得ファイルが悪意のあるプログラムであるか否かを判定し、悪意のあるプログラムであると判定した場合には、前記取得レコードに含まれる識別情報を前記ファイル取得部により取得されたファイルを識別する識別情報に更新し、悪意のあるプログラムであると判定しなかった場合には、前記取得レコードを前記記憶部から削除する更新処理部とを備え、
    前記所定のサーバは、
    前記送信部により送信された実行指示を実行する実行部を備えたことを特徴とする更新システム。
  8. ネットワークにおける位置を示す位置情報と、ファイルを識別する識別情報とを含むレコードを記憶する記憶部と、
    前記記憶部に記憶されたレコードを取得するレコード取得部と、
    前記レコード取得部により取得されたレコードに含まれる位置情報により示される位置にあるファイルを取得するファイル取得部と、
    前記ファイル取得部により取得されたファイルである取得ファイルが前記レコード取得部により取得されたレコードである取得レコードに含まれる識別情報により識別されるファイルと同一であるか否かを判定する判定部と、
    前記判定部により同一でないと判定された場合に、前記取得レコードに含まれる位置情報により示される位置にあるファイルを取得して実行する旨の実行指示を所定のサーバに送信する送信部と、
    前記送信部により送信された実行指示を実行した前記所定のサーバの挙動を分析することで前記取得ファイルが悪意のあるプログラムであるか否かを判定し、悪意のあるプログラムであると判定した場合には、前記取得レコードに含まれる識別情報を前記ファイル取得部により取得されたファイルを識別する識別情報に更新し、悪意のあるプログラムであると判定しなかった場合には、前記取得レコードを前記記憶部から削除する更新処理部と
    を備えたことを特徴とする更新装置。
JP2010131476A 2010-06-08 2010-06-08 更新方法、更新装置及び更新システム Active JP5389740B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010131476A JP5389740B2 (ja) 2010-06-08 2010-06-08 更新方法、更新装置及び更新システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010131476A JP5389740B2 (ja) 2010-06-08 2010-06-08 更新方法、更新装置及び更新システム

Publications (2)

Publication Number Publication Date
JP2011257960A JP2011257960A (ja) 2011-12-22
JP5389740B2 true JP5389740B2 (ja) 2014-01-15

Family

ID=45474077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010131476A Active JP5389740B2 (ja) 2010-06-08 2010-06-08 更新方法、更新装置及び更新システム

Country Status (1)

Country Link
JP (1) JP5389740B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5952219B2 (ja) * 2013-05-23 2016-07-13 日本電信電話株式会社 ファイル監視周期制御装置、ファイル監視周期制御システム、ファイル監視周期制御方法及びファイル監視周期制御プログラム
JP5952220B2 (ja) * 2013-05-23 2016-07-13 日本電信電話株式会社 ファイル監視周期算出装置、ファイル監視周期算出システム、ファイル監視周期算出方法及びファイル監視周期算出プログラム
EP3516545A1 (en) * 2016-09-21 2019-07-31 R-Stor Inc. Systems and methods for using a distributed ledger for data handling
JP6829168B2 (ja) * 2017-09-04 2021-02-10 株式会社東芝 情報処理装置、情報処理方法およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4542544B2 (ja) * 2006-12-28 2010-09-15 キヤノンItソリューションズ株式会社 通信データ監視装置および通信データ監視方法およびプログラム
JP5111073B2 (ja) * 2007-11-27 2012-12-26 Kddi株式会社 ポリシ生成システム、プログラム、および記録媒体
JP2009230663A (ja) * 2008-03-25 2009-10-08 Kddi Corp ウェブページの異常検知装置、プログラム、および記録媒体
JP5009244B2 (ja) * 2008-07-07 2012-08-22 日本電信電話株式会社 マルウェア検知システム、マルウェア検知方法及びマルウェア検知プログラム

Also Published As

Publication number Publication date
JP2011257960A (ja) 2011-12-22

Similar Documents

Publication Publication Date Title
US11632396B2 (en) Policy enforcement using host information profile
US9516048B1 (en) Contagion isolation and inoculation via quarantine
JP6553524B2 (ja) 専用のコンピュータセキュリティサービスを利用するシステムおよび方法
US9774601B2 (en) Security of computer resources
EP2865165B1 (en) Method and device for secure content retrieval
US8256003B2 (en) Real-time network malware protection
US8392995B2 (en) Network management
US7702772B2 (en) Discovering and determining characteristics of network proxies
US20130145437A1 (en) Protection against malware on web resources utilizing scripts for content scanning
JP5655191B2 (ja) 特徴情報抽出装置、特徴情報抽出方法および特徴情報抽出プログラム
KR20060047551A (ko) 네트워크 검역을 제공하기 위한 방법 및 시스템
JP2008072655A (ja) サービス通信制御方法、サービス中継装置およびサービス通信制御システム
JP2008538249A (ja) コンピュータの状態のモニタリング及びサポート
US9762444B1 (en) Detecting a configuration profile from a management agent
JP5389740B2 (ja) 更新方法、更新装置及び更新システム
WO2022166166A1 (zh) 安全组件的功能验证方法及装置
JP5345500B2 (ja) 転送制御方法、転送制御装置、転送制御システムおよび転送制御プログラム
JP5313104B2 (ja) 転送制御方法、転送制御装置、転送制御システムおよび転送制御プログラム
JP5952219B2 (ja) ファイル監視周期制御装置、ファイル監視周期制御システム、ファイル監視周期制御方法及びファイル監視周期制御プログラム
JP5952220B2 (ja) ファイル監視周期算出装置、ファイル監視周期算出システム、ファイル監視周期算出方法及びファイル監視周期算出プログラム
CN112565203B (zh) 一种集中管理平台
EP2677715A1 (en) A method and a server for evaluating a request for access to content from a server in a computer network
JP6096700B2 (ja) Api提供システム
CN104253797A (zh) 蠕虫病毒的识别方法及装置
JP6286314B2 (ja) マルウェア通信制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130930

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131009

R150 Certificate of patent or registration of utility model

Ref document number: 5389740

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350