Package google.security.safebrowsing.v5alpha1

الفهرس

SafeBrowsing

تتيح واجهات برمجة التطبيقات للتصفح الآمن للعملاء التحقق من موارد الويب (معظم عناوين URL الشائعة) بمقارنتها بقوائم موارد الويب غير الآمنة التي تُحدِّثها Google باستمرار.

BatchGetHashLists

rpc BatchGetHashLists(BatchGetHashListsRequest) returns (BatchGetHashListsResponse)

الحصول على قوائم تجزئة متعددة في الوقت نفسه

من الشائع جدًا أن يحتاج العميل إلى قوائم تجزئة متعددة. يُفضل استخدام هذه الطريقة على استخدام طريقة Get العادية عدة مرات.

هذه هي طريقة الحصول على الدفعة المجمّعة كما هو محدّد في https://google.aip.dev/231 وطريقة HTTP هي GET أيضًا.

GetHashList

rpc GetHashList(GetHashListRequest) returns (HashList)

الحصول على أحدث محتوى قائمة التجزئة قد تكون قائمة التجزئة إما عن طريق قائمة تهديدات أو قائمة غير تهديدات مثل ذاكرة التخزين المؤقت العالمية.

هذه طريقة الحصول على طريقة عادية كما هو محدّد في https://google.aip.dev/131 وطريقة HTTP هي GET أيضًا.

ListHashLists

rpc ListHashLists(ListHashListsRequest) returns (ListHashListsResponse)

سرد قوائم التجزئة

في واجهة برمجة التطبيقات V5، لن يزيل محرّك بحث Google أبدًا قائمة تجزئة تم عرضها باستخدام هذه الطريقة. ويتيح ذلك للعملاء تخطي استخدام هذه الطريقة وترميز جميع قوائم التجزئة التي يحتاجون إليها بسهولة.

هذه طريقة قائمة عادية كما هو محدّد في https://google.aip.dev/132 وطريقة HTTP هي GET.

SearchHashes

rpc SearchHashes(SearchHashesRequest) returns (SearchHashesResponse)

البحث عن علامات تجزئة كاملة تتطابق مع البادئات المحدّدة.

هذه طريقة مخصّصة على النحو المحدّد في https://google.aip.dev/136 (تشير الطريقة المخصّصة إلى أنّ لها اسم مخصّص ضمن التسمية العامة الخاصة بتطوير واجهة برمجة التطبيقات في Google، ولا تشير إلى استخدام طريقة HTTP مخصّصة).

BatchGetHashListsRequest

يشير ذلك المصطلح إلى طلب الحصول على قوائم تجزئة متعددة في الوقت نفسه.

الحقول
names[]

string

مطلوبة. أسماء قوائم التجزئة المحددة. قد تكون القائمة قائمة تهديدات أو قد تكون ذاكرة التخزين المؤقت العالمية. يجب ألا تحتوي الأسماء على تكرارات؛ في حالة حدوثها، سيتلقى العميل خطأ.

version[]

bytes

تمثّل هذه السمة إصدارات قائمة التجزئة المتوفّرة لدى العميل. إذا كانت هذه هي المرة الأولى التي يجلب فيها العميل قوائم التجزئة، يجب ترك الحقل فارغًا. وبخلاف ذلك، يجب على العميل تقديم الإصدارات التي تم استلامها سابقًا من الخادم. يجب ألا يعالج العميل وحدات البايت هذه.

ولا يحتاج العميل إلى إرسال النُسخ بنفس ترتيب أسماء القوائم المقابلة. قد يرسل العميل نُسخًا أقل أو أكثر في الطلب مقارنةً بالأسماء. ومع ذلك، يجب ألا يرسل العميل إصدارات متعددة تتوافق مع الاسم نفسه، فإذا تم إرسالها، سيتلقّى العميل رسالة خطأ.

ملاحظة سابقة: في الإصدار 4 من واجهة برمجة التطبيقات، كان الاسم يُعرف باسم "states"، وقد تم تغيير اسمه الآن إلى "version" لمزيد من الوضوح.

desired_hash_length

HashLength

طول بادئة التجزئة المطلوب للتجزئات التي تم عرضها بالبايت. سيعرض الخادم بعد ذلك جميع بادئات التجزئة بهذا الطول المحدد.

تتطلب قوائم التجزئة المختلفة متطلبات مختلفة في القيم المقبولة لحقل 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

