Package google.security.safebrowsing.v4

ดัชนี

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 ออกแบบมาสำหรับลูกค้ารายเล็กของเรา และช่วยให้ลูกค้าจับคู่ทรัพยากรกับรายการภัยคุกคามของ Google Safe Browsing ได้โดยตรงผ่านเมธอด FindThreatMatches

ไคลเอ็นต์ที่ใช้ Update API หรือ Lookup API สามารถดูรายการภัยคุกคามจาก Google Safe Browsing ที่พร้อมให้ดาวน์โหลดผ่านเมธอด ListThreatLists

{-- TRUSTED_THREAT_REPORTER: Trusted threat clients can submit reports to Google for analysis via the SubmitThreatReport method. --}

FetchThreatListUpdates

rpc FetchThreatListUpdates(FetchThreatListUpdatesRequest) returns (FetchThreatListUpdatesResponse)

ดึงข้อมูลการอัปเดตรายการภัยคุกคามล่าสุด ไคลเอ็นต์สามารถขอการอัปเดตสำหรับหลายรายการพร้อมกันได้

FindFullHashes

rpc FindFullHashes(FindFullHashesRequest) returns (FindFullHashesResponse)

ค้นหาแฮชแบบเต็มซึ่งตรงกับคำนำหน้าแฮชที่ขอ

FindThreatMatches

rpc FindThreatMatches(FindThreatMatchesRequest) returns (FindThreatMatchesResponse)

ค้นหารายการภัยคุกคามที่ตรงกับรายการ Google Safe Browsing

ListThreatLists

rpc ListThreatLists(Empty) returns (ListThreatListsResponse)

แสดงรายการภัยคุกคามของ Google Safe Browsing ที่พร้อมให้ดาวน์โหลด

ตรวจสอบข้อผิดพลาด

สถานะที่คาดไว้ของฐานข้อมูลในเครื่องของลูกค้า

ช่อง
sha256

bytes

แฮช SHA256 ของสถานะไคลเอ็นต์ ซึ่งก็คือรายการแฮชทั้งหมดที่จัดเรียงอยู่ในฐานข้อมูล

ClientInfo

ข้อมูลเมตาไคลเอ็นต์ที่เชื่อมโยงกับคำขอ Safe Browsing API

ช่อง
client_id

string

รหัสไคลเอ็นต์ที่ (หวังว่า) จะระบุการติดตั้งใช้งานไคลเอ็นต์ของ Safe Browsing API โดยไม่ซ้ำกัน

client_version

string

เวอร์ชันการติดตั้งใช้งานไคลเอ็นต์

CompressionType

วิธีบีบอัดชุดรายการภัยคุกคาม

Enum
COMPRESSION_TYPE_UNSPECIFIED ไม่รู้จัก
RAW ข้อมูลดิบที่ไม่ได้บีบอัด
RICE ข้อมูลที่เข้ารหัสด้วย Rice-Golomb

FetchThreatListUpdatesRequest

อธิบายคำขออัปเดต Safe Browsing API ลูกค้าสามารถขอการอัปเดตรายการหลายรายการในคําขอเดียว เซิร์ฟเวอร์อาจไม่ตอบกลับคําขอทั้งหมด หากไม่มีข้อมูลอัปเดตสำหรับรายการนั้น หมายเหตุ: ไม่ได้ใช้ดัชนีฟิลด์ 2 ถัดไป: 5

ช่อง
client

ClientInfo

ข้อมูลเมตาของไคลเอ็นต์

list_update_requests[]

ListUpdateRequest

การอัปเดตรายการภัยคุกคามที่ขอ

ListUpdateRequest

คำขออัปเดตรายการรายการเดียว

ช่อง
threat_type

ThreatType

ประเภทภัยคุกคามที่เกิดจากรายการในรายการ

platform_type

PlatformType

ประเภทแพลตฟอร์มที่มีความเสี่ยงตามรายการที่อยู่ในรายการ

threat_entry_type

ThreatEntryType

