【セキュリティの基本】SIEMとは
今回はSIEMについてお勉強する機会があったのでまとめてゆく。
一言でいえば・・・
SIEMとは、異なる種類のログを一か所に集約し、それらのログを相関的に分析することで、セキュリティの脅威を検知するための技術。
背景
ひと昔前のログ分析は、システムごとに別々に取得されるログを1つずつ確認する手法が一般的であった。
この手法は、明らかに痕跡が残っているような単純な攻撃には有効であったが、踏み台やアカウント経由で正規ユーザになりすましたり、ログの一部を書きかえたりといった痕跡を残さない巧妙な攻撃を受けた場合に検知遅れ・漏れが発生する可能性がある。
こういった攻撃の巧妙化に対処するために、複数のログを集約して、時系列準に内容を突き合わせて相関的に分析することで脅威を検知する仕組みが必要となった。
概要
Security Information and Event Managementの略で、日本語に訳すと「セキュリティ情報及びイベント管理」といえる。
異なる種類のログ、と言っているのは、具体的にはサーバ、ネットワーク、セキュリティ機器で取得しているイベントログのこと。拡張子が異なっても相関的に見ることができる。
相関的に分析、と言っているのは、 上記の機器類で取得しているログを互いに関連付けて分析することで、異常な利用シーンがないかを確認すること。
一例をあげると、以下のような脅威を検知できる。
- 機密情報を含むあるファイルサーバXは、物理的に堅牢なセキュリティルーム内のPCからのみアクセスが許可されている。
- ある時間に、ユーザAがファイルサーバXにアクセスしたというログがファイルサーバ上に残っていた。
- 一方で、セキュリティルームの入退室ログには同時間にユーザAが入室したログが残っていなかった。
⇒これはつまり、ユーザAはセキュリティルームの外からファイルサーバXにアクセスしたことになる。おかしいと思った私はユーザAに話を聞いた。すると彼はその時間、仕事をさぼって池袋東口のシェーキーズでジャンボパフェを食べていたことが分かった。彼にはアリバイがある。間違いない、これは・・・不正アクセスだ!(ババーン!!)
極端な例だが、こういった形で複数の観点から脅威を検知できる。
個人的に疑問に思ったこと
SIEMというものの概念を理解したところで、いろいろと疑問も出てきたので調べてみた。
■疑問1
<SIEMって複数機器のログを集約して管理するって考えれば、統合ログ管理システムと同じ?どちらか一方だけ導入すればよい?>
これは、基本的にSIEMと統合ログ管理システムは異なるものと考えたほうがよさそう。そのうえで、用途に合わせて使い分ける。というもの、そもそも以下の通り目的が異なる。
- 統合ログ管理システム:複数のログを長期的に集約・保管し、監査対応などの際に、必要に応じて検索を行う。
- SIEM:複数のログを集約・保管し、リアルタイムで相関的にログを分析することで脅威を検知する。
目的が異なることで何が困るかを深堀すると、「必要な機能が足りない」、「費用がかさむ」といった内容に行き着いた。
まず、統合ログ管理システムは長期的な保管と検索に重点を置いているため、相関的に脅威検知を行うための機能が乏しい。勿論、相関分析という機能は提供されている製品もあるが、リアルタイム・高度な分析を行うことはできず現実的ではない。
一方、SIEMはリアルタイムで脅威を検知することに重点を置いているため、長期的かつ大量のログを保管・検索することを想定していない。機能として実現できなくはないが、全システムのログを保管した場合莫大な費用が掛かることが予想できる。(蛇足だが、適切に使っても「SIEMは結構費用がかかる」という印象がある。。)
<追記> 海外の記事を中心に再度調べてみたところ、SIEMをログの長期保管に使用するケースも珍しくはないとのこと。ただし採用予定のSIEMでログの長期保管ができるか、費用が大幅にかさむことはないかは確認すべきなのは変わりない。
■疑問2
<SIEMで自動的に相関分析して、アラートをあげるのってどういう仕組み?ルールとか作る必要あるの?それって大変じゃない・・・?>
割と予想通りで、どんなルールを作るのかっていうのがSIEM運用の肝になるとのこと。
製品によってデフォルトルールは用意されているが、それだけであらゆる脅威を検知できるかというとそうでもなさそう。なので、こういったデフォルトルールは"テンプレート"として使って、会社ごとにカスタマイズして使わないと効果が出ない。
自社内にどんな資産があるか、どういう脅威が発生しうるのか(経路とか含め)、どうなったら脅威と判断するのか、といったリスクベースでルールを洗い出していく必要があると思われる。脅威シナリオとか考えるの大変そう。
まあ最初から完璧なルールなど作れることはないので、ある程度考えたのち運用を開始して、定期的にルールを見直しながら制度をあげていくというアプローチが必要になるかと。
■疑問3
<ルールベースではなく、ユーザの挙動をもとに自動的に脅威を検知できないか?>
SIEMとUEBA*1は別々の製品で実現する場合と、今はSIEMの中でユーザの挙動ベースで異常検知する機能が提供されている場合がある。後者のような製品のことを次世代SIEMともいうらしい。
*1: UEBA: ユーザのふるまいを統計情報と機械学習をもとに分析し、異常なふるまいを検知する技術。
実際に導入する際のポイント
まとめてて思ったのは、導入するときには以下が大事になりそう。
- アラートに対応するための運用体制をきちんと作ること
- 解決したい課題を明確にして、どんなルールを作成すべきかを必ず検討する。また、定期的に見直しを行うスキームを整備する。
- (その他何かあれば追記しとく。)
ルール整備やコスト、運用体制など考えることは多いし、スキルも求められるのでITやセキュリティを専門にしている会社でないと自社運用は難しいのかなあと思った。
まあそういう企業の場合SOCを外だししている場合も多いし、SOC側でSIEMを導入しているだろうから自社でSIEM導入したいって話にはならないのかな。
以上