Bu belge aşağıdaki yöntemler için geçerlidir:
Önbelleğe alma hakkında
İstemci bant genişliği kullanımını azaltmak ve Google'ı ani trafik artışlarından korumak için
Tehdit verilerinin yerel bir önbelleğini oluşturmak ve sürdürmek için Lookup API ve Update API gerekir.
Lookup API için önbellek, threatMatches
sayısını azaltmak amacıyla kullanılır.
ve müşterilerin Google'a gönderdiği istekler. Update API için önbellek, kullanıcı tarafından görüntülenmiş
fullHashes
istemcilerin Google'a gönderdiği isteklerdir. Her API için önbelleğe alma protokolü
öğrenebilirsiniz.
Lookup API
Lookup API istemcileri, döndürülen her ThreatMatch
öğesini tanımlanan süre boyunca önbelleğe almalıdır
. Müşterilerin daha sonra manuel bir yapılandırma yapmadan önce önbelleğe bakması gerekir.
Sunucuya threatMatches
isteği. Daha önce döndürülen bir ThreatMatch
için önbellek süresi
süresi henüz dolmamışsa istemci, öğenin hâlâ güvenli olmadığını varsaymalıdır. ThreatMatch
öğe önbelleğe alınıyor
istemci tarafından yapılan API isteklerinin sayısını azaltabilir.
Örnek: ThreatMatches.find
Örneklerin tamamı için tablo başlığındaki istek ve yanıt bağlantılarını tıklayın.
URL Kontrolü threatMatch'ler İsteği |
URL eşleşmesi threatMatches Yanıtı |
Önbelleğe Alma Davranışı |
---|---|---|
"threatEntries": [ {"url": "http://www.urltocheck.org/"} ] |
"matches": [{ "threat": {"url": "http://www.urltocheck.org/"}, "cacheDuration": "300.000s" }] |
Eşleşme . İstemci, şunu içeren yeni bir threatMatches isteği göndermeden önce 5 dakika beklemelidir:
URL http://www.urltocheck.org/.
|
Update API
Müşteriler, Update API'yi kullanarak Google'a gönderilen fullHashes
isteklerinin toplam sayısını azaltmak amacıyla
yerel bir önbellek sağlamak için gereklidir. API, pozitif ve negatif olmak üzere iki tür önbelleğe alma oluşturur.
Pozitif önbelleğe alma
Müşterilerin belirli bir güvenli olmayan tam karmanın durumunu sürekli olarak sormasını önlemek için
döndürülen her ThreatMatch
pozitif bir önbellek süresi içerir (cacheDuration
alanı tarafından tanımlanır),
Bu değer, tam karmanın ne kadar süre boyunca "güvenli değil" olarak kabul edileceğini gösterir.
Negatif önbelleğe alma
Müşterilerin belirli bir güvenli tam karmanın durumunu sürekli olarak sormasını önlemek için
her fullHashes
yanıtı, istenen ön ek için negatif bir önbellek süresi tanımlar (
negativeCacheDuration
alanı) tıklayın. Bu süre, istenen
önekleri, sunucu tarafından
güvenli değil. Önbelleğe alma, kaynaklanabilecek trafik yükünü önlediği için özellikle önemlidir
çok fazla trafik alan güvenli bir URL ile karma ön ek çakışması nedeniyle.
Önbelleğe alma
Müşteri bir URL'nin durumunu kontrol etmek istediğinde önce tam karma değerini hesaplar. Eğer
karmanın öneki yerel veritabanında bulunuyorsa istemci, kullanmadan önce
sunucuya bir fullHashes
isteği gönderiliyor.
İlk olarak, müşteriler pozitif bir önbellek isabeti olup olmadığını kontrol etmelidir. Süresi dolmamış pozitif önbellek varsa
girilmediği sürece, bu giriş güvenli olarak değerlendirilmemelidir. Pozitif önbellek girişi
süresi dolduysa istemcinin, ilişkilendirilen yerel önek için bir fullHashes
isteği göndermesi gerekir.
protokolü, sunucu tam karma değeri döndürürse güvenli olmayan kabul edilir; Aksi takdirde,
güvenli.
Tam karma için pozitif önbellek girişleri yoksa istemci,
önbellek isabeti. İlişkili yerel önek için süresi dolmamış bir negatif önbellek girişi varsa
tam karma güvenli kabul edilir. Negatif önbellek girişinin süresi dolmuşsa veya giriş yoksa istemci
ilişkilendirilen yerel önek için bir fullHashes
isteği göndermeli ve yanıtı normal olarak yorumlamalıdır.
Önbelleği güncelleme
fullHashes
yanıtı her alındığında istemci önbelleği güncellenmelidir. Pozitif önbellek
girişi, cacheDuration
alanına göre tam karma için oluşturulmalı veya güncellenmelidir. Karma ön eki
negatif önbellek süresi de yanıtın negativeCacheDuration
değerine göre oluşturulmalı veya güncellenmelidir.
girin.
Sonraki bir fullHashes
isteği şu anda pozitif olan tam bir karma döndürmezse
önbelleğe alınmışsa istemcinin pozitif önbellek girişini kaldırması gerekmez. Bu endişe edilecek bir durum değil
kısa süreli tarama için kısa (birkaç dakika)
olduğundan, pozitif önbellek süreleri
yanlış pozitiflerin düzeltmesi.
Örnek senaryo
Aşağıdaki örnekte h(url) kodunun URL'nin karma öneki ve H(url) kodunun ise URL'nin tam uzunluktaki karmasını kullanın. Yani, h(url) = SHA256(url).substr(4), H(url) = SHA256(url).
Şimdi, bir istemcinin (önbelleği boş olan) example.com/ adresini ziyaret ettiğini ve h(example.com/) adresinin yerel veritabanında bulunabilir. İstemci h(example.com/) karma öneki için tam uzunlukta karmaları ister. ve tam uzunluktaki karma H(example.com/) öğesini, 5 pozitif önbellek süresiyle birlikte geri alır. dakika ve 1 saatlik negatif önbellek süresi.
5 dakikalık pozitif önbellek süresi, istemciye tam uzunluktaki karmanın ne kadar sürdüğünü bildirir.
Başka bir fullHashes
isteği gönderilmeden H(example.com/) güvenli olmadığı kabul edilmelidir. 5'ten sonra
dakika içinde istemcinin bu ön ek h(example.com/) için başka bir fullHashes
isteği yayınlaması gerekir.
example.com/ adresini tekrar ziyaret eder. İstemci, karma önekinin negatif önbellek süresini sıfırlamalıdır
yeni yanıta göre ayarlanır.
1 saatlik negatif önbellek süresi, istemciye diğer tüm tam uzunluktaki karmaların ne kadar sürdüğünü bildirir.
aynı h(example.com/) önekini paylaşan H(example.com/) dışındaki URL'lerin güvenli olarak kabul edilmesi gerekir. Örneğin,
bir saat sürecekse, h(URL) = h(example.com/) gibi her URL güvenli kabul edilmelidir ve
bu nedenle bir fullHashes
isteğiyle sonuçlanmaz (H(URL) != H(example.com/) olduğu varsayılır.
fullHashes
yanıtı sıfır eşleşme içeriyorsa ve negatif önbellek süresi ayarlanmışsa
belirtilenfullHashes
negatif önbellek süresi.
fullHashes
yanıtı bir veya daha fazla eşleşme içeriyorsa negatif önbellek süresi yine de ayarlanır
bir kullanıcı grubu oluşturduk. Bu durumda, tek bir tam karmanın önbellek süresi
müşteri tarafından güvenli olmadığı varsayıldığından emin olun. ThreatMatch
önbelleğinden sonra
bir süre geçtikten sonra, istemcinin fullHashes
isteği göndererek tam uzunluktaki karmayı yenilemesi
istenen URL önbellekteki mevcut tam uzunluktaki karma ile eşleşirse bu karma önekini kullanın. Bu
negatif önbellek süresinin uygulanmamasıdır. Yanıtın negatif önbellek süresi yalnızca geçerlidir
fullHashes
yanıtında bulunmayan tam uzunluktaki karmalara dönüştürüldü. Tam uzunluktaki karmalar için
yanıtta mevcut değilse istemci, fullHashes
istekleri göndermekten kaçınmalıdır.
negatif önbellek süresi geçene kadar.
Örnek: fullHashes.find
Örneklerin tamamı için tablo başlığındaki istek ve yanıt bağlantılarını tıklayın.
Karma Ön Ekleri fullHashes İsteği |
Tam Uzunlukta Karma Eşleşmeleri fullHashes Yanıtı |
Önbelleğe Alma Davranışı |
---|---|---|
"threatEntries": [ {"hash": "0xaaaaaaaa"} ] |
"matches": [], "negativeCacheDuration": "3600.000s" |
Eşleşme yok. . İstemci, en az bir saat boyunca 0xaaaaaaaa karma ön eki için fullHashes isteği göndermemelidir.
0xaaaaaaaa ön ekine sahip karmalar bir saat boyunca güvenli kabul edilir. |
"threatEntries": [ {"hash": "0xbbbbbbbb"} ] |
"matches": [ "threat": {"hash": "0xbbbbbbbb0000..."} "cacheDuration": "600.000s", ], "negativeCacheDuration": "300.000s" |
Olası eşleşmeler. . İstemci, tam karma değeri 0xbbbbbbbb0000 olan URL'yi 10 dakika boyunca güvenli değil olarak kabul etmelidir. İlgili içeriği oluşturmak için kullanılan müşteri, 0xbbbbbbbb karma ön ekine sahip diğer tüm URL'leri 5 dakika boyunca güvenli kabul etmelidir. 5'ten sonra dakika, karma ön eklerin negatif önbellek girişinin süresi dolar. için pozitif önbellek girişinden 0xbbbbbbbb0000... için geçerlilik süresi henüz dolmadı, istemci tüm karmalar için fullHashes istekleri göndermelidir
yalnızca o hariç. |
"threatEntries": [ {"hash": "0xcccccccc"} ] |
"matches": [ "threat": {"hash": "0xccccccccdddd..."}, "cacheDuration": "600.000s" ], "negativeCacheDuration": "3600.000s" |
Olası eşleşmeler. . İstemci, en az 1 saat boyunca 0xcccccc karma ön eki için herhangi bir fullHashes isteği göndermemeli ve
o önekin güvenli olması gerekir (URL'nin tam karması, önbelleğe alınmış tam karma ile eşleşirse)
0xccccccccdddd.... Bu durumda, müşteri 10 dakika boyunca URL'nin güvenli olmadığını kabul etmelidir.
10 dakika sonra tam uzunluktaki karmanın süresi dolar. Bu tam karma için daha sonra yapılan aramalarda
yeni bir fullHashes isteğini tetikleyin. |