Malware Javascript: come funziona e come può essere mitigato?

8

Mi chiedo come il malware venga pubblicato tramite Javascript. Ho notato alcuni pop-up illegittimi mentre visitavo alcuni siti Web finanziari. Mi chiedo in che modo gli exploit di malware agiscono contro l'applicazione e cosa può fare un'applicazione per informare almeno gli utenti che il popup non proviene dal sito Web, è dal malware.

    
posta p_upadhyay 13.09.2012 - 18:59
fonte

3 risposte

3

I download drive-by sono i tipici vettori malware per JavaScript per ottenere i binari sul computer dell'utente. Il JS avvia appena una richiesta di un binario malware che risponde con Content-disposition:attachment che richiede all'utente di scaricarlo.

Il JS può continuare anche se l'utente annulla, rendendo inutilizzabile il browser dell'utente (potrebbe non sapere come uccidere un processo manualmente) e spesso tenta di rendere il download simile al software antivirus.

Alcune parti degli utenti accetteranno il download solo per riavere il browser, e quindi il fornitore di malware dovrà solo aspettare che il binario venga eseguito.

Il problema principale di virus e malware è che il sistema operativo confonde l'utente corrente con i programmi che eseguono. Quando eseguo il solitario, quel processo ha la possibilità di modificare ogni file che posso dalla riga di comando o dal sistema di Windowing. Non dovrebbe essere così.

Non c'è motivo per cui il solitario o uno screensaver scaricati dal web necessiti di accedere ai tuoi file fiscali, quindi puoi utilizzare una combinazione di suggerimenti per capire quali sono i privilegi di cui ha bisogno

  • L'utente ha concesso l'autorizzazione tramite una finestra di dialogo file o qualche altro metodo di designazione mediata da OS come drag-n-drop? ( "Secure Interaction Design" ) spiega una varietà di modi per dedurre concede autorità controllando il modo in cui interagiscono con un'interfaccia utente.
  • Il file in una directory "appartiene" all'applicazione in virtù della sua creazione durante l'installazione del file binario dell'applicazione?
  • Il file è una risorsa di sistema comune come una DLL o una libreria condivisa?

Altri privilegi possono essere concessi in modo simile in base alla designazione dell'utente o alle semplici regole.

La maggior parte dei sistemi operativi e delle applicazioni non sono stati scritti con questo in mente, quindi sistemi come Polaris dai laboratori HP mostra come consentire alle app di funzionare con meno di permessi attuali su Windows.

People often forget that POLA means two things at the same time. Not only must you prevent the application from having more authority than it needs to do the user's job, but also you must ensure that the application has enough authority to do that user's job. Granting too much authority is why there are viruses that hijack applications. Granting too little authority means that the application is useless, like a spreadsheet program in a web browser sandbox that cannot save the result on your hard disk. Polaris gives neither too much nor too little authority: while a polarised application cannot in general corrupt or infect files on your computer, the application can indeed store information to any file that the user explicitly specifies by either double-clicking on the file or by selecting the file in a dialog box. Thus, the Polaris system dynamically adjusts the authority of the application to do what the user wants.

Unlike static sandboxes, Polaris does not appreciably affect the user experience. In fact, one HP executive used a pre-Alpha version of Polaris for three days without knowing it was on his machine. Polaris does its magic without changing applications or the operating system. Nor does it rely on intercepting system calls. Instead, when users "Polarize" an application, the "Polarizer" creates a restricted user account for that application. When users launch the application, either explicitly via the shortcut the Polarizer created or implicitly by opening a file of the appropriate type, Polaris uses a variant of the Windows runAs facility to open the program in its account. The bulk of the Polaris software hides this fact from the user.

    
risposta data 13.09.2012 - 19:36
fonte
2

JavaScript dà agli autori di pagine web, buone e cattive, la possibilità di eseguire qualsiasi codice che vogliono quando il tuo browser visita o è indirizzato alla loro pagina. Sebbene le varie implementazioni di JavaScript abbiano alcune funzioni di sicurezza per cercare di impedire al codice JS di fare qualcosa di ostile al tuo computer, emergono due problemi: quel codice ha dei bug, come quelli discussi nelle risposte precedenti, che permettono attacchi o sfruttamento e molte cose che non sono apertamente ostili possono portare a cattivi risultati (ad esempio un popup da un FakeAV che richiede le informazioni di pagamento).

Esempi di tecniche di attacco attuali relative a Javascript che sono abbastanza efficaci utilizzano iframe nascosti per caricare il malware JS da altri siti compromessi che poi tenta di eseguire nel browser. Questo è visto nelle pubblicità incluse in siti di grande successo così come in quelli meno trafficati. In caso di esito positivo, può continuare a sfruttare il software di sistema locale. In questo modo le varie versioni di Black Hole Exploit Kit attaccano versioni vulnerabili di software PDF e Flash per infettare la macchina host con client botnet.

È stato difficile per i produttori di browser e di sistemi rendere difficile la contraffazione dei loro messaggi legittimi. Controllo dell'account utente di Windows è una delle migliori tecniche a causa di come interrompe ogni altro programma quando necessita di privilegi per completare un'attività. La maggior parte dei browser e dei messaggi pop-up software sono falsi e dovresti essere cauto con loro.

Per evitare che ciò avvenga, utilizzare componenti aggiuntivi, plug-in e configurazione del browser per consentire solo JavaScript dai siti di cui ti fidi o dai siti che autorizzi. NoScript per Firefox è abbastanza efficace nel ridurre questi rischi.

    
risposta data 13.09.2012 - 23:40
fonte
0

L'utente malintenzionato può utilizzare una vulnerabilità sul browser per eseguire il codice malware sul computer del cliente. La maggior parte dei malware che ho visto oscurano il loro codice shell usando Base64 e compressione all'interno di un file JS o incorporati nell'HTML. Una volta eseguito il codice JS sul computer client, utilizza "deflate" e "eval" per eseguire qualsiasi codice codificato sulla stringa.

Il malware sfrutta un bug nel browser per eseguire il codice shell sul computer client. Gli overflow del buffer erano abbastanza comuni, ma in questi giorni i principali browser tendono a essere scritti con maggiore attenzione su quel punto. Usa-dopo-libero e doppio libero sono ancora piuttosto vivaci.

Se ricevi più pop-up casuali da un sito web legittimo, ciò potrebbe essere un'indicazione che il computer potrebbe essere infetto da qualcosa. Assicurati che le tue soluzioni AV e Anti-Spyware siano aggiornate e funzionino correttamente. Inoltre, controlla quali sono in esecuzione sul computer utilizzando strumenti come explorer di processo e Autoruns

    
risposta data 13.09.2012 - 19:38
fonte