JP6226990B2 - セキュリティ脆弱性に対するサーバ側アプリケーションの保証 - Google Patents

セキュリティ脆弱性に対するサーバ側アプリケーションの保証 Download PDF

Info

Publication number
JP6226990B2
JP6226990B2 JP2015532171A JP2015532171A JP6226990B2 JP 6226990 B2 JP6226990 B2 JP 6226990B2 JP 2015532171 A JP2015532171 A JP 2015532171A JP 2015532171 A JP2015532171 A JP 2015532171A JP 6226990 B2 JP6226990 B2 JP 6226990B2
Authority
JP
Japan
Prior art keywords
server
report
vulnerabilities
security
scanning
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.)
Active
Application number
JP2015532171A
Other languages
English (en)
Other versions
JP2015534681A (ja
Inventor
グァルニエリ、サルヴァトーレ
ピストイア、マルコ
トリップ、オマール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2015534681A publication Critical patent/JP2015534681A/ja
Application granted granted Critical
Publication of JP6226990B2 publication Critical patent/JP6226990B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Description

本発明はウェブのセキュリティ保証に関し、さらに具体的には、サーバ側アプリケーションの保証に関する。
ウェブ・アプリケーション、特に商用アプリケーションはセキュリティ攻撃のターゲットになっている。ウェブ・アプリケーションが脆弱な場合、その脆弱性の性質の如何によって、攻撃者が、例えば、(例を挙げると、クロスサイト・スクリプティングまたはクロスアプリケーション・リクエスト・フォージェリ・ペイロードを使って)そのウェブ・アプリケーションの他のユーザを悪用するスクリプトを差し込む、もしくはユーザのデータを盗む、またはその両方を行う、あるいは(例えば、ログ偽造または命令実行ペイロードを使って)ウェブ・アプリケーションのサーバ側を乱用することが可能である。ウェブ・アプリケーションまたはウェブ・サービスの消費者は、手動でもしくは自動スキャニング・ツールを使って、クライアント側のアプリケーションを時々検査することが可能であるが、通常、消費者はウェブ・アプリケーションのサーバ側へのアクセスを持たない。
このため、ウェブ・アプリケーションまたはサービスのユーザは、サーバ側の脆弱性から自分を守るいかなる方法がないままである。たとえ、ユーザがクライアント側でスキャニング・ツールを作動させ脆弱性が見付からなかったとしても、サーバ側が、一部または全ての場合において適切なサニタイジング/確認を適用し損ねるなど安全性を欠くやり方でその受信データを依然として処理していることがあり得る。このことは、サーバ側が、セキュリティ施行に関し概ね的確であるが、それでもなお少数のとらえがたいまたは発見困難な脆弱性をかかえている場合について特に言える。
ウェブサイトにおけるユーザの信用を向上するため、諸ソリューションが開発されてきた。第三者の精査者が、当該サーバ・アプリケーションがスキャンされ安全であると認められたことを表す「信頼マーク」をウェブサイトのクライアント側に組み込む。しかしながら、外部精査者のサーバ側の脆弱性を顕在化させる能力には限界があるという本質的な問題は残る。かかる脆弱性の一つの典型的な例が、いつまでも無くならないクロスサイト・スクリプティングである。そのペイロードは、すぐに反映されるわけではないが、将来のユーザがこれを読み出すようにと要求するのに備えて、バックエンド・データベース中に潜伏する。
サーバ・セキュリティ検証の方法が提示され、本方法は、一つ以上の脆弱性の各々に対する脆弱性の存在に関する指摘を含みサーバで生成された受信レポートに関連付けられた公開鍵を取得するステップと;公開鍵を用いて受信レポートを解読するステップと;プロセッサを用い、解読されたレポートに基づいてサーバ側セキュリティのレベルを判定するステップと;判定されたサーバ側セキュリティのレベルに対応して、クライアントでブラウザを再設定するステップと;を含む。
サーバ・セキュリティ検証のさらなる方法が提示され、本方法は、一つ以上の脆弱性の各々に対する脆弱性の存在に関する指摘を含みサーバで生成された受信レポートに関連付けられた公開鍵をクライアントで取得するステップと;公開鍵を用いて受信レポートを解読するステップと;プロセッサを用い、解読されたレポートに基づいてサーバ側セキュリティのレベルを判定するステップと;クライアントに位置するスキャニング・モジュールを用いてサーバの脆弱性をスキャンするステップであって、該スキャニング・モジュールが、判定されたサーバ側セキュリティのレベルに基づいて特定の脆弱性のスキャンを強化または軽減するよう構成される、該スキャンするステップと;判定されたサーバ側セキュリティのレベルに対応して、クライアントでブラウザを再設定するステップと;を含む。
サーバ・セキュリティ検証のさらなる方法が提示され、本方法は、サーバに位置するスキャニング・モジュールを用い、サーバの一つ以上の脆弱性をスキャンするステップと;前記スキャンの結果に基づいて、前記一つ以上の脆弱性の各々に対する脆弱性の存在に関する指摘を含む、サーバ側セキュリティの暗号化レポートを生成するステップであって、前記暗号化は秘密鍵を用いて実施される、該生成するステップと;公開鍵を用い、要求しているクライアントで暗号化レポートのコピーを解読するステップと;プロセッサを用い、解読されたレポートに基づいてサーバ側セキュリティのレベルを判定するステップと;クライアントに位置するスキャニング・モジュールを用いてサーバの脆弱性をスキャンするステップと;を含む。
サーバ・セキュリティ検証のさらなる方法が提示され、本方法は、サーバに位置するスキャニング・モジュールを用い、サーバの一つ以上の脆弱性をスキャンするステップと;前記スキャンの結果に基づいて、前記一つ以上の脆弱性の各々に対する脆弱性の存在に関する指摘を含む、サーバ側セキュリティの暗号化レポートを生成するステップであって、前記暗号化は秘密鍵を用いて実施される、該生成するステップと;暗号化レポートを、要求しているクライアントに送信するステップと;公開鍵を用い、暗号化レポートを解読するステップと;プロセッサを用い、解読されたレポートに基づいてサーバ側セキュリティのレベルを判定するステップと;判定されたサーバ側セキュリティのレベルに基づいて特定の脆弱性のスキャンを増加または軽減するように、クライアントに位置するスキャニング・モジュールを設定するステップと;クライアントに位置するスキャニング・モジュールを用いてサーバの脆弱性をスキャンするステップと;を含む。
クライアント・セキュリティ・モジュールが提示され、本モジュールは、サーバで生成された受信レポートに関連付けられた公開鍵を取得し、その公開鍵を用いて受信レポートを解読し、解読されたレポートに基づいてサーバ側セキュリティのレベルを判定するよう構成されたレポート確認(validation)モジュールと;判定されたサーバ側セキュリティのレベルに対応して、ブラウザを再設定するよう構成されたプロセッサと;を含む。
さらなるクライアント・セキュリティ・モジュールが提示され、本モジュールは、サーバで生成されサーバにおける一つ以上の脆弱性の存在を示す受信レポートに関連付けられた公開鍵を取得し、その公開鍵を用いて受信レポートを解読し、解読されたレポートに基づいてサーバ側セキュリティのレベルを判定するよう構成されたレポート確認モジュールと;受信レポートに基づいてサーバの脆弱性をスキャンするよう構成されたスキャニング・モジュールであって、判定されたサーバ側セキュリティのレベルに基づいて特定の脆弱性のスキャンを強化または軽減する、該スキャニング・モジュールと;判定されたサーバ側セキュリティのレベルおよびスキャニング・モジュールの結果内容に対応して、ブラウザを再設定するよう構成されたプロセッサと;を含む。
サーバ・セキュリティ・モジュールおよびクライアント・セキュリティ・モジュールを含むセキュリティ検証システムが提示される。サーバ・セキュリティ・モジュールは、サーバの一つ以上の脆弱性をスキャンするよう構成されたスキャナと;前記スキャナによって提供された結果に基づいて、サーバ側セキュリティの暗号化レポートを生成するよう構成されたレポート・ゼネレータと;暗号化レポートを、要求しているクライアントに送信するよう構成されたトランスミッタと;を含む。クライアント・セキュリティ・モジュールは、サーバで生成された受信レポートを解読し、プロセッサを用い、解読されたレポートに基づいてサーバ側セキュリティのレベルを判定するよう構成されたレポート確認モジュールと;サーバの脆弱性をスキャンするよう構成されたスキャニング・モジュールであって、前記スキャニングは、判定されたサーバ側セキュリティのレベルに基づいて特定の脆弱性のスキャンを強化または軽減するよう構成される、該スキャニング・モジュールと:を含む。
サーバ・セキュリティ・モジュールおよびクライアント・セキュリティ・モジュールを含むさらなるセキュリティ検証システムが提示される。サーバ・セキュリティ・モジュールは、サーバの一つ以上の脆弱性をスキャンするよう構成されたスキャナと;前記一つ以上の脆弱性の各々に対する脆弱性の存在に関する指摘を含む、サーバ側セキュリティの秘密鍵暗号化レポートをプロセッサを用いて生成するよう構成され、該秘密鍵に対応する公開鍵を発行するようさらに構成されたレポート・ゼネレータと;要求しているクライアントが、サーバ側セキュリティのレベルを判定するため公開鍵を用いて暗号化レポートにアクセスできるように、暗号化レポートを該クライアントに送信するよう構成されたトランスミッタと;を含む。クライアント・セキュリティ・モジュールは、サーバで生成された受信レポートに関連付けられた公開鍵を取得し、公開鍵を用いて受信レポートを解読し、プロセッサを用い、解読されたレポートに基づいてサーバ側セキュリティのレベルを判定するよう構成されたレポート確認モジュールと;サーバの脆弱性をスキャンするよう構成されたスキャニング・モジュールであって、前記スキャニングは、判定されたサーバ側セキュリティのレベルに基づいて特定の脆弱性のスキャンを強化または軽減するよう構成される、該スキャニング・モジュールと;を含む。
これらのおよび他の特徴および利点は、以下の例示的な実施形態の詳細な説明を、添付の図面と併せ読めば明らかになろう。
本開示は、添付の図面を参照しながら、以下の好適な実施形態の説明において詳細を提示する。
本発明の原理による、セキュリティ分析を実施するクライアントおよびサーバのブロック図である。 本発明の原理による、サーバ側セキュリティのレベルを判定する方法のブロック/流れ図である。 本発明の原理による、クライアント側スキャナを設定する方法のブロック/流れ図である。
本発明の原理は、サーバ側スキャンからクライアント側にロバスト性および信頼性をもって情報を伝える能力を含め、ウェブ・アプリケーションの全面的な保証を提供する。サーバ側アプリケーションはスキャンを実施し、レポートが第三者の攻撃者でなく適正なサーバによって実際に配送されたことをクライアントが確信できるように、クライアントが公開鍵暗号化を用いて利用することが可能なレポートを生成する。
サーバ側保証に関する情報は、クライアント側でブラウザ・プラグインを使って、拒絶するかまたは信頼可能と判断することが可能である。クライアント側は、レポートに基づいて当該サイトがどのくらい安全かのオンライン・アセスメントをさらに生成することができ、該レポート中の情報に基づいてそのウェブサイトに対するクライアント側でのガイド付きスキャンをさらに開始することができる。
ここで諸図面を参照する。同一の参照符号は同一または類似のエレメントを表している。最初に図1を見ると、クライアント100およびサーバ110を含む例示的なネットワークが示されている。クライアント100は、例えばインターネットまたは何らかの他の適切な通信媒体を使って、サーバ110上のサービスまたはウェブサイトにアクセスする。クライアントは、例えばウェブ・ブラウザなどを、格納し実行するよう構成されたプロセッサ102およびメモリ104を含む。同様に、サーバ110は、プロセッサ112およびメモリ114を含み、これらはクライアント100からの要求を受信し応答を提供する。
サーバ110は、ローカル・システムおよびコンテンツにセキュリティ・スキャンを実施するローカル・スキャナ118をさらに含む。スキャナ118は、サーバ110においてクロスサイト・スクリプティングなどの脆弱性を探知するよう構成されており、このような脆弱性は、クライアント側スキャナ108によるなど第三者のスキャンによって見付けることは困難であろう。スキャナ118は、サーバ110全体をスキャンすることもできるし、あるいはサーバ110内のウェブ・アプリケーションまたはサービスを選択することもできる。
サーバ110は、メモリ114に格納されるレポートを生成するレポート・ゼネレータ116を含む。レポートは、例えば公開され自由に利用可能な対応する公開鍵を有する秘密鍵に従って暗号化される。メモリ114中に他のレポートが存在する場合、新規レポートは、既存のレポートに取って代わるか、既存レポートに併合するか、または追加することが可能である。
クライアント100がサーバ110にアクセスするときに、クライアントはメモリ114中に格納されたレポートのコピーを要求することができる。レポートが転送された後、クライアント100は、レポート・バリデータ106を使って、該レポートを解読し、サーバ110を信頼可能と判断するか、もしくはサーバを拒絶することができる。バリデータ106は、当該サイトがどのくらい安全かのアセスメントを生成し、必要に応じ、スキャナ108をさらにトリガして、サーバ110のクライアント側でのスキャンを行うことができる。レポート・バリデータ106は、例えば、ウェブ・ブラウザまたはウェブ・ブラウザ・プラグインの一部として形成すればよい。レポート・バリデータ106がレポートを開けない場合、例えばキャッシュ・ポイズニングを使った攻撃者による偽造攻撃など、を示す警告を生成することが可能である。開くことができれば、レポートはクライアント側ユーザに利用できるようになり、ユーザはこれによりサーバ110のセキュリティ状態を正当に評価することができる。
信頼可能な通信チャネル(例えば、公開鍵認証)を用い、クライアント100にサーバ側セキュリティ・レポートをエクスポートすることによって、エンド・ユーザが、サーバ110または特定のウェブ・アプリケーションもしくはそれらが在るサーバとやり取りするかどうかを決めることが可能になる。これは、人手によるレポートのスキャンによって直接に、または、例えばブラウザ・プラグイン中に組み込まれた自動アセスメント・ポリシーを使って行うことができる。さらに、サーバ側レポートからの情報が、サーバ110のクライアント側でのスキャンをガイド/特定化することが可能である。例えば、サーバ側はクロスサイト・スクリプティング攻撃に対し脆弱でないことがレポートに示されていれば、クライアント側スキャナ108が、かかるペイロードを試す必要はない。同様に、レポートが、サーバ110の特定のモジュールでの構造化照会言語(SQL:structured query language)注入の脆弱性を示している場合、クライアント側スキャナ108は、当初に予定された予算部分より大きな額を、この脆弱性を明らかにする試みに費やすよう構成することができる。加えて、サーバ側のスキャンとクライアント側のスキャンとを切り離すことによって効率が向上する。サーバ110の分析を一回行っておけば、クライアント100の各々が、モジュール方式でシステム全体(クライアント100およびサーバ110)のセキュリティ状態を査定することができる。
当業者には当然のことながら、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具現化することができる。したがって、本発明の態様は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、あるいは、ソフトウェア態様およびハードウェア態様を組み合わせた実施形態の形を取ることができ、これらは一般に本明細書では全て「回路」、「モジュール」、または「システム」と称することがある。さらに、本発明の態様は、コンピュータ可読プログラム・コードが具現化されている一つ以上のコンピュータ可読媒体(群)中に具現化されたコンピュータ・プログラム製品の形を取ることも可能である。
一つ以上のコンピュータ可読媒体(群)の任意の組み合わせを用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ媒体は、例えば、以下に限らないが、電子的、磁気的、光学的、電磁気的、赤外的、または半導体の、システム、装置、またはデバイス、あるいはこれらの任意の適切な組み合わせであり得る。コンピュータ可読ストレージ媒体のさらに具体的な例(非包括的リスト)には、一つ以上の配線を有する電気接続、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read−only memory)、消去およびプログラム可能な読み取り専用メモリ(EPROM:erasable programmable read−only memoryまたはフラッシュ・メモリ)、光ファイバ、携帯型コンパクト・ディスク読み取り専用メモリ(CD−ROM:compact disc read−only memory)、光ストレージ・デバイス、磁気ストレージ・デバイス、または前述の任意の適切な組み合わせが含まれよう。本明細書の文脈において、コンピュータ可読ストレージ媒体は、命令実行システム、装置、もしくはデバイスによって、またはこれらに関連させて使用するためのプログラムを、包含または格納できる任意の有形媒体であり得る。
コンピュータ可読信号媒体には、例えばベースバンド中にまたは搬送波の一部として具現化されたコンピュータ可読プログラム・コードを有する、伝播データ信号を含めることができる。かかる伝播信号は、以下に限らないが、電磁気的、光学的、またはこれらの任意の適切な組み合わせを含め、任意のさまざまな形態を取ることが可能である。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではないが、命令実行システム、装置、もしくはデバイスによって、またはこれらに関連させて使用するためのプログラムの通信、伝播、または伝送が可能な任意のコンピュータ可読媒体であり得る。
コンピュータ可読媒体上に具現化されたプログラム・コードは、以下に限らないが、無線、有線、光ファイバ・ケーブル、RFなど、または前述の任意の適した組み合わせを含め、任意の適切な媒体を用いて送信することができる。本発明の態様のオペレーションを実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および、“C”プログラミング言語または類似のプログラミング言語などの従来式手続き型プログラミング言語を含め、一つ以上のプログラミング言語の任意の組み合わせで記述することができる。このプログラム・コードは、スタンドアロン・ソフトウェア・パッケージとしてユーザのコンピュータで専ら実行することも、ユーザのコンピュータで部分的に実行することもでき、一部をユーザのコンピュータで一部を遠隔コンピュータで実行することもでき、あるいは遠隔のコンピュータまたはサーバで専ら実行することもできる。後者の場合は、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:widearea network)を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することもでき、あるいは(例えばインターネット・サービス・プロバイダを使いインターネットを介し)外部のコンピュータへの接続を行うこともできる。
本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照しながら、本発明の態様が以下に説明される。当然のことながら、フローチャート図もしくはブロック図またはその両方の各ブロック、および、フローチャート図もしくはブロック図またはその両方中のブロックの組み合わせは、コンピュータ・プログラム命令によって実装することが可能である。これらのコンピュータ・プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、またはマシンを形成する他のプログラム可能データ処理装置のプロセッサに提供し、そのコンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方のブロックもしくはブロック群中に特定されている機能群/動作群を実装するための手段を生成するようにすることができる。
また、これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに対し特定の仕方で機能するよう命令することができるコンピュータ可読媒体に格納し、そのコンピュータ可読媒体に格納された命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に特定されている機能/動作を実装する命令群を包含する製造品を作り出せるようにすることができる。さらに、コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードし、そのコンピュータ上、他のプログラム可能装置上、または他のデバイス上で一連のオペレーション・ステップを実行させて、コンピュータ実装のプロセスを作り出し、当該コンピュータ上もしくは他のプログラム可能装置上で実行される命令が、フローチャートもしくはブロック図またはその両方のブロックもしくはブロック群中に特定されている機能群/動作群を実装するためのプロセスを提供するようにすることも可能である。
図面のフローチャートおよびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品から可能となる実装のアーキテクチャ、機能性、およびオペレーションを示している。この点に関し、フローチャートまたはブロック図中の各ブロックは、特定の論理機能(群)を実装するための一つ以上の実行可能命令を含む、モジュール、セグメント、またはコードの部分を表し得る。また、一部の別の実装においては、ブロック中に記載された機能が、図面に記載された順序から外れて行われ得ることに留意すべきである。例えば、連続して示された2つのブロックが、関与する機能性に応じて、実際にはほぼ同時に実行されることがあり、時にはこれらのブロックが逆の順序で実行されることもあり得る。さらに、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方中のブロックの組み合わせは、特定の機能または動作を実施する特殊用途ハードウェア・ベースのシステム、または特殊用途ハードウェアとコンピュータ命令との組み合わせによって実装可能なことにも留意すべきである。
ここで図2を参照すると、サーバ側セキュリティのクライアント側での確認の方法が示されている。ブロック202で、サーバ側スキャナ118は、指定のサービスおよびウェブ・アプリケーションを含めたサーバ110のセキュリティ脆弱性をスキャンする。ブロック204で、レポート・ゼネレータ116は、スキャナ118の検知事項を詳記したレポートを生成する。このレポートは、人間が読めるようにすることも、または、例えば、用いられた特定のサーバ側スキャナ118に関連付けられた、コンピュータ可読フォーマットにより書式設定することも可能である。ブロック206で、レポート・ゼネレータ116は、秘密鍵を使ってレポートを暗号化し、そのレポートをメモリ114に格納する。
以下は、レポート・ゼネレータ116の実際の実装によって生成されたスキャン・レポートの一例である。
#1)FrikiServlet.java:230 PathTraversal
FrikiServlet.javaの209行目で、アプリケーションが、信頼できない値を読み込み、230行目で、その値を使ってファイル・オペレーションのパスを決める。
FrikiServlet.java:209[init] getAttributeを呼び出す
−>230 <init>を呼び出す
#2)FrikiServlet.java:71 PathTraversal
FrikiServlet.javaの209行目で、アプリケーションが、信頼できない値を読み込み、71行目で、その値を使ってファイル・オペレーションのパスを決める。
FrikiServlet.java:209[init] getAttributeを呼び出す
−>231
−>176[setRedirect]
−>180
−>187[setBaseDir]
−>190
−>202
−>61[setPolicy]
−>62
−>63
−>69[resetPolicy]
−>71 <init>を呼び出す
#3) FrikiServlet.java:194 PathTraversal
FrikiServlet.javaの401行目でで、アプリケーションが、信頼できないパラメータ値を読み込み、FileUtils.javaの18行目で、その値を使ってファイル・オペレーションのパスを決める。
FrikiServlet.java:401[unconfigured] getParameterを呼び出す
−>404
−>187[setBaseDir]
−>194
−> FileUtils.java:17[ensureDirectory]
−> 18 <init>を呼び出す
上記のセットの各々は、プログラム中の特定の場所および潜在的脆弱性の種類を特定し、脆弱性がどの程度重大かを判定するために使用可能な文脈情報を提供する。
ブロック208で、クライアント100は、サーバ110からのレポートのコピーを要求する。この要求は、特定のサービスまたはアプリケーションに向けたものでもよく、サーバ110全体に向けたものでもよい。レポートがクライアント100に送信された後、ブロック210で、そのレポートがレポート・バリデータ106によって解読される。ブロック212で、レポート・バリデータ106は、解読されたレポートに基づいてサーバ側セキュリティを査定する。
ブロック210での解読は、例えば、公開鍵認証に従って行われ、レポート・バリデータ106は、該レポートを暗号化するのに使われた秘密鍵に関連付けられた公開鍵を取得する。公開鍵は、サーバ側スキャナ118のプロバイダまたは第三者プロバイダがサーバ110に格納すればよい。
ここで図3を参照すると、サーバ側スキャン・レポートの受信に基づいてさらなるスキャンを実施する方法が示されている。ブロック302は、図2の方法を実施し、サーバ110にアクセスして、サーバ側スキャナ118によって生成されたレポートを取り出す。ブロック304はレポートが開けるかどうかを判定する。開けない場合、ブロック306が、ブロック314でのクライアント側スキャナ108によるスキャンに進む前に、デフォルトの設定を用いてユーザに対し警報を発する。レポートを開くことができる場合、ブロック308は、サーバ側スキャナ118によってチェックされた脆弱性の各々を評価する。
かかる脆弱性の各々に対し、ブロック310は、サーバ側スキャナ118が脆弱性を検知したかどうかを判定する。サーバ110が或る特定の攻撃に対して脆弱でなかった場合、ブロック312は、その脆弱性のチェックを省略するようにクライアント側スキャナ108を設定する。上記と逆に、レポートが、サーバ110が当該攻撃に対し脆弱であったと示している場合、ブロック313は、その脆弱性を明らかにすることに追加のリソースを集中するようにクライアント側スキャナ108を設定する。これは、所与の検知事項が誤判定のこともあるので行われる。或る脆弱性が事実がどうかを検査することによって、エンド・ユーザが多くの誤った事項を検討する手間を省き、問題の本質に対する洞察およびそれを再現するステップを提供する。サーバ側スキャナ118によってチェックされた各脆弱性に対し上記の設定を実施してから、ブロック314は、スキャナ108を使ってサーバ110のクライアント側でのスキャンを開始する。ブロック316は、受信レポートおよびローカル・スキャンの結果内容に基づいて、サーバ110の使用を続けるかどうかを決定する。前述したように、この決定はユーザによる人手によって行うこともでき、またはセキュリティ・ポリシーに従って自動的に実施することもできる。
例えば、ブロック316は、サーバの脆弱性の数または重大度が閾値数を超えていると判定すればよく、その結果、サーバ110へのクライアントのアクセスを自動的に制限または全面停止してもよい。このために、各種の脆弱性を様々の段階の重大度スコアに関連付け、それらスコアの合計を閾値と比較することができる。あるいは、クライアント100は、ハイリスクのサーバ110にアクセスしようとするユーザに対しさらなる警告を与え、特に、脆弱性があると分かっているサービスへアクセスしようとしていることをいずれもユーザに通知することが可能である。これは、ユーザに潜在的リスクを知らせ、ユーザが、情報に基づいて決定を行うこと、あるいは、暗号化できるようにするまたは機密性のより低い情報を用いるなど、リスク軽減処置を取ることを可能にする。複数の閾値を用いて、脆弱性の重大度の種々の範囲を定め、ユーザが、サーバ110を使用するかどうか、およびどのような修正対策を取るかに関してきめの細かい選択を行うことを可能にできる。
ブロック316の修正対策には、例えば、JavaScript(R)を無効にすること、アプリケーションの実行を阻止すること、およびユーザに進行させるかどうか問い合わせることなどを含めればよい。これらのステップは、ユーザの介入で実施してもよいし、ユーザの介入なしで実施してもよいし、あるいは、前述のように、脆弱性の特定の種類および重大度に特定の処置を関連付けている一連のポリシーに従って自動的に実施させることも可能である。さらに、ブラウザ・プラグインは、一部のリンクが導くページが潜在的に脆弱であると分かっていれば、それらのリンクを無効にしたり、または、ユーザがそのような特定のリンクを訪れようとしたとき警告を発したりすることができる。別の可能な修正対策には、フラッシュ・コンポーネントの実行の阻止または制限がある。
なお、セキュリティ脆弱性に対するサーバ側ウェブ・アプリケーションを保証するためのシステムおよび方法の好適な実施形態(これら実施形態は、限定でなく例示を意図している)について説明してきたが、当業者は、上記の教示を踏まえてこれらに改変および変形を加えることが可能である。したがって、当然ながら、開示された特定の実施形態に変更を加えることができ、それらの変更は添付の特許請求の範囲に示された本発明の範囲内である。特許法によって要求される詳細さおよび特殊性をもって、本発明の諸態様を上記に説明してきたが、請求され、特許証による保護を要求される事項は、添付の特許請求の範囲に記載されている。

