Package google.security.safebrowsing.v5

Indice

SafeBrowsing

Le API Navigazione sicura consentono ai client di verificare le risorse web (solitamente gli URL) rispetto agli elenchi costantemente aggiornati di risorse web non sicure di Google.

SearchHashes

rpc SearchHashes(SearchHashesRequest) returns (SearchHashesResponse)

Cerca gli hash completi corrispondenti ai prefissi specificati.

Si tratta di un metodo personalizzato come definito da https://google.aip.dev/136 (il metodo personalizzato si riferisce a questo metodo che ha un nome personalizzato all'interno della nomenclatura generale di sviluppo dell'API di Google; non si riferisce all'utilizzo di un metodo HTTP personalizzato).

FullHash

L'hash completo identificato con una o più corrispondenze.

Campi
full_hash

bytes

L'hash completo corrispondente. Si tratta dell'hash SHA256. La lunghezza sarà esattamente di 32 byte.

full_hash_details[]

FullHashDetail

Elenco non ordinato. Un campo ripetuto che identifica i dettagli pertinenti a questo hash completo.

FullHashDetail

Dettagli su un hash completo corrispondente.

Una nota importante sulla compatibilità futura: il server può aggiungere nuovi tipi di minacce e attributi delle minacce in qualsiasi momento; queste aggiunte sono considerate modifiche minori alla versione. È norma di Google non esporre i numeri di versione secondaria nelle API (consulta https://cloud.google.com/apis/design/versioning per le norme relative al controllo delle versioni), pertanto i client DEVONO essere preparati a ricevere messaggi FullHashDetail contenenti valori enumerati ThreatType o ThreatAttribute considerati non validi dal client. Pertanto, è responsabilità del cliente verificare la validità di tutti i valori dell'enum ThreatType e ThreatAttribute. Se un valore è considerato non valido, il cliente DEVE ignorare l'intero messaggio FullHashDetail.

Campi
threat_type

ThreatType

Il tipo di minaccia. Questo campo non sarà mai vuoto.

attributes[]

ThreatAttribute

Elenco non ordinato. Attributi aggiuntivi relativi a questi hash completi. Questo campo può essere vuoto.

SearchHashesRequest

Una richiesta inviata dal client per cercare prefissi hash specifici.

È progettato per cercare solo negli elenchi di minacce e non negli elenchi non di minacce come la cache globale.

Novità della versione 5: i client non devono specificare un ClientInfo o gli stati degli elenchi di hash nel proprio database locale. Questo serve a migliorare la privacy. Inoltre, i clienti non devono inviare i tipi di minacce che li interessano.

Campi
hash_prefixes[]

bytes

Obbligatorio. I prefissi degli hash da cercare. I client NON DEVONO inviare più di 1000 prefissi hash. Tuttavia, seguendo la procedura di elaborazione dell'URL, i client NON DOVREBBERO dover inviare più di 30 prefissi hash.

Attualmente è necessario che ogni prefisso di hash abbia una lunghezza di esattamente 4 byte. Questa limitazione POTREBBE essere allentata in futuro.

SearchHashesResponse

La risposta restituita dopo la ricerca degli hash delle minacce.

Se non viene trovato nulla, il server restituirà uno stato OK (codice di stato HTTP 200) con il campo full_hashes vuoto, anziché uno stato NOT_FOUND (codice di stato HTTP 404).

Novità della versione 5: è presente una separazione tra FullHash e FullHashDetail. Se un hash rappresenta un sito con più minacce (ad es. sia MALWARE che SOCIAL_ENGINEERING), non è necessario inviare l'hash completo due volte come nella versione 4. Inoltre, la durata della cache è stata semplificata in un unico campo cache_duration.

Campi
full_hashes[]

FullHash

Elenco non ordinato. L'elenco non ordinato degli hash completi trovati.

cache_duration

Duration

La durata della cache lato client. Il client DEVE aggiungere questa durata all'ora corrente per determinare l'ora di scadenza. La data e l'ora di scadenza si applicano a ogni prefisso di hash interrogato dal client nella richiesta, indipendentemente dal numero di hash completi restituiti nella risposta. Anche se il server non restituisce hash completi per un determinato prefisso di hash, questo fatto DEVE essere memorizzato nella cache anche dal client.

Se e solo se il campo full_hashes è vuoto, il client PUÒ aumentare il valore cache_duration per determinare una nuova scadenza successiva a quella specificata dal server. In ogni caso, la durata della cache aumentata non deve superare le 24 ore.

Importante: il client NON DEVE presumere che il server restituirà la stessa durata della cache per tutte le risposte. Il server PUÒ scegliere durate della cache diverse per risposte diverse a seconda della situazione.

ThreatAttribute

Attributi delle minacce. Questi attributi possono conferire un significato aggiuntivo a una determinata minaccia, ma non influiscono sul tipo di minaccia. Ad esempio, un attributo può specificare una confidenza inferiore, mentre un altro attributo può specificare una confidenza superiore. In futuro è possibile che vengano aggiunti altri attributi.

Enum
THREAT_ATTRIBUTE_UNSPECIFIED Attributo sconosciuto. Se viene restituito dal server, il client deve ignorare del tutto il FullHashDetail che lo racchiude.
CANARY Indica che threat_type non deve essere utilizzato per l'applicazione.
FRAME_ONLY Indica che threat_type deve essere utilizzato solo per l'applicazione delle norme nei frame.

ThreatType

Tipi di minacce.

Enum
THREAT_TYPE_UNSPECIFIED Tipo di minaccia sconosciuto. Se viene restituito dal server, il client deve ignorare del tutto il FullHashDetail che lo racchiude.
MALWARE

Tipo di minaccia malware. I malware sono software o applicazioni per dispositivi mobili pensati appositamente per danneggiare un computer, un dispositivo mobile, il software in esecuzione o gli utenti. I comportamenti dei malware includono l'installazione di software senza il consenso dell'utente e l'installazione di software dannoso, come i virus.

Ulteriori informazioni sono disponibili qui.

SOCIAL_ENGINEERING

Tipo di minaccia di ingegneria sociale. Le pagine di ingegneria sociale dichiarano falsamente di agire per conto di una terza parte con l'intenzione di confondere gli spettatori e indurli a eseguire un'azione per la quale si affiderebbero solo a un vero agente di quella terza parte. Il phishing è un tipo di ingegneria sociale che ingannevolmente induce lo spettatore a eseguire l'azione specifica di fornire informazioni, ad esempio le credenziali di accesso.

Ulteriori informazioni sono disponibili qui.

UNWANTED_SOFTWARE Tipo di minaccia di software indesiderato. Per software indesiderato si intende qualsiasi software che non rispetta i Principi sul software di Google, ma non è malware.
POTENTIALLY_HARMFUL_APPLICATION Tipo di minaccia di app potenzialmente dannose come utilizzato da Google Play Protect per il Play Store.