아티팩트 보고서
이제 로컬 시스템에서 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()