サイバーセキュリティにおけるAIの最適アルゴリズムの選択

2018年8月15日
Sohrob Kazerounian
Distinguished AI Researcher
サイバーセキュリティにおけるAIの最適アルゴリズムの選択

前回のブログでは、検索と最適化に関するNFL(No-Free-Lunch)の定理について言及した。NFLの定理は犯罪的なまでに誤解され、主張を意図した粗雑な一般化のために誤用されているが、私はまさにそのような主張をするために粗雑なNFLの一般化を展開するつもりである。

NFLの定理は(大雑把に言えば)、アルゴリズムのゴールが入力データXをターゲットラベルYにマッピングする関数を学習することである問題セットのユニバースが与えられたとき、アルゴリズムAがアルゴリズムBを凌駕する問題のサブセットがあれば、BがAを凌駕する問題のサブセットも存在するというものである。

少し手を振るだけで、サイバーセキュリティ領域におけるNFLの定理を構築することができる:ハッカーによって採用される可能性のあるすべての攻撃ベクトルの集合において、単一の検知アルゴリズムが、攻撃の全領域にわたって他のすべてのアルゴリズムを凌駕することはない。

サイバーセキュリティにおけるAIの最適なアルゴリズム選択

人工知能 - AI

この時点で、あなたはこう問いたくなるかもしれない:もしあるアルゴリズムが、可能な限りの攻撃を検知することにおいて、平均して他のすべてのアルゴリズムと同じパフォーマンスを示すのであれば、なぜ侵入検知のための機械学習(ML)アルゴリズムの開発に労力を費やすのだろうか?

その理由は単純で、NFLの定理(探索、最適化、そして現在はサイバーセキュリティ)が本当に適用できるのは、すべての可能な問題空間に対して一様な事前分布を持つ仮想世界だけだからである。しかし現実の世界では、私たちが関心を持つのはこれらの問題のごく一部であり、その問題の一部に対する事前分布が一様である可能性は低い。さらに、どのようなアルゴリズムであっても、スペースや実行時間の制約を受けるだけでなく、他の実世界の要因(例えば、解釈可能性の必要性など)を考慮しなければならないという事実が加わると、アルゴリズム間の選択が互いに容易に比較測定できることがすぐに明らかになります。

とはいえ、NFLの定理の実用的な応用は技術的な厳密さに耐えるものではないが、それでも優れたヒューリスティックとして役立っている。このことは、コンピュータビジョン、自然言語処理、金融予測などさまざまなタスクに関する最先端の技術が、すべて異なるアルゴリズムを利用しているという事実が証明している。

では、実際にどのようにしてサイバーセキュリティに最適なアルゴリズムを選べばいいのだろうか?

広範な攻撃者の振る舞いを検知するためには、一連のアルゴリズムが必要であり、それぞれのアルゴリズムは、最適なパフォーマンスを発揮するために必要なドメイン固有の知識を統合するだけでなく、導入可能なアルゴリズムとそれらの相互比較に関する深い技術的理解をもって適切に設計されなければならない。

各アルゴリズムは、以下の質問を念頭に置いて設計されるべきである:

  • アルゴリズムは教師ありか教師なしか?回帰か分類か?
  • インプットを表現したり、投影したりする自然な空間はあるか?
  • そうでない場合、アルゴリズムは特徴表現を学習すべきか、それとも入力を直接使うべきか?
  • 入力は静的なデータとして表現するのが最適か、それとも逐次的/時系列的なデータとして表現するのが最適か。
  • シーケンシャルの場合、分類かラベリングか?
  • 多くのタイムステップにわたって時間依存性があるのか?あるいは、データは単純にマルコフ的か?
  • 入力の次元数に対するトレーニングデータの量は?データは(非常に)非線形か?

ドメイン知識

アルゴリズムには知識が必要だ。問題の性質に関する基本的な疑問が決まれば、既製の機械学習ソリューションの多くを導入することができる。しかし、信頼性の高い結果を得るには、使用する技術について比較的深い数学的理解が必要となる。

例えば、長期短期記憶(LSTM)モデルとして知られる、逐次データや時系列データの処理に最先端のニューラルネットワークを使用することに大きな関心が寄せられていることを考えてみよう。グーグルのディープラーニング・フレームワークであるTensorFlowのようなツールは、LSTMを実装するのに必要な基礎的な数学(この場合、表記に重きを置く偏微分の列)を抽象化する傾向があるが、それでもアルゴリズムを正しく、適切なタイプの問題に使用するには知識が必要だ。

今回のケースのように、多くのサイバーセキュリティ・ベンダーは、特にディープラーニングとLSTMモデルの使用を宣伝している。しかし、このニューラルネットワークが実際にどのように機能し、脅威検知にどのように適用したかを正しく説明していない。アルゴリズムに関するドメイン知識に加えて、入力ドメインを深く理解することで、下流のアルゴリズムによる脅威検知を大幅に簡素化することができる。例として、単純な2クラス分類タスクを考えてみよう。小さな円上にある点はクラス0とみなされ、周囲を囲む大きな円上にある点はクラス1とみなされる。

