जब क्लाइंट, Google Safe Browsing v5 को रीयल-टाइम मोड में इस्तेमाल करते हैं, तो वे अपने लोकल डेटाबेस में ये चीज़ें सेव करते हैं: (i) ऐसी साइटों का ग्लोबल कैश मेमोरी जो शायद सुरक्षित हों. इन्हें होस्ट-सफ़िक्स/पाथ-प्रीफ़िक्स यूआरएल एक्सप्रेशन के SHA256 हैश के तौर पर फ़ॉर्मैट किया जाता है, (ii) खतरों की सूचियों का एक सेट. इन्हें होस्ट-सफ़िक्स/पाथ-प्रीफ़िक्स यूआरएल एक्सप्रेशन के SHA256 हैश प्रीफ़िक्स के तौर पर फ़ॉर्मैट किया जाता है. इसका मतलब यह है कि जब भी क्लाइंट को किसी यूआरएल की जांच करनी होती है, तब संभावित रूप से सुरक्षित साइटों की ग्लोबल कैश मेमोरी का इस्तेमाल करके स्थानीय जांच की जाती है. अगर मिलान होता है, तो स्थानीय थ्रेट लिस्ट की जांच की जाती है. इसके लिए, लोकल लिस्ट मोड में बताई गई प्रक्रिया का इस्तेमाल किया जाता है. अगर कोई मैच नहीं होता है, तो क्लाइंट, रीयल-टाइम हैश की जांच जारी रखता है. इसके बारे में यहां बताया गया है.
क्लाइंट, लोकल डेटाबेस के साथ-साथ लोकल कैश मेमोरी भी बनाए रखेगा. इस तरह की लोकल कैश को परसिस्टेंट स्टोरेज में सेव करने की ज़रूरत नहीं होती. साथ ही, मेमोरी पर दबाव पड़ने पर इसे मिटाया जा सकता है.
इस प्रक्रिया के बारे में ज़्यादा जानकारी यहां दी गई है.
रीयल-टाइम में यूआरएल की जांच करने की प्रोसेस
यह तरीका, एक यूआरएल u लेता है और SAFE, UNSAFE या UNSURE दिखाता है. अगर यह SAFE दिखाता है, तो इसका मतलब है कि Google Safe Browsing के हिसाब से यूआरएल सुरक्षित है. अगर यह UNSAFE दिखाता है, तो इसका मतलब है कि Google सुरक्षित ब्राउज़िंग के हिसाब से यूआरएल संभावित रूप से असुरक्षित है. इसलिए, ज़रूरी कार्रवाई की जानी चाहिए. जैसे, असली उपयोगकर्ता को चेतावनी दिखाना, मिले हुए मैसेज को स्पैम फ़ोल्डर में ले जाना या आगे बढ़ने से पहले उपयोगकर्ता से अतिरिक्त पुष्टि कराना. अगर यह UNSURE दिखाता है, तो इसके बाद स्थानीय सूची मोड का इस्तेमाल किया जाना चाहिए.
- मान लें कि
expressions, यूआरएलuसे जनरेट किए गए प्रत्यय/उपसर्ग एक्सप्रेशन की सूची है. - मान लें कि
expressionHashesएक सूची है, जिसमें एलिमेंट,expressionsमें मौजूद हर एक्सप्रेशन के SHA256 हैश हैं. expressionHashesके हरhashके लिए:- अगर
hashको ग्लोबल कैश में खोजा जा सकता है, तोUNSUREदिखाएं.
- अगर
- मान लें कि
expressionHashPrefixesएक सूची है. इसमें मौजूद एलिमेंट,expressionHashesमें मौजूद हर हैश के पहले चार बाइट हैं. expressionHashPrefixesके हरexpressionHashPrefixके लिए:- स्थानीय कैश में
expressionHashPrefixको ढूंढें. - अगर कैश मेमोरी में सेव की गई एंट्री मिल जाती है, तो:
- यह कुकी यह तय करती है कि मौजूदा समय, कुकी के खत्म होने के समय से ज़्यादा है या नहीं.
- अगर यह ज़्यादा है, तो:
- लोकल कैश से, मिली हुई कैश की गई एंट्री हटाएं.
- लूप जारी रखें.
- अगर यह संख्या ज़्यादा नहीं है, तो:
expressionHashPrefixesसे इसexpressionHashPrefixको हटाएं.- देखें कि
expressionHashesमें मौजूद पूरा हैश, कैश मेमोरी में सेव की गई एंट्री में मौजूद है या नहीं. - अगर यह संख्या मिलती है, तो
UNSAFEदिखाएं. - अगर नहीं मिलता है, तो लूप जारी रखें.
- अगर कैश मेमोरी में सेव की गई एंट्री नहीं मिलती है, तो लूप जारी रखें.
- स्थानीय कैश में
- RPC SearchHashes या REST तरीके hashes.search का इस्तेमाल करके,
expressionHashPrefixesको Google Safe Browsing v5 सर्वर पर भेजें. अगर कोई गड़बड़ी हुई है (जैसे, नेटवर्क की गड़बड़ियां, एचटीटीपी गड़बड़ियां वगैरह), तोUNSUREदिखाएं. अगर ऐसा नहीं होता है, तो एसबी सर्वर से मिलेresponseको रिस्पॉन्स के तौर पर सेट करें. यह पूरी हैश की सूची होती है. इसमें कुछ अन्य जानकारी भी शामिल होती है, जिससे खतरे के बारे में पता चलता है. जैसे, सोशल इंजीनियरिंग, मैलवेयर वगैरह. साथ ही, इसमें कैश मेमोरी के खत्म होने का समयexpirationभी शामिल होता है. responseके हरfullHashके लिए:fullHashको लोकल कैश में डालें. साथ ही,expirationको भी डालें.
responseके हरfullHashके लिए:- मान लें कि
expressionHashesमेंfullHashको ढूंढने परisFoundनतीजा मिलता है. - अगर
isFoundकी वैल्यू False है, तो लूप जारी रखें. - अगर
isFoundसही है, तोUNSAFEदिखाएं.
- मान लें कि
- वापसी की तारीख:
SAFE.
यह प्रोटोकॉल बताता है कि क्लाइंट, सर्वर को expressionHashPrefixes कब भेजता है. हालांकि, यह प्रोटोकॉल जान-बूझकर यह नहीं बताता कि उन्हें कैसे भेजा जाए. उदाहरण के लिए, क्लाइंट के लिए यह स्वीकार्य है कि वह एक ही अनुरोध में सभी expressionHashPrefixes भेजे. साथ ही, क्लाइंट के लिए यह भी स्वीकार्य है कि वह expressionHashPrefixes में मौजूद हर प्रीफ़िक्स को सर्वर पर अलग-अलग अनुरोधों में भेजे. ऐसा हो सकता है कि वह ऐसा एक साथ कर रहा हो. क्लाइंट, expressionHashPrefixes में मौजूद हैश प्रीफ़िक्स के साथ-साथ, मिलते-जुलते या रैंडम तरीके से जनरेट किए गए हैश प्रीफ़िक्स भी भेज सकता है. हालांकि, यह ज़रूरी है कि एक अनुरोध में भेजे गए हैश प्रीफ़िक्स की संख्या 30 से ज़्यादा न हो.