Package google.security.safebrowsing.v5alpha1

אינדקס

SafeBrowsing

ממשקי ה-API של הגלישה הבטוחה מאפשרים ללקוחות לבדוק אם משאבי אינטרנט (בדרך כלל כתובות URL) נכללים ברשימות של משאבי אינטרנט לא בטוחים ש-Google מעדכנת באופן שוטף.

BatchGetHashLists

rpc BatchGetHashLists(BatchGetHashListsRequest) returns (BatchGetHashListsResponse)

אחזור של כמה רשימות גיבוב בבת אחת.

לרוב, לקוחות צריכים לקבל כמה רשימות גיבוב. מומלץ להשתמש בשיטה הזו במקום להשתמש מספר פעמים בשיטת Get הרגילה.

זוהי שיטה רגילה של אחזור (Get) באצווה כפי שמוגדרת בכתובת https://google.aip.dev/231, ושיטת ה-HTTP היא גם GET.

GetHashList

rpc GetHashList(GetHashListRequest) returns (HashList)

אחזור התוכן העדכני ביותר של רשימת גיבוב. רשימת גיבוב יכולה להיות רשימת איומים או רשימה שאינה רשימת איומים, כמו Global Cache.

זוהי שיטת Get רגילה כפי שמוגדרת בכתובת https://google.aip.dev/131, ושיטת ה-HTTP היא גם GET.

ListHashLists

rpc ListHashLists(ListHashListsRequest) returns (ListHashListsResponse)

הצגת רשימות גיבוב.

ב-API V5, Google לעולם לא תסיר רשימת גיבוב שהוחזרה אי פעם באמצעות השיטה הזו. כך הלקוחות יכולים לדלג על השימוש בשיטה הזו ולכתוב בקוד את כל רשימות הגיבוב הנחוצות להם.

זוהי שיטת List רגילה כפי שמוגדרת ב-https://google.aip.dev/132, ושיטת ה-HTTP היא GET.

SearchHashes

rpc SearchHashes(SearchHashesRequest) returns (SearchHashesResponse)

חיפוש גיבוב מלא שתואמים לקידומות שצוינו.

זוהי שיטה מותאמת אישית כפי שמוגדרת במאמר https://google.aip.dev/136 (השיטה המותאמת אישית מתייחסת לשיטה הזו שיש לה שם מותאם אישית במינוח הכללי של Google לפיתוח ממשקי API. היא לא מתייחסת לשימוש בשיטת HTTP מותאמת אישית).

BatchGetHashListsRequest

הבקשה לקבל כמה רשימות גיבוב בו-זמנית.

שדות
names[]

string

חובה. השמות של רשימות הגיבוב הספציפיות. הרשימה עשויה להיות רשימת איומים, או שהיא עשויה להיות המטמון הגלובלי. אסור לכלול שמות כפולים. אם יהיו כאלה, תופיע שגיאה אצל הלקוח.

version[]

bytes

הגרסאות של רשימת הגיבוב שכבר קיימות אצל הלקוח. אם זו הפעם הראשונה שהלקוח מאחזר את רשימות הגיבוב, השדה צריך להישאר ריק. אחרת, הלקוח צריך לספק את הגרסאות שהתקבלו מהשרת בעבר. אסור ללקוח לבצע מניפולציה על הבייטים האלה.

הלקוח לא צריך לשלוח את הגרסאות באותו סדר שבו מופיעים שמות הרשימות התואמים. הלקוח יכול לשלוח בבקשה פחות גרסאות מאשר שמות או יותר גרסאות מאשר שמות. עם זאת, אסור ללקוח לשלוח כמה גרסאות שתואמות לאותו שם. אם הוא יעשה זאת, יוצג לו הודעת שגיאה.

הערה היסטורית: בגרסה 4 של ה-API, השם היה states. השם השתנה עכשיו ל-version כדי לשפר את הבהירות.

desired_hash_length
(deprecated)

HashLength

אורך הקידומת הרצוי של הגיבוב (hash) של הגיבובים שמוחזרים, בבייטים. לאחר מכן, השרת יחזיר את כל תחיליות הגיבוב באורך שצוין.

