Relatório de Artefato

Agora que você está confortável com a instalação e execução de comandos Python em seu sistema local, vamos passar aos conceitos de perícia em detalhes. Este capítulo explicará vários conceitos envolvidos no tratamento de artefatos na análise forense digital do Python.

Necessidade de criação de relatório

O processo de análise forense digital inclui relatórios como a terceira fase. Esta é uma das partes mais importantes do processo forense digital. A criação do relatório é necessária devido aos seguintes motivos -

  • É o documento no qual o examinador forense digital descreve o processo de investigação e seus resultados.

  • Um bom relatório forense digital pode ser consultado por outro examinador para obter o mesmo resultado com os mesmos repositórios.

  • É um documento técnico e científico que contém fatos encontrados entre 1s e 0s da evidência digital.

Diretrizes Gerais para Criação de Relatórios

Os relatórios são escritos para fornecer informações ao leitor e devem começar com uma base sólida. os investigadores podem enfrentar dificuldades para apresentar de forma eficiente seus resultados se o relatório for preparado sem algumas diretrizes ou padrões gerais. Algumas diretrizes gerais que devem ser seguidas durante a criação de relatórios forenses digitais são fornecidas abaixo -

  • Summary - O relatório deve conter um breve resumo das informações para que o leitor possa verificar a finalidade do relatório.

  • Tools used - Devemos mencionar as ferramentas que têm sido utilizadas para realizar o processo de perícia digital, incluindo sua finalidade.

  • Repository - Suponha que investiguemos o computador de alguém, o resumo das evidências e a análise do material relevante como e-mail, histórico de buscas internas, etc., então eles devem ser incluídos no relatório para que o caso seja apresentado de forma clara.

  • Recommendations for counsel - O relatório deve ter as recomendações para o advogado continuar ou interromper a investigação com base nas conclusões do relatório.

Criação de diferentes tipos de relatórios

Na seção acima, ficamos sabendo da importância do relatório na perícia digital juntamente com as diretrizes para sua criação. Alguns dos formatos em Python para a criação de diferentes tipos de relatórios são discutidos abaixo -

Relatórios CSV

Um dos formatos de saída mais comuns de relatórios é um relatório de planilha CSV. Você pode criar um CSV para criar um relatório de dados processados ​​usando o código Python, conforme mostrado abaixo -

Primeiro, importe bibliotecas úteis para escrever a planilha -

from __future__ import print_function
import csv
import os
import sys

Agora, chame o seguinte método -

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

Estamos usando a seguinte variável global para representar tipos de dados de amostra -

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

A seguir, vamos definir o método para prosseguir para as operações futuras. Abrimos o arquivo no modo “w” e definimos o argumento da palavra-chave newline como uma string vazia.

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)

Se você executar o script acima, obterá os seguintes detalhes armazenados no arquivo report1.csv.

Nome Era Cidade Designação
RAM 32 Bhopal Managerh
Raman 42 Indore Engg
Mohan 25 Chandigarh RH
Parkash 45 Délhi ISTO

Relatórios Excel

Outro formato de saída comum de relatórios é o relatório de planilha Excel (.xlsx). Podemos criar a tabela e também plotar o gráfico usando o Excel. Podemos criar um relatório de dados processados ​​em formato Excel usando o código Python como mostrado abaixo−

Primeiro, importe o módulo XlsxWriter para criar planilhas -

import xlsxwriter

Agora, crie um objeto de pasta de trabalho. Para isso, precisamos usar o construtor Workbook ().

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

Agora, crie uma nova planilha usando o módulo add_worksheet ().

worksheet = workbook.add_worksheet()

Em seguida, escreva os seguintes dados na planilha -

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

row = 0
col = 0

Você pode iterar esses dados e gravá-los da seguinte maneira -

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

Agora, vamos fechar este arquivo Excel usando o método close ().

workbook.close()

O script acima criará um arquivo Excel chamado report2.xlsx com os seguintes dados -

RAM 32 Bhopal
Mohan 25 Chandigarh
Parkash 45 Délhi

Mídia de aquisição de investigação

É importante para um investigador ter as notas investigativas detalhadas para recordar com precisão as descobertas ou reunir todas as peças da investigação. Uma captura de tela é muito útil para acompanhar as etapas executadas em uma investigação específica. Com a ajuda do seguinte código Python, podemos fazer a captura de tela e salvá-la no disco rígido para uso futuro.

Primeiro, instale o módulo Python chamado pyscreenshot usando o seguinte comando -

Pip install pyscreenshot

Agora, importe os módulos necessários conforme mostrado -

import pyscreenshot as ImageGrab

Use a seguinte linha de código para obter a captura de tela -

image = ImageGrab.grab()

Use a seguinte linha de código para salvar a captura de tela no local fornecido -

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

Agora, se você deseja abrir a captura de tela como um gráfico, pode usar o seguinte código 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()