IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エヌ・ティ・ティ イノベーション インスティチュート インクの特許一覧

<>
  • 特許-脅威スコアリングシステム及び方法 図1
  • 特許-脅威スコアリングシステム及び方法 図2
  • 特許-脅威スコアリングシステム及び方法 図3
  • 特許-脅威スコアリングシステム及び方法 図4
  • 特許-脅威スコアリングシステム及び方法 図5
  • 特許-脅威スコアリングシステム及び方法 図6
  • 特許-脅威スコアリングシステム及び方法 図7
  • 特許-脅威スコアリングシステム及び方法 図8
  • 特許-脅威スコアリングシステム及び方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-13
(45)【発行日】2022-05-23
(54)【発明の名称】脅威スコアリングシステム及び方法
(51)【国際特許分類】
   G06F 21/57 20130101AFI20220516BHJP
   G06N 20/00 20190101ALI20220516BHJP
【FI】
G06F21/57 370
G06N20/00
【請求項の数】 20
(21)【出願番号】P 2019515423
(86)(22)【出願日】2017-09-19
(65)【公表番号】
(43)【公表日】2019-11-21
(86)【国際出願番号】 US2017052277
(87)【国際公開番号】W WO2018053511
(87)【国際公開日】2018-03-22
【審査請求日】2020-09-23
(31)【優先権主張番号】15/709,008
(32)【優先日】2017-09-19
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/396,591
(32)【優先日】2016-09-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518179874
【氏名又は名称】エヌ・ティ・ティ リサーチ インコーポレイテッド
【住所又は居所原語表記】1950 University Avenue Suite 600, East Palo Alto, California United States of America
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】片岡 泰之
(72)【発明者】
【氏名】ジュンキンス ダグラス
【審査官】青木 重徳
(56)【参考文献】
【文献】特表2014-515538(JP,A)
【文献】国際公開第2015/190446(WO,A1)
【文献】特開2011-060288(JP,A)
【文献】米国特許出願公開第2014/0259170(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/57
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
脅威スコアリングシステムであって、
プロセッサと、前記プロセッサに接続され、命令を記憶するメモリとを備え、前記命令が前記プロセッサによって実行されることにより、
それぞれがサイバー脅威攻撃に関するデータである複数の脅威因子を選択し、
別の脅威因子に対する各特定の脅威因子の重要度を指定することによって決定された重みを各選択された脅威因子に割り当てて複数の重み付き脅威因子を生成し、
前記複数の重み付き脅威因子に対する機械学習を用いて脅威スコアを決定する、
ように構成される、
ことを特徴とするシステム。
【請求項2】
前記脅威スコアリングシステムは、脅威因子のリストを含むユーザインターフェイスを生成し、ユーザが前記脅威因子のリストから前記複数の脅威因子を選択するようにさらに構成される、
請求項1に記載のシステム。
【請求項3】
前記脅威スコアリングシステムは、前記選択された複数の脅威因子の各々を、各脅威因子が0~1のスコアを有するようにスケーリングするようさらに構成される、
請求項2に記載のシステム。
【請求項4】
前記脅威因子のリストは、攻撃回数、センサの多様性、dimension data社の注釈、ハニーポット検出及びDSAP検出を含む、
請求項3に記載のシステム。
【請求項5】
前記脅威スコアリングシステムは、ユーザが定義した各脅威因子の重みの組を含む逆行列を計算するようにさらに構成される、
請求項1に記載のシステム。
【請求項6】
前記脅威スコアリングシステムは、前記複数の重み付き脅威因子から正規化された重みを生成し、前記複数の重み付き脅威因子の各々についてのグランドトゥルーススコアを生成するようにさらに構成される、
請求項5に記載のシステム。
【請求項7】
前記脅威スコアリングシステムは、前記グランドトゥルーススコアを用いた回帰モデルを使用するようにさらに構成される、
請求項6に記載のシステム。
【請求項8】
前記脅威スコアリングシステムは、ロジスティック回帰、ディープラーニング、及びランダムフォレストのうちの1つを使用するようにさらに構成される、
請求項7に記載のシステム。
【請求項9】
前記脅威スコアリングシステムは、前記脅威スコアの性能評価を生成するようにさらに構成される、
請求項8に記載のシステム。
【請求項10】
前記脅威スコアリングシステムは、二乗平均平方根誤差を求めるようにさらに構成される、
請求項9に記載のシステム。
【請求項11】
プロセッサに接続されたメモリが記憶する命令を前記プロセッサが実行することによって実現される、脅威スコアリングのための方法であって、
それぞれがサイバー脅威攻撃に関するデータである複数の脅威因子を選択するステップと、
別の脅威因子に対する各特定の脅威因子の重要度を指定することによって決定された重みを各選択された脅威因子に割り当てて複数の重み付き脅威因子を生成するステップと、
前記複数の重み付き脅威因子に対する機械学習を用いて脅威スコアを決定するステップと、
を含むことを特徴とする方法。
【請求項12】
前記複数の脅威因子を選択するステップは、脅威因子のリストを含むユーザインターフェイスを生成し、ユーザが前記脅威因子のリストから前記複数の脅威因子を選択するステップをさらに含む、
請求項11に記載の方法。
【請求項13】
前記複数の脅威因子を選択するステップは、前記選択された複数の脅威因子の各々を、各脅威因子が0~1のスコアを有するようにスケーリングするステップをさらに含む、
請求項12に記載の方法。
【請求項14】
前記脅威因子のリストは、攻撃回数、センサの多様性、dimension data社の注釈、ハニーポット検出及びDSAP検出を含む、
請求項13に記載の方法。
【請求項15】
各選択された脅威因子に前記重みを割り当てるステップは、ユーザが定義した各脅威因子の重みの組を含む逆行列を計算するステップをさらに含む、
請求項11に記載の方法。
【請求項16】
各選択された脅威因子に前記重みを割り当てるステップは、前記複数の重み付き脅威因子から正規化された重みを生成し、前記複数の重み付き脅威因子の各々についてのグランドトゥルーススコアを生成するステップをさらに含む、
請求項15に記載の方法。
【請求項17】
機械学習を用いて前記脅威スコアを決定するステップは、前記グランドトゥルーススコアを用いた回帰モデルを使用するステップをさらに含む、
請求項16に記載の方法。
【請求項18】
回帰モデルを使用するステップは、ロジスティック回帰、ディープラーニング、及びランダムフォレストのうちの1つを使用するステップをさらに含む、
請求項17に記載の方法。
【請求項19】
前記脅威スコアの性能評価を生成するステップをさらに含む、
請求項18に記載の方法。
【請求項20】
前記性能評価を生成するステップは、二乗平均平方根誤差を求めるステップをさらに含む、
請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に脅威スコアリングのためのシステム及び方法に関し、特にサイバー脅威スコアリングのためのシステム及び方法に関する。
【背景技術】
【0002】
脅威(threat)とは、コンピュータネットワーク、コンピュータ及びサーバなど(それぞれを総称して「コンピュータ装置」)に対する攻撃のことである。通常、脅威は、コンピュータ装置にアクセスし、コンピュータ装置に記憶され管理されている情報/データを盗み取り、又はコンピュータ装置を停止させるために実行される。脅威に関する情報は、攻撃ソース、宛先ソース、位置、タイムスタンプなどの多くの属性を脅威毎に有する。脅威スコアリング又は優先順位付けは、これらの属性の1つ1つに脅威スコアを追加するものである。
【発明の概要】
【発明が解決しようとする課題】
【0003】
セキュリティ専門家は、脅威スコアリングを通じてデータストリームに優先順位を付け、サイバー脅威に対処する機構を形成することができる。例えば、セキュリティ専門家は、スコアレベルが一定の閾値を上回った場合に情報へのアクセスを遮断するポリシーを作成することができる。脅威スコアリングには以下の課題がある。
【0004】
・普遍的グランドトゥルースの不在
機械学習ソフトウェアを使用して、セキュリティ専門家によってラベリングされたサイバー脅威データを分析し、非ラベリングデータ内の脅威へのスコア付けに使用できるモデルを生成することができる。この例では0.0~1.0に及ぶ脅威スコアを有するこれらのラベリングデータは、「グランドトゥルース」と呼ばれる。機械学習ソフトウェアは、セキュリティ専門家が生成したグランドトゥルースを分析することによって、専門家がデータのラベリングに使用したロジックを模倣することができ、この結果、非熟練者が生成したグランドトゥルースよりも高精度の脅威スコアがもたらされる。脅威データのラベリングを誰が行うかによってグランドトゥルースの精度が決まる点が課題である。どのようにデータをラベリングするかは、たとえセキュリティ専門家であっても異なり得る。これまで、脅威スコアリングのためのグランドトゥルースの最良な決定方法についての合意は取れていない。
【0005】
・信頼性とデータ処理スループットとの対立性
脅威スコアを決定する因子は、攻撃回数、攻撃の多様性、企業の信頼できる脅威情報、及び他の脅威分析ツールによって発見された因子など複数のものが存在する。各因子は、異なる信頼性スコアを有する。例えば、分析ツールの1つであるDSAPは信頼性の高い分析ツールとして知られているが、DSAPがマルウェアを完全に分析するには平均で5分掛かる。従って、信頼性はデータ処理スループットを犠牲にして成り立っている。信頼性の高い脅威検出方法を使用するとデータセットが小さくなり、機械学習によるデータ分析の結果に悪影響を及ぼす。
【0006】
・一意的IDの問題
通常、脅威情報は、ソースIPアドレス又はURLを伴う。しかしながら、攻撃者の中には、検出を避けるためにIPアドレス又はURLを巧みに変更する者もいる。この場合、たとえ脅威スコアリングが上手くいったとしても、数時間後に攻撃者がIPアドレスを変更してしまえば分析データは使いものにならなくなってしまう。
【0007】
脅威スコアリングには、SOC及び管理セキュリティサービスプロバイダ(MSSP)内の時間及び効率の向上、並びに脅威の検出及び軽減を行えないリスクの低減を含む様々な一般的利点がある。セキュリティ専門家は、スコアリングが行われていなければ全ての脅威をチェックできない可能性もあるが、スコアリングが行われていればチェックすべき脅威の数が大幅に減少し、これらの脅威に対応できる可能性が高まる。
【0008】
従って、新規の脅威スコアリングシステム及び方法を提供することが望ましく、本開示はこれを目的とする。
【図面の簡単な説明】
【0009】
図1】脅威スコアリングの例を示す図である。
図2】脅威スコアリングシステムの実装例を示す図である。
図3】脅威スコアリングシステム及び方法のさらなる詳細を示す図である。
図4】脅威スコアリングシステムの初期ユーザインターフェイス例を示す図である。
図5】脅威スコアリング方法の一部である脅威因子の選択を行うためのユーザインターフェイス例を示す図である。
図6】脅威スコアリング方法の一部である選択された因子への重みの割り当てを行うためのユーザインターフェイス例を示す図である。
図7】脅威スコアリング方法の一部である機械学習脅威スコアリングのさらなる詳細を示す図である。
図8】脅威スコアリング方法において使用されるデータセット例を示す図である。
図9】脅威スコアリング方法の結果を表示するためのユーザインターフェイス例を示す図である。
【発明を実施するための形態】
【0010】
本開示は、サイバー脅威のための脅威スコアリングシステムにとりわけ適用可能であり、この文脈で本開示を説明する。しかしながら、このシステムは、異なるタイプの脅威のスコアリングに使用することも、他の形で実装することもできるので、システム及び方法は非常に有用であると理解されるであろう。
【0011】
図1に、後述する脅威スコアリングシステム及び方法の結果とすることができる脅威スコアリングの例を示す。脅威とは、一般に宛先ソース(コンピュータ装置)に違法にアクセスし、コンピュータ装置から情報/データを違法に抽出し、及び/又はコンピュータ装置が正しく機能するのを妨げようと試みる攻撃ソース(人物、事業体など)による、コンピュータネットワーク、コンピュータ及びサーバなど(それぞれを総称して「コンピュータ装置」)に対する攻撃のことである。脅威スコアは、コンピュータ装置にとって脅威がどれほど危険であるかについての評価であり、このスコアは、30を超える異なる特徴に基づくことができる。図1には、異なる脅威スコアに緊急~高~並の範囲に及ぶ異なる脅威レベルを割り当てた脅威スコアリングの例も示す。結果として得られる脅威スコアは、事業体のIT担当者又はその他のセキュリティ要員が使用することができる。例えば、脅威スコアは、緊急の脅威に対するリソースの優先順位付け及びその他の用途に使用することができる。
【0012】
図2に、脅威スコアの決定及び脅威スコアの結果表示に使用できる脅威スコアリングシステム200の実装例を示す。この実装では、クライアント/サーバタイプのコンピュータアーキテクチャが使用されている。しかしながら、脅威スコアリングシステムは、いずれかの特定のコンピュータアーキテクチャに限定されるものではないため、クラウドベースのアーキテクチャ、スタンドアロン型コンピュータ及びメインフレームコンピュータシステムなどを用いて実装することもできる。
【0013】
システム200は、通信経路204を介してバックエンドシステム206に接続して相互作用することができる、図2に示すコンピュータ装置202A、202B、...、202Nなどの1又は2以上のコンピュータ装置202(フロントエンドの一部)を有することができる。各コンピュータ装置202は、(図4図9に例を示す)システムのユーザインターフェイスを表示し、バックエンドシステム206からデータを受け取り、図示のクライアントサーバの実装ではフォームを満たし又はウェブページと相互作用することなどによってバックエンドシステムにデータを入力し、ブラウザ内に表示できるHTMLコードのウェブページなどを使用してバックエンドシステム206から結果を受け取るために使用することができる。各コンピュータ装置202は、1又は2以上のプロセッサと、SRAM又はDRAMなどのメモリと、フラッシュメモリ又はハードディスクドライブなどの永続ストレージと、ディスプレイと、通信回路とを含むプロセッサベースの装置とすることができる。例えば、各コンピュータ装置202は、Apple iPhone(登録商標)又はAndroid OSベースの装置などのスマートホン装置、コンピュータシステム、ラップトップコンピュータ、タブレットコンピュータ及び端末などとすることができる。図2に示す実装では、各コンピュータ装置202が、プロセッサがバックエンドシステム206と相互作用するために実行するブラウザアプリケーションを有することができる。他の実施形態では、各コンピュータ装置202が、コンピュータ装置のユーザをバックエンドシステム206に接続して相互作用を可能にするモバイルアプリケーション、又はコンピュータ装置にダウンロードされたアプリケーションを有することができる。
【0014】
通信経路204は、各コンピュータ装置をバックエンドシステム206に接続し、様々な通信及びデータプロトコルを用いたバックエンドシステムとのデータ交換を可能にする、有線通信リンク、無線通信リンク、又は有線通信リンクと無線通信リンクとの組み合わせとすることができる。例えば、図2に示す実装では、通信プロトコルがTCP/IPであり、データ転送プロトコルがHTTP又はHTTPSであって、データの通信にHTMLコードを使用することができる。例えば、通信経路204は、イーサネット(登録商標)ネットワーク、ケーブルネットワーク、WiFiネットワーク、セルラーデジタルデータネットワーク、デジタルデータネットワーク及びデジタルコンピュータネットワークなどのうちの1つ又は2つ以上とすることができる。
【0015】
バックエンド206は、サーバコンピュータ、メインフレームコンピュータ、ブレードサーバ、プロセッサ及び記憶装置などの1又は2以上のコンピューティングリソースを用いて実装することができる。1つの実装では、バックエンド206が、(複数行の命令/コンピュータコードを有する)脅威スコアリングコンポーネント208を実行して後述の脅威スコアリング方法を実施できる少なくとも1つのプロセッサを有することができる。他の実装では、脅威スコアリングコンポーネント208を、後述する脅威スコアリング方法を実施する1つのハードウェア(集積回路、マイクロコントローラ、論理装置など)とすることができる。
【0016】
システム200は、脅威スコアリングコンポーネント208がアクセスできるストレージ210を有することもでき、そのデータを使用して後述するような脅威スコアリング方法を実行することができる。ストレージ210は、例えばユーザデータ、後述するような様々なタイプの脅威データ及び脅威データ因子、並びに他の様々なタイプのデータを記憶することができる。
【0017】
図3に、例えば図2に示すシステム200を用いて実装できる脅威スコアリングシステム及び方法300のさらなる詳細を示す。図3に示すように、この方法は、フロントエンド内の(単複の)コンピュータ装置202と、バックエンドシステム206とを用いて実行することができる。この方法は、脅威因子を選択するプロセス302と、選択された因子に重みを割り当てるプロセス304と、脅威スコアリング及び性能評価を決定するプロセス306とを含むことができる。プロセス302、304は、グランドトゥルースを計算した後に、このグランドトゥルースを用いて、選択された因子に基づいてさらに正確な脅威スコアを生成する。図4には、脅威スコアを決定するプロセスの概要をユーザに示すことができる、脅威スコアリングシステムの初期ユーザインターフェイスの例を示す。
【0018】
脅威因子の選択302
このプロセス302中には、1又は2以上の脅威因子の選択/システムへの入力を行うことができる(310)。1つの例では、ユーザが、ユーザインターフェイスを用いてシステムに1又は2以上の脅威因子を入力することができる。図5に、脅威因子を入力するためのユーザインターフェイス例を示す。図5の例では、ユーザが選択できる脅威因子が、例えば攻撃回数、攻撃の多様性、センサの多様性、dimension data社の注釈、Palo Alto Networks社の脅威、ハニーポット検出及びDSAP検出を含むことができる。攻撃回数は、脅威情報内のオリジナルソースに示される1つのIPアドレスの数である。攻撃の多様性は、1つのオリジナルIPアドレスが攻撃している一意的な宛先ソースの数である。センサの多様性は、1つのオリジナルIPアドレスを脅威情報として獲得した一意的なセンサの数である。dimension data社の注釈及びPalo Alto Networks社の脅威は、他のセキュリティ会社が手動又は自動で獲得した攻撃情報の例である。ハニーポット検出及びDSAPは、脅威情報を獲得する脅威分析ツールの例である。1つの実施形態では、選択のためにユーザに表示できる脅威因子を、システムのストレージ210が記憶できる脅威データ210Aに基づいて生成(から抽出)することができる。脅威データは、システムの設計において考慮されるセキュリティ専門家からの入力に基づくオリジナルデータとすることができる。脅威因子は、データプリプロセッサ312及び因子抽出器314を用いて抽出することができる。データプリプロセッサは、脅威データを処理して正規化することができ、脅威データから抽出された各因子のスコアは、後述するようにスケーリングすることができる。
【0019】
以下は、システムが因子を抽出できるオリジナルデータの例である。
【表1】
【0020】
システムは、上記の脅威データ例に基づいて脅威データから因子を抽出することができる。システムは、上記のデータ例から7つの因子を抽出することができるが、データに応じて、並びにセキュリティ専門家が顧客にとって何が適切であると考えるかに応じて、さらに少ない又は多くの因子を抽出することもできる。システムは、上記のデータ例に基づいて以下の7つの因子候補を抽出することができる。
1:攻撃回数
2:攻撃の多様性
3:センサの多様性
4:dimension data社の注釈
5:Palo Alto Networks社のスレッド
6:ハニーポット検出
7:DSAP検出
【0021】
図5に、ユーザが脅威因子を選択できる元となる抽出された因子を表示するインターフェイスの例を示す。ユーザは、このユーザインターフェイス内で、抽出された因子のうちの1つ又は2つ以上を選択することができる。このユーザインターフェイスでは、各抽出された因子のデータのアカウントサイズが括弧内に示される。従って、(図5に示すDSAP検出因子のように)データサンプルが小さければ小さいほど精度が低くなる(性能が低下する)ので、顧客は、因子を選択する際にデータのサイズを考慮する必要がある。
【0022】
システムは、これらの因子のスコアを0~1になる(0<=f*<=1)ようにスケーリングする。
【0023】
選択された因子への重みの割り当て(304)
このプロセス304では、フロントエンド(コンピュータ装置202のうちの1つ)を用いて、選択された各因子の重みを割り当てることができる。1つの実施形態では、ユーザが、(図6に例を示す)ユーザインターフェイスを用いて、各選択された因子に重みを割り当てることができる。重みの割り当ては容易でないため、システムは、図6に示すようにユーザによる相対的な因子の重要度の指定を可能にすることによってユーザに単純な重み指定方法を示す。
【0024】
図6に示す例では、ユーザがシステムに、センサの多様性因子が攻撃の多様性因子よりも5倍重要であり、センサの多様性因子がDimension Data社の注釈因子よりも3倍重要であり、攻撃の多様性因子がDimension Data社の注釈因子よりも7倍重要であることを示す。なお、相対的重要度の重み付けスケールは調整可能である。従って、別のデータセットでは、5の相対的重要度因子を選択すると、1つの因子が別の因子よりも1.5倍重要であることを示すことができる。
【0025】
プロセス304では、プロセスが、相互作用的重み計算322、グランドトゥルース計算324(及び正規化)、並びに選択された因子と、因子抽出器314から抽出された因子と、事前処理されてスケーリングされた脅威データ及び脅威スコアデータとに基づく特徴エンジニアリング326を含むことができる。
【0026】
相互作用的重み計算(322)中には、因子の選択に基づいて顧客にn2個の組み合わせパターンが提示される。システムは、上記の顧客選択を用いて因子aと因子bとの間の重み(wab)を計算することができる。この時、n×nの逆行列は以下のようになる。
【数1】
【0027】
例えば、図5の例における選択によれば、システムは以下の値を生成することができる。
・f1対f2=5
・f2対f3=1/3
・f3対f1=7
【0028】
この結果、以下のようになる。
【数2】
【0029】
全体的な重みの計算では、以下の式に示すようにWの第1の固有ベクトルが全体的な重みに対応することが知られている。
EigVec(A)=W=[w1*,w2*,w3*
【0030】
この式では、w1*が全体的な重みを表す。
【0031】
システムは、正規化された重みw1を計算するために以下の式を使用する。
【数3】
【0032】
この例では、w1*=[-0.305,-0.138,-0.942]^Tであり、w_1=[0.220,0.100,0.680]^Tである。
【0033】
次に、グランドトゥルースプロセス324は、正規化された重みを用いて以下のようなグランドトゥルースの計算を行い、ここでのfkはk番目の因子を表す。
f=[f1,f2,...,fk,...,fn
score=f×w1([1×n]×[n×1]=scalar)
【0034】
この計算を、完全なデータセット全てについて行うべきである。なお、全てのデータ点が計算可能なグランドトゥルースを有しているわけではない。例えば、因子の次元データスコア(DDスコア)がNaNである(数字でない)場合には、グランドトゥルースを計算することはできない。例えば、図7に示すように、脅威103及び104は、DDスコアがNaNであるため計算することができない。図7に示すように、上記の因子例の計算されたグランドトゥルースが示されている。
【0035】
これらのプロセスの要点は、システムの各顧客/ユーザが脅威分析に異なる重点を置くことができ、従ってユーザが適用する重点に基づいて脅威スコアリングが調整される点である。このシステムでは、特徴抽出が、30次元データ点を有することができるオリジナル脅威データ210Aを使用し、上述したように抽出された因子がさらなる特徴をもたらす。これらの2つの成分は、1つの特徴として連結される。
【0036】
特徴エンジニアリング326の目的は、未加工のデータを機械学習に適したデータに変換することである。カテゴリ情報は、ワンホット(one-hot)エンコードすることができる。脅威データの例では、以下のリストを変換すべきである。このトランザクションは、特徴空間を40から180に拡張する。
one_hot_list=[“category”、“killChain”,“identifiedBy”,“releaseLimits”,“destinationCountryCode”,“destinationCity”,“sensorTYpe”,“dataSource”,“timestampReceived_weekday”,“timestampReceived_24hour”,“timestampIdentified_weekday”,“timestampIdentified_24hour”,“expirationDate_weekday”,“expirationDate_24hour”,“modificationtimestamp_weekday”,“modificationtimestamp_24hour”]
【0037】
他の特徴は、スコアが0.0~1.0になるようにスケーリングすることができる。図8に、例示的なデータの最終データセットを示す。この最終データセットは、スケーリングされた未加工の非カテゴリデータと、ワンショットエンコードされた未加工のカテゴリデータと、抽出されてスケーリングされた因子と、計算されたグランドトゥルース(ラベル付きデータ)との組み合わせである。
【0038】
機械学習及び性能評価プロセス306による脅威スコアリング
このプロセス306では、システムが、機械学習を実行して脅威をスコアリングし330、性能評価を行い332、その後にユーザに対してコンピュータ装置202上に表示できる結果を生成する334。図9に、例示的なデータの結果例を示す。
【0039】
この回帰モデルである予測モデルは、上述した一意的IDの問題に起因して一定のリフレッシュ間隔でリモデリングされ、これによってIPアドレスを更新し続けなければならない。このリフレッシュ間隔は、データ分析に必要な計算時間を考慮することによって決定することができる。機械学習を用いた回帰予測に関しては、計算されたグランドトゥルースを含むデータ(図7の脅威101及び102)を機械学習分析に使用し、これらのデータを用いてラベルなしデータ(脅威103及び104)をスコアリングする。システムがモデルを構築した後には、特徴が完全なものであるか、それとも補足的なものであるかのみについて特徴を考慮する。
【0040】
回帰モデルは、以下のモデルのうちの1つ又はこれらの組み合わせとすることができる。
ロジスティック回帰
ディープラーニング
ランダムフォレスト
【0041】
現実の稼働環境では、予測性能を最大化するように、試行錯誤を通じてこの回帰モデルを慎重に選択しなければならない。図9に、機械学習の結果例を示す。
【0042】
性能評価332
システムは、回帰モデルに一般的に使用されているメトリックである二乗平均平方根誤差(RMSE)メトリックを評価のために使用する。図9には、ユーザに表示される性能評価例を示す。
【0043】
RMSEの計算には以下の公式が使用され、ここでのxはグランドトゥルースであり、x~は予測値であり、Nはデータサイズである。
【数4】
【0044】
例えば、グランドトゥルースが0.80であるデータは、0.7であると予測される。この場合、誤差は0.1である。グランドトゥルースが0.60であるデータは、0.9であると予測される。この場合、誤差は0.3である。これらの2つのデータ点のRMSEは、0.2である。
【0045】
完全なデータについてのみ10分割交差検証(10-fold cross validation)を実行しなければならない。
【0046】
たとえ前の図のオレンジボックスデータ内に機械学習の力が特別に示されていたとしても、これらのデータの予測性能を計算することはできない。
【0047】
実験結果
システムの性能を評価するために、システムを使用して小さなデータセット例を処理することができる。このデータセットのために、6時間のライブ脅威データと、1000個のシードを含むランダムフォレスト回帰モデルとを使用した。3.1GHz Intel Core i7プロセッサと16GBのRAMとを備えたMacBook Pro上で実験を行った。
【0048】
10回の試行にわたる精度結果の平均値は以下の通りである。
RMSE学習誤差:0.039
RMSE試験誤差:0.041
【0049】
計算時間結果は以下の通りである。
グランドトゥルース計算:58秒
学習処理:3分30秒
試験処理:14秒
【0050】
図9に示すように、ユーザインターフェイスは、機械学習データを含むテーブルを表示することができ、このテーブルは脅威情報をリスト化する。このテーブルは、リスト化された脅威毎にグランドトゥルーススコア及び予測スコアを表示する。ユーザは、このテーブルを用いてスコアの妥当性を確認することができる。ユーザインターフェイスは、分析された脅威スコアのRMSE信頼性メトリックも表示する。ユーザインターフェイスは、さらなる分析に使用できる、結果を可視化したグラフをネットワークグラフの形で示すこともできる。結果の表示に加え、ユーザは、図9に示すユーザインターフェイスを用いて、1)カンマで区切られた形式のスコアリング結果、2)スコアリング結果のネットワークグラフ可視化、及び/又は3)分析において使用されたオリジナルデータ、をダウンロードすることもできる。
【0051】
以上、特定の実施形態を参照しながら説明目的で解説を行った。しかしながら、上記の例示的な説明は、完全であることや、或いは開示した厳密な形に本開示を限定することを意図したものではない。上記の教示に照らして多くの修正及び変形が可能である。これらの実施形態は、本開示の原理及びその実際の応用を最良に説明することにより、他の当業者が検討する特定の用途に適した形で本開示及び様々な実施形態を様々に修正して最良に利用できるように選択し説明したものである。
【0052】
本明細書に開示したシステム及び方法は、1又は2以上のコンポーネント、システム、サーバ、機器又はその他のサブコンポーネントを通じて実装することができ、或いはこのような要素間で分散することもできる。システムとして実装する場合、このようなシステムは、とりわけ汎用コンピュータで見られるソフトウェアモジュール、汎用CPU、RAMなどのコンポーネントを含み、及び/又は伴うことができる。サーバに革新性が存在する実装では、このようなサーバが、汎用コンピュータで見られるようなCPU、RAMなどのコンポーネントを含み、及び/又は伴うことができる。
【0053】
また、本明細書におけるシステム及び方法は、上述した以外の異種の又は完全に異なるソフトウェアコンポーネント、ハードウェアコンポーネント及び/又はファームウェアコンポーネントを含む実装を通じて実現することもできる。このような他のコンポーネント(例えば、ソフトウェア、処理コンポーネントなど)、及び/又は本発明に関連する又は本発明を具体化するコンピュータ可読媒体については、例えば本明細書における革新性の態様を数多くの汎用又は専用コンピュータシステム又は構成と調和させて実装することができる。本明細書における革新性との併用に適することができる様々な例示的なコンピュータシステム、環境及び/又は構成としては、以下に限定されるわけではないが、パーソナルコンピュータ、ルーティング/接続性コンポーネントなどのサーバ又はサーバコンピュータ装置、ハンドヘルド又はラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、消費者電子装置、ネットワークPC、他の既存のコンピュータプラットフォーム、上記のシステム又は装置のうちの1つ又は2つ以上を含む分散型コンピュータ環境などの内部の又はこれらに組み込まれたソフトウェア又はその他のコンポーネントを挙げることができる。
【0054】
場合によっては、システム及び方法の態様を、例えばこのようなコンポーネント又は回路に関連して実行されるプログラムモジュールを含む論理回路及び/又は論理命令を介して実現し、或いはこのような論理回路及び/又は論理命令によって実行することもできる。一般に、プログラムモジュールは、本明細書における特定のタスク又は特定の命令を実行するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むことができる。また、本発明は、通信バス、通信回路又は通信リンクを介して回路が接続された分散ソフトウェア、分散コンピュータ又は分散回路環境を背景として実施することもできる。分散環境では、メモリストレージデバイスを含むローカルコンピュータ記憶媒体及び遠隔コンピュータ記憶媒体の両方から制御/命令を行うことができる。
【0055】
本明細書におけるソフトウェア、回路及びコンポーネントは、1又は2以上のタイプのコンピュータ可読媒体を含み及び/又は利用することもできる。コンピュータ可読媒体は、このような回路及び/又はコンピュータコンポーネント上に存在する、これらに関連する、又はこれらがアクセスできるいずれかの利用可能な媒体とすることができる。一例として、限定するわけではないが、コンピュータ可読媒体としてはコンピュータ記憶媒体及び通信媒体を挙げることができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール又はその他のデータなどの情報を記憶するためのいずれかの方法又は技術で実装された揮発性及び不揮発性の取り外し可能及び取り外し不能媒体を含む。コンピュータ記憶媒体は、以下に限定するわけではないが、RAM、ROM、EEPROM、フラッシュメモリ又はその他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)又はその他の光学ストレージ、磁気テープ、磁気ディスクストレージ又はその他の磁気記憶装置、或いは所望の情報を記憶するために使用できるとともにコンピュータコンポーネントがアクセスできる他のいずれかの媒体を含む。通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール及び/又はその他のコンポーネントを含むことができる。さらに、通信媒体は、有線ネットワーク又は直接有線接続などの有線媒体を含むことができるが、本明細書におけるこのようなタイプの媒体は、いずれも一時的媒体を含まない。また、上記のいずれかの組み合わせもコンピュータ記憶媒体の範囲に含まれる。
【0056】
本明細書におけるコンポーネント、モジュール、装置などの用語は、様々な形で実装できるあらゆるタイプの論理的又は機能的ソフトウェア要素、回路、ブロック及び/又はプロセスを意味することができる。例えば、様々な回路及び/又はブロックの機能を互いに組み合わせて他のあらゆる数のモジュールにすることができる。各モジュールは、中央処理装置に読み取られて本明細書における革新性の機能を実行できる、有形メモリ(例えば、ランダムアクセスメモリ、リードオンリメモリ、CD-ROMメモリ、ハードディスクドライブなど)に記憶されたソフトウェアプログラムとして実装することもできる。或いは、これらのモジュールは、汎用コンピュータに送信される、又は送信搬送波を介して処理/グラフィックスハードウェアに送信されるプログラミング命令を含むこともできる。また、モジュールは、本明細書における革新性に含まれる機能を実装するハードウェア論理回路として実装することもできる。最後に、これらのモジュールは、専用命令(SIMD命令)、フィールドプログラマブルロジックアレイ、又は所望のレベルの性能及びコストをもたらすこれらのいずれかの混合物を用いて実装することもできる。
【0057】
本明細書に開示したように、本開示による機能は、コンピュータハードウェア、ソフトウェア及び/又はファームウェアを通じて実装することができる。例えば、本明細書で開示したシステム及び方法は、例えばデータベース、デジタル電子回路、ファームウェア、ソフトウェア又はこれらの組み合わせも含むコンピュータなどのデータプロセッサを含む様々な形態で具体化することができる。さらに、開示した実装の一部では、特定のハードウェアコンポーネントについて説明しているが、本明細書における革新性によるシステム及び方法は、ハードウェア、ソフトウェア及び/又はファームウェアのあらゆる組み合わせを用いて実装することもできる。さらに、上述した機能及びその他の態様、並びに本明細書における革新性の原理は、様々な環境で実装することができる。このような環境及び関連する用途は、本発明による様々なルーチン、プロセス及び/又は動作を実行するように特別に構成することも、或いは汎用コンピュータ、又は必要な機能を提供するようにコードによって選択的に有効化又は再構成されたコンピュータプラットフォームを含むこともできる。本明細書で開示したプロセスは、本質的にいずれかの特定のコンピュータ、ネットワーク、アーキテクチャ、環境又はその他の装置に関連するものではなく、ハードウェア、ソフトウェア及び/又はファームウェアの好適な組み合わせによって実装することができる。例えば、本発明の教示に従って書かれたプログラムと共に様々な汎用機械を使用することもでき、或いは必要な方法及び技術を実行するように特殊な装置又はシステムを構成する方が便利な場合もある。
【0058】
本明細書で説明したロジックなどの方法及びシステムの態様は、フィールドプログラマブルゲートアレイ(「FPGA」)、プログラマブルアレイロジック(「PAL」)デバイス、電気的にプログラム可能なロジックなどのプログラマブルロジックデバイス(「PLD」)、メモリデバイス及び標準的なセルベースの装置、並びに特定用途向け集積回路を含む様々な回路のいずれかにプログラムされる機能として実装することもできる。態様を実装するための他のいくつかの可能性としては、メモリデバイス、(EEPROMなどの)メモリ付きマイクロコントローラ、内蔵マイクロプロセッサ、ファームウェア、ソフトウェアなどが挙げられる。さらに、ソフトウェアベースの回路エミュレーション、個別ロジック(順序ロジック及び組み合わせロジック)、カスタムデバイス、ファジー(ニューラル)ロジック、量子デバイス、及びこれらのデバイスタイプのいずれかの混成を有するマイクロプロセッサにおいて態様を具体化することもできる。例えば、金属酸化物半導体電界効果トランジスタ(「MOSFET」)技術に似た相補型金属酸化物半導体(「CMOS」)、バイポーラ技術に似たエミッタ結合型論理回路(「ECL」)、ポリマー技術(例えば、シリコン共役ポリマー及び金属共役ポリマー金属構造体)、混合アナログ及びデジタルなどの基礎デバイス技術を様々なコンポーネントタイプで提供することができる。
【0059】
また、本明細書で開示した様々なロジック及び/又は機能は、挙動特性、レジスタ転送特性、論理コンポーネント特性及び/又はその他の特性の観点から、ハードウェア、ファームウェアのあらゆる数の組み合わせを使用して、及び/又は機械可読又はコンピュータ可読媒体に具体化されたデータ及び/又は命令として有効にすることができる。このようなフォーマットデータ及び/又は命令を具体化できるコンピュータ可読媒体は、限定的な意味ではなく様々な形態の不揮発性記憶媒体(例えば、光学記憶媒体、磁気記憶媒体又は半導体記憶媒体)を含むことができるが、ここでも一時的媒体は含まない。本明細書全体を通じ、「備える(comprise、comprising)」などの用語は、文脈上明らかに他の意味を必要としない限り、排他的又は網羅的な意味の対語である包括的な意味で、すなわち「~を含むけれどもそれに限定されない(including,but not limited to)」という意味で解釈されたい。また、単数又は複数を用いた単語は、それぞれ複数又は単数も含む。また、「本明細書において(herein)」、「本明細書に従って(hereunder)」、「上記の(above)」、「以下の(below)」、及び同様の意味の単語は、本出願のいずれかの特定の部分ではなく本出願全体を示す。2又は3以上の項目のリストへの言及において「又は(or)」という単語を使用している場合、この単語は、リスト内のいずれかの項目、リスト内の全ての項目、及びリスト内の項目のいずれかの組み合わせ、という解釈を全て含む。
【0060】
本明細書では、本発明の現在のところ好ましいいくつかの実装について具体的に説明したが、本発明に関連する当業者には、本発明の趣旨及び範囲から逸脱することなく、本明細書で図示し説明した様々な実装の変形及び変更を行えることが明らかであろう。従って、本発明は、適用される法の原則によって定められる範囲のみに限定されるように意図されている。
【0061】
上記では、本開示の特定の実施形態について言及したが、当業者であれば、本開示の原理及び趣旨から逸脱することなく実施形態に変更を行うことができ、本開示の範囲は添付の特許請求の範囲によって定められると理解するであろう。
【符号の説明】
【0062】
200 脅威スコアリングシステム
202A~N コンピュータ装置
204 通信経路
206 バックエンドシステム
208 脅威スコアリングコンポーネント
210 ストレージ
図1
図2
図3
図4
図5
図6
図7
図8
図9