Claims (20)

  1. サーバと通信可能なクライアントが実行するサーバ・セキュリティ検証の方法であって、
    一つ以上の脆弱性の各々に対する脆弱性の存在に関する指摘を含みサーバで生成された受信レポートに関連付けられた公開鍵を取得するステップと、
    前記公開鍵を用いて前記受信レポートを解読するステップと、
    前記解読されたレポートに基づいてサーバ側セキュリティのレベルを判定するステップと、
    前記判定されたサーバ側セキュリティのレベルに対応して、前記クライアントでブラウザを再設定するステップと、
    を含む方法。
  2. 前記判定されたサーバ側セキュリティのレベルに基づいて特定の脆弱性のスキャンを強化または軽減するように、前記クライアントでスキャニング・モジュールを設定するステップと、
    前記スキャニング・モジュールを用い、前記サーバの脆弱性をスキャンするステップと、
    をさらに含む、請求項1に記載の方法。
  3. 前記レポートで前記サーバに存在しないと指摘された脆弱性のスキャンを省略し、前記レポートで前記サーバに存在すると指摘された脆弱性のスキャンを増加するように、前記スキャニング・モジュールを設定するステップをさらに含む、請求項2に記載の方法。
  4. サーバ側セキュリティのレベルを判定する前記ステップが、
    前記解読されたレポート中に開示された各脆弱性に関連付けられた重大度スコアを合計するステップと、
    前記合計された重大度スコアを、最大許容脆弱性重大度を表す閾値と比較するステップと、
    をさらに含む、請求項1〜3のいずれかに記載の方法。
  5. サーバ側セキュリティのレベルを判定する前記ステップが、
    前記解読されたレポート中に開示された脆弱性の数をカウントするステップと、
    前記脆弱性の数を、最大許容脆弱性カウントを表す閾値と比較するステップと、
    をさらに含む、請求項1〜4のいずれかに記載の方法。
  6. 互いに通信可能なサーバとクライアントとが実行するサーバ・セキュリティ検証の方法であって、
    前記サーバに位置するスキャニング・モジュールを用い、前記サーバの一つ以上の脆弱性をスキャンするステップと、
    前記スキャンの結果に基づいて、前記一つ以上の脆弱性の各々に対する脆弱性の存在に関する指摘を含む、サーバ側セキュリティの暗号化レポートを生成するステップであって、前記暗号化は秘密鍵を用いて実施される、前記生成するステップと、
    公開鍵を用い、要求している前記クライアントで前記暗号化レポートのコピーを解読するステップと、
    前記クライアントが、前記解読されたレポートに基づいてサーバ側セキュリティのレベルを判定するステップと、
    前記クライアントに位置するスキャニング・モジュールを用いて前記サーバの脆弱性をスキャンするステップと、
    を含む方法。
  7. 前記判定されたサーバ側セキュリティのレベルに基づいて特定の脆弱性のスキャンを増加または軽減するように、前記クライアントに位置する前記スキャニング・モジュールを設定するステップをさらに含む、請求項6に記載の方法。
  8. 前記レポートで前記サーバに存在しないと指摘された脆弱性のスキャンを省略し、前記レポートで前記サーバに存在すると指摘された脆弱性のスキャンを増加するように、前記スキャニング・モジュールを設定するステップをさらに含む、請求項7に記載の方法。
  9. サーバ側セキュリティのレベルを判定する前記ステップが、
    前記解読されたレポート中に開示された各脆弱性に関連付けられた重大度スコアを合計するステップと、
    前記合計された重大度スコアを、最大許容脆弱性重大度を表す閾値と比較するステップと、
    をさらに含む、請求項6〜8のいずれかに記載の方法。
  10. サーバ側セキュリティのレベルを判定する前記ステップが、
    前記解読されたレポート中に開示された脆弱性の数をカウントするステップと、
    前記脆弱性の数を、最大許容脆弱性カウントを表す閾値と比較するステップと、
    をさらに含む、請求項6〜9のいずれかに記載の方法。
  11. サーバと通信可能なクライアントが備えるクライアント・セキュリティ・モジュールであり、
    サーバで生成された受信レポートに関連付けられた公開鍵を取得し、前記公開鍵を用いて前記受信レポートを解読し、前記解読されたレポートに基づいてサーバ側セキュリティのレベルを判定するよう構成されたレポート確認モジュールと、
    前記判定されたサーバ側セキュリティのレベルに対応して、ブラウザを再設定するよう構成されたプロセッサと、
    を含むクライアント・セキュリティ・モジュール。
  12. 前記受信レポートに基づいて前記サーバの脆弱性をスキャンするよう構成され、前記判定されたサーバ側セキュリティのレベルに基づいて特定の脆弱性のスキャンを強化または軽減するようさらに構成されたスキャニング・モジュールをさらに含む、請求項11に記載のクライアント・セキュリティ・モジュール。
  13. 前記スキャニング・モジュールが、前記レポートで前記サーバに存在しないと指摘された脆弱性のスキャンを省略し、前記レポートで前記サーバに存在すると指摘された脆弱性のスキャンを増加するようさらに構成される、請求項12に記載のクライアント・セキュリティ・モジュール。
  14. 前記レポート確認モジュールが、前記解読されたレポート中に開示された各脆弱性に関連付けられた重大度スコアを合計し、前記合計された重大度スコアを、最大許容脆弱性重大度を表す閾値と比較するようさらに構成される、請求項11〜13のいずれかに記載のクライアント・セキュリティ・モジュール。
  15. 前記レポート確認モジュールが、前記解読されたレポート中に開示された脆弱性の数をカウントし、前記脆弱性の数を、最大許容脆弱性カウントを表す閾値と比較するようさらに構成される、請求項11〜14のいずれかに記載のクライアント・セキュリティ・モジュール。
  16. 互いに通信可能なサーバ・セキュリティ・モジュール及びクライアント・セキュリティ・モジュールを備えるセキュリティ検証システムであり、
    前記サーバ・セキュリティ・モジュールは、
    サーバの一つ以上の脆弱性をスキャンするよう構成されたスキャナと、
    前記スキャナによって提供された結果に基づいて、サーバ側セキュリティの暗号化レポートを生成するよう構成されたレポート・ゼネレータと、
    前記暗号化レポートを、要求しているクライアントに送信するよう構成されたトランスミッタと、
    備え、
    前記クライアント・セキュリティ・モジュールは、
    サーバで生成された受信レポートを解読し、プロセッサを用い、前記解読されたレポートに基づいてサーバ側セキュリティのレベルを判定するよう構成されたレポート確認モジュールと、
    前記サーバの脆弱性をスキャンするよう構成されたスキャニング・モジュールであって、前記スキャニングは、前記判定されたサーバ側セキュリティのレベルに基づいて特定の脆弱性のスキャンを強化または軽減するよう構成される、前記スキャニング・モジュールと、
    を備える、
    セキュリティ検証システム。
  17. 前記スキャニング・モジュールが、前記レポートで前記サーバに存在しないと指摘された脆弱性のスキャンを省略するようさらに構成される、請求項16に記載のセキュリティ検証システム。
  18. 前記スキャニング・モジュールが、前記レポートで前記サーバに存在すると指摘された脆弱性のスキャンを増加するようさらに構成される、請求項16に記載のセキュリティ検証システム。
  19. 前記レポート確認モジュールが、前記解読されたレポート中に開示された各脆弱性に関連付けられた重大度スコアを合計し、前記合計された重大度スコアを、最大許容脆弱性重大度を表す閾値と比較するようさらに構成される、請求項16〜18のいずれかに記載のセキュリティ検証システム。
  20. 前記レポート確認モジュールが、前記解読されたレポート中に開示された脆弱性の数をカウントし、前記脆弱性の数を、最大許容脆弱性カウントを表す閾値と比較するようさらに構成される、請求項16〜19のいずれかに記載のセキュリティ検証システム。
