(57)【要約】  複雑な計算環境にデプロイされたアプリケーションによって引き起こされるセキュリティとリスクを監視し、評価するシステム及び方法が開示される。例示的なアプリケーションセキュリティシステムには、ストレージシステムと通信可能な処理装置を備えるサーバ、ネットワークを介して情報を送受信するように構成されたアプリケーションのインスタンスを実行する計算装置、及び一つ以上のアプリケーションのインスタンスに関連付けられた第一のアプリケーションに関連付けられた第一の試験モジュールを含む試験システムが含まれる。サーバの処理装置は、第一のアプリケーションの依存関係情報を含む第一のアプリケーションに関する情報を読み込み、情報に基づき第一のアプリケーションについてのセキュリティリスクスコアを計算し、第一のアプリケーションに関連付けられるセキュリティ優先レベルを決定し、第一のアプリケーションのセキュリティ優先レベルをアプリケーションセキュリティ情報のデータベースの第一のアプリケーションに関連付ける。【選択図】図１
2019501436.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションセキュリティシステムであって、
一つ以上のストレージシステムと通信する処理装置を備えるアプリケーションセキュリティサーバと、
ネットワークを介して情報を送信又は受信するよう構成された複数のアプリケーションのインスタンスを実行する複数の計算装置と、
複数のセキュリティ試験モジュールを含むセキュリティ試験システムであって、前記セキュリティ試験モジュールは一つ以上の第一のアプリケーションのインスタンスに関連付けられた前記第一のアプリケーションに関連付けられた第一の試験モジュールを含む、セキュリティ試験システムと、を含み、
前記アプリケーションセキュリティサーバの処理装置は、
前記第一のアプリケーションの現在の依存関係情報を含む、前記第一のアプリケーションに関する情報を読み出し、
前記第一のアプリケーションに関する情報に基づいて計算される、前記第一のアプリケーションについてのセキュリティリスクスコアを計算し、
前記第一のアプリケーションについての前記セキュリティリスクスコアに基づく、前記第一のアプリケーションに関連付けられるセキュリティ優先レベルを決定し、及び、
前記第一のアプリケーションの前記セキュリティ優先レベルをアプリケーションセキュリティ情報のデータベースにおいて前記第一のアプリケーションに関連付ける、
ことを特徴とするアプリケーションセキュリティシステム。
【請求項２】
前記アプリケーションセキュリティサーバは、前記第一のアプリケーションに関連付けられた試験情報にアクセスするために前記セキュリティ試験システムと通信し、
前記試験情報は、前記第一のアプリケーションを試験するために前記第一の試験モジュールが用いられた最も近い試験時点を表示する、
請求項１に記載のアプリケーションセキュリティシステム。
【請求項３】
前記第一のアプリケーションについての前記セキュリティリスクスコアは、前記第一の試験モジュールが前記第一のアプリケーションを試験するために用いられた最も近い試験時点と、前記第一のアプリケーションに関連付けられる試験の予定とに基づいて計算される、
請求項２に記載のアプリケーションセキュリティシステム。
【請求項４】
前記第一のアプリケーションに関する情報は、
デプロイされた前記第一のアプリケーションのインスタンスの数と、
前記第一のアプリケーションに関連付けられた、前記第一のアプリケーションが機密情報を含み、または機密情報へのアクセスを備えているかを表示するタグと、
前記第一のアプリケーションが通信するアプリケーションの数と、
前記第一のアプリケーションのインターネットからのアクセス可能性と、
前記第一のアプリケーションの現在の依存関係情報と、
のうち少なくとも一つを含む、
請求項１に記載のアプリケーションセキュリティシステム。
【請求項５】
前記デプロイされた前記第一のアプリケーションのインスタンスの数は、第一の実時間における数であり、
前記第一のアプリケーションが通信するアプリケーションの数は、第二の実時間における数である、
請求項４に記載のアプリケーションセキュリティシステム。
【請求項６】
前記アプリケーションセキュリティサーバと前記ネットワークを介して通信する、複数のデプロイされたアプリケーションのインスタンスを含む、クラウド基盤をさらに含み、
前記第一のアプリケーションは前記デプロイされたアプリケーションのインスタンスの少なくとも一つと通信する、
請求項１に記載のアプリケーションセキュリティシステム。
【請求項７】
前記クラウド基盤は、前記クラウド基盤にデプロイされたアプリケーションに関する情報を報告するように構成された監視サービスを含み、
前記デプロイされたアプリケーションに関する情報は、前記デプロイされたアプリケーションに関連付けられる、デプロイされたアプリケーションのインスタンスの数とセキュリティ情報とを含む、
請求項６に記載のアプリケーションセキュリティシステム。
【請求項８】
前記アプリケーションセキュリティサーバは、各アプリケーションの初期化に際して各アプリケーションから受信された情報に基づくアプリケーションの間の依存関係のマップを含む、
請求項１に記載のアプリケーションセキュリティシステム。
【請求項９】
前記アプリケーションセキュリティサーバの前記処理装置は、前記第一のアプリケーションに関連付けられた試験レジームを変更するために、前記セキュリティ試験システムと通信する、
請求項１に記載のアプリケーションセキュリティシステム。
【請求項１０】
前記試験レジームは、前記第一のアプリケーションの試験に適用される一つ以上の試験モジュールと、前記試験モジュールが前記第一のアプリケーションを試験するためにいつ適用されるかを指示する予定とを含む、
請求項９に記載のアプリケーションセキュリティシステム。
【請求項１１】
アプリケーションセキュリティシステムであって、
保存された命令を含む、一つ以上のストレージ装置と通信する処理装置と、
前記処理装置がネットワークを介して一つ以上の他の装置と通信することを可能とするネットワークインタフェースと、を含み、
前記処理装置は、
ネットワークを介して、計算環境にデプロイされたアプリケーションのリストを受信し、
前記アプリケーションのリストに含まれる第一のアプリケーションについてのセキュリティリスクスコアを計算し、
前記第一のアプリケーションについてのセキュリティリスクスコアに基づく、前記第一のアプリケーションに関連付けられるセキュリティ優先レベルを決定し、及び、
ユーザインタフェースにおけるクライアント装置の利用者に対する提示のために、前記ネットワークを介して前記クライアント装置に対して前記計算環境にデプロイされたアプリケーションの優先度付けされたリストを送信する、
命令を実行する、
ことを特徴とするアプリケーションセキュリティシステム。
【請求項１２】
前記処理装置は、前記一つ以上の他の装置に対してアプリケーションセキュリティ情報を要求するために前記命令をさらに実行し、
前記アプリケーションセキュリティ情報は、
前記第一のアプリケーションのインスタンスの数と、
前記第一のアプリケーションがデプロイされた地域と、
前記第一のアプリケーションに関連付けられるビルド情報と、
前記第一のアプリケーションが通信するように構成されたアプリケーションのリストと、
前記第一のアプリケーションに関連付けられるセキュリティタグと、
の少なくとも一つを含む、請求項１１に記載のアプリケーションセキュリティシステム。
【請求項１３】
前記第一のアプリケーションに関連付けられた前記アプリケーションセキュリティ情報は、前記第一のアプリケーションによって利用されるポート、プロトコル、又はドメインネームシステム（ＤＳＮ）ネームを特定する、請求項１２に記載のアプリケーションセキュリティシステム。
【請求項１４】
前記第一のアプリケーションに関連付けられる前記セキュリティ優先レベルは、前記第一のアプリケーションが管理セキュリティ担当者による手動試験過程を受ける予定であることを示し、
前記処理装置は、前記第一のアプリケーションに関連付けられる前記セキュリティ優先レベルを前記管理セキュリティ担当者に伝える電子的通知を送信するために前記命令を実行する、請求項１１に記載のアプリケーションセキュリティシステム。
【請求項１５】
第一の計算装置の処理装置が、ネットワークを介して第一のアプリケーションに関連付けられるアプリケーションセキュリティ情報を受信することと、
前記ネットワークを介して受信される前記アプリケーションセキュリティ情報に基づいて第一のアプリケーションについてのセキュリティリスクスコアを計算することと、
前記計算されたセキュリティリスクスコアに基づいて前記第一のアプリケーションのためのセキュリティ試験レジーム提案を生成することと、
第二の計算装置に対して前記ネットワークを介して前記セキュリティ試験レジーム提案を送信することと、
を含む方法。
【請求項１６】
前記第一のアプリケーションはクラウド基盤にデプロイされ、
前記第一のアプリケーションに関連付けられる前記アプリケーションセキュリティ情報を受信することは、前記クラウド基盤の中で動作する監視サービスから前記アプリケーションセキュリティ情報を受信することを含む、請求項１５に記載の方法。
【請求項１７】
前記アプリケーションセキュリティ情報は、前記クラウド基盤にデプロイされた前記第一のアプリケーションのインスタンスの実時間における数と、前記クラウド基盤にデプロイされた前記第一のアプリケーションのインスタンスの数の増加の割合と、を含む、請求項１６に記載の方法。
【請求項１８】
前記クラウド基盤のアカウントを含む、計算環境の中で動作している複数のアプリケーションを特定することをさらに含む、請求項１６に記載の方法。
【請求項１９】
前記第二の計算装置に対して前記ネットワークを介して前記セキュリティ試験レジーム提案を送信することは、セキュリティ試験システムが前記第一のアプリケーションにセキュリティ試験を実行するときに第一の試験モジュールを適用するために前記セキュリティ試験システムに対して命令を送信することを含む、請求項１５に記載の方法。
【請求項２０】
前記アプリケーションセキュリティ情報は、ソースコードリポジトリの前記第一のアプリケーションのソースコードへのポインタを含み、
前記ポインタは、前記セキュリティ試験レジーム提案に含まれる、請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、計算環境にデプロイされたアプリケーションのセキュリティ評価及び試験一般に関する。
【背景技術】
【０００２】
様々なサービスを提供するために連動して動作する多くの計算装置に、ますます多くの情報が保存され、アクセスされるようになっている。例えば、電子メールの利用者は、電子メールサービスプロバイダネットワークの境界に構成された認証サーバと通信するためにクライアント計算装置を用いることができる。電子メールの利用者が電子メールストレージサーバの電子メールにアクセスできるのは、これらの３つの装置が相互に通信して外見的には単一のインターネットサービスを提供していることによる。
【０００３】
サービスプロバイダネットワークは、メディアへのアクセス、通信プラットフォーム、銀行取引や商取引その他のため、そのようなネットワークへの依存と利用の増加に伴い拡大してきた。サービスプロバイダネットワークの複雑さには、ネットワークの内部及びネットワークの境界に位置する多くの様々な装置で実行される多くの様々なアプリケーションが含まれ、サービスプロバイダが物理的に制御するネットワークの外部で動作する装置も含まれ得る。
【０００４】
これらのネットワークの規模と複雑さの拡大、及びそこで動作するアプリケーションの数の増加は、これらの環境のセキュリティを維持するための取り組みを複雑化させてきた。そして、消費者や企業がそのようなネットワークにますます依存し始めたこと、即ちそれらがインターネットを介してそのようなネットワークにどこからでもアクセスし得るようになったことに伴い、それらの消費者や企業はますます多くの機密情報を交換している。サービスプロバイダネットワークのセキュリティを改良するために多くの様々な技術が開発されてきたが、これらの技術は完全に要求を満たすものとは示されていない。
【図面の簡単な説明】
【０００５】
【図１】本開示のいくつかの実施例による、アプリケーションセキュリティサーバを含むアプリケーションセキュリティシステムのブロック図である。
【図２】本開示のいくつかの実施例による、図１のアプリケーションセキュリティサーバとして採用されうる計算装置のブロック図である。
【図３】本開示のいくつかの実施例による、図１のアプリケーションセキュリティサーバと関連して提供されうる例示的なユーザインタフェースである。
【図４】本開示のいくつかの実施例による、図１のアプリケーションセキュリティサーバと関連して提供されうる例示的なユーザインタフェースである。
【図５】本開示のいくつかの実施例による、図１のアプリケーションセキュリティサーバと関連して提供されうる例示的なユーザインタフェースである。
【図６】本開示のいくつかの実施例による、サービスプロバイダネットワークにデプロイされたアプリケーションを評価し、分類し、試験する方法を説明するフロー図である。
【図７】本開示のいくつかの実施例による、サービスプロバイダネットワークにデプロイされたアプリケーションを評価し、分類し、試験する他の方法を説明するフロー図である。
【０００６】
当業者は、以下の詳細な説明を参照することにより、これらの図をよりよく理解するであろう。
【発明を実施するための形態】
【０００７】
上記で簡単に説明した図面を参照し、本開示によるシステムおよび方法の適用の一例を本節において説明する。これらの例は背景を補足し、発明の理解を助けるために提供されるものである。したがって、本発明がこれらの具体的詳細のいくつかまたは全てを伴わずに実施され得ることは当業者にとって明らかである。他の例において、本開示が不必要に分かりづらくなることを避けるため、いくつかの周知の処理手順は具体的詳細にわたっては説明されていない。さらに、本明細書で説明される概念や原理の他の応用は可能な応用であり、下記の例は限定的に解釈されるべきではない。例えば、本明細書で開示される例の多くはストリーミングビデオサービスに関連するアプリケーションの評価、分類、および試験に向けられたものであるが、説明されるその原理および概念は多くのアプリケーション及びサービスプロバイダネットワークの安全な管理及び保守により一般的に適用され得る。
【０００８】
下記の詳細な説明において、説明の一部を形成する、本開示のいくつかの具体的な実施例を図示した添付図面が参照される。これらの実施例は当業者が発明を実施することが可能となるように十分に詳細に説明されているが、これらの実施例は限定的ではなく、他の実施例を用い、発明の趣旨および範囲を逸脱することなく変更を加えることができるものと理解される。例えば、この開示の範囲内の変更には、異なるシステムや装置上での動作や、異なる順番での動作、等が含まれ得る。
【０００９】
装置、システム、及び方法が、計算環境内で動作する多数のアプリケーションに関連付けられたセキュリティリスクを評価し、分類するために提供される。計算環境はサービスプロバイダネットワークであってよく、その実施例には内部ネットワーク環境と、サービスプロバイダに代わって第三者によって運用されるクラウド計算基盤のアカウントのような外部ネットワーク環境とが含まれてよい。顧客にサービスを提供するために、サービスプロバイダネットワークにはサービスプロバイダによって提供される一つ以上の様々なサービスの多くの様々な部分を提供するために協働する多くの様々なアプリケーションが含まれ得る。例えば、サービスプロバイダは顧客にストリーミングメディアサービスを提供するためにサービスプロバイダネットワークを運用してよい。サービスプロバイダは、サービスプロバイダの顧客に対してそれらのストリーミングメディアサービスを提供する場合、サービスプロバイダネットワークに含まれる一元化された計算環境として顧客に提供されるストリーミングメディアサービスのようなサービス指向アーキテクチャの中で一括して提供される、レコメンドアプリケーション、インタフェースアプリケーション、ストリーミングメディアアプリケーション、課金及び支払アプリケーションその他のアプリケーションを備えてよい。サービス指向アーキテクチャを伴う大規模なサービスプロバイダネットワークにおいて、このようなアプリケーションは優に数千、又は数万を数えることがある。
【００１０】
各アプリケーションは潜在的なセキュリティリスクを引き起こす。しかしながら、いくつかのアプリケーションは他のアプリケーションよりも大きなセキュリティリスクを引き起こすことがある。例えば、あるアプリケーションがサービスプロバイダのサービスの利用者のクレジットカード番号と住所を入手できるような場合は、サービスプロバイダは、データ漏洩が生じた場合に顧客の信用低下のみならず法定刑罰をも科されることとなり得る。その一方、アプリケーションの欠陥が利用者の電子メールアドレスのみを漏洩した場合、利用者に対する潜在的な不利益は大幅に少ない。さらに、いくつかのアプリケーションは、他のアプリケーションに頻繁に依存されることがある。そのようなアプリケーションに関する不具合は、他の依存されているアプリケーションの多くに潜在的に悪影響をもたらし、アプリケーションの間の依存又は依存関係のために動作停止やアベイラビリティへの影響を引き起こすことがある。その結果、アプリケーションは、当該アプリケーションが通信し、又は依存するアプリケーションに基づくセキュリティリスクを引き起こすことがある。さらに、いくつかのアプリケーションは他のアプリケーションよりもサービスプロバイダネットワーク内で多くインスタンス化されることがある。所定のアプリケーションに係るより多くのインスタンスが存在するとき、そのアプリケーションに関連付けられる不具合はより大きなセキュリティの脅威を引き起こすことがある。
【００１１】
本開示の実施例では、アプリケーションセキュリティ情報、即ちアプリケーションにより引き起こされる潜在的なセキュリティリスクに関係し又は潜在的なセキュリティリスクを示す情報が収集され、そのアプリケーションに関連付けられたセキュリティリスクスコア及び／又はセキュリティレベルが決定され得る。サービスプロバイダの全システム内において、特定のアプリケーションに関連付けられたセキュリティリスクスコアは動的に変動してよい。例えば、ストリーミングメディアサービスにとっての夕方のような、サービスプロバイダのサービスの利用が増加している時間は、特定のアプリケーションのインスタンスの数は大幅に増加することがある。アプリケーションに関連付けられたセキュリティリスク、ひいてはセキュリティリスクスコアは、インスタンスの数が増加することに伴い増加してよい。他の例として、新たな機能がサービスプロバイダシステムの顧客に対して展開されたとき、新たな機能に関連付けられたアプリケーションは、新たな機能を採用し且つ利用する利用者の数が増加することに伴い、セキュリティリスクの増加を引き起こすことがある。
【００１２】
アプリケーションセキュリティ情報の更なる例において、アプリケーションの間の依存関係、アプリケーションの各インスタンスに適用可能なセキュリティグループ又は分類、並びに、特にプロダクションビルド及びテストビルドのような複数のビルドが同時にデプロイされている場合におけるアプリケーション又は個別のインスタンスに関連付けられたビルド情報が含まれてよい。例えば、より新しいビルド又はより古いビルドは、より大きい又はより小さいセキュリティリスクを引き起こすと管理セキュリティ担当者に判断され、それ故により新しいビルド又はより古いビルドについて計算されたセキュリティリスクスコアは、より高く又はより低くなることがある。アプリケーションセキュリティ情報の他の例には、アプリケーションの所有者又はその開発者、アプリケーションによって利用されるポート、プロトコル、及び／又はドメインネームシステム（ＤＮＳ）ネームが含まれてよい。さらに、アプリケーションがインターネットに面しているか否か、例えば、サービスプロバイダの内部ネットワーク環境の境界で動作しているか否か、はセキュリティリスクの有用な指標となり得る。いくつかの実施例において、アプリケーションは、潜在的なセキュリティリスクを示す属性を手動でタグ付けされ得る。例えば、アプリケーションは、それが処理するデータの種別に基づいて機密であるとタグ付けされ得る。支払情報を処理するアプリケーションは、そのようなアプリケーションセキュリティシステムによって読み取り可能なタグを含むようにプログラムされ得る。ソースコードの位置又はソースコード自体から得られる情報もまた、試験を実施されている所定のアプリケーションについてのセキュリティリスクスコアを計算する処理のためのアプリケーションセキュリティ情報となり得る。
【００１３】
適切なセキュリティ試験レジームを提供し、実行するため、セキュリティリスクスコアに基づき、サービスプロバイダシステム内に存在するアプリケーションは格付けされ、優先度付けされ、及び／又は分類されてよい。さらに、個別のアプリケーションのセキュリティリスクスコアに基づき、個別のアプリケーションのために記録要求、アクセス制御、並びに他の制御及び／又は監視技術が要求されてよい。例えば、所定の実施例において、アプリケーションのセキュリティリスクスコアは、１００を最大のセキュリティリスクを引き起こすアプリケーションに関連付けられた最高のスコアとし、０から１００までにわたってよい。いくつかの実施例において、アプリケーションセキュリティシステムは、本明細書で説明されるように、８０よりも大きいスコアを獲得した全てのアプリケーションは自動化されたセキュリティ試験又はセキュリティ試験モジュールの第一の試験レジームを課されるべきであり、８０以下だが６０より大きいスコアを獲得した全てのアプリケーションは自動化された試験の第二の試験レジームを課されるべきであると表明してよい。セキュリティ試験の第一のレジームは、自動化された試験の第二のレジームより多くの、またはより厳格な試験を含み得る。他の実施例において、６０よりも大きいスコアを獲得した全てのアプリケーションは、管理セキュリティ担当者による侵入試験のような手動セキュリティ試験のためにフラグを立てられ、又はリストに含められ、６０以下だが５０より大きいスコアを獲得した全てのアプリケーションは第一のセキュリティ試験を２週間ごとに課され、５０以下だが４０より大きいスコアを獲得した全てのアプリケーションは第一のセキュリティ試験を１月ごとに課されてよい。
【００１４】
本開示のいくつかの実施例において、セキュリティ試験レジームが、サービスプロバイダの全システムの一部であるセキュリティ試験システムと接続して自動的に実行されてよい。本開示の他の実施例において、特定のセキュリティ試験レジームの提案が、ユーザインタフェースを介してアクセスされる通知の中で管理セキュリティ担当者に対して提供されてよい。
【００１５】
さらに、セキュリティ試験レジームへの準拠性は、セキュリティ試験システムから試験情報を受信することによって判定されてよい。特定のアプリケーションに関して、試験情報には、実行された試験の種別と、それらの試験が実行された最も近い試験の時刻又は日付とを示すものでよい。いくつかの実施例において、試験情報は所定のアプリケーションに関連付けられたセキュリティリスクスコアを計算するために用いられてよい。例えば、第一のアプリケーションが１週ごとにセキュリティ試験を課されている場合、その事実はそのアプリケーションのセキュリティリスクスコアを低下させてよい。
【００１６】
今日のサービスプロバイダネットワークに存在する膨大な数のアプリケーションは、手動によるセキュリティ評価の手法を困難にしている。本明細書で説明されるように、セキュリティ評価には特定のアプリケーションのセキュリティの判定と、起こり得るセキュリティ上の欠陥や過失を想定したそのアプリケーションのリスクの判定が含まれ得る。さらに、アプリケーションに関連付けられたセキュリティのレベルとリスクのレベルは、そのアプリケーション自身に関連付けられる変化、他の関係するアプリケーションに関連付けられる変化、並びにサービスプロバイダネットワークの利用法及び機能の変化に基づいて素早く突然に変動してもよい。本開示の実施例はそのようなアプリケーションのセキュリティ及びリスクの評価、分類及び試験（手動及び／又は自動化された試験を含む）を大幅に促進するものである。
【００１７】
図１を参照すると、サービスプロバイダシステム１００にデプロイされたアプリケーションセキュリティシステムのブロック図が示される。サービスプロバイダシステム１００には、アプリケーションセキュリティサーバ１０２が含まれてよく、アプリケーションセキュリティサーバ１０２は、当該アプリケーションサーバ１０２で実行されるセキュリティアプリケーション１０４を備える。アプリケーションセキュリティサーバ１０２は、いくつかのデータベースシステム１０６内の情報にアクセスし、データベースシステム１０６に情報を保存し得る。いくつかの実施例において、データベースシステム１０６は、アプリケーションセキュリティサーバ１０２のメモリに存在する。サービスプロバイダシステム１００には、内部計算環境１０８Ａを構成し、又はこれに含まれる複数のコンポーネントと、外部計算環境１０８Ｂに含まれるコンポーネントとが含まれてよい。内部計算環境１０８Ａと外部計算環境１０８Ｂは図１に破線で分けられて図示されている。
【００１８】
本明細書で説明されるように、アプリケーションセキュリティサーバ１０２の実施例には、一つ以上のストレージシステム又は装置と通信する処理装置が含まれてよい。アプリケーションセキュリティサーバ１０２は、ネットワーク上に配置された複数の資源から情報を受信するように構成され、その情報に基づいて、複数のアプリケーションについてのセキュリティリスクスコアを計算し得る。例えば、アプリケーションセキュリティサーバ１０２はカリフォルニア州ロスガトスのネットフリックス，インコーポレイティドのようなサービスプロバイダによって運用されてよく、サービスプロバイダはユーザアカウントを作成し、映画、テレビ番組及び他の映像及び／又は音声をベースとしたプログラムのようなメディアコンテンツを受領及び開示し、並びにそのようなメディアコンテンツに関してユーザが交流することを許可するためのシステムをも運用してよい。
【００１９】
サービスプロバイダシステム１００には、クラウド基盤１１０のアカウントが含まれてよい。図示するように、クラウド基盤１１０には、複数の資源又は資源インスタンスが含まれる。これらの資源は物理的なサーバ、ストレージ装置、及びネットワーク装置であってよく、仮想的なサーバ、仮想的なストレージ装置、及び／又は仮想的なネットワーク装置と解釈されてもよい。アプリケーションインスタンス１１４Ａ及びアプリケーションインスタンス１１４Ｂは、それぞれ資源インスタンス１１２Ａ及び資源インスタンス１１２Ｂ上で実行され得る。
【００２０】
上記のとおり、図１は、アプリケーションセキュリティサーバ１０２がネットワーク１２０を介してクラウド基盤１１０と通信し得ることを図示する。クラウド基盤１１０には、複数の資源インスタンス１１２Ａ及び資源インスタンス１１２Ｂ並びに他の資源インスタンスを提供するように構成された複数のサーバ及びストレージ装置が含まれてよい。例えば、適切なクラウド基盤１１０の多くの例のうちの一つは、アマゾンウェブサービス，インコーポレイティド（ＡＷＳ）によって提供される分散コンピューティング、ストレージ、及びネットワークの基盤、又はこれに類似するものであってよい。クラウド基盤１１０の非限定的な例がＡＷＳであるとすると、例示的な資源インスタンス１１２Ａ及び資源インスタンス１１２Ｂは複数のアマゾンエラスティックコンピューティングクラウド（ＥＣ２）インスタンス、アマゾンリレーショナルデータベースサービス（ＲＤＳ）インスタンスのような複数のデータベースインスタンス、及びアマゾンシンプルストレージサービス（Ｓ３）バケットのようなストレージインスタンスにより提供され、資源インスタンス１１２Ａ及び資源インスタンス１１２Ｂのそれぞれは、複数の計算装置及び／又はストレージ装置によって提供されてよい。アプリケーションセキュリティサーバ１０２の運用者は、アプリケーションインスタンス１１４Ａ及びアプリケーションインスタンス１１４ＢがＡＷＳのような第三者である運用者によって所有されるハードウェア上で実行されるように、複数のアプリケーションをクラウド基盤１１０にデプロイし得る。クラウド基盤１１０を提供するために、他のクラウド基盤が用いられてもよい。他の例には、センチュリーリンク，インコーポレイティドによって提供されるセンチュリーリンククラウド、マイクロソフト，インコーポレイティドによって提供されるマイクロソフトアズュール、及びラックスペース，インコーポレイティドによって提供されるサービス、その他のクラウドサービスが含まれてよい。
【００２１】
いくつかの実施例において、クラウド基盤１１０には、アプリケーションインスタンス１１４Ａ及びアプリケーションインスタンス１１４Ｂに関連付けられたアプリケーションセキュリティ情報を収集可能な監視サービス１１６が含まれる。監視サービス１１６は、サービスプロバイダの顧客に対して一つ以上のサービスを提供するためにサービスプロバイダによってデプロイされたアプリケーションであってもよく、又は、アプリケーションインスタンスを監視するためにサービスプロバイダシステム１００の運用者によってデプロイされたアプリケーションであってもよい。いくつかの実施例において、監視サービス１１６は複数のアプリケーションによって提供されてもよい。例えば、監視サービス１１６にはネットフリックス，インコーポレイティドによって作成されたウェブベースのクラウド管理及び展開ツールであるＡＳＧＡＲＤが含まれてよい。他の実施例には、監視サービス１１６の他の実装が含まれてよい。監視サービス１１６は、クラウド基盤１１０内にデプロイされたサービスプロバイダのアプリケーションと、それらのアプリケーションの間の相互依存関係を特定することがある。例えば、アプリケーションインスタンス１１４Ａは、その目的である特定のサービスを提供するためにアプリケーションインスタンス１１４Ａに必要とされる情報にアクセスするため、アプリケーションインスタンス１１４Ｂに依存し、及びこれと通信することがある。監視サービス１１６は、アプリケーションインスタンス１１４Ｂに対するアプリケーションインスタンス１１４Ａの依存関係を表すアプリケーションセキュリティ情報を収集し、及び／又は生成してよい。監視サービス１１６は、アプリケーションインスタンス１１４Ａとアプリケーションインスタンス１１４Ｂとに関連付けられたセキュリティグループ又はセキュリティタグの識別子を含めてよい。
【００２２】
これらのアプリケーションインスタンス１１４Ａ及びアプリケーションインスタンス１１４Ｂは、サービスを受けるためにサービスプロバイダシステム１００にアクセスする顧客にサービスを提供するため、サービスプロバイダシステム１００の一部としてサービスプロバイダに利用されることがある。サービスプロバイダによって提供されるサービスは、ストリーミングメディアサービス、ダウンロード型メディアサービス、並びに電子メールサービス、メッセージング又はコミュニケーションサービス、銀行取引サービス、電子商取引サービス、及び／又は他のそのようなサービスであってよい。アプリケーションインスタンス１１４Ａ及びアプリケーションインスタンス１１４Ｂは、セキュリティグループに関連付けられ又はサービスプロバイダの種別に依存するセキュリティタグを備え得る。顧客は、ネットワーク１２０を介して、クラウド基盤１１０内にデプロイされたアプリケーションインスタンス１１４Ａ及びアプリケーションインスタンス１１４Ｂを含むサービスプロバイダシステム１００とやり取りするため、顧客装置１１８を利用し得る。
【００２３】
本明細書で説明されるように、アプリケーションセキュリティサーバ１０２と、クラウド基盤１１０と、図１に示される他のコンポーネント及び装置との間のデータ通信は、ＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＷＬＡＮ、携帯電話ネットワーク、固定電話ネットワーク、又は他の適当なネットワークを含むネットワーク１２０を介して送信され得る。ネットワーク１２０には複数の連結されたネットワークが含まれてよい。図１に示されるように、ネットワーク１２０には、アプリケーションセキュリティサーバ１０２と内部装置１３０の集合との間の通信がパブリックに利用可能な通信回線を経由せず、又はパブリックに利用可能な通信回線を通過するために適切に暗号化されたような、プライベートなネットワークが含まれてよい。例えば、アプリケーションセキュリティサーバ１０２とクラウド基盤１１０との間の通信は、インターネットのようなパブリックなネットワークを介して仮想ネットワークを提供するために暗号化されてよい。顧客装置１１８は、一つ以上の内部装置１３０及び／又はクラウド基盤１１０とインターネットを介して通信してよい。その結果、図示されたネットワーク１２０には、仮想プライベートネットワーク（ＶＰＮ）を含むプライベートネットワークと、パブリックなネットワークとが含まれてよい。
【００２４】
サービスプロバイダシステム１００の内部計算環境１０８Ａにおいて、アプリケーションセキュリティサーバ１０２はネットワーク１２０を介して内部装置１３０の集合と通信し得る。図示されるように、これらの内部装置１３０には、ストレージ装置１３２、ネットワーク装置１３４、計算装置１３６が含まれ得る。ストレージ装置１３２には、一つ以上のハードドライブ、ＲＡＩＤ構成、ストレージエリアネットワーク（ＳＡＮ）、及び／又は他のシステムのようなストレージ装置が含まれてよい。ストレージ装置１３２には、サービスプロバイダシステム１００内において、内部装置１３０とクラウド基盤１１０の資源インスタンス１１２Ａ及び資源インスタンス１１２Ｂとの両者のうち少なくとも一方にデプロイされたアプリケーションの全て又はいくつかについてのソースコードを格納するソースコードリポジトリ１３３が含まれてよい。ストレージ装置１３２には、本明細書で説明される様々な他の発生源から取得され得るアプリケーションセキュリティ情報も含まれてよい。ネットワーク装置１３４にはストレージ装置１３２、計算装置１３６、及び他の装置がネットワーク１２０を介して通信することを許可するスイッチ、ルータ、及び他のネットワーク装置が含まれてよい。
【００２５】
計算装置１３６は、例示的なアプリケーションインスタンス１３８Ａ、アプリケーションインスタンス１３８Ｂ、及びアプリケーションインスタンス１３８Ｃとして図示される、複数のアプリケーションインスタンスを実行するサーバのクラスタのような複数のサーバであってよい。例示的なサーバには、例えば、ＭＩＣＲＯＳＯＦＴ（登録商標）ＯＳ、ＵＮＩＸ（登録商標）ＯＳ、ＬＩＮＵＸ（登録商標）ＯＳ又は他の適切なサーバオペレーティングシステムのようなサーバオペレーティングシステム（ＯＳ）を実行するスタンドアローン及びエンタープライズ級のサーバが含まれてよい。
【００２６】
内部装置１３０には、内部装置１３０内で動作する複数のサービスが含まれてよい。例えば、アプリケーションインスタンス１３８Ａ、アプリケーションインスタンス１３８Ｂ、及びアプリケーションインスタンス１３８Ｃが配置されたとき、アプリケーションインスタンス１３８Ａ、アプリケーションインスタンス１３８Ｂ、及びアプリケーションインスタンス１３８Ｃの処理が進行する間に配置されるＪＡＶＡ（登録商標）アーカイブファイル、即ちＪＡＲその他のファイルに基づく依存関係情報を生成するように、内部ウェブサービスフレームワークがサービスプロバイダシステム１００に含まれてよい。例えば、内部ウェブサービスフレームワークは、内部装置１３０の中で動作しているアプリケーションの依存関係のマップを生成するために利用される、ネットフリックス内部ウェブサービスフレームワーク（ＮＩＷＳ）であってよい。いくつかの例において、第一のアプリケーションは、第一のアプリケーションの実行の間に実際には通信しない第二のアプリケーションへの依存関係を示すファイルを配置することがある。その結果、依存関係マップを作成するいくつかの実施例において、上記のインスタンスに関して所定のアプリケーションの実際の依存関係が過剰に表現されることがある。いくつかの実施例において、実際の依存関係情報は、通信されるパケットに関連付けられたイーサネット（登録商標）又はインターネットプロトコル（ＩＰ）ヘッダを切り取ることにより、内部装置１３０の間の通信を監視することで提供されてよい。そして、パケットヘッダから切り取られた情報は、内部装置１３０にデプロイされたアプリケーションの実際の依存関係マップを作成するために利用されてよい。マップは、サービスプロバイダシステム１００内で動作しているインスタンスを有するアプリケーションのリストを生成するために利用され得る。
【００２７】
サービスプロバイダシステム１００には、自動化された試験システム１４０がさらに含まれ得る。自動化された試験システム１４０は、サービスプロバイダシステム１００内に存在するアプリケーションに対して複数のセキュリティ試験を実行するように構成されたツールであってよい。自動化された試験システム１４０は、例えば試験モジュール１４２のような一つ以上の試験モジュールのためのプラグインインタフェースを提供してよい。例えば、試験モジュール１４２は、ＯＷＡＳＰ  Ｚｅｄ  Ａｔｔａｃｋ  Ｐｒｏｘｙ（ＺＡＰ）ウェブアプリケーションスキャナ、Ｎｍａｐセキュリティスキャナ、Ｎｅｓｓｕｓスキャナ、又はその他のセキュリティツールのような試験アプリケーション又は試験ツールであってよい。
【００２８】
自動化された試験システム１４０は、サービスプロバイダシステム１００内にデプロイされた一つ以上のアプリケーションのセキュリティ試験を実行するための、試験モジュール１４２のような一つ以上の試験モジュールを利用するように構成され得る。セキュリティ試験は単一の試験モジュールにより、又は、いくつかの実施例においてある試験モジュールの出力が他の試験モジュールの入力に提供されるような形で複数の試験モジュールにより実行されることがある。自動化された試験システム１４０により利用される試験モジュールは、いくつかの種別の脆弱性を検査し得る。自動化された試験システム１４０には、複数のアプリケーションのそれぞれに関連付けられた試験レジームが含まれてよい。例えば、第一のアプリケーションについて、自動化された試験システム１４０は、毎月特定の時刻に、又は毎週特定の時刻に、といったような明確な予定で特定の試験モジュールの実行を要求する試験レジームを備えてよい。自動化された試験システム１４０は、サービスプロバイダシステム１００内にデプロイされた一つ以上のアプリケーションに関連付けられた試験レジームという形態で、アプリケーションセキュリティサーバ１０２に対してアプリケーションセキュリティ情報を提供するように構成されてよい。
【００２９】
さらに、アプリケーションセキュリティサーバ１０２は、特定のアプリケーションのための試験レジームを作成し、修正し、又は削除するように自動化された試験システム１４０に対して指示するように構成され得る。例えば、アプリケーションセキュリティサーバ１０２は、第一のアプリケーションに関連付けられたアプリケーションセキュリティ情報を受信し、アプリケーションセキュリティ情報に基づく第一のアプリケーションについてのセキュリティリスクスコアを生成してよい。アプリケーションセキュリティサーバ１０２は、その第一のアプリケーションのセキュリティリスクスコアを有するアプリケーションには、追加の試験モジュールを第一のアプリケーションの試験レジームに含める必要があると判断してよい。その結果、アプリケーションセキュリティサーバ１０２は、自動化された試験システム１４０が適合する試験レジームを修正又は生成するように指示することができる。
【００３０】
一般に、アプリケーションセキュリティサーバ１０２に用いられ、セキュリティリスクスコアを生成するアプリケーションセキュリティ情報には、デプロイされた第一のアプリケーションのインスタンスの数（デプロイされたインスタンスは、内部計算環境１０８Ａのアプリケーションインスタンス１３８Ａ、アプリケーションインスタンス１３８Ｂ、及びアプリケーションインスタンス１３８Ｃであってよく、及び／又は外部計算環境１０８Ｂのクラウド基盤１１０のアプリケーションインスタンス１１４Ａ、及びアプリケーションインスタンス１１４Ｂであってもよい）、アプリケーション又はアプリケーションのインスタンスが通信するアプリケーションの数、第一のアプリケーションの依存関係情報（正常な機能のために必要とされる情報またはサービスに関して、第一のアプリケーションに依存するアプリケーションと、第一のアプリケーションが依存するアプリケーションとを含み得る）が含まれる。いくつかの実施例において、アプリケーションセキュリティ情報は、第一のアプリケーションが機密情報を含み、若しくはこれにアクセスできる、又はインターネットからアクセス可能な状態にさらされている、即ち悪人が容易に第一のアプリケーションにアクセスすることを許容している、といったようなことを示す、第一のアプリケーションに関連付けられたタグの存在及び同一性であってよい。アプリケーション情報には、第一のアプリケーションがサービスプロバイダシステム１００のトポロジーのどこに位置づけられるかの指標が含まれてよい。更なるアプリケーションセキュリティ情報には、第一のアプリケーションが関連付けられたＩＰアドレス及びアプリケーションのインスタンスがデプロイされたクラウド基盤１１０の地域が含まれてよい。一般に、アプリケーションがより大きな又はより小さなリスクを引き起こすことを示すいずれの情報も、アプリケーションセキュリティ情報としてアプリケーションセキュリティサーバ１０２がアプリケーションについてのセキュリティリスクスコアを決定するために利用され得る。
【００３１】
管理セキュリティ担当者又は他のアプリケーションセキュリティサーバ１０２及びそこで動作しているセキュリティアプリケーション１０４の利用者は、クライアント装置１５０を利用することによってアプリケーションセキュリティサーバ１０２に接続し得る。クライアント装置は、本明細書で説明されるように、サーバに類似した計算装置であってよい。クライアント装置１５０は、パーソナルコンピュータ、ラップトップコンピュータ、タブレットやスマートフォン、ウェアラブルデバイスのようなモバイルコンピューティングデバイス、及び／又は説明される実施例に適合する計算及び／又は通信機能を有するその他の計算装置であってよい。クライアント装置１５０には、データストレージ装置又はメモリと通信する処理装置が含まれ、様々な計算及び／又は通信動作を実行するためのシステムプログラム及びアプリケーションプログラムに対応する命令を実行する。例示的なシステムプログラムには、オペレーティングシステム（例えば、ｉＯＳ、Ａｎｄｒｏｉｄ  ＯＳ、ＬＩＮＵＸ  ＯＳ、Ｆｉｒｅｆｏｘ  ＯＳ、ＯＳ−Ｘ、無線のためのバイナリランタイム環境（ＢＲＥＷ）ＯＳ、Ｊａｖａ（登録商標）ＯＳ、無線アプリケーションプロトコル（ＷＡＰ）ＯＳ、等）、デバイスドライバ、プログラミングツール、ユーティリティプログラム、ソフトウェアライブラリ、（ＡＰＩ）、等が含まれる。図１に示されるように、クライアント装置１５０は、インタフェース１５２を提供するためにソフトウェアを実行する。いくつかの実施例において、インタフェース１５２は、クライアント装置１５０で実行するインターネットエクスプローラ（登録商標）、クロム（登録商標）、等のようなウェブ閲覧プログラムと関連して提供されることがある。クライアント装置１５０はネットワーク１２０を介してアプリケーションセキュリティサーバ１０２、一つ以上の内部装置１３０、及び／又はクラウド基盤１１０と通信し得る。
【００３２】
いくつかの実施例において、アプリケーションセキュリティサーバ１０２が例えば７０、又は３０といったしきい値よりも大きいセキュリティリスクスコアを算出したとき、アプリケーションは、クライアント装置１５０によって表示されるインタフェース１５２を通して管理セキュリティ担当者に伝えられる優先リストに加えられることがある。図３は、インタフェース１５２の実施例となり得るユーザインタフェース３００を図示している。ユーザインタフェース３００は、表３０２に示される例示的なアプリケーションセキュリティ情報の描写を提供する。表３０２には、サービスプロバイダシステム１００内で検出されたアプリケーションの識別子のリストと、リストに記載された各アプリケーションがどの地域でインスタンス化されたかの表示が含まれる。さらに、表３０２には、アプリケーションのプロダクションビルド及びテストビルドに関連付けられたインスタンス化情報が含まれる。表３０２に含まれる情報の一部は、サービスプロバイダシステム１００内でインスタンス化されたアプリケーションを特定するためにアプリケーションセキュリティサーバ１０２に対して提供されることがある。アプリケーションセキュリティサーバ１０２は、特定されたアプリケーションのそれぞれについてセキュリティリスクスコアを生成し得る。ユーザインタフェース３００には、少なくとも名前、セキュリティリスクスコア、及び分類によって表３０２を管理セキュリティ担当者のようなユーザインタフェースの利用者がソートすることを可能にするユーザインタフェース要素が含まれる。ソートされた情報は自動化された試験システム１４０のような他の装置に送られることがある。
【００３３】
インタフェース１５２のさらなる実施例は、それぞれ図４及び図５にユーザインタフェース４００及びユーザインタフェース５００として図示される。ユーザインタフェース３００のように、ユーザインタフェース４００及びユーザインタフェース５００は、サービスプロバイダシステム１００内でインスタンス化されたアプリケーションの試験を評価し、予定し、及び指示するためにアプリケーションセキュリティサーバ１０２とやり取りするとき、クライアント装置の表示として利用者に提示され得る。ユーザインタフェース４００には、単一のアプリケーションの地域的なインスタンス化に関連付けられるセキュリティリスクスコアの表示が含まれる。ユーザインタフェース４００には、図２のアプリケーションセキュリティ情報２２２に含まれることがあるアプリケーションセキュリティ評価基準４０４のリストに基づくセキュリティリスクスコア要因を含む表４０２が含まれる。図示されるように、アプリケーションセキュリティ評価基準４０４には、依存しているアプリケーション、内部計算環境１０８Ａの境界における配置、インスタンスの数、アプリケーションが機密サービスを用いるか否か、及びアプリケーションが機密であるか否かが含まれる。いくつかの実施例において、表４０２は、アプリケーションが、それがインスタンス化された全ての地域に関連付けられたセキュリティリスクスコアを有し得ることを示す。この情報はアプリケーションのプロダクションビルドとテストビルドの両方について提供される。例えば、１番目の合衆国東部地域（識別子４０６により特定される）においては、アプリケーションのプロダクションビルドは６０のセキュリティリスクスコアを有し、その理由は多数の依存するアプリケーション（４４３）、少数のインスタンス（１２）、及び限定的な機密サービスの利用（１）があることである。インスタンス化が機密であり、これによって２５点を受け取っている。表４０２において観察され得るように、アプリケーションの特定の側面はそれがデプロイされた地域によって異なることがある。
【００３４】
識別子４０６を選択することによって、ユーザインタフェース５００に第一の合衆国東部地域にデプロイされているアプリケーションに関連付けられたより詳細なアプリケーションセキュリティ情報が表示される。ユーザインタフェース５００には、アプリケーションセキュリティ情報の表示された各分類について、選択されたアプリケーションについてのその特定のセキュリティ情報の分類に関連付けられた過去のデータを要約したグラフ５０４を含み得るアプリケーションセキュリティ情報ウィンドウ５０２が含まれる。過去のデータは、アプリケーションが常時デプロイされていたと想定し、１週間、１月、１四半期、又は１年のような所定の期間にわたってよい。ユーザインタフェース５００には、選択されたデプロイ地域においてデプロイされたアプリケーションの一つ以上のインスタンスに関する情報を提供するインスタンスリスト５０６がさらに含まれてよい。アプリケーションに関連付けられた一つ以上のセキュリティタグをリスト化した情報ウィンドウ５０８も含まれてよい。さらに、ユーザインタフェース５００の利用者がユーザインタフェース４００に戻ることなくアプリケーションがデプロイされた異なる地域を選択することを可能にするために、地域選択要素５１０が含まれてよい。
【００３５】
図３に戻り、ユーザインタフェース３００には各アプリケーションに関連付けられたスコア及び分類、階層、又は優先度が含まれる。表３０２の情報をセキュリティリスクスコア又は優先レベルでソートすることによって、表３０２に含まれる情報は優先リストを提供することができ、上位２０パーセントの点数を与えられたアプリケーションは優先リストに含まれ得る。優先リストは自動化された試験システム１４０にも送られてよい。いくつかの実施例において、優先リストのアプリケーションは、管理セキュリティ担当者による侵入試験をアプリケーションセキュリティサーバ１０２によって予定されてよい。いくつかの実施例において、優先リストのアプリケーションは、自動化された試験システム１４０による試験をアプリケーションセキュリティサーバ１０２によって予定されてもよい。アプリケーションセキュリティサーバ１０２は、アプリケーションのセキュリティリスクスコアに基づいてそれらを分割し、又は分類し得る。例えば、アプリケーションセキュリティサーバ１０２は、第１階層は３０以上のセキュリティリスクスコアを有するアプリケーションを含み、第２階層は３０未満６０以上のセキュリティリスクスコアを有するアプリケーションを含み、第３階層は６０未満４０以上のセキュリティリスクスコアを有するアプリケーションを含む、等のように、セキュリティリスクスコアの階層を作成してよい。アプリケーションセキュリティサーバ１０２は、各アプリケーションを、それが所属する階層に基づいて試験レジームに自動的に割り当て得る。例えば、第１階層は管理セキュリティ担当者による習慣的な手動侵入試験と、自動化された試験システム１４０により頻繁（例えば、毎週）に自動化された試験を予定されてよい。自動化された試験システム１４０による自動化された試験には、試験モジュール１４２のような複数の試験モジュールが含まれてよい。第２階層は第１階層のアプリケーションよりも少ない頻度での管理担当者による侵入試験と、自動化された試験システム１４０によるより少ない頻度での自動化された試験を予定されてよい。第３階層は管理セキュリティ担当者による試験は予定されないが、自動化された試験システム１４０によって処理される試験レジームによって試験されてよい。その結果、アプリケーションセキュリティサーバ１０２は、各アプリケーションについて計算されたセキュリティリスクスコア又は各アプリケーションが分類された階層にとって適切な試験レジームを生成し得る。
【００３６】
アプリケーションセキュリティサーバ１０２はサービスプロバイダシステム１００内で動作している全てのアプリケーションを特定し、全てのアプリケーションについてセキュリティリスクスコアを生成し又は計算し得る。全てのアプリケーションについてセキュリティリスクスコアを計算することによって、アプリケーションセキュリティサーバ１０２は、最も高いセキュリティリスクを引き起こすアプリケーションに管理セキュリティ担当者が時間と資源を向かわせることを支援することができる。さらに、所定のアプリケーションについてのアプリケーションセキュリティ情報はインスタンスの数量が増減し、及び依存関係の数が増減することでいつでも変化し得るため、アプリケーションセキュリティサーバ１０２は適切なセキュリティ試験レジームを動的に決定し、試験を実行する自動化された試験システム１４０にそれらを自動的に送ることができる。
【００３７】
図２を参照すると、本明細書で説明される図１のアプリケーションセキュリティサーバ１０２、クライアント装置１５０、又は図１に含まれる他の計算装置の実施例、即ち計算装置２００の例示的な実施例が示されている。計算装置２００には、バス２０６を介してデータストレージ装置であるメモリ２０４と通信する、一つ以上のプロセッサ又はＣＰＵのような少なくとも一つの処理装置２０２が含まれている。バス２０６はネットワークインタフェース装置２０８と入出力装置インタフェース２１０とをさらに連結する。ネットワークインタフェース装置２０８は、計算装置２００が図１のネットワーク１２０を介して通信することを可能にするネットワークインタフェースカードまたはネットワークインタフェースコントローラ（ＮＩＣ）であってよい。入出力装置インタフェース２１０は、ディスプレイ２１２に表示される情報に関連付けられた一つ以上のグラフィカルユーザインタフェースにデータやコマンドオプションのような情報を表示するために、計算装置２００がディスプレイ２１２に表示される情報を送信することを可能にする。入出力装置インタフェース２１０は、赤外線又は無線周波数による遠隔制御、キーボード、マウス、タッチスクリーン、等により入出力装置とさらに通信してよい。いくつかの実施例において、入出力装置インタフェース２１０は、図１の他のシステムが計算装置２００と通信する際に用いるアプリケーションプログラミングインタフェース（ＡＰＩ）であってよい。計算装置２００のいくつかの実施例はいくつかのコンポーネントを含まなくてよい。例えば、サーバは入出力装置インタフェース２１０又はディスプレイ２１２を含まなくてよい。
【００３８】
処理装置２０２は、メモリ２０４に保存されたソフトウェア及び／又は他の命令２０３を実行し得る。メモリ２０４に保存されたソフトウェア及び情報並びに命令２０３は、計算装置２００がアプリケーションセキュリティサーバ１０２、内部装置１３０、自動化された試験システム１４０、クライアント装置１５０、顧客装置１１８、又はクラウド基盤１１０に存在するサーバとして構成されているかによって異なり得る。さらに、計算装置２００は、いくつかの計算装置においてクラウド基盤１１０で構成された資源インスタンスのような仮想計算装置であってよい。図１のセキュリティアプリケーション１０４は、処理装置２０２で命令２０３を実行することによって提供され得る。
【００３９】
図２に図示されるように、メモリ２０４は、セキュリティアプリケーション２２０とアプリケーションセキュリティ情報２２２とを保存する。メモリ２０４は計算装置の筐体に含まれ、又は計算装置２００に接続されてこれと通信する異なる種別のメモリの集合であってよい。例えば、メモリ２０４には、キャッシュメモリ、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ソリッドステートハードドライブ、ディスク型ハードドライブ、及び／又は他の種別の非一時的なメモリ装置が含まれ得る。メモリ２０４に保存されているように表示されているコンポーネントは、これらの異なる種別のメモリのいかなる組合せにも保存され、又はこれらからアクセスされ得る。
【００４０】
セキュリティアプリケーション２２０は、図１のサービスプロバイダシステム１００内にデプロイされた複数のアプリケーションについてセキュリティリスクスコアを計算するためにセキュリティアプリケーション２２０の一部として実装される複数の規則やアルゴリズムを利用し得る。例えば、セキュリティアプリケーション２２０は、第一のアプリケーションがクレジットカード番号のような機密情報へのアクセスを提供し、及び第一のアプリケーションがインターネットに面し又はさらされているといったような、第一のアプリケーションに関連付けられたアプリケーションセキュリティ情報２２２の一部から判断可能なように構成され得る。アプリケーションセキュリティ情報２２２のこれら２つの要素に基づいて、処理装置２０２はこれらの情報の要素が７５のセキュリティリスクスコアという結果をもたらすことを計算する命令２０３を実行する。例えば、セキュリティアプリケーション２２０は、アプリケーションがクレジットカード番号へのアクセスを提供することを理由として５０点をセキュリティリスクスコアに割り当て、アプリケーションがインターネットにさらされていることを理由として２５点をセキュリティリスクスコアに割り当ててよい。セキュリティリスクスコアの計算の他の実施例には、本明細書で説明されるようにより多くのアプリケーションセキュリティ情報の要因又は要素が含まれ、より複雑な数式をそのような計算の実行に用い得る。さらに、アプリケーションセキュリティ情報２２２には、以前に計算された又は過去のセキュリティリスクスコアが含まれてよい。このように、セキュリティアプリケーション２２０は、アプリケーションのセキュリティリスクスコアに観測された変化又は変化の割合に基づいてセキュリティリスクスコアを計算し得る。
【００４１】
いくつかの実施例において、処理装置２０２は、セキュリティアプリケーション２２０を連続的に、又は、１日１回、１日２回、週１回、その他予定された定期的な間隔で実行するように構成される。さらに、セキュリティアプリケーション２２０は、サービスプロバイダシステム１００にデプロイされたアプリケーションのオンデマンド検査を実行するために要求に応じて実行され得る。例えば、新しいセキュリティ上の不具合が発見され、新しい試験モジュール１４２が新たな不具合について試験するように構成されたとき、オンデマンド検査が実行され得る。いくつかの実施例において、管理セキュリティ担当者は、アプリケーションセキュリティサーバ１０２と接続するクライアント装置１５０によって提供されるインタフェース１５２を用いて、オンデマンド検査の実行を要求し、又は検査の予定を設定し、若しくは修正してよい。
【００４２】
さらに、セキュリティアプリケーション２２０は、アプリケーションセキュリティ情報２２２をサービスプロバイダシステム１００内の他の装置から受信したときに、これを検査してよい。セキュリティアプリケーション２２０が所定のしきい値を超過する割合の変化又は数を検出したとき、セキュリティアプリケーション２２０は環境で動作している全てのアプリケーション、又はそのような全てのアプリケーションの一部であるアプリケーションの検査を自動的に開始してよい。例えば、セキュリティアプリケーション２２０は、通常は１０程度のインスタンスの数を有している特定のアプリケーションのインスタンスの数が１０００程度のインスタンスの数を有していることを示すアプリケーションセキュリティ情報２２２を受信し、処理してよい。特定のアプリケーションのそのようなインスタンスの数の変化を検出すると、セキュリティアプリケーション２２０は少なくともその特定のアプリケーションのセキュリティリスクスコアの再計算を指示してよい。さらに、セキュリティアプリケーション２２０は、管理セキュリティ担当者に対する通知を生成し、送信し得る。通知は電子メール、ＳＭＳメッセージ、プッシュ通知、ソーシャルストリームへの投稿、又は他の適切なデジタル通知の形態で送られてよい。さらに、セキュリティアプリケーション２２０のいくつかの実施例は、その特定のアプリケーションに関連付けられた試験レジームを修正するために自動化された試験システム１４０と自動的に通信し得る。例えば、セキュリティアプリケーション２２０は、試験モジュール１４２を用いた即時の試験が実行されるように指示するために特定のアプリケーションに関連付けられた試験レジームを修正するように自動化された試験システム１４０に指示してよい。
【００４３】
クライアント装置１５０としての計算装置２００の実施例においては、セキュリティアプリケーション２２０はアプリケーションセキュリティサーバ１０２と通信するように構成されたクライアントアプリケーションであり得る。計算装置２００の他の実施例は、アプリケーションセキュリティサーバ１０２として構成された計算装置２００の他の実施例のセキュリティアプリケーション２２０と通信するためにクライアント装置１５０がウェブブラウザを含んだものであり得る。
【００４４】
図６を参照すると、サービスプロバイダシステム内にデプロイされたアプリケーションのセキュリティの評価の実行、スケジューリング及び試験についての方法６００のフロー図が示されている。図示されるように、方法６００にはいくつかの列挙された手順、ブロック又は工程が含まれる。方法６００の実施例には列挙された工程の前、後、間、又はその一部として更なる工程が含まれてよい。方法６００の実施例は一つ以上の列挙された工程を除外してよい。本開示のいくつかの実施例には、図２のメモリ２０４のような非一時的で計算機読み取り可能なストレージ媒体に保存された、図２の命令２０３のような命令が含まれる。命令が実行されるとき、命令は計算装置２００の処理装置２０２のような処理装置に方法６００の実施例に関連付けられた工程を実行させる。方法６００の実施例は、それぞれ図１及び図２のセキュリティアプリケーション１０４及びセキュリティアプリケーション２２０のようなアプリケーションを実行することにより実行されてもよい。
【００４５】
方法６００の実施例は一つ以上のストレージ装置と通信する処理装置が計算環境にデプロイされたアプリケーションのリストを受信する手順６０２から始まる。アプリケーションのリストはネットワークを介して受信されてよい。例えば、図２の計算装置２００の処理装置２０２は、図３の表３０２に表示されたものと類似した情報を含むアプリケーションのリストを受信してよい。アプリケーションのリストはデータベースシステム１０６に保存されたデータベースのようなデータベースとして、又はデータベースから受信されてよい。いくつかの実施例において、アプリケーションのリストは、内部計算環境１０８Ａにデプロイされたアプリケーションインスタンスと、サービスプロバイダによって又はサービスプロバイダを代表して運用される外部計算環境１０８Ｂの一部にデプロイされたアプリケーションインスタンスとを含み得る、サービスプロバイダシステム１００内にデプロイされたアプリケーションのアプリケーション依存関係のマップとして受信される。アプリケーションのリストを含むアプリケーション依存関係のマップは各アプリケーションのインスタンス化に際して生成され、交換される情報に基づいて生成され得る。いくつかの実施例において、アプリケーションのリスト又はアプリケーションのリストの一部は内部装置１３０から受信され、及び／又はアプリケーションのリスト又はアプリケーションのリストの一部はクラウド基盤１１０内で動作している監視サービス１１６から受信されてよい。
【００４６】
手順６０４では、処理装置はアプリケーションのリストに含まれる第一のアプリケーションについてセキュリティリスクスコアを計算し得る。例えば、処理装置２０２は、アプリケーションセキュリティ情報２２２に含まれる様々な要因に基づいて第一のアプリケーションにリスクスコアの点を割り当てるためにセキュリティアプリケーション２２０を実行する。例えば、セキュリティアプリケーションは、多数の依存関係を有することについて２５点を、機密サービスを利用することについて１０点を、機密サービスであることについて２５点を付与し得る。これによって、セキュリティアプリケーション２２０による計算の時点における合計のセキュリティリスクスコアは６０となる。
【００４７】
手順６０６では、処理装置は第一のアプリケーションに関連付けられたセキュリティ優先レベル又は分類を決定するが、その第一のアプリケーションのセキュリティ優先レベルは第一のアプリケーションについてのセキュリティリスクスコアに基づくものであってよい。例えば、処理装置２０２はセキュリティリスクスコアに応じて第一のアプリケーションをいくつかの分類又は階層の一に分類するためにセキュリティアプリケーション２２０を実行する。例えば、第一のセキュリティリスク分類には８０以上のセキュリティリスクスコアを有するアプリケーションが含まれてよい。第二のセキュリティリスク分類には６０以上８０未満のセキュリティリスクスコアを有するアプリケーションが含まれてよく、第三のセキュリティリスク分類には４０以上６０未満等のセキュリティリスクスコアを有するアプリケーションが含まれてよい。いくつかの実施例において、各セキュリティリスク分類は、例えば、「とても高い」、「高い」、「中間」、「低い」、といったように文字列又は色による表現に関連付けられてよく、これらは、本明細書で説明されるように、ユーザインタフェース３００、ユーザインタフェース４００、又はユーザインタフェース５００で通信されてよい。
【００４８】
本開示の実施例は０から１００の範囲に及ぶ例示的なセキュリティリスクスコア体系を用いるが、他のスコア体系がこの開示の範囲を逸脱することなく用いられてよい。例えば、セキュリティリスクスコアはいくつかの実施例において１００より大きくてよい。一般に、セキュリティリスクスコアは、あるアプリケーションのセキュリティリスクを他のアプリケーションと対照して比較し、及び／又はサービスプロバイダシステム１００内に存在するアプリケーションの全てをソートし又は分類するために利用され得る数値的なスコアを規定する。これにより管理セキュリティ担当者が最大の実時間におけるセキュリティリスクを引き起こすアプリケーションのセキュリティ試験の時間を優先度付けすることが可能となる。さらに、セキュリティリスクスコアは、アプリケーションによって引き起こされる特定のセキュリティリスクにとって十分であろう自動化された試験レジームを割り当てられ得るアプリケーションの部分集合を決定するために用いられてよい。
【００４９】
手順６０８では、処理装置は、ユーザインタフェース内でクライアント装置の利用者に表示するためにネットワークを介してクライアント装置に対して計算環境にデプロイされたアプリケーションの優先リストを送信し得る。例えば、処理装置２０２は、ユーザインタフェース３００（図３）の表３０２に示された情報を用いてアプリケーションの優先リストを生成し送信するためにセキュリティアプリケーション２２０を実行してよい。管理セキュリティ担当者は、インタフェース１５２において優先リストを閲覧するためにクライアント装置１５０を用いることができる。
【００５０】
方法６００のいくつかの実施例では、各アプリケーションに関連付けられたセキュリティ優先レベル又は分類を決定することなく、セキュリティリスクスコアに基づいてアプリケーションが優先度付けされてよい。さらに、方法６００のいくつかの実施例には、優先リストを自動化された試験システム１４０に送信する手順が含まれてよい。いくつかの実施例において、自動化された試験システム１４０は優先又は分類リスト及び／又はリストに含まれるアプリケーションのセキュリティリスクスコアに基づいて適切な試験レジームを決定してよい。いくつかの実施例において、セキュリティアプリケーション２２０は、アプリケーションのセキュリティリスクスコアに基づいて試験レジームを生成し、自動化された試験システム１４０による実行のために自動化された試験システム１４０に対してネットワーク１２０を介してそれらの試験レジームを送信してよい。例えば、セキュリティアプリケーション２２０は、第一のアプリケーションに関連付けられたセキュリティ上の問題を検査するために、試験モジュール１４２と試験モジュール１４２を利用する予定を含む第一のアプリケーションのための試験レジームを生成してよい。
【００５１】
複数のアプリケーションについてセキュリティリスクスコアを計算し又は決定する際にセキュリティアプリケーション２２０によって用いられるアプリケーションセキュリティ情報２２２には、潜在的なセキュリティリスクを表示するいずれの情報も含まれてよい。例えば、アプリケーションセキュリティ情報２２２には、第一のアプリケーションのインスタンスの数、アプリケーションのインスタンスがデプロイされた地域、第一のアプリケーションに関連付けられた（バージョン、ビルドの日付、所有者、チームのような）ビルドの情報、第一のアプリケーションの依存関係を示す依存関係マップ、及び／又は第一のアプリケーションに関連付けられたセキュリティタグが含まれてよい。第一のアプリケーションに関連付けられたアプリケーションセキュリティ情報２２２は、第一のアプリケーションによって利用される一つ以上のポート、一つ以上のプロトコル、及び一つ以上のドメインネームを特定する情報であってもよい。いくつかの実施例において、アプリケーションセキュリティ情報２２２にはアプリケーションが著作権保護されたコンテンツ、特に暗号化されていない著作権保護されたコンテンツが含まれるメディア情報を処理し、若しくはこれにアクセスし、又はコンテンツの暗号鍵にアクセスするか否かの表示が含まれてよい。
【００５２】
図７を参照すると、サービスプロバイダシステムにデプロイされた複数のアプリケーションのセキュリティ評価の実行及び試験の方法７００のフロー図が図示されている。図示されるように、方法７００にはいくつかの列挙された手順、ブロック、又は工程が含まれる。方法７００の実施例には、列挙された工程の前、後、間、又はその一部として更なる工程が含まれてよい。方法７００の実施例には、一つ以上の列挙された工程が除外されてよい。方法７００のいくつかの実施例には、図２のメモリ２０４のような非一時的で計算機読み取り可能なストレージ媒体に保存された図２の命令２０３のような命令が含まれてよい。命令が実行されるとき、命令は計算装置２００の処理装置２０２のような処理装置に方法７００の実施例に関連付けられた工程を実行させる。図１及び図２のセキュリティアプリケーション１０４及びセキュリティアプリケーション２２０のようなアプリケーションの実行により、方法７００のそれぞれの実施例が行われてもよい。
【００５３】
方法７００の実施例は、第一の計算装置が第一のアプリケーションに関連付けられたアプリケーションセキュリティ情報を、ネットワークを介して受信する手順７０２から始まる。例えば、計算装置２００（アプリケーションセキュリティサーバ１０２として構成されている）の処理装置２０２は、ネットワークを介して一つ以上の送信元からアプリケーションセキュリティ情報２２２を受信してよい。例えば、処理装置２０２はアプリケーションセキュリティ情報２２２を要求し、及び／又はこれを受信するために内部装置１３０、自動化された試験システム１４０、及び／又は監視サービス１１６と通信してよい。アプリケーションセキュリティ情報２２２には、図１のサービスプロバイダシステム１００内にデプロイされた複数のアプリケーションのそれぞれの潜在的なセキュリティリスクを表示するいずれの情報も含まれてよい。
【００５４】
手順７０４において、処理装置は、ネットワークを介して受信されたアプリケーションセキュリティ情報に基づいて第一のアプリケーションについてのセキュリティリスクスコアを計算し得る。例えば、処理装置２０２は、第一のアプリケーションについてのセキュリティリスクスコアを生成するためにセキュリティアプリケーション２２０を実行してよい。セキュリティリスクスコアは、本明細書で説明されるように、アプリケーションによって引き起こされる潜在的なセキュリティリスクと関係すると判断された様々な要因のそれぞれに対して点数を割り振ることによって計算されてよい。
【００５５】
手順７０６において、処理装置は、計算されたセキュリティリスクスコアに基づいて第一のアプリケーションのためのセキュリティ試験レジーム提案を生成し得る。例えば、処理装置２０２は、Ｎｅｓｓｕｓ及びＯＷＡＳＰ  ＺＡＰ試験モジュールが週１回の頻度でアプリケーションに対して実行されることを示す、アプリケーションのためのセキュリティ試験レジームを生成してよい。セキュリティ試験レジームには他の試験モジュール及び／又は他の定期的な予定が含まれてよい。処理装置２０２によって生成されたセキュリティ試験レジームの実施例は、第一の試験モジュールが毎週実行されるべきであると指示し、第２の試験モジュールが隔週で実行されるべきであると指示してよい。その結果、処理装置２０２は第一のアプリケーションに関連付けられたアプリケーションセキュリティ情報によって示された、第一のアプリケーションによって引き起こされる特定のセキュリティリスクに適切なセキュリティ試験レジームを生成することができる。
【００５６】
手順７０８において、処理装置は第二の計算装置に対してネットワークを介してセキュリティ試験レジーム提案を送信し得る。例えば、処理装置２０２は自動化された試験システム１４０での実行のために、自動化された試験システム１４０に対してセキュリティ試験レジームを含むデジタル形式の命令を送信してよい。いくつかの実施例において、処理装置２０２は、管理セキュリティ担当者又は他のインタフェース１５２の利用者に対して提示するため、クライアント装置１５０に対して推奨されたセキュリティ試験レジームとしてセキュリティ試験レジームを送信してよい。いくつかの実施例において、利用者は自動化された試験システム１４０による実行の前に提案されたセキュリティ試験レジームを受諾し、拒絶し、又は修正してよい。その結果、処理装置２０２は実行のために自動化された試験システム１４０に対して送信する前にセキュリティ試験レジームを受諾し、拒絶し、又は修正する指示を受信することができる。
【００５７】
本明細書で説明されるように、処理装置２０２がアプリケーションについてセキュリティリスクスコアを計算し及びアプリケーションについてセキュリティ試験レジームを生成するために用い得るアプリケーションセキュリティ情報には、内部計算環境１０８Ａ内にデプロイされたアプリケーションのインスタンスと外部計算環境１０８Ｂ内にデプロイされたアプリケーションのインスタンスとに関係する情報が含まれてよい。アプリケーションセキュリティ情報には、クラウド基盤にデプロイされた第一のアプリケーションのインスタンスの実時間における数、及び／又はクラウド基盤にデプロイされた第一のアプリケーションのインスタンスの数の増加の割合が含まれてよい。インスタンスの数の増加の割合が採用されたとき、インスタンスの実時間及び過去の数がインスタンスの数の増加（又は減少）の割合を決定するために必要とされることがある。
【００５８】
さらに、方法７００のいくつかの実施例には、セキュリティ試験レジーム提案の一部として第一のアプリケーションのソースコードに対するポインタが含まれてよい。ポインタは一つ以上の試験モジュールを用いて試験を行うソースコードの位置を決定するために自動化された試験システム１４０によって用いられてよい。予定された試験の時、自動化された試験システム１４０は図１のソースコードリポジトリ１３３内の適切なソースコードを特定するためのポインタ、アドレス、その他位置を特定する情報を利用してソースコードの写しを取得してよい。いくつかの実施例において、アプリケーションセキュリティサーバ１０２は、２つのアプリケーションのソースコードに依存関係があるか否かを判定してよい。
【００５９】
本開示のシステム、サーバ、装置、及び方法の実施例は、複雑なサービスプロバイダシステムにデプロイされた多数のアプリケーションのセキュリティ評価、予定、試験を提供し得る。アプリケーションセキュリティサーバ及び／又はセキュリティアプリケーションは、複雑なプロバイダシステムにデプロイされたアプリケーションのそれぞれについてセキュリティリスクスコアを計算するためのアプリケーションセキュリティ情報を処理してよい。アプリケーションセキュリティシステムは、サービスプロバイダシステムのセキュリティと完全性とを維持するために実行されるべき試験であって、適切な自動化された及び／又は手動による試験を、セキュリティリスクスコアに基づいて決定し得る。アプリケーションセキュリティシステムは、管理セキュリティ担当者がサービスプロバイダシステム内にインスタンス化されたアプリケーションの部分集合へのより詳細な侵入試験を実行するための時間と労力を優先度付けすることを可能にする情報を管理セキュリティ担当者に提供してもよい。セキュリティリスクスコアはサービスプロバイダシステム１００及びそこにデプロイされたアプリケーションに関する実時間の情報に基づいてもよい。
【００６０】
本開示のある側面は、以下の番号付けされた項で詳説される。
１．  アプリケーションセキュリティシステムであって、一つ以上のストレージシステムと通信する処理装置を備えるアプリケーションセキュリティサーバと、ネットワークを介して情報を送信又は受信するよう構成された複数のアプリケーションのインスタンスを実行する複数の計算装置と、複数のセキュリティ試験モジュールを含むセキュリティ試験システムであって、前記セキュリティ試験モジュールは一つ以上の第一のアプリケーションのインスタンスに関連付けられた前記第一のアプリケーションに関連付けられた第一の試験モジュールを含む、セキュリティ試験システムと、を含み、前記アプリケーションセキュリティサーバの処理装置は、前記第一のアプリケーションの現在の依存関係情報を含む、前記第一のアプリケーションに関する情報を読み出し、前記第一のアプリケーションに関する情報に基づいて計算される、前記第一のアプリケーションについてのセキュリティリスクスコアを計算し、前記第一のアプリケーションについての前記セキュリティリスクスコアに基づく、前記第一のアプリケーションに関連付けられるセキュリティ優先レベルを決定し、及び、前記第一のアプリケーションのセキュリティ優先レベルをアプリケーションセキュリティ情報のデータベースにおいて前記第一のアプリケーションに関連付けることを特徴とするアプリケーションセキュリティシステム。
２．  前記アプリケーションセキュリティサーバは、前記第一のアプリケーションに関連付けられた試験情報にアクセスするために前記セキュリティ試験システムと通信し、前記試験情報は、前記第一の試験モジュールが前記第一のアプリケーションを試験するために用いられた最も近い試験時点を表示する、項１に記載のアプリケーションセキュリティシステム。
３．  前記第一のアプリケーションのセキュリティリスクスコアは、前記第一の試験モジュールが前記第一のアプリケーションを試験するために用いられた最も近い試験時点と前記第一のアプリケーションに関連付けられる試験の予定とに基づいて定められる、項１又は項２に記載のアプリケーションセキュリティシステム。
４．  前記第一のアプリケーションに関する情報は、デプロイされた前記第一のアプリケーションのインスタンスの数と、前記第一のアプリケーションに関連付けられた、前記第一のアプリケーションが機密情報を含み、または機密情報へのアクセスを備えているかを表示するタグと、前記第一のアプリケーションが通信するアプリケーションの数と、前記第一のアプリケーションのインターネットからのアクセス可能性と、前記第一のアプリケーションの現在の依存関係情報と、の少なくとも一つを含む、項１乃至項３のいずれか１項に記載のアプリケーションセキュリティシステム。
５．  前記デプロイされた前記第一のアプリケーションのインスタンスの数は、第一の実時間における数であり、前記第一のアプリケーションが通信するアプリケーションの数は、第二の実時間における数である、項１乃至項４のいずれか１項に記載のアプリケーションセキュリティシステム。
６．  前記アプリケーションセキュリティサーバと前記ネットワークを介して通信する、複数のデプロイされたアプリケーションのインスタンスを含む、クラウド基盤をさらに含み、前記第一のアプリケーションは前記デプロイされたアプリケーションのインスタンスの少なくとも一つと通信する、項１乃至項５のいずれか１項に記載のアプリケーションセキュリティシステム。
７．  前記クラウド基盤は、前記クラウド基盤にデプロイされたアプリケーションに関する情報を報告するように構成された監視サービスを含み、前記デプロイされたアプリケーションに関する情報は、前記デプロイされたアプリケーションに関連付けられる、デプロイされたアプリケーションのインスタンスの数とセキュリティ情報とを含む、項１乃至項６のいずれか１項に記載のアプリケーションセキュリティシステム。
８．  前記アプリケーションセキュリティサーバは、各アプリケーションの初期化に際して各アプリケーションから受信された情報に基づくアプリケーションの間の依存関係のマップを含む、項１乃至項７のいずれか１項に記載のアプリケーションセキュリティシステム。
９．  前記アプリケーションセキュリティサーバの前記処理装置は、前記第一のアプリケーションに関連付けられた試験レジームを変更するために、前記セキュリティ試験システムと通信する、項１乃至項８のいずれか１項に記載のアプリケーションセキュリティシステム。
１０．  前記試験レジームは、前記第一のアプリケーションの試験に適用される一つ以上の試験モジュールと、前記試験モジュールが前記第一のアプリケーションを試験するためにいつ適用されるかを指示する予定とを含む、項１乃至項９のいずれか１項に記載のアプリケーションセキュリティシステム。
１０．１．  一つ以上の処理装置に実行されたときに、項１乃至項１０のいずれか１項に記載の機能のいずれかを処理装置に実行させる命令を保存した非一時的で計算機読み取り可能な記憶媒体。
１０．２．  一つ以上の処理装置に実行されたときに、項１乃至項１０のいずれか１項に記載の機能のいずれかを実現するコンピュータプログラム。
１０．３．  一つ以上の処理装置に実行されたときに、項１乃至項１０のいずれか１項に記載の機能のいずれかを提供する工程を実行する方法。
１１．  アプリケーションセキュリティシステムであって、保存された命令を含む、一つ以上のストレージ装置と通信する処理装置と、前記処理装置がネットワークを介して一つ以上の他の装置と通信することを可能とするネットワークインタフェースと、を含み、前記処理装置は、ネットワークを介して計算環境にデプロイされたアプリケーションのリストを受信し、前記アプリケーションのリストに含まれる第一のアプリケーションのセキュリティリスクスコアを計算し、前記第一のアプリケーションについてのセキュリティリスクスコアに基づく、前記第一のアプリケーションに関連付けられるセキュリティ優先レベルを決定し、及び、ユーザインタフェースにおけるクライアント装置の利用者に対する提示のために、前記ネットワークを介して前記クライアント装置に対して前記計算環境にデプロイされたアプリケーションの優先度付けされたリストを送信する命令を実行することを特徴とする、アプリケーションセキュリティシステム。
１２．  前記処理装置は、前記一つ以上の他の装置に対してアプリケーションセキュリティ情報を要求するために前記命令をさらに実行し、前記アプリケーションセキュリティ情報は、前記第一のアプリケーションのインスタンスの数と、前記第一のアプリケーションがデプロイされた地域と、前記第一のアプリケーションに関連付けられるビルド情報と、前記第一のアプリケーションが通信するように構成されたアプリケーションのリストと、前記第一のアプリケーションに関連付けられるセキュリティタグと、の少なくとも一つを含む、項１１に記載のアプリケーションセキュリティシステム。
１３．  前記第一のアプリケーションに関連付けられた前記アプリケーションセキュリティ情報は、前記第一のアプリケーションによって利用されるポート、プロトコル、またはドメインネームシステム（ＤＳＮ）ネームを特定する、項１１又は項１２に記載のアプリケーションセキュリティシステム。
１４．  前記第一のアプリケーションに関連付けられる前記セキュリティ優先レベルは、前記第一のアプリケーションが管理セキュリティ担当者の手動試験過程を受ける予定であることを示し、前記処理装置は、前記第一のアプリケーションに関連付けられる前記セキュリティ優先レベルを前記管理セキュリティ担当者に伝える電子的通知を送信するために前記命令を実行する、項１１乃至項１３のいずれか１項に記載のアプリケーションセキュリティシステム。
１４．１．  一つ以上の処理装置に実行されたときに、項１１乃至項１４のいずれか１項に記載の機能のいずれかを処理装置に実行させる命令を保存した非一時的で計算機読み取り可能な記憶媒体。
１４．２．  一つ以上の処理装置に実行されたときに、項１１乃至項１４のいずれか１項に記載の機能のいずれかを実現するコンピュータプログラム。
１４．３．  一つ以上の処理装置に実行されたときに、項１１乃至項１４のいずれか１項に記載の機能のいずれかを提供する工程を実行する方法。
１５．  第一の計算装置の処理装置が、ネットワークを介して第一のアプリケーションに関連付けられるアプリケーションセキュリティ情報を受信することと、前記ネットワークを介して受信される前記アプリケーションセキュリティ情報に基づいて第一のアプリケーションについてのセキュリティリスクスコアを計算することと、前記計算されたセキュリティリスクスコアに基づいて前記第一のアプリケーションのためのセキュリティ試験レジーム提案を生成することと、第二の計算装置に対して前記ネットワークを介して前記セキュリティ試験レジーム提案を送信することと、を含む方法。
１６．  前記第一のアプリケーションはクラウド基盤にデプロイされ、前記第一のアプリケーションに関連付けられる前記アプリケーションセキュリティ情報を受信することは、前記クラウド基盤の中で動作する監視サービスから前記アプリケーションセキュリティ情報を受信することを含む、項１５に記載の方法。
１７．  前記アプリケーションセキュリティ情報は、前記クラウド基盤にデプロイされた前記第一のアプリケーションのインスタンスの実時間における数と、前記クラウド基盤にデプロイされた前記第一のアプリケーションのインスタンスの数の増加の割合と、を含む、項１５又は項１６に記載の方法。
１８．  前記クラウド基盤のアカウントを含む、計算環境の中で動作している複数のアプリケーションを特定することをさらに備える、項１５乃至項１７のいずれか１項に記載の方法。
１９．  前記第二の計算装置に対して前記ネットワークを介して前記セキュリティ試験レジーム提案を送信することは、セキュリティ試験システムが前記第一のアプリケーションにセキュリティ試験を実行するときに第一の試験モジュールを適用するために前記セキュリティ試験システムに対して命令を送信することを含む、項１５乃至項１８のいずれか１項に記載の方法。
２０．  前記アプリケーションセキュリティ情報は、ソースコードリポジトリの前記第一のアプリケーションのソースコードへのポインタを含み、前記ポインタは、前記セキュリティ試験レジーム提案に含まれる、項１５乃至項２０のいずれか１項に記載の方法。
２０．１．  一つ以上の処理装置に実行されたときに、項１５乃至項２０のいずれか１項に記載の機能のいずれかを処理装置に実行させる命令を保存した非一時的で計算機読み取り可能な記憶媒体。
２０．２．  一つ以上の処理装置に実行されたときに、項１５乃至項２０のいずれか１項に記載の機能のいずれかを実現するコンピュータプログラム。
２０．２．  一つ以上の処理装置に実行されたときに、項１５乃至項２０のいずれか１項に記載の機能のいずれかを提供する工程を実行する方法。
【００６１】
本開示の上記の側面は、明確及び理解のために図示及び例示によって詳細に説明されたが、上記で説明された発明は発明の思想又は不可欠な特徴を逸脱することなく、多くの他の具体的な変形及び具現化によって実施され得ることは容易に認識されるであろう。様々な変形及び修正が実施され得るが、発明が上記の詳細な説明によって限定されるものではなく、特許請求の範囲によって定められるものであると理解される。
【符号の説明】
【００６２】
１００    サービスプロバイダシステム
１０２    アプリケーションセキュリティサーバ
１０４    セキュリティアプリケーション
１０６    データベースシステム
１１０    クラウド基盤
１１４Ａ    アプリケーションインスタンス
１１４Ｂ    アプリケーションインスタンス
１１６    監視サービス
１２０    ネットワーク
１３２    ストレージ装置
１３３    ソースコードリポジトリ
１３４    ネットワーク装置
１３６    計算装置
１３８Ａ    アプリケーションインスタンス
１３８Ｂ    アプリケーションインスタンス
１３８Ｃ    アプリケーションインスタンス
１４０    自動化された試験システム
１４２    試験モジュール
１５０    クライアント装置
１５２    インタフェース
２００    計算装置
２０２    処理装置
２０３    命令
２０４    メモリ
２０８    ネットワークインタフェース装置
２１２    ディスプレイ
２２０    セキュリティアプリケーション
２２２    アプリケーションセキュリティ情報
【図１】
2019501436.tif 000003
【図２】
2019501436.tif 000004
【図３】
2019501436.tif 000005
【図４】
2019501436.tif 000006
【図５】
2019501436.tif 000007
【図６】
2019501436.tif 000008
【図７】
2019501436.tif 000009
【国際調査報告】
2019501436.tif 000010
2019501436.tif 000011
2019501436.tif 000012