Avast Free: come funziona la scansione dei siti sicuri HTTPS

Quale curiosa tecnica utilizza Avast Free per effettuare anche la scansione del contenuto delle pagine web erogate ricorrendo al protocollo HTTPS.

Avast Free è senza dubbio uno dei migliori antimalware disponibili sulla piazza. Anche la versione gratuita, infatti, mette a disposizione una serie di funzionalità evolute spesso assenti nei software della concorrenza.
Avast Free è forse anche troppo completo: oltre alla protezione di tipo tradizionale, questo antimalware è in grado di riconoscere e bloccare gli elementi potenzialmente indesiderati (PUP o PUA) spesso caricati dalle procedure d’installazione di molti programmi scaricati dalla rete Internet, di effettuare l’analisi comportamentale di file e processi in esecuzione sul sistema, di rilevare eventuali estensioni pericolose installate nel browser, di esaminare la posta in arrivo e quella in uscita, di verificare le pagine web aperte impedendo la visita di quelle che ospitano materiale dannoso.

Avast Free, però, propone l’installazione di estensioni per la protezione degli acquisti, per verificare la bontà dei siti visitati, per analizzare i programmi installati sul sistema alla ricerca di aggiornamenti, per effettuare una scansione della rete locale alla ricerca di impostazioni problematiche (ad esempio password “deboli”, vulnerabilità nei dispositivi e così via).

Anche Avast Free, e non soltanto le versioni a pagamento, è molto efficace: riesce a riconoscere tutte le minacce senza presentare falsi positivi; punto a sfavore, semmai, è un po’ di latenza in più introdotta all’apertura dei siti web.

Fin qui, complessivamente, tutto bene se si esclude qualche componente software la cui rimozione avrebbe di certo resto Avast Free più snello e veloce. È vero che durante la procedura d’installazione l’utente ha la possibilità di scegliere quali elementi caricare sul sistema ma è necessaria un po’ di attenzione per evitare di aprire le porte a componenti potenzialmente inutili.

Nella prima schermata della procedura d’installazione è bene togliere il segno di spunta da entrambe le caselle in basso per evitare di ritrovarsi con un browser aggiuntivo, impostato per default come programma di navigazione predefinito.
Successivamente, è bene fare clic su Personalizza per verificare attentamente quali componenti saranno installati e limitarsi a caricare solo quelli davvero necessari.

In una delle schermate seguenti, Avast Free chiede se l’utente sia disposto o meno a fornire l’autorizzazione per la condivisione di alcuni suoi dati come, ad esempio, la lista dei siti web via a via visitati, reti e host. Anche rispondendo No, grazie, per default Avast Free condividerà comunque altre informazioni: si può verificarlo, a installazione conclusa, facendo clic sulla voce Menu in alto a destra quindi su Impostazioni, Generali, Privacy personale.

Qui è possibile disattivare tutte le caselle presenti in modo tale da non condividere alcun tipo di informazione personale (vedere questa pagina al paragrafo Methodology Notes: “Jumpshot è il braccio dati di Avast“).

Nella sezione Problemi avanzati, Avast Free indica alcune problematiche con l’obiettivo di invitare l’utente a valutare il passaggio alla versione a pagamento dell’antimalware che include anche supporto antiransomware, firewall e protezione contro i tentativi di DNS hijacking.

In realtà una funzionalità di protezione antiransomware di base è offerta anche da Windows 10 (vedere Ransomware, come li blocca Windows 10): essa evita la scrittura di informazioni nelle cartelle contenenti dati personali da parte di applicazioni e processi sconosciuti.
Il backup e l’utilizzo del versioning (conservazione di più versioni di uno stesso file) rappresentano però la migliore soluzione per evitare perdite di dati: ne abbiamo parlato ampiamente in questi nostri articoli.
Il firewall di Windows, soprattutto se configurato in maniera intelligente, è inoltre più che sufficiente per la maggior parte delle situazioni: vedere Cos’è il firewall e come funziona quello di Windows e Firewall di Windows, come configurarlo e migliorarne il comportamento.

L’importante, se si utilizzassero reti WiFi altrui, è verificare che la rete alla quale si è connessi sia impostata in Windows come “pubblica”. In questo modo si eviterà la condivisione di qualunque risorsa e il proprio PC non risulterà neppure “pingabile“: Differenza tra rete pubblica e rete privata in Windows 10.
La procedura da seguire è illustrata passo dopo passo nell’articolo Come navigare in sicurezza su rete WiFi pubblica o non protetta.