JP2015532171A 2012-09-18 2013-09-18 セキュリティ脆弱性に対するサーバ側アプリケーションの保証 Active JP6226990B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/622,161 US8949995B2 (en) 2012-09-18 2012-09-18 Certifying server side web applications against security vulnerabilities
US13/622,161 2012-09-18
PCT/US2013/060360 WO2014047147A1 (en) 2012-09-18 2013-09-18 Certifying server side web applications against security vulnerabilities

Publications (2)

Publication Number Publication Date
JP2015534681A JP2015534681A (ja) 2015-12-03
JP6226990B2 true JP6226990B2 (ja) 2017-11-08

Family

ID=50275928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015532171A Active JP6226990B2 (ja) 2012-09-18 2013-09-18 セキュリティ脆弱性に対するサーバ側アプリケーションの保証

Country Status (4)

Country Link
US (2) US8949995B2 (ja)
JP (1) JP6226990B2 (ja)
CN (1) CN104620225B (ja)
WO (1) WO2014047147A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9471787B2 (en) * 2011-08-25 2016-10-18 International Business Machines Corporation Detecting stored cross-site scripting vulnerabilities in web applications
US9027141B2 (en) 2012-04-12 2015-05-05 Netflix, Inc. Method and system for improving security and reliability in a networked application environment
US9774617B2 (en) 2012-10-12 2017-09-26 Trustwave Holdings, Inc. Distributed client side user monitoring and attack system
CN104253714B (zh) * 2013-06-27 2019-02-15 腾讯科技(深圳)有限公司 监控方法、系统、浏览器及服务器
US10275604B2 (en) * 2014-10-31 2019-04-30 Hewlett Packard Enterprise Development Lp Security record transfer in a computing system
US10503909B2 (en) 2014-10-31 2019-12-10 Hewlett Packard Enterprise Development Lp System and method for vulnerability remediation verification
US11044266B2 (en) 2016-02-26 2021-06-22 Micro Focus Llc Scan adaptation during scan execution
US10038717B2 (en) * 2016-02-29 2018-07-31 Red Hat, Inc. Secure performance monitoring of remote application servers
JP6690346B2 (ja) * 2016-03-25 2020-04-28 日本電気株式会社 セキュリティリスク管理システム、サーバ、制御方法、プログラム
CN106130966B (zh) * 2016-06-20 2019-07-09 北京奇虎科技有限公司 一种漏洞挖掘检测方法、服务器、装置和系统
US10616263B1 (en) 2017-09-13 2020-04-07 Wells Fargo Bank, N.A. Systems and methods of web application security control governance
US11201896B1 (en) 2019-05-07 2021-12-14 Rapid7, Inc. Vulnerability validation using lightweight offensive payloads
US11983277B2 (en) 2019-07-16 2024-05-14 Hewlett Packard Enterprise Development Lp Identifying a security vulnerability in a computer system
US11290480B2 (en) * 2020-05-26 2022-03-29 Bank Of America Corporation Network vulnerability assessment tool

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6530022B1 (en) * 1998-12-17 2003-03-04 International Business Machines Corporation Permission-based scanning of a web site
ATE414943T1 (de) 2000-03-03 2008-12-15 Ibm System zur bestimmung von schwächen von web- anwendungen
US7340776B2 (en) * 2001-01-31 2008-03-04 International Business Machines Corporation Method and system for configuring and scheduling security audits of a computer network
US20030028803A1 (en) 2001-05-18 2003-02-06 Bunker Nelson Waldo Network vulnerability assessment system and method
US20030056116A1 (en) 2001-05-18 2003-03-20 Bunker Nelson Waldo Reporter
US7328344B2 (en) 2001-09-28 2008-02-05 Imagitas, Inc. Authority-neutral certification for multiple-authority PKI environments
US7451488B2 (en) 2003-04-29 2008-11-11 Securify, Inc. Policy-based vulnerability assessment
US8136163B2 (en) * 2004-01-16 2012-03-13 International Business Machines Corporation Method, apparatus and program storage device for providing automated tracking of security vulnerabilities
US7761918B2 (en) 2004-04-13 2010-07-20 Tenable Network Security, Inc. System and method for scanning a network
JP2006107387A (ja) * 2004-10-08 2006-04-20 Sanwa Comtec Kk オンラインサービスのリアルタイムセキュリティ証明のための方法および装置
US8281401B2 (en) 2005-01-25 2012-10-02 Whitehat Security, Inc. System for detecting vulnerabilities in web applications using client-side application interfaces
CN1835507A (zh) 2005-03-17 2006-09-20 国际商业机器公司 用于用户与web浏览器交互的服务器端处理的方法与系统
US8448241B1 (en) * 2006-02-16 2013-05-21 Oracle America, Inc. Browser extension for checking website susceptibility to cross site scripting
US20070233854A1 (en) * 2006-03-31 2007-10-04 Microsoft Corporation Management status summaries
US8738786B2 (en) 2006-05-18 2014-05-27 Sanggyu Lee Method for protecting client and server
US8850587B2 (en) 2007-05-04 2014-09-30 Wipro Limited Network security scanner for enterprise protection
US8510828B1 (en) * 2007-12-31 2013-08-13 Symantec Corporation Enforcing the execution exception to prevent packers from evading the scanning of dynamically created code
US8996658B2 (en) * 2008-09-03 2015-03-31 Oracle International Corporation System and method for integration of browser-based thin client applications within desktop rich client architecture
US8261354B2 (en) * 2008-09-17 2012-09-04 International Business Machines Corporation System, method and program product for dynamically performing an audit and security compliance validation in an operating environment
US20100107257A1 (en) * 2008-10-29 2010-04-29 International Business Machines Corporation System, method and program product for detecting presence of malicious software running on a computer system
US8676966B2 (en) 2009-12-28 2014-03-18 International Business Machines Corporation Detecting and monitoring server side states during web application scanning
CN102111385A (zh) * 2009-12-28 2011-06-29 北京安码科技有限公司 一种网页安全信任评分方法
US8910288B2 (en) 2010-02-05 2014-12-09 Leidos, Inc Network managed antivirus appliance
JP5499805B2 (ja) * 2010-03-19 2014-05-21 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法並びに情報処理プログラム
US8694779B2 (en) 2010-08-13 2014-04-08 Bmc Software, Inc. Monitoring based on client perspective
CN102404281B (zh) * 2010-09-09 2014-08-13 北京神州绿盟信息安全科技股份有限公司 一种网站扫描设备和方法

