JP2011258018A - Security server system - Google Patents

Security server system Download PDF

Info

Publication number
JP2011258018A
JP2011258018A JP2010132352A JP2010132352A JP2011258018A JP 2011258018 A JP2011258018 A JP 2011258018A JP 2010132352 A JP2010132352 A JP 2010132352A JP 2010132352 A JP2010132352 A JP 2010132352A JP 2011258018 A JP2011258018 A JP 2011258018A
Authority
JP
Japan
Prior art keywords
server system
unit
vulnerability
server
network
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.)
Withdrawn
Application number
JP2010132352A
Other languages
Japanese (ja)
Inventor
Eimatsu Moriyama
栄松 守山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2010132352A priority Critical patent/JP2011258018A/en
Publication of JP2011258018A publication Critical patent/JP2011258018A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a security server system improved in processing capacity.SOLUTION: The security server system comprises: a first server system which provides contents in response to a request transmitted via a network; a second server system which is more resistant against an attack via the network than the first server system and provides contents in response to the request transmitted via the network; a reception unit which receives contents provided via the network; a determination table which includes vulnerability information indicating content details that could receive an impact of the attack via the network; a determination unit which determines presence or absence of vulnerability against the attack via the network for the contents received in the reception unit based on the vulnerability information; and a file control unit which stores contents received in the reception unit as provision candidates in the first server system or the second server system according to a determination result of the determination unit.

Description

本発明は、ネットワーク上でサービスを提供するサーバを攻撃から保護するセキュリティサーバシステムに関する。   The present invention relates to a security server system that protects a server that provides a service on a network from attacks.

インターネット上でサービスを提供するサーバに対して、インターネット経由の様々な攻撃が発生している。例えば、攻撃者がサーバに対し本来とは異なる方法を用いてアクセスすることでサーバ上の情報を詐取する攻撃や、正当なユーザが攻撃者に騙された結果、当該ユーザのアクセスを攻撃者の準備したサーバを通じて脆弱性を有するサーバに誘導する攻撃などが知られている。   Various attacks via the Internet have occurred against servers that provide services on the Internet. For example, as a result of an attack in which an attacker gains access to the server using a method different from the original to steal information on the server or a legitimate user has been tricked by the attacker, There is known an attack that guides a server having vulnerability through a prepared server.

アプリケーションの脆弱性をついた攻撃としては、例えば、WEBサーバに対するクロスサイトスクリプティング、クロスサイトリクエストフォージェリや、WEBサーバとSQLサーバに対するSQLインジェクションなどがある。SQLインジェクションは、アプリケーションのセキュリティ上の不備を意図的に利用し、アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作するものである。この攻撃に成功すると、攻撃者によるデータの詐取・改竄・削除が可能になってしまう。   Examples of attacks with application vulnerabilities include cross-site scripting against WEB servers, cross-site request forgery, and SQL injection against WEB servers and SQL servers. SQL injection is intended to illegally operate a database system by intentionally using a security flaw in an application and executing an SQL statement that is not assumed by the application. If this attack is successful, the attacker will be able to fraud, falsify, and delete data.

ネットワークを経由した攻撃を防御する技術としては、アクセスが違法または有害であるか否かを判定し、有害なオペレーション要求の実行を防止する方法が提案されている(特許文献1)。またアプリケーションに対するDoS/DDoS攻撃から防御するため、トラヒック量などの情報を基に攻撃を検知し、攻撃トラヒックのレートを制御しフィルタリングすることが提案されている(特許文献2)。   As a technique for preventing an attack via a network, a method for determining whether an access is illegal or harmful and preventing execution of a harmful operation request has been proposed (Patent Document 1). In order to protect against DoS / DDoS attacks on applications, it has been proposed to detect attacks based on information such as traffic volume, and to control and filter the rate of attack traffic (Patent Document 2).

さらに、ネットワークからの全てのアクセスについて防御装置を経由させることで、ネットワークを経由した攻撃からサーバのアプリケーションを防御するセキュリティサーバシステム(アプリケーションセキュリティシステム)も知られている。事前の対応としては、ソースコード等に起因するアプリケーションの脆弱性診断をあらかじめ行って脆弱性を発見しておき、当該アプリケーションの脆弱な要素を手作業で除去することが一般に行われている。   Furthermore, a security server system (application security system) is also known that protects server applications from attacks via the network by passing all access from the network via a defense device. As a precaution, it is generally performed that vulnerability detection of an application caused by a source code or the like is performed in advance to find a vulnerability, and a vulnerable element of the application is manually removed.

全てのアクセスについて防御装置を経由させる従来のシステムでは、トラヒックの増加に伴って当該防御装置の処理能力を超えることがあった。特に、複数のサーバを一括して防御処理する場合、サーバ自体の脆弱性やサーバにより提供されるコンテンツ等のサービスの脆弱性の有無に関わらず全てのアクセスが防御装置を通過するため、サーバへのアクセスの増加に伴って防御装置の処理能力を超えやすい。   In the conventional system in which all accesses are routed through the protection device, the processing capacity of the protection device may be exceeded as the traffic increases. In particular, when multiple servers are protected at once, all access passes through the defense device regardless of whether the server itself is vulnerable or the service provided by the server is vulnerable. As the number of accesses increases, the processing capability of the defense device tends to be exceeded.

一方、脆弱性診断により発見した脆弱性を人手で改修する場合、アプリケーションのソースコード等の改修に膨大な時間と労力が必要となる。特に、脆弱性の改修にはセキュアプログラミングに係る知識と経験を有する人員が必要となるため、サーバ運営者の負担が大きくなる問題があった。   On the other hand, when the vulnerability discovered by the vulnerability diagnosis is manually repaired, it takes a lot of time and effort to repair the source code of the application. In particular, remediation of vulnerabilities requires personnel with knowledge and experience related to secure programming, which increases the burden on the server operator.

特表2004−533676公報Special table 2004-533676 gazette 特開2006−60599公報JP 2006-60599 A

このように、従来のセキュリティサーバシステムでは、サーバへのアクセスの増加により処理能力を超えやすいという問題がある。また、人手により脆弱性を改修するにも限界がある。   As described above, the conventional security server system has a problem that the processing capacity is easily exceeded due to an increase in access to the server. In addition, there is a limit to repairing the vulnerability manually.

本発明は、かかる課題を解決するためになされたもので、処理能力を向上したセキュリティサーバシステムを提供することを目的としている。   The present invention has been made to solve such a problem, and an object thereof is to provide a security server system with improved processing capability.

上記課題を解決するため、本発明の一つの実施形態に係るセキュリティサーバシステムは、ネットワークを介して送られる要求に応じてコンテンツを提供する第1のサーバシステムと、第1のサーバシステムよりもネットワークを経由した攻撃に対する強度が強く、ネットワークを介して送られる要求に応じてコンテンツを提供する第2のサーバシステムと、ネットワークを介して提供するコンテンツを受け付ける受付部と、ネットワークを経由した攻撃の影響を受け得るコンテンツ内容を示す脆弱情報を含む判定テーブルと、脆弱情報に基づき、受付部が受け付けたコンテンツについてネットワークを経由した攻撃に対する脆弱性の有無を判定する判定部と、判定部の判定結果に応じて、受付部が受け付けたコンテンツを提供候補として第1のサーバシステムまたは第2のサーバシステムのいずれかに格納するファイル制御部と、を具備することを特徴としている。   In order to solve the above-mentioned problem, a security server system according to an embodiment of the present invention includes a first server system that provides content in response to a request sent via a network, and a network that is more than a first server system. The second server system that is strong against attacks via the network and that provides content in response to requests sent via the network, the accepting unit that accepts content provided via the network, and the impact of attacks via the network A determination table including vulnerability information indicating content details that can be received, a determination unit that determines whether there is a vulnerability to an attack via a network, based on the vulnerability information, and a determination result of the determination unit In response, the content received by the reception unit is designated as the provision candidate. Is characterized by comprising between the server system or the file control unit to be stored in either the second server system, the.

本発明によれば、処理能力を向上したセキュリティサーバシステムを提供することができる。   According to the present invention, a security server system with improved processing capability can be provided.

第1の実施形態に係るセキュリティサーバシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the security server system which concerns on 1st Embodiment. 第1の実施形態に係るセキュリティサーバシステムの構成を詳細に示すブロック図である。It is a block diagram which shows the structure of the security server system which concerns on 1st Embodiment in detail. 第1の実施形態に係る防御部(リバースプロキシ)の機能構成を示す概念図である。It is a conceptual diagram which shows the function structure of the defense part (reverse proxy) which concerns on 1st Embodiment. 一般的なルータの機能構成を示す概念図である。It is a conceptual diagram which shows the function structure of a general router. 第1の実施形態に係るセキュリティサーバシステムの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the security server system which concerns on 1st Embodiment. 第2の実施形態に係るセキュリティサーバシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the security server system which concerns on 2nd Embodiment. 第2の実施形態に係るセキュリティサーバシステムの構成を詳細に示すブロック図である。It is a block diagram which shows the structure of the security server system which concerns on 2nd Embodiment in detail. 第2の実施形態に係るセキュリティサーバシステムの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the security server system which concerns on 2nd Embodiment. 第3の実施形態に係るセキュリティサーバシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the security server system which concerns on 3rd Embodiment. 第4の実施形態に係るセキュリティサーバシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the security server system which concerns on 4th Embodiment.

(第1の実施形態)
以下、本発明の実施の形態を、図面を参照して詳細に説明する。実施形態に係るセキュリティサーバシステムは、インターネットなどのネットワークに接続されたサーバを、当該ネットワークを経由した攻撃から防御する機能を有している。より具体的には、外部ネットワークに直接接続されたサーバと、外部ネットワークと防御手段を介して接続されたサーバとを備え、外部からの攻撃に対する脆弱性の有無に応じて提供するコンテンツを各サーバに振り分けてアップロード可能としている。
(First embodiment)
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The security server system according to the embodiment has a function of protecting a server connected to a network such as the Internet from attacks via the network. More specifically, each server includes a server directly connected to an external network and a server connected to the external network through a defense means, and provides contents to be provided depending on whether there is a vulnerability to an attack from the outside. It is possible to upload by sorting to.

図1に示すように、第1の実施形態に係るセキュリティサーバシステム1は、第1サーバ10および第2サーバ20を備えている。第1サーバ10および第2サーバ20には、それぞれ第1記憶部12および第2記憶部22が接続されている。第1サーバ10は、ネットワーク40と直接接続されており、第2サーバ20は、ネットワーク40と防御部24を介して接続されている。さらに、この実施形態に係るセキュリティサーバシステム1は、ファイル受付部30、脆弱性判定部32、判定テーブル34を備えている。   As shown in FIG. 1, the security server system 1 according to the first embodiment includes a first server 10 and a second server 20. A first storage unit 12 and a second storage unit 22 are connected to the first server 10 and the second server 20, respectively. The first server 10 is directly connected to the network 40, and the second server 20 is connected to the network 40 via the defense unit 24. Furthermore, the security server system 1 according to this embodiment includes a file reception unit 30, a vulnerability determination unit 32, and a determination table 34.

