(文續2008年第22期)
四、名字洩露分析
1. 好友描述
無名小站提供一個「好友暱稱」的功能供使用者描述他們的好友。使用者通常會在描述中使用其好友的真實全名或名字。雖然在無名小站中無法直接查看所有好友(連入好友)對於某位使用者的描述(只能看到某一位使用者對他所有連出好友的描述),但我們依然可以手動或自動收集某位使用者的好友們對他(她)的描述。如此一來,即使使用者沒有公開自己的個人資訊,第三者也可能從其他使用者對他的描述中推測其真實姓名。
但是,無名小站中的使用者如何知道好友的真實姓名呢?我們列舉兩個可能:首先,在線上社群網路之中,「朋友」的關係大致可以分成三種,它們分別是真實社會相識(real-world acquaintances)、網路認識(online acquaintances)以及商業聯繫(business contacts)【16】。其中真實社會朋友是最有可能知道他人真實姓名的一種。第二個可能是使用者已公佈其真實姓名在個人資料中(例如暱稱或個人介紹),在這種情況下使用者名字洩露的情況只能歸類為自我資訊透露,而非非自願姓名洩露。
2. 研究方法
我們從無名小站樣本中取得每個使用者的連入朋友以及他們對於該使用者的描述,接著藉由這些描述推測使用者的真實姓名。首先,我們把「候選字串」(有可能是名字的字串)從好友描述中擷取出來:我們以常用的中文連接詞把描述斷開,得到一或多個子字串。由於中文的姓名一般來說是三個字,其中姓氏是一個中文字,名字是兩個中文字,所以我們只分析長度為兩或三個字的字串:長度為三個字的字串我們歸類為「全名候選字串」(real name candidate),而長度為兩個字的字串我們則歸類為「名字候選字串」(first name candidate)。此外,我們也計算每個候選字串在所有好友對該使用者的描述中的重複次數(有多少個描述中包含這個候選字串),作為推測名字時使用的參考資料。
【表2】提供朋友描述及候選字串的概況。每個使用者平均有7個連入朋友,代表每個使用者平均最多會有7個人給予描述。資料顯示使用者平均獲得6.8個描述,表示幾乎每個使用者都會為他們的連出好友給予描述。每個使用者平均大概有4個候選字串,他(她)的全名或部分姓名可能分佈在這些候選字串之中。
表2 朋友描述與候選字串概況
我們使用下列的方法來推測使用者的真實姓名,這些方法主要基於三個方向,它們分別是:
- 分析在不同描述中重覆出現的候選字串;
- 將候選字串與常用姓名名單比對;
- 將候選字串與常用詞比對,排除可能為常用詞的候選字串。
因為我們只推測最常見的三個字姓名(姓氏為一個字,名字為兩個字),所以實際可推測到姓名的比例應該會更高。
(1) 推測使用者全名
我們使用五種方法來推測使用者的全名(三個字,姓氏+名字)。除了第五個方法使用到第四個方法的結果之外,每個方法都獨立進行。
- 常用姓氏:如果任何一個全名候選字串的第一個字為常用姓氏【22】,我們則推測這個全名候選字串為使用者全名。這個方法中我們只會考慮重複次數至少為1(即最少在兩個描述中都出現)的全名候選字串。
- 全名與名字:我們檢查是否有任何全名候選字串(三個字)的後兩個字重覆出現在名字候選字串(兩個字)之中。因為中文的名字一般是在全名的第二到第三個字,所以如果符合這個條件,我們則推測這個全名候選字串是使用者全名。
- 常用全名名單:我們把全名候選字串比對到常用全名名單(包含1994-2007大學聯考榜單,共574,010個全名)【24】,如果候選字串跟名單裏任何一個名字完全相同,我們就推測這個全名候選字串為使用者的全名。
- 暱稱與全名:我們發現使用者普遍會使用暱稱相關詞加上真實全名的部分組成暱稱。例如陳大強的暱稱有可能是:「老陳」、「大強兄」、「強哥」等等。在這個方法中我們利用暱稱相關詞(人工準備,共38個相關詞)找出可能是暱稱的全名候選字串。如果全名候選字串包含暱稱相關詞,我們就認為這個全名候選字串是暱稱;接著從候選字串中去掉暱稱相關詞,把剩下餘 的字串(可能是使用者名字的片段)與其他非暱稱的全名候選字串比對,若比對成功,我們就推測這個全名候選字串為使用者全名。
- 移除常用詞語:此方法接續方法四得到的非暱稱全名候選字串,但只選用重複次數最少為1的非暱稱全名候選字串。我們把候選字串與常用詞語列表比對(共100,511個常用詞)【22】。如果全名候選字串包含常用詞(例如候選字串為「台北車站」而常用詞為「車站」)或常用詞包含全名候選字串(例如候選字串為「乘法」而常用詞為「乘法表」),我們就認為這個候選字串為常用詞而將它排除。最後剩下的全名候選字串中我們以出現次數最多,且次數大於1的全名候選字串(如果存在的話)為全名。
(2) 推測使用者名字
推測使用者名字(兩個字,不包括姓氏)的方法同4.2.1所列的方法三到五,並改用字串長度為兩個字的名字候選字串。在第三個方法中我們改用常用名字名單(結合【23】跟【24】的名字部分,去掉重複名字,共208,581個名字)來比對。此外,在推測使用者名字的各個方法中我們只考慮重複次數最少為1的名字候選字串。
表3 推測到真實姓名的比例(綜合)
表4 以不同方法推測到真實全名的比例
表5 以不同方法推測到真實名字的比例
3. 推測名字結果
【表3】是推測使用者姓名的整體結果,我們發現72%使用者的真實全名以及30%使用者的真實名字能夠成功被推測;這表示平均每10個使用者中,有3個跟7個使用者,分別遭受真實名字及真實全名被洩露的風險。共有78%的使用者遭受真實姓名(全名或名字)洩露的風險。而【表4】及【表5】顯示每個不同方法的推測結果。
為了驗證推測到的姓名是否有效,我們隨機選擇了1,000個推測到全名或名字的使用者,以人工的方式檢查。我們發現約有74%的使用者(738個)其由自動推測的姓名可判定為真實姓名,而剩餘的使用者其誤判原因主要是使用者的暱稱被誤認為姓名。
4. 姓名洩露比例
我們定義姓名洩露比例(ratio of name leakage)為樣本中姓名可被推測的使用者數目除以樣本大小。【圖6】的上圖顯示男性全名的姓名洩露比例比女性高,而女性名字洩露比例比男性高。這表示在網路上,使用者較常連名帶姓地描述男性,並較常以名字描述女性。【圖6】的下圖顯示姓名洩露比例隨著使用者的年齡下降。我們認為其主因是年齡越大的使用者朋友數目也較少,因此姓名被洩露的機會也較低。
圖6 姓名洩露比例的性別與年齡分佈
5. 原因與風險分析
(1) 以真實姓名稱呼朋友傾向
我們使用DUR(degree of using real name)來量化使用者以真實姓名稱呼朋友的傾向。DUR的定義為一個使用者對於其朋友的描述中,有多少比例包含其朋友的真實姓名。我們使用DUR分析姓名洩露的原因。
(2) 被朋友以真實姓名稱呼的比率
我們使用DCR(degree of called by real name)來量化使用者被其朋友以真實姓名稱呼的比率。它的定義為使用者的連入好友為其撰寫的描述中,有多少比例包含該使用者的真實姓名。我們使用DCR分析姓名洩露的結果。
圖7 DUR與DCR的關係
(3) DUR與DCR的關係
從【圖7】中,我們可看出DUR與DCR有極強的正相關。被朋友以真實姓名稱呼的比率會隨著以真實姓名稱呼朋友傾向上升而增加。我們推測,此現象是因為不少使用者與其朋友在網路社交服務中互為好友(即彼此同時為連入和連出朋友),並以真實姓名互稱。【圖8】中,我們比較DUR, DCR與DSD的關係。圖中顯示自我資訊洩露程度跟洩露它人姓名的傾向並沒有明顯的關係。
圖8 DUR, DCR與DSD的關係
我們考慮到姓名洩露的主因可能是使用者本身已把他們的真實名字透露在個人資料之中,在某些社群網路服務,例如Facebook.com,使用者通常直接公開真實姓名【9】。在這種情況下,姓名洩露只能算是自我資訊透露的一種。我們檢查從無名小站樣本中推測到的使用者真實姓名,有多少比例出現在其個人資料的暱稱及自我介紹欄位,發現只有不到0.1% 的使用者主動透露自己的真實姓名。因此,我們推斷無名小站上以好友描述所導致的姓名洩露絕大部分為非自願性,而非使用者的自我資訊透露。
五、討論
在本節中,我們討論姓名洩露的危險性以及建議的防治方法。
1. 姓名洩露可能造成的攻擊
(1) 以朋友名義發出的垃圾郵件
垃圾郵件是近年很嚴重的問題,它其實是一個商業活動:垃圾郵件發送者(spammer)利用大量的電子郵件地址名單,發送包含商品或網站介紹的電子郵件給潛在客戶;亦即任何擁有電子郵件帳號的人【14】。值得注意的是,我們收集到的無名小站樣本中,有46%的使用者公開格式正確的電子郵件地址。
在垃圾郵件在網路上氾濫的同時,學術及產業界也研發出不少有效的反垃圾郵件機制。然而,以垃圾郵件謀利的人同時也花更多的時間去製作更有效的電子郵件地址名單。從社群網路服務中獲取更多的使用者資訊是有效的方法。垃圾郵件發送者可以透過郵件地址抓取程式【14】取得社群網路服務中使用者的資料以及交友關係來製作電子郵件名單。
一般來說,使用者會把好友的電子郵件地址設為白名單(white list, 例如聯絡人或垃圾郵件過濾器的例外名單),所以從朋友郵件地址寄來的郵件不會被判定為垃圾郵件。如果垃圾郵件發送者利用使用者朋友的電子郵件地址來偽造郵件,所送出的垃圾郵件就可能獲得更多的信任,甚至可以騙過垃圾郵件過濾器。此外,如果垃圾郵件發送者在郵件的主題或內容中加入使用者好友的姓名或暱稱,即使該郵件已被判定為垃圾郵件,使用者仍可能會開啟它。在此情況下,垃圾郵件即使已被成功阻擋,也能對使用者造成困擾。目前類似案例數量已持續成長,成為反垃圾郵件研究者的新挑戰。
(2) 個人化的釣魚攻擊
近年來網路釣魚(phishing)也是一個非常迫切的安全議題。網路釣魚者(phisher)傳送包含釣魚網站連結的電子郵件給使用者,欺騙他們到釣魚網站輸入個人或財務資料如身份證號碼、銀行帳號及信用卡號碼等等【5】,然後盜用這些資料謀取利益。在網路釣魚行為中,使用者對釣魚郵件及網站的信任為攻擊能否成功的關鍵。只要使用者信任釣魚網站,不論系統提供多可靠的加密方法保護資料的傳送,也無法完全保護使用者免受網路釣魚攻擊。保護使用者避免網路釣魚需要的是使用者與網站之間的安全通道,以供使用者確認網站的可信性;而非瀏覽器與網站之間的安全通道,例如資料加密【18】。
不少成為網路釣魚目標的業者(例如eBay.com及Paypal.com)及一些網路安全相關的網站提供如何辨認網路釣魚郵件的指引。常見的規則有「查看郵件內容是否提及到您的姓名」或「網路釣魚郵件無法取得個別使用者的姓名」等等【4】、【19】。如果使用者相信網路釣魚郵件內容不會出現自己的姓名並以此作為判斷原則,那麼包含使用者姓名的釣魚郵件就更可能取得使用者的信任。在網路釣魚多變的本質之下,現今的網路釣魚防治工具及方法仍不夠完美【5】、【8】、【25】,此種個人化的網路釣魚攻擊可能會使更多的使用者受騙。
網路釣魚駭客也可能直接攻擊社群網路服務。駭客們可在熱門使用者的留言板上以其朋友的姓名貼上偽造的網路服務登入網頁,當其他使用者瀏覽該留言板並連結到釣魚登入網頁時,他們可能以為是偶然地被服務系統登出(例如session時間超出),立即輸入帳號密碼欲重新登入。得到某使用者的登入資料後,網路釣魚駭客就可以對其在社群網路服務的朋友使用更多的詐騙手法。
2. 建議的解決方案
針對社群網路上的非自願姓名洩露,我們提出以下三個可能的解決方案:
(1) 提供個人隱私性設定:我們認為,社群網路服務提供者應該提供下列選項供使用者自訂:
a. 隱藏個人資訊的選項
b. 隱藏交友情況的選項(可以設定限制範圍,例如好友或好友的好友)。
c. 是否同意被其他使用者描述的選項
d. 是否允許連入朋友公開顯示朋友關係的選項。
以上保護個人隱私的選項功能不應該只提供給收費的使用者。
(2) 提供瀏覽限制範圍設定:社群網路服務應該限制使用者的瀏覽範圍。例如,除非某些設為「任何人都能看到我」的使用者,在社群網路中不能無限制的從使用者的好友名單連結到其他使用者。另一個可行方法是把使用者以群組區分,欲瀏覽該群組的使用者必須接受認證或加入群組。這些機制可以防治惡意的人輕易抓取大量的使用者資料,進而取得使用者姓名。
(3) 取得使用者確認:所有好友關係設定的活動(包含朋友描述設定)都必須經過雙方的確認,而只有經過確認的朋友才會出現在好友名單之中。這樣可以避免資訊無意間被網友或陌生人洩露。
六、結論
在本篇論文中,我們分析社群網路服務中非自願姓名洩露的程度、成因及解決方案。我們從國內最大的社群網路服務網站-無名小站-蒐集使用者樣本,發現78%使用者的真實姓名面臨非自願性洩露的風險。非自願姓名洩露的主因是使用者的連入朋友們在對該使用者的描述中使用其真實姓名。我們發現使用者的自我資訊透露程度並沒有與使用者以真實姓名互稱的傾向有明顯的關係,代表使用者公開個人資訊的多寡無法影響非自願姓名洩露。
針對社群網路上的非自願姓名洩露,我們提出以下三個可能的解決方案,包括提供個人隱私性設定、提供瀏覽限制範圍設定以及取得使用者的確認。我們希望藉由此文拋磚引玉,引起國內產學界對於網路社群中資安問題的重視,共同建立一個可讓使用者安全無虞建立關係及讓網路創作者安心製作及交流數位內容的虛擬網路空間。(原文刊載於《RUN!PC旗標資訊月刊》2008年2月號,經作者同意轉載)(全文完)
留言列表