الفهرس
SafeBrowsing
(واجهة)Checksum
(رسالة)ClientInfo
(رسالة)CompressionType
(تعداد)FetchThreatListUpdatesRequest
(رسالة)FetchThreatListUpdatesRequest.ListUpdateRequest
(رسالة)FetchThreatListUpdatesRequest.ListUpdateRequest.Constraints
(رسالة)FetchThreatListUpdatesResponse
(رسالة)FetchThreatListUpdatesResponse.ListUpdateResponse
(رسالة)FetchThreatListUpdatesResponse.ListUpdateResponse.ResponseType
(تعداد)FindFullHashesRequest
(رسالة)FindFullHashesResponse
(رسالة)FindThreatMatchesRequest
(رسالة)FindThreatMatchesResponse
(رسالة)ListThreatListsResponse
(رسالة)PlatformType
(تعداد)RawHashes
(رسالة)RawIndices
(رسالة)RiceDeltaEncoding
(رسالة)ThreatEntry
(رسالة)ThreatEntryMetadata
(رسالة)ThreatEntryMetadata.MetadataEntry
(رسالة)ThreatEntrySet
(رسالة)ThreatEntryType
(تعداد)ThreatInfo
(رسالة)ThreatListDescriptor
(رسالة)ThreatMatch
(رسالة)ThreatType
(تعداد)
SafeBrowsing
تتيح واجهات برمجة تطبيقات "التصفّح الآمن" للعملاء التحقّق من موارد الويب (عادةً عناوين URL) من خلال مقارنتها بقائمة يتم تعديلها باستمرار تضم مصادر الويب غير الآمنة. تتضمّن واجهات برمجة التطبيقات للتصفّح الآمن (الإصدار 4) Update API وLookup API.
تم تصميم Update API للعملاء الأكبر حجمًا، وتتضمّن الطريقتَين FindFullHashes وFetchThreatListUpdates . تتطلّب Update API أن يحتفظ العملاء بقوائم التهديدات التي تم تنزيلها في قاعدة بيانات محلية.
أولاً، تتم مطابقة العملاء مع قوائمهم المحلية لتحديد حالة مصدر ويب معيّن (آمن أو غير آمن). في أغلب الأحيان، تتألف القوائم من بادئات تجزئة لتعابير عناوين URL المُدرَجة في القائمة السوداء. للتحقّق من عنوان URL، ينشئ العملاء تجزئات لعنوان URL معيّن ويتحقّقون من تعارض البادئة في قوائمهم المحلية. وفي حال العثور على مطابقة بادئة، يحصل العميل على التجزئات الكاملة المرتبطة ببادئة التجزئة المطابقة من خلال طريقة FindFullHashes. بعد ذلك، يقارن العميل التجزئة الكاملة المحلية بالتجزئات الكاملة التي تم عرضها، ويشير التطابق إلى أنّ عنوان URL غير آمن.
ثانيًا، يحصل العملاء على تعديلات على قواعد بياناتهم المحلية من خلال طريقة FetchThreatListUpdates التي تأخذ الحالة الحالية للعميل وتُرجع حالة العميل المعدَّلة مع التغييرات التي يجب أن يطبّقها العميل على قوائم التهديدات المحلية.
تم تصميم Lookup API للعملاء الأصغر حجمًا، وتتيح لهم مطابقة الموارد مباشرةً مع قوائم التهديدات في "التصفّح الآمن" من خلال طريقة FindThreatMatches.
يمكن للعملاء الذين يستخدمون Update API أو Lookup API الحصول على قائمة بقوائم التهديدات في ميزة "التصفح الآمن" المتاحة للتنزيل من خلال طريقة ListThreatLists.
{-- TRUSTED_THREAT_REPORTER: يمكن لعميل التهديد الموثوق به إرسال تقارير إلى Google لتحليلها من خلال طريقة SubmitThreatReport. --}
FetchThreatListUpdates |
---|
تُستخدَم هذه الوظيفة لجلب آخر تعديلات على قائمة التهديدات. يمكن للعميل طلب تعديلات على قوائم متعددة في آنٍ واحد. |
FindFullHashes |
---|
يبحث عن التجزئات الكاملة التي تتطابق مع بادئات التجزئة المطلوبة. |
FindThreatMatches |
---|
يبحث عن إدخالات التهديدات التي تتطابق مع قوائم "التصفّح الآمن". |
ListThreatLists |
---|
يعرض هذا القسم قوائم التهديدات في ميزة "التصفّح الآمن" المتاحة للتنزيل. |
المجموع الاختباري
الحالة المتوقّعة لقاعدة بيانات العميل المحلية.
الحقول | |
---|---|
sha256 |
تجزئة SHA256 لحالة العميل، أي القائمة المرتبطة بجميع التجزئات المتوفّرة في قاعدة البيانات |
ClientInfo
البيانات الوصفية للعميل المرتبطة بطلبات واجهة برمجة التطبيقات Safe Browsing API
الحقول | |
---|---|
client_id |
رقم تعريف عميل يحدِّد بشكل فريد (على أمل ذلك) تنفيذ العميل لواجهة برمجة التطبيقات Safe Browsing API. |
client_version |
إصدار تنفيذ العميل. |
CompressionType
الطرق التي يمكن بها ضغط مجموعات إدخال التهديدات
عمليات التعداد | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
غير معروف. |
RAW |
البيانات الأولية غير المضغوطة |
RICE |
البيانات المشفّرة بترميز Rice-Golomb |
FetchThreatListUpdatesRequest
يصف هذا القسم طلب تعديل واجهة برمجة التطبيقات Safe Browsing API. يمكن للعملاء طلب تعديلات على قوائم متعددة في طلب واحد. قد لا يستجيب الخادم لجميع الطلبات إذا لم يكن لديه أي تعديلات لهذه القائمة. ملاحظة: فهرس الحقل 2 غير مستخدَم. التالي: 5
الحقول | |
---|---|
client |
البيانات الوصفية للعميل |
list_update_requests[] |
يتم تعديل قائمة التهديدات المطلوبة. |
ListUpdateRequest
طلب واحد لتعديل قائمة
الحقول | |
---|---|
threat_type |
نوع التهديد الذي تشكله الإدخالات المتوفّرة في القائمة |
platform_type |
نوع المنصة المعرضة للخطر حسب الإدخالات المتوفّرة في القائمة |
threat_entry_type |
أنواع الإدخالات المتوفّرة في القائمة |
state |
الحالة الحالية للعميل في القائمة المطلوبة (حالة العميل المشفّرة التي تمّ تلقّيها من آخر تعديل ناجح للقائمة). |
constraints |
القيود المرتبطة بهذا الطلب |
القيود
قيود هذا التعديل
الحقول | |
---|---|
max_update_entries |
الحد الأقصى للحجم حسب عدد الإدخالات لن يحتوي التعديل على إدخالات أكثر من هذه القيمة. يجب أن يكون هذا الرقم ناتجًا عن رفع العدد 2 إلى قوة بين 2**10 و2**20. إذا كان القيمة صفرًا، لن يتم ضبط حد أقصى لحجم التعديل. |
max_database_entries |
لضبط الحد الأقصى لعدد الإدخالات التي يريد العميل أن يتضمّنها قاعدة البيانات المحلية للقوائم المحدّدة. يجب أن يكون هذا الرقم ناتجًا عن رفع العدد 2 إلى قوة بين 2**10 و2**20. إذا كان القيمة صفر، لا يتم ضبط حد أقصى لحجم قاعدة البيانات. |
region |
تطلب القائمة لموقع جغرافي محدّد. في حال عدم ضبطها، قد يختار الخادم هذه القيمة استنادًا إلى عنوان IP الخاص بالمستخدم. يُفترض أن يكون التنسيق هو ISO 3166-1 alpha-2. |
supported_compressions[] |
أنواع الضغط المتوافقة مع العميل |
language |
يطلب القوائم بلغة معيّنة. يتوقّع التنسيق ISO 639 alpha-2. |
device_location |
الموقع الجغرافي للعميل، مُعبَّرًا عنه كرمز منطقة وفقًا لمعيار ISO 31166-1 alpha-2 |
FetchThreatListUpdatesResponse
الحقول | |
---|---|
list_update_responses[] |
تعديلات القائمة التي يطلبها العملاء قد يكون عدد الردود هنا أقل من عدد الطلبات التي أرسلها العملاء. يحدث ذلك، على سبيل المثال، إذا لم يكن لدى الخادم أي تعديلات لقائمة معيّنة. |
minimum_wait_duration |
الحد الأدنى لمدة الانتظار التي يجب أن ينتظرها العميل قبل إصدار أي طلب تعديل. في حال عدم ضبط هذا الحقل، يمكن للعملاء إجراء التعديلات متى شاؤوا. |
ListUpdateResponse
تعديل في قائمة فردية
الحقول | |
---|---|
threat_type |
نوع التهديد الذي يتم عرض البيانات عنه. |
threat_entry_type |
تنسيق التهديدات |
platform_type |
نوع النظام الأساسي الذي يتم عرض البيانات له. |
response_type |
نوع الردّ. قد يشير ذلك إلى أنّ العميل مطلوب منه اتّخاذ إجراء عند تلقّي الاستجابة. |
additions[] |
مجموعة من الإدخالات التي سيتمّ إضافتها إلى قائمة أنواع التهديدات المحلية يتم تكرار هذا الإجراء للسماح بإرسال مجموعة من البيانات المضغوطة والبيانات الأوّلية في ردّ واحد. |
removals[] |
مجموعة من الإدخالات التي يجب إزالتها من قائمة أنواع التهديدات المحلية في الممارسة العملية، يكون هذا الحقل فارغًا أو يحتوي على مجموعة ThreatEntrySet واحدة بالضبط. |
new_client_state |
حالة العميل الجديدة بتنسيق مشفَّر غير شفافة للعملاء |
checksum |
تجزئة SHA256 المتوقّعة لحالة العميل، أي القائمة المرتبطة بجميع التجزئات المتوفّرة في قاعدة البيانات بعد تطبيق التعديل المقدَّم. إذا لم تتطابق حالة العميل مع الحالة المتوقّعة، على العميل تجاهل هذا التعديل وإعادة المحاولة لاحقًا. |
ResponseType
نوع الاستجابة المُرسَلة إلى العميل.
عمليات التعداد | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
غير معروف. |
PARTIAL_UPDATE |
يتم تطبيق التعديلات الجزئية على قاعدة البيانات المحلية الحالية للعميل. |
FULL_UPDATE |
تستبدل التحديثات الكاملة قاعدة البيانات المحلية بالكامل للعميل. وهذا يعني أنّ العميل كان قديمًا جدًا أو أنّه تعذّر تحميله. |
FindFullHashesRequest
طلب عرض التجزئات الكاملة التي تتطابق مع بادئات التجزئة المقدَّمة
الحقول | |
---|---|
client |
البيانات الوصفية للعميل |
client_states[] |
حالات العميل الحالية لكل قائمة من قوائم التهديدات المحلية للعميل |
threat_info |
القوائم والدوالّ التجزئية التي يجب التحقّق منها |
api_client |
البيانات الوصفية للعميل المرتبطة بالمُتصلين بواجهات برمجة التطبيقات ذات المستوى الأعلى والمُنشأة على تنفيذ العميل |
FindFullHashesResponse
الحقول | |
---|---|
matches[] |
التجزئات الكاملة التي تطابقت مع البادئات المطلوبة |
minimum_wait_duration |
الحد الأدنى للمدة التي يجب أن ينتظرها العميل قبل إصدار أي طلب للعثور على التجزئات. في حال عدم ضبط هذا الحقل، يمكن للعملاء تقديم طلب في أي وقت يرونه مناسبًا. |
negative_cache_duration |
مدة تخزين الاستجابة مؤقتًا للكيانات المطلوبة التي لم تتطابق مع قائمة التهديدات |
FindThreatMatchesRequest
طلب التحقّق من الإدخالات مقارنةً بالقوائم
الحقول | |
---|---|
client |
البيانات الوصفية للعميل |
threat_info |
القوائم والإدخالات التي سيتم التحقّق منها بحثًا عن المطابقات |
FindThreatMatchesResponse
الحقول | |
---|---|
matches[] |
تتطابق قائمة التهديدات. |
ListThreatListsResponse
الحقول | |
---|---|
threat_lists[] |
القوائم المتاحة للتنزيل من قِبل العميل |
PlatformType
أنواع المنصات
عمليات التعداد | |
---|---|
PLATFORM_TYPE_UNSPECIFIED |
منصة غير معروفة |
WINDOWS |
التهديد الذي يشكّله هذا التهديد لنظام التشغيل Windows |
LINUX |
التهديد الذي يشكّله هذا التهديد لنظام التشغيل Linux |
ANDROID |
التهديد الذي يشكّله التطبيق لنظام التشغيل Android |
OSX |
تهديد يشكّله نظام التشغيل OS X |
IOS |
تهديد يواجه نظام التشغيل iOS |
ANY_PLATFORM |
التهديد الذي يشكّله الخطر على نظام أساسي واحد على الأقل من الأنظمة الأساسية المحدّدة |
ALL_PLATFORMS |
التهديد الذي يشكّله المحتوى لجميع المنصات المحدّدة |
CHROME |
التهديد الذي يواجهه Chrome |
RawHashes
إدخالات التهديدات غير المضغوطة بتنسيق تجزئة بطول بادئة معيّن يمكن أن يتراوح حجم السلسلة المحوَّلة إلى رمز بين 4 و32 بايت. وغالبًا ما تكون 4 بايت، ولكن يتم إطالة بعض التجزئات إذا تطابقت مع تجزئة عنوان URL شائع.
تُستخدَم لإرسال ThreatEntrySet إلى العملاء الذين لا يتيحون ميزة الضغط، أو عند إرسال تجزئات غير تجزئات 4 بايت إلى العملاء الذين يتيحون ميزة الضغط.
الحقول | |
---|---|
prefix_size |
عدد البايتات لكل بادئة تم ترميزها أدناه. يمكن أن يتراوح طول هذا الحقل بين 4 (أقصر بادئة) و32 (تجزئة SHA256 الكاملة). |
raw_hashes |
التجزئات بتنسيق ثنائي، والتي تم تجميعها في سلسلة طويلة واحدة يتم ترتيب العلامات التجزئية بترتيب أبجدي. بالنسبة إلى مستخدمي واجهة برمجة التطبيقات JSON API، يتم ترميز التجزئات باستخدام ترميز base64. |
RawIndices
مجموعة من الفهارس الأوّلية المطلوب إزالتها من قائمة محلية
الحقول | |
---|---|
indices[] |
الفهرس المطلوب إزالته من قائمة محلية مرتبة أبجديًا |
RiceDeltaEncoding
البيانات المشفّرة بترميز Rice-Golomb تُستخدَم لإرسال تجزئات مضغوطة من 4 بايت أو مؤشرات إزالة مضغوطة.
الحقول | |
---|---|
first_value |
فهرس الإدخال الأول في البيانات المشفَّرة، أو قيمة هذا العدد الصحيح الفردي في حال تم ترميز عدد صحيح واحد فقط. إذا كان الحقل فارغًا أو غير متوفّر، افترض القيمة صفر. |
rice_parameter |
مَعلمة Golomb-Rice، وهي عدد يتراوح بين 2 و28 لا يتوفّر هذا الحقل (أي القيمة صفر) إذا كانت |
num_entries |
عدد الإدخالات التي تم تشفيرها باستخدام ترميز دلتا في البيانات المشفَّرة. إذا تم ترميز عدد صحيح واحد فقط، سيكون هذا العنصر هو الصفر وسيتم تخزين القيمة الواحدة في |
encoded_data |
القيم المتزايدة التي تم ترميزها باستخدام ترميز Golomb-Rice |
ThreatEntry
تهديد فردي، مثل عنوان URL ضار أو تمثيل التجزئة يجب ضبط حقل واحد فقط من هذه الحقول.
الحقول | |
---|---|
hash |
بادئة تجزئة تتألف من 4 إلى 32 بايتًا الأكثر أهمية من تجزئة SHA256 هذا الحقل بتنسيق ثنائي. بالنسبة إلى طلبات JSON، يتم ترميز التجزئات بترميز base64. |
url |
عنوان URL |
digest |
الملخّص الخاص بملف قابل للتنفيذ بتنسيق SHA256 تتيح واجهة برمجة التطبيقات كلاً من الملخّصات الثنائية والسادسة عشرية. بالنسبة إلى طلبات JSON، يتم ترميز الملخّصات بترميز base64. |
ThreatEntryMetadata
البيانات الوصفية المرتبطة بإدخال تهديد معيّن من المتوقّع أن يعرف العميل أزواج مفتاح/قيمة البيانات الوصفية المرتبطة بكل نوع من أنواع التهديدات.
الحقول | |
---|---|
entries[] |
إدخالات البيانات الوصفية |
MetadataEntry
إدخال بيانات وصفية واحد
الحقول | |
---|---|
key |
مفتاح إدخال البيانات الوصفية بالنسبة إلى طلبات JSON، يتم ترميز المفتاح بترميز base64. |
value |
قيمة إدخال البيانات الوصفية بالنسبة إلى طلبات JSON، يتم ترميز القيمة باستخدام base64. |
ThreatEntrySet
مجموعة من التهديدات التي يجب إضافتها أو إزالتها من قاعدة بيانات العميل المحلية
الحقول | |
---|---|
compression_type |
نوع الضغط للعناصر في هذه المجموعة. |
raw_hashes |
الإدخالات الأولية بتنسيق SHA256 |
raw_indices |
مؤشرات الإزالة الأوّلية لقائمة محلية |
rice_hashes |
البادئات المشفّرة المكونة من 4 بايت للعناصر بتنسيق SHA256، باستخدام ترميز Golomb-Rice يتم تحويل التجزئات إلى uint32، ويتم ترتيبها بترتيب تصاعدي، ثم يتم ترميزها باستخدام ترميز delta وتخزينها كـ encoded_data. |
rice_indices |
مؤشرات القوائم المحلية المرمّزة والمرتَّبة أبجديًا باستخدام ترميز Golomb-Rice يُستخدَم لإرسال مؤشرات الإزالة المضغوطة. يتم ترتيب مؤشرات الإزالة (uint32) بترتيب تصاعدي، ثم يتم ترميزها باستخدام ترميز delta وتخزينها كـ encoded_data. |
ThreatEntryType
أنواع الإدخالات التي تشكل تهديدات قوائم التهديدات هي مجموعات من الإدخالات من نوع واحد.
عمليات التعداد | |
---|---|
THREAT_ENTRY_TYPE_UNSPECIFIED |
غير محدد |
URL |
عنوان URL |
EXECUTABLE |
برنامج قابل للتنفيذ |
ThreatInfo
المعلومات المتعلّقة بتهديد واحد أو أكثر يرسلها العميل عند البحث عن المطابقات في قوائم التهديدات
الحقول | |
---|---|
threat_types[] |
أنواع التهديدات المطلوب التحقّق منها |
platform_types[] |
أنواع المنصات المطلوب التحقّق منها |
threat_entry_types[] |
أنواع الإدخالات المطلوب التحقّق منها |
threat_entries[] |
إدخالات التهديدات المطلوب التحقّق منها |
ThreatListDescriptor
يصف قائمة تهديدات فردية. يتم تحديد القائمة من خلال ثلاث مَعلمات: نوع التهديد الذي يشكّله، ونوع المنصة التي يستهدفها التهديد، ونوع الإدخالات في القائمة.
الحقول | |
---|---|
threat_type |
نوع التهديد الذي تشكله إدخالات القائمة |
platform_type |
نوع المنصة المستهدَف ببيانات القائمة. |
threat_entry_type |
أنواع الإدخالات الواردة في القائمة |
ThreatMatch
تطابق عند التحقّق من إدخال تهديد في قوائم التهديدات في ميزة "التصفّح الآمن"
الحقول | |
---|---|
threat_type |
نوع التهديد المطابق لهذا التهديد |
platform_type |
نوع المنصة الذي يتطابق مع هذا التهديد |
threat_entry_type |
نوع إدخال التهديد الذي يتطابق مع هذا التهديد. |
threat |
التهديد المطابق لهذا التهديد |
threat_entry_metadata |
بيانات وصفية اختيارية مرتبطة بهذه التهديد |
cache_duration |
مدة التخزين المؤقت للمطابقة التي تم عرضها. يجب ألا يخزِّن العملاء هذا الردّ في ذاكرة التخزين المؤقت لأكثر من هذه المدة لتجنُّب النتائج الإيجابية الزائفة. |
ThreatType
أنواع التهديدات
عمليات التعداد | |
---|---|
THREAT_TYPE_UNSPECIFIED |
غير معروف. |
MALWARE |
نوع تهديد البرامج الضارة |
SOCIAL_ENGINEERING |
نوع التهديد الناتج عن الهندسة الاجتماعية |
UNWANTED_SOFTWARE |
نوع التهديد بالبرامج غير المرغوب فيها |
POTENTIALLY_HARMFUL_APPLICATION |
نوع التهديد الذي يمثله التطبيق الذي قد يتسبّب بضرر |