第1サーバ10は、例えばWebサーバのように、ネットワークを介して電子ファイル群からなるコンテンツを提供する。第1記憶部12は、例えばハードディスクドライブなどであり、第1サーバ10が提供するコンテンツなどを記憶する。すなわち、第1サーバ10および第1記憶部12は、協働してサーバシステムとして機能する。第2サーバ20および第2記憶部22は、それぞれ第1サーバ10および第1記憶部12と対応し、共通する機能を有している。すなわち、この実施形態のセキュリティサーバシステムでは、共通する機能をもつサーバシステムを二以上有している。第1サーバ10および第2サーバ20は、例えばUNIX(登録商標)などのネットワークOS上で動作するサーバアプリケーションにより実現することができる。   The first server 10 provides content including electronic file groups via a network, such as a Web server. The first storage unit 12 is, for example, a hard disk drive, and stores content provided by the first server 10. That is, the first server 10 and the first storage unit 12 function as a server system in cooperation. The second server 20 and the second storage unit 22 correspond to the first server 10 and the first storage unit 12, respectively, and have a common function. That is, the security server system of this embodiment has two or more server systems having a common function. The first server 10 and the second server 20 can be realized by a server application that operates on a network OS such as UNIX (registered trademark).

防御部24は、ネットワーク40から第2サーバ20への全てのアクセスを検査し、不正なアクセスやサーバなどの脆弱性に対する攻撃から第2サーバ20を防御する機能を有する。防御部24は、受け取ったトラヒックを一旦物理層からアプリケーション層まで解釈してデータを取り出し、取り出されたデータが第2サーバ20などを攻撃する可能性があるかチェックする。防御部24は、チェックの結果攻撃可能性がなければ、当該データを再びアプリケーション層から物理層まで変換して第2サーバ20へ送り、攻撃可能性があれば、当該データを無害化するか破棄することで第2サーバ20を保護する。   The defense unit 24 has a function of inspecting all accesses from the network 40 to the second server 20 and protecting the second server 20 from unauthorized access and attacks against vulnerabilities such as servers. The defense unit 24 once interprets the received traffic from the physical layer to the application layer, extracts the data, and checks whether the extracted data may attack the second server 20 or the like. If there is no possibility of attack as a result of the check, the defense unit 24 converts the data again from the application layer to the physical layer and sends it to the second server 20. If there is a possibility of attack, the defense unit 24 makes the data harmless or discards it. By doing so, the second server 20 is protected.

すなわち、このシステムは、直接ネットワーク40と接続された第1サーバ10、および、ネットワーク40との間に防御部24を備えてトラヒックによる処理負担の増加よりも安全性を優先した第2サーバ20を有している。   That is, this system includes the first server 10 directly connected to the network 40 and the second server 20 that includes the defense unit 24 between the network 40 and prioritizes safety over an increase in processing load due to traffic. Have.

ファイル受付部30は、第1サーバ10または第2サーバ20がネットワーク40を介してクライアント42a・42bへ提供するコンテンツを受け入れる。ここで、第1サーバ10や第2サーバ20が提供するコンテンツは、テキストファイルや画像ファイルなどの電子ファイルにより構成されるから、ファイル受付部30は、例えばハードディスクドライブ上に構成されたディレクトリ(あるいはフォルダ)などにより実現される。
なお、以下の説明において、コンテンツは、脆弱性のない「ページ」と、脆弱性を含みうる「プログラム」とから構成されるものとする。コンテンツは、ページのみから構成されてもよく、この場合コンテンツには脆弱性はないことになる。一方、コンテンツが「ページ」と「プログラム」とから構成される場合、「プログラム」が脆弱性を含むか否かにより、コンテンツが脆弱性を有するか否かが左右される。
The file reception unit 30 receives content provided by the first server 10 or the second server 20 to the clients 42 a and 42 b via the network 40. Here, the content provided by the first server 10 or the second server 20 is configured by an electronic file such as a text file or an image file. Therefore, the file accepting unit 30 is configured by, for example, a directory (or a directory configured on a hard disk drive). Folder).
In the following description, it is assumed that the content is composed of a “page” having no vulnerability and a “program” that may include the vulnerability. The content may be composed only of pages, and in this case, the content is not vulnerable. On the other hand, when the content is composed of “page” and “program”, whether or not the content has vulnerability depends on whether or not the “program” includes vulnerability.

脆弱性判定部32は、ファイル受付部30に格納されたコンテンツ(電子ファイル群)を解析し、ネットワークを介した攻撃に対する脆弱性の有無を判定する機能を有する。併せて、脆弱性判定部32は、判定結果に応じて、ファイル受付部30に格納された電子ファイルを第1記憶部12または第2記憶部22に移動する機能をも有している。脆弱性判定部32は、例えばメモリ上に展開されたコンピュータプログラムとCPUなどの演算装置などにより実現される。   The vulnerability determination unit 32 has a function of analyzing the content (electronic file group) stored in the file reception unit 30 and determining whether or not there is vulnerability to an attack via the network. In addition, the vulnerability determination unit 32 also has a function of moving the electronic file stored in the file reception unit 30 to the first storage unit 12 or the second storage unit 22 according to the determination result. The vulnerability determination unit 32 is realized by, for example, a computer program developed on a memory and an arithmetic device such as a CPU.

判定テーブル34は、脆弱性判定部32が解析や判定に用いる脆弱性情報を記録している。すなわち、脆弱性判定部32は、判定テーブル34に記録された脆弱性情報に基づいて、電子ファイルの解析や脆弱性の有無を判定する。判定テーブル34は、ハードディスクドライブ上に構成されたディレクトリ(あるいはフォルダ)や、メモリなどにより実現される。   The determination table 34 records vulnerability information used by the vulnerability determination unit 32 for analysis and determination. That is, the vulnerability determination unit 32 determines the presence or absence of vulnerability of the electronic file based on the vulnerability information recorded in the determination table 34. The determination table 34 is realized by a directory (or folder) configured on the hard disk drive, a memory, or the like.

(第1の実施形態の具体的構成)
続いて、図2を参照して、第1の実施形態に係るセキュリティサーバシステムの構成をより詳細に説明する。図2に示すように、第1サーバ10は、WEBサーバ102、CGI部104、およびデータベースサーバ(DBサーバ)106を有している。同様に、第2サーバ20は、WEBサーバ202、CGI部204、およびDBサーバ206を有している。防御部24は、ファイアウォール242およびリバースプロキシ244を有している。脆弱性判定部32は、テキスト抽出部301、判定部302、リンク整合部303およびファイル格納部304を有している。
(Specific configuration of the first embodiment)
Next, the configuration of the security server system according to the first embodiment will be described in more detail with reference to FIG. As shown in FIG. 2, the first server 10 includes a WEB server 102, a CGI unit 104, and a database server (DB server) 106. Similarly, the second server 20 includes a WEB server 202, a CGI unit 204, and a DB server 206. The defense unit 24 includes a firewall 242 and a reverse proxy 244. The vulnerability determination unit 32 includes a text extraction unit 301, a determination unit 302, a link matching unit 303, and a file storage unit 304.

WEBサーバ102およびWEBサーバ202は、HTTP(HyperText Transfer Protocol)を用いてHTML(HyperText Markup Language)や画像データなどからなるコンテンツをクライアント42a・42bに提供する機能要素である。CGI部104およびCGI部204は、それぞれWEBサーバ102およびWEBサーバ202と協働してプログラムを実行し、その実行結果をクライアント42a・42bに提供する機能要素である。DBサーバ106およびDBサーバ206は、第1記憶部12および第2記憶部22それぞれに記憶されたデータ(データベース)125および225を用いて、検索やソート処理されたデータをクライアント42a・42bに提供する機能要素である。   The WEB server 102 and the WEB server 202 are functional elements that provide content composed of HTML (HyperText Markup Language), image data, and the like to the clients 42a and 42b using HTTP (HyperText Transfer Protocol). The CGI unit 104 and the CGI unit 204 are functional elements that execute a program in cooperation with the WEB server 102 and the WEB server 202, respectively, and provide the execution results to the clients 42a and 42b. The DB server 106 and the DB server 206 use the data (database) 125 and 225 stored in the first storage unit 12 and the second storage unit 22, respectively, to provide the searched and sorted data to the clients 42a and 42b. Is a functional element.

ファイアウォール242は、ネットワーク40からの不正アクセスを防ぐ機能要素である。リバースプロキシ244は、受け取ったトラヒックを物理層からアプリケーション層まで一旦解析してデータを取り出し、取り出したデータが攻撃性を有するか否か解析する機能要素である。リバースプロキシ244は、解析した結果データが攻撃性を有する有害なものである場合、無害化処理や廃棄処理を行い、同じく無害のものである場合、取り出したデータを再びアプリケーション層から物理層まで変換して出力する。   The firewall 242 is a functional element that prevents unauthorized access from the network 40. The reverse proxy 244 is a functional element that once analyzes received traffic from the physical layer to the application layer to extract data, and analyzes whether or not the extracted data has aggressiveness. The reverse proxy 244 performs a detoxification process or a disposal process when the analyzed result data is harmful and harmful, and if it is also harmless, converts the retrieved data from the application layer to the physical layer again. And output.

テキスト抽出部301は、ファイル受付部30が受け取った電子ファイルから所定の文字列等を検索して抽出する機能要素である。判定部302は、テキスト抽出部301による検索結果に基づいて当該受け取った電子ファイルの脆弱性を判定し、脆弱性のあるデータと脆弱性のないデータを区分する。リンク整合部303は、判定部302が区分したデータのうち、脆弱性のあるデータについて、データ内の含まれる他のデータへのジャンプを示すリンクを更新する機能要素である。ファイル格納部304は、判定部302による区分結果に基づいて、電子ファイルを第1サーバ10と接続された第1記憶部12または第2サーバ20と接続された第2記憶部22のいずれかに格納制御する機能要素である。
脆弱性の判定方法の例としては、例えば、ソースコードを解析し、プログラムに入力された文字列が、プログラム中の複数の手続きによって処理加工された後、最終的にプログラムの出力となるまでの処理フローをトレースし、そのトレースの過程で、攻撃によく用いられる危険な文字または文字列をサニタイズして入力から取り除く処理が含まれているか否かにより判断する手法が挙げられる。また、SQLインジェクション等の攻撃を防ぐためSQLで使われる「’」や「%」の他HTMLで使われる「<」や「>」を検知し、一定のルールに従いデータの内容を変えないように変換するエスケープ処理が、判定対象のプログラムにおいて実施されていない場合には、脆弱性があると判断することができる。一定のルールとしては、例えば、「&」は「&amp」に、「<」は「&lt」に、「>」は「&gt」に、「’」は「&#039」に、「”」は「&quot」に変換するものが挙げられる。
The text extraction unit 301 is a functional element that searches and extracts a predetermined character string or the like from the electronic file received by the file reception unit 30. The determination unit 302 determines the vulnerability of the received electronic file based on the search result by the text extraction unit 301, and classifies the vulnerable data and the non-vulnerable data. The link matching unit 303 is a functional element that updates a link indicating a jump to other data included in the data with vulnerability among the data classified by the determination unit 302. The file storage unit 304 stores the electronic file in either the first storage unit 12 connected to the first server 10 or the second storage unit 22 connected to the second server 20 based on the classification result by the determination unit 302. It is a functional element that controls storage.
Examples of vulnerability determination methods include, for example, analyzing source code, processing a character string input to a program by a plurality of procedures in the program, and finally outputting the program There is a method of tracing the processing flow and determining whether or not the processing includes a process of sanitizing a dangerous character or character string often used for an attack and removing it from the input. In addition, “<” and “>” used in HTML are detected in addition to “'” and “%” used in SQL to prevent attacks such as SQL injection, and the contents of data are not changed according to certain rules. If the escape process to be converted is not implemented in the determination target program, it can be determined that there is a vulnerability. For example, “&” is “& amp”, “<” is “& lt”, “>” is “& gt”, “'” is “&# 039”, “” is “&”. What is converted to “& quot”.

