Package google.security.safebrowsing.v4

ดัชนี

SafeBrowsing

Safe Browsing API ช่วยให้ลูกค้าตรวจสอบทรัพยากรบนเว็บ (ส่วนใหญ่เป็น URL) เทียบกับรายการทรัพยากรบนเว็บที่ไม่ปลอดภัยของ Google ได้ ซึ่งมีการอัปเดตอยู่เป็นประจำ Safe Browsing API (v4) มี Update API และ Lookup API

API การอัปเดตได้รับการออกแบบสำหรับลูกค้าขนาดใหญ่ของเรา และมีเมธอด FindFullHashes และ FetchThreatListUpdates API การอัปเดตกำหนดให้ไคลเอ็นต์ต้องเก็บรักษารายการภัยคุกคามที่ดาวน์โหลดไว้ในฐานข้อมูลของเครื่อง

โดยในขั้นแรก ไคลเอ็นต์จะจับคู่กับรายการในเครื่องเพื่อระบุสถานะ (ปลอดภัยหรือไม่ปลอดภัย) ของทรัพยากรเว็บหนึ่งๆ โดยส่วนใหญ่แล้ว รายการจะประกอบด้วยคำนำหน้าแฮชของนิพจน์ URL ที่ถูกขึ้นบัญชีดำ ในการตรวจสอบ URL ไคลเอ็นต์จะสร้างแฮชของ URL ที่ระบุและตรวจหาความขัดแย้งของคำนำหน้าในรายการในเครื่องของตน หากพบการจับคู่คำนำหน้า ไคลเอ็นต์จะได้รับแฮชแบบเต็มที่เชื่อมโยงกับคำนำหน้าแฮชที่ตรงกันผ่านเมธอด FindFullHashes จากนั้นไคลเอ็นต์จะเปรียบเทียบแฮชแบบเต็มในเครื่องกับแฮชแบบเต็มที่ส่งกลับมา โดยมีการจับคู่ที่ตรงกันแสดงให้เห็นว่า URL นี้ไม่ปลอดภัย

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

Lookup API ออกแบบมาสำหรับไคลเอ็นต์ขนาดเล็กของเรา และช่วยให้จับคู่ทรัพยากรกับรายการภัยคุกคามของ Google Safe Browsing ได้โดยตรงผ่านเมธอด FindThreatMatches

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

{-- TRUSTED_THREAT_REPORTER: ไคลเอ็นต์ภัยคุกคามที่เชื่อถือได้สามารถส่งรายงานให้ Google วิเคราะห์ผ่านเมธอด submitThreatReport --}

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

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

ช่อง
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 แฮชจะเข้ารหัสฐาน 64

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

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

encoded_data

bytes

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

ThreatEntry

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

ช่อง
hash

bytes

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

url

string

URL

digest

bytes

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

ThreatEntryMetadata

ข้อมูลเมตาที่เชื่อมโยงกับรายการภัยคุกคามที่เฉพาะเจาะจง ไคลเอ็นต์ควรทราบคู่คีย์/ค่าข้อมูลเมตาที่เชื่อมโยงกับภัยคุกคามแต่ละประเภท

ช่อง
entries[]

MetadataEntry

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

MetadataEntry

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

ช่อง
key

bytes

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

value

bytes

ค่ารายการข้อมูลเมตา สำหรับคำขอ JSON ค่าจะเข้ารหัสฐาน 64

ThreatEntrySet

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

ช่อง
compression_type

CompressionType

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

raw_hashes

RawHashes

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

raw_indices

RawIndices

ดัชนีการนำออกดิบสำหรับรายการท้องถิ่น

rice_hashes

RiceDeltaEncoding

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

rice_indices

RiceDeltaEncoding

ดัชนีรายการแบบจัดเรียงด้วยพจนานุกรมในเครื่องที่เข้ารหัสโดยใช้การเข้ารหัส Golomb-Rice ใช้สำหรับส่งดัชนีการลบที่บีบอัด ระบบจะจัดเรียงดัชนีการนำออก (uint32) ตามลำดับจากน้อยไปมาก จากนั้นมีการเข้ารหัสแบบเดลต้าและจัดเก็บเป็น encrypted_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 ประเภทภัยคุกคามแอปพลิเคชันที่อาจเป็นอันตราย