ดัชนี
SafeBrowsing
(อินเทอร์เฟซ)BatchGetHashListsRequest
(ข้อความ)BatchGetHashListsResponse
(ข้อความ)FullHash
(ข้อความ)FullHash.FullHashDetail
(ข้อความ)GetHashListRequest
(ข้อความ)HashList
(ข้อความ)HashListMetadata
(ข้อความ)HashListMetadata.HashLength
(enum)LikelySafeType
(enum)ListHashListsRequest
(ข้อความ)ListHashListsResponse
(ข้อความ)RiceDeltaEncoded128Bit
(ข้อความ)RiceDeltaEncoded256Bit
(ข้อความ)RiceDeltaEncoded32Bit
(ข้อความ)RiceDeltaEncoded64Bit
(ข้อความ)SearchHashesRequest
(ข้อความ)SearchHashesResponse
(ข้อความ)SizeConstraints
(ข้อความ)ThreatAttribute
(enum)ThreatType
(enum)
SafeBrowsing
Safe Browsing API ช่วยให้ลูกค้าตรวจสอบทรัพยากรบนเว็บ (ส่วนใหญ่เป็น URL) เทียบกับรายการทรัพยากรบนเว็บที่ไม่ปลอดภัยของ Google ได้ ซึ่งมีการอัปเดตอยู่เป็นประจำ
BatchGetHashLists |
---|
รับรายการแฮชหลายรายการพร้อมกัน เป็นเรื่องปกติที่ไคลเอ็นต์จะต้องมีรายการแฮชหลายรายการ แนะนำให้ใช้วิธีการนี้มากกว่าการใช้เมธอด Get ปกติหลายครั้ง นี่คือเมธอด Get แบบกลุ่มมาตรฐาน ตามที่กำหนดโดย https://google.aip.dev/231 และเมธอด HTTP ก็เป็น GET เช่นกัน |
GetHashList |
---|
รับเนื้อหาล่าสุดของรายการแฮช รายการแฮชอาจอิงตามรายการภัยคุกคามหรือรายการที่ไม่ใช่ภัยคุกคาม เช่น แคชทั่วโลก ซึ่งเป็นเมธอด Get มาตรฐานตามที่กำหนดโดย https://google.aip.dev/131 และเมธอด HTTP ก็ใช้ GET เช่นกัน |
ListHashLists |
---|
แสดงรายการแฮช ใน API เวอร์ชัน 5 Google จะไม่นำรายการแฮชที่เคยส่งคืนมาด้วยวิธีนี้ออก วิธีนี้จะช่วยให้ไคลเอ็นต์ข้ามการใช้วิธีการนี้และทำฮาร์ดโค้ดรายการแฮชทั้งหมดที่ต้องการได้อย่างง่ายดาย ซึ่งเป็นเมธอดรายการมาตรฐานที่กำหนดโดย https://google.aip.dev/132 และเมธอด HTTP คือ GET |
SearchHashes |
---|
ค้นหาแฮชแบบเต็มที่ตรงกับคำนำหน้าที่ระบุ ซึ่งเป็นเมธอดที่กำหนดเองซึ่ง https://google.aip.dev/136 กำหนด (เมธอดที่กำหนดเองหมายถึงวิธีนี้มีชื่อที่กำหนดเองภายในระบบการตั้งชื่อ API ทั่วไปของ Google และไม่ได้หมายถึงการใช้เมธอด HTTP ที่กำหนดเอง) |
BatchGetHashListsRequest
คำขอรับรายการแฮชหลายรายการพร้อมกัน
ช่อง | |
---|---|
names[] |
ต้องระบุ ชื่อของรายการแฮชที่ต้องการ รายการนี้อาจเป็นรายการภัยคุกคาม หรืออาจเป็น Global Cache ชื่อต้องไม่ซ้ำ หากชื่อซ้ำกัน ไคลเอ็นต์จะพบข้อผิดพลาด |
version[] |
เวอร์ชันของรายการแฮชที่ไคลเอ็นต์มีอยู่แล้ว หากไคลเอ็นต์ดึงข้อมูลรายการแฮชเป็นครั้งแรก ควรเว้นช่องนี้ว่างไว้ ไม่เช่นนั้น ไคลเอ็นต์ควรจัดหาเวอร์ชันที่ได้รับจากเซิร์ฟเวอร์ก่อนหน้านี้ ไคลเอ็นต์ต้องไม่จัดการกับไบต์เหล่านั้น ไคลเอ็นต์ไม่จำเป็นต้องส่งเวอร์ชันในลำดับเดียวกันกับชื่อรายการที่เกี่ยวข้อง ไคลเอ็นต์อาจส่งคำขอในเวอร์ชันน้อยกว่าหรือมากกว่าที่มีชื่อ แต่ไคลเอ็นต์ต้องไม่ส่งหลายเวอร์ชันที่สอดคล้องกับชื่อเดียวกัน หากส่ง ไคลเอ็นต์จะพบข้อผิดพลาด หมายเหตุในอดีต: ใน API เวอร์ชัน 4 โดยใช้ชื่อว่า |
desired_hash_length |
ความยาวของคำนำหน้าแฮชที่ต้องการของแฮชที่แสดงผลในหน่วยไบต์ จากนั้นเซิร์ฟเวอร์จะส่งคืนคำนำหน้าแฮชทั้งหมดในความยาวที่ระบุนี้ รายการแฮชที่ต่างกันมีข้อกำหนดที่แตกต่างกันเกี่ยวกับค่าที่ยอมรับได้ของช่อง โดยเฉพาะอย่างยิ่งสำหรับ |
size_constraints |
ข้อจำกัดด้านขนาดในแต่ละรายการ หากไม่ระบุ จะไม่มีข้อจำกัดใดๆ โปรดทราบว่าขนาดที่แสดงนี้เป็นขนาดต่อรายการ ไม่ใช่ขนาดในรายการทั้งหมด |
BatchGetHashListsResponse
คำตอบที่มีรายการแฮชหลายรายการ
ช่อง | |
---|---|
hash_lists[] |
รายการแฮชในลำดับเดียวกันกับที่ระบุไว้ในคำขอ |
FullHash
แฮชแบบเต็มที่ระบุตรงกับรายการที่ตรงกันอย่างน้อย 1 รายการ
ช่อง | |
---|---|
full_hash |
แฮชแบบเต็มที่ตรงกัน นี่คือแฮช SHA256 ความยาวจะอยู่ที่ 32 ไบต์พอดี |
full_hash_details[] |
รายการที่ไม่เรียงลำดับ ช่องที่ซ้ำซึ่งระบุรายละเอียดที่เกี่ยวข้องกับแฮชแบบเต็มนี้ |
FullHashDetail
รายละเอียดเกี่ยวกับแฮชแบบเต็มที่ตรงกัน
หมายเหตุสำคัญเกี่ยวกับความเข้ากันได้ในอนาคต: เซิร์ฟเวอร์อาจเพิ่มประเภทภัยคุกคามและแอตทริบิวต์ของภัยคุกคามใหม่ได้ทุกเมื่อ ส่วนเพิ่มเติมดังกล่าวถือว่าเป็นการเปลี่ยนแปลงเวอร์ชันเล็กน้อย Google มีนโยบายที่จะไม่เปิดเผยหมายเลขเวอร์ชันย่อยใน API (โปรดดูนโยบายการกำหนดเวอร์ชันใน https://cloud.google.com/apis/design/versioning) ดังนั้นไคลเอ็นต์ต้องเตรียมรับข้อความ FullHashDetail
ที่มีค่า enum ของ ThreatType
หรือค่า enum ThreatAttribute
ที่ไคลเอ็นต์ถือว่าไม่ถูกต้อง ดังนั้น ลูกค้ามีหน้าที่ตรวจสอบความถูกต้องของค่า enum ของ ThreatType
และ ThreatAttribute
ทั้งหมด หากค่าใดค่าหนึ่งถือว่าไม่ถูกต้อง ไคลเอ็นต์จะต้องเพิกเฉยต่อข้อความ FullHashDetail
ทั้งหมด
ช่อง | |
---|---|
threat_type |
ประเภทของภัยคุกคาม ช่องนี้จะไม่ว่าง |
attributes[] |
รายการที่ไม่เรียงลำดับ แอตทริบิวต์เพิ่มเติมเกี่ยวกับแฮชแบบเต็มเหล่านั้น ส่วนนี้อาจว่างเปล่า |
GetHashListRequest
คําขอที่จะรับรายการแฮช ซึ่งอาจเป็นรายการภัยคุกคามหรือรายการที่ไม่ใช่ภัยคุกคาม เช่น เซิร์ฟเวอร์แคชทั่วโลก
มีอะไรใหม่ใน V5: ก่อนหน้านี้ states
ใน V4 เปลี่ยนชื่อเป็น version
เพื่อความชัดเจน ตอนนี้เราได้ตั้งชื่อรายการแล้ว นำประเภทแพลตฟอร์มและประเภทรายการภัยคุกคามออก ตอนนี้รายการหลายรายการอาจมีภัยคุกคามประเภทเดียวกัน หรือรายการเดียวที่เกี่ยวข้องกับภัยคุกคามหลายประเภท ไคลเอ็นต์มีความสามารถใหม่ในการระบุความยาวแฮชที่ต้องการ นี่เป็นส่วนหนึ่งของคำตอบเกี่ยวกับคำนำหน้าแฮชที่มีความยาวตัวแปรของ V4 ซึ่งทำให้เกิดปัญหาในการใช้งานไคลเอ็นต์หลายอย่าง นั่นคือตอนนี้แฮชทั้งหมดในรายการจะมีความยาวเดียว ทำให้สามารถติดตั้งใช้งานไคลเอ็นต์ได้อย่างมีประสิทธิภาพมากขึ้น ลดความซับซ้อนของข้อจำกัดและนำประเภทการบีบอัดออก (มีการใช้การบีบอัดเสมอ)
ช่อง | |
---|---|
name |
ต้องระบุ ชื่อของรายการแฮชนี้ โดยอาจเป็นรายการภัยคุกคาม หรืออาจเป็น Global Cache |
version |
เวอร์ชันของรายการแฮชที่ไคลเอ็นต์มีอยู่แล้ว หากไคลเอ็นต์ดึงข้อมูลรายการแฮชเป็นครั้งแรก ช่องนี้ต้องเว้นว่างไว้ ไม่เช่นนั้น ไคลเอ็นต์ควรจัดหาเวอร์ชันที่ได้รับมาจากเซิร์ฟเวอร์ก่อนหน้านี้ ไคลเอ็นต์ต้องไม่จัดการกับไบต์เหล่านั้น มีอะไรใหม่ใน V5: ใน API เวอร์ชัน 4 โดยใช้ชื่อว่า |
desired_hash_length |
ความยาวของคำนำหน้าแฮชที่ต้องการของแฮชที่แสดงผลในหน่วยไบต์ จากนั้นเซิร์ฟเวอร์จะส่งคืนคำนำหน้าแฮชทั้งหมดในความยาวที่ระบุนี้ รายการแฮชที่ต่างกันมีข้อกำหนดที่แตกต่างกันเกี่ยวกับค่าที่ยอมรับได้ของช่อง |
size_constraints |
ข้อจำกัดด้านขนาดในรายการ หากไม่ระบุ จะไม่มีข้อจำกัดใดๆ ขอแนะนำให้ใช้ข้อจำกัดในอุปกรณ์ทั้งหมดที่ใช้พลังงานในการประมวลผล แบนด์วิดท์ หรือพื้นที่เก็บข้อมูลที่จำกัด |
HashList
รายการแฮชที่ระบุตามชื่อ
ช่อง | |
---|---|
name |
ชื่อของรายการแฮช โปรดทราบว่า Global Cache เป็นเพียงรายการแฮชที่สามารถอ้างอิงถึงได้ที่นี่ |
version |
เวอร์ชันของรายการแฮช ไคลเอ็นต์ต้องไม่จัดการกับไบต์เหล่านั้น |
partial_update |
เมื่อเป็นจริง นี่จะเป็นความแตกต่างบางส่วนที่มีการเพิ่มและการนำออกตามสิ่งที่ลูกค้ามีอยู่แล้ว เมื่อเป็นเท็จ นี่คือรายการแฮชทั้งหมด เมื่อเป็นเท็จ ไคลเอ็นต์จะต้องลบเวอร์ชันที่เก็บไว้ในเครื่องสำหรับรายการแฮชนี้ ซึ่งหมายความว่าเวอร์ชันที่ไคลเอ็นต์ใช้นั้นล้าสมัยเป็นอย่างมากหรือเชื่อว่าข้อมูลลูกค้าอาจเสียหาย ช่อง เมื่อเป็นจริง ไคลเอ็นต์จะต้องอัปเดตเพิ่มเติมโดยใช้การนำออกและการเพิ่ม |
compressed_removals |
ดัชนีนำออกเวอร์ชันที่เข้ารหัสแบบเดลต้าข้าว เนื่องจากรายการแฮชแต่ละรายการมีน้อยกว่า 2^32 รายการ ดัชนีจึงถือเป็นจํานวนเต็ม 32 บิตและมีการเข้ารหัส |
minimum_wait_duration |
ไคลเอ็นต์ควรรอนานเท่านี้จึงจะได้รายการแฮชอีกครั้ง หากไม่ระบุหรือเป็น 0 ไคลเอ็นต์ควรดึงข้อมูลทันทีเนื่องจากระบุว่าเซิร์ฟเวอร์มีการอัปเดตเพิ่มเติมที่จะส่งไปให้ไคลเอ็นต์ แต่ไม่สามารถทำได้เนื่องด้วยข้อจำกัดที่ไคลเอ็นต์ระบุ |
metadata |
ข้อมูลเมตาเกี่ยวกับรายการแฮช ค่านี้ไม่ได้สร้างขึ้นโดยเมธอด |
ฟิลด์สหภาพ compressed_additions เวอร์ชันเพิ่มเติมที่เข้ารหัสแบบ Rice-delta ความยาวของคำนำหน้าแฮชของการเพิ่มเติมจะเท่ากันในทุกส่วนเพิ่มเติมในรายการ ซึ่งจะเป็น desired_hash_length ที่ลูกค้าส่งมา หรือค่าที่เซิร์ฟเวอร์เลือกหากไคลเอ็นต์ละฟิลด์ดังกล่าวไป compressed_additions ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
additions_four_bytes |
ข้อมูลที่เพิ่มเข้ามาแบบ 4 ไบต์ |
additions_eight_bytes |
การเพิ่มเติม 8 ไบต์ |
additions_sixteen_bytes |
การเพิ่มเติมขนาด 16 ไบต์ |
additions_thirty_two_bytes |
ข้อมูลที่เพิ่มเข้ามาแบบ 32 ไบต์ |
ฟิลด์สหภาพ checksum นี่คือผลรวมตรวจสอบสำหรับรายการแฮชที่จัดเรียงของแฮชทั้งหมดที่มีอยู่ในฐานข้อมูลหลังจากนำการอัปเดตที่ระบุไปใช้ นี่คือช่อง "1of" สำหรับอนุญาตอัลกอริทึมการแฮชหลายรายการ นอกจากนี้ เซิร์ฟเวอร์ยังอาจข้ามช่องนี้ (ในกรณีที่ไม่มีการอัปเดต) เพื่อระบุว่าไคลเอ็นต์ควรใช้ checksum ที่มีอยู่ checksum ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
sha256_checksum |
รายการแฮชทั้งหมดที่จัดเรียงแล้ว ซึ่งแฮชอีกครั้งด้วย SHA256 |
HashListMetadata
ข้อมูลเมตาเกี่ยวกับรายการแฮชที่เฉพาะเจาะจง
ช่อง | |
---|---|
threat_types[] |
รายการที่ไม่เรียงลำดับ หากเป็นค่าว่าง จะระบุว่ารายการแฮชเป็นรายการภัยคุกคามประเภทหนึ่ง และจะระบุประเภทของภัยคุกคามที่เชื่อมโยงกับแฮชหรือคํานําหน้าแฮชในรายการแฮชนี้ อาจว่างเปล่าหากรายการนั้นไม่ได้แสดงถึงภัยคุกคาม เช่น ในกรณีที่แสดงถึงประเภทที่ปลอดภัย |
likely_safe_types[] |
รายการที่ไม่เรียงลำดับ หากไม่ว่างเปล่า จะระบุว่ารายการแฮชแสดงรายการของแฮชที่น่าจะปลอดภัย และแจกแจงวิธีที่ระบบพิจารณาว่าน่าจะปลอดภัย ช่องนี้แยกต่างหากพร้อมกับช่อง Threat_types |
mobile_optimized |
เพิ่มประสิทธิภาพรายการสำหรับอุปกรณ์เคลื่อนที่ (Android และ iOS) หรือไม่ |
description |
คำอธิบายที่มนุษย์อ่านได้เกี่ยวกับรายการนี้ เขียนเป็นภาษาอังกฤษ |
supported_hash_lengths[] |
ความยาวแฮชที่รองรับสำหรับรายการแฮชนี้ รายการแฮชแต่ละรายการจะรองรับความยาวได้อย่างน้อย 1 ความยาว ดังนั้นฟิลด์นี้จะว่างเปล่า |
HashLength
ความยาวของแฮชในรายการแฮช
Enum | |
---|---|
HASH_LENGTH_UNSPECIFIED |
ไม่ได้ระบุความยาว เซิร์ฟเวอร์จะไม่ส่งคืนค่านี้ในการตอบกลับไปยังไคลเอ็นต์ (ในช่อง supported_hash_lengths ) แต่ไคลเอ็นต์จะส่งค่านี้ไปยังเซิร์ฟเวอร์ได้ (ในช่อง desired_hash_length ) ซึ่งในกรณีนี้เซิร์ฟเวอร์จะเลือกค่าโดยอัตโนมัติ ไคลเอ็นต์ควรให้เซิร์ฟเวอร์เลือกค่า |
FOUR_BYTES |
แฮชแต่ละรายการจะเป็นคำนำหน้าแบบ 4 ไบต์ |
EIGHT_BYTES |
แฮชแต่ละรายการจะขึ้นต้นด้วย 8 ไบต์ |
SIXTEEN_BYTES |
แฮชแต่ละรายการจะขึ้นต้นด้วย 16 ไบต์ |
THIRTY_TWO_BYTES |
แฮชแต่ละรายการจะเป็นแฮชแบบเต็ม 32 ไบต์ |
LikelySafeType
ประเภทเว็บไซต์ที่น่าจะปลอดภัย
โปรดทราบว่า SearchHashesResponse
จงใจไม่มี LikelySafeType
Enum | |
---|---|
LIKELY_SAFE_TYPE_UNSPECIFIED |
ไม่รู้จัก |
GENERAL_BROWSING |
เว็บไซต์นี้น่าจะปลอดภัยเพียงพอสำหรับการท่องเว็บทั่วไป หรือเรียกอีกอย่างหนึ่งว่าแคชส่วนกลาง |
CSD |
เว็บไซต์นี้น่าจะปลอดภัยมากพอที่จะไม่จำเป็นต้องเรียกใช้โมเดลการตรวจจับฝั่งไคลเอ็นต์หรือการตรวจสอบการป้องกันด้วยรหัสผ่าน |
DOWNLOAD |
เว็บไซต์นี้น่าจะปลอดภัยมากพอที่จะไม่ต้องตรวจสอบการดาวน์โหลดจากเว็บไซต์ |
ListHashListsRequest
คำขอเพื่อแสดงรายการแฮชที่ใช้ได้
ช่อง | |
---|---|
page_size |
จำนวนรายการแฮชสูงสุดที่จะแสดงได้ บริการอาจแสดงผลน้อยกว่าค่านี้ หากไม่ระบุ เซิร์ฟเวอร์จะเลือกขนาดหน้า ซึ่งอาจมากกว่าจำนวนรายการแฮชเพื่อจะได้ไม่ต้องใส่เลขหน้า |
page_token |
โทเค็นของหน้าเว็บที่ได้รับจากการโทร |
ListHashListsResponse
คำตอบที่มีข้อมูลเมตาเกี่ยวกับรายการแฮช
ช่อง | |
---|---|
hash_lists[] |
รายการแฮชจะอยู่ในลำดับที่กำหนดเอง ระบบจะรวมเฉพาะข้อมูลเมตาเกี่ยวกับรายการแฮชเท่านั้น แต่จะไม่รวมเนื้อหา |
next_page_token |
โทเค็นที่ส่งเป็น |
การเข้ารหัส RiceDelta128 บิต
เหมือนกับ RiceDeltaEncoded32Bit
ยกเว้นว่ารายการนี้เข้ารหัสหมายเลข 128 บิต
ช่อง | |
---|---|
first_value_hi |
64 บิตบนของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องนี้ว่างเปล่า 64 บิตด้านบนจะเป็น 0 ทั้งหมด |
first_value_lo |
64 บิตล่างของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องนี้เว้นว่างไว้ 64 บิตล่างจะเป็น 0 ทั้งหมด |
rice_parameter |
พารามิเตอร์ Golomb-Rice พารามิเตอร์นี้รับประกันได้ว่าจะอยู่ระหว่าง 99 ถึง 126 |
entries_count |
จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มค่าเดียว ค่านี้จะเป็น 0 และจะเก็บค่าเดี่ยวไว้ใน |
encoded_data |
เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice |
RiceDeltaEncrypted256 บิต
เหมือนกับ RiceDeltaEncoded32Bit
ยกเว้นว่ารายการนี้เข้ารหัสหมายเลข 256 บิต
ช่อง | |
---|---|
first_value_first_part |
64 บิตแรกของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องนี้ว่างเปล่า 64 บิตแรกจะเป็น 0 ทั้งหมด |
first_value_second_part |
บิต 65 ถึง 128 บิตของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องนี้ว่างเปล่า บิตที่ 65 ถึง 128 บิตจะเป็น 0 ทั้งหมด |
first_value_third_part |
บิต 129 ถึง 192 บิตของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องนี้ว่างเปล่า บิต 129 ถึง 192 บิตจะเป็น 0 ทั้งหมด |
first_value_fourth_part |
64 บิตสุดท้ายของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากเว้นช่องนี้ว่างไว้ 64 บิตสุดท้ายจะเป็น 0 ทั้งหมด |
rice_parameter |
พารามิเตอร์ Golomb-Rice รับประกันได้ว่าพารามิเตอร์นี้อยู่ระหว่าง 227 ถึง 254 |
entries_count |
จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มค่าเดียว ค่านี้จะเป็น 0 และจะเก็บค่าเดี่ยวไว้ใน |
encoded_data |
เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice |
RiceDeltaEncrypted32 บิต
ข้อมูลที่เข้ารหัส Rice-Golomb ใช้สำหรับแฮชหรือดัชนีการลบ โดยจะรับประกันว่าแฮชหรือดัชนีทุกรายการในส่วนนี้มีความยาวเท่ากัน และความยาวคือ 32 บิตเท่านั้น
โดยทั่วไปแล้ว หากเราจัดเรียงรายการทั้งหมดแบบพจนานุกรม เราจะพบว่าบิตของลำดับที่สูงกว่าไม่มีการเปลี่ยนแปลงบ่อยเท่ากับบิตของลำดับที่ต่ำกว่า ซึ่งหมายความว่าหากเราใช้ผลต่างที่ใกล้เคียงกันระหว่างรายการด้วย บิตของลำดับที่สูงกว่าก็มีโอกาสที่จะเป็น 0 สูง การใช้ประโยชน์จากความน่าจะเป็นที่สูงนี้เป็น 0 ด้วยการเลือกจำนวนบิตที่กำหนด สำหรับบิตทั้งหมดที่สำคัญมากกว่านี้มีแนวโน้มที่จะเป็น 0 เราจึงใช้การเข้ารหัสแบบเอกนารี โปรดดูช่อง rice_parameter
หมายเหตุในอดีต: มีการใช้การเข้ารหัสแบบเดลต้าไรซ์เป็นครั้งแรกในเวอร์ชัน 4 ของ API นี้ ใน V5 ได้มีการปรับปรุงที่สำคัญ 2 อย่าง อย่างแรกคือการเข้ารหัสแบบเดลต้าข้าวพร้อมใช้งานกับคำนำหน้าแฮชที่ยาวกว่า 4 ไบต์ ประการที่ 2 จะถือว่าข้อมูลที่เข้ารหัสเป็นข้อมูลขนาดใหญ่ เพื่อหลีกเลี่ยงขั้นตอนการจัดเรียงที่มีค่าใช้จ่ายสูง
ช่อง | |
---|---|
first_value |
รายการแรกในข้อมูลที่เข้ารหัส (แฮชหรือดัชนี) หรือหากมีการเข้ารหัสคำนำหน้าแฮชหรือดัชนีเพียงค่าเดียว ค่าของรายการนั้น หากช่องนี้เว้นว่างไว้ รายการนั้นจะมีค่าเป็น 0 |
rice_parameter |
พารามิเตอร์ Golomb-Rice รับประกันได้ว่าพารามิเตอร์นี้อยู่ระหว่าง 3 ถึง 30 |
entries_count |
จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มค่าเดียว ค่านี้จะเป็น 0 และจะเก็บค่าเดี่ยวไว้ใน |
encoded_data |
เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice |
การเข้ารหัส RiceDelta64 บิต
เหมือนกับ RiceDeltaEncoded32Bit
ยกเว้นว่ารายการนี้เข้ารหัสหมายเลข 64 บิต
ช่อง | |
---|---|
first_value |
รายการแรกในข้อมูลที่เข้ารหัส (แฮช) หรือหากเข้ารหัสคำนำหน้าแฮชเพียงค่าเดียว ค่าของรายการนั้น หากช่องนี้เว้นว่างไว้ รายการนั้นจะมีค่าเป็น 0 |
rice_parameter |
พารามิเตอร์ Golomb-Rice รับประกันได้ว่าพารามิเตอร์นี้อยู่ระหว่าง 35 ถึง 62 |
entries_count |
จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มค่าเดียว ค่านี้จะเป็น 0 และจะเก็บค่าเดี่ยวไว้ใน |
encoded_data |
เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice |
SearchHashesRequest
คำขอที่ไคลเอ็นต์มีปัญหาในการค้นหาคำนำหน้าแฮชที่เจาะจง
ซึ่งออกแบบมาเพื่อค้นหาเฉพาะรายการภัยคุกคาม และไม่ค้นหารายการที่ไม่ใช่ภัยคุกคาม เช่น เซิร์ฟเวอร์แคชทั่วโลก
มีอะไรใหม่ใน V5: ไคลเอ็นต์ไม่จำเป็นต้องระบุ ClientInfo
หรือสถานะของรายการแฮชในฐานข้อมูลของเครื่อง ตัวเลือกนี้มีไว้เพื่อปรับปรุงความเป็นส่วนตัว นอกจากนี้ ลูกค้าไม่จำเป็นต้องส่งประเภทภัยคุกคามที่ตนสนใจ
ช่อง | |
---|---|
hash_prefixes[] |
ต้องระบุ คำนำหน้าแฮชที่ต้องค้นหา ไคลเอ็นต์ต้องไม่ส่งคำนำหน้าแฮชมากกว่า 1,000 รายการ แต่เมื่อทำตามขั้นตอนการประมวลผล URL ไคลเอ็นต์ไม่จำเป็นต้องส่งคำนำหน้าแฮชมากกว่า 30 รายการ ปัจจุบันคำนำหน้าแฮชแต่ละรายการต้องมีความยาว 4 ไบต์พอดี การเปลี่ยนแปลงนี้อาจผ่อนปรนในอนาคต |
filter |
ไม่บังคับ คุณสามารถระบุเงื่อนไขนี้ได้หากไคลเอ็นต์สนใจในการกรอง เช่น การดึงข้อมูลภัยคุกคามบางประเภทเท่านั้น หากไม่ระบุ ระบบจะแสดงผลภัยคุกคามที่ตรงกันทั้งหมด เราขอแนะนำอย่างยิ่งให้ข้ามส่วนนี้ไปเพื่อให้ได้รับการปกป้องที่สมบูรณ์ที่สุดที่ Google Safe Browsing มอบให้ ตัวกรองจะระบุโดยใช้ Common Expression Language ของ Google ซึ่งดูได้ที่ https://github.com/google/cel-spec พร้อมกับตัวอย่างทั่วไป ตัวอย่างบางส่วนที่ใช้ได้ที่นี่มีดังนี้ ตัวกรอง ตัวกรอง |
SearchHashesResponse
การตอบสนองที่แสดงหลังจากค้นหาแฮชของภัยคุกคาม
หากไม่พบอะไรเลย เซิร์ฟเวอร์จะแสดงสถานะ OK (รหัสสถานะ HTTP 200) พร้อมกับช่อง full_hashes
ที่ว่างเปล่า แทนที่จะส่งคืนสถานะ NOT_FOUND (รหัสสถานะ HTTP 404)
มีอะไรใหม่ใน V5: FullHash
และ FullHashDetail
แยกออกจากกัน ในกรณีที่แฮชแสดงถึงเว็บไซต์ที่มีภัยคุกคามหลายอย่าง (เช่น ทั้ง MALWARE และ SOCIAL_ENGINEERING) ไม่จำเป็นต้องส่งแฮชแบบเต็มเป็น 2 เท่าของเวอร์ชัน 4 นอกจากนี้ ได้ลดความซับซ้อนของระยะเวลาของแคชไว้ในช่อง cache_duration
เพียงช่องเดียว
ช่อง | |
---|---|
full_hashes[] |
รายการที่ไม่เรียงลำดับ พบรายการแฮชทั้งหมดแบบไม่เรียงลำดับ |
cache_duration |
ระยะเวลาของแคชฝั่งไคลเอ็นต์ ไคลเอ็นต์จะต้องเพิ่มระยะเวลานี้เป็นเวลาปัจจุบันเพื่อกำหนดเวลาหมดอายุ จากนั้นเวลาหมดอายุจะมีผลกับคำนำหน้าแฮชทั้งหมดที่ไคลเอ็นต์ค้นหาในคำขอ โดยไม่คำนึงถึงจำนวนแฮชแบบเต็มที่ตอบกลับในการตอบสนอง แม้ว่าเซิร์ฟเวอร์จะไม่แสดงผลแฮชแบบเต็มสำหรับคำนำหน้าแฮชที่เจาะจง แต่ไคลเอ็นต์จะต้องแคชข้อเท็จจริงนี้ไว้ด้วย หากช่อง ข้อสำคัญ: ไคลเอ็นต์ต้องไม่คิดไปเองว่าเซิร์ฟเวอร์จะส่งคืนระยะเวลาแคชเดียวกันสำหรับการตอบกลับทั้งหมด เซิร์ฟเวอร์อาจเลือกระยะเวลาแคชที่แตกต่างกันสำหรับการตอบสนองที่แตกต่างกันขึ้นอยู่กับสถานการณ์ |
SizeConstraints
ข้อจำกัดของขนาดของรายการแฮช
ช่อง | |
---|---|
max_update_entries |
จำนวนรายการสูงสุด การอัปเดตจะไม่มีรายการมากกว่าค่านี้ แต่ก็เป็นไปได้ว่าการอัปเดตจะมีรายการน้อยกว่าค่านี้ ค่านี้ต้องมีค่าอย่างน้อย 1024 หากไม่ระบุหรือเป็น 0 จะไม่มีการกำหนดขีดจำกัดขนาดของการอัปเดต |
max_database_entries |
ตั้งค่าจำนวนรายการสูงสุดที่ไคลเอ็นต์ต้องการให้มีในฐานข้อมูลของเครื่องสำหรับรายการ (เซิร์ฟเวอร์อาจทำให้ไคลเอ็นต์จัดเก็บข้อมูลน้อยกว่าจำนวนนี้) หากไม่ระบุหรือเป็น 0 จะไม่มีการกำหนดขีดจำกัดขนาดฐานข้อมูล |
ThreatAttribute
ลักษณะของภัยคุกคาม แอตทริบิวต์เหล่านี้อาจให้ความหมายเพิ่มเติมแก่ภัยคุกคามหนึ่งๆ ด้วย แต่จะไม่ส่งผลต่อประเภทของภัยคุกคาม เช่น แอตทริบิวต์อาจระบุความเชื่อมั่นต่ำกว่า แต่อีกแอตทริบิวต์หนึ่งอาจระบุความเชื่อมั่นที่สูงกว่า เราอาจเพิ่มแอตทริบิวต์อื่นๆ ในอนาคต
Enum | |
---|---|
THREAT_ATTRIBUTE_UNSPECIFIED |
แอตทริบิวต์ที่ไม่รู้จัก หากเซิร์ฟเวอร์ส่งคืนค่านี้ ไคลเอ็นต์จะเพิกเฉยต่อ FullHashDetail ที่รวมอยู่ทั้งหมด |
CANARY |
ระบุว่าไม่ควรใช้ Threat_type ในการบังคับใช้ |
FRAME_ONLY |
ระบุว่า Threat_type ควรใช้เพื่อบังคับใช้กับเฟรมเท่านั้น |
ThreatType
ประเภทของภัยคุกคาม
Enum | |
---|---|
THREAT_TYPE_UNSPECIFIED |
ไม่ทราบประเภทภัยคุกคาม หากเซิร์ฟเวอร์ส่งคืนค่านี้ ไคลเอ็นต์จะเพิกเฉยต่อ FullHashDetail ที่รวมอยู่ทั้งหมด |
MALWARE |
ประเภทภัยคุกคามมัลแวร์ มัลแวร์คือซอฟต์แวร์หรือแอปพลิเคชันบนอุปกรณ์เคลื่อนที่ใดๆ ก็ตามที่ออกแบบมาเพื่อสร้างความเสียหายแก่คอมพิวเตอร์ อุปกรณ์เคลื่อนที่ ซอฟต์แวร์ที่ทำงานอยู่ หรือผู้ใช้ซอฟต์แวร์นั้นๆ มัลแวร์มีลักษณะการทำงานที่เป็นอันตราย ซึ่งอาจรวมถึงการติดตั้งซอฟต์แวร์โดยไม่ได้รับคำยินยอมจากผู้ใช้ และการติดตั้งซอฟต์แวร์ที่เป็นอันตรายอย่างเช่น ไวรัส ดูข้อมูลเพิ่มเติมได้ที่นี่ |
SOCIAL_ENGINEERING |
ประเภทภัยคุกคามด้านวิศวกรรมสังคม หน้าวิศวกรรมสังคมที่แอบอ้างว่ากระทำการในนามของบุคคลที่สามโดยมีเจตนาสร้างความสับสนแก่ผู้ชมให้กระทำสิ่งที่ผู้ดูจะเชื่อถือตัวแทนที่แท้จริงของบุคคลที่สามนั้นเท่านั้น ฟิชชิงเป็นวิศวกรรมสังคมประเภทหนึ่งที่หลอกลวงผู้ชมให้ระบุข้อมูลเพื่อดำเนินการบางอย่าง เช่น ข้อมูลเข้าสู่ระบบ ดูข้อมูลเพิ่มเติมได้ที่นี่ |
UNWANTED_SOFTWARE |
ประเภทภัยคุกคามซอฟต์แวร์ไม่พึงประสงค์ ซอฟต์แวร์ไม่พึงประสงค์คือซอฟต์แวร์ที่ไม่ปฏิบัติตามแนวนโยบายด้านซอฟต์แวร์ของ Google แต่ไม่ใช่มัลแวร์ |
POTENTIALLY_HARMFUL_APPLICATION |
ประเภทภัยคุกคามแอปพลิเคชันที่อาจเป็นอันตรายตามที่ Google Play Protect ใช้สำหรับ Play Store |