قائمة بدون ترتيب. حقل متكرّر يحدّد التفاصيل ذات الصلة بهذه التجزئة الكاملة

FullHashDetail

تفاصيل حول تجزئة كاملة مطابقة.

ملاحظة مُهمّة بشأن التوافق مع إعادة التوجيه: قد يضيف الخادم أنواع تهديدات وسمات تهديد جديدة في أي وقت، وتُعدّ هذه الإضافات تغييرات طفيفة في الإصدار. تنص سياسة Google على عدم الكشف عن أرقام الإصدارات الثانوية في واجهات برمجة التطبيقات (يُرجى الاطّلاع على https://cloud.google.com/apis/design/versioning لمعرفة سياسة تحديد الإصدارات)، لذلك يجب أن يكون العملاء مستعدين لتلقّي رسائل FullHashDetail التي تحتوي على قيم ThreatType للتعداد أو قيم تعداد ThreatAttribute يعتبرها العميل غير صالحة. وبالتالي، تقع على عاتق العميل مسؤولية التحقق من صلاحية جميع قيم التعداد ThreatType وThreatAttribute، وإذا تم اعتبار أي قيمة غير صالحة، على العميل تجاهل رسالة FullHashDetail بأكملها.

الحقول
threat_type

ThreatType

نوع التهديد. لن يكون هذا الحقل فارغًا أبدًا.

attributes[]

ThreatAttribute

قائمة بدون ترتيب. سمات إضافية عن قيم التجزئة الكاملة تلك قد يكون هذا الحقل فارغًا.

GetHashListRequest

طلب للحصول على قائمة تجزئة، والتي قد تكون قائمة تهديدات أو قائمة غير تهديدات مثل ذاكرة التخزين المؤقت العالمية.

الميزات الجديدة في الإصدار 5: تمت إعادة تسمية ما كان يُعرف سابقًا باسم states في الإصدار 4 إلى version لمزيد من الوضوح. تتم الآن تسمية القوائم، وتتم إزالة أنواع المنصّات وأنواع دخول التهديدات. من الممكن الآن أن تشتمل قوائم متعددة على نوع التهديد نفسه أو قائمة واحدة معنيّة بأنواع تهديدات متعددة. ولدى العملاء القدرة الجديدة على تحديد طول التجزئة المطلوب. وهذا جزء من الإجابة عن بادئات التجزئة ذات الطول المتغير الخاص بـ V4، والتي تسبّبت بمشاكل في العديد من عمليات تنفيذ العميل: فجميع تجزئات القائمة في القائمة لها طول واحد الآن، ما يتيح عمليات تنفيذ العميل للعميل بشكل أكثر فعالية. تم تبسيط القيود وإزالة نوع الضغط (يتم تطبيق الضغط دائمًا).

الحقول
name

string

مطلوبة. تمثّل هذه السمة اسم قائمة التجزئة المحدّدة هذه. قد تكون قائمة تهديدات أو ذاكرة التخزين المؤقت العالمية.

version

bytes

تمثّل هذه السمة إصدار قائمة التجزئة المتوفّرة لدى العميل. إذا كانت هذه هي المرة الأولى التي يجلب فيها العميل قائمة التجزئة، يجب ترك هذا الحقل فارغًا. وبخلاف ذلك، يجب أن يوفر العميل الإصدار الذي تم استلامه سابقًا من الخادم. يجب ألا يعالج العميل وحدات البايت هذه.

الميزات الجديدة في الإصدار 5: في الإصدار 4 من واجهة برمجة التطبيقات كان يُعرف باسم states. وقد تم تغيير اسمه الآن إلى version لمزيد من الوضوح.

desired_hash_length

HashLength

طول بادئة التجزئة المطلوب للتجزئات التي تم عرضها بالبايت. سيعرض الخادم بعد ذلك جميع بادئات التجزئة بهذا الطول المحدد.

تتطلب قوائم التجزئة المختلفة متطلبات مختلفة في القيم المقبولة لحقل desired_hash_length. ويمكن العثور عليه في الحقل supported_hash_lengths في HashListMetadata. إذا لم يحدد desired_hash_length قيمة داخل supported_hash_lengths، سيتم عرض خطأ.

size_constraints

SizeConstraints

قيود الحجم في القائمة. إذا تم حذفها، لن تكون هناك أي قيود. يُنصح باستخدام قيود على جميع الأجهزة التي تتضمّن قدرة معالجة محدودة أو معدّل نقل بيانات أو مساحة تخزين محدودة.

HashList

تمثّل هذه السمة قائمة من التجزئات التي يتم التعرّف عليها من خلال اسمها.

الحقول
name

string

تمثّل هذه السمة اسم قائمة التجزئة. لاحظ أن ذاكرة التخزين المؤقت العالمية هي أيضًا مجرد قائمة تجزئة ويمكن الإشارة إليها هنا.

version

bytes

تمثّل هذه السمة إصدار قائمة التجزئة. يجب ألا يعالج العميل وحدات البايت هذه.

partial_update

bool

وعندما يكون ذلك صحيحًا، يكون هذا اختلافًا جزئيًا يتضمن الإضافات والإزالة استنادًا إلى ما يمتلكه العميل من قبل. وعندما تكون القيمة false، تكون هذه هي قائمة التجزئة الكاملة.

في حال اختيار القيمة "false"، يجب أن يحذف العميل أي إصدار مخزَّن محليًا لقائمة التجزئة هذه. وهذا يعني أنّ الإصدار الذي يملكه العميل قديم جدًا أو أنّه يُعتقد أنّ بيانات العميل تالفة. سيكون الحقل compressed_removals فارغًا.

عند تحديد القيمة الصحيحة، يجب على العميل تطبيق تحديث تدريجي من خلال تطبيق عمليات الإزالة ثم الإضافات.

compressed_removals

RiceDeltaEncoded32Bit

النسخة المشفرة من فهارس الإزالة بترميز Rice-delta نظرًا لأن كل قائمة تجزئة تحتوي بالتأكيد على أقل من 2^32 من الإدخالات، يتم التعامل مع الفهارس كأعداد صحيحة 32 بت ويتم تشفيرها.

minimum_wait_duration

Duration

يجب أن ينتظر العملاء هذه المدة على الأقل للحصول على قائمة التجزئة مرة أخرى. إذا تم حذفها أو كانت صفرًا، ينبغي للعملاء جلب البيانات على الفور لأنها تشير إلى أن الخادم لديه تحديث إضافي لإرساله إلى العميل، ولكن تعذر ذلك بسبب القيود التي يحددها العميل.

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 بايت.

حقل الاتحاد checksum هذا هو المجموع الاختباري للقائمة التي تم فرزها لجميع التجزئات الموجودة في قاعدة البيانات بعد تطبيق التحديث المقدم. وهذا الحقل "oneof" يسمح بخوارزميات تجزئة متعددة. من الممكن أيضًا للخادم أن يحذف هذا الحقل (في حالة عدم تقديم أي تحديثات) للإشارة إلى أنه يجب على العميل استخدام المجموع الاختباري الحالي. يمكن أن يكون الحقل "checksum" واحدًا فقط مما يلي:
sha256_checksum

bytes

القائمة المرتبة لجميع علامات التجزئة، تمت تجزئتها مرة أخرى باستخدام خوارزمية SHA256.

HashListMetadata

البيانات الوصفية حول قائمة تجزئة معيّنة.

الحقول
threat_types[]

ThreatType

قائمة بدون ترتيب. وإذا لم يكن فارغًا، يشير ذلك إلى أنّ قائمة التجزئة تمثل نوعًا من قائمة التهديدات، وهذا يشمل نوع التهديدات المرتبطة بعلامات التجزئة أو بادئات التجزئة في قائمة التجزئة هذه. يمكن أن يكون هذا الحقل فارغًا إذا كان الإدخال لا يمثل تهديدًا، أي في حال كان يمثل نوعًا آمنًا على الأرجح.

likely_safe_types[]

LikelySafeType

قائمة بدون ترتيب. وإذا لم يكن فارغًا، سيؤدي ذلك إلى تحديد أن قائمة التجزئة تمثل قائمة من علامات التجزئة الآمنة المحتملة، ويوضح ذلك الطرق التي يحتمل أن تكون آمنة بها. ولا يمكن استخدام هذا الحقل في أي مكان آخر مع حقل شاركت فيه أنواع التهديدات.

mobile_optimized

bool

ما إذا كانت هذه القائمة محسَّنة للأجهزة الجوّالة (Android وiOS)

description

string

تمثّل هذه السمة وصفًا يمكن لشخص عادي قراءته حول هذه القائمة. مكتوبة باللغة الإنجليزية.

supported_hash_lengths[]

HashLength

تمثّل هذه السمة أطوال التجزئة المسموح بها لقائمة التجزئة هذه. تسمح كل قائمة تجزئة بطول واحد على الأقل. وبالتالي لن يكون هذا الحقل فارغًا.

HashLength

طول قيم التجزئة في قائمة التجزئة.

عمليات التعداد
HASH_LENGTH_UNSPECIFIED طول غير محدَّد. لن يعرض الخادم هذه القيمة كاستجابة للعميل (في حقل supported_hash_lengths)، ولكن يُسمح للعميل بإرسال هذه القيمة إلى الخادم (في حقل desired_hash_length)، وفي هذه الحالة سيختار الخادم قيمة تلقائيًا. على العملاء السماح للخادم باختيار قيمة.
FOUR_BYTES تكون كل تجزئة بادئة مكونة من أربعة بايت.
EIGHT_BYTES كل تجزئة هي بادئة من ثمانية بايت.
SIXTEEN_BYTES تكون كل تجزئة بادئة مكونة من ستة عشرة بايت.
THIRTY_TWO_BYTES كل تجزئة هي تجزئة كاملة تبلغ اثنتين وثلاثين بايت.

LikelySafeType

أنواع المواقع الإلكترونية التي يُحتمل أن تكون آمنة.

يُرجى العِلم أنّ السمة SearchHashesResponse لا تتضمّن LikelySafeType عمدًا.

عمليات التعداد
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

عدد الإدخالات التي تم ترميزها دلتا في البيانات المشفرة. إذا تم ترميز عدد صحيح واحد فقط، سيكون هذا العدد صفرًا وسيتم تخزين القيمة المفردة في 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

عدد الإدخالات التي تم ترميزها دلتا في البيانات المشفرة. إذا تم ترميز عدد صحيح واحد فقط، سيكون هذا العدد صفرًا وسيتم تخزين القيمة المفردة في first_value.

encoded_data

bytes

يشير ذلك المصطلح إلى مجموعات الدلتا المشفرة التي تم ترميزها باستخدام برنامج ترميز Golomb-Rice.

رمز RiceDeltaEncoded32Bit

بيانات Rice-Golomb المشفَّرة. يتم استخدامها إما لعلامات التجزئة أو لمؤشرات الإزالة. ومن المؤكد أن لكل تجزئة أو فهرس هنا نفس الطول، وأن هذا الطول هو 32 بت بالضبط.

بشكل عام، إذا قمنا بفرز جميع الإدخالات بطريقة لغوية، فسوف نجد أن وحدات البت ذات الترتيب الأعلى لا تتغير كثيرًا كما تتغير وحدات البت ذات الترتيب المنخفض. وهذا يعني أنه إذا أخذنا أيضًا الفرق المتجاورة بين الإدخالات، فإن احتمال أن تكون وحدات البت ذات الترتيب الأعلى صفرًا. وهذا يستغل هذه الاحتمالية العالية بأن تكون صفرًا من خلال اختيار عدد معين من وحدات البت؛ حيث من المرجح أن تكون جميع وحدات البت أكثر أهمية من الصفر، ولذلك نستخدم ترميزًا أحاديًا. اطّلِع على الحقل rice_parameter.

ملاحظة تاريخية: تمّ استخدام ترميز دلتا الأرز لأول مرة في الإصدار 4 من واجهة برمجة التطبيقات هذه. في الإصدار 5، تم إجراء تحسينين مهمين: أولاً، أصبح ترميز دلتا الأرز متاحًا الآن مع بادئات تجزئة أطول من 4 بايت؛ ثانيًا، يتم الآن التعامل مع البيانات المشفرة على أنها بيانات نهايةية كبيرة لتجنب خطوة الفرز المكلفة.

الحقول
first_value

uint32

الإدخال الأول في البيانات المشفرة (علامات التجزئة أو الفهارس)، أو قيمة هذا الإدخال إذا تم ترميز بادئة تجزئة واحدة أو فهرس واحد فقط إذا كان الحقل فارغًا، يكون الإدخال صفرًا.

rice_parameter

int32

معلمة Golomb-Rice ويمكن أن تتراوح هذه المعلمة بين 3 و30.

entries_count

int32

عدد الإدخالات التي تم ترميزها دلتا في البيانات المشفرة. إذا تم ترميز عدد صحيح واحد فقط، سيكون هذا العدد صفرًا وسيتم تخزين القيمة المفردة في first_value.

encoded_data

bytes

يشير ذلك المصطلح إلى مجموعات الدلتا المشفرة التي تم ترميزها باستخدام برنامج ترميز Golomb-Rice.

RiceDeltaEncoded64Bit

مثل RiceDeltaEncoded32Bit باستثناء أن هذا يؤدي إلى ترميز أرقام 64 بت.

الحقول
first_value

uint64

الإدخال الأول في البيانات المشفرة (الأجزاء)، أو قيمة هذا الإدخال في حال تم تشفير بادئة تجزئة واحدة فقط. إذا كان الحقل فارغًا، يكون الإدخال صفرًا.

rice_parameter

int32

معلمة Golomb-Rice وتضمن هذه المعلمة أن تتراوح بين 35 و62، بشكل شامل.

entries_count

int32

عدد الإدخالات التي تم ترميزها دلتا في البيانات المشفرة. إذا تم ترميز عدد صحيح واحد فقط، سيكون هذا العدد صفرًا وسيتم تخزين القيمة المفردة في first_value.

encoded_data

bytes

يشير ذلك المصطلح إلى مجموعات الدلتا المشفرة التي تم ترميزها باستخدام برنامج ترميز Golomb-Rice.

SearchHashesRequest

يشير ذلك المصطلح إلى طلب يصدره العميل للبحث عن بادئات تجزئة محدّدة.

وقد تم تصميم هذا الإجراء للبحث في قوائم التهديدات فقط، ولا يتم البحث في القوائم غير المعرَّضة للتهديدات، مثل "ذاكرة التخزين المؤقت العالمية".

الميزات الجديدة في الإصدار 5: لا يحتاج العملاء إلى تحديد ClientInfo أو حالات قوائم التجزئة في قاعدة البيانات المحلية. تهدف هذه الخطوة إلى تحسين الخصوصية. بالإضافة إلى ذلك، لا يحتاج العملاء إلى إرسال أنواع التهديدات التي يهتمون بها.

الحقول
hash_prefixes[]

bytes

مطلوبة. بادئات التجزئة التي سيتم البحث عنها. يجب ألا يرسل العملاء أكثر من 1000 بادئة تجزئة. ومع ذلك، باتباع إجراء معالجة عنوان URL، لن يحتاج العملاء إلى إرسال أكثر من 30 بادئة تجزئة.

في الوقت الحالي، يجب أن يبلغ طول كل بادئة تجزئة 4 بايت بالضبط. قد يساعد هذا في المستقبل.

filter

string

اختياريّ. إذا كان العميل مهتمًا بالفلترة، مثل استرداد أنواع معيّنة من التهديدات فقط، يمكن تحديد ذلك. وفي حال حذفها، يتم عرض جميع التهديدات المطابقة. وننصحك بشدة بتجاهل هذا الإجراء للحصول على أقصى حماية كاملة يمكن أن توفّرها ميزة "التصفّح الآمن".

يتم تحديد الفلتر باستخدام لغة التعبير الشائعة في Google، والتي يمكن العثور عليها على الرابط 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)، لن تكون هناك حاجة إلى إرسال التجزئة الكاملة مرتين كما في الإصدار V4. بالإضافة إلى ذلك، تم تبسيط مدة ذاكرة التخزين المؤقت في حقل cache_duration واحد.

