図面 (/)

技術 ソフトウェアのアタックサーフェイスの決定

出願人 富士通株式会社
発明者 ムルティー・プラヴィーン
出願日 2015年8月24日 (4年6ヶ月経過) 出願番号 2015-164912
公開日 2016年5月16日 (3年10ヶ月経過) 公開番号 2016-081518
状態 特許登録済
技術分野 ストアードプログラムにおける機密保護
主要キーワード チョークポイント 脆弱箇所 集積形態 オープンポート 使用ノード 汎用コントローラ テストベッド ソリッドステートメモリデバイス
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年5月16日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

ソフトウェアアタックサーフェイスを決定する方法を提供する。

解決手段

ソフトウェアコードの少なくとも1つの配備テストするためのプラットフォームを生成し502、少なくとも1つの配備によって使用されるプロトコルを特定し504、プロトコルを、前記少なくとも1つの配備における少なくとも1つのポートマッピングし506、且つ少なくとも1つの配備に関するパラメータを有するメトリックを計算する508。

概要

背景

ソフトウェアアプリケーションは、何百又は何千ものファイルと、何十万ライン又は何百万ラインものコードを含み得る。ソフトウェアアプリケーションのコードは、データベースからの機密データ又は関連する電子装置に格納されたデータにアクセスすることがある部分を含み得る。さらに、ソフトウェアアプリケーションは、例えばインターネットなどの通信ネットワークにアクセスしてそれらのネットワーク上でデータの送信及び受信を行うコードを含み得る。一般に、ソフトウェアアプリケーションの安全性は、それがどのようにして、そのユーザ、通信ネットワーク及びストレージの環境とインタラクトするかに依存する。

一部のソフトウェアアプリケーションは、異なるパラメータ及びカスタマイズがその中で利用可能であり得る数多くの異なる手法で配備され得る。ソフトウェアアプリケーションのどの配備(deployment)が、他の配備と比較して、より安全で攻撃されにくいかを決定することは困難であり得る。

ここに特許請求される事項は、上述のような欠点を解決したり上述のような環境においてのみ動作したりする実施形態に限定されるものではない。むしろ、この背景技術は、ここに記載される一部の実施形態が実施され得る一例に係る技術分野を例示するために提示されるに過ぎない。

概要

ソフトウェアアタックサーフェイスを決定する方法を提供する。ソフトウェアコードの少なくとも1つの配備をテストするためのプラットフォームを生成し502、少なくとも1つの配備によって使用されるプロトコルを特定し504、プロトコルを、前記少なくとも1つの配備における少なくとも1つのポートマッピングし506、且つ少なくとも1つの配備に関するパラメータを有するメトリックを計算する508。

目的

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

ソフトウェアアタックサーフェイスを決定する方法であって、1つ以上のプロセッサを用いて、ソフトウェアコードの少なくとも1つの配備テストするためのプラットフォームを生成し、前記1つ以上のプロセッサを用いて、前記少なくとも1つの配備によって使用されるプロトコルを特定し、前記1つ以上のプロセッサを用いて、前記プロトコルを、前記少なくとも1つの配備における少なくとも1つのポートマッピングし、且つ前記1つ以上のプロセッサを用いて、前記少なくとも1つの配備に関するパラメータを有するメトリックを計算することを有する方法。

請求項2

前記メトリックは、不使用ポートの数、オープンポートの数、使用される少なくとも1つのプロトコルについての情報、外部インターネットプロトコル(IP)アドレスに送信されるトラフィックボリュームチョークポイントの数、リンクトラフィックボリューム、及びノードへのプロトコルのマッピングを含む、請求項1に記載の方法。

請求項3

前記使用される少なくとも1つのプロトコルについての前記情報は、前記プロトコルのうちの何れかがセキュリティホールを有するか、及びそのプロトコルがどれだけ長く存在していたか、を反映する第1のプロトコルに関する第1の危険スコアと、第2のプロトコルに関する第2の危険スコアと、前記第1の危険スコア及び前記第2の危険スコアの和であるトータル危険スコアとを含む、請求項2に記載の方法。

請求項4

前記少なくとも1つの配備は、第1の配備及び第2の配備であり、前記メトリックを計算することは、前記第1の配備に関する第1のメトリックと前記第2の配備に関する第2のメトリックとを計算することを有する、請求項1に記載の方法。

請求項5

基準配備を受け取り、第1の配備を受け取り、且つ前記第1の配備を前記基準配備に基づいて正規化することを更に有する請求項1に記載の方法。

請求項6

アプリケーションプログラミングインタフェースAPI)を用いて前記少なくとも1つの配備の静的解析を実行することを更に有する請求項1に記載の方法。

請求項7

前記少なくとも1つの配備における前記少なくとも1つのポートにおけるネットワークトラフィック収集することを更に有する請求項1に記載の方法。

請求項8

当該方法は更に、トラフィックがどれだけ長く特定のリンクで通信されているかを決定することを有し、前記メトリックは、リンクトラフィックの総量、各リンクの平均及び最大、全てのリンクトラフィックボリュームの第1の和、並びに全てのボリュームの比の第2の和のうちの少なくとも1つを含む、請求項1に記載の方法。

請求項9

関係ないデータを構文解析してフィルタリングすることを更に有する請求項1に記載の方法。

請求項10

利用可能なメトリックの数に基づいて少なくとも1つのメトリックを可視化したものを生成することを更に有する請求項1に記載の方法。

請求項11

パラメータを有する前記メトリックを計算することは更に、前記パラメータのうちの少なくとも1つのパラメータに少なくとも1つの重みを適用することと、前記少なくとも1つの重み及び前記少なくとも1つのパラメータに関する少なくとも1つの内積を計算することと、前記少なくとも1つの内積と前記少なくとも1つの重みに関連付けられない前記パラメータとの和を生成することとを有する、請求項1に記載の方法。

請求項12

ソフトウェアのアタックサーフェイスを決定するための処理を実行するように処理装置によって実行可能なコンピュータ命令を格納した非一時的なコンピュータ読み取り可能媒体であって、前記処理は、ソフトウェアコードの少なくとも1つの配備をテストするためのプラットフォームを生成することと、前記少なくとも1つの配備によって使用されるプロトコルを特定することと、前記プロトコルを、前記少なくとも1つの配備における少なくとも1つのポートにマッピングすることと、前記少なくとも1つの配備に関するパラメータを有するメトリックを計算することとを有する、非一時的なコンピュータ読み取り可能媒体。

技術分野

0001

ここに説明される実施形態は、ソフトウェアアタックサーフェイスを決定することに関する。

背景技術

0002

