[CODE BLUE 2018] Logon Tracer:可視化と機械学習を使用してActive Directoryのイベントログを分析 [レポート] #codeblue_jp
こんにちは、芳賀です。
『世界トップクラスのセキュリティ専門家による日本発の情報セキュリティ国際会議』でありますCODE BLUE 2018に参加していますのでレポートします。
このブログは下記セッションについてのレポートです。
Logon Tracer:可視化と機械学習を使用してActive Directoryのイベントログを分析 Presented by 朝長 秀誠 / 谷 知亮
インシデント調査においてイベントログの分析は重要な要素となっている。ネットワーク内にマルウエア感染が拡散(Lateral Movement)した場合、Active Directoryのイベントログを分析することで、侵入されたホストを特定できる可能性がある。しかし、Windowsのデフォルトツールであるイベントビューアではイベントログを調査することは不可能である。そのため通常は、ログをテキスト形式に変換したり、SIEMやログ管理システムにログを読み込んで調査する。しかし、テキスト形式のログはサイズが膨大になった場合、分析することが難しくなる。さらに、ログ管理システムは必ずしも疑わしいログを検出するとは限らない。 この問題を解決するために、我々はイベントログを分析する新しい方法を検討した。その結果、可視化、ネットワーク分析、機械学習を使用することで、イベントログの分析が容易になることが分かった。 本講演では、イベントログを可視化して分析する手法を提案する。アカウントとホスト間の関係を可視化することで、簡単にイベントログを分析することが可能になることを説明する。また、ネットワーク分析と機械学習を使用して、自動的に侵入されたアカウントを特定する方法について解説する。
レポート
- 今回のお話はインシデント調査を行う上でのログ調査の話
- Windows ADではイベントログを調べる事で様々なことがわかる
- 不正なログインのトレンドとしてPass-The-Ticketがある
- PtTはイベントログに記録されるか? → Noである
- このほかに何らかの仕掛けが必要である
- イベントログの分析解析
- イベントビューワー
- Linuxコマンドを使う
- SIEM
- これらのツールは一長一短がある
- イベントログの可視化
- ログオンに関するものを抽出する
- ログオンに関するイベントは20以上ある
- そのイベントは重複して発生する
- すべてを監視する必要なく6つを監視すれば良さそう
- ただし、イベントごとに必要なデータが入っているカラムが違う
- ちょっとイケてない実装で監視する際に面倒な部分である
- 6つのイベントを可視化したが、それでも複雑に関連しすぎていた
- グラフィック化したが目視による確認できる状態ではなかった
- イベントログの自動分析
- Lateral Movement
- Windowsのコマンドを使う
- ドメイン管理者アカウントを悪用
- 攻撃者はbuilt-in Administratorを狙う
- 同じアカウントを使ってログインを繰り返す
- 上記のような共通的な行動を自動的に分析するよう構築した
- ネットワーク分析を用いた
- クラスタリング
- 中心性
- どのノードがネットワークから接続されているか?(PageRankが有名)
- PageRankのアルゴリズムでは 1:1 の方が重要視される
- PageRankにはDamping Factorで影響率を調整
- イベントのタイムラインの異常検出
- Changer Finderを使用してログ量の急増を検出する
- 状態遷移の異常検出
- 不正ログインの場合には遷移が異常になる
- ログイン失敗を繰り返すなど
- Recurrent neural network(RNN)が有名(ただし計算量が多い)
- JPCERTでは隠れマルコフモデルを利用した
- 不正ログインの場合には遷移が異常になる
- Lateral Movement
- LogonTracer
- JPCERTがOSSで開発中でGitで公開
- 特徴として
- イベントログの可視化
- 重要性の高いアカウントおよびホストの抽出
- ログのタイムライン表示
感想
多くの企業で使われているWindowsのログオンイベントログの監視は不可欠だと思っているが、かなりログがイケてない感じだという事が理解できた。 もし、何も監視していない企業あれば、JPCERTが作ったLogonTracerを試してみるのアリだと思う。