Package google.security.safebrowsing.v5alpha1

Chỉ mục

SafeBrowsing

Safe Browsing API giúp các ứ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.

BatchGetHashLists

rpc BatchGetHashLists(BatchGetHashListsRequest) returns (BatchGetHashListsResponse)

Nhận nhiều danh sách băm cùng một lúc.

Khách hàng thường cần lấy nhiều danh sách băm. Bạn nên sử dụng phương thức này thay vì sử dụng phương thức Get thông thường nhiều lần.

Đây là phương thức Get theo lô tiêu chuẩn như được xác định theo https://google.aip.dev/231 và phương thức HTTP cũng là GET.

GetHashList

rpc GetHashList(GetHashListRequest) returns (HashList)

Nhận nội dung mới nhất của danh sách hàm băm. Danh sách băm có thể là danh sách mối đe doạ hoặc danh sách không phải mối đe doạ, chẳng hạn như Bộ nhớ đệm toàn cầu.

Đây là phương thức Get tiêu chuẩn theo định nghĩa của https://google.aip.dev/131 và phương thức HTTP cũng là GET.

ListHashLists

rpc ListHashLists(ListHashListsRequest) returns (ListHashListsResponse)

Liệt kê danh sách băm.

Trong API V5, Google sẽ không bao giờ xoá danh sách băm mà phương thức này từng trả về. Điều này cho phép các ứng dụng bỏ qua việc sử dụng phương thức này và chỉ cần mã hoá cứng tất cả danh sách băm mà chúng cần.

Đây là một phương thức List tiêu chuẩn theo định nghĩa tại https://google.aip.dev/132 và phương thức HTTP là GET.

SearchHashes

rpc SearchHashes(SearchHashesRequest) returns (SearchHashesResponse)

Tìm kiếm các hàm băm đầy đủ khớp với tiền tố đã chỉ định.

Đây là một phương thức tuỳ chỉnh theo định nghĩa của https://google.aip.dev/136 (phương thức tuỳ chỉnh đề cập đến phương thức này có tên tuỳ chỉnh trong quy tắc đặt tên chung khi phát triển API của Google; phương thức này không đề cập đến việc sử dụng phương thức HTTP tuỳ chỉnh).

SearchUrls

rpc SearchUrls(SearchUrlsRequest) returns (SearchUrlsResponse)

Tìm kiếm các URL trùng khớp với các mối đe doạ đã biết. Mỗi URL và biểu thức hậu tố máy chủ lưu trữ cũng như tiền tố đường dẫn (tối đa ở một độ sâu giới hạn) đều được kiểm tra. Điều này có nghĩa là phản hồi có thể chứa những URL không có trong yêu cầu, nhưng là biểu thức của các URL được yêu cầu.

BatchGetHashListsRequest

Yêu cầu nhận nhiều danh sách hàm băm cùng một lúc.

Trường
names[]

string

Bắt buộc. Tên của các danh sách băm cụ thể. Danh sách NÀY CÓ THỂ là danh sách mối đe doạ hoặc có thể là Bộ nhớ đệm chung. Tên KHÔNG ĐƯỢC chứa nội dung trùng lặp; nếu có, máy khách sẽ gặp lỗi.

version[]

bytes

Các phiên bản của danh sách băm mà ứng dụng khách đã có. Nếu đây là lần đầu tiên ứng dụng tìm nạp danh sách băm, thì bạn nên để trống trường này. Nếu không, ứng dụng khách phải cung cấp các phiên bản đã nhận được trước đó từ máy chủ. Ứng dụng KHÔNG ĐƯỢC thao tác các byte đó.

Ứng dụng không cần gửi các phiên bản theo cùng thứ tự với tên danh sách tương ứng. Ứng dụng có thể gửi ít hoặc nhiều phiên bản hơn trong một yêu cầu so với số lượng tên. Tuy nhiên, máy khách KHÔNG ĐƯỢC gửi nhiều phiên bản tương ứng với cùng một tên; nếu gửi, máy khách sẽ gặp lỗi.