ソフトウェアアプリケーションは、何百又は何千ものファイルと、何十万ライン又は何百万ラインものコードを含み得る。ソフトウェアアプリケーションのコードは、データベースからの機密データ又は関連する電子装置に格納されたデータにアクセスすることがある部分を含み得る。さらに、ソフトウェアアプリケーションは、例えばインターネットなどの通信ネットワークにアクセスしてそれらのネットワーク上でデータの送信及び受信を行うコードを含み得る。一般に、ソフトウェアアプリケーションの安全性は、それがどのようにして、そのユーザ、通信ネットワーク及びストレージの環境とインタラクトするかに依存する。

0003

一部のソフトウェアアプリケーションは、異なるパラメータ及びカスタマイズがその中で利用可能であり得る数多くの異なる手法で配備され得る。ソフトウェアアプリケーションのどの配備(deployment)が、他の配備と比較して、より安全で攻撃されにくいかを決定することは困難であり得る。

0004

ここに特許請求される事項は、上述のような欠点を解決したり上述のような環境においてのみ動作したりする実施形態に限定されるものではない。むしろ、この背景技術は、ここに記載される一部の実施形態が実施され得る一例に係る技術分野を例示するために提示されるに過ぎない。

0005

一実施形態の一態様によれば、ソフトウェアのアタックサーフェイスを決定する方法は、ソフトウェアコードの少なくとも1つの配備をテストするためのプラットフォームを生成することを含み得る。前記少なくとも1つの配備によって使用されるプロトコルが特定され得る。前記プロトコルが、前記少なくとも1つの配備における少なくとも1つのポートマッピングされ得る。前記少なくとも1つの配備に関するパラメータを有するメトリックが計算され得る。

0006

実施形態の目的及び利点は、少なくとも請求項にて特定的に列挙される要素、機構及び組み合わせによって、実現され達成されることになる。

0007

理解されるように、以上の概要説明及び以下の詳細説明はどちらも、例示的且つ説明的なものであり、特許請求に係る発明を限定するものではない。

図面の簡単な説明

0008

以下の図を含む添付図面を使用して、更なる具体性及び詳細性をもって、実施形態例の記述及び説明を行う。
テストされているソフトウェアコードのフローグラフの一例を示す図である。
コンピュータシステムの一例を示すブロック図である。
ソフトウェアコードのメトリックを決定するシステムの一例を示すブロック図である。
ネットワーク図を含むソフトウェアコードの可視化の一例を示す図である。
プロセス図を含むソフトウェアコードの可視化の一例を示す図である。
全体図を含むソフトウェアコードの可視化の一例を示す図である。
ソフトウェアコードの第1の配備をソフトウェアコードの第2の配備と比較する可視化の一例を示す図である。
ソフトウェアのアタックサーフェイスを決定する方法の一例を示す図である。
ソフトウェアのアタックサーフェイスを決定する方法の他の一例を示す図である。

実施例

0009

ここに記載される一部の実施形態は、ソフトウェアコードの少なくとも1つの配備(deployment)に関して、ソフトウェアのアタックサーフェイス(攻撃対象領域)を決定することに関する。この少なくとも1つの配備をテストするためのプラットフォームが生成され得る。例えば、プラットフォームはテストベッドとし得る。この少なくとも1つの配備によって使用されるプロトコルが特定され得る。ソフトウェアは、通信エンドポイントとして作用するポートを含む。プロトコルが、この少なくとも1つの配備の少なくとも1つのポートにマッピングされ得る。一部の実施形態において、この少なくとも1つの配備上で静的解析が実行され得る。静的解析は、機密情報にアクセスする経路を特定することを含み得る。

0010

この少なくとも1つの配備に関するパラメータを有するメトリックが計算され得る。パラメータは、不使用ポートの数、オープンポートの数、使用される少なくとも1つのプロトコルについての情報、外部インターネットプロトコル(IP)アドレスに送信されるトラフィックボリューム(量)、チョークポイントの数、リンクトラフィックボリュームノードへのプロトコルのマッピング、及びセンシティブ経路の割合を含み得る。一部の実施形態において、少なくとも1つのプロトコルについての情報は、それらのプロトコルのうちの何れかがセキュリティホールを有しているか及びそのプロトコルがどれだけ長く存在していたかを反映する各プロトコルの危険スコアと、第1の配備及び第2の配備の各々によって使用される全てのプロトコルに関する危険スコアの和とし得るトータル危険スコアとを計算するために使用され得る。外部IPアドレスに送信されるトラフィックのボリュームは、例えばソフトウェアを嗅ぎ回る(スヌープする)ことによって誰かが不正行為をはたらいているかを決定するために使用され得る。チョークポイントは、例えばそのノードの除去がソフトウェアを機能させなくするか性能のかなりの低下を生じさせるかし得るノードなど、単一障害点とし得る。リンクトラフィックボリュームは、特定のリンクでどれだけのトラフィックが通信されているかを決定するために使用され得る。例えば、高いボリュームは、スヌーパーを指し示すインジケータであり得る。リンクトラフィックボリュームは、リンクトラフィックの総量、各リンクの平均及び最大、全てのリンクトラフィックボリュームの和、並びに全てのボリュームの比の和のうちの少なくとも1つとして計算され得る。一部の実施形態において、複数の配備が比較され得る。例えば、基準(ベースライン)配備が第1の配備と比較され、あるいは第1の配備が第2の配備と比較され得る。これらの配備を可視化したものが、利用可能な複数のメトリックに基づいて生成され得る。

0011

本発明の実施形態を、添付図面を参照して説明する。

0012

図1Aは、ここに記載される少なくとも一部の実施形態に従って構成された、脆弱性に関連する1つ以上のメトリックを決定するためにテストされ得るソフトウェアコードの一例に係るフローグラフ100Aを示している。フローグラフ100Aは、ソフトウェアコードの異なる配備を表現するようい構成され得る。概して、一部の実施形態において、フローグラフ100Aのようなフローグラフは、ここに記載されるようにソフトウェアコードのメトリックを決定することにおけるプロセスの一部であり得る。フローグラフ100Aは、説明及び例示の目的で提示される単純化したフローグラフの一例である。フローグラフ100Aには、本開示の範囲を逸脱することなく、変更、付加又は省略が為され得る。

0013

一部の実施形態において、ソフトウェアコードは、プログラミング言語、とりわけ、Perl、C、C++、C#、Java(登録商標)、JavaScript(登録商標)、Python、Ruby、アセンブリ言語、Fortran、COBOL(common business-oriented language)、SQL(structured query language)、PHP(hypertext preprocessor)、XML(extensible markup language;拡張マークアップ言語)、HTML(hypertext markup language;ハイパーテキストマークアップ言語)のうちの1つを用いて生成され得る。

0014

