ממשקי Safe Browsing API מאפשרים לאפליקציות לקוח לבצע בדיקות של כתובות URL בזמן אמת או על סמך רשימות, מול רשימות של משאבי אינטרנט לא בטוחים ש-Google מעדכנת באופן שוטף. דוגמאות למשאבי אינטרנט לא בטוחים הם אתרים של הנדסה חברתית (פישינג ואתרים מטעים) ואתרים שמארחים תוכנות זדוניות או תוכנות לא רצויות. כל כתובת URL שנמצאת ברשימה של הגלישה הבטוחה נחשבת ללא בטוחה.
כדי לקבוע אם כתובת URL מופיעה באחת מרשימות הגלישה הבטוחה, לקוחות יכולים להשתמש ב-urls.search או ב-hashes.search.
מה חדש?
עדכניות הנתונים
באופן מסורתי, לקוחות של הגלישה הבטוחה מורידים מעת לעת רשימות של איומים שמשמשות להתאמה לאיומים פוטנציאליים. עם הזמן, נפחי האיומים וקצב ההתקדמות במשפך השיווק שלהם גדלו, ולכן רשימות האיומים המקומיות האלה הפכו לפחות יעילות נגד איומים מודרניים.
כדי לצמצם את הפער הזה, אנחנו מציגים את האפשרות להעביר פרוטוקולים לסימון כברירת מחדל במקום פרוטוקול ההרשאה כברירת מחדל שהיה זמין בעבר בגרסה 4. השינוי הזה מתבצע באמצעות הוספת האפשרות להוריד רשימה של אתרים שסביר להניח שהם לא מזיקים, שנקראת 'מטמון גלובלי'. אם כתובת URL לא נמצאת במטמון הגלובלי, הלקוח צריך לבצע בדיקה באמצעות ה-API כדי לקבוע אם כתובת ה-URL היא איום.
היכולת לבצע בדיקות כברירת מחדל, בנוסף לשיפור עדכניות הנתונים בשירות, תספק הגנה מהירה יותר מפני איומים חדשים, כמעט בזמן אמת.
פרטיות של כתובת IP
ממשק Safe Browsing API משתמש בכתובות ה-IP רק לצורכי רשת חיוניים ולמטרות הגנה מפני מתקפות DoS.
השקנו ממשק API נלווה שנקרא Safe Browsing Oblivious HTTP Gateway API כדי לספק ערבויות נוספות לפרטיות. השיטה הזו משתמשת ב-Oblivious HTTP כדי להסתיר את כתובות ה-IP של משתמשי הקצה מ-Google. השיטה הזו פועלת כך שצד שלישי שלא משתף פעולה עם Google מטפל בגרסה מוצפנת של בקשת המשתמש, ואז מעביר אותה ל-Google. לכן, לצד השלישי יש גישה רק לכתובות ה-IP, ול-Google יש גישה רק לתוכן הבקשה. הצד השלישי מפעיל ממסר Oblivious HTTP (כמו השירות הזה של Fastly), ו-Google מפעילה את שער Oblivious HTTP. זהו API אופציונלי נלווה. כשמשתמשים בו בשילוב עם הגלישה הבטוחה של Google, כתובות ה-IP של משתמשי הקצה לא נשלחות יותר אל Google.
פרטים נוספים זמינים במסמכי העזרה בנושא Safe Browsing Oblivious HTTP Gateway API.
שיטות חיפוש
במאמר הזה נסביר על השיטות השונות שזמינות לביצוע בדיקות בזמן אמת של כתובות URL.
urls.search
מאפשרת לאפליקציות לקוח לשלוח כתובות URL לשירות הגלישה הבטוחה כדי לבדוק אם יש איומים שמשויכים לכתובות ה-URL.
יתרונות
- בדיקות פשוטות של כתובות URL: אתם שולחים בקשה עם כתובות ה-URL בפועל, והשרת מגיב עם כתובות ה-URL והאיומים שמשויכים אליהן (אם יש כאלה).
חסרונות
- אין סודיות של כתובות URL: הבקשה מכילה את כתובות ה-URL הגולמיות שנבדקות.
אם היתרונות והחסרונות מתאימים לדרישות שלכם, כדאי להשתמש ב-urls.search כי הוא פשוט לשימוש.
חשוב לעיין בתנאים ובהגבלות של השימוש בשיטה, כי הם שונים מאלה של hashes.search.
hashes.search
מאפשר לאפליקציות לקוח לבדוק אם יש איומים מוכרים בקבוצה של כתובות URL בלי לחשוף את כתובות ה-URL בפועל לשירות. כדי לעשות את זה, מספקים רק את תחילית הגיבוב של כתובת ה-URL. התשובה תכיל גיבובים מלאים של איומים מוכרים עם קידומת הגיבוב של הרסיס.
יתרונות
- סודיות כתובת ה-URL: בבקשה מופיעה רק קידומת הגיבוב של כתובת ה-URL, באורך 4 בייט.
- תאימות: מכיוון שהלקוח מטפל בגיבוב ובקנוניזציה של כתובות URL, השיטה הזו משתלבת בצורה חלקה עם מצבים שמשתמשים במסד נתונים מקומי, כמו מצב בזמן אמת ומצב רשימה מקומית.
חסרונות
- בדיקות מורכבות של כתובות URL: כדי לשלוח בקשות לשיטה הזו ולהשוות אותן לעותקים המקומיים של רשימות הכתובות הלא בטוחות או למטמון הגלובלי, צריך לדעת איך להפוך כתובות URL לקנוניות, ליצור ביטויי סיומת או קידומת ולחשב גיבובי SHA256.
אם חשוב לכם לתת עדיפות לסודיות של כתובות URL ואתם מעוניינים להשתמש במצב בזמן אמת או במצב רשימה מקומית, מומלץ להשתמש ב-hashes.search.
HashList אמצעי תשלום
השיטות האלה מאפשרות ללקוחות להוריד ולשמור גרסאות עם גיבוב של רשימות לא בטוחות ושל המטמון הגלובלי. הלקוחות יכולים להשתמש במידע הזה כדי להחליט אם לבצע חיפוש בזמן אמת של כתובות ה-URL הרלוונטיות.
השיטות האלה חיוניות להפעלה של מצב בזמן אמת ושל מצב רשימה מקומית.
מידע נוסף על השימוש בשיטות האלה זמין בדף Local Database.
דוגמאות לבקשות
בקטע הזה מפורטות כמה דוגמאות לשימוש ישיר ב-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
כל גופי התגובה הם מטען ייעודי (payload) בפורמט מאגר אחסון לפרוטוקולים שאפשר לפענח קוד.