• 沒有找到結果。

所進行之實驗網頁設計及實際施測。

第五章 驗證結果之分析與討論,說明實際施測之結果。並根據統計結 果,分析「Poker 圖像驗證碼」正確率、平均操作時間、不同族群操作時 間之差異性比較,並召開專家座談探索其安全性。

第六章 結論:最後提出研究結論及建議。

第二章 文獻探討

Automated Public Turing test to tell Computers and Humans Apart,

簡稱 CAPTCHA,是 2000 年由美國卡內基梅隆大學(Carnegie Mellon University)研究人員 Luisvon Ahn、Manuel Blum、Nicholas Hopper 等 人及 IBM 的 John Langford 所提出。

(text-based schemes)、語音型(audio schemes)、視頻型(video

schemes)、邏輯型(logical schemes)、圖像型(image-based schemes)

及益智型( instructive schemes)等六種類型〔08〕。而隨著網路技術的發 展,每種類型驗證碼又大都有衍生類型之驗證模式產生。本研究將目前常 見的驗證碼整理如下:

1. 文本型

文本型驗證碼為英文大、小寫字母與阿拉伯數字隨機合成的字串圖 片,使用者必須根據所看到圖片中所顯示的字元,輸入正確的對應文、數 字,才能通過驗證。為防止被惡意自動化程式侵襲,驗證碼設計者會將文、

數字元做扭曲、相連、旋轉、切割或重疊等方式,來防止 OCR 辨識。但這 也造成使用者在驗證碼視覺辨識上的混淆和誤判,而導致驗證失敗(如圖 2.1 所示)。

圖 2.1 更加扭曲與變形的文、數字驗證碼

在文本型驗證碼的發展過程中,reCAPTCHA(如圖 2.2 所示)算是簡易 型 CAPTCHA 的一種衍生變形模式。reCAPTCHA 首先從電腦系統挑出兩組 英文詞彙,然後將字串作扭曲並從中加上一條切割曲線後,呈現給使用者 端。系統只知道兩組英文詞彙其中一組的答案,當使用者端答對了系統本 身知道的英文詞彙,那 reCAPTCHA 就會假設使用者端是人類無誤〔09〕,

同時也得到另一組的答案。

圖 2.2 reCAPTCHA

圖 2.3 所示的驗證碼,是帶有濃厚商業氣息的廣告驗證碼。廣告商讓 使用者端輸入圖片中產品名稱,藉此加強或宣傳使用者對此產品的熟稔 度。使用者「輸入」驗證碼時,的確是一項驗證的步驟,但其實也是一個 宣傳商品廣告的過程。

根據文獻資料顯示,第一個出現在網際網路上的驗證碼廣告平台是 2008 年 開 始 由 Boris Veldhuijzen van Zanten 創 辦 的 captchatising.com , 不 過 該 網 址 目 前 已 經 被 移 除 了 〔 10 〕。 雖 然 captchatising.com 這平台並沒有能夠持續到今日,但這種藉由輸入產品名 稱作為驗證碼以增加網站營收的概念,已經被廣泛在網路平台上使用〔11〕。

圖 2.3 商業氣息濃厚的廣告驗證碼 2. 語音型

在語音型驗證碼未出現時,視覺障礙族群只能請視力正常的朋友告知 驗證碼內容或是利用導讀軟體來識別文、數字驗證碼。但在網路越來越普 及,驗證碼已經無所不在的時代裡,這確實有許多不便之處。因此語音型 驗證碼的出現,的確為視覺障礙族群帶來許多便利性。

語音型驗證碼是在添加背景雜訊的數位字母音訊中,以一人或多人播 放的方式,讓使用者輸入所聽到的資訊。如圖 2.4 所示,使用者先聽一段 語音,然後再輸入所聽到的四個數字來完成〔12〕。

圖 2.4 語音型 CAPTCHA

語音型驗證碼容易受到機器學習演算法的攻擊,僅用分析聲音波形就 能知道語音播報的數字。。另外,偏遠地區的少數使用族群會因為對於字 母的發音、口音、語速、語調不熟悉,而無法理解問題,導致使用者無法 通過測試。

3. 視頻型驗證碼