フローグラフ100Aは、図1Aでは矢印を有する線として描かれているエッジによって共に接続されるポート102A、102B、102C、102D、102E、102F、及び102G(ここでは“ポート102”として総称)を含み得る。フローグラフ100A内のノード102は各々、ソフトウェアコード内での異なる1つの処理に対応し、例えば、関数若しくはメソッドや、数あるコード文の種類の中でとりわけwhile文if文、let文、case文などのその他の処理や、数あるその他の演算の中でとりわけ=、+、*、−、&、%などの演算などの異なる1つの処理に対応し得る。一部の実施形態において、ノード102は、ソフトウェアにおけるポートを含み得る。ポートは、コンピュータホストオペレーティングシステムにおいて通信エンドポイントとして作用し得る。例えば、ソフトウェアがクラウドコンピューティングソフトウェアであるとき、ポートは、クラウドコンピューティングに使用されるネットワークと通信するためのエンドポイントであり得る。ポートはオープン(開)又はクローズド(閉)であり得る。オープンポートは、ソフトウェア外のエンティティとの通信にアクセス可能であり、クローズドポートはアクセス可能でない。ポートはプロトコルと関連付けられ得る。

0015

一部の実施形態において、ソフトウェアコードが解析されて、ネットワーク内のチョークポイントが決定される。例えば、図1Aにおいて、ノード102はチョークポイントである。何故なら、ノード102Cを除去することが、ソフトウェアコードの第1の組のノード107とソフトウェアコードの第2の組のノード109との間の通信を切断し得るからである。より詳細に後述するメトリックアプリケーションが、ソフトウェアコードに関連するメトリックを決定するように構成され得る。例えば、メトリックアプリケーションは、ソフトウェアコードの或る配備と、不使用ポートの数、オープンポートの数、使用プロトコルの数、外部IPアドレスに送信されるトラフィックのボリューム、チョークポイントの数、リンクトラフィックボリューム、ノードへのプロトコルのマッピング、及びセンシティブ経路の割合を含んだメトリックとを決定し得る。

0016

図1Bは、ここに記載される少なくとも一部の実施形態に従って構成されたコンピュータシステム100B(“システム100B”)のブロック図を例示している。システム100Bは、ネットワーク135に結合されたクライアント130を含んでいる。クライアント130はプロセッサ131及びメモリ132を含み得る。メモリ132は、メトリックアプリケーション133及びソフトウェアコード134を含み得る。メトリックアプリケーション133は、ソフトウェアコード134の少なくとも1つの配備を解析するように構成され得る。ネットワーク135は、有線又は無線とすることができ、ローカルエリアネットワーク(LAN)、ワイドエリアネットワークWAN)、及び/又はそれにわたって複数の装置が通信し得るその他のデータパスを含み得る。

0017

プロセッサ131は、様々なコンピュータハードウェア若しくはソフトウェアモジュールを含んだ、如何なる好適な専用又は汎用のコンピュータ、コンピューティングエンティティ又は処理装置を含んでいてもよく、何らかの適用可能なコンピュータ読み取り可能媒体に格納された命令を実行するように構成され得る。例えば、プロセッサ131は、汎用コントローラマイクロプロセッサマイクロコントローラデジタル信号プロセッサ(DSP)、特定用途向け集積回路ASIC)、フィールドプログラマブルゲートアレイFPGA)、又はプログラム命令解釈及び/又は実行し且つ/或いはデータを処理するように構成されたその他のデジタル回路若しくはアナログ回路を含み得る。図1Bでは単一のプロセッサとして示されているが、理解されるように、プロセッサ131は、如何なる数の処理を実行するように構成された如何なる数のプロセッサを含んでいてもよい。

0018

メモリ132は、プロセッサ131によって十こされ得る命令及び/又はデータを格納し得る。それらの命令及び/又はデータは、ここに記載される技術を実行するコードを含み得る。一部の実施形態において、それらの命令は、プロセッサ131に特定の機能又は機能群を実行させる命令及びデータを含み得る。一部の実施形態において、メモリ132は、コンピュータ実行可能命令又はデータ構造担持する、あるいは格納した、コンピュータ読み取り可能媒体を含み得る。そのようなコンピュータ読み取り可能媒体は、コンピュータ読み取り可能媒体に格納されたコンピュータ実行可能命令を実行するようにプログラムされたプロセッサ131によってアクセスされ得る如何なる入手可能な媒体ともし得る。限定ではなく例として、そのようなコンピュータ読み取り可能媒体は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去プログラム可能読み出し専用メモリ(EEPROM)、コンパクトディスク読み出し専用メモリ(CD−ROM)若しくはその他の光ディスクストレージ、磁気ディスクストレージ若しくはその他の磁気記憶装置フラッシュメモリデバイス(例えば、ソリッドステートメモリデバイス)、又は、コンピュータ実行可能命令の形態の所望のプログラムコード若しくはデータ構造を担持あるいは格納するために使用されることができ且つ汎用若しくは専用のコンピュータによってアクセスされることが可能なその他の記憶媒体を含む、有形又は非一時的なコンピュータ読み取り可能記憶媒体を含み得る。以上のものの組合せもコンピュータ読み取り可能媒体の範囲に含まれ得る。

0019

メモリは、メトリックアプリケーション133を実行するための命令及びソフトウェアコード134を格納し得る。一部の実施形態において、ソフトウェアコード134は、メトリックアプリケーション133とは異なるクライアント130に格納されてもよい。例えば、ソフトウェアコード134がクラウドコンピューティングアプリケーションであるとき、ソフトウェアコード134は、ネットワーク135を介して互いに通信する異なるクライアント130上のコンポーネントを有する分散システムとして格納され得る。また、一部の実施形態において、ソフトウェアコード134に関する設定のライブラリが、メトリックアプリケーション133及びソフトウェアコード134と同じクライアント130上又は別個のクライアント130上に格納され得る。メトリックアプリケーション133は、ソフトウェアコード134の2つ以上の異なる配備を解析して、各配備に関連するメトリックを決定し得る。

0020

ここで使用されるとき、用語“モジュール”又は“コンポーネント”は、モジュール若しくはコンポーネントの処理を実行するように構成された特定のハードウェア実装、及び/又は、コンピュータシステムの汎用ハードウェア(例えば、コンピュータ読み取り可能媒体、処理装置など)に格納され且つ/或いはそれによって実行され得るソフトウェアオブジェクト若しくはソフトウェアルーチンを意味し得る。一部の実施形態において、ここに記載された様々なコンポーネント、モジュール、エンジン及びサービスは、コンピュータシステム上で(例えば、別々のスレッドとして)実行される複数のオブジェクト又はプロセスとして実装され得る。ここに記載されるシステム及び方法の一部は概して、(汎用ハードウェアに格納され且つ/或いはそれによって実行される)ソフトウェアにて実装されるものとして説明されるが、特定のハードウェア実装又はソフトウェアと特定のハードウェア実装との組合せも可能であり、且つ意図されるものである。本明細書において、“コンピューティングエンティティ”は、上述のような何らかのコンピューティングシステム、又はシステム100B上で走る何らかのモジュール又はモジュール群の組合せとし得る。