Protezione web di Avast Free: come funziona e quale espediente viene utilizzato per esaminare anche le pagine web HTTPS

Come fa Avast Free a effettuare la scansione in tempo reale dei contenuti trasferiti utilizzando il protocollo HTTPS essendo i dati scambiati in forma cifrata tra server e client (e viceversa)?

Come abbiamo visto nell’articolo Contenuto delle pagine HTTPS spiato con una funzionalità integrata in alcuni browser, fino a qualche tempo fa gli antimalware – Avast compreso – decodificavano i dati scambiati via HTTPS e, quindi, analizzavano il contenuto delle pagine web in tempo reale installando sul sistema locale un certificato radice proprietario e una sorta di proxy. All’atto pratico le richieste di connessione a qualunque sito web venivano dal browser dirottate verso il proxy locale che, a sua volta, effettuava la connessione verso il server HTTP/HTTPS remoto.
Usando questo approccio ed esaminando quanto ricevuto dal proxy locale, l’antimalware poteva accertare la presenza di eventuali componenti dannosi nelle pagine web visitate.

Da qualche tempo a questa parte, Avast utilizza un espediente tecnico che accomuna sia Chrome che Firefox: creando una variabile d’ambiente chiamata SSLKEYLOGFILE, è possibile per chiunque fare in modo che il browser memorizzi in una cartella locale tutte le chiavi crittografiche scambiate durante la connessione a qualunque sito web.

Si provi a premere la combinazione di tasti Windows+R, digitare sysdm.cpl ,3 quindi fare clic sul pulsante Variabili d’ambiente in basso a destra.
Cliccando su Nuova immediatamente sotto Variabili dell’utente per…, aggiungendo la nuova variabile d’ambiente SSLKEYLOGFILE quindi specificando C:\temp\sslkeys.txt come percorso (campo Valore), avviando Chrome o Firefox all’interno del file indicato si troveranno tutte le chiavi crittografiche scambiate durante la fase di connessione a ciascun sito HTTPS.

Dopo aver aggiunto la variabile d’ambiente, il file C:\temp\sslkeys.txt comincerà a riempirsi delle chiavi crittografiche utili per decodificare i dati scambiati con i vari server remoti.
Usando un packet sniffer come Wireshark (vedere Wireshark, una breve guida all’uso) è possibile accedere direttamente al contenuto di tutti i dati in transito scambiati attraverso pagine HTTPS. Basta indicare a Wireshark il file .txt contenente le chiavi e il gioco è fatto (vedere questa pagina).

Questo tipo di comportamento è stato messo all’indice da Steve Gibson già a metà agosto 2016 durante un’intervista consultabile a questo indirizzo.

È vero che l’analisi dei contenuti provenienti da pagine HTTPS avviene in ambito locale ma come osserva lo stesso Gibson, il supporto della speciale variabile d’ambiente SSLKEYLOGFILE da parte di Chrome e Firefox, così facilmente attivabile da parte di qualunque soggetto e di qualsivoglia processo, viene considerata pericolosa. Un eseguibile o uno script malevolo potrebbero infatti facilmente aggiungere una variabile d’ambiente e intercettare in tempo reale tutto il traffico web rimanendo “under the radar“.

Avast Free memorizza addirittura le chiavi crittografiche in memoria usando una named pipe. Con la protezione web installata, basta avviare Process Explorer, cliccare due volte – ad esempio – su chrome.exe quindi sulla scheda Environment.

Si noterà la presenza della variabile SSLKEYLOGFILE con il prefisso \\.\, a conferma che essa non fa riferimento a un file conservato a livello di file system ma di una locazione di memoria, eventualmente accessibile anche da parte di altri processi.

Abbiamo verificato che nel caso di Avast Free, per disattivare l’utilizzo della variabile d’ambiente SSLKEYLOGFILE non viene disattivato semplicemente togliendo i segni di spunta da Abilita scansione web e Abilita scansione HTTPS nelle impostazioni dell’antimalware (sezione Protezione, Protezioni principali, Protezione Web). È infatti necessario disinstallare completamente Avast Free quindi aver cura di rimuovere la voce Protezione web dalla sezione Personalizza in fase di installazione.

Ti consigliamo anche

Link copiato negli appunti