Come effettuare un analisi forense di un immagine

determinando: ELA (Error Level Analysis), distribuzione dei toni, tabella di quantizzazione, contrasto, struttura, texture, varianza colore, immagine dello spettro di magnitudo, immagine a bassa frequenza, immagine dei contorni, rilevamento bordi e dati EXIF, IPCT.

Con questa utility è possibile effettuare un'analisi approfondita di una fotografia.

Tramite l'utilizzo combinato di librerie come PIL, cv2, matplotlib e numpy verrano eseguite le seguenti operazioni:

  • Dimensioni in Mb e Kb dell'immagine
  • Dimensioni in pixel dell'immagine
  • Nomi e numero dei canali colore presenti nell'immagine
  • Numero di colori unici presenti in un'immagine
  • Hash dell'immagine: Hash MD5, SHA-1 e SHA-256
  • Analisi del livello di errore (ELA)
  • Istogramma della Distribuzione dei Toni
  • Grafico a Torta della Distribuzione dei Colori
  • Istogramma dei valori dei pixel di un'immagine
  • Tabelle di quantizzazione
  • Spettro di magnitudine di un'immagine
  • Contrasto dell'immagine
  • Texture
  • Varianza colori
  • Immagine low pass
  • Immagine rilevamento bordi
  • Rilevamento pixel nascosti
  • Estrazione dei dati EXIF
  • Estrazione dei dati IPCT
  • Estrazione segmenti standard JPEG
  • Calcolo del rumore
  • Calcolo del gamma
  • Rileva le linee nell'immagine tramite l'algoritmo di Hough
  • Calcolo della simmetria
  • Rileva steganografia
  • Calcolo dell'entropia

Analisi Forense delle Immagini

Il nostro strumento di analisi forense delle immagini offre funzionalità avanzate per l'individuazione di manipolazioni digitali.

Panoramica delle Funzionalità di Analisi

Error Level Analysis (ELA)

Evidenzia differenze nei livelli di compressione JPEG per identificare aree potenzialmente manipolate.

Analisi Spettro di Magnitudine

Rivela pattern periodici e anomalie che possono indicare manipolazioni digitali.

Distribuzione dei Toni e Colori

Analizza la distribuzione dei valori di luminosità e la presenza dei diversi colori nell'immagine.

Analisi dell'Illuminazione

Esamina la coerenza della direzione della luce per identificare composizioni di immagini diverse.

Rilevamento Cloni

Identifica regioni duplicate all'interno della stessa immagine e le evidenzia visivamente.

Rilevamento Splice

Rileva se parti di altre immagini sono state inserite nell'immagine analizzata.

Tavole di Quantizzazione

Rivelano come l'immagine è stata compressa, utili per identificare salvataggi multipli.

Analisi Bordi e Linee

Identifica contorni e strutture lineari presenti nell'immagine.

Steganografia e Pixel Nascosti

Identifica la presenza di informazioni nascoste e dati steganografici.

Come Interpretare i Risultati

Le analisi forniscono:

  • Indicatori visivi: Immagini con evidenziazioni colorate che mostrano le aree potenzialmente manipolate
  • Metriche quantitative: Percentuali, conteggi e livelli di confidenza che misurano l'entità e l'affidabilità della rilevazione
  • Indicatori di stato: Intestazioni verdi indicano che non sono state rilevate manipolazioni, mentre quelle gialle segnalano aree sospette

È importante ricordare che questi strumenti sono ausili analitici e i risultati dovrebbero essere sempre interpretati da esperti nel contesto dell'indagine forense complessiva.

Interpretazione delle Analisi Dettagliate

Istogramma della Distribuzione dei Toni e Grafico a Torta della Distribuzione dei Colori

Istogramma della Distribuzione dei Toni

Mostra la frequenza di ciascun livello di grigio nell'immagine

  • Punte alte: Indicano toni di grigio meno comuni.
  • Punte basse: Indica una buona gamma di toni di grigio.
  • Distribuzione non uniforme: Può indicare un'immagine con dominanza di alcuni toni specifici.