0021

図2は、ここに記載される少なくとも一部の実施形態に従って構成された、メトリックに基づいてソフトウェアのアタックサーフェイスを決定するシステム200の一例のブロック図である。特に、システム200は、図1Bのソフトウェアコード134の少なくとも1つの配備をテストするためのプラットフォームを生成し、その配備のメトリックを計算するように構成され得る。一部の実施形態において、メトリックアプリケーション133は、第2の組のメトリックを有する第2の配備と比較される第1の組のメトリックを有する第1の配備を生成するように構成され得る。メトリックアプリケーション133は、配備生成部206、ポートマッピング部208、静的コード解析部210、ネットワークスキャン部212、フィルタ214、メトリック解析部216、及びユーザインタフェースエンジン220を含み得る。

0022

配備生成部206は、ソフトウェアコード134を受け取るように構成され得る。ソフトウェアコード134は、プログラミング言語、とりわけ、Perl、C、C++、C#、Java(登録商標)、JavaScript、Python、Ruby、アセンブリ言語、Fortran、COBOL、SQL、PHP、XML、HTMLのうちの1つを用いて生成され得る。ソフトウェアコード134は、データベースから、例えば図1Bのネットワーク135などのネットワークから、有形コンピュータ読み取り可能記憶媒体から、又はその他のロケーションから受信され得る。

0023

配備生成部206は、ソフトウェアコード134の少なくとも1つの配備を生成するように構成され得る。配備生成部206は、そのソフトウェアコード134に関して利用可能な、異なるスクリプト設定ファイル及びカスタマイズから、配備を生成するように構成され得る。例えば、ソフトウェアコード134はクラウドコンピューティングソフトウェアとすることができ、クラウドコンピューティングソフトウェアのクラウド編成が、多様な手法でクラウドコンピューティングネットワーク上に配備され得る。一部の実施形態において、配備生成部206は、設定のライブラリにアクセスして配備を生成する。配備生成部206は、ソフトウェアコード134の配備をテストするためのプラットフォームを生成し得る。例えば、配備生成部206は、ソフトウェアコード134の少なくとも1つの配備を生成する技術を測定して配備するテストベッドを作成し得る。

0024

一部の実施形態において、配備生成部206は、ソフトウェアコード134の複数の配備を生成するように構成され得る。例えば、配備生成部206は、ソフトウェアコード134の第1の配備をテストするためのプラットフォームを生成するように構成され、いったん第1の配備に関してメトリックが生成されると、配備生成部206は、ソフトウェアコード134の第2の配備をテストするためのプラットフォームを生成するように構成され得る。他の一例において、配備生成部206は、比較のために基準配備と第1の配備とを生成するように構成され得る。

0025

ポートマッピング部208は、配備生成部206から少なくとも1つの配備を受け取るように構成され得る。ポートマッピング部208は、この少なくとも1つの配備に関連するプロトコルをデータベースから検索し、プロトコルに従ってこの少なくとも1つの配備によって使用されるプロトコルを特定し、それらのプロトコルをこの少なくとも1つの配備における少なくとも1つのポートにマッピングするように構成され得る。ポートマッピング部208は、マッピングに基づき、各ノード上でどのプロセスが実行されるかを知るように構成され得る。ポートマッピング部208は、オープンポートのリストを生成するとともに、プロトコルとノードとの間に唯一のマッピングが存在するインスタンスを特定するように構成され得る。一部の実施形態において、ポートマッピング部208は、既知のプロトコル及びそれらのバージョンをデータベースから検索して、それらの脆弱性レベルを決定するように構成され得る。例えば、プロトコルの一部のバージョンが危険な脆弱性を有すると見なされ得る。

0026

静的コード解析部210は、上記少なくとも1つの配備を受け取るように構成され得る。静的コード解析部210は、アプリケーションプログラミングインタフェースAPI)を用いて、上記少なくとも1つの配備について静的解析を実行するように構成され得る。例えば、静的コード解析部210は、ソースコードが利用可能である場合に、ポートを開いてプロトコルを配備するソフトウェアコード134内の特定のモジュールを決定し得る。それらモジュールに対し、静的コード解析部210は、より詳細な測定結果を与えるために、機密情報にアクセスする経路を測定する。一部の実施形態において、静的コード解析部210は、ソフトウェアコード134のこれら配備における、機密情報にアクセスする経路を測定する。

0027

一部の実施形態において、静的コード解析部210は、APIリストを用いてアクションを作成するように構成され得る。例えば、いったんテストベンチが動作すると、静的コード解析部210は、APIを用いて、複数のユーザを作成するため、実行されるべきタスク及びジョブを計算するため、データベースをセットアップして該データベースに1000のエントリを入力する管理のため、身元を管理するため、アクセス特権を管理するため、データベースの初期入力のため、アカウントを作成するため、コンピュータジョブをセットアップするため、等々のアクションを作成するように構成され得る。このプロセスについての更なる情報は、2014年4月12日に出願された“DETERMINING SOFTWARE METRICS”なるタイトルの米国特許出願第13/862234号に見出すことができ、その内容全体をここに援用する。

0028

ネットワークスキャン部212は、配備生成部206から上記少なくとも1つの配備を受け取るように構成され得る。ネットワークスキャン部212は、不使用ポートのリスト、外部IP接続、外部IP接続へのトラフィック、チョークポイント、及びリンクトラフィックボリュームを生成し得る。

0029

ネットワークスキャン部212は、外部IPアドレスへのトラフィックのボリュームを決定するように構成され得る。例えば、ソフトウェアコード134がクラウドコンピューティングソフトウェアであるとき、ノード群は異なる仮想マシンを表し得る。それら仮想マシンは、同じ物理コンピュータ又はサーバ130上にあって、ネットワーク135上の別々のコンピュータとして振る舞ってもよいし、あるいは、それらは別々のコンピュータ又はサーバ130上にあってもよい。ネットワークスキャン部212は、ノードがプライベートクラウドの外部であるIPアドレスと通信しているかを決定することによって、どのような種類のトラフィックがプライベートクラウドの外に出て行っているかを測定するように構成され得る。例えば、同じローカルネットワーク内装置群は、最上位の2バイトに関する同じ数字最下位の2バイトに関する異なる数字とを有し得る32ビット(4バイト)IPアドレスを使用し得る。そのノードのIPアドレスの最上位の2バイトが、そのノードが通信しているエンティティと異なる場合、そのノードは外部のIPアドレスと通信している。

0030

ネットワークスキャン部212は、ソフトウェアコード134の配備における大部分の経路上にある幾つかのノードの中心性に基づいてチョークポイントを決定するように構成され得る。一部の実施形態において、ネットワークスキャン部212は、標準グラフアルゴリズムを用いてチョークポイントを決定し得る。

0031

