索引
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 が随時更新している安全でないウェブリソースのリストに照らし合わせてチェックできます。Safe Browsing API(v4)には Update API と Lookup API が用意されています。
Update API は大規模なクライアント向けに設計されており、FindFullHashes メソッドと FetchThreatListUpdates メソッドが含まれています。Update API では、クライアントがダウンロードされた脅威リストをローカル・データベースに保持する必要があります。
まず、クライアントはローカルリストを照合して、特定のウェブリソースの状態(安全または安全)を判断します。ほとんどの場合、リストはブラックリストに登録された URL 式のハッシュ接頭辞で構成されます。URL をチェックするには、クライアントは指定された URL のハッシュを生成し、ローカルリストでプレフィックスの競合がないか確認します。プレフィックス一致が見つかった場合、クライアントは、FindFullHashes メソッドを使用して、一致したハッシュ プレフィックスに関連付けられた完全なハッシュを取得します。クライアントはローカルのフルハッシュと返されたフルハッシュを比較します。一致する場合は、URL が安全ではないことを示します。
第 2 に、クライアントは、FetchThreatListUpdates メソッドを介してローカル・データベースの更新を取得します。このメソッドは、クライアントの現在の状態を取得し、更新後のクライアントの状態と、ローカルの脅威リストに適用すべき変更を返します。
Lookup API は小規模のクライアント向けに設計されており、FindThreatMatches メソッドを使用してリソースをセーフ ブラウジングの脅威リストと直接照合します。
Update API または Lookup API を使用しているクライアントは、ListThreatLists メソッドでダウンロード可能なセーフ ブラウジングの脅威リストのリストを取得できます。
{-- 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
Safe Browsing API の更新リクエストについて説明します。クライアントは、1 回のリクエストで複数のリストの更新をリクエストできます。サーバーがすべてのリクエストに応答しない可能性があります。注: フィールド インデックス 2 は使用されていません。次へ: 5
フィールド | |
---|---|
client |
クライアント メタデータ。 |
list_update_requests[] |
リクエストされた脅威リストが更新されます。 |
ListUpdateRequest
単一のリスト更新リクエスト。
フィールド | |
---|---|
threat_type |
リストに存在するエントリがもたらす脅威の種類。 |
platform_type |
リストに存在するエントリ別の、リスクにさらされているプラットフォームのタイプ。 |
threat_entry_type |
リストに存在するエントリのタイプ。 |
state |
リクエストされたリストのクライアントの現在の状態(最後に成功したリスト更新から受信した暗号化されたクライアントの状態)。 |
constraints |
このリクエストに関連する制約。 |
制約
この更新の制約。
フィールド | |
---|---|
max_update_entries |
エントリの最大数。更新には、この値を超えるエントリは含まれません。これは、2**10 と 2**20 の間の 2 のべき乗でなければなりません。ゼロの場合、アップデート サイズの上限は設定されません。 |
max_database_entries |
指定されたリストについて、クライアントがローカル データベースに格納できるエントリの最大数を設定します。これは、2**10 と 2**20 の間の 2 のべき乗でなければなりません。ゼロの場合、データベース サイズの上限は設定されません。 |
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 つの整数のみがエンコードされている場合はゼロになり、1 つの値が |
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 |
SHA256 形式のエントリの、エンコードされた 4 バイトの接頭辞(Golomb-Rice エンコードを使用)。ハッシュは 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 |
有害な可能性があるアプリケーション脅威の種類。 |