(第1サーバ/第2サーバの動作と外部からの攻撃)
ここで、第1サーバ10および第2サーバ20の基本動作を説明する。以下の説明では、脆弱性のないページaのみからなるコンテンツA、脆弱性のないページbと脆弱性のないプログラムb1と脆弱性のあるプログラムb2とからなるコンテンツB、および、脆弱性のないページcと脆弱性のあるプログラムcとからなるコンテンツCをネットワーク上で提供するものとする。
(Operations of the first server / second server and attacks from outside)
Here, basic operations of the first server 10 and the second server 20 will be described. In the following description, content A consisting only of page a without vulnerability, content B consisting of page b without vulnerability, program b1 without vulnerability, and program b2 with vulnerability, and page without vulnerability It is assumed that content C consisting of c and a vulnerable program c is provided on the network.

まず、ネットワークを介してサービスを提供するアプリケーションの例としてWEB()サービスの例を説明する。   First, an example of a WEB () service will be described as an example of an application that provides a service via a network.

図1および図2に示すように、第1サーバ10におけるWEBサーバ102は、ネットワーク40を介して、当該ネットワーク40に接続したクライアント42a・42bに対してサービスを提供する。WEBサーバ102に接続された第1記憶部12は、クライアント42a等に提供するページとしてページa121などを保持している。また、WEBサーバ102は、CGI部104と協働して第1記憶部12に格納されたプログラムb1などを走らせる。ここで、ページa121やプログラムb1・122bなどの電子ファイルは、単一の電子ファイルではなく、複数の電子ファイルからなる電子ファイル群として構成されてもよい。   As shown in FIGS. 1 and 2, the WEB server 102 in the first server 10 provides services to clients 42 a and 42 b connected to the network 40 via the network 40. The first storage unit 12 connected to the WEB server 102 holds a page a121 and the like as pages to be provided to the client 42a and the like. Further, the WEB server 102 runs the program b1 stored in the first storage unit 12 in cooperation with the CGI unit 104. Here, the electronic files such as the page a121 and the programs b1 and 122b may be configured as an electronic file group including a plurality of electronic files instead of a single electronic file.

クライアント42aが閲覧したいページのURLを明示して第1サーバ10に閲覧要求を行うと、WEBサーバ102は、その閲覧要求に含まれたURLが、WEBサーバ102の直接の配下のページであれば、そのページをクライアント42aに提供する。一方、URLの指し示すページがWEBサーバ102の直接の配下ではなく、例えばプログラムb1・122bのようにCGI部104を経由してのみアクセス可能なページの場合、WEBサーバ102は、プログラムb1・122bをCGI部104により実行して作成したページファイルをクライアント42aに提供する。   When the client 42a specifies the URL of the page that the client 42a wants to browse and makes a browsing request to the first server 10, the WEB server 102 indicates that the URL included in the browsing request is a page directly under the WEB server 102. The page is provided to the client 42a. On the other hand, if the page indicated by the URL is not directly under the WEB server 102 but is accessible only via the CGI unit 104, for example, the program b1 122b, the WEB server 102 stores the program b1 122b. The page file created by execution by the CGI unit 104 is provided to the client 42a.

プログラムb1・122b等は、CGI部104を構成する言語で実行できるプログラムのソースコードである。したがって、CGI部104を用いることにより、ページa121のような固定的なページだけではなく、クライアント42aからの要求に応じて動的に生成したページを提供することも可能である。すなわち、CGI部104の機能を用いることで、各種のアプリケーションプログラムを作成することが可能になる。同様に、クライアント42aは、CGI部104とプログラムを介することで、DBサーバ106にアクセスすることも可能になる。   The programs b1 and 122b are program source codes that can be executed in the language constituting the CGI unit 104. Therefore, by using the CGI unit 104, it is possible to provide not only a fixed page such as the page a121 but also a page dynamically generated in response to a request from the client 42a. That is, by using the function of the CGI unit 104, various application programs can be created. Similarly, the client 42a can access the DB server 106 via the CGI unit 104 and a program.

一般に、ネットワーク40を経由してデータベース106等の情報資源にアクセスする場合、ユーザ認証を行い意図しないユーザが情報資源へアクセスすること防止している。しかし、プログラムなどに脆弱性のあるコマンド等が含まれている場合、ネットワーク40を経由して外部から認証が破られ、データにアクセスされてしまうおそれがある。   In general, when an information resource such as the database 106 is accessed via the network 40, user authentication is performed to prevent an unintended user from accessing the information resource. However, if the program or the like includes a vulnerable command or the like, the authentication may be broken from the outside via the network 40 and the data may be accessed.

続いてSQLインジェクション攻撃の例を説明する。WEBサーバ102を経由してDBサーバ106に対して次のようなSQLを発行することを考える。例えば、プログラムに、以下のテキストが含まれているとすると、
SELECT * FROM users WHERE name = '入力値';
アプリケーション開発者は、上記の「入力値」として、例えばクライアント42aが作成した「suzuki」のようなユーザ名が入力されるものと期待する。しかし、悪意ある攻撃者は、例えば、
' OR 't' = 't
という文字列をパラメータ入力値として与える。そうすると、上記テキストは
SELECT * FROM users WHERE name = '' OR 't' = 't';
と展開されてしまう。't' = 't'は常に条件が真であるため、このSQL文では「name」カラムの値にかかわらず、全レコードが選択されることになる。このとき選択されるレコードにはクライアント42aが「suzuki」のユーザ名で登録した全てのデータが含まれる。
Next, an example of the SQL injection attack will be described. Consider issuing the following SQL to the DB server 106 via the WEB server 102. For example, if your program contains the following text:
SELECT * FROM users WHERE name = 'input value';
The application developer expects that a user name such as “suzuki” created by the client 42a is input as the “input value”. However, malicious attackers, for example,
'OR' t '=' t
Is given as a parameter input value. Then the above text
SELECT * FROM users WHERE name = '' OR 't' = 't';
Will be expanded. Since the condition is always true for “t” = “t”, all records are selected in this SQL statement regardless of the value of the “name” column. The record selected at this time includes all data registered by the client 42a with the user name “suzuki”.

このようにして、データベースの抽出結果を確認のために画面に表示したりダウンロードしたりするアプリケーションの場合、全てのデータを盗まれてしまうことがあり得る。アプリケーションプログラムの開発者は、「入力値」にユーザ名などのデータの入力を期待するが、悪意ある攻撃者は、「入力値」に全体としてSQLコマンドの一部を構成するような文字列「' OR 't' = 't」を入力し、結果として全レコードを選択することに成功してしまう。   In this way, in the case of an application that displays or downloads the database extraction result on the screen for confirmation, all data may be stolen. The developer of the application program expects to input data such as a user name in the “input value”, but a malicious attacker may use a character string “that forms part of the SQL command as a whole in the“ input value ”. Enter 'OR' t '=' t 'and as a result, select all records.

そのため、CGIを用いたアプリケーションのプログラミングにおいては、入力値のチェックが欠かせない。例えばユーザ名の入力を期待する場合には、ユーザ名として入力を許容する文字のみを許容し、ユーザ名として使われない「%」や「<」、「>」などの特殊な文字は許容しないようにする。また攻撃によく用いられる危険な文字または文字列が既知であれば、それをサニタイズして入力から取り除くことも効果がある。   For this reason, it is indispensable to check input values in application programming using CGI. For example, when the user name is expected to be entered, only characters that can be entered as the user name are allowed, and special characters such as “%”, “<”, and “>” that are not used as the user name are not allowed. Like that. It is also effective to sanitize and remove dangerous characters or character strings that are often used for attacks from the input.

さらにSQLインジェクション攻撃を防ぐため、SQLで使われる「’」や「%」の他、HTMLで使われる「<」や「>」を検知し、データの内容を変えないように変換するエスケープ処理が行われる。例えば、「<」や「>」は「&lt;」や「&gt;」のように変換される。   To prevent SQL injection attacks, there is an escape process that detects “<” and “>” used in HTML in addition to “'” and “%” used in SQL and converts them so that the data contents are not changed. Done. For example, “<” and “>” are converted into “&lt;” and “&gt;”.

プログラム中に含まれる可能性のある脆弱性の探索を人手で行うことは、特に大規模なプログラムでは、コストと脆弱性の見落とす可能性から得策ではない。そこで、人手に代わって脆弱性診断ツールを用いてアプリケーションプログラムに含まれる脆弱性を診断することが行われている。脆弱性診断ツールにより発見された脆弱な部分について人手で修正する作業を、脆弱性診断ツールにより脆弱性が発見されなくなるまで繰り返すことで、プログラムを完成させる。   Searching for potential vulnerabilities that can be included in a program manually is not a good idea, especially in large programs, because of the possibility of overlooking costs and vulnerabilities. Therefore, a vulnerability diagnosis tool is used instead of human labor to diagnose a vulnerability included in an application program. The program is completed by repeating the process of manually correcting the vulnerable part discovered by the vulnerability diagnostic tool until no vulnerability is discovered by the vulnerability diagnostic tool.

しかし、既にサービスが開始されているページでは、サービスを一旦中止して修正プログラムを導入することが困難である。また、大規模なプログラムでは修正に長い時間がかかり、その間脆弱性をもつコンテンツがネットワーク上に曝されることとなる。そこで、この実施形態では、防御部24を導入して脆弱性のあるコンテンツを安全に提供できるようにしている。   However, on a page where the service has already been started, it is difficult to stop the service and introduce a correction program. In addition, in a large-scale program, it takes a long time to modify, and in the meantime, contents having vulnerability are exposed on the network. Therefore, in this embodiment, the defense unit 24 is introduced so that vulnerable content can be safely provided.

