Come fa un virus a infettare il nostro computer visitando un sito web

3

Mi sono chiesto come un virus infetti il nostro computer semplicemente visitando un sito Web, senza l'assistenza dell'utente. So che un sito Web dannoso può sfruttare alcune funzionalità vulnerabili di alcuni browser, come JavaScript, Flash, HTML5 e così via, e causare alcuni errori come l'overflow del buffer ed essere in grado di inviare un virus alla nostra macchina.

Ma nella condizione in cui disabilitiamo tutte queste funzionalità vulnerabili, consenti solo il rendering di un HTML puro senza alcuna funzione aggiuntiva, il sito Web malevolo è ancora in grado di inviare un virus nella nostra macchina? Se sì, puoi spiegare il meccanismo in che modo è ancora in grado di farlo?

    
posta armamoyl 10.08.2016 - 05:03
fonte

4 risposte

4

Non è possibile raggiungere la condizione di disabilitare tutte le funzionalità vulnerabili.

Le funzionalità che possono essere disabilitate tramite l'interfaccia utente di un browser non comprendono nulla in prossimità del set completo di potenziali vulnerabilità.

Considera la gestione del testo. Non c'è alcun passaggio per disabilitare l'elaborazione di caratteri Unicode multi-byte, ma una gestione impropria di questi è stato il vettore di una serie di attacchi lato client che coinvolgono consegna ed esecuzione di payload di exploit. Il problema di fondo di analizzare flussi di bit e trasformarli in strutture di dati non è risolto in modo sicuro.

C'è anche quello che sembra una supposizione nella domanda che da qualche parte in un software c'è una base o un nucleo sicuro, che la funzionalità accresce, che le vulnerabilità esistono solo in nuove funzionalità, che cosa dobbiamo fare per migliorare la sicurezza è disabilitare solo la nuova funzionalità.

Questa ipotesi è errata. La funzionalità si accresce e con l'accrescimento arriva la complessità e con la complessità arrivano nuovi bug, ma non è il caso che le funzionalità più semplici e precedenti rappresentino una sorta di ideale di sicurezza.

Il codice più recente viene scritto molto spesso con maggiore disciplina e maturità e consapevolezza del rischio, ed è spesso in un senso più assoluto.

Le funzionalità precedenti potrebbero essere state protette per il periodo in cui è stata creata, ma non sopravviverebbero per un momento contro gli hacker di oggi. Il codice più vecchio è spesso di qualità peggiore del codice più recente, sopravvive con bug e vulnerabilità noti solo perché la sua sostituzione è troppo scoraggiante o complessa da contemplare realisticamente. I problemi di sicurezza possono essere accuratamente nascosti sotto strati di protezioni previste, ma sono ancora presenti, in attesa di un aggressore abbastanza intelligente da trovare un vettore attraverso il quale sfruttarli.

In breve, non esiste un software non vulnerabile. Ovviamente le persone parlano in termini in bianco e nero e si riferiscono ad alcune caratteristiche sicure e ad altre meno sicure, ma è più accurato ricordare nelle discussioni sulla sicurezza il vecchio scherzo di correre più velocemente dell'altro quando viene inseguito da un orso.

I Chromebook saranno "sicuri" a patto che siano meno popolari e non Windows. Se i Chromebook fossero la piattaforma dominante nell'ecosistema, il tasso di scoperta delle vulnerabilità aumenterebbe notevolmente. Le vulnerabilità sarebbero diverse nel carattere rispetto a quelle che si trovano su altre piattaforme e, dato lo stato attuale delle conoscenze, sono più difficili da trovare rispetto a quelle su altre piattaforme, ma sono ancora presenti.

Questa traiettoria non è solo vera per il software, può essere osservata in qualsiasi ambito dello sforzo umano funzionale. Ci sono incentivi per abbattere vecchi edifici a Tokyo, anche quelli sacri, perché rappresentano un pericolo nel contesto di rendere la città più resistente ai terremoti. Le auto che hanno più di 5-7 anni sono relativamente poco sicure negli incidenti rispetto alle più recenti controparti.

