Tecniche di malware tramite Linux Chrome e i suoi effetti, non root

1

È possibile visitare un sito Web con Chrome su Ubuntu e fare in modo che quel sito esegua il codice shell sulla mia macchina senza scaricare nulla in modo esplicito né fare clic su alcune domande / popup di esecuzione di Chrome? Se sì, puoi spiegare usando un esempio specifico?

Ho letto alcuni articoli interessanti:

Ho letto anche articoli su come Linux imposta i privilegi non root / non-admin e i suoi benefici. Ma non è così inutile se sono preoccupato per un utente malintenzionato che vede i miei dati personali nella mia home directory? ($ HOME / *)

Da cosa voglio protezione:

  • Non riesco a recuperare i miei file sotto $ HOME
  • Non è in grado di identificare i tasti / keylogger durante l'utilizzo di una scheda di Chrome diversa o l'utilizzo di una qualsiasi delle mie app di Ubuntu come / usr / bin / ssh

Credo che almeno una volta la sandbox di Chrome sia stata violata. Non sono sicuro di cosa implichi esattamente.

Il post di Ubuntu sopra dice che il sandboxing di Chrome "impedisce al tuo sistema di eseguire automaticamente codice errato sul tuo sistema." Intende che se la sandbox di Chrome viene ignorata, l'utente malintenzionato può ancora salvare un file , ad esempio, nella mia ~ / cartella di download? Inoltre, sta dicendo che, poiché Chrome è abbastanza intelligente, Chrome non tenterà mai di eseguire uno script binario / bash da solo?

Questi post sono carini, ma sto cercando di capire i meccanismi dietro le quinte, e un esempio molto specifico mi aiuterà a chiarirlo.

Grazie.

    
posta Nathanal Lenner 28.03.2018 - 23:26
fonte

2 risposte

0

Questa domanda sembra essere in realtà più domande poste in una volta, e le domande sono un po 'vaghe. Potresti ottenere risposte migliori se interrompi il tuo post in poche altre domande focalizzate.

Is it possible to visit a website with Chrome on Ubuntu and have that site execute code on my machine without explicitly downloading anything nor click on some Chrome execute question/popup? If so, can you explain using a specific example?

Qui la domanda è vaga. Cosa intendi con "codice di esecuzione"? Ovviamente, il tuo browser eseguirà un sacco di codice ogni volta che accedi a quasi tutti i siti web. Ogni sito Web invia una serie di codice JavaScript al tuo browser e il tuo browser esegue quel codice utilizzando la tua CPU (tramite la macchina virtuale JS implementata dal browser).

Dato che questo sembra abbastanza ovvio, non mi è chiaro esattamente cosa stai chiedendo.

What I want protection from:

Not able to retrieve my files under $HOME

In assenza di un exploit per uscire dalla sandbox dovresti essere abbastanza ben protetto qui. Sarebbe un grosso problema se il browser potesse leggere o scrivere file nella tua home directory. Se trovi un modo per farlo probabilmente puoi guadagnare dei soldi da una taglia del bug. Ma immagino che implicherebbe prima trovare un modo per uscire dalla sandbox.

Not able to identify key strokes / key logger

I colpi chiave sono stati inseriti nel browser, come in un modulo? Ancora una volta questa parte della domanda è un po 'oscura. Normalmente non verrai protetto da javascript sulla pagina che legge i tasti inseriti in un modulo nella pagina del browser (anche prima dell'invio del modulo). È questo il tipo di sequenza di tasti di cui sei preoccupato o intendi le battiture inserite in un'applicazione diversa quando il browser è in esecuzione in background? In questo caso, ancora una volta, sarebbe un grosso problema se javascript potesse accedere a queste ultime sequenze di tasti, quindi di nuovo questo richiederebbe di uscire dalla sandbox tramite qualche exploit.

    
risposta data 29.03.2018 - 00:03
fonte
0

Se non ci sono difetti di implementazione o di progettazione in Chrome, non è possibile eseguire codice dannoso al di fuori dei confini della sandbox di Chrome.

Tuttavia, Chrome è un software complesso e nuovi bug di sicurezza vengono spesso trovati e risolti.

I also read articles of how Linux defaults to non-root / non-admin privileges and its benefits. But isn't that pointless if I'm concerned about a malicious user seeing my personal data in my home dir? ($HOME/*)

Se il codice maligno riesce a funzionare con i privilegi completi del tuo account utente, allora i tuoi file non possono più essere considerati sicuri. Ma i dati di altri utenti sono protetti (a meno che tu non abbia i privilegi di root):

LasandboxdiChromeisolasolounprocessocompromesso(eseguendocodicedannoso)dalsistemalocale.Nonfornisceunisolamentofondamentalediunsitowebdaunaltro.Seunutentemalintenzionatoriesceacompromettereilprocessocheospitaunapaginadannosa(ciòrichiedesforzi,manonèimpossibile),lapaginaWebpuòaccedereadatiprivatidaaltrisitiWeb(sipensiaunannunciodannosocherubaletuecredenzialidibankingonline.
Ildocumento" Il confine "Web / Local" è sfocato: uno studio sulla sicurezza del sandboxing basato sui processi di Chrome " ( PDF ) mostra un esempio concreto di attacco realistico che non viene mitigato dalla sandbox.

La classe di bug che determina un accesso arbitrario ad altre origini è chiamata Universal cross-site scripting (UXSS) e il bug tracker di Chrome ha diversi esempi di UXSS (questa lista è incompleta) .

What I want protection from:

  • Not able to retrieve my files under $HOME
  • Not able to identify key strokes / key logger while using a different Chrome tab, or using any of my Ubuntu apps like /usr/bin/ssh

Questo è possibile solo se un utente malintenzionato abusa dei privilegi del tuo utente. Il browser ha più livelli di protezione, la sandbox è solo uno di questi. L'interruzione di tutti questi livelli richiede in genere più vulnerabilità zero-day. Come utente normale, probabilmente non sarai preso di mira da tali attacchi, quindi se mantieni il tuo browser aggiornato, i rischi sono piccoli.

Se non ti fidi di queste protezioni, puoi aggiungere un altro livello di isolamento, ad esempio:

  • Esecuzione del browser in una macchina virtuale (VM).
  • Esecuzione del browser come utente separato.
  • Esecuzione del browser in un contenitore.
  • Esecuzione del browser in un'altra sandbox, ad esempio firejail .
  • Esecuzione del browser sotto una politica di controllo di accesso obbligatorio (MAC) , ad es. attraverso AppArmor.

Con una VM o un utente separato, i tuoi file personali sono sufficientemente isolati (salvo errori nel sistema operativo o nella VM). Le altre opzioni richiedono una buona configurazione per essere sicure e altrimenti non sono efficaci o utilizzabili (un utente malintenzionato ha solo bisogno di un buco per sfuggire alla sandbox).

    
risposta data 29.03.2018 - 17:40
fonte

Leggi altre domande sui tag