(防御部24の機能)
サーバに対する攻撃の例と防御部24の機能について詳細に説明する。防御部24は、コンテンツの脆弱性をついた外部からの攻撃を防ぐ。すなわち、防御部24は、CGIプログラム(プログラムcなど)の脆弱性がネットワーク上に露呈しないように、クライアント42aから送られるリクエスト中のパラメータに危険なものが含まれていないかどうか検査する。この検査は、アプリケーション層で行われる。検査の結果、脆弱性を攻撃する可能性がある文字列を発見した場合、防御部24は、当該文字列を無害化するように書換えて後段のサーバに転送するか、転送自体を中止する。
(Function of the defense unit 24)
An example of an attack against the server and the function of the defense unit 24 will be described in detail. The defense unit 24 prevents an attack from the outside with a content vulnerability. That is, the defense unit 24 checks whether or not a dangerous parameter is included in the parameter sent from the client 42a so that the vulnerability of the CGI program (program c or the like) is not exposed on the network. This check is performed at the application layer. As a result of the inspection, when a character string that may attack the vulnerability is found, the defense unit 24 rewrites the character string so as to be harmless and transfers the character string to a subsequent server or stops the transfer itself.

ここで、「アプリケーション層」、「物理層」とは、国際標準化機構(ISO)により制定された、異機種間のデータ通信を実現するためのネットワーク構造の設計方針(OSI)に基づいて階層構造に分割した各機能を意味している。すなわち、OSIでは、通信機能を下層から順に物理層(L1)、データリンク層(L2)、ネットワーク層(L3)、トランスポート層(L4)、セッション層(L5)、プレゼンテーション層(L6)、アプリケーション層(L7)の7階層に分けている。インターネットではこのうち下位から2層目のデータリンク層にはイーサネット(登録商標)が、3層目のネットワーク層にはインターネットプロトコル(IP)が、それぞれ用いられることが多い。   Here, the “application layer” and “physical layer” are hierarchical structures based on a network structure design policy (OSI) established by the International Organization for Standardization (ISO) to realize data communication between different models. It means each function divided into. In other words, in OSI, the communication functions are arranged in order from the lower layer to the physical layer (L1), data link layer (L2), network layer (L3), transport layer (L4), session layer (L5), presentation layer (L6), application. It is divided into seven layers of layers (L7). In the Internet, the Ethernet (registered trademark) is often used for the second lower data link layer, and the Internet protocol (IP) is often used for the third network layer.

図3Aは、防御部24の中核をなすリバースプロキシ244の機能構成の例を示している。図3Aに示すように、防御部24におけるリバースプロキシ244は、第1変換部244a、攻撃判定部244b、および第2変換部244cを備えている。   FIG. 3A shows an example of the functional configuration of the reverse proxy 244 that forms the core of the defense unit 24. As shown in FIG. 3A, the reverse proxy 244 in the defense unit 24 includes a first conversion unit 244a, an attack determination unit 244b, and a second conversion unit 244c.

第1変換部244aは、物理層(L1)にて受信したパケットをアプリケーション層(L7)まで解釈し元のデータに変換する。攻撃判定部244bは、クライアントから送られてきたデータからパラメータの入力値を取り出し、その文字列に脆弱性を攻撃する可能性の有無を判断し、文字列を無害化するように書換えるか廃棄する。第2判定部244cは、攻撃判定部244bから出力されたデータ(元のデータまたは無害化されたデータ)を再びアプリケーション層(L7)から物理層(L1)まで変換してパケットを出力する。かかる構成を有するリバースプロキシ244は、送られたパケットから元のデータを取り出して攻撃性の有無を判定するので、外部からの攻撃を効果的に防御することができる。   The first conversion unit 244a interprets the packet received at the physical layer (L1) up to the application layer (L7) and converts it to the original data. The attack determination unit 244b extracts the input value of the parameter from the data sent from the client, determines whether or not there is a possibility of attacking the vulnerability to the character string, and rewrites or discards the character string to make it harmless To do. The second determination unit 244c converts the data (original data or detoxified data) output from the attack determination unit 244b again from the application layer (L7) to the physical layer (L1), and outputs a packet. Since the reverse proxy 244 having such a configuration extracts the original data from the transmitted packet and determines the presence or absence of aggression, it can effectively prevent an attack from the outside.

一方で、図3Aに示すリバースプロキシ244を備えた防御部24は、全てのパケットを一旦アプリケーション層まで解釈するため、トラヒックのボトルネックとなりやすい。図3Bに示すようなデータリンク層のL2スイッチおよびネットワーク層のL3スイッチをもつルータ245と比較しても、解析処理と変換処理に時間を要するのは明らかである。   On the other hand, the defense unit 24 including the reverse proxy 244 illustrated in FIG. 3A easily interprets all the packets up to the application layer, and thus easily becomes a traffic bottleneck. Even when compared with the router 245 having the L2 switch in the data link layer and the L3 switch in the network layer as shown in FIG. 3B, it is clear that the analysis process and the conversion process take time.

そこで、実施形態に係るセキュリティサーバシステムでは、防御部24に処理させるトラヒックを、脆弱性を持ったコンテンツへのアクセスのみに絞り込むことで、処理能力を向上させている。   Therefore, in the security server system according to the embodiment, the processing capability is improved by narrowing down the traffic to be processed by the defense unit 24 to only access to content having vulnerability.

(脆弱性判定部の動作)
続いて、図1ないし図4を参照して、この実施形態のセキュリティサーバシステムの動作を説明する。
(Operation of vulnerability judgment unit)
Next, the operation of the security server system of this embodiment will be described with reference to FIGS.

この実施形態に係るセキュリティサーバシステムでは、ユーザは、ネットワーク40を通じてクライアント42a・42bに提供しようとするコンテンツA〜Cの電子ファイル群をファイル受付部30に格納する(ステップS51。以下「S51」のように称する。)。具体的には、ユーザは、所望の電子ファイル群をハードディスク上の所定のフォルダに保存する。   In the security server system according to this embodiment, the user stores the electronic file group of the contents A to C to be provided to the clients 42a and 42b through the network 40 in the file accepting unit 30 (step S51; hereinafter referred to as “S51”). So called). Specifically, the user saves a desired electronic file group in a predetermined folder on the hard disk.

ファイル受付部30が電子ファイルを受け取ると、テキスト抽出部301は、判定テーブル34から脆弱性情報を読み出す(S52)。脆弱性情報は、例えば、脆弱性が指摘されている脆弱コマンド341や攻撃性をもつサイトのURLなどの危険アドレス342などを含んでおり、あらかじめ判定テーブル34に格納されている。   When the file reception unit 30 receives the electronic file, the text extraction unit 301 reads vulnerability information from the determination table 34 (S52). Vulnerability information includes, for example, a vulnerability command 341 in which a vulnerability is pointed out, a dangerous address 342 such as a URL of a site with aggressiveness, and the like, and is stored in the determination table 34 in advance.

脆弱性情報を読み出すと、テキスト抽出部301は、当該脆弱性情報を用いて、ファイル受付部30が受け取った電子ファイルから脆弱コマンド341や危険アドレス342と全体または一部が一致したデータを検索・抽出するテキスト抽出処理を実行する(S53)。抽出処理結果は、判定部302に送られる。   When the vulnerability information is read out, the text extraction unit 301 uses the vulnerability information to search the electronic file received by the file reception unit 30 for data that partially or completely matches the vulnerability command 341 and the dangerous address 342. Text extraction processing to be extracted is executed (S53). The extraction process result is sent to the determination unit 302.

判定部302は、テキスト抽出部301による抽出処理結果に基づいて、ファイル受付部30が受け取った電子ファイルの脆弱性を判定する(S54)。判定の基準は、サイトの規模やコンテンツの種類に応じて様々に定義することができる。例えば、判定部302は、ファイル受付部30が受け取った電子ファイルに一つでも脆弱コマンド341や危険アドレス342が含まれていた場合に脆弱性ありと判定してもよいし、一定基準以上含まれていた場合に脆弱性ありと判定してもよい。ここでいう「脆弱性」は、外部からの攻撃に対する脆弱性を意味するから、判定部302は、テキスト情報しか含まないHTMLファイルや純粋な画像データなどについては脆弱性なしと判定してもよい。   The determination unit 302 determines the vulnerability of the electronic file received by the file reception unit 30 based on the extraction processing result by the text extraction unit 301 (S54). Judgment criteria can be variously defined according to the size of the site and the type of content. For example, the determination unit 302 may determine that there is a vulnerability when at least one vulnerable command 341 or dangerous address 342 is included in the electronic file received by the file receiving unit 30, or it may be included above a certain standard. If it is, it may be determined that there is a vulnerability. Since “vulnerability” here means vulnerability to an attack from the outside, the determination unit 302 may determine that there is no vulnerability in an HTML file or pure image data including only text information. .

判定の結果、脆弱性が全くない場合(S55のNo)、例えば、判定対象の電子ファイルが安全なHTMLファイルのみからなるコンテンツAのような場合、ファイル格納部304は、ファイル受付部30が受け取った電子ファイルを全て第1記憶部12に格納(移動またはコピー)する。すなわち、安全なコンテンツについては、アクセス速度等を優先して、防御部24を設けていない第1サーバ10が提供するようにする。図2には、判定部302により脆弱性なしと判定されたコンテンツAのページa・121が、ファイル受付部30から第1記憶部12に格納された様子が示されている。   As a result of the determination, if there is no vulnerability at all (No in S55), for example, if the electronic file to be determined is content A consisting only of a safe HTML file, the file receiving unit 30 receives the file storage unit 304. All electronic files are stored (moved or copied) in the first storage unit 12. That is, for the safe content, priority is given to the access speed or the like, and the first server 10 not provided with the defense unit 24 is provided. FIG. 2 shows a state in which the page a • 121 of the content A determined as having no vulnerability by the determination unit 302 is stored in the first storage unit 12 from the file reception unit 30.