ประเภทของรายการที่อยู่ในรายการ

state

bytes

สถานะปัจจุบันของไคลเอ็นต์สําหรับรายการที่ขอ (สถานะไคลเอ็นต์ที่เข้ารหัสที่ได้รับจากการอัปเดตรายการครั้งล่าสุดที่ประสบความสําเร็จ)

constraints

Constraints

ข้อจำกัดที่เชื่อมโยงกับคำขอนี้

ข้อจำกัด

ข้อจำกัดของการอัปเดตนี้

ช่อง
max_update_entries

int32

จํานวนรายการสูงสุด การอัปเดตจะมีรายการไม่เกินค่านี้ ค่านี้ควรเป็นเลขยกกำลัง 2 ระหว่าง 2**10 ถึง 2**20 หากเป็น 0 แสดงว่าไม่ได้ตั้งค่าขีดจํากัดขนาดการอัปเดต

max_database_entries

int32

กำหนดจำนวนรายการสูงสุดที่ไคลเอ็นต์ต้องการให้มีในฐานข้อมูลในเครื่องสำหรับรายการที่ระบุ ค่านี้ควรเป็นเลขยกกำลัง 2 ระหว่าง 2**10 ถึง 2**20 หากเป็น 0 แสดงว่าไม่มีการจำกัดขนาดฐานข้อมูล

region

string

ขอรายการสำหรับสถานที่ตั้งทางภูมิศาสตร์ที่เฉพาะเจาะจง หากไม่ได้ตั้งค่า เซิร์ฟเวอร์อาจเลือกค่านั้นตามที่อยู่ IP ของผู้ใช้ คาดหวังรูปแบบ ISO 3166-1 alpha-2

supported_compressions[]

CompressionType

ประเภทการบีบอัดที่ไคลเอ็นต์รองรับ

language

string

ขอรายการสำหรับภาษาที่เฉพาะเจาะจง คาดหวังรูปแบบ ISO 639 alpha-2

device_location

string

สถานที่ตั้งจริงของลูกค้าที่แสดงเป็นรหัสภูมิภาค ISO 31166-1 alpha-2

FetchThreatListUpdatesResponse

ช่อง
list_update_responses[]

ListUpdateResponse

การอัปเดตรายการที่ลูกค้าขอ จำนวนการตอบกลับที่นี่อาจน้อยกว่าจำนวนคำขอที่ส่งโดยไคลเอ็นต์ ตัวอย่างเช่น ในกรณีที่เซิร์ฟเวอร์ไม่มีการอัปเดตสำหรับรายการหนึ่งๆ

minimum_wait_duration

Duration

ระยะเวลาขั้นต่ำที่ไคลเอ็นต์ต้องรอก่อนที่จะส่งคำขออัปเดต หากไม่ได้ตั้งค่าช่องนี้ ลูกค้าจะอัปเดตได้ทันทีที่ต้องการ

ListUpdateResponse

การอัปเดตรายการเดียว

ช่อง
threat_type

ThreatType

ประเภทภัยคุกคามที่จะแสดงข้อมูล

threat_entry_type

ThreatEntryType

รูปแบบของภัยคุกคาม

platform_type

PlatformType

ประเภทแพลตฟอร์มที่จะแสดงผลข้อมูล

response_type

ResponseType

ประเภทของคำตอบ ซึ่งอาจบ่งบอกว่าลูกค้าต้องดำเนินการเมื่อได้รับการตอบกลับ

additions[]

ThreatEntrySet

ชุดรายการที่จะเพิ่มลงในรายการประเภทภัยคุกคามในระบบ ใช้ซ้ำเพื่อให้ส่งข้อมูลแบบบีบอัดและข้อมูลดิบรวมกันในคำตอบเดียวได้

removals[]

ThreatEntrySet

ชุดรายการที่จะนำออกจากรายการประเภทภัยคุกคามในระบบ ในทางปฏิบัติ ช่องนี้จะว่างเปล่าหรือมี ThreatEntrySet เพียงรายการเดียว

