Masassiah Blog

現役サラリーマンのスキルアップのための読書まとめ

セキュリティのためのログ分析入門 サイバー攻撃の痕跡を見つける技術

Software Design plus シリーズ『セキュリティのためのログ分析入門 サイバー攻撃の痕跡を見つける技術』(折原 慎吾他,技術評論社,2018年9月21日)を読了。

ログの活用方法(p. 4)

  1. 事実の確認
  2. 過程の確認
  3. 将来起こり得ることの予測

どんなログを取得するか検討するとき,事実の確認,過程の確認,将来起こり得ることの予測ができるか,を切り口にしてみる。

ログに出力すべき項目(p. 53 - 56)

  • いつ (When) : 日時
  • 誰が (Who) : ユーザ ID
  • どこから (Where) : ソース IP アドレス
  • 何を用いて (How) : User-Agent
  • 何をして (What) : リクエスト URL
  • どうなった (What) : 処理結果
  • 利用者の導線を追跡 : Referer
  • 関連するリクエスト/レスポンスを束ねる : セッション ID

5W1HReferer とセッション ID をログに出力すればよい。

前述したインシデントの経験から,ログ分析を自動化する主目的は,次の 2 点だと考えます。(p. 142)

ログ分析を自動化すること目指そう。

  • ログ分析で何を検出したいか(ログ分析を行う目的の設定)
    →Web サーバに対する Dos 攻撃(HTTP GET/POST フラッド)を検出する
  • ログ分析を行う対象ログはどれか
    Apache httpdaccess_log
  • どんな挙動をしていれば攻撃と言えるのか
    → 1 秒間に同一ソース IP アドレスからのアクセスが 400 を超える場合
  • 攻撃を検出した場合,どのような対処を行うか
    →オペレータの判断により,手動でサーバの iptables にフィルタを設定する(p. 146)

リスクを想定して,ログ分析を実施してみよう。

明確なセキュリティポリシーがない場合や,セキュリティポリシーはあっても,ログの取り扱いに関して明記されていない場合,次に挙げるポイントを考慮して検討してください。(p. 181)

  • 自組織に関連する法規がないか確認する
  • ログの利用目的を明確にする
  • ログ管理に利用できるリソースを確認する

ログに関する社内規則があるので,それを拠り所にログの取り扱いを検討する。

ログ分析においても Extract(抽出) / Transform(変換・加工) / Load(データのロード)を実践することで,

  • ログのメッセージ部分を正確に分類するために,付加情報を加えて分析の精度を向上させる
  • ログの必要な部分のみを抽出することで,分析にかけるデータ量を減らし,処理速度を向上させる
  • 想定外の文字列(ログイン ID などシステムのユーザが入力するもの)が混入していてログ読み込み時に正しく読み込めなかったログが,分析できるようになる

など,利点の多い考え方ですので,ぜひ取り入れてください。(p. 182 - 183)

膨大なログは,機械的に分析できるようにしておきたい。