Real Time Mode

İ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.

  1. expressions, u URL'si tarafından oluşturulan sonek/önek ifadelerinin listesi olsun.
  2. expressionHashes, öğeleri expressions içindeki her ifadenin SHA256 karmaları olan bir liste olsun.
  3. expressionHashes için her hash:
    1. hash genel önbellekte bulunabiliyorsa UNSURE değerini döndürün.
  4. expressionHashPrefixes, öğeleri expressionHashes içindeki her karma oluşturma işleminin ilk 4 baytı olan bir liste olsun.
  5. expressionHashPrefixes için her expressionHashPrefix:
    1. Yerel önbellekte expressionHashPrefix öğesini arayın.
    2. Önbelleğe alınan giriş bulunursa:
      1. Geçerli zamanın, geçerlilik bitiş zamanından daha büyük olup olmadığını belirler.
      2. Bu değer daha büyükse:
        1. Bulunan önbelleğe alınmış girişi yerel önbellekten kaldırın.
        2. Döngüye devam edin.
      3. Değer daha büyük değilse:
        1. Bu expressionHashPrefix öğesini expressionHashPrefixes hesabından kaldırın.
        2. expressionHashes içindeki ilgili tam karma değerinin, önbelleğe alınmış girişte bulunup bulunmadığını kontrol edin.
        3. Bulunursa UNSAFE değerini döndürür.
        4. Bulunamazsa döngüye devam edin.
    3. Önbelleğe alınmış giriş bulunamazsa döngüye devam edin.
  6. RPC SearchHashes veya REST yöntemi hashes.search kullanarak expressionHashPrefixes değerini Google Güvenli Tarama v5 sunucusuna gönderin. Bir hata oluştuysa (ağ hataları, HTTP hataları vb. dahil) UNSURE değerini döndürün. Aksi takdirde, yanıtın SB sunucusundan alınan response olması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ır expiration.
  7. response için her fullHash:
    1. fullHash ile birlikte expiration öğesini yerel önbelleğe ekleyin.
  8. response için her fullHash:
    1. isFound, expressionHashes içinde fullHash bulunmasının sonucu olsun.
    2. isFound değeri False ise döngüye devam edin.
    3. isFound doğruysa UNSAFE değerini döndürür.
  9. 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.