Python Forensics - Applicazione forense di base

Per creare un'applicazione secondo le linee guida Forensic, è importante comprendere e seguire le sue convenzioni e modelli di denominazione.

Convenzioni di denominazione

Durante lo sviluppo di applicazioni forensi Python, le regole e le convenzioni da seguire sono descritte nella tabella seguente.

Costanti Maiuscolo con separazione di sottolineatura ALTA TEMPERATURA
Nome della variabile locale Minuscolo con maiuscole irregolari (i trattini bassi sono facoltativi) currentTemperature
Nome della variabile globale Prefisso gl minuscolo con maiuscole irregolari (i trattini bassi sono facoltativi) gl_mamostRecordedTemperature
Nome funzioni Maiuscolo con maiuscole irregolari (trattini bassi opzionali) con voce attiva ConvertFarenheitToCentigrade (...)
Nome oggetto Prefisso ob_ minuscolo con maiuscole irregolari ob_myTempRecorder
Modulo Un trattino basso seguito da lettere minuscole con maiuscole irregolari _tempRecorder
Nomi delle classi Prefisso class_ poi maiuscole irregolari e sii breve class_TempSystem

Prendiamo uno scenario per comprendere l'importanza delle convenzioni di denominazione in Computational Forensics. Supponiamo di avere un algoritmo di hashing che viene normalmente utilizzato per crittografare i dati. L'algoritmo di hashing unidirezionale accetta l'input come flusso di dati binari; potrebbe essere una password, un file, dati binari o qualsiasi dato digitale. L'algoritmo di hashing produce quindi un filemessage digest (md) rispetto ai dati ricevuti in ingresso.

È praticamente impossibile creare un nuovo input binario che genererà un dato digest del messaggio. Anche un singolo bit dei dati di input binari, se modificato, genererà un messaggio univoco, diverso dal precedente.

Esempio

Dai un'occhiata al seguente programma di esempio che segue le convenzioni sopra menzionate.

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

Il programma precedente produce il seguente output.

In questo programma, lo script Python accetta l'input (il tuo nome completo) e lo converte secondo l'algoritmo di hashing md5. Crittografa i dati e protegge le informazioni, se necessario. Secondo le linee guida forensi, il nome delle prove o qualsiasi altra prova può essere protetto in questo modello.