Quali sono le tecniche di attacco del malware JS?

1

Il codice JavaScript malevolo (generato da codice PHP ospitato malintenzionato, ad esempio) può portare ad attacchi. Quali sono i tipi di attacco che il javascript dannoso potrebbe eseguire? Il download drive-by attacca solo quelli che esegue javaScript dannoso?

    
posta Rory Alsop 30.07.2014 - 10:29
fonte

3 risposte

1

Per vedere una spiegazione dei metodi tipici di utilizzo di Javascript, sarebbe meglio avere un libro sull'argomento, piuttosto che fare affidamento su risposte frammentarie qui. Ci sono molti libri di questo tipo, ad esempio:

" Manuale di hacker dell'applicazione Web: individuazione e utilizzo dei difetti di protezione " di Dafydd Stuttard e Marcus Pinto.

" Attacchi XSS: exploit e difese di Cross Site Scripting " di Seth Fogie

Se desideri un breve riepilogo dei tipi di exploit passati e conosciuti che coinvolgono Javascript, puoi consultare il database CVE di MITER (vulnerabilità comune) utilizzando la parola chiave "javascript":

CVE MITER che implicano Javascript

Ci sono circa 1.000 CVE in Javascript e la loro lettura ti fornirà una visione completa della normale gamma di hack che usano Javascript.

Forse un modo migliore per affrontare la tua domanda, non è tanto fornire una zoologia di "tipi di attacco", ma capire perché una pagina web contenente Javascript è più probabile che possa compromettere un client web, piuttosto che una pagina che ha solo HTML.

Javascript presenta un maggiore rischio per la sicurezza per due motivi principali: (1) è molto più complesso di HTML e (2) consente un'interazione più sofisticata con l'utente, quindi maggiori opportunità di ingannare l'utente. Pertanto, ci sono due superfici di vulnerabilità di base, il codice client e il fattore di ingegneria umana / sociale.

Quando il client analizza e reagisce al contenuto HTML, la gamma di azioni possibili è molto più limitata della gamma di possibili mondi che possono sorgere dopo l'analisi e l'esecuzione di Javascript. Per proteggersi dal codice dannoso, il programmatore client deve anticipare ogni possibile cosa che potrebbe accadere ed evitare conseguenze negative. Ovviamente, questo è molto più difficile da fare per un programma per computer, piuttosto che per le istruzioni di layout di pagina.

    
risposta data 08.08.2014 - 01:23
fonte
0

Ci sono molti possibili attacchi, che dipendono tutti dal motore JS, dall'API disponibile e dall'ambiente di esecuzione . Dopo tutto, JS è una lingua anche se sospetto che tu sia interessato solo agli usi del Web. Conosco next-to-nothing sulla sicurezza Web, ma ad esempio JS fa anche parte del formato PDF

5 anni fa puoi caricare DTD in un documento XML nel tuo codice JS su Acrobat Reader e creare un'entità esterna del tuo DTD che punti ai file locali sul sistema in modo da poterli leggere se fossero di tipo XML o testo in chiaro. Ovviamente questa era una conseguenza involontaria dell'API, che è stata modificata. Nessun bug del motore in quella causa però. Oggigiorno lo stesso attacco con la stessa API sarebbe anche impossibile perché l'ambiente di esecuzione è cambiato: Acrobat Reader ora esegue il sandboxing dei PDF che apre (in modalità protetta).

In breve , anche se non riesco a rispondere alla tua domanda, posso ancora dire che qualcuno che non tratti tutto ciò non risponde correttamente:

  • bug nel tuo motore permettono a un attaccante (pieno di risorse) di fare tutto ciò che vogliono
  • difetti nell'API consentono a un utente malintenzionato di eseguire piccole azioni inaspettate (cross-site scripting, clickjacking, campi di keylogging che si riempiono e quindi eliminare )
  • un ambiente runtime permissivo favorisce o abilita l'attacco
risposta data 06.08.2014 - 09:49
fonte
-1

La maggior parte delle vulnerabilità nei browser si trovano nelle parti complesse, come la struttura dinamica dell'albero DOM.

Questo è qualcosa che Javascript fa, quando un programmatore commette un errore (come un uso dopo l'uso) le persone possono sfruttarlo. E scrivendo un javascript specifico puoi gestire l'heap in modo che contenga i valori esatti necessari per fare in modo che il browser faccia ciò che vuoi (come attaccante).

L'altra cosa è come il framework di exploit di manzo, usa i trucchi che il browser ti permette di fare (come gli avvisi di Steve DL).

    
risposta data 07.08.2014 - 14:21
fonte

Leggi altre domande sui tag