安全服務商Cloudflare撰文解釋:我們為什麼要把reCAPTCHA換成圖形驗證碼?

網易易盾發表於2020-04-30

導讀:2020年4月,安全服務商Cloudflare決定將reCAPTCHA切換為圖形驗證碼。由於切換,可能會對其使用者帶來一些影響,於是Cloudflare在其官方部落格上撰文解釋了當時為什麼會選擇reCAPTCHA、現在放棄的原因,以及為什麼最終選擇了圖形驗證碼。

《Moving from reCAPTCHA to hCaptcha》作者是Matthew Prince和Sergi Isasi,以下是該篇文章的編譯內容:

安全服務商Cloudflare撰文解釋:我們為什麼要把reCAPTCHA換成圖形驗證碼?

我們最近將驗證碼提供商從Google的reCAPTCHA遷移到了獨立的圖形驗證碼服務。我們驚喜於這次改變,它幫助我們解決了一直以來因使用Google服務而產生的隱私問題,並且使我們能更靈活地定製所展示的驗證碼,如下圖所示。 

安全服務商Cloudflare撰文解釋:我們為什麼要把reCAPTCHA換成圖形驗證碼?

因為這次遷移可能對Cloudflare的使用者產生影響,所以我們打算對其基本原理作進一步解釋。

Cloudflare提供的服務之一是阻止惡意自動化(機器人)流量,我們也使用了一系列技術來解決這個問題。當我們認為某些流量是惡意機器人活動時,我們會完全阻止它。當我們確信其是非惡意的人為流量,或者善意機器人比如搜尋引擎爬蟲,我們會讓它透過。但是當我們不能百分百確定它是否是惡意時,我們就需要給它一個“測試”。

我們有不同型別的測試,有些是完全自動的,而有一個則需要人為干預,這個測試就是CAPTCHAs(驗證碼)。它是Completely Automated Public Turing Test to Tell Computers and Humans Apart(完全自動化的公共圖靈測試)的首字母縮寫(CAPTCHAs省略了一些T,不然得寫成CAPTTTCHA)。即按提示在方框輸入歪歪扭扭的字母、識別交通燈訊號或者人行橫道。總的來說,它們應該是人類容易做,但是對於機器來說較難的事情。

安全服務商Cloudflare撰文解釋:我們為什麼要把reCAPTCHA換成圖形驗證碼?

從早期開始,Cloudflare已經在使用Google的reCAPTCHA服務了。最開始ReCAPTCHA是卡耐基梅隆大學2007年的一個研究專案,Google在2009年收購了這個專案,與此同時Cloudflare第一次啟動。Google在收購該專案之後將其作為免費服務提供給客戶,從而換取資料來訓練它的視覺識別系統。當我們為Cloudflare尋找驗證碼服務時,我們選擇reCAPTCHA是考慮到,它不但有效可擴充套件,而且更重要的一點是它完全免費——這點很重要,因為很多Cloudflare使用者使用我們的免費服務。


隱私和遮蔽問題

從那時候起,一些客戶已經表示擔心使用Google驗證碼服務產生的隱私問題。Google的業務會給客戶投放廣告,而Cloudflare不會,我們有嚴格的隱私承諾。我們能夠適應reCAPTCHA服務的隱私政策,但同時也能夠理解一些客戶由於向Google傳輸大量資料而產生的擔憂。

我們在一些地區也面臨著問題,比如在某些國家Google服務時常被遮蔽,而這些國家有相當人數的網民,因此我們一直擔心的問題是,其中的一部分網民如果觸發了驗證碼可能會導致無法訪問Cloudflare服務的網站。

多年以來,隱私和遮蔽問題足以讓我們考慮遷移reCAPTCHA服務。但是同大部分科技公司一樣,不同於產品的新特性和新功能,優先遷移客戶常用功能是比較困難的。


Google正在改變商業模式

今年早些時候,Google通知我們,他們將開始對reCAPTCHA服務收費。這完全在他們的權利範圍之內。考慮到我們的體量,Cloudflare無疑對reCAPTCHA服務施加了即使對Google來說也相當巨大的成本壓力。

因此這對於Google來說是完全合理的。如果影像分類訓練的價值沒有超過成本,Google要求對他們提供的服務付費是說得通的。在這種情況下,僅僅為了免費使用者而繼續使用reCAPTCHA服務,我們每年就會增加數百萬美元的成本,這就是我們尋找替代方案的動力


