Overview

Safe Browsing API ช่วยให้แอปพลิเคชันไคลเอ็นต์ของคุณตรวจสอบ URL แบบเรียลไทม์หรือแบบรายการเทียบกับรายการทรัพยากรบนเว็บที่ไม่ปลอดภัยของ Google ซึ่งมีการอัปเดตอยู่เป็นประจำ ตัวอย่างของแหล่งข้อมูลบนเว็บที่ไม่ปลอดภัย ได้แก่ เว็บไซต์วิศวกรรมสังคม (ฟิชชิงและเว็บไซต์หลอกลวง) และเว็บไซต์ที่เป็นโฮสต์ให้กับมัลแวร์หรือซอฟต์แวร์ที่ไม่พึงประสงค์ URL ที่พบในรายการ Google Safe Browsing จะถือว่าไม่ปลอดภัย

หากต้องการตรวจสอบว่า URL อยู่ในรายการ Google Safe Browsing หรือไม่ ไคลเอ็นต์สามารถใช้ urls.search หรือ hashes.search ก็ได้

มีอะไรใหม่

ความใหม่ของข้อมูล

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

เพื่อลดช่องว่างนี้ เราจึงเปิดตัวความสามารถในการเปลี่ยนโปรโตคอลให้เป็นตรวจสอบโดยค่าเริ่มต้นแทนโปรโตคอลอนุญาตโดยค่าเริ่มต้นที่เคยมีใน V4 โดยการเพิ่มความสามารถในการดาวน์โหลดรายการเว็บไซต์ที่น่าจะปลอดภัย ซึ่งเรียกว่า "แคชส่วนกลาง" หากไม่พบ URL ในแคชส่วนกลาง ไคลเอ็นต์ควรตรวจสอบกับ API เพื่อพิจารณาว่า URL เป็นภัยคุกคามหรือไม่

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

ความเป็นส่วนตัวของ IP

Safe Browsing API จะใช้ที่อยู่ IP สำหรับความต้องการด้านเครือข่ายที่จำเป็นและเพื่อวัตถุประสงค์ในการป้องกัน DoS เท่านั้น

เราได้เปิดตัว API ที่เกี่ยวข้องซึ่งเรียกว่า Safe Browsing Oblivious HTTP Gateway API เพื่อให้มั่นใจในความเป็นส่วนตัวมากยิ่งขึ้น ซึ่งใช้ Oblivious HTTP เพื่อซ่อนที่อยู่ IP ของผู้ใช้ปลายทางจาก Google โดยจะทำงานด้วยการให้บุคคลที่สามที่ไม่สมรู้ร่วมคิดจัดการคำขอของผู้ใช้ในเวอร์ชันที่เข้ารหัส แล้วส่งต่อคำขอดังกล่าวไปยัง Google ดังนั้นบุคคลที่สามจึงมีสิทธิ์เข้าถึงเฉพาะที่อยู่ IP และ Google มีสิทธิ์เข้าถึงเฉพาะเนื้อหาของคำขอ บุคคลที่สามดำเนินการรีเลย์ Oblivious HTTP (เช่น บริการนี้ของ Fastly) และ Google ดำเนินการเกตเวย์ Oblivious HTTP นี่คือ API ที่แสดงร่วมที่ไม่บังคับ เมื่อใช้ร่วมกับ Google Safe Browsing ระบบจะไม่ส่งที่อยู่ IP ของผู้ใช้ปลายทางไปยัง Google อีกต่อไป

ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบของ Safe Browsing Oblivious HTTP Gateway API

วิธีการค้นหา

มาดูวิธีการต่างๆ ที่ใช้ในการตรวจสอบ URL แบบเรียลไทม์กัน

urls.search

ช่วยให้แอปพลิเคชันไคลเอ็นต์ส่ง URL ไปยังบริการ Google Safe Browsing เพื่อตรวจสอบว่ามีภัยคุกคามที่เชื่อมโยงกับ URL หรือไม่

ข้อดี
  • การตรวจสอบ URL อย่างง่าย: คุณส่งคำขอพร้อม URL จริง และเซิร์ฟเวอร์จะตอบกลับด้วย URL พร้อมภัยคุกคามที่เกี่ยวข้อง (หากมี)
ข้อเสีย
  • ไม่มีการรักษา URL เป็นความลับ: คำขอมี URL ดิบที่กำลังตรวจสอบ

หากข้อดี/ข้อเสียตรงกับความต้องการของคุณ ให้พิจารณาใช้ urls.search เนื่องจากใช้งานง่าย

อ่านข้อกำหนดในการให้บริการของการใช้งานวิธีดังกล่าวเนื่องจากแตกต่างจาก hashes.search

hashes.search

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

ข้อดี
  • การรักษา URL เป็นความลับ: คำขอจะมีเฉพาะคำนำหน้าแฮช 4 ไบต์ของ URL ที่แฮช
  • ความเข้ากันได้: เนื่องจากไคลเอ็นต์จัดการการกำหนด URL Canonical และการแฮช วิธีนี้จึงผสานรวมกับโหมดที่ใช้ฐานข้อมูลในเครื่องได้อย่างราบรื่น เช่น โหมดเรียลไทม์และโหมดรายการในเครื่อง
ข้อเสีย
  • การตรวจสอบ URL ที่ซับซ้อน: คุณต้องทราบวิธีทำ Canonical URL, สร้างนิพจน์คำต่อท้าย/คำนำหน้า และคำนวณแฮช SHA256 เพื่อส่งคำขอไปยังเมธอดนี้ รวมถึงการเปรียบเทียบกับสำเนาในเครื่องของรายการที่ไม่ปลอดภัยหรือแคชส่วนกลาง

หากต้องการให้ความสำคัญกับความเป็นส่วนตัวของ URL และสนใจใช้โหมดเรียลไทม์หรือโหมดรายการในเครื่อง เราขอแนะนำให้ใช้ hashes.search

HashList วิธี

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

วิธีการเหล่านี้มีความสำคัญต่อการทำงานของโหมดเรียลไทม์และโหมดรายการในร้าน

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้เมธอดเหล่านี้ได้ที่หน้าฐานข้อมูลในเครื่อง

ตัวอย่างคำขอ

ส่วนนี้จะแสดงตัวอย่างบางส่วนของการใช้ HTTP API โดยตรงเพื่อเข้าถึงการท่องเว็บอย่างปลอดภัย โดยทั่วไป เราขอแนะนําให้ใช้การเชื่อมโยงภาษาที่สร้างขึ้นเนื่องจากจะจัดการการเข้ารหัสและการถอดรหัสโดยอัตโนมัติในวิธีที่สะดวก โปรดดูเอกสารประกอบสำหรับการเชื่อมโยงนั้น

ตัวอย่างคำขอ HTTP โดยใช้ urls.search

GET https://safebrowsing.googleapis.com/v5alpha1/urls:search?key=INSERT_YOUR_API_KEY_HERE&urls=testsafebrowsing.appspot.com/

ตัวอย่างคำขอ HTTP โดยใช้ hashes.search

GET https://safebrowsing.googleapis.com/v5/hashes:search?key=INSERT_YOUR_API_KEY_HERE&hashPrefixes=WwuJdQ

ตัวอย่างคำขอ HTTP โดยใช้ hashLists.batchGet

GET https://safebrowsing.googleapis.com/v5/hashLists:batchGet?key=INSERT_YOUR_API_KEY_HERE&names=se&names=mw-4b

เนื้อหาการตอบกลับทั้งหมดคือเพย์โหลดที่จัดรูปแบบ Protocol Buffer ซึ่งคุณสามารถถอดรหัสได้