JP6291441B2 - ウェブシステム、ウェブクライアント装置および改ざん検査装置 - Google Patents

ウェブシステム、ウェブクライアント装置および改ざん検査装置 Download PDF

Info

Publication number
JP6291441B2
JP6291441B2 JP2015047977A JP2015047977A JP6291441B2 JP 6291441 B2 JP6291441 B2 JP 6291441B2 JP 2015047977 A JP2015047977 A JP 2015047977A JP 2015047977 A JP2015047977 A JP 2015047977A JP 6291441 B2 JP6291441 B2 JP 6291441B2
Authority
JP
Japan
Prior art keywords
web page
verification
unit
inspection
data
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
JP2015047977A
Other languages
English (en)
Other versions
JP2016170464A (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 JP2015047977A priority Critical patent/JP6291441B2/ja
Publication of JP2016170464A publication Critical patent/JP2016170464A/ja
Application granted granted Critical
Publication of JP6291441B2 publication Critical patent/JP6291441B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、データ処理技術に関し、特にウェブシステム、ウェブクライアント装置および改ざん検査装置に関する。
近年、顧客の利便性を高めるために、インターネットを介して顧客へサービスを提供する企業が増加している。例えば、顧客はインターネットバンキングサービスを利用することで、自宅や勤務先等、様々な場所で銀行のサービスを享受することができる。
ユーザ端末のインターネット接続が当たり前になっている現在、悪意のあるソフトウェアや悪質なプログラムコードであるマルウェアが、ユーザが知らぬ間にユーザ端末へ導入されてしまうことがある。マルウェアの中には、ユーザ端末で表示されるウェブページを改ざんし、ユーザやウェブページ提供元の企業に損害を与えるものがある。以下の特許文献1は、ユーザ端末内に存在するマルウェアを検出する技術を提案している。
米国特許出願公開第2011/0239300号明細書
特許文献1の技術では、予め知られた態様でウェブページ改ざんが行われたか否かを判定することにより、ウェブクライアント装置にマルウェアが存在するか否かを検出する(特許文献1の段落0041〜0048)。そのため特許文献1の技術では、マルウェアによるウェブページ改ざんの態様を予め把握しておくことが前提であり、未知のマルウェアによるウェブページの改ざんを検出することは困難であると本願発明者は考えた。
本願発明は発明者の上記課題認識にもとづきなされたものであり、その主な目的は、ウェブページの改ざんがウェブクライアント装置で行われたか否かを検出する精度を高めるための技術を提供することである。
上記課題を解決するために、本発明のある態様のウェブシステムは、ウェブブラウザが搭載されたユーザ装置と、検査装置とを備える。ユーザ装置のウェブブラウザは、ユーザにより指定されたウェブページである指定ウェブページを取得して画面に表示させるページ表示部と、ページ表示部によるウェブページ表示処理とは非同期の処理として、指定ウェブページに対応する検証用ウェブページを検査装置から取得し、取得した検証用ウェブページのデータを検査装置へ提供する検証データ処理部と、を含む。検査装置は、ユーザ装置へ提供した検証用ウェブページのデータと、ユーザ装置から提供された検証用ウェブページのデータとが一致するか否かを判定する判定部を含む。
本発明の別の態様は、ウェブクライアント装置である。この装置は、ウェブブラウザを備える。ウェブブラウザは、ユーザにより指定されたウェブページである指定ウェブページを取得して画面に表示させるページ表示部と、ページ表示部によるウェブページ表示処理とは非同期の処理として、指定ウェブページに対応する検証用ウェブページを所定の検査装置から取得し、取得した検証用ウェブページのデータを検査装置へ提供することにより、検査装置から本装置へ提供された検証用ウェブページのデータと、本装置から検査装置へ提供した検証用ウェブページのデータとが一致するか否かを検査装置に判定させる検証データ処理部と、を含む。
本発明のさらに別の態様は、改ざん検査装置である。この装置は、ユーザ装置のウェブブラウザにより所定のウェブページが表示される場合に、ユーザ装置の要求に応じて所定の検証プログラムをユーザ装置へ提供する検証プログラム提供部と、所定のウェブページに対応する検証用ウェブページをユーザ装置へ提供する検証データ提供部と、判定部と、を備える。検証プログラムは、ウェブページ表示処理とは非同期の処理として、検証用ウェブページを本装置から取得し、取得した検証用ウェブページのデータを本装置へ提供する処理をユーザ装置のウェブブラウザに実行させるものであり、判定部は、ユーザ装置へ提供した検証用ウェブページのデータと、ユーザ装置から提供された検証用ウェブページのデータとが一致するか否かを判定する。
なお、以上の構成要素の任意の組合せ、本発明の表現を、方法、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、ウェブページの改ざんがウェブクライアント装置で行われたか否かを検出する精度を高めることができる。
実施の形態のウェブシステムの構成を示す図である。 図1の改ざん検査装置の機能構成を示すブロック図である。 図1のユーザ装置の機能構成を示すブロック図である。 実施の形態のウェブシステムの動作を示すシーケンス図である
実施の形態においてウェブページを改ざんするマルウェアは、ユーザ装置のソフトウェアスタック上、ウェブブラウザよりも下位で動作する。例えば、TCP/IP参照モデルにおけるトランスポート層とアプリケーション層との間で動作するコンピュータウィルスであってもよい。Windows(登録商標)OS(Operating System)の場合、wininet.dllなどに感染し、WindowsAPIをフックして、ウェブページデータを書き換え、また入力データやメッセージを盗窃するものであってもよい。したがって、アプリケーション層で動作するウェブブラウザは、マルウェアによる改ざん後のウェブページを取得し、表示することになる。
既述したように、特許文献1に記載のマルウェア検出方法では、予め知られた態様でのウェブページ改ざんが行われたか否かを判定することにより、ウェブページの改ざんがユーザ装置で行われたか否かを検出する。特許文献1の技術は、言わばブラックリスト方式で改ざんを検出するものである。
これに対し、実施の形態のウェブシステムでは、保護対象となるウェブページに対応する検証データを検査装置からユーザ装置へ提供し、ユーザ装置はその検証データを検査装置へ返却する。ユーザ装置にマルウェアが存在する場合、マルウェアは検証データを改ざんするため、ユーザ装置から返却された検証データは、検査装置からユーザ装置へ提供したオリジナルの検証データとは異なるものになる。検査装置は、オリジナルの検証データと、ユーザ装置から返却された検証データとの異同を判定することで、ウェブページの改ざんがユーザ装置で行われたか否かを検出する。
このように、実施の形態のウェブシステムでは、言わばホワイトリスト方式で改ざんを検出することにより、ウェブページの改ざんがユーザ装置で行われたか否かを検出する精度を高めることができる。例えば、マルウェアによるウェブページの改ざん態様が未知であっても、また、未知のマルウェアによるウェブページ改ざんであっても、実際にユーザ装置12で行われたウェブページの改ざんを精度よく検出できる。
図1は、実施の形態のウェブシステム10の構成を示す。ウェブシステム10は、ユーザ装置12、IBサーバ14、改ざん検査装置16を備える。これらの装置は、通信網18を介して接続される。通信網18は、LAN・WAN・インターネット等、公知のデータ伝送網を含む。なお「IB」は「インターネットバンキング」を意味する。
ユーザ装置12は、ユーザにより操作される情報処理装置であり、ウェブページを閲覧するためのユーザエージェントであるウェブブラウザが搭載されたウェブクライアント装置である。ユーザ装置12は、PC、タブレット端末、スマートフォン、携帯電話機等であってもよい。ユーザ装置12の詳細機能については後述する。
IBサーバ14は、銀行等の金融機関が保有する情報処理装置であり、インターネットバンキングサービスを提供する。IBサーバ14は、ウェブサーバの機能を備え、IBのユーザインタフェースであるウェブページ(以下「IBページ」とも呼ぶ。)をユーザ装置12へ提供する。
改ざん検査装置16は、ユーザ装置12におけるウェブページの改ざんリスクを検出する情報処理装置である。実施の形態では、IBページの改ざんがユーザ装置12で行われたか否かを検出するためのデータ処理を実行する。
なお、改ざん検出の対象となるウェブページであり、言い換えれば、改ざんから保護されるべきウェブページ(以下「保護対象ページ」とも呼ぶ。)は、IBページに限られないことはもちろんである。B2Bサイト・B2Cサイト・企業サイト等、様々なウェブサイトが提供する様々なウェブページが保護対象ページになり得る。図1のIBサーバ14は、保護対象ページを提供する様々な企業や団体、個人が保有するサーバや装置に置き換えることもできる。また、複数の装置が提供する複数の保護対象ページが、改ざん検査装置16による改ざん検出の対象となり得る。
図2は、図1の改ざん検査装置16の機能構成を示すブロック図である。改ざん検査装置16は、通信部20、制御部22、記憶部24を備える。通信部20は、各種通信プロトコル(HTTP等)にしたがって通信処理を実行する。制御部22は、改ざん検査のためのデータ処理を実行し、また通信部20を介してユーザ装置12およびIBサーバ14とデータを送受する。記憶部24は、各種データを記憶する記憶領域である。
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPUやメモリをはじめとする素子や機械装置、電子回路で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現される。ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
例えば、制御部22の各機能ブロックに対応するモジュールを含むコンピュータプログラムが改ざん検査装置16のストレージへインストールされてもよい。改ざん検査装置16のCPUは、当該コンピュータプログラムをメインメモリへ読み出して実行することにより各機能ブロックの機能を発揮してもよい。記憶部24の各機能ブロックは、改ざん検査装置16のメインメモリやストレージ等の記憶装置がデータを記憶することにより実現されてもよい。
記憶部24は、検証データ保持部30、ユーザ情報保持部32、検査結果保持部34を含む。制御部22は、要求受付部40、トークン発行部42、分割位置決定部44、検証プログラム生成部46、検証プログラム提供部48、検証データ提供部50、検査実行部52、完了情報提供部54、検査結果提供部56を含む。
検証データ保持部30は、ユーザ装置12におけるウェブページの改ざん有無を検証するためのウェブページデータ(以下「検証データ」と呼ぶ。)を保持する。検証データは、IBサーバ14がユーザ装置12へ提供するIBページに対応する内容が予め設定されたデータであり、実施の形態ではIBページと同一内容のウェブページデータとする。検証データ保持部30は、IBページに対して予め付与された識別情報であるサイトIDおよびページIDと、そのIBページに対応する検証データとを対応づけて保持する。改ざん検査装置16による改ざん検出対象となる保護対象ページが複数存在する場合、検証データ保持部30は、複数の保護対象ページに対応する複数の検証データを保持する。
ユーザ情報保持部32は、検査対象となるユーザ(ユーザ装置12)に関する情報であるユーザ情報を保持する。具体的には、ユーザ情報として、チェックトークン、サイトID、ページID、ユーザエージェント情報、IPアドレス、検証データ分割位置を対応付けて保持する。チェックトークンは、検査毎に改ざん検査装置16がユーザ装置12へ払い出したIDである。サイトIDおよびページIDは、保護対象ページの識別情報である。例えば、あるサイトIDは、ユーザ装置12がアクセスしたIBサーバ14が提供するウェブサイトについて予め定められたIDである。また、あるページIDは、IBサーバ14が提供するウェブページ(例えばインターネットバンキングへのログインページ)のIDである。
検査結果保持部34は、改ざん検査装置16によるユーザ装置12の検査結果を保持する。この検査結果は、ユーザ装置12におけるウェブページ改ざんの検出有無を示す情報とも言える。具体的には、検査結果保持部34は、チェックトークン、検査日時、検査結果情報を対応付けて保持する。
要求受付部40は、ユーザ装置12およびIBサーバ14から送信されたHTTPリクエストを受信する。要求受付部40が受信するHTTPリクエストは、検証プログラムの提供を要求する検証プログラム要求、検証データの提供を要求する検証データ要求、検証データの検査を要求する検査要求、検査結果の照会を要求する検査結果照会要求を含む。検証プログラム要求はサイトIDとページIDを含む。検証データ要求はチェックトークンとIBページのURI(URL)を含む。検査要求は、チェックトークンと分割された検証データを含む。検査結果照会要求はチェックトークンを含む。
トークン発行部42は、ユーザ装置12から検証プログラム要求が受信された場合に、ユニークなチェックトークンを生成する。チェックトークンは、検証プログラム要求の単位でユニークであり、保護対象ページに対する接続毎に発行されるランダムな値である。したがって、異なるユーザに異なるチェックトークンを割当てることはもちろん、同じユーザであっても閲覧するウェブページが異なれば異なるチェックトークンを割当てる。さらにまた、同じユーザが同じページへ接続しても接続セッションが異なれば異なるチェックトークンを割当てる。トークン発行部42は、検証プログラム要求元のユーザ(ユーザ装置12)、当該ユーザが閲覧するウェブページ(サイトID・ページID)、日時等の組み合わせに基づきユニークなチェックトークンを生成してもよい。
分割位置決定部44は、ユーザ装置12から検証プログラム要求が受信された場合に、ユーザ装置12が検証データを分割すべき位置をランダムに決定する。例えば、ハードウエア乱数やソフトウエア乱数等により発生させた擬似乱数にしたがって、検証データの先頭から末尾までのいずれかの位置を分割位置として決定してもよい。分割位置は、検証データの先頭からの距離(文字列長等)を示す値であってもよい。
検証プログラム生成部46は、ウェブページ改ざんの検査のためにユーザ装置12のウェブブラウザに実行させる動作を定めたコンピュータプログラム(以下「検証プログラム」と呼ぶ。)を生成する。実施の形態の検証プログラムは、JavaScript(登録商標)コードとして構成され、図3にて後述する検証プログラム(検証データ処理部)の機能を含む。検証プログラム生成部46は、トークン発行部42により生成されたチェックトークンと、分割位置決定部44により決定された検証データ分割位置の情報を検証プログラムに設定する。
また検証プログラム生成部46は、検証プログラム要求からユーザ装置12のユーザエージェント情報(OSやウェブブラウザの種類等)とIPアドレスを取得し、これらの情報を含むユーザ情報をユーザ情報保持部32へ記録する。検証プログラム生成部46が記録するユーザ情報は、トークン発行部42が生成したチェックトークン、検証プログラム要求が含むサイトIDおよびページID、ユーザエージェント情報、IPアドレス、分割位置決定部44が決定した検証データ分割位置を含む。
検証プログラム提供部48は、検証プログラム要求に対する応答として、検証プログラム生成部46が生成した検証プログラムを要求元のユーザ装置12へ送信する。既述したように検証プログラムには検証データ分割位置が含まれ、検証プログラム提供部48は、検証データ分割位置をユーザ装置12へ通知する分割位置通知部とも言える。
検証データ提供部50は、ユーザ装置12から検証データ要求が受信された場合に、ユーザ情報保持部32のユーザ情報を参照し、検証データ要求で指定されたチェックトークンに対応するサイトIDとページIDを識別する。そして、検証データ保持部30に格納された検証データのうち、識別したサイトIDとページIDで特定される検証データを送信対象として識別する。検証データ提供部50は、検証データ要求に対する応答として、送信対象として識別した検証データを要求元のユーザ装置12へ送信する。
検査実行部52は、ユーザ装置12におけるウェブページ改ざんのリスクを検出するための検査処理を実行する。検査実行部52は、ユーザ装置12から検査要求が受信された場合に、検査要求が含むチェックトークンにしたがってサイトIDとページIDを識別し、そのサイトIDとページIDに対応づけられた検証データを取得する。この検証データは、検証データ提供部50がユーザ装置12へ送信した検証データであり、以下「原本検証データ」とも呼ぶ。
検査実行部52は、検査要求が含む検証データを取得する。検査要求では、検証データが第1検証データと第2検証データの2つに分割されている。検査実行部52は、第1検証データと第2検証データをマージして、1つの検証データ(以下「返却検証データ」とも呼ぶ。)を生成する。返却検証データは、ユーザ装置12から返却された、改ざんの可能性のある検証データである。また検査実行部52は、返却検証データの分割位置を記憶する。例えば、第1検証データの長さ(バイト長)を分割位置として記憶してもよい。
検査実行部52は、原本検証データと返却検証データとを比較し、両者が一致するか否かを判定する。言い換えれば、原本検証データと返却検証データとが不一致である場合にその事実を検出する。また検査実行部52は、ユーザ情報保持部32のユーザ情報を参照し、検査要求のチェックトークンと対応付けられた(すなわち分割位置決定部44により予め定められた)検証データ分割位置と、返却検証データの分割位置とを比較し、両者が一致するか否かを判定する。
検査実行部52は、検査結果情報として、原本検証データと返却検証データとが一致するか否かを示す情報と、予め定められた検証データ分割位置と返却検証データの分割位置とが一致するか否かを示す情報を検査結果保持部34に記録する。検査実行部52は、検査結果情報を、検査結果要求が含むチェックトークン、検査の実行日時と対応付けて検査結果保持部34へ格納する。
検査結果情報は任意の形式であってよい。例えば、原本検証データと返却検証データとの一致有無、および、予め定められた検証データ分割位置と返却検証データ分割位置との一致有無を示すコード値(ワーニングコード、ステータスコード等)であってもよい。また、原本検証データと返却検証データの不一致、予め定めた検証データ分割位置と返却検証データ分割位置の不一致のいずれかを検出した場合、検査実行部52は、ユーザ装置12におけるウェブページ改ざんリスクが高いことを示すコード値を検査結果として設定してもよい。検査結果情報は、ユーザ装置12におけるウェブページ改ざんの有無や、改ざんの可能性の高低を示す情報とも言え、ユーザ装置12にマルウェアが存在することを報知し、または示唆する情報とも言える。
完了情報提供部54は、検査実行部52による検査処理が完了した場合に、検査要求に対する応答として、予め定められた完了情報を要求元のユーザ装置12へ送信する。完了情報は、ユーザ装置12から返却された検証データを改ざん検査装置16が受信したことを示す受信確認データとも言える。完了情報提供部54は、検査実行部52から検査処理の完了通知を受け付ける、または、検査結果情報が検査結果保持部34に格納されたことを検出することにより、検査処理の完了を検出してもよい。
検査結果提供部56は、IBサーバ14から検査結果照会要求が受信された場合に、検査結果保持部34に格納された検査結果情報のうち検査結果照会が指定するチェックトークンに対応付けられた検査結果情報を取得する。検査結果提供部56は、検査結果照会に対する応答として、検査結果保持部34から取得した検査結果情報をIBサーバ14へ送信する。
図3は、図1のユーザ装置12の機能構成を示すブロック図である。ユーザ装置12は、入力装置60、表示装置62、通信部64、制御部66を備える。図3には不図示だが、通常、制御部66が処理するデータを格納するための記憶部をさらに備える。入力装置60は、キーボードやタッチパネルであってもよい。表示装置62は液晶ディスプレイであってもよい。通信部64は、各種通信プロトコル(HTTP等)にしたがって通信処理を実行する。
制御部66は、各種データ処理を実行し、また通信部64を介してIBサーバ14および改ざん検査装置16とデータを送受する。制御部66は、操作受付部70、表示制御部72、ウェブブラウザ部74を含む。操作受付部70は、入力装置60に対してユーザが入力した操作を検出し、その操作情報を適宜ウェブブラウザ部74に渡す。表示制御部72は、表示装置62における表示内容を制御する。例えば、ウェブコンテンツ等の画像データを表示装置62へ出力し、その画像データを表示装置62に表示させる。
ウェブブラウザ部74は、JavaScript実行エンジン(例えばインタプリタ)を備えた公知のウェブブラウザである。ウェブブラウザ部74は、要求送信部80、応答取得部82、ページ表示部84、検証プログラム取得部86を含む。要求送信部80、応答取得部82、ページ表示部84は、ユーザにより指定されたウェブページを取得して、表示装置62の画面に表示させる。
具体的には、要求送信部80は、ユーザの操作に応じてHTTPリクエスト(GET、POST等)をIBサーバ14や改ざん検査装置16へ送信する。応答取得部82は、HTTPリクエストに対する応答データ(例えばウェブページデータ)をIBサーバ14や改ざん検査装置16から取得する。ページ表示部84は、ウェブページのレンダリング処理を実行する。例えば、応答取得部82により取得されたウェブページのデータ(HTMLコード等)を解析して、ウェブページのコンテンツを、表示制御部72を介して表示装置62に表示させる。
検証プログラム取得部86は、要求送信部80を介して、検証プログラム要求を改ざん検査装置16へ送信する。検証プログラム取得部86の機能は、IBサーバ14からユーザ装置12へ提供されたIBページが含むJavaScriptプログラムに記述され、そのプログラムをウェブブラウザ部74が実行することにより実現される。
ウェブブラウザ部74は、検証データ処理を実行する機能として、検証データ取得部88、データ分割部90、検証データ送信部92、完了情報取得部94をさらに含む。これらの機能は、改ざん検査装置16からユーザ装置12へ提供された検証プログラムに記述され、ウェブブラウザ部74が検証プログラムを実行することにより実現される。
検証データ取得部88は、Ajax(Asynchronous JavaScript + XML)の仕組みを使用して、IBページの画面表示や画面遷移、言い換えれば、ページ表示部84によるレンダリング処理とは非同期の処理として、チェックトークンを含む検証データ要求を改ざん検査装置16へ送信する。そして、改ざん検査装置16から返信された検証データを取得する。例えば、検証データ取得部88は、XMLHTTPRequest関数を使用して検証データ要求を送信し、検証データを取得してもよい。
また検証データ取得部88は、IBページのURI(URL)を検証データ要求に含める。このURIには、IBサーバ14へ送信したGET要求で指定したIBページのURIを設定する。これにより、ユーザ装置12にマルウェアが存在する場合、そのマルウェアに、検証データ要求への応答として改ざん検査装置16が提供した検証データが、IBサーバ14が提供したIBページであると認識(言わば誤認)させ、IBページと同様に検証データを改ざんさせる。
データ分割部90は、検証プログラムに予め設定された(言い換えれば改ざん検査装置16で予め定められた)検証データ分割位置にしたがって、検証データ取得部88が取得した検証データを第1検証データと第2検証データに分割する。例えば、オリジナルの検証データが2000バイトで、分割位置が500バイトの場合、検証データの先頭から500バイトのデータを第1検証データとして抽出し、検証データの残り1500バイトを第2検証データとして設定してもよい。
検証データ送信部92は、検証データ取得部88と同様に、ページ表示部84によるレンダリング処理とは非同期の処理として、検査要求を改ざん検査装置16へ送信する。検査要求は、チェックトークン、第1検証データ、第2検証データを含む。検証データ送信部92は、第1検証データと第2検証データを異なる隠し(hidden)パラメータに設定する。完了情報取得部94は、検査要求に対して改ざん検査装置16から返信された完了情報を取得する。完了情報取得部94は、予め定められたユーザ装置12の記憶領域に完了情報を格納する。
以上の構成によるウェブシステム10の動作を以下説明する。
図4は、ウェブシステム10の動作を示すシーケンス図である。なお、同図の破線で示す矢印は、要求に対する同期応答を示している。ユーザ装置12は、保護対象ページであるIBページのURLを指定したGET要求をIBサーバ14へ送信する(S10)。IBサーバ14は、GET要求で指定されたIBページをユーザ装置12へ送信する(S12)。ユーザ装置12へ提供されるIBページは、インターネットバンキングサイトの識別情報である所定のサイトIDと、IBページの識別情報である所定のページIDの情報を含む。さらに、改ざん検査装置16から検証プログラムを取得する処理を記述したJavaScriptコードを含む。
ユーザ装置12のウェブブラウザ部74は、IBページを取得して、IBページのレンダリング処理を実行する(S14)。ウェブブラウザ部74は、IBページに設定されたJavaScriptコードを解釈して検証プログラム取得部86の機能を発揮させる。ウェブブラウザ部74の検証プログラム取得部86は、サイトIDとページIDを含む検証プログラム要求を改ざん検査装置16へ送信する(S16)。改ざん検査装置16のトークン発行部42は、ユニークなチェックトークンを払出し、分割位置決定部44は、検証データの分割位置をランダムに決定する(S18)。
改ざん検査装置16の検証プログラム生成部46は、チェックトークンと検証データ分割位置を設定した検証プログラムを生成する。また、チェックトークン、サイトID、ページID、検証データ分割位置を含むユーザ情報を記録する(S18)。改ざん検査装置16の検証プログラム提供部48は検証プログラムをユーザ装置12へ送信し、ユーザ装置12のウェブブラウザ部74は検証プログラムを取得する(S20)。ユーザ装置12のウェブブラウザ部74がIBページのレンダリング処理を完了すると、ウェブブラウザ部74のJavaScriptエンジンは、検証プログラムの実行を開始する(S22)。これにより、ウェブブラウザ部74は、検証データ取得部88、データ分割部90、検証データ送信部92、完了情報取得部94の機能を発揮する。
検証データ取得部88は、ウェブブラウザ部74におけるウェブページ表示処理とは非同期の処理として、S10と同様のIBページのURLを含む検証データ要求を改ざん検査装置16へ送信する(S24)。改ざん検査装置16の検証データ提供部50は、検証データ要求が含むチェックトークンに基づいて、IBページに対応する検証データを選択する。具体的には、IBページと同内容のウェブページデータを検証データとして選択する(S26)。検証データ提供部50は、選択した検証データをユーザ装置12へ送信する(S28)。ユーザ装置12のデータ分割部90は、検証プログラムに設定された分割位置情報にしたがって検証データを分割する(S30)。検証データ送信部92は、ウェブブラウザ部74におけるウェブページ表示処理とは非同期の処理として、検査要求を改ざん検査装置16へ送信する(S32)。
改ざん検査装置16の検査実行部52は、検査要求が含む第1分割データと第2分割データを連結することにより返却検証データを生成する。検査実行部52は、原本検証データと返却検証データとを比較し、両者の内容が一致するか否かを判定する。また、検査要求が含むチェックトークンに予め対応付けられた検証データ分割位置を識別し、その検証データ分割位置と、返却検証データの分割位置とを比較し、両者が一致するか否かを判定する。検査実行部52は、判定結果を示す検査結果情報を検査結果保持部34へ格納する(S34)。検査実行部52の判定処理が終了すると、完了情報提供部54は、所定の完了情報をユーザ装置12へ送信する(S36)。ユーザ装置12の完了情報取得部94は、改ざん検査装置16から提供された完了情報を所定の記憶領域へ格納する(S38)。
ここで、S12において取得したIBページのフォームは、所定の記憶領域に完了情報が格納されている場合にサブミットを有効にするよう構成される。すなわち、ウェブブラウザ部74がIBページを読み込むことにより、ウェブブラウザ部74の要求送信部80は、サーバ14から完了情報を受信済であることを条件として、IBページに対するユーザの入力情報をIBサーバ14へ送信する入力情報送信部としての機能を発揮する。
すなわち要求送信部80は、IBページに対してユーザが情報を入力後、送信操作を入力すると、所定の記憶領域に完了情報が記録されていることを条件として、IBページへの入力情報をIBサーバ14へ送信する(S40)。具体的には、隠し(hidden)パラメータにチェックトークンを含めたPOST要求を送信する。これにより、改ざん検査装置16によるウェブページ改ざん検査が未完了の間に、IBページに対する入力情報がIBサーバ14へ送信されることを防止できる。言い換えれば、ユーザ装置12におけるウェブページ改ざんの有無が不明のまま、IBページに対する入力情報に基づくIBサーバ14の処理を進めてしまうことを防止できる。
IBサーバ14は、ユーザ装置12からIBページへの入力情報を受信した場合に、入力情報とともに受信したチェックトークンを含む検査結果照会要求を改ざん検査装置16へ送信する(S42)。改ざん検査装置16の検査結果提供部56は、検査結果照会要求で指定されたチェックトークンに対応づけられた検査結果情報をIBサーバ14へ送信する(S44)。IBサーバ14は、検査結果情報に応じて、ユーザ装置12から受信した入力情報に関する処理を実行する。そして、検査結果に応じたウェブページをユーザ装置12へ送信する(S46)。
IBサーバ14は、原本検証データと返却検証データとの不一致、または、検証データ分割位置の不正を示す検査結果情報を受け付けた場合、インターネットバンキング処理を中断してもよい。例えば、保護対象ページがログインページの場合、ログインを拒否してもよく、保護対象ページが送金ページの場合、送金処理をキャンセルしてもよい。またIBサーバ14は、ウェブページ改ざんやマルウェア導入の虞(可能性)を示す警告情報をユーザ装置12へ送信してもよい。このように、改ざん検査装置16は、ユーザ装置12におけるウェブページ改ざんの有無を検出し、検出結果をIBサーバ14へ提供するが、その結果に応じた具体的な処理はIBサーバ14に委ねる。
実施の形態のウェブシステム10によると、保護対象ページに対応する検証データを改ざん検査装置16からユーザ装置12へ提供し、提供したオリジナルデータと、ユーザ装置12から返却された検証データとを比較して、改ざんの有無を検出する。これにより、未知の態様でウェブページ改ざんを行うマルウェアがユーザ装置12に存在する場合も、ウェブページ改ざんの事実を精度よく検出できる。また、検証プログラムをロードするコードを保護対象ページに記述すれば、改ざん検査のための処理をユーザ装置12のウェブブラウザに実行させることができ、改ざん検査用のアプリケーションをユーザ装置12に別途インストールさせる必要がない。
また検証プログラムは、ウェブブラウザ部74によるウェブページ表示とは非同期の処理として、改ざん検査装置16から検証データを取得し、取得した検証データを改ざん検査装置16へ返却するよう構成される。ユーザ装置12から改ざん検査装置16へ返却される検証データは、ウェブブラウザ部74による表示処理(言い換えればレンダリング処理)を経ないデータとなる。これにより、ウェブブラウザ部74によるレンダリング処理にて行われ得るウェブページの変更であり、本来は検出すべきでない言わば正常な改ざんを改ざん検査装置16で検出することを回避できる。言い換えれば、ウェブページの不正な改ざんがないにも関わらず、不正な改ざんがあると誤判定することを抑制できる。ウェブブラウザ部74のレンダリング処理によるウェブページの変更は、例えば、ウェブブラウザ画面におけるツールバー表示に伴う表示内容の変更、ヘルパーオブジェクトやプラグインによる表示内容の変更を含む。
また、実施の形態のウェブシステム10によると、改ざん検査装置16が検査の都度、検証データの分割位置を動的に決定し、ユーザ装置12にその分割位置にて検証データを分割させる。これにより、ユーザ装置12に存在するマルウェアの検出精度を高めることができる。例えば、ユーザ装置12内のマルウェアがオリジナルの検証データをそのまま改ざん検査装置16へ送信したとしても、改ざん検査装置16を欺瞞することはできない。また、分割位置はランダムな数値に決まり、その値も複数の変数に分割されてユーザ装置12に伝達されるため、検証データ分割のパターン化が困難であり、不特定多数に有効な攻撃コードを作成することを困難にすることができる。そのため、改ざん検査装置16において返却検証データの分割位置の妥当性をチェックすることで、ユーザ装置12におけるマルウェアの存在を精度よく検出できる。
また、実施の形態のウェブシステム10では、ウェブページ改ざんの検査結果をユーザ装置12へ提供するではなく、保護対象ページの提供元装置であるIBサーバ14へ直接提供する。これにより、改ざん検査装置16による検査結果をユーザ装置12内のマルウェアが書き換えてしまうことを回避できる。すなわち、改ざん検査装置16による検査結果を確実にIBサーバ14へ提供し、IBサーバ14が適切な処理を実行できるよう支援できる。
以上、本発明を実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せによりいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば、改ざん検査装置16の検査実行部52は、検査処理終了時に、ユーザ情報保持部32に保持されたユーザ情報のうち検査要求で指定されたチェックトークンで特定されるユーザ情報を削除してもよい。検証データ提供部50(または検査実行部52)は、検証データ要求(または検査要求)で指定されるチェックトークンに対応するユーザ情報が存在しない場合、所定の例外処理を実行してもよい。例えば、検証データ提供部50は、検証データ要求への応答として、検証データに代えて異常を示すエラーコードを返してもよい。また、検証データ提供部50または検査実行部52は、異常を示す検査結果情報を検査結果保持部34に記録してもよい。この態様によると、図4のS24〜S32を繰り返すリプレイ攻撃によって正常な検査結果が生じてしまうことを防止できる。
また、改ざん検査装置16の検査実行部52は、検査要求に基づいて要求元装置のユーザエージェント情報とIPアドレスを取得してもよい。そして、検査要求で指定されたチェックトークンで特定されるユーザ情報について、そのユーザ情報に記録されたユーザエージェント情報とIPアドレスとの異同を判定してもよい。言い換えれば、検査要求におけるユーザエージェント情報およびIPアドレスと、検査プログラム要求におけるユーザエージェント情報およびIPアドレスとが一致するか否かをさらに判定してもよい。不一致の場合、検査実行部52は、異常を示す検査結果情報を検査結果保持部34に記録してもよい。この態様によると、通信経路上に存在する悪意のある第三者装置による中間者攻撃を検出しやすくなる。
次に、改ざん検査装置16による検査処理の変形例を説明する。改ざん検査装置16の検査実行部52は、検証データ保持部30から取得した原本検証データを、ユーザ情報保持部32において検査要求のチェックトークンと対応付けられた検証データ分割位置で分割する。ここでは、原本検証データを分割した前半部分を「第1原本データ」と呼び、後半部分を「第2原本データ」と呼ぶ。検査実行部52は、ユーザ装置12からの検査要求が含む第1検証データと第1原本データが一致するか否かを判定するとともに、検査要求が含む第2検証データと第2原本データが一致するか否かを判定する。このように、原本検証データと返却検証データが一致するか否かの判定と、ユーザ装置12による検証データの分割位置が、改ざん検査装置16が決定した分割位置と一致するか否かの判定を同じプロセスで実行してもよい。
上述した実施の形態および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
10 ウェブシステム、 12 ユーザ装置、 16 改ざん検査装置、 44 分割位置決定部、 48 検証プログラム提供部、 50 検証データ提供部、 52 検査実行部、 54 完了情報提供部、 56 検査結果提供部、 80 要求送信部、 84 ページ表示部、 88 検証データ取得部、 90 データ分割部、 92 検証データ送信部。

Claims (5)

  1. ウェブブラウザが搭載されたユーザ装置と、検査装置とを備え、
    前記ユーザ装置のウェブブラウザは、
    ユーザにより指定されたウェブページである指定ウェブページを取得して画面に表示させるページ表示部と、
    前記ページ表示部によるウェブページ表示処理とは非同期の処理として、前記指定ウェブページに対応する検証用ウェブページを前記検査装置から取得し、取得した検証用ウェブページのデータを前記検査装置へ提供する検証データ処理部と、を含み、
    前記検査装置は、前記ユーザ装置へ提供した検証用ウェブページのデータと、前記ユーザ装置から提供された検証用ウェブページのデータとが一致するか否かを判定する判定部を含むことを特徴とするウェブシステム。
  2. 前記検査装置は、前記検証用ウェブページのデータを分割すべき位置を決定して前記ユーザ装置へ通知する分割位置通知部をさらに備え、
    前記ユーザ装置の検証データ処理部は、前記検査装置から取得した検証用ウェブページのデータを、前記分割すべき位置で分割した態様で前記検査装置へ提供し、
    前記検査装置の判定部は、前記ユーザ装置から提供された検証用ウェブページのデータが、前記分割すべき位置で分割されているか否かをさらに判定することを特徴とする請求項1に記載のウェブシステム。
  3. 前記検査装置は、前記判定部の処理が完了した場合に、所定の完了情報を前記ユーザ装置へ送信する完了情報送信部をさらに含み、
    前記ユーザ装置のウェブブラウザは、前記完了情報を受信済であることを条件として、前記指定ウェブページの画面に対してユーザが入力した情報を、前記指定ウェブページの提供元装置へ送信する入力情報送信部をさらに含み、
    前記検査装置は、前記判定部による判定結果に関する情報を前記提供元装置へ送信する判定結果送信部をさらに含むことを特徴とする請求項1または2に記載のウェブシステム。
  4. ウェブブラウザを備え、
    前記ウェブブラウザは、
    ユーザにより指定されたウェブページである指定ウェブページを取得して画面に表示させるページ表示部と、
    前記ページ表示部によるウェブページ表示処理とは非同期の処理として、前記指定ウェブページに対応する検証用ウェブページを所定の検査装置から取得し、取得した検証用ウェブページのデータを前記検査装置へ提供することにより、前記検査装置から本装置へ提供された検証用ウェブページのデータと、本装置から前記検査装置へ提供した検証用ウェブページのデータとが一致するか否かを前記検査装置に判定させる検証データ処理部と、を含むことを特徴とするウェブクライアント装置。
  5. ユーザ装置のウェブブラウザにより所定のウェブページが表示される場合に、前記ユーザ装置の要求に応じて所定の検証プログラムを前記ユーザ装置へ提供する検証プログラム提供部と、
    前記所定のウェブページに対応する検証用ウェブページを前記ユーザ装置へ提供する検証データ提供部と、
    判定部と、を備え、
    前記検証プログラムは、ウェブページ表示処理とは非同期の処理として、前記検証用ウェブページを本装置から取得し、取得した検証用ウェブページのデータを本装置へ提供する処理を前記ユーザ装置のウェブブラウザに実行させるものであり、
    前記判定部は、前記ユーザ装置へ提供した検証用ウェブページのデータと、前記ユーザ装置から提供された検証用ウェブページのデータとが一致するか否かを判定することを特徴とする改ざん検査装置。
JP2015047977A 2015-03-11 2015-03-11 ウェブシステム、ウェブクライアント装置および改ざん検査装置 Active JP6291441B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015047977A JP6291441B2 (ja) 2015-03-11 2015-03-11 ウェブシステム、ウェブクライアント装置および改ざん検査装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015047977A JP6291441B2 (ja) 2015-03-11 2015-03-11 ウェブシステム、ウェブクライアント装置および改ざん検査装置

Publications (2)

Publication Number Publication Date
JP2016170464A JP2016170464A (ja) 2016-09-23
JP6291441B2 true JP6291441B2 (ja) 2018-03-14

Family

ID=56983722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015047977A Active JP6291441B2 (ja) 2015-03-11 2015-03-11 ウェブシステム、ウェブクライアント装置および改ざん検査装置

Country Status (1)

Country Link
JP (1) JP6291441B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7451464B2 (ja) 2021-07-13 2024-03-18 Kddi株式会社 検知装置、検知方法及び検知プログラム
JP7474226B2 (ja) 2021-08-03 2024-04-24 Kddi株式会社 コード提供装置、コード提供方法及びコード提供プログラム
JP7260236B1 (ja) 2022-11-28 2023-04-19 大学共同利用機関法人情報・システム研究機構 情報処理装置、情報処理システム、プログラムおよび情報処理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9270691B2 (en) * 2010-11-01 2016-02-23 Trusteer, Ltd. Web based remote malware detection
US9424424B2 (en) * 2013-04-08 2016-08-23 Trusteer, Ltd. Client based local malware detection method

Also Published As

Publication number Publication date
JP2016170464A (ja) 2016-09-23

Similar Documents

Publication Publication Date Title
US10341380B2 (en) Detecting man-in-the-browser attacks
US10713619B2 (en) System and method for remote management of sale transaction data
US8286225B2 (en) Method and apparatus for detecting cyber threats
US7971059B2 (en) Secure channel for image transmission
US8312520B2 (en) Methods and systems to detect attacks on internet transactions
US7690035B2 (en) System and method for preventing fraud of certification information, and recording medium storing program for preventing fraud of certification information
US20090037997A1 (en) Method for detecting dns redirects or fraudulent local certificates for ssl sites in pharming/phishing schemes by remote validation and using a credential manager and recorded certificate attributes
EP2447878A1 (en) Web based remote malware detection
US20150150077A1 (en) Terminal device, mail distribution system, and security check method
US10015191B2 (en) Detection of man in the browser style malware using namespace inspection
CN102355469A (zh) 在浏览器地址栏展示网站是否为可信验证的方法
US20130298233A1 (en) Web page falsification detection apparatus and storage medium
JP4200453B2 (ja) 不正防止プログラムおよびそのコンピュータ読み取り可能な記憶媒体
US12041084B2 (en) Systems and methods for determining user intent at a website and responding to the user intent
JP4781922B2 (ja) リンク情報検証方法、システム、装置、およびプログラム
KR20170101905A (ko) 피싱 웹 페이지 검출 방법 및 시스템
JP6291441B2 (ja) ウェブシステム、ウェブクライアント装置および改ざん検査装置
JP5661290B2 (ja) 情報処理装置及び方法
CN106657310A (zh) 表单的提交方法及装置
CN105574724B (zh) 安全支付防护方法、安全应用客户端、安全服务器及系统
JP5508042B2 (ja) Ipアクセスログ解析装置およびその方法
JP5760057B2 (ja) セキュリティサーバ、ユーザ端末、ウェブページ鑑定方法、セキュリティサーバ用プログラム
US11392692B2 (en) Authentication device
US20240179159A1 (en) Pro-active detection of misappropriation of website source code
JP7013297B2 (ja) 不正検知装置、不正検知ネットワークシステム、及び不正検知方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180209

R150 Certificate of patent or registration of utility model

Ref document number: 6291441

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250