Come rilevare JavaScript dannoso in un file PDF?

2

L'uso di JavaScript in un file PDF è pericoloso per definizione o è pericoloso solo quando all'interno di un PDF vengono utilizzate funzioni specifiche (ad esempio eval ), nel qual caso quali funzioni JavaScript sono pericolose in un PDF?

In altre parole: quando deve essere considerato pericoloso il codice JavaScript in un file PDF?

    
posta Bob Ortiz 22.07.2016 - 13:42
fonte

3 risposte

3

Ho effettuato alcune ricerche aggiuntive e ho trovato un interessante documento di ricerca (facilmente leggibile e di sole 12 pagine). La ricerca è denominata Rilevamento di codice JavaScript dannoso in PDF tramite Document Instrumentation .

Nel loro documento di ricerca introducono un approccio sensibile al contesto rilevare e con fi gurare JavaScript dannoso in PDF tramite static strumentazione documentale e monitoraggio del comportamento in fase di esecuzione.

Le seguenti citazioni e figure forniscono informazioni su come il loro sistema di rilevamento sviluppato si avvicina al rilevamento di PDF dannoso.

Architettura di rilevamento

Our system consists of two major components, front-end and back-end, working in two phases. In Phase-I, the front- end component statically parses the document, analyzes the structure, and finally instruments the PDF objects containing JavaScript. Then, in Phase-II when an instrumented document is opened, the back-end component detects suspicious behaviors of a PDF reader process in context of JavaScript execution and confines malicious attempts.

AnalisistaticadifaseIestrumentazione

ForsuspiciousPDF,thefront-endfirstparsesthedocumentstructureandthendecompressestheobjectsandstreams.Asetofstaticfeaturesareextractedinthisprocess.Whenadocumenthasbeendecompressed,thefront-endwillinstrumentitandaddcontextmonitoringcodeforJavaScript.Insomecases,ifthedocumentisencryptedusinganowner’spassword,i.e.,amodeofPDFinwhichthedocumentisreadablebutnon-modifiable,weneedtoremovetheowner’spassword.WiththehelpofPDFpasswordrecoverytoolslike[28],thiscanbedoneeasilyandveryfast.

RilevamentodiruntimestaticodifaseII

Theback-endcomponentworksintwosteps,runtimemonitoringandruntimedetection.WhenaninstrumentedPDFisloaded,thecontextmonitoringcodeinsidewillcooperatewithourruntimemonitor,whichtriestocollectevidenceofpotentialinfectionattempts.WhenJavascriptexecutestotheendoracriticaloperationoccurs,theruntimedetectorwillcomputeamalscore.Ifthemalscoreexceedsapredefinedthreshold,thedocumentwillbeclassifiedasmalicious.

L'URLoriginalediquestodocumentodiricerca(PDF)è link , di cui fa anche riferimento l'inizio di questa risposta. Un mirror / copia di questo documento può essere trovato qui link .

Crediti a: Daiping Liu e Haining Wang del college di William e Mary e Angelos Stavrou della George Mason University.

    
risposta data 25.07.2016 - 12:35
fonte
0

Risposta breve: Acrobat JavaScript è essenzialmente innocuo.

Risposta più lunga: Acrobat JavaScript (il JavaScript in PDF) è essenzialmente innocuo perché funziona nel proprio ambiente protetto e ha un accesso limitato al mondo esterno.

È tuttavia possibile creare chiamate su un server (ad esempio utilizzando il metodo getURL() o launchURL() ) che potrebbe essere in grado di eseguire codice dannoso, ma tale codice deve essere portato al server coinvolto in in qualche modo o in un altro modo. Inoltre, ci sono alcuni protocolli che sono bloccati in quei metodi citati, ad esempio javascript: .

Come è stato detto, non c'è alcuna correlazione tra il potenziale pericolo e la dimensione del file PDF. È molto facile creare PDF con più di 10 MB o anche 100 MB di dimensione, senza problemi (per il mondo di prestampa, 100 MB sono considerati "normali", se non "piccoli").

    
risposta data 22.07.2016 - 20:06
fonte
-3

Risposta breve: NO.

Il file PDF complesso può incorporare javascript per effettuare la convalida all'interno di un modulo che consente all'utente di inserire dati, fare clic e inviarli quando lo si apre con il lettore PDF corretto. Normalmente un file PDF di grandi dimensioni (> 5MB) con javascript è abbastanza sicuro, qualcosa di più di 10 MB è un onere di costo per l'attaccante per ospitare il file. Tuttavia, c'è sempre un'eccezione, ad es. PDF riempito di giunzioni vuote per renderlo enorme, ma comprime le dimensioni più piccole e consente alla vittima di decomprimerlo in modi volontari.

Concentrarsi su eval è abbastanza inutile per rilevare il malware PDF. Con javascript, è facile costruire eval senza mostrarlo affatto.

Ad esempio, si può usare Hieroglyphy per nasconderlo.

    
risposta data 22.07.2016 - 14:54
fonte

Leggi altre domande sui tag