الحقول
full_hashes[]

FullHash

قائمة بدون ترتيب. القائمة غير المرتبة لعلامات التجزئة الكاملة التي تم العثور عليها.

cache_duration

Duration

مدة ذاكرة التخزين المؤقت من جهة العميل. على العميل إضافة هذه المدة إلى الوقت الحالي لتحديد وقت انتهاء الصلاحية. وينطبق وقت انتهاء الصلاحية بعد ذلك على كل بادئة تجزئة يطلبها العميل في الطلب، بغض النظر عن عدد التجزئات الكاملة التي يتم عرضها في الاستجابة. حتى إذا لم يعرض الخادم أي تجزئات كاملة لبادئة تجزئة معينة، يجب أيضًا تخزين هذه الحقيقة مؤقتًا بواسطة العميل.

وإذا كان الحقل full_hashes فارغًا فقط، قد يزيد العميل من قيمة cache_duration لتحديد تاريخ انتهاء صلاحية جديد يقع بعد ذلك الذي حدّده الخادم. وفي جميع الأحوال، يجب ألا تزيد مدة التخزين المؤقت الزائدة عن 24 ساعة.

هام: يجب ألا يفترض العميل أن الخادم سيعرض مدة ذاكرة التخزين المؤقت نفسها لجميع الاستجابات. قد يختار الخادم مددًا مختلفة لذاكرة التخزين المؤقت للاستجابات المختلفة بناءً على الموقف.

