摘要:該文介紹了軟鍵盤密碼輸入技術的工作原理,分析了“屏幕快照”黑客竊密技術的攻擊原理和流程,針對當前軟鍵盤技術存在的問題提出了相應的改進方案,并用VB編程實現了改進后的軟鍵盤程序。
關鍵詞:軟鍵盤技術;木馬;屏幕快照;竊密技術
中圖分類號:TP317.4文獻標識碼:A文章編號:1009-3044(2008)35-2365-02
Research and Improving on the Soft Keyboard Technique
GU Hai-yan1, GU Gang2, XUE Bin3
(1. Jiangsu Police Officer College, Nanjing 210012, China; 2. Telecommunications Science Institute of Jiangsu, Nanjing 210012, China; 3. Police Bureau of Danyang County of Jiangsu Province, Danyang 212300, China)
Abstract: In the paper, the theory of the soft keyboard technique is introduced, the attacking principle and process of the famous hacking technique called \"Screen Shots\" are analyzed. Corresponded solutions are given aimed at present problems of soft keyboard technique, and the modified soft keyboard program is achieved by using VB programming tool.
Key words: soft keyboard design; trojans; screen shots; steal technique of passwords.
1 引言
網絡在給我們帶來了方便的同時,也給心懷不軌之徒帶來了可趁之機,用戶的交易密碼被盜不僅破壞了網絡的安全性,而且直接給用戶帶來了不可挽回的經濟損失,因此各種密碼保護技術隨之越來越多得出現了。從最早的密碼排序技術,到最新的“數字證書”和“生物密碼”技術,防竊密技術的更新速度越來越快,成本越來越高,破解也越來越復雜?!败涙I盤”密碼輸入技術是目前最流行最便捷的防竊密技術手段之一。
使用物理鍵盤在輸入密碼時很不安全,有很多類似于“按鍵記錄”的特洛伊木馬程序能夠很容易竊取到用戶輸入的交易密碼。目前對使用物理鍵盤輸入密碼存在威脅的主要病毒類型有:按鍵記錄木馬、“屏幕快照”木馬等。
2 按鍵記錄木馬
按鍵記錄木馬是Trojans木馬的變種之一,是功能比較單一的特洛伊木馬。攻擊者會力圖使它保持較小的體積,通常是10 KB到30 KB,以便快速激活而不引起注意。該木馬由三個模塊組成:主模塊,鉤子過程和FTP模塊。主模塊負責安裝一個全局鉤子過程。該鉤子的任務是把每次按鍵事件向主模塊匯報,由主模塊把所有的擊鍵保存到一個文件中。當記錄文件達到預定的大小時,主模塊命令FTP模塊把記錄文件上載給一個FTP服務器。三個模塊間的通訊是通過Windows消息機制實現的。[1]
一旦用戶的電腦感染了按鍵記錄木馬病毒,系統就被種下了“鉤子”,黑客通過“鉤子”程序監聽和記錄用戶的擊鍵動作,然后通過自身的郵件發送模塊把記錄下的密碼發送到黑客的指定郵箱。
比較典型的案例如“密碼大盜”?!懊艽a大盜”病毒運行后,在被感染的計算機上釋放下列四個文件:用來記錄病毒原始目錄的文件mmdat.dat、病毒主程序intrenat.exe、鉤子模塊ntdll32.dll和記錄用戶輸入數據的文件wdata32.dll。病毒運行后安裝鉤子模塊,子類化IE服務器窗口(Internet Explorer_Server),當發現網頁上有“Password”、“密碼”、“Submit”等字符時開始記錄用戶輸入信息,并將記錄的用戶信息發往指定郵箱。[2]
為對付按鍵記錄木馬,密碼輸入中目前普遍采用的方法就是軟鍵盤輸入。軟鍵盤輸入可反擊基于鉤子技術的鍵盤監視程序。該技術方便易用,兼容性強,因此受到了廣大用戶的歡迎。
軟鍵盤技術的工作原理是利用一個軟件程序模擬實現硬鍵盤所具備的功能。在軟鍵盤內部有一個編輯控件。用此編輯控件將針對每次用戶擊鍵生成一個模擬的隨機鍵擊串。木馬的監視程序將截獲用戶的擊鍵和偽擊鍵,這樣一來木馬的鍵擊記錄器就無法提取記錄隨機產生的相對應按鍵,使它很難或者不可能檢索實際的輸入文本。因此只要不直接通過鍵盤輸入,而用軟鍵盤輸入,木馬軟件就無法獲得每個按鍵的ID,也就起到了動態隱藏密碼的效果。隨機鍵擊串應該是一個亂數,也就會有效地阻止鍵擊記錄器獲取信息的途徑。而用戶輸入的數據被存儲于一個成員變量中,應用程序就可以很容易地通過編輯控件存取該變量的值,從而能夠防止木馬竊取密碼的事情發生。網上交易登錄界面、軟鍵盤密碼輸入界面如圖1所示。
3 “屏幕快照”竊密木馬
軟鍵盤輸入技術使得用按鍵記錄技術的木馬失去了作用,但“屏幕快照”竊密木馬卻可以通過屏幕快照的方法來破解軟鍵盤輸入技術。“屏幕快照”竊密木馬一般會偽裝成后綴名為rar的壓縮文件,誘騙用戶上當點擊運行。“屏幕快照”竊密木馬運行后,會將其中部分網頁鏈接改造成可偷偷打開黑客事先設定的惡意網頁的“陷阱”鏈接,然后自行利用各種IE瀏覽器的MHT漏洞嘗試對點擊者的計算機進行木馬種植。2004年江民反病毒中心截獲的“證券大盜”病毒、2008年1月14日國家計算機病毒應急處理中心發布通告的一個以盜取網上銀行和“支付寶”賬號密碼的“網銀木馬”,都是使用 “屏幕快照”竊密技術的木馬案例。
“證券大盜”木馬病毒運行時,會自動查找包括IE、Maxthon、TTraveler、MYIE、TouchNet、Opera、SmartExplore、k-meleon、GreenBrowser在內的多種瀏覽器,或尋找一些包含著名券商名稱的窗口標題,一旦發現用戶使用其中任一種瀏覽器登錄個人網上銀行等界面,就開始啟動鍵盤鉤子對用戶登錄信息進行記錄,包括用戶名和密碼。同時在后臺以復制的方式將屏幕分為黑、白兩種圖片。其中軟鍵盤界面為黑色圖片,是固定不動的參照模板,其后通過屏幕快照的方式在一段時間內進行連續截屏,記錄每一次鼠標點擊的位置,將用戶的登錄界面保存為多張白色圖片,一般存放于:“c:\\Screen1.bmp” 和“c:\\Screen2.bmp”下。當記錄達到指定次數后,木馬病毒會將存檔中記錄的信息和圖片通過電子郵件發送到黑客自己的郵箱中。發送成功后,木馬病毒還會實施自殺,將自身刪除。黑客通過對照圖片中鼠標的點擊位置,就很有可能破譯出用戶的登錄賬號和密碼,從而突破軟鍵盤密碼保護技術。[3]
4 軟鍵盤輸入技術的改進和實現
軟鍵盤輸入技術使用方便、成本較低,受到廣大網上交易用戶的普遍歡迎。針對類似于“屏幕快照”網銀木馬的攻擊原理,可對軟鍵盤輸入技術進行適當改進,使其克服不足之處,防范“屏幕快照”網銀木馬的攻擊。
軟鍵盤技術改進方案的基本思想是:將原始的“靜態”軟鍵盤模型改進成“動態”的軟鍵盤模型,每當用戶利用軟鍵盤點擊輸入一個數據的同時,鍵盤上所有按鍵的顯示內容自動隱藏,隨后出現的軟鍵盤上所有的按鍵是隨機出現的新的順序,這種變換過程本身完全隨機、無規律可尋,這就可以有效防止密碼的失竊。
具體實現可選用VB來編寫設計軟鍵盤程序。當用戶鼠標指向軟鍵盤上某個鍵位時,則所有按鈕上的內容不顯示;當用戶擊點鍵位后松開鼠標時,則更換所有按鈕上的內容。
點擊前軟鍵盤狀態如圖2所示,點擊時軟鍵盤狀態如圖3所示。
采用這樣的軟鍵盤設計的好處有:一是軟鍵盤的鍵位隨著每次的按鍵而改變,可有效防止采用黑白片方案的竊密手段;二是軟鍵盤在指向按鍵的同時隱藏鍵位的內容,可有效阻止按鍵截屏的竊密手段。
運用動態軟鍵盤設計的不足之處:鍵位更換應當采用完全隨機形式,以增強安全性。但如果每按一個鍵位后,布局就進行一次完全變換,則可能造成用戶的使用不便。
采用物理鍵盤、靜態軟鍵盤、動態軟鍵盤輸入的性能比較如表1。
5 結束語
中國金融認證中心(CFCA)發布的《2007年中國網上銀行調查報告》報告顯示:網銀作為新興的在線支付工具,有著快捷、方便等諸多有利因素,使得我國網上銀行交易量大幅增加。2007年,在受調查的10個經濟發達的城市中,個人和企業使用網銀的比例均持續增長,已有37.8%的個人使用網銀,企業網銀使用率已達31.7%。但在網銀交易大幅增加的同時,網銀成為除網游之外木馬泛濫的另一重災區,網銀的安全性也已成為個人和企業消費者最為關心的問題,超過七成老百姓因擔心網銀的安全性而沒選擇網上交易。[4]因此,網銀安全性成了制約其發展的瓶頸,如何安全使用網上銀行,除了要樹立風險防范意識、培養良好操作習慣以外,借助專業的安全工具軟件來保護是必不可少的。
軟鍵盤輸入技術只是眾多網上交易安全技術中的一種,這種防竊密技術具有其它防竊密技術難以比擬的優點,正因如此,才使該技術得以流行至今。當然其本身也有一定的缺陷,通過對它的改進可以提高網上交易的安全性。
參考文獻:
[1] 張仁斌,李鋼,侯整風. 計算機病毒與反病毒技術[M]. 清華大學出版社, 2006(6):310.
[2] 劉功申. 計算機病毒及其防范技術[M]. 清華大學出版社, 2008(2):153.
[3] 何太星. “證券大盜”木馬病毒原理及防范[J]. 計算機安全, 2005(3):53-54.
[4] 崔麗英, 沈玉志, 崔麗群. 網上銀行風險[J]. 中國高新技術企業, 2008(13):7-8.