İ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, muhtemelen zararsız sitelerin global önbelleği kullanılarak yerel bir kontrolün gerçekleştirilmesidir. Eşleşme varsa yerel tehdit listeleri kontrolü yapılır (Yerel Liste Modu'nda ayrıntılı olarak açıklanan prosedür kullanılarak). Eşleşme yoksa istemci, aşağıda ayrıntılı olarak açıklandığı şekilde 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 olmadığı 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 Yerel Liste Modu 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:hashgenel ö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
expressionHashPrefixöğesini arayın. - Önbelleğe alınan giriş bulunursa:
- Geçerli zamanın, geçerlilik bitiş zamanından daha büyük olup olmadığını belirler.
- Bu değer daha büyükse:
- 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
expressionHashPrefixesdeğerini 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 verilir. Bu, tehdidin doğasını (sosyal mühendislik, kötü amaçlı yazılım vb.) tanımlayan bazı yardımcı bilgilerle birlikte tam karma 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.
- Dönüş
SAFE.
Bu protokol, istemcinin expressionHashPrefixes öğesini 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.