SizeConstraints

القيود المفروضة على أحجام قوائم التجزئة.

الحقول
max_update_entries

int32

الحد الأقصى للحجم في عدد الإدخالات. لن يحتوي التحديث على إدخالات أكثر من هذه القيمة، ولكن من الممكن أن يحتوي التحديث على إدخالات أقل من هذه القيمة. يجب أن تكون القيمة 1024 على الأقل. إذا تم حذفها أو إذا كانت صفرًا، لن يتم ضبط حد أقصى لحجم التحديث.

max_database_entries

int32

لضبط الحد الأقصى لعدد الإدخالات التي يرغب العميل في الحصول عليها في قاعدة البيانات المحلية للقائمة. (قد يتسبب الخادم في تخزين العميل لعدد أقل من هذا العدد من الإدخالات). في حال حذف قاعدة البيانات أو عدم ضبطها، لن يتم ضبط حدّ أقصى لحجم قاعدة البيانات.

ThreatAttribute

سمات التهديدات وقد تضفي هذه السمات معنى إضافيًا لتهديد معيّن، ولكنها لن تؤثر في نوع التهديد. على سبيل المثال، قد تشير السمة إلى مستوى ثقة أقل، بينما قد تشير سمة مختلفة إلى مستوى ثقة أعلى. وقد تتم إضافة المزيد من السمات في المستقبل.

