コンピュータログ管理およびインテリジェンスにおいて、ログ分析(またはシステムおよびネットワークログ分析)は、コンピュータによって生成された記録(ログまたは監査証跡記録とも呼ばれる)の意味を解明しようとする芸術であり科学である。このような記録を作成するプロセスは、データロギングと呼ばれる。
ログ分析を実行する一般的な理由は次のとおりです。
- セキュリティポリシーの遵守
- 監査または規制への準拠
- システムのトラブルシューティング
- 法医学(捜査中または召喚状への対応)
- セキュリティインシデント対応
- オンラインユーザーの行動を理解する
ログは、ネットワークデバイス、オペレーティングシステム、アプリケーション、そしてあらゆる種類のインテリジェントデバイスやプログラマブルデバイスによって出力されます。ログは、時系列で流れるメッセージのストリームで構成されることがよくあります。ログはファイルに出力されてディスクに保存される場合もあれば、ネットワークストリームとしてログコレクターに送信される場合もあります。
ログ メッセージは通常、そのソース (アプリケーションなど) の内部状態に基づいて解釈され、セキュリティ関連または操作関連のイベント (ユーザー ログインやシステム エラーなど) を通知する必要があります。
ログは、多くの場合、ソフトウェア開発者がアプリケーションの動作をデバッグしたり、検索エンジンなどのシステムとユーザーがどのようにやり取りしているかを把握したりするために作成されます。ログメッセージ内のデータの構文とセマンティクスは、通常、アプリケーションまたはベンダーに固有です。用語も異なる場合があります。例えば、アプリケーションに対するユーザーの認証は、「ログイン」、「ログオン」、「ユーザー接続」、または「認証イベント」などと呼ばれることがあります。したがって、ログ分析では、アプリケーション、ベンダー、システム、または構成のコンテキスト内でメッセージを解釈し、異なるログソースからのメッセージと効果的に比較する必要があります。
ログメッセージの形式や内容は、必ずしも完全に文書化されているとは限りません。ログアナリストの役割は、システムがあらゆるメッセージを出力し、メッセージを解釈すべきドメイン全体を把握できるようにすることです。
ログアナリストは、異なるログソースから得られる多様な用語を、統一された標準化された用語にマッピングすることで、異機種環境からレポートや統計情報を取得できます。例えば、Windows、Unix、ネットワークファイアウォール、データベースからのログメッセージを、監査担当者向けに「標準化された」レポートに集約できます。システムによって、メッセージの優先度が異なり、例えば「エラー」や「警告」と「err」、「warn」、「critical」のように、異なる用語が使用される場合もあります。
したがって、ログ分析の実践は、テキスト検索からソフトウェアのリバース エンジニアリングまで連続的に存在します。
機能と技術
パターン認識は、受信メッセージを選択し、パターンブックと比較して、さまざまな方法でフィルタリングまたは処理する機能です。
正規化は、メッセージ部分を同じ形式(共通の日付形式や正規化された IP アドレスなど)に変換する機能です。
分類とタグ付けとは、メッセージを異なるクラスに分類したり、後で使用するために (フィルタリングや表示など) 異なるキーワードでタグ付けしたりすることです。
相関分析は、異なるシステムからメッセージを収集し、単一のイベント(例えば、ネットワークデバイス、ファイアウォール、サーバーなど、異なるシステムにおける悪意のあるアクティビティによって生成されたメッセージ)に属するすべてのメッセージを見つける技術です。通常、アラートシステムと連携して使用されます。
人工無視は機械学習の一種で、興味深くないログエントリを破棄するプロセスです。人工無視は、稼働中のシステムにおける異常を検出する手法です。ログ分析においては、システムの通常の動作から生じる、それほど重要ではない通常の一般的なログメッセージを認識して無視することを意味します。しかし、これまでログに現れたことのない新しいメッセージは重要なイベントの兆候となる可能性があり、調査する必要があります。[ 1 ] [ 2 ]このアルゴリズムは、異常に加えて、発生しなかった一般的なイベントも特定します。例えば、毎週実行されるシステムアップデートが実行に失敗したなどです。
ログ分析は、アプリケーションパフォーマンス管理(APM)やエラー監視といった他の分析ツールとよく比較されます。これらのツールの機能の多くは明らかに重複していますが、違いはプロセスにあります。APMはパフォーマンスを重視しており、本番環境で主に活用されています。エラー監視は運用ではなく開発者主導で行われ、例外処理ブロック内のコードに統合されます。
参照
参考文献
- ^ 「人工無知:ハウツーガイド」www.ranum.com。
- ^ Fekete, Robert (2010年1月13日). 「syslog-ngによるログメッセージの分類 [LWN.net]」 . lwn.net .