Also Published As

Publication number Publication date
CN104620225A (zh) 2015-05-13
US20140082734A1 (en) 2014-03-20
US8943599B2 (en) 2015-01-27
US20140082736A1 (en) 2014-03-20
WO2014047147A1 (en) 2014-03-27
CN104620225B (zh) 2018-01-23
JP2015534681A (ja) 2015-12-03
US8949995B2 (en) 2015-02-03

Similar Documents

Publication Publication Date Title
JP6226990B2 (ja) セキュリティ脆弱性に対するサーバ側アプリケーションの保証
US10452853B2 (en) Disarming malware in digitally signed content
US11038876B2 (en) Managing access to services based on fingerprint matching
US20220188425A1 (en) Quarantine of software by an evaluation server based on authenticity analysis of user device data
US9495539B2 (en) Method and system for protection against information stealing software
EP2550601B1 (en) Executable code validation in a web browser
US10453017B1 (en) Computer systems and methods to protect user credential against phishing
US20160036849A1 (en) Method, Apparatus and System for Detecting and Disabling Computer Disruptive Technologies
CN102246490A (zh) 对不需要的软件或恶意软件进行分类的系统和方法
KR20120004536A (ko) 코드 및 데이터 서명을 개선하기 위한 방법 및 장치
US20090300749A1 (en) Method and system for defeating the man in the middle computer hacking technique
US11822660B2 (en) Disarming malware in protected content
Cinar et al. The current state and future of mobile security in the light of the recent mobile security threat reports
Sharma et al. Smartphone security and forensic analysis
Anand et al. Comparative study of ransomwares
Liu Ethical Hacking of a Smart Video Doorbell
Alkhairi et al. Securing Sensitive Data in Fintech: A Case Study of eKopz with SDS Security Model Implementation
Cunha Cybersecurity Threats for a Web Development
US20240048569A1 (en) Digital certificate malicious activity detection
KR101825699B1 (ko) Cng를 사용한 프로그램에서 보안 개선 방법 및 이러한 방법을 수행하는 장치
Hedemalm An empirical comparison of the market-leading IDS's
Rahman et al. Vulnerability Assessment of Mobile Financial Service Applications In Bangladesh
Rizvi et al. A Hybrid Framework for Detecting Repackaged Applications on the Android Market
CN117195235A (zh) 一种用户终端的接入可信计算认证系统及方法
CN114157503A (zh) 访问请求的认证方法及装置、api网关设备、存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170830

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170919

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171010

R150 Certificate of patent or registration of utility model

Ref document number: 6226990

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250