APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

TryHackMe Advent of Cyber 2023から2024へ(3) Log analysis(ログ分析)

自己紹介

こんにちは、エーピーコミュニケーションズiTOC事業部 BzD部 0-WANの田中と申します。
弊社でEDR製品を導入いただいたお客様のインシデント調査を主に担当しております。
その傍らプログラマーとしての経験と知識を生かしてセキュリティに関するウェブアプリケーションを設計構築するなどSOCチームのメンバーとして日々サイバーセキュリティと共に在るエンジニアです。

TryHackMeの「Advent of Cyber2023の復習と2024の予習」をテーマにした連載第3回目の今回は「Log analysis(ログ分析)」の問題に挑戦してみましょう。

一般的なTryHackMeの使い方は以下にまとめてありますので参照してください。 techblog.ap-com.co.jp

過去のTryHackMe Advent of Cyber 2023に関する記事は以下の通りです。

タスク「Log analysis(ログ分析)」

tryhackme.com

今回挑戦するタスクはこちらです。

[Day 2]O Data, All Ye Faithful(おおデータよ、忠実なる皆さん)

タスク8 [2日目]ログ分析おおデータよ、忠実なる皆さん

[ここをクリックしてウォークスルービデオをご覧ください。]の▲をクリックすると解説動画を表示できますので必要に応じてチェックしてみてください。

このタスクの学習目標は以下の通りです。

  • データ サイエンスの内容と、それをサイバーセキュリティにどのように適用できるかを紹介します。
  • Python への穏やかな (お約束します) 入門書を手に入れましょう
  • Pandas や Matplotlib などの人気のある Python ライブラリを使用してデータを処理します

データサイエンス入門

データサイエンスとは、データを収集、処理、分析し、そこから有用な情報や知見を導き出す学問および技術の分野で、データサイエンティストはプログラミング、統計、そして最近では人工知能 (AI) を使用して大量のデータを調べ傾向やパターンを理解し、企業が情報に基づいた意思決定につながる予測を行えるように支援します。

データサイエンティストの役割と責任

サイバーセキュリティにおけるデータサイエンス

データ サイエンスは洞察を提供できるため、サイバーセキュリティ分野での使用が急速に増えています。ログイベントなどのデータを分析すると、組織内で進行中のイベントをインテリジェントに理解できます。異常検出にデータ サイエンスを使用することはその一例です。サイバーセキュリティにおけるデータ サイエンスのその他の用途には次のようなものがあります。

  • SIEM : SIEM は、組織の状況をより広く理解するために、大量のデータを収集して関連付けます。
  • 脅威の傾向分析 : 新たな脅威を追跡し、理解することができます。
  • 予測分析 : 過去のイベントを分析することで、将来の脅威の状況がどのようになるかについての潜在的なイメージを作成できます。これはインシデントの防止に役立ちます。

Jupyter Notebookを使った体験

ではさっそくデータサイエンスの世界に足を踏み入れてみましょう。

今回はJupyter Notebookを使用しています。 Jupyter Notebookは、Webブラウザ上でPythonのコードを記述・実行できるツールです。 使い方はタスク8で解説されているのでそちらを参考にしてください。

[▲マシンを起動するボタン]をクリックして自分が作業に使うマシンを起動します。

マシンを起動

分割画面の右側にパスワード入力済のJupyter Notebookのログイン画面が表示されますのでこのままログインします。

Jupyter Notebook ログイン画面

ログインするとJupyter Notebookの画面が表示されます。

Jupyter Notebook画面

2つのメインペインが表示されます。左側は「ファイルエクスプローラー」、右側は「ワークスペース」です。このペインでノートブックが開きます。最初に、「ランチャー」画面が表示されます。マシンがサポートしているノートブックの種類を確認できます。 ここでは、「ノートブック」見出しの下にある「Python 3 (ipykernel)」アイコンを左クリックして、最初のノートブックを作成しましょう。

Pythonで"Hello, World!"を出力するスクリプト(実行コード)を書いてみます。[1](番号は任意)の後ろのテキストボックスに「print("Hello, World!")」と入力したらShift-Enterキーを押すか上の▲で実行します。実行結果が下に表示されます。

