インデックス
SafeBrowsing
(インターフェース)Checksum
(メッセージ)ClientInfo
(メッセージ)CompressionType
(列挙型)FetchThreatListUpdatesRequest
(メッセージ)FetchThreatListUpdatesRequest.ListUpdateRequest
(メッセージ)FetchThreatListUpdatesRequest.ListUpdateRequest.Constraints
(メッセージ)FetchThreatListUpdatesResponse
(メッセージ)FetchThreatListUpdatesResponse.ListUpdateResponse
(メッセージ)FetchThreatListUpdatesResponse.ListUpdateResponse.ResponseType
(列挙型)FindFullHashesRequest
(メッセージ)FindFullHashesResponse
(メッセージ)FindThreatMatchesRequest
(メッセージ)FindThreatMatchesResponse
(メッセージ)ListThreatListsResponse
(メッセージ)PlatformType
(列挙型)RawHashes
(メッセージ)RawIndices
(メッセージ)RiceDeltaEncoding
(メッセージ)ThreatEntry
(メッセージ)ThreatEntryMetadata
(メッセージ)ThreatEntryMetadata.MetadataEntry
(メッセージ)ThreatEntrySet
(メッセージ)ThreatEntryType
(列挙型)ThreatInfo
(メッセージ)ThreatListDescriptor
(メッセージ)ThreatMatch
(メッセージ)ThreatType
(列挙型)
SafeBrowsing
Safe Browsing API を使用すると、クライアントはウェブリソース(ほとんどの場合 URL)を、Google が常に更新している安全でないウェブリソースのリストと照らし合わせてチェックできます。セーフ ブラウジング API(v4)には、Update API と Lookup API が含まれています。
Update API は、大規模なクライアント向けに設計されており、FindFullHashes メソッドと FetchThreatListUpdates メソッドが含まれています。Update API では、クライアントがダウンロードした脅威リストをローカル データベースに保持する必要があります。
まず、クライアントはローカルリストと照合して、特定のウェブリソースの状態(安全または安全でない)を判断します。通常、リストは、ブラックリストに登録された URL 式のハッシュ接頭辞で構成されます。URL を確認するには、クライアントは特定の URL のハッシュを生成し、ローカルリストでプレフィックスの競合を確認します。プレフィックスが一致した場合、クライアントは FindFullHashes メソッドを介して、一致したハッシュ プレフィックスに関連付けられた完全なハッシュを取得します。次に、クライアントはローカルの完全なハッシュを返された完全なハッシュと比較します。一致すると、URL は安全でないと判断されます。
2 つ目は、クライアントが FetchThreatListUpdates メソッドを介してローカル データベースの更新を取得します。このメソッドは、クライアントの現在の状態を取り、更新されたクライアントの状態と、クライアントがローカル脅威リストに適用する必要がある変更を返します。
Lookup API は小規模なクライアント向けに設計されており、FindThreatMatches メソッドを使用して、リソースを Safe Browsing の脅威リストと直接照合できます。
Update API または Lookup API を使用するクライアントは、ListThreatLists メソッドを使用して、ダウンロード可能な Safe Browsing 脅威リストのリストを取得できます。
{-- TRUSTED_THREAT_REPORTER: 信頼できる脅威クライアントは、SubmitThreatReport メソッドを使用してレポートを Google に送信し、分析できます。--}
FetchThreatListUpdates |
---|
最新の脅威リストの更新を取得します。クライアントは、複数のリストに対して更新を一度にリクエストできます。 |
FindFullHashes |
---|
リクエストされたハッシュ プレフィックスに一致する完全なハッシュを検索します。 |
FindThreatMatches |
---|
セーフ ブラウジング リストに一致する脅威エントリを検索します。 |
ListThreatLists |
---|
ダウンロード可能なセーフ ブラウジングの脅威リストを一覧表示します。 |
チェックサム
クライアントのローカル データベースの想定される状態。
フィールド | |
---|---|
sha256 |
クライアント状態の SHA256 ハッシュ(データベース内のすべてのハッシュの並べ替えリスト)。 |
ClientInfo
Safe Browsing API リクエストに関連付けられたクライアント メタデータ。
フィールド | |
---|---|
client_id |
Safe Browsing API のクライアント実装を一意に識別するクライアント ID(希望)。 |
client_version |
クライアント実装のバージョン。 |
CompressionType
脅威エントリセットを圧縮する方法。
列挙型 | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
不明。 |
RAW |
未加工の非圧縮データ。 |
RICE |
Rice-Golomb でエンコードされたデータ。 |
FetchThreatListUpdatesRequest
セーフ ブラウジング API の更新リクエストについて説明します。クライアントは、1 つのリクエストで複数のリストに対する更新をリクエストできます。サーバーにそのリストの更新がない場合は、サーバーがすべてのリクエストに応答しないことがあります。注: フィールド番号 2 は使用されません。NEXT: 5
フィールド | |
---|---|
client |
クライアント メタデータ。 |
list_update_requests[] |
リクエストされた脅威リストの更新。 |
ListUpdateRequest
単一のリスト更新リクエスト。
フィールド | |
---|---|
threat_type |
リスト内のエントリによってもたらされる脅威の種類。 |
platform_type |
リスト内のエントリによってリスクにさらされているプラットフォームのタイプ。 |
threat_entry_type |
リスト内のエントリのタイプ。 |
state |
リクエストされたリストのクライアントの現在の状態(最後に正常に更新されたリストから受信した暗号化されたクライアント状態)。 |
constraints |
このリクエストに関連付けられている制約。 |
制約
この更新の制約。
フィールド | |
---|---|
max_update_entries |
エントリ数の最大サイズ。更新には、この値を超えるエントリは含まれません。2**10 ~ 2**20 の範囲内の 2 のべき乗を指定してください。0 の場合、更新サイズの上限は設定されません。 |
max_database_entries |
指定したリストについて、クライアントがローカル データベースに保持するエントリの最大数を設定します。2**10 ~ 2**20 の範囲内の 2 のべき乗を指定してください。0 の場合、データベースのサイズの上限は設定されません。 |
region |
特定の地理的な場所のリストのリクエスト。設定されていない場合、サーバーはユーザーの IP アドレスに基づいてその値を選択することがあります。ISO 3166-1 alpha-2 形式を想定しています。 |
supported_compressions[] |
クライアントでサポートされている圧縮タイプ。 |
language |
特定の言語のリストのリクエストを行います。ISO 639 alpha-2 形式を想定しています。 |
device_location |
クライアントの物理的な場所。ISO 31166-1 alpha-2 地域コードで表されます。 |
FetchThreatListUpdatesResponse
フィールド | |
---|---|
list_update_responses[] |
クライアントがリクエストしたリストの更新。レスポンス数は、クライアントから送信されたリクエスト数よりも少なくなる場合があります。たとえば、サーバーに特定のリストに関する更新がない場合に、この状態になります。 |
minimum_wait_duration |
更新リクエストを発行する前にクライアントが待機する必要がある最小時間。このフィールドが設定されていない場合、クライアントは必要に応じてすぐに更新できます。 |
ListUpdateResponse
個々のリストの更新。
フィールド | |
---|---|
threat_type |
データが返される脅威の種類。 |
threat_entry_type |
脅威の形式。 |
platform_type |
データが返されるプラットフォーム タイプ。 |
response_type |
レスポンスのタイプ。これは、レスポンスが受信されたときにクライアントがアクションを必要としていることを意味します。 |
additions[] |
ローカル脅威タイプのリストに追加するエントリのセット。圧縮データと元データを組み合わせて 1 つのレスポンスで送信できるように、繰り返します。 |
removals[] |
ローカル脅威タイプのリストから削除するエントリのセット。実際には、このフィールドは空であるか、ThreatEntrySet が 1 つだけ含まれています。 |
new_client_state |
新しいクライアント ステータス(暗号化された形式)。クライアントには不明瞭です。 |
checksum |
クライアント状態の想定される SHA256 ハッシュ(指定された更新を適用した後、データベースに存在するすべてのハッシュの並べ替えられたリストのハッシュ)。クライアントの状態が期待される状態と一致しない場合、クライアントはこの更新を無視し、後で再試行する必要があります。 |
ResponseType
クライアントに送信されるレスポンスのタイプ。
列挙型 | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
不明。 |
PARTIAL_UPDATE |
部分更新は、クライアントの既存のローカル データベースに適用されます。 |
FULL_UPDATE |
完全な更新では、クライアントのローカル データベース全体が置き換えられます。これは、クライアントが大幅に古くなっているか、クライアントが破損していると見なされていることを意味します。 |
FindFullHashesRequest
指定されたハッシュ プレフィックスに一致する完全なハッシュを返すリクエスト。
フィールド | |
---|---|
client |
クライアント メタデータ。 |
client_states[] |
クライアントのローカル脅威リストの現在のクライアントの状態。 |
threat_info |
チェックするリストとハッシュ。 |
api_client |
クライアントの実装上に構築された上位レベルの API の呼び出し元に関連付けられたクライアント メタデータ。 |
FindFullHashesResponse
フィールド | |
---|---|
matches[] |
リクエストされたプレフィックスに一致した完全なハッシュ。 |
minimum_wait_duration |
クライアントがハッシュ検索リクエストを発行する前に待機する必要がある最小時間。このフィールドが設定されていない場合、クライアントはリクエストをすぐに発行できます。 |
negative_cache_duration |
リクエストされたエンティティが脅威リストと一致しなかった場合、レスポンスをキャッシュに保存する時間。 |
FindThreatMatchesRequest
エントリをリストと照合するリクエスト。
フィールド | |
---|---|
client |
クライアント メタデータ。 |
threat_info |
一致を確認するリストとエントリ。 |
FindThreatMatchesResponse
フィールド | |
---|---|
matches[] |
脅威リストが一致している。 |
ListThreatListsResponse
フィールド | |
---|---|
threat_lists[] |
クライアントがダウンロードできるリスト。 |
PlatformType
プラットフォームの種類。
列挙型 | |
---|---|
PLATFORM_TYPE_UNSPECIFIED |
不明なプラットフォーム。 |
WINDOWS |
Windows に対する脅威。 |
LINUX |
Linux に対する脅威。 |
ANDROID |
Android に対する脅威。 |
OSX |
OS X に対する脅威。 |
IOS |
iOS に対する脅威。 |
ANY_PLATFORM |
定義されたプラットフォームの少なくとも 1 つに脅威が及ぶ。 |
ALL_PLATFORMS |
定義されたすべてのプラットフォームに脅威が及ぶ。 |
CHROME |
Chrome に対する脅威。 |
RawHashes
特定のプレフィックス長のハッシュ形式の非圧縮脅威エントリ。ハッシュのサイズは 4 ~ 32 バイトです。ほとんどは 4 バイトですが、人気のある URL のハッシュと衝突する場合は、ハッシュが長くなることがあります。
圧縮をサポートしていないクライアントに ThreatEntrySet を送信する場合や、圧縮をサポートしているクライアントに 4 バイト以外のハッシュを送信する場合に使用されます。
フィールド | |
---|---|
prefix_size |
以下でエンコードされる各プレフィックスのバイト数。このフィールドの値は、4(最短のプレフィックス)から 32(完全な SHA256 ハッシュ)の範囲で指定できます。 |
raw_hashes |
ハッシュをバイナリ形式で連結して 1 つの長い文字列にします。ハッシュは辞書順に並べ替えられます。JSON API ユーザーの場合、ハッシュは base64 でエンコードされます。 |
RawIndices
ローカルリストから削除する未加工インデックスのセット。
フィールド | |
---|---|
indices[] |
辞書順に並べ替えられたローカルリストから削除するインデックス。 |
RiceDeltaEncoding
Rice-Golomb でエンコードされたデータ。圧縮された 4 バイトのハッシュまたは圧縮された削除インデックスを送信するために使用されます。
フィールド | |
---|---|
first_value |
エンコードされたデータ内の最初のエントリのオフセット。または、1 つの整数のみがエンコードされている場合は、その整数の値。フィールドが空であるか、指定されていない場合はゼロと見なします。 |
rice_parameter |
Golomb-Rice パラメータ(2 ~ 28 の整数)。 |
num_entries |
エンコードされたデータでデルタ エンコードされるエントリの数。1 つの整数のみがエンコードされている場合、これは 0 になり、その値は |
encoded_data |
Golomb-Rice コーダを使用してエンコードされたエンコード済みデルタ。 |
ThreatEntry
個々の脅威(悪意のある URL やそのハッシュ表現など)。これらのフィールドの 1 つのみを設定する必要があります。
フィールド | |
---|---|
hash |
SHA256 ハッシュの最上位 4 ~ 32 バイトで構成されるハッシュ プレフィックス。このフィールドはバイナリ形式です。JSON リクエストの場合、ハッシュは base64 でエンコードされます。 |
url |
URL。 |
digest |
実行可能ファイルの SHA256 形式のダイジェスト。この API は、バイナリと 16 進数ダイジェストの両方をサポートしています。JSON リクエストの場合、ダイジェストは base64 でエンコードされます。 |
ThreatEntryMetadata
特定の脅威エントリに関連付けられたメタデータ。クライアントは、各脅威タイプに関連付けられているメタデータの Key-Value ペアを把握している必要があります。
フィールド | |
---|---|
entries[] |
メタデータ エントリ。 |
MetadataEntry
単一のメタデータ エントリ。
フィールド | |
---|---|
key |
メタデータ エントリキー。JSON リクエストの場合、キーは base64 でエンコードされます。 |
value |
メタデータ エントリの値。JSON リクエストの場合、値は base64 でエンコードされます。 |
ThreatEntrySet
クライアントのローカル データベースに追加または削除する必要がある脅威のセット。
フィールド | |
---|---|
compression_type |
このセット内のエントリの圧縮タイプ。 |
raw_hashes |
未加工の SHA256 形式のエントリ。 |
raw_indices |
ローカルリストの未加工の削除インデックス。 |
rice_hashes |
Golomb-Rice エンコードを使用して SHA256 形式のエントリのエンコードされた 4 バイトのプレフィックス。ハッシュは uint32 に変換され、昇順で並べ替えられ、デルタ エンコードされて encoded_data として保存されます。 |
rice_indices |
Golomb-Rice エンコードを使用して、辞書順に並べられたエンコードされたローカル リスト インデックス。圧縮された削除インデックスの送信に使用されます。削除インデックス(uint32)は昇順で並べ替えられ、デルタ エンコードされて encoded_data として保存されます。 |
ThreatEntryType
脅威となるエントリの種類。脅威リストは、単一タイプのエントリのコレクションです。
列挙型 | |
---|---|
THREAT_ENTRY_TYPE_UNSPECIFIED |
(指定なし) |
URL |
URL。 |
EXECUTABLE |
実行可能なプログラム。 |
ThreatInfo
脅威リストとの一致を確認する際にクライアントが送信する 1 つ以上の脅威に関する情報。
フィールド | |
---|---|
threat_types[] |
チェックする脅威の種類。 |
platform_types[] |
確認するプラットフォームのタイプ。 |
threat_entry_types[] |
確認するエントリタイプ。 |
threat_entries[] |
確認する脅威エントリ。 |
ThreatListDescriptor
個々の脅威リストを記述します。リストは、脅威の種類、脅威のターゲットとなるプラットフォームの種類、リスト内のエントリの種類の 3 つのパラメータで定義されます。
フィールド | |
---|---|
threat_type |
リストのエントリによってもたらされる脅威の種類。 |
platform_type |
リストのエントリがターゲットとするプラットフォーム タイプ。 |
threat_entry_type |
リストに含まれるエントリのタイプ。 |
ThreatMatch
セーフ ブラウジングの脅威リストで脅威エントリを確認した際の一致。
フィールド | |
---|---|
threat_type |
この脅威に一致する脅威のタイプ。 |
platform_type |
この脅威に一致するプラットフォーム タイプ。 |
threat_entry_type |
この脅威に一致する脅威エントリのタイプ。 |
threat |
この脅威に一致する脅威。 |
threat_entry_metadata |
この脅威に関連付けられたメタデータ(省略可)。 |
cache_duration |
返された一致結果のキャッシュの存続期間。誤検出を回避するため、クライアントはこのレスポンスをこの時間を超えてキャッシュに保存しないでください。 |
ThreatType
脅威の種類。
列挙型 | |
---|---|
THREAT_TYPE_UNSPECIFIED |
不明。 |
MALWARE |
マルウェアの脅威の種類。 |
SOCIAL_ENGINEERING |
ソーシャル エンジニアリングの脅威の種類。 |
UNWANTED_SOFTWARE |
望ましくないソフトウェアの脅威の種類。 |
POTENTIALLY_HARMFUL_APPLICATION |
有害な可能性があるアプリの脅威の種類。 |