new_client_state

bytes

สถานะไคลเอ็นต์ใหม่ในรูปแบบที่เข้ารหัส ลูกค้ามองไม่เห็น

checksum

Checksum

แฮช SHA256 ที่คาดไว้ของรัฐไคลเอ็นต์ ซึ่งก็คือรายการแฮชทั้งหมดที่จัดเรียงอยู่ในฐานข้อมูลหลังจากใช้การอัปเดตที่ระบุ หากสถานะไคลเอ็นต์ไม่ตรงกับสถานะที่คาดไว้ ลูกค้าต้องไม่สนใจการอัปเดตนี้และลองอีกครั้งในภายหลัง

ResponseType

ประเภทของคำตอบที่ส่งไปยังไคลเอ็นต์

Enum
RESPONSE_TYPE_UNSPECIFIED ไม่รู้จัก
PARTIAL_UPDATE การอัปเดตบางส่วนจะมีผลกับฐานข้อมูลในเครื่องที่มีอยู่ของลูกค้า
FULL_UPDATE การอัปเดตทั้งหมดจะแทนที่ฐานข้อมูลในเครื่องทั้งหมดของลูกค้า ซึ่งหมายความว่าไคลเอ็นต์ล้าสมัยมากหรือเชื่อว่าไคลเอ็นต์เสียหาย

FindFullHashesRequest

คำขอแสดงผลแฮชแบบเต็มซึ่งตรงกับคำนำหน้าแฮชที่ระบุ

ช่อง
client

ClientInfo

ข้อมูลเมตาของไคลเอ็นต์

client_states[]

bytes

สถานะปัจจุบันของลูกค้าสำหรับรายการภัยคุกคามในเครื่องของลูกค้าแต่ละราย

threat_info

ThreatInfo

รายการและแฮชที่จะตรวจสอบ

api_client

ClientInfo

ข้อมูลเมตาไคลเอ็นต์ที่เชื่อมโยงกับผู้เรียก API ระดับที่สูงขึ้นซึ่งสร้างขึ้นจากการติดตั้งใช้งานไคลเอ็นต์

FindFullHashesResponse

ช่อง
matches[]

ThreatMatch

แฮชแบบเต็มซึ่งตรงกับคำนำหน้าที่ขอ

minimum_wait_duration

Duration

ระยะเวลาขั้นต่ำที่ไคลเอ็นต์ต้องรอก่อนที่จะส่งคำขอค้นหาแฮช หากไม่ได้ตั้งค่าช่องนี้ ลูกค้าจะส่งคำขอได้ทันทีที่ต้องการ

negative_cache_duration

Duration

สำหรับเอนทิตีที่ขอซึ่งไม่ตรงกับรายการภัยคุกคาม ระยะเวลาในการแคชการตอบกลับ

FindThreatMatchesRequest

คำขอตรวจสอบรายการต่างๆ กับรายการ

ช่อง
client

ClientInfo

ข้อมูลเมตาของไคลเอ็นต์

threat_info

ThreatInfo

รายการและรายการที่จะตรวจสอบการจับคู่

FindThreatMatchesResponse

ช่อง
matches[]

ThreatMatch

รายการภัยคุกคามตรงกัน

ListThreatListsResponse

ช่อง
threat_lists[]

ThreatListDescriptor

รายการที่ลูกค้าดาวน์โหลดได้

PlatformType

ประเภทแพลตฟอร์ม

Enum
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

int32

จํานวนไบต์ของคำนำหน้าแต่ละรายการที่เข้ารหัสไว้ด้านล่าง ช่องนี้มีความยาวได้ตั้งแต่ 4 (คำนำหน้าสั้นที่สุด) ถึง 32 (แฮช SHA256 แบบเต็ม)

raw_hashes

bytes

แฮชในรูปแบบไบนารีที่ต่อกันเป็นสตริงยาวๆ 1 รายการ ระบบจะจัดเรียงแฮชตามลําดับพจนานุกรม สำหรับผู้ใช้ JSON API จะมีการเข้ารหัสแฮชเป็น Base64