לרשימות גיבוב שונות יש דרישות שונות לגבי הערכים הקבילים בשדה desired_hash_length. אפשר למצוא אותו בשדה supported_hash_lengths ב-HashListMetadata. אם לא צוין ערך ב-desired_hash_length בתוך supported_hash_lengths, תוחזר שגיאה ללקוחות.

לגבי השדה BatchGetHashListsRequest בפרט, לקוחות לא יכולים לציין desired_hash_length שונה לרשימות שונות. אם יש צורך לעשות זאת, הלקוח צריך לפצל ל-BatchGetHashListsRequest מרובים.

size_constraints

SizeConstraints

מגבלות הגודל בכל רשימה. אם לא יצוין ערך, לא יהיו אילוצים. חשוב לזכור שהגדלים כאן הם לכל רשימה, ולא מצטברים מכל הרשימות.

BatchGetHashListsResponse

התשובה מכילה כמה רשימות גיבוב.

שדות
hash_lists[]

HashList

רשימות הגיבוב מופיעות באותו סדר שבו הן צוינו בבקשה.

FullHash

גיבוב מלא שזוהה בהתאמה אחת או יותר.

שדות
full_hash

bytes

הגיבוב המלא התואם. זהו הגיבוב מסוג SHA256. האורך יהיה 32 בייטים בדיוק.

full_hash_details[]

FullHashDetail

רשימה לא ממוינת. שדה חוזר שמזהה את הפרטים הרלוונטיים ל-hash המלא הזה.

FullHashDetail

פרטים על גיבוב מלא תואם.

