아티팩트 보고서

이제 로컬 시스템에서 Python 명령을 설치하고 실행하는 데 익숙해 졌으므로 포렌식 개념을 자세히 살펴 보겠습니다. 이 장에서는 Python 디지털 포렌식에서 아티팩트를 처리하는 데 관련된 다양한 개념을 설명합니다.

보고서 작성의 필요성

디지털 포렌식 프로세스에는 세 번째 단계로보고가 포함됩니다. 이것은 디지털 포렌식 프로세스에서 가장 중요한 부분 중 하나입니다. 다음과 같은 이유로 보고서 작성이 필요합니다.

  • 디지털 포렌식 심사관이 조사 과정과 그 결과를 설명하는 문서입니다.

  • 좋은 디지털 포렌식 보고서는 주어진 동일한 저장소에서 동일한 결과를 얻기 위해 다른 심사관이 참조 할 수 있습니다.

  • 디지털 증거의 1과 0에서 발견 된 사실을 포함하는 기술 및 과학 문서입니다.

보고서 작성을위한 일반 지침

보고서는 독자에게 정보를 제공하기 위해 작성되었으며 견고한 기초에서 시작해야합니다. 조사자는 일반적인 지침이나 표준없이 보고서를 작성하는 경우 조사 결과를 효율적으로 제시하는 데 어려움을 겪을 수 있습니다. 디지털 포렌식 보고서를 작성하는 동안 따라야하는 몇 가지 일반적인 지침은 다음과 같습니다.

  • Summary − 보고서에는 독자가 보고서의 목적을 확인할 수 있도록 간략한 정보 요약이 포함되어야합니다.

  • Tools used − 목적을 포함하여 디지털 포렌식 프로세스를 수행하는 데 사용 된 도구를 언급해야합니다.

  • Repository − 누군가의 컴퓨터를 조사한 후 이메일, 내부 검색 기록 등과 같은 관련 자료의 증거 요약 및 분석을 조사한 다음 사례가 명확하게 제시 될 수 있도록 보고서에 포함되어야한다고 가정합니다.

  • Recommendations for counsel − 보고서에는 보고서의 결과를 기반으로 조사를 계속하거나 중단 할 수있는 조언이 있어야합니다.

다양한 유형의 보고서 생성

위 섹션에서 우리는 디지털 포렌식에서 보고서를 작성하기위한 지침과 함께 보고서의 중요성에 대해 알게되었습니다. 다른 종류의 보고서를 생성하기위한 Python의 일부 형식은 아래에서 설명합니다.

CSV 보고서

보고서의 가장 일반적인 출력 형식 중 하나는 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 파일에 다음과 같은 세부 정보가 저장됩니다.

이름 나이 시티 지정
32 보팔 관리자
라만 42 인도 르 Engg
모한 25 찬디 가르 HR
파카 쉬 45 델리 그것

Excel 보고서

보고서의 또 다른 일반적인 출력 형식은 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 파일을 생성합니다.

32 보팔
모한 25 찬디 가르
파카 쉬 45 델리

조사 수집 미디어

조사자는 조사 결과를 정확하게 기억하거나 조사의 모든 부분을 모으기 위해 자세한 조사 메모를 갖는 것이 중요합니다. 스크린 샷은 특정 조사를 위해 취한 단계를 추적하는 데 매우 유용합니다. 다음 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()