專利名稱:數(shù)據(jù)處理方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其是一種數(shù)據(jù)處理方法、裝置及系統(tǒng)。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,對(duì)信息安全的要求也越來(lái)越高,而越來(lái)越多的針對(duì)鍵盤輸入環(huán)節(jié)的擊鍵攔截技術(shù)使得計(jì)算機(jī)的信息安全技術(shù)面臨嚴(yán)峻考驗(yàn)。擊鍵攔截技術(shù)分為應(yīng)用層攔截和驅(qū)動(dòng)層攔截,驅(qū)動(dòng)層較應(yīng)用層更底層,也更先攔截到鍵盤輸入。現(xiàn)有的擊鍵攔截技術(shù)包括以下幾種1)直接輸入輸出(Input Output,簡(jiǎn)稱10)直接通過(guò)讀寫鍵盤的IO端口,比如 60H(H表示16進(jìn)制)數(shù)據(jù)端口或者64H命令端口,進(jìn)行擊鍵攔截,是個(gè)人系統(tǒng)(Personal System,簡(jiǎn)稱PS)/2鍵盤擊鍵攔截最底層技術(shù),硬件兼容性較差,不支持通用串行總線 (Universal Serial BUS,簡(jiǎn)稱USB)人機(jī)接口設(shè)備(Human Interface Device,簡(jiǎn)稱 HID)鍵
ο2)Hook 類驅(qū)動(dòng)(kbdclass. sys)的鍵盤類服務(wù)回調(diào)(KeyboardClassServiceCallback) 函數(shù)兼容USB和PS/2。3)應(yīng)用層擊鍵攔截技術(shù)視窗(windows)消息Hook、獲取鍵盤狀態(tài) (GetKeyboardState)、直接輸入(DirectInput)等,目前有大量的木馬采用應(yīng)用層攔截技術(shù),兼容性、穩(wěn)定性好,但是不能突破采用驅(qū)動(dòng)層的防范技術(shù)。上述攔截技術(shù)對(duì)鍵盤輸入的攔截順序?yàn)橐来蜗群髷r截,如圖1所示。其中直接10 和Hook類驅(qū)動(dòng)的鍵盤類服務(wù)回調(diào)函數(shù)分別為針對(duì)PS/2鍵盤、USBHID鍵盤的最底層的擊鍵攔截技術(shù)。在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中還沒有針對(duì)上述兩種擊鍵攔截技術(shù)的防范技術(shù)。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理方法、裝置及系統(tǒng),用以防范直接10或Hook類驅(qū)動(dòng)的鍵盤類服務(wù)回調(diào)函數(shù)的擊鍵攔截技術(shù)。一方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)處理方法,包括判斷鍵盤類型;若所述鍵盤為個(gè)人系統(tǒng)PS/2鍵盤,則周期性地生成隨機(jī)混淆數(shù)據(jù),將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給輸入輸出10端口,所述10端口向鍵盤過(guò)濾模塊發(fā)送所述隨機(jī)混淆數(shù)據(jù);若所述鍵盤為通用串行總線USB人機(jī)接口設(shè)備HID鍵盤,則周期性地生成隨機(jī)混淆數(shù)據(jù),查找鍵盤類服務(wù)回調(diào)函數(shù),若查找成功,則調(diào)用所述鍵盤類服務(wù)回調(diào)函數(shù)將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊,若查找失敗,則輸出告警信息。另一方面,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)處理裝置,包括判斷模塊,用于判斷鍵盤類型;
模擬輸入模塊,用于若所述鍵盤為個(gè)人系統(tǒng)PS/2鍵盤,則周期性地生成隨機(jī)混淆數(shù)據(jù),將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給輸入輸出IO端口 ;若所述鍵盤為通用串行總線USB人機(jī)接口設(shè)備HID鍵盤,則周期性地生成隨機(jī)混淆數(shù)據(jù),查找鍵盤類服務(wù)回調(diào)函數(shù),若查找成功,則調(diào)用所述鍵盤類服務(wù)回調(diào)函數(shù)將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊,若查找失敗,則輸出告警信息;鍵盤過(guò)濾模塊,用于接收所述IO端口或所述鍵盤類服務(wù)回調(diào)函數(shù)發(fā)送的所述隨機(jī)混淆數(shù)據(jù)。另一方面,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)處理系統(tǒng),包括輸入輸出IO端口和數(shù)據(jù)處理裝置,所述數(shù)據(jù)處理裝置為如上所述的裝置。上述技術(shù)方案中的一個(gè)技術(shù)方案具有如下有益效果本發(fā)明實(shí)施例對(duì)于PS/2鍵盤采用將生成的隨機(jī)混淆數(shù)據(jù)發(fā)送給IO端口,IO端口將隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊的技術(shù)手段,使得直接IO的擊鍵攔截只能攔截到包含有隨機(jī)混淆數(shù)據(jù)的信息,對(duì)于USB HID鍵盤采用查找鍵盤類服務(wù)回調(diào)函數(shù),若查找成功則調(diào)用所述鍵盤類服務(wù)回調(diào)函數(shù)將生成隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊,若查找失敗則輸出告警信息的技術(shù)手段,使得Hook類驅(qū)動(dòng)的鍵盤類服務(wù)回調(diào)函數(shù)的擊鍵攔截可以被檢測(cè)出來(lái),進(jìn)而實(shí)現(xiàn)了有效防范,保證了數(shù)據(jù)安全。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)中各擊鍵攔截技術(shù)在系統(tǒng)架構(gòu)中的攔截順序示意圖。圖2為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理方法實(shí)施例的流程示意圖。圖3為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理裝置實(shí)施例的結(jié)構(gòu)示意圖。圖4為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例的主要構(gòu)思是采用模擬按鍵技術(shù)生成隨機(jī)混淆數(shù)據(jù),對(duì)于PS/2鍵盤,將隨機(jī)混淆數(shù)據(jù)發(fā)給IO端口,IO端口再將隨機(jī)混淆數(shù)據(jù)和監(jiān)測(cè)到的鍵盤輸入數(shù)據(jù)向上層發(fā)送,這樣即使是最底層的直接IO的擊鍵攔截也只能攔截到包含了隨機(jī)混淆數(shù)據(jù)的信息,對(duì)于USB HID鍵盤,查找鍵盤類服務(wù)回調(diào)函數(shù),若查找成功則調(diào)用所述鍵盤類服務(wù)回調(diào)函數(shù)將生成隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊,若查找失敗則輸出告警信息,使得Hook類驅(qū)動(dòng)的鍵盤類服務(wù)回調(diào)函數(shù)的擊鍵攔截可以被檢測(cè)出來(lái),進(jìn)而實(shí)現(xiàn)了有效防范,保證了數(shù)據(jù)安全。其中,模擬按鍵技術(shù)和擊鍵攔截技術(shù)相似,模擬按鍵技術(shù)生成的數(shù)據(jù)能夠被其采用的技術(shù)和其上層的擊鍵攔截技術(shù)獲得,比其底層的技術(shù)層面不能獲得,所以要盡可能的采用底層的模擬按鍵技術(shù)生成干擾數(shù)據(jù)。圖2為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理方法實(shí)施例的流程示意圖。如圖2所示, 該方法包括步驟201、判斷鍵盤類型,若所述鍵盤為PS/2鍵盤,則執(zhí)行步驟202,若所述鍵盤為 USB HID鍵盤,則執(zhí)行步驟203 ;這里可以采用現(xiàn)有技術(shù)中的方法判斷鍵盤類型,比如通過(guò)系統(tǒng)中與鍵盤連接的接口檢測(cè)得到鍵盤類型,本實(shí)施例對(duì)此不作限定。步驟202、周期性地生成隨機(jī)混淆數(shù)據(jù),并將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給輸入輸出 IO端口,所述IO端口向鍵盤過(guò)濾模塊發(fā)送所述隨機(jī)混淆數(shù)據(jù);這里的IO端口在系統(tǒng)架構(gòu)中位于驅(qū)動(dòng)層之下,隨機(jī)混淆數(shù)據(jù)是用于掩蓋鍵盤輸入數(shù)據(jù)的隨機(jī)碼,可以采用現(xiàn)有技術(shù)中的隨機(jī)算法生成,較優(yōu)地可以根據(jù)系統(tǒng)時(shí)間隨機(jī)生成,本實(shí)施例對(duì)此不作限定。這里的周期可以根據(jù)經(jīng)驗(yàn)設(shè)定,如50毫秒,本實(shí)施例對(duì)此不作限定。較優(yōu)地,將隨機(jī)混淆數(shù)據(jù)的生成頻率設(shè)定得比鍵盤輸入數(shù)據(jù)的頻率高得多。由于目前還沒有木馬技術(shù)能在IO端口區(qū)分出真實(shí)輸入和干擾數(shù)據(jù),在本發(fā)明的一個(gè)可選的實(shí)施例中,可以調(diào)用匯編指令out將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給所述IO端口。IO端口除了發(fā)送所述隨機(jī)混淆數(shù)據(jù),還采用現(xiàn)有技術(shù)中的方法實(shí)時(shí)監(jiān)測(cè)鍵盤輸入,若監(jiān)測(cè)鍵盤輸入數(shù)據(jù),則向所述鍵盤過(guò)濾模塊發(fā)送所述鍵盤輸入數(shù)據(jù)。應(yīng)用中,鍵盤過(guò)濾模塊可以通過(guò)采用現(xiàn)有技術(shù)中鍵盤過(guò)濾驅(qū)動(dòng)類似的技術(shù)實(shí)現(xiàn),在系統(tǒng)架構(gòu)中位于驅(qū)動(dòng)層。步驟203、周期性地生成隨機(jī)混淆數(shù)據(jù),查找鍵盤類服務(wù)回調(diào)函數(shù),若查找成功,則調(diào)用所述鍵盤類服務(wù)回調(diào)函數(shù)將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊,若查找失敗,則
輸出告警信息。這里的鍵盤類服務(wù)回調(diào)函數(shù)為KeyboardClassServiceCallback函數(shù),真實(shí)的鍵盤輸入數(shù)據(jù)也會(huì)經(jīng)過(guò)該函數(shù)。具體地,該函數(shù)可以通過(guò)預(yù)設(shè)的函數(shù)特征值查找。在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)若鍵盤類服務(wù)回調(diào)函數(shù)被hook,該函數(shù)的特征值會(huì)發(fā)生變化, 這樣就無(wú)法找到該函數(shù),因此本實(shí)施例采用hook檢測(cè)機(jī)制,若查找函數(shù)失敗則確認(rèn)該函數(shù)被hook,輸出告警信息。這里的告警信息可以提示用戶終止輸入操作。鍵盤過(guò)濾模塊接收到的數(shù)據(jù)中既有步驟202或203中的隨機(jī)混淆數(shù)據(jù),也有10端口監(jiān)測(cè)到的鍵盤輸入數(shù)據(jù),這兩類數(shù)據(jù)是混淆在一起的。為了在后續(xù)過(guò)程中將隨機(jī)混淆數(shù)據(jù)過(guò)濾掉,得到真實(shí)的鍵盤輸入,在本發(fā)明的又一可選的實(shí)施例中,還可以將步驟202、203中生成的隨機(jī)混淆數(shù)據(jù)告知鍵盤過(guò)濾模塊。具體地,在本發(fā)明的一個(gè)可選的實(shí)施例中,步驟202和步驟203具體還可以包括生成隨機(jī)混淆數(shù)據(jù),并保存數(shù)據(jù)記錄;向所述鍵盤過(guò)濾模塊發(fā)送所述數(shù)據(jù)記錄的存儲(chǔ)地址,所述鍵盤過(guò)濾模塊根據(jù)所述存儲(chǔ)地址獲取所述數(shù)據(jù)記錄;步驟202或步驟203之后還可以包括所述鍵盤過(guò)濾模塊接收所述隨機(jī)混淆數(shù)據(jù)和所述鍵盤輸入數(shù)據(jù),根據(jù)所述數(shù)據(jù)記錄過(guò)濾所述隨機(jī)混淆數(shù)據(jù),得到所述鍵盤輸入數(shù)據(jù)。在本發(fā)明的又一可選的實(shí)施例中,可以將所述數(shù)據(jù)記錄保存在內(nèi)存中。進(jìn)一步地, 鍵盤過(guò)濾模塊可以順序、線形過(guò)濾隨機(jī)混淆數(shù)據(jù),這樣內(nèi)存僅需保存一個(gè)隨機(jī)混淆數(shù)據(jù)的字符即可,生成一個(gè)字符鍵盤過(guò)濾模塊過(guò)濾掉一個(gè)。舉例來(lái)說(shuō),若順序發(fā)送隨機(jī)混淆數(shù)據(jù) “abc”,真實(shí)的鍵盤輸入數(shù)據(jù)為“ 123”,則鍵盤過(guò)濾模塊接收到的數(shù)據(jù)可以為“al2b3c”,過(guò)濾掉“abc”則得到真實(shí)輸入“ 123”。進(jìn)一步地,這種場(chǎng)景下,可以僅傳遞保存數(shù)據(jù)記錄的內(nèi)存地址,而不傳遞隨機(jī)混淆數(shù)據(jù)本身或是生成所述隨機(jī)混淆數(shù)據(jù)的規(guī)則,減少了隨機(jī)混淆數(shù)據(jù)或隨機(jī)混淆數(shù)據(jù)生成規(guī)則傳遞過(guò)程中被獲取進(jìn)而區(qū)分出隨機(jī)混淆數(shù)據(jù)的安全隱患,進(jìn)一步提高了數(shù)據(jù)安全。具體地,鍵盤過(guò)濾模塊可以將接收到的數(shù)據(jù)和所述數(shù)據(jù)記錄中的隨機(jī)混淆數(shù)據(jù)進(jìn)行比對(duì),過(guò)濾掉接收到的數(shù)據(jù)中的隨機(jī)混淆數(shù)據(jù),進(jìn)而得到鍵盤輸入數(shù)據(jù)。在本發(fā)明的又一可選的實(shí)施例中,為了防范鍵盤過(guò)濾模塊上層的攔截,鍵盤過(guò)濾模塊可以將過(guò)濾得到的真實(shí)的鍵盤輸入數(shù)據(jù)修改后向應(yīng)用層傳遞。在這種場(chǎng)景下,本實(shí)施例還可以包括所述鍵盤過(guò)濾模塊保存所述鍵盤輸入數(shù)據(jù),并修改所述鍵盤輸入數(shù)據(jù)生成垃圾數(shù)據(jù),所述垃圾數(shù)據(jù)的字符數(shù)與所述鍵盤輸入數(shù)據(jù)相同;所述鍵盤過(guò)濾模塊向應(yīng)用模塊發(fā)送所述垃圾數(shù)據(jù);所述應(yīng)用模塊向用戶界面返回所述垃圾數(shù)據(jù)。這里垃圾數(shù)據(jù)的字符數(shù)與所述鍵盤輸入數(shù)據(jù)相同,是為了保證在輸入窗口中正常顯示,對(duì)用戶透明,也可以省略應(yīng)用層開發(fā)輸入控件。舉例來(lái)說(shuō),鍵盤輸入數(shù)據(jù)為123456,鍵盤過(guò)濾模塊將其修改為000000,并將000000作為鍵盤輸入數(shù)據(jù)傳遞給應(yīng)用層,最終在用戶界面顯示與垃圾數(shù)據(jù)000000對(duì)應(yīng)的******。在本發(fā)明的又一可選的實(shí)施例中,雖然鍵盤過(guò)濾模塊向應(yīng)用層返回了修改后的鍵盤輸入數(shù)據(jù),但真實(shí)的鍵盤輸入數(shù)據(jù)仍需進(jìn)行后續(xù)處理。在這種場(chǎng)景下,本實(shí)施例還可以包括通過(guò)安全接口接收調(diào)用功能模塊發(fā)送的鍵盤輸入數(shù)據(jù)請(qǐng)求;將所述鍵盤輸入數(shù)據(jù)通過(guò)所述安全接口發(fā)送給所述調(diào)用功能模塊;所述調(diào)用功能模塊將所述鍵盤輸入數(shù)據(jù)加密后發(fā)送給服務(wù)器。這里的調(diào)用功能模塊用于調(diào)用相應(yīng)接口獲取真實(shí)輸入數(shù)據(jù)。應(yīng)用中,對(duì)于瀏覽器/ 服務(wù)器(Browser/Server,簡(jiǎn)稱B/S)系統(tǒng),調(diào)用功能模塊可以通過(guò)ActiveX控件實(shí)現(xiàn),對(duì)于客戶端/服務(wù)器(Client/Server,簡(jiǎn)稱C/S)系統(tǒng),調(diào)用功能模塊可以是網(wǎng)銀客戶端等。具體地,調(diào)用功能模塊獲取所述鍵盤輸入數(shù)據(jù),可以調(diào)用輔助功能模塊將所述鍵盤輸入數(shù)據(jù)進(jìn)行加密處理后再通過(guò)安全超文本傳輸協(xié)議(Secure Hypertext Transfer Protocol,簡(jiǎn)稱HTTPS)等安全通信技術(shù)發(fā)送到服務(wù)器。該服務(wù)器可以是對(duì)該鍵盤輸入數(shù)據(jù)進(jìn)行驗(yàn)證的服務(wù)器。這里的輔助功能模塊可以是現(xiàn)有系統(tǒng)中的已有模塊,可以根據(jù)現(xiàn)有技術(shù)中的方法實(shí)現(xiàn),本實(shí)施例對(duì)此不作限定。本發(fā)明實(shí)施例對(duì)于PS/2鍵盤采用將生成的隨機(jī)混淆數(shù)據(jù)發(fā)送給IO端口,IO端口將隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊的技術(shù)手段,使得直接IO的擊鍵攔截只能攔截到包含有隨機(jī)混淆數(shù)據(jù)的信息,對(duì)于USB HID鍵盤采用查找鍵盤類服務(wù)回調(diào)函數(shù),若查找成功則調(diào)用所述鍵盤類服務(wù)回調(diào)函數(shù)將生成隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊,若查找失敗則輸出告警信息的技術(shù)手段,使得Hook類驅(qū)動(dòng)的鍵盤類服務(wù)回調(diào)函數(shù)的擊鍵攔截可以被檢測(cè)出來(lái),進(jìn)而實(shí)現(xiàn)了有效防范,保證了數(shù)據(jù)安全,且兼容PS/2鍵盤和USB HID鍵盤。進(jìn)一步地, 還可以將過(guò)濾得到的鍵盤輸入數(shù)據(jù)進(jìn)行修改后發(fā)送給應(yīng)用層,使得在鍵盤過(guò)濾驅(qū)動(dòng)上層的應(yīng)用層攔截技術(shù)也只能獲得修改后的密文,極大提高了密碼等機(jī)密信息通過(guò)鍵盤輸入的安全性。圖3為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理裝置實(shí)施例的結(jié)構(gòu)示意圖。如圖3所示, 該裝置包括判斷模塊31,用于判斷鍵盤類型;模擬輸入模塊32,用于若所述鍵盤為PSA鍵盤,則周期性地生成隨機(jī)混淆數(shù)據(jù), 將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給IO端口 ;若所述鍵盤為USB HID鍵盤,則周期性地生成隨機(jī)混淆數(shù)據(jù),查找鍵盤類服務(wù)回調(diào)函數(shù),若查找成功,則調(diào)用所述鍵盤類服務(wù)回調(diào)函數(shù)將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊33,若查找失敗,則輸出告警信息;鍵盤過(guò)濾模塊33,用于接收所述IO端口或所述鍵盤類服務(wù)回調(diào)函數(shù)發(fā)送的所述隨機(jī)混淆數(shù)據(jù)。進(jìn)一步地,鍵盤過(guò)濾模塊33還用于,接收所述IO端口發(fā)送的鍵盤輸入數(shù)據(jù)。在本發(fā)明的一個(gè)可選的實(shí)施例中,模擬輸入模塊32具體用于生成隨機(jī)混淆數(shù)據(jù),并保存數(shù)據(jù)記錄;向鍵盤過(guò)濾模塊33發(fā)送所述數(shù)據(jù)記錄的存儲(chǔ)地址;鍵盤過(guò)濾模塊33具體用于根據(jù)所述存儲(chǔ)地址獲取所述數(shù)據(jù)記錄;根據(jù)所述數(shù)據(jù)記錄過(guò)濾所述隨機(jī)混淆數(shù)據(jù),得到所述鍵盤輸入數(shù)據(jù)。在本發(fā)明的又一可選的實(shí)施例中,模擬輸入模塊32具體用于保存所述鍵盤輸入數(shù)據(jù),并修改所述鍵盤輸入數(shù)據(jù)生成垃圾數(shù)據(jù),向應(yīng)用模塊發(fā)送所述垃圾數(shù)據(jù),所述垃圾數(shù)據(jù)的字符數(shù)與所述鍵盤輸入數(shù)據(jù)相同。在本發(fā)明的又一可選的實(shí)施例中,該實(shí)施例還包括安全接口 34,用于接收調(diào)用功能模塊35發(fā)送的鍵盤輸入數(shù)據(jù)請(qǐng)求,將鍵盤過(guò)濾模塊33保存的所述鍵盤輸入數(shù)據(jù)發(fā)送給調(diào)用功能模塊35 ;調(diào)用功能模塊35,用于將所述鍵盤輸入數(shù)據(jù)加密后發(fā)送給服務(wù)器。應(yīng)用中,模擬輸入模塊32具體用于指示調(diào)用功能模塊35輸出告警信息。應(yīng)用中,模擬輸入模塊32具體用于通過(guò)匯編指令out將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給所述IO端口。應(yīng)用中,模擬輸入模塊32具體用于根據(jù)預(yù)設(shè)的函數(shù)特征值查找所述鍵盤類服務(wù)回調(diào)函數(shù)。本實(shí)施例中的判斷模塊31、模擬輸入模塊32、鍵盤過(guò)濾模塊33、安全接口 34可以在一個(gè)驅(qū)動(dòng)保護(hù)程序中實(shí)現(xiàn),調(diào)用功能模塊35和所述驅(qū)動(dòng)保護(hù)程序可以在一個(gè)安裝程序中實(shí)現(xiàn)。當(dāng)需要鍵盤安全輸入時(shí),如密碼輸入框獲得輸入焦點(diǎn),啟動(dòng)該驅(qū)動(dòng)保護(hù)程序,啟動(dòng)該驅(qū)動(dòng)保護(hù)程序即模擬輸入模塊32開始生成隨機(jī)混淆數(shù)據(jù)并發(fā)送給鍵盤過(guò)濾模塊33 ;當(dāng)不需要鍵盤安全輸入時(shí),如密碼輸入框失去輸入焦點(diǎn),可以停止該驅(qū)動(dòng)保護(hù)程序中模擬輸入模塊32和鍵盤過(guò)濾模塊33的功能。應(yīng)用中,在安裝上述安裝程序時(shí),還可以設(shè)置驅(qū)動(dòng)保護(hù)程序?yàn)楠?dú)占打開,這樣某一時(shí)刻只有一個(gè)進(jìn)程可以啟動(dòng)該驅(qū)動(dòng)保護(hù)程序,如果該驅(qū)動(dòng)保護(hù)程序被惡意進(jìn)程打開,則合法應(yīng)用需要啟動(dòng)該驅(qū)動(dòng)時(shí)會(huì)提示打開驅(qū)動(dòng)失敗,告警用戶,若合法應(yīng)用先啟動(dòng)該驅(qū)動(dòng)則惡意進(jìn)程打開驅(qū)動(dòng)會(huì)失敗。另外,還可以利用不提供卸載接口等技術(shù),針對(duì)惡意使本實(shí)施例提供的防范攔截機(jī)制失效進(jìn)行防范,保證了保護(hù)機(jī)制的有效性。 另外,若不能正常啟動(dòng),如USB HID鍵盤類服務(wù)回調(diào)函數(shù)KeyboardClassServiceCallback 被其它程序Hook等,則調(diào)用功能模塊35通過(guò)對(duì)話框提示等手段向用戶發(fā)送告警信息,終止用戶輸入操作。本實(shí)施例的具體實(shí)現(xiàn)參照本發(fā)明提供的一種數(shù)據(jù)處理方法實(shí)施例。本發(fā)明實(shí)施例對(duì)于PS/2鍵盤采用將生成的隨機(jī)混淆數(shù)據(jù)發(fā)送給IO端口,IO端口將隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊的技術(shù)手段,使得直接IO的擊鍵攔截只能攔截到包含有隨機(jī)混淆數(shù)據(jù)的信息,對(duì)于USB HID鍵盤采用查找鍵盤類服務(wù)回調(diào)函數(shù),若查找成功則調(diào)用所述鍵盤類服務(wù)回調(diào)函數(shù)將生成隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊,若查找失敗則輸出告警信息的技術(shù)手段,使得Hook類驅(qū)動(dòng)的鍵盤類服務(wù)回調(diào)函數(shù)的擊鍵攔截可以被檢測(cè)出來(lái),進(jìn)而實(shí)現(xiàn)了有效防范,保證了數(shù)據(jù)安全,且兼容PS/2鍵盤和USB HID鍵盤。進(jìn)一步地,還可以將過(guò)濾得到的鍵盤輸入數(shù)據(jù)進(jìn)行修改后發(fā)送給應(yīng)用層,使得在鍵盤過(guò)濾驅(qū)動(dòng)上層的應(yīng)用層攔截技術(shù)也只能獲得修改后的密文,極大提高了密碼等機(jī)密信息通過(guò)鍵盤輸入的安全性。圖4為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。如圖4所示, 該系統(tǒng)包括10端口 41和數(shù)據(jù)處理裝置42,數(shù)據(jù)處理裝置42為如本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理裝置實(shí)施例所述的裝置。這里的IO端口 41用于監(jiān)測(cè)鍵盤輸入,若監(jiān)測(cè)到鍵盤輸入數(shù)據(jù),則向數(shù)據(jù)處理裝置 42中的鍵盤過(guò)濾模塊發(fā)送所述鍵盤輸入數(shù)據(jù)。另外,IO端口 41還用于將接收到的數(shù)據(jù)處理裝置42中模擬輸入模塊發(fā)送的隨機(jī)干擾數(shù)據(jù)發(fā)送給數(shù)據(jù)處理裝置42中的鍵盤過(guò)濾模塊。在本發(fā)明的一個(gè)可選的實(shí)施例中,該系統(tǒng)還包括應(yīng)用模塊43,用于接收數(shù)據(jù)處理裝置42中的鍵盤過(guò)濾模塊發(fā)送的垃圾數(shù)據(jù),并向用戶界面返回所述垃圾數(shù)據(jù)。本實(shí)施例的具體實(shí)現(xiàn)參照本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理裝置實(shí)施例一或?qū)嵤├?。本發(fā)明實(shí)施例對(duì)于PS/2鍵盤采用將生成的隨機(jī)混淆數(shù)據(jù)發(fā)送給IO端口,IO端口將隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊的技術(shù)手段,使得直接IO的擊鍵攔截只能攔截到包含有隨機(jī)混淆數(shù)據(jù)的信息,對(duì)于USB HID鍵盤采用查找鍵盤類服務(wù)回調(diào)函數(shù),若查找成功則調(diào)用所述鍵盤類服務(wù)回調(diào)函數(shù)將生成隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊,若查找失敗則輸出告警信息的技術(shù)手段,使得Hook類驅(qū)動(dòng)的鍵盤類服務(wù)回調(diào)函數(shù)的擊鍵攔截可以被檢測(cè)出來(lái),進(jìn)而實(shí)現(xiàn)了有效防范,保證了數(shù)據(jù)安全,且兼容PS/2鍵盤和USB HID鍵盤。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種數(shù)據(jù)處理方法,其特征在于,包括 判斷鍵盤類型;若所述鍵盤為個(gè)人系統(tǒng)PS/2鍵盤,則周期性地生成隨機(jī)混淆數(shù)據(jù),將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給輸入輸出IO端口,所述IO端口向鍵盤過(guò)濾模塊發(fā)送所述隨機(jī)混淆數(shù)據(jù);若所述鍵盤為通用串行總線USB人機(jī)接口設(shè)備HID鍵盤,則周期性地生成隨機(jī)混淆數(shù)據(jù),查找鍵盤類服務(wù)回調(diào)函數(shù),若查找成功,則調(diào)用所述鍵盤類服務(wù)回調(diào)函數(shù)將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊,若查找失敗,則輸出告警信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括所述IO端口監(jiān)測(cè)鍵盤輸入數(shù)據(jù),若監(jiān)測(cè)到鍵盤輸入數(shù)據(jù),則向所述鍵盤過(guò)濾模塊發(fā)送所述鍵盤輸入數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述生成隨機(jī)混淆數(shù)據(jù)具體包括 生成隨機(jī)混淆數(shù)據(jù),并保存數(shù)據(jù)記錄;所述生成隨機(jī)混淆數(shù)據(jù)之后還包括向所述鍵盤過(guò)濾模塊發(fā)送所述數(shù)據(jù)記錄的存儲(chǔ)地址,所述鍵盤過(guò)濾模塊根據(jù)所述存儲(chǔ)地址獲取所述數(shù)據(jù)記錄;所述向鍵盤過(guò)濾模塊發(fā)送所述鍵盤輸入數(shù)據(jù)之后還包括所述鍵盤過(guò)濾模塊接收所述隨機(jī)混淆數(shù)據(jù)和所述鍵盤輸入數(shù)據(jù),根據(jù)所述數(shù)據(jù)記錄過(guò)濾所述隨機(jī)混淆數(shù)據(jù),得到所述鍵盤輸入數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述得到所述鍵盤輸入數(shù)據(jù)之后還包括 所述鍵盤過(guò)濾模塊保存所述鍵盤輸入數(shù)據(jù),并修改所述鍵盤輸入數(shù)據(jù)生成垃圾數(shù)據(jù),所述垃圾數(shù)據(jù)的字符數(shù)與所述鍵盤輸入數(shù)據(jù)相同; 所述鍵盤過(guò)濾模塊向應(yīng)用模塊發(fā)送所述垃圾數(shù)據(jù); 所述應(yīng)用模塊向用戶界面返回所述垃圾數(shù)據(jù)。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述得到所述鍵盤輸入數(shù)據(jù)之后還包括 通過(guò)安全接口接收調(diào)用功能模塊的鍵盤輸入數(shù)據(jù)請(qǐng)求;將所述鍵盤輸入數(shù)據(jù)通過(guò)所述安全接口發(fā)送給所述調(diào)用功能模塊; 所述調(diào)用功能模塊將所述鍵盤輸入數(shù)據(jù)加密后發(fā)送給服務(wù)器。
6.根據(jù)權(quán)利要求1 5任一所述的方法,其特征在于,所述將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給輸入輸出IO端口具體包括調(diào)用匯編指令OUt將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給所述IO端口。
7.根據(jù)權(quán)利要求1 5任一所述的方法,其特征在于,所述查找鍵盤類服務(wù)回調(diào)函數(shù)具體包括根據(jù)預(yù)設(shè)的函數(shù)特征值查找所述鍵盤類服務(wù)回調(diào)函數(shù)。
8.一種數(shù)據(jù)處理裝置,其特征在于,包括 判斷模塊,用于判斷鍵盤類型;模擬輸入模塊,用于若所述鍵盤為個(gè)人系統(tǒng)PS/2鍵盤,則周期性地生成隨機(jī)混淆數(shù)據(jù),將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給輸入輸出IO端口 ;若所述鍵盤為通用串行總線USB人機(jī)接口設(shè)備HID鍵盤,則周期性地生成隨機(jī)混淆數(shù)據(jù),查找鍵盤類服務(wù)回調(diào)函數(shù),若查找成功, 則調(diào)用所述鍵盤類服務(wù)回調(diào)函數(shù)將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊,若查找失敗,則輸出告警信息;鍵盤過(guò)濾模塊,用于接收所述IO端口或所述鍵盤類服務(wù)回調(diào)函數(shù)發(fā)送的所述隨機(jī)混淆數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述鍵盤過(guò)濾模塊還用于接收所述IO 端口發(fā)送的鍵盤輸入數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述模擬輸入模塊具體用于生成隨機(jī)混淆數(shù)據(jù),并保存數(shù)據(jù)記錄;向所述鍵盤過(guò)濾模塊發(fā)送所述數(shù)據(jù)記錄的存儲(chǔ)地址;所述鍵盤過(guò)濾模塊具體用于根據(jù)所述存儲(chǔ)地址獲取所述數(shù)據(jù)記錄;根據(jù)所述數(shù)據(jù)記錄過(guò)濾所述隨機(jī)混淆數(shù)據(jù),得到所述鍵盤輸入數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述模擬輸入模塊具體用于保存所述鍵盤輸入數(shù)據(jù),并修改所述鍵盤輸入數(shù)據(jù)生成垃圾數(shù)據(jù),向應(yīng)用模塊發(fā)送所述垃圾數(shù)據(jù),所述垃圾數(shù)據(jù)的字符數(shù)與所述鍵盤輸入數(shù)據(jù)相同。
12.根據(jù)權(quán)利要求10所述的裝置,其特征在于,還包括安全接口,用于接收調(diào)用功能模塊發(fā)送的鍵盤輸入數(shù)據(jù)請(qǐng)求,將所述鍵盤過(guò)濾模塊保存的所述鍵盤輸入數(shù)據(jù)發(fā)送給所述調(diào)用功能模塊;調(diào)用功能模塊,用于將所述鍵盤輸入數(shù)據(jù)加密后發(fā)送給服務(wù)器。
13.根據(jù)權(quán)利要求8 12任一所述的裝置,其特征在于,所述模擬輸入模塊具體用于 通過(guò)匯編指令out將所述隨機(jī)混淆數(shù)據(jù)發(fā)送給所述IO端口。
14.根據(jù)權(quán)利要求8 12任一所述的裝置,其特征在于,所述模擬輸入模塊具體用于 根據(jù)預(yù)設(shè)的函數(shù)特征值查找所述鍵盤類服務(wù)回調(diào)函數(shù)。
15.一種數(shù)據(jù)處理系統(tǒng),其特征在于,包括輸入輸出IO端口和數(shù)據(jù)處理裝置,所述數(shù)據(jù)處理裝置為如權(quán)利要求8 14任一所述的裝置。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,還包括應(yīng)用模塊,用于向用戶界面返回垃圾數(shù)據(jù)。
全文摘要
本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理方法、裝置及系統(tǒng)。本發(fā)明實(shí)施例對(duì)于PS/2鍵盤采用將生成的隨機(jī)混淆數(shù)據(jù)發(fā)送給IO端口,IO端口將隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊的技術(shù)手段,使得直接IO的擊鍵攔截只能攔截到包含有隨機(jī)混淆數(shù)據(jù)的信息,對(duì)于USB HID鍵盤采用查找鍵盤類服務(wù)回調(diào)函數(shù),若查找成功則調(diào)用所述鍵盤類服務(wù)回調(diào)函數(shù)將生成隨機(jī)混淆數(shù)據(jù)發(fā)送給鍵盤過(guò)濾模塊,若查找失敗則輸出告警信息的技術(shù)手段,使得Hook類驅(qū)動(dòng)的鍵盤類服務(wù)回調(diào)函數(shù)的擊鍵攔截可以被檢測(cè)出來(lái),進(jìn)而實(shí)現(xiàn)了有效防范,保證了數(shù)據(jù)安全。
文檔編號(hào)G06F21/04GK102254121SQ201110187000
公開日2011年11月23日 申請(qǐng)日期2011年7月5日 優(yōu)先權(quán)日2011年7月5日
發(fā)明者劉永軍 申請(qǐng)人:北京神州綠盟信息安全科技股份有限公司