Come Leggere l'Istogramma

Pixel Value (Valore del Pixel): L'asse x rappresenta i valori dei pixel, che vanno da 0 (nero) a 255 (bianco).

Frequency (Frequenza): L'asse y rappresenta la frequenza di ciascun valore di pixel nell'immagine.

Interpretazione dell'Istogramma
  • Distribuzione Uniforme: Un istogramma con una distribuzione uniforme indica un'immagine con una gamma equilibrata di toni.
  • Punte Alte a Sinistra: Indica un'immagine più scura.
  • Punte Alte a Destra: Indica un'immagine più luminosa.
  • Picchi Multipli: Indicano che l'immagine contiene diverse aree con differenti livelli di luminosità.
  • Gamme Vuote: Se ci sono intervalli sull'asse x senza barre, significa che quei valori di pixel sono assenti nell'immagine, il che potrebbe suggerire una bassa gamma dinamica.

Grafico a Torta della Distribuzione dei Colori

Mostra la percentuale di ciascun canale colore nell'immagine.

  • Sezioni grandi: Indicano colori dominanti nell'immagine.
  • Sezioni piccole: Indicano colori meno prevalenti.
  • Equilibrio dei colori: Un'ampia gamma di colori indica una varietà cromatica nell'immagine.
Lettura della Varianza dei Colori

La varianza dei colori misura quanto i colori dell'immagine sono dispersi rispetto alla media.

  • Varianza Alta: Indica un'immagine con vasta gamma di colori e pixel con valori molto diversi tra loro. Comune nelle immagini con molti dettagli e colori vivaci.
  • Varianza Bassa: Indica un'immagine con gamma cromatica più uniforme e pixel con valori simili. Comune nelle immagini con pochi colori o toni uniformi.

Lettura dell'Immagine ELA (Error Level Analysis)

Cosa Cercare nell'Immagine ELA

Aree di Alto Contrasto: Le aree che appaiono significativamente diverse (più luminose o più scure) rispetto al resto dell'immagine possono indicare manipolazioni.

Consistenza: In un'immagine autentica, le variazioni dovute alla compressione JPEG tendono ad essere uniformi. Le incongruenze possono suggerire modifiche.

Come Interpretare l'Immagine ELA

Aree Uniformi: Se l'immagine appare uniforme senza variazioni significative, è meno probabile che sia stata manipolata.

Differenze Significative: Se ci sono aree con differenze evidenti, queste potrebbero essere punti di manipolazione. Ad esempio, la sovrapposizione di un oggetto, ritocchi o alterazioni di parti specifiche dell'immagine.

Lettura delle Heatmap delle Tabelle di Quantizzazione

Scopo delle Heatmap

Le tabelle di quantizzazione vengono utilizzate nella compressione JPEG per ridurre la quantità di dati mantenendo una qualità visiva accettabile. Le heatmap visualizzano queste tabelle, mostrando come vengono compressi i vari componenti di frequenza dell'immagine.

Come Leggere le Heatmap

Assi delle Frequenze:

  • L'asse x rappresenta i componenti di frequenza orizzontali.
  • L'asse y rappresenta i componenti di frequenza verticali.

Valori nella Heatmap:

  • Ogni cella della matrice rappresenta un valore di quantizzazione per un componente di frequenza specifico.
  • Valori più alti indicano una maggiore compressione (meno dettagli).
  • Valori più bassi indicano una minore compressione (più dettagli).

Interpretazione delle Heatmap

  • Componenti a Bassa Frequenza: Solitamente, i componenti a bassa frequenza (in alto a sinistra) hanno valori di quantizzazione più bassi, preservando più dettagli.
  • Componenti ad Alta Frequenza: I componenti ad alta frequenza (in basso a destra) tendono ad avere valori di quantizzazione più alti, riducendo i dettagli per risparmiare spazio.

Lettura dello Spettro di Magnitudine

Scopo dello Spettro di Magnitudine

