Package google.security.safebrowsing.v4

Chỉ mục

SafeBrowsing

API Duyệt web an toàn cho phép ứng dụng kiểm tra tài nguyên web (thường là URL) dựa trên danh sách tài nguyên web không an toàn được Google cập nhật liên tục. API Duyệt web an toàn (phiên bản 4) có API Cập nhật và API Truy vấn.

API Cập nhật được thiết kế cho các ứng dụng lớn hơn của chúng tôi và bao gồm các phương thức FindFullHashes và FetchThreatListUpdates . API Cập nhật 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 sẽ 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 các tiền tố băm của biểu thức URL bị đưa vào danh sách đen. Để kiểm tra một URL, ứng dụng sẽ tạo hàm băm của một URL nhất định và kiểm tra xung đột tiền tố trong danh sách cục bộ của ứng dụng; nếu tìm thấy một tiền tố khớp, ứng dụng sẽ lấy hàm băm đầy đủ liên kết với tiền tố hàm băm đã khớp thông qua phương thức FindFullHashes . Sau đó, ứng dụng khách so sánh hàm băm đầy đủ cục bộ với hàm băm đầy đủ được trả về; kết quả khớp cho biết URL không an toàn.

Thứ hai, ứng dụng sẽ nhận được thông tin cập nhật cho cơ sở dữ liệu cục bộ thông qua phương thức FetchThreatListUpdates. Phương thức này sẽ 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 những thay đổi mà ứng dụng sẽ áp dụng cho danh sách mối đe doạ cục bộ.

Lookup API được thiết kế cho các ứng dụng nhỏ hơn và cho phép các ứng dụng đó so khớp tài nguyên trực tiếp với danh sách mối đe doạ của Safe Browsing thông qua phương thức FindThreatMatches.

Ứng dụng sử dụng Update API hoặc Lookup API có thể tải danh sách các danh sách mối đe doạ của Safe Browsing xuống thông qua phương thức ListThreatLists.

{-- TRUSTED_THREAT_REPORTER: Ứng dụng báo cáo 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 SubmitThreatReport. --}

FetchThreatListUpdates

rpc FetchThreatListUpdates(FetchThreatListUpdatesRequest) returns (FetchThreatListUpdatesResponse)

Tìm nạp nội dung cập nhật mới nhất về danh sách mối đe doạ. Một ứng dụ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 các hàm băm đầy đủ 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ê các danh sách mối đe doạ của tính năng Duyệt web an toà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 khách.

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 của tất cả hàm băm có trong cơ sở dữ liệu.

ClientInfo

Siêu dữ liệu ứng dụng liên kết với các yêu cầu của API Duyệt web an toàn.

Trường
client_id

string

Mã ứng dụng khách (hy vọng) xác định duy nhất cách triển khai ứng dụng của API Trình duyệt an toàn.

client_version

string

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

CompressionType

Các cách có thể nén 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 được mã hoá theo Rice-Golomb.

FetchThreatListUpdatesRequest

Mô tả yêu cầu cập nhật API Tìm kiếm an toàn. Ứng dụng có thể yêu cầu cập nhật cho nhiều danh sách trong một yêu cầu. Máy chủ có thể không phản hồi tất cả các yêu cầu nếu không có nội dung cập nhật nào cho danh sách đó. 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

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

ListUpdateRequest

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

Trường
threat_type

ThreatType

Loại mối đe doạ do các mục trong danh sách gây ra.

platform_type

PlatformType

Loại nền tảng có nguy cơ bị ảnh hưởng theo các mụ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 cho 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 cho bản cập nhật này.

Trường
max_update_entries

int32

Kích thước tối đa theo số mục nhập. Bản 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à một số mũ 2 nằm trong khoảng từ 2**10 đến 2**20. Nếu bằng 0, thì hệ thống sẽ không đặt giới hạn kích thước cập nhật.

max_database_entries

int32

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

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 giá trị 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ể. Yêu cầu định dạng ISO 639 alpha-2.

device_location

string

Vị trí thực tế của ứng dụng, được biểu thị dưới dạng mã vùng ISO 31166-1 alpha-2.

FetchThreatListUpdatesResponse

Trường
list_update_responses[]

ListUpdateResponse

Nội dung cập nhật danh sách do ứng dụng khách yêu cầu. Số lượng phản hồi tại đây có thể ít hơn số lượng yêu cầu mà ứng dụng gửi. Ví dụ: trường hợp này xảy ra nếu máy chủ không có nội dung cập nhật cho một danh sách cụ thể.

minimum_wait_duration

Duration

Khoảng thời gian tối thiểu mà ứng dụng phải chờ trước khi đưa ra 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 ứng dụng muốn.

ListUpdateResponse

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

Trường
threat_type

ThreatType

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

threat_entry_type

ThreatEntryType

Định dạng của lờ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 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 nhập để thêm vào danh sách của một loại mối đe doạ cục bộ. Được lặp lại để cho phép kết hợp dữ liệu đã nén và dữ liệu thô trong một phản hồi duy nhất.

removals[]

ThreatEntrySet

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

new_client_state

bytes

Trạng thái ứng dụng mới, ở định dạng đã mã hoá. Không rõ ràng đối với ứng dụng.

