Le API Navigazione sicura consentono alle applicazioni client di eseguire controlli degli URL in tempo reale o basati su elenchi rispetto agli elenchi costantemente aggiornati di Google relativi a risorse web non sicure. Esempi di risorse web non sicure sono i siti di ingegneria sociale (siti di phishing e ingannevoli) e i siti che ospitano malware o software indesiderato. Qualsiasi URL trovato in un elenco di Navigazione sicura è considerato non sicuro.
Per determinare se un URL è presente in uno degli elenchi di Navigazione sicura, i client possono utilizzare urls.search o hashes.search.
Quali sono le novità?
Aggiornamento dei dati
In genere, i client Navigazione sicura scaricano periodicamente gli elenchi delle minacce utilizzati per confrontarli con le potenziali minacce. Con l'aumento nel tempo sia del volume che della velocità delle minacce, questi elenchi di minacce locali sono diventati meno efficaci contro le minacce moderne.
Per colmare questa lacuna, introduciamo la possibilità di spostare i protocolli in modo che siano controllati per impostazione predefinita anziché consentiti per impostazione predefinita, come avveniva in precedenza nella versione 4. A questo scopo, è stata introdotta la possibilità di scaricare un elenco di siti probabilmente benigni denominati "cache globale". Se un URL non viene trovato nella cache globale, il client deve eseguire un controllo con l'API per determinare se l'URL è una minaccia.
Questa capacità di eseguire controlli per impostazione predefinita, oltre al miglioramento della freschezza dei dati nel servizio, fornisce una protezione più rapida e quasi in tempo reale contro le nuove minacce.
Privacy IP
L'API Safe Browsing utilizza gli indirizzi IP solo per le esigenze di rete essenziali e per scopi anti-DoS.
Abbiamo introdotto un'API complementare nota come API Safe Browsing Oblivious HTTP Gateway per consentire ulteriori garanzie di privacy. Utilizza Oblivious HTTP per nascondere gli indirizzi IP degli utenti finali a Google. Funziona facendo in modo che una terza parte non collusa gestisca una versione criptata della richiesta dell'utente e la inoltri a Google. In questo modo, la terza parte ha accesso solo agli indirizzi IP e Google solo al contenuto della richiesta. La terza parte gestisce un relay HTTP Oblivious (ad esempio questo servizio di Fastly) e Google gestisce il gateway HTTP Oblivious. Si tratta di un'API companion facoltativa. Se utilizzato insieme a Google Safe Browsing, gli indirizzi IP degli utenti finali non vengono più inviati a Google.
Per ulteriori dettagli, consulta la documentazione dell'API Safe Browsing Oblivious HTTP Gateway.
Metodi di ricerca
Esaminiamo i diversi metodi disponibili per eseguire controlli in tempo reale degli URL.
urls.search
Consente alle applicazioni client di inviare URL al servizio Navigazione sicura per verificare se sono associate minacce agli URL.
Vantaggi
- Controlli semplici degli URL: invii una richiesta con gli URL effettivi e il server risponde con gli URL e le relative minacce (se presenti).
Svantaggi
- Nessuna riservatezza dell'URL: la richiesta contiene gli URL non elaborati da controllare.
Se i vantaggi/svantaggi soddisfano i tuoi requisiti, valuta l'utilizzo di urls.search, perché è semplice da usare.
Leggi i Termini di servizio relativi all'utilizzo del metodo, in quanto differiscono da hashes.search.
hashes.search
Consente alle applicazioni client di verificare la presenza di minacce note in un insieme di URL senza rivelare gli URL effettivi al servizio. Ciò avviene fornendo solo il prefisso hash dell'URL. La risposta conterrà gli hash completi delle minacce note con il prefisso dell'hash dello shard.
Vantaggi
- Riservatezza dell'URL: nella richiesta è presente solo un prefisso hash di 4 byte dell'URL.
- Compatibilità: poiché il client gestisce la canonizzazione e l'hashing degli URL, questo metodo si integra perfettamente con le modalità che utilizzano un database locale, come la modalità in tempo reale e la modalità elenco locale.
Svantaggi
- Controlli complessi degli URL: devi sapere come canonizzare gli URL, creare espressioni di suffisso/prefisso e calcolare gli hash SHA256 per effettuare richieste a questo metodo, confronti con le copie locali degli elenchi non sicuri o della cache globale.
Se devi dare la priorità alla riservatezza degli URL e ti interessa utilizzare la modalità in tempo reale o la modalità elenco locale, l'approccio consigliato è hashes.search.
I metodi HashList
Questi metodi consentono ai client di scaricare e archiviare versioni con hash degli elenchi non sicuri e della cache globale. I client possono utilizzare queste informazioni per determinare se eseguire o meno una ricerca in tempo reale degli URL in questione.
Questi metodi sono essenziali per il funzionamento della modalità in tempo reale e della modalità elenco locale.
Per ulteriori informazioni su come utilizzare questi metodi, consulta la pagina Database locale.
Richieste di esempio
Questa sezione documenta alcuni esempi di utilizzo diretto dell'API HTTP per accedere a Navigazione sicura. In genere è consigliabile utilizzare un binding del linguaggio generato perché gestirà automaticamente la codifica e la decodifica in modo pratico. Consulta la documentazione relativa a questo binding.
Richiesta HTTP di esempio che utilizza urls.search:
GET https://safebrowsing.googleapis.com/v5alpha1/urls:search?key=INSERT_YOUR_API_KEY_HERE&urls=testsafebrowsing.appspot.com/
Richiesta HTTP di esempio che utilizza hashes.search:
GET https://safebrowsing.googleapis.com/v5/hashes:search?key=INSERT_YOUR_API_KEY_HERE&hashPrefixes=WwuJdQ
Richiesta HTTP di esempio che utilizza hashLists.batchGet:
GET https://safebrowsing.googleapis.com/v5/hashLists:batchGet?key=INSERT_YOUR_API_KEY_HERE&names=se&names=mw-4b
Tutti i corpi delle risposte sono payload formattati con protocol buffer che puoi decodificare.