Python-digital-forensics-artifact-report

提供:Dev Guides
移動先:案内検索

アーティファクトレポート

ローカルシステムでのPythonコマンドのインストールと実行に慣れたので、フォレンジックの概念について詳しく説明します。 この章では、Pythonデジタルフォレンジックのアーティファクトの処理に関連するさまざまな概念について説明します。

レポート作成の必要性

デジタルフォレンジックのプロセスには、第3フェーズとしてのレポートが含まれます。 これは、デジタルフォレンジックプロセスの最も重要な部分の1つです。 次の理由により、レポートの作成が必要です-

  • それは、デジタル法医学審査官が調査プロセスとその調査結果を概説する文書です。
  • 優れたデジタルフォレンジックレポートを別の審査官が参照して、同じリポジトリで同じ結果を得ることができます。
  • これは、デジタル証拠の1と0で見つかった事実を含む技術的および科学的な文書です。

レポート作成の一般的なガイドライン

レポートは、読者に情報を提供するために書かれており、強固な基盤から始めなければなりません。 調査者は、一般的なガイドラインや標準を使用せずにレポートを作成すると、調査結果を効率的に提示するのが困難になります。 デジタルフォレンジックレポートを作成する際に従う必要があるいくつかの一般的なガイドラインを以下に示します-

  • 概要-読者がレポートの目的を確認できるように、レポートには情報の簡単な概要が含まれている必要があります。
  • 使用するツール-目的を含め、デジタルフォレンジックのプロセスを実行するために使用されたツールに言及する必要があります。
  • リポジトリ-誰かのコンピューターを調査し、証拠の概要と、電子メール、内部検索履歴などの関連資料の分析を調査した後、ケースが明確に提示されるようにレポートに含める必要があるとします。
  • 弁護士への推奨事項-レポートには、レポートの調査結果に基づいて調査を続行または中止するためのアドバイスが必要です。

異なるタイプのレポートの作成

上記のセクションでは、デジタルフォレンジックのレポートの重要性と、それを作成するためのガイドラインについて知りました。 さまざまな種類のレポートを作成するためのPythonの形式のいくつかを以下で説明します-

CSVレポート

レポートの最も一般的な出力形式の1つは、CSVスプレッドシートレポートです。 以下に示すように、Pythonコードを使用して、処理されたデータのレポートを作成するCSVを作成できます-

まず、スプレッドシートを書くための便利なライブラリをインポートします-

from __future__ import print_function
import csv
import os
import sys

今、次のメソッドを呼び出します-

Write_csv(TEST_DATA_LIST, ["Name", "Age", "City", "Job description"], os.getcwd())

次のグローバル変数を使用して、サンプルデータタイプを表します-

TEST_DATA_LIST = [[Ram", 32, Bhopal, Manager],
   ["Raman", 42, Indore, Engg.],
   ["Mohan", 25, Chandigarh, HR],
   ["Parkash", 45, Delhi, IT]]

次に、さらに操作を進めるためのメソッドを定義しましょう。 ファイルを「w」モードで開き、newlineキーワード引数を空の文字列に設定します。

def Write_csv(data, header, output_directory, name = None):
   if name is None:
      name = "report1.csv"
   print("[+] Writing {} to {}".format(name, output_directory))

   with open(os.path.join(output_directory, name), "w", newline = "") as \ csvfile:
      writer = csv.writer(csvfile)
      writer.writerow(header)
      writer.writerow(data)

上記のスクリプトを実行すると、report1.csvファイルに保存されている次の詳細が取得されます。

Name Age City Designation
Ram 32 Bhopal Managerh
Raman 42 Indore Engg
Mohan 25 Chandigarh HR
Parkash 45 Delhi IT

Excelレポート

レポートのもう1つの一般的な出力形式は、Excel(.xlsx)スプレッドシートレポートです。 テーブルを作成し、Excelを使用してグラフをプロットすることもできます。 以下に示すように、Pythonコードを使用して、処理されたデータのレポートをExcel形式で作成できます。

まず、スプレッドシートを作成するためのXlsxWriterモジュールをインポートします-

import xlsxwriter

次に、ワークブックオブジェクトを作成します。 このために、Workbook()コンストラクターを使用する必要があります。

workbook = xlsxwriter.Workbook('report2.xlsx')

次に、add_worksheet()モジュールを使用して新しいワークシートを作成します。

worksheet = workbook.add_worksheet()

次に、次のデータをワークシートに書き込みます-

report2 = (['Ram', 32, ‘Bhopal’],['Mohan',25, ‘Chandigarh’] ,['Parkash',45, ‘Delhi’])

row = 0
col = 0

あなたはこのデータを反復処理し、次のように書くことができます-

for item, cost in (a):
   worksheet.write(row, col, item)
   worksheet.write(row, col+1, cost)
   row + = 1

次に、close()メソッドを使用してこのExcelファイルを閉じます。

workbook.close()

上記のスクリプトは、次のデータを持つreport2.xlsxという名前のExcelファイルを作成します-

Ram 32 Bhopal
Mohan 25 Chandigarh
Parkash 45 Delhi

調査取得メディア

調査員は、調査結果を正確に思い出したり、調査のすべての部分をまとめるために、詳細な調査メモを用意することが重要です。 スクリーンショットは、特定の調査のために実行された手順を追跡するのに非常に役立ちます。 次のPythonコードの助けを借りて、スクリーンショットを撮り、将来の使用のためにハードディスクに保存することができます。

まず、次のコマンドを使用してpyscreenshotという名前のPythonモジュールをインストールします-

Pip install pyscreenshot

今、示されているように必要なモジュールをインポートします-

import pyscreenshot as ImageGrab

スクリーンショットを取得するには、次のコード行を使用します-

image = ImageGrab.grab()

次のコード行を使用して、指定された場所にスクリーンショットを保存します-

image.save('d:/image123.png')

今、あなたはグラフとしてスクリーンショットをポップアップしたい場合は、次のPythonコードを使用することができます-

import numpy as np
import matplotlib.pyplot as plt
import pyscreenshot as ImageGrab
imageg = ImageGrab.grab()
plt.imshow(image, cmap='gray', interpolation='bilinear')
plt.show()