İstemciler, Google Güvenli Tarama v5'i gerçek zamanlı modda kullanmayı seçtiğinde yerel veritabanlarında şunları tutar: (i) ana makine soneki/yol öneki URL ifadelerinin SHA256 karmaları olarak biçimlendirilmiş, muhtemelen zararsız sitelerin genel önbelleği, (ii) ana makine soneki/yol öneki URL ifadelerinin SHA256 karma önekleri olarak biçimlendirilmiş bir dizi tehdit listesi. Temel fikir, istemci belirli bir URL'yi kontrol etmek istediğinde Global Önbellek kullanılarak yerel bir kontrolün gerçekleştirilmesidir. Bu kontrol başarılı olursa yerel tehdit listeleri kontrolü yapılır. Aksi takdirde, istemci aşağıda ayrıntılı olarak açıklandığı gibi gerçek zamanlı karma kontrolüyle devam eder.
İstemci, yerel veritabanının yanı sıra yerel bir önbellek de tutar. Bu tür bir yerel önbelleğin kalıcı depolama alanında olması gerekmez ve bellek baskısı durumunda temizlenebilir.
İşlemle ilgili ayrıntılı bilgiyi aşağıda bulabilirsiniz.
Gerçek Zamanlı URL Kontrolü Prosedürü
Bu prosedür tek bir URL u alır ve SAFE, UNSAFE veya UNSURE döndürür. SAFE döndürülürse URL, Google Güvenli Tarama tarafından güvenli kabul edilir. UNSAFE döndürülürse URL, Google Güvenli Tarama tarafından potansiyel olarak güvenli değil kabul edilir ve uygun işlem yapılmalıdır. Örneğin, son kullanıcıya uyarı gösterme, alınan bir mesajı spam klasörüne taşıma veya devam etmeden önce kullanıcıdan ek onay isteme gibi. UNSURE döndürülürse daha sonra aşağıdaki yerel kontrol prosedürü kullanılmalıdır.
expressions,uURL'si tarafından oluşturulan sonek/önek ifadelerinin listesi olsun.expressionHashes, öğeleriexpressionsiçindeki her ifadenin SHA256 karmaları olan bir liste olsun.expressionHashesiçin herhash:hash, genel önbellekte bulunabiliyorsaUNSUREdeğerini döndürün.
expressionHashPrefixes, öğeleriexpressionHashesiçindeki her karma oluşturma işleminin ilk 4 baytı olan bir liste olsun.expressionHashPrefixesiçin herexpressionHashPrefix:- Yerel önbellekte
expressionHashPrefixadresini arayın. - Önbelleğe alınan giriş bulunursa:
- Geçerli zamanın, geçerlilik bitiş zamanından büyük olup olmadığını belirler.
- Bu değer daha yüksekse:
- Bulunan önbelleğe alınmış girişi yerel önbellekten kaldırın.
- Döngüye devam edin.
- Değer daha büyük değilse:
- Bu
expressionHashPrefixöğesiniexpressionHashPrefixeshesabından kaldırın. expressionHashesiçindeki ilgili tam karma değerinin, önbelleğe alınmış girişte bulunup bulunmadığını kontrol edin.- Bulunursa
UNSAFEdeğerini döndürür. - Bulunamazsa döngüye devam edin.
- Bu
- Önbelleğe alınmış giriş bulunamazsa döngüye devam edin.
- Yerel önbellekte
- RPC SearchHashes veya REST yöntemi hashes.search kullanarak
expressionHashPrefixesöğesini Google Güvenli Tarama v5 sunucusuna gönderin. Bir hata oluştuysa (ağ hataları, HTTP hataları vb. dahil)UNSUREdeğerini döndürün. Aksi takdirde, yanıtın SB sunucusundan alınanresponseolmasına izin verin. Bu, tehdidin doğasını (sosyal mühendislik, kötü amaçlı yazılım vb.) tanımlayan bazı yardımcı bilgilerle birlikte tam karmaların listesi ve önbelleğin geçerlilik bitiş zamanıdırexpiration. responseiçin herfullHash:fullHashile birlikteexpirationöğesini yerel önbelleğe ekleyin.
responseiçin herfullHash:isFound,expressionHashesiçindefullHashbulunmasının sonucu olsun.isFounddeğeri False ise döngüye devam edin.isFounddoğruysaUNSAFEdeğerini döndürür.
- İade
SAFE.
Bu protokol, istemcinin expressionHashPrefixes değerini sunucuya ne zaman göndereceğini belirtse de bunları tam olarak nasıl göndereceğini belirtmez. Örneğin, istemcinin tüm expressionHashPrefixes değerlerini tek bir istekte göndermesi kabul edilebilir. Ayrıca, istemcinin expressionHashPrefixes içindeki her bir öneki sunucuya ayrı isteklerde (belki paralel olarak) göndermesi de kabul edilebilir. Tek bir istekte gönderilen karma ön eklerinin sayısı 30'u aşmadığı sürece, istemcinin expressionHashPrefixes içindeki karma ön ekleriyle birlikte alakasız veya rastgele oluşturulmuş karma ön ekleri göndermesi de kabul edilebilir.