【入門編】 SIEMにおけるログの正規化と相関分析ルールの設計 – ガバナンス・リスク管理 & 生成AIセキュリティ防御ガイド

家のセキュリティ担当になったあなたへ:SIEMで「泥棒の足音」を聞き分ける方法

こんにちは。セキュリティの世界へようこそ。
今日は、「SIEM(シーム)」という少し強そうな名前のツールと、その中での「ログの正規化」についてお話しします。

いきなりですが、あなたの家を想像してみてください。玄関には鍵があり、窓には防犯センサー、さらに庭には防犯カメラがありますよね。それぞれ、メーカーも違えば、仕組みもバラバラです。

もし、玄関のドアが「ガチャッ」と鳴り、窓が「ピピピッ」と鳴り、カメラが「何か動いたぞ」と叫んだらどうでしょう。バラバラの言語で報告されたら、あなたはどれが「泥棒の侵入」で、どれが「風で揺れただけ」なのか判断できませんよね。

SIEMとは、いわば「家中のすべてのセンサーの報告を、あなたの理解できる言葉に翻訳してまとめてくれる執事」のような存在です。

—

1. ログの「正規化」:バラバラの言葉を共通言語へ

ITの世界では、サーバーやクラウド、ネットワーク機器が毎日膨大な「ログ(活動記録)」を出しています。でも、機器ごとに書き方が違うんです。

  • Webサーバー: 192.168.1.1 - - [10/Oct/2023:10:00:00] "GET /login HTTP/1.1" 200
  • クラウドの認証記録: User: admin, Action: Login, Status: Success, Time: 2023-10-10T10:00:00Z

これらをそのまま見ても、何が起きているかパッと分かりませんよね。そこで「ECS(Elastic Common Schema)」のような共通フォーマットを使います。

「誰が(user.name)」「どこから(source.ip)」「何をした(event.action)」という項目に統一して整理する。これが「正規化」です。これをやっておかないと、いざ泥棒が入った時に、「えーっと、このログのIPアドレスはどこだっけ?」と探している間に逃げられてしまいます。

—

2. 相関分析:点と点をつないで「悪意」を見抜く

正規化ができたら、次は「ルール」作りです。ただ「ログイン失敗」をカウントするだけではダメですよ。泥棒はもっと賢いですから。

例えば、「短時間に5回パスワードを間違えた」というイベントは、単なる「うっかりミス」かもしれません。しかし、その直後に「管理権限(Admin)の昇格に成功した」というログが続いたらどうでしょう? これは、間違いなく「泥棒が玄関の鍵を壊して、中の金庫を無理やり開けた」瞬間です。

このように、複数のイベントを「相関」させて怪しい動きをあぶり出すのが、SIEMの醍醐味です。

検知ルールのサンプル(疑似コード)

例えば、Elasticsearchなどで使う検知ルール(KQL風)はこんなイメージです。

# 1. ログイン失敗が1分間に5回以上発生したとき
# 2. その後、同じユーザーが管理者権限を得たとき
# 3. これらをセットで「注意すべき攻撃の予兆」としてアラートを出す

event.category: "authentication" AND event.outcome: "failure"
| stats count by user.name, source.ip 
| where count >= 5

# こうして抽出した「怪しいIP」が、次に「権限昇格」の操作をしていないか監視する

—

3. 実践!現場で役立つ「泥棒検知」のステップ

新人のあなたが最初にやるべきことは、難解なAIを導入することではなく、「基本のキ」をログに出すことです。

ステップ1:必要な情報だけをしっかり吐き出す

アプリケーションやサーバーの設定で、最低限以下の情報をログに含めるようにしましょう。

  • ユーザーID(誰が?)
  • IPアドレス(どこから?)
  • タイムスタンプ(いつ?)
  • アクション結果(成功したか、失敗したか?)

ステップ2:共通フォーマット(ECS)を意識する

JSON形式でログを出力するようにすると、後でSIEMに放り込む時に非常に楽です。

{
  "timestamp": "2023-10-10T10:00:00Z",
  "event": {
    "action": "login",
    "outcome": "success"
  },
  "user": {
    "name": "taro_yamada"
  },
  "source": {
    "ip": "192.168.1.50"
  }
}

こうしておけば、SIEMがこのデータを読み取った瞬間、「ああ、田中さんが192.168.1.50からログインしたんだな」と一瞬で理解してくれます。

—

最後に:完璧を目指さない勇気

セキュリティの世界では、「100%防ぐ」ことは不可能です。泥棒も常に新しい手口を考えています。

大切なのは、「すべてを止めよう」と気負うことではなく、「何が起きているかを見えるようにしておくこと」です。家の鍵が壊された時に「誰が、いつ、どうやって」入ってきたか分かれば、次からはもっと頑丈な鍵に変えられますよね。

ログの正規化と相関分析は、そのための「防犯カメラと記録ノート」です。まずは今日から、自分の書いたプログラムや設定したサーバーが「誰にでも分かりやすいログ」を出しているか、確認することから始めてみてください。

一歩ずつ、一緒に強くなっていきましょう!応援しています。

コメント

タイトルとURLをコピーしました