Lo spettro di magnitudine mostra la distribuzione delle frequenze dell'immagine. È utile per rilevare caratteristiche come pattern ripetuti, dettagli nascosti e manipolazioni.

Come Leggere lo Spettro di Magnitudine

Componenti di Frequenza:

  • L'asse x rappresenta le componenti di frequenza orizzontali.
  • L'asse y rappresenta le componenti di frequenza verticali.

Magnitudine:

  • I valori più alti di magnitudine (mostrati come aree più luminose) indicano frequenze dominanti.
  • I valori più bassi di magnitudine (mostrati come aree più scure) indicano frequenze meno dominanti.

Interpretazione dello Spettro di Magnitudine

  • Centro dello Spettro: La componente al centro rappresenta la frequenza zero (la media dei valori dei pixel). Un valore alto indica un'immagine con una forte componente DC (molto luminosa o scura).
  • Frequenze Basse: Le frequenze basse (vicino al centro) rappresentano i dettagli grossolani dell'immagine.
  • Frequenze Alte: Le frequenze alte (verso i bordi) rappresentano i dettagli fini dell'immagine.

Interpretazione di Contrasto, Texture, Rumore e Gamma

Lettura del Contrasto

Il contrasto è una misura della differenza tra le aree chiare e scure di un'immagine.

  • Contrasto Alto: Un valore elevato indica un'immagine con un'ampia gamma di toni, con aree chiare e scure ben definite. Utile per immagini che necessitano di dettagli distinti e chiari.
  • Contrasto Basso: Un valore basso indica un'immagine più piatta, con meno differenze tra le aree chiare e scure. Utile per immagini con un look più morbido o per ridurre i dettagli di fondo.

Lettura della Texture

La texture rappresenta le variazioni spaziali nei toni di grigio che formano i pattern nell'immagine.

  • Texture Alta: Un valore alto di contrasto della texture indica una grande variazione nei livelli di grigio, suggerendo una texture ruvida o irregolare.
  • Texture Bassa: Un valore basso indica poca variazione nei livelli di grigio, suggerendo una texture liscia o uniforme.

Lettura del Rumore

Il rumore rappresenta la variazione casuale dei valori di pixel, che può influenzare la qualità visiva dell'immagine.

  • Rumore Alto: Un valore alto di deviazione standard indica una maggiore quantità di rumore nell'immagine, che può renderla meno chiara e dettagliata.
  • Rumore Basso: Un valore basso indica una minore quantità di rumore, rendendo l'immagine più chiara e dettagliata.

Lettura del Gamma

Il valore gamma è una misura della luminosità relativa dell'immagine.

  • Gamma Alto: Un valore gamma alto (vicino a 1) indica che l'immagine è relativamente luminosa, potenzialmente a causa di sovraesposizione o una scena con molta luce.
  • Gamma Basso: Un valore gamma basso (vicino a 0) indica che l'immagine è relativamente scura, potenzialmente a causa di sottoesposizione o una scena con poca luce.

Interpretazione delle Immagini Derivate

Immagine a Bassa Frequenza

Un'immagine a bassa frequenza mostra le componenti di bassa frequenza di un'immagine originale, rimuovendo i dettagli ad alta frequenza.

  • Le aree lisce e uniformi rappresentano le componenti a bassa frequenza.
  • Le transizioni graduali e le ombre sono mantenute, mentre i dettagli fini vengono sfumati.
  • Utilità: Identifica strutture globali, riduce rumore e può essere usata come filtro anti-aliasing.

Immagine con Bordi Rilevati

Un'immagine con i bordi rilevati mette in evidenza i contorni degli oggetti presenti nell'immagine originale.

  • I bordi vengono visualizzati come linee bianche su uno sfondo nero.
  • Le linee rappresentano le transizioni brusche nei valori di intensità dei pixel, che corrispondono ai contorni degli oggetti.
  • Utilità: Analisi della forma, riconoscimento degli oggetti e segmentazione delle immagini.

Linee Rilevate

