Slide 1

Slide 1 text

イベントログ解析ツールのあれこれ 雰囲気セキュリティ勉強会 #3 Atmosphere Security #3 1

Slide 2

Slide 2 text

お約束 本プレゼンは、個人の見解であり、所属組織を代表するものでもありません 本発表は所属組織に寄与する意図で記載しておりません Atmosphere Security #3 2

Slide 3

Slide 3 text

目次 自己紹介 イベントログ解析とは イベントログ解析の際に考えられそうな問題 イベントログ解析に使えるツール OSSでのイベントログ解析ツールを調べてみた OSSでのイベントログ解析ツールでどれくらい問題が解決しそうか? まとめ Atmosphere Security #3 3

Slide 4

Slide 4 text

自己紹介 名前:misQ お仕事:ITエンジニア 好きなもの:好き 嫌いなもの:嫌い Atmosphere Security #3 4

Slide 5

Slide 5 text

イベントログ解析とは IT用語辞典 e-Wordsより イベントログとは、コンピュータシステムに起こった出来事や行われた操作 などを時系列に記録したデータ。単にイベントログという場合はWindowsに おけるそれを指すことが多い(イベントログは本定義としておきます) 一旦Windowsに限らず会社内のすべてのコンピュータシステムに起こった出 来事や行われた操作などを時系列に記録したデータを考える(便宜上、本発表 では「全社システムイベントログ」と記載します) Atmosphere Security #3 5

Slide 6

Slide 6 text

日々のイベントログはたくさんある proxyログ Windowsイベントログ(OSがWindowsだった場合) Linuxイベントログ システム関連のログ(syslog) アプリケーション関連のログ(/var/log) ネットワーク装置のログ 死活監視のログ etc...... Atmosphere Security #3 6

Slide 7

Slide 7 text

インシデント発生したら…… インシデントレスポンスとしての流れとして、まず報告もしくは検知が発生して Point of ContactやSOCに情報がくる。次に何をするか トリアージ: インシデントでの対応優先付け 何が大事になるか?事実ベースで確認をする必要がある 全社システムイベントログが必要になる Atmosphere Security #3 7

Slide 8

Slide 8 text

考えられそうな問題 大きく分けてログの「収集」と「解析」の2つがある ログの形式、OS、サーバがバラバラ ログの集約をすることが必要(収集) ログから怪しい動きを検出しなければいけない システムの規模によるが非常に膨大(解析) ログを見てもそれが怪しい動きなのかわからない。新しい検知ロジックとかを分 かっていないと正しいのかすらわからない状態になる(解析) Atmosphere Security #3 8

Slide 9

Slide 9 text

今回のイベントログ解析として使えそうなツールは? 商用 Splunk Azure sentinel Sumo Logic OSS 収集についてはFluentdとかElastic Stackなどがあるが、どうやって解析する? →特に標的となるWindowsのイベントログ解析ツールについて確認してみた Atmosphere Security #3 9

Slide 10

Slide 10 text

GithubでWindowsのイベントログ(evtxファイル)の解析ツールで Starの多い著名なものを調べてみた DeepBlueCLI: Eric Conradが作成したevtx解析ツール。PowerShell製 PSWinReporting: PrzemyslawKlysが作成 。PowerShell製 WELA: Zachary Mathis(@yamatosecurity)が作成。PowerShell製 APT-Hunter: Ahmed Khlief(@Ahmed_khlief)が作成したevtx解析ツール。Python製 LOGON Tracer: JPCERT/CCが作成。Python製 RustyBlue:Zachary Mathis(@yamatosecurity)が作成。Rust製 Chainsaw:F-Secure @FranticTypingが作成。Rust製 hayabusa:Zachary Mathis(@yamatosecurity)が作成。Rust製 Atmosphere Security #3 10

Slide 11

Slide 11 text