我們為什麼要選擇圖形驗證碼?

我們評估了許多驗證碼供應商,並建立了自己的評價系統。最終,我們選擇圖形驗證碼作為reCAPTCHA 的最佳替代方案。

為什麼要選擇圖形驗證碼?主要是因為它有許多讓我們感到欣喜的地方:

1、他們不出售個人資料,只收集最低限度的必要個人資料,並且他們收集、使用或披露資訊的過程是透明的,他們還同意只使用這些資料為Cloudflare提供圖形驗證碼服務;

2、在我們的A/B測試中,圖形驗證碼的效能(包括速度和解決率)要高於預期

3、為視障人士和其他有使用障礙的使用者提供了可靠的解決方案;

4、支援隱私通行證,以減少驗證碼的使用頻率;

5、可以在Google被遮蔽的地區使用;

6、圖形驗證碼團隊敏捷迅速的反應,令人耳目一新。


標準的圖形驗證碼商業模式與reCAPTCHA的啟動方式相似。他們計劃向需要影像分類資料的客戶收費,然後向發行商付費,讓他們在網站上安裝驗證碼服務。這聽起來很棒,可能對大多數發行商來說行得通,但就Cloudflare的規模而言,這並不適用。

我們與圖形驗證碼的合作問題有兩條解決途徑。首先,我們正在利用我們的Workers平臺來承擔大部分驗證碼服務的技術負荷,並在此過程中降低其成本。其次,我們提議,與其他們付費給我們,不如我們來支付費用,確保他們有資源來擴大服務規模以滿足我們的需求。雖然增加了一些額外的成本,但是相對於reCAPTCHA所需的服務費用來說,這隻佔一小部分。作為交換,我們擁有了一個更靈活的驗證碼服務平臺和一個反應更快的團隊。


我們在什麼地方使用驗證碼服務?

當我們最初開始這個專案時就假設Cloudflare Bot(機器人)管理和防火牆規則是迄今為止最大的驗證碼消費者。這在某種程度上是正確的,雖然防火牆、Bot是第一客戶,但是在我們驗證碼服務中的佔比只略高於50%。

下表是根據全部驗證碼服務,按照Cloudflare客戶服務來源統計出來的明細。

安全服務商Cloudflare撰文解釋:我們為什麼要把reCAPTCHA換成圖形驗證碼?

防火牆和Bot規則排第一,是Cloudflare驗證碼服務的主要物件。由我們客戶來編寫規則,規則匹配時會專門發出驗證碼。舉個例子,如果Bot管理評分低於將該連線判定為自動連線的閾值,又高於無法判定該連線的閾值,就會觸發驗證碼。

另一個常見規則是對全部網站,或者特定終端背後的流量發起驗證碼。客戶這樣做可能是為了限制其與訪問源頭的連線,或者是為了減慢某些自動化系統的執行速度。例如在登入頁面上的憑據填充或損壞註冊資料之類的操作,這導致Cloudflare服務的網站每天要提供數以億計的驗證碼。

排第二的是我們的IP防火牆服務。和防火牆及Bot規則類似,但是在粒度上比IP、ASN(自治系統編號)和國家級別要更細,這類驗證碼大部分都是針對ASN或國家級別編寫的規則。我們的客戶可能會對某些特定的ASN存在一定程度的不信任(例如,為什麼會有來自雲基礎設施提供商的使用者流量?),或者正受到來自特定國家的攻擊。

接下來是安全級別。安全級別有兩個不同的案例:

1、作為IP地址信譽度評估工具;

2、“I’m Under Attack”模式。雖然我們建議客戶僅在拒絕服務型攻擊下使用“I’m Under Attack”模式,但仍有一些客戶在所有時間內都將該特性作為網路限速和過濾的基本形式。


驗證碼的最後一個主要用途是全程應用到我們的自動化系統中:最近,我們的拒絕服務保護工程團隊訓練Gatebot使用驗證碼,來緩解特定場景中的流量攻擊。Gatebot現在可以編寫臨時規則,來彈出驗證碼防禦攻擊者。

最後,也有一些客戶選擇它作為網路限速和託管WAF規則集的自保護系統。


點選免費試用網易易盾行為式驗證碼安全服務。

相關文章