視頻型驗證碼主要是將驗證碼字串,以旋轉、閃爍、移動等 2D 動畫 的方式呈現(如圖 2.5 所示)。

圖 2.5 擷取 NuCaptcha 動態畫面之一

Nucaptcha 使用動態影像旋轉技術來播放影片,然後要求使用者端輸 入影片中出現的某顏色字元為何? 因為屬於影像動態格式,所以此視頻型 驗證碼在網路伺服器速度會變得較慢。圖 2.5 是擷取 NuCaptcha 驗證碼在 影片之中所出現 XYZ 之三個紅色字體畫面之一,使用者需依序正確填入此 三個字元,方能通過驗證。

儘管是創新的視頻型驗證碼,史丹福大學研究員藉由機器視覺技術,

已經破解了 NuCaptcha 驗證碼;破解成功率高達百分之九十〔13〕,這意 味著沒有攻不破的驗證碼,只是被破解時間的早晚與機率性而已。

4. 邏輯型驗證碼

亦稱為問答型驗證碼。系統所問的問題,通常讓使用者端無法立即直 覺性地回答出答案,需要特別經過大腦判斷、學習及回溯。例如:系 統要使用者答出台灣第一名美女是誰?__________。

對於惡意自動化程式而言,邏輯型驗證碼除了要判讀問題,還要進行

美國 ASIRRA (Animal Species Image Recognition for Restricting Access)系統是由微軟公司和動物收容平台

Petfinder.com

在 2007 年所開

發的圖像型驗證碼,使用者必須從 12 張不同的狗或貓圖片中,利用點擊圖 片方式點選出所有貓或是所有狗的圖片來進行驗證,如圖 2.6 所示〔14〕。

圖 2.6 ASIRRA CAPTCHA

通過驗證後,使用者可以按下圖片下方

Adopt me

選項,網頁就會提 供認養平台的網址,如圖 2.7 所示〔15〕,讓使用者自行選擇是否要開啟該 網頁進行瀏覽的動作。2008 年 Golle〔16〕使用(Support Vector Machine 簡稱 SVM)方法,藉由顏色、紋理去分類貓與狗的圖片,以破解此驗證碼,

破解成功率高達 82.7%〔17〕。

圖 2.7 Petfinder 認養平台

另一較特殊的圖像型驗證碼,就是中文驗證碼(如圖 2.8 所示)。中文驗 證碼是以中文部首作為基礎的驗證碼,故稱為「Chinese CAPTCHA」。其 透過中文字的拆解組合,即便使用者沒有中文語言能力的背景,也可進行 驗證行為。

系統出題方式是隨機從中國古漢字資料庫挑出一個字出題,接著根據 漢字解構的部件進行拆解〔18〕,這些部件多是另外一個字形或部首。如 圖 2.8 所示,系統先將左方之漢字拆解成三個主要可分辨的部件,再請使 用者從右方挑選正確的三個部件。此方法雖兼顧了非漢字使用者,但對漢 字熟悉者能更快速地進行驗證〔19〕。

圖 2.8 中文驗證碼

圖 2.9 稱為 Puzzle CAPTCHA。此驗證碼利用影像切割技術,將圖片 隨機切割成幾個正方形區塊,並將區塊隨機旋轉 0 度、90 度、180 度、270 度,然後讓使用者在驗證碼圖像區塊中作點擊的動作,使被切割的方塊能 夠以 90 度順時針旋轉的動作,來將所有的區塊拼回完整的原圖,以通過驗 證碼測試。

圖 2.9 Puzzle CAPTCHA

惟此方式在驗證操作時,使用者萬一不小心多點擊一下而導致旋轉過 頭,則又需要再多花費時間重新點擊轉為正確畫面〔20〕。

圖 2.10 PlayThru 屬於一種迷你遊戲之驗證碼,使用者須將左方人臉上 之各器官拖曳至右方空白人像正確位置上,方能驗證通過〔21〕。

圖 2.10 PlayThru 驗證碼

6. 益智型驗證碼