先ほどのありそうな問題の軸に合いそうなツールは何か? ツール名 プログラ ミング言 語 データの 処理速度 実行端末に環境 準備が不要? 追加での検知ルールは 組み込み可能か? DeepBlueCLI PowerShell × 〇(※1-1) × WELA PowerShell × 〇(※1-1) △(※1-2) PSWInReporting PowerShell × 〇(※1-1,1-3) - ※1-1: Windows機でPowerShellが端末にあれば実行可能 ※1-2: SIGMA(SIEMシステムへの検知ルール集)を変換して一部ルール化している ※1-3: ADのイベントを監視してADのイベントを通知するツールで監視寄り Atmosphere Security #3 11

Slide 12

Slide 12 text

ツール 名 プログラミ ング言語 データの処 理速度 実行端末に環境準 備が不要? 追加の検知ルールは組み 込み可能か? LOGON Tracer Python △ ×(※2-1) ×(※2-2) APT- Hunter Python △ ×(※2-1) × ※2-1: Python実行環境が必要 ※2-2: ログオン実施時に出力されるログのみに対応としている Atmosphere Security #3 12

Slide 13

Slide 13 text

ツール名 プログラミ ング言語 データの 処理速度 実行端末に環境準 備が不要? 追加の検知ルールは組 み込み可能か? RustyBlue Rust 〇 〇(※3-1) × Chainsaw Rust 〇 〇(※3-1) 〇(※3-2) hayabusa Rust 〇 〇(※3-1) 〇(※3-2) ※3-1:コンパイルした実行ファイルがあれば環境準備不要 ※3-2:SIGMAというSIEMシステムへの検知ルールレポジトリのyamlを利用してい る。Chainsawよりhayabusaのほうが2022/02現在対応している構文は多い Atmosphere Security #3 13

Slide 14

Slide 14 text

様々なツールがあるが、どれが一番良いか? PowerShell製のツールは他言語に比べ処理が重いという弱点があるが、Windows 端末であれば(制限とかをしていなければ)特に環境を準備せずに利用可能であると いうメリットがある ロジックの追加もスクリプトなので気軽にできるかもしれない Python製のツールはPowerShellよりも処理が速く、Pythonの他ライブラリとの連 携がやりやすいということでがメリットがある Atmosphere Security #3 14

Slide 15

Slide 15 text

様々なツールがあるが、どれが一番良いか?(続き) Rust製のChainsawやhayabusaが速度が速くかつSIGMAルールを組み込めることで 新たに出てきた攻撃についても検知ロジックを組み込むことが可能 Rustはクロスコンパイルができるので、LinuxやMacでも利用可能 ただ、Rust製のツールの共通の弱点としてイベントログが随時追加されるよ うなストリームデータへの解析には対応していない 監視は別途集約して行ったうえで、解析はこれらのツールは行うという 形がよさそう Rustは他の2言語に比べて敷居が高い所があるためカスタムするとなると難度 は高いかもしれない Atmosphere Security #3 15

Slide 16

Slide 16 text

結論:状況と欲しい解析によって適度なもの組み合わせて選択して いこう Atmosphere Security #3 16

Slide 17

Slide 17 text

まとめ 今回はイベントログ解析について触れた Windowsイベントログ解析のツールはOSSにも色々あるので試しに使ってみよう OSSの運用はある程度は自己責任で。使わせてもらっているとか応援をしたいと いうのであればGithubでStarをつけて応援しよう 今回はイベントログ解析で解析に必要なデータが全部evtxファイルにある前提で 話がすすめたが、Windowsイベントログは初期設定だと解析に必要なデータが全 く手に入らない為Sysmonを導入してログの設定を行うことが必要 すべてを有効にすると非常に大量のログが出てしまうので、GitHubで公開さ れているSysmonの設定は以下があるので参考にするとよさそう https://github.com/olafhartong/sysmon-modular https://github.com/SwiftOnSecurity/sysmon-config Atmosphere Security #3 17