JP6559694B2 - 自動sdk受容 - Google Patents

自動sdk受容 Download PDF

Info

Publication number
JP6559694B2
JP6559694B2 JP2016554318A JP2016554318A JP6559694B2 JP 6559694 B2 JP6559694 B2 JP 6559694B2 JP 2016554318 A JP2016554318 A JP 2016554318A JP 2016554318 A JP2016554318 A JP 2016554318A JP 6559694 B2 JP6559694 B2 JP 6559694B2
Authority
JP
Japan
Prior art keywords
data
read
application programming
programming interface
security
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
JP2016554318A
Other languages
English (en)
Other versions
JP2017503288A (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.)
Palo Alto Networks Inc
Original Assignee
Palo Alto Networks Inc
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 Palo Alto Networks Inc filed Critical Palo Alto Networks Inc
Publication of JP2017503288A publication Critical patent/JP2017503288A/ja
Application granted granted Critical
Publication of JP6559694B2 publication Critical patent/JP6559694B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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

Description

本開示は、概して、コンピュータシステムのセキュリティ評価の一部としてシステム開発キットインターフェースを自動的に処理することに関する。
優先権及び関連出願の相互参照
本出願は、「AUTOMATED SDK INGESTION」と題された、2013年11月13日に出願された米国仮特許出願第61/903,864号からの優先権を主張し、かつその非仮出願である。上記出願の全開示は、あらゆる目的のために、本書において完全に記載されているのと同様に、参照によりその全体が本明細書に組み込まれる。
会社、個人、顧客は、1つ以上のウェブベースのサービスを彼らのユーザに提供するために、コンピューティングデバイスのネットワークをしばしば利用し、それらのネットワークは、複数の地理的境界を越えて多くの場合拡張する。多くの状況では、顧客は、インフラストラクチャコストを下げて、ウェブサービスを用いて、顧客の製品、ユーティリティ、及び他の利点を活用するために、他の会社によって管理されたハードウェア及びソフトウェアアプリケーションを用いてリモートネットワークを構成して、動作し得る。
ウェブサービス及びリモートコンピューティングアプリケーションが近年全盛で、リソースプロバイダは、サービスされる無数のセキュリティオプション及び構成で、様々なアプリケーション及びウェブサービスにアクセスする能力を、顧客に可能にしている。セキュリティは、コンピュータシステムにおいて重要であるが、多くの場合、コンピュータシステムの範囲と構成は、予め完全に知られているわけではなく、頻繁に変更していて、アップグレードされている。顧客コンピュータシステムのいくつかまたはすべての部分がクラウドベースのリソースの使用を伴うので、コンピュータシステムのセキュリティ及び使用量テストのプロセスは複雑になっている。ソフトウェアセキュリティパッチが既知の脆弱性及び他のリスクを解決しようとする一方、
本開示に従う様々な実施形態は、図面を参照して以下に説明される。
少なくとも1つの実施形態に従う環境の例示的な例である。 様々な実施形態が実装され得る環境の例示的な例である。 少なくとも1つの実施形態に従うブロック図の例示的な例である。 少なくとも1つの実施形態に従ってオブジェクト/方法ツリーの走査からデータ報告を生成するためのプロセスの例示的な例である。 少なくとも1つの実施形態に従う、ソフトウェア開発キットオブジェクトの走査方法のためのプロセスの例示的な例である。 少なくとも1つの実施形態に従ってリモートエンドポイントAPIデータをスキャンするためのプロセスの例示的な例である。 少なくとも1つの実施形態に従う環境の例示的な例である。
付属書類Aは、本開示に従うプログラミングコードスクレイプ結果の例示の抜粋であり、その内容は、米国著作権法の下で保護されている。
付属書類Bは、本開示に従う、スクレイプされた結果を後処理するためのプログラミングコードの例示の抜粋であり、その内容は、米国著作権法の下で保護されている。
以下の説明では、様々な実施形態が説明される。説明の目的で、特定の構成及び詳細が、実施形態の完全な理解を提供するために述べられる。しかしながら、実施形態が特定の詳細なしで実施され得ることも、当業者にとって明らかになるだろう。さらに、周知の特徴は、説明されている実施形態を不明瞭にしないために、省略または単純化される場合がある。
本明細書に説明及び示唆された技法は、データをスクレイプして、ウェブサービスの制御システム内で可能な構成エラーまたは異常を判定するために、顧客アプリケーションを走査するように構成された、方法、システム、及びコンピュータ可読媒体を含む。本開示に従うセキュリティプラットフォーム及び構成部品は、すべてのウェブサービスに関するウェブサービスのアプリケーションプログラミングインターフェース(「API」)から情報及びデータを抽出するために、ウェブサービスソフトウェア開発キット(「SDK」)を活用するように構成される。ウェブサービスは、例えば、コンピューティングサービス、ネットワークサービス、コンテンツ配信サービス、データベースサービス、配備サービス、管理サービス、アプリケーションサービス等を含み得る。
本開示に従う例示の実施形態は、SDKインターフェースを走査するか「ウォーク」して、SDKインターフェースによって提供されたAPIに情報の要求を適用することによって顧客の利用法、構成、及びセキュリティ情報を取得するように構成されるスキャンクライアントを含む。顧客は、ダッシュボード等のユーザインターフェース(「UI」)を提供され得、それは、顧客または顧客のオペレータが、グローバルに、顧客クラウドインフラストラクチャのリスク分析を実施することを可能にする。クラウドインフラストラクチャの例としては、Amazon.comのクラウドインフラストラクチャ、Amazon Web Services(登録商標)(「AWS」)、Google(登録商標)App Engine、DigitalOcean(登録商標)等の構造、または、サービスとしてのソフトウェアプロバイダ、サービスとしてのプラットフォームプロバイダ、サービスとしてのインフラストラクチャプロバイダ等の他のコンピューティングリソースサービスプロバイダのインフラストラクチャが挙げられる。本明細書に提示された多くの例示の実施形態では、AWS(登録商標)サービスは、例示の種類の利用可能なクラウドインフラストラクチャウェブサービスとして参照される。しかしながら、類似の目的に叶っている代替のコンピューティングリソースサービスプロバイダまたはクラウドプロバイダは、当業者にとって明らかとなるように用いられ得る。
図1は、様々な実施形態に従って態様を実装するための環境100の例示の実施形態である。理解されるように、インターネット環境100が説明のために用いられるが、必要に応じて、異なる環境が用いられて、様々な実施形態を実装し得る。
図1の例示の実施形態としては、少なくとも1つの実施形態に従って、Amazon AWS(登録商標)等の第三者ウェブサービス120に接続された顧客デバイス103の例が挙げられる。ウェブサービス120は、様々なサービスを顧客101に提供し得、顧客デバイス103は、ウェブサービスインターフェースまたは任意の他の種類の顧客インターフェースであり得るAPI等のインターフェースを介してウェブサービス120と通信し得る。顧客101は、様々な地理的位置に位置し得る第三者ウェブサービス120によって提供されたサービスのうちの1つ以上を利用する組織または会社であり得る。
例示の実施形態に従う解析エンジン115は、表現状態転送(「REST」)API105を介して等のように、クラウドAPIを介してデータを読み出すように構成され得る。解析エンジンの一次機能の1つは、例示されたオブジェクト113を言語ネイティブSDKから取って、SDKの後のデータを新しいデータ構造に生産することである可能性がある。解析エンジン115は、いくつかの実施形態では、署名エンジン117を介して、まず例示されたオブジェクト113を取って、次いでオブジェクトを調べることで、そのオブジェクトがどの方法を有するのかを判定することによって、このことを行う。署名エンジン117は、次いで、ある特定の種類及び同等基準と一致する方法を検索する。
解析エンジン115は、REST API105によって定義される要求122のようなAPI呼び出し等の関数呼び出しを実行するようにさらに構成され、これによって、その解析エンジンは、そのオブジェクトの各方法に対して第三者ウェブサービス120からサービスを要求し得る。API呼び出しは、新しいプロセスを作成及び実行して、ならびに/または積分核サービスと通信するハードウェア関連サービス(例えば、ハードディスクにアクセスする)を含み得る。その呼び出しに応答して、各方法がデータを戻すとき、パーサは、その方法の戻り値(複数可)をそのオブジェクトタイプを求めて調べるように構成される。パーサは、次いで、新たに生産されたオブジェクトをどう処理するべきかについて決定する。例えば、パーサがオブジェクトを受信するとき、パーサは、新しいオブジェクトを解析フォーマットに再帰的に戻して、そのため、オブジェクトツリー全体が最終的に走査されて、スクレイプされて、分析のために新しいデータ構造に入れられる。方法一覧は、認証方法を説明している順次な一覧または非順次な一覧であり得、それは、ユーザを認証するために、もしくは、変数、データ構造、もしくは機能等のオブジェクトのセキュリティ及び/または構成方針を判定するために、問い合わせる。いくつかの例示の実施形態では、方法一覧は、顧客が、または、その顧客に代わって、そのセキュリティプラットフォームが、認証のために用いられる1つ以上のセキュリティプロトコルを指定することを可能にする。
上記方法を用いている解析エンジンは、単にAPIプロバイダが公表するもの以上のものを発見することができる。多くの場合、パーサ、他のプログラム、またはオペレータがクラウドプロバイダからAPI関して有している最良の情報は、SDK内のネイティブオブジェクト結合によって提供された情報である。したがって、解析エンジンは、このインターフェースから始めることができ、この方法走査機構を介して所望のデータを抽出するための多くのメタプログラミング技法を用いることができる。このデータは、最終的に脆弱性に関して分析されて、警報と報告を生産する前に、次いで、様々な後処理基準によってフィルタ処理され得る。
図2は、例示の実施形態に従って、顧客201と、サービスとしてのソフトウェア(「SaaS」)アプリケーション220と、ウェブサービス215との間の通信チャネルを示している環境の例示的な例である。本明細書に説明されるように、サービスの各々は、1つ以上のウェブサービスインターフェースを含み得、それらは、SaaSアプリケーション220が、顧客201に代わって、適切に構成されたAPI呼び出し214を様々なサービス(ウェブサービス要求を通して顧客の1つ以上のウェブサービスアカウント205と関連付けられ得るウェブサービス215等)に提示することを可能にする。
顧客201は、アクセスキー識別子、秘密アクセスキー、セッショントークン等の認証証明書206を、SaaSアプリケーション220に提供し得、SaaSアプリケーション220は、セキュリティプラットフォーム225を含むかそれに操作可能に相互接続され得、ウェブサービスアプリケーションプログラミングインターフェース(「API」)210を介して、ウェブサービス215とも操作可能に相互接続される。
セキュリティプラットフォーム225は、スキャンサービス226を含むか、それに操作可能に相互接続され得、それは、サーバ内で実装され得るか、ハードウェア装置(例えば、コンピュータまたはコンピュータシステム)であり得、及び/または、コンピュータまたはコンピュータシステム上で動作しているソフトウェアアプリケーションまたはプロセスとして実装され得る。コンピュータデバイス203上で動作しているクライアントアプリケーション等の1つ以上のデバイスは、ネットワークまたは中間ネットワークを介して、1つ以上のサーバまたはクラスタに操作可能に相互接続され得る。1つ以上のデバイスは、1つ以上のクライアントを介してサーバに接続し得、ここで、それらのクライアントは同一のまたは異なるアプリケーションであり得、そのネットワークまたは中間ネットワークに結合した他の宛先デバイスと同様に通信し得る。
セキュリティエンジン227は、一連の署名を動作するように構成され得、ここで、各署名は、単一の種類の構成エラーを特徴付ける。そのような署名は、同時に複数の顧客の構成に対して動作され、脆弱性報告は、顧客ごとに収集され、ソフトウェアスタックのウェブフロントエンドを通して配信されるか、セキュリティプラットフォームに関係付けられ得る。セキュリティプラットフォームの構成部品は、抽出されたデータに対して異なるレベルのセキュリティ分析を実施するために、抽出された情報について一連の署名または指紋を実装し得る。
署名は、ウェブサービスAPIスクレイプから生データを受信して、その情報を用いて、セキュリティのレベルに基づいて、顧客のアプリケーションのセキュリティリスクを判定するように構成され得る。例えば、署名エンジンは、スクレイプされたデータを分析して、不合格、合格、警告、エラー等のリスク評価レベルを判定し得る。代替の例示の実施形態では、顧客は、セキュリティプラットフォームを介して用いられ得るカスタム署名を作成し得る。そのようなカスタム署名は、JavaScript(登録商標)署名を実行するように構成されたセキュリティプラットフォームバックエンドの構成部品の用途に、JavaScript(登録商標)で作成され得る。カスタム署名とプラットフォーム署名との両方の種類の署名は、リスク要因を判定するのに必要がある情報を受信するために、スクレイプされた、キャッシュされたデータか、ウェブサービスAPIへの実の、エンドポイントデータのどちらかを用いるように構成され得る。
ウェブサービスがユーザを認証する場合、ウェブサービスは、SaaSアプリケーションサーバにPASS応答を出し得、SaaSアプリケーションは、顧客に代わってウェブサービスにアクセスすることを許可される。ウェブサービスがFAIL応答を戻す場合、SaaSアプリケーションはアクセスを許されず、セッションは終端される。ウェブサービスが応答しない場合、SaaSアプリケーションサーバは、ERRORとして、及び顧客201に戻る可能な認証情報変化のための問い合わせとして、それを処理するか、認証の異なる形態を要求する。このパターンは、SaaSアプリケーションサーバが認証されるか、拒絶されるまで、あるいは、セッションが終端されるまで、残りの指定された方法を通して続くだろう。FAILの応答はERRORとは異なる。FAILは、SaaSアプリケーションサーバが、成功裏に認証されるために適用可能な認証データベースに含まれる基準を満たさなかったことを意味する。認証はFAIL応答で終了する。ERRORは、セキュリティサーバが認証問い合わせに応答しなかったことを意味する。
スクレイプされたデータ及び実データは、交換可能に用いられ得る。例えば、特定の署名を実施するために必要があるスクレイプされたデータが失われた場合、それは、自動的に実APIエンドポイントを用いて、ウェブサービスから所望のデータを読み出すことになる。例えば、セキュリティプラットフォームは、すべてのネットワークトラフィックを許可しているルーティングパラメータ、構成され、現在まで継続されたバックアップ、作成されたが、参照または使用されていないリソース、サポートするリソース上で有効にされた暗号化、暗号を確保するためだけに制限されたSSL及びTLS暗号集合、有効にされた多要素認証、特権ユーザの数に対する制限、一般的に検出可能な一般的に利用可能なリソース、及びさらに数百の検出を提供し得る。ウェブサービスとその構成の詳細に関する追加のメタデータは、スクレイプされる可能性がある。例えば、用いられている仮想機械のサイズ、使用中のメモリ量、利用可能なメモリ量、起動されているオペレーティングシステム、顧客が構成したユーザ、ユーザーアカウント概要の詳細等に関する、構成的及び/または記述的データに関するメタデータである。
スキャンクライアントを用いて、オペレータ(コンピュータ、コンピュータプロセスまたは人、典型的には人)は、サインアップ及び/またはログインして、認証されたセッションを開始するだろう。スキャンクライアントは、次いで、顧客クラウドキーを取得することになり、そこから、オペレータは、警報の購読を管理し、オペレータの詳細(例えば、電子メールアドレス、連絡先等)を管理し、警報履歴を閲覧し、及び/またはリスク報告を閲覧し得る。AWS(登録商標)に関して、スキャンクライアントのUIは、顧客が、サインアップし、ログインし、彼らのAWS(登録商標)キーを提供し、彼らの電子メールアドレスを管理し、警報を購読し、報告及び警報履歴を閲覧することを可能にする。
スキャンクライアントのUIは、スキャンクライアントがオペレータから取得する読み取り専用IAMアクセスキーを暗号化するように構成され得る。UIは、いくつかの実施形態に従う署名エンジンと組み合わせて、顧客情報を読み出して/受信して、それを使用して、クラウドAPIを介してグローバルに顧客のクラウドインフラストラクチャのリスク分析を実施するようにさらに構成される。例えば、UIは、オペレータが、AWS(登録商標)に対するクラウドAPIを介して、グローバルにオペレータのAWS(登録商標)インフラストラクチャのリスク分析を実施することを可能にし得る。これは、概して、ちょうどHypertext Transfer Protocol(「HTTP」)スクレイプだけを行うこと(現在、特定されたサービスにパケットを送信することによって用いられ、そのパケット通信に応答して受信された情報または情報の不足に基づいて、分析を実施している)よりも、リソースに関して、高信頼で、費用効果が高い。UIは、リアルタイムで、準リアルタイムで、または任意の供給された期間で、連続的にバックグラウンドで動作しているセキュリティ分析ジョブを表示するように構成され得、結果は、クライアント設定につき、UIにおいてオペレータに提示される。UIは、顧客が、顧客の警報方法を選択して、電子メールを介してまたは別の様式でそれらを受信するための能力を提供する。
なお、上述のすべての実施形態が、図1を参照して説明されたサービスを含むというわけではなく、追加のサービスが、本明細書に明示的に説明されたサービスに加えて、または、それらの代替として、提供され得る。
図3は、本明細書に提示された例示の実施形態に従ってセキュリティ報告を示すユーザインターフェース300の例示的な例である。セキュリティ報告は、図1に関連して説明及び図解されたコンピュータデバイス103上で動作しているクライアント上等のように、ユーザデバイス上で生成され得る。セキュリティ報告は、第三者ウェブサービスクラウドアーキテクチャで動作している顧客のアプリケーションに基づく、走査及び分析されたセキュリティプラットフォームの結果であり得る。セキュリティ報告は、世界中の異なる地域302、ウェブサービスの異なるサービス304、突き止められた問題の異なる重大度306、及び、セキュリティ分析の結果に基づいて顧客に警報が出されるべきかどうかに関するステータス判定308を提供し得る。
本開示の例示の実施形態によると、ウェブサービス304は、例えば、Amazon(登録商標)AppStream、CloudFront、CloudSearch、CloudWatch、Cognito Identity、Cognito Sync、DevPay、DynamoDB、EC2、Elastic MapReduce、Elastic Transcoder、ElastiCache、Glacier、Kinesis、Mechanical Turk、Mobile Analytics、Redshift、Relational Database Service、Route 53、Simple Email Service、SimpleDB、Simple Notification Service、Simple Queue Service、Simple Storage Service(「S3」)、Simple Workflow Service、VPC、Auto Scalingを含み得る。追加の例は、AWS(登録商標)CloudTrail、CloudFormation、Data Pipeline、Direct Connect、Elastic Beanstalk、Identity and Access Management(「IAM」)、Import/Export、OpsWorks、Security Token Service(「STS」)、Storage Gateway、Support、Elastic Load Balancing、及び追加のサービスを含み得る。
図4は、本明細書に提示された例示の実形態に従って、方法/オブジェクトツリーを走査するための高レベルプロセスであるプロセス400の例示的な例である。プロセス400は、図2に関連して説明及び図解されるようなSaaSアプリケーションサーバ220、ならびに/またはその任意の好適なシステムもしくは構成部品等の任意の好適なシステムによって実施され得る。図4に戻って、プロセス400に従って、セキュリティプラットフォームのスキャンサービスは、AWS(登録商標)等のウェブサービスに要求を送信して、一時的なセキュリティ証明書が、顧客に代わってリモートAPIにアクセスすることを要求する(402)。認証が発生するとすれば、そのスキャンサービスは、ウェブサービスソフトウェア開発キット(「SDK」)オブジェクトを生成して(404)、生成されたSDKオブジェクトからオブジェクト/方法ツリーを走査する(406)。スキャンサービスは、結果集合をさらに生成して(408)、結果集合を記憶する(410)。最後に、スキャンサービスは、結果に基づいて報告データを生成して(412)、データベース内にその報告を記憶する(414)。
図5は、本明細書に提示された例示の実施形態に従って、ソフトウェア開発キットオブジェクトを走査するのに用いられ得るプロセス500の例示的な例である。プロセス500は、図1に関連して説明及び図解されるようなアプリケーションサーバ110、ならびに/またはその任意の好適なシステムもしくは構成部品等の任意の好適なシステムによって実施され得る。図5に戻って、プロセス500に従って、スクレイピングエンジンは、ソフトウェア開発キット(「SDK」)オブジェクトを走査して(502)、そのオブジェクト上で方法の一覧を受信する(504)ように構成され得る。スクレイピングエンジンは、オブジェクトに対して方法の再帰的スクレイプを実施し、これによって、方法がスクレイプされるごとに、受信されたデータは追加のオブジェクトであり得、それが事実である場合、スクレイピングエンジンは、別の方法が存在するかどうかを判定する(506)。追加の方法が見出されるならば、次の方法へのAPI呼び出しが行われ(514)、そのAPI呼び出しから生じているデータは処理される(516)。一旦結果として生じるデータが処理されるならば、スクレイピングエンジンは、データのそのレベルに関連付けられた別のオブジェクトがあるかどうかを判定し、「はい」ならば、その再帰は開始に戻り、「いいえ」ならば、そのプロセスは終了する。
追加方法が見出されないならば、スクレイピングエンジンは、スクレイプされた結果を記憶し(508)、スクレイプされたデータに対して署名分析を実施し(510)、スクレイプされたデータの署名分析に基づいて、終了セキュリティ報告を記憶する(512)。
図6は、本明細書に提示された例示の実施形態に従って、顧客のソフトウェア開発キットオブジェクトを解析するのに用いられ得るプロセス600の例示的な例である。プロセス600は、図2に関連して説明及び図解されるようなSaaSアプリケーションサーバ220、ならびに/またはその任意の好適なシステムもしくは構成部品等の任意の好適なシステムによって実施され得る。図6に戻って、プロセス600に従って、サーバは、スキャンクライアントにライブラリをロードするように構成され得、スキャンクライアントでは、ライブラリが、リモートアプリケーションプログラミングインターフェースへのインターフェースであり得る(602)。ライブラリが追加された後、セキュリティプラットフォームは、最上位のオブジェクトを作成して(604)、そのオブジェクトに証明書を送り込んで、リモートエンドポイントとの通信チャネルを作成するように構成される(606)。証明書は、アクセスキー識別子及び秘密キーを含むアクセスキー証明書等のように、ウェブアプリケーションサービスに対して行われるAPI呼び出しのためにデジタル署名するように構成されるアクセスキーを含み得る。秘密キー部は、ウェブサービスアカウント顧客、またはウェブサービスアカウントユーザが前もって付与したフェデレーションユーザによって確保されなければならない。セキュリティプラットフォームアプリケーションまたはサーバとウェブサービスとの間の認証のための代替の方法は、例えば、クロスアカウントアクセスまたはクロスオリジンリソース共用等のように、同様に適用され得る。
図6に戻って、リモートAPIとの通信接続が証明書を用いて確立された後、サーバは、最上位のオブジェクトを、そのオブジェクトと関連付けられた方法の名前を参照することによって走査し(608)、すべての見出されたオブジェクトのすべての方法の名前を受信する(610)。セキュリティプラットフォーム、またはそれに操作可能に相互接続するサブクラススクレイパーは、APIにおいてデータに潜在的に影響を及ぼすか、データ上に書き込む可能性のある任意の呼び出しを無視するか、削除する等、危険な関数呼び出しのために、参照された方法の名前をフィルタ処理する(612)。セキュリティプラットフォームは、参照された方法のうちのすべてに対してAPI呼び出しをさらに実施して(614)、各々の呼び出された方法の後でデータを受信する(616)。データは、呼び出しと同調して受信され、最上位のオブジェクト内で見出されたすべてのオブジェクトのうちの各方法は、呼び出され、APIのリモートエンドポイント上に記憶されたデータを表すデータのツリーを作成する(618〜620)。セキュリティプラットフォームは、リモートエンドポイントデータベースのローカルコピーをキャッシュし(622)、さらなる処理、署名適用、報告生成のために、記憶されたデータを分析エンジンに提供する(624)。
図7は、様々な実施形態に従って、態様を実装するための例示の環境700の態様を図解する。理解されるように、ウェブベースの環境が説明のために用いられるが、必要に応じて、異なる環境が用いられて、様々な実施形態を実装し得る。環境は、ウェブクライアント710等の電子クライアントデバイスを含み、それは、適切なネットワーク774上で要求、メッセージ、もしくは情報を送信及び/または受信し、いくつかの実施形態では、そのデバイスのユーザに情報を戻して伝達するように動作可能な任意の適切なデバイスを含み得る。そのようなクライアントデバイスの例としては、パーソナルコンピュータ、携帯電話、ラップトップコンピュータ、タブレットコンピュータ、埋込式コンピュータシステム、電子ブックリーダー等が挙げられる。この例では、環境が、要求を受信して、それに応答して、コンテンツを供給するためのウェブサーバ776と、少なくとも1つのアプリケーションサーバ777とを含むように、ネットワークはインターネットを含む。いくつかのアプリケーションサーバがあり得ることが理解されるべきである。サーバは、本明細書に用いられる場合、ハードウェアデバイスまたは仮想コンピュータシステム等の様々な方法で実装され得る。いくつかの文脈では、サーバは、コンピュータシステム上で実行されているプログラミングモジュールを参照し得る。その例は、データベース問い合わせを含むか受容して、それらに応答し得るデータサーバ778と通信しているデータベースサーバ780をさらに図解する。
本明細書に記載されるブロック図及び流れ図の要素が、ソフトウェア、ハードウェア、ファームウェア、または将来判定される他の類似の実装内において、実装され得ることが理解されるべきである。加えて、本明細書に記載されたブロック図及び流れ図の要素は、ソフトウェア、ハードウェア、またはファームウェアにおいて、任意の様式で、組み合わされるか、分割される可能性がある。ソフトウェアにおいて実装される場合、ソフトウェアは、本明細書に開示された例示の実施形態をサポートし得る任意の言語において書き込まれ得る。ソフトウェアは、ランダムアクセスメモリ(「RAM」)、読み出し専用メモリ(「ROM」)、コンパクトディスク読み出し専用メモリ(「CD−ROM」)等のコンピュータ可読媒体の任意の形態で記憶され得る。動作において、汎用または特定用途向けプロセッサは、当業界でよく理解された様式で、ソフトウェアをロードして、実行する。ブロック図及び流れ図が、より多くのまたはより少ない要素を含み、異なるように配置もしくは配向されるか、または異なるように表現され得ることが理解されるべきである。実装が、ブロック図、流れ図、及び/またはネットワーク図、ならびに、本開示の実施形態の実行を図解しているブロック図及び流れ図の数を指令し得ることが理解されるべきである。
前述の例は、他の実施形態、変形、及び修正が当業者にとって明らかとなる本開示のある特定の例示の実施形態を図解する。したがって、本開示は、上述の特定の実施形態に限定されるべきではないが、特許請求の範囲によってむしろ定義される。
本開示は特にその例示の実施形態を参照して示され、説明されたが、添付の特許請求の範囲によって包含される本開示の範囲を逸脱することなく、形態及び詳細における様々な変化が行われ得ることが、当業者によって理解されるだろう。
本開示の様々な実施形態は、Transmission Control Protocol/Internet Protocol(「TCP/IP」)、Open System Interconnection(「OSI」)モデルの様々な層で動作しているプロトコル、File Transfer Protocol(「FTP」)、Universal Plug and Play(「UpnP」)、Network File System(「NFS」)、Common Internet File System(「CIFS」)、及びApple Talk等の様々な市販のプロトコルのうちのいずれか用いて通信をサポートすることで、当業者によく知られている場合がある少なくとも1つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想私設ネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話ネットワーク、赤外線ネットワーク、無線ネットワーク、及びそれらの任意の組み合わせであり得る。
ウェブサーバを利用している実施形態では、ウェブサーバは、Hypertext Transfer Protocol(HTTP)サーバ、FTPサーバ、データサーバ、Javaサーバ、及び業務アプリケーションサーバを含む様々なサーバまたは中間階層アプリケーションのうちのいずれかを動作し得る。サーバ(複数可)はまた、Java(登録商標)、C、C#、もしくはC++等の任意のプログラム言語、またはPerl、Python、もしくはTCL等の任意のスクリプト言語、ならびにそれらの組み合わせで書き込まれた1つ以上のスクリプトまたはプログラムとして実装され得る1つ以上のウェブアプリケーションを実行することによって等、ユーザデバイスからの要求に応答して、プログラムまたはスクリプトを実行することができ得る。
「A、B、及びCのうちの少なくとも1つ」または「A、B及びCのうちの少なくとも1つ)」の形態の句等の連言的文言は、特に別段に記載されない限り、または文脈によって別段に明確に否定されない限り、項目、用語等が、AまたはBまたはC、または、A及びB及びCの集合の任意の非空部分集合であり得ることを提示するために概して用いられるような文脈と共に、特に理解される。例えば、3つの部分を有する集合の例示的な例において、「A、B、及びCのうちの少なくとも1つ」及び「A、B及びCのうちの少なくとも1つ」の連言的句は、以下の集合のうちのいずれかを参照する:{A}、{B}、{C}、{A、B}、{A、C}、{B、C}、{A、B、C}。よって、そのような連言的文言は、概して、ある特定の実施形態が、Aの少なくとも1つ、Bの少なくとも1つ、Cの少なくとも1つの各々を必要とすることを意味することを意図されない。
本明細書に説明されたプロセスの動作は、本明細書に別段に明記しない限り、または文脈によって別段にはっきりと否定されない限り、任意の好適な順番で実施され得る。本明細書に説明されたプロセス(または変形及び/もしくはその組み合わせ)は、実行可能な命令で構成された1つ以上のコンピュータシステムの制御の下で実施され得、ハードウェアまたはその組み合わせによって、1つ以上のプロセッサ上でまとめて実行しているコード(例えば、実行可能な命令、1つ以上のコンピュータプログラムまたは1つ以上のアプリケーション)として実装され得る。コードは、例えば、1つ以上のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形態で、コンピュータ可読記憶媒体上に記憶され得る。コンピュータ可読記憶媒体は、非一過性である可能性がある。
一切の例、または本明細書に提供された典型的な文言(例えば、「等」)の使用は、本発明の実施形態をよりよく明らかにすることを単に意図され、別段に特許請求の範囲に記載されない限り、本発明の範囲に対して制限を与えない。明細書のどの文言も、本発明の実施に本質的なものとして任意の特許請求の範囲に記載されていない要素を指示しているものとして解釈されるべきではない。
さらなる実施形態が、本開示の読後、当業者によって想定され得る。他の実施形態では、上に開示された本発明の組み合わせまたは下位組み合わせが、有利に行われ得る。構成部品の例示の配置は説明のために示され、組み合わせ、追加、再配置等が本発明の代替の実施形態で企図されることが理解されるべきである。したがって、本発明は典型的な実施形態に関して説明されたが、当業者は、多数の修正が可能であることを認識することになる。
例えば、本明細書に記載されたプロセスは、ハードウェア構成部品、ソフトウェア構成部品、及び/またはそれらの任意の組み合わせを用いて実装され得る。それに応じて、明細書及び図面は、限定的な意味よりもむしろ例示的な意味で考えられるべきである。しかしながら、様々な修正及び変化が、特許請求の範囲に記載したような本発明のより広い趣旨及び範囲から逸脱することなく行われ得、本発明が、以下の特許請求の範囲内ですべての修正及び同等物を網羅することが意図されることは、明白であろう。
本明細書に引用された刊行物、特許出願、及び特許を含むすべての参照は、各参照が、参照によって組み込まれるように個別にかつ特に指示され、本明細書にその全体が記載されるかのように、同程度に参照によって本明細書によって組み込まれる。
適用例1:顧客の利用法を取得するためにソフトウェア開発キットインターフェースを解析するためのコンピュータ実装方法であって、
実行可能な命令で構成された1つ以上のコンピュータシステムの制御の下で、
リモートアプリケーションプログラミングインターフェースへのインターフェースであるライブラリを、セキュリティプラットフォームにロードすることと、
リモートエンドポイントと接続するように構成されたアクセス証明書を含む最上位のオブジェクトを生成することと、
関数呼び出しを実行して、前記最上位のオブジェクトのための方法の参照名を読み出すことと、
前記実行された関数呼び出しの各方法からデータを再帰的に読み出すことと、
読み出されたデータをデータストア内に記憶することと、を含む、前記コンピュータ実装方法。
適用例2:前記読み出すことが、所定のオブジェクトが読み出されるまで実行される、適用例1に記載の前記コンピュータ実装方法。
適用例3:前記最上位のオブジェクトに基づいて最後のオブジェクトを検出することと、
前記検出された最後のオブジェクトに少なくとも部分的に基づいて、前記再帰的読み出しを完了することと、をさらに含む、適用例1に記載の前記コンピュータ実装方法。
適用例4:前記リモートアプリケーションプログラミングインターフェースが、Amazon(登録商標)Web Serviceのためのアプリケーションプログラミングインターフェースである、適用例1に記載の前記コンピュータ実装方法。
適用例5:1つ以上のサービスを実装するように構成された少なくとも1つのコンピューティングデバイスを含むシステムであって、前記1つ以上のサービスが、
リモートアプリケーションプログラミングインターフェースへのインターフェースであるライブラリをロードすることと、
最上位のオブジェクトを生成することであって、前記最上位のオブジェクトが、前記リモートアプリケーションプログラミングインターフェースの顧客と関連付けられたアクセスキーを含み、前記アクセスキーが、リモートエンドポイントとの通信チャネルを認証するように構成される、生成することと、
少なくとも1つの呼び出しを実行して、前記最上位のオブジェクトのための方法の名前を読み出すことと、
前記方法の前記読み出された名前をフィルタ処理することであって、前記呼び出しが安全でない可能性があるとき、前記方法の前記読み出された名前を取り除くことを含む、フィルタ処理することと、
前記読み出された方法の各方法を実行することであって、各方法に関するデータの集合を戻す、各々の方法を実行することと、
前記データの集合をデータストア内に記憶することと、を行うように構成される、前記システム。
適用例6:安全でない呼び出しが、実行された場合、前記呼び出しに関連付けられたオブジェクトに関するデータを変更するか、改変するか、修正するか、または削除するであろう呼び出しを含み得る、適用例5に記載の前記システム。
適用例7:各方法が順番に実行され、前記順番が、第1の方法を実行することと、前記実行された第1の方法に関連付けられたデータを読み出すことと、第2の方法を実行することと、を含む、適用例5に記載の前記システム。
適用例8:前記データの集合が、前記アプリケーションプログラミングインターフェースのリモートエンドポイント上に記憶されたデータの表現を含む、適用例5に記載の前記システム。
適用例9:前記1つ以上のサービスが、前記最上位のオブジェクト及び少なくとも1つの追加のオブジェクトに関するメタデータを読み出すようにさらに構成される、適用例5に記載の前記システム。
適用例10:前記リモートアプリケーションプログラミングインターフェースの前記顧客に関連付けられた前記アクセスキーが、一時的なセキュリティ証明書を含み、前記一時的なセキュリティ証明書が、アクセスキー識別子、秘密アクセスキー、及びセッショントークンを含む、適用例5に記載の前記システム。
適用例11:前記リモートアプリケーションプログラミングインターフェースが、Amazon(登録商標)Web Servicesサービスのためのアプリケーションプログラミングインターフェースである、適用例5に記載の前記システム。
適用例12:前記1つ以上のサービスが、前記データの集合に少なくとも部分的に基づいてセキュリティリスク評価を実施するようにさらに構成される、適用例5に記載の前記システム。
適用例13:実行可能な命令が上に記憶される非一過性コンピュータ可読記憶媒体であって、コンピュータシステムの1つ以上のプロセッサによって実行されたとき、
リモートアプリケーションプログラミングインターフェースへのインターフェースであるライブラリをロードすることと、
第1のオブジェクトを作成することであって、前記第1のオブジェクトが、前記リモートアプリケーションプログラミングインターフェースの顧客と関連付けられた認証証明書を含み、前記認証証明書が、前記リモートアプリケーションプログラミングインターフェースとの通信チャネルを認証するように構成される、作成することと、
呼び出しを実行して、前記第1のオブジェクトのための方法の名前を読み出すことと、
前記読み出された方法の各方法を実行することであって、各方法に関するデータの集合を戻す、各方法を実行することと、
各方法を実行することに応答して、複数のオブジェクトを受信することと、
前記複数のオブジェクトの各々に関連付けられたデータを読み出すことであって、前記複数のオブジェクトにおける各方法のために呼び出しを再帰的に実行することを含む、前記複数のオブジェクトの各々に関連付けられた前記データを読み出すことと、
前記読み出されたデータを記憶することと、を前記コンピュータシステムに少なくとも行わせる、前記非一過性コンピュータ可読記憶媒体。
適用例14:前記命令が、前記1つ以上のプロセッサによって実行されたとき、前記コンピュータシステムに、リアルタイムまたは準リアルタイムで前記リモートアプリケーションプログラミングインターフェースを連続的に監視させる命令をさらに含む、適用例13に記載の前記非一過性コンピュータ可読記憶媒体。
適用例15:前記命令が、前記1つ以上のプロセッサによって実行されたとき、前記コンピュータシステムに、各オブジェクトに対するセキュリティ及び/または構成の設定置換をスキャンさせる命令をさらに含む、適用例13に記載の前記非一過性コンピュータ可読記憶媒体。
適用例16:前記命令が、前記1つ以上のプロセッサによって実行されたとき、前記コンピュータシステムに、前記第1のオブジェクト及び前記複数のオブジェクトに関連付けられた前記読み出されたデータを表示するためのグラフィカルユーザインタフェース出力を提供させる命令をさらに含む、適用例13に記載の前記非一過性コンピュータ可読記憶媒体。
適用例17:前記命令が、前記1つ以上のプロセッサによって実行されたとき、前記コンピュータシステムに、前記読み出されたデータに署名を適用させる命令をさらに含む、適用例13に記載の前記非一過性コンピュータ可読記憶媒体。
適用例18:前記コンピュータシステムに、前記読み出されたデータに前記署名を適用させる前記命令が、前記コンピュータシステムに、前記署名の結果に少なくとも部分的に基づいて警報を提供させる命令をさらに含む、適用例17に記載の前記非一過性コンピュータ可読記憶媒体。
適用例19:前記命令が、前記1つ以上のプロセッサによって実行されたとき、前記コンピュータシステムに、セキュリティ規則分析に従って前記読み出されたデータを解釈させる命令をさらに含む、適用例13に記載の前記非一過性コンピュータ可読記憶媒体。
付属書類A
パブリッククラウド環境(複数可)の仮想サーバ配備に関する出力
{
"Reservations": [
{
"OwnerId": "613698206329",
"ReservationId": "r-ee73f9c4",
"Groups": [],
"RequesterId": "226008221399",
"Instances": [
{
"Monitoring": {
"State": "enabled"
},
"PublicDnsName": "ec2-54-208-198-221.compute-1.cloud.example.com",
"RootDeviceType": "ebs",
"State": {
"Code": 16,
"Name": "running"
},
"EbsOptimized": false,
"LaunchTime": "2014-09-28T09:45:54.000Z",
"PublicIpAddress": "54.208.198.221",
"PrivateIpAddress": "10.100.1.114",
"ProductCodes": [],
"VpcId": "vpc-181ad07d",
"StateTransitionReason": null,
"InstanceId": "i-da68f437",
"ImageId": "ami-de45f1b6",
"PrivateDnsName": "ip-10-100-1-114.ec2.internal",
"KeyName": "devshell",
"SecurityGroups": [
{
"GroupName": "corpweb-092614-EC2SecurityGroup-D2T0WUN7S5TL",
"GroupId": "sg-d82a1fbd"
}
],
"ClientToken": "211c70e0-2602-4266-9702-4f0a191902d5_us-east-1b_1",
"SubnetId": "subnet-9f6269d9",
"InstanceType": "m3.medium",
"NetworkInterfaces": [
{
"Status": "in-use",
"SourceDestCheck": true,
"VpcId": "vpc-181ad07d",
"Description": null,
"Association": {
"PublicIp": "54.208.198.221",
"PublicDnsName": "ec2-54-208-198-221.compute-1.cloud.example.com",
"IpOwnerId": "cloudprovider"
},
"NetworkInterfaceId": "eni-64ac573c",
"PrivateIpAddresses": [
{
"PrivateDnsName": "ip-10-100-1-114.ec2.internal",
"Association": {
"PublicIp": "54.208.198.221",
"PublicDnsName": "ec2-54-208-198-221.compute-1. cloud.example.com",
"IpOwnerId": "cloudprovider"
},
"Primary": true,
"PrivateIpAddress": "10.100.1.114"
}
],
"PrivateDnsName": "ip-10-100-1-114.ec2.internal",
"Attachment": {
"Status": "attached",
"DeviceIndex": 0,
"DeleteOnTermination": true,
"AttachmentId": "eni-attach-5531e733",
"AttachTime": "2014-09-28T09:45:54.000Z"
},
"Groups": [
{
"GroupName": "corpweb-092614-EC2SecurityGroup-D2T0WUN7S5TL",
"GroupId": "sg-d82a1fbd"
}
],
"SubnetId": "subnet-9f6269d9",
"OwnerId": "613698206329",
"PrivateIpAddress": "10.100.1.114"
}
],
"SourceDestCheck": true,
"Placement": {
"Tenancy": "default",
"GroupName": null,
"AvailabilityZone": "us-east-1b"
},
"Hypervisor": "xen",
"BlockDeviceMappings": [
{
"DeviceName": "/dev/sda1",
"Ebs": {
"Status": "attached",
"DeleteOnTermination": true,
"VolumeId": "vol-46dedf03",
"AttachTime": "2014-09-28T09:45:58.000Z"
}
}
],
"Architecture": "x86_64",
"KernelId": "aki-919dcaf8",
"IamInstanceProfile": {
"Id": "AIPAJEKMMO3DADC7XWORA",
"Arn": "arn:aws:iam::613698206329:instance-profile/InstanceCorpWebRole"
},
"RootDeviceName": "/dev/sda1",
"VirtualizationType": "paravirtual",
"Tags": [
{
"Value": "CorpWebAutoScalingGroup",
"Key": "aws:cloudformation:logical-id"
},
{
"Value": "corpweb-092614",
"Key": "Name"
},
{
"Value": "corpweb-092614",
"Key": "aws:cloudformation:stack-name"
},
{
"Value": "arn:aws:cloudformation:us-east-1:613698206329:stack/corpweb-092614/13253180-45d6-11e4-b2d0-50e2416294a8",
"Key": "aws:cloudformation:stack-id"
},
{
"Value": "corpweb-092614-CorpWebAutoScalingGroup-14SI2S6VXFUDE",
"Key": "aws:autoscaling:groupName"
}
],
"AmiLaunchIndex": 0
}
]
},
付属書類B
スクレイプ結果を後処理し、強さと正当性のためにセキュリティ対策を列挙するための署名。
#エンコーディング:utf−8
module DSL
class Signatures
class SecurityGroupInstanceMap < DSL::InternalDSL
def initialize
configure do |c|
c.module = 'security_group_instance_map'
c.description = 'Check for flaws in security groups as mapped to EC2 instances'
c.identifier = 'AWS:EC2-033'
c.usage = 'metascrape.signatures.security_group_instance_map.perform metascrape.customers.evident.aws.us_east_1'
c.tags = [:ec2, :signature]
c.deep_inspection = [:security_group_name, :protocol, :port, :instance_id]
c.unique_identifier = [:security_group_name, :protocol, :port, :instance_id]
end
@ports = [[22, :tcp], [23, :tcp], [3389, :tcp], [135, :tcp], [445, :tcp], [3306, :tcp], [5432, :tcp], [1433, :tcp], [1434, :udp], [4333, :tcp], [5500, :tcp], [5900, :tcp], [137, :udp], [138, :udp], [445, :udp], [21, :tcp], [20, :tcp], [25, :tcp], [53, :udp], [53, :tcp]]
@ranges = ['0.0.0.0/0']
end

def perform(aws)
alerts = []
used_by = {}

###すべてのアクティブなセキュリティグループのハッシュを記憶する
security_groups = aws.ec2.describe_security_groups
if security_groups.respond_to?('security_groups') && security_groups.security_groups.is_a?(Array)
security_groups.security_groups.each do |security_group|
used_by[security_group.group_name] = Array.new
end
end

###各EC2実例を通して反復し、どのsecurity_groupsを各々が用いるのかを記憶する
ec2_instances = aws.ec2.describe_instances
if ec2_instances.respond_to?('reservations') && ec2_instances.reservations.is_a?(Array)
ec2_instances.reservations.each do |reservation|
if reservation.respond_to?('instances') && reservation.instances.is_a?(Array)
reservation.instances.each do |instance|
if instance.respond_to?('security_groups') && instance.security_groups.is_a?(Array)
instance.security_groups.each do |security_group|
used_by[security_group.group_name] ||= []
used_by[security_group.group_name].push(instance.instance_id)
end
end
end
end
end
end

###問題のあるオープンポートに対してセキュリティグループを調査する
if security_groups.respond_to?('security_groups') && security_groups.security_groups.is_a?(Array)
security_groups.security_groups.each do |security_group|

if security_group.respond_to?('ip_permissions') && security_group.ip_permissions.is_a?(Array)
security_group.ip_permissions.each do |ip_permission|

@ports.each do |port|

if port[0] == ip_permission.to_port && port[1].to_s == ip_permission.ip_protocol
ip_permission.ip_ranges.each do |ip_range|
@ranges.each do |r|
if ip_range.cidr_ip == r
result = {
ip_permission: ip_permission,
port: port,
ip_range: ip_range.cidr_ip,
range: r,
security_group: security_group.group_name
}
if used_by[security_group.group_name].length == 0
result[:message] = "Security Group #{security_group.group_name} has #{ip_permission.ip_protocol} port #{ip_permission.to_port} exposed globally. No instances impacted."
report = {
security_group_name: security_group.group_name,
protocol: ip_permission.ip_protocol,
port: ip_permission.to_port
}
set_data(report)
alerts.push fail(result)
else
used_by[security_group.group_name].each do |instance_id|
result[:instance_id] = instance_id
result[:message] = "Instance #{instance_id} has #{ip_permission.ip_protocol} port #{ip_permission.to_port} exposed globally by Security Group #{security_group.group_name}."
report = {
security_group_name: security_group.group_name,
protocol: ip_permission.ip_protocol,
port: ip_permission.to_port,
instance_id: instance_id
}
set_data(report)
alerts.push fail(result)
end
end
end
end
end
end
end
end
end
end
end
alerts
end
end
end
end

Claims (19)

  1. 顧客の利用法を取得するためにソフトウェア開発キットインターフェースを解析するためのコンピュータによって実行される方法であって、
    実行可能な命令で構成された1つ以上のコンピュータシステムの制御の下で、
    リモートアプリケーションプログラミングインターフェースへのインターフェースであるライブラリを、セキュリティプラットフォームにロードすることと、
    リモートエンドポイントと接続する際に用いられるように構成されたアクセス証明書を含む、前記リモートアプリケーションプログラミングインターフェースの最上位のオブジェクトを生成することと、
    前記リモートアプリケーションプログラミングインターフェースに対して最初の関数呼び出しを実行して、前記最上位のオブジェクトから前記最上位のオブジェクトのためのメソッドの参照名を読み出すことと、読み出されたメソッドの参照名は特定の関数の将来の呼び出しを特定するために有用な名称であり、
    前記リモートアプリケーションプログラミングインターフェースに対して続く関数呼び出しを再帰的に実行することと、
    先に読み出された参照名を用いて前記実行された関数呼び出しの各メソッドからデータを再帰的に読み出すことと、
    読み出されたデータをデータストア内に記憶することと、を含む、方法。
  2. 前記読み出すことが、所定のオブジェクトが読み出されるまで実行される、請求項1に記載の方法。
  3. 前記最上位のオブジェクトに基づいて最後のオブジェクトを検出することと、
    前記検出された最後のオブジェクトに少なくとも部分的に基づいて、前記再帰的読み出しを完了することと、をさらに含む、請求項1に記載の方法。
  4. 前記リモートアプリケーションプログラミングインターフェースがクラウドインフラストラクチャサービスのためのアプリケーションプログラミングインターフェースである、請求項1に記載の方法。
  5. 1つ以上のサービスを実装するように構成された少なくとも1つのコンピューティングデバイスを含むシステムであって、前記1つ以上のサービスが、
    リモートアプリケーションプログラミングインターフェースへのインターフェースであるライブラリをロードすることと、
    最上位のオブジェクトを生成することであって、前記最上位のオブジェクトが、前記リモートアプリケーションプログラミングインターフェースの顧客と関連付けられたアクセスキーを含み、前記アクセスキーが、リモートエンドポイントとの通信チャネルを認証する際に用いられるように構成される、生成することと、
    少なくとも1つの呼び出しを実行して、前記最上位のオブジェクトから前記最上位のオブジェクトのためのメソッドの名前を読み出すことと、読み出されたメソッドの参照名は特定の関数の将来の呼び出しを特定するために有用な名称であり、
    前記メソッドの前記読み出された名前をフィルタ処理することであって、前記呼び出しが安全でない可能性があるとき、前記メソッドの前記読み出された名前を取り除くことを含む、フィルタ処理することと、
    先に読み出された参照名を用いて前記読み出されたメソッドの各メソッドを実行することであって、各メソッドに関するデータの集合を戻す、各々のメソッドを実行することと、
    前記データの集合をデータストア内に記憶することと、を行うように構成される、前記システム。
  6. 安全でない呼び出しが、実行された場合、前記呼び出しに関連付けられたオブジェクトに関するデータを変更するか、改変するか、修正するか、または削除するであろう呼び出しを含み得る、請求項5に記載の前記システム。
  7. メソッドが順番に実行され、前記順番が、第1のメソッドを実行することと、前記実行された第1のメソッドに関連付けられたデータを読み出すことと、第2のメソッドを実行することと、を含む、請求項5に記載の前記システム。
  8. 前記データの集合が、前記アプリケーションプログラミングインターフェースのリモートエンドポイント上に記憶されたデータのツリー表現を含む、請求項5に記載の前記システム。
  9. 前記1つ以上のサービスが、前記最上位のオブジェクト及び少なくとも1つの追加のオブジェクトに関するメタデータを読み出すようにさらに構成される、請求項5に記載の前記システム。
  10. 前記リモートアプリケーションプログラミングインターフェースの前記顧客に関連付けられた前記アクセスキーが、一時的なセキュリティ証明書を含み、前記一時的なセキュリティ証明書が、アクセスキー識別子、秘密アクセスキー、及びセッショントークンを含む、請求項5に記載の前記システム。
  11. 前記リモートアプリケーションプログラミングインターフェースが、クラウドインフラストラクチャサービスのためのアプリケーションプログラミングインターフェースである、請求項5に記載の前記システム。
  12. 前記1つ以上のサービスが、前記データの集合に少なくとも部分的に基づいてセキュリティリスク評価を実施するようにさらに構成される、請求項5に記載の前記システム。
  13. 実行可能な命令が上に記憶される非一過性コンピュータ可読記憶媒体であって、コンピュータシステムの1つ以上のプロセッサによって実行されたとき、
    リモートアプリケーションプログラミングインターフェースへのインターフェースであるライブラリをロードすることと、
    第1のオブジェクトを作成することであって、前記第1のオブジェクトが、前記リモートアプリケーションプログラミングインターフェースの顧客と関連付けられた認証証明書を含み、前記認証証明書が、前記リモートアプリケーションプログラミングインターフェースとの通信チャネルを認証する際に用いられるように構成される、作成することと、
    呼び出しを実行して、前記第1のオブジェクトから前記第1のオブジェクトのためのメソッドの名前を読み出すことと、
    前記読み出されたメソッドの各メソッドを実行することであって、各メソッドに関するデータの集合を戻す、各メソッドを実行することと、読み出されたメソッドの参照名は特定の関数の将来の呼び出しを特定するために有用な名称であり、
    メソッドを実行することに応答して、複数のオブジェクトを受信することと、
    前記複数のオブジェクトの各々に関連付けられたデータを読み出すことであって、先に読み出された参照名を用いて前記複数のオブジェクトにおける各メソッドのために続く呼び出しを再帰的に実行することを含む、前記複数のオブジェクトの各々に関連付けられた前記データを読み出すことと、
    前記読み出されたデータを記憶することと、を前記コンピュータシステムに少なくとも行わせる、前記非一過性コンピュータ可読記憶媒体。
  14. 前記命令が、前記1つ以上のプロセッサによって実行されたとき、前記コンピュータシステムに、リアルタイムまたは準リアルタイムで前記リモートアプリケーションプログラミングインターフェースを連続的に監視させる命令をさらに含む、請求項13に記載の前記非一過性コンピュータ可読記憶媒体。
  15. 前記命令が、前記1つ以上のプロセッサによって実行されたとき、前記コンピュータシステムに、各オブジェクトに対するセキュリティ及び/または構成の設定置換をスキャンさせる命令をさらに含む、請求項13に記載の前記非一過性コンピュータ可読記憶媒体。
  16. 前記命令が、前記1つ以上のプロセッサによって実行されたとき、前記コンピュータシステムに、前記第1のオブジェクト及び前記複数のオブジェクトに関連付けられた前記読み出されたデータを表示するためのグラフィカルユーザインタフェース出力を提供させる命令をさらに含む、請求項13に記載の前記非一過性コンピュータ可読記憶媒体。
  17. 前記命令が、前記1つ以上のプロセッサによって実行されたとき、前記コンピュータシステムに、前記読み出されたデータに署名を適用させる命令をさらに含む、請求項13に記載の前記非一過性コンピュータ可読記憶媒体。
  18. 前記コンピュータシステムに、前記読み出されたデータに前記署名を適用させる前記命令が、前記コンピュータシステムに、前記署名の結果に少なくとも部分的に基づいて警報を提供させる命令をさらに含む、請求項17に記載の前記非一過性コンピュータ可読記憶媒体。
  19. 前記命令が、前記1つ以上のプロセッサによって実行されたとき、前記コンピュータシステムに、セキュリティ規則分析に従って前記読み出されたデータを解釈させる命令をさらに含む、請求項13に記載の前記非一過性コンピュータ可読記憶媒体。
JP2016554318A 2013-11-13 2014-11-13 自動sdk受容 Active JP6559694B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361903864P 2013-11-13 2013-11-13
US61/903,864 2013-11-13
PCT/US2014/065544 WO2015073719A1 (en) 2013-11-13 2014-11-13 Automated sdk ingestion

Publications (2)

Publication Number Publication Date
JP2017503288A JP2017503288A (ja) 2017-01-26
JP6559694B2 true JP6559694B2 (ja) 2019-08-14

Family

ID=53045024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016554318A Active JP6559694B2 (ja) 2013-11-13 2014-11-13 自動sdk受容

Country Status (5)

Country Link
US (1) US9805202B2 (ja)
EP (1) EP3069231B1 (ja)
JP (1) JP6559694B2 (ja)
CA (1) CA2928729C (ja)
WO (1) WO2015073719A1 (ja)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10097565B1 (en) * 2014-06-24 2018-10-09 Amazon Technologies, Inc. Managing browser security in a testing context
US9336126B1 (en) 2014-06-24 2016-05-10 Amazon Technologies, Inc. Client-side event logging for heterogeneous client environments
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US10042660B2 (en) 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
WO2017075594A1 (en) * 2015-10-29 2017-05-04 Datto, Inc. Apparatuses, methods, and systems for storage and analysis of saas data and non-saas data for businesses and other organizations
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US20170201879A1 (en) * 2016-01-13 2017-07-13 Dell Software, Inc. Temporary Disposable Portable Identifier
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10277708B2 (en) * 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US10841337B2 (en) 2016-11-28 2020-11-17 Secureworks Corp. Computer implemented system and method, and computer program product for reversibly remediating a security risk
CN107086967A (zh) * 2017-04-19 2017-08-22 济南浪潮高新科技投资发展有限公司 一种报文数据审计电路及方法
US10735470B2 (en) 2017-11-06 2020-08-04 Secureworks Corp. Systems and methods for sharing, distributing, or accessing security data and/or security applications, models, or analytics
US10594713B2 (en) 2017-11-10 2020-03-17 Secureworks Corp. Systems and methods for secure propagation of statistical models within threat intelligence communities
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10992657B1 (en) * 2018-04-30 2021-04-27 Amazon Technologies, Inc. Multi-account entity based access control
US11003718B2 (en) 2018-06-12 2021-05-11 Secureworks Corp. Systems and methods for enabling a global aggregated search, while allowing configurable client anonymity
US10785238B2 (en) 2018-06-12 2020-09-22 Secureworks Corp. Systems and methods for threat discovery across distinct organizations
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11206139B2 (en) 2019-03-06 2021-12-21 Servicenow, Inc. System and method for electronic signatures as a service
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11310268B2 (en) 2019-05-06 2022-04-19 Secureworks Corp. Systems and methods using computer vision and machine learning for detection of malicious actions
US11418524B2 (en) 2019-05-07 2022-08-16 SecureworksCorp. Systems and methods of hierarchical behavior activity modeling and detection for systems-level security
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11381589B2 (en) 2019-10-11 2022-07-05 Secureworks Corp. Systems and methods for distributed extended common vulnerabilities and exposures data management
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11522877B2 (en) 2019-12-16 2022-12-06 Secureworks Corp. Systems and methods for identifying malicious actors or activities
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11455237B2 (en) 2020-06-01 2022-09-27 Agora Lab, Inc. Highly scalable system and method for automated SDK testing
US11621980B2 (en) 2020-07-07 2023-04-04 Agora Lab, Inc. System and method for providing upstream directives based on upstream signal quality of wireless network in real-time communication
US11470531B2 (en) 2020-07-13 2022-10-11 Agora Lab, Inc. System and method for automatically switching real-time communication device to new basic service set
US11350314B2 (en) 2020-07-13 2022-05-31 Agora Lab, Inc. System and method for classifying network data packets with provided classifier identifiers
US11588834B2 (en) 2020-09-03 2023-02-21 Secureworks Corp. Systems and methods for identifying attack patterns or suspicious activity in client networks
US11363055B2 (en) 2020-11-02 2022-06-14 Bank Of America Corporation System and methods for dynamic controlled evaluation of cloud service vulnerabilities
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11354582B1 (en) * 2020-12-16 2022-06-07 Ro5 Inc. System and method for automated retrosynthesis
US11528294B2 (en) 2021-02-18 2022-12-13 SecureworksCorp. Systems and methods for automated threat detection
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055637A (en) 1996-09-27 2000-04-25 Electronic Data Systems Corporation System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential
US7406603B1 (en) * 1999-08-31 2008-07-29 Intertrust Technologies Corp. Data protection systems and methods
WO2005077118A2 (en) * 2004-02-11 2005-08-25 Spi Dynamics, Inc. System and method for testing web applications with recursive discovery and analysis
US7549144B2 (en) * 2005-02-22 2009-06-16 Microsoft Corporation Custom API modeling for source code static analysis simulator
JP4727278B2 (ja) * 2005-04-05 2011-07-20 株式会社エヌ・ティ・ティ・ドコモ アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム
CA2725992C (en) * 2008-05-30 2018-01-16 Irdeto Canada Corporation Authenticated database connectivity for unattended applications
US9069599B2 (en) * 2008-06-19 2015-06-30 Servicemesh, Inc. System and method for a cloud computing abstraction layer with security zone facilities
JP2012234273A (ja) * 2011-04-28 2012-11-29 Kyocera Document Solutions Inc 情報処理装置、ログ解析システム、ログ解析方法、及び、ログ解析プログラム
JP5695971B2 (ja) * 2011-05-19 2015-04-08 日本放送協会 端末連携システム及び受信機
US9430534B2 (en) * 2013-05-09 2016-08-30 Wipro Limited Systems and methods for improved security and precision in executing analytics using SDKS
US9805188B2 (en) * 2013-11-12 2017-10-31 RunSafe Security, Inc. Control flow integrity system and method

Also Published As

Publication number Publication date
US20150135287A1 (en) 2015-05-14
CA2928729C (en) 2023-08-08
EP3069231A1 (en) 2016-09-21
US9805202B2 (en) 2017-10-31
EP3069231B1 (en) 2020-11-04
CA2928729A1 (en) 2015-05-21
JP2017503288A (ja) 2017-01-26
WO2015073719A1 (en) 2015-05-21
EP3069231A4 (en) 2017-05-17

Similar Documents

Publication Publication Date Title
JP6559694B2 (ja) 自動sdk受容
US11658971B1 (en) Virtual firewalls for multi-tenant distributed services
CN111819544B (zh) 用于虚拟计算资源的部署前安全分析器服务
JP5961638B2 (ja) アプリケーション証明のためのシステムおよび方法
US9667657B2 (en) System and method of utilizing a dedicated computer security service
US10491621B2 (en) Website security tracking across a network
US10762193B2 (en) Dynamically generating and injecting trusted root certificates
US9590854B1 (en) Automated network security
WO2016048418A1 (en) Proxy servers within computer subnetworks
US11770385B2 (en) Systems and methods for malicious client detection through property analysis
EP2909777A1 (en) Data loss prevention for mobile computing devices
Ahmed et al. A review of challenges and security risks of cloud computing
US10965521B2 (en) Honeypot asset cloning
US11962601B1 (en) Automatically prioritizing computing resource configurations for remediation
CN112703496B (zh) 关于恶意浏览器插件对应用用户的基于内容策略的通知
US20190199751A1 (en) Shadow IT Discovery Using Traffic Signatures
US20210200595A1 (en) Autonomous Determination of Characteristic(s) and/or Configuration(s) of a Remote Computing Resource to Inform Operation of an Autonomous System Used to Evaluate Preparedness of an Organization to Attacks or Reconnaissance Effort by Antagonistic Third Parties
US10223535B2 (en) Ranking security scans based on vulnerability information from third party resources
US10367788B2 (en) Passport-controlled firewall
US11444968B1 (en) Distributed system for autonomous discovery and exploitation of an organization&#39;s computing and/or human resources to evaluate capacity and/or ability to detect, respond to, and mitigate effectiveness of intrusion attempts by, and reconnaissance efforts of, motivated, antagonistic, third parties
US9300625B1 (en) Network address verification
JP2023510528A (ja) マルチテナント・コンテナにおける統合されたメッセージのフローの安全な処理
CN114036505A (zh) 安全运维分析服务器、安全运维分析方法、计算机设备
US11374959B2 (en) Identifying and circumventing security scanners
de Oliveira Pinho OrchRecon A Distributed System for Reconnaissance and Vulnerability Scanning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180828

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20180830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181002

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190130

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: 20190625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190717

R150 Certificate of patent or registration of utility model

Ref document number: 6559694

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250