判定の結果、脆弱性が発見された場合(S55のYes)、テキスト抽出部301は、判定部302が脆弱性を発見したデータと発見しなかったデータとを区分する。すなわち、テキスト抽出部301は、ファイル受付部30が受け取った電子ファイルのうち脆弱性が発見されたプログラムと発見されなかったプログラムとに区分する。このとき、ファイル受付部30が受け取った電子ファイルの全てに脆弱性が発見された場合(S57のYes)、ファイル格納部304は、当該ファイルを全て第2記憶部22に格納する(S58)。すなわち、構成する全てのプログラムに脆弱性があるコンテンツは、安全性を優先して、プログラムに対する全てのアクセスが防御部24を経由する第2サーバ20により提供されるようにする。図2には、判定部302により脆弱性ありと判定されテキスト抽出部301が全データに脆弱性を発見したコンテンツCのうちプログラムc・123bが、ファイル受付部30から第2記憶部22に格納された様子が示されている。なお、コンテンツCのうちページc・123aは、脆弱性を有さないから、第1記憶部12に格納されている。   If a vulnerability is found as a result of the determination (Yes in S55), the text extraction unit 301 classifies the data for which the determination unit 302 has found the vulnerability and the data that has not been found. That is, the text extraction unit 301 classifies the electronic file received by the file reception unit 30 into a program in which a vulnerability is found and a program in which no vulnerability is found. At this time, when the vulnerability is found in all the electronic files received by the file receiving unit 30 (Yes in S57), the file storage unit 304 stores all the files in the second storage unit 22 (S58). That is, content that is vulnerable to all the programs that are configured is given priority to safety, and all accesses to the programs are provided by the second server 20 via the defense unit 24. In FIG. 2, the program c 123 b is stored in the second storage unit 22 from the file reception unit 30 among the contents C in which the determination unit 302 determines that there is vulnerability and the text extraction unit 301 has found vulnerability in all data. The state of being done is shown. Note that the page c • 123a of the content C is stored in the first storage unit 12 because it does not have vulnerability.

ファイル受付部30が受け取った電子ファイルが脆弱性が発見されたデータと発見されなかったデータとにより構成される場合(S57のNo)、リンク整合部303は、脆弱性が発見されたデータと発見されなかったデータとの間の関連づけを更新する(S59)。そして、ファイル格納部304は、脆弱性が発見されたデータを第2記憶部22に格納するとともに発見されなかったデータを第1記憶部12に格納する(S60)。リンク整合部303による関連づけの更新は、ファイル受付部30が受け取った電子ファイルが、第1記憶部12および第2記憶部22に分散して格納されることによって発生するリンク切れを解消する。すなわち、脆弱性が発見されなかったデータから脆弱性が発見されたデータへ移動するリンクは、第2サーバ20のアドレス(URL)宛に変更される。同様に、脆弱性が発見されたデータから脆弱性が発見されなかったデータへ移動するリンクは、第1サーバ10のアドレス宛に変更される。これにより、一つのコンテンツが複数に分割して保管・提供されることに起因するリンク切れ等の不具合を防ぐことができる。図2には、脆弱性のないページb・122aおよび脆弱性が発見されなかったプログラムb1・122bが、脆弱性が発見されたプログラムb2・122cと区分され、第1記憶部12および第2記憶部22それぞれに格納された様子が示されている。   When the electronic file received by the file accepting unit 30 is composed of data for which vulnerability is found and data for which vulnerability has not been found (No in S57), the link matching unit 303 identifies data for which the vulnerability has been found and discovery The association with the data that has not been updated is updated (S59). Then, the file storage unit 304 stores data in which the vulnerability is found in the second storage unit 22 and stores data that has not been found in the first storage unit 12 (S60). The update of the association by the link matching unit 303 eliminates the broken link that occurs when the electronic file received by the file receiving unit 30 is distributed and stored in the first storage unit 12 and the second storage unit 22. That is, the link that moves from the data for which no vulnerability is found to the data for which the vulnerability is found is changed to the address (URL) of the second server 20. Similarly, the link that moves from the data in which the vulnerability is found to the data in which the vulnerability is not found is changed to the address of the first server 10. As a result, it is possible to prevent inconveniences such as broken links due to one content being divided and stored and provided. In FIG. 2, the pages b and 122a having no vulnerability and the programs b1 and 122b in which no vulnerability is found are classified as the programs b2 and 122c in which the vulnerability is found, and the first storage unit 12 and the second storage are stored. The state stored in each part 22 is shown.

図4のステップ51からステップ60までを繰り返すことで、クライアント42a・42bに提供されるコンテンツが、外部からの攻撃に対する脆弱性の有無を基準に第1記憶部12および第2記憶部22に振り分けられて格納され、第1サーバ10および第2サーバ20により別個に提供される。   By repeating steps 51 to 60 in FIG. 4, the content provided to the clients 42a and 42b is distributed to the first storage unit 12 and the second storage unit 22 based on the presence or absence of vulnerability to external attacks. Stored separately and provided separately by the first server 10 and the second server 20.

例えば、クライアント42aがブラウザアプリケーションを用いてページa121を参照したとすると、参照要求はWEBサーバ102に送られ、WEBサーバ102は、ページa121を第1記憶部12から読み出し、ネットワーク40を介してクライアント40aに送る。一方、クライアント42aが脆弱性のあるプログラムc・123bを実行するページc・123aを参照したり、一部に脆弱性のあるプログラムb2・122cを実行するページbを参照したりすると、参照要求は、ネットワーク40を経由してファイアウォール242へ送られ、次いでリバースプロキシ242を経由してWEBサーバ202に到達する。このとき、クライアント42aからの参照要求が攻撃性を有していても、リバースプロキシ242により無害化または廃棄されるので、WEBサーバ202やCGI部204の脆弱性を攻撃されることはない。   For example, if the client 42 a refers to the page a 121 using the browser application, the reference request is sent to the WEB server 102, and the WEB server 102 reads the page a 121 from the first storage unit 12 and transmits the page a 121 via the network 40. Send to 40a. On the other hand, when the client 42a refers to the page c • 123a that executes the vulnerable program c • 123b, or refers to the page b that partially executes the vulnerable program b2 • 122c, the reference request is And sent to the firewall 242 via the network 40, and then reaches the WEB server 202 via the reverse proxy 242. At this time, even if the reference request from the client 42a has aggression, it is made harmless or discarded by the reverse proxy 242, so that the vulnerability of the WEB server 202 or the CGI unit 204 is not attacked.

WEBサーバ202は、CGI部204が第2記憶部22から読み出したプログラムb2やプログラムcを実行して得たページデータを、ネットワーク40を介してクライアント42aに送る。   The WEB server 202 sends page data obtained by executing the program b2 or the program c read by the CGI unit 204 from the second storage unit 22 to the client 42a via the network 40.

この実施形態のセキュリティサーバシステムによれば、脆弱性を含むアプリケーションへのアクセスは防御手段を経由して第2サーバに接続され、脆弱性を含まない大多数のアクセスは防御手段を経由することなく直接第1サーバに接続されるから、防御手段のトラヒック負荷を低減することができる。   According to the security server system of this embodiment, the access to the application including the vulnerability is connected to the second server via the defense means, and the majority access without the vulnerability does not pass through the protection means. Since it is directly connected to the first server, the traffic load of the defense means can be reduced.

なお、図4に示す例では、テキスト抽出部301は、ファイル受付部30が受け取った電子ファイルのうち脆弱性が発見されたファイル(プログラム)と発見されなかったファイル(プログラム)とに区分し、ファイル格納部304は、区分された当該ファイルを第1記憶部12および第2記憶部22それぞれに格納しているが、これには限定されない。すなわち、ファイル格納部304は、コンテンツを構成するファイル(プログラム)のうち一部でも脆弱性を発見した場合、全てのファイル(ページおよびプログラム)を第2記憶部22に格納してもよい。この場合、テキスト抽出部による抽出漏れ・区分漏れがあった場合でも、脆弱性のあるファイル(プログラム)を確実に第2サーバ20から提供することができる。また、ファイルの区分をせず一括して第1記憶部12または第2記憶部22に格納するので、ファイル受付から第1または第2サーバへの格納を高速に処理することができる。   In the example illustrated in FIG. 4, the text extraction unit 301 classifies the electronic file received by the file reception unit 30 into a file (program) in which a vulnerability is found and a file (program) in which the vulnerability is not found, The file storage unit 304 stores the divided files in the first storage unit 12 and the second storage unit 22, respectively, but is not limited thereto. That is, the file storage unit 304 may store all files (pages and programs) in the second storage unit 22 when a vulnerability is found in some of the files (programs) constituting the content. In this case, even if there is an extraction omission or division omission by the text extraction unit, a vulnerable file (program) can be reliably provided from the second server 20. In addition, since the files are stored in the first storage unit 12 or the second storage unit 22 in a lump without dividing the files, the storage from the file reception to the first or second server can be processed at high speed.

(第2の実施形態)
続いて、本発明の第2の実施の形態を、図面を参照して詳細に説明する。この実施形態に係るセキュリティサーバシステムは、図1および図2に示す第1の実施形態に係るセキュリティサーバシステムの構成の一部を変更したものである。そこで、以下の説明においては、第1の実施形態と共通する要素については同一の符号を付して示し、重複する説明を省略する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. The security server system according to this embodiment is obtained by changing a part of the configuration of the security server system according to the first embodiment shown in FIGS. 1 and 2. Therefore, in the following description, elements that are the same as those in the first embodiment are denoted by the same reference numerals, and redundant description is omitted.

図5に示すように、第2の実施形態に係るセキュリティサーバシステム2は、第1サーバ10および第2サーバ20を備えている。第1サーバ10および第2サーバ20には、それぞれ第1記憶部12および第2記憶部22が接続されている。第1サーバ10は、通信経路選択部126を介してネットワーク40と接続されており、第2サーバ20は、防御部24および通信経路選択部126を介してネットワーク40と接続されている。さらに、この実施形態に係るセキュリティサーバシステム2は、ファイル受付部30、脆弱性判定部132、判定テーブル34を備えている。すなわち、第2の実施形態に係るセキュリティサーバシステム2は、第1の実施形態に係るセキュリティサーバシステム1に通信経路選択部126を追加した構成を有している。   As shown in FIG. 5, the security server system 2 according to the second embodiment includes a first server 10 and a second server 20. A first storage unit 12 and a second storage unit 22 are connected to the first server 10 and the second server 20, respectively. The first server 10 is connected to the network 40 via the communication path selection unit 126, and the second server 20 is connected to the network 40 via the defense unit 24 and the communication path selection unit 126. Furthermore, the security server system 2 according to this embodiment includes a file reception unit 30, a vulnerability determination unit 132, and a determination table 34. That is, the security server system 2 according to the second embodiment has a configuration in which the communication path selection unit 126 is added to the security server system 1 according to the first embodiment.

通信経路選択部126は、ネットワーク40から送られるアクセス要求を、第1サーバ10または第2サーバ20のいずれかに振り分ける機能要素である。通信経路選択部126は、例えばネットワーク機器の一種であるルータにより実現することができる。あるいは、通信経路選択部126の機能をネットワーク40上に設けられるDNS(Domain Name System)を利用することによっても実現可能である。   The communication path selection unit 126 is a functional element that distributes an access request sent from the network 40 to either the first server 10 or the second server 20. The communication path selection unit 126 can be realized by a router which is a kind of network device, for example. Alternatively, the function of the communication path selection unit 126 can be realized by using a DNS (Domain Name System) provided on the network 40.