ネットワークスキャン部212は、特定のリンクでどれだけのトラフィックが通信されているかを決定することによって、リンクトラフィックボリュームを決定するように構成され得る。一部の実施形態において、ネットワークスキャン部212は、1つ以上のAPIを用いてリンクトラフィックボリュームを決定するように構成され得る。リンクトラフィックボリュームは、リンクトラフィックの量、各リンクに関する平均及び最大、全てのボリュームの和、及び/又は全てのボリュームの比の和を含み得る。

0032

フィルタ214は、ネットワークスキャン部212からネットワークトラフィックを受け取るように構成され得る。フィルタ214はまた、ポートマッピング部208及び/又は静的コード解析部210からのデータを受け取るように構成され得る。フィルタ214は、データの構文解析及びフィルタリングを行うとともに、残ったデータをメトリック解析部216に送信するように構成され得る。例えば、フィルタ214は、ダンプ及びログファイルを受信し、それらのファイルを構文解析し、そして、メトリック解析部216にとって関係のないデータをフィルタリング除去し得る。

0033

メトリック解析部216は、フィルタ214からの上記残ったデータを組み合わせて、上記少なくとも1つの配備に関するメトリック218を計算するように構成され得る。メトリック218は、異なる配備のアタックサーフェイス脆弱性を映すものであり得る。例えば、メトリック解析部216は、その配備がチョークポイントと高トラフィックボリュームを受ける幾つかのノードとを有することを決定することがあるが、これは、その配備が不具合を経験し得ること、及びエンティティがソフトウェアを嗅ぎ回っているかもしれないことを示唆するものである。メトリック解析部216は、ソフトウェアコード134の相異なる配備間の相違についてのレポートを生成するように構成され得る。

0034

一部の実施形態において、メトリック解析部216は、上記少なくとも1つの配備に関するパラメータを有するメトリック218を計算し、それらパラメータは、不使用ポートの数、オープンポートの数、使用プロトコルの数、外部IPアドレスに送信されるトラフィックのボリューム、チョークポイントの数、リンクトラフィックボリューム、ノードへのプロトコルのマッピング、及びセンシティブ経路の割合を含む。

0035

不使用ポートは、ソフトウェアコード134のその配備の実行においては通信に使用されないポートとし得る。不使用ポート数が多いほど、より高い度合いの脆弱性を指し示し得る。何故なら、不使用ポートは、無権限エンティティがネットワークへのアクセスを得てネットワークトラフィックを傍受し得る潜在的なセキュリティホールを表すからである。

0036

オープンポートは、通信に利用可能なポートである。オープンポートは、通信をリッスンしているポートであり、それらのポートを無権限エンティティとの通信に晒し出すものである。結果として、オープンポート数の増加も、高められた脆弱性を指し示し得る。

0037

プロトコル数に関し、メトリック解析部216は、各ノードで使用されるプロトコル数を決定し得る。メトリック解析部216は、各ノードで使用されている各プロトコルのバージョンと、どれほど長くそのプロトコルが使用されてきたか(より長い期間は、そのプロトコルをテストするためのいっそう多くの機会が存在したのであるから、より安全なプロトコルに関連付けられる)と、そのプロトコルが既知のセキュリティホールに関連しているかとに基づいて、各プロトコルに危険スコアを割り当てるように構成され得る。一部の実施形態において、メトリック解析部216は、各配備に関するトータル危険スコア(これは、ソフトウェアコード134の第1の配備、第2の配備とともに使用される各プロトコルの危険スコアの和である)を決定するように構成され得る。

0038

外部IPアドレスに送信されるトラフィックのボリュームは、無権限エンティティがソフトウェアコード134を嗅ぎ回っているかを決定するために使用され得る。例えば、或るノードが大量のトラフィックを外部IPアドレスに送信している場合、そのノードはプライベートデータを無権限エンティティに送信しているかもしれない。結果として、外部IPアドレスへのトラフィックボリュームが少ないほど、より安全なソフトウェアコード134の配備を指し示す。

0039

配備におけるチョークポイントは、潜在的な脆弱箇所である。何故なら、チョークポイントであるノードの不具合は、ソフトウェアコード134に、低下した機能性を持たせるか、動作を停止させるかし得るからである。結果として、チョークポイント数が少ないほど、より安全なソフトウェアコード134の配備と関連付けられる。

0040

外部IPアドレスに通信されているトラフィックのボリュームと同様に、大量のリンクトラフィックは、無権限エンティティがソフトウェアコード134を嗅ぎ回っていることを指し示すものであり得る。結果として、リンクトラフィックボリュームが少ないほど、脆弱性の低いソフトウェアコード134の配備と関連付けられる。

0041

メトリック解析部216は、ポートマッピング部208によって決定されたノードへのプロトコルのマッピングを用いて、唯一のマッピングが存在する固有ケースの数を特定するように構成され得る。或るプロトコルが唯一のノード上でのみ実行されている場合、そのノードを削除することは、そのプロトコルが実行されることを停止させることになり、それは、ソフトウェアコードを不具合に対していっそう脆弱にする。例えば、ダッシュボードへのユーザアクセスを与えるウェブサーバを唯一のノードが起動している場合、ノード不具合は、ソフトウェアコードのクライアントサイドを機能しなくさせて、ユーザをイライラさせることになる。結果として、冗長なプロトコルはより低い脆弱性を指し示し、ノードへのプロトコルのマッピングが唯一存在するケースの数が少ないほど、より安全なソフトウェアコード134の配備と関連付けられ得る。

0042

また、一部の実施形態において、メトリック解析部216は、静的コード解析部210によって決定された機密情報にアクセスする経路に基づいて、センシティブな経路の割合を生成するように構成され得る。

0043

一部の実施形態において、メトリック解析部216は、上記少なくとも1つの配備に関するパラメータのリストとしてメトリック218(アタックサーフェイスメトリックとしても知られる)を提示するように構成され得る。一部の実施形態において、メトリック解析部216は、複数のパラメータに代えて、単一の値としてメトリック218を提示するように構成され得る。例えば、メトリック218は、全てのパラメータの正規化した和とし得る。

0044

一部の実施形態において、メトリック解析部216は、複数の配備に関するメトリック218の比較を提示するように構成され得る。それら複数の配備は、基準配備と別の配備、第1の配備と第2の配備、等々を含み得る。この提示は、それら2つ(又はそれより多く)の配備の要素ごとの比較を含み得る。一部の実施形態において、メトリック解析部216は、複数の配備に関するトータルメトリック218を比較として生成するように構成され得る。例えば、メトリック解析部216は、第1の配備が第2の配備より25%低い脆弱さであることを決定し得る。

0045

これら又は他の実施形態において、メトリック解析部216は、メトリック218とベースラインとの間の差を与えるよう、ベースラインに従ってメトリック218を正規化するように構成され得る。例えば、メトリック解析部216は、第1の配備がベースラインより10%低いアタックサーフェイスメトリックを有すること、及び第2の配備がベースラインより15%高いアタックサーフェイスメトリックを有することを決定し得る。