Alla fine, non sono le vulnerabilità che contano, ma la sicurezza. Non importa se in un dato momento un determinato attaccante non riesce a trovare un punto debole in un punto particolare in un particolare software. Gli attacchi sono condotti con gli obiettivi in mente, spesso economici, e il panorama è abbastanza ricco che se un approccio fallisce ci sono dozzine di altri che possono essere provati con profitto.

L'attacco più comune a cui le persone cadono vittima è il phishing, che può ma non deve sfruttare alcuna particolare tecnologia, oltre a usarlo per coinvolgere la vittima.

Quindi un browser potrebbe non avere un'estensione o scoprire vulnerabilità ma dal punto di vista dell'utente che non lo rende sicuro. La semplicità e la riduzione delle funzionalità possono ridurre la superficie di attacco e aumentare il costo del targeting di un particolare utente, ma non esiste una combinazione magica di impostazioni che un utente possa modificare per consentire loro di dimenticare la sicurezza.

Spero che questa sia stata la vera domanda.

    
risposta data 10.08.2016 - 07:11
fonte
3

Anche se disabiliti tutti i plugin o ActiveX come Flash e disabiliti anche JavaScript, il browser e il sistema operativo insieme sono ancora una bestia complessa e la superficie di attacco non diventa zero. Con tutte queste funzionalità ridotte, ad esempio, potresti ancora eseguire attacchi utilizzando i bug nei decodificatori di immagini e video . E potrebbero esserci anche bug nel motore di rendering HTML complesso e così complesso. Oppure il tipo mime di un contenuto servito potrebbe essere associato a un programma esterno come Acrobat Reader o un'applicazione di Office ed eseguire un exploit scaricando il contenuto e avviando l'applicazione vulnerabile.

BTW, se dai un'occhiata alle ultime patch di Microsoft troverai correzioni per la gestione di grafica, PDF, documenti d'ufficio, ecc. Molti di questi bug consentivano l'esecuzione di codice in modalità remota, ovvero l'infezione del client.

A parte questo - quanto è realistico nel mondo di oggi eseguire il browser con JavaScript disabilitato su tutti i siti? Molti siti semplicemente smetterebbero di funzionare.

    
risposta data 10.08.2016 - 05:39
fonte
1

Vi sono stati errori nel codice di analisi HTML dei browser più diffusi (ad es. questo ). L'esecuzione di una versione vulnerabile di IE significherebbe che devi solo esplorare un sito preparato e il browser eseguirà il malware che viene inserito nel sito (anche se i video, ecc. Sono disabilitati). Non si noterà molto (forse la pagina che stai visitando non è resa correttamente). Quindi non hai necessariamente bisogno di bug nei renderer di immagini o video o flash per ottenere l'esecuzione di codice in modalità remota. Nessuno sa quanti exploit come questi sono disponibili per i browser recenti nella rete oscura. Ogni tanto vengono pubblicate correzioni di errori che si dice risolvono "problemi gravi che potrebbero portare all'esecuzione di codice in modalità remota" senza che alcun dettaglio sia pubblicato al pubblico. Ciò significa che molto probabilmente questi bug esistono. La domanda è se qualcuno trova un modo per sfruttarli per l'esecuzione del codice. Ma data la quantità di energia e risorse che i criminali informatici hanno investito in passato nella costruzione di imprese complesse, non mi sentirei al sicuro ...

    
risposta data 10.08.2016 - 17:16
fonte
0

Direi che il recupero di una pagina HTML richiede l'esecuzione del browser attraverso la memoria e quindi la cache. L'unico processo di apertura di un browser richiede la memorizzazione di cookie, i cookie indicano che file e file aprono la possibilità di un virus. Ora tu dici che hai disabilitato (quello che sembra essere) tutti i possibili buchi da cui un virus può infettare il computer, tuttavia (e questo è teorico), il sito HTML stesso potrebbe inviare codice dannoso a un cookie che a sua volta può caricare una routine di esecuzione automatica e iniziare il processo di infezione; ora non sono un esperto di HTML, ma non scarterei che il codice del sito HTML potesse eseguire questa azione unicamente visualizzando il sito web. Considera la possibilità di un attacco di iniezione di HTML molto ben progettato.

Dai un'occhiata qui:

link

    
risposta data 10.08.2016 - 05:49
fonte

Leggi altre domande sui tag