Python Forensics - Aplicación forense básica

Para crear una aplicación según las pautas forenses, es importante comprender y seguir sus convenciones y patrones de nomenclatura.

Convenciones de nombres

Durante el desarrollo de aplicaciones forenses de Python, las reglas y convenciones a seguir se describen en la siguiente tabla.

Constantes Mayúsculas con separación de subrayado ALTA TEMPERATURA
Nombre de variable local Minúsculas con mayúsculas llenas de baches (los guiones bajos son opcionales) temperatura actual
Nombre de variable global Prefijo gl minúscula con mayúsculas llenas de baches (los guiones bajos son opcionales) gl_maximumRecordedTemperature
Nombre de las funciones Mayúsculas con mayúsculas llenas de baches (guiones bajos opcionales) con voz activa ConvertFarenheitToCentigrade (...)
Nombre del objeto Prefijo ob_ minúsculas con mayúsculas llenas de baches ob_myTempRecorder
Módulo Un guión bajo seguido de minúsculas con mayúsculas llenas de baches _tempRecorder
Nombres de clases Prefijo class_ luego mayúsculas con baches y sea breve class_TempSystem

Tomemos un escenario para entender la importancia de las convenciones de nomenclatura en Computational Forensics. Supongamos que tenemos un algoritmo hash que normalmente se usa para cifrar datos. El algoritmo hash unidireccional toma la entrada como un flujo de datos binarios; esto podría ser una contraseña, un archivo, datos binarios o cualquier dato digital. El algoritmo hash luego produce unmessage digest (md) con respecto a los datos recibidos en la entrada.

Es prácticamente imposible crear una nueva entrada binaria que genere un resumen de mensaje determinado. Incluso un solo bit de los datos de entrada binaria, si se cambia, generará un mensaje único, que es diferente al anterior.

Ejemplo

Eche un vistazo al siguiente programa de muestra que sigue las convenciones mencionadas anteriormente.

import sys, string, md5   # necessary libraries
print "Please enter your full name"
line = sys.stdin.readline()
line = line.rstrip()
md5_object = md5.new()
md5_object.update(line)
print md5_object.hexdigest()   # Prints the output as per the hashing algorithm i.e. md5
exit

El programa anterior produce la siguiente salida.

En este programa, el script Python acepta la entrada (su nombre completo) y la convierte según el algoritmo hash md5. Cifra los datos y protege la información, si es necesario. De acuerdo con las pautas forenses, el nombre de las pruebas o cualquier otra prueba se puede asegurar en este patrón.