ノートブックで"Hello, World!"を実行したところ

ファイルエクスプローラにはPython3, Pandas, Matplotlibの入門書が用意されていますので必要に応じて学習することができます。

Python3入門

Python 3は、高水準でインタープリタ型のプログラミング言語で、コードの読みやすさと簡潔さを重視しています。 豊富な標準ライブラリとサードパーティライブラリにより、Web開発、データ解析、人工知能、機械学習など、幅広い分野で利用されています。 docs.python.org

Python3CrashCourse.ipynb

Pandas入門

Pandasは、Pythonでデータ操作や解析を行うためのオープンソースライブラリです。データフレームと呼ばれる二次元データ構造を提供し、データの読み込み、変換、フィルタリング、集計、結合などを効率的に行えます。データサイエンスや機械学習、統計解析の分野で広く利用されており、Pythonのデータ処理において欠かせない存在となっています。 pandas.pydata.org

IntroToPandas.ipynb

Matplotlib入門

Matplotlibは、Pythonのデータ可視化ライブラリで、グラフやチャートを作成するために広く使われています。折れ線グラフ、棒グラフ、散布図、ヒストグラムなど、多様なグラフを簡単に描画できるのが特徴です。科学技術計算やデータ解析、機械学習の結果を視覚化するために頻繁に利用されており、PandasやNumPyといった他のデータ処理ライブラリとも連携が容易です。 matplotlib.org

IntroToMatplotlib.ipynb

問題に挑戦

では実際に問題を解いてみましょう。 指定されたログファイルからデータを読み込んで分析した結果から解答を導き出します。

Capstone(タスク8の最終課題)のWorkbook.ipynbノートブックを開きます。

Workbook.ipynb

ログファイルの中身を見てみましょう。

ログファイル

項目として「PacketNumber」「Timestamp」「Source」「Destination」「Protocol」があるのがわかります。

ログファイルの中身

問題1.(PacketNumber を確認して) キャプチャされたパケットの数は何ですか?

まず[1]から実行していきます。Shift-Enterキーを押すか上の▲で実行します。

実行(準備)

必要なライブラリがインポートできました。 次に[2]を実行します。ログファイル('network_traffic.csv')を読み込み最初の5行を表示します。

ログファイルの読み込み

次に[3]を実行します。

df.count()を実行したところ

問題2.パケットキャプチャ中に最も多くのトラフィックを送信した IP アドレスはどれですか?

次に[4]を実行します。

df.groupby(['Source']).size().sort_values(ascending=False)を実行したところ

問題3.最も頻繁に使用されたプロトコルは何ですか?

最後に[5]を実行します。

df.groupby(['Protocol']).size().sort_values(ascending=False)を実行したところ

まとめ

いかがでしたでしょうか?

今回はLog analysis(ログ分析)のテーマのもと以下について学ぶタスクをご紹介しました。

  • データ サイエンスの内容と、それをサイバーセキュリティにどのように適用できるかを紹介します。
  • Python への穏やかな (お約束します) 入門書を手に入れましょう
  • Pandas や Matplotlib などの人気のある Python ライブラリを使用してデータを処理します

ここで使用したpythonライブラリはデータサイエンスの分野で基本となるものですので、このログデータを使っていろいろな観点でログを集計したりグラフを描いたりしてライブラリに親しんでください。

最後まで読んでいただきありがとうございました。次回もお楽しみに。

0-WANについて

私たち0-WANは、ゼロトラスト製品を中心とした、マルチベンダーでのご提案で、お客様の経営課題解決を支援しております。 ゼロトラストってどうやるの?製品を導入したけれど使いこなせていない気がする等々、どんな内容でも支援いたします。 お気軽にご相談ください。

問い合わせ先、0-WANについてはこちら。 www.ap-com.co.jp

一緒に働いて頂ける仲間も募集しています

今までの経験を活かして、私たちと一緒にゼロトラスト分野で活躍しませんか? www.ap-com.co.jp