Lưu ý về lịch sử: trong API phiên bản 4, tham số này được gọi là states; hiện tại, tham số này được đổi tên thành version để rõ ràng hơn.

size_constraints

SizeConstraints

Các giới hạn về kích thước đối với từng danh sách. Nếu bạn bỏ qua, thì sẽ không có điều kiện ràng buộc nào. Xin lưu ý rằng kích thước ở đây là theo từng danh sách, chứ không phải tổng hợp trên tất cả danh sách.

BatchGetHashListsResponse

Phản hồi chứa nhiều danh sách băm.

Trường
hash_lists[]

HashList

Các danh sách băm theo cùng thứ tự được đưa ra trong yêu cầu.

FullHash

Băm đầy đủ được xác định bằng một hoặc nhiều kết quả trùng khớp.

Trường
full_hash

bytes

Giá trị băm đầy đủ trùng khớp. Đây là hàm băm SHA256. Độ dài sẽ chính xác là 32 byte.

full_hash_details[]

FullHashDetail

Danh sách không theo thứ tự. Một trường lặp lại xác định các thông tin chi tiết liên quan đến hàm băm đầy đủ.

FullHashDetail

Thông tin chi tiết về một hàm băm đầy đủ trùng khớp.

Một lưu ý quan trọng về khả năng tương thích về sau: máy chủ có thể thêm các loại mối đe doạ và thuộc tính mối đe doạ mới bất cứ lúc nào; những nội dung bổ sung đó được coi là các thay đổi nhỏ về phiên bản. Theo chính sách của Google, các số phiên bản phụ sẽ không được hiển thị trong API (xem https://cloud.google.com/apis/design/versioning để biết chính sách về việc tạo phiên bản). Do đó, các ứng dụng phải chuẩn bị sẵn sàng để nhận các thông báo FullHashDetail chứa các giá trị enum ThreatType hoặc các giá trị enum ThreatAttribute mà ứng dụng coi là không hợp lệ. Do đó, máy khách có trách nhiệm kiểm tra tính hợp lệ của tất cả các giá trị enum ThreatTypeThreatAttribute; nếu bất kỳ giá trị nào được coi là không hợp lệ, thì máy khách PHẢI bỏ qua toàn bộ thông báo FullHashDetail.

Trường
threat_type

ThreatType

Loại mối đe doạ. Trường này sẽ không bao giờ trống.

attributes[]

ThreatAttribute

Danh sách không theo thứ tự. Các thuộc tính bổ sung về những hàm băm đầy đủ đó. Bạn có thể để trống trường này.

GetHashListRequest

Yêu cầu lấy danh sách băm, có thể là danh sách mối đe doạ hoặc danh sách không phải mối đe doạ, chẳng hạn như Bộ nhớ đệm toàn cầu.

Tính năng mới trong phiên bản 5: states (trước đây) trong phiên bản 4 được đổi tên thành version để rõ ràng hơn. Giờ đây, các danh sách đã được đặt tên, các loại nền tảng và loại mục nhập mối đe doạ đã bị xoá. Giờ đây, nhiều danh sách có thể có cùng một loại mối đe doạ hoặc một danh sách duy nhất liên quan đến nhiều loại mối đe doạ. Ngược lại với tiền tố băm có độ dài thay đổi của phiên bản 4 (gây ra nhiều vấn đề trong quá trình triển khai của nhiều ứng dụng khách): tất cả các giá trị băm trong danh sách hiện có một độ dài duy nhất, cho phép triển khai ứng dụng khách hiệu quả hơn nhiều. Các ràng buộc đã được đơn giản hoá và loại nén đã bị xoá (quá trình nén luôn được áp dụng).

Trường
name

string

Bắt buộc. Tên của danh sách băm cụ thể này. Đó có thể là danh sách mối đe doạ hoặc Bộ nhớ đệm toàn cầu.

version

bytes

Phiên bản danh sách băm mà ứng dụng khách đã có. Nếu đây là lần đầu tiên ứng dụng tìm nạp danh sách băm, thì bạn PHẢI để trống trường này. Nếu không, ứng dụng CẦN cung cấp phiên bản đã nhận được trước đó từ máy chủ. Ứng dụng KHÔNG ĐƯỢC thao tác các byte đó.

Tính năng mới trong phiên bản 5: trong phiên bản 4 của API, tính năng này có tên là states; giờ đây, tính năng này được đổi tên thành version để rõ ràng hơn.

size_constraints

SizeConstraints

Các hạn chế về kích thước đối với danh sách. Nếu bạn bỏ qua, thì sẽ không có điều kiện ràng buộc nào. Bạn nên áp dụng các ràng buộc trên mọi thiết bị có công suất xử lý, băng thông hoặc bộ nhớ hạn chế.

HashList

Danh sách hàm băm được xác định bằng tên.

Trường
name

string

Tên của danh sách hàm băm. Xin lưu ý rằng Bộ nhớ đệm toàn cầu cũng chỉ là một danh sách băm và bạn có thể tham khảo danh sách này tại đây.

version

bytes

Phiên bản của danh sách hàm băm. Ứng dụng KHÔNG ĐƯỢC thao tác các byte đó.

partial_update

bool

Khi được đặt thành true, đây là một bản khác biệt một phần chứa các nội dung bổ sung và xoá dựa trên những gì ứng dụng đã có. Nếu là false, đây là danh sách băm đầy đủ.

Khi giá trị là false, ứng dụng phải xoá mọi phiên bản được lưu trữ cục bộ cho danh sách băm này. Điều này có nghĩa là phiên bản mà ứng dụng sở hữu đã quá cũ hoặc dữ liệu ứng dụng được cho là bị hỏng. Trường compressed_removals sẽ trống.

Khi đúng, máy khách PHẢI áp dụng một bản cập nhật gia tăng bằng cách áp dụng các thao tác xoá rồi thêm.

compressed_removals

RiceDeltaEncoded32Bit

Phiên bản được mã hoá Rice-delta của chỉ mục xoá. Vì mỗi danh sách hàm băm chắc chắn có ít hơn 2^32 mục nhập, nên các chỉ mục được coi là số nguyên 32 bit và được mã hoá.

minimum_wait_duration

Duration

Ít nhất, các ứng dụng phải đợi khoảng thời gian này để nhận lại danh sách hàm băm. Nếu bị bỏ qua hoặc bằng 0, thì các ứng dụng CẦN tìm nạp ngay lập tức vì điều này cho biết rằng máy chủ có một bản cập nhật bổ sung cần gửi cho ứng dụng, nhưng không thể gửi do các ràng buộc do ứng dụng chỉ định.

sha256_checksum

bytes

Danh sách đã sắp xếp của tất cả các hàm băm, được băm lại bằng thuật toán SHA256. Đây là tổng kiểm cho danh sách đã sắp xếp của tất cả các hàm băm có trong cơ sở dữ liệu sau khi áp dụng bản cập nhật được cung cấp. Trong trường hợp không có bản cập nhật nào, máy chủ sẽ bỏ qua trường này để cho biết rằng máy khách nên sử dụng tổng kiểm hiện có.

metadata

HashListMetadata

Siêu dữ liệu về danh sách hàm băm. Phương thức GetHashList không điền sẵn thông tin này, nhưng phương thức ListHashLists thì có.

Trường nhóm compressed_additions. Phiên bản được mã hoá Rice-delta của các phần bổ sung. Độ dài tiền tố băm của các mục bổ sung là đồng nhất trên tất cả các mục bổ sung trong danh sách. compressed_additions chỉ có thể là một trong những trạng thái sau:
additions_four_bytes

RiceDeltaEncoded32Bit

Các phần bổ sung 4 byte.

additions_eight_bytes

RiceDeltaEncoded64Bit

Các phần bổ sung 8 byte.

additions_sixteen_bytes

RiceDeltaEncoded128Bit

Các phần bổ sung 16 byte.

additions_thirty_two_bytes

RiceDeltaEncoded256Bit

Các phần bổ sung 32 byte.

HashListMetadata

Siêu dữ liệu về một danh sách băm cụ thể.

Trường
threat_types[]

ThreatType

Danh sách không theo thứ tự. Nếu không trống, thì giá trị này chỉ định rằng danh sách băm là một loại danh sách mối đe doạ và liệt kê các loại mối đe doạ được liên kết với các giá trị băm hoặc tiền tố băm trong danh sách băm này. Có thể trống nếu mục không biểu thị mối đe doạ, tức là trong trường hợp mục đó biểu thị một loại có khả năng an toàn.

likely_safe_types[]

LikelySafeType

Danh sách không theo thứ tự. Nếu không trống, thì danh sách này chỉ định rằng danh sách hàm băm đại diện cho danh sách các hàm băm có khả năng an toàn và danh sách này liệt kê những cách mà các hàm băm đó được coi là có khả năng an toàn. Trường này mang tính loại trừ lẫn nhau với trường threat_types.

description

string

Nội dung mô tả mà con người đọc được về danh sách này. Viết bằng tiếng Anh.

hash_length

HashLength

Độ dài băm được hỗ trợ cho danh sách băm này. Mỗi danh sách băm sẽ chỉ hỗ trợ một độ dài. Nếu một độ dài băm khác được giới thiệu cho cùng một nhóm loại mối đe doạ hoặc loại an toàn, thì độ dài đó sẽ được giới thiệu dưới dạng một danh sách riêng biệt có tên riêng biệt và độ dài băm tương ứng.

HashLength

Độ dài của các hàm băm trong danh sách hàm băm.

Enum
HASH_LENGTH_UNSPECIFIED Độ dài không xác định.
FOUR_BYTES Mỗi hàm băm là một tiền tố gồm 4 byte.
EIGHT_BYTES Mỗi hàm băm là một tiền tố gồm 8 byte.
SIXTEEN_BYTES Mỗi hàm băm là một tiền tố gồm 16 byte.
THIRTY_TWO_BYTES Mỗi hàm băm là một hàm băm đầy đủ gồm 32 byte.

LikelySafeType

Các loại trang web có khả năng an toàn.

Xin lưu ý rằng SearchHashesResponse cố ý không chứa LikelySafeType.

Enum
LIKELY_SAFE_TYPE_UNSPECIFIED Không xác định.
GENERAL_BROWSING Trang web này có thể đủ an toàn để duyệt web thông thường. Đây còn được gọi là bộ nhớ đệm toàn cầu.
CSD Trang web này có thể đủ an toàn nên không cần chạy các mô hình Phát hiện phía máy khách hoặc kiểm tra tính năng bảo vệ bằng mật khẩu.
DOWNLOAD Trang web này có thể đủ an toàn để không cần kiểm tra các tệp tải xuống từ trang web.

ListHashListsRequest

Yêu cầu liệt kê các danh sách hàm băm hiện có.

Trường
page_size

int32

Số lượng danh sách băm tối đa cần trả về. Dịch vụ có thể trả về ít hơn giá trị này. Nếu bạn không chỉ định, máy chủ sẽ chọn một kích thước trang. Kích thước này có thể lớn hơn số lượng danh sách băm để không cần phân trang.

page_token

string

Mã thông báo trang nhận được từ một lệnh gọi ListHashLists trước đó. Cung cấp thông tin này để truy xuất trang tiếp theo.

ListHashListsResponse

Phản hồi chứa siêu dữ liệu về danh sách băm.

Trường
hash_lists[]

HashList

Danh sách băm theo thứ tự tuỳ ý. Hệ thống sẽ chỉ bao gồm siêu dữ liệu về danh sách băm chứ không bao gồm nội dung.

next_page_token

string

Một mã thông báo có thể được gửi dưới dạng page_token để truy xuất trang tiếp theo. Nếu bạn bỏ qua trường này, thì sẽ không có trang tiếp theo.

RiceDeltaEncoded128Bit

Tương tự như RiceDeltaEncoded32Bit, ngoại trừ việc mã này mã hoá các số 128 bit.

Trường
first_value_hi

uint64

64 bit trên của mục đầu tiên trong dữ liệu được mã hoá (băm). Nếu trường này trống, 64 bit trên sẽ đều là 0.

first_value_lo

fixed64

64 bit thấp hơn của mục đầu tiên trong dữ liệu được mã hoá (hàm băm). Nếu trường này trống, 64 bit thấp hơn sẽ đều bằng 0.

rice_parameter

int32

Tham số Golomb-Rice. Tham số này chắc chắn nằm trong khoảng từ 99 đến 126.

entries_count

int32

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

encoded_data

bytes

Các delta được mã hoá bằng bộ mã hoá Golomb-Rice.

RiceDeltaEncoded256Bit

Tương tự như RiceDeltaEncoded32Bit, ngoại trừ việc mã này mã hoá các số 256 bit.

Trường
first_value_first_part

uint64

64 bit đầu tiên của mục nhập đầu tiên trong dữ liệu được mã hoá (hàm băm). Nếu trường này trống, 64 bit đầu tiên sẽ đều bằng 0.

first_value_second_part

fixed64

Từ bit thứ 65 đến bit thứ 128 của mục đầu tiên trong dữ liệu được mã hoá (hàm băm). Nếu trường này trống, thì các bit từ 65 đến 128 đều là 0.

first_value_third_part

fixed64

Các bit từ 129 đến 192 của mục đầu tiên trong dữ liệu được mã hoá (hàm băm). Nếu trường này trống, thì các bit từ 129 đến 192 đều bằng 0.

first_value_fourth_part

fixed64

64 bit cuối cùng của mục đầu tiên trong dữ liệu được mã hoá (hàm băm). Nếu trường này trống, thì 64 bit cuối cùng đều là số 0.

rice_parameter

int32

Tham số Golomb-Rice. Tham số này chắc chắn nằm trong khoảng từ 227 đến 254 (bao gồm cả 227 và 254).

entries_count

int32

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

encoded_data

bytes

Các delta được mã hoá bằng bộ mã hoá Golomb-Rice.

RiceDeltaEncoded32Bit

Dữ liệu được mã hoá bằng Rice-Golomb. Được dùng cho cả hàm băm hoặc chỉ mục xoá. Đảm bảo rằng mọi hàm băm hoặc chỉ mục ở đây đều có cùng độ dài và độ dài này chính xác là 32 bit.

Nói chung, nếu sắp xếp tất cả các mục theo thứ tự từ điển, chúng ta sẽ thấy rằng các bit có thứ tự cao hơn thường không thay đổi thường xuyên như các bit có thứ tự thấp hơn. Điều này có nghĩa là nếu chúng ta cũng lấy hiệu số liền kề giữa các mục, thì các bit bậc cao có khả năng cao là bằng 0. Điều này khai thác xác suất cao là 0 bằng cách chọn một số bit nhất định; tất cả các bit có ý nghĩa hơn bit này có khả năng là 0 nên chúng ta sử dụng phương pháp mã hoá đơn vị. Xem trường rice_parameter.

Lưu ý về lịch sử: phương thức mã hoá Rice-delta được dùng lần đầu tiên trong phiên bản 4 của API này. Trong V5, hai điểm cải tiến đáng kể đã được thực hiện: thứ nhất, phương thức mã hoá Rice-delta hiện có sẵn với tiền tố băm dài hơn 4 byte; thứ hai, dữ liệu được mã hoá hiện được coi là big-endian để tránh bước sắp xếp tốn kém.

Trường
first_value

uint32

Mục nhập đầu tiên trong dữ liệu được mã hoá (băm hoặc chỉ mục), hoặc nếu chỉ có một tiền tố băm hoặc chỉ mục duy nhất được mã hoá, thì đó là giá trị của mục nhập. Nếu trường này trống, mục nhập sẽ là 0.

rice_parameter

int32

Tham số Golomb-Rice. Tham số này chắc chắn nằm trong khoảng từ 3 đến 30.

entries_count

int32

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

encoded_data

bytes

Các delta được mã hoá bằng bộ mã hoá Golomb-Rice.

RiceDeltaEncoded64Bit

Tương tự như RiceDeltaEncoded32Bit, ngoại trừ việc mã hoá các số 64 bit.

Trường
first_value

uint64

Mục nhập đầu tiên trong dữ liệu được mã hoá (băm) hoặc giá trị của mục nhập đó nếu chỉ có một tiền tố băm được mã hoá. Nếu trường này trống, mục nhập sẽ là 0.

rice_parameter

int32

Tham số Golomb-Rice. Tham số này chắc chắn nằm trong khoảng từ 35 đến 62.

entries_count

int32

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

encoded_data

bytes

Các delta được mã hoá bằng bộ mã hoá Golomb-Rice.

SearchHashesRequest

Yêu cầu mà ứng dụng đưa ra để tìm kiếm các tiền tố băm cụ thể.

Tính năng này chỉ tìm kiếm danh sách mối đe doạ và không tìm kiếm các danh sách không phải mối đe doạ, chẳng hạn như Bộ nhớ đệm toàn cầu.

Điểm mới trong phiên bản 5: Ứng dụng không cần chỉ định ClientInfo hoặc trạng thái của danh sách băm trong cơ sở dữ liệu cục bộ. Điều này là để cải thiện quyền riêng tư. Ngoài ra, các ứng dụng không cần gửi những loại mối đe doạ mà chúng quan tâm.

Trường
hash_prefixes[]

bytes

Bắt buộc. Tiền tố hàm băm cần tra cứu. Ứng dụng KHÔNG ĐƯỢC gửi quá 1.000 tiền tố băm. Tuy nhiên, theo quy trình xử lý URL, các ứng dụng KHÔNG NÊN cần gửi quá 30 tiền tố băm.

Hiện tại, mỗi tiền tố băm phải có độ dài chính xác là 4 byte. Quy định này CÓ THỂ được nới lỏng trong tương lai.

filter

string

Không bắt buộc. Nếu khách hàng quan tâm đến việc lọc, chẳng hạn như chỉ truy xuất các loại mối đe doạ cụ thể, thì bạn có thể chỉ định điều này. Nếu bạn bỏ qua, tất cả các mối đe doạ trùng khớp sẽ được trả về. Bạn nên bỏ qua bước này để được bảo vệ toàn diện nhất có thể nhờ tính năng Duyệt web an toàn.

Bộ lọc được chỉ định bằng Ngôn ngữ diễn đạt thông thường của Google. Bạn có thể xem ngôn ngữ này tại https://github.com/google/cel-spec cùng với các ví dụ chung. Sau đây là một số ví dụ cụ thể mà bạn có thể sử dụng:

Bộ lọc "threat_type == ThreatType.SOCIAL_ENGINEERING" yêu cầu rằng trong FullHashDetail, loại mối đe doạ phải là SOCIAL_ENGINEERING. Giá trị nhận dạng "threat_type" đề cập đến loại mối đe doạ hiện tại. Mã nhận dạng "ThreatType" đề cập đến tập hợp tất cả các loại mối đe doạ có thể xảy ra.

Bộ lọc "threat_type in [ ThreatType.UNWANTED_SOFTWARE, ThreatType.MALWARE ]" yêu cầu loại mối đe doạ phải là UNWANTED_SOFTWARE hoặc MALWARE.

SearchHashesResponse

Phản hồi được trả về sau khi tìm kiếm hàm băm mối đe doạ.

Nếu không tìm thấy nội dung nào, máy chủ sẽ trả về trạng thái OK (mã trạng thái HTTP 200) với trường full_hashes trống thay vì trả về trạng thái NOT_FOUND (mã trạng thái HTTP 404).

Tính năng mới trong phiên bản 5: Có sự tách biệt giữa FullHashFullHashDetail. Trong trường hợp một hàm băm đại diện cho một trang web có nhiều mối đe doạ (ví dụ: cả PHẦN MỀM ĐỘC HẠI và KỸ THUẬT TẤN CÔNG DỰA TRÊN XÃ HỘI), bạn không cần gửi toàn bộ hàm băm hai lần như trong phiên bản 4. Ngoài ra, thời lượng lưu vào bộ nhớ đệm đã được đơn giản hoá thành một trường cache_duration duy nhất.

Trường
full_hashes[]

FullHash

Danh sách không theo thứ tự. Danh sách băm đầy đủ không theo thứ tự được tìm thấy.

cache_duration

Duration

Thời lượng bộ nhớ đệm phía máy khách. Ứng dụng phải thêm khoảng thời gian này vào thời gian hiện tại để xác định thời gian hết hạn. Sau đó, thời gian hết hạn sẽ áp dụng cho mọi tiền tố băm mà ứng dụng khách truy vấn trong yêu cầu, bất kể có bao nhiêu giá trị băm đầy đủ được trả về trong phản hồi. Ngay cả khi máy chủ không trả về hàm băm đầy đủ cho một tiền tố hàm băm cụ thể, thì ứng dụng cũng PHẢI lưu trữ thông tin này vào bộ nhớ đệm.

Nếu và chỉ khi trường full_hashes trống, thì ứng dụng CÓ THỂ tăng cache_duration để xác định thời gian hết hạn mới muộn hơn thời gian do máy chủ chỉ định. Trong mọi trường hợp, thời gian lưu vào bộ nhớ đệm tăng lên không được dài hơn 24 giờ.

Quan trọng: ứng dụng KHÔNG ĐƯỢC giả định rằng máy chủ sẽ trả về cùng một khoảng thời gian lưu vào bộ nhớ đệm cho tất cả các phản hồi. Máy chủ CÓ THỂ chọn thời lượng lưu vào bộ nhớ đệm khác nhau cho các phản hồi khác nhau tuỳ thuộc vào tình huống.

SearchUrlsRequest

Yêu cầu mà máy khách đưa ra để tìm các mối đe doạ khớp với URL được chỉ định.

Tính năng này chỉ tìm kiếm danh sách mối đe doạ và không tìm kiếm các danh sách không phải mối đe doạ, chẳng hạn như Bộ nhớ đệm toàn cầu.

Trường
urls[]

string

Bắt buộc. URL cần tìm. Ứng dụng KHÔNG ĐƯỢC gửi quá 50 URL.

SearchUrlsResponse

Phản hồi được trả về sau khi tìm kiếm các mối đe doạ trùng khớp với URL được chỉ định.

Nếu không tìm thấy nội dung nào, máy chủ sẽ trả về trạng thái OK (mã trạng thái HTTP 200) với trường threats trống thay vì trả về trạng thái NOT_FOUND (mã trạng thái HTTP 404).

Trường
threats[]

ThreatUrl

Danh sách không theo thứ tự. Danh sách không có thứ tự gồm các kết quả trùng khớp với mối đe doạ được tìm thấy. Mỗi mục nhập chứa một URL và các loại mối đe doạ được phát hiện trùng khớp với URL đó. Kích thước danh sách có thể lớn hơn số lượng URL trong yêu cầu vì tất cả biểu thức của URL sẽ được xem xét.

cache_duration

Duration

Thời lượng bộ nhớ đệm phía máy khách. Ứng dụng phải thêm khoảng thời gian này vào thời gian hiện tại để xác định thời gian hết hạn. Sau đó, thời gian hết hạn sẽ áp dụng cho mọi URL mà ứng dụng khách truy vấn trong yêu cầu, bất kể có bao nhiêu URL được trả về trong phản hồi. Ngay cả khi máy chủ không trả về kết quả trùng khớp cho một URL cụ thể, thì máy khách CŨNG PHẢI lưu trữ thông tin này vào bộ nhớ đệm.

Nếu và chỉ khi trường threats trống, thì ứng dụng CÓ THỂ tăng cache_duration để xác định thời gian hết hạn mới muộn hơn thời gian do máy chủ chỉ định. Trong mọi trường hợp, thời gian lưu vào bộ nhớ đệm tăng lên không được dài hơn 24 giờ.

Quan trọng: ứng dụng KHÔNG ĐƯỢC giả định rằng máy chủ sẽ trả về cùng một khoảng thời gian lưu vào bộ nhớ đệm cho tất cả các phản hồi. Máy chủ CÓ THỂ chọn thời lượng lưu vào bộ nhớ đệm khác nhau cho các phản hồi khác nhau tuỳ thuộc vào tình huống.

SizeConstraints

Các điều kiện ràng buộc về kích thước của danh sách băm.

Trường
max_update_entries

int32

Kích thước tối đa tính theo số mục nhập. Bản cập nhật sẽ không chứa nhiều mục hơn giá trị này, nhưng có thể bản cập nhật sẽ chứa ít mục hơn giá trị này. Giá trị này PHẢI có ít nhất là 1024. Nếu bạn bỏ qua hoặc đặt thành 0, thì sẽ không có giới hạn về kích thước bản cập nhật.

max_database_entries

int32

Đặt số lượng mục tối đa mà ứng dụng muốn có trong cơ sở dữ liệu cục bộ cho danh sách. (Máy chủ CÓ THỂ khiến máy khách lưu trữ ít hơn số mục này.) Nếu bạn bỏ qua hoặc đặt thành 0, thì sẽ không có giới hạn về kích thước cơ sở dữ liệu.

ThreatAttribute

Thuộc tính của các mối đe doạ. Các thuộc tính này có thể mang thêm ý nghĩa cho một mối đe doạ cụ thể nhưng sẽ không ảnh hưởng đến loại mối đe doạ. Ví dụ: một thuộc tính có thể chỉ định độ tin cậy thấp hơn trong khi một thuộc tính khác có thể chỉ định độ tin cậy cao hơn. Sau này, chúng tôi có thể thêm các thuộc tính khác.

Enum
THREAT_ATTRIBUTE_UNSPECIFIED Thuộc tính không xác định. Nếu máy chủ trả về giá trị này, thì ứng dụng sẽ hoàn toàn bỏ qua FullHashDetail bao quanh.
CANARY Cho biết rằng không nên sử dụng threat_type để thực thi.
FRAME_ONLY Cho biết rằng threat_type chỉ nên được dùng để thực thi trên các khung hình.

ThreatType

Các loại mối đe doạ.

Enum
THREAT_TYPE_UNSPECIFIED Loại mối đe doạ không xác định. Nếu máy chủ trả về giá trị này, thì ứng dụng sẽ hoàn toàn bỏ qua FullHashDetail bao quanh.
MALWARE

Loại mối đe doạ phần mềm độc hại. Phần mềm độc hại là những phần mềm hay ứng dụng dành cho thiết bị di động được thiết kế riêng biệt nhằm gây hại cho máy tính, thiết bị di động, phần mềm mà máy tính/thiết bị di động đang chạy hoặc người dùng. Phần mềm độc hại thực hiện những hành vi độc hại, chẳng hạn như cài đặt phần mềm khi người dùng chưa đồng ý và cài đặt những phần mềm có hại như vi-rút.

Bạn có thể tìm thêm thông tin tại đây.

SOCIAL_ENGINEERING

Loại mối đe doạ tấn công phi kỹ thuật. Các trang tấn công phi kỹ thuật giả mạo là hành vi thay mặt cho bên thứ ba nhằm mục đích khiến người xem nhầm lẫn và thực hiện một hành động mà người xem chỉ tin tưởng một đặc vụ thực sự của bên thứ ba đó. Lừa đảo là một loại tấn công phi kỹ thuật nhằm lừa người xem thực hiện hành động cụ thể là cung cấp thông tin, chẳng hạn như thông tin đăng nhập.

Bạn có thể tìm thêm thông tin tại đây.

UNWANTED_SOFTWARE Loại mối đe doạ là phần mềm không mong muốn. Phần mềm không mong muốn là bất kỳ phần mềm nào không tuân thủ Nguyên tắc về phần mềm của Google nhưng không phải là phần mềm độc hại.
POTENTIALLY_HARMFUL_APPLICATION Loại mối đe doạ ứng dụng có khả năng gây hại do Google Play Protect sử dụng cho Cửa hàng Play.

ThreatUrl

Một URL khớp với một hoặc nhiều mối đe doạ.

Trường
url

string

URL được yêu cầu đã được so khớp với một hoặc nhiều mối đe doạ.

threat_types[]

ThreatType

Danh sách không theo thứ tự. Danh sách mối đe doạ không theo thứ tự mà URL được phân loại.