RawIndices

ชุดดัชนีดิบที่จะนําออกจากรายการในเครื่อง

ช่อง
indices[]

int32

ดัชนีที่จะนำออกจากรายการในเครื่องที่จัดเรียงตามลําดับตัวอักษร

RiceDeltaEncoding

ข้อมูลที่เข้ารหัสด้วย Rice-Golomb ใช้สำหรับส่งแฮช 4 ไบต์ที่บีบอัดหรือดัชนีการนำออกที่บีบอัด

ช่อง
first_value

int64

ส่วนเพิ่มของรายการแรกในข้อมูลที่เข้ารหัส หรือค่าของจำนวนเต็มรายการเดียวหากมีการเข้ารหัสจำนวนเต็มรายการเดียวเท่านั้น หากช่องว่างเปล่าหรือไม่มีอยู่ ระบบจะถือว่าค่าเป็น 0

rice_parameter

int32

พารามิเตอร์ Golomb-Rice ซึ่งเป็นตัวเลขระหว่าง 2 ถึง 28 ช่องนี้ไม่มีค่า (นั่นคือเป็น 0) หาก num_entries เป็น 0

num_entries

int32

จํานวนรายการที่เข้ารหัส Delta ในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มที่เดียว ค่านี้จะเท่ากับ 0 และระบบจะจัดเก็บค่าเดียวใน first_value

encoded_data

bytes

เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้โปรแกรมเข้ารหัส Golomb-Rice

ThreatEntry

ภัยคุกคามแต่ละรายการ เช่น URL ที่เป็นอันตรายหรือการแสดงผลแฮชของ URL ดังกล่าว คุณควรตั้งค่าเพียงช่องใดช่องหนึ่งเท่านั้น

ช่อง
hash

bytes

คำนำหน้าแฮชที่ประกอบด้วยไบต์ที่มีนัยสำคัญที่สุด 4-32 ไบต์ของแฮช SHA256 ช่องนี้เป็นรูปแบบไบนารี สำหรับคำขอ JSON ระบบจะเข้ารหัสแฮชเป็น Base64

url

string

URL

digest

bytes

ข้อมูลสรุปของไฟล์ปฏิบัติการในรูปแบบ SHA256 API รองรับทั้งข้อมูลสรุปแบบไบนารีและฐาน 16 สำหรับคำขอ JSON ข้อมูลสรุปจะเข้ารหัสฐาน 64

ThreatEntryMetadata

ข้อมูลเมตาที่เชื่อมโยงกับรายการภัยคุกคามหนึ่งๆ ลูกค้าควรทราบคู่คีย์/ค่าข้อมูลเมตาที่เชื่อมโยงกับภัยคุกคามแต่ละประเภท

ช่อง
entries[]

MetadataEntry

รายการข้อมูลเมตา

MetadataEntry

รายการข้อมูลเมตารายการเดียว

ช่อง
key

bytes

คีย์รายการข้อมูลเมตา สําหรับคําขอ JSON คีย์จะเข้ารหัส Base64

value

bytes

ค่ารายการข้อมูลเมตา สําหรับคําขอ JSON ค่าจะเข้ารหัส Base64

ThreatEntrySet

ชุดภัยคุกคามที่ควรเพิ่มหรือนําออกจากฐานข้อมูลในเครื่องของลูกค้า

ช่อง
compression_type

CompressionType

ประเภทการบีบอัดสำหรับรายการในชุดนี้

raw_hashes

RawHashes

รายการในรูปแบบ SHA256 ดิบ

raw_indices

RawIndices

ดัชนีการนําออกดิบของรายการในเครื่อง

rice_hashes

RiceDeltaEncoding

ส่วนหน้า 4 ไบต์ที่เข้ารหัสของรายการรูปแบบ SHA256 โดยใช้การเข้ารหัส Golomb-Rice ระบบจะแปลงแฮชเป็น uint32 จัดเรียงจากน้อยไปมาก จากนั้นเข้ารหัส Delta และจัดเก็บเป็น encoded_data

