公開日:2007年9月26日
独立行政法人情報処理推進機構
セキュリティセンター
本ページの情報は2007年9月時点のものです。
記載の資料は資料公開当時のもので、現在は公開されていないものも含みます。
ログ記録は、情報システムを運用する過程で発生した主要なイベントを時系列で記録した ものである。例えば、プログラムやセッションの開始、終了、重要な処理や異常の検出等 が記録される。
目的別に、ログ記録は大きく次のふたつに分けることができる。
個人情報等、保護すべき重要な情報を扱う等の理由でセキュリティ機能を必要としているソフトウェアは、対策の一環として侵害証跡確保のためのログ記録の仕組みを備えるのがよい。
ログ記録がなければ、侵害が起こった際それがどのような過程で進行し、どの程度の被害をおよぼしたかの把握が困難になる。場合によっては侵害の発生そのものを見逃すおそれもある。
ログに記録する項目が不足していると、侵害発生時の分析に役立てられない。その逆に、記録項目が多過ぎてログファイル自体が重要情報漏えいの危険を招くことがある。また、ログファイルへの不正な書き込みを防ぐ手立てを講じていないと、攻撃者の手によって不正アクセスの記録が消されてしまうことがある。
このような点を考慮すると、セキュリティ・ログが備えるべき要件は次のようになる。
セキュリティログに記録を書き出すきっかけとすべきイベントには、例えば、次のものがある。
セキュリティログに記録すべき項目には、例えば、次のものがある。
セキュリティログの内容はそれ自体が重要な情報を含んでいる可能性があり、部外者にアクセスされると都合が悪い。また、システムに侵入した攻撃者は自分自身の痕跡がログに残らないような工作をすることが考えられる。
これらのことから、セキュリティログは不正な読み出しと不正な書き込み・削除からの保護策が必要である。
ログ記録にはユーザの識別、重要情報の入出力が記録される可能性が高いため、ログ記録の漏えいがセキュリティ問題となり得る。ログインパスワード、クレジットカード番号、個人情報等の重要情報は、セキュリティ侵害事象の分析において必須でないと判断できる場合にはログに記録しないようにする。これらの情報のログ記録が必要である場合は、ログファイルを暗号化して保管する。
暗号化を行わずに読み出し許可として最小限のものを与えるという対策も考えられなくはない。この方法は部外者に対して一定の効力をもつ。ただし、サーバのバックアップオペレータによる無断データ持ち出し等、正規スタッフによる不正行為に対抗できない。
ログファイルの暗号化の際に注意すべきことは暗号鍵の硬直化を避けることである。最も避けるべきことは暗号鍵をソフトウェア内にハードコーディングすることである。複数の設置場所で利用されるソフトウェアの場合、一箇所における暗号鍵の漏えいは、他の設置場所すべてを危険に陥れる。
また、定期的(数ヶ月ないし数年ごと)および随時暗号鍵を別のものに変更できる仕組みをもつ必要がある。変更手段が用意されていなければ、漏えいしているかもしれない暗号鍵を長い間使い続けなくてはならない。また、漏えいが判明した時点ですぐに対抗策を講じられないおそれがある。
自分の不正行為の痕跡を消すために、攻撃者がログ記録に干渉を試みるおそれがある。ログ記録媒体には、書き換えや削除のできない、追記型記憶装置を用いる、他のコンピュータに送信する、必要最小限の書き込み許可のみを与える等の保護策を施す。
多数のリクエストを投入してログ記録を満杯にしてから痕跡を残さずシステムに侵入しようとする手口がある。古い記録を削除して最新の記録を残す、ログが満杯になりそうになったらあらかじめ警報を発する等の対抗措置が必要になることも考えられる。
セキュリティログの記録は、セキュリティ侵害の兆候や形跡を読み取る活動を行ってこそ役に立つ。ログ記録からの侵害関係情報の読み取りには次の3つの形があり得る。
セキュリティログに記録を格納するのと並行して、プログラムでリアルタイムに統計処理を施し、イベントの発生頻度が予め定めたしきい値を超えたら警報を出す、対抗策を発動する等の対応をさせる。
定期的にセキュリティログ内容を解析し、侵害の形跡を見いだす。
セキュリティ侵害の発生が明らかになったときに、詳細にセキュリティログを分析し、何が起こったかの詳細を明らかにする。
ログ記録の際に比較的多く用いられるものとして、UNIXおよびGNU/Linusの処理系ではsyslogを使用する方法、WindowsではイベントログAPIを使用する方法が知られている。
複数コンピュータにおける事象の発生順序を的確に追跡するには、記録された時刻が正確であること、すなわちコンピュータの内蔵時計が正確であることが重要だ。
ログ記録を分析する際に障害となるのが、複数コンピュータ間の時計のずれである。コンピュータが内蔵している時計は必ずしも精度が高くなく、定期的に時刻合わせをしないと時刻のずれが分単位で生じることもある。
主要なOSは、NTPプロトコル(またはSNTP)を用いて自動で時刻合わせを行う機能を備えているので、これを用いて定期的に内蔵時計の時刻合わせを行う。
侵害の兆候の検知および侵害の事後策のためにセキュリティログを記録する。セキュリティ侵害が発生した際の証跡が十分確保できるような記録を残す。記録されるのは重要情報であるので、ログ自身も十分に保護する。ログ記録からリアルタイムあるいは定期的解析を行い情報を読み取ることによって、侵害への早期対策に活かすことができる。