Google Güvenli Tarama v5'in v4'e (özellikle v4 Güncelleme API'si) kıyasla önemli bir iyileştirmesi, verilerin güncelliği ve kapsamıdır. Koruma büyük ölçüde istemci tarafından tutulan yerel veritabanına bağlı olduğundan, yerel veritabanı güncellemesinin gecikmesi ve boyutu, korumanın kaçırılmasının temel nedenidir. v4'te, istemcinin tehdit listelerinin en güncel sürümünü alması genellikle 20 ila 50 dakika sürer. Maalesef kimlik avı saldırıları hızla yayılıyor. 2021 itibarıyla, saldırı gerçekleştiren sitelerin% 60'ı 10 dakikadan kısa süre içinde yayılıyor. Analizimiz, eksik kimlik avı korumasının yaklaşık% 25-30'unun bu tür veri eskimesinden kaynaklandığını gösteriyor. Ayrıca, bazı cihazlar Google Güvenli Tarama tehdit listelerinin tamamını yönetebilecek donanıma sahip değildir. Bu listeler zaman içinde büyümeye devam etmektedir.
Şu anda v4 Update API'yi kullanıyorsanız yerel veritabanını sıfırlamanız veya silmeniz gerekmeden v4'ten v5'e sorunsuz bir şekilde geçiş yapabilirsiniz. Bu bölümde, bu işlemin nasıl yapılacağı açıklanmaktadır.
Liste güncellemelerini dönüştürme
Listelerin tehdit türü, platform türü ve tehdit girişi türü üçlüsüyle tanımlandığı V4'ten farklı olarak, V5'te listeler yalnızca adla tanımlanır. Bu, birden fazla v5 listesinin aynı tehdit türünü paylaşabileceği durumlarda esneklik sağlar. Platform türleri ve tehdit girişi türleri v5'te kaldırıldı.
v4'te listeleri indirmek için threatListUpdates.fetch yöntemi kullanılır. V5'te hashLists.batchGet yöntemine geçilir.
İstek üzerinde aşağıdaki değişiklikler yapılmalıdır:
- v4
ClientInfonesnesini tamamen kaldırın. İstemcinin kimliğini özel bir alan kullanarak sağlamak yerine, iyi bilinen User-Agent üst bilgisini kullanmanız yeterlidir. Bu başlıkta istemci tanımlamasının sağlanması için belirlenmiş bir biçim olmasa da orijinal istemci kimliğini ve istemci sürümünü aralarında bir boşluk karakteri veya eğik çizgi karakteri olacak şekilde eklemenizi öneririz. - Her v4
ListUpdateRequestnesnesi için: * Kullanılabilir listelerden ilgili v5 liste adını bulun ve bu adı v5 isteğinde sağlayın.threat_entry_typeveyaplatform_typegibi gereksiz alanları kaldırın.- V4'teki
statealanı, V5'tekiversionsalanı ile doğrudan uyumludur. v4'tekistatealanı kullanılarak sunucuya gönderilen aynı bayt dizesi, v5'teversionsalanı kullanılarak kolayca gönderilebilir. - V5, v4 kısıtlamaları için
SizeConstraintsadlı basitleştirilmiş bir sürümü kullanır.regiongibi ek alanlar bırakılmalıdır.
Yanıt aşağıdaki şekilde değiştirilmelidir:
- V4 enum
ResponseType,partial_updateadlı bir boolean alanıyla değiştirilir. minimum_wait_durationalanı artık sıfır olabilir veya atlanabilir. Bu durumda, istemciden hemen başka bir istekte bulunması istenir. Bu durum yalnızca istemci,SizeConstraintsiçinde maksimum veritabanı boyutundan daha küçük bir maksimum güncelleme boyutu kısıtlaması belirttiğinde meydana gelir.- Rice-Golomb kodlu karma değerlerin kodunu çözme mantığı için iki ana düzenleme gerekir:
- Bayt Sırası ve Sıralama: v4'te döndürülen karma değerler, küçük bayt sıralı değerler olarak sıralanıyordu. v5'te büyük endian değerleri olarak kabul edilirler. Bayt dizelerinin sözlükbilimsel olarak sıralanması, büyük endian değerlerinin sayısal olarak sıralanmasına eşdeğer olduğundan istemcilerin artık özel bir sıralama adımı gerçekleştirmesi gerekmez. Chromium v4 uygulamasındaki gibi özel küçük endian sıralama, daha önce uygulanmışsa kaldırılabilir.
- Değişken Karma Uzunlukları: Kod çözme algoritması, yalnızca v4'te kullanılan dört baytlık karma uzunluğu değil,
HashList.compressed_additionsalanında döndürülebilecek çeşitli karma uzunluklarını destekleyecek şekilde güncellenmelidir. Yanıtla döndürülen karma değerlerin uzunluğu,hashLists.list'dan döndürülenHashList.metadata.hash_length'ye göre belirlenebilir. Alternatif olarak, istenen karma listesinin adlandırılması, listeden döndürülen beklenen karma boyutlarını da gösterir. Karma listeleri hakkında daha fazla bilgi için Yerel Veritabanı sayfasına bakın.
Karma Arama Dönüşümleri
v4'te tam karma değerleri almak için fullHashes.find yöntemi kullanılırdı. v5'teki eşdeğer yöntem the hashes.search method'dur.
İstek üzerinde aşağıdaki değişiklikler yapılmalıdır:
- Kodu, yalnızca tam olarak 4 bayt uzunluğunda olan karma öneklerini gönderecek şekilde yapılandırın.
- v4
ClientInfonesnelerini tamamen kaldırın. İstemcinin kimliğini özel bir alan kullanarak sağlamak yerine, iyi bilinen User-Agent üst bilgisini kullanmanız yeterlidir. Bu başlıkta istemci tanımlamasının sağlanması için belirlenmiş bir biçim olmasa da orijinal istemci kimliğini ve istemci sürümünü aralarında bir boşluk karakteri veya eğik çizgi karakteri olacak şekilde eklemenizi öneririz. client_statesalanını kaldırın. Artık gerekli değil.threat_typesve benzer alanları eklemenize gerek yoktur.
Yanıt aşağıdaki şekilde değiştirilmelidir:
minimum_wait_durationalanı kaldırıldı. İstemci, gerektiğinde her zaman yeni bir istek gönderebilir.- v4
ThreatMatchnesnesi,FullHashnesnesi olarak basitleştirildi. - Önbelleğe alma, tek bir önbellek süresiyle basitleştirildi. Önbellekle etkileşim kurma prosedürlerini yukarıda bulabilirsiniz.