0046

更なる他の一実施形態において、メトリック解析部216は、パラメータのうちのサブセット部分集合)に関するメトリック218を生成するように構成されることができ、残りのパラメータに関する個々の詳細を含めてもよい。例えば、一部の実施形態において、不使用ポート数及びオープンポート数を、一部の例で重要であるため、別々に表示することができ、これら以外のパラメータがメトリック218へと結合される。更なる他の一実施形態において、メトリック解析部216は、パラメータの一部に、それらの重要性に基づいて重みを適用するように構成され得る。例えば、メトリック解析部216は、重みベクトル内積ドット積)を用いることによって、不使用ポート数及びオープンポート数に重みを適用し得る。そして、メトリック解析部216は、個々のパラメータの和としてメトリック218を生成し得る。

0047

ユーザインタフェースエンジン220は、メトリック解析部216からメトリック218を受け取り、パラメータを可視化したもの220を生成するように構成され得る。例えば、ユーザインタフェースエンジン220は、図3Aに例示するようなネットワーク図、図3Bに例示するようなプロセス図、図3Cに例示するような全体図、又は、図4に例示するような、レーダーを用いてパラメータの差を図示する異なるレポートを生成するように構成され得る。これらの図については更に詳細に後述する。

0048

システム200には、本開示の範囲を逸脱することなく、変更、付加又は省略が為され得る。例えば、ユーザインタフェースエンジン220はオプションとし得る。一部の実施形態において、システムの特定の態様は、ソフトウェアコード134のプログラミング言語に応じて異なり得る。例えば、Java(登録商標)を構文解析するのに使用されるフィルタ214は、Cを構文解析するのに使用されるフィルタ214とは異なり得る。しかしながら、ソフトウェアコード134に使用されるプログラミング言語にかかわらず、システム200に関して説明した基本原理は同じであるままである。一部の実施形態において、システム200は、システム200を実現するコンピュータ実行可能命令を担持する、あるいは格納した、コンピュータ読み取り可能媒体を用いて実装され得る。

0049

図3Aは、ユーザインタフェースエンジン220によって生成される、メトリックに含まれる1つ以上のパラメータを指し示すネットワーク図の一例を示している。このネットワーク図は、ソフトウェアコード134に関して生成された、IPアドレスを用いて例示されるノードと、ノード間のインタラクションを表すポートとを含んでいる。ネットワーク図は、どのノードがクリティカルであるかを示し得る。何故なら、それらのノードには多数のリンク(エッジ)が付随するからである。ネットワーク図はまた、不使用ノードを含んでいてもよく、不使用ノードは、それらを他のノードに接続するリンクを有しないことに基づいて識別され得る。このネットワーク図は、多用されるリンクを、より太いエッジを用いて表現している。

0050

図3Bは、メトリックに含まれる1つ以上のパラメータを指し示すプロセス図の一例を示している。このプロセス図は、プロセス情報を用いてネットワーク図を増強している。具体的には、このプロセス図は、様々なノードによって使用されるAPIをグラフに追加するとともに、ノード及びAPIの周りに円を含めて、どのノード及びAPIがネットワーク内のポートに非常に多く接続されるかを指し示している

0051

図3Cは、メトリックに含まれる1つ以上のパラメータを指し示す全体図の一例を示している。この全体図は、ノードと様々なAPIとの間の接続を示すアタックサーフェイスのパラメータに関する包括的な図とし得る。ノード間のリンクの太さが、ノード間のリンクトラフィックの量を指し示し得る。

0052

図4は、レーダーマップにて第1の配備を第2の配備と比較する可視化の一例を示している。このレーダーマップは、ベースラインによって正規化された2つの配備間の差を示すことによって、アタックサーフェイスメトリックを図示している。例えば、図4においては、これらの配備のうちの一方が、他方の配備より、2倍の多さの外部IPトラフィックと、1.5倍の大きさのプロトコル脅威と、1.2倍の多さのオープンポートと、0.3倍の多さの不使用ポートと、0.3倍の多さの、ノードに対して唯一のプロトコルと、1.3倍の多さのリンクトラフィックボリュームと、0.8倍の多さのチョークポイントとを有している。これらの配備のうちの一方が他方より一貫して大きくはなかった場合、これら2つの異なる配備に関連付けられたメトリックの重ね合わせや、折れ線グラフなどが、より良い可視化となり得る。

0053

図5は、ここに記載される少なくとも一部の実施形態に従って構成された、ソフトウェアのアタックサーフェイスを決定する一例に係る方法500のフローチャートである。方法500は、一部の実施形態において、例えば図2のシステム200などのシステムによって実行され得る。特に、方法500は、図2のメトリックアプリケーション133によって実行され得る。例えば、方法500は、図2の配備生成部206、ポートマッピング部208、静的コード解析部210、ネットワークスキャン部212、フィルタ214、及びメトリック解析部216によって実行され得る。個別のブロックとして図示しているが、様々なブロックが、所望の実装に応じて、更なるブロックへと分割され、より少ないブロックへと結合され、あるいは排除されてもよい。

0054

方法500は、ブロック502で開始することができ、該ブロックにて、ソフトウェアコード134の少なくとも1つの配備をテストするためのプラットフォームが生成され得る。例えば、プラットフォームはテストベッドとし得る。

0055

ブロック504にて、この少なくとも1つの配備によって使用されるプロトコルが特定され得る。例えば、その配備によって使用されるプロトコルがデータベースから特定され、例えばバージョンなどのプロトコルに関連する情報、プロトコルにおける既知のセキュリティホール、及びそれらが使用されてきた時間の長さが検索される。

0056

ブロック506にて、それらのプロトコルが、上記少なくとも1つの配備における少なくとも1つのポートにマッピングされ得る。このマッピングは、どのポートがオープンであるかを特定するために使用され得る。

0057

ブロック508にて、上記少なくとも1つの配備に関するパラメータを有するメトリックが計算され得る。これらのパラメータは、不使用ポートの数、オープンポートの数、使用される少なくとも1つのプロトコルについての情報、外部IPアドレスに送信されるトラフィックのボリューム、チョークポイントの数、リンクトラフィックボリューム、及びノードへのプロトコルのマッピングを含み得る。

0058

図6は、ここに記載される少なくとも一部の実施形態に従って構成された、ソフトウェアのアタックサーフェイスを決定する他の一例に係る方法600のフローチャートである。方法600は、一部の実施形態において、例えば図2のシステム200などのシステムによって実行され得る。特に、方法600は、図2のメトリックアプリケーション133によって実行され得る。例えば、方法600は、図2の配備生成部206、ポートマッピング部208、静的コード解析部210、ネットワークスキャン部212、フィルタ214、メトリック解析部216、及びユーザインタフェースエンジン220によって実行され得る。個別のブロックとして図示しているが、様々なブロックが、所望の実装に応じて、更なるブロックへと分割され、より少ないブロックへと結合され、あるいは排除されてもよい。

