SIFTでは、plasoで処理したイベントをKibana上に表示するまでの手順を確認しました。ここではタイムライン解析をするための、Kibanaの操作や設定方法に触れていきます。Kibanaでは画面全体をダッシュボードと呼び、ダッシュボードはクエリ、フィルタ、Row(行)で構成されています。Rowに自分の好きなパネルを配置します。パネルは11種類あり、公式サイトの内容を要約すると以下の通りです。上の画面は前回使ったplaso用のサンプルを読み込んだ画面ですが、これらはhistogram、terms、tableのパネルを使っています。各設定は歯車アイコンのメニューから行います。全体(ダッシュボード)は画面右上、Row単位はRow領域内の左上方のオレンジ部分、パネル単位はパネル領域内の右上にあるアイコンでそれぞれ設定します。設定変更後は明示的に保存しない限り保存されません。画面右上のフロッピーのアイコン経由でダッシュボードに名前をつけて保存します。基本的には、全体から大まかに絞るためにフィルタ、具体的な検索等にクエリを使っていきます。filterで指定します。filterで選択する項目は、ダッシュボードの設定からTimepickerの項目でカスタマイズすることができます。デフォルトでは5m,15m,1h...と設定されており、現在の5分前、15分前、1時間前のように直近の情報を調べるためタイムライン解析では適切ではありません。そのため上の画面のように1d,7d...のように変更すれば1日前、1週間前...と広めの指定ができます。filterを確認すると変更した内容に反映されていることがわかります。適切な期間が無い場合はCustomで個別に指定することになります。ここで変更した設定はリロード等をすると失われるため保存しておきます。filterもフィルタ機能の一つですが、これ以外にも各パネル上に表示されているグラフの項目をクリックしたり、Action項目にある虫眼鏡マーク(包含)や禁止マーク(除外)をクリックすることにより、フィルタとして追加されていきます。レジストリのイベントをいったん除外したい場合、パネル上のレジストリの情報を示す部分で禁止マークのActionをクリックすれば下図のようにFilterが追加されます。一括でノイズと判断できるイベントがあれば、この方法での除外が効率的です。topNという3種類をサポートしていますが、標準ではluceneが選択されています。Luceneの構文を使った検索ですが、とりあえず覚えておくと良さそうな構文は以下の通りです。*]event_identifierフィールドで4000以上イベントクエリは複数に分けて実行することも可能です。クエリの結果をどのように関連させるかをパネル毎に設定することにより、それぞれ必要なクエリの結果のみを表示するような使い方もできます。histogramパネル横軸を時間としてイベント数の経緯をグラフ表示します。マウスでドラッグすることによりその期間のフィルタができ、イベント数でアクティビティが把握できるため、タイムライン解析で役に立つ使い方です。Fieldの設定をdatetimeにしておくことと、タイムゾーンの解釈をブラウザベースかUTCで選択できるため選択内容を考慮する必要があります。使わないかもしれませんがHistogramパネル用の設定のQueriesというタブでMarkersという項目があります。MarkersをEnableにしてクエリを書いておくと、ヒストグラム上にクエリに該当するイベントにマークがつきます。termsパネル指定したフィールドを基にイベント数を表形式やグラフで表示します。表形式ではイベント数とともにActionの項目が表示されるため、フィルタによる除外がやりやすくなります。扱いたいフィールド名を把握していなければなりませんが、これは後述のtableパネルで表示される内容からわかります。tableパネルイベントを表形式で表示します。デフォルトでは1ページあたり100件表示し5ページ分(最大500件まで)しか表示しません。この設定はtableパネル用の設定のPagingタブで変更することが可能です。私が試した限りでは1ページあたりの表示件数、ページ数どちらも大きくするとかなり遅くなり、最大10000件程度にすると支障が出るほどの動作であったため、1ページ100件で30ページくらいに設定しておくのが妥当と思います。tableパネル上では左側の領域にフィールド名が表示されます。ここでplasoが出力しているフィールド名が確認できます。フィールド名をクリックするとそのフィールドに対する値を集計順に表示し、Actionの項目からフィルタをかけることもできます。メインとなる領域にはイベントが表形式で表示されます。display_nameのフィールドを表示するように設定されています。表示したいフィールドはtableパネル用の設定のPanelタブで変更することができます。Columnの項目でフィールドを追加、削除します。Factorの値でフィールド値が長い場合に切り詰める長さを指定します。デフォルトでは300になっており、例えばmessageフィールドの内容はほとんどわからないため、大きめの値にして不要なフィールドは削除するのが良いと思います。カスタマイズダッシュボードKibanaを使ったタイムライン解析で使えそうな機能をピックアップしてみましたが、これまでに紹介した変更点をplaso用のサンプルファイルに反映させてみました。messageの5つのフィールドを表示するようにしています。興味がある方は自由にお使いください。kibana_for_plaso.json残念ながらレポート生成機能や個別にブックマークするような機能はなさそうですので、ダッシュボードを適宜保存して出力画面を扱う、という使い方になりそうです。件名コメントテキストフォーマットについてプレーンテキストHTMLタグは利用できません。行と段落は自動的に折り返されます。ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。