もし入力がデカルト座標で表現されるなら、線形分類器はこの2つのクラスを分離することを学習できない。その代わりに、入力を表現する自然な方法がデカルト座標ではなく極座標であることが分かっていれば、この問題は線形分類器によって簡単に学習できる。これは図1に可視化されており、直交座標の場合には線形決定境界は引けないが、極座標の場合には些細なことである。

単純な2クラス分類問題。入力が直交座標系で表現される場合、2つのクラスを分離する線形分類器を学習することはできない。しかし極座標では、この問題は些細なものになる。
単純な2クラス分類問題。入力が直交座標系で表現される場合、2つのクラスを分離する線形分類器を学習することはできない。
しかし極座標では、この問題は些細なことになる。図は"Deep Learning "Goodfellow et al.

異常検知と悪意のある振る舞い

サイバーセキュリティにおいて、異常検知は悪意のある振る舞いを検知することとは違う。

たとえ統計モデルが、脅威検知システムが追跡すべき接続時間、ポート、その他の情報の基礎となる分布を正確に学習したとしても、何が正常な振る舞いで、何が異常値なのかを判断しなければならない。

例えば、0.01%未満の確率で発生する入力を異常値としてフラグを立てる閾値を選んだとしよう。選択した統計モデルとは無関係に、統計モデルの精度が高ければ高いほど、全入力の0.01%を異常値としてフラグを立てる可能性が高くなる。

異常値や異常値をサイバー攻撃と混同しないようにすることが重要である。異常値や異常値の入力が悪意のあるものであるかどうかを判断しようとする場合、サイバー攻撃のさまざまな側面を適切にモデル化することが必要である。

攻撃タイプを考慮することなく異常値や異常値データにフラグを立てることは、追跡される入力特徴が異常ではないため、攻撃を見過ごす結果になりかねない。攻撃は通常の時間に、通常のポートで、通常の地理的位置から発生するように修正することができ、純粋な異常または異常値検知モデルを回避することができる。

教師なし学習と次元/多様体

教師なしデータからの学習は難しい。教師なしデータから正しく学習するのはさらに難しい。一般に、教師なし学習は、次元の呪いと呼ばれる問題のために難しい。

この問題は、入力データの次元が十分に大きく、アルゴリズムが利用可能な例数よりも、入力データが占める空間の体積の方がはるかに速い速度で大きくなることが多いということである。

これは次元数の多いデータや特徴数の多いデータ、また本質的に高次元であることが多い時系列データにも当てはまる。このように、教師なしアルゴリズムは、推論を行うための十分な証拠がないにもかかわらず、データが引き出された分布について推論を行わなければならないことが多い。

さらに悪いことに、入力の次元が低い状況であっても、データが横たわる特定の多様体は、異なるアルゴリズムによる特定の学習技術を助長しない場合がある。

例えば、2次元入力のデータセットを想像してほしい。人間の目にはクラスタが明白に見えるが、さまざまな教師なし学習アルゴリズムは、データを複数の方法でモデル化しようとする。与えられた問題に対してどのアルゴリズムが適切かを知ることは、ますます重要になってくる。

下図は、教師なし学習アルゴリズムのセットと、最も基本的な設定においてさえ、それらがどのように異なるかを示している。

多くの異なるデータセットに対する異なる教師なし学習アルゴリズム。学習されたクラスタの多様性によって示される、これらのアルゴリズムの広範な挙動は、アルゴリズムとデータの両方を理解することが非常に重要である理由を示している。
図は、scikit-learnのドキュメントから引用した。
scikit-learn ドキュメントより引用。

同じクラスの教師なし学習アルゴリズムであっても、多くの異なる結果があるかもしれない。次の図は、選択された特定のタイプのスペクトル・クラスタリング・アルゴリズムによる、学習されたクラスタの違いを示しています。

多数の異なるデータセットに対する異なるスペクトルクラスタリングアルゴリズムの結果。

図は "on Spectral Analysis and an Algorithm" [Ng, Jordan and Weiss (2001)]から引用。

このエントリーの例と説明で、アルゴリズムに対する深い数学的理解と、そのアルゴリズムが適用されるサイバーセキュリティ領域の理解が、パフォーマンスの高いIDSシステムを構築する上で非常に重要であることがお分かりいただけたと思います。

他のすべてのアルゴリズムを凌駕する単一のアルゴリズムは存在しないし、"既製品 "のアルゴリズムを使う簡単な方法もない。フリーランチは存在しないのだ。

Goodfellow, I., Bengio, Y., Courville, A., & Bengio, Y. (2016).Deep learning(Vol. 1).Cambridge:MIT press.
Ng, A. Y., Jordan, M. I., & Weiss, Y. (2002).スペクトルクラスタリングについて:解析とアルゴリズム。InAdvancesin neural information processing systems(pp. 849-856).