0059

方法600は、ブロック602で開始することができ、該ブロックにて、ソフトウェアコード134の配備をテストするためのプラットフォームが生成され得る。ブロック604にて、上記配備によって使用されるプロトコルが特定され得る。ブロック606にて、それらのプロトコルが、上記配備における少なくとも1つのポートにマッピングされ得る。このマッピングは、どのポートがオープンであるかを特定するために使用され得る。ブロック608にて、例えばアプリケーションプログラミングインタフェース(API)を用いて、ソフトウェアコード134の静的解析が実行され得る。

0060

ブロック610にて、上記配備に関連する上記少なくとも1つのポートにおけるネットワークトラフィックが収集され得る。例えば、異常に高いトラフィックを有するポートは、ソフトウェアコード134を嗅ぎ回っている無権限エンティティによってアクセスされていることがある。

0061

ブロック612にて、関係ないデータが構文解析されてフィルタリングされ得る。例えば、ダンプ及びログファイルが構文解析されてフィルタに掛けられ、メトリックを計算するためのデータが準備される。ブロック614にて、残ったデータが組み合わされ得る。

0062

ブロック616にて、上記配備に関するパラメータを有するメトリックが計算され得る。パラメータは、不使用ポートの数、オープンポートの数、使用される1つ以上のプロトコルについての情報、外部IPアドレスに送信されるトラフィックのボリューム、チョークポイントの数、リンクトラフィックボリューム、ノードへのプロトコルのマッピング、及びセンシティブな経路の割合を含み得る。一部の実施形態において、これらのパラメータが組み合わされて、第1の配備に関する第1のアタックサーフェイスメトリック、及び第2の配備に関する第2のアタックサーフェイスメトリックが作成され得る。アタックサーフェイスメトリックは、個々のパラメータの和、又は各パラメータの値及び重みの内積の和とし得る。

0063

ブロック618にて、解析すべき更なる配備が存在するかが決定され得る。例えば、上記配備は基準配備であり、第1の配備が比較に利用可能であり得る。他の一例において、上記配備は第1の配備であり、第2の配備が利用可能であり得る。解析すべき更なる配備が存在する場合、当該方法は、ブロック602で始まることを繰り返し得る。解析すべき更なる配備が存在しない場合、当該方法はブロック620に進み得る。ブロック620にて、メトリックを可視化したものが生成され得る。例えば、グラフは、第2の配備の上への第1の配備に関するパラメータの重ね合わせ、パラメータを比較する折れ線グラフ、アタックサーフェイスメトリックを有するグラフなどを含み得る。

0064

業者が認識するように、ここに開示されたこの手順及びその他の手順では、このプロセス及び方法で実行される様々な機能は異なる順序で実行されてもよい。また、概説されたステップ及び処理は単に例として提示されるものであり、これらのステップ及び処理の一部は、開示された実施形態の本質を逸脱することなく、省略され、より少ないステップ及び処理へと結合され、あるいは更なるステップ及び処理へと拡張され得る。また、方法300は、縮められたフローチャートの中で経路カウントを決定するのに使用され得る方法の単なる一例である。経路カウントを決定するためのその他の方法も、本開示の範囲を逸脱することなく使用され得る。

0065

以上の詳細な説明は、例えば図2のシステム200を例示するブロック図、並びに図5及び6のそれぞれ方法500、600を例示するフローチャートなど、ブロック図、フローチャート及び/又は例の使用により、様々な実施形態を説明している。このようなブロック図、フローチャート及び/又は例が1つ以上の機能及び/又は処理を含む限りにおいて、当業者によって理解されるように、このようなブロック図、フローチャート及び/又は例の中の各機能及び/又は処理は、広範囲のハードウェア、ソフトウェア、ファームウェア、又はこれらの実質的に任意の組み合わせによって、個別及び/又は集合的に実装され得る。一部の実施形態において、ここに記載された事項の幾つかの部分は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、又はその他の集積形態によって実装され得る。しかしながら、当業者が認識するように、ここに開示された実施形態の一部の態様は、全体として、あるいは部分的に、集積回路にて、1つ以上のコンピュータ上で実行される1つ以上のコンピュータプログラムとして(例えば、1つ以上のコンピュータシステム上で実行される1つ以上のプログラムとして)、1つ以上のプロセッサ上で実行される1つ以上のプログラムとして(例えば、1つ以上のマイクロプロセッサ上で実行される1つ以上のプログラムとして)、ファームウェアとして、あるいはこれらの実質的に任意の組み合わせとしても等しく実装されることができ、また、回路を設計すること及び/又はソフトウェア及びファームウェアのコードを書くことは、十分に、本開示を受けた当業者の技能の範囲内である。また、当業者が認識するように、ここに記載された事項のメカニズムは、多様な形態のプログラム製品として配給されることができ、また、ここに記載された事項の例示的な実施形態は、その配給を行うために使用される信号担持媒体の具体的な種類にかかわらずに適用されるものである。

0066

また、ここに記載される実施形態は、より詳細に後述するような様々なコンピュータハードウェア又はソフトウェアモジュールを含んだ専用あるいは汎用のコンピュータの使用を含み得る。

0067

ここに記載される実施形態は、コンピュータ実行可能命令又はデータ構造を担持する、あるいは格納した、コンピュータ読み取り可能媒体を用いて実現され得る。そのようなコンピュータ読み取り可能媒体は、汎用あるいは専用のコンピュータによってアクセスされることが可能な如何なる入手可能な媒体であってもよい。限定ではなく例として、そのようなコンピュータ読み取り可能媒体は、RAM、ROM、EEPROM、CD−ROM若しくはその他の光ディスクストレージ、磁気ディスクストレージ若しくはその他の磁気記憶装置、又は、所望のプログラムコードをコンピュータ実行可能命令又はデータ構造の形態で担持あるいは格納するように使用され且つ汎用あるいは専用のコンピュータによってアクセスされることが可能なその他の記憶媒体を含む有形のコンピュータ読み取り可能記憶媒体を有し得る。以上のものの組合せもコンピュータ読み取り可能媒体の範囲に含まれる。

0068

コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、又は専用処理装置(例えば、プロセッサ)に特定の機能又は機能群を実行させる命令及びデータを有し得る。ここでは構成上の機構及び/又は方法のステップに特有言葉にて説明してきたが、理解されるべきことには、添付の請求項に規定される事項は必ずしも、ここで説明された特有の機構又はステップに限定されるものではない。むしろ、ここで説明された特有の機構及びステップは、請求項に規定される事項を実現する形態の例として開示されたものである。

