網絡驗證碼--你到底是愛它還是恨它?
互聯網安全防火牆(1)--網絡驗證碼的科普
1 戲言部分
為了在網絡上吸引大家讀這個文章,在想標題的時候,也是夠了。本來是嚴肅的科普學術帖,但是卻一股強烈的“不轉不是中國人,讓男孩沉默女孩流淚” 這種段子文的氣息了。希望大家能夠順利 “上鈎” 吧,也不枉我想了好久的噱頭標題了。進來之后,請看副標題,這才是正兒八經的學術標題。
2 概述
在網絡越來越普及的今天,關於驗證碼,大家肯定已經見過很多了。對於這東西,大家肯定是咬牙切齒,罵過不下千百遍了吧。因為它一般的表現形式如下:
都可以想像到看這些人都認不出來的驗證碼時的抓狂的表情了吧。
但是這個東西對於網站主(網絡服務提供商)來說,卻是必須的,因為沒有它之后,互聯網服務就相當於沒有了最基本的防火牆,會產生很多我們不希望發生的麻煩事情出來。鑒於很多人都不了解這個,所以有必要進行一下科普。
先引用一段來自wiki的關於 驗證碼 的描述:
全自動區分計算機和人類的公開圖靈測試(英語:Completely Automated Public Turing test to tell Computers and Humans Apart,簡稱CAPTCHA),俗稱驗證碼,是一種區分用戶是計算機和人的公共全自動程序。在CAPTCHA測試中,作為服務器的計算機會自動生成一個問題由用戶來解答。這個問題可以由計算機生成並評判,但是必須只有人類才能解答。由於計算機無法解答CAPTCHA的問題,所以回答出問題的用戶就可以被認為是人類。
熟悉網絡的人,肯定熟悉這個東西,在注冊的時候需要,在登錄的時候需要,在買東西 下訂單的時候也需要。
在正式闡述其功能時,先解釋兩個概念:
-
- 自然人
-
實際的信息獲取者和應用交互操作的主體是具有生物學上的特點的真實人類
-
- 機器人
-
沒有生物學特征,僅僅是通過編碼來完成一系列的信息處理的應用程序
驗證碼的主要功能就是:區分 自然人 和 機器人。
對於自然人,大家都很好理解,但是關於機器人,可能一般人不會有什么概念,不清楚它到底有什么能力。下面將簡單的對機器人的信息處理能力進行介紹。
3 機器學習領域
由於計算機技術的大力發展,機器人已經在越來越多的地方具有人的一些認知能力,甚至超過人的認知能力了。比較典型的技術領域有(引自wiki):
-
- 圖像識別
-
光學字符識別(英語:Optical Character Recognition, OCR)是指對文本資料的圖像文件進行分析識別處理,獲取文字及版面信息的過程。
-
- 語音識別
-
語音識別(speech recognition、語音辨識/言語辨別)技術,也被稱為自動語音識別(英語:Automatic Speech Recognition, ASR)、電腦語音識別(英語:Computer Speech Recognition)或是語音轉文本識別(英語:Speech To Text, STT),其目標是以電腦自動將人類的語音內容轉換為相應的文字。與說話人識別及說話人確認不同,后者嘗試識別或確認發出語音的說話人而非其中所包含的詞匯內容。
圖像識別想必大家一定不陌生。它在目前正面應用場景眾多:
- 從書本掃描件里面識別出文字,並轉化成文本輸出。被廣泛地應用於圖書館的紙質書電子化的工程中。
- 車牌識別。目前的交通系統里面利用攝像頭進行全自動化地違章取證,停車場進出車輛自動登記車牌。
- 一維碼 和 二維碼。這個更不用說了,前者在上個世紀改變了整個零售行業,而后者則在本世紀打通了線上線下,帶出了移動互聯網的 O2O 的產業。
語音識別由於技術難度比較大,比圖像識別的應用要晚,但是目前的移動互聯網時代卻開始蓬勃發展起來。比較典型的應用場景有:
- 語音輸入法。目前手機上輸入法基本上都支持了。
- 語音轉文字。類似微信這樣支持語音通訊的工具都提供了語音轉文字的功能。
- 語音機器人。從蘋果的 Siri 到微軟的 小娜,能夠對人的語音進行語義理解,並執行相應的操作或者應答。
以上的例子,主要是為了說明:目前的科技條件下,機器人 的認知能力已經相當高了,即它具備智能化處理事情的能力了。然后機器人還具有如下幾個特點:
- 永不知疲倦。在目前的用電環境和硬件設備下,基本上可以保證分分秒秒都用於信息處理上面。
- 單體計算能力驚人。例如:一個正常的成年人,徒手計算類似於 23456/12345 的除法,大概需要至少5分鍾;但是目前一個普通的家用電腦2.4GH主頻的CPU可以 1秒 內完成幾千幾萬的這樣的計算不成問題。
- 可擴展性強。計算機的單體計算能力已經驚人,但是在目前的雲計算環境下,計算機可以 抱團 以集群的方式進行批量大規模信息處理,這個時候,提供的計算能力上限又得到了極大的提高。
總之,處理程式化的信息,機器人已經把人秒得連渣都不剩了。
試想這么恐怖的屬性下,再帶一些前面提到的 智能認知 能力,那將是怎樣的一種光景。
4 機器人案例
因為計算機處理信息的能力是相當恐怖的,如果不對 自然人 和 機器人 進行區分。那么普通人在網上使用一些網絡資源的時候,你的競爭對手就都是那些開了 作弊器 的機器人了,人類在機器人的網絡資源爭奪戰里面有機會勝出么。具體有如下幾個案例大家可以感一下。
4.1 火車購票
在國內唯一的一家火車票網站 12306 里面。每到春運的時候,鐵路部門承諾在 8:00 准時放出某車型號票 1000 張,但是 0.1 秒被搶光,然后到處都是人抱怨買不到票,這些票都集中在少數幾個 票販子 手中了。
當然即使是 散戶 搶票,也為不同了情況,有人會利用一些各大互聯網公司提供的 刷票 插件來自動留意頁面信息變化,並自動完成購票。
在寒冬,火車票代售點排幾十米長隊的辛苦的普通勞動人民;會上網,但只會徒手按照正常流程在網上購票的普通網民,大家有信心搶到票么?
4.2 新浪微博
在新浪微博早期各種技術體系不成熟的時候(沒有驗證碼,也沒有手機綁定),有個計算機專業的在校學生寫了一段程序,注冊了10萬微博號,在后期微博紅火起來之后,他利用程序來操縱來10萬賬號可以做如下事情:
- 批量轉發
- 批量加粉
- 批量投票
也就是后面大家所說的 僵屍賬號 ,操縱如此龐大的 用戶 ,必然會影響到整個微博的信息生態的平衡。
4.3 其它案例
關於機器人打破信息競爭平衡的案例還有如下幾種:
-
- 網絡投票
-
有專業的刷票公司,能夠在規則相當嚴格(IP限制,地域限制,人數限制)的投票系統里面,仍然可以將指定的參選對象的票數刷得高得離譜。
-
- 網絡優惠券或者游戲道具
-
有些游戲平台在頁面上發布一些免費道具和優惠券的時候,本意是讓用戶比較均衡地得到優惠,但是有機器人參與后,這些資源往往很快被少數的人收入囊中。
-
- 網絡視頻主播
-
如果手上掌控了大量的 僵屍賬號 ,可以批量投票,刷出主播室同時在線人數的人氣等等。
-
- 網絡垃圾發帖
-
在論壇上面,如果沒有技術管制手段。可以通過機器人,讓整個論壇的版塊全部是高密集時間發的廣告圖文或者垃圾水帖。
總之,在信息世界里面,機器人的參戰后,如果不加以區分,就不會有信息世界的自由競爭了。
下面是一個網絡注冊機,注冊了大量賬號之后,利用程序來發垃圾帖子的截圖:

5 本部分小結
由於這個系列的文章比較長,所以准備分幾個部分介紹,此部分,先介紹驗證碼的作用及機器人的一些漫談。后續會從一些相應的防范產品的表現形式和主要的攻防技術手段上來進行介紹。
希望這一系列文章,能夠喚起大家對網絡安全的一些認識和重視。
(未完,待續。。。。)