JP6041634B2 - Tamper detection device and tamper detection method - Google Patents

Tamper detection device and tamper detection method Download PDF

Info

Publication number
JP6041634B2
JP6041634B2 JP2012253133A JP2012253133A JP6041634B2 JP 6041634 B2 JP6041634 B2 JP 6041634B2 JP 2012253133 A JP2012253133 A JP 2012253133A JP 2012253133 A JP2012253133 A JP 2012253133A JP 6041634 B2 JP6041634 B2 JP 6041634B2
Authority
JP
Japan
Prior art keywords
falsification detection
information
falsification
web page
web
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.)
Expired - Fee Related
Application number
JP2012253133A
Other languages
Japanese (ja)
Other versions
JP2014102612A (en
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2012253133A priority Critical patent/JP6041634B2/en
Publication of JP2014102612A publication Critical patent/JP2014102612A/en
Application granted granted Critical
Publication of JP6041634B2 publication Critical patent/JP6041634B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明はWEBページの改竄をクライアント端末又はプロキシサーバ等クライアント側で検知する改竄検知装置及びその方法に関するものである。   The present invention relates to a falsification detection apparatus and method for detecting falsification of a WEB page on a client side such as a client terminal or a proxy server.

近年、多様な業務及びサービスが、WEBアプリケーションによって実現されている。WEBアプリケーションには、クライアント端末にインストールされたWEBブラウザから容易に利用可能であるという利点がある。   In recent years, various businesses and services have been realized by WEB applications. A web application has an advantage that it can be easily used from a web browser installed on a client terminal.

WEBアプリケーションでは、クライアントの要求に応じて、WEBサーバで動的にWEBページを生成し、クライアントに返却するという仕組みが利用される。動的にWEBページを生成するサーバサイドプログラミングの手段としては、JSP(Java Server Pages)、ASP(Active Server Pages)といった様々な技術が実用化されている。   In the WEB application, a mechanism is used in which a WEB page is dynamically generated and returned to the client in response to a request from the client. Various techniques such as JSP (Java Server Pages) and ASP (Active Server Pages) have been put to practical use as server-side programming means for dynamically generating WEB pages.

一方で、WEBアプリケーションでは、信頼できないサーバ管理者、マルウェア等を含む悪意を持った攻撃者により、WEBページの改竄を受けやすいという性質がある。WEBページの実体であるHTMLファイルや、HTMLファイルを動的に生成するためのプログラムであるJSPファイル、ASPファイルはテキストファイルであるため、バイナリプログラムと比較し、改竄が容易である。従って、クライアント端末など、クライアントサイドでWEBページの改竄検知を可能とするための技術が求められる。   On the other hand, WEB applications have the property of being easily tampered with by WEB pages by untrusted server administrators and malicious attackers including malware. The HTML file that is the entity of the web page, the JSP file that is a program for dynamically generating the HTML file, and the ASP file are text files, so they are easier to falsify than binary programs. Therefore, there is a need for a technique that enables detection of falsification of a WEB page on the client side, such as a client terminal.

WEBページが改竄されることにより発生するセキュリティリスクの例として、クライアントサイドスクリプトの改竄により、予期しないデータがクライアント端末からネットワーク上へ流出するというものがある。   An example of a security risk that occurs when a web page is falsified is that unexpected data leaks from the client terminal to the network due to falsification of the client-side script.

以下にデータ暗号化に関する具体例について説明する。
個人情報や機密情報をWEBアプリケーションで取り扱う場合、データ暗号化がデータ流出を防止する有効な手段となる。この際、WEBサーバでデータを暗号化するのではなく、クライアント端末でデータを暗号化しておき、WEBサーバへ送信することで、安全性をより高めることができる。しかしながら、データをクライアント端末で暗号化するために、ユーザに暗号化処理を負担させると、ユーザ負荷が高くなり、容易に利用可能であるというWEBアプリケーションの利点が活かされなくなるという問題がある。
A specific example regarding data encryption will be described below.
Data encryption is an effective means of preventing data leakage when handling personal information and confidential information with a web application. At this time, instead of encrypting the data with the WEB server, the security can be further enhanced by encrypting the data with the client terminal and transmitting it to the WEB server. However, if the user is burdened with encryption processing in order to encrypt the data at the client terminal, there is a problem that the user load increases and the advantage of the WEB application that it can be easily used is not utilized.

そこで、WEBページ中に暗号化処理を実施する命令を組み込んでおき、WEBアプリケーション処理の一環としてデータ暗号化処理をクライアント端末で実施する方法が考えられる。WEBページからクライアント端末で特定の処理を実行させる手段として、JavaScriptに代表されるクライアントサイドスクリプトを用いる方法がある。   Therefore, a method is conceivable in which an instruction for performing encryption processing is incorporated in a WEB page, and data encryption processing is performed at the client terminal as part of WEB application processing. There is a method of using a client side script represented by JavaScript as a means for executing a specific process on a client terminal from a WEB page.

JavaScriptを用いてデータを暗号化するHTMLファイルの擬似コードを図1に示す。図1のHTMLファイルは、テキストボックスに入力されたデータをPOSTメソッドにより送信する際に、JavaScriptの関数encrypt()を呼び出し、入力データの暗号化処理を行う。このようなHTMLファイルを利用することで、WEBアプリケーション処理の一環として所望のデータをクライアント端末で暗号化し、WEBサーバへ送信することができる。   FIG. 1 shows pseudo code of an HTML file that encrypts data using JavaScript. The HTML file shown in FIG. 1 calls the JavaScript function “encrypt ()” when the data input in the text box is transmitted by the POST method, and encrypts the input data. By using such an HTML file, desired data can be encrypted at the client terminal as part of the WEB application processing and transmitted to the WEB server.

しかしながら、図1のHTMLファイルが改竄された場合、期待した暗号化処理が実施されない可能性がある。例えば、関数encrypt()を、何もしないダミーの関数に書き換えることで、暗号化処理は実施されず、平文データがそのままPOSTメソッドによりWEBサーバへ送信される。或いは、送信ボタンに対応するinputタグにおいて、onclick属性の属性値を、別の関数名に書き換えることにより、関数encrypt()が呼ばれず、結果として、平文データがそのままPOSTメソッドによりWEBサーバへ送信される。このように、HTMLファイルの改竄がセキュリティ事故を招く可能性がある。そのため、クライアント端末で受信したHTMLファイルから、そのWEBページが改竄されたものか否かを検知するための技術が求められる。   However, if the HTML file in FIG. 1 is falsified, the expected encryption process may not be performed. For example, by rewriting the function encrypt () to a dummy function that does nothing, encryption processing is not performed, and plain text data is transmitted to the WEB server as it is by the POST method. Alternatively, in the input tag corresponding to the send button, by rewriting the attribute value of the onclick attribute to another function name, the function encrypt () is not called, and as a result, the plain text data is sent as it is to the WEB server by the POST method. The In this way, tampering with HTML files can lead to security incidents. Therefore, a technique for detecting whether or not the WEB page has been tampered with from the HTML file received at the client terminal is required.

WEBページが静的な情報のみを含む場合、改竄検知は容易に可能である。例えば、HTMLファイルに対して予めハッシュ値のような改竄検知情報を計算しておき、クライアント端末に保存しておく。そして、WEBアプリケーション利用時にクライアント端末で受信したHTMLファイルに対して、同様の方法で改竄検知情報を計算してやり、両者の一致比較を行うことで、HTMLファイルが改竄されたか否かの検知が可能である。但し、ここでは改竄検知情報を安全にクライアント端末に保管する手段があることを前提とする。   If a web page contains only static information, tampering detection is easily possible. For example, falsification detection information such as a hash value is calculated in advance for an HTML file and stored in the client terminal. It is possible to detect whether or not the HTML file has been falsified by calculating the falsification detection information in the same way for the HTML file received by the client terminal when using the WEB application and comparing both. is there. However, it is assumed here that there is a means for safely storing the falsification detection information in the client terminal.

一方で、WEBページがサーバサイドプログラミングによって動的に生成される場合には、同一WEBページであっても、時刻やユーザ等の利用条件によって、クライアント端末で受信するページ内容が異なるため、静的なWEBページと同様の手法を単純に適用することはできない。   On the other hand, when a WEB page is dynamically generated by server-side programming, even if it is the same WEB page, the page content received at the client terminal differs depending on the usage conditions such as time and user. It is not possible to simply apply the same method as a simple web page.

このような課題を解決するために、特許文献1では、WEBページ内の動的情報に相当する箇所を、動的情報を示す追加定義のタグで囲むことにより、動的に生成されるWEBページの改竄をクライアント端末で検知可能とした。動的情報を示す追加定義のタグは、JSPファイルやHTMLファイルからはコメントとして認識されるため、クライアント端末で受信したHTMLファイルにおいても付加したタグを参照することができ、動的情報をクライアント端末で特定することが可能となる。   In order to solve such a problem, in Patent Document 1, a web page that is dynamically generated by surrounding a portion corresponding to dynamic information in a web page with an additional definition tag indicating the dynamic information. Can be detected on the client terminal. Additional definition tags that indicate dynamic information are recognized as comments from JSP files and HTML files, so you can refer to the added tags in the HTML file received by the client terminal. It becomes possible to specify with.

クライアント端末に保存する改竄検知情報としては、動的情報を示す追加定義のタグと、静的情報部分に対するハッシュ値のような特徴量があれば良い。このようにして精度の高い改竄検知が実現される。   As the falsification detection information stored in the client terminal, an additional definition tag indicating dynamic information and a feature amount such as a hash value for the static information portion may be used. In this way, highly accurate alteration detection is realized.

特開2012−141876号公報「Webページ改竄検知装置及びプログラム」JP 2012-141876 "Web page alteration detection device and program"

しかしながら、従来技術では、精度の高い改竄検知を実現するために、動的情報であることを示す追加情報を、動的情報が現れる箇所毎に埋め込んでいく必要があり、開発負荷が大きく増大するという課題があった。   However, in the conventional technology, in order to realize highly accurate tampering detection, it is necessary to embed additional information indicating that it is dynamic information for each location where dynamic information appears, which greatly increases the development load. There was a problem.

また、従来技術では、WEBページに記述された全ての情報が改竄検知対象となってしまうため、目的に応じて改竄検知対象としたい情報を選定することが困難であった。例えば、画面レイアウトなどの視覚情報の変更は、スクリプト動作の改竄やリンク先の詐称とは独立であるため改竄検知の対象外としたいという要求があるが、従来技術の範疇では、視覚情報を変更した際にも、改竄検知情報を再生成する必要がある。   Further, in the conventional technology, since all information described on the WEB page becomes a falsification detection target, it is difficult to select information to be falsification detection target according to the purpose. For example, changes in visual information such as screen layout are independent of falsification of script operation and spoofing of link destinations, so there is a demand for excluding detection of falsification. However, in the category of conventional technology, visual information is changed. In this case, it is necessary to regenerate the falsification detection information.

この発明は、上記のような問題点を解決するためになされたものであり、WEBページに記述される既存の静的情報のみを利用した改竄検知規則を用いることで、動的情報を示す追加情報をプログラムに埋め込むことを不要化し、精度の高い改竄検知を、開発負荷を増大させることなく可能とする改竄検知装置を提供することを目的とする。   The present invention has been made to solve the above-described problems, and by using a falsification detection rule that uses only existing static information described in a web page, additional information indicating dynamic information is added. It is an object of the present invention to provide a tamper detection device that makes it unnecessary to embed information in a program and enables tamper detection with high accuracy without increasing the development load.

この発明に係る改竄検知装置は、
改竄が為されていないWEBページに記述される既存情報の内、静的情報のみから改竄検知対象を規定する改竄検知規則を用いて、WEBページを生成するプログラムから生成された、改竄検査情報を保持する改竄検知情報記憶部と、
前記WEBページを生成するプログラムが格納され、信頼を補償されていないWEBサーバで生成され、ネットワークを介して送付されたWEBページから、改竄検知規則を利用し、改竄検知情報を再現する改竄検知情報再現部と、
改竄検知情報再現部により再現された改竄検知情報と、改竄検知情報記憶部に格納された改竄検査情報とを比較し、生成されたWEBページが改竄された否かを判定する改竄検知部と、を有する。
The falsification detection device according to the present invention is:
Tampering inspection information generated from a program that generates WEB pages using falsification detection rules that stipulate falsification detection targets only from static information among existing information described in WEB pages that have not been falsified. A falsification detection information storage unit to be held;
The falsification detection information that reproduces the falsification detection information by using the falsification detection rule from the WEB page that is stored in the WEB server that stores the program to generate the WEB page, is generated by a WEB server that is not compensated for reliability, and is sent via the network. The reproduction part,
A falsification detection unit that compares the falsification detection information reproduced by the falsification detection information reproduction unit with the falsification inspection information stored in the falsification detection information storage unit and determines whether the generated WEB page has been falsified; Have

この発明に係る改竄検知装置によれば、
改竄検知装置に入力されたWEBページに対して、既存のWEBページにおいて利用されている情報のみを利用した改竄検知規則を用いて、改竄検知情報を再生成し、一方、改竄されていないと信頼できる、WEBページを生成するプログラムから改竄検知規則を用いて、改竄検査情報を生成し、改竄検知情報と改竄検査情報とを改竄検知部で比較して、当該WEBページが改竄されたか否かで改竄を検知しているので、改竄検知のための追加情報を、JSPのようなプログラムに埋め込む必要がなく、開発負荷が軽減される。
更に、スクリプト動作の改竄やリンク先の詐称を検知したい場合における改竄検知対象外の情報を変更した場合においては、画面レイアウトなどの視覚情報の変更は、スクリプト動作の改竄やリンク先の詐称とは独立であるため改竄検知の対象外とすることができ、改竄検知情報の再生成が不要となる。
According to the falsification detection device according to the present invention,
For the WEB page input to the falsification detection device, falsification detection information is regenerated using falsification detection rules that use only the information used in the existing WEB page, while trusting that it has not been falsified It is possible to generate falsification inspection information using a falsification detection rule from a program that generates a WEB page, compare the falsification detection information with the falsification inspection information in the falsification detection unit, and determine whether the WEB page has been falsified. Since tampering is detected, it is not necessary to embed additional information for tampering detection in a program such as JSP, reducing the development load.
In addition, if the information that is not subject to falsification detection is changed when you want to detect falsification of script actions or link destination spoofing, changes in visual information such as screen layout are Since they are independent, they can be excluded from falsification detection, and it is not necessary to regenerate falsification detection information.

JavaScriptを用いたデータ暗号化におけるHTMLファイルの擬似コードを示す図である。It is a figure which shows the pseudo code of the HTML file in the data encryption using JavaScript. この発明の実施の形態1による改竄検知装置を適用したWEBアプリケーションの構成図である。It is a block diagram of the WEB application to which the falsification detection apparatus by Embodiment 1 of this invention is applied. 改竄検知のための初期設定動作を表す流れ図である。It is a flowchart showing the initial setting operation | movement for a tampering detection. WEBアプリケーション運用開始後の改竄検知動作を表す流れ図である。It is a flowchart showing the falsification detection operation | movement after a web application operation start. 改竄検知情報を生成するJSPファイルの対象テキストを示す図である。It is a figure which shows the object text of the JSP file which produces | generates falsification detection information. WEBページのHTMLファイルから改竄検知情報を再現する対象テキストを示す図である。It is a figure which shows the object text which reproduces falsification detection information from the HTML file of a WEB page. 改竄検知情報生成部により生成される改竄検査情報の例を示す図である。It is a figure which shows the example of the falsification inspection information produced | generated by the falsification detection information production | generation part. 改竄検知規則の具体的な記述例を示す図である。It is a figure which shows the specific description example of a falsification detection rule. 改竄検知規則の具体的な他の記述例を示す図である。It is a figure which shows the other specific description example of a falsification detection rule. HTMLファイルから他の方法で改竄検知情報を再現する対象テキストを示す図である。It is a figure which shows the object text which reproduces falsification detection information by the other method from an HTML file. 細則が追加された改竄検知規則の指定方法例を示す図である。It is a figure which shows the example of the designation | designated method of the falsification detection rule to which the detailed rule was added. 改竄検知情報生成部による改竄検査情報生成の一般化動作を表す流れ図である。It is a flow chart showing generalization operation of falsification inspection information generation by a falsification detection information generation part. IDが割り振られた改竄検知規則の指定方法の例を示す図である。It is a figure which shows the example of the designation | designated method of the falsification detection rule to which ID was allocated. この発明の実施の形態2の改竄検知装置を適用したWEBアプリケーションを示す構成図である。It is a block diagram which shows the WEB application to which the tampering detection apparatus of Embodiment 2 of this invention is applied.

実施の形態1.
図2は、この発明の実施の形態1による改竄検知装置を適用した、WEBアプリケーションを示す構成図である。改竄検知装置100は、クライアント側機器としてのクライアント端末200、及び管理端末400の構成要素として適用される。
Embodiment 1 FIG.
FIG. 2 is a configuration diagram showing a WEB application to which the falsification detection device according to Embodiment 1 of the present invention is applied. The falsification detection device 100 is applied as a component of the client terminal 200 and the management terminal 400 as client side devices.

改竄検知装置100は、改竄検知情報再現部110、改竄検知部120、改竄検知情報記憶部130、改竄検知情報生成部140及び改竄検知規則部150とを備える。このうち、改竄検知規則部150はクライアント端末200と管理端末400の両方に備えられ、WEBページに記述された既存情報のみからWEBページ内の改竄検知対象を規定する複数の改竄検知規則が格納される。改竄検知情報生成部140は管理端末400に備えられ、それ以外の構成要素、即ち、改竄検知情報再現部110、改竄検知部120、改竄検知情報記憶部130はクライアント端末200に備えられる。本実施の形態の特徴は、改竄検知情報再現部110と改竄検知情報生成部140において、改竄検知規則部150に格納された改竄検知規則を用いて、WEBページとプログラム記憶部330に格納されたプログラムから改竄検知情報を再現および管理端末400のプログラム410Aから改竄検査情報を生成する方法にある。詳しくは後述する。   The falsification detection device 100 includes a falsification detection information reproduction unit 110, a falsification detection unit 120, a falsification detection information storage unit 130, a falsification detection information generation unit 140, and a falsification detection rule unit 150. Among these, the falsification detection rule unit 150 is provided in both the client terminal 200 and the management terminal 400, and stores a plurality of falsification detection rules that define the falsification detection target in the WEB page only from the existing information described in the WEB page. The The falsification detection information generation unit 140 is provided in the management terminal 400, and other components, that is, the falsification detection information reproduction unit 110, the falsification detection unit 120, and the falsification detection information storage unit 130 are provided in the client terminal 200. The feature of the present embodiment is that the falsification detection information reproduction unit 110 and the falsification detection information generation unit 140 store the WEB page and the program storage unit 330 using the falsification detection rule stored in the falsification detection rule unit 150. There is a method of reproducing falsification detection information from a program and generating falsification inspection information from a program 410A of the management terminal 400. Details will be described later.

クライアント端末200は、改竄検知装置100の一部とWEB情報送受信部210とから成り、WEB情報送受信部210がネットワーク500を通じて、WEBサーバ300のWEB情報送受信部310と接続される。このように構成されることで、クライアント端末200はWEBサーバ300に接続される。WEB情報送受信部210は、HTTPプロトコルベースでWEBサーバ300のWEB情報送受信部310とデータ送受信を行う。   The client terminal 200 includes a part of the falsification detection device 100 and a WEB information transmission / reception unit 210, and the WEB information transmission / reception unit 210 is connected to the WEB information transmission / reception unit 310 of the WEB server 300 through the network 500. With this configuration, the client terminal 200 is connected to the WEB server 300. The WEB information transmission / reception unit 210 performs data transmission / reception with the WEB information transmission / reception unit 310 of the WEB server 300 based on the HTTP protocol.

WEBサーバ300は、WEB情報送受信部310、WEBページ生成部320、及びプログラム記憶部330とを備える。WEB情報送受信部310は、クライアント端末200からの要求をWEB情報送受信部210から受信し、クライアント端末200の要求に応じたWEBページをWEBページ生成部320で生成し、クライアント端末200のWEB情報送受信部210へ送信する。WEBページ生成部320は、WEB情報送受信部310で受信したクライアント端末200からの要求に応じて、プログラム記憶部330に格納されたプログラムから、WEBページを生成する。本実施の形態において、生成されたWEBページは、HTML言語で記述されたファイルとするが、たとえばHTML言語の上位概念に相当するマークアップ言語のうちのいずれかであってもよい。プログラム記憶部330には、WEBページを生成するための複数のプログラムが格納される。WEBページを生成するためのサーバサイドプログラムの例として、JSPファイルやASPファイルがある。以下の説明では、プログラムとしてJSPファイルを例に取り説明するが、この発明の適用範囲はこれらのプログラムに限定されるものではない。   The WEB server 300 includes a WEB information transmission / reception unit 310, a WEB page generation unit 320, and a program storage unit 330. The WEB information transmission / reception unit 310 receives a request from the client terminal 200 from the WEB information transmission / reception unit 210, generates a WEB page according to the request of the client terminal 200 by the WEB page generation unit 320, and transmits / receives the WEB information of the client terminal 200. To the unit 210. The WEB page generation unit 320 generates a WEB page from a program stored in the program storage unit 330 in response to a request from the client terminal 200 received by the WEB information transmission / reception unit 310. In the present embodiment, the generated WEB page is a file described in the HTML language, but may be any one of markup languages corresponding to a superordinate concept of the HTML language, for example. The program storage unit 330 stores a plurality of programs for generating WEB pages. Examples of server-side programs for generating web pages include JSP files and ASP files. In the following description, a JSP file will be described as an example of a program, but the scope of application of the present invention is not limited to these programs.

管理端末400は、プログラム410Aを格納したプログラム格納部410及び改竄検知装置100の一部である改竄検知情報生成部140、改竄検知規則部150とを備える。プログラム410Aは、複数のプログラムからなり、WEBサーバ300のプログラム記憶部330に格納されるファイル群と同一のファイル群である。改竄検知情報生成部140は、プログラム410Aを元に、改竄検知規則部150の改竄検知規則を用いて改竄検知情報を生成し、改竄検知情報記憶部130へ格納する。   The management terminal 400 includes a program storage unit 410 that stores a program 410A, a falsification detection information generation unit 140 that is a part of the falsification detection device 100, and a falsification detection rule unit 150. The program 410A includes a plurality of programs, and is the same file group as the file group stored in the program storage unit 330 of the WEB server 300. The falsification detection information generation unit 140 generates falsification detection information using the falsification detection rules of the falsification detection rule unit 150 based on the program 410A, and stores the falsification detection information in the falsification detection information storage unit 130.

本実施の形態においては、管理端末400は信頼できるが、WEBサーバ300は信頼できないものとして扱う。従って、管理端末400のプログラム格納部410に保管されたプログラム410A、及び改竄検知情報生成部140で生成される改竄検知情報は、改竄されないことが保証される。更に、改竄検知情報生成部140で生成された改竄検知情報は、安全に改竄検知情報記憶部130へ格納されるものとする。従って、改竄検知情報記憶部130に格納された改竄検知情報は、ユーザが自ら改竄しない限りは、改竄されていないことが保証される。   In the present embodiment, the management terminal 400 is reliable, but the WEB server 300 is treated as unreliable. Therefore, the program 410A stored in the program storage unit 410 of the management terminal 400 and the falsification detection information generated by the falsification detection information generation unit 140 are guaranteed not to be falsified. Further, it is assumed that the falsification detection information generated by the falsification detection information generation unit 140 is safely stored in the falsification detection information storage unit 130. Therefore, it is guaranteed that the falsification detection information stored in the falsification detection information storage unit 130 has not been falsified unless the user falsifies himself / herself.

一方、WEBサーバ300は信頼できないため、プログラム記憶部330に格納されたプログラムファイル群は改竄されている可能性がある。本実施の形態における改竄検知装置100の目的は、プログラム記憶部330に格納されたプログラムファイルに対する改竄を、改竄検知情報生成部140で生成された改竄検知情報を元に、クライアント端末200で検知することである。   On the other hand, since the WEB server 300 cannot be trusted, the program file group stored in the program storage unit 330 may be falsified. The purpose of the falsification detection apparatus 100 in this embodiment is to detect falsification of a program file stored in the program storage unit 330 by the client terminal 200 based on the falsification detection information generated by the falsification detection information generation unit 140. That is.

次に、本実施の形態における改竄検知方法を、改竄検知装置100の動作を中心に図3、図4を用いて説明する。図3は改竄検知のための初期設定の動作を表しており、図4は、WEBアプリケーション運用開始後の改竄検知動作を表している。   Next, the falsification detection method according to the present embodiment will be described with reference to FIGS. 3 and 4, focusing on the operation of the falsification detection device 100. FIG. 3 shows an initial setting operation for falsification detection, and FIG. 4 shows a falsification detection operation after starting the web application operation.

まず、図3を用いて初期設定の動作について説明する。管理端末400において、改竄検知情報生成部140は、改竄検知規則部150の改竄検知規則を用いてプログラム410Aから改竄検査情報を生成する(ステップS110)。ここでは、改竄検知の対象としたい全てのファイルに対して、改竄検査情報を生成する。改竄検査情報の具体的な生成方法については後述する。ステップS110で生成された改竄検査情報は、改竄検知情報記憶部130に格納される(ステップS120)。また、ステップS110で用いられた改竄検知規則部150の改竄検知規則はクライアント端末200の改竄検知情報再現部110に配布される(ステップS130)。   First, the initial setting operation will be described with reference to FIG. In the management terminal 400, the falsification detection information generation unit 140 generates falsification inspection information from the program 410A using the falsification detection rule of the falsification detection rule unit 150 (step S110). Here, falsification inspection information is generated for all files that are desired to be falsified. A specific method for generating falsification inspection information will be described later. The falsification inspection information generated in step S110 is stored in the falsification detection information storage unit 130 (step S120). Further, the falsification detection rule of the falsification detection rule unit 150 used in step S110 is distributed to the falsification detection information reproduction unit 110 of the client terminal 200 (step S130).

ステップS120、及びステップS130の処理結果は、前述したとおり、管理端末400を信頼できるものとして扱っているため、改竄検知情報記憶部130へ格納された改竄検査情報、及び配布された改竄検知規則部150の改竄検知規則は、改竄されていないことが保証される。   As described above, since the processing results of step S120 and step S130 treat the management terminal 400 as reliable, the falsification inspection information stored in the falsification detection information storage unit 130 and the distributed falsification detection rule unit The 150 falsification detection rules are guaranteed not to be falsified.

続いて、図4を用いて、クライアント端末200における本実施の形態による改竄検知動作について説明する。クライアント端末200はWEB情報送受信部210にて、WEBサーバ300からのWEBページを受信する(ステップS210)。ステップS210の処理によりWEB情報送受信部210に受信されたWEBページは、改竄検知情報再現部110へ入力される(ステップS220)。改竄検知情報再現部110は、改竄検知規則部150の改竄検知規則を用いて、入力されたWEBページから改竄検知情報を再現する(ステップS230)。改竄検知情報の具体的な再現方法については、後述する。   Next, the falsification detection operation according to the present embodiment in the client terminal 200 will be described with reference to FIG. The client terminal 200 receives the WEB page from the WEB server 300 at the WEB information transmission / reception unit 210 (step S210). The WEB page received by the WEB information transmission / reception unit 210 by the process of step S210 is input to the falsification detection information reproduction unit 110 (step S220). The falsification detection information reproduction unit 110 reproduces the falsification detection information from the input web page using the falsification detection rule of the falsification detection rule unit 150 (step S230). A specific method for reproducing the falsification detection information will be described later.

改竄検知部120は、ステップS210で受信されたWEBページに対応し、かつ、ステップS110で改竄検知情報生成部140により生成され、ステップS120で改竄検知情報記憶部130に格納された改竄検査情報を、改竄検知情報記憶部130から取り出す(ステップS240)。改竄検知部120は、ステップS230で再現された改竄検知情報と、ステップS240で改竄検知情報記憶部130から取り出された改竄検査情報とを比較し(ステップS250)、両者が一致するか否かを判定する(ステップS260)。両者が一致した場合、WEBページは改竄されていないと判断し、改竄検知の後処理を実行する(ステップS270)。両者が一致しなかった場合、WEBページは改竄されたと判断し、改竄検知の後処理を実行する(ステップS280)。ステップS270、及びステップS280における後処理については後述する。   The falsification detection unit 120 corresponds to the WEB page received in step S210, is generated by the falsification detection information generation unit 140 in step S110, and is stored in the falsification detection information storage unit 130 in step S120. Then, it is taken out from the falsification detection information storage unit 130 (step S240). The falsification detection unit 120 compares the falsification detection information reproduced in step S230 with the falsification inspection information extracted from the falsification detection information storage unit 130 in step S240 (step S250), and determines whether or not they match. Determination is made (step S260). If they match, it is determined that the WEB page has not been tampered with, and post-processing for tampering detection is executed (step S270). If they do not match, it is determined that the WEB page has been tampered with, and post-processing for tampering detection is executed (step S280). The post-processing in step S270 and step S280 will be described later.

次に、ステップS110の改竄検査情報生成、及びステップS230の改竄検知情報再現の動作詳細を説明する。まずは、図5、図6を用いて簡単な具体例から説明し、その後に一般化した動作を説明する。図5は、ステップS110において、改竄検知情報生成部140によりプログラム410AのJSPファイルから改竄検査情報を生成する様子を表し、図6は、ステップS230において、改竄検知情報再現部110によりWEBページであるHTMLファイルから改竄検知情報を再現する様子を表す。図5、図6において、改竄検知規則部150の改竄検知規則は、クライアントサイドスクリプトを表すscriptタグの内容全て、及びscriptタグで囲まれた地のテキスト、データ入力及び送信のためのフォームを表すformタグの内容全て、およびデータ入力欄を表すinputタグの内容全て、を改竄検知対象とするような規則を用いている。   Next, operation details of falsification inspection information generation in step S110 and falsification detection information reproduction in step S230 will be described. First, a simple specific example will be described with reference to FIGS. 5 and 6, and then a generalized operation will be described. FIG. 5 shows a state in which falsification inspection information is generated from the JSP file of the program 410A by the falsification detection information generation unit 140 in step S110, and FIG. 6 is a WEB page by the falsification detection information reproduction unit 110 in step S230. Represents the state of reproducing falsification detection information from an HTML file. 5 and 6, the falsification detection rule of the falsification detection rule unit 150 represents all the contents of the script tag representing the client-side script, and the text for the area surrounded by the script tag, the form for data input and transmission. A rule is used in which all the contents of the form tag and all the contents of the input tag representing the data input column are subject to falsification detection.

ステップS110及びステップS230における処理結果により、生成される改竄検査情報または再現される改竄検知情報の例を図7に示す。図7には、改竄検知対象となった情報がテキストのまま記述されているが、実際には、ハッシュ関数を用いて、図7のテキストから生成されたハッシュ値を改竄検知情報としても良い。このような改竄検知規則を用いることで、クライアント端末200から送信されるデータの処理に関わる部分に関して、高精度の改竄検知が可能となる。一方、それ以外の部分、例えば図6の<h1>タグで囲まれたテキスト情報は、変更が為されたとしても、改竄があったとは見做されない。   FIG. 7 shows an example of the falsification inspection information generated or the falsification detection information reproduced based on the processing results in step S110 and step S230. In FIG. 7, the information that has been subject to falsification detection is described as text, but in practice, a hash value generated from the text of FIG. 7 may be used as falsification detection information using a hash function. By using such a falsification detection rule, it is possible to detect falsification with high accuracy for a portion related to processing of data transmitted from the client terminal 200. On the other hand, text information surrounded by other parts, for example, the <h1> tag in FIG. 6 is not considered to be falsified even if it is changed.

図5、図6の例では、クライアントサイドスクリプトと、フォームの動作にかかわる部分のみを改竄検知対象としたが、改竄検知対象は目的に応じて、自由に設定可能である。例えば、リンク先の詐称を検知したい場合には、WEBページへのリンクを表す<a>タグを改竄検知対象に含めるよう、改竄検知規則部150の改竄検知規則を設定すれば良い。
なお、データ入力欄を表すタグは、<input>タグの外に、<select>タグ, <textarea>タグ等がある。
In the examples of FIGS. 5 and 6, only the client-side script and the part related to the operation of the form are set as the falsification detection target. However, the falsification detection target can be freely set according to the purpose. For example, when it is desired to detect fraud at the link destination, the falsification detection rule of the falsification detection rule unit 150 may be set so that the <a> tag representing the link to the WEB page is included in the falsification detection target.
In addition to the <input> tag, there are a <select> tag, a <textarea> tag, and the like as tags representing the data input field.

このように、改竄検知規則部150の改竄検知規則では、HTMLファイルで利用されるタグ名や属性名など、既存情報のみを用いて改竄検知対象部分を規定する。改竄検知対象外となったテキストについては、変更が為されたとしても、改竄があったとは見做さない。   As described above, in the falsification detection rule of the falsification detection rule unit 150, the falsification detection target part is defined using only existing information such as a tag name and an attribute name used in the HTML file. Text that is not subject to falsification detection will not be considered falsified even if it has been changed.

このような改竄検知規則を用いることにより、次の2点の効果が生まれる。
1点目として、改竄検知規則では、WEBページにおいて利用されている既存情報のみが利用されるため、改竄検知のための追加情報を、JSPのようなプログラムに埋め込む必要がない。また、改竄検知規則についても、WEBページ毎に特化した設定を行うこと無く、広い範囲のWEBページに対して適用可能であるという汎用性を持つ。これにより、開発負荷が軽減される。
By using such a falsification detection rule, the following two effects are produced.
First, in the falsification detection rule, only existing information used in the web page is used, so there is no need to embed additional information for falsification detection in a program such as JSP. In addition, the falsification detection rule is versatile in that it can be applied to a wide range of WEB pages without performing special settings for each WEB page. This reduces the development load.

2点目として、改竄検知の対象外としたい情報を変更した場合においては、改竄検知情報の再生成が不要となる。例えば、スクリプト動作の改竄やリンク先の詐称を検知したい場合、画面レイアウトなどの視覚情報の変更は、スクリプト動作の改竄やリンク先の詐称とは独立であるため改竄検知の対象外とすることができる。   Secondly, when the information that is desired to be excluded from falsification detection is changed, it is not necessary to regenerate the falsification detection information. For example, if you want to detect falsification of script actions or link destination spoofing, changes in visual information such as screen layout may be excluded from falsification detection because they are independent of script action falsification and link destination spoofing. it can.

図5、図6の例に対応する改竄検知規則部150に格納された改竄検知規則の具体的な記述例を図8に示す。改竄検知規則の一般化された指定方法については後述する。改竄検知規則は1行につき改竄検知対象としたい1つのタグに関する指定が記述されたテキストファイルである。図8において、1つ目のトークンはタグ名を表し、2つ目以降のトークンが、タグに関してどの情報を改竄検知対象とするかを表している。図8の例で、allは「タグの内容全て、及びタグで囲まれた地のテキスト全て」を意味する指定子であり、attr-allは「タグの内容全て」を表す指定子である。   FIG. 8 shows a specific description example of the falsification detection rule stored in the falsification detection rule unit 150 corresponding to the examples of FIGS. A generalized specification method for falsification detection rules will be described later. The falsification detection rule is a text file in which a specification related to one tag that is to be falsification detected per line is described. In FIG. 8, the first token represents the tag name, and the second and subsequent tokens indicate which information regarding the tag is to be tampered with. In the example of FIG. 8, all is a specifier that means “all tag contents and all text in the area surrounded by tags”, and attr-all is a specifier that represents “all tag contents”.

改竄検知規則で改竄検知対象と規定した情報には、動的生成される情報が含まれないことが前提となる。仮に、動的な情報が含まれる場合、クライアント端末でWEBページを受信する度に、その実体が異なるテキストで記述されるため、改竄されていない正常なファイルであっても、改竄有と判定されてしまう。従って、改竄検知規則を用いた改竄検知方法は、WEBアプリケーションの仕様を制限することになりかねない。   It is assumed that dynamically defined information is not included in information defined as a falsification detection target in the falsification detection rule. If dynamic information is included, each time a WEB page is received at the client terminal, the entity is described in a different text, so even a normal file that has not been falsified is determined to be falsified. End up. Therefore, the falsification detection method using the falsification detection rule may limit the specifications of the web application.

しかしながら、このような課題は改竄検知規則に細則を追加することで、ある程度解消される。その具体例を図9に示す。図9は、図8で定めた改竄検知規則のinputタグに関する規則として、4,5行目に除外指定条件を2つ追加したものである。4行目は、inputタグにおいて、typeがtext(テキストボックス)であるような場合、同一タグ内のvalue属性を無視し空文字列として扱うという意味である。5行目も同様に、type属性がradio(ラジオボタン)である場合、同一タグ内のchecked属性を無視し空文字列として扱うことを表す。なお、図9における。“\”記号は続く行が同一行であることを表しており、“,”記号は、複数条件を記述する際の区切りを表す。   However, such problems can be solved to some extent by adding detailed rules to the falsification detection rules. A specific example is shown in FIG. FIG. 9 is a rule in which two exclusion designation conditions are added to the fourth and fifth lines as rules relating to the input tag of the falsification detection rule defined in FIG. The fourth line means that when the type is text (text box) in the input tag, the value attribute in the same tag is ignored and treated as an empty character string. Similarly, in the fifth line, when the type attribute is radio (radio button), the checked attribute in the same tag is ignored and treated as an empty character string. In FIG. The “\” symbol indicates that the following row is the same row, and the “,” symbol indicates a break when describing a plurality of conditions.

図9で表される改竄検知規則を適用し、改竄検知情報再現部110にて改竄検知情報を再現する様子を図10に示す。基本的には、図6と同じであるが、inputタグ中にtype属性がtextのものが現れるため、該inputタグ内の「value="foobar"」が改竄検知情報を再現する際に無視される。結果として、図10により出力される改竄検知情報は図7で示したものと同じになる。このようにすることで、value属性が動的に生成される情報であるような場合であっても、正しく改竄検知が可能となる。   FIG. 10 shows a state in which the falsification detection information represented by FIG. 9 is applied and the falsification detection information reproduction unit 110 reproduces the falsification detection information. Basically, it is the same as FIG. 6, but since the type attribute of text appears in the input tag, “value =” foobar ”” in the input tag is ignored when reproducing the falsification detection information. The As a result, the falsification detection information output by FIG. 10 is the same as that shown in FIG. By doing so, even if the value attribute is information that is dynamically generated, tampering detection can be performed correctly.

図9で用いた改竄検知規則は、例えば、ユーザがフォームへの入力を行った際に、入力項目にエラーがあったために、入力した情報が既定値としてフォームに予め入力されたWEBページが再表示される、という場面において有効である。この場合、フォームの既定値が動的情報となるが、図9の改竄検知規則を用いることで、既定値を改竄検知の対象外とすることができる。   The falsification detection rule used in FIG. 9 is that, for example, when a user performs an input to a form, there is an error in an input item. It is effective in the scene of being displayed. In this case, the default value of the form becomes dynamic information. However, by using the falsification detection rule in FIG. 9, the default value can be excluded from falsification detection targets.

以上を踏まえて、改竄検知規則による指定方法の例を図11に示す。図中の属性条件とは、図9における「if type="text"」などに相当する条件であり、以降に続く除外属性指定を適用するための条件を記述する。属性条件は省略可能であり、省略された場合は、除外属性指定が常に有効となる。除外属性指定は、図9における「ignore value」などに相当し、特定の属性及び属性値を改竄検知対象から除外することを表す。除外属性指定は、図9のように“,”により複数指定することが可能である。また、除外属性指定が指定された場合、指定されなかった属性値は、改竄検知対象として扱われる。   Based on the above, FIG. 11 shows an example of the designation method based on the falsification detection rule. The attribute condition in the figure is a condition corresponding to “if type =“ text ”” in FIG. 9 and describes a condition for applying the exclusion attribute designation that follows. The attribute condition can be omitted, and when it is omitted, the exclusion attribute designation is always valid. The exclusion attribute designation corresponds to “ignore value” or the like in FIG. 9 and represents that a specific attribute and attribute value are excluded from the falsification detection target. A plurality of exclusion attribute designations can be designated by “,” as shown in FIG. In addition, when the exclusion attribute designation is designated, the attribute value not designated is treated as a falsification detection target.

改竄検知規則においては、タグに囲まれた地のテキストを扱う必要がある。そこで、改竄検知装置100においては、地のテキストに対して仮想的に属性名「_content」を与える。これにより、属性「_content」を図11の改竄検知規則の表記法に従って、他の属性と同じように扱うことが可能となる。なお、この場合、指定子「attr-all」は、除外属性として「ignore _content」のみを指定することと等しくなる。   In the falsification detection rule, it is necessary to handle the local text surrounded by the tags. Therefore, in the falsification detection device 100, the attribute name “_content” is virtually given to the text of the ground. Accordingly, the attribute “_content” can be handled in the same manner as other attributes according to the notation of the falsification detection rule of FIG. In this case, the specifier “attr-all” is equivalent to specifying only “ignore_content” as an exclusion attribute.

次に、図3に示すステップS110の改竄検査情報生成、及び図4に示すステップS230の改竄検知情報再現の一般化した動作を、図12を用いて説明する。なお、図12では、図3に示すステップS110の改竄検査情報生成の動作について説明するが、図4におけるステップS230の改竄検知情報再現についても同様の手順で実現可能である。
改竄検知情報生成部140はWEBページを生成するプログラムのトークン読み込みを開始する(ステップS301)。ここで読み込むトークンは、WEBページとして出力される部分のみであり、サーバサイドプログラムの処理が記述されたテキストは読み込まない。次のトークンが開始タグであった場合(ステップS302)、スタックに該開始タグをプッシュする(ステップS303)。該開始タグが改竄検知規則において、改竄検知対象に指定されているか否かを判定(ステップS304)し、指定されていない場合、何も出力せずにステップS302へ戻る。改竄検知対象に指定されている場合、改竄検知規則を元に属性の除外処理を行い、残ったものを出力(ステップS305)し、ステップS302へ戻る。
Next, generalized operations of falsification inspection information generation in step S110 shown in FIG. 3 and falsification detection information reproduction in step S230 shown in FIG. 4 will be described with reference to FIG. 12 describes the operation of falsification inspection information generation in step S110 shown in FIG. 3, but the falsification detection information reproduction in step S230 in FIG. 4 can also be realized by the same procedure.
The falsification detection information generation unit 140 starts reading a token of a program that generates a WEB page (step S301). The token read here is only the part that is output as a WEB page, and the text that describes the processing of the server-side program is not read. If the next token is a start tag (step S302), the start tag is pushed onto the stack (step S303). It is determined whether or not the start tag is designated as a falsification detection target in the falsification detection rule (step S304), and if it is not designated, nothing is output and the process returns to step S302. If it is designated as a falsification detection target, an attribute exclusion process is performed based on the falsification detection rule, the remaining one is output (step S305), and the process returns to step S302.

ステップS302で次のトークンが終了タグであった場合、スタックをポップする(ステップS306)。該終了タグが改竄検知規則において、改竄検知対象に指定されているか否かを判定(ステップS307)し、改竄検知対象に指定されていない場合、何も出力せずにステップS302へ戻る。改竄検知対象に指定されている場合、当該終了タグを出力(ステップS308)し、ステップS302へ戻る。   If the next token is an end tag in step S302, the stack is popped (step S306). It is determined whether or not the end tag is designated as a falsification detection target in the falsification detection rule (step S307). If it is not designated as a falsification detection target, nothing is output and the process returns to step S302. If it is designated as a falsification detection target, the end tag is output (step S308), and the process returns to step S302.

次のトークンが地のテキストであった場合(ステップS302)、スタック先頭のタグに対応する改竄検知規則で_contentが除外指定されているか否かを判定する(ステップS309)。除外指定されている場合は、何も出力せずにステップS302へ戻る。ここで、「除外指定されている場合」には、該タグが改竄検知規則に指定されていない場合を含む。除外指定されていない場合は、該地のテキストを出力し(ステップS310)、ステップS302へ戻る。次のトークンがWEBページの終端である場合は(ステップS302)、終了する。   If the next token is a local text (step S302), it is determined whether or not _content is specified to be excluded in the falsification detection rule corresponding to the tag at the top of the stack (step S309). If the exclusion is specified, nothing is output and the process returns to step S302. Here, “when exclusion is specified” includes a case where the tag is not specified in the falsification detection rule. If no exclusion is specified, the text of the place is output (step S310), and the process returns to step S302. If the next token is the end of the WEB page (step S302), the process ends.

なお、タグの中には、inputタグのように終了タグが存在しないものがある。この場合は、ステップS303からステップS305において開始タグの処理を施した後、ステップS302において、次のトークンは空文字列の終了タグであると見做し、処理をすれば良い。   Some tags, such as the input tag, do not have an end tag. In this case, after processing the start tag in steps S303 to S305, in step S302, it is assumed that the next token is an end tag of an empty character string, and processing is performed.

WEBページにおいては、外部ファイルが読み込まれることもある。例えば、scriptタグにおいて、src属性を指定すれば、JavaScriptの外部ファイルを読み込むことが可能である。外部ファイルについても改竄されるリスクがあるため、外部ファイルの改竄検知方法が必要となる。外部ファイルには動的な情報は含まれないため、ステップS305において、src属性が改竄検知対象となっている場合には、外部ファイルの内容を改竄検知情報として出力すれば良い。   An external file may be read in the web page. For example, if a src attribute is specified in a script tag, an external JavaScript file can be read. Since there is a risk of falsification of external files, a method for detecting falsification of external files is required. Since dynamic information is not included in the external file, when the src attribute is the target of falsification detection in step S305, the contents of the external file may be output as falsification detection information.

改竄検知規則部150の改竄検知規則には、規則を一意に識別するID(identification)が割り振られていても良い。IDが割り振られる場合の改竄検知規則の指定方法の例を図13に示す。IDを用いることで、改竄検知の対象であるWEBページ毎に、適用する規則を制御することが可能となる。例えば、あるページに対しては、aタグを改竄検知対象とするが、別のページに対しては、aタグを改竄検知対象外とする、といった個別の制御が、IDを用いることで、容易に管理可能となる。   The falsification detection rule of the falsification detection rule unit 150 may be assigned an ID (identification) that uniquely identifies the rule. An example of the specification method of the falsification detection rule when the ID is allocated is shown in FIG. By using the ID, it is possible to control the rules to be applied to each web page that is the target of falsification detection. For example, an ID is used for individual control such that a tag is targeted for falsification detection for a certain page, but a tag is not subject to falsification detection for another page. Can be managed.

図4に戻り、ステップS240の詳細を説明する。ステップS210で受信されたWEBページに対応する改竄検査情報を特定する手段としては、URL(Uniform Resource Locator)を用いる方法がある。WEBアプリケーションにおいては、予め、ページ毎にURLが定まっているため、改竄検知情報記憶部130において、改竄検査情報とURLとを対応付けて管理することで、ステップS240の動作が可能となる。   Returning to FIG. 4, the details of step S240 will be described. As a means for specifying the falsification inspection information corresponding to the WEB page received in step S210, there is a method using a URL (Uniform Resource Locator). In the WEB application, since the URL is predetermined for each page, the falsification detection information and the URL are managed in association with each other in the falsification detection information storage unit 130, so that the operation in step S240 can be performed.

次に、ステップS270における後処理について説明する。ステップS270は、改竄が為されていない場合の処理であるので、特別な後処理は施さないことができる。或いは、改竄が為されていないことを明示的にユーザに示すために、改竄検知部120からの信号によりポップアップ等でメッセージを表示しても良い。   Next, post-processing in step S270 will be described. Step S270 is a process when no falsification has been made, and therefore no special post-processing can be performed. Alternatively, a message may be displayed in a pop-up or the like by a signal from the falsification detection unit 120 to explicitly indicate to the user that no falsification has been made.

次に、ステップS280における後処理について説明する。ステップS280は、改竄が為された場合の処理であるので、そのWEBアプリケーションは信頼できない状態である可能性が高い。従って、考えられる後処理としては、改竄検知部120からの信号によりPOSTを無効化し、ユーザ入力した情報がサーバ300に送信されないようすることが挙げられる。或いは、単に、改竄が為されたことをユーザに示すために、改竄検知部120からの信号によりポップアップ等でメッセージを表示しても良い。   Next, post-processing in step S280 will be described. Since step S280 is processing when tampering is performed, there is a high possibility that the WEB application is in an unreliable state. Therefore, possible post-processing includes invalidating POST by a signal from the falsification detection unit 120 so that information input by the user is not transmitted to the server 300. Alternatively, a message may be displayed in a pop-up or the like by a signal from the falsification detection unit 120 to simply indicate to the user that falsification has been made.

実施の形態2.
以下の説明では、この発明の改竄検知装置100を、WEBアプリケーションに適用した別の例を挙げる。本実施の形態は、実施の形態1と類似しているため、本実施の形態では、実施の形態1との差異のみを記述する。
Embodiment 2. FIG.
In the following description, another example in which the falsification detection device 100 of the present invention is applied to a WEB application will be given. Since the present embodiment is similar to the first embodiment, only the differences from the first embodiment will be described in the present embodiment.

図14は、この発明である改竄検知装置を適用した、WEBアプリケーションを示す構成図である。本実施の形態において、改竄検知装置100は、管理端末400、及びクライアント側機器を構成するプロキシサーバ600の構成要素として適用される。改竄検知装置100、WEBサーバ300、及び管理端末400における構成の細部は、実施の形態1と同様なので割愛する。
なお、本実施の形態においてはクライアント側機器はクライアント端末200とプロキシサーバ600とで構成される。
FIG. 14 is a configuration diagram showing a WEB application to which the falsification detection apparatus according to the present invention is applied. In the present embodiment, the falsification detection device 100 is applied as a constituent element of the management server 400 and the proxy server 600 constituting the client side device. The details of the configurations of the falsification detection device 100, the WEB server 300, and the management terminal 400 are the same as those in the first embodiment, and are omitted.
In the present embodiment, the client side device includes the client terminal 200 and the proxy server 600.

クライアント端末200は、WEB情報送受信部210を構成要素に含み、WEB情報送受信部210がプロキシサーバ600のクライアント側WEB情報送受信部620とネットワーク510を通じて、接続されることで、プロキシサーバ600と接続される。ネットワーク510は、サーバ側WEB情報送受信部610とWEBサーバ300とを接続するネットワーク500から切り離されており、クライアント端末200からWEBサーバ300への接続は、全てプロキシサーバ600を経由して行われる。   The client terminal 200 includes a WEB information transmission / reception unit 210 as a component, and the WEB information transmission / reception unit 210 is connected to the proxy server 600 by being connected to the client-side WEB information transmission / reception unit 620 of the proxy server 600 through the network 510. The The network 510 is disconnected from the network 500 that connects the server-side WEB information transmission / reception unit 610 and the WEB server 300, and all connections from the client terminal 200 to the WEB server 300 are performed via the proxy server 600.

プロキシサーバ600は、改竄検知装置100の一部、サーバ側WEB情報送受信部610、及びクライアント側WEB情報送受信部620とから成る。サーバ側WEB情報送受信部610は、WEBサーバ300との間でHTTPプロトコルベースのデータ送受信を担う。クライアント側WEB情報送受信部620は、クライアント端末200との間でのHTTPプロトコルベースのデータ送受信を担う。   The proxy server 600 includes a part of the falsification detection device 100, a server-side WEB information transmission / reception unit 610, and a client-side WEB information transmission / reception unit 620. The server-side WEB information transmission / reception unit 610 performs HTTP protocol-based data transmission / reception with the WEB server 300. The client-side WEB information transmission / reception unit 620 performs HTTP protocol-based data transmission / reception with the client terminal 200.

本実施の形態における改竄検知装置100の目的は、WEBサーバ300に格納されたプログラムに対する改竄を、プロキシサーバ600上で検知することである。本実施の形態において、プロキシサーバは信頼できるものとして扱う。検知する場所がクライアント端末200かプロキシサーバ600かの違いを除けば、目的、動作は上述の実施の形態1と同様であるため、割愛する。   The purpose of the tampering detection apparatus 100 in the present embodiment is to detect on the proxy server 600 tampering with a program stored in the WEB server 300. In this embodiment, the proxy server is treated as reliable. Except for the difference in whether the location to be detected is the client terminal 200 or the proxy server 600, the purpose and operation are the same as those in the above-described first embodiment, and thus will be omitted.

以上で述べたように、実施の形態1、及び実施の形態2においては、改竄検知装置100に入力されたWEBページに対して、既存のWEBページにおいて利用されている情報のみを利用した改竄検知規則を用いるため、改竄検知のための追加情報を、JSPのようなプログラムに埋め込む必要がなく、開発負荷が軽減される。更に、改竄検知の対象外としたい情報を変更した場合においては、改竄検知情報の再生成が不要となる。例えば、スクリプト動作の改竄やリンク先の詐称を検知したい場合、画面レイアウトなどの視覚情報の変更は、スクリプト動作の改竄やリンク先の詐称とは独立であるため改竄検知の対象外とすることができる。   As described above, in the first embodiment and the second embodiment, for the WEB page input to the falsification detection device 100, the falsification detection using only the information used in the existing WEB page. Because the rules are used, it is not necessary to embed additional information for falsification detection in programs such as JSP, reducing the development load. Furthermore, when information that is not to be subject to falsification detection is changed, it is not necessary to regenerate the falsification detection information. For example, if you want to detect falsification of script actions or link destination spoofing, changes in visual information such as screen layout may be excluded from falsification detection because they are independent of script action falsification and link destination spoofing. it can.

なお、上記実施の形態1では、管理端末400にプログラム410Aを格納したプログラム格納部410及び改竄検知装置100の一部である改竄検知情報生成部140並びに改竄検知規則部150とを備えたものについて説明したが、プログラム格納部410及び改竄検知情報生成部140を管理端末400ではなくクライアント端末200に備えることで、改竄検知装置100をクライアント端末200のみに備えることができる。これらプログラム格納部410、改竄検知情報生成部140の動作は実施の形態1と同様であり、改竄検知情報生成部140はクライアント端末200に備えられていた改竄検知規則部150の改竄検知規則を用いて改竄検知情報を生成する。
このような構成により、実施の形態1と同様にWEBページの改竄をクライアント端末で検知することができる。
In the first embodiment, the management terminal 400 includes the program storage unit 410 that stores the program 410A, the falsification detection information generation unit 140 that is a part of the falsification detection device 100, and the falsification detection rule unit 150. As described above, by providing the program storage unit 410 and the falsification detection information generation unit 140 in the client terminal 200 instead of the management terminal 400, the falsification detection device 100 can be provided only in the client terminal 200. The operations of the program storage unit 410 and the falsification detection information generation unit 140 are the same as those in the first embodiment, and the falsification detection information generation unit 140 uses the falsification detection rule of the falsification detection rule unit 150 provided in the client terminal 200. To generate falsification detection information.
With such a configuration, the tampering of the WEB page can be detected by the client terminal as in the first embodiment.

また、WEB情報送受信部210及び、実施の形態1でクライアント端末200に備えられている改竄検知装置100の一部である改竄検知情報再現部110、改竄検知部120、改竄検知情報記憶部130をクライアント端末200ではなく管理端末400に備えることで、改竄検知装置100を管理端末400にのみ備えることができる。
この場合においても、実施の形態1と同様な動作を行い、同様な効果が得られる。
なお、改竄検知部120の判定結果をクライアント端末200に送信し、クライアント端末200に表示可能とする。
Further, the WEB information transmission / reception unit 210 and the falsification detection information reproduction unit 110, the falsification detection unit 120, and the falsification detection information storage unit 130, which are part of the falsification detection device 100 provided in the client terminal 200 in the first embodiment, are provided. By providing the management terminal 400 instead of the client terminal 200, the falsification detection device 100 can be provided only in the management terminal 400.
Even in this case, the same operation as in the first embodiment is performed, and the same effect can be obtained.
The determination result of the falsification detection unit 120 is transmitted to the client terminal 200 and can be displayed on the client terminal 200.

この発明に係る改竄検知装置は、WEBアプリケーションを用いてWEBプラウザからデータを受け取ってファイルに記録したり、データベースと連携した動的なWEBページを作成したりするシステムにおいて、信頼できないサーバ管理者や、悪意を持った攻撃者によりWEBページが改竄されたか否かを検知する際に利用される可能性がある。   The falsification detection device according to the present invention is a system that receives data from a web browser using a web application and records it in a file, or creates a dynamic web page linked with a database. It may be used to detect whether a web page has been tampered with by a malicious attacker.

100;改竄検知装置、110;改竄検知情報再現部、120;改竄検知部、130;改竄検知情報記憶部、140;改竄検知情報生成部、150;改竄検知規則部、200;クライアント端末、210;WEB情報送受信部、300;WEBサーバ、310;WEB情報送受信部、320;WEBページ生成部、330;プログラム記憶部、400;管理端末、410;プログラム格納部、500,510;ネットワーク、600;プロキシサーバ、610;サーバ側WEB情報送受信部、620;クライアント側WEB情報送受信部。   100; falsification detection device 110; falsification detection information reproduction unit 120; falsification detection unit 130; falsification detection information storage unit 140; falsification detection information generation unit 150; falsification detection rule unit 200; client terminal 210; WEB information transmission / reception unit, 300; WEB server, 310; WEB information transmission / reception unit, 320; WEB page generation unit, 330; program storage unit, 400; management terminal, 410; program storage unit, 500, 510; Server, 610; Server-side WEB information transmission / reception unit, 620; Client-side WEB information transmission / reception unit.

Claims (8)

改竄が為されていないWEBページに記述される既存情報の内、静的情報のみから改竄検知対象を規定する改竄検知規則を用いて、WEBページを生成するプログラムから生成された、改竄検査情報を保持する改竄検知情報記憶部と、
前記WEBページを生成するプログラムが格納され、信頼を補償されていないWEBサーバで生成され、ネットワークを介して送付されたWEBページから、前記改竄検知規則を利用し、改竄検知情報を再現する改竄検知情報再現部と、
前記改竄検知情報再現部により再現された改竄検知情報と、前記改竄検知情報記憶部に格納された改竄検査情報とを比較し、生成されたWEBページが改竄された否かを判定する改竄検知部と、
を有することを特徴とする改竄検知装置。
Tampering inspection information generated from a program that generates WEB pages using falsification detection rules that stipulate falsification detection targets only from static information among existing information described in WEB pages that have not been falsified. A falsification detection information storage unit to be held;
The falsification detection that reproduces the falsification detection information using the falsification detection rule from the WEB page that is stored in the WEB server that stores the program to generate the WEB page, is generated by a WEB server that is not compensated for reliability, and is sent via the network. An information reproduction unit;
The falsification detection unit that compares the falsification detection information reproduced by the falsification detection information reproduction unit with the falsification inspection information stored in the falsification detection information storage unit and determines whether or not the generated WEB page has been falsified. When,
A tamper detection device characterized by comprising:
前記改竄検知規則は、複数の規則から成り、各規則に、規則を一意に識別可能な識別子が割り当てられており、
前記改竄検知情報記憶部には、各WEBページに対して、どの改竄検知規則を適用するかの情報が、改竄検知情報と対応付けて管理記憶されている
ことを特徴とする請求項1に記載の改竄検知装置。
The falsification detection rule is composed of a plurality of rules, and each rule is assigned an identifier capable of uniquely identifying the rule,
2. The falsification detection information storage unit stores and stores information about which falsification detection rule is applied to each WEB page in association with falsification detection information. Tamper detection device.
請求項1または2に記載の改竄検知装置は、信頼を補償されていないWEBサーバからの情報をネットワークを介してWEBページを受信するクライアント端末を制御できるものであって、
前記改竄検知部は、改竄された否かの判定結果により、WEBページが改竄されたと判定された場合に、前記クライアント側機器からのデータ送信を無効化する命令を出力する構成にされることを特徴とする請求項1または2に記載の改竄検知装置。
The falsification detection device according to claim 1 or 2 is capable of controlling a client terminal that receives a WEB page via a network with information from a WEB server whose reliability is not compensated,
The falsification detection unit is configured to output a command for invalidating data transmission from the client side device when it is determined that the WEB page has been falsified based on the determination result of whether or not falsification has occurred. The tampering detection apparatus according to claim 1 or 2, characterized in that
改竄が為されていないWEBページに記述される既存情報の内、静的情報のみから改竄検知対象を規定する前記改竄検知規則を用いて、WEBページを生成するプログラムから前記改竄検査情報を生成する改竄検知情報生成部、
を備えることを特徴とする請求項1乃至3のいずれかに記載の改竄検知装置。
The falsification inspection information is generated from a program that generates a WEB page using the falsification detection rule that defines falsification detection targets only from static information among existing information described in a WEB page that has not been falsified. Falsification detection information generator,
The tampering detection apparatus according to claim 1, further comprising:
前記改竄検知規則は、WEBページ内に記述されるタグと属性、及び属性値のうちの少なくとも一つから改竄検知対象を規定する規則であることを特徴とする請求項1乃至4のいずれかに記載の改竄検知装置。   5. The falsification detection rule is a rule that defines a falsification detection target based on at least one of a tag, an attribute, and an attribute value described in a WEB page. The tampering detection device described. 前記WEBページはマークアップ言語で記述されたファイルであって、
前記改竄検知規則で用いられるタグは、クライアントサイドスクリプトを表すタグ、データ入力及び送信のためのフォームを表すタグ、データ入力欄を表すタグ、WEBページへのリンクを表すタグ、から選択されることを特徴とする請求項5に記載の改竄検知装置。
The web page is a file written in a markup language,
The tag used in the falsification detection rule is selected from a tag representing a client side script, a tag representing a form for data input and transmission, a tag representing a data entry field, and a tag representing a link to a web page. The tampering detection apparatus according to claim 5.
前記改竄検知規則は、改竄検知対象としたタグ内に、特定の属性、或いは特定の属性値が記述されているときに、特定の属性、及び特定の属性値を、改竄検知対象から除外する構成にされることを特徴とする請求項5または6に記載の改竄検知装置。   The falsification detection rule is configured to exclude a specific attribute and a specific attribute value from a falsification detection target when a specific attribute or a specific attribute value is described in a tag that is a falsification detection target. The falsification detection device according to claim 5 or 6, wherein 改竄が為されていないWEBページに記述される既存情報の内、静的情報のみから改竄検知対象を規定する改竄検知規則を用いて、WEBページを生成するプログラムから改竄検査情報を生成する保持する改竄検知情報生成工程と、
前記WEBページを生成するプログラムが格納され、信頼を補償されていないWEBサーバで生成され、ネットワークを介して送付されたWEBページから、前記改竄検知規則を利用し、改竄検知情報を再現する改竄検知情報再現工程と、
前記改竄検知情報再現工程により再現された改竄検知情報と、前記改竄検知情報生成工程に生成された改竄検査情報とを比較し、生成されたWEBページが改竄された否かを判定する改竄検知工程と、
を有することを特徴とする改竄検知方法。
Generates falsification inspection information from a program that generates web pages using falsification detection rules that specify falsification detection targets only from static information among existing information described in web pages that have not been falsified. Falsification detection information generation process,
The falsification detection that reproduces the falsification detection information using the falsification detection rule from the WEB page that is stored in the WEB server that stores the program to generate the WEB page, is generated by a WEB server that is not compensated for reliability, and is sent via the network. Information reproduction process,
A falsification detection step of comparing whether the falsification detection information reproduced in the falsification detection information reproduction step is compared with the falsification inspection information generated in the falsification detection information generation step and determining whether or not the generated WEB page is falsified. When,
A tamper detection method characterized by comprising:
JP2012253133A 2012-11-19 2012-11-19 Tamper detection device and tamper detection method Expired - Fee Related JP6041634B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012253133A JP6041634B2 (en) 2012-11-19 2012-11-19 Tamper detection device and tamper detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012253133A JP6041634B2 (en) 2012-11-19 2012-11-19 Tamper detection device and tamper detection method

Publications (2)

Publication Number Publication Date
JP2014102612A JP2014102612A (en) 2014-06-05
JP6041634B2 true JP6041634B2 (en) 2016-12-14

Family

ID=51025082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012253133A Expired - Fee Related JP6041634B2 (en) 2012-11-19 2012-11-19 Tamper detection device and tamper detection method

Country Status (1)

Country Link
JP (1) JP6041634B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10200381B2 (en) 2015-08-05 2019-02-05 Mcafee, Llc Systems and methods for phishing and brand protection
CN107832428B (en) * 2017-11-14 2018-09-18 北京知行锐景科技有限公司 Webpage method for monitoring state based on Website page and system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003140969A (en) * 2001-10-31 2003-05-16 Hitachi Ltd Contents check system, contents alter detecting method in the system, contents check program and recording medium
JP2004038272A (en) * 2002-06-28 2004-02-05 Kddi Corp Web monitoring device and method, and computer program
JP5106643B2 (en) * 2011-01-05 2012-12-26 株式会社東芝 Web page alteration detection device and program

Also Published As

Publication number Publication date
JP2014102612A (en) 2014-06-05

Similar Documents

Publication Publication Date Title
US11775686B2 (en) Security systems and methods for encoding and decoding content
US9043866B2 (en) Security systems and methods for encoding and decoding digital content
US10511628B1 (en) Detecting realtime phishing from a phished client or at a security server
JP5597230B2 (en) Information operation device, information output device, and information operation program
JP2019502997A (en) Securing web pages, web apps, and applications
CN115225707A (en) Resource access method and device
US11212287B2 (en) Program execution control method, program, recording medium, web page, transmission server, client, and web system
KR101452299B1 (en) Security metohd and server using program code guaranteed integrity
JP2009026010A (en) Content distribution device, content distribution control method, and content distribution control program
JP6041634B2 (en) Tamper detection device and tamper detection method
CN107026828A (en) A kind of anti-stealing link method cached based on internet and internet caching
JP6291441B2 (en) Web system, web client device, and falsification inspection device
JP5834118B2 (en) Information operation device, information output device, and information operation program
CN112214464A (en) Evidence preservation method and system based on block chain
CN112069436A (en) Page display method, system and equipment
JP2014021509A (en) Fraudulence detection system, terminal unit, fraudulence sensing device, computer program, and fraudulence detection method
JP6688782B2 (en) Network communication method and network communication system
CN105991599B (en) JSONP requesting method and device
JP7438383B2 (en) Verifying the authenticity of web applications
CN115834254B (en) Network content security protection method and device, storage medium and electronic equipment
Studiawan Forensic analysis of iOS binary cookie files
JP2016028532A (en) Information operation device, information output device, and information operation program
JP6350235B2 (en) Information processing apparatus, information processing apparatus control method, and information processing apparatus control program
KR20220000899A (en) View content and interactions within the webview
JP6394326B2 (en) Information processing apparatus, information processing system, information processing method, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160921

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161108

R150 Certificate of patent or registration of utility model

Ref document number: 6041634

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

LAPS Cancellation because of no payment of annual fees