西南財經大學經濟信息工程學院 劉家芬 王鐵軍
我國CNCERT/CC 提供的《2010年中國互聯(lián)網網絡安全報告安全報告》[1]中指出:我國的安全事件中垃圾郵件、網絡釣魚(Phishing)所占比例高達64.05%,其中網絡釣魚事件占27.04%。2010年國家互聯(lián)網應急中心共接收網絡釣魚事件舉報1597件,較2009年增長33.1%。而大型電子商務、金融機構、第三方在線支付網站成為網絡釣魚的主要對象。中國反釣魚網站聯(lián)盟也發(fā)布報告[2],截至2010年12月份,該聯(lián)盟累計認定并處理了釣魚網站35648個, 釣魚網站涉及行業(yè)前三位分別為支付交易類、即時通訊類、金融證券類,占處理總量的87.35%以上。針對支付交易類釣魚網站是最常見的釣魚網站類型之一。
網絡釣魚是一種網絡欺詐行為,指不法分子利用各種手段,仿冒真實網站的URL 地址以及頁面內容,或者利用真實網站服務器程序上的漏洞在站點的某些網頁中插入危險的HTML 代碼,以此來騙取用戶賬號、密碼等個人重要信息。本文的研究內容正是針對電子支付交易中的釣魚問題,希望在減小網絡釣魚對用戶賬戶安全和資金安全威脅的同時,盡量降低誤判的概率而不影響用戶進行電子支付的使用感受。
為了對網絡釣魚行為的成因進行分析, 我們將客戶通過瀏覽器請求交易的過程表示如下圖所示。
圖1 通過web頁面請求交易過程
網絡釣魚攻擊者在圖1所示各個環(huán)節(jié)中都可能實施攻擊, 實現欺騙并盜取信息的目的。據此可對常見的釣魚攻擊方式進行分成:基于URL地址欺騙、基于惡意軟件、基于DNS欺騙、基于服務器攻擊和基于中間人的釣魚攻擊。值得注意的是,這些攻擊類型之間并非完全獨立,可以結合起來實施攻擊。
基于URL地址欺騙的釣魚攻擊是利用網頁URL地址混淆用戶視聽,例如使用虛假相似網址、使用ASCII編碼或者特殊字符等將URL地址改造成難以了解其真實指向的地址串等,將用戶引誘到惡意站點進行欺騙。此類攻擊最為簡單,攻擊成本較低,仍然占據了釣魚攻擊的很大比例。
基于惡意軟件的網絡釣魚攻擊是指誘使用戶在本機運行惡意腳本或木馬軟件而實施的網絡釣魚攻擊。惡意軟件通過社會工程學進行傳播,然后利用用戶系統(tǒng)存在的漏洞,記錄用戶頁面上輸入的信息或者截獲用戶提交的數據,從而對用戶的數據進行竊取[3],例如利用Windows消息機制,通過系統(tǒng)API函數攔截文本輸入時的按鍵事件消息,進行鍵盤記錄。由于惡意軟件種類繁多并且層出不窮,此類攻擊比重仍在加大。
基于服務器攻擊的網絡釣魚是指攻擊者通過服務器的安全漏洞,例如SQL注入或者跨站腳本XSS[4]控制合法服務器,將惡意內容注入服務器站點。這些惡意內容的作用或者重定向到其它站點,或者在用戶機器上安裝惡意軟件,或者是插入輸入框架,將提交的數據重定向到釣魚服務器上。
基于DNS欺騙的網絡釣魚攻擊是指干涉域名查詢過程,通過修改用戶的Hosts文件、修改用戶DNS緩存或用戶DNS服務器設置進行攻擊,將與正常網站域名配對的IP 地址改為釣魚服務器的IP地址,用戶進行域名查詢時得到的是惡意服務器的錯誤信息,最終被導向釣魚站點。
中間人式釣魚攻擊是指攻擊者處于用戶與合法站點之間,竊聽其交易過程的攻擊方式。本來要傳遞給合法站點的信息將會被傳遞給網絡釣魚攻擊者,攻擊者保存了有價值的信息后將信息傳遞給合法站點,然后合法站點也將先經過攻擊者再傳給用戶。因為當前交易過程順利完成,因此很難察覺。
由于網絡釣魚行為的猖獗及其導致的損失和危害越來越引起個人和機構的重視,目前網絡釣魚防御已成為網絡安全領域一個非常重要的研究課題。針對上述幾種攻擊方式,我們總結出通常采用的幾類防御措施,這些措施可以從一定程度上抵御網絡釣魚攻擊,或減小釣魚行為導致的危害。
首先,既然釣魚者利用精心注冊的域名誘騙用戶,并且釣魚網站域名和正常網站相比存在著一定的“仿冒特征”,那么從地址資源設置和使用上進行監(jiān)管是快速阻斷釣魚攻擊的方法之一[5]。例如監(jiān)管部門可以從域名產生、域名解析、域名應用等多個階段來保證域名系統(tǒng)在身份、內容和行為上的可信。域名監(jiān)管方法通常與其他方法配合使用,形成由下之上的防御體系。
其次,可以對客戶當前訪問頁面的URL地址進行檢測并過濾的方法進行防御。常用的是黑名單和白名單技術,通過對請求的URL與存儲列表中的URL進行比較,決定是否允許或限制此次請求訪問。黑名單[6]維護了所有需要攔截的URL列表,而白名單則包含了允許訪問的URL列表。黑名單的工作原理是首先默認網絡中所有的網頁是安全的,僅僅攔截存儲在列表中的URL地址。白名單則正好相反,它默認互聯(lián)網上所有的地址都是不可訪問的,僅僅訪問列表中所列的URL地址。例如Google公司推出的Google Safe Browsing的原理是維護黑名單,同時依靠Google強大的搜索引擎的優(yōu)勢來幫助鑒別釣魚站點?;赨RL過濾的反釣魚方法具有很高的準確率,但更新需要時間,不能及時對惡意站點進行攔截。
再次,釣魚網站和合法站點對于用戶來說難以區(qū)分,但從Web頁面的文檔對象模型和HTTP協(xié)議信息的角度進行分析仍可窺見端倪。頁面檢測算法從合法站點頁面和以往的網絡釣魚頁面中概括出敏感特征模型:例如域名中的分隔符過多或含特殊解析字符、表單中包含帳號和口令的輸入框等。當敏感特征出現異常時,算法檢測出其異常程度,判斷待測頁面是否為網絡釣魚頁面。 此外,還可以使用圖像識別和模式匹配技術進行疑似釣魚頁面的甄別,首先提取正常網頁與待檢測網頁的圖像特征,然后計算兩個頁面的視覺相似性,當相似性大于某一設定閾值時則認為待檢測網頁為釣魚網頁,但這種方法每次只能將單個網頁作為比較對象。
當前愈演愈烈的釣魚行為已經引起了政府和監(jiān)管部門的重視,他們已著手對廣大用戶進行網絡安全意識教育,并加強了互聯(lián)網資源配置和監(jiān)管上的力度。許多網絡設備和軟件廠商也都積極投入大量人力和資金,研究新的檢測算法和防御技術,進行反釣魚系統(tǒng)的研究和開發(fā),致力于為廣大用戶提供安全的網絡應用環(huán)境。那么,支付交易提供方作為網絡活動的參與者,在為用戶提供服務的同時,又能采取哪些措施來抵抗網絡釣魚,從而最大限度地保護用戶賬號,保障用戶的利益不受損害呢?
實際上,不論哪種類型的釣魚攻擊,其攻擊過程都可以分為兩個階段:第一階段是通過冒充服務器等方式騙取用戶的賬號和口令,第二階段就是發(fā)起與服務器的通信并冒充合法客戶從中牟利。那么只要識別并阻斷其中任何一個階段的攻擊行為,就可以遏止網絡釣魚行為的發(fā)生。下面我們將針對這兩個階段分別進行說明。
要阻止這一階段攻擊,需要從加強用戶身份驗證入手,確保是真實用戶自身,而不是攻擊者通過口令猜測或竊取冒充的用戶。支付交易方可以采取的措施包括以下多種。
首先,針對攻擊者多利用用戶安全意識薄弱,計算機系統(tǒng)安全級別不高進行攻擊的現狀,可以在支付交易的關鍵頁面上進行網絡釣魚防御知識宣傳,提高用戶的網絡安全意識。
其次,安全控件和動態(tài)軟鍵盤技術也應用較廣。安全控件主要是針對基于惡意軟件的釣魚攻擊,目的是阻止鍵盤鉤子或消息鉤子,使攻擊者無法通過操作系統(tǒng)漏洞或系統(tǒng)開放函數截獲用戶輸入或提交的數據。動態(tài)軟鍵盤技術也是針對鍵盤截獲類釣魚攻擊,通過使用軟鍵盤輸入,并且鍵盤按鍵布局每次都不相同,使攻擊者無法竊取用戶輸入的信息。此外還可以對軟鍵盤技術進行進一步改進,通過鼠標點擊軟鍵盤輸入的內容不是實際密碼而是當前布局下的按鈕序號,能進一步抵抗攻擊者對用戶提交數據的竊聽。
另外,目前有三種介質可用于主體身份驗證:(1)只有該主體了解的秘密,如口令、密鑰等。(2)僅該主體唯一持有的物品,如證書、手機、智能卡和令牌卡等。(3)只有該主體具有的獨一無二的特征或能力,如指紋、聲音等。而雙因子認證是指通過組合兩種方式來證明用戶身份,即使其中一種方式失去保護能力,另一種方式仍可以在一定程度上保護用戶賬戶,支付提供方應盡量鼓勵用戶采用雙因子認證方式。在包含口令的雙因子認證方式下,再采用雙口令會較大程度提升安全性,也就是將用戶的登錄口令進和進行支付交易相關操作的支付口令分開。為了防止口令被暴力攻擊破解,除了強制用戶采用數字和字母組合的強口令外,可要求用戶一并輸入在頁面隨機生成的圖形校驗碼,還可以限制口令輸入錯誤次數。
針對攻擊者可能利用網頁漏洞插入惡意代碼或惡意腳本對服務器進行攻擊實施的釣魚行為,部署網頁防篡改措施,定期進行系統(tǒng)安全評估、漏洞修補和加固,定期進行安全日志審計,提升服務器端的安全。個人客戶可以采用個人數字證書來證明自己的身份,實際上服務器也可由類似的數字證書——服務器證書來證明自己的合法身份。所以支付服務提供者應選用可信的服務器證書,保證與其它服務器或客戶端通信的安全性。
此外服務提供者還可以利用某些頁面辨別機制來最大限度地避免自己被冒充,針對不同的賬號在其登錄時給出不同的頁面特征,例如顯示預留信息或在特征區(qū)域下顯示口令輸入框。顯示用戶注冊時的預留信息,例如“我的狗狗名字叫做小怪物”,用于向用戶證明正在與之通信的是合法服務器。還可以在特征區(qū)域下顯示口令輸入框:將整個登錄密碼的輸入頁面劃分為m*n個區(qū)域。用戶注冊支付服務時自行選擇密碼輸入區(qū)域和輸入區(qū)域背景顏色。由此用戶登錄時的口令輸入區(qū)域就提供了多種不同的特征,用戶在輸入密碼前就能主動辨別輸入區(qū)域特征與自己的預先設定是否相符,如果不符則懷疑登錄了釣魚網站,并拒絕輸入口令。這兩種頁面辨別方法均用于表明自己掌握了某個“僅有我們雙方才知道的秘密”,從而向用戶表明自己的身份。在“瘦”瀏覽器的現狀下,這種方法能起到一定的保護作用,并且不用對瀏覽器端用戶操作方式、服務器端的計算方式、瀏覽器和服務器之間的通信機制進行較大的修改。必須指出的是,單獨使用這種方法仍不能完全抵御釣魚網站對自己的仿冒,主要原因是服務器展示自己所知道的“秘密”之前并未驗證對方的身份,因此攻擊者很容易通過中間人攻擊獲取只有用戶和服務器才知道的“秘密”。 這種缺陷類似于使用明文傳輸“秘密”,因此在不引入安全密碼保護“秘密”的前提下無法解決,建議與數字證書、手機動態(tài)口令等雙因子認證方法配合使用。
本文對電子支付交易中釣魚攻擊的成因、分類和應對措施進行了研究,希望通過用戶、支付服務提供方和監(jiān)管部門的共同努力,最大限度地抵抗釣魚攻擊,從而保障用戶和公眾的利益不受損害。
[1]CNCERT/CC.2010年中國互聯(lián)網網絡安全報告,http://www.cert.org.cn.
[2]Anti-Phishing Alliance of China (APAC).2010年12月 份釣魚網站處理簡報,http://www.apac.org.cn.
[3]杜曄,張大偉,范艷芳.網絡攻防技術教程—從原理到實踐[M].武漢大學出版社,2008.
[4]馮登國.網絡安全原理與技術[M].科學出版社, 2004.
[5]OLLMAN G.The Phishing Guide-Understanding and Preventing(White Paper),Next Generation Security Software Ltd,2004.
[6]Zhang Y,Egelman S.Phinding Phish:Evaluating Anti-Phishing Tools,In:Proc of the 14th Annual Network & Distributed System Security Symposium(NDSS),Santiago,2007.