圖 2.11 為 Rapidshare CAPTCHA Cat 驗證碼,是提供一些含有貓或 狗圖案的文、數字。解答方式則是要使用者要先區別貓跟狗,再把含有貓 的字母輸入。狗跟貓的區別方式是,狗的頭比較小以及脖子有項圈,使用 者需經過學習才能推斷出答案〔22〕。

圖 2.11 Rapidshare CAPTCHA Cat

圖 2.12 為 Captcha madness,使用者必須根據框格中的圖形和下方 的文、數字對應表,輸入圖形所對應的英、數字,以通過驗證〔23〕。

圖 2.12 Captcha madness

圖 2.13 為 Ajax Fancy Captcha,此驗證碼要求使用者將正確的物品,

以點選拖曳的方式,放置在特定的位置內〔24〕。此驗證方式若在螢幕較小 的電子行動設備上,使用者的手指很容易碰處到原本不想選之圖片;若能 直接用點擊的功能來代替拖曳的動作,使用性會較佳。

圖 2.13Ajax Fancy Captcha

圖 2.14 為 Dice CAPTCHA 驗證碼,其利用骰子的點數特性,由使用 者辨識顯示之四顆骰子的點數,填入然後送出驗證,或是要求使用者填入 骰子出現點數的總和(如圖 2.15 所示)。這種的任務對大部分使用者並不是 項困難的事,然而,每一骰子之六面點數皆只有 1、2、3、4、5、6 點,

其被惡意自動化程式破解機率很高。因此 Dice CAPTCHA 驗證碼的安全機 制,仍須再加強〔25〕。

圖 2.14 Dice CAPTCHA 單純填入骰子個別點數

圖 2.15 Dice CAPTCHA 填入骰子出現點數的總和

圖 2.16 為眾人皆知的九宮格遊戲,大多數使用者不需多看題目的說 明,就可以直覺性地知道,此驗證碼需要進行何種動作才能通過驗證。把 這種國際大眾化的益智遊戲拿來當作驗證碼,算是非常不錯的點子。

圖 2.16 XERO〔26〕

第二節 驗證碼的破解技術

根據文獻資料探討,上述六種驗證碼類型,大都已遭惡意自動化程式 破解,只是依照被機器辨識破解的比例來說,圖像型驗證碼機率較低。

圖像型驗證碼較難被破解的原因,主要是人類視覺比電腦更會處理圖 像中的訊息,再加上電腦在圖像分類、目標識別、場景理解等方面的能力 較弱。所以在一般情況下,圖像型驗證碼比其他類型的驗證碼更加難以被 惡意自動化程式給攻擊。

目前驗證碼破解技術,大致可分下列四大類:

1. OCR 光學自動辨識法

OCR(optical character recognition) 對於不扭曲的文字,擁有良好 的處理效能,辨識速度每秒 1000 字,就算是輕度的扭曲文字,辨識率也可 以達到 95%。

OCR 主要是透過(一)消去背景,(二)切割元素,(三)辨認元素等三個 步驟進行處理。如圖 2.17 所示即為 OCR 破解程序。

圖 2.17 OCR 辨識驗證碼之破解程序 Pre-processing

Segmentation

Feature Extraction

Character Recognition Input CAPTCHA Image

以破解圖 2.18 所示,由 EM-Gimpy 所產生的驗證碼為例,OCR 破解 程式的第一步驟:消去背景上的漸層顏色與雜點。第二步驟:將可辨識的 文字 SMWM 切割成單一元素(S/M/W/M)。這些單一有意義的元素易為人 類使用者端快速辨識,惟惡意自動化程式卻可能因其扭曲,需花費較多時 間辨識。第三步驟:根據每單一元素,也許是文字或數字,進行 OCR 辨識。

圖 2.18 EZ-Gimpy 產生的 CAPTCHA〔27〕

2. 暴力破解法

暴力破解是將一堆文、數字組合的字串逐一測試。只要有足夠的嘗試 機會與時間,透過無數次的測試,就有機會試出正確的答案〔28〕。如圖 2.19 所示,「X5Tb」有 4 個字母組成,被猜中的機率只有(1/62)之四次方,

但惡意自動化程式只要不計時間,嘗試所有可能的字母組合,即 62×62×

但惡意自動化程式只要不計時間,嘗試所有可能的字母組合,即 62×62×

相關文件