JP2005134995A - System, method and program for security management - Google Patents
System, method and program for security management Download PDFInfo
- Publication number
- JP2005134995A JP2005134995A JP2003367605A JP2003367605A JP2005134995A JP 2005134995 A JP2005134995 A JP 2005134995A JP 2003367605 A JP2003367605 A JP 2003367605A JP 2003367605 A JP2003367605 A JP 2003367605A JP 2005134995 A JP2005134995 A JP 2005134995A
- Authority
- JP
- Japan
- Prior art keywords
- parameter
- inspection
- specified
- inspection item
- security management
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、コンピュータネットワークのセキュリティシステムに関し、特に、ネットワークに接続されたアプリケーションのセキュリティをより効率的に管理するためのセキュリティ管理システムの技術に関する。 The present invention relates to a computer network security system, and more particularly to a security management system technique for more efficiently managing the security of an application connected to a network.
近年、悪意を持った第三者によるコンピュータネットワークへの様々な攻撃手法の登場に伴い、コンピュータネットワークに対するセキュリティシステムが重要な問題となっている。そのため、ネットワークに接続するシステムを構築する際、システムの設計者や開発者は、これら第三者によるあらゆる攻撃手法を想定し、それらの概要を把握した上で、強固なセキュリティシステムを構築することが要求される。コンピュータネットワークのセキュリティシステムとしては、例えば、特開2002−328897号公報(特許文献1)などの文献に記載されている。
近年では、ネットワークに接続されたアプリケーションも攻撃の対象となっており、上述したように、強固なセキュリティシステムを構築するためには、第三者によるあらゆる攻撃手法を想定した上で、その対応をシステムに組み込む必要がある。しかし、ネットワークに接続されたアプリケーションに対する攻撃手法は、世界中に存在するとともに次々に新たな攻撃手法が登場している。よって、システム設計者や管理者が、これらの攻撃手法に関するすべての情報を収集するためには、多大な労力と時間を費やさなければならないとともに、多大な労力をかけずに全ての攻撃手法を網羅的にカバーするようなセキュリティ対策を講じることは、非常に困難であった。 In recent years, applications connected to the network have also been targeted for attack. As described above, in order to build a strong security system, it is necessary to consider all attack methods by a third party and respond to it. Must be built into the system. However, there are attack techniques for applications connected to the network all over the world, and new attack techniques have appeared one after another. Therefore, in order for system designers and administrators to collect all information related to these attack methods, they must spend a lot of effort and time, and they cover all attack methods without much effort. It was very difficult to take security measures that would cover the situation.
また、システムを有効に維持するためには、常に、有効なセキュリティ対策が行われているか否かを確認する必要がある。しかし、従来のセキュリティ対策は、不正行為を防止するための各ロジックをそれぞれのプログラム中に埋め込むかたちで行われていたため、プログラム単位でセキュリティ対策レベルが異なるという事態が発生し、セキュリティの品質を一様に保つことができないという問題があった。また、システム管理者が、セキュリティ対策をプログラムレベルで確認することは困難であり、セキュリティ対策レベルを一元管理することができない、各プログラムの対策の中身を容易に把握することができない(例えば、どの攻撃手法がカバーされていて、どの攻撃手法がカバーされていないか)、という問題が生じていた。 In order to maintain the system effectively, it is necessary to always check whether effective security measures are being taken. However, since conventional security measures were implemented by embedding each logic for preventing fraud in each program, there was a situation where the security measure level was different for each program, and the security quality was consistent. There was a problem that could not be kept. In addition, it is difficult for system administrators to confirm security measures at the program level, and it is difficult to centrally manage the security measures level, and it is not possible to easily understand the contents of each program measure (for example, which The attack method is covered, and which attack method is not covered).
また、ネットワークに接続されたアプリケーションのセキュリティ対策レベルは、システム設計者のスキルに依存している部分が多いため、システム設計者のスキルに応じてセキュリティ対策レベルが高くなる場合もあれば低くなる場合もある。しかし、システムを有効に維持するためには、システム設計者のスキルにかかわらず、一貫してセキュリティ対策レベルの精度を高く維持することが要求される。 In addition, the security countermeasure level of applications connected to the network often depends on the skill of the system designer, so the security countermeasure level may be higher or lower depending on the skill of the system designer. There is also. However, in order to maintain the system effectively, it is required to maintain a high level of security countermeasures consistently regardless of the skill of the system designer.
そこで、本願発明は、想定される攻撃手法を網羅的にカバーすることに適したセキュリティ管理システムを実現することを課題とする。 Therefore, an object of the present invention is to realize a security management system suitable for comprehensively covering assumed attack methods.
また、本願発明は、セキュリティ対策の状況を容易に把握することが可能なセキュリティ管理システムを実現することを課題とする。 Moreover, this invention makes it a subject to implement | achieve the security management system which can grasp | ascertain the condition of a security measure easily.
また、本願発明は、システム設計者のスキルにかかわらずセキュリティ対策レベルの精度を高く維持することが可能なセキュリティ管理システムを実現することを課題とする。 Moreover, this invention makes it a subject to implement | achieve the security management system which can maintain the precision of a security countermeasure level highly irrespective of a system designer's skill.
上記課題を解決するために、本願発明のセキュリティ管理装置は、パラメータ名と検査項目との対応関係を定義した設定ファイルを記憶する記憶手段と、検査対象となるパラメータが指定されると、この指定されたパラメータのパラメータ名に基づいて前記記憶手段に記憶された設定ファイルを参照し、前記指定されたパラメータに対して実行すべき検査項目を特定する特定手段と、前記特定手段が特定した検査項目に該当する検査処理を前記パラメータに対して実行する実行手段と、を備える。 In order to solve the above-described problem, the security management device of the invention of the present application specifies a storage unit that stores a setting file that defines a correspondence relationship between a parameter name and an inspection item, and a parameter to be inspected. A specifying unit for specifying an inspection item to be executed with respect to the specified parameter by referring to a setting file stored in the storage unit based on a parameter name of the specified parameter; and an inspection item specified by the specifying unit Execution means for executing an inspection process corresponding to the above-described parameter.
また、上記セキュリティ管理装置は、以下の構成を適宜備えることができる。 Further, the security management device can be appropriately provided with the following configuration.
すなわち、前記記憶手段は、各検査項目がそれぞれ保有する危険データを定義した検査ファイルを記憶し、前記実行手段は、前記特定手段が特定した検査項目が保有する危険データが、前記パラメータの値に含まれているか否かを判断することを特徴とする。 That is, the storage means stores an inspection file that defines risk data held by each inspection item, and the execution means stores the risk data held by the inspection item specified by the specifying means as the value of the parameter. It is characterized by determining whether or not it is included.
なお、危険データとは、サーバ側が意図しない処理をサーバやクライアントに実行させる可能性があるデータで、記号や数値や文字などから構成される定義済みデータのことである。 The dangerous data is data that may cause the server or client to execute a process that is not intended by the server, and is defined data composed of symbols, numerical values, characters, and the like.
前記実行手段は、前記特定手段が特定した検査項目に該当する検査処理を担うモジュールを用いて、前記パラメータの値に危険データが含まれるか否かを判断することを特徴とする。 The execution means determines whether or not danger data is included in the value of the parameter, using a module responsible for inspection processing corresponding to the inspection item specified by the specifying means.
前記記憶手段は、前記設定ファイルを複数記憶し、前記特定手段は、パラメータが指定されると、前記記憶手段に記憶された設定ファイル中から所定の条件に合致する設定ファイルを特定し、前記指定されたパラメータのパラメータ名に基づいてこの特定した設定ファイルを参照することを特徴とする。 The storage means stores a plurality of the setting files, and when the parameter is specified, the specifying means specifies a setting file that matches a predetermined condition from the setting files stored in the storage means, and specifies the specification The specified setting file is referred to based on the parameter name of the specified parameter.
パラメータ名毎に実行すべき検査項目の指定を受け付け、この指定された検査項目とパラメータ名とを関連付けた設定ファイルを設定する設定手段をさらに備えることを特徴とする。 It further comprises setting means for accepting designation of an inspection item to be executed for each parameter name and setting a setting file in which the designated inspection item is associated with the parameter name.
設定ファイルの出力指示を受け付けると、パラメータ名と各検査項目のそれぞれの対応関係を示す対応表を出力する出力手段をさらに備えることを特徴とする。 When an output instruction for the setting file is received, output means for outputting a correspondence table indicating the correspondence between the parameter name and each inspection item is further provided.
また、本願発明は、セキュリティ管理プログラムとしても成立する。具体的には、サーバに所定の機能を実現させるプログラムであって、パラメータが指定されると、この指定されたパラメータのパラメータ名に基づいて、記憶手段に記憶されたパラメータ名と検査項目との対応付けを定義した設定ファイルを参照し、前記指定されたパラメータに対して実行すべき検査項目を特定する特定機能と、前記特定した検査項目に該当する処理を前記パラメータに対して実行する実行機能と、をサーバに実現させるプログラムである。 The present invention is also established as a security management program. Specifically, a program for realizing a predetermined function in the server, and when a parameter is specified, the parameter name stored in the storage means and the inspection item are determined based on the parameter name of the specified parameter. A function for specifying a test item to be executed for the specified parameter with reference to a setting file in which the association is defined, and a function for executing a process corresponding to the specified test item for the parameter Is a program that causes a server to realize the above.
前記実行機能は、前記特定した検査項目に基づいて、前記記憶手段に記憶された各検査項目がそれぞれ保有する危険データを定義した検査ファイルを参照し、前記特定した検査項目が保有する危険データを特定し、この特定した危険データが前記パラメータの値に含まれているか否かを判断する機能であることを特徴とする。 The execution function refers to an inspection file that defines the risk data held by each inspection item stored in the storage unit based on the specified inspection item, and stores the risk data held by the specified inspection item. It is a function that identifies and determines whether or not the identified danger data is included in the value of the parameter.
また、本願発明は、セキュリティ管理方法としても成立する。具体的には、パラメータが指定されると、この指定されたパラメータのパラメータ名に基づいて、記憶手段に記憶されたパラメータ名と検査項目との対応付けを定義した設定ファイルを参照し、前記指定されたパラメータに対して実行すべき検査項目を特定する工程と、前記特定手段が特定した検査項目に該当する検査処理を前記パラメータに対して実行する工程と、を実行することを特徴とする。 The present invention is also established as a security management method. Specifically, when a parameter is specified, the specification file is referred to based on the parameter name of the specified parameter by referring to a setting file that defines the association between the parameter name and the inspection item stored in the storage unit. A step of specifying an inspection item to be executed for the specified parameter, and a step of executing an inspection process corresponding to the inspection item specified by the specifying means for the parameter.
本発明のセキュリティ管理方法は、コンピュータにより実施することができるが、そのためのコンピュータプログラムは、CD−ROM、磁気ディスク、半導体メモリ及び通信ネットワークなどの各種の媒体を通じてコンピュータにインストールまたはロードすることができる。また、コンピュータプログラムが、プリンタ用カードやプリンタ用オプションボードに記録されて流通する場合も含む。 The security management method of the present invention can be implemented by a computer, and a computer program therefor can be installed or loaded on the computer through various media such as a CD-ROM, a magnetic disk, a semiconductor memory, and a communication network. . It also includes the case where a computer program is recorded and distributed on a printer card or printer option board.
本発明によれば、設定ファイルを参照することにより、プログラムレベルでセキュリティ対策の状況を容易に把握することが可能になる。また、本発明によれば、設定ファイルを利用することで、システム設計者のスキルにかかわらず一貫してセキュリティレベルの精度を高く維持することが可能になる。また、本発明によれば、設定ファイルを利用することで、想定される攻撃手法を網羅的にカバーすることに適したセキュリティ管理システムを実現することが可能になる。 According to the present invention, it is possible to easily grasp the status of security measures at the program level by referring to the setting file. Further, according to the present invention, by using the setting file, it is possible to maintain high security level accuracy consistently regardless of the skill of the system designer. Further, according to the present invention, it is possible to realize a security management system suitable for covering all possible attack methods by using the configuration file.
(セキュリティ管理システムの構成)
まず、図1乃至図3を用いて、本実施形態のセキュリティ管理システムの構成について説明する。図1は、本実施形態に係るセキュリティ管理システムの概略構成を示すブロックダイアグラムである。図2は、本実施形態に係るサーバのハードウェア構成を示すブロック図である。図3は、本実施形態のサーバの機能構成図を示すブロック図である。
(Security management system configuration)
First, the configuration of the security management system of this embodiment will be described with reference to FIGS. 1 to 3. FIG. 1 is a block diagram showing a schematic configuration of a security management system according to the present embodiment. FIG. 2 is a block diagram illustrating a hardware configuration of the server according to the present embodiment. FIG. 3 is a block diagram illustrating a functional configuration diagram of the server according to the present embodiment.
図1に示すように、セキュリティ管理システム100は、典型的には、インターネット上のWWWシステムを利用したクライアント/サーバシステムとして実現される。 As shown in FIG. 1, the security management system 100 is typically implemented as a client / server system using a WWW system on the Internet.
サーバシステム1は、Webサーバプログラム11、Webページ12、CGIプログラム(スクリプト)13、記憶装置14、セキュリティ管理プログラム15およびプリンタ16を備える。クライアントシステム2には、サーバシステム1にアクセスし、Webページ12を閲覧するためのブラウザプログラム21が実装されている。
The
サーバ1は、アプリケーションブロック3とセキュリティ管理ブロック4を備える。アプリケーションブロックは、Webサーバプログラム11、Webページ12、CGIプログラム(スクリプト)13、記憶装置14から構成され、仕様に応じた各種Webサイト(たとえば、会員サービスサイトや商品販売サイトなどの各種サイトなど)をユーザに提供する。セキュリティ管理ブロック4は、おもにセキュリティ管理プログラム15によって構成され、アプリケーションブロック3から必要に応じて利用されるライブラリとして機能する。
The
Webサーバプログラム11は、ユーザのクライアントコンピュータ2から送られるHTTPによるメッセージを受け付けて、そのメッセージに対応した処理を行う。例えば、Webサーバプログラム11は、URLによって指定されるWebページにアクセスするためのメッセージであると判断する場合には、そのユーザのクライアントコンピュータ2にそのWebページを提供する。Webサーバプログラム11は、典型的には、httpdと呼ばれるデーモンプログラムとしてサーバシステム1に実装される。
The
Webページ12は、例えばHTMLなどを用いて設計される、ユーザに提供すべき画面を構成するドキュメントデータである。Webページは、サイトの仕様に応じた内容のものを使用することができる。また、Webページは、静的なデータとして予め用意されているものの他、CGIプログラム13などによって動的に生成されるものが該当する。
The
CGIプログラム13は、Webサーバプログラム11がHTTPにより特定のメッセージを受け付けた場合に、実行されるプログラムである。CGIプログラム13は、典型的にはPerlやC++などのプログラム言語により記述される。CGIプログラムが、サイトの仕様に応じた各種指示を対話的に受け付けて、この指示に基づく処理機能をサーバ1に実現させる。
The CGI
記憶装置14は、サイトの仕様に応じた各種データを蓄積している。たとえば、会員サービスサイトの場合には会員情報を蓄積し、商品販売サイトの場合は、商品情報を蓄積している。
The
セキュリティ管理プログラム15は、CGIプログラム13が、検査対象となるメッセージを受け付けた場合に、実行されるプログラム(ライブラリ)である。セキュリティ管理プログラム15は、典型的にはPerlやC++などのプログラム言語により記述される。
The
たとえば、本実施形態にかかるサーバ1は、上述したようにCGIプログラム13などによってWebページを動的生成する機能を備える。しかし、たとえば外部から送られる入力データに悪意あるスクリプトが含まれている場合に、そのまま悪意あるスクリプトを埋め込んだWebページを生成してしまうと、そのスクリプトを実行したクライアント側では、情報が漏洩したり、ファイルが破壊されたりといった被害が発生する。
For example, the
そこで、セキュリティ管理プログラム15は、入力データに危険なデータが含まれているか否かを検査し、危険なデータが含まれている場合には、その旨をCGIプログラム13に通知することによって、外部からの攻撃をブロックするように構成されている。
Therefore, the
プリンタ16は、システム管理者等の指示にしたがって、記憶装置14の設定ファイルの内容を、所定の印刷媒体に印刷する。
The
図2は、本実施形態に係るサーバのハードウェア構成を示すブロック図である。セキュリティ管理装置としてのサーバ1は、CPU、ROM、RAM、外部記憶装置、ユーザインタフェース、ディスプレイ、プリンタ、および通信インタフェースなどを備える。図3では、サーバ1のうち、特に本発明に関連する機能に着目し、それらを機能ブロックによって表現している。本実施形態では、CPUが、ROM、RAM、外部記憶装置などに記憶されたプログラムを実行することによりこれら機能実現手段を実現することを想定しているが、一部が専用のハードウェアを用いて実現する構成としてもよい。
FIG. 2 is a block diagram illustrating a hardware configuration of the server according to the present embodiment. The
図3は、本実施形態のサーバの機能構成図を示すブロック図である。アプリケーション手段(アプリケーションブロック)3は、サイトの仕様に応じた処理を実行するために必要な通常の機能として、クライアントから送信される所定の要求を受け付ける要求受付手段30と、所定の要求に応じた処理を実行する要求処理手段32を備える。ただし、本実施形態のアプリケーション手段3は、受け付けた要求に含まれるパラメータを検査対象として指定して、セキュリティ管理手段4に処理の開始を指示する検査対象指定手段31を備える点を特徴とする。 FIG. 3 is a block diagram illustrating a functional configuration diagram of the server according to the present embodiment. The application means (application block) 3 includes a request receiving means 30 for receiving a predetermined request transmitted from the client as a normal function necessary for executing processing according to the site specifications, and a response to the predetermined request. Request processing means 32 for executing processing is provided. However, the application means 3 of the present embodiment is characterized in that the application means 3 includes an inspection target specifying means 31 that specifies a parameter included in the received request as an inspection target and instructs the security management means 4 to start processing.
一方、セキュリティ管理手段(セキュリティ管理ブロック)4は、パラメータ名毎に実行すべき検査項目の指定を受け付け、指定された検査項目とパラメータ名とを関連付けた設定ファイルを設定する設定ファイル設定手段42と、パラメータ名毎に更新すべき検査項目の指定を受け付けると設定ファイル中の指定された検査項目の情報を更新する設定ファイル更新手段43と、設定ファイルの出力指示を受け付けるとパラメータ名と各検査項目とのそれぞれの対応関係を示す対応表を出力する設定ファイル出力手段44と、設定ファイル設定手段42により設定された設定ファイルを格納する設定ファイル記憶手段45と、を備える。
On the other hand, the security management means (security management block) 4 receives the designation of the inspection item to be executed for each parameter name, and sets the setting file setting means 42 for setting the setting file in which the designated inspection item is associated with the parameter name. When the specification of the inspection item to be updated for each parameter name is received, the setting file update unit 43 that updates the information of the specified inspection item in the setting file, and when the output instruction of the setting file is received, the parameter name and each inspection item And a setting file output unit 44 that outputs a correspondence table indicating the corresponding relationship between the setting file and the setting
また、セキュリティ管理手段4は、検査対象データとしてのパラメータが指定されると、指定されたパラメータのパラメータ名に基づいて設定ファイル記憶手段45を参照し、指定されたパラメータに対して実行すべき検査項目を特定する検査項目特定手段40と、検査項目特定手段40が特定した検査項目に該当する検査処理を、パラメータに対して実行する検査実行手段41と、検査実行手段41による検査結果を所定の方法で出力する検査結果出力手段42と、各検査項目がそれぞれ保有する危険データを定義した検査ファイルを記憶する検査ファイル記憶手段46と、を備える。
Further, when a parameter as inspection target data is specified, the security management unit 4 refers to the setting
検査実行手段41は、検査項目特定手段40が特定した検査項目に該当する検査処理を実行するが、この実行方法としては、たとえば、特定された検査項目が保有する危険データを検査ファイル記憶手段46から取得し、この取得した危険データがパラメータの値に含まれているか否かを判断する構成を採用することができる。また、たとえば、検査項目ごとにそれぞれの検査処理をになう検査用モジュールを用意しておき、複数の検査用モジュール中から特定した検査項目に該当する検査用モジュールのみを呼び出して、検査処理を実行する構成を採用してもよい。 The inspection execution means 41 executes the inspection process corresponding to the inspection item specified by the inspection item specifying means 40. As this execution method, for example, the risk data held by the specified inspection item is stored in the inspection file storage means 46. It is possible to employ a configuration in which it is acquired from the above and whether or not the acquired danger data is included in the parameter value. Also, for example, an inspection module that performs each inspection process for each inspection item is prepared, and only the inspection module corresponding to the inspection item specified from the plurality of inspection modules is called to perform the inspection process. You may employ | adopt the structure to perform.
(各ファイルのデータ構成)
次に、図4及び図5を用いて本実施形態にかかるファイルの構造について説明する。図4は、本実施形態の設定ファイルの構造を示す図である。図5は、本実施形態の設定ファイルの構造を示す図である。
(Data structure of each file)
Next, the file structure according to the present embodiment will be described with reference to FIGS. FIG. 4 is a diagram showing the structure of the setting file of this embodiment. FIG. 5 is a diagram showing the structure of the setting file of this embodiment.
図4に示すように、設定ファイルには、検査対象となるパラメータ名と検査項目とが対応付けて格納されている。各レコードは、パラメータ名、例外処理、検査項目1、検査項目2、検査項目3、・・・検査項目Nなどの項目を含んで構成されており、パラメータ名によって一意的に特定される。
As shown in FIG. 4, the setting file stores parameter names to be inspected and inspection items in association with each other. Each record includes items such as a parameter name, exception processing,
パラメータ名は、アプリケーションが使用するパラメータ名と同じもしくはアプリケーションが使用するパラメータ名を特定可能なものが格納される。例外処理には、例外的に入力を許可する文字種別のルールが正規表現で格納される。 The parameter name is the same as the parameter name used by the application, or the parameter name that can specify the parameter name used by the application is stored. In exception processing, rules for character types that allow exceptional input are stored as regular expressions.
検査項目1〜Nには、それぞれ該当する検査項目を実行するかしないかを示す実行情報(検査を有効にするか無効にするか)が格納される。ここでは、検査項目を実行する場合には「1」が格納され、検査項目を実行しない場合には「0」が格納される。
In each of the
なお、検査項目1〜Nは、攻撃の種類に応じた検査項目が設定される。本実施形態では、検査項目1には、対象データが、URLで許可されない文字を含んでいるかを検査するURL検査項目が設定されている。検査項目2には、対象データが、ディレクトリトラバーサルで使用される文字列を含んでいるかを検査するディレクトリ検査項目が設定されている。検査項目3には、対象データが、SQLインジェクションで使用される文字や文字列を含んでいるかを検査するSQL検査項目が設定されている。検査項目4には、対象データが、クロスサイトスクリプティングで使用される文字や文字列を含んでいるかを検査するクロスサイトスクリプティング検査項目が設定されている。検査項目5には、対象データが、ダイレクトOSコマンドインジェクションで使用される文字を含んでいるかを検査するOS検査項目が設定されている。なお、検査項目に設定する内容はこれらに限られず、検査項目には、検査時点で判明している全ての攻撃に対する検査項目を適宜設定することができる。
The
なお、どのパラメータについてどの検査項目を実行すべきかは、アプリケーションの内容に依存するため、設定ファイルはアプリケーションの種類ごとに用意することが望ましい。しかし、全てのアプリケーションで固有のパラメータ名を利用する場合には、1の設定ファイルを用意してこれを共通に利用することも可能である。 Since which inspection item should be executed for which parameter depends on the contents of the application, it is desirable to prepare a setting file for each type of application. However, when a unique parameter name is used in all applications, it is possible to prepare one setting file and use it in common.
また、この設定ファイルは、設定ファイル設定手段42によって設定される。図6は、本実施形態にかかる設定ファイル画面の構成の一例を示す図である。同図に示すように、システム管理者は、ディスプレイに表示された設定ファイル画面より、パラメータ名の入力や検査項目の実行情報(1/0)を入力することができる。設定ファイル設定手段42は、設定ファイル画面の設定ボタンが選択されると、入力されたパラメータ名と検査項目の実行情報とを対応付けて設定ファイル記憶手段45に登録する。
This setting file is set by the setting file setting means 42. FIG. 6 is a diagram illustrating an example of the configuration of the setting file screen according to the present embodiment. As shown in the figure, the system administrator can input parameter names and inspection item execution information (1/0) from the setting file screen displayed on the display. When the setting button on the setting file screen is selected, the setting file setting unit 42 registers the input parameter name and the execution information of the inspection item in the setting
このように、本実施形態にかかる設定ファイルによれば、パラメータ名ごとに検査項目を個別に指定することができるので、非常に簡単な操作でパラメータ名ごとのセキュリティレベルを調整することができるようになる。 As described above, according to the setting file according to the present embodiment, inspection items can be individually specified for each parameter name, so that the security level for each parameter name can be adjusted with a very simple operation. become.
また、設定ファイルは、設定ファイル出力手段44によって、ディスプレイに表示され、また、印刷媒体に印刷される。図9は、ディスプレイに表示された設定ファイルの一例を示す図である。これによれば、パラメータ名と検査項目の設定状況とが表形式で出力されているので、システム管理者は、メンテナンス時点におけるパラメータ名ごとのセキュリティレベルを、一目で把握することができるようになる。 The setting file is displayed on the display by the setting file output unit 44 and printed on a print medium. FIG. 9 is a diagram illustrating an example of the setting file displayed on the display. According to this, since the parameter name and the setting state of the inspection item are output in a table format, the system administrator can grasp at a glance the security level for each parameter name at the time of maintenance. .
また、当該画面より、セキュリティレベルの変更が生じた場合には、図示しない設定ファイル更新画面にて、変更対象となるパラメータ名を指定して、検査項目の実行情報を入力しなおすだけでよいので、容易にメンテナンス作業を行うことができるようになる。 Also, if the security level changes from the screen, you can simply specify the parameter name to be changed and re-enter the execution information for the inspection item on the setting file update screen (not shown) It will be possible to easily perform maintenance work.
一方、図5は、本実施形態の検査ファイルの構造を示す図である。図5に示すように、検査ファイルには、危険データとしての定義済みデータ(以下、危険文字(列)と同義)と検査項目とを対応付けて格納している。各レコードは、危険文字(列)、検査項目1、検査項目2、検査項目3、・・・検査項目Nなどの項目を含んで構成されており、危険文字(列)によって一意的に特定される。
On the other hand, FIG. 5 is a diagram showing the structure of the inspection file of this embodiment. As shown in FIG. 5, in the inspection file, defined data as dangerous data (hereinafter, synonymous with dangerous character (column)) and inspection items are stored in association with each other. Each record includes items such as a dangerous character (string),
危険文字には、攻撃に用いられる可能性のあるデータ(文字)が格納される。検査項目1〜Nには、対応する危険文字が、各検査項目において危険な文字として抽出すべきか否かを示す識別情報が格納される。たとえば、文字列「&」をみると、検査項目1〜3では空白(危険文字ではない)、検査項目4では、サニタイジング処理を指定する「&」、検査項目Nでは危険文字であることを示す「Error」が、それぞれ格納されている。これによれば、同じ文字であっても、検査対象項目によって危険文字として取り扱われるか否かが異なることがわかる。
The dangerous characters store data (characters) that may be used for attacks. In the
以下、図7に示すフローチャートを参照してアプリケーション手段3の処理について説明する。図7は、アプリケーション手段3の処理の流れを示すである。なお、各工程(符号が付与されていない部分的な工程を含む)は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。 Hereinafter, the processing of the application means 3 will be described with reference to the flowchart shown in FIG. FIG. 7 shows the flow of processing of the application means 3. In addition, each process (including the partial process to which the code | symbol is not provided) can be arbitrarily changed in order within the range which does not produce contradiction in the processing content, or can be performed in parallel.
アプリケーション手段3は、検査に先立ち、検査に使用する設定ファイルを指定しておく(STEP701)。次に、要求受付手段30は、クライアント2から送られる所定の要求つまりパラメータを受け付けると(STEP702のYes)、当該パラメータに対して検査を実行するか否かを判断する(STEP703)。なお、外部から送られるパラメータについて検査を必ず実行する場合には、この判断を省略することができる。 Prior to the inspection, the application means 3 designates a setting file used for the inspection (STEP 701). Next, when receiving a predetermined request, that is, a parameter sent from the client 2 (YES in STEP 702), the request receiving unit 30 determines whether or not to perform an inspection on the parameter (STEP 703). It should be noted that this determination can be omitted when an inspection is always performed on parameters sent from the outside.
検査を実行すると判断した場合には(STEP703のYes)、検査対象指定手段31が、検査手段に処理の開始を指示するとともに(STEP704)、受け付けたパラメータを検査対象指定手段31に受け渡す(STEP705)。パラメータの受け渡しは、典型的には、検査対象となるパラメータを引数として、検査手段つまり検査用ライブラリを呼び出すことにより行われる。これにより、検査手段の処理が開始され、図8にて後述する検査処理を実行する。そして、指定されたパラメータに対する検査処理が終了すると、検査手段が検査結果をアプリケーション手段3に通知する。
If it is determined that the inspection is to be performed (Yes in STEP 703), the inspection object designating unit 31 instructs the inspection unit to start processing (STEP 704), and the received parameters are transferred to the inspection object designating unit 31 (STEP 705). ). The parameter delivery is typically performed by calling an inspection means, that is, an inspection library, with a parameter to be inspected as an argument. Thereby, the process of the inspection means is started, and the inspection process described later in FIG. 8 is executed. When the inspection process for the designated parameter is completed, the inspection unit notifies the
アプリケーション手段3の要求受付手段30は、検査結果の通知をうけると、検査結果は正常か否かを判断し(STEP706)、正常であると判断した場合には、要求処理手段32にSTEP702にて受け付けたパラメータを受け渡す。
Upon receiving the notification of the inspection result, the request receiving unit 30 of the
要求処理手段32は、パラメータに応じた処理(たとえば、受け付けたパラメータを組み込んだWebページを生成して、クライアント2に送り返す)を実行する(STEP707)。 The request processing means 32 executes processing according to the parameter (for example, generates a Web page incorporating the received parameter and sends it back to the client 2) (STEP 707).
これに対し、要求受付手段30は、検査結果が正常でないと判断した場合には、エラー処理を実行する(STEP708)。エラー処理としては、仕様に応じた処理を設定することができるが、たとえば、入力値に不正なデータが含まれる旨のエラー画面をクライアント2に送り返すように構成してもよい。エラー処理の場合、要求処理手段32による処理は実行されないので、危険なデータに基づく攻撃を事前に回避することが可能になる。
(セキュリティ管理手段4の処理の流れ)
次に、図8に示すフローチャートを参照してセキュリティ管理手段4の処理について説明する。図8は、セキュリティ管理手段4による処理の流れを示すフローチャートである。なお、各工程(符号が付与されていない部分的な工程を含む)は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
On the other hand, when the request receiving means 30 determines that the inspection result is not normal, it executes error processing (STEP 708). As the error process, a process according to the specification can be set. For example, an error screen indicating that invalid data is included in the input value may be sent back to the
(Processing flow of security management means 4)
Next, processing of the security management unit 4 will be described with reference to a flowchart shown in FIG. FIG. 8 is a flowchart showing the flow of processing by the security management means 4. In addition, each process (including the partial process to which the code | symbol is not provided) can be arbitrarily changed in order within the range which does not produce contradiction in the processing content, or can be performed in parallel.
セキュリティ管理手段4の検査項目特定手段40は、アプリケーション手段3より処理の開始が通知されると(STEP801のYes)、アプリケーション手段3によって指定された設定ファイルを設定ファイル記憶手段45から読み出す(STEP802)。
When the start of processing is notified from the application unit 3 (YES in STEP 801), the inspection item specifying unit 40 of the security management unit 4 reads the setting file designated by the
次に、検査項目特定手段40は、読み出した設定ファイルを参照して、受け渡されたパラメータのパラメータ名に例外処理が設定されているか否かを判断する(STEP803)。例外処理が対応付けられていると判断した場合には、パラメータに対して例外処理を実行する(STEP804)。 Next, the inspection item specifying unit 40 refers to the read setting file and determines whether or not exception processing is set for the parameter name of the passed parameter (STEP 803). If it is determined that exception processing is associated, exception processing is executed for the parameter (STEP 804).
たとえば、パラメータ名として「ITEM20」が指定されている場合には、「ITEM20」に対応する例外処理の欄には「[A−Z][3][_]」が格納されているので、パラメータの値に「[A−Z][3][_]」に該当する文字が格納されている場合であっても、危険データとしては処理しない。 For example, when “ITEM20” is specified as the parameter name, “[AZ] [3] [_]” is stored in the exception processing column corresponding to “ITEM20”. Even if the character corresponding to “[AZ] [3] [_]” is stored in the value of, it is not processed as dangerous data.
次に、検査項目特定手段40は、検査項目の中から、指定されたパラメータ名について検査の実行が設定されている検査項目を特定する(STEP805)。つまり、検査項目1〜検査項目Nの中から、実行情報に「1(有効)」が設定されている検査項目を抽出する。
Next, the inspection item specifying means 40 specifies the inspection item for which execution of inspection is set for the designated parameter name from the inspection items (STEP 805). That is, from the
パラメータ名が「ITEM20」の場合には、検査項目1、検査項目3、検査項目4、および検査項目5について「1(有効)」が設定されているので、これらの検査項目を、実行すべき検査項目として特定する。
When the parameter name is “ITEM20”, “1 (valid)” is set for
検査項目を特定すると、検査項目特定手段40は、検査ファイルを参照して、パラメータの値に特定した検査項目の危険データが含まれているかを検査する(STEP807)。たとえば、検査項目1(URL検査項目)について検査をする場合、パラメータの値にNULL文字が含まれている場合には、危険データが含まれていると判断する。 When the inspection item is specified, the inspection item specifying unit 40 refers to the inspection file and inspects whether or not the parameter data includes the risk data of the specified inspection item (STEP 807). For example, when the inspection item 1 (URL inspection item) is inspected, if a NULL character is included in the parameter value, it is determined that danger data is included.
検査項目特定手段40は、危険データが含まれていると判断した場合には(STEP807のYes)、サーバ1が危険データに基づく攻撃を受けないように、所定の危険処理を実行する(STEP808)。
If it is determined that the dangerous data is included (Yes in STEP 807), the inspection item specifying unit 40 executes a predetermined dangerous process so that the
危険処理としては、仕様に応じた処理を採用することができる。たとえば、検査ファイルにてサニタイジング処理(無害化)が指定されている場合には、当該処理を実行する。危険処理では、検査結果に危険データを抽出した旨やサニタイジング処理を行った旨などを設定する。 As the dangerous process, a process according to the specification can be adopted. For example, when the sanitizing process (detoxification) is specified in the inspection file, the process is executed. In the danger process, the fact that the danger data has been extracted or the sanitizing process is set in the inspection result.
検査項目特定手段40は、対象となる検査項目についてすべて検査処理が終了したか否かを判断し(STEP809)、すべて終了していない場合には、STEP806に戻って、次の検査項目について検査処理を実行する(STEP809のNO)。検査項目特定手段40は、すべての検査項目について検査処理が終了するまで、STEP806〜808の処理を繰り返す。
The inspection item specifying means 40 determines whether or not the inspection process has been completed for all target inspection items (STEP 809). If all of the inspection items have not been completed, the process returns to STEP 806 to inspect the next inspection item. Is executed (NO in STEP 809). The inspection item specifying unit 40 repeats the processing of
一方、対象となる検査項目についてすべて検査処理が終了したと判断した場合には(STEP809のYes)、検査結果をアプリケーション手段2に通知する(STEP810)。アプリケーション手段2は、戻り値として得られる検査結果に基づいて、上述した処理を実行する。
On the other hand, when it is determined that the inspection process has been completed for all inspection items to be processed (Yes in STEP 809), the inspection result is notified to the application unit 2 (STEP 810). The
以上本実施形態によれば、セキュリティ管理ブロック4をアプリケーション側から切り離してライブラリとして構成することとしたので、アプリケーション側にセキュリティ対策ロジックを実装させることが不要となる結果、アプリケーションの開発工数を削減することができるようになる。 As described above, according to the present embodiment, since the security management block 4 is separated from the application side and configured as a library, it becomes unnecessary to mount security countermeasure logic on the application side, thereby reducing the number of application development steps. Will be able to.
また、本実施形態によれば、各アプリケーションが、1のセキュリティ管理ブロック4を利用することができるので、各アプリケーションのセキュリティの品質を一様に保つことが可能になる。また、本実施形態によれば、設定ファイル中に対象となる攻撃手法をまとめて規定することにより、全ての攻撃手法を網羅的にカバーすることが可能になる。 Further, according to the present embodiment, each application can use one security management block 4, so that the security quality of each application can be kept uniform. Further, according to the present embodiment, it is possible to comprehensively cover all attack methods by collectively defining target attack methods in the setting file.
また、本実施形態によれば、設定ファイルを参照することにより、セキュリティ情報を一覧することができるとともに、セキュリティ管理手段4は設定ファイルの情報にしたがって検査処理を実行するので、設定ファイルを参照することで、セキュリティ対策がきちんと行われているか否かの検証をプログラムレベルで容易に実施することが可能になる。 Further, according to the present embodiment, the security information can be listed by referring to the setting file, and the security management unit 4 executes the inspection process according to the information of the setting file, and therefore refers to the setting file. This makes it possible to easily verify whether security measures are properly implemented at the program level.
また、本実施形態によれば、システム管理者は、パラメータ名ごとに検査対象の実行の有無を指定するだけでよいので、個々のシステム設計者のスキルにかかわらずセキュリティレベルの精度を高く維持することが可能になる。 In addition, according to the present embodiment, the system administrator only needs to specify whether or not the inspection target is executed for each parameter name, so that the accuracy of the security level is kept high regardless of the skills of the individual system designers. It becomes possible.
(その他の実施形態)
本発明は上記各実施形態に限定されることなく、種々に変形して適用することが可能である。たとえば、危険データを含む旨の検査結果を取得したアプリケーション手段3を、このような危険データを送信したクライアント2からのアクセスを、クッキーを利用して、それ以降受け付けないように構成してもよい。
(Other embodiments)
The present invention is not limited to the above-described embodiments, and can be variously modified and applied. For example, the application means 3 that has acquired a test result indicating that dangerous data is included may be configured not to accept access from the
たとえば、要求受付手段3は、セキュリティ管理手段4による検査の結果、クライアント2から送られてきた要求に危険データが含まれることが判明した場合、エラーメッセージとともに、攻撃者であることを示す情報をクッキーとしてクライアント2へ送り返す。
For example, if the
これを受けたクライアント2は、クッキー情報をハードディスクの所定の位置に書き込むとともに、送られてきたエラーメッセージを表示する。また、次回、そのクライアント2がサーバ1にアクセス要求を行うと、クライアント2のブラウザ21は、クッキーを参照して、サーバ1に対応するクッキーを発見することになるので、要求とともにクッキー情報(攻撃者であることを示す情報)を、クライアント2に送信する。
Receiving this, the
サーバ1は、要求とともに送られてくるクッキーを参照することにより、そのクライアント2が攻撃者として過去に認定したクライアント2であるか否かを判断する。サーバ1は、クッキーに攻撃者であることを示す情報が含まれている場合には、そのクライアント2が攻撃者として過去に認定したクライアント2であると判断する。これにより、セキュリティ管理手段4による検査を実行することなく、その要求を受け付けないように処理することができる。
The
この構成によれば、サーバ1は、クッキーを利用して攻撃者からのアクセスであるか否かを判断することができるようになるので、攻撃者であると認定したクライアント2からのアクセスを容易に排除することができるようになる。
According to this configuration, the
1 サーバ
2 クライアント
3 アプリケーションブロック
4 セキュリティ管理ブロック
11 Webサーバプログラム
12 Webページ
13 CGIプログラム
14 記憶装置
15 セキュリティ管理プログラム
16 プリンタ
21 ブラウザ
100 セキュリティ管理システム
1
Claims (9)
検査対象となるパラメータが指定されると、この指定されたパラメータのパラメータ名に基づいて前記記憶手段に記憶された設定ファイルを参照し、前記指定されたパラメータに対して実行すべき検査項目を特定する特定手段と、
前記特定手段が特定した検査項目に該当する検査処理を前記パラメータに対して実行する実行手段と、
を備えることを特徴とするセキュリティ管理装置。 Storage means for storing a setting file that defines the correspondence between parameter names and inspection items;
When a parameter to be inspected is specified, a setting file stored in the storage unit is referred to based on the parameter name of the specified parameter, and an inspection item to be executed for the specified parameter is specified. Specific means to
Execution means for executing the inspection process corresponding to the inspection item specified by the specifying means on the parameter;
A security management device comprising:
前記実行手段は、前記特定手段が特定した検査項目が保有する危険データが、前記パラメータの値に含まれているか否かを判断することを特徴とする請求項1記載のセキュリティ管理装置。 The storage means stores an inspection file that defines risk data held by each inspection item,
The security management apparatus according to claim 1, wherein the execution unit determines whether or not the risk data held by the inspection item specified by the specifying unit is included in the value of the parameter.
前記特定手段は、パラメータが指定されると、前記記憶手段に記憶された設定ファイル中から所定の条件に合致する設定ファイルを特定し、前記指定されたパラメータのパラメータ名に基づいてこの特定した設定ファイルを参照することを特徴とする請求項1乃至3いずれか1項に記載のセキュリティ管理装置。 The storage means stores a plurality of the setting files,
When the parameter is specified, the specifying unit specifies a setting file that matches a predetermined condition from the setting files stored in the storage unit, and sets the specified setting based on the parameter name of the specified parameter. 4. The security management apparatus according to claim 1, wherein the security management apparatus refers to a file.
パラメータが指定されると、この指定されたパラメータのパラメータ名に基づいて、記憶手段に記憶されたパラメータ名と検査項目との対応付けを定義した設定ファイルを参照し、前記指定されたパラメータに対して実行すべき検査項目を特定する特定機能と、
前記特定した検査項目に該当する処理を前記パラメータに対して実行する実行機能と、をサーバに実現させることを特徴とするプログラム。 A program for causing a server to realize a predetermined function,
When a parameter is specified, a setting file that defines the association between the parameter name stored in the storage means and the inspection item is referred to based on the parameter name of the specified parameter, and the specified parameter is Specific functions to identify inspection items to be executed
A program for causing a server to realize an execution function for executing processing corresponding to the specified inspection item on the parameter.
前記特定手段が特定した検査項目に該当する検査処理を前記パラメータに対して実行する工程と、
を実行することを特徴とするセキュリティ管理方法。
When a parameter is specified, a setting file that defines the association between the parameter name stored in the storage means and the inspection item is referred to based on the parameter name of the specified parameter, and the specified parameter is Identifying the inspection items to be performed
Executing an inspection process corresponding to the inspection item specified by the specifying unit for the parameter;
The security management method characterized by performing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003367605A JP2005134995A (en) | 2003-10-28 | 2003-10-28 | System, method and program for security management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003367605A JP2005134995A (en) | 2003-10-28 | 2003-10-28 | System, method and program for security management |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005134995A true JP2005134995A (en) | 2005-05-26 |
Family
ID=34645567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003367605A Pending JP2005134995A (en) | 2003-10-28 | 2003-10-28 | System, method and program for security management |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005134995A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008084118A (en) * | 2006-09-28 | 2008-04-10 | Fujitsu Ltd | Program, device and method for display processing of non-immediate processing existence probability |
JP2008135029A (en) * | 2006-11-17 | 2008-06-12 | Hewlett-Packard Development Co Lp | Web application assessment based on intelligent generation of attack string |
JP2012533806A (en) * | 2009-07-23 | 2012-12-27 | エヌエスフォーカス インフォメーション テクノロジー カンパニー,リミテッド | XSS detection method and apparatus |
JP2015535997A (en) * | 2012-09-28 | 2015-12-17 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | Application security inspection |
US9251367B2 (en) | 2011-03-25 | 2016-02-02 | Nec Corporation | Device, method and program for preventing information leakage |
US9392011B2 (en) | 2010-07-21 | 2016-07-12 | Nec Corporation | Web vulnerability repair apparatus, web server, web vulnerability repair method, and program |
-
2003
- 2003-10-28 JP JP2003367605A patent/JP2005134995A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008084118A (en) * | 2006-09-28 | 2008-04-10 | Fujitsu Ltd | Program, device and method for display processing of non-immediate processing existence probability |
JP2008135029A (en) * | 2006-11-17 | 2008-06-12 | Hewlett-Packard Development Co Lp | Web application assessment based on intelligent generation of attack string |
JP2012533806A (en) * | 2009-07-23 | 2012-12-27 | エヌエスフォーカス インフォメーション テクノロジー カンパニー,リミテッド | XSS detection method and apparatus |
US9392011B2 (en) | 2010-07-21 | 2016-07-12 | Nec Corporation | Web vulnerability repair apparatus, web server, web vulnerability repair method, and program |
US9251367B2 (en) | 2011-03-25 | 2016-02-02 | Nec Corporation | Device, method and program for preventing information leakage |
JP2015535997A (en) * | 2012-09-28 | 2015-12-17 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | Application security inspection |
US9438617B2 (en) | 2012-09-28 | 2016-09-06 | Hewlett Packard Enterprise Development Lp | Application security testing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704384B2 (en) | Secure document sharing | |
US9036180B2 (en) | Apparatus and method for securing confidential information of printed document in cloud computing environment | |
EP2634709B1 (en) | System and method for appending security information to search engine results | |
US8554740B2 (en) | Recording a log of operations | |
JP5863973B2 (en) | Program execution device and program analysis device | |
US20110203000A1 (en) | Preventing unauthorized font linking | |
JP2007047884A (en) | Information processing system | |
JP2008299414A (en) | Content processing system, method and program | |
US8935288B2 (en) | User specific logs in multi-user applications | |
JP2006202269A (en) | Information processor, control method of information processor, program thereof, and storage medium | |
CN108664774A (en) | A kind of timely method, apparatus, storage medium and system for generating watermark | |
CN108646988B (en) | Document printing method and system | |
US20160063257A1 (en) | Data driven system for responding to security vulnerability | |
WO2014132145A1 (en) | Web service black box testing | |
JP2010123115A (en) | Computing apparatus, web page content management method and computer-readable medium | |
JP2011198022A (en) | Information processor, information processing system, information processing method, and information processing program | |
JP2009217637A (en) | Security state display, security state display method, and computer program | |
JP4844105B2 (en) | Menu data generation in the control device to which the local device is connected | |
CA2846877C (en) | Content handling for applications | |
JP2007109016A (en) | Access policy creation system, method and program | |
JP2005134995A (en) | System, method and program for security management | |
JP2004265049A (en) | Data processing system, data processor, data processing method and program | |
CN111368231B (en) | Method and device for testing heterogeneous redundancy architecture website | |
JP2009053896A (en) | Unauthorized operation detector and program | |
CN117234623B (en) | Page theme changing method and device of application program and electronic equipment |