(第2の実施形態の具体的構成)
次に、図6を参照して、第2の実施形態に係るセキュリティサーバシステムの構成をより詳細に説明する。図6に示すように、脆弱性判定部132は、テキスト抽出部301、判定部302、アドレス処理部403およびファイル格納部304を有している。第2の実施形態の脆弱性判定部132は、第1の実施形態の脆弱性判定部32と比較すると、アドレス処理部403を備える点において相違している。
(Specific Configuration of Second Embodiment)
Next, the configuration of the security server system according to the second embodiment will be described in more detail with reference to FIG. As illustrated in FIG. 6, the vulnerability determination unit 132 includes a text extraction unit 301, a determination unit 302, an address processing unit 403, and a file storage unit 304. The vulnerability determination unit 132 of the second embodiment is different from the vulnerability determination unit 32 of the first embodiment in that an address processing unit 403 is provided.

テキスト抽出部301は、受け取った電子ファイルから所定の文字列等を検索して抽出する機能要素である。判定部302は、テキスト抽出部301による検索結果に基づいて当該受け取った電子ファイルの脆弱性を判定し、脆弱性のあるデータと脆弱性のないデータを区分する。アドレス処理部403は、判定部302による判定テーブル34を用いた区分結果に基づいて、ネットワーク40からのアクセスを第1サーバ10または第2サーバ20に振り分けるよう通信経路選択部126に指示する機能要素である。ファイル格納部304は、判定部302による区分結果に基づいて、電子ファイルを第1サーバ10と接続された第1記憶部12または第2サーバ20と接続された第2記憶部22のいずれかに格納する機能要素である。   The text extraction unit 301 is a functional element that searches and extracts a predetermined character string or the like from the received electronic file. The determination unit 302 determines the vulnerability of the received electronic file based on the search result by the text extraction unit 301, and classifies the vulnerable data and the non-vulnerable data. The address processing unit 403 instructs the communication path selection unit 126 to distribute the access from the network 40 to the first server 10 or the second server 20 based on the classification result using the determination table 34 by the determination unit 302. It is. The file storage unit 304 stores the electronic file in either the first storage unit 12 connected to the first server 10 or the second storage unit 22 connected to the second server 20 based on the classification result by the determination unit 302. A functional element to be stored.

(第2の実施形態の動作)
図5ないし図7を参照して、この実施形態のセキュリティサーバシステムの動作を説明する。以下の説明では、脆弱性のないページaのみからなるコンテンツA、脆弱性のないページbと脆弱性のないプログラムb1と脆弱性のあるプログラムb2とからなるコンテンツB、および、脆弱性のないページcと脆弱性のあるプログラムcとからなるコンテンツCをネットワーク上で提供するものとする。
(Operation of Second Embodiment)
The operation of the security server system of this embodiment will be described with reference to FIGS. In the following description, content A consisting only of page a without vulnerability, content B consisting of page b without vulnerability, program b1 without vulnerability, and program b2 with vulnerability, and page without vulnerability It is assumed that content C consisting of c and a vulnerable program c is provided on the network.

この実施形態に係るセキュリティサーバシステムにおいては、サーバによるサービス提供者は、クライアント42a・42bに提供しようとするコンテンツの電子ファイルを、ファイル受付部30に格納する(ステップS51。以下「S51」のように称する。)。具体的には、ユーザは、所望の電子ファイルをハードディスク上の所定のフォルダに保存する。以下、判定部302によるファイル受付部30が受け取った電子ファイルの脆弱性の判定まで、第1の実施形態と動作は同じである(図7中S52〜S54)   In the security server system according to this embodiment, the service provider of the server stores the electronic file of the content to be provided to the clients 42a and 42b in the file receiving unit 30 (step S51, hereinafter "S51"). ). Specifically, the user stores a desired electronic file in a predetermined folder on the hard disk. Hereinafter, the operation is the same as that of the first embodiment until the determination of the vulnerability of the electronic file received by the file reception unit 30 by the determination unit 302 (S52 to S54 in FIG. 7).

判定の結果、脆弱性が全くない場合(S55のNo)、例えば、判定対象の電子ファイルが安全なHTMLファイルのみからなるコンテンツAのような場合、ファイル格納部304は、ファイル受付部30が受け取った電子ファイルを全て第1記憶部12に格納する。すなわち、安全なコンテンツについては、アクセス速度等を優先して、防御部24を設けていない第1サーバ10により提供されるようにする。図6には、判定部302により脆弱性なしと判定されたコンテンツAのページa・121が、ファイル受付部30から第1記憶部12に格納された様子が示されている。   As a result of the determination, if there is no vulnerability at all (No in S55), for example, if the electronic file to be determined is content A consisting only of a safe HTML file, the file receiving unit 30 receives the file storage unit 304. All the electronic files stored in the first storage unit 12 are stored. That is, the safe content is provided by the first server 10 that does not have the defense unit 24, giving priority to the access speed and the like. FIG. 6 illustrates a state in which the page a • 121 of the content A determined as having no vulnerability by the determination unit 302 is stored in the first storage unit 12 from the file reception unit 30.

判定の結果、脆弱性が発見された場合(S55のYes)、ファイル格納部304は、当該電子ファイルを全て第2記憶部22に格納する(S157)。すなわち、構成するプログラムに脆弱性があるコンテンツは、安全性等を優先して、プログラムに対する全てのアクセスが防御部24を経由する第2サーバ20により提供されるようにする。図6には、判定部302により脆弱性ありと判定されたコンテンツCのうちプログラムc・123bが、ファイル受付部30から第2記憶部22に格納された様子が示されている。   If a vulnerability is found as a result of the determination (Yes in S55), the file storage unit 304 stores all the electronic files in the second storage unit 22 (S157). In other words, content that has a vulnerability in a program to be configured is provided by the second server 20 via the defense unit 24, giving priority to safety and the like, and all accesses to the program. FIG. 6 shows a state in which the program c · 123b of the content C determined to be vulnerable by the determination unit 302 is stored in the second storage unit 22 from the file reception unit 30.

ファイル格納部304が電子ファイルの格納を行うと、アドレス処理部403は、第1記憶部12および第2記憶部22それぞれに格納されたコンテンツと、コンテンツを提供する第1サーバ10および第2サーバ20それぞれのアドレス(当該コンテンツを提供するクライアント42a・42bがネットワーク40を介してアクセスするためのアドレス)とを関係付けたアドレス情報を生成し、通信経路選択部126に送る(S158)。通信経路選択部126は、アドレス処理部403から送られたアドレス情報に基づいて、第1記憶部12および第2記憶部22それぞれに格納されたコンテンツと第1サーバ10および第2サーバ20それぞれを示すアドレスとを対応付けて自身のメモリ領域に記憶する。   When the file storage unit 304 stores the electronic file, the address processing unit 403 stores the contents stored in the first storage unit 12 and the second storage unit 22 respectively, and the first server 10 and the second server that provide the content. Address information that associates each of the 20 addresses (addresses for the clients 42a and 42b providing the content to access via the network 40) is generated and sent to the communication path selection unit 126 (S158). Based on the address information sent from the address processing unit 403, the communication path selection unit 126 selects the contents stored in the first storage unit 12 and the second storage unit 22 and the first server 10 and the second server 20 respectively. The address shown is associated and stored in its own memory area.

図6のステップ51からステップ158までを繰り返すことで、クライアント42a・42bに提供されるコンテンツが、外部からの脆弱性の有無を基準に第1記憶部12および第2記憶部22に振り分けられて格納されるとともに、振り分けられたコンテンツと第1サーバ10および第2サーバ20それぞれのアドレスとが対応付けられる。   By repeating step 51 to step 158 in FIG. 6, the content provided to the clients 42a and 42b is distributed to the first storage unit 12 and the second storage unit 22 based on the presence or absence of external vulnerabilities. The stored contents are associated with the addresses of the first server 10 and the second server 20, respectively.

例えば、クライアント42aがブラウザアプリケーションを用いてページa・121を参照したとすると、参照要求は、ネットワーク40を介して通信経路選択部126に送られる。通信経路選択部126は、ページa・121を提供するアドレスをメモリ領域に記憶したアドレスから選択し、当該参照要求をWEBサーバ102に送る。WEBサーバ102は、ページa・121を第1記憶部12から読み出し、ネットワーク40を介してクライアント42aに送る。   For example, if the client 42 a refers to the page a 121 using the browser application, the reference request is sent to the communication path selection unit 126 via the network 40. The communication path selection unit 126 selects an address for providing the page a • 121 from the addresses stored in the memory area, and sends the reference request to the WEB server 102. The WEB server 102 reads the page a · 121 from the first storage unit 12 and sends it to the client 42 a via the network 40.

クライアント42aが脆弱性のあるプログラムc・123bを実行するページc・123aを参照すると、参照要求は、ネットワーク40を介して通信経路選択部126に送られる。通信経路選択部126は、プログラムc・123bの実行結果を提供するアドレスをメモリ領域に記憶したアドレスから選択し、当該参照要求をファイアウォール242へ送る。ファイアウォール242に送られた参照要求は、次いでリバースプロキシ242を経由してWEBサーバ202に到達する。このとき、クライアント42aからの参照要求が攻撃性を有していても、リバースプロキシ242により無害化または廃棄されているので、WEBサーバ202やCGI部204の脆弱性が攻撃されることはない。   When the client 42a refers to the page c • 123a that executes the vulnerable program c • 123b, the reference request is sent to the communication path selection unit 126 via the network 40. The communication path selection unit 126 selects an address that provides the execution result of the program c · 123b from the addresses stored in the memory area, and sends the reference request to the firewall 242. The reference request sent to the firewall 242 then reaches the WEB server 202 via the reverse proxy 242. At this time, even if the reference request from the client 42a has aggression, the vulnerability of the WEB server 202 or the CGI unit 204 is not attacked because it is rendered harmless or discarded by the reverse proxy 242.

WEBサーバ202は、CGI部204が第2記憶部22から読み出したプログラムcを実行して得たページデータを、ネットワーク40を介してクライアント42aに送る。   The WEB server 202 sends the page data obtained by executing the program c read from the second storage unit 22 by the CGI unit 204 to the client 42 a via the network 40.

なお、この例では、通信経路選択部126がルータとして機能するものとして説明したが、これには限定されない。通信経路選択部126の機能をDNSにより実現する場合、クライアント42aからのクエリーをDNSが受けると、クエリーに含まれるURLに応じたページを示すIPアドレスをメモリ領域に記憶したIPアドレスから選択し、クライアント42aに当該アドレスを返し、クライアント42aは、返されたアドレスを用いて参照要求を再度発行すればよい。この場合、DNSは、この実施形態の通信経路選択部126のように直接第1サーバ10や防御部24に接続されている必要はなく、第1サーバ10や防御部24は、第1の実施形態に示したようにネットワーク40と直接接続されることができる。   In this example, the communication path selection unit 126 has been described as functioning as a router. However, the present invention is not limited to this. When the function of the communication path selection unit 126 is realized by DNS, when the DNS receives a query from the client 42a, the IP address indicating the page corresponding to the URL included in the query is selected from the IP addresses stored in the memory area, The address may be returned to the client 42a, and the client 42a may issue a reference request again using the returned address. In this case, the DNS does not need to be directly connected to the first server 10 or the defense unit 24 like the communication path selection unit 126 of this embodiment, and the first server 10 and the defense unit 24 are not connected to the first implementation. As shown in the form, it can be directly connected to the network 40.

