"La sicurezza del browser" riguarda molto più delle connessioni sicure. L'utilizzo di HTTPS per proteggere la connessione tra browser e server è una parte importante della sicurezza del browser, ma non è certamente il tutto. Per mostrare cosa intendo, qui ci sono alcune cose fuori di testa (e tra l'altro, non ho mai fatto alcun lavoro relativo ai browser, queste sono solo cose di cui ho sentito parlare):
-
Sandboxing Javascript : il tuo browser scaricherà ed eseguirà codice javascript arbitrario. Cosa succede se questo codice è dannoso? Può leggere i file personali dell'utente sul disco rigido? Può modificare i file sul disco rigido per impiantare virus? Può leggere i dati da altre schede? Può costringere il browser a fare qualcosa di malizioso per suo conto? Queste sono le cose a cui devi pensare quando progetti un browser.
-
Estensioni browser: la maggior parte dei browser principali dispone di un sistema che consente alle persone di aggiungere estensioni scritte da altre persone casuali. A differenza di javascript, una volta installati questi sono parte del browser e non possono essere efficacemente sandbox. Che caratteristiche di sicurezza esistono intorno a questi? Devono essere esaminati da un team di sicurezza prima di essere autorizzati nell'app store? Il browser li monitorerà e disabiliterà l'estensione se infrange le regole?
-
Cross-Site Scripting (XSS): se ho due schede aperte, una scheda può accedere ai cookie / informazioni di sessione per l'altra scheda, consentendole di impersonare l'altra scheda tramite le richieste GET / POST ?
-
Sfruttamento dei file multimediali: molti browser ora includono librerie multimediali integrate per cose come PDF, audio, video, ecc. Sono tipi di media molto complessi con lunghi elenchi di codec supportati. Le librerie che li analizzano sono notoriamente buggy per cose come buffer overflow che consentono l'esecuzione di codice arbitrario. Quante analisi di sicurezza hai fatto sulle librerie con cui il tuo browser compila?
-
Certificati di root: la maggior parte dei browser ora incorpora (aka "pin") i certificati SSL di root nel codice sorgente del browser. Quanto velocemente il browser emetterà una patch di sicurezza se una delle autorità di certificazione radice ha una violazione?
Questi sono solo esempi fuori dalla mia testa. In conclusione: "Browser Security" è un argomento ENORME.
Per rispondere alle altre due domande:
- How does the level of security differ from one browser to another?
Dipende dai browser che stai confrontando. Firefox e Chrome? Sono abbastanza simili. Firefox e il browser che il mio amico ha scritto per divertimento lo scorso fine settimana? C'è una bella differenza. Tutto il resto sarà da qualche parte nel mezzo.
- Insecure connection: browser issue or network issue?
Sì. Anche No.
A volte è colpa del browser. A volte è colpa della rete. A volte è colpa del server, o del sistema operativo, o colpa dell'utente, o colpa del reparto IT, o errore di openssl
, o errore della VPN ... la lista continua.
In realtà, gratta tutto, un buon sviluppatore di sicurezza scriverà il proprio codice supponendo che le altre macchine sulla rete siano dannose (si spera che includano i router). Quindi una rete difettosa non dovrebbe essere in grado di causare una connessione non sicura, ma anche se ciò non significa che è colpa del browser: potrebbe essere una di quelle cose che ho menzionato.