La risposta è semplice. Quella era non una foto. E .pif
è non un formato immagine. Conta su NYTimes per fornire informazioni tecniche corrette.
Come dice il log sull'articolo di NYTimes e come il report effettivo di FireEye conferma che il file utilizzato era un file .pif . È una delle meno conosciute estensioni di file eseguibili di Windows.
.pif è legacy da MS-DOS, come .com. È inteso per essere un "file di informazioni sul programma" (da cui il nome), memorizzando un collegamento a un programma (DOS) insieme a varie informazioni sul sistema su come trattarlo. Ancora oggi, Windows offre ai file .pif l'icona di un collegamento.
La cosa divertente è che, oggi, a Windows non interessa se il file .pif è in realtà solo un file di informazioni sul programma. Provalo: rinomina qualsiasi file .exe in un file .pif ed eseguilo. Potrebbe esserci qualche differenza, come l'icona che non viene visualizzata, ma questo è tutto. Questo è il trattamento uniforme dei file di diversi formati. Grazie, Microsoft!
Perché succede? Risposta breve: Perché Windows . Risposta più lunga: Windows esegue un file .pif tramite ShellExecute
, che tecnicamente dovrebbe trovare un programma adatto per aprire un file e quindi utilizzarlo per aprirlo. Con i file .pif, controlla innanzitutto se è veramente un file che punta a un eseguibile MS-DOS. Se non è conforme al formato file .pif, ShellExecute verifica se contiene codice eseguibile. Se lo fa, viene eseguito come se fosse un exe. Perché? Perché Windows!
Che cosa hanno fatto gli genieri hacker suuper-scary ? Questi ragazzi non si sono preoccupati di fare nulla di complicato: hanno creato un archivio SFXRAR autoestraente ed eseguibile da un programma di installazione di virus e un programma (probabilmente solo un .bat) che apriva l'immagine di una ragazza trovata su Internet, ribattezzato diabolico congegno in un file .pif e lo ha inviato allo sventurato combattente per la libertà.
Perché hanno usato .pif? Per due ragioni, ovviamente:
-
Poche persone sanno che può essere eseguito come un file eseguibile ( grazie, Microsoft! )
-
Ovviamente suona come .gif o .tiff o .pdf o qualcosa di molto image-y . Perfino tu non hai dubitato del suo nome che fosse un formato immagine, vero, OP? ;)
Riguardo alla tua domanda reale ("come è possibile incorporare il codice eseguibile in un'immagine"). Sì, è possibile eseguire codice tramite un'immagine appositamente predisposta purché sia aperta in un programma vulnerabile. Questo può essere fatto sfruttando un attacco come un buffer overflow . Ma questi hacker specifici probabilmente non erano abbastanza intelligenti per questo.
Modifica
Nota interessante: questi ragazzi hanno effettivamente utilizzato DarkComet, che ha la capacità di generare file eseguibili compressi con diverse estensioni .pif nella loro lista. Non sono sicuro di visualizzare un'immagine, ma questa potrebbe essere una funzionalità aggiunta in una versione più recente.
Un'altra modifica
Vedo che stai chiedendo come proteggere da questa specifica " vulnerabilità ". La risposta è semplice.
Per prima cosa, assicurati che Windows mostri le estensioni dei file . Di solito, Windows li nasconde di default ( grazie, Microsoft! )
Quindi impara questo a memoria: .exe .com .cmd .bat .pif .vb .vba .vbs .msi .reg .ws .wsc .wsf .cpl .lnk
. Questi sono i tipi di file più conosciuti che possono facilmente eseguire codice potenzialmente dannoso o danneggiare in altro modo il computer se aperto, indipendentemente dal fatto che le applicazioni vulnerabili siano installate o meno. Se qualcuno ti manda un file del genere dicendo che è un'immagine di una bella ragazza, puoi essere sicuro che si tratta di un altro hacker di basso profilo come questi siriani.
Un'altra opzione è semplicemente di essere proattivi e controllare e ricontrollare ogni file scaricato con un formato di file non familiare. Potrebbe essere un malware, lo sai.
Per quanto riguarda le immagini reali con exploit ... probabilmente potresti provare a mantenere aggiornato il tuo software.