rice_indices

RiceDeltaEncoding

ดัชนีรายการที่เข้ารหัสในเครื่องซึ่งจัดเรียงตามลําดับอักขระโดยใช้การเข้ารหัส Golomb-Rice ใช้สำหรับส่งดัชนีการนำออกแบบบีบอัด ดัชนีการนําออก (uint32) จะจัดเรียงจากน้อยไปมาก จากนั้นเข้ารหัส Delta และจัดเก็บเป็น encoded_data

ThreatEntryType

ประเภทของรายการที่เป็นภัยคุกคาม รายการภัยคุกคามคือคอลเล็กชันรายการประเภทเดียว

Enum
THREAT_ENTRY_TYPE_UNSPECIFIED ไม่ระบุ
URL URL
EXECUTABLE โปรแกรมที่ปฏิบัติการได้

ThreatInfo

ข้อมูลเกี่ยวกับภัยคุกคามอย่างน้อย 1 รายการที่ไคลเอ็นต์ส่งเมื่อตรวจสอบรายการที่ตรงกันในรายการภัยคุกคาม

ช่อง
threat_types[]

ThreatType

ประเภทภัยคุกคามที่ควรตรวจสอบ

platform_types[]

PlatformType

ประเภทแพลตฟอร์มที่จะตรวจสอบ

threat_entry_types[]

ThreatEntryType

ประเภทรายการที่จะตรวจสอบ

threat_entries[]

ThreatEntry

รายการภัยคุกคามที่จะตรวจสอบ

ThreatListDescriptor

อธิบายรายการภัยคุกคามแต่ละรายการ รายการจะกำหนดโดยพารามิเตอร์ 3 รายการ ได้แก่ ประเภทภัยคุกคาม ประเภทแพลตฟอร์มที่เป็นเป้าหมายของภัยคุกคาม และประเภทของรายการในรายการ

ช่อง
threat_type

ThreatType

ประเภทภัยคุกคามที่เกิดจากรายการ

platform_type

PlatformType

ประเภทแพลตฟอร์มที่รายการกำหนดเป้าหมาย

threat_entry_type

ThreatEntryType

ประเภทรายการที่อยู่ในรายการ

ThreatMatch

การจับคู่เมื่อตรวจสอบรายการภัยคุกคามในรายการภัยคุกคามของ Google Safe Browsing

ช่อง
threat_type

ThreatType

ประเภทภัยคุกคามที่ตรงกับภัยคุกคามนี้

platform_type

PlatformType

ประเภทแพลตฟอร์มที่ตรงกับภัยคุกคามนี้

threat_entry_type

ThreatEntryType

ประเภทรายการภัยคุกคามที่ตรงกับภัยคุกคามนี้

threat

ThreatEntry

ภัยคุกคามที่ตรงกับภัยคุกคามนี้

threat_entry_metadata

ThreatEntryMetadata

ข้อมูลเมตาที่ไม่บังคับซึ่งเชื่อมโยงกับภัยคุกคามนี้

cache_duration

Duration

อายุการใช้งานแคชของรายการที่ตรงกันซึ่งแสดงผล ไคลเอ็นต์ต้องไม่แคชการตอบกลับนี้นานเกินระยะเวลานี้เพื่อหลีกเลี่ยงผลบวกลวง

ThreatType

ประเภทของภัยคุกคาม

Enum
THREAT_TYPE_UNSPECIFIED ไม่รู้จัก
MALWARE ประเภทภัยคุกคามจากมัลแวร์
SOCIAL_ENGINEERING ประเภทภัยคุกคามจากวิศวกรรมสังคม
UNWANTED_SOFTWARE ประเภทภัยคุกคามซอฟต์แวร์ไม่พึงประสงค์
POTENTIALLY_HARMFUL_APPLICATION ประเภทภัยคุกคามของแอปที่อาจเป็นอันตราย