Perché posso ottenere un virus o un trojan visitando un sito Web?


16

Li ho visti molto ultimamente. Si fa clic sul collegamento e trojan istantaneo. Non è necessario scaricare o altro.

Com'è possibile? C'è un modo per scansionare i collegamenti prima di visitare per essere sicuro che non sarò infetto?



È possibile perché i browser Web (come Internet Explorer) sono software estremamente complessi e nonostante siano ben scritti. Ci sono dei difetti che gli hacker scoprono che possono essere utilizzati per eseguire un programma a loro scelta sul vostro computer, come un trojan.
unixman83

Risposte:


14

Per rispondere a come è possibile:

Il sito ha alcuni script che vengono eseguiti durante il caricamento della pagina. Questo è ciò che infetta il tuo PC Windows: non sono sicuro al 100% dei dettagli, sia che scarichi il codice sia che lo esegua. Questa pagina mostra un esempio di come è stato fatto in un caso. È anche richiesto un browser vulnerabile e praticamente qualsiasi browser popolare è vulnerabile poiché vale la pena prendere di mira qualcosa che gira su molti computer.

Saranno per la maggior parte i PC Windows a essere infettati quando le persone corrono come amministratori anziché come utenti con restrizioni. Le ragioni sono molte e varie. Come Roger sottolinea nel suo commento la sua popolarità piuttosto che qualsiasi debolezza intrinseca che è il fattore principale qui:

Windows è più mirato perché è più popolare. Alcuni sostengono che Windows sia meno sicuro delle alternative, ma devo dire che nel modo in cui si evidenzia, non lo è. Eseguo Linux a casa e se un trojan potesse funzionare con il mio account utente, potrebbe comunque causare un sacco di danni ai file che mi interessano un po ', semplicemente non potrebbe prendere il controllo del sistema.

Sebbene eseguendo con un utente con diritti limitati è possibile limitare il danno, ma non necessariamente eliminarlo.

Con Vista e ora 7 che hanno un controllo più stretto su ciò che viene eseguito come amministratore, potresti iniziare a vedere un calo di questo tipo di siti, anche se sarà solo quando la maggior parte esegue il nuovo sistema operativo.


Grazie. Trovo difficile credere che possa fare automaticamente il download del browser ed eseguirlo però. Che tipo di sceneggiatura sarebbe? JavaScript?
Rob,

@Rob - Sì, sarà JavaScript e richiede un browser vulnerabile e l'utente come amministratore.
ChrisF,

È riuscito a installarsi tramite FireFox. Questo per quanto riguarda il webbrowser più sicuro. fml
Rob,

@Rob - Firefox non è stato il browser più sicuro per un po '. Non appena ha raggiunto una discreta quota di mercato, gli autori di virus e trojan hanno iniziato a cercare exploit man mano che valeva la pena. Se vuoi una navigazione "sicura" scegli il browser con la quota di mercato più bassa;)
ChrisF

1
Purtroppo ho paura del cambiamento. Continuerò con Firefox, dato che ha un sacco di addon che uso quotidianamente. FML di nuovo. Ora ho solo bisogno di sapere se è possibile accettare due risposte su una domanda?
Rob,

8

Bene, quando apri un sito Web, il sito Web può indirizzare il browser a fare qualsiasi cosa per suo conto. Nel caso più semplice, invierà solo testo e immagini da visualizzare, ma può anche inviare piccoli programmi che il browser eseguirà (in JavaScript, che i browser hanno incorporato o utilizzando un plug-in del browser come Java o Flash) .

In linea di principio, essere infettati semplicemente visitando un sito Web dovrebbe essere impossibile:

Mentre i browser eseguiranno programmi per conto dei siti Web visitati, questi programmi sono attentamente limitati in modo che possano fare solo cose "innocue". Da JavaScript, ad esempio, puoi modificare la pagina a cui appartiene JavaScript (poiché entrambi provengono dallo stesso sito Web, non ci possono essere danni), ma JavaScript non può cambiare una pagina da un sito Web diverso (quindi un sito squallido non può modificare il tuo home banking) e potrebbe non accedere direttamente ai file sul tuo computer.

Restrizioni simili esistono per la maggior parte dei plugin (almeno per Java e Flash). Questo è comunemente chiamato sandboxing , in quanto il codice si trova essenzialmente in una casella a sé stante, isolata dal computer su cui viene eseguita. In particolare, non è in grado di leggere file sul disco rigido o avviare programmi per te, come possono fare i programmi "normali" in esecuzione sul computer.