checksum

Checksum

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

ResponseType

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

Enum
RESPONSE_TYPE_UNSPECIFIED Không xác định.
PARTIAL_UPDATE Một phần nội dung cập nhật được áp dụng cho cơ sở dữ liệu cục bộ hiện có của ứng dụng.
FULL_UPDATE Nội dung cập nhật đầy đủ 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 khách đã lỗi thời nghiêm trọng hoặc ứng dụng khách được cho là bị hỏng.

FindFullHashesRequest

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

Trường
client

ClientInfo

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

client_states[]

bytes

Trạng thái ứng dụng hiện tại cho từng 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 của ứng dụng được liên kết với phương thức gọi của các API cấp cao hơn được xây dựng dựa trên cách triển khai của ứng dụng.

FindFullHashesResponse

Trường
matches[]

ThreatMatch

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

minimum_wait_duration

Duration

Khoảng thời gian tối thiểu mà ứng dụng phải đợi trước khi đưa ra bất kỳ yêu cầu tìm hàm băm nào. Nếu bạn không đặt trường này, ứng dụng có thể đưa ra 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 không khớp với danh sách mối đe doạ, thời lượng lưu phản hồi vào bộ nhớ đệm.

FindThreatMatchesRequest

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

Trường
client

ClientInfo

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

threat_info

ThreatInfo

Danh sách và mục nhập cần được kiểm tra để tìm nội dung trùng khớp.

FindThreatMatchesResponse

Trường
matches[]

ThreatMatch

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

ListThreatListsResponse

Trường
threat_lists[]

ThreatListDescriptor

Các danh sách mà ứng dụng có thể tải xuống.

PlatformType

Các loại nền tảng.

Enum
PLATFORM_TYPE_UNSPECIFIED Nền tảng không xác định.
WINDOWS Đe doạ đối với Windows.
LINUX Đe doạ đối với Linux.
ANDROID Mối đe doạ đối với Android.
OSX Đe doạ OS X.
IOS Đe doạ đối với iOS.
ANY_PLATFORM Đe doạ ít nhất một trong các nền tảng được xác định.
ALL_PLATFORMS Mối đe doạ đối với tất cả nền tảng đã xác định.
CHROME Mối đe doạ đối với Chrome.

RawHashes

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

Dùng để gửi ThreatEntrySet đến 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 phải 4 byte đến các ứng dụng hỗ trợ tính năng nén.

Trường
prefix_size

int32

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

raw_hashes

bytes

Các hàm băm, ở định dạng nhị phân, được nối với nhau thành một chuỗi dài. Hàm băm được sắp xếp theo thứ tự bảng chữ cái. Đố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 cục bộ được sắp xếp theo thứ tự bảng chữ cái.

RiceDeltaEncoding

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

Trường
first_value

int64

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

rice_parameter

int32

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

num_entries

int32

Số lượng mục được mã hoá delta trong dữ liệu đã mã hoá. Nếu chỉ mã hoá một số nguyên, 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 bộ mã hoá Golomb-Rice.

ThreatEntry

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

Trường
hash

bytes

Tiền tố 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 tệp thực thi ở định dạng SHA256. API này hỗ trợ cả chuỗi đại diện nhị phân và thập lục phân. Đố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 kết với một mục đe doạ cụ thể. Ứng dụng khách dự kiến sẽ biết các cặp khoá/giá trị siêu dữ liệu liên kết với từng loại 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á mục nhập siêu dữ liệu. Đối với các yêu cầu JSON, khoá được mã hoá base64.

value

bytes

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

ThreatEntrySet

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

Trường
compression_type

CompressionType

Loại nén cho các mục nhập trong tập hợp này.

raw_hashes

RawHashes

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

raw_indices

RawIndices

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

rice_hashes

RiceDeltaEncoding

Tiền tố 4 byte được mã hoá của các mục có định dạng SHA256, 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 đó được mã hoá delta và lưu trữ dưới dạng encoded_data.

rice_indices

RiceDeltaEncoding

Các chỉ mục danh sách đã mã hoá, được sắp xếp theo thứ tự bảng chữ cái, 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 đó được mã hoá delta và lưu trữ dưới dạng encoded_data.

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 nhập thuộc một loại.

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

ThreatInfo

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

Trường
threat_types[]

ThreatType

Các loại 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

Các loại mục nhập cần kiểm tra.

threat_entries[]

ThreatEntry

Các mục nhập mối đe doạ cần được kiểm tra.

ThreatListDescriptor

Mô tả một danh sách mối đe doạ riêng lẻ. Danh sách được xác định bằng 3 tham số: loại mối đe doạ, loại nền tảng mà mối đe doạ nhắm đến và loại mục trong danh sách.

Trường
threat_type

ThreatType

Loại mối đe doạ do các mục trong danh sách gây ra.

platform_type

PlatformType

Loại nền tảng mà các mục trong danh sách nhắm đến.

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 đe doạ trong danh sách đe doạ của tính năng Duyệt web an toàn.

Trường
threat_type

ThreatType

Loại 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

Loại 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 mố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 lưu vào bộ nhớ đệm của kết quả trùng khớp được trả về. Ứng dụng khách 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 mối đe doạ.

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