הערה חשובה לגבי תאימות עתידית: השרת יכול להוסיף סוגי איומים ומאפייני איומים חדשים בכל שלב. התוספות האלה נחשבות לשינויים מינוריים בגרסה. המדיניות של Google היא לא לחשוף מספרי גרסאות משניות בממשקי API (המדיניות בנושא ניהול גרסאות מפורטת בכתובת https://cloud.google.com/apis/design/versioning). לכן, לקוחות חייבים להיות מוכנים לקבל הודעות FullHashDetail שמכילות ערכי enum מסוג ThreatType או ערכי enum מסוג ThreatAttribute שנחשבים לא חוקיים על ידי הלקוח. לכן, הלקוח אחראי לבדוק את התקינות של כל ערכי המניין ThreatType ו-ThreatAttribute. אם ערך כלשהו נחשב לא תקין, הלקוח חייב להתעלם מהודעת ה-FullHashDetail כולה.

שדות
threat_type

ThreatType

סוג האיום. השדה הזה אף פעם לא יהיה ריק.

attributes[]

ThreatAttribute

רשימה לא ממוינת. מאפיינים נוספים לגבי הגרסאות המלאות של הגיבוב. השדה הזה יכול להיות ריק.

GetHashListRequest

בקשה לקבלת רשימת גיבוב (hash), שיכולה להיות רשימת איומים או רשימה שאינה רשימת איומים, כמו Global Cache.

מה חדש בגרסה 5: השם של השדה states בגרסה 4 השתנה ל-version לצורך הבהרה. עכשיו אפשר לתת שמות לרשימות, והסוגים של הפלטפורמות ושל רשומות האיומים הוסרו. עכשיו אפשר ליצור כמה רשימות עם אותו סוג איום, או רשימה אחת עם כמה סוגים של איומים. לקוחות יכולים עכשיו לציין את אורך הגיבוב הרצוי. זוהי חלק מהתשובה לתחיליות גיבוב באורך משתנה של V4, שגרמו לבעיות בהטמעות רבות של לקוחות: כל הגיבובים ברשימה הם עכשיו באורך אחד, ומאפשרים הטמעות יעילות הרבה יותר של לקוחות. האילוצים פשוטים יותר, וסוג הדחיסה הוסר (הדחיסה חלה תמיד).

שדות
name

string

חובה. השם של רשימת הגיבוב הזו. יכול להיות שמדובר ברשימת איומים או במטמון הגלובלי.

version

bytes

הגרסה של רשימת הגיבוב שכבר קיימת אצל הלקוח. אם זו הפעם הראשונה שהלקוח מאחזר את רשימת הגיבוב, חובה להשאיר את השדה הזה ריק. אחרת, הלקוח צריך לספק את הגרסה שהתקבלה מהשרת בעבר. אסור ללקוח לבצע מניפולציה על הבייטים האלה.

מה חדש בגרסה 5: בגרסה 4 של ה-API, השם היה states. השם השתנה עכשיו ל-version כדי לשפר את הבהירות.

desired_hash_length
(deprecated)

HashLength

אורך הקידומת הרצוי של הגיבוב (hash) של הגיבובים שמוחזרים, בבייטים. לאחר מכן, השרת יחזיר את כל תחיליות הגיבוב באורך שצוין.

לרשימות גיבוב שונות יש דרישות שונות לגבי הערכים הקבילים בשדה desired_hash_length. אפשר למצוא אותו בשדה supported_hash_lengths ב-HashListMetadata. אם desired_hash_length לא מציין ערך ב-supported_hash_lengths, תוחזר שגיאה.

size_constraints

SizeConstraints

אילוצים על הגודל של הרשימה. אם לא יצוין ערך, לא יהיו אילוצים. מומלץ להגדיר אילוצים בכל המכשירים עם קיבולת אחסון, רוחב פס או כוח עיבוד מוגבלים.

HashList

רשימה של גיבוב (hash) שמזוהה לפי השם שלו.

שדות
name

string

השם של רשימת הגיבוב. חשוב לזכור שגם המטמון הגלובלי הוא רק רשימת גיבוב, ואפשר להפנות אליו כאן.

version

bytes

הגרסה של רשימת הגיבוב. אסור ללקוח לבצע מניפולציה על הבייטים האלה.

partial_update

bool

אם הערך הוא true, מדובר ב-diff חלקי שמכיל הוספות והסרות על סמך מה שכבר קיים אצל הלקוח. כשהערך הוא false, זוהי רשימת הגיבוב המלאה.

אם הערך הוא false, הלקוח חייב למחוק כל גרסה שמאוחסנת באופן מקומי של רשימת הגיבוב הזו. המשמעות היא שהגרסה שבידי הלקוח לא עדכנית מספיק או שנתוני הלקוח פגומים. השדה compressed_removals יהיה ריק.

כשהערך הוא true, הלקוח חייב להחיל עדכון מצטבר על ידי החלת הסרות ואז הוספות.

compressed_removals

RiceDeltaEncoded32Bit

הגרסה המקודדת של Rice-delta של אינדקסי ההסרות. מכיוון שכל רשימת גיבוב מכילה פחות מ-2^32 רשומות, האינדקסים נחשבים למספרים שלמים של 32 ביט ומקודדים.

minimum_wait_duration

Duration

לקוחות צריכים להמתין לפחות זמן זה כדי לקבל שוב את רשימת הגיבוב. אם השדה הזה לא מצוין או שהוא אפס, הלקוחות אמורים לאחזר אותו באופן מיידי כי הוא מציין שיש לשרת עדכון נוסף שצריך לשלוח ללקוח, אבל לא ניתן היה לעשות זאת בגלל האילוצים שצוינו על ידי הלקוח.

sha256_checksum

bytes

הרשימה הממויינת של כל הגיבובים, שעברה גיבוב נוסף באמצעות SHA256. זהו סיכום הביקורות של הרשימה הממויינת של כל הגיבובים שנמצאים במסד הנתונים אחרי החלת העדכון שסופק. אם לא יסופקו עדכונים, השדה הזה יושמט מהשרת כדי לציין שהלקוח צריך להשתמש ב-checksum הקיים.

metadata

HashListMetadata

מטא-נתונים על רשימת הגיבוב. השדה הזה לא מאוכלס על ידי השיטה GetHashList, אבל הוא מאוכלס על ידי השיטה ListHashLists.

שדה האיחוד compressed_additions. הגרסה של התוספות בקידוד Rice-delta. אורך הקידומת של הגיבוב של התוספות זהה בכל התוספות ברשימה. זהו הערך של desired_hash_length שנשלח על ידי הלקוח, או ערך שנבחר על ידי השרת אם הלקוח השמיט את השדה הזה. הערך של compressed_additions יכול להיות רק אחת מהאפשרויות הבאות:
additions_four_bytes

RiceDeltaEncoded32Bit

התוספות של 4 בייטים.

additions_eight_bytes

RiceDeltaEncoded64Bit

התוספות באורך 8 בייטים.

additions_sixteen_bytes

RiceDeltaEncoded128Bit

התוספות של 16 בייטים.

additions_thirty_two_bytes

RiceDeltaEncoded256Bit

התוספות של 32 בייטים.

HashListMetadata

מטא-נתונים על רשימת גיבוב ספציפית.

שדות
threat_types[]

ThreatType

רשימה לא ממוינת. אם הערך לא ריק, המשמעות היא שרשימת הגיבוב היא סוג של רשימת איומים, והיא מפרטת את סוגי האיומים המשויכים לגיבובים או לתחיליות של הגיבובים ברשימת הגיבוב הזו. יכול להיות ריק אם הרשומה לא מייצגת איום, כלומר במקרה שהיא מייצגת סוג סביר של פעילות בטוחה.

likely_safe_types[]

LikelySafeType

רשימה לא ממוינת. אם הערך לא ריק, המשמעות היא שרשימה של גיבובים מייצגת רשימה של גיבובים שסביר להניח שהם בטוחים, וזוהי רשימה של הדרכים שבהן הם נחשבים בטוחים. השדה הזה בלעדי לשדה threat_types.

description

string

תיאור של הרשימה שאנשים יכולים לקרוא. כתוב באנגלית.

supported_hash_lengths[]
(deprecated)

HashLength

אורך הגיבוב הנתמך ברשימת הגיבוב הזו. כל רשימת גיבוב תתמוך באורך אחד לפחות. לכן השדה הזה לא יהיה ריק.

hash_length

HashLength

אורך הגיבוב הנתמך ברשימת הגיבוב הזו. כל רשימת גיבוב תתמוך באורך אחד בלבד. אם יתווסף אורך גיבוב שונה לאותה קבוצה של סוגי איומים או סוגי קבצים בטוחים, הוא יוצג כרשימה נפרדת עם שם ייחודי וקבוצת אורך גיבוב תואמת.

HashLength

האורך של הגיבובים (hashes) ברשימת גיבוב.

טיפוסים בני מנייה (enum)
HASH_LENGTH_UNSPECIFIED אורך לא צוין. השרת לא יחזיר את הערך הזה בתשובות ללקוח (בשדה supported_hash_lengths), אבל הלקוח רשאי לשלוח את הערך הזה לשרת (בשדה desired_hash_length). במקרה כזה, השרת יבחר ערך באופן אוטומטי. לקוחות צריכים לאפשר לשרת לבחור ערך.
FOUR_BYTES כל גיבוב הוא תחילית של ארבעה בייטים.
EIGHT_BYTES כל גיבוב הוא תחילית של שמונה בייטים.
SIXTEEN_BYTES כל גיבוב הוא תחילית של 16 בייטים.
THIRTY_TWO_BYTES כל גיבוב הוא גיבוב מלא באורך 32 בייטים.

LikelySafeType

סוגי אתרים שסביר להניח שהם בטוחים.

שימו לב שהשדה SearchHashesResponse לא מכיל את השדה LikelySafeType באופן מכוון.

טיפוסים בני מנייה (enum)
LIKELY_SAFE_TYPE_UNSPECIFIED לא ידוע.
GENERAL_BROWSING סביר להניח שהאתר הזה בטוח מספיק לגלישה כללית. הוא נקרא גם 'מטמון גלובלי'.
CSD סביר להניח שהאתר הזה בטוח מספיק, ולכן אין צורך להריץ מודלים של זיהוי בצד הלקוח או בדיקות של הגנה באמצעות סיסמה.
DOWNLOAD סביר להניח שהאתר הזה בטוח מספיק ולא צריך לבדוק הורדות מהאתר.

ListHashListsRequest

הבקשה להציג את רשימות הגיבוב הזמינות.

שדות
page_size

int32

המספר המקסימלי של רשימות גיבוב להחזרה. יכול להיות שהשירות יחזיר פחות מהערך הזה. אם לא מציינים את הגודל, השרת יבחר גודל דף, שיכול להיות גדול יותר ממספר רשימות הגיבוב כדי שלא תהיה צורך בחלוקה לדפים.

page_token

string

אסימון דף, שהתקבל משיחה קודמת של ListHashLists. צריך לספק אותו כדי לאחזר את הדף הבא.

ListHashListsResponse

התשובה שמכילה מטא-נתונים על רשימות גיבוב.

שדות
hash_lists[]

HashList

רשימות הגיבוב מופיעות בסדר שרירותי. רק המטא-נתונים של רשימות הגיבוב ייכללו, ולא התוכן.

next_page_token

string

אסימון שאפשר לשלוח כ-page_token כדי לאחזר את הדף הבא. אם השדה הזה לא יצוין, לא יהיו דפים נוספים.

RiceDeltaEncoded128Bit

זהה ל-RiceDeltaEncoded32Bit, אלא שהיא מקודדת מספרים של 128 ביט.

שדות
first_value_hi

uint64

64 הביטים העליונים של הרשומה הראשונה בנתונים הקודדים (גיבוב). אם השדה ריק, כל 64 הביטים העליונים הם אפס.

first_value_lo

fixed64

64 הביטים התחתונים של הרשומה הראשונה בנתונים המקודדים (גיבוב). אם השדה ריק, כל 64 הביטים התחתונים הם אפס.

rice_parameter

int32

הפרמטר Golomb-Rice. הפרמטר הזה יהיה בין 99 ל-126, כולל.

entries_count

int32

מספר הרשומות שמקודדות ב-delta בנתונים המקודדים. אם רק מספר שלם אחד הועתק, הערך הזה יהיה אפס והערך היחיד יישמר ב-first_value.

encoded_data

bytes

ההפרשים המקודדים שמקודדים באמצעות מקודד Golomb-Rice.

RiceDeltaEncoded256Bit

זהה ל-RiceDeltaEncoded32Bit, אלא שהיא מקודדת מספרים באורך 256 ביט.

שדות
first_value_first_part

uint64

64 הביטים הראשונים של הרשומה הראשונה בנתונים הקודדים (גיבוב). אם השדה ריק, 64 הביטים הראשונים יהיו אפס.

first_value_second_part

fixed64

הביטים 65 עד 128 של הרשומה הראשונה בנתונים הקודדים (גיבוב). אם השדה ריק, כל הביטים מ-65 עד 128 הם אפס.

first_value_third_part

fixed64

הביטים ה-129 עד ה-192 של הרשומה הראשונה בנתונים המקודדים (גיבוב). אם השדה ריק, כל הביטים מ-129 עד 192 הם אפס.

first_value_fourth_part

fixed64

64 הביטים האחרונים של הרשומה הראשונה בנתונים הקודדים (גיבוב). אם השדה ריק, כל 64 הביטים האחרונים הם אפס.

rice_parameter

int32

הפרמטר Golomb-Rice. הפרמטר הזה יהיה בין 227 ל-254, כולל.

entries_count

int32

מספר הרשומות שמקודדות ב-delta בנתונים המקודדים. אם רק מספר שלם אחד הועתק, הערך הזה יהיה אפס והערך היחיד יישמר ב-first_value.

encoded_data

bytes

ההפרשים המקודדים שמקודדים באמצעות מקודד Golomb-Rice.

RiceDeltaEncoded32Bit

הנתונים המקודדים של Rice-Golomb. משמש ליצירת גיבוב או לאינדקסים של הסרות. מובטח שכל גיבוב או אינדקס כאן יהיה באורך זהה, והאורך הזה הוא בדיוק 32 ביט.

באופן כללי, אם נמיין את כל הרשומות לפי סדר אלפביתי, נראה שהביטים ברמה הגבוהה יותר נוטים לא להשתנות בתדירות גבוהה כמו הביטים ברמה הנמוכה יותר. המשמעות היא שאם ניקח גם את ההפרש בין הרשומות הסמוכות, יש סיכוי גבוה שהביטים ברמה הגבוהה יותר יהיו אפס. כדי לנצל את ההסתברות הגבוהה לקבלת אפס, בוחרים מספר מסוים של ביטים. כל הביטים המשמעותיים יותר מזה צפויים להיות אפס, ולכן אנחנו משתמשים בקידוד יוניארי. מידע נוסף מפורט בשדה rice_parameter.

הערה היסטורית: קידוד Rice-delta שימש לראשונה בגרסה 4 של ה-API הזה. בגרסה 5 בוצעו שני שיפורים משמעותיים: ראשית, קידוד Rice-delta זמין עכשיו עם תחיליות גיבוב ארוכות מ-4 בייטים. שנית, הנתונים המקודדים מטופלים עכשיו כ-big-endian כדי למנוע שלב מיון יקר.

שדות
first_value

uint32

הרשומה הראשונה בנתונים המקודדים (גיבוב או אינדקסים), או אם רק תחילית גיבוב או אינדקס אחד קודדו, הערך של הרשומה הזו. אם השדה ריק, הערך ברשומה הוא אפס.

rice_parameter

int32

הפרמטר Golomb-Rice. הפרמטר הזה חייב להיות בין 3 ל-30, כולל.

entries_count

int32

מספר הרשומות שמקודדות ב-delta בנתונים המקודדים. אם רק מספר שלם אחד הועתק, הערך הזה יהיה אפס והערך היחיד יישמר ב-first_value.

encoded_data

bytes

ההפרשים המקודדים שמקודדים באמצעות מקודד Golomb-Rice.

RiceDeltaEncoded64Bit

זהה ל-RiceDeltaEncoded32Bit, אלא שהיא מקודדת מספרים של 64 ביט.

שדות
first_value

uint64

הרשומה הראשונה בנתונים המקודדים (גיבוב), או אם רק תחילית גיבוב אחת קוודדה, הערך של הרשומה הזו. אם השדה ריק, הערך ברשומה הוא אפס.

rice_parameter

int32

הפרמטר Golomb-Rice. הפרמטר הזה יהיה בין 35 ל-62, כולל.

entries_count

int32

מספר הרשומות שמקודדות ב-delta בנתונים המקודדים. אם רק מספר שלם אחד הועתק, הערך הזה יהיה אפס והערך היחיד יישמר ב-first_value.

encoded_data

bytes

ההפרשים המקודדים שמקודדים באמצעות מקודד Golomb-Rice.

SearchHashesRequest

בקשה שהלקוח שולח כדי לחפש תחיליות גיבוב ספציפיות.

הבדיקה הזו מיועדת לחיפוש רק ברשימות איומים, ולא בחיפוש ברשימות שאינן של איומים, כמו Global Cache.

מה חדש בגרסה 5: לקוחות לא צריכים לציין ClientInfo או את המצבים של רשימות הגיבוב במסד הנתונים המקומי שלהם. האפשרות הזו נועדה לשפר את הפרטיות. בנוסף, הלקוחות לא צריכים לשלוח את סוגי האיומים שהם מעוניינים בהם.

שדות
hash_prefixes[]

bytes

חובה. תחיליות הגיבוב שרוצים לחפש. אסור ללקוחות לשלוח יותר מ-1,000 תחיליות גיבוב. עם זאת, בהתאם לתהליך העיבוד של כתובות URL, לקוחות לא אמורים לשלוח יותר מ-30 תחיליות גיבוב.

נכון לעכשיו, כל קידומת גיבוב חייבת להיות באורך של 4 בייטים בדיוק. יכול להיות שהדרישה הזו תשתנה בעתיד.

filter

string

זה שינוי אופציונלי. אם הלקוח מעוניין בסינון, למשל אחזור של סוגים ספציפיים של איומים בלבד, אפשר לציין זאת. אם השדה הזה לא יצוין, המערכת תחזיר את כל האיומים התואמים. מומלץ מאוד להשמיט את האפשרות הזו כדי לקבל את ההגנה המלאה ביותר שגלישה בטוחה יכולה לספק.

המסנן מצוין באמצעות שפת הביטויים הנפוצה של Google (CEL), שזמינה בכתובת https://github.com/google/cel-spec יחד עם דוגמאות כלליות. ריכזנו כאן כמה דוגמאות ספציפיות לשימוש באפשרות הזו:

המסנן "threat_type == ThreatType.SOCIAL_ENGINEERING" מחייב שסוג האיום בתוך FullHashDetail יהיה SOCIAL_ENGINEERING. המזהה "threat_type" מתייחס לסוג האיום הנוכחי. המזהה "ThreatType" מתייחס לאוסף של כל סוגי האיומים האפשריים.

המסנן "threat_type in [ ThreatType.UNWANTED_SOFTWARE, ThreatType.MALWARE ]" מחייב שהסוג של האיום יהיה UNWANTED_SOFTWARE או MALWARE.

SearchHashesResponse

התשובה שחוזרת אחרי חיפוש גיבוב של איומים.

אם לא נמצא דבר, השרת יחזיר סטטוס OK (קוד סטטוס HTTP 200) עם השדה full_hashes ריק, במקום להחזיר סטטוס NOT_FOUND (קוד סטטוס HTTP 404).

מה חדש בגרסה 5: יש הפרדה בין FullHash לבין FullHashDetail. במקרה שבו גיבוב מייצג אתר עם כמה איומים (למשל, גם MALWARE וגם SOCIAL_ENGINEERING), אין צורך לשלוח את הגיבוב המלא פעמיים כמו בגרסה 4. בנוסף, משך השמירה במטמון פשוט יותר ועכשיו הוא שדה cache_duration יחיד.

שדות
full_hashes[]

FullHash

רשימה לא ממוינת. הרשימה הלא ממוינת של גיבוב מלא שנמצא.

cache_duration

Duration

משך השמירה במטמון בצד הלקוח. הלקוח חייב להוסיף את משך הזמן הזה לשעה הנוכחית כדי לקבוע את זמן התפוגה. לאחר מכן, מועד התפוגה יחול על כל קידומת גיבוב שהלקוח שאל עליה בבקשה, ללא קשר למספר הגיבובים המלאים שמוחזרים בתגובה. גם אם השרת לא מחזיר גיבוב מלא של קידומת גיבוב מסוימת, הלקוח חייב לשמור את העובדה הזו במטמון.

אם השדה full_hashes ריק, הלקוח רשאי להגדיל את cache_duration כדי לקבוע תאריך תפוגה חדש שחל מאוחר יותר מהתאריך שצוין על ידי השרת. בכל מקרה, משך האחסון המוגדל במטמון לא יכול להיות ארוך מ-24 שעות.

חשוב: אסור שהלקוח יסיק שהשרת יחזיר את אותו משך זמן שמירת מטמון לכל התשובות. השרת עשוי לבחור משכי זמן שונים לשמירת נתונים במטמון לתגובות שונות, בהתאם למצב.

SizeConstraints

האילוצים על הגדלים של רשימות הגיבוב.

שדות
max_update_entries

int32

המספר המקסימלי של רשומות. העדכון לא יכיל יותר רשומות מהערך הזה, אבל יכול להיות שהעדכון יכיל פחות רשומות מהערך הזה. הערך חייב להיות לפחות 1,024. אם השדה הזה לא יצוין או שהוא יוגדר כ-0, לא תוגדר מגבלת גודל לעדכון.

max_database_entries

int32

הגדרת המספר המקסימלי של רשומות שהלקוח רוצה שיופיעו במסד הנתונים המקומי של הרשימה. (השרת עשוי לגרום לכך שהלקוח ישמור פחות מהמספר הזה של רשומות). אם השדה הזה לא מופיע או שהוא מוגדר לאפס, לא מוגדרת מגבלת גודל למסד הנתונים.

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.