عمليات التعداد
THREAT_ATTRIBUTE_UNSPECIFIED سمة غير معروفة. وإذا عرَض الخادم هذا، سيتجاهل العميل تمامًا FullHashDetail المضمّنة.
CANARY تشير هذه السمة إلى عدم استخدام نوع التهديد لتنفيذ إجراءات التنفيذ.
FRAME_ONLY تشير هذه السمة إلى أنّ نوع التهديد يجب ألّا يتم استخدامه إلا لتنفيذه على الإطارات.

ThreatType

أنواع التهديدات.

عمليات التعداد
THREAT_TYPE_UNSPECIFIED نوع تهديد غير معروف. وإذا عرَض الخادم هذا، سيتجاهل العميل تمامًا FullHashDetail المضمّنة.
MALWARE

نوع التهديد بالبرامج الضارة البرامج الضارّة هي أي تطبيق للأجهزة الجوّالة أو برنامج تم تصميمه خصيصًا لإلحاق الضرر بجهاز الكمبيوتر أو بالجهاز الجوّال أو ببرامج الجهاز أو بمستخدميه. وتُظهِر البرامج الضارة سلوكًا خبيثًا يمكن أن يشمل تثبيت برامج بدون موافقة المستخدم وتثبيت برامج ضارة، مثل الفيروسات.

يمكنك الاطّلاع على مزيد من المعلومات هنا.

SOCIAL_ENGINEERING

نوع تهديد الهندسة الاجتماعية تدّعي صفحات الهندسة الاجتماعية زورًا التصرف نيابةً عن طرف ثالث بهدف إرباك المشاهدين وحثّهم على اتخاذ إجراء لا يثق المشاهد سوى في وكيل حقيقي تابع لهذه الجهة الخارجية. التصيّد الاحتيالي هو نوع من الهندسة الاجتماعية التي تخدع المُشاهد لحثّه على تنفيذ إجراء معيّن يتمثل في تقديم معلومات، مثل بيانات اعتماد تسجيل الدخول.

يمكنك الاطّلاع على مزيد من المعلومات هنا.

UNWANTED_SOFTWARE نوع تهديد البرامج غير المرغوب فيه البرامج غير المرغوب فيها هي أي برامج لا تلتزم بمبادئ البرمجيات في Google ولكنها ليست برامج ضارة.
POTENTIALLY_HARMFUL_APPLICATION نوع تهديد التطبيقات الذي قد يتسبّب بضرر الذي تستخدمه خدمات "Google Play للحماية" في "متجر Play"