Il rilevamento delle linee in un'immagine è utile per identificare e analizzare le strutture lineari presenti.

  • Le linee rilevate vengono disegnate come linee rosse sull'immagine originale.
  • Rappresentano transizioni brusche nei valori di intensità dei pixel che formano strutture lineari.
  • Utilità: Analisi della struttura, riconoscimento degli oggetti basato su caratteristiche lineari, segmentazione delle immagini.

Interpretazione delle Funzionalità Avanzate

Analisi dell'Illuminazione

Esamina la coerenza della direzione della luce in tutta l'immagine per identificare composizioni di immagini diverse.

  • Le mappe colorate mostrano la direzione dell'illuminazione in ogni parte dell'immagine.
  • Le aree evidenziate in rosso indicano potenziali inconsistenze nell'illuminazione.
  • La percentuale di inconsistenza fornisce una misura quantitativa delle anomalie rilevate.

Rilevamento Cloni

Identifica regioni duplicate all'interno della stessa immagine, una tecnica comune usata per rimuovere o duplicare elementi.

  • I rettangoli colorati evidenziano le regioni potenzialmente clonate.
  • Le linee tratteggiate collegano le aree di origine con le aree duplicate.
  • Il numero di regioni clone e il livello di confidenza indicano la probabilità di manipolazione.

Rilevamento Splice

Rileva se parti di altre immagini sono state inserite nell'immagine analizzata.

  • La mappa di rilevamento splice evidenzia le aree sospette in rosso.
  • L'immagine del residuo di rumore mostra inconsistenze nel pattern di rumore dell'immagine.
  • La percentuale di splice e il numero di regioni forniscono metriche sulla potenziale manipolazione.

Interpretazione di Altri Parametri

Simmetria

Misura quanto un'immagine è simmetrica rispetto a un asse verticale.

  • Simmetria Alta (vicino a 1): Indica un'immagine molto simmetrica rispetto all'asse verticale, comune in oggetti simmetrici come volti, edifici, ecc.
  • Simmetria Bassa (vicino a 0): Indica un'immagine poco simmetrica, comune in scene naturali o oggetti irregolari.

Entropia

Misura della quantità di informazione o complessità presente nell'immagine.

  • Entropia Alta: Indica un'immagine con grande varietà di valori di pixel, suggerendo maggiore complessità e dettagli.
  • Entropia Bassa: Indica un'immagine con minore varietà di valori di pixel, suggerendo minore complessità.

Steganografia

Rileva la presenza di messaggi nascosti all'interno dell'immagine.

  • Messaggio Rilevato: Se viene trovato un messaggio nascosto, verrà visualizzato sotto la chiave 'message'.
  • Nessun Messaggio: Se non viene rilevato alcun messaggio, il dizionario steganography_data sarà vuoto.

Pixel Nascosti

Identifica la presenza di potenziali informazioni nascoste in un'immagine.

  • Alto Numero di Pixel Nascosti: Può indicare la presenza di informazioni steganografiche.
  • Basso Numero di Pixel Nascosti: Indica che probabilmente non ci sono informazioni nascoste significative.

Qualità di Compressione e Segmenti JPEG

Qualità di Compressione

Indica il livello di compressione applicato all'immagine e la qualità visiva risultante.

  • Qualità Alta: Un valore elevato indica minore compressione e maggiore qualità visiva.
  • Qualità Bassa: Un valore basso indica maggiore compressione e potenziale perdita di dettagli.
  • Il metodo di compressione (es. 'jpeg') indica il formato utilizzato per comprimere l'immagine.

Segmenti JPEG

I segmenti JPEG contengono informazioni specifiche sulla struttura interna del file.

  • JPEG SOI: Indica l'inizio del file JPEG.
  • JPEG APP0/APP1/APP13: Contengono metadati come JFIF, Exif, e Photoshop.
  • JPEG DQT: Contiene le tabelle di quantizzazione.
  • JPEG SOF0/SOF2: Indicano l'inizio di un frame baseline o progressivo.
  • JPEG DHT: Contiene le tabelle di Huffman.
  • JPEG SOS/EOI: Indicano l'inizio dei dati di scansione e la fine del file.