Ora, la cosa è: mentre in linea di principio sei al sicuro, in pratica potresti non esserlo. Il motivo è che il sistema sandbox, come tutti i programmi, ha dei bug. A volte questi bug consentono a un programma di "rompere" la sandbox e ingannare il browser o i plug-in per fare cose che non dovrebbero essere consentite. Questi trucchi possono essere abbastanza elaborati.

Esempi:

  • Come i normali programmi, l'implementazione del browser o del plug-in può avere buffer overflow, che possono consentire a un sito Web di eseguire codice appositamente predisposto inviandolo al browser come input.
  • C'era una vulnerabilità nelle vecchie versioni del plug-in Java di Sun rispetto alla sandbox. La sandbox non ha consentito (e ancora non consente) l'accesso a tutte le funzioni Java che potrebbero consentire a un programma di danneggiare, come la lettura o l'eliminazione di file locali. Tuttavia, mentre il sandbox ha bloccato correttamente l'accesso a queste funzioni da un'applet Java, i browser hanno anche consentito l'accesso indiretto a queste funzioni da JavaScript (tramite una tecnica chiamata "riflessione"). Questa "backdoor" non è stata sufficientemente presa in considerazione dagli sviluppatori e ha permesso di aggirare le restrizioni del sandbox, rompendo il sandbox. Vedi https://klikki.fi/adv/javaplugin.html per i dettagli.

Sfortunatamente, ci sono state diverse vulnerabilità nei sandbox di JavaScript, Java e Flash, solo per citarne alcuni. È ancora una specie di competizione tra hacker malintenzionati che rilevano queste vulnerabilità per sfruttarle e bravi hacker e sviluppatori che le rilevano e correggono. Di solito, vengono risolti rapidamente, ma a volte c'è una finestra di vulnerabilità.

A proposito: il sandbox è il motivo per cui alcune applet Java visualizzano un avviso "Ti fidi di questa applet" all'avvio: queste applet ti chiedono di farle uscire dal loro sandbox e di dare loro accesso al tuo computer. Questo a volte è necessario, ma dovrebbe essere concesso solo con buone ragioni.

PS: Il motivo per cui ActiveX (almeno le prime versioni) erano così orribilmente insicure è che ActiveX non ha usato un sandbox. Qualsiasi codice ActiveX da una pagina Web aveva pieno accesso al tuo sistema. Ad essere onesti, questo è stato (parzialmente) rettificato nelle versioni successive.


2

Ne parlo per rispondere alla tua ultima domanda sulle azioni preventive. Un'opzione non così comune è quella di utilizzare una macchina virtuale (bene, è comune tra i circoli di sicurezza). Ce ne sono alcuni gratuiti disponibili. Installa il tuo sistema operativo, browser e componenti aggiuntivi nella macchina virtuale e salva lo stato. È quindi possibile navigare su qualsiasi sito. Al termine, si torna allo stato salvato e tutto ciò che è accaduto nella macchina virtuale dopo che quel punto è stato scartato. È molto semplice una volta entrati, ma può presentare una leggera curva di apprendimento.

Nota: il ripristino dello stato eliminerà letteralmente qualsiasi modifica alla macchina virtuale; tra cui cronologia del browser, cookie, aggiornamenti, ecc. In questo caso, è possibile tornare a quello stato, applicare gli aggiornamenti e salvare un nuovo stato. Lo stesso può essere fatto per qualsiasi altra cosa tu voglia conservare. Niente di tutto ciò influisce sul tuo computer reale, solo sulla macchina virtuale.


Questo non è davvero pratico. Noscript con Firefox è MOLTO meglio.
unixman83

1
In realtà, è molto pratico dal punto di vista della sicurezza, che è quello che è stato chiesto. NoScript disabilita semplicemente il caricamento di JavaScript per impostazione predefinita, ad eccezione dei siti consentiti; ci sono altri vettori di attacco. Senza aiuto, può essere noioso e frustrante avere ragione. La VM si comporta come una sandbox, consente una navigazione regolare / completa e fornisce un mezzo di recupero facile / rapido. Non è necessario utilizzare la VM per siti affidabili / noti se il desktop è bloccato, solo per quelli nuovi / discutibili. Questa discussione ha anche 2 anni ...
Ioan

Solo il 5% dei vettori di attacco nel mondo reale ha successo con script disattivati ​​e plug-in disattivati. cioè con NoScript. molti siti funzionano senza script attivati.
unixman83,

1
Va bene, ho detto che non era comunemente usato e ci vuole l'abitudine. Il voto negativo perché ti piace un'altra soluzione non è corretto. La risposta non è sbagliata Faresti meglio ad aggiungere la tua risposta o a votarne un'altra che potresti preferire. Almeno, è così che intendo il funzionamento del sistema di voto.
Ioan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.