こんにちは。はなくとです。
今回は、SIEMについて調べていたらUEBAという面白い技術を見つけたので紹介したいと思います。
1.UEBAとは?
UEBAとは、ユーザ/システムの振る舞いを統計分析・ 機械学習を利用して学習し、 異常な振る舞いを検知する技術のことです。正常なユーザ/システムの振る舞いは、認証サーバ等の各種ログをもとに定義され、正常な振る舞いから外れると異常な振る舞いとみなされます。ちなみにこの技術が使われているSIEMを次世代SIEM と呼んでいるようです。次世代○○という言葉を見かけるようになりましたが、 いつになったら現世代と言われるんでしょうね。。
2.UEBAのメリット
UEBAは従来のルールベース型の検知手法(シグネチャ型も広義の意味でここに含める)と比較して何が優れているのか考えてみたいと思います。
2.1 UEBAとルールベース型の比較
ルールベース型と比較したUEBAの優位点として、セキュリティインシデントの検知範囲が広いことが挙げられると考えています。
ルールベース型の検知方法の場合、(当然ですが)ルールが無いと検知しません。即ち、UEBAと同様に異常な振る舞いを全て検知しようとする場合、異常な振る舞いを全てルール化し尽くす必要があります。これは現実的に不可能です。
一方でUEBAでは、正常な振る舞いというベースラインがあり、そこから外れるものは全て(強弱はあるものの)異常な振る舞いとされるため、ルールベースと比較して検知範囲は広く、しかもルールを作成する手間が不要です。
UEBAの技術を利用すると標的型攻撃に用いられるマルウェアのようにマルウェア自体を検知できなくても、異常な振る舞いがあれば、マルウェア感染の疑いを検出できる可能性があります。
2.2 UEBAを利用した異常な振る舞いの検知例
もう少し具体的にUEBAが検知できる異常な振る舞いについて例を用いて見ていきたいと思います。まず、正常な振る舞いを以下のように学習したとします。
①平日9時にパソコンにログインする
②数MBのデータを取り扱う
③オンラインストレージは使わない
ここで、あるパソコンに対し、なりすまし攻撃が成功して、下記のような振る舞いが検出された場合、異常な振る舞いと判断されます。
①平日23時にログイン
→普段ログインしない時間帯にログイン
②数GBのファイルやデータにアクセス
→異常なデータ量
③オンラインストレージを利用した
→普段使わないURLにアクセス
ルールベース型を利用したとしてもこれらの振る舞いを検知することができるかもしれませんが、前述したように検知ルールを正確に書いておくことが必要です。
3.UEBAの限界は?
UEBAに死角は無いのでしょうか?はなくとは下記2つがあるのではないかと考えでいます。
①適切に学習させること
UEBAはログを学習して正常な振る舞いを定義するので、場合によっては「悪い学習」をし
てしまうことがあると考えられます。はなくとが考える悪い学習とは下記2つの場合です。
てしまうことがあると考えられます。はなくとが考える悪い学習とは下記2つの場合です。
・不正な行動を正しい行動と学習してしまう
学習用ログに不正な行動が含まれていると、 怪しい行動を正しい行動と学習してしまいま
す。これは仕様なので仕方のない一面があります。 日常的に不正を行っていない限り、確
率的には低いでしょう。念のため事前に学習用のログを分析し、 確認しておいた方が良い
かもしれません。
・学習用ログの種類不足による不完全な学習
正常な振る舞いを定義するための学習用ログの種類が不足していた場合、不完全な振る舞
いを学習してしまい、誤検知の可能性が高まります。
正常な振る舞いを定義するための学習用ログの種類が不足していた場合、不完全な振る舞
いを学習してしまい、誤検知の可能性が高まります。
導入前に取得するログを検討しておく必要があります。
4.まとめ
UEBAは、
・正常な振る舞いから外れた、リスクの高い異常な振る舞いを検知する。
・検知範囲がルールベース型と比較して広い
・学習用ログは適切に抽出しないと、悪い学習をしてしまう
おしまい