この実施形態のセキュリティサーバシステムによれば、脆弱性を含むアプリケーションへのアクセスは防御手段を介して第2サーバに接続され、脆弱性を含まない大多数のアクセスは防御手段を経由することなく直接第1サーバに接続されるから、防御手段のトラヒック負荷を低減することができる。また、この実施形態のセキュリティサーバシステムによれば、通信経路選択部を備えたので、コンテンツの脆弱性の有無に応じて確実に参照先を指定することができる。   According to the security server system of this embodiment, access to the application including the vulnerability is connected to the second server via the defense means, and the majority of accesses not including the vulnerability are directly performed without going through the protection means. Since it is connected to the first server, the traffic load of the defense means can be reduced. Further, according to the security server system of this embodiment, since the communication path selection unit is provided, it is possible to reliably specify the reference destination according to the presence or absence of content vulnerability.

なお、第2の実施形態では、コンテンツを構成するファイルの一部のみに脆弱性が存在する場合(ページb、プログラムb1およびb2からなるコンテンツB)の判定をしていないが、これには限定されない。第1の実施形態と同様に、リンク整合部を設けて脆弱性のあるファイルのみを区分して第2記憶部に格納するように構成してもよい。   In the second embodiment, the determination is not made when there is a vulnerability in only a part of the files constituting the content (content B consisting of page b and programs b1 and b2), but this is not limitative. Not. As in the first embodiment, a link matching unit may be provided so that only vulnerable files are classified and stored in the second storage unit.

(通信経路選択部の他の動作例1)
コンテンツを構成する電子ファイル群を作成する際、コンテンツを提供するサーバのアドレス(URL)を、例えば「www1.sample.jp」、「www2.sample.co.jp」、「www3.sample.co.jp」のようにあらかじめ複数準備しておく。判定部302が、コンテンツBのプログラムb2やコンテンツCのプログラムcに脆弱性を発見した場合、ファイル格納部304は、コンテンツBあるいはコンテンツCの全てのファイルを第2記憶部22に格納する。併せて、アドレス処理部403は、DNSとしての通信経路選択部126に対し、「www1.sample.jp」が第2サーバ20のIPアドレスとなるように登録する。
(Other operation example 1 of communication path selection unit)
When creating the electronic file group constituting the content, the address (URL) of the server that provides the content is, for example, “www1.sample.jp”, “www2.sample.co.jp”, “www3.sample.co. Prepare multiple items in advance like “jp”. When the determination unit 302 finds a vulnerability in the program B2 of the content B and the program c of the content C, the file storage unit 304 stores all files of the content B or the content C in the second storage unit 22. In addition, the address processing unit 403 registers the “www1.sample.jp” as the IP address of the second server 20 in the communication path selection unit 126 as the DNS.

同様に、判定部302が、コンテンツAのページaあるいはコンテンツBのプログラムb1に脆弱性を発見しなかった場合、ファイル格納部304は、コンテンツAあるいはコンテンツBのうちプログラムb2に関する全てのファイルを第1記憶部12に格納する。併せて、アドレス処理部403は、DNSとしての通信経路選択部126に対し、「www1.sample.jp」が第1サーバ10のIPアドレスとなるように登録する。   Similarly, when the determination unit 302 finds no vulnerability in the page A of the content A or the program b1 of the content B, the file storage unit 304 stores all files related to the program b2 in the content A or the content B. 1 is stored in the storage unit 12. In addition, the address processing unit 403 registers the “www1.sample.jp” as the IP address of the first server 10 in the communication path selection unit 126 as the DNS.

すなわち、クライアント42a・42bは、インターネット上のDNSの機能により、自動的に第1サーバ10または第2サーバ20のいずれかにアクセスすることが可能となるから、コンテンツをなすページやプログラムに含まれるジャンプ先のURLを書き換えることなく、脆弱性な内容を含むコンテンツのみを第2サーバ20から提供することが可能になる。これは、防御部24の負荷を軽減することにもつながる。   That is, since the clients 42a and 42b can automatically access either the first server 10 or the second server 20 by the DNS function on the Internet, the clients 42a and 42b are included in the pages and programs that make up the content. Only the content including the vulnerable content can be provided from the second server 20 without rewriting the jump destination URL. This also leads to reducing the load on the defense unit 24.

(通信経路選択部の他の動作例2)
第1サーバ10および第2サーバ20を仮想的なドメイン(バーチャルドメイン)により1台のサーバで構築する。この場合、内部的に第1サーバ10と第2サーバ20のURLを変更できるから、通信経路選択部126をルータにより構築した場合、脆弱性の有無に応じて第1サーバ10および第2サーバ20のいずれかにアクセスを振り分けることができる。上記動作例1と同様に、コンテンツをなすページやプログラムに含まれるジャンプ先のURLを書き換えることなく、脆弱性な内容を含むコンテンツのみを第2サーバ20から提供することが可能になる。これは、防御部24の負荷を軽減することにもつながる。
(Other operation example 2 of communication path selection unit)
The first server 10 and the second server 20 are constructed by a single server using a virtual domain (virtual domain). In this case, since the URLs of the first server 10 and the second server 20 can be changed internally, when the communication path selection unit 126 is constructed by a router, the first server 10 and the second server 20 are determined according to the presence or absence of vulnerability. Access can be assigned to either of these. Similar to the first operation example, it is possible to provide only the content including the vulnerable content from the second server 20 without rewriting the jump destination URL included in the page or the program forming the content. This also leads to reducing the load on the defense unit 24.

(第3の実施形態)
次に、図8を参照して、第3の実施形態に係るセキュリティサーバシステムについて詳細に説明する。図8に示すように、この実施形態に係るセキュリティサーバシステムは、図1に示す第1の実施形態に係るセキュリティサーバシステムに、第3サーバ426および脆弱性スキャン部428をさらに備えたものである。そこで、共通する要素については同一の符号を付して示し、重複する説明は省略する。
(Third embodiment)
Next, a security server system according to the third embodiment will be described in detail with reference to FIG. As shown in FIG. 8, the security server system according to this embodiment further includes a third server 426 and a vulnerability scanning unit 428 in addition to the security server system according to the first embodiment shown in FIG. . Therefore, common elements are denoted by the same reference numerals, and redundant description is omitted.

第3サーバ426は、第1サーバ10および第2サーバ20と共通する機能を有するサーバであり、擬似的に第1サーバ10および第2サーバ20の動作を再現させる。第3サーバ426は、判定部302から与えられる擬似参照要求に応じて、ファイル受付部30が受け付けたコンテンツを脆弱性スキャン部428に提供する動作をする。   The third server 426 is a server having a function common to the first server 10 and the second server 20 and reproduces the operations of the first server 10 and the second server 20 in a pseudo manner. The third server 426 operates to provide the vulnerability scanning unit 428 with the content received by the file receiving unit 30 in response to the pseudo reference request given from the determination unit 302.

脆弱性スキャン部428は、第3サーバ426と接続され、クライアントに代わって擬似参照要求を第3サーバ426に発行するとともに、当該参照要求に応じて第3サーバ426が提供するファイル受付部30が受け取ったコンテンツのパケットをスキャンする機能要素である。スキャン制御部428は、判定テーブル434にあらかじめ記憶されたネットワーク経由の攻撃態様を示す攻撃情報に基づいて、攻撃性のある参照要求を第3サーバ426に対して発行する。また、スキャン制御部428は、判定テーブル434に記憶した攻撃情報に基づいて、第3サーバ426が提供したコンテンツ(ファイル受付部30が受け取ったコンテンツ)のパケットをスキャンし、当該パケットに保護すべきデータが含まれていないか(攻撃された結果サーバのセキュリティがやぶられていないか)を判定する機能要素である。   The vulnerability scanning unit 428 is connected to the third server 426, issues a pseudo reference request to the third server 426 on behalf of the client, and the file reception unit 30 provided by the third server 426 in response to the reference request It is a functional element that scans received content packets. The scan control unit 428 issues an aggressive reference request to the third server 426 based on the attack information indicating the attack mode via the network stored in the determination table 434 in advance. Further, the scan control unit 428 should scan the packet of the content provided by the third server 426 (content received by the file reception unit 30) based on the attack information stored in the determination table 434, and protect the packet. It is a functional element that determines whether data is included (whether the security of the server has been compromised as a result of the attack).

脆弱性スキャン部428は、例えば、NiktoやParos、skipfish等のツールにより実現することができる。脆弱性スキャン部428は、判定テーブル434に予め記憶された想定される各種攻撃方法による攻撃パケットを、第3サーバ426に対して実際に発行し、攻撃パケットに応じて提供されたパケットをスキャンする。脆弱性スキャン部428は、スキャン結果に基づいて、第3サーバ426の攻略が可能であるか否かを判定する。すなわち、攻撃が可能である場合、ファイル受付部30が受け取ったコンテンツには外部からの攻撃に対する脆弱性が存在することになる。   The vulnerability scanning unit 428 can be realized by a tool such as Nikto, Paros, and skipfish, for example. The vulnerability scanning unit 428 actually issues an attack packet by various assumed attack methods stored in advance in the determination table 434 to the third server 426, and scans the packet provided according to the attack packet. . The vulnerability scanning unit 428 determines whether or not the third server 426 can be captured based on the scan result. That is, when an attack is possible, the content received by the file reception unit 30 is vulnerable to an attack from the outside.

攻撃パケットとしては、例えば、SQLサーバとしてのDBサーバと接続されたWEBサーバに対して、前述したように文字列「' OR 't' = 't」を含めたものが考えられる。脆弱性スキャン部428は、スキャン結果に意図しないユーザの情報が漏洩していないかを確認し、漏洩していれば脆弱性があると判定して判定部302に通知する。この場合、脆弱性診断に用いるDBサーバのデータベースを復元するために用いたバックアップログに含まれる文字が、スキャン結果に漏洩しているか否かを判定することにより、情報漏洩の有無を判定することができる。新たな攻撃方法が発見された場合、攻撃情報として判定テーブル434に新たに記憶させることで、攻撃方法を最新に更新することが可能である。   As an attack packet, for example, a packet including a character string “'OR' t '=' t” as described above with respect to a WEB server connected to a DB server as an SQL server can be considered. The vulnerability scanning unit 428 checks whether or not unintended user information is leaked in the scan result, and if it is leaked, determines that there is a vulnerability and notifies the determination unit 302 of it. In this case, the presence or absence of information leakage is determined by determining whether or not the characters included in the backup log used to restore the database of the DB server used for vulnerability diagnosis are leaked in the scan result. Can do. When a new attack method is discovered, it is possible to update the attack method to the latest by newly storing it in the determination table 434 as attack information.

図8に示す実施形態のセキュリティサーバシステムの動作は、図4に示す第1の実施形態の動作とステップ54の判定処理を除き共通である。すなわち、第3サーバ426および脆弱性スキャン部428による脆弱性スキャンが、図4に示すステップ54の判定処理として実行される。   The operation of the security server system of the embodiment shown in FIG. 8 is the same as that of the first embodiment shown in FIG. That is, vulnerability scanning by the third server 426 and the vulnerability scanning unit 428 is executed as the determination processing in step 54 shown in FIG.

この実施形態のセキュリティサーバシステムによれば、判定部302に加えて、実際にサーバに攻撃パケットを発行するとともに提供されたパケットに漏洩データがあるか否か判定する脆弱性スキャン部428を備えたので、ファイル受付部30が受け取った電子ファイルに脆弱性があるかどうか正確に判定することができる。   According to the security server system of this embodiment, in addition to the determination unit 302, the vulnerability scanning unit 428 that actually issues an attack packet to the server and determines whether there is leaked data in the provided packet is provided. Therefore, it is possible to accurately determine whether the electronic file received by the file receiving unit 30 is vulnerable.

なお、図8に示す例では、第1サーバおよび第2サーバとは別に第3サーバを設けているが、これには限定されない。例えば、第1サーバ10をネットワーク40から切り離し、第1サーバ10に第3サーバ426の機能を代替させてもかまわない。   In the example shown in FIG. 8, the third server is provided separately from the first server and the second server, but the present invention is not limited to this. For example, the first server 10 may be disconnected from the network 40 and the first server 10 may be substituted for the function of the third server 426.

(第4の実施形態)
次に、図9を参照して、第4の実施形態に係るセキュリティサーバシステムについて詳細に説明する。図9に示すように、この実施形態に係るセキュリティサーバシステムは、図5に示す第2の実施形態に係るセキュリティサーバシステムに、第3サーバ426および脆弱性スキャン部428をさらに備えたものである。すなわち、第3の実施形態における第3サーバおよび脆弱性スキャン部を第2の実施形態に適用したものであり、第3サーバおよび脆弱性スキャン部の動作は第3の実施形態と共通する。
(Fourth embodiment)
Next, a security server system according to the fourth embodiment will be described in detail with reference to FIG. As shown in FIG. 9, the security server system according to this embodiment further includes a third server 426 and a vulnerability scanning unit 428 in addition to the security server system according to the second embodiment shown in FIG. . That is, the third server and vulnerability scanning unit in the third embodiment are applied to the second embodiment, and the operations of the third server and vulnerability scanning unit are the same as those in the third embodiment.

この実施形態のセキュリティサーバシステムにおいても、第3の実施形態と同様に、実際にサーバに攻撃パケットを発行するとともに提供されたパケットに漏洩データがあるか否か判定する脆弱性スキャン部428を備えたので、ファイル受付部30が受け取った電子ファイルに脆弱性があるかどうか正確に判定することができる。   Similarly to the third embodiment, the security server system of this embodiment also includes a vulnerability scanning unit 428 that issues an attack packet to the server and determines whether there is leaked data in the provided packet. Therefore, it is possible to accurately determine whether or not the electronic file received by the file receiving unit 30 is vulnerable.

なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

1…セキュリティサーバシステム、10…第1サーバ、12…第1記憶部、20…第2サーバ、22…第2記憶部、24…防御部、30…ファイル受付部、32…脆弱性判定部、34…判定テーブル、40…ネットワーク、42a,42b…クライアント。   DESCRIPTION OF SYMBOLS 1 ... Security server system, 10 ... 1st server, 12 ... 1st memory | storage part, 20 ... 2nd server, 22 ... 2nd memory | storage part, 24 ... Defense part, 30 ... File reception part, 32 ... Vulnerability determination part, 34 ... Determination table, 40 ... Network, 42a, 42b ... Client.

Claims (5)

ネットワークを介して送られる要求に応じてコンテンツを提供する第1のサーバシステムと、
前記第1のサーバシステムよりも前記ネットワークを経由した攻撃に対する強度が強く、前記ネットワークを介して送られる要求に応じてコンテンツを提供する第2のサーバシステムと、
前記ネットワークを介して提供するコンテンツを受け付ける受付部と、
前記ネットワークを経由した攻撃の影響を受け得るコンテンツ内容を示す脆弱情報を含む判定テーブルと、
前記脆弱情報に基づき、前記受付部が受け付けたコンテンツについて前記ネットワークを経由した攻撃に対する脆弱性の有無を判定する判定部と、
前記判定部の判定結果に応じて、前記受付部が受け付けたコンテンツを提供候補として前記第1のサーバシステムまたは前記第2のサーバシステムのいずれかに格納するファイル制御部と、
を具備したことを特徴とするセキュリティサーバシステム。
A first server system that provides content in response to a request sent over a network;
A second server system that is stronger against attacks via the network than the first server system and that provides content in response to a request sent via the network;
A reception unit for receiving content provided via the network;
A determination table including vulnerability information indicating content details that may be affected by an attack via the network;
Based on the vulnerability information, a determination unit that determines whether or not there is vulnerability to an attack via the network for the content received by the reception unit;
A file control unit that stores the content received by the reception unit as a provision candidate according to the determination result of the determination unit in either the first server system or the second server system;
A security server system comprising:
前記ファイル制御部は、前記受付部が受け付けたコンテンツのうち前記脆弱性を有するデータを前記第2サーバシステムに格納し、前記脆弱性を有さないデータを前記第1サーバシステムに格納することを特徴とする請求項1記載のセキュリティサーバシステム。   The file control unit stores data having the vulnerability in the content received by the reception unit in the second server system, and stores data having no vulnerability in the first server system. The security server system according to claim 1, wherein: 前記ファイル制御部により、前記第1サーバシステムに格納されるデータおよび前記第2サーバシステムに格納されるデータ相互間のリンクを整合させる整合部をさらに備えたことを特徴とする請求項2記載のセキュリティサーバシステム。   3. The matching unit according to claim 2, further comprising a matching unit configured to match a link between data stored in the first server system and data stored in the second server system by the file control unit. Security server system. 前記ネットワークと前記第1のサーバシステムおよび前記第2のサーバシステムとの間に接続され、前記判定部の判定結果に基づき、前記ネットワークを介して送られる要求を前記第1のサーバシステムまたは前記第2のサーバシステムのいずれかに振り分ける通信経路制御部をさらに備えたことを特徴とする請求項2記載のセキュリティサーバシステム。   Connected between the network and the first server system and the second server system, and based on a determination result of the determination unit, a request sent via the network is transmitted to the first server system or the second server system. The security server system according to claim 2, further comprising a communication path control unit that distributes to any of the two server systems. 前記判定テーブルは、前記ネットワークを経由した攻撃に関する攻撃情報を含み、
前記攻撃情報に基づいて前記ネットワークを経由した攻撃を擬似的に生成する擬似攻撃発生部と、
前記擬似的に生成した攻撃に応じて前記受付部が受け付けたコンテンツを提供する第3のサーバシステムと、
前記第3のサーバシステムが提供したコンテンツが正常か否かスキャンし、正常でない場合に前記脆弱性を有すると判定する脆弱性スキャン部と、
をさらに具備したこと
を特徴とする請求項1ないし4のいずれか1項に記載のセキュリティサーバシステム。
The determination table includes attack information related to an attack via the network,
A pseudo-attack generating unit that pseudo-generates an attack via the network based on the attack information;
A third server system that provides the content received by the receiving unit in response to the pseudo-generated attack;
A vulnerability scanning unit that scans whether the content provided by the third server system is normal, and determines that the content has the vulnerability when the content is not normal;
The security server system according to any one of claims 1 to 4, further comprising:
JP2010132352A 2010-06-09 2010-06-09 Security server system Withdrawn JP2011258018A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010132352A JP2011258018A (en) 2010-06-09 2010-06-09 Security server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010132352A JP2011258018A (en) 2010-06-09 2010-06-09 Security server system

Publications (1)

Publication Number Publication Date
JP2011258018A true JP2011258018A (en) 2011-12-22

Family

ID=45474122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010132352A Withdrawn JP2011258018A (en) 2010-06-09 2010-06-09 Security server system

Country Status (1)

Country Link
JP (1) JP2011258018A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111353151A (en) * 2020-02-27 2020-06-30 腾讯云计算(北京)有限责任公司 Vulnerability detection method and device for network application
CN116738442A (en) * 2023-08-10 2023-09-12 北京安博通科技股份有限公司 Defensive vulnerability scanning detection method and device, electronic equipment and medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111353151A (en) * 2020-02-27 2020-06-30 腾讯云计算(北京)有限责任公司 Vulnerability detection method and device for network application
CN111353151B (en) * 2020-02-27 2023-06-16 腾讯云计算(北京)有限责任公司 Vulnerability detection method and device for network application
CN116738442A (en) * 2023-08-10 2023-09-12 北京安博通科技股份有限公司 Defensive vulnerability scanning detection method and device, electronic equipment and medium
CN116738442B (en) * 2023-08-10 2023-12-08 北京安博通科技股份有限公司 Defensive vulnerability scanning detection method and device, electronic equipment and medium

Similar Documents

Publication Publication Date Title
JP5992488B2 (en) Cross-site scripting filter
US9596255B2 (en) Honey monkey network exploration
RU2668710C1 (en) Computing device and method for detecting malicious domain names in network traffic
EP3113064B1 (en) System and method for determining modified web pages
US20190334948A1 (en) Webshell detection method and apparatus
JP5897132B2 (en) Dynamic malware removal using cloud technology
KR100732689B1 (en) Web Security Method and apparatus therefor
US7950059B2 (en) Universal worm catcher
US8024804B2 (en) Correlation engine for detecting network attacks and detection method
US8898788B1 (en) Systems and methods for malware attack prevention
US20090064337A1 (en) Method and apparatus for preventing web page attacks
US20150082424A1 (en) Active Web Content Whitelisting
US20130007870A1 (en) Systems for bi-directional network traffic malware detection and removal
US20130007882A1 (en) Methods of detecting and removing bidirectional network traffic malware
JP2004318816A (en) Communication relay device, communication relay method, and program
JP2006262019A (en) Network quarantine program, recording medium recording program, network quarantine method, and network quarantine apparatus
RU2762528C1 (en) Method for processing information security events prior to transmission for analysis
JP5549281B2 (en) Unauthorized intrusion detection and prevention system, client computer, unauthorized intrusion detection and prevention device, method and program
WO2007096659A1 (en) Phishing mitigation
US10757118B2 (en) Method of aiding the detection of infection of a terminal by malware
JP2011258018A (en) Security server system
Rawat et al. ZeroAccess botnet investigation and analysis
JP2011013974A (en) Apparatus and program for website evaluation
Kaushik et al. Investigating and Safeguarding the Web Browsers from Malicious Web Extensions
Sharadqeh et al. Review and measuring the efficiency of SQL injection method in preventing e-mail hacking

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130903