Question | 你所遇到的驗證碼問題可能都在這裡了
「Question」為網易雲易盾的問答欄目,將會解答和呈現安全領域大家常見的問題和困惑。如果你有什麼疑惑,也歡迎通過郵件(zhangyong02@corp.netease.com)提問。
關於驗證碼的使用,大家也許會遇到各類問題,這裡以Q&A形式總結的一些常見問題,希望對各位讀者有所幫助。
Q1:驗證碼有什麼作用?
驗證碼作為一種人機識別手段,其終極目的,就是區分正常人和機器的操作。
區分人機行為的作用不言而喻。互聯行為的註冊、登錄、發帖、領優惠券、投票等等應用場景,都有被機器刷造成各類損失的風險,如果不對各類機器垃圾的行為加以防範,灌水內容、垃圾註冊、惡意登錄、刷票、撞庫、活動作弊、垃圾廣告、爬蟲、羊毛黨等用戶行為一旦發生,將對產品自身發展、用戶體驗造成極大的影響。
目前常見的驗證碼形式多為圖片驗證碼,即數字、字母、文字、圖片物體等形式的傳統字元驗證碼。這類驗證碼看似簡單易操作,但實際用戶體驗較差(參見12306網站),且隨著OCR技術和打碼平台的利用,圖片比較容易被破解,被破解之後就形同虛設。
Q2:滑動驗證碼的原理是什麼?
滑動驗證碼可以顯著優化用戶體驗,這在互聯網時代是非常重要的。滑動驗證碼對機器的判斷,不只是完成拼圖,前端用戶看不見的是——驗證碼後台針對用戶產生的行為軌跡數據進行機器學習建模,結合訪問頻率、地理位置、歷史記錄等多個維度信息,快速、準確的返回人機判定結果,故而機器識別+模擬不易通過。滑動驗證碼也不是萬無一失,但對滑動行為的模擬需要比較強的破解能力,畢竟還是大幅提升了攻擊成本,而且技術也會在攻防轉換中不斷進步。
Q3:行為式驗證碼的前景如何?
先說一下什麼是行為式驗證碼:行為式驗證碼是以用戶產生的行為軌跡為依據,進行機器學習建模,結合訪問頻率、地理位置、歷史記錄等多個維度信息綜合判斷,快速、準確的返回人機判定結果。
行為式驗證碼與傳統驗證碼的區別:
1)傳統驗證碼技術不足
傳統驗證碼用戶體驗不佳,需要進行一系列操作才能完成。用戶需要每天都要花部分時間浪費在無趣的識別數字上,也大大降低了一些網站的交互體驗。同時,隨著計算機自動識別技術的發展,簡單的驗證碼數字圖形也不再安全,很容易被黑客攻破。
2)行為式驗證碼的優勢-綜合判斷
行為驗證碼是以用戶產生的行為軌跡為依據,進行機器學習建模,結合訪問頻率、地理位置、歷史記錄等多個維度信息綜合判斷,快速、準確的返回人機判定結果。
3)行為式驗證碼的優勢-迭代性
行為驗證碼具備運用大數據分析和機器學習模型進行優化升級的作用。路徑可以理解為:驗證碼展示-用戶行為分析-機器人學習-返回驗證結果-機器模型升級的循環,保證了行為式驗證碼的不斷迭代升級。
行為驗證碼的推廣,保證了網易易盾驗證碼在和機器刷子進行抗衡過程中不斷更新迭代,從而能夠持續提升系統性能,保證識別效果。
行為驗證碼具備運用大數據分析和機器學習模型進行優化升級的作用。路徑可以理解為:驗證碼展示-用戶行為分析-機器人學習-返回驗證結果-機器模型升級的循環,保證了網易易盾行為式驗證碼的不斷迭代升級。
Q4:怎樣防止惡意刷簡訊驗證?
在討論防止惡意簡訊驗證之前,我們先來看看什麼是惡意簡訊驗證及出現的原因。
惡意簡訊驗證,屬於簡訊轟炸的一種,用戶端表現為高頻收到驗證簡訊內容,用戶體驗差。對公司來講,大量的惡意簡訊驗證,既增加公司運營成本,支付額外的簡訊運營費用,又會影響產品口碑,損失用戶。
防止這種惡意行為,方式之一是可以增加驗證碼校驗。發送簡訊驗證碼時,可要求輸入圖片驗證碼,驗證碼校驗可實現人機識別,同時在驗證碼請求錯誤時,可重置驗證碼,防止圖片驗證碼識別軟體嘗試多次識別。
Q5:是否能單純用 JS 來實現驗證碼?
JS可以實現驗證碼,但有相當多的弊端。JS實現驗證碼,是客戶頁面的驗證信息的直接驗證,完全由客戶端實現。其弊端在於JS操作可以通過機器模擬,模擬數據如果沒有服務端驗證,則仍是無效的。最終提供驗證的,其實是在服務端,不能單純用JS來實現驗證碼。目前驗證碼的技術更新換代快。
Q6:點觸驗證碼能成為新的互聯網驗證碼標準嗎?
對於國內各大網站來說,機器賬號灌水發垃圾廣告是一件非常令人頭疼的事情。當然很多網站也有相應的解決方案,但是最好的解決方案應該是通過多重加密的新型驗證碼嚴防機器賬號註冊。這一切的前提是:在不影響正常用戶的體驗下進行。點觸是一種新形式的驗證碼,利用點擊和拖動的動作完成驗證:,這已經成為了各大網站最喜歡的驗證方式。
對於網站來說,這種驗證方式是一種無感知的安全措施。未來,就是優化用戶體驗,逐漸減少用戶在這方面的感知。
Q7:驗證碼真的能防止盜號嗎?
不能。驗證碼的作用在於區分人和機器,防止被暴力破解,提高破解密碼的難度。人工盜號很難通過驗證碼實現甄別,但在防止機器撞庫方面有重要地位。
點擊免費試用網易雲易盾行為式驗證碼。
推薦閱讀: