JP2007259171A - Incorrect information generating apparatus, incorrect information generating method, incorrect information generating program, vulnerability inspecting apparatus, vulnerability inspecting method, and vulnerability inspecting program - Google Patents
Incorrect information generating apparatus, incorrect information generating method, incorrect information generating program, vulnerability inspecting apparatus, vulnerability inspecting method, and vulnerability inspecting program Download PDFInfo
- Publication number
- JP2007259171A JP2007259171A JP2006081992A JP2006081992A JP2007259171A JP 2007259171 A JP2007259171 A JP 2007259171A JP 2006081992 A JP2006081992 A JP 2006081992A JP 2006081992 A JP2006081992 A JP 2006081992A JP 2007259171 A JP2007259171 A JP 2007259171A
- Authority
- JP
- Japan
- Prior art keywords
- information
- vulnerability
- inspection
- attribute
- unit
- 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
- 238000000034 method Methods 0.000 title claims description 53
- 238000007689 inspection Methods 0.000 claims abstract description 440
- 238000012545 processing Methods 0.000 claims abstract description 126
- 238000003860 storage Methods 0.000 claims description 139
- 238000012360 testing method Methods 0.000 claims description 47
- 230000008859 change Effects 0.000 claims description 22
- 230000003936 working memory Effects 0.000 claims 2
- 230000000694 effects Effects 0.000 abstract description 3
- 239000010410 layer Substances 0.000 description 60
- 230000006870 function Effects 0.000 description 36
- 230000002159 abnormal effect Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 25
- 230000004044 response Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 21
- 230000007547 defect Effects 0.000 description 20
- 239000000284 extract Substances 0.000 description 16
- 238000009826 distribution Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 7
- 238000003780 insertion Methods 0.000 description 6
- 230000037431 insertion Effects 0.000 description 6
- 238000002347 injection Methods 0.000 description 5
- 239000007924 injection Substances 0.000 description 5
- 230000008014 freezing Effects 0.000 description 4
- 238000007710 freezing Methods 0.000 description 4
- 230000007257 malfunction Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 206010020880 Hypertrophy Diseases 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 238000012966 insertion method Methods 0.000 description 1
- 239000002346 layers by function Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本発明は、例えば、PKI(Public Key Infrastructure)システム(公開鍵基盤システム)の証明書等の属性情報を参照する機能における脆弱性等の調査をする攻撃コードを含んだ証明書等を生成する装置、および、その検査をする装置に関する。 The present invention, for example, an apparatus for generating a certificate including an attack code for investigating a vulnerability or the like in a function of referring to attribute information such as a certificate of a public key infrastructure (PKI) system (public key infrastructure system) And an apparatus for inspecting the same.
従来、不具合や脆弱性を検査する検査システムでは、検査したいシステムである検査対象に対して、既知の脆弱性を攻撃する特殊なデータ(exploit)を送信する。例えば、検査対象がcgiを使用したWebサイトでであり、そのcgiにおいて、コマンドインジェクションの脆弱性が発見されている場合は、コマンドインジェクションを起こすデータがexploit(検査情報、不正情報)に該当する。この例では、検査システムは、例えば、cgiに対してHTTP(Hyper Text Transfer Protocol)のPOSTリクエストでexploitをcgiに送り込む。
検査対象は、例えば、exploitを受信するとレスポンスを返す。この時、本来はexploitのような異常なデータを受信した場合エラーを返すべきである。しかし、脆弱性が存在した場合、exploitが検査対象で動作した結果、本来返すべきエラー以外のデータがレスポンスで返信されることがある。従来の検査システムは、このレスポンスを確認することで脆弱性の有無を確認する。あるいは、検査対象のログを確認し、コマンドインジェクションが成功したか確認する。
For example, the inspection target returns a response when it receives the exploit. At this time, an error should be returned when abnormal data such as exploit is received. However, when there is a vulnerability, data other than the error that should be returned may be returned as a response as a result of the operation of the exploit on the inspection target. The conventional inspection system confirms the presence or absence of the vulnerability by confirming this response. Alternatively, check the inspection target log and check whether the command injection is successful.
従来、PKIシステムにおける証明書は信頼できるものとして扱っている。そのため、従来の検査システムでは、証明書に含まれた属性に攻撃を行う情報が入っているかはチェックしないため、証明書に含まれた属性を扱う処理には脆弱性が残存している恐れがある。
また、証明書は信頼できる機関が発行するため、検証に成功すれば信用できる情報として扱われている。しかし、非特許文献1にはトラストストアへ不正な証明書をインストールする攻撃についての記載がある。つまり、証明書の検証を回避する攻撃がある。したがって、信用できない証明書が存在する。
したがって、不正情報が属性に埋め込まれた不正な証明書による不正アクセスが行われるという課題がある。つまり、不正情報が属性に埋め込まれた証明書をPKIシステムに与えた場合の影響の検査が不足しているという課題がある。
Conventionally, certificates in a PKI system are treated as reliable. For this reason, the conventional inspection system does not check whether the attribute included in the certificate contains attacking information, so there may be a vulnerability remaining in the processing of the attribute included in the certificate. is there.
In addition, since the certificate is issued by a trusted organization, if the verification is successful, it is treated as reliable information. However, Non-Patent
Therefore, there is a problem that unauthorized access is performed using an unauthorized certificate in which unauthorized information is embedded in an attribute. That is, there is a problem that the inspection of the influence when a certificate in which illegal information is embedded in an attribute is given to the PKI system is insufficient.
本発明は、例えば、不正情報が属性に埋め込まれた証明書を生成することを目的とする。また、本発明は、例えば、不正情報が属性に埋め込まれた証明書をPKIシステムに与えた場合の影響の検査をすることを目的とする。 For example, an object of the present invention is to generate a certificate in which unauthorized information is embedded in an attribute. Another object of the present invention is to examine the influence when a certificate in which illegal information is embedded in an attribute is given to a PKI system.
本発明にかかる不正情報生成装置は、例えば、公開鍵暗号システムにおける検査対象物の製品情報と、検査対象物のセキュリティの設定情報と、検査対象物が証明情報を利用する方法である運用情報とを記憶装置に記憶する製品運用記憶部と、検査対象物の脆弱性情報と上記脆弱性情報に対する検査情報とを記憶装置に記憶する脆弱性情報記憶部と、上記証明情報の属性情報を記憶装置に記憶する属性情報記憶部と、上記製品運用記憶部が記憶した製品情報と設定情報とに基づき、上記脆弱性情報記憶部が記憶した脆弱性情報を検索して上記脆弱性情報に対する検査情報を処理装置により取得する脆弱性情報検索部と、上記製品運用記憶部が記憶した運用情報と上記属性情報記憶部が記憶した属性情報とに基づき、上記脆弱性情報検索部が取得した検査情報を設定する属性を処理装置により判定する設定属性判定部と、上記設定属性判定部が判定した属性に、上記脆弱性情報検索部が取得した検査情報を設定して不正証明情報を生成して記憶装置に記憶する不正情報生成部とを備えることを特徴とする。 The unauthorized information generation apparatus according to the present invention includes, for example, product information of an inspection target in a public key cryptosystem, setting information of security of the inspection target, operation information that is a method of using certification information by the inspection target, A product operation storage unit for storing the information in the storage device, a vulnerability information storage unit for storing the vulnerability information of the inspection object and the inspection information for the vulnerability information in the storage device, and the attribute information of the certification information The vulnerability information stored in the vulnerability information storage unit is searched based on the attribute information storage unit stored in the product information, the product information stored in the product operation storage unit, and the setting information, and inspection information for the vulnerability information is obtained. Based on the vulnerability information search unit acquired by the processing device, the operation information stored in the product operation storage unit, and the attribute information stored in the attribute information storage unit, the vulnerability information search unit takes The setting attribute determination unit that determines the attribute for setting the inspection information by the processing device and the inspection information acquired by the vulnerability information search unit are set to the attribute determined by the setting attribute determination unit to generate fraud certification information And a fraudulent information generation unit stored in the storage device.
本発明にかかる不正情報生成装置によれば、例えば、検査対象物の製品情報と設定情報とに基づき脆弱性情報を検索して検査情報を取得する脆弱性情報検索部と、運用情報と属性情報とに基づき、検査情報を設定する属性を処理装置により判定する設定属性判定部と、上記検査情報を上記属性に設定して不正証明情報を生成する不正情報生成部とを備えることにより、不正情報が属性に埋め込まれた証明書を生成することが可能である。 According to the fraudulent information generation apparatus according to the present invention, for example, a vulnerability information search unit that searches for vulnerability information based on product information and setting information of an inspection target and acquires inspection information, operation information, and attribute information And a fraudulent information generation unit that sets the inspection information as the attribute and generates fraud proof information. It is possible to generate a certificate with embedded in the attribute.
以下、図に基づき本発明の実施の形態について説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
まず、図1、図2に基づき本発明にかかる脆弱性検査システム(不正情報生成システム)1000のハードウェア構成の一例について説明する。 First, an example of the hardware configuration of the vulnerability check system (illegal information generation system) 1000 according to the present invention will be described with reference to FIGS.
図1は、実施の形態にかかる脆弱性検査システム1000の外観の一例を示した図である。
図1において、脆弱性検査システム1000は、CRT(Cathode Ray Tube)表示装置901、キーボード(K/B)902、マウス903、コンパクトディスク装置(CDD)905、データベース908、システムユニット909、サーバ910を備え、これらはケーブルで接続されている。
さらに、脆弱性検査システム1000は、ローカルエリアネットワーク(LAN)942、ゲートウェイ941を介してインターネット940に接続されている。また、脆弱性検査システム1000は、インターネット940を介して外部サーバ916等と接続されている。
ここで、CRT表示装置901、K/B902、マウス903、CDD905、システムユニット909等は、後述する脆弱性検査装置(不正情報生成装置)100の一例である。また、サーバ910、外部サーバ916など、およびこれらに記憶されたソフトウェア(S/W)などは、脆弱性の検査を行う対象である検査対象物200の一例である。また、CRT表示装置901は表示装置986の一例である。
FIG. 1 is a diagram illustrating an example of an appearance of a vulnerability inspection system 1000 according to the embodiment.
In FIG. 1, a vulnerability inspection system 1000 includes a CRT (Cathode Ray Tube)
Further, the vulnerability inspection system 1000 is connected to the Internet 940 via a local area network (LAN) 942 and a
Here, the
図2は、実施の形態における脆弱性検査装置100のハードウェア構成の一例を示す図である。
図2において、脆弱性検査装置100は、コンピュータであり、プログラムを実行するCPU(Central Processing Unit)911を備えている。CPU911は、バス912を介してROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、CRT表示装置901、K/B902、マウス903、FDD(Flexible Disk)904、CDD905、磁気ディスク装置920と接続されている。
RAM914は、揮発性メモリの一例である。ROM913、磁気ディスク装置920は、不揮発性メモリの一例である。これらは、記憶装置984の一例である。
通信ボード915は、LAN942等に接続されている。
また、K/B902、マウス903等は、入力装置982の一例である。
また、CPU911は、処理装置980の一例である。
また、通信ボード915は、通信装置988の一例である。
FIG. 2 is a diagram illustrating an example of a hardware configuration of the
In FIG. 2, the
The
The
K /
The
The
ここで、通信ボード915は、LAN942に限らず、直接、インターネット940、或いはISDN等のWAN(ワイドエリアネットワーク)に接続されていても構わない。直接、インターネット940、或いはISDN等のWANに接続されている場合、脆弱性検査装置100は、インターネット940、或いはISDN等のWANに接続され、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム(OS)921、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923は、CPU911、OS921、ウィンドウシステム922により実行される。
Here, the
The
上記プログラム群923には、以下に述べる実施の形態の説明において、例えば、「脆弱性検査部(不正情報生成部)110」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜判定」として説明するものが、「〜ファイル」として記憶されている。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置920、FD、光ディスク、CD、MD(ミニディスク)、DVD(Digital Versatile Disk)等のその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
The
In the
Also, the arrows in the flowcharts described in the following description of the embodiments mainly indicate data input / output, and the data for the data input / output is the
また、以下に述べる実施の形態の説明において「脆弱性検査部(不正情報生成部)110」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組合せ、さらには、ファームウェアとの組合せで実施されても構わない。
In addition, what is described as the “vulnerability inspection unit (illegal information generation unit) 110” in the description of the embodiment described below may be realized by firmware stored in the
また、以下に述べる実施の形態を実施するプログラムは、また、磁気ディスク装置920、FD、光ディスク、CD、MD、DVD等のその他の記録媒体による記録装置を用いて記憶されても構わない。
In addition, a program that implements the embodiment described below may be stored using a recording device using another recording medium such as the
次に、図3に基づき実施の形態にかかる脆弱性検査装置100の概要について説明する。図3は、実施の形態にかかる脆弱性検査装置100の概要を示す図である。
脆弱性検査装置100は、脆弱性情報DB(DataBase)192、検査処理部160を備える。また、脆弱性検査装置100は、検査対象物200とN/W(ネットワーク)を介して接続される。検査対象物200は脆弱性の有無を検査したいシステムであり、例えばWebサイト、DBシステムである。検査処理部160は、脆弱性の有無等を検査する検査ツールである。また、脆弱性情報DB192は、後述する検査プラグインが記憶された検査プラグインDBである。
検査処理部160は、脆弱性情報DB192から例えば定期的に最新の脆弱性に対応した検査プラグインを取り込む。検査プラグインは様々な脆弱性が公開、発見される毎に作成され、脆弱性情報DB192に格納される。
検査処理部160は検査プラグインが設定された検査情報を検査対象物200へ送信する。検査対象物200は、検査情報を処理してレスポンスを返す。脆弱性検査装置100は、例えば、このレスポンスを確認することで脆弱性の有無を判定する。
Next, the outline | summary of the vulnerability test |
The
The
The
次に、図4に基づきPKIシステムの検査概念について説明する。図4は、PKIシステムの検査概念の一例としてHTTPS(Hyper Text Transfer Protocol over Secure Sockets Layer,HTTP Over SSL)を利用したPKIシステムの脆弱性を示す図である。
図4は、SSL(Secure Sockets Layer)でHTTP通信を保護するシステムの機能ブロック図である。システムは、HTML(HyperText Markup Language)層401、HTTP層402、SSL層405、TCP/IP(Transmission Control Protocol/Internet Protocol)層406に分けられ、さらに、SSL層とHTTP層の間に、PKC(Public Key Certificate)層403、ASN.1(Abstract Syntax Notation One)層404が位置づけられる。
PKIシステムの脆弱性として、例えば、SSL層405、ASN.1層404、PKC層403に特化した脆弱性が指摘されている。SSL層405で例を挙げると、ハンドシェイクデータの異常によりDoS(Denial of Service)が発生する。また、ASN.1層404で例を挙げると、不正なASN.1エンコードの証明書によりバッファオーバフローが発生する。また、PKC層403で例を挙げると、不正な証明書のパスにより、証明書のセキュリティチェックが回避される等である。
これまで検査プラグインは、このようにPKIシステムのPKIに直接関わる実装の脆弱性を検査するものである。つまり、これまで検査プラグインでは、不正情報が属性に埋め込まれた証明書に対するPKIシステムの脆弱性の検査は行われていない。
Next, the inspection concept of the PKI system will be described with reference to FIG. FIG. 4 is a diagram showing the vulnerability of the PKI system using HTTPS (Hyper Text Transfer Protocol over Secure Sockets Layer, HTTP Over SSL) as an example of the inspection concept of the PKI system.
FIG. 4 is a functional block diagram of a system that protects HTTP communication with SSL (Secure Sockets Layer). The system is divided into an HTML (HyperText Markup Language)
As vulnerability of the PKI system, for example, SSL layer 405, ASN. Vulnerabilities specific to the
So far, the inspection plug-in inspects the vulnerability of the implementation directly related to the PKI of the PKI system. That is, until now, the inspection plug-in has not inspected the vulnerability of the PKI system for the certificate in which the illegal information is embedded in the attribute.
次に、不正情報が属性に埋め込まれた証明書に対するPKIシステムの脆弱性の検査を行わないことの危険性と課題について説明する。以下の3つ段階に分けて説明する。
まず、1つ目の段階として、信用できない証明書の存在について説明する。証明書は信頼できる機関が発行するため、検証に成功すれば信用できる情報として扱われている。しかし、証明書の検証を回避する攻撃がある。したがって、信用できない証明書が存在する。
次に、2つ目の段階として、exploitが属性に埋め込まれた証明書による不正アクセスについて説明する。上記の証明書の検証を回避する攻撃が行われた場合、exploitが属性に埋め込まれた証明書による不正アクセスが行われる可能性がある。
そして、3つ目の段階として、PKIシステムの検査での不足事項について説明する。つまり、exploitが属性に埋め込まれた証明書による不正アクセスが行われるのを未然に防止するため、不正情報が属性に埋め込まれた証明書をPKIシステムに与えた場合の影響の検査が不足している。
Next, the risk and problem of not inspecting the vulnerability of the PKI system for a certificate in which unauthorized information is embedded in an attribute will be described. The description will be divided into the following three steps.
First, as the first stage, the existence of an untrusted certificate will be described. Since the certificate is issued by a trusted organization, it is treated as credible information if it is successfully verified. However, there are attacks that circumvent certificate validation. Therefore, there are untrusted certificates.
Next, as a second stage, unauthorized access using a certificate in which an exploit is embedded in an attribute will be described. If an attack that circumvents the verification of the certificate is performed, there is a possibility that unauthorized access is performed using the certificate in which the exploit is embedded in the attribute.
As a third stage, a shortage in the inspection of the PKI system will be described. In other words, in order to prevent unauthorized access by a certificate in which an exploit is embedded in an attribute, there is a lack of examination of the effect when a certificate in which unauthorized information is embedded in an attribute is given to the PKI system. Yes.
まず、1つ目の段階である信用できない証明書の存在について説明する。
本来、PKIにおける証明書は信頼できる機関が発行するため証明書の正当性が確認できれば、その証明書の属性は信頼できるものとして扱う。証明書を受信した側で、その証明書が不正なものか否かは、その証明書の検証をもって確認される。証明書の検証は通常以下のように行われる。
まず、証明書を受信した装置は、受信した証明書の署名を、証明書を発行したCA(Certificate Authority)の公開鍵で確認する。次に、証明書を受信した装置は、有効期限、失効状態を確認する。失効状態は確認しない運用もある。この後、証明書を受信した装置は、証明書を信用できるものとして扱い、属性を参照する。
ここで、証明書を発行したCAの公開鍵が本物であることの保証が必要である。公開鍵が本物であることがどのように、保証されているか説明する。
まず、CAが自身の公開鍵を自身の秘密鍵で署名を行うself−signed証明書を発行する。
次に、self−signed証明書を、そのCAが発行する証明書を受信するPKIアプリケーションのトラストストアに、予め埋め込む。ここで、トラストストアとは、信用できる証明書の格納場所である。例えば、PKIアプリケーションとしてブラウザを利用する場合、CAはブラウザのベンダに対して、self−signed証明書をトラストストアに格納してもらうように依頼する。この時、そのCAが正当なものであるかをブラウザのベンダが別途確認をした上でトラストストアに格納し、出荷する。つまり、ユーザがブラウザを利用する段階において、既にトラストストアには上記CAのself−signed証明書が信頼できるCAの証明書として格納されている。
そして、CAは、SSL対応Webサーバに対して、サーバ証明書を発行する。ブラウザのユーザが、このWebサイトに接続するとSSLハンドシェイクが実行され、その過程でWebサーバ側からサーバ証明書が送信される。ブラウザでは、トラストストアのCA証明書を使用して、サーバ証明書を検証することが可能である。
例えば、悪意のある第三者が不正なSSL対応Webサーバを設置し、また悪意のある第三者自身がCAを設置してCA証明書を生成し、さらに悪意のある第三者自身がサーバ証明書を発行して、Webサーバに設定したとする。この場合、ブラウザのトラストストア内にその悪意のある第三者自身のCA証明書が格納されていないため、ブラウザは悪意のある第三者が設置した不正SSL対応Webサーバのサイトに正常に接続できない。つまり、そのブラウザのトラストストアに格納されているCAの証明書の下で発行されたサーバ証明書でなければ正しく接続できない。これは、ブラウザのベンダが認証してトラストストアに格納したCA証明書以外は、そのブラウザは信用していないということになる。
このように、PKIアプリケーションの運用では、トラストストアの管理が非常に重要である。また、初期状態のPKIアプリケーションのトラストストアを操作しない限りは、CAの信頼できるself−signed証明書に変更はない。
First, the existence of an untrusted certificate, which is the first stage, will be described.
Originally, a certificate in PKI is issued by a trusted organization, so if the validity of the certificate can be confirmed, the attribute of the certificate is treated as reliable. On the side of receiving the certificate, whether or not the certificate is invalid is confirmed by verifying the certificate. Certificate verification is usually performed as follows.
First, the device that has received the certificate checks the signature of the received certificate with the public key of the CA (Certificate Authority) that issued the certificate. Next, the device that has received the certificate checks the expiration date and revocation status. Some operations do not check the revocation status. Thereafter, the device that has received the certificate treats the certificate as trustworthy and refers to the attribute.
Here, it is necessary to guarantee that the public key of the CA that issued the certificate is authentic. Explain how the public key is guaranteed to be authentic.
First, the CA issues a self-signed certificate for signing its own public key with its own private key.
Next, the self-signed certificate is embedded in advance in the trust store of the PKI application that receives the certificate issued by the CA. Here, the trust store is a storage location of a trusted certificate. For example, when using a browser as a PKI application, the CA requests the browser vendor to store a self-signed certificate in the trust store. At this time, the vendor of the browser separately checks whether the CA is valid, stores it in the trust store, and ships it. That is, when the user uses the browser, the CA self-signed certificate is already stored in the trust store as a trusted CA certificate.
Then, the CA issues a server certificate to the SSL-compatible Web server. When a browser user connects to this Web site, an SSL handshake is executed, and a server certificate is transmitted from the Web server in the process. The browser can verify the server certificate using the CA certificate of the trust store.
For example, a malicious third party installs an unauthorized SSL-compliant Web server, the malicious third party installs a CA to generate a CA certificate, and the malicious third party itself creates a server. Assume that a certificate is issued and set in the Web server. In this case, since the malicious third party's own CA certificate is not stored in the browser's trust store, the browser normally connects to the site of the unauthorized SSL-compliant Web server installed by the malicious third party. Can not. In other words, a server certificate issued under the CA certificate stored in the browser's trust store can be connected correctly. This means that the browser does not trust other than the CA certificate authenticated by the browser vendor and stored in the trust store.
Thus, trust store management is very important in the operation of PKI applications. Further, as long as the trust store of the PKI application in the initial state is not operated, there is no change to the CA's reliable self-signed certificate.
ところが、トラストストアに不正なCAの証明書をインストールする攻撃方法がある。トラストストアに不正なCAの証明書をインストールする攻撃方法として、例えば、OS用の暗号/PKIライブラリ等を使用し、トラストストアに不正なCA証明書を書き込むプログラムがある。このプログラムが実行された場合、ユーザに気づかれないままトラストストアに不正なCA証明書が書き込まれてしまう。
例えば、先の例の、悪意のある第三者が不正なSSL対応Webサーバを設置したい場合に、トラストストアに不正なCA証明書を書き込むプログラムをメールに添付して、エンドユーザへ送信する。また、悪意のある第三者は、例えば、メール本文中にメンテナンスのため添付のプログラムを実行するように指示を行う。このような攻撃方法は、メール添付型ウィルスが蔓延することや、不正なプログラムを実行するユーザが多いことからも、攻撃として有効である。
上記プログラムは実行されるとトラストストアに不正なCA証明書を書き込む。しかし、それ以上の悪意のある行為は実行しない。つまり、その後エンドユーザのPCには何の影響も及ぼさない。そのため、不正なCAをトラストストアに書き込まれてもユーザは気がつかない。また、ウィルス検知ソフトでは通常トラストストアをスキャンしないため、検知されない。
したがって、そのトラストストアを利用するPKIアプリケーションにおいて、不正なCA証明書の下で発行された証明書が、信頼できる証明書として扱われてしまう。このため、上記の例では、ブラウザで不正なSSL対応Webサイトに接続した場合、不正なサーバ証明書の検証が正常に行われる。つまり、ブラウザは、不正なサーバ証明書を信用する。不正なSSL対応Webサーバのサイトに正常な接続が可能となり、ブラウザのユーザは、そのサイトが不正であることに気づかない。
なお、不正なCA証明書下での証明書の発行自体は、エンドユーザのPCとは全く別の場所で行われる。悪意のあるユーザは、不正なCA証明書に含まれる公開鍵と対の秘密鍵を保持しているので、秘密鍵を使用して任意の不正な証明書を生成することができる。
However, there is an attack method in which an unauthorized CA certificate is installed in the trust store. As an attack method for installing an unauthorized CA certificate in the trust store, for example, there is a program for writing an unauthorized CA certificate in the trust store using an OS encryption / PKI library or the like. When this program is executed, an invalid CA certificate is written in the trust store without being noticed by the user.
For example, when a malicious third party in the previous example wants to install an unauthorized SSL-compatible Web server, a program for writing an unauthorized CA certificate in a trust store is attached to an email and transmitted to an end user. In addition, a malicious third party instructs, for example, to execute a program attached for maintenance in the mail text. Such an attack method is effective as an attack because of the spread of email-attached viruses and the large number of users who execute unauthorized programs.
When the program is executed, it writes an invalid CA certificate in the trust store. However, no further malicious acts are performed. That is, it has no effect on the PC of the end user thereafter. Therefore, even if an unauthorized CA is written in the trust store, the user does not notice. Virus detection software usually does not scan the trust store, so it is not detected.
Therefore, in a PKI application that uses the trust store, a certificate issued under an unauthorized CA certificate is treated as a reliable certificate. For this reason, in the above example, when the browser is connected to an unauthorized SSL-compatible website, the unauthorized server certificate is normally verified. In other words, the browser trusts an invalid server certificate. A normal connection to an unauthorized SSL-compatible Web server site is possible, and the browser user is unaware that the site is unauthorized.
It should be noted that the issue of a certificate under an unauthorized CA certificate itself is performed at a location completely different from the end user's PC. Since the malicious user holds the private key paired with the public key included in the unauthorized CA certificate, the malicious user can generate an arbitrary unauthorized certificate using the private key.
PKIの運用において、証明書の安全性については、正当なCAの秘密鍵の漏洩や解読によるCAの成りすましや、証明書の失効の確実性に着目される。それは、悪意のある第三者が、自身の都合の良い偽造証明書を生成することや、無効化された証明書を有効であるかのように偽装ことへの防止のためである。
しかし、正当なCAに成りすます方法の一つとして、悪意のある第三者によるトラストストアへの不正なCA証明書のインストールが挙げられる。そして、トラストストアへの不正なCA証明書のインストールが成功すれば、その後は、悪意のあるユーザが任意の不正な証明書を正当なものとしてエンドユーザに受け入れさせることが可能である。
In the operation of PKI, with regard to the security of the certificate, attention is paid to the CA impersonation due to the leakage or decryption of the legitimate CA private key and the certainty of the certificate revocation. This is to prevent malicious third parties from generating their own forged certificates or forging revoked certificates as if they were valid.
However, one method for impersonating a valid CA is to install an unauthorized CA certificate into a trust store by a malicious third party. If the unauthorized CA certificate is successfully installed in the trust store, then the malicious user can allow the end user to accept any unauthorized certificate as valid.
また、上記では一例としてエンドユーザを対象とした不正なCA証明書のトラストストアへのインストールについて説明した。しかし、証明書を受け入れるサーバ(例えば、SSL対応Webサーバ)のトラストストアの改ざんについては、一般的に、エンドユーザに比べ管理が厳重であるため、困難である。しかし、任意のプログラムを実行できてしまうようなソフトウェアやOSの脆弱性が数多く報告されていることから、上記のようなプログラムをサーバで実行するような不正アクセスが発生する可能性がある。つまり、クライアント側、サーバ側に限定せず、不正なCA証明書のトラストストアへのインストールの可能性を考慮する必要がある。 In the above description, as an example, the installation of an unauthorized CA certificate for the end user in the trust store has been described. However, falsification of a trust store of a server that accepts a certificate (for example, an SSL-compatible Web server) is generally difficult because it is more strictly managed than an end user. However, since many vulnerabilities of software and OS that can execute an arbitrary program have been reported, there is a possibility that unauthorized access such as executing the above program on a server may occur. That is, it is necessary to consider the possibility of installing an unauthorized CA certificate in the trust store, not limited to the client side and the server side.
次に、2つ目の段階であるexploitが属性に埋め込まれた証明書による不正アクセスについて説明する。上記のように証明書の検証を回避する攻撃が行われた場合、exploitが属性に埋め込まれた証明書による不正アクセスが行われる可能性がある。 Next, unauthorized access using a certificate in which an exploit, which is the second stage, is embedded in an attribute will be described. When an attack that avoids certificate verification is performed as described above, there is a possibility that unauthorized access is performed using a certificate in which an exploit is embedded in an attribute.
ここで、証明書の属性は他のアプリケーションのパラメータとして指定されることが多い。例えば、エンドユーザの証明書のSubjectDNは証明書の持ち主を示している。サーバ側では、提示された証明書の持ち主でデータベースを検索する運用があり、SubjectDNが使用されることが考えられる。あるいは、証明書に含まれた画像情報を表示する場合は、画像を表示するプログラムへ画像の属性がパラメータとして渡される。
証明書の属性は、検証が成功すれば信頼できる情報とみなされる。よって、上述のような属性情報においては、値の正当性の厳密なチェックは行われず、そのまま別のプログラムにパラメータとして渡している可能性がある。また、属性情報を渡されたプログラム側においても、属性は信用できる情報として、厳密なチェックを行わない可能性がある。
ここで、例えば、属性に不正なアクセスコードが記載されていることが考えられる。トラストストアに不正なCA証明書をインストールすることにより、悪意の第三者が、不正な証明書を正当なものとして、受信者に受け入れさせる可能性があることについて上記にて説明した。したがって、不正なアクセスコードが記載された証明書が、正当な証明書として受け入れられる可能性もある。この場合、渡されたアプリケーション側に脆弱性がある場合に、属性情報として不正なアクセスコードが記載されていると不正アクセスが成功する可能性がある。
また、上述したように、これまで検査プラグインによるPKIアプリケーションの脆弱性を検査する方法は、各PKIの機能レイヤ毎に発見された既知の脆弱性の残存を検査するのみである。つまり、1つのPKIシステムとして運用した場合に、不正なアクセスコードを保持した証明書を受信した場合の脆弱性の検査は行われていない。
Here, the attribute of the certificate is often specified as a parameter of another application. For example, SubjectDN of the end user certificate indicates the owner of the certificate. On the server side, there is an operation of searching the database by the owner of the presented certificate, and it is conceivable that SubjectDN is used. Alternatively, when displaying the image information included in the certificate, the attribute of the image is passed as a parameter to the program for displaying the image.
Certificate attributes are considered reliable information if verification is successful. Therefore, in the attribute information as described above, the correctness of the value is not strictly checked, and it may be passed as a parameter to another program as it is. Further, even on the program side to which the attribute information is passed, there is a possibility that the attribute is not strictly checked as credible information.
Here, for example, it is conceivable that an illegal access code is described in the attribute. It has been described above that a malicious third party may allow a recipient to accept an unauthorized certificate as legitimate by installing an unauthorized CA certificate in the trust store. Therefore, a certificate in which an unauthorized access code is written may be accepted as a valid certificate. In this case, if there is a vulnerability on the passed application side, unauthorized access may be successful if an unauthorized access code is described as attribute information.
Further, as described above, the method for inspecting the vulnerability of the PKI application by the inspection plug-in so far only inspects the remaining of the known vulnerability discovered for each functional layer of each PKI. That is, when operating as a single PKI system, a vulnerability check is not performed when a certificate holding an unauthorized access code is received.
次に、具体的な証明書の属性を利用した不正アクセスの例を示す。まず、図5に基づきPKC(Public Key Certificate)の属性を利用した不正アクセスの例を説明する。図5は、PKCの属性を利用した不正アクセスの例を示す図である。 Next, an example of unauthorized access using specific certificate attributes is shown. First, an example of unauthorized access using a PKC (Public Key Certificate) attribute will be described with reference to FIG. FIG. 5 is a diagram illustrating an example of unauthorized access using a PKC attribute.
通信相手の証明書の失効のチェックにおいて証明書のextensionであるCRL−DP(CRL Distribution Point:RFC3280)を使用してCRLの取得を行うことがある。CRL−DPには、CRLの取得先として配布先のURLを指定可能である。ここで、PKIの実装以外の部分での実装にURLを扱う処理に実装ミス等の脆弱性があると、不正なURLを含んだCRL−DPにより異常終了等の不具合が発生する可能性がある。もし、この異常終了がバッファオーバフローに起因するものであれば、攻撃の対象になる可能性がある。つまり、不正なURLを含んだCRL−DPが証明書に設定されていた場合に、攻撃される可能性がある。
図5では、PKC層413がPKCから抽出したCRL−DPから、さらにURLを抽出してHTTP層412へ渡す。HTTP層412は受け取ったURLに基づき通信を試みる。しかし、渡されたURLは不正なURLであるため、URLの処理やHTTPの処理に脆弱性が存在した場合に異常な処理を行う可能性がある。
この例では、例えば、HTTP層412とPKC層413との接続IF417の実装に脆弱性が存在する場合、又は、HTTP層412に脆弱性が存在する場合に、異常な処理が発生する。しかし、これらの脆弱性の検査は、PKI自身の実装の脆弱性の検査(PKC層413の検査)だけでは発見できない。つまり、これまで検査プラグインによるPKI自身の実装の脆弱性の検査では上記の脆弱性は発見できない。
When checking the revocation of the certificate of the communication partner, the CRL may be obtained using a CRL-DP (CRL Distribution Point: RFC3280) which is an extension of the certificate. In the CRL-DP, a distribution destination URL can be designated as a CRL acquisition destination. Here, if there is a vulnerability such as an implementation error in the handling of URL in the implementation other than the implementation of PKI, there is a possibility that a malfunction such as abnormal termination may occur due to CRL-DP including an illegal URL. . If this abnormal termination is caused by a buffer overflow, there is a possibility of attack. That is, if a CRL-DP including an illegal URL is set in the certificate, there is a possibility of an attack.
In FIG. 5, the URL is further extracted from the CRL-DP extracted from the PKC by the
In this example, for example, when there is a vulnerability in the implementation of the connection IF 417 between the
ここで、HTTP層412にURLの処理の実装ミス等があり、既知の脆弱性として知られている場合は、図3に示す脆弱性情報DB192に検査用のプラグインが格納されている場合がある。よって、検査で脆弱性を発見できた場合にはパッチの適用等の対策をとることが可能である。
しかし、その場合は、HTTP層412に対する検査を実施したのみである。つまり、PKIシステムとの連携において脆弱性が発生するか否かの観点での検査は実施していない。例えば、PKIシステムと連携しない動作モードでは、不正なパラメータのチェックを行うが、PKIシステムと連携するモードではパラメータのチェックを行わない可能性もある。なぜなら、証明書が検証されているため、パラメータを信用しているためである。
また、接続IF417を自作している場合等は、接続IF417の脆弱性の確認も必要である。自作している部分についての検査プラグインは存在しないため、検査プラグインを利用した検査は期待できないからである。
つまり、実際にPKIシステムと連携する環境において、不正な証明書を使用した検査を行わなければ、脆弱性の残存を見落とす可能性がある。
Here, when there is a URL processing error in the
However, in that case, only the inspection for the
In addition, when the connection IF 417 is created by itself, it is necessary to check the vulnerability of the connection IF 417. This is because there is no inspection plug-in for the part that you make yourself, so you cannot expect inspection using the inspection plug-in.
In other words, in an environment that actually cooperates with the PKI system, there is a possibility that the remaining of the vulnerability may be overlooked unless an inspection using an invalid certificate is performed.
次に、図6に基づきAC(Attribute Certificate)の属性を利用した不正アクセスの例を説明する。図6は、ACの属性を利用した不正アクセスの例を示す図である。 Next, an example of unauthorized access using an attribute of AC (Attribute Certificate) will be described with reference to FIG. FIG. 6 is a diagram illustrating an example of unauthorized access using an AC attribute.
ACは通信相手の属性の確認に用いられるものである。ACは、ACの属性に基づいてサービスを提供するアプリケーションに利用される。例えば、ACにおける属性をアクセス管理DBに渡し、特定の情報へのアクセス権の照合を行うとする。属性を引数としてDBに渡す処理に不具合があると、不正なSQL文を挿入された属性によりSQLをDB上で実行される可能性がある。
図6では、AC層423がACからAccessIdentityを抽出し、DBアクセス層426に渡す。ここでは、AccessIdentityをアクセスコントロールに使用するものとする。DBアクセス層426はAccessIdentityを検索キーとしてDB427にアクセスを試みる。しかし、AccessIdentityに不正なSQL文が挿入されている場合、かつDBアクセス層426に脆弱性が存在した場合に、DB427に対して不正なSQL文の送出を行う可能性がある。
この例では、AC層423とDB427の接続を担当するDBアクセス層426の実装に脆弱性が存在する場合、又は、DB427に脆弱性が存在する場合にAccessIdentityに挿入された不正なSQL文が実行されてしまうことが考えられる。しかし、これらの脆弱性の検査は、PKIの脆弱性の検査(AC層423の検査)だけでは発見できない。つまり、これまで検査プラグインによるPKI自身の実装の脆弱性の検査では上記の脆弱性は発見できない。
AC is used for confirming the attribute of the communication partner. The AC is used for an application that provides a service based on an attribute of the AC. For example, it is assumed that the attribute in the AC is passed to the access management DB and access rights to specific information are collated. If there is a problem in the process of passing the attribute as an argument to the DB, there is a possibility that the SQL is executed on the DB by the attribute in which an invalid SQL statement is inserted.
In FIG. 6, the
In this example, if there is a vulnerability in the implementation of the DB access layer 426 responsible for the connection between the
ここで、DB層427に処理の実装ミス等があり、既知の脆弱性として知られている場合は、図3に示す脆弱性情報DB192に検査用のプラグインが格納されている場合がある。よって、検査で脆弱性を発見できた場合にはパッチの適用等の対策をとることが可能である。
しかし、その場合は、DB層427に対する検査を実施したのみである。つまり、PKIシステムとの連携において脆弱性が発生するか否かの観点での検査は実施していない。例えば、PKIシステムと連携しない動作モードでは、不正なパラメータのチェックを行うが、PKIシステムと連携するモードではパラメータのチェックを行わない可能性もある。なぜなら、証明書が検証されているため、パラメータを信用しているためである。
また、DBアクセス層426を自作している場合等は、DBアクセス層426の脆弱性の確認も必要である。自作している部分についての検査プラグインは存在しないため、検査プラグインを利用した検査は期待できないからである。
Here, when there is a processing error in the DB layer 427 and it is known as a known vulnerability, a plug-in for inspection may be stored in the
However, in that case, only the DB layer 427 is inspected. That is, no inspection is performed from the viewpoint of whether or not vulnerability occurs in cooperation with the PKI system. For example, in an operation mode not linked to the PKI system, an illegal parameter check is performed, but in a mode linked to the PKI system, the parameter check may not be performed. This is because the parameters are trusted because the certificate is verified.
In addition, when the DB access layer 426 is created by itself, it is necessary to check the vulnerability of the DB access layer 426. This is because there is no inspection plug-in for the part that you make yourself, so you cannot expect inspection using the inspection plug-in.
次に、図7に基づきCC(Content Certificate)の属性を利用した不正アクセスの例を説明する。RFC3709 Internet X.509 Public Key Infrastructure:Logotypes in X.509 Certificatesでは、証明書に画像データ等のコンテンツの情報を含めるためのextensionが定義されている。当extensionは、証明書に画像データ自体を含めるのではなく、証明書に関連付けたい画像データの大きさや取得先のアドレス情報を定義し、この定義情報のみを証明書に含めることで、証明書の肥大を防いでいる。しかし、そもそもは証明書と画像データの結びつきを示したいのであるから、画像データ自体を証明書に含めても証明書が大きくなるだけで、同じ目的が達成できる。ここでは、説明を簡単にするために証明書に画像データ自身を含めた証明書をCC(Content Certificate)と呼ぶことにする。図7は、CCの属性を利用した不正アクセスの例を示す図である。 Next, an example of unauthorized access using a CC (Content Certificate) attribute will be described with reference to FIG. RFC3709 Internet X. 509 Public Key Infrastructure: Logotypes in X. In 509 Certificates, an extension for including content information such as image data in a certificate is defined. This extension does not include the image data itself in the certificate, but defines the size and address information of the image data to be associated with the certificate, and includes only this definition information in the certificate. Prevents hypertrophy. However, since we want to show the connection between the certificate and the image data in the first place, even if the image data itself is included in the certificate, the same purpose can be achieved simply by increasing the certificate. Here, for simplicity of explanation, a certificate including the image data itself in the certificate is referred to as CC (Content Certificate). FIG. 7 is a diagram illustrating an example of unauthorized access using CC attributes.
CCは、例えば、Webサイトの真正性を示すための企業のロゴの画像データを含んだ証明書である。CC用プラグインをインストールしたブラウザでCCを適用したサイトを閲覧すると、CCで保証された企業ロゴが表示される。これにより、そのWebサイトが詐称サイトではないことが分かる。画像を含んだ証明書であるため、ブラウザにおける画像表示に実装ミスがあると、不正な画像を含んだCCによりフリーズ等の異常処理が発生する可能性がある。
図7では、CC層432がCCから画像データを抽出し、コンテンツ表示層431に渡す。しかし、不正な画像であった場合、コンテンツ表示層431においてフリーズ等の異常処理が発生する場合がある。
この例では、コンテンツ表示層431、あるいはコンテンツ表示層431とCC層432の間のIF437に脆弱性が存在する場合に、フリーズ等の異常処理が発生することが考えられる。しかし、これらの脆弱性の検査は、PKIの脆弱性の検査(CC層432の検査)だけでは発見できない。つまり、これまで検査プラグインによるPKI自身の実装の脆弱性の検査では上記の脆弱性は発見できない。
The CC is, for example, a certificate including image data of a company logo for indicating the authenticity of a website. When browsing a site to which CC is applied with a browser in which a CC plug-in is installed, a company logo guaranteed by CC is displayed. Thereby, it can be seen that the Web site is not a spoofing site. Since the certificate includes an image, if there is a mounting error in the image display in the browser, abnormal processing such as freezing may occur due to CC including an illegal image.
In FIG. 7, the
In this example, when there is a vulnerability in the
ここで、コンテンツ表示層431に処理の実装ミス等があり、既知の脆弱性として知られている場合は、図3に示す脆弱性情報DB192に検査用のプラグインが格納されている場合がある。よって、検査で脆弱性を発見できた場合にはパッチの適用等の対策をとることが可能である。
しかし、その場合は、コンテンツ表示層431に対する検査を実施したのみである。つまり、PKIシステムと連携しない動作モードでは、不正なパラメータのチェックを行うが、PKIシステムと連携するモードではパラメータのチェックを行わない可能性もある。なぜなら、証明書が検証されているため、パラメータを信用しているためである。
また、IF437を自作している場合等は、IF437の脆弱性の確認も必要である。自作している部分についての検査プラグインは存在しないため、検査プラグインを利用した検査は期待できないからである。
なお、RFC3709に示されるextensionをそのまま使用した証明書においてもextensionに従い取得した画像データはコンテンツ表示層431に渡されるわけである。取得した画像データが不正な画像であれば、フリーズ等の異常処理が発生する可能性があり、上記のCCの例と同様の脆弱性の見落としの懸念がある。
Here, if there is a processing implementation mistake in the
However, in that case, only the
In addition, when IF437 is made by itself, it is necessary to check the vulnerability of IF437. This is because there is no inspection plug-in for the part that you make yourself, so you cannot expect inspection using the inspection plug-in.
Note that even in a certificate using the extension shown in RFC 3709 as it is, the image data acquired according to the extension is passed to the
つまり、上記の3つの例では、実際にPKIシステムと連携する環境において、不正な証明書を使用した検査を行わなければ、脆弱性の残存を見落とす可能性が残っている。 In other words, in the above three examples, there is a possibility that the remaining vulnerability is overlooked unless an inspection using an invalid certificate is performed in an environment that actually cooperates with the PKI system.
そして、3つめの段階であるPKIシステムの検査での不足事項について説明する。上記の内容を踏まえると、PKIシステムの検査において以下の点からの検査が不足している。
まず、上述したように不正プログラムによりトラストストアが改変する攻撃がある。このため、受信した証明書は検証が成功しても信頼できるとは限らない。したがって、PKIの処理部分から連携するアプリケーションへ、不正な証明書の属性を引き渡した場合に不正アクセスがなされる可能性があることを考慮した検査が必要である。
また、不正な証明書がない場合であっても、証明書の情報をパラメータとして他のアプリケーションへ引き渡す際の処理に不具合があることが考えられる。したがって、上記不具合が脆弱性に繋がる恐れがあるため、そのような不具合は予め発見し、修正しておくべきである。
また、証明書だけでなく、CRL(Certificate Revocation List)やOCSP(Online Certificate Status Protocol)等の失効情報も、署名が付与されており、署名の検証が成功すれば、属性は信頼できるものとして取り扱われる。つまり、検査することなく失効情報の属性を利用した処理が行われるため、exploitが埋め込まれた情報の悪用が考えられる。
Then, the deficiencies in the third stage PKI system inspection will be described. In view of the above contents, the inspection from the following points is insufficient in the inspection of the PKI system.
First, as described above, there is an attack in which a trust store is modified by an unauthorized program. For this reason, the received certificate is not always reliable even if the verification is successful. Therefore, it is necessary to perform inspection in consideration of the possibility that unauthorized access may be made when an attribute of an unauthorized certificate is handed over from a PKI processing part to a linked application.
Even if there is no illegal certificate, it is possible that there is a problem in the processing when transferring the certificate information to another application as a parameter. Therefore, since the said malfunction may lead to a vulnerability, such a malfunction should be discovered and corrected beforehand.
Also, not only certificates but also revocation information such as CRL (Certificate Revocation List) and OCSP (Online Certificate Status Protocol) are provided with a signature, and if the signature verification is successful, the attribute is treated as reliable. It is. That is, since the processing using the attribute of the revocation information is performed without checking, the exploitation of the information in which the exploit is embedded can be considered.
ここで、PKIを使用したシステムにおける証明書と、証明書の失効を示す証明書の失効情報との一例について説明する。証明書としては、例えば、PKC(公開鍵証明書,RFC3280)、AC(属性証明書,RFC3281)、QC(Qualified Certificate,RFC3739)、PC(Proxy Certificate,RFC3820)、CSC(Code Signing Certificate)、DC(Device Certificate)、CC等がある。また、失効情報としては、例えば、CRL(RFC3280)、OCSP(失効の問い合わせサービス用プロトコル,RFC2560)等がある。 Here, an example of a certificate in a system using PKI and certificate revocation information indicating certificate revocation will be described. Certificates include, for example, PKC (Public Key Certificate, RFC3280), AC (Attribute Certificate, RFC3181), QC (Qualified Certificate, RFC3739), PC (Proxy Certificate, RFC3820), CSC (Code Signing Certificate), DC. (Device Certificate), CC, and the like. The revocation information includes, for example, CRL (RFC3280), OCSP (revocation inquiry service protocol, RFC2560), and the like.
実施の形態1.
まず、実施の形態1について説明する。実施の形態1では、検査対象物200をWebサーバとした場合の脆弱性検査装置(不正情報生成装置)100の例について説明する。
First, the first embodiment will be described.
実施の形態1では、図3に基づき説明した脆弱性検査装置100の概要と同様に、脆弱性検査装置100は、既知の脆弱性情報に基づき検査情報を生成して、検査対象物200へ検査情報を送信する。そして、脆弱性検査装置100は、検査対象物200のレスポンス等を確認することで脆弱性の有無を判定する。ここでは特に、PKIアプリケーションシステムで使用しているソフトウェア等の既知の脆弱性情報に基づき、PKIアプリケーションシステムを攻撃可能と推測される不正な証明書を生成する。そして、不正な証明書に基づき検査情報を生成する。
In the first embodiment, similarly to the outline of the
図8に基づき実施の形態1にかかる脆弱性検査装置100の機能について説明する。図8は、実施の形態1にかかる脆弱性検査装置100の機能を示す機能ブロック図である。
脆弱性検査装置100は、脆弱性検査部(不正情報生成部)110、処理装置980、入力装置982、記憶装置984、表示装置986を備える。
脆弱性検査部110は、例えばソフトウェア、プログラム等でも構わない。脆弱性検査部110がソフトウェア、プログラム等の場合でも、脆弱性検査部110は、以下に示すように、処理装置980、入力装置982、記憶装置984、表示装置986等のハードウェアを利用し、協働して情報処理を行うものである。脆弱性検査部110は、製品運用記憶部120、脆弱性情報記憶部122、属性情報記憶部124、脆弱性情報検索部130、設定属性判定部140、不正情報生成部150、検査処理部160、検査情報設定部162、検査実施部164、検査結果判定部166を備える。
製品運用記憶部120は、PKIシステムにおける検査対象物200が使用しているソフトウェアの製品名、バージョン等である製品情報と、検査対象物200のセキュリティパラメータ等の設定情報と、検査対象物200が検査対象物が利用する証明情報を含む運用情報とを記憶装置984に製品運用DB190として記憶する。
脆弱性情報記憶部122は、検査対象物200の脆弱性情報と脆弱性情報に対する検査情報とを記憶装置984に脆弱性情報DB192として記憶する。例えば、脆弱性情報記憶部122は、インターネット940等で公開されているPKIに関する脆弱性情報および対応するexploitと、PKI以外の脆弱性情報および対応するexploitとを脆弱性情報DB192として記憶装置984に格納する。
属性情報記憶部124は、証明書(証明情報)の各属性およびextensionの構造の情報である属性情報を記憶装置984に属性情報DB194として記憶する。
脆弱性情報検索部130は、製品運用記憶部120が製品運用DB190に記憶した製品情報と設定情報とに基づき、脆弱性情報記憶部122が記憶した脆弱性情報を検索して脆弱性情報に対する検査情報を処理装置980により取得する。
設定属性判定部140は、製品運用記憶部120が製品運用DB190に記憶した運用情報と属性情報記憶部124が属性情報DB194に記憶した属性情報とに基づき、脆弱性情報検索部130が取得した検査情報を設定する属性を処理装置980により判定する。つまり、脆弱性情報DB192、製品運用DB190、属性情報DB194と連携し、脆弱性情報DB192から得られた脆弱性情報を利用し、証明書のどの属性にexploitを設定するか判定する。また、設定属性判定部140は、証明情報検索部142、証明情報属性検索部144、設定属性検索部146を備える。証明情報検索部142は、製品運用記憶部120が製品運用DB190に記憶した運用情報から利用する証明情報を検索する。証明情報属性検索部144は、属性情報記憶部124が属性情報DB194に記憶した属性情報から証明情報検索部142が検索した証明情報の属性情報を検索する。設定属性検索部146は、証明情報属性検索部144が検索した属性情報から脆弱性情報検索部130が検索した検査情報の検査(攻撃)箇所を設定可能な属性を検索する。
不正情報生成部150は、設定属性判定部140が判定した属性に、脆弱性情報検索部130が取得した検査情報を設定して不正証明情報を生成して記憶装置984に記憶する。つまり、不正情報生成部150は、設定属性判定部140で特定された証明情報の属性情報に、脆弱性情報DB192から得られたexploitを設定した不正証明情報(exploit証明書)を生成する。
検査処理部160は、不正情報生成部150が生成した不正証明情報に基づき、上記検査対象物200に対して検査を処理装置980により実施する。つまり、検査処理部160は、例えば検査用ソフトウェア等である。検査処理部160は、例えば、検査対象物200とセキュア通信を行う機能を備える。検査処理部160は、例えば、HTTPSのクライアント或いはサーバのソフトウェア等が該当する。検査処理部160は、プロトコルデータと不正証明情報とを検査対象物200へ送付する。
検査情報設定部162は、不正情報生成部150が生成した不正証明情報を、検査対象物200に接続して検査を行う検査処理部160に処理装置980により設定する。検査情報設定部162は、不正証明情報を検査用ソフトウェアである検査処理部160に設定する。
検査実施部164は、検査情報設定部162が不正証明情報を設定した検査処理部160へ処理装置980により検査の実行の指示をする。つまり、検査実施部164は、検査用ソフトウェアに対して不正証明情報を使用して検査対象物200に対して通信を開始する命令を出す。
検査結果判定部166は、検査実施部164がした指示により、検査処理部160が実行した検査に対する検査対象物200の動作に基づき、脆弱性が再現したか否かを処理装置980により判定する。検査結果判定部166は、例えば、検査対象物200からのレスポンスが想定されるものであるか否かを確認する。
検査対象物200は、脆弱性が存在するか検査する対象であり、例えば、PKIを適用したWebアプリケーション、データベース、ブラウザ等である。
Based on FIG. 8, the function of the
The
The
The product
The vulnerability
The attribute
The vulnerability
The setting
The fraud
The
The inspection
The
The inspection
The
次に、図9、図10に基づき実施の形態1にかかる脆弱性検査装置100の動作について説明する。図9は、実施の形態1にかかる脆弱性検査装置100の処理とデータの流れを示した図である。図10は、実施の形態1にかかる脆弱性検査装置100の動作である脆弱性検査処理(脆弱性検査方法、脆弱性検査プログラム)を示すフローチャートである。ここでは、脆弱性検査装置100は、SSLを適用したWebサーバにおける証明書の処理に関する不具合および脆弱性を検査する。
Next, operation | movement of the
事前に、脆弱性情報記憶部122は、インターネット940等から脆弱性情報および対応するexploitとを脆弱性情報DB192として記憶装置984に記憶する(脆弱性情報記憶ステップ)。また、属性情報記憶部124は、規定されている証明情報の各属性およびextensionの構造の情報である属性情報を記憶装置984に属性情報DB194として記憶する(属性情報記憶ステップ)。
The vulnerability
そして、製品運用記憶ステップ(S101)では、製品運用記憶部120は、製品情報と設定情報と運用情報とを記憶装置984に製品運用DB190として記憶する。ここでは、例えば、製品運用記憶部120は、図11に示す製品情報と設定情報と運用情報とを記憶する。つまり、製品運用記憶部120は、製品情報としてWebserverX2.0.x、設定情報としてHTTPS、クライアント認証、運用情報としてPKCのチェックにCRLを使用、CRL−DP可、OCSP不可という情報を記憶する。図11は、製品運用記憶部120が製品運用DB190として記憶する情報の一例である。
In the product operation storage step (S101), the product
次に、脆弱性情報検索ステップ(S102)では、脆弱性情報検索部130は、製品運用DB190に記憶した製品情報と設定情報とに基づき、脆弱性情報DB192を検索する。脆弱性情報検索部130は、例えば、製品運用DB190から製品情報、設定情報として図12に示す情報を取り出す。図12は、脆弱性情報検索部130が検査キーとして使用する情報の一例である。つまり、脆弱性情報検索部130は、製品情報として製品名WebserverX2.0.x、設定情報としてセキュアプロトコルはSSL、通信プロトコルはHTTP、セキュリティはクライアント認証という情報を取り出す。そして、脆弱性情報検索部130は、これらの情報を検索キーとして脆弱性情報DB192を検索する。
ここで、脆弱性情報記憶部122は、例えば、脆弱性情報DB192に図13に示す情報を記憶したとする。図13は、脆弱性情報DB192に記憶する情報の一例である。つまり、脆弱性情報DB192はソフトウェア名称、攻撃種別、脆弱性が発生する処理、脆弱性が発生する箇所(ライブラリ、OS、アプリケーション自体等)、プロトコル、セキュリティ、exploitの有無、exploitの攻撃箇所、exploit本体を管理する。また、セキュリティの項目では、例えばSSLを使用している場合は、SSL、クライアント認証等、使用するセキュリティ技術が記述される。しかし、説明の簡単のため、ここでは、セキュリティの脆弱性については検査の対象としないので記述しない。しかし、セキュリティについて記載する場合の例を、エントリNo.4に示す。エントリNo.4には、SSH(Secure Shell)ツールXの脆弱性の例が格納されている。これは、SSHというセキュリティプロトコルの実装に脆弱性があるため、セキュリティの項目にSSHが記録されている。
脆弱性情報検索部130は、例えば、上記検索キーにより脆弱性情報DB192を検索する場合に、製品名を必須とし、かつ、セキュアプロトコル、通信プロトコル、認証方法のいずれか1つ以上がマッチするエントリを検索する。この場合、検索されるのはエントリ1である。エントリ1は、WebserverXのHTTPエンジンのリクエストに脆弱性あり、不正なURLにより異常終了が発生するという脆弱性情報である。なお、この例では、SSL、クライアント認証では検索されず、WebserverX、HTTPのキーワドでのみ検索されたと仮定した。ここで、エントリ1の情報より脆弱性の発生箇所がURLの処理であることが判断できる。つまり、Exploit(検査情報)の攻撃箇所にはURLが指定されている。
Next, in the vulnerability information search step (S102), the vulnerability
Here, it is assumed that the vulnerability
For example, when searching the
次に、証明情報検索ステップ(S103)では、証明情報検索部142は、製品運用DB190に記憶した運用情報から利用する証明情報を検索する。証明情報検索部142は、製品運用DB190の運用情報からCRL−DPをexploitの設定対象の候補と判断する。この判断は、運用情報に証明書の運用方法として、証明書の失効のチェックにCRLを使用することが記述されているからである。また、失効情報を確認するためのプロトコルであるOCSPの利用は不可となっているため、失効の確認手段としてCRLに特定されるからである。さらに、CRL−DPを利用することでCRLを取得することができるからである。
Next, in a certification information search step (S103), the certification
次に、証明情報属性検索ステップ(S104)では、証明情報属性検索部144は、属性情報DB194に記憶した属性情報から証明情報検索部142が検索した証明情報の属性情報を検索する。つまり、証明情報属性検索部144は、CRL−DPの構造情報を属性情報DB194から取得する。
Next, in the certification information attribute retrieval step (S104), the certification information
次に、設定属性検索ステップ(S105)では、設定属性検索部146は、CRL−DPにURLを設定できることを判定する。設定属性検索部146は、既に、脆弱性情報DB192における検索結果よりexploitのタイプがURLであることを判定できる。そこで、設定属性検索部146は、図14に示すCRL−DPの構造情報からURLを設定可能な属性を検索する。図14は、属性情報DB194が記憶する属性情報の一例としてCRL−DPの構造情報を示す図である。設定属性検索部146は、検索の結果uniformResourceIdentifierにURLが設定できることを検索する。つまり、設定属性検索部146は、「CRL Distribution Points」、「DistributionPoint」、「distributionPoint」、「GeneralNames」、「GeneralName」、「uniformResourceIdentifier」の順に辿ることで、uniformResourceIdentifierを検索する。その結果、設定属性検索部146は、CRL−DPのuniformResourceIdentifierにexploitを設定することを決定する。
そして、設定属性判定部140はCRL−DPのuniformResourceIdentifierを、exploitを設定対象である、属性情報として不正情報生成部150に渡す。
ここで、(S103)から(S105)までは、設定属性判定ステップである。
Next, in the setting attribute search step (S105), the setting
The setting
Here, (S103) to (S105) are setting attribute determination steps.
次に、不正情報生成ステップ(S106)では、不正情報生成部150は、設定属性判定部140が判定した属性に、脆弱性情報検索部130が取得したexploitを設定して不正証明情報を生成して記憶装置984に記憶する。不正情報生成部150は、例えば、まず、一対の公開鍵と秘密鍵とを生成する。次に、不正情報生成部150は、CRL−DPのURLにexploitのURLを設定する。例えば、CRL−DPのURLにexploitのURLとして「http://www.abc.com/」を設定する。次に、不正情報生成部150は、不正証明情報において証明される公開鍵として上記で生成した公開鍵を設定する。そして、不正情報生成部150は、生成した不正証明情報が検査用に別途生成した不正な認証期間である不正CAを証明する不正CA証明書の配下の証明書となるように、Issuer(発行者)に不正CA証明書のSubjectを設定する。さらに、不正情報生成部150は、不正CA証明書の不正CA公開鍵と対をなす不正CA秘密鍵により署名を付与する。
ここでは、脆弱性検査装置100は、例えば、上記不正CA公開鍵を事前に検査対象物200に渡しておく。つまり、検査対象物200のトラストストアに不正CA公開鍵を記憶させておく。そのため、検査対象物200は、上記不正証明情報を受け取り検証すると、トラストストアにある不正CA公開鍵により不正証明情報が認証できる。したがって、検査対象物200は、不正証明情報を信用する。その結果として、検査対象物200は、不正証明情報の属性情報に埋め込まれたexploitにより脆弱性が発生する可能性がある。
Next, in the fraud information generation step (S106), the fraud
Here, for example, the
次に、検査情報設定ステップ(S107)では、検査情報設定部162は、不正情報生成部150が生成した不正証明情報を、検査対象物200に接続して検査を行う検査処理部160に処理装置980により設定する。ここでは、検査情報設定部162は、Webサーバを検査するため、HTTPSのクライアントのソフトウェアを検査処理部160として、(S106)で、不正情報生成部150が生成した不正証明情報と秘密鍵とを設定する。検査処理部160に該当する試験ツールとしては、例えば公開されているのHTTPSライブラリ等を利用可能である。上記ライブラリには秘密鍵や証明書を設定する仕組みが公開されているものもあるため、これらを利用することで、検査情報設定部162の動作が実現可能である。
Next, in the inspection information setting step (S107), the inspection
次に、検査実施ステップ(S108)では、検査実施部164は、検査情報設定部162が不正証明情報を設定した検査処理部160へ処理装置980により検査の実行の指示をする。つまり、検査実施部164は、検査処理部160に対し検査対象物200に接続する命令を出す。例えば、検査実施部164はOSのコマンドを実行するスクリプトとして実現することができる。つまり、前述の検査処理部160の起動コマンドを実行するスクリプトを記述すれば実現できる。
Next, in the inspection execution step (S108), the
次に、検査処理ステップ(S109)では、検査処理部160は、不正情報生成部150が生成した不正証明情報に基づき、上記検査対象物200に対して検査を処理装置980により実施する。つまり、検査処理部160は、HTTPSによる通信を開始し、ハンドシェイクにおいて、クライアント認証用の証明書として不正証明情報を送信する。
ここでは、検査対象物200は、SSL適用Webサーバ等が該当する。検査対象物200は、ハンドシェイクにおいて運用情報に従いクライアント認証用の証明書として送付された不正証明情報を受信する。そして、検査対象物200はCRL−DPを抽出し、さらにURLを抽出する。URLにはexploitが設定されている。上述したように、検査対象物200は、トラストストアにある不正CA公開鍵により不正証明情報を認証し、不正証明情報を信用する。そのため、ここでは、検査対象物200は、exploitの部分まで含めてHTTP処理層にパラメータとして渡したとする。つまり、検査対象物200は、exploitが挿入(連結)された属性情報をそのまま渡してしまったとする。図13に示すように、HTTP処理層では、exploitを渡された場合に、DoSが発生する脆弱性がある。したがって、exploitが挿入された属性情報をそのままHTTP処理層に渡してしまった結果としてDoSが発生する。
Next, in the inspection processing step (S109), the
Here, the
そして、検査結果判定ステップ(S110)では、検査結果判定部166は、検査処理部160が実行した検査に対する検査対象物200の動作に基づき、脆弱性が再現したか否かを処理装置980により判定する。検査結果判定部166は、例えば、検査対象物200からの返信を待つ。検査対象物200の脆弱性が再現しなければ、エラーレスポンスが返信される場合が考えられる。しかし、検査結果判定部166は、例えば、返信もなく、TCPの切断信号が無い場合には、不正証明情報が原因で脆弱性が再現したか、不具合が発生したと判断できる。検査結果判定部166は、検査対象物200が出力したログを確認することにより不正証明情報が原因で脆弱性が再現したか、不具合が発生したと判断しても構わない。
ここで、(S107)から(S110)までは検査ステップである。
In the inspection result determination step (S110), the inspection
Here, (S107) to (S110) are inspection steps.
この例は、図5に示す様に、PKIシステムのHTTPの不具合や脆弱性を不正証明情報により再現できるか確認することに相当する。このように、実施の形態1にかかる脆弱性検査装置100によれば、脆弱性情報DB192と製品運用DB190と属性情報DB194とを連携させることにより、不正証明情報を生成できる。そして、不正証明情報を検査対象物200に送り込み、不具合や脆弱性が起こるか確認することが可能である。不具合や脆弱性が確認できた場合は、実装に誤りがある可能性が高いため、修正等を施すことで、事前に証明書による攻撃に備えることが可能である。
As shown in FIG. 5, this example corresponds to confirming whether or not the HTTP defect or vulnerability of the PKI system can be reproduced by the fraud proof information. As described above, according to the
つまり、実施の形態1にかかる脆弱性検査装置100は、以下の機能を備えた不正PKI情報生成装置である。不正PKI情報生成装置は、検査対象のPKIシステムにおける、利用ソフトウェアの情報、PKCの利用情報、通信手段の情報、セキュリティの設定情報を格納した製品運用DB190、脆弱性情報とexploitを格納した脆弱性情報DB192、PKCのデータフォーマットを格納したPKI情報DB(属性情報DB194)を利用し、検査対象のPKIシステムにおけるソフトウェアの脆弱性情報とexploitを検索し、exploitを格納する公開鍵証明書(PKC)の属性を決定し、exploit証明書(不正証明情報)を生成する。
That is, the
実施の形態2.
次に、実施の形態2について説明する。実施の形態2では、検査対象物200をアクセス制御サーバとした場合の脆弱性検査装置(不正情報生成装置)100の例について説明する。
Next, a second embodiment will be described. In the second embodiment, an example of a vulnerability inspection apparatus (unauthorized information generation apparatus) 100 when the
実施の形態2にかかる脆弱性検査装置100の機能、および動作の流れは、実施の形態1にかかる脆弱性検査装置100の機能、および動作の流れと同様である。そこで、図15と図10とに基づき実施の形態2にかかる脆弱性検査装置100の動作について説明する。図15は、実施の形態2にかかる脆弱性検査装置100の処理とデータの流れを示した図である。
ここでは、不正証明情報としてACを使用し、ACを適用したアクセス制御サーバにおけるSQLの処理に関する不具合および脆弱性を検査する。
The function and operation flow of the
Here, AC is used as fraud proof information, and a defect and vulnerability related to SQL processing in an access control server to which AC is applied are inspected.
実施の形態1同様、事前に、脆弱性情報記憶部122は、インターネット940等から脆弱性情報および対応するexploitとを脆弱性情報DB192として記憶装置984に記憶する(脆弱性情報記憶ステップ)。また、属性情報記憶部124は、規定されている証明情報の各属性およびextensionの構造の情報である属性情報を記憶装置984に属性情報DB194として記憶する(属性情報記憶ステップ)。
Like the first embodiment, the vulnerability
そして、製品運用記憶ステップ(S101)では、製品運用記憶部120は、図16に示す製品情報と設定情報と運用情報とを記憶する。つまり、製品運用記憶部120は、製品情報としてSQL−DBX1x、設定情報としてSQLprotocol、運用情報としてACをアクセスコントロールに使用、AccessIdentitiy利用という情報を記憶する。図16は、製品運用記憶部120が製品運用DB190として記憶する情報の一例である。
In the product operation storage step (S101), the product
次に、脆弱性情報検索ステップ(S102)では、脆弱性情報検索部130は、例えば、製品運用DB190から製品情報、設定情報として図17に示す情報を取り出す。図17は、脆弱性情報検索部130が検査キーとして使用する情報の一例である。つまり、脆弱性情報検索部130は、製品情報として製品名SQL−DBX1x、設定情報としてセキュアプロトコルは指定なし、通信プロトコルはSQLprotocol、セキュリティは指定なしという情報を取り出す。そして、脆弱性情報検索部130は、これらの情報を検索キーとして脆弱性情報DB192を検索する。
ここで、脆弱性情報記憶部122は、例えば、実施の形態1同様、脆弱性情報DB192に図13に示す情報を記憶したとする。
脆弱性情報検索部130は、例えば、上記検索キーにより脆弱性情報DB192を検索する場合に、製品名を必須とし、かつ、セキュアプロトコル、通信プロトコル、セキュリティのいずれか1つ以上がマッチするエントリを検索する。この場合、検索されるのはエントリ2である。エントリ2は、SQL−DBXアクセスIF(インターフェイス)にSQLInjectionの脆弱性ありという脆弱性情報である。エントリ2から、脆弱性の発生箇所がアクセスIFの処理であることが判断できる。つまり、Exploit(検査情報)の攻撃箇所にはSQLコマンドが指定されている。
Next, in the vulnerability information search step (S102), the vulnerability
Here, it is assumed that the vulnerability
For example, when the vulnerability
次に、証明情報検索ステップ(S103)では、証明情報検索部142は、製品運用DB190の運用情報からAccessIdentitiyをexploitの設定対象の候補と判断する。
Next, in the certification information search step (S103), the certification
次に、証明情報属性検索ステップ(S104)では、証明情報属性検索部144は、AccessIdentitiyの構造情報を属性情報DB194から取得する。
Next, in the proof information attribute search step (S104), the proof information
次に、設定属性検索ステップ(S105)では、設定属性検索部146は、AccessIdentitiyにSQLコマンドを設定できることを判定する。設定属性検索部146は、既に、脆弱性情報DB192における検索結果よりexploitのタイプがSQLコマンドであることを判定できる。そこで、設定属性検索部146は、図18に示すAccessIdentitiyの構造情報からSQLコマンドを設定可能な属性を検索する。図18は、属性情報DB194が記憶する属性情報の一例としてAccessIdentitiyの構造情報を示す図である。設定属性検索部146は、検索の結果dNSNameにSQLコマンドが設定できることを検索する。つまり、設定属性検索部146は、「AccessIdentity」、「SvceAuthInfo」、「ident」、「GeneralName」、「dNSName」の順に辿ることで、dNSNameを検索する。SQLは文字列であるから、文字列を格納できる属性を検索する。その結果、設定属性検索部146は、AccessIdentitiyのdNSNameにexploitを設定することを決定する。ここでは、dNSNameの属性は「IA5String:Any 7−bit US ASCII character」となっており、SQLコマンドを設定可能である。つまり、rfc822Name、uniformResourceIdentifierであっても同様にSQLコマンドを設定可能であるため、rfc822Name、uniformResourceIdentifierにexploitを設定するとしても構わない。
Next, in the setting attribute search step (S105), the setting
次に、不正情報生成ステップ(S106)では、不正情報生成部150は、まず、AccessIdentitiyのidentにdNSNameとしてexploitのSQLコマンドを設定する。不正情報生成部150は、例えば、dNSNameが「abc.com」であり、SQLコマンドが「SELECT * FROM ABC_T」であった場合、「abc.com:SELECT * FROM ABC_T」のように設定する。そして、不正情報生成部150は、生成した不正証明情報が検査用に別途生成した不正な属性認証機関である不正AAの公開鍵を証明する不正AA証明書の配下の証明書となるように、Issuerに不正AA証明書のSubjectを設定する。さらに、不正情報生成部150は、不正AA用の公開鍵と対をなす不正AA秘密鍵により署名を付与する。
実施の形態1同様、脆弱性検査装置100は、例えば、上記不正AA用の公開鍵を事前に検査対象物200に渡しておく。そのため、検査対象物200は、上記不正証明情報を受け取り検証すると、不正AA用の公開鍵により不正証明情報が認証できる。したがって、検査対象物200は、不正証明情報を信用する。その結果として、検査対象物200は、不正証明情報の属性情報に埋め込まれたexploitにより脆弱性が発生する可能性がある。
Next, in the fraud information generation step (S106), the fraud
As in the first embodiment, the
次に、検査情報設定ステップ(S107)では、検査情報設定部162は、AC利用アクセス制御サーバを検査するため、対となるAC提示クライアントを検査処理部160として、(S106)で、不正情報生成部150が生成した不正証明情報を設定する。
Next, in the inspection information setting step (S107), the inspection
次に、検査実施ステップ(S108)では、検査実施部164は、検査処理部160に対し検査対象物200に接続する命令を出す。
Next, in the inspection execution step (S108), the
次に、検査処理ステップ(S109)では、検査処理部160は、検査対象物200と通信を開始し、ACとして不正証明情報が送信される。
ここでは、検査対象物200はAC利用アクセス制御サーバ等が該当する。検査対象物200では、送付された不正証明情報を受信する。そして、検査対象物200は、AccessIdentitiyを抽出し、さらにidentを抽出する。identにはdNSNameとしてexploitが挿入されている。上述したように、検査対象物200は、不正AA用の公開鍵により不正証明情報を認証し、不正証明情報を信用する。そのため、ここでは、検査対象物200は、exploitの部分まで含めてDBアクセス処理層にパラメータとして渡したとする。つまり、exploitが挿入(連結)された、SQLコマンドをそのまま渡してしまったとする。図13に示すように、DBアクセス処理層では、exploitを渡された場合に、SQLInjectionが発生する脆弱性がある。したがって、exploitが挿入された属性情報をそのままDBアクセス処理層に渡してしまった結果としてSQLが実行されてしまう。
Next, in the inspection processing step (S109), the
Here, the
そして、検査結果判定ステップ(S110)では、検査結果判定部166は、例えば、検査対象物200からの返信を待つ。検査対象物200の脆弱性が再現しなければ、エラーレスポンスが返信される場合が考えられる。しかし、検査結果判定部166は、例えば、返信もなく、TCPの切断信号が無い場合には、不正証明情報が原因で脆弱性が再現したか、不具合が発生したと判断できる。
In the inspection result determination step (S110), the inspection
この例は、図6に示す様に、PKIシステムのDBアクセスの不具合や脆弱性を不正証明情報により再現できるか確認することに相当する。このように、実施の形態2にかかる脆弱性検査装置100によれば、脆弱性情報DB192と製品運用DB190と属性情報DB194を連携させることにより、不正証明情報を生成できる。そして、不正証明情報を検査対象物200に送り込み、不具合や脆弱性が起こるか確認することが可能である。不具合や脆弱性が確認できた場合は、実装に誤りがある可能性が高いため、修正等を施すことで、事前に証明書による攻撃に備えることが可能である。
As shown in FIG. 6, this example is equivalent to confirming whether or not the DB access failure or vulnerability of the PKI system can be reproduced by the fraud proof information. As described above, according to the
実施の形態3.
次に、実施の形態3について説明する。実施の形態3では、Webサーバにブラウザがアクセスする際のブラウザの画像の処理に関する不具合や脆弱性を検査する脆弱性検査装置(不正情報生成装置)100の例について説明する。
Next,
実施の形態3にかかる脆弱性検査装置100の機能、および動作の流れは、実施の形態1にかかる脆弱性検査装置100の機能、および動作の流れと同様である。そこで、図19と図10とに基づき実施の形態3にかかる脆弱性検査装置100の動作について説明する。図19は、実施の形態3にかかる脆弱性検査装置100の処理とデータの流れを示した図である。
ここでは、不正証明情報としてCCを使用し、CCを適用したWebサーバにブラウザがアクセスする際のブラウザの画像の処理に関する不具合や脆弱性を検査する。
The function and operation flow of the
Here, CC is used as fraud proof information, and a defect or vulnerability relating to browser image processing when the browser accesses a Web server to which CC is applied is inspected.
実施の形態1同様、事前に、脆弱性情報記憶部122は、インターネット940等から脆弱性情報および対応するexploitとを脆弱性情報DB192として記憶装置984に記憶する(脆弱性情報記憶ステップ)。また、属性情報記憶部124は、規定されている証明情報の各属性およびextensionの構造の情報である属性情報を記憶装置984に属性情報DB194として記憶する(属性情報記憶ステップ)。
Like the first embodiment, the vulnerability
そして、製品運用記憶ステップ(S101)では、製品運用記憶部120は、図20に示す製品情報と設定情報と運用情報とを記憶する。つまり、製品運用記憶部120は、製品情報としてbrowserXSP1、設定情報としてHTTP、運用情報としてCCによりサイトの真正性を確認、Verifiable Contentを参照するという情報を記憶する。図20は、製品運用記憶部120が製品運用DB190として記憶する情報の一例である。
In the product operation storage step (S101), the product
次に、脆弱性情報検索ステップ(S102)では、脆弱性情報検索部130は、例えば、製品運用DB190から製品情報、設定情報として図21に示す情報を取り出す。図21は、脆弱性情報検索部130が検査キーとして使用する情報の一例である。つまり、脆弱性情報検索部130は、製品情報として製品名browserXSP1、設定情報としてセキュアプロトコルは指定なし、通信プロトコルはHTTP、セキュリティは指定なしという情報を取り出す。そして、脆弱性情報検索部130は、これらの情報を検索キーとして脆弱性情報DB192を検索する。
ここで、脆弱性情報記憶部122は、例えば、実施の形態1同様、脆弱性情報DB192に図13に示す情報を記憶したとする。
脆弱性情報検索部130は、例えば、上記検索キーにより脆弱性情報DB192を検索する場合に、製品名を必須とし、かつ、セキュアプロトコル、通信プロトコル、セキュリティのいずれか1つ以上がマッチするエントリを検索する。この場合、検索されるのはエントリ3である。エントリ3は、browserXSP1に画像処理の脆弱性がありという脆弱性情報である。エントリ3から、脆弱性の発生箇所が脆弱性の発生箇所が画像表示の処理であることが判断できる。つまり、Exploit(検査情報)の攻撃箇所にはGIF,JPEGが指定されている。
Next, in the vulnerability information search step (S102), the vulnerability
Here, it is assumed that the vulnerability
For example, when the vulnerability
次に、証明情報検索ステップ(S103)では、証明情報検索部142は、製品運用DB190の運用情報からVerifiable Contentをexploitの設定対象の候補と判断する。
Next, in the certification information retrieval step (S103), the certification
次に、証明情報属性検索ステップ(S104)では、証明情報属性検索部144は、Verifiable Contentの構造情報を属性情報DB194から取得する。
Next, in the proof information attribute search step (S104), the proof information
次に、設定属性検索ステップ(S105)では、設定属性検索部146は、Verifiable Contentに画像を設定できることを認識する。設定属性検索部146は、既に、脆弱性情報DB192における検索結果よりexploitのタイプがGIF、JPEGであることを判定できる。そこで、設定属性検索部146は、実施の形態1、実施の形態2に示すようにVerifiable Contentの構造情報からGIF、JPEGを設定可能な属性を探す。
Next, in the setting attribute search step (S105), the setting
次に、不正情報生成ステップ(S106)では、不正情報生成部150は、まず、設定属性検索部146が探したVerifiable Contentの属性にexploitのGIF、JPEGを設定する。そして、不正情報生成部150は、生成した不正証明情報が検査用に別途生成した不正な認証期間である不正CAを証明する不正CA証明書の配下の証明書となるように、Issuerに不正CA証明書のSubjectを設定する。さらに、不正情報生成部150は、不正CA証明書の不正CA公開鍵と対をなす不正CA秘密鍵により署名を付与する。
実施の形態1同様、脆弱性検査装置100は、例えば、上記不正CA公開鍵を事前に検査対象物200に渡しておく。そのため、検査対象物200は、上記不正証明情報を受け取り検証すると、不正CA公開鍵により不正証明情報が認証できる。したがって、検査対象物200は、不正証明情報を信用する。その結果として、検査対象物200は、不正証明情報の属性情報に埋め込まれたexploitにより脆弱性が発生する可能性がある。
Next, in the fraud information generation step (S106), the fraud
As in the first embodiment, the
次に、検査情報設定ステップ(S107)では、検査情報設定部162は、ブラウザを検査するため、CC適用Webサイトを検査処理部160として、(S106)で、不正情報生成部150が生成した不正証明情報を設定する。検査情報設定部162の実現は、通常、Webのソフトウェアにはコンテンツの設置を指定する仕組みが備わっているため、この仕組みを利用すれば良い。
Next, in the inspection information setting step (S107), the inspection
次に、検査実施ステップ(S108)では、検査実施部164は、検査処理部160に対し検査対象物200に接続する命令を出す。
Next, in the inspection execution step (S108), the
次に、検査処理ステップ(S109)では、検査処理部160は、検査対象物200と通信を開始し、CCとして不正証明情報が送信される。
ここでは、検査対象物200はブラウザ等が該当する。つまり、検査対象物200であるブラウザは、検査実施部164からの命令があると検査処理部160へアクセスするとしても構わない。または、検査を行うユーザが手動でブラウザにより検査処理部160へアクセスを行っても構わない。Webコンテンツを取得する際に、検査処理部160からCCとして不正証明情報が送信される。検査対象物200であるブラウザは、送信された不正証明情報を受信する。そして、検査対象物200は、CCを抽出し、さらにVerifiable Contentのexploitである画像が挿入された属性を抽出する。上述したように、検査対象物200は、不正CA公開鍵により不正証明情報を認証し、不正証明情報を信用する。そのため、ここでは、検査対象物200は、exploitの部分まで含めてコンテンツ表示層にパラメータとして渡したとする。つまり、exploitが挿入(連結)された、画像をそのまま渡してしまったとする。図13に示すように、コンテンツ表示層では、exploitを渡された場合に、BoF(Buffer OverFlow)が発生する脆弱性がある。したがって、exploitが挿入された属性情報をそのままコンテンツ表示層に渡してしまった結果としてBoFが発生してしまう。
Next, in the inspection processing step (S109), the
Here, the
そして、検査結果判定ステップ(S110)では、検査結果判定部166は、例えば、検査対象物200からの返信を待つ。検査対象物200の脆弱性が再現しなければ、エラーレスポンスが返信される場合が考えられる。しかし、検査結果判定部166は、例えば、返信もなく、TCPの切断信号が無い場合には、不正証明情報が原因で脆弱性が再現したか、不具合が発生したと判断できる。または、検査対象物200であるブラウザで、BoFが発生したために、正常にコンテンツが表示されない等の不具合が発生することを確認する。このことによりBoFの脆弱性が確認できる。
In the inspection result determination step (S110), the inspection
この例は、図7に示す様に、PKIシステムのコンテンツ表示の不具合や脆弱性を不正証明情報により再現できるか確認することに相当する。このように、実施の形態3にかかる脆弱性検査装置100によれば、脆弱性情報DB192と製品運用DB190と属性情報DB194を連携させることにより、不正証明情報を生成できる。そして、不正証明情報を検査対象物200に送り込み、不具合や脆弱性が起こるか確認することが可能である。不具合や脆弱性が確認できた場合は、実装に誤りがある可能性が高いため、修正等を施すことで、事前に証明書による攻撃に備えることが可能である。
As shown in FIG. 7, this example corresponds to confirming whether or not the content display defect or vulnerability of the PKI system can be reproduced by the fraud proof information. As described above, according to the
つまり、実施の形態2、実施の形態3かかる脆弱性検査装置100は、属性情報DB194に、PKC以外の各種証明書の構造の情報を格納することにより、PKCだけでなく、AC、CC等その他の証明書情報のexploit証明書を生成する機能を追加したものである。
In other words, the
実施の形態4.
次に、実施の形態4について説明する。実施の形態4では、複数の脆弱性情報が検索された場合に、各脆弱性情報に対する不正証明情報を生成する脆弱性検査装置(不正情報生成装置)100について説明する。
Next, a fourth embodiment will be described. In the fourth embodiment, a vulnerability inspection apparatus (incorrect information generation apparatus) 100 that generates fraud certification information for each piece of vulnerability information when a plurality of pieces of vulnerability information is searched will be described.
前述した各実施の形態において、脆弱性情報検索ステップ(S102)で、脆弱性情報検索部130が脆弱性情報DB192から複数の脆弱性情報を検索した場合、それぞれの脆弱性情報に該当するexploitを設定した証明書を生成しても構わない。
つまり、脆弱性情報検索部130は、複数の脆弱性情報を検索した場合、複数の脆弱性情報の各脆弱性情報に対する検査情報を取得する。設定属性判定部140は、運用情報と属性情報とに基づき、脆弱性情報検索部130が取得した検査情報を設定する属性を複数の脆弱性情報の各脆弱性情報毎に判定する。不正情報生成部150は、設定属性判定部140が判定した属性に該当の検査情報を設定して、複数の脆弱性情報の各脆弱性情報毎に不正証明情報を生成する。
In each of the embodiments described above, when the vulnerability
That is, the vulnerability
例えば、実施の形態1の脆弱性情報検索ステップ(S102)において、3つの脆弱性情報が検索されたとする。この場合、設定属性判定ステップ(S103−S105)では、設定属性判定部140は、まず1つ目の脆弱性情報を選択する(1)。次に、設定属性判定部140は、実施の形態1と同様、選択した脆弱性情報に対応するexploitを埋め込む証明書の属性を、製品運用DB190、属性情報DB194の情報を利用し決定する(2)。そして、脆弱性検査装置100は、以降、不正証明情報の生成から検査まで同じ処理を実施する(3)。処理が終了すると、設定属性判定部140は、検索された2つ目の脆弱性情報について、上記(1)から(3)までの処理を行う。そして、また処理が終了すると、設定属性判定部140は、検索された3つ目の脆弱性情報について、上記(1)から(3)までの処理を行う。つまり、検索された脆弱性情報の数だけ(S103)以降の処理を繰り返す。
For example, assume that three pieces of vulnerability information are searched in the vulnerability information search step (S102) of the first embodiment. In this case, in the setting attribute determination step (S103-S105), the setting
つまり、実施の形態4にかかる脆弱性検査装置100は、脆弱性情報DB192から、複数の脆弱性情報が検索された場合、対応するexploitを設定した証明書を1つ1つ生成する機能を追加したものである。
That is, the
実施の形態2、実施の形態3において、複数の脆弱性が検索された場合も同様の処理を行うことができる。 In the second and third embodiments, the same processing can be performed when a plurality of vulnerabilities are searched.
実施の形態5.
次に、実施の形態5について説明する。実施の形態5では、複数の脆弱性情報が検索された場合に、任意の組合せのexploitを持った不正証明情報を生成する脆弱性検査装置(不正情報生成装置)100について説明する。
Next, a fifth embodiment will be described. In the fifth embodiment, a vulnerability inspection apparatus (unauthorized information generating apparatus) 100 that generates fraud certification information having an arbitrary combination of exploits when a plurality of pieces of vulnerability information are searched will be described.
前述した各実施の形態において、脆弱性情報検索ステップ(S102)で、脆弱性情報検索部130が脆弱性情報DB192から複数の脆弱性情報を検索した場合、検索した脆弱性情報の任意の組合せに含まれる各脆弱性情報に対応するexploitを設定した証明書を生成しても構わない。
つまり、脆弱性情報検索部130は、複数の脆弱性情報を検索した場合、複数の脆弱性情報から任意に選択した複数の脆弱性情報に対する検査情報を取得する。設定属性判定部140は、運用情報と属性情報とに基づき、脆弱性情報検索部130が取得した検査情報を設定する属性を任意に選択した複数の脆弱性情報の各脆弱性情報毎に判定する。不正情報生成部150は、設定属性判定部140が判定した属性に該当の検査情報を設定して1つの不正証明情報を生成する。または、不正情報生成部150は、設定属性判定部140が判定した属性に該当の検査情報を設定して、複数の脆弱性情報のすべての脆弱性情報の組合せ毎に不正証明情報を生成しても構わない。
In each of the above-described embodiments, when the vulnerability
That is, when searching for a plurality of vulnerability information, the vulnerability
例えば、実施の形態1において、脆弱性情報検索ステップ(S102)において、3つの脆弱性情報852が検索されたとする。この場合、設定属性判定ステップ(S103−S105)では、設定属性判定部140は、まず脆弱性情報の組合せを選択する。3つの脆弱性情報を、脆弱性情報1、脆弱性情報2、脆弱性情報3とする。設定属性判定部140が3つの脆弱性情報の中から例えばランダムに選択した結果として、例えば、脆弱性情報1、脆弱性情報3が選ばれたとする(1)。次に、設定属性判定部140は、脆弱性情報1に対して、実施の形態1同様、対応するexploitを埋め込む証明書の属性を、製品運用DB190、属性情報DB194の情報を利用し決定する。これを、属性情報1とする(2)。次に、設定属性判定部140は、脆弱性情報3に対して、実施の形態1同様、対応するexploitを埋め込む証明書の属性を、製品運用DB190、属性情報DB194の情報を利用し決定する。これを、属性情報3とする(3)。設定属性判定部140は(2)、(3)の処理で決定された2つの属性情報を不正情報生成部150に渡す(4)。不正情報生成部150は、属性情報1に該当するexploit1を脆弱性情報DB192から受け取る。同様に属性情報3に該当するexploit3を脆弱性情報DB192から受け取る(5)。不正情報生成部150は、属性情報1にexploit1を、属性情報3にexploit3を設定した不正証明情報を生成する(6)。脆弱性検査装置100は、以降、exploit証明書の設定から検査まで同じ処理を実施する(7)。
For example, in the first embodiment, it is assumed that three vulnerability information 852 are searched in the vulnerability information search step (S102). In this case, in the setting attribute determination step (S103-S105), the setting
脆弱性情報の任意の組合せは、検索された脆弱性情報を表示して、採用する脆弱性をGUI(Graphical User Interface)等でオペレータに選択させる方法や設定属性判定部140等がランダムに組合せを選んでも構わない。また、検索されたすべての脆弱性情報を含めても構わない。また、ランダムに組合せを選択する方法については、既にある手法を用いることができる。 Arbitrary combinations of vulnerability information can be obtained by displaying the searched vulnerability information and allowing the operator to select the vulnerability to be adopted using GUI (Graphical User Interface), etc. You can choose. In addition, all searched vulnerability information may be included. Moreover, about the method of selecting a combination at random, the existing method can be used.
また、図22に示すように脆弱性検査装置100は、オペレータにGUIにより脆弱性情報の組合せを選択させる機能を備えても構わない。図22は、オペレータにGUIにより脆弱性情報の組合せを選択させる機能を備える実施の形態5にかかる脆弱性検査装置100の機能ブロック図である。実施の形態5にかかる脆弱性検査装置100は、実施の形態1かかる脆弱性検査装置100の機能に加え、脆弱性情報選択部132を備える。脆弱性情報選択部132は、脆弱性情報検索部130が複数の脆弱性情報を検索した場合、検索した複数の脆弱性情報から所定の脆弱性情報を入力装置982により選択する。つまり、脆弱性情報選択部132は、例えば、検索された脆弱性情報がリスト表示された脆弱性を選択する。したがって、例えば、脆弱性情報検索部130は、脆弱性情報選択部132が選択した所定の脆弱性情報に対する検査情報を取得する。次に、設定属性判定部140は、運用情報と属性情報とに基づき、脆弱性情報検索部130が取得した検査情報を設定する属性を脆弱性情報選択部132が選択した所定の脆弱性情報の各脆弱性情報毎に判定する。そして、不正情報生成部150は、設定属性判定部140が判定した属性に該当の検査情報を設定して1つの不正証明情報を生成する。
Further, as shown in FIG. 22, the
図23は、脆弱性情報選択用GUIの一例である。図23に示すように脆弱性情報選択部132は、脆弱性情報1、脆弱性情報2、脆弱性情報3の3つの脆弱性から組合せを指定できる。図23では、脆弱性情報選択部132は、例えば、オペレータに脆弱性情報1、脆弱性情報3をチェックさせ、実行ボタンを押させることにより組合せを選択できる。
FIG. 23 is an example of a vulnerability information selection GUI. As shown in FIG. 23, the vulnerability
つまり、実施の形態5にかかる脆弱性検査装置100は、脆弱性情報DB192から、複数の脆弱性情報が検索された場合、対応するexploitの任意の組合せを持った証明情報を生成する機能を追加したものである。ここで、組合せの決定は、検索された脆弱性情報を表示し、採用する脆弱性をGUIでオペレータに選択させる方法や装置がランダムに組合せを選ぶ方法や全ての組合せを生成する方法等が考えられる。
That is, the
実施の形態2、実施の形態3において、複数の脆弱性が検索された場合も同様の処理を行うことができる。また、自動的に全ての組合せ毎の不正証明情報を生成しても構わない。 In the second and third embodiments, the same processing can be performed when a plurality of vulnerabilities are searched. Further, fraud certification information for every combination may be automatically generated.
実施の形態6.
次に、実施の形態6について説明する。実施の形態6では、exploitに空白文字等を混入した派生系のexploitを生成して不正証明情報を生成する脆弱性検査装置(不正情報生成装置)100について説明する。
Next, a sixth embodiment will be described. In the sixth embodiment, a vulnerability checking device (illegal information generating device) 100 that generates a derived-type exploit in which a blank character or the like is mixed in an exploit to generate fraud certification information will be described.
脆弱性検査装置100は、exploitに空白文字の混入等の派生系が考えられる場合は、混入文字の種類、数、位置等のパラメータを指定し派生exploitを生成しても構わない。そして、脆弱性検査装置100は、対応したexploit証明書を生成しても構わない。その場合は、脆弱性検査装置100は、例えば、パラメータを設定するGUIを備える。
The
図24は、パラメータを設定する機能を備える実施の形態6にかかる脆弱性検査装置100の機能を示す機能ブロック図である。実施の形態6にかかる脆弱性検査装置100は、実施の形態1かかる脆弱性検査装置100の機能に加え、変更情報入力部152を備える。変更情報入力部152は、検査情報の変更情報を入力装置982により入力する。そして、不正情報生成部150は、設定属性判定部140が判定した属性に、脆弱性情報検索部130が取得した検査情報に変更情報入力部152が入力した変更情報を反映させた検査情報を設定して不正証明情報を生成して記憶装置984に記憶する。
FIG. 24 is a functional block diagram illustrating functions of the
図25は、脆弱性情報編集用GUIの一例である。図25に示すように変更情報入力部152は、表示された脆弱性情報のexploitを編集することができる。変更情報入力部152は、例えば、オペレータにexploitを修正させ、編集完了ボタンを押させることで、派生のexploitを設定した不正証明情報を生成できる。
FIG. 25 is an example of a vulnerability information editing GUI. As shown in FIG. 25, the change
図26は、脆弱性情報編集用GUIの他の一例である。図26に示すように、変更情報入力部152は、exploitにおける挿入文字の位置を指定する挿入箇所、挿入する文字列を指定する挿入文字列、挿入する個数を指定する挿入個数をオペレータに指定させ、完了ボタンを押させることで、文字列を挿入した派生のexploitを設定した不正証明情報を生成できる。
FIG. 26 shows another example of the vulnerability information editing GUI. As shown in FIG. 26, the change
また、変更情報入力部152は、GUIで文字の挿入を指定するのではなく、設定ファイルで指定することで、自動的に文字列が設定されるようにしても構わない。例えば、「exploitの先頭に’fff’を3つ挿入する」と指定された設定ファイルを、変更情報入力部152は読み込んで先頭に’fff’を3つ挿入したexploitを生成する実装は可能である。
Further, the change
つまり、実施の形態6にかかる脆弱性検査装置100は、exploitに空白文字の混入等の派生系が考えられる場合、混入文字の種類、数、位置等のパラメータを指定し派生exploitを生成し、対応した不正証明情報を生成する機能を追加したものである。また、パラメータの挿入方法は、GUIでオペレータにパラメータを選択させる方法や予め設定されたパラメータを自動挿入する方法等が考えられる。
That is, the
実施の形態7.
次に、実施の形態7について説明する。実施の形態7では、不正証明情報にexploitの設定に加え、属性の異常値の設定を追加する脆弱性検査装置(不正情報生成装置)100について説明する。
Next, a seventh embodiment will be described. In the seventh embodiment, a vulnerability inspection apparatus (incorrect information generation apparatus) 100 that adds an abnormal value setting of an attribute to an incorrect certification information in addition to an exploit setting will be described.
脆弱性検査装置100は、不正証明情報の内容として、脆弱性情報DB192で管理されるexploitの設定に加え、属性の異常値の設定も追加する機能を備えても構わない。例えば、上述した変更情報入力部152がこの処理を行っても構わない。変更情報入力部152は、例えば、有効期限切れ、署名異常、既知のextentionのフォーマット違反等を不正証明情報に追加する。その場合は、脆弱性検査装置100は、例えば、各種パラメータを設定するGUIを備える。
図27は、属性の異常値の設定を不正証明情報に追加する属性設定用GUIの一例である。図27に示すように、変更情報入力部152は、Version、有効期限、Subject等の必須属性、及び、鍵用途、証明書のポリシー等のPKCの属性の一部を表示し、これらを入力することで属性の異常値の設定を不正証明情報に追加できる。ここでは、変更情報入力部152は、指定する値は異常値を指定する。変更情報入力部152は、例えば、有効期限1042であれば、071001(YYMMDD)〜051031(YYMMDD)のように開始と終わりの日付の大小を逆に指定する。また、変更情報入力部152は、例えば、証明書のポリシー1045に検査対象のシステムでは受け入れない値を指定する。指定する属性には、例えば、選択欄にチェックを入れることで行う。また、編集完了ボタンを押すことで、異常な属性値を持ち、かつexploitを設定した不正証明情報を生成する。
これらの属性の例は一部であり、PKC、AC等の仕様は規定されているのでその規定の属性をGUIに表示することで、オペレータが異常値の指定を行うことができる。複数の属性の異常値を指定しても構わない。また、GUIで異常値を指定するのではなく、設定ファイルに異常値を指定することで、自動的に異常値が設定される実装でも構わない。
FIG. 27 is an example of an attribute setting GUI for adding the abnormal value setting of the attribute to the fraud proof information. As shown in FIG. 27, the change
Examples of these attributes are only a part, and specifications such as PKC and AC are defined. By displaying the defined attributes on the GUI, the operator can specify an abnormal value. You may specify abnormal values for multiple attributes. In addition, an abnormal value may be automatically set by specifying an abnormal value in a setting file instead of specifying an abnormal value by using a GUI.
つまり、実施の形態7にかかる脆弱性検査装置100は、不正証明情報として、脆弱性情報DB192に管理されたexploitの設定に加え、属性の異常値を設定する機能を追加したものである。ここで、属性の異常値とは、例えば、有効期限切れ、署名異常、既知のextentionのフォーマット違反等である。また、異常値の設定を追加する方法としては、GUIでオペレータに属性と異常値を指定させる方法や予め設定された属性と異常値を自動挿入する方法等が考えられる。
That is, the
実施の形態8.
次に、実施の形態8について説明する。実施の形態8では、製品運用DB190への製品情報の登録を自動に行う脆弱性検査装置(不正情報生成装置)100について説明する。
Next, an eighth embodiment will be described. In the eighth embodiment, a vulnerability inspection apparatus (unauthorized information generation apparatus) 100 that automatically registers product information in the
脆弱性検査装置100は、製品運用DB190への情報の登録において、予め検査対象物200の情報をGUI等により手動で設定する他に、OSやアプリケーションのフィンガープリンティング手法により使用しているOSやアプリケーションの情報をネットワーク経由で自動的に収集しても構わない。
ここで、フィンガープリンティングとは、例えば、Webサーバに対してHTTPリクエストを送信すると、使用しているWebサーバの製品名やバージョンがレスポンスとして返信されることをいう。また、telnet接続でOS名が返信されることをいう。これらの返信された情報であるフィンガープリントを利用し検査対象物200のホストのOSや使用しているソフトウェアのバージョンを取得する。
In addition to manually setting the information of the
Here, fingerprinting means that, for example, when an HTTP request is transmitted to a Web server, the product name and version of the Web server being used are returned as a response. Also, it means that the OS name is returned by telnet connection. Using the fingerprint as the returned information, the OS of the host of the
図28は、製品運用DB190への製品情報の登録を自動に行う実施の形態8にかかる脆弱性検査装置100の機能を示す機能ブロック図である。実施の形態8にかかる脆弱性検査装置100は、実施の形態1にかかる脆弱性検査装置100に加え、製品情報収集部172を備える。製品情報収集部172は、検査対象物200の製品情報をフィンガープリンティングにより収集する。そして、製品運用記憶部120は、製品情報収集部172が収集した製品情報を記憶する。
FIG. 28 is a functional block diagram illustrating functions of the
実施の形態8は、ホストのOSや使用しているソフトウェアのバージョンを取得するツールと同様の手法により、手動で製品の製品情報を製品運用DB190へ登録することなく、自動的に製品情報を登録可能である。
In the eighth embodiment, the product information is automatically registered without manually registering the product information in the
つまり、実施の形態8にかかる脆弱性検査装置100は、製品運用DB190への情報の登録において、予め検査対象の情報をGUI等で手動で設定するのではなく、OSやアプリケーションのフィンガープリンティング手法により使用しているOS/アプリケーションの情報をネットワーク経由で自動的に収集する機能を追加したものである。
That is, the
実施の形態9.
次に、実施の形態9について説明する。実施の形態9では、製品運用DB190への運用情報の登録を自動に行う脆弱性検査装置(不正情報生成装置)100について説明する。
Embodiment 9 FIG.
Next, Embodiment 9 will be described. In the ninth embodiment, a vulnerability inspection apparatus (unauthorized information generation apparatus) 100 that automatically registers operation information in the
脆弱性検査装置100は、検査対象物200がサーバ等である場合、どのような運用を行っているか、手動で製品運用DB190へ登録するのではなく、自動的に調査する。脆弱性検査装置100は、例えば、ポートスキャンにより開いているポートを検査する。この時、ポート443が稼動していれば、HTTPSが稼動している。つまり、脆弱性検査装置100は、SSL対応のWebサーバが稼動していると判断できる。次に、脆弱性検査装置100は、SSLのハンドシェイクでCertificateRequestがサーバから送信されていれば、そのサーバではクライアント認証を必要としていると判断できる。CertificateRequestが送信されない場合でも、クライアント側からClientCeritificateを送信すると、送信されたクライアント証明書をチェックするサーバがある。脆弱性検査装置100は、正常なクライアント証明書を送った場合と有効期限が切れている場合や署名が改ざんされている証明書を送った場合とで挙動が異なるときは、クライアント証明書の提供を強要しないが、受信した場合はチェックしている運用であると判断できる。
When the
図29は、製品運用DB190への運用情報の登録を自動に行う実施の形態9にかかる脆弱性検査装置100の機能を示す機能ブロック図である。実施の形態9にかかる脆弱性検査装置100は、実施の形態1にかかる脆弱性検査装置100に加え、運用情報特定部174を備える。運用情報特定部174は、検査対象物200に対してポートスキャンを行い、検査対象物200で動作するPKIシステムで利用するサービスを特定する。そして、製品運用記憶部120は、運用情報特定部174が収集したサービスを製品情報として記憶する。
FIG. 29 is a functional block diagram illustrating functions of the
実施の形態9は、ポートスキャン等により、手動で製品の運用情報を製品運用DB190へ登録することなく、自動的に製品情報を登録可能である。
In the ninth embodiment, product information can be automatically registered without manually registering product operation information in the
つまり、実施の形態9にかかる脆弱性検査装置100は、検査対象物200が、サーバである場合、どのような運用を行っているか、ポートスキャンにより開いているポートを検査し、攻撃対象のPKIシステムのサービスを特定する機能を追加したものである。
That is, when the
実施の形態10.
次に、実施の形態10について説明する。上述した実施の形態1から実施の形態9までは、PKC、AC、CCに限らず、その他の証明情報に対しても適用することができる。例えば、QC(Qualified Certificate,RFC3739)、PC(Proxy Certificate,RFC3820)等のIETF(Internet Engineering Task Force)で仕様化されているほかの証明書や、CSC(Code Signing Certificate)、DC(Device Certificate)等のIETFで仕様化されていない独自の証明書に対しても適用することができる。これらの証明書の構造の情報を属性情報DB194に格納することで、各々の不正証明情報を作成可能である。
Embodiment 10 FIG.
Next, Embodiment 10 will be described. The first to ninth embodiments described above can be applied not only to PKC, AC, and CC but also to other certification information. For example, other certificates specified by IETF (Internet Engineering Task Force) such as QC (Qualified Certificate, RFC3739), PC (Proxy Certificate, RFC3820), CSC (Code Signaling Certificate), CSC (Code Signaling Certificate), It can also be applied to unique certificates that are not specified in the IETF. By storing information on the structure of these certificates in the
実施の形態11.
次に、実施の形態11について説明する。実施の形態11では、証明書の失効情報に対してexploitを設定する脆弱性検査装置(不正情報生成装置)100の例について説明する。
Embodiment 11 FIG.
Next, Embodiment 11 will be described. In the eleventh embodiment, an example of a vulnerability check apparatus (unauthorized information generation apparatus) 100 that sets an exploit for certificate revocation information will be described.
脆弱性検査装置100は、証明書だけでなく、CRLやOCSPのリクエストやレスポンスの構造を属性情報DB194に格納することでexploitCRLやexploitOCSPのリクエストやレスポンスを不正証明情報として生成可能である。
例えば、RFC3280によればCRLには、そのCRLに対する差分の情報をDeltaCRLとして公開することが可能である。CRLにはDeltaCRLの公開場所を、「FreshestCRL::=CRLDistributionPoints」のextentionで示すことが可能である。
For example, according to RFC3280, it is possible to publish the difference information for the CRL as DeltaCRL in the CRL. In the CRL, the disclosure location of the DeltaCRL can be indicated by an extension of “FreshestCRL :: = CRLDtributionPoints”.
実施の形態11にかかる脆弱性検査装置100の機能、および動作の流れは、実施の形態1にかかる脆弱性検査装置100の機能、および動作の流れと同様である。そこで、図30と図10とに基づき実施の形態11にかかる脆弱性検査装置100の動作について説明する。図30は、実施の形態11にかかる脆弱性検査装置100の処理とデータの流れを示した図である。
ここでは、S/MIMEメーラのCRLの処理に関する不具合や脆弱性を検査する。
The function and operation flow of the
Here, a defect or vulnerability related to the CRL processing of the S / MIME mailer is inspected.
実施の形態1同様、事前に、脆弱性情報記憶部122は、インターネット940等から脆弱性情報および対応するexploitとを脆弱性情報DB192として記憶装置984に記憶する(脆弱性情報記憶ステップ)。また、属性情報記憶部124は、規定されている証明情報の各属性およびextensionの構造の情報である属性情報を記憶装置984に属性情報DB194として記憶する(属性情報記憶ステップ)。
Like the first embodiment, the vulnerability
次に、製品運用記憶ステップ(S101)では、製品運用記憶部120は、図31に示す製品情報と設定情報と運用情報とを記憶する。図31は、製品運用記憶部120が製品運用DB190として記憶する情報の一例である。つまり、製品運用記憶部120は、製品情報としてS/MIME mailerX、設定情報としてHTTP、運用情報としてPKCのチェックにCRLを使用という情報を記憶する。図31は、製品運用記憶部120が製品運用DB190として記憶する情報の一例である。
Next, in the product operation storage step (S101), the product
次に、脆弱性情報検索ステップ(S102)では、脆弱性情報検索部130は、例えば、製品運用DB190から製品情報、設定情報として図32に示す情報を取り出す。図32は、脆弱性情報検索部130が検査キーとして使用する情報の一例である。つまり、脆弱性情報検索部130は、製品情報として製品名S/MIME mailer、設定情報としてセキュアプロトコルS/MIME、通信プロトコルはHTTP、セキュリティは指定なしという情報を取り出す。そして、脆弱性情報検索部130は、これらの情報を検索キーとして脆弱性情報DB192を検索する。
その結果、HTTPエンジンのリクエストに脆弱性あり、不正なURLにより異常終了が発生するという脆弱性情報が検索されたとする。
Next, in the vulnerability information search step (S102), the vulnerability
As a result, it is assumed that there is a vulnerability in an HTTP engine request, and vulnerability information that an abnormal termination occurs due to an illegal URL is retrieved.
次に、証明情報検索ステップ(S103)では、証明情報検索部142は、製品運用DB190の運用情報からCRLをexploitの設定対象の候補と判断する。証明書の運用方法として、証明書の失効のチェックにCRLを使用することが記述されているためである。
Next, in the certification information retrieval step (S103), the certification
次に、証明情報属性検索ステップ(S104)では、証明情報属性検索部144は、CRLの構造情報を属性情報DB194から取得する。
Next, in the certification information attribute retrieval step (S104), the certification information
次に、設定属性検索ステップ(S105)では、設定属性検索部146は、FreshestCRLにURLを設定できることを判定する。設定属性検索部146は、既に、脆弱性情報DB192における検索結果よりexploitのタイプがURLであることを判定できる。そこで、設定属性検索部146は、CRLの構造情報からURLを設定可能な属性を検索する。CRLのextensionであるFreshestCRLはCRLDistributionPointsと同じ型で定義されるが、実施の形態1に示すように、CRLDistributionPointsのuniformResourceIdentifierにURLが設定できることがわかる。つまり、設定属性検索部146は、「CRL Distribution Points」、「DistributionPoint」、「distributionPoint」、「GeneralNames」、「GeneralName」、「uniformResourceIdentifier」の順に辿ることで、FreshestCRLを検索する。つまり、FreshestCRLがexploitを設定するのに適していると判断する。その結果、設定属性検索部146は、CRLのextensionであるFreshestCRLのURLにexploitを設定することを決定する。
Next, in the setting attribute search step (S105), the setting
次に、不正情報生成ステップ(S106)では、不正情報生成部150は、まず、FreshestCRLのURLにexploitのURLである「http://www.abc.com/・・・」を設定して不正証明情報であるexploitCRLを生成する。この時、不正情報生成部150は、生成した不正証明情報が検査用に別途生成した不正な認証期間である不正CAを証明する不正CA証明書の配下のCRLとなるように、Issuerに不正CA証明書のSubjectを設定する。さらに、不正情報生成部150は、不正CA証明書の不正CA公開鍵と対をなす不正CA秘密鍵により署名を付与する。
実施の形態1同様、脆弱性検査装置100は、上記不正CA公開鍵を事前に検査対象物200に渡しておく。そのため、検査対象物200は、上記不正証明情報を受け取り検証すると、不正CA公開鍵により不正証明情報が認証できる。したがって、検査対象物200は、不正証明情報を信用する。その結果として、検査対象物200は、不正証明情報の属性情報に埋め込まれたexploitにより脆弱性が発生する可能性がある。
Next, in the fraudulent information generation step (S106), the fraudulent
As in the first embodiment, the
次に、検査情報設定ステップ(S107)では、検査情報設定部162は、S/MIMEメールクライアントを検査処理部160として、(S106)で、不正情報生成部150が生成した不正証明情報を設定する。
Next, in the inspection information setting step (S107), the inspection
次に、検査実施ステップ(S108)では、検査実施部164は、検査処理部160に対し検査対象物200に接続する命令を出す。
Next, in the inspection execution step (S108), the
次に、検査処理ステップ(S109)では、検査処理部160は、S/MIME署名メール1156を生成し、不正証明情報であるexploitCRLを添付する。なお、署名は、不正CA証明書配下のS/MIME署名用証明書を予め発行しておき、S/MIMEメールに署名を付加してS/MIME署名用証明書をメールに添付する。つまり、S/MIME署名メールには、S/MIME用証明書とexploitCRLが添付される。そして、検査処理部160は、検査対象物200へ不正証明情報を付したS/MIME署名メールを送信する。
なお、S/MIME署名メールへの証明書とCRLの添付(格納)方法は、例えば、RFC2311(S/MIME Version 2 Message Specification)に基づいて行う。
ここでは、検査対象物200はS/MIMEメーラが該当する。検査対象物200はでは、S/MIME署名メールの署名を検査する作業が行われる。検査対象物200は、添付されている不正証明情報であるexploitCRLの署名をチェックし成功するので、FreshestCRLを抽出し、さらにURLを抽出する。URLにはexploitが挿入されているが、exploitの部分まで含めてHTTP処理層にパラメータとして渡したとする。つまり、exploitが挿入(連結)された、URL「http://www.abc.com/・・・」をそのままHTTP処理層へ渡してしまったとする。HTTP処理層では、exploitを渡された場合に、異常終了が発生する脆弱性がある。したがって、exploitが挿入(連結)された、URLをそのままHTTP処理層へ渡してしまった結果として異常終了が発生する。
Next, in the inspection processing step (S109), the
The method for attaching (storing) the certificate and CRL to the S / MIME signature mail is performed based on, for example, RFC2311 (S /
Here, the
そして、検査結果判定ステップ(S110)では、検査結果判定部166は、例えば、処理が所定以上に遅くなる等の現象が起こるか否かを確認する。検査対象物200の脆弱性が再現しなければ、所定の早さで処理が行われるはずである。しかし、検査結果判定部166は、例えば、所定以上に処理が遅い場合には、不正証明情報が原因で脆弱性が再現したか、不具合が発生したと判断できる。
Then, in the inspection result determination step (S110), the inspection
このように、実施の形態11にかかる脆弱性検査装置100によれば、脆弱性情報DB192と製品運用DB190と属性情報DB194を連携させることにより、不正証明情報としてexploitCRLを生成し、これを検査対象1109に送り込み、不具合や脆弱性が起こるか確認する。不具合や脆弱性が確認できた場合は、実装に誤りがある可能性が高いため、修正等を施すことで、事前にCRLによる攻撃に備えることが可能である。
As described above, according to the
実施の形態12.
次に、実施の形態12について説明する。実施の形態12では、証明書の失効状態の問い合わせを受け、返答を返すOCSPに対してexploitを設定する脆弱性検査装置(不正情報生成装置)100の例について説明する。
Embodiment 12 FIG.
Next, an embodiment 12 will be described. In the twelfth embodiment, an example of a vulnerability check apparatus (unauthorized information generation apparatus) 100 that sets an exploit for an OCSP that receives an inquiry about a certificate revocation status and returns a response will be described.
まず、図33に基づきOCSPの概要を説明する。図33は、OCSPの概要を示す図である。
OCSPクライアント410は、検証したい証明書の情報をOCSPリクエスト412に設定してOCSPサーバ420に送信する。OCSPサーバ420は、OCSPリクエスト412により問合せがあった証明書の失効状態をOCSPレスポンス422に設定してOCSPクライアント410に返信する。
なお、OCSPリクエスト412には、OCSPクライアント自身の署名と証明書が添付される。但し、OCSPリクエストに、OCSPクライアント自身の署名と証明書を添付することはオプションであり、必須ではない。また、OCSPレスポンス422には、OCSPサーバ420自身の署名と証明書が添付される。
First, the outline of OCSP will be described with reference to FIG. FIG. 33 is a diagram showing an outline of the OCSP.
The
The
実施の形態12では、OCSPクライアント410/サーバ420に対して不正証明情報を送信して脆弱性の有無を検査する。
In the twelfth embodiment, fraud certification information is transmitted to the
まず、実施の形態12にかかる脆弱性検査装置100の機能、および動作の流れは、実施の形態1にかかる脆弱性検査装置100の機能、および動作の流れと同様である。そこで、OCSPクライアント410/サーバ420に対して不正証明情報を送信して脆弱性の有無を検査する方法について、実施の形態1と異なる部分について説明する。
First, the function and operation flow of the
まず、OCSPクライアント410の脆弱性を検査する場合について説明する。OCSPクライアント410の脆弱性を検査する場合、検査対象物200は、OCSPクライアント410である。また、OCSPサーバ420のソフトウェアが検査処理部160である。製品運用記憶部120は、製品運用DB190にOCSPクライアント410のソフトウェア情報を設定する。また、属性情報記憶部124は、属性情報DB194にPKCおよびOCSPのデータ構造の情報を設定する。
ここで、OCSPサーバ420がOCSPクライアント410に対してOCSPレスポンス422を返信するが、このOCSPレスポンス422に不正証明情報を格納する。OCSPレスポンス422にはOCSPサーバ420の署名と証明書が付加されるので、実施の形態1と同様、脆弱性検査装置100は、不正証明情報を生成してOCSPレスポンス422に格納する。
First, a case where the vulnerability of the
Here, the
次に、OCSPサーバ420の脆弱性を検査する場合について説明する。OCSPサーバ420の脆弱性を検査する場合、検査対象物200は、OCSPサーバ420である。また、OCSPクライアント410のソフトウェアが検査処理部160である。製品運用記憶部120は、製品運用DB190にOCSPサーバ420のソフトウェア情報を設定する。また、属性情報記憶部124は、属性情報DB194にPKCおよびOCSPのデータ構造の情報を設定する。
ここで、OCSPクライアント410はOCSPサーバ420に対してOCSPリクエスト412を送信するが、このOCSPリクエスト412に不正証明情報を格納する。OCSPリクエスト412にはOCSPクライアント410の署名と証明書が付加されるので、実施の形態1と同様、脆弱性検査装置100は、不正証明情報を生成してOCSPリクエスト412に格納する。なお、OCSPリクエストに、OCSPクライアント自身の署名と証明書を添付することはオプションのため必須では無いが、ここでは添付することとする。
Next, a case where the vulnerability of the
Here, the
実施の形態12では、OCSPリクエスト412/レスポンス422における送信者の証明書にexploitを格納した。しかし、脆弱性情報DB192から検索された脆弱性情報のexploitについて、格納するための適切なOCSPリクエスト412/レスポンス422のデータ構造が、証明書以外に検出された場合は、そのデータに対して実施の形態1から9までに示すようにそのデータにexploitを設定しても構わない。
例えば、OCSPリクエスト412/レスポンス422のどちらに対しても該当し、バイナリデータを設定するNonce、OCSPレスポンス422に該当し、URLを設定するCRLReferences、OCSPリクエスト422に該当し、URLを設定するServiceLocator等のOCSPプロトコルデータのextentionが該当する場合が考えられる。
In the twelfth embodiment, the exploit is stored in the certificate of the sender in the
For example, it corresponds to both
つまり、実施の形態11、実施の形態12にかかる脆弱性検査装置100は、属性情報DB194に、CRL、OCSP等の各種失効情報の構造の情報を格納することにより、exploit失効情報(不正失効情報)を生成する機能を追加したものである。
In other words, the
100 脆弱性検査装置、110 脆弱性検査部、120 製品運用記憶部、122 脆弱性情報記憶部、124 属性情報記憶部、130 脆弱性情報検索部、132 脆弱性情報選択部、140 設定属性判定部、142 証明情報検索部、144 証明情報属性検索部、146 設定属性検索部、150 不正情報生成部、152 変更情報入力部、160 検査処理部、162 検査情報設定部、164 検査実施部、166 検査結果判定部、172 製品情報収集部、174 運用情報特定部、200 検査対象物、−901 CRT表示装置、902 K/B、903 マウス、904 FDD、905 CDD、908 データベース、909 システムユニット、910 サーバ、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、916 外部サーバ、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 FAX機、940 インターネット、941 ゲートウェイ、942 LAN、980 処理装置、982 入力装置、984 記憶装置、986 表示装置、988 通信装置。
DESCRIPTION OF
Claims (16)
検査対象物の脆弱性情報と上記脆弱性情報に対する検査情報とを記憶装置に記憶する脆弱性情報記憶部と、
上記証明情報の属性情報を記憶装置に記憶する属性情報記憶部と、
上記製品運用記憶部が記憶した製品情報と設定情報とに基づき、上記脆弱性情報記憶部が記憶した脆弱性情報を検索して上記脆弱性情報に対する検査情報を処理装置により取得する脆弱性情報検索部と、
上記製品運用記憶部が記憶した運用情報と上記属性情報記憶部が記憶した属性情報とに基づき、上記脆弱性情報検索部が取得した検査情報を設定する属性を処理装置により判定する設定属性判定部と、
上記設定属性判定部が判定した属性に、上記脆弱性情報検索部が取得した検査情報を設定して不正証明情報を生成して記憶装置に記憶する不正情報生成部と
を備えることを特徴とする不正情報生成装置。 A product operation storage unit for storing in the storage device product information of the inspection object in the public key infrastructure system, security setting information of the inspection object, and operation information including certification information used by the inspection object;
A vulnerability information storage unit for storing the vulnerability information of the inspection object and the inspection information for the vulnerability information in a storage device;
An attribute information storage unit for storing attribute information of the certification information in a storage device;
Vulnerability information search that searches for vulnerability information stored in the vulnerability information storage unit based on product information and setting information stored in the product operation storage unit, and obtains inspection information for the vulnerability information by a processing device And
A setting attribute determination unit that determines, by a processing device, an attribute for setting inspection information acquired by the vulnerability information search unit based on the operation information stored in the product operation storage unit and the attribute information stored in the attribute information storage unit When,
An illegal information generation unit configured to set the inspection information acquired by the vulnerability information search unit to the attribute determined by the setting attribute determination unit, generate fraud certification information, and store the fraud information in a storage device. Unauthorized information generator.
上記不正情報生成部が生成した不正証明情報を、上記検査対象物に接続して検査を行う検査処理部に処理装置により設定する検査情報設定部と、
上記検査情報設定部が不正証明情報を設定した検査処理部へ処理装置により検査の実行の指示をする検査実施部と、
上記検査実施部がした指示により、検査処理部が実行した検査に対する検査対象物の動作に基づき、脆弱性が再現したか否かを処理装置により判定する検査結果判定部と
を備えることを特徴とする請求項1記載の不正情報生成装置。 The fraudulent information generation device further includes:
An inspection information setting unit that sets the fraud certification information generated by the fraud information generation unit to the inspection processing unit that performs inspection by connecting to the inspection object,
An inspection execution unit that instructs the execution of inspection by the processing device to the inspection processing unit in which the inspection information setting unit sets the fraud certification information;
An inspection result determination unit that determines whether or not the vulnerability has been reproduced based on the operation of the inspection object with respect to the inspection performed by the inspection processing unit according to the instruction given by the inspection execution unit. The unauthorized information generating apparatus according to claim 1.
上記製品運用記憶部が記憶した運用情報から利用する証明情報を検索する証明情報検索部と、
上記属性情報記憶部が記憶した属性情報から上記証明情報検索部が検索した証明情報の属性情報を検索する証明情報属性検索部と、
上記証明属性情報検索部が検索した属性情報から上記脆弱性情報検索部が検索した検査情報の検査箇所を設定可能な属性を検索する設定属性検索部と
を備えることを特徴とする請求項1記載の不正情報生成装置。 The setting attribute determination unit
A certification information retrieval unit for retrieving certification information to be used from the operational information stored in the product operational storage unit;
A proof information attribute search unit for searching attribute information of the proof information searched by the proof information search unit from the attribute information stored by the attribute information storage unit;
2. A setting attribute search unit for searching for an attribute capable of setting a test location of test information searched by the vulnerability information search unit from attribute information searched by the proof attribute information search unit. Incorrect information generator.
上記設定属性判定部は、運用情報と属性情報とに基づき、上記脆弱性情報検索部が取得した検査情報を設定する属性を上記複数の脆弱性情報の各脆弱性情報毎に判定し、
上記不正情報生成部は、上記設定属性判定部が判定した属性に該当の検査情報を設定して、上記複数の脆弱性情報の各脆弱性情報毎に不正証明情報を生成する
ことを特徴とする請求項1記載の不正情報生成装置。 The vulnerability information search unit, when searching for a plurality of vulnerability information, obtains inspection information for each vulnerability information of the plurality of vulnerability information,
The setting attribute determination unit determines an attribute for setting the inspection information acquired by the vulnerability information search unit for each vulnerability information of the plurality of vulnerability information based on the operation information and the attribute information,
The fraud information generation unit sets the corresponding inspection information to the attribute determined by the setting attribute determination unit, and generates fraud certification information for each vulnerability information of the plurality of vulnerability information. The unauthorized information generating apparatus according to claim 1.
上記設定属性判定部は、運用情報と属性情報とに基づき、上記脆弱性情報検索部が取得した検査情報を設定する属性を上記任意に選択した複数の脆弱性情報の各脆弱性情報毎に判定し、
上記不正情報生成部は、上記設定属性判定部が判定した属性に該当の検査情報を設定して1つの不正証明情報を生成する
ことを特徴とする請求項1記載の不正情報生成装置。 The vulnerability information search unit, when searching for a plurality of vulnerability information, obtains inspection information for a plurality of vulnerability information arbitrarily selected from the plurality of vulnerability information,
The set attribute determining unit determines, based on the operation information and attribute information, for each vulnerability information of the plurality of arbitrarily selected vulnerability information, the attribute for setting the inspection information acquired by the vulnerability information search unit And
2. The fraud information generating apparatus according to claim 1, wherein the fraud information generating unit sets corresponding inspection information to the attribute determined by the setting attribute determination unit and generates one fraud certification information.
上記脆弱性情報検索部が複数の脆弱性情報を検索した場合、検索した複数の脆弱性情報から所定の脆弱性情報を入力装置により選択する脆弱性情報選択部を備え、
上記脆弱性情報検索部は、上記脆弱性情報選択部が選択した所定の脆弱性情報に対する検査情報を取得し、
上記設定属性判定部は、運用情報と属性情報とに基づき、上記脆弱性情報検索部が取得した検査情報を設定する属性を上記脆弱性情報選択部が選択した所定の脆弱性情報に対して判定し、
上記不正情報生成部は、上記設定属性判定部が判定した属性に該当の検査情報を設定して1つの不正証明情報を生成する
ことを特徴とする請求項1記載の不正情報生成装置。 The fraudulent information generation device further includes:
When the vulnerability information search unit searches for a plurality of vulnerability information, the vulnerability information search unit includes a vulnerability information selection unit that selects predetermined vulnerability information from the plurality of searched vulnerability information using an input device,
The vulnerability information search unit acquires inspection information for the predetermined vulnerability information selected by the vulnerability information selection unit,
The setting attribute determining unit determines, based on the operation information and the attribute information, an attribute for setting the inspection information acquired by the vulnerability information searching unit with respect to the predetermined vulnerability information selected by the vulnerability information selecting unit. And
2. The fraud information generating apparatus according to claim 1, wherein the fraud information generating unit sets corresponding inspection information to the attribute determined by the setting attribute determination unit and generates one fraud certification information.
上記設定属性判定部は、運用情報と属性情報とに基づき、上記脆弱性情報検索部が取得した検査情報を設定する属性を上記複数の脆弱性情報の各脆弱性情報毎に判定し、
上記不正情報生成部は、上記設定属性判定部が判定した属性に該当の検査情報を設定して、上記複数の脆弱性情報のすべての脆弱性情報の組合せ毎に不正証明情報を生成する
ことを特徴とする請求項1記載の不正情報生成装置。 The vulnerability information search unit, when searching for a plurality of vulnerability information, obtains inspection information for each vulnerability information of the plurality of vulnerability information,
The setting attribute determination unit determines an attribute for setting the inspection information acquired by the vulnerability information search unit for each vulnerability information of the plurality of vulnerability information based on the operation information and the attribute information,
The fraud information generation unit sets the corresponding inspection information to the attribute determined by the setting attribute determination unit, and generates fraud certification information for each combination of all the vulnerability information of the plurality of vulnerability information. The fraud information generating apparatus according to claim 1, wherein:
検査情報の変更情報を入力する変更情報入力部を備え、
上記不正情報生成部は、上記設定属性判定部が判定した属性に、上記脆弱性情報検索部が取得した検査情報に上記変更情報入力部が入力した変更情報を反映させた検査情報を設定して不正証明情報を生成して記憶装置に記憶する
ことを特徴とする請求項1記載の不正情報生成装置。 The fraudulent information generation device further includes:
Provided with a change information input unit for inputting inspection information change information,
The fraudulent information generation unit sets inspection information in which the change information input by the change information input unit is reflected in the inspection information acquired by the vulnerability information search unit in the attribute determined by the setting attribute determination unit. 2. The fraud information generating apparatus according to claim 1, wherein fraud certification information is generated and stored in a storage device.
検査対象物の製品情報をフィンガープリンティングにより収集する製品情報収集部を備え、
上記製品運用記憶部は、上記製品情報収集部が収集した製品情報を記憶する
ことを特徴とする請求項1記載の不正情報生成装置。 The fraudulent information generation device further includes:
A product information collection unit that collects product information of inspection objects by fingerprinting,
2. The unauthorized information generation apparatus according to claim 1, wherein the product operation storage unit stores product information collected by the product information collection unit.
検査対象物に対してポートスキャンを行い、検査対象物で動作する公開鍵基盤システムで利用するサービスを特定する運用情報特定部を備え、
上記製品運用記憶部は、上記運用情報特定部が特定したサービスを運用情報として記憶する
ことを特徴とする請求項1記載の不正情報生成装置。 The fraudulent information generation device further includes:
A port scan is performed on the inspection object, and an operation information specifying unit for specifying a service used in the public key infrastructure system operating on the inspection object is provided.
The fraud information generating apparatus according to claim 1, wherein the product operation storage unit stores the service specified by the operation information specifying unit as operation information.
公開鍵基盤システムの証明情報の属性に検査情報を設定して不正証明情報を生成して記憶装置に記憶する不正情報生成部と、
上記不正情報生成部が生成した不正証明情報に基づき、上記検査対象物に対して検査を処理装置により実施する検査処理部と、
上記検査処理部が実施した検査に対する検査対象物の動作に基づき、脆弱性が再現したか否かを処理装置により判定する検査結果判定部と
を備えることを特徴とする脆弱性検査装置。 In a vulnerability inspection device that searches for vulnerabilities in inspection objects,
A fraud information generating unit that sets inspection information in the attribute of the certification information of the public key infrastructure system to generate fraud certification information and stores it in the storage device;
Based on the fraud certification information generated by the fraud information generation unit, an inspection processing unit that performs an inspection on the inspection object by a processing device;
A vulnerability inspection apparatus, comprising: an inspection result determination unit that determines whether or not vulnerability has been reproduced based on an operation of an inspection object with respect to an inspection performed by the inspection processing unit.
ことを特徴とする請求項11記載の脆弱性検査装置。 The vulnerability according to claim 11, wherein the inspection result determination unit determines that the vulnerability has been reproduced when there is no predetermined reply from the inspection object with respect to the inspection performed by the inspection processing unit. Inspection device.
検査対象物の脆弱性情報と上記脆弱性情報に対する検査情報とを脆弱性情報記憶部が記憶装置に記憶する脆弱性情報記憶ステップと、
上記証明情報の属性情報を属性情報記憶部が記憶装置に記憶する属性情報記憶記憶ステップと、
上記製品運用記憶ステップで記憶した製品情報と設定情報とに基づき、上記脆弱性情報記憶ステップで記憶した脆弱性情報を検索して上記脆弱性情報に対する検査情報を脆弱性情報検索部が処理装置により取得する脆弱性情報検索ステップと、
上記製品運用記憶ステップで記憶した運用情報と上記属性情報記憶ステップで記憶した属性情報とに基づき、上記脆弱性情報検索ステップが取得した検査情報を設定する属性を設定属性判定部が処理装置により判定する設定属性判定ステップと、
上記設定属性判定ステップで判定した属性に、上記脆弱性情報検索ステップが取得した検査情報を設定して不正証明情報を生成して記憶装置に記憶する不正情報生成ステップと
を備えることを特徴とする不正情報生成方法。 The product operation storage unit stores in the storage device product information of the inspection object in the public key infrastructure system, security setting information of the inspection object, and operation information that is a method of using the certification information by the inspection object. A working memory step;
A vulnerability information storage step in which the vulnerability information storage unit stores the vulnerability information of the inspection object and the inspection information for the vulnerability information in a storage device;
An attribute information storage step in which the attribute information storage unit stores the attribute information of the certification information in a storage device;
Based on the product information stored in the product operation storage step and the setting information, the vulnerability information stored in the vulnerability information storage step is searched for, and the vulnerability information search unit uses the processing device to inspect the vulnerability information. A vulnerability information retrieval step to be acquired;
Based on the operation information stored in the product operation storage step and the attribute information stored in the attribute information storage step, the setting attribute determination unit determines the attribute for setting the inspection information acquired in the vulnerability information search step by the processing device. A setting attribute determination step to perform,
A fraud information generation step of setting the inspection information acquired in the vulnerability information search step to the attribute determined in the setting attribute determination step to generate fraud certification information and storing the fraud information in a storage device Incorrect information generation method.
検査対象物の脆弱性情報と上記脆弱性情報に対する検査情報とを脆弱性情報記憶部が記憶装置に記憶する脆弱性情報記憶ステップと、
上記証明情報の属性情報を属性情報記憶部が記憶装置に記憶する属性情報記憶記憶ステップと、
上記製品運用記憶ステップで記憶した製品情報と設定情報とに基づき、上記脆弱性情報記憶ステップで記憶した脆弱性情報を検索して上記脆弱性情報に対する検査情報を脆弱性情報検索部が処理装置により取得する脆弱性情報検索ステップと、
上記製品運用記憶ステップで記憶した運用情報と上記属性情報記憶ステップで記憶した属性情報とに基づき、上記脆弱性情報検索ステップが取得した検査情報を設定する属性を設定属性判定部が処理装置により判定する設定属性判定ステップと、
上記設定属性判定ステップで判定した属性に、上記脆弱性情報検索ステップが取得した検査情報を設定して不正証明情報を生成して記憶装置に記憶する不正情報生成ステップと
をコンピュータに実行させることを特徴とする不正情報生成プログラム。 The product operation storage unit stores in the storage device product information of the inspection object in the public key infrastructure system, security setting information of the inspection object, and operation information that is a method of using the certification information by the inspection object. A working memory step;
A vulnerability information storage step in which the vulnerability information storage unit stores the vulnerability information of the inspection object and the inspection information for the vulnerability information in a storage device;
An attribute information storage step in which the attribute information storage unit stores the attribute information of the certification information in a storage device;
Based on the product information stored in the product operation storage step and the setting information, the vulnerability information stored in the vulnerability information storage step is searched for, and the vulnerability information search unit uses the processing device to inspect the vulnerability information. A vulnerability information retrieval step to be acquired;
Based on the operation information stored in the product operation storage step and the attribute information stored in the attribute information storage step, the setting attribute determination unit determines the attribute for setting the inspection information acquired in the vulnerability information search step by the processing device. A setting attribute determination step to perform,
Causing the computer to execute a fraud information generation step in which the inspection information acquired in the vulnerability information search step is set in the attribute determined in the setting attribute determination step to generate fraud certification information and store it in the storage device. Characteristic illegal information generation program.
公開鍵基盤システムの証明情報の属性に検査情報を設定して不正証明情報を生成して不正情報生成部が記憶装置に記憶する不正情報生成ステップと、
上記不正情報生成ステップで生成した不正証明情報に基づき、上記検査対象物に対して検査を検査処理部が処理装置により実施する検査処理ステップと、
上記検査処理ステップで実施した検査に対する検査対象物の動作に基づき、脆弱性が再現したか否かを検査結果判定部が処理装置により判定する検査結果判定ステップと
を備えることを特徴とする脆弱性検査方法。 In the vulnerability inspection method of vulnerability inspection to search for vulnerabilities of inspection objects,
A fraud information generating step in which inspection information is set in the attribute of the certification information of the public key infrastructure system to generate fraud proof information and the fraud information generation unit stores in the storage device;
Based on the fraud certification information generated in the fraud information generation step, an inspection processing step in which an inspection processing unit performs an inspection on the inspection object by a processing device;
Vulnerability comprising: an inspection result determination step in which the inspection result determination unit determines whether or not the vulnerability has been reproduced based on the operation of the inspection object with respect to the inspection performed in the inspection processing step by the processing device. Inspection method.
公開鍵基盤システムの証明情報の属性に検査情報を設定して不正証明情報を生成して不正情報生成部が記憶装置に記憶する不正情報生成ステップと、
上記不正情報生成ステップで生成した不正証明情報に基づき、上記検査対象物に対して検査を検査処理部が処理装置により実施する検査処理ステップと、
上記検査処理ステップで実施した検査に対する検査対象物の動作に基づき、脆弱性が再現したか否かを検査結果判定部が処理装置により判定する検査結果判定ステップと
をコンピュータに実行させることを特徴とする脆弱性検査プログラム。 In the vulnerability inspection program of the vulnerability inspection device that searches for vulnerabilities of inspection objects,
A fraud information generating step in which inspection information is set in the attribute of the certification information of the public key infrastructure system to generate fraud proof information and the fraud information generation unit stores in the storage device;
Based on the fraud certification information generated in the fraud information generation step, an inspection processing step in which an inspection processing unit performs an inspection on the inspection object by a processing device;
Based on the operation of the inspection object with respect to the inspection performed in the inspection processing step, the inspection result determination unit causes the computer to execute an inspection result determination step in which the processing result determination unit determines whether or not the vulnerability has been reproduced. Vulnerability inspection program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006081992A JP2007259171A (en) | 2006-03-24 | 2006-03-24 | Incorrect information generating apparatus, incorrect information generating method, incorrect information generating program, vulnerability inspecting apparatus, vulnerability inspecting method, and vulnerability inspecting program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006081992A JP2007259171A (en) | 2006-03-24 | 2006-03-24 | Incorrect information generating apparatus, incorrect information generating method, incorrect information generating program, vulnerability inspecting apparatus, vulnerability inspecting method, and vulnerability inspecting program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007259171A true JP2007259171A (en) | 2007-10-04 |
Family
ID=38632929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006081992A Pending JP2007259171A (en) | 2006-03-24 | 2006-03-24 | Incorrect information generating apparatus, incorrect information generating method, incorrect information generating program, vulnerability inspecting apparatus, vulnerability inspecting method, and vulnerability inspecting program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007259171A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014503146A (en) * | 2011-01-04 | 2014-02-06 | クアルコム,インコーポレイテッド | Method and apparatus for protecting against fraudulent certificates |
-
2006
- 2006-03-24 JP JP2006081992A patent/JP2007259171A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014503146A (en) * | 2011-01-04 | 2014-02-06 | クアルコム,インコーポレイテッド | Method and apparatus for protecting against fraudulent certificates |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7743254B2 (en) | Visualization of trust in an address bar | |
US9369460B2 (en) | Authentication manager | |
US8380985B2 (en) | Certificate validation method and certificate validation server and storage medium | |
EP2020798A2 (en) | Method for detecting DNS redirects or fraudulent local certificates for SSL sites in pharming/phishing schemes by remote validation and using a credential manager and recorded certificate attributes | |
US8286225B2 (en) | Method and apparatus for detecting cyber threats | |
US8776238B2 (en) | Verifying certificate use | |
US10270602B2 (en) | Verifying and enforcing certificate use | |
JP2005322234A (en) | Security check of web service configuration | |
KR20030056285A (en) | Apparatus and method for detecting illegitimate change of web resources | |
Ghasemisharif et al. | Towards automated auditing for account and session management flaws in single sign-on deployments | |
JP2006270504A (en) | Verification apparatus and communications system | |
US20100186086A1 (en) | Methods for inspecting security certificates by network security devices to detect and prevent the use of invalid certificates | |
US7827399B1 (en) | Certificate processing | |
KR20200000576A (en) | A Method For Detecting Counterfeit application in Mobile Device Based On Blockchain | |
Jøsang et al. | Service provider authentication assurance | |
JP2007065810A (en) | Security inspection system | |
Oakes et al. | A residential client-side perspective on ssl certificates | |
JP2017175227A (en) | Certificate management system, certificate management method, and program | |
Völker et al. | Can internet users protect themselves? challenges and techniques of automated protection of HTTP communication | |
JP2007259171A (en) | Incorrect information generating apparatus, incorrect information generating method, incorrect information generating program, vulnerability inspecting apparatus, vulnerability inspecting method, and vulnerability inspecting program | |
Wang et al. | DomainPKI: Domain aware certificate management | |
Li et al. | The potential harm of email delivery: Investigating the HTTPs configurations of webmail services | |
McLuskie et al. | X. 509 certificate error testing | |
Ma | Understanding the trust relationships of the web PKI | |
Wong et al. | A web services security testing framework |