JP2009244926A - Information processing apparatus, information processing method, and information processing program - Google Patents
Information processing apparatus, information processing method, and information processing program Download PDFInfo
- Publication number
- JP2009244926A JP2009244926A JP2008087191A JP2008087191A JP2009244926A JP 2009244926 A JP2009244926 A JP 2009244926A JP 2008087191 A JP2008087191 A JP 2008087191A JP 2008087191 A JP2008087191 A JP 2008087191A JP 2009244926 A JP2009244926 A JP 2009244926A
- Authority
- JP
- Japan
- Prior art keywords
- information
- check
- input
- input data
- information processing
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、入力されたデータがシステムの設計上適正なデータであるかどうかを判定する情報処理装置等に関する。 The present invention relates to an information processing apparatus or the like that determines whether or not input data is appropriate data for system design.
クライアントから入力されたデータをチェックする技術として、以下に示す技術が知られている。 The following techniques are known as techniques for checking data input from a client.
第1の技術として、クライアント側からの入力情報からデータを取り出し、チェックして格納するという一連の処理を、一元化、自動化することによって、効率良くWebシステムを開発することのできる技術が知られている(例えば、特許文献1参照)。この技術は、入力データに入力キーワードチェックパターン情報をHTML形式のデータに予め組み込み、クライアント側から送られてきた入力情報をサーバ側にて処理してシステムを構築する際に、システムの構築に必要なデータ項目に基づいて、前記入力情報からのデータ取り出し処理と、取り出したデータをチェックする処理と、チェックしたデータを所定の領域に格納する処理とを行うものである。 As a first technique, a technique is known that can efficiently develop a Web system by unifying and automating a series of processes of extracting, checking, and storing data from input information from the client side. (For example, refer to Patent Document 1). This technology is necessary for system construction when input keyword check pattern information is embedded in HTML data in advance and input information sent from the client side is processed on the server side to construct a system. On the basis of various data items, a process for extracting data from the input information, a process for checking the extracted data, and a process for storing the checked data in a predetermined area are performed.
第2の技術として、プログラミングの知識のないユーザであっても、業務仕様の枠組みの中から、誤入力/誤登録を未然に防止可能な入力支援機能を有する複雑なウェブアプリケーションを容易に生成可能にし、ウェブアプリケーションの開発作業、業務仕様の変更に起因する変更保守作業を格段に軽減でき、開発期間を格段に短縮することができる技術が知られている(例えば、特許文献2参照)。この技術は、入出力テーブル内の複数のデータ項目の定義情報と前記各データ項目の属性情報に基づいて、コード生成部が、「前記各データ項目に対応するデータを前記各データ項目の属性に応じた入力形式で入力処理する項目表示プログラム」、「前記各データ項目に対応する入力データに対して前記各データ項目の属性に応じたチェック処理を行うデータチェックプログラム」、「前記各データ項目に対応するデータを前記各データ項目の属性に応じた出力形式で出力処理する入力データ整形表示プログラム」を生成する構成を特徴とするものである。 As a second technology, even users without programming knowledge can easily generate complex web applications with input support functions that can prevent erroneous input / incorrect registration from the framework of business specifications. In addition, there is known a technique that can significantly reduce development work of web applications and change maintenance work resulting from changes in business specifications, and can significantly shorten the development period (see, for example, Patent Document 2). In this technique, based on the definition information of a plurality of data items in the input / output table and the attribute information of each data item, the code generation unit can specify that “the data corresponding to each data item is the attribute of each data item. "Item display program that performs input processing in accordance with input format", "Data check program that performs check processing according to attribute of each data item for input data corresponding to each data item", "In each data item The present invention is characterized in that an “input data shaping display program for outputting corresponding data in an output format corresponding to the attribute of each data item” is generated.
第3の技術として、バッファオーバーフローに対して、根本的な対処であるプログラムソースの修正や修正パッチの適用を迅速に行えるようにする技術が知られている(例えば、特許文献3参照)。この技術は、バッファオーバーフロー攻撃の発生を検知すると、プログラム開発者に提供する分析情報として、攻撃の対象となったバッファの存在する場所の情報と、そのバッファを確保した関数の情報とを抽出するとともに、そのバッファ確保からバッファオーバーフロー攻撃までの関数の呼び出し履歴の情報を抽出できる場合には、その情報を抽出する。この分析情報を受けて、プログラム開発者がプログラムを修正し対処情報を作成するので、既知分析情報記憶手段に分析情報に対応付ける形で対処情報を記憶しておき、抽出した分析情報が既知分析情報記憶手段が登録されている場合には、その分析情報に対応付けられる対処情報に基づいてバッファオーバーフロー攻撃に対する対処処理を実行するものである。 As a third technique, there is known a technique that can quickly correct a program source and apply a correction patch, which is a fundamental countermeasure against a buffer overflow (see, for example, Patent Document 3). When this technology detects the occurrence of a buffer overflow attack, it extracts information about the location of the attacked buffer and information about the function that secured the buffer as analysis information provided to the program developer. At the same time, if the function call history information from the buffer reservation to the buffer overflow attack can be extracted, the information is extracted. In response to this analysis information, the program developer modifies the program and creates countermeasure information. Therefore, the countermeasure information is stored in the known analysis information storage means in association with the analysis information, and the extracted analysis information is known analysis information. When the storage means is registered, the countermeasure processing for the buffer overflow attack is executed based on the countermeasure information associated with the analysis information.
第4の技術として、プログラマに一切負担をかけずに、検出漏れなく、少ない誤検出で、バッファオーバーフロー脆弱性を検出する技術が知られている(例えば、特許文献4参照)。この技術は、解析対象となるプログラムから、確保された領域を示す領域式と、前記領域式が示す領域においてアクセスする位置を指定する指数式とを含む領域アクセス式を検出し、前記領域式が示す領域のサイズ式を検出し、前記領域アクセス式を含む命令を実行すると前記領域式が示す領域外へのアクセスとなるバッファオーバーフローが発生するバッファオーバーフロー条件を前記指数式と前記サイズ式とを用いて算出し、前記ソースプログラムの上流側に配置された命令から前記領域アクセス式を含む命令へ至るまでの命令の実行経路を特定し、前記実行経路上に配置された代入命令に基づき前記バッファオーバーフロー条件を前記実行経路の上流へ向けて遡及させ、前記バッファオーバーフロー条件の上流での表現を求めるものである。
しかしながら、第1の技術は、クライアント側で入力されたデータをチェックするために、入力データに入力キーワードチェックパターン情報を付加して送信するため、悪意のあるクライアントの場合、改竄が行われてしまうというリスクがあり、セキュリティ上の課題を有する。 However, in the first technique, in order to check the data input on the client side, the input keyword check pattern information is added to the input data and transmitted, so that in the case of a malicious client, falsification is performed. And has security issues.
また、第2の技術は、プログラムの生成に関しては、開発作業、業務仕様の変更に起因する変更保守作業を格段に軽減できるが、入力項目と属性ごとにチェックプログラムを生成しているためチェックプログラムの容量が大きくなってしまい、プログラム生成後にプログラム開発者がレビュー等を行う場合には作業に手間が掛かってしまうため、作業の軽減が不十分であるという課題を有する。 In addition, the second technology can greatly reduce development work and change maintenance work caused by changes in business specifications with respect to program generation. However, a check program is generated because a check program is generated for each input item and attribute. When the program developer performs a review or the like after the program is generated, the work is troublesome, so that the work is not sufficiently reduced.
さらに、第3の技術は、バッファオーバーフローが発生した後に分析結果をプログラム開発者に提供し、プログラム開発者はその分析結果を踏まえてプログラムの修正を行うため、バッファオーバーフローの対応が後手に回ってしまい、被害が拡大してしまう可能性があるという課題を有する。 Furthermore, since the third technique provides the analysis result to the program developer after the buffer overflow occurs, and the program developer corrects the program based on the analysis result, the response to the buffer overflow is delayed. Therefore, there is a problem that damage may be increased.
さらにまた、第4の技術はプログラムの解析が必要となるため、プログラムを解析するためのプログラムの開発に時間を要してしまい、作業工数が増えてしまうという課題を有する。 Furthermore, since the fourth technique needs to analyze a program, it takes time to develop a program for analyzing the program, resulting in an increase in work man-hours.
そこで、本発明は前記課題を解決するためになされたものであり、開発者の負担を軽減しつつ、入力項目のチェックを安全で迅速に行うことができる情報処理装置、情報処理方法、及び、情報処理プログラムを提供することを目的とする。 Therefore, the present invention has been made to solve the above-described problem, and an information processing apparatus, an information processing method, and an information processing apparatus capable of safely and quickly checking input items while reducing a developer's burden. An object is to provide an information processing program.
(1.動的文書生成ファイル内にチェック情報をコメントとして記述)
本願に開示する情報処理装置は、動的に文書を生成するため情報が記述された動的文書生成ファイルから、所定の形式に従って入力項目ごとにコメントとして記述されたチェック情報を読み込む読込手段と、入力された入力データと前記読込手段が読み込んだチェック情報とを前記入力項目ごとに比較する比較手段と、前記比較手段が比較した結果に基づいて、前記入力データが設計上適正なデータであるかどうかを判定する判定手段と、前記判定手段が判定した結果に基づいて、対応する処理を実行する対応処理実行手段とを備えるものである。ここで、動的文書生成ファイルとは、例えばJSP(Java Server Pages:なお「Java」は登録商標である。)ファイルをいう。
(1. Describe the check information as a comment in the dynamic document generation file)
The information processing apparatus disclosed in the present application includes a reading unit that reads check information described as a comment for each input item according to a predetermined format from a dynamic document generation file in which information is dynamically generated to generate a document; Comparing means for comparing the input data inputted and the check information read by the reading means for each input item, and whether the input data is design-appropriate data based on the result of comparison by the comparing means A determination means for determining whether or not and a corresponding process execution means for executing a corresponding process based on a result determined by the determination means. Here, the dynamic document generation file refers to, for example, a JSP (Java Server Pages: “Java” is a registered trademark) file.
このように、本願に開示する情報処理装置においては、動的文書生成ファイルに入力項目ごとにコメントとしてチェック情報が記述されており、そのチェック情報に基づいて入力データの適正を判定する判定手段を備えるため、管理者側で処理をクローズすることができ、ユーザによる改竄等のリスクを回避してセキュリティを保つことができるという効果を奏する。 As described above, in the information processing apparatus disclosed in the present application, check information is described as a comment for each input item in the dynamic document generation file, and determination means for determining appropriateness of input data based on the check information is provided. Therefore, it is possible to close the process on the administrator side, and it is possible to avoid the risk of tampering by the user and maintain security.
また、動的文書生成ファイルにコメントとしてチェック内容を記述するだけで、入力項目ごとにチェックロジック等のプログラムを生成する必要がなくなるため、開発者の作業を大幅に軽減することができ、作業工数を削減することができるという効果を奏する。 In addition, it is not necessary to generate a program such as a check logic for each input item simply by describing the check contents as a comment in the dynamic document generation file. There is an effect that can be reduced.
さらに、チェック情報はコメントとして記述されるため、ファイル上のどの位置に記述しても良く、例えば、入力項目ごとにJSPのコードとチェック情報を併記することで、視認性を向上させてレビューや保守、メンテナンス作業等を効率よく行うことができるという効果を奏する。 Further, since the check information is described as a comment, it may be described at any position on the file. For example, by adding a JSP code and check information for each input item, visibility can be improved. There is an effect that maintenance, maintenance work, and the like can be performed efficiently.
さらにまた、チェック情報はコメントとして記述されるため、動的文書生成ファイルを展開する際に余分なメモリの使用を抑えることができ、システムの資源を有効的に活用することができるという効果を奏する。 Furthermore, since the check information is described as a comment, it is possible to suppress the use of extra memory when expanding the dynamic document generation file, and it is possible to effectively use system resources. .
さらにまた、入力データの適正を判定した結果に応じて、対応する処理を実行する対応処理実行手段を備えるため、例えば、緊急性を要する処理が必要な場合には、迅速に対応することができ、緊急性を要しない場合は、後程じっくり対応することも可能となる。つまり、入力データに応じて臨機応変に対応することができるという効果を奏する。 Furthermore, since the corresponding processing execution means for executing the corresponding processing according to the result of determining the appropriateness of the input data is provided, for example, when processing that requires urgency is required, it is possible to respond quickly. If there is no need for urgency, it will be possible to respond later. In other words, there is an effect that it is possible to respond flexibly according to input data.
なお、例えば、ユーザ端末から送信された入力データが不適正であり、緊急性を要する対応が必要な場合には、セッション自体を解放するような処理を行ってもよい。そうすることで被害の拡大を最小限に抑えることができる。 For example, when the input data transmitted from the user terminal is inappropriate and a response requiring urgency is required, a process for releasing the session itself may be performed. By doing so, the spread of damage can be minimized.
(2.チェック情報の保持手段)
情報処理装置は、前記読込手段が読み込んだチェック情報を保持する情報保持手段と、前記読込手段が読み込んだチェック情報を前記情報保持手段に書き込む書込手段とを備え、前記比較手段が、前記入力データと前記情報保持手段に保持されたチェック情報とを比較するものである。
(2. Check information holding means)
The information processing apparatus includes an information holding unit that holds the check information read by the reading unit, and a writing unit that writes the check information read by the reading unit into the information holding unit, and the comparing unit includes the input The data is compared with the check information held in the information holding means.
(3.入力サイズ、入力文字コードの判定)
情報処理装置は、前記チェック情報に前記入力データのサイズを制限する情報、及び、文字コードの種別を制限する情報の少なくとも一の情報が含まれるものである。
なお、Webアプリケーションを利用するシステムにおいては、一般的に入力項目には文字数や文字コードが制限されている場合が多い。それにも関わらず文字数違反や文字コード違反のデータが入力された場合は、特殊なツールを利用した悪意のある攻撃であると見なすことができる。従って、上記チェック情報を含むことで、悪意のある攻撃を検出して、それに応じた処置(セッション解放等)を行うことができる。
(3. Determination of input size and input character code)
In the information processing apparatus, the check information includes at least one of information that restricts the size of the input data and information that restricts the type of character code.
In a system using a Web application, the number of characters and the character code are generally limited for input items. Nevertheless, if data on the number of characters violation or character code violation is input, it can be regarded as a malicious attack using a special tool. Therefore, by including the check information, it is possible to detect a malicious attack and perform a corresponding action (such as session release).
(4.XSSが含まれる場合のデータサイズのチェック)
情報処理装置は、前記入力データにクロスサイトスクリプティングが含まれる場合に、当該クロスサイトスクリプティングを無害化するXSS(Cross Site Scripting)無害化手段を備え、前記比較手段が、前記XSS無害化手段にて無害化された結果に基づいて前記チェック情報に含まれる入力データのサイズを制限する情報又は入力データのサイズの情報を変更して比較を行うものである。
(4. Check data size when XSS is included)
The information processing apparatus includes XSS (Cross Site Scripting) detoxifying means for detoxifying the cross-site scripting when the input data includes cross-site scripting, and the comparing means is the XSS detoxifying means. Based on the detoxified result, the information for limiting the size of the input data included in the check information or the information on the size of the input data is changed for comparison.
なお、チェック情報の文字数の制限値を変更する場合は、XSSの無害化により増えた文字数分を制限値に加算する処理を行い、入力データのサイズの値を変更させる場合は、XSSの無害化により増えた文字数分を入力データのサイズの値から減算する処理を行う。 When changing the limit value for the number of characters in the check information, processing is performed to add the number of characters increased by detoxification of the XSS to the limit value, and when changing the size value of the input data, the destabilization of the XSS is performed. The number of characters increased by the above is subtracted from the size value of the input data.
(5.処理種別に応じた入力データのチェック)
情報処理装置は、前記入力データ及び前記チェック情報が処理の種別を特定する処理種別情報を含み、前記比較手段が、前記処理種別情報に基づいて前記入力データ及びチェック情報を選択して比較処理を行うものである。
(5. Check input data according to processing type)
The information processing apparatus includes processing type information in which the input data and the check information specify a processing type, and the comparison unit selects the input data and the check information based on the processing type information and performs a comparison process. Is what you do.
(6.チェック情報を記述手段)
情報処理装置は、前記動的文書生成ファイルに記述されたコードに基づいて前記チェック情報を当該動的文書生成ファイルにコメントとして記述するチェック情報記述手段を備えるものである。
(6. Means for describing check information)
The information processing apparatus includes check information description means for describing the check information as a comment in the dynamic document generation file based on a code described in the dynamic document generation file.
これまで、本発明を装置として示したが、所謂当業者であれば明らかであるように本発明を方法、及び、プログラムとして捉えることもできる。これら前記の発明の概要は、本発明に必須となる特徴を列挙したものではなく、これら複数の特徴のサブコンビネーションも発明となり得る。 Although the present invention has been shown as an apparatus so far, as will be apparent to those skilled in the art, the present invention can also be understood as a method and a program. These outlines of the invention do not enumerate the features essential to the present invention, and a sub-combination of these features can also be an invention.
以下、本発明の実施の形態を説明する。本発明は多くの異なる形態で実施可能である。従って、本実施形態の記載内容のみで本発明を解釈すべきではない。また、本実施形態の全体を通して同じ要素には同じ符号を付けている。 Embodiments of the present invention will be described below. The present invention can be implemented in many different forms. Therefore, the present invention should not be construed based only on the description of the present embodiment. Also, the same reference numerals are given to the same elements throughout the present embodiment.
以下の実施の形態では、主に装置について説明するが、所謂当業者であれば明らかな通り、本発明は方法、及び、コンピュータを動作させるためのプログラムとしても実施できる。また、本発明はハードウェア、ソフトウェア、または、ハードウェア及びソフトウェアの実施形態で実施可能である。プログラムは、ハードディスク、CD−ROM、DVD−ROM、光記憶装置、または、磁気記憶装置等の任意のコンピュータ可読媒体に記録できる。さらに、プログラムはネットワークを介した他のコンピュータに記録することができる。 In the following embodiments, the apparatus will be mainly described. However, as is apparent to those skilled in the art, the present invention can also be implemented as a method and a program for operating a computer. In addition, the present invention can be implemented in hardware, software, or hardware and software embodiments. The program can be recorded on any computer-readable medium such as a hard disk, CD-ROM, DVD-ROM, optical storage device, or magnetic storage device. Furthermore, the program can be recorded on another computer via a network.
(本発明の第1の実施形態)
(1.構成と機能)
(1−1 ハードウェア構成)
図1は、本実施形態に係る情報処理装置のハードウェアの構成図である。情報処理装置100は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、フラッシュメモリ(Flash memory)104、外部記憶装置であるHD(Hard disk)105、LAN(Local Area Network)カード106、マウス107、キーボード108、ビデオカード109、このビデオカード109と電気的に接続する表示装置であるディスプレイ109a、サウンドカード110、このサウンドカード110と電気的に接続する音出力装置であるスピーカ110a及びフレキシブルディスク、CD−ROM、DVD−ROM等の記憶媒体を読み書きするドライブ111からなる。
なお、上記ハードウェア構成はあくまで一例を示したものであり、構成要素の変更をすることができるのは当然である。
(First embodiment of the present invention)
(1. Configuration and function)
(1-1 Hardware configuration)
FIG. 1 is a hardware configuration diagram of the information processing apparatus according to the present embodiment. The
Note that the above hardware configuration is merely an example, and it is natural that the components can be changed.
(1−2 モジュール構成と機能)
図2は、本実施形態に係る情報処理装置のモジュール構成図である。情報処理装置100は、チェック情報抽出部210と、チェック処理部220と、JSPファイル230と、チェックファイル240とを備える。チェック情報抽出部210は、JSPファイル読込部211と、チェックファイル作成部212と、チェック情報取得部213と、チェック情報書込部214とを備え、チェック処理部220は、データ入力部221と、チェックパターン決定部222と、比較処理部223と、判定処理部224と、チェック結果処置部225とを備える。
(1-2 Module configuration and functions)
FIG. 2 is a module configuration diagram of the information processing apparatus according to the present embodiment. The
JSPファイル読込部211は、JSPファイル230を読み込む処理を行う。JSPファイルは開発者により予め作成されており、所定の書式に従って、コメントとして入力項目ごとにチェック情報が記述されている。チェック情報の具体例として、例えば、入力項目のサイズチェックを行うためのサイズ制限値や入力項目に使用する文字コードを制限する情報等が含まれる。
The JSP
チェックファイル作成部212は、チェック対象となるJSPファイルに対応するチェックファイルを作成する処理を行う。具体的には、JSPファイル読込部211が読み込んだ情報からチェック対象となるJSPファイルを特定する情報としてJSPファイルのファイル名を取得し、そのファイル名に該当するチェックファイルがチェックファイル240に存在するかどうかを確認する。該当するチェックファイルが存在していれば何もしないが、該当するチェックファイルが存在していなければ、チェックファイルを作成する。
The check
チェック情報取得部213は、JSPファイル読込部211が読み込んだ情報からチェック情報を抽出して取得する処理を行う。
チェック情報書込部214は、チェック情報取得部213が取得したチェック情報をチェックファイルに書き込む処理を行う。ここで、チェックファイルに既に書き込まれている項目については最新情報を優先して上書きする。
The check
The check
データ入力部221は、ユーザから入力された入力データを受け付ける処理を行う。
チェックパターン決定部222は、データ入力部221が受け付けた入力データに基づいて、チェック対象となる入力項目ごとに該当するチェック情報をチェックファイル240から抽出して決定する処理を行う。
The
Based on the input data received by the
比較処理部223は、データ入力部221が受け付けた入力データとチェックパターン決定部222が決定したチェック情報を入力項目ごとに比較する処理を行う。
判定処理部224は、比較処理部223が比較した結果に基づいて、入力データが設計上適正なデータであるかどうかを判定する処理を行う。設計上適正なデータかどうかの判定は、例えば、入力項目に入力できる文字数の制限を満たしているかどうかや、使用できる文字コードの制限を満たしているかどうかにより判定される。
The
The
チェック結果処置部225は、判定処理部224が判定した結果に応じた処置を決定して実行する処理を行う。例えば、判定結果が悪意のある攻撃であるような場合には、即座にセッションの解放を行ったり、入力ミスの場合には警告を表示するような処理を行う。
The check
JSPファイル230は、Webページを生成してユーザの端末に表示するように動作させるためのコードが記述されたファイルである。本実施形態では、このJSPファイルにコメントとして入力項目のチェック情報を所定の書式に従って記述する。チェック情報はコメントとして記述されるため、Webページの生成には影響を及ぼすことがない。また、コメントであるため、チェック情報によりメモリを消費することもない。また、所定の書式を簡略化すれば、開発者がチェック情報を容易に記述することも可能となる。
The
チェックファイル240は、JSPファイルに記述されたチェック情報が書き込まれたファイルである。JSPファイルからチェック情報の箇所のみを抽出して記述されている。このチェックファイル240は、チェック対象となるJSPファイルごとに作成される。
The
なお、チェックファイル240、チェックファイル作成部212、チェック情報書込部214、及び、チェックパターン決定部222は必ずしも備える構成としなくてもよい。その場合、チェック情報取得部213が取得した情報とデータ入力部221が受け付けた入力データとを比較処理部223が比較するようにしてもよい。
The
(2.動作)
(2−1 情報処理装置の動作概要)
以下に、本実施形態に係る情報処理装置の動作を示す。図3は、本実施形態に係る情報処理装置の動作を模式的に示した図である。装置起動時にJSPファイルをオープンし、チェック対象となるJSPのファイル名を取得し、そのファイル名に該当するチェックファイルの存在を確認する。チェックファイルがない場合は新たに作成する。次に、JSPファイルから入力項目ごとのチェック情報を取得し、該当するチェックファイルに書き込む。ここまでが装置起動時に実行される処理であり、チェック情報抽出部210により実行される処理である。
(2. Operation)
(2-1 Outline of operation of information processing apparatus)
The operation of the information processing apparatus according to this embodiment will be described below. FIG. 3 is a diagram schematically illustrating the operation of the information processing apparatus according to the present embodiment. A JSP file is opened when the apparatus is started, the file name of the JSP to be checked is acquired, and the existence of the check file corresponding to the file name is confirmed. If there is no check file, create a new one. Next, check information for each input item is acquired from the JSP file and written to the corresponding check file. The processing so far is the processing executed when the apparatus is activated, and is the processing executed by the check
次に、入力データのチェックを行う。仮に、図3に示すような不正大量データが入力されたとする。入力データは項目ごとにチェックファイルに基づいてチェックされる。ここでは、入力項目Aに不正大量データが含まれているとすると、入力項目Aが入力されると共に、チェックファイルから入力項目Aのチェック情報が読み出される。そして、入力データとチェック情報が比較され、大量不正データによる攻撃を受けたと判定される。
なお、具体的な判定方法については後述する。
Next, input data is checked. Suppose that illegal mass data as shown in FIG. 3 is input. Input data is checked for each item based on a check file. Here, assuming that the input item A includes a large amount of illegal data, the input item A is input and the check information of the input item A is read from the check file. Then, the input data and the check information are compared, and it is determined that the attack is caused by a large amount of illegal data.
A specific determination method will be described later.
大量不正データによる攻撃は、メモリの枯渇を招きシステムに多大な損害を与える可能性が高いため、メモリ領域のセッション情報1(ここでは、セッション1から大量不正データが送信されたとする)を即座に解放して、メモリの枯渇を防止する。正常なデータが入力されて送信された場合は、継続して業務処理等の通常の処理を行う。
An attack with a large amount of illegal data is likely to cause memory depletion and cause a great deal of damage to the system. Therefore, the
(2−2 情報処理装置の動作詳細)
上記処理動作の詳細をフローチャートを用いて説明する。図4は、チェック情報抽出部の動作を示すフローチャートであり、図5は、チェック処理部の動作を示すフローチャートである。
まず、チェック情報抽出部210の動作について説明する。Webアプリケーションのサービスが起動され、指定したフォルダ配下の全JSPファイル名を取得する(ステップS401)。この時、サブフォルダも含めてJSPファイルを検索する。取得したファイルを1つずつオープンし(ステップS402)、ファイルの1行目に記述されているチェック対象のJSP名を取得する(ステップS403)。チェック対象のJSP名のチェックファイルが存在するかどうかを判定し(ステップS404)、存在しなければ取得したJSP名でチェックファイルを作成する(ステップS405)。JSPファイル内にコメントで記述された入力項目ごとのチェック情報を取得し(ステップS406)、取得したチェック情報をチェックファイルに書き込む(ステップS407)。全てのファイルについてチェックファイルの作成処理が終了したら、Webアプリケーションのサービス起動を終了する。
(2-2 Details of operation of information processing apparatus)
Details of the processing operation will be described with reference to a flowchart. FIG. 4 is a flowchart showing the operation of the check information extraction unit, and FIG. 5 is a flowchart showing the operation of the check processing unit.
First, the operation of the check
次に、チェック処理部220の処理について説明する。チェック処理が開始されると、Webアプリケーションへ送信された入力データを受け付ける(ステップS501)。処理対象となるJSP名より、利用するチェックファイルを決定し(ステップS502)、決定されたチェックファイルをオープンする(ステップS503)。チェックファイルに書き込まれているチェック対象項目を1つずつチェックする(ステップS504)。以降の処理は、全てのチェック項目について処理が完了するまで繰り返して行われる。
Next, processing of the
入力データが制限容量を超えているかどうかを判定し(ステップS505)、制限容量を超えていれば、入力元のクライアントとのセッション情報、変数値等を全て解放して(ステップS506)、チェック処理を終了する。制限容量を超えていなければ入力データが適正なデータであるかどうかが判定され(ステップS507)、適正なデータでなければサニタイズ処理又は警告(注意、エラーも含む)処理を行う(ステップS508)。業務処理用のデータとして部品へ値をセットし、全てのチェック対象項目について処理が完了したら、チェック処理を終了する。 It is determined whether or not the input data exceeds the limit capacity (step S505), and if it exceeds the limit capacity, all session information and variable values with the input source client are released (step S506), and a check process is performed. Exit. If the limit capacity is not exceeded, it is determined whether or not the input data is appropriate data (step S507), and if it is not appropriate data, sanitization processing or warning (including caution and error) processing is performed (step S508). A value is set for a part as data for business processing, and when processing is completed for all items to be checked, the check processing ends.
(2−3 チェック情報の抽出とチェック処理の関係)
ここでは、上記チェック情報を抽出する処理とチェック処理との関係についてさらに詳細に説明する。図6は、チェック情報抽出部とチェック処理部との処理関係を示す図である。図6において、JSPファイル230は、sample01.jsp、sample02.jsp、及び、sample02_1.jspを有する。sample02_1.jspはsample02.jspのサブ画面に該当するJSPファイルであり、チェック内容が重複している入力項目が存在している。各JSPファイルを読み込み、各JSPのファイルの1行目から、[@@packに付与した名前].pattern(例えば、samp0le1.pattern)という名前のチェックファイルが存在するかどうかを確認し、存在していなければsample01.patternという名前のチェックファイルを生成する。
(2-3 Relationship between check information extraction and check processing)
Here, the relationship between the check information extraction process and the check process will be described in more detail. FIG. 6 is a diagram illustrating a processing relationship between the check information extraction unit and the check processing unit. In FIG. 6, the
チェックファイル214が存在している場合、又は生成されたら、JSPファイルからチェック情報を取得し、チェックファイルに書き込む。ここで、チェック情報は、「<%−−」から「−−%>」で囲まれた箇所である。これは、JSPファイルのコード上ではコメントを意味し、JSPファイルの動作には何も影響を与えず、開発者が自由に書き込むことができる書式である。従って、図に示すように入力項目に関するロジックとチェック情報とを併記して記述することで、開発者の視認性を向上させることも可能である。取得したチェック情報(Txt_Data01=byte¥:10;N;)はsample01.patternファイルに書き書き込まれチェックファイルが用意される。
If the
sample02.jsp、sample02_1.jspについても同様の処理が行われ、sample02.patternという名前のチェックファイルが用意される。この時、sample02.jspとsample02_1.jspのいずれにもTxt_Data03についてのチェック情報が含まれている。このような場合は、sample02.patternには追記/上書きされる。つまり後に処理された内容でチェックファイルが用意される。 sample02. jsp, sample02_1. The same processing is performed for jsp, sample02. A check file named “pattern” is prepared. At this time, sample02. jsp and sample02_1. Check information about Txt_Data03 is included in all of jsp. In such a case, sample02. “pattern” is additionally written / overwritten. That is, a check file is prepared with the contents processed later.
なお、sample02.jspとsample02_1.jspのチェックファイルを同一のチェックファイルとしたが、それぞれ個別にチェックファイルを用意するようにしてもよい。 In addition, sample02. jsp and sample02_1. Although the check files of jsp are the same check file, the check files may be prepared individually.
また、同一のチェック情報が存在する場合に、後処理の内容で追加/上書きするようにしたが、チェック内容が厳しい方の情報(例えば、制限容量が100バイトと80バイトであれば80バイト、文字コードが全角+半角と半角のみであれば半角のみ)を優先してチェックファイルに書き込むようにしてもよい。
さらに、ファイルの更新日時に基づいて、最新の更新日時のファイルに記述されたチェック情報を優先してチェックファイルに書き込むようにしてもよい。
In addition, when the same check information exists, it is added / overwritten with the contents of post-processing. However, information with a stricter check content (for example, 80 bytes if the limited capacity is 100 bytes and 80 bytes, If the character code is full-width + half-width and half-width only, half-width) may be preferentially written to the check file.
Furthermore, based on the update date of the file, check information described in the file with the latest update date may be preferentially written to the check file.
このようにして生成されたチェックファイルを利用してチェック処理が行われる(図右端のフロー)。sample01.jspのWeb画面で値が入力されてsubmitされると、入力データに基づいてsample01.patternファイルが読み込まれ、そのチェック情報に基づいてチェック処理が行われる。ここでは、Txt_Data01が10バイト以内、Txt_Data02が4バイト以内であるかどうかがチェックされる。超えている場合は不正と見なしてセッションを終了する。バイト数のチェックをクリアした場合は、必要に応じて文字コードのチェック、XSSのチェックが行われる。ここでは、Txt_Data01が全角のみかどうか、Txt_Data02が半角数値のみかどうか、それぞれにXSSが含まれているかどうかがチェックされる。違反していれば、サニタイズ処理や警告メッセージ等が表示される。sample02.jsp、sample02_1.jspのファイルについても同様のチェックが行われる。全ての入力データがチェックをクリアしたら業務処理等の内部処理に移行する。 Check processing is performed using the check file generated in this way (flow at the right end of the figure). sample01. When a value is input and submitted on the Web screen of jsp, sample01. The pattern file is read and a check process is performed based on the check information. Here, it is checked whether Txt_Data01 is within 10 bytes and Txt_Data02 is within 4 bytes. If exceeded, it is considered invalid and the session is terminated. When the byte count check is cleared, a character code check and an XSS check are performed as necessary. Here, it is checked whether Txt_Data01 is full-width only, whether Txt_Data02 is only half-width numeric values, and whether each contains XSS. If there is a violation, a sanitization process or a warning message is displayed. sample02. jsp, sample02_1. A similar check is performed for the jsp file. When all input data clears the check, the process shifts to internal processing such as business processing.
このように、本実施形態に係る情報処理装置によれば、JSPファイルに入力項目ごとにコメントとしてチェック情報が記述されており、そのチェック情報に基づいて入力データの適正を判定する判定手段を備えるため、管理者側で処理をクローズすることができ、ユーザによる改竄等のリスクを回避してセキュリティを保つことができる。 As described above, according to the information processing apparatus according to the present embodiment, the check information is described as a comment for each input item in the JSP file, and provided with a determination unit that determines the appropriateness of the input data based on the check information. Therefore, the processing can be closed on the administrator side, and security can be maintained by avoiding risks such as tampering by the user.
また、JSPファイルにコメントとしてチェック内容を記述するだけで、入力項目ごとにチェックロジック等のプログラムを生成する必要がなくなるため、開発者の作業を大幅に軽減することができ、作業工数を削減することができる。 In addition, it is not necessary to generate a program such as check logic for each input item simply by describing the check contents as a comment in the JSP file, so that the work of the developer can be greatly reduced and the number of work steps can be reduced. be able to.
さらに、チェック情報はコメントとして記述されるため、ファイル上のどの位置に記述しても良く、入力項目ごとにJSPのコードとチェック情報を併記することで、視認性を向上させてレビューや保守、メンテナンス作業等を効率よく行うことができる。 Furthermore, since the check information is described as a comment, it may be described at any position on the file. By adding the JSP code and the check information for each input item, the visibility is improved for review and maintenance. Maintenance work and the like can be performed efficiently.
さらにまた、チェック情報はコメントとして記述されるため、JSPファイルを展開する際に余分なメモリの使用を抑えることができ、システムの資源を有効的に活用することができる。 Furthermore, since the check information is described as a comment, the use of extra memory can be suppressed when developing the JSP file, and system resources can be effectively utilized.
さらにまた、入力データの適正を判定した結果に応じて、対応する処理を実行する対応処理実行手段を備えるため、例えば、緊急性を要する処理が必要な場合には、セッションを解放する等して迅速に対応することができ、緊急性を要しない場合は、後程じっくり対応することも可能となる。つまり、入力データに応じて臨機応変に対応することができる。 Furthermore, since the corresponding processing execution means for executing the corresponding processing according to the result of determining the appropriateness of the input data is provided, for example, when a process requiring urgency is required, the session is released. It is possible to respond promptly, and if it is not urgent, it can be handled later. That is, it is possible to respond to the occasion according to the input data.
さらにまた、チェック情報取得部213が取得したチェック情報をチェックファイル240が保持するため、入力データをチェックする際に、JSPファイルの中身を全て参照する必要がなく、チェックファイル240に格納されている情報のみを参照すればよく、処理時間を短縮することができる。特に、JSPファイルのファイルサイズが大きい場合やコメント以外のコードが大量に記述されている場合には、大きな効果となり得る。
Furthermore, since the
さらにまた、入力データのサイズを制限する情報及び文字コードの種別を制限する情報の少なくとも一の情報に基づいて入力データをチェックするため、ツールを用いたバッファオーバーフロー等の攻撃を検出することができ、セキュリティを強化することができる。 Furthermore, since the input data is checked based on at least one of the information that restricts the size of the input data and the information that restricts the character code type, it is possible to detect attacks such as buffer overflow using a tool. , Can enhance security.
(本発明の第2の実施形態)
以下に、本発明の第2の実施形態について説明するが、ここでは、第1の実施形態を前提にしており、第1の実施形態と重複する部分については説明を省略する。
(1.構成と機能)
図7は、本実施形態に係る情報処理装置のモジュール構成図である。第1の実施形態と異なる点は、比較処理部223が、XSS無害化処理部223aと情報変更処理部223bと比較部223cとを備える点である。
(Second embodiment of the present invention)
Hereinafter, a second embodiment of the present invention will be described. Here, the first embodiment is assumed, and the description of the same parts as those in the first embodiment is omitted.
(1. Configuration and function)
FIG. 7 is a module configuration diagram of the information processing apparatus according to the present embodiment. The difference from the first embodiment is that the
XSS無害化処理部223aは、入力データにXSSが含まれている場合に、XSSをサニタイズする処理を行う。具体的には、「<」、「&」等のHTML上の制御コードが入力データに含まれる場合に、Webアプリケーションに害を及ぼさないように、予め定められた他の文字に置き換える処理を行う。例えば、「<」は「<」に置き換えられる。
The XSS
情報変更処理部223bは、XSS無害化処理部223aがサニタイズした結果に応じて、制限容量の大きさ又は入力データの容量を変更する処理を行う。XSS無害化処理部223aがサニタイズすることで、入力データの文字列のサイズが大きくなる場合がある。上記の例で言えば、「<」を「<」に置き換えたら、文字数が3文字増える。そのような場合に、制限容量を超えていても正常な入力データとして判定するために情報を増減させる。
The information
なお、チェック情報の文字数の制限値を変更する場合は、XSSの無害化により増えた文字数分を制限値に加算する処理を行い、入力データのサイズの値を変更させる場合は、XSSの無害化により増えた文字数分を入力データのサイズの値から減算する処理を行う。 When changing the limit value for the number of characters in the check information, processing is performed to add the number of characters increased by detoxification of the XSS to the limit value, and when changing the size value of the input data, the destabilization of the XSS is performed. The number of characters increased by the above is subtracted from the size value of the input data.
比較部223cは、情報変更処理部223bが変更した情報に基づいて、入力データとチェック情報を比較する処理を行う。
その他の構成要素については、第1の実施形態と同様であるため説明は省略する。
The
Since other components are the same as those in the first embodiment, description thereof will be omitted.
(2.動作)
以下に、本実施形態に係る情報処理装置の動作について説明する。第1の実施形態と異なるのはチェック処理部220の動作である。チェック情報抽出部210の動作については第1の実施形態と同様であるため説明は省略する。
(2. Operation)
The operation of the information processing apparatus according to this embodiment will be described below. The operation of the
図8は、チェック処理部220の動作を示すフローチャートである。ステップS501からステップS504までの処理は、第1の実施形態と同じであるため説明は省略する。ステップS504でループ処理に入る。まず、入力データにXSSが含まれるかどうかが判定され(ステップS504a)、含まれていなければステップS505の処理に進む。含まれていればサニタイズ処理を行い(ステップS504b)、チェック情報の制限容量又は入力データの容量を変更して(ステップS504c)、ステップS505の処理に進む。
FIG. 8 is a flowchart showing the operation of the
ステップS505では、入力データが制限容量を超えているかどうかを判定、制限容量を超えていれば、入力元のクライアントとのセッション情報、変数値等を全て解放して(ステップS506)、チェック処理を終了する。制限容量を超えていなければ入力データが適正なデータであるかどうかが判定され(ステップS507)、適正なデータでなければ警告(注意、エラーも含む)処理を行う(ステップS508)。業務処理用のデータとして部品へ値をセットし、全てのチェック対象項目について処理が完了したら、チェック処理を終了する。なお、ステップS505以降の処理で第1の実施形態と異なるのは、ステップS508aにてサニタイズ処理を行わない点である。これは、ステップS504bにて既にサニタイズ処理を行っているためである。 In step S505, it is determined whether the input data exceeds the limit capacity. If the limit data exceeds the limit capacity, all session information, variable values, etc. with the input source client are released (step S506), and check processing is performed. finish. If the limit capacity is not exceeded, it is determined whether or not the input data is appropriate data (step S507), and if it is not appropriate data, warning (including caution and error) processing is performed (step S508). A value is set for a part as data for business processing, and when processing is completed for all items to be checked, the check processing ends. Note that the process after step S505 differs from the first embodiment in that the sanitization process is not performed in step S508a. This is because the sanitization process has already been performed in step S504b.
このように、本実施形態に係る情報処理装置によれば、XSSを無害化するXSS無害化処理部223aを備えるため、XSSを無害化することができると共に、無害することで入力データの文字数が制限値を超えてしまった場合であっても、チェック情報の文字数の制限値又は入力データのサイズの値を変更することで、正常な入力データとして判定を行うことができ、システムの動作に矛盾(正常なデータであるにも関わらずバッファオーバーフローであると判定してしまう状況)が生じることを防止することができる。
As described above, according to the information processing apparatus according to the present embodiment, since the XSS
(本発明の第3の実施形態)
以下に、本発明の第3の実施形態について説明するが、ここでは、第1の実施形態又は第2の実施形態を前提にしており、第1の実施形態又は第2の実施形態と重複する部分については説明を省略する。
(Third embodiment of the present invention)
Hereinafter, a third embodiment of the present invention will be described. Here, the first embodiment or the second embodiment is premised, and overlaps with the first embodiment or the second embodiment. Description of the portion is omitted.
本実施形態に係る情報処理装置の構成及び動作は、第1の実施形態又は第2の実施形態と同じであるが、入力データの構成及びチェックファイルの構成が異なる。図9は、本実施形態に係る情報処理装置の処理を示す図である。図9において、sample01.jspは、画面901を生成するファイルであるとする。画面901は、3種類の処理(登録、更新、削除)を行う画面である。登録処理及び更新処理の場合は、入力データの全てをチェックする必要があり、削除処理の場合は、コードのみをチェックすればよい。つまり、処理の種別によりチェック対象となる入力項目が変わるため、不要なチェック処理を行わないように、JSPファイル及びチェックファイルの内容を追加する。 The configuration and operation of the information processing apparatus according to this embodiment are the same as those of the first embodiment or the second embodiment, but the configuration of input data and the configuration of a check file are different. FIG. 9 is a diagram illustrating processing of the information processing apparatus according to the present embodiment. In FIG. 9, sample01. jsp is a file for generating the screen 901. A screen 901 is a screen for performing three types of processing (registration, update, and deletion). In the case of registration processing and update processing, it is necessary to check all of the input data, and in the case of deletion processing, only the code need be checked. That is, since the input items to be checked vary depending on the type of processing, the contents of the JSP file and the check file are added so that unnecessary check processing is not performed.
具体的には、入力項目ごとに処理種別を識別するためのキーワードを設定し、そのキーワードに応じてチェック処理を行う。図9においては、Txt_Data01については、登録、更新及び削除の全ての場合にチェック処理を行う必要があるため、特にキーワードは設定しない。Txt_Data02については、登録及び更新の場合にチェック処理を行う必要があるため「INSERT」や「UPDATE」といったキーワードをチェックファイル中に記述しておく。そして、比較処理の際には、画面901でのsubmit情報から、3つの処理のうち、いずれの処理が実行されたかを判定して、その処理に該当する入力項目のみをチェックファイルから読み出してチェック処理を行う。 Specifically, a keyword for identifying a processing type is set for each input item, and a check process is performed according to the keyword. In FIG. 9, for Txt_Data01, since it is necessary to perform a check process in all cases of registration, update, and deletion, no keyword is set. Regarding Txt_Data02, since it is necessary to perform a check process in the case of registration and update, keywords such as “INSERT” and “UPDATE” are described in the check file. In the comparison process, it is determined from the submit information on the screen 901 which one of the three processes has been executed, and only the input items corresponding to the process are read from the check file and checked. Process.
このように、本実施形態に係る情報処理装置によれば、処理の種別に応じて、対象となる入力データ及びチェック情報を選択して処理を行うため、必要なチェック処理のみを実行することで、処理を効率的に行うことができる。 As described above, according to the information processing apparatus according to the present embodiment, the target input data and the check information are selected and processed according to the type of the process, so that only the necessary check process is executed. , Processing can be performed efficiently.
(本発明の第4の実施形態)
以下に、本発明の第4の実施形態について説明するが、ここでは、第1の実施形態、第2の実施形態又は第3の実施形態を前提にしており、第1の実施形態、第2の実施形態又は第3の実施形態と重複する部分については説明を省略する。
(Fourth embodiment of the present invention)
Hereinafter, the fourth embodiment of the present invention will be described. Here, the first embodiment, the second embodiment, or the third embodiment is assumed, and the first embodiment, the second embodiment, and the like are assumed. Description of the same parts as those of the third embodiment or the third embodiment will be omitted.
図10は、本実施形態に係る情報処理装置のモジュール構成図である。第1の実施形態と異なる点は、チェック情報記述部1010を備える点である。
チェック情報記述部1010は、JSPファイル213に記述されているプログラムコードに基づいてチェック情報を生成して記述する処理を行う。JSPファイルには、所定の規則に基づいて入力項目に関する情報が項目ごとに記述されている。例えば、図6におけるsample01.jspファイルには入力項目としてTxt_Data01とTxt_Data02という名称で定義された入力項目の情報が記述されている。それぞれの入力項目は、文字タイプ、サイズ、最大文字長等の情報が定義されて記述されている。これらの情報を解析することで、JSPファイルのコメントとしてのチェック情報を生成して記述することができる。
FIG. 10 is a module configuration diagram of the information processing apparatus according to the present embodiment. The difference from the first embodiment is that a check
The check
このように、本実施形態に係る情報処理装置によれば、JSPファイルに記述されたコードに基づいて前記チェック情報を生成するため、開発者の負担を軽減して作業工数を削減できる。 As described above, according to the information processing apparatus according to the present embodiment, the check information is generated based on the code described in the JSP file. Therefore, the burden on the developer can be reduced and the work man-hour can be reduced.
(その他の実施形態)
図11は、本実施形態に係る情報処理装置の活用事例を示す図である。情報処理装置100の処理は、Webアプリフレームワークにおける事前処理の中のWebセキュリティ対策処理に該当する。このように、フレームワークの中で事前に入力データのセキュリティチェックを行うことで、業務アプリケーションにおけるデータのチェックロジックを作成する必要がなくなるため、業務アプリケーションの開発者の作業工数の削減を実現することができる。
(Other embodiments)
FIG. 11 is a diagram illustrating an application example of the information processing apparatus according to the present embodiment. The processing of the
以上の前記各実施形態により本発明を説明したが、本発明の技術的範囲は実施形態に記載の範囲には限定されず、これら各実施形態に多様な変更又は改良を加えることが可能である。そして、かような変更又は改良を加えた実施の形態も本発明の技術的範囲に含まれる。このことは、特許請求の範囲及び課題を解決する手段からも明らかなことである。 Although the present invention has been described with the above embodiments, the technical scope of the present invention is not limited to the scope described in the embodiments, and various modifications or improvements can be added to these embodiments. . And embodiment which added such a change or improvement is also contained in the technical scope of the present invention. This is apparent from the claims and the means for solving the problems.
100 情報処理装置
101 CPU
102 RAM
103 ROM
104 フラッシュメモリ
105 HD
106 LANカード
107 マウス
108 キーボード
109 ビデオカード
109a ディスプレイ
110 サウンドカード
110a スピーカ
111 ドライブ
210 チェック情報抽出部
211 JSPファイル読込部
212 チェックファイル作成部
213 チェック情報取得部
214 チェック情報書込部
220 チェック処理部
221 データ入力部
222 チェックパターン決定部
223 比較処理部
223a XSS無害化処理部
223b 情報変更処理部
223c 比較部
224 判定処理部
225 チェック結果対応部
230 JSPファイル
240 チェックファイル
1010 チェック情報記述部
100
102 RAM
103 ROM
104
106
Claims (8)
入力された入力データと前記読込手段が読み込んだチェック情報とを前記入力項目ごとに比較する比較手段と、
前記比較手段が比較した結果に基づいて、前記入力データが設計上適正なデータであるかどうかを判定する判定手段と、
前記判定手段が判定した結果に基づいて、対応する処理を実行する対応処理実行手段とを備える情報処理装置。 Reading means for reading check information described as a comment for each input item according to a predetermined format from a dynamic document generation file in which information for dynamically generating a document is described;
Comparison means for comparing the input data inputted for each input item with the check information read by the reading means;
A determination unit that determines whether the input data is design appropriate data based on a result of the comparison performed by the comparison unit;
An information processing apparatus comprising: a corresponding process execution unit that executes a corresponding process based on a result determined by the determination unit.
前記読込手段が読み込んだチェック情報を保持する情報保持手段と、
前記読込手段が読み込んだチェック情報を前記情報保持手段に書き込む書込手段とを備え、
前記比較手段が、前記入力データと前記情報保持手段に保持されたチェック情報とを比較する情報処理装置。 The information processing apparatus according to claim 1,
Information holding means for holding check information read by the reading means;
Writing means for writing the check information read by the reading means into the information holding means,
An information processing apparatus in which the comparison unit compares the input data with check information held in the information holding unit.
前記チェック情報に前記入力データのサイズを制限する情報、及び、文字コードの種別を制限する情報の少なくとも一の情報が含まれる情報処理装置。 The information processing apparatus according to claim 1 or 2,
An information processing apparatus in which the check information includes at least one of information that restricts a size of the input data and information that restricts a type of a character code.
前記入力データにクロスサイトスクリプティングが含まれる場合に、当該クロスサイトスクリプティングを無害化するXSS無害化手段を備え、
前記比較手段が、前記XSS無害化手段にて無害化された結果に基づいて前記チェック情報に含まれる入力データのサイズを制限する情報又は入力データのサイズの情報を変更して比較を行う情報処理装置。 The information processing apparatus according to claim 3, further comprising: XSS detoxifying means for detoxifying the cross-site scripting when the input data includes cross-site scripting.
Information processing in which the comparison means performs comparison by changing information that restricts the size of input data included in the check information or information on the size of the input data based on the result of detoxification by the XSS detoxification means apparatus.
前記入力データ及び前記チェック情報が処理の種別を特定する処理種別情報を含み、
前記比較手段が、前記処理種別情報に基づいて前記入力データ及びチェック情報を選択して比較処理を行う情報処理装置。 The information processing apparatus according to any one of claims 1 to 4,
The input data and the check information include processing type information for specifying a processing type,
An information processing apparatus in which the comparison means performs comparison processing by selecting the input data and check information based on the processing type information.
前記動的文書生成ファイルに記述されたコードに基づいて前記チェック情報を当該動的文書生成ファイルにコメントとして記述するチェック情報記述手段を備える情報処理装置。 The information processing apparatus according to any one of claims 1 to 5,
An information processing apparatus comprising check information description means for describing the check information as a comment in the dynamic document generation file based on a code described in the dynamic document generation file.
入力されたデータを前記入力項目ごとに受け付けるデータ入力ステップと、
前記データ入力ステップで受け付けた入力データと前記読込ステップで読み込んだチェック情報とを比較する比較ステップと、
前記比較ステップで比較した結果に基づいて、前記入力データが設計上適正なデータであるかどうかを判定する判定ステップと、
前記判定ステップで判定した結果に基づいて、対応する処理を実行する対応処理実行ステップとを含む情報処理方法。 A reading step for reading check information described as a comment for each input item according to a predetermined format from a dynamic document generation file in which information for dynamically generating a document is described;
A data input step for receiving input data for each input item;
A comparison step for comparing the input data received in the data input step with the check information read in the read step;
A determination step of determining whether the input data is design appropriate data based on the result of the comparison in the comparison step;
An information processing method including a corresponding process execution step for executing a corresponding process based on the result determined in the determination step.
動的に文書を生成するための情報が記述された動的文書生成ファイルから、所定の形式に従って入力項目ごとにコメントとして記述されたチェック情報を読み込む読込手段と、
入力されたデータを前記入力項目ごとに受け付けるデータ入力手段と、
前記データ入力手段が受け付けた入力データと前記読込手段が読み込んだチェック情報とを比較する比較手段と、
前記比較手段が比較した結果に基づいて、前記入力データが設計上適正なデータであるかどうかを判定する判定手段と、
前記判定手段が判定した結果に基づいて、対応する処理を実行する対応処理実行手段として機能させるための情報処理プログラム。 Computer
Reading means for reading check information described as a comment for each input item according to a predetermined format from a dynamic document generation file in which information for dynamically generating a document is described;
Data input means for receiving input data for each input item;
A comparison means for comparing the input data received by the data input means with the check information read by the reading means;
A determination unit that determines whether the input data is design appropriate data based on a result of the comparison performed by the comparison unit;
An information processing program for causing a function to function as corresponding process execution means for executing a corresponding process based on a result determined by the determination means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008087191A JP5003557B2 (en) | 2008-03-28 | 2008-03-28 | Information processing apparatus, information processing method, and information processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008087191A JP5003557B2 (en) | 2008-03-28 | 2008-03-28 | Information processing apparatus, information processing method, and information processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009244926A true JP2009244926A (en) | 2009-10-22 |
JP5003557B2 JP5003557B2 (en) | 2012-08-15 |
Family
ID=41306779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008087191A Active JP5003557B2 (en) | 2008-03-28 | 2008-03-28 | Information processing apparatus, information processing method, and information processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5003557B2 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04333933A (en) * | 1991-05-09 | 1992-11-20 | Nec Corp | Automatic data value check system for debugger |
JPH05334117A (en) * | 1992-05-11 | 1993-12-17 | Nec Corp | Automatic checking system for data value in debugger |
JP2001060151A (en) * | 1999-08-20 | 2001-03-06 | Nec Corp | Program analyzing device, and storage medium stored with program for program analysis or data for program analysis |
JP2004070561A (en) * | 2002-08-05 | 2004-03-04 | Funai Electric Co Ltd | Debugging device |
JP3624248B2 (en) * | 2001-07-25 | 2005-03-02 | 株式会社シーイーシー | Handling of input data |
JP2006099460A (en) * | 2004-09-29 | 2006-04-13 | Toshiba Corp | Unauthorized access detection device, method, and program |
JP2007034571A (en) * | 2005-07-26 | 2007-02-08 | Fujitsu Ltd | Document processing program and document processing method |
-
2008
- 2008-03-28 JP JP2008087191A patent/JP5003557B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04333933A (en) * | 1991-05-09 | 1992-11-20 | Nec Corp | Automatic data value check system for debugger |
JPH05334117A (en) * | 1992-05-11 | 1993-12-17 | Nec Corp | Automatic checking system for data value in debugger |
JP2001060151A (en) * | 1999-08-20 | 2001-03-06 | Nec Corp | Program analyzing device, and storage medium stored with program for program analysis or data for program analysis |
JP3624248B2 (en) * | 2001-07-25 | 2005-03-02 | 株式会社シーイーシー | Handling of input data |
JP2004070561A (en) * | 2002-08-05 | 2004-03-04 | Funai Electric Co Ltd | Debugging device |
JP2006099460A (en) * | 2004-09-29 | 2006-04-13 | Toshiba Corp | Unauthorized access detection device, method, and program |
JP2007034571A (en) * | 2005-07-26 | 2007-02-08 | Fujitsu Ltd | Document processing program and document processing method |
Also Published As
Publication number | Publication date |
---|---|
JP5003557B2 (en) | 2012-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2610254C2 (en) | System and method of determining modified web pages | |
US9530006B2 (en) | Method and system for performing a memory safety check of a program written in an unmanaged programming language | |
JP4902129B2 (en) | Method and system for enforcing a security policy via a security virtual machine | |
US20070271617A1 (en) | Vulnerability check program, vulnerability check apparatus, and vulnerability check method | |
JP5786512B2 (en) | Solve hybrid constraints to verify security software modules for detecting injection attacks | |
US8645938B2 (en) | System and method for replacing code | |
JP5786511B2 (en) | Solve hybrid constraints to verify software module specification requirements | |
MX2013013970A (en) | System and method for preserving references in sandboxes. | |
CN111124479B (en) | Method and system for analyzing configuration file and electronic equipment | |
WO2020000747A1 (en) | Anti-crawler method and terminal and computer readable storage medium | |
EP3495978A1 (en) | Method for detecting vulnerabilities in software | |
US20170185784A1 (en) | Point-wise protection of application using runtime agent | |
CN110717181B (en) | Non-control data attack detection method and device based on novel program dependency graph | |
JP2009104342A (en) | Data flow analysis apparatus, data flow analysis method and data flow analyzing program | |
CN113296752A (en) | Method, system, device and storage medium for generating API document | |
KR101842263B1 (en) | Method and apparatus for preventing reverse engineering | |
JP5003557B2 (en) | Information processing apparatus, information processing method, and information processing program | |
CN114329461A (en) | Detection method and device | |
JP2009258796A (en) | Program development device and program development method | |
CN113076084A (en) | Resource file processing method, device, equipment and storage medium | |
CN105242978A (en) | Method and device for processing failure of cache lines of CPU under multi-thread condition | |
JP2006106939A (en) | Hacking detection method, hacking detection apparatus, and program | |
JP2007041777A (en) | Language processing method | |
JP2012018641A (en) | Software development system | |
US20220292193A1 (en) | Computer security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111101 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120326 |
|
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: 20120424 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120507 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150601 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5003557 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |