Package google.security.safebrowsing.v4

Chỉ mục

SafeBrowsing

API Duyệt web an toàn cho phép khách hàng kiểm tra tài nguyên web (thường là các URL) theo danh sách các tài nguyên web không an toàn được cập nhật liên tục của Google. Safe Browsing API (v4) có tính năng Update API và Lookup API.

Update API được thiết kế cho các khách hàng lớn và bao gồm cả các phương thức FindFullHashes và FetchHintListUpdated . Update API yêu cầu ứng dụng duy trì danh sách mối đe doạ đã tải xuống trong cơ sở dữ liệu cục bộ.

Trước tiên, ứng dụng so khớp với danh sách cục bộ để xác định trạng thái (an toàn hoặc không an toàn) của một tài nguyên web nhất định. Thông thường, danh sách bao gồm tiền tố băm của các biểu thức URL thuộc danh sách cấm. Để kiểm tra một URL, ứng dụng khách sẽ tạo các hàm băm của một URL nhất định và kiểm tra các xung đột tiền tố trong danh sách cục bộ; nếu tìm thấy một tiền tố trùng khớp, máy khách sẽ thu được toàn bộ giá trị băm liên kết với tiền tố hàm băm phù hợp thông qua phương thức FindFullHashes . Sau đó, máy khách so sánh hàm băm đầy đủ cục bộ với hàm băm đầy đủ được trả về; một kết quả trùng khớp cho biết rằng URL không an toàn.

Thứ hai, ứng dụng nhận nội dung cập nhật cho cơ sở dữ liệu cục bộ thông qua phương thức FetchHintListUpdate . Phương thức này lấy trạng thái hiện tại của ứng dụng và trả về trạng thái ứng dụng đã cập nhật cùng với các thay đổi mà ứng dụng nên áp dụng cho danh sách các mối đe doạ cục bộ.

Lookup API được thiết kế cho các ứng dụng khách nhỏ hơn và cho phép họ so khớp các tài nguyên theo cách trực tiếp với danh sách mối đe doạ của chế độ Duyệt web an toàn thông qua phương thức FindvnMatch.

Những ứng dụng sử dụng Update API hoặc Lookup API có thể lấy danh sách các danh sách mối đe doạ của chế độ Duyệt web an toàn (có thể tải xuống) thông qua phương thức ListReturnLists.

{-- TRUSTED_THREAT_REPORTER: Các ứng dụng ngăn chặn mối đe doạ đáng tin cậy có thể gửi báo cáo cho Google để phân tích thông qua phương thức SubmitProtectReport. --}

FetchThreatListUpdates

rpc FetchThreatListUpdates(FetchThreatListUpdatesRequest) returns (FetchThreatListUpdatesResponse)

Tìm nạp thông tin cập nhật gần đây nhất về danh sách mối đe doạ. Khách hàng có thể yêu cầu cập nhật cho nhiều danh sách cùng một lúc.

FindFullHashes

rpc FindFullHashes(FindFullHashesRequest) returns (FindFullHashesResponse)

Tìm toàn bộ hàm băm khớp với tiền tố hàm băm được yêu cầu.

FindThreatMatches

rpc FindThreatMatches(FindThreatMatchesRequest) returns (FindThreatMatchesResponse)

Tìm các mục mối đe doạ khớp với danh sách của tính năng Duyệt web an toàn.

ListThreatLists

rpc ListThreatLists(Empty) returns (ListThreatListsResponse)

Liệt kê danh sách mối đe doạ của tính năng Duyệt web an toàn mà bạn có thể tải xuống.

Checksum

Trạng thái dự kiến của cơ sở dữ liệu cục bộ của ứng dụng.

Trường
sha256

bytes

Hàm băm SHA256 của trạng thái ứng dụng; tức là danh sách đã sắp xếp gồm tất cả hàm băm có trong cơ sở dữ liệu.

ClientInfo

Siêu dữ liệu của ứng dụng liên kết với các yêu cầu của Safe Browsing API.

Trường
client_id

string

Một mã ứng dụng khách (hy vọng) xác định duy nhất quy trình triển khai ứng dụng khách của Safe Browsing API.

client_version

string

Phiên bản triển khai ứng dụng.

CompressionType

Cách thức nén các tập hợp mục nhập mối đe doạ.

Enum
COMPRESSION_TYPE_UNSPECIFIED Không xác định.
RAW Dữ liệu thô, chưa nén.
RICE Dữ liệu mã hóa gạo-Golomb.

FetchThreatListUpdatesRequest

Mô tả yêu cầu cập nhật Safe Browsing API. Khách hàng có thể yêu cầu cập nhật cho nhiều danh sách trong một yêu cầu. Có thể máy chủ sẽ không phản hồi tất cả yêu cầu nếu danh sách đó không có bản cập nhật. LƯU Ý: Chỉ mục trường 2 không được sử dụng. TIẾP THEO: 5

Trường
client

ClientInfo

Siêu dữ liệu ứng dụng.

list_update_requests[]

ListUpdateRequest

Cập nhật danh sách mối đe doạ được yêu cầu.

ListUpdateRequest

Một yêu cầu cập nhật danh sách.

Trường
threat_type

ThreatType

Kiểu mối đe doạ do các mục nhập có trong danh sách gây ra.

platform_type

PlatformType

Loại nền tảng có nguy cơ xảy ra trong các mục có trong danh sách.

threat_entry_type

ThreatEntryType

Các loại mục nhập có trong danh sách.

state

bytes

Trạng thái hiện tại của ứng dụng đối với danh sách được yêu cầu (trạng thái ứng dụng đã mã hoá nhận được từ lần cập nhật danh sách thành công gần đây nhất).

constraints

Constraints

Các quy tắc ràng buộc liên quan đến yêu cầu này.

Giới hạn

Các quy tắc ràng buộc đối với bản cập nhật này.

Trường
max_update_entries

int32

Kích thước tối đa của số mục nhập. Nội dung cập nhật sẽ không chứa nhiều mục nhập hơn giá trị này. Đây phải là luỹ thừa của 2 trong khoảng từ 2**10 đến 2**20. Nếu 0 thì sẽ không có giới hạn kích thước bản cập nhật nào được đặt.

max_database_entries

int32

Đặt số lượng mục tối đa mà ứng dụng muốn thêm trong cơ sở dữ liệu cục bộ cho danh sách được chỉ định. Đây phải là luỹ thừa của 2 trong khoảng từ 2**10 đến 2**20. Nếu 0 thì sẽ không có giới hạn kích thước cơ sở dữ liệu nào được đặt.

region

string

Yêu cầu danh sách cho một vị trí địa lý cụ thể. Nếu bạn không đặt chính sách này, máy chủ có thể chọn giá trị đó dựa trên địa chỉ IP của người dùng. Yêu cầu định dạng ISO 3166-1 alpha-2.

supported_compressions[]

CompressionType

Các loại nén mà ứng dụng hỗ trợ.

language

string

Yêu cầu danh sách cho một ngôn ngữ cụ thể. Cần có định dạng ISO 639 alpha-2.

device_location

string

Vị trí thực tế của khách hàng, được biểu thị bằng mã vùng ISO 31166-1 alpha-2.

FetchThreatListUpdatesResponse

Trường
list_update_responses[]

ListUpdateResponse

Cập nhật danh sách mà khách hàng yêu cầu. Số lượng phản hồi ở đây có thể ít hơn số lượng yêu cầu do ứng dụng khách gửi. Trường hợp này xảy ra, chẳng hạn như khi máy chủ không có bản cập nhật cho một danh sách cụ thể.

minimum_wait_duration

Duration

Thời gian tối thiểu mà ứng dụng phải đợi trước khi gửi yêu cầu cập nhật. Nếu bạn không đặt trường này, ứng dụng có thể cập nhật ngay khi họ muốn.

ListUpdateResponse

Nội dung cập nhật đối với một danh sách riêng lẻ.

Trường
threat_type

ThreatType

Kiểu mối đe doạ mà dữ liệu được trả về.

threat_entry_type

ThreatEntryType

Hình thức của các mối đe doạ.

platform_type

PlatformType

Loại nền tảng mà dữ liệu được trả về.

response_type

ResponseType

Loại phản hồi. Điều này có thể cho biết rằng ứng dụng cần phải thực hiện một hành động khi nhận được phản hồi.

additions[]

ThreatEntrySet

Một tập hợp các mục cần thêm vào danh sách của một kiểu mối đe doạ cục bộ. Lặp lại để cho phép gửi kết hợp dữ liệu thô và dữ liệu nén trong một phản hồi.

removals[]

ThreatEntrySet

Một tập hợp các mục cần xoá khỏi danh sách của kiểu mối đe doạ cục bộ. Trên thực tế, trường này trống hoặc chứa đúng một ReturnEntrySet.

new_client_state

bytes

Trạng thái của ứng dụng mới, ở định dạng đã mã hoá. Mờ đối với khách hàng.

checksum

Checksum

Hàm băm SHA256 dự kiến của trạng thái ứng dụng; tức là danh sách được sắp xếp gồm tất cả hàm băm có trong cơ sở dữ liệu sau khi áp dụng bản cập nhật đã cung cấp. Nếu trạng thái ứng dụng không khớp với trạng thái dự kiến, thì ứng dụng phải bỏ qua lần cập nhật này rồi thử lại sau.

ResponseType

Loại phản hồi được gửi đến ứng dụng.

Enum
RESPONSE_TYPE_UNSPECIFIED Không xác định.
PARTIAL_UPDATE Nội dung cập nhật một phần được áp dụng cho cơ sở dữ liệu cục bộ hiện có của ứng dụng.
FULL_UPDATE Toàn bộ bản cập nhật sẽ thay thế toàn bộ cơ sở dữ liệu cục bộ của ứng dụng. Điều này có nghĩa là ứng dụng này đã bị lỗi thời nghiêm trọng hoặc bị cho là bị tham nhũng.

FindFullHashesRequest

Yêu cầu trả về toàn bộ hàm băm khớp với các tiền tố hàm băm đã cung cấp.

Trường
client

ClientInfo

Siêu dữ liệu ứng dụng.

client_states[]

bytes

Ứng dụng hiện tại nêu rõ cho mỗi danh sách mối đe doạ cục bộ của ứng dụng đó.

threat_info

ThreatInfo

Danh sách và hàm băm cần kiểm tra.

api_client

ClientInfo

Siêu dữ liệu ứng dụng liên kết với phương thức gọi của API cấp cao hơn, được xây dựng dựa trên quá trình triển khai của ứng dụng.

FindFullHashesResponse

Trường
matches[]

ThreatMatch

Toàn bộ hàm băm khớp với các tiền tố được yêu cầu.

minimum_wait_duration

Duration

Thời lượng tối thiểu mà ứng dụng phải đợi trước khi đưa ra yêu cầu tìm hàm băm. Nếu bạn không đặt trường này, khách hàng có thể gửi yêu cầu ngay khi họ muốn.

negative_cache_duration

Duration

Đối với các thực thể được yêu cầu nhưng không khớp với danh sách mối đe doạ, khoảng thời gian lưu phản hồi vào bộ nhớ đệm.

FindThreatMatchesRequest

Yêu cầu kiểm tra mục nhập với danh sách.

Trường
client

ClientInfo

Siêu dữ liệu ứng dụng.

threat_info

ThreatInfo

Các danh sách và mục nhập cần kiểm tra để tìm kết quả trùng khớp.

FindThreatMatchesResponse

Trường
matches[]

ThreatMatch

Danh sách mối đe doạ trùng khớp.

ListThreatListsResponse

Trường
threat_lists[]

ThreatListDescriptor

Các danh sách có sẵn để ứng dụng tải xuống.

PlatformType

Loại nền tảng.

Enum
PLATFORM_TYPE_UNSPECIFIED Nền tảng không xác định.
WINDOWS Mối đe doạ gây ra cho Windows.
LINUX Mối đe doạ gây ra cho Linux.
ANDROID Mối đe doạ gây ra cho Android.
OSX Mối đe doạ gây ra cho OS X.
IOS Mối đe doạ gây ra cho iOS.
ANY_PLATFORM Mối đe doạ xảy ra trên ít nhất một trong các nền tảng đã xác định.
ALL_PLATFORMS Mối đe doạ xảy ra trên tất cả các nền tảng đã xác định.
CHROME Mối đe doạ gây ra cho Chrome.

RawHashes

Các mục nhập mối đe doạ chưa nén ở định dạng băm với độ dài tiền tố cụ thể. Hàm băm có thể có kích thước bất kỳ từ 4 đến 32 byte. Phần lớn có kích thước là 4 byte, nhưng một số hàm băm sẽ được kéo dài nếu chúng xung đột với hàm băm của một URL phổ biến.

Dùng để gửi ReturnEntrySet cho các ứng dụng không hỗ trợ tính năng nén hoặc khi gửi hàm băm không có 4 byte đến các ứng dụng có hỗ trợ tính năng nén.

Trường
prefix_size

int32

Số byte cho từng tiền tố được mã hoá bên dưới. Trường này có thể ở bất cứ đâu từ 4 (tiền tố ngắn nhất) đến 32 (băm SHA256 đầy đủ).

raw_hashes

bytes

Các hàm băm, ở định dạng nhị phân, nối thành một chuỗi dài. Các hàm băm được sắp xếp theo thứ tự từ vựng. Đối với người dùng API JSON, hàm băm được mã hoá base64.

RawIndices

Một tập hợp các chỉ mục thô cần xoá khỏi danh sách cục bộ.

Trường
indices[]

int32

Các chỉ mục cần xoá khỏi danh sách địa phương được sắp xếp theo từ điển học.

RiceDeltaEncoding

Dữ liệu mã hoá gạo-Golomb. Dùng để gửi các hàm băm 4 byte đã nén hoặc chỉ mục xoá đã nén.

Trường
first_value

int64

Độ lệch của mục nhập đầu tiên trong dữ liệu được mã hoá hoặc nếu chỉ một số nguyên được mã hoá, thì giá trị của số nguyên đó. Nếu trường này trống hoặc bị thiếu, hãy giả định bằng 0.

rice_parameter

int32

Tham số Golomb-Rice, là một số từ 2 đến 28. Trường này bị thiếu (nghĩa là 0) nếu num_entries bằng 0.

num_entries

int32

Số mục nhập được mã hoá delta bằng dữ liệu được mã hoá. Nếu chỉ có một số nguyên được mã hoá, thì giá trị này sẽ bằng 0 và giá trị duy nhất sẽ được lưu trữ trong first_value.

encoded_data

bytes

Các delta đã mã hoá được mã hoá bằng trình lập trình Golomb-Rice.

ThreatEntry

Mối đe doạ cá nhân; ví dụ: một URL độc hại hoặc nội dung đại diện cho hàm băm của URL đó. Bạn chỉ được đặt một trong các trường này.

Trường
hash

bytes

Một tiền tố hàm băm, bao gồm 4 đến 32 byte quan trọng nhất của hàm băm SHA256. Trường này ở định dạng nhị phân. Đối với các yêu cầu JSON, hàm băm được mã hoá base64.

url

string

URL.

digest

bytes

Chuỗi đại diện của một tệp thực thi ở định dạng SHA256. API hỗ trợ cả chuỗi đại diện nhị phân và chuỗi đại diện hex. Đối với các yêu cầu JSON, chuỗi đại diện được mã hoá base64.

ThreatEntryMetadata

Siêu dữ liệu liên quan đến một mục nhập mối đe doạ cụ thể. Ứng dụng phải biết các cặp giá trị/khoá siêu dữ liệu được liên kết với từng kiểu mối đe doạ.

Trường
entries[]

MetadataEntry

Các mục siêu dữ liệu.

MetadataEntry

Một mục siêu dữ liệu duy nhất.

Trường
key

bytes

Khoá nhập siêu dữ liệu. Đối với các yêu cầu JSON, khoá này được mã hoá base64.

value

bytes

Giá trị mục nhập siêu dữ liệu. Đối với các yêu cầu JSON, giá trị được mã hoá base64.

ThreatEntrySet

Một tập hợp các mối đe doạ cần được thêm vào hoặc xoá khỏi cơ sở dữ liệu cục bộ của ứng dụng.

Trường
compression_type

CompressionType

Kiểu nén cho các mục trong tập hợp này.

raw_hashes

RawHashes

Các mục nhập có định dạng SHA256 thô.

raw_indices

RawIndices

Các chỉ mục xoá thô cho một danh sách cục bộ.

rice_hashes

RiceDeltaEncoding

Tiền tố 4 byte được mã hoá của các mục nhập theo định dạng SHA256, bằng cách sử dụng mã hoá Golomb-Rice. Các hàm băm được chuyển đổi thành uint32, sắp xếp theo thứ tự tăng dần, sau đó delta được mã hoá và lưu trữ dưới dạng dữ liệu được mã hoá.

rice_indices

RiceDeltaEncoding

Các chỉ mục danh sách được mã hoá cục bộ, được sắp xếp theo từ điển học, có sử dụng bộ mã hoá Golomb-Rice. Dùng để gửi chỉ mục xoá đã nén. Các chỉ mục xoá (uint32) được sắp xếp theo thứ tự tăng dần, sau đó delta được mã hoá và lưu trữ dưới dạng dữ liệu_được mã hoá.

ThreatEntryType

Các loại mục nhập gây ra mối đe doạ. Danh sách mối đe doạ là tập hợp các mục thuộc cùng một loại.

Enum
THREAT_ENTRY_TYPE_UNSPECIFIED Không xác định.
URL URL.
EXECUTABLE Một chương trình có thể thực thi.

ThreatInfo

Thông tin liên quan đến một hoặc nhiều mối đe doạ mà ứng dụng gửi khi kiểm tra để tìm kết quả trùng khớp trong danh sách mối đe doạ.

Trường
threat_types[]

ThreatType

Các kiểu mối đe doạ cần kiểm tra.

platform_types[]

PlatformType

Các loại nền tảng cần kiểm tra.

threat_entry_types[]

ThreatEntryType

Loại mục nhập cần kiểm tra.

threat_entries[]

ThreatEntry

Các mục mối đe doạ cần kiểm tra.

ThreatListDescriptor

Mô tả từng danh sách mối đe doạ. Một danh sách được xác định theo 3 tham số: loại mối đe doạ, loại nền tảng bị mối đe doạ nhắm đến, và loại mục nhập trong danh sách.

Trường
threat_type

ThreatType

Kiểu mối đe doạ do các mục trong danh sách đặt ra.

platform_type

PlatformType

Loại nền tảng được các mục trong danh sách nhắm mục tiêu.

threat_entry_type

ThreatEntryType

Các loại mục nhập có trong danh sách.

ThreatMatch

Kết quả trùng khớp khi kiểm tra một mục mối đe doạ trong danh sách mối đe doạ của chế độ Duyệt web an toàn.

Trường
threat_type

ThreatType

Kiểu mối đe doạ khớp với mối đe doạ này.

platform_type

PlatformType

Loại nền tảng khớp với mối đe doạ này.

threat_entry_type

ThreatEntryType

Kiểu mục nhập mối đe doạ khớp với mối đe doạ này.

threat

ThreatEntry

Mối đe doạ khớp với lời đe doạ này.

threat_entry_metadata

ThreatEntryMetadata

Siêu dữ liệu không bắt buộc liên quan đến mối đe doạ này.

cache_duration

Duration

Thời gian tồn tại của bộ nhớ đệm cho kết quả trùng khớp được trả về. Ứng dụng không được lưu phản hồi này vào bộ nhớ đệm quá khoảng thời gian này để tránh kết quả dương tính giả.

ThreatType

Các loại hành vi đe doạ.

Enum
THREAT_TYPE_UNSPECIFIED Không xác định.
MALWARE Kiểu mối đe doạ phần mềm độc hại.
SOCIAL_ENGINEERING Kiểu đe doạ tấn công phi kỹ thuật.
UNWANTED_SOFTWARE Kiểu mối đe doạ phần mềm không mong muốn.
POTENTIALLY_HARMFUL_APPLICATION Kiểu mối đe doạ trong ứng dụng có khả năng gây hại.