0069

ここに記載された全ての例及び条件付きの言葉は、技術を前進させるために本願の発明者によって与えられる概念と本発明とを読者が理解することを支援するための教育的な目的を意図したものであり、そのように具体的に記載した例及び条件への限定ではないと解釈されるべきである。本発明の実施形態を詳細に説明したが、理解されるべきことには、これらの実施形態には、本発明の精神及び範囲を逸脱することなく、様々な変形、代用及び改変が為され得る。

0070

以上の説明に関し、更に以下の付記を開示する。
(付記1)ソフトウェアのアタックサーフェイスを決定する方法であって、
1つ以上のプロセッサを用いて、ソフトウェアコードの少なくとも1つの配備をテストするためのプラットフォームを生成し、
前記1つ以上のプロセッサを用いて、前記少なくとも1つの配備によって使用されるプロトコルを特定し、
前記1つ以上のプロセッサを用いて、前記プロトコルを、前記少なくとも1つの配備における少なくとも1つのポートにマッピングし、且つ
前記1つ以上のプロセッサを用いて、前記少なくとも1つの配備に関するパラメータを有するメトリックを計算する
ことを有する方法。
(付記2) 前記メトリックは、不使用ポートの数、オープンポートの数、使用される少なくとも1つのプロトコルについての情報、外部インターネットプロトコル(IP)アドレスに送信されるトラフィックのボリューム、チョークポイントの数、リンクトラフィックボリューム、及びノードへのプロトコルのマッピングを含む、付記1に記載の方法。
(付記3) 前記使用される少なくとも1つのプロトコルについての前記情報は、前記プロトコルのうちの何れかがセキュリティホールを有するか、及びそのプロトコルがどれだけ長く存在していたか、を反映する第1のプロトコルに関する第1の危険スコアと、第2のプロトコルに関する第2の危険スコアと、前記第1の危険スコア及び前記第2の危険スコアの和であるトータル危険スコアとを含む、付記2に記載の方法。
(付記4) 前記少なくとも1つの配備は、第1の配備及び第2の配備であり、前記メトリックを計算することは、前記第1の配備に関する第1のメトリックと前記第2の配備に関する第2のメトリックとを計算することを有する、付記1に記載の方法。
(付記5) 基準配備を受け取り、第1の配備を受け取り、且つ前記第1の配備を前記基準配備に基づいて正規化することを更に有する付記1に記載の方法。
(付記6)アプリケーションプログラミングインタフェース(API)を用いて前記少なくとも1つの配備の静的解析を実行することを更に有する付記1に記載の方法。
(付記7) 前記少なくとも1つの配備における前記少なくとも1つのポートにおけるネットワークトラフィックを収集することを更に有する付記1に記載の方法。
(付記8) 当該方法は更に、トラフィックがどれだけ長く特定のリンクで通信されているかを決定することを有し、前記メトリックは、リンクトラフィックの総量、各リンクの平均及び最大、全てのリンクトラフィックボリュームの第1の和、並びに全てのボリュームの比の第2の和のうちの少なくとも1つを含む、付記1に記載の方法。
(付記9) 関係ないデータを構文解析してフィルタリングすることを更に有する付記1に記載の方法。
(付記10)利用可能なメトリックの数に基づいて少なくとも1つのメトリックを可視化したものを生成することを更に有する付記1に記載の方法。
(付記11) パラメータを有する前記メトリックを計算することは更に、前記パラメータのうちの少なくとも1つのパラメータに少なくとも1つの重みを適用することと、前記少なくとも1つの重み及び前記少なくとも1つのパラメータに関する少なくとも1つの内積を計算することと、前記少なくとも1つの内積と前記少なくとも1つの重みに関連付けられない前記パラメータとの和を生成することとを有する、付記1に記載の方法。
(付記12) ソフトウェアのアタックサーフェイスを決定するための処理を実行するように処理装置によって実行可能なコンピュータ命令を格納した非一時的なコンピュータ読み取り可能媒体であって、前記処理は、
ソフトウェアコードの少なくとも1つの配備をテストするためのプラットフォームを生成することと、
前記少なくとも1つの配備によって使用されるプロトコルを特定することと、
前記プロトコルを、前記少なくとも1つの配備における少なくとも1つのポートにマッピングすることと、
前記少なくとも1つの配備に関するパラメータを有するメトリックを計算することと
を有する、非一時的なコンピュータ読み取り可能媒体。
(付記13) 前記メトリックは、不使用ポートの数、オープンポートの数、使用される少なくとも1つのプロトコルについての情報、外部インターネットプロトコル(IP)アドレスに送信されるトラフィックのボリューム、チョークポイントの数、リンクトラフィックボリューム、及びノードへのプロトコルのマッピングを含む、付記12に記載の非一時的なコンピュータ読み取り可能媒体。
(付記14) 前記使用される少なくとも1つのプロトコルについての前記情報は、前記プロトコルのうちの何れかがセキュリティホールを有するか、及びそのプロトコルがどれだけ長く存在していたか、を反映する第1のプロトコルに関する第1の危険スコアと、第2のプロトコルに関する第2の危険スコアと、前記第1の危険スコア及び前記第2の危険スコアの和であるトータル危険スコアとを計算することを含む、付記13に記載の非一時的なコンピュータ読み取り可能媒体。
(付記15) 前記少なくとも1つの配備は、第1の配備及び第2の配備であり、前記メトリックを計算することは、前記第1の配備に関する第1のメトリックと前記第2の配備に関する第2のメトリックとを計算することを有する、付記12に記載の非一時的なコンピュータ読み取り可能媒体。
(付記16) 前記処理は更に、基準配備を受け取ることと、第1の配備を受け取ることと、前記第1の配備を前記基準配備に基づいて正規化することとを有する、付記12に記載の非一時的なコンピュータ読み取り可能媒体。
(付記17) 前記処理は更に、アプリケーションプログラミングインタフェース(API)を用いて前記少なくとも1つの配備の静的解析を実行することを有する、付記12に記載の非一時的なコンピュータ読み取り可能媒体。
(付記18) 前記処理は更に、前記少なくとも1つの配備における前記少なくとも1つのポートにおけるネットワークトラフィックを収集することを有する、付記12に記載の非一時的なコンピュータ読み取り可能媒体。
(付記19) 前記処理は更に、トラフィックがどれだけ長く特定のリンクで通信されているかを決定することを有し、前記メトリックは、リンクトラフィックの総量、各リンクの平均及び最大、全てのリンクトラフィックボリュームの第1の和、並びに全てのボリュームの比の第2の和のうちの少なくとも1つを含む、付記12に記載の非一時的なコンピュータ読み取り可能媒体。
(付記20) 前記処理は更に、関係ないデータを構文解析してフィルタリングすることを有する、付記12に記載の非一時的なコンピュータ読み取り可能媒体。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