本發(fā)明涉及信息保護領(lǐng)域,尤其涉及一種調(diào)試事件監(jiān)測方法以及調(diào)試事件監(jiān)測系統(tǒng)。
背景技術(shù):
隨著計算機技術(shù)普及與應(yīng)用,計算機軟件與硬件產(chǎn)業(yè)迅速發(fā)展起來。利用計算機技術(shù)進行信息通信時,攻擊者可以通過利用靜態(tài)反匯編工具或動態(tài)調(diào)試工具等逆向分析技術(shù)對通信協(xié)議進行分析破解,從而對通信協(xié)議進行篡改以獲得非法利益。
逆向分析技術(shù)包括反匯編技術(shù)和反編譯技術(shù)兩個部分。
反匯編技術(shù)是把可執(zhí)行的二進制機器碼反匯編成為基本可讀的匯編語言程序代碼的方法,一般包含靜態(tài)反匯編技術(shù)和動態(tài)反匯編技術(shù)。靜態(tài)反匯編是把二進制代碼一次性全部翻譯為匯編代碼,采用該技術(shù)時,處理二進制文件的耗時與二進制文件的大小成正比。動態(tài)反匯編是通過分析載入到反匯編器的二進制程序,捕捉運行特征指令,將其翻譯為可讀的匯編代碼。
反編譯技術(shù)是把匯編程序進一步反編譯為可讀性更強的高級語言代碼?,F(xiàn)有技術(shù)中,通常采用防篡改技術(shù)以及反調(diào)試技術(shù)來抵抗非法使用。防篡改技術(shù)是防止被惡意篡改,如果發(fā)現(xiàn)被惡意篡改,那么執(zhí)行對應(yīng)的懲罰措施。反調(diào)試是對調(diào)試軟件進行檢測或迷惑,使調(diào)試軟件分析錯誤或者不能正常運行。
在現(xiàn)有技術(shù)中,存在這種問題:由于請求端與被請求端之間發(fā)生通信異?;驍嚅_時,請求端發(fā)生本地調(diào)試等行為,當(dāng)請求端與被請求端再次進行信息通信時,被請求端依然會正常應(yīng)答,此時被請求端無法懲罰請求端。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種調(diào)試事件監(jiān)測的方法,能夠?qū)φ埱蠖诉M行本地調(diào)試等行為進行監(jiān)測,并根據(jù)調(diào)試行為實施懲罰措施。
為了解決上述問題,本發(fā)明提供了一種調(diào)試事件監(jiān)測方法,包括步驟:
在第一終端與第二終端之間發(fā)生連接異?;驍嚅_連接期間,監(jiān)測第一終端上的調(diào)試事件并存儲監(jiān)測信息;
當(dāng)?shù)谝唤K端與第二終端之間恢復(fù)正常連接時,通過第一終端將包括所述監(jiān)測信息的數(shù)據(jù)發(fā)送到第二終端。
優(yōu)選地,根據(jù)第一終端是否運行調(diào)試軟件來判斷是否發(fā)生調(diào)試事件。
優(yōu)選地,根據(jù)第一終端是否請求執(zhí)行與調(diào)試相關(guān)的特定操作或根據(jù)第一終端請求執(zhí)行所述特定操作的間隔時間來判斷是否發(fā)生調(diào)試事件。
優(yōu)選地,第二終端從所述第一終端接收所述數(shù)據(jù)后,對所述數(shù)據(jù)中的所述監(jiān)測信息進行檢查。
優(yōu)選地,第二終端在檢查結(jié)果為第一終端發(fā)生了調(diào)試事件時執(zhí)行預(yù)定措施。
優(yōu)選地,第二終端在從所述第一終端接收所述數(shù)據(jù)后,對所述數(shù)據(jù)的有效性進行檢查。
優(yōu)選地,所述第二終端通過對所述數(shù)據(jù)的生成時間和/或所述數(shù)據(jù)的簽名信息進行檢查來確定所述數(shù)據(jù)的有效性。
優(yōu)選地,所述監(jiān)測信息的內(nèi)容包括關(guān)于是否發(fā)生調(diào)試事件的標(biāo)識信息、調(diào)試過程信息、調(diào)試時間和/或第一終端的ip信息。
優(yōu)選地,所述預(yù)定措施包括對第一終端實施鎖定或拒絕向第一終端提供第一終端所要求的數(shù)據(jù)或信息。
本發(fā)明還公開了一種調(diào)試事件監(jiān)測系統(tǒng),包括監(jiān)測裝置和第二終端,所述監(jiān)測裝置連接至第一終端或安裝在第一終端內(nèi),所述第一終端包括第一通信模塊,所述第二終端包括狀態(tài)驗證模塊和第二通信模塊;
所述監(jiān)測裝置配置為,在第一通信模塊與第二通信模塊之間發(fā)生連接異?;驍嚅_連接期間,監(jiān)測第一終端上的調(diào)試事件并存儲監(jiān)測信息;
所述第一通信模塊或所述監(jiān)測裝置配置為,當(dāng)?shù)谝煌ㄐ拍K與第二通信模塊之間恢復(fù)正常連接時,將包括所述監(jiān)測信息的數(shù)據(jù)發(fā)送到所述第二通信模塊;
所述第二通信模塊配置為接收所述數(shù)據(jù);
所述狀態(tài)驗證模塊配置為對所述數(shù)據(jù)中的所述監(jiān)測信息進行檢查。
優(yōu)選地,第二終端還包括執(zhí)行模塊,其配置為在所述狀態(tài)驗證模塊的檢查結(jié)果為第一終端發(fā)生了調(diào)試事件時執(zhí)行預(yù)定措施。
優(yōu)選地,所述狀態(tài)驗證模塊進一步配置為對所述數(shù)據(jù)的有效性進行檢查。
優(yōu)選地,所述狀態(tài)驗證模塊配置為對所述數(shù)據(jù)的生成時間和/或所述數(shù)據(jù)的簽名信息進行檢查來確定所述數(shù)據(jù)的有效性。
優(yōu)選地,所述監(jiān)測裝置配置為,根據(jù)所述第一終端是否運行調(diào)試軟件來判斷是否發(fā)生調(diào)試事件。
優(yōu)選地,所述監(jiān)測裝置配置為,根據(jù)第一終端是否請求執(zhí)行與調(diào)試相關(guān)的特定操作或根據(jù)第一終端請求執(zhí)行所述特定操作的間隔時間來判斷是否發(fā)生調(diào)試事件。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:能夠監(jiān)測第一終端與第二終端連接異?;驍嚅_連接期間發(fā)生的調(diào)試事件,并對發(fā)生調(diào)試事件的第一終端實施懲罰措施。
附圖說明
圖1是本發(fā)明的實施例的調(diào)試事件監(jiān)測方法的示意性流程圖;
圖2是本發(fā)明的實施例的調(diào)試事件監(jiān)測系統(tǒng)的示意性結(jié)構(gòu)框圖;
圖3是本發(fā)明的另一實施例的調(diào)試事件監(jiān)測系統(tǒng)的示意性結(jié)構(gòu)框圖。
具體實施方式
下面結(jié)合附圖和具體實施例對本發(fā)明作進一步詳細描述,但不作為對本發(fā)明的限定。
圖1示出了本發(fā)明的調(diào)試事件監(jiān)測方法的示意性流程圖。如圖1所示,本發(fā)明的調(diào)試事件監(jiān)測方法,包括如下步驟:
s1,在第一終端與第二終端之間發(fā)生連接異?;驍嚅_連接期間,監(jiān)測第一終端上的調(diào)試事件并存儲監(jiān)測信息;
s2,當(dāng)?shù)谝唤K端與第二終端之間恢復(fù)正常連接時,通過第一終端將包括監(jiān)測信息的數(shù)據(jù)發(fā)送到第二終端。
通過采用本發(fā)明實施例的調(diào)試事件監(jiān)測方法,當(dāng)?shù)谝唤K端的用戶在第一終端與第二終端之間發(fā)生連接異?;驍嚅_連接期間,通過在第一終端分析單側(cè)的交互的數(shù)據(jù)或協(xié)議,從而逐步探測第一終端和第二終端之間的數(shù)據(jù)交互方式時,能夠監(jiān)測第一終端上的調(diào)試事件并存儲監(jiān)測信息,當(dāng)?shù)谝唤K端與第二終端之間恢復(fù)正常連接時,能夠使第二終端獲取該監(jiān)測信息。
本發(fā)明實施例有效解決了現(xiàn)有技術(shù)中的無法監(jiān)測第一終端與第二終端連接異常或斷開連接期間在第一終端上發(fā)生的調(diào)試事件的問題。
在本發(fā)明實施例中,在第一終端與第二終端保持正常連接期間,也可以實時監(jiān)測第一終端上的調(diào)試事件并存儲監(jiān)測信息,而后定期或不定期將監(jiān)測信息發(fā)送到第二終端。
在本發(fā)明一個實施例中,s2中,當(dāng)?shù)谝唤K端與第二終端之間恢復(fù)正常連接時,可通過第一終端將監(jiān)測信息單獨發(fā)送到第二終端,也可以通過第一終端將監(jiān)測信息以及業(yè)務(wù)信息一起打包發(fā)送到第二終端。
在本發(fā)明另一實施例中,s2中,當(dāng)?shù)谝唤K端與第二終端之間恢復(fù)正常連接時,可以不通過第一終端發(fā)送數(shù)據(jù)到第二終端,而是將數(shù)據(jù)通過監(jiān)測調(diào)試事件或存儲監(jiān)測信息的裝置直接發(fā)送到第二終端。
本發(fā)明一個實施例中,s1中,在第一終端與第二終端之間發(fā)生連接異?;驍嚅_連接期間,監(jiān)測第一終端上是否發(fā)生調(diào)試事件可以根據(jù)第一終端是否運行調(diào)試軟件來判斷。例如,可以預(yù)存一些常用的調(diào)試軟件的標(biāo)識信息,通過將該標(biāo)識信息與第一終端上運行的軟件的標(biāo)識信息進行比對來判斷是否發(fā)生了調(diào)試事件。
在本發(fā)明另一個實施例中,s1中,在第一終端與第二終端之間發(fā)生連接異常或斷開連接期間,監(jiān)測第一終端上是否發(fā)生調(diào)試事件可以根據(jù)第一終端是否請求執(zhí)行與調(diào)試相關(guān)的特定操作或根據(jù)第一終端請求執(zhí)行特定操作的間隔時間來判斷。例如,可以預(yù)存一些常用的調(diào)試操作指令或特定操作指令及其執(zhí)行間隔的范圍值,通過將第一終端所執(zhí)行指令與預(yù)存的指令相對比,或通過確定第一終端執(zhí)行特定指令的時間間隔是否在預(yù)存的范圍值之內(nèi)來判斷第一終端上是否發(fā)生了調(diào)試事件。
在本發(fā)明再一個實施例中,第二終端從第一終端接收數(shù)據(jù)后,對數(shù)據(jù)中的監(jiān)測信息進行檢查。當(dāng)單獨發(fā)送監(jiān)測信息時,第二終端對監(jiān)測信息進行檢查不僅包括了對監(jiān)測信息的內(nèi)容進行檢查,還包括對監(jiān)測信息的有效性進行檢查。當(dāng)發(fā)送包括監(jiān)測信息與業(yè)務(wù)信息的數(shù)據(jù)包時,可以僅對監(jiān)測信息的內(nèi)容進行檢查。
在本發(fā)明實施例中,第二終端在檢查結(jié)果為第一終端發(fā)生了調(diào)試事件時執(zhí)行預(yù)定措施。因此,即使在第一終端與第二終端之間發(fā)生連接異常或斷開連接期間,第一終端上存在調(diào)試事件,第二終端也能夠?qū)Φ谝唤K端執(zhí)行預(yù)定措施。也就是說,第二終端始終能夠針對第一終端發(fā)生調(diào)試事件的行為執(zhí)行預(yù)定措施,該預(yù)定措施有可能是延時執(zhí)行的。
在本發(fā)明各實施例中,第二終端對第一終端執(zhí)行的預(yù)定措施可以包括對第一終端實施鎖定或拒絕向第一終端提供第一終端所要求的數(shù)據(jù)或信息。該預(yù)定措施可以根據(jù)監(jiān)測信息的不同而不同,即,如果監(jiān)測信息中顯示第一終端對a業(yè)務(wù)的相關(guān)的信息進行了調(diào)試,則可以選擇僅拒絕提供a業(yè)務(wù)相關(guān)的信息,而可以向第一終端提供與a業(yè)務(wù)無關(guān)的其他業(yè)務(wù)的業(yè)務(wù)信息。
在本發(fā)明一個實施例中,第二終端在從第一終端接收數(shù)據(jù)后,對數(shù)據(jù)的有效性進行檢查。其中,數(shù)據(jù)可以是包括監(jiān)測信息與業(yè)務(wù)信息的數(shù)據(jù)。當(dāng)?shù)诙K端接收到包括監(jiān)測信息與業(yè)務(wù)信息的數(shù)據(jù)包,第二終端可以對數(shù)據(jù)整體的有效性進行檢查,也可以對監(jiān)測信息和業(yè)務(wù)信息分別進行有效性檢查。
在本發(fā)明實施例中,第二終端可以通過對數(shù)據(jù)的生成時間、數(shù)據(jù)的簽名信息或這兩者進行檢查來確定數(shù)據(jù)的有效性。第二終端可以在確定數(shù)據(jù)的有效性后,再對數(shù)據(jù)的內(nèi)容進行檢查。例如,當(dāng)確定第一終端的監(jiān)測信息有效后,再對該監(jiān)測信息的內(nèi)容進行檢查,以確保信息安全,并確定信息來自被監(jiān)控的第一終端。
在本發(fā)明實施例中,監(jiān)測信息的內(nèi)容可以包括關(guān)于是否發(fā)生調(diào)試事件的標(biāo)識信息、調(diào)試過程信息、調(diào)試時間和/或第一終端的ip信息。第二終端可以根據(jù)監(jiān)測信息的內(nèi)容對第一終端執(zhí)行預(yù)訂措施,例如,當(dāng)根據(jù)ip信息確定第一終端多次發(fā)生調(diào)試事件,第二終端可以鎖定該第一終端,使第一終端無法與第二終端進行數(shù)據(jù)交互。另外,可以通過第一終端的ip信息來實現(xiàn)定位跟蹤,也可以根據(jù)調(diào)試過程信息追溯調(diào)試事件。另外,第二終端還可以存儲與監(jiān)測信息的內(nèi)容對應(yīng)的預(yù)定措施相關(guān)信息。
圖2是本發(fā)明的實施例的調(diào)試事件監(jiān)測系統(tǒng)的示意性結(jié)構(gòu)框圖。
如圖2所示,本發(fā)明的調(diào)試事件監(jiān)測系統(tǒng),包括監(jiān)測裝置1和第二終端2,監(jiān)測裝置1連接至第一終端3或安裝在第一終端3內(nèi),第一終端3包括第一通信模塊4,第二終端2包括狀態(tài)驗證模塊5和第二通信模塊6。
監(jiān)測裝置1配置為在第一通信模塊4與第二通信模塊6之間發(fā)生連接異常或斷開連接期間,監(jiān)測第一終端3上的調(diào)試事件并存儲監(jiān)測信息。
第一通信模塊4可以配置為當(dāng)?shù)谝煌ㄐ拍K4與第二通信模塊6之間恢復(fù)正常連接時,將包括監(jiān)測信息的數(shù)據(jù)發(fā)送到第二通信模塊6。第一通信模塊4可以將監(jiān)測信息單獨發(fā)送到第二終端2的第二通信模塊6,也可以將監(jiān)測信息以及業(yè)務(wù)信息一起打包發(fā)送到第二終端2。
在第一終端3的第一通信模塊4與第二終端2的第二通信模塊6保持正常連接期間,可以由監(jiān)測裝置1實時監(jiān)測第一終端3上的調(diào)試事件并發(fā)送到第二終端2,也可以由監(jiān)測裝置1在監(jiān)測到調(diào)試事件時先存儲監(jiān)測信息,而后定期或不定期將監(jiān)測信息發(fā)送到第二終端2。
在本發(fā)明的一些實施例中,監(jiān)測裝置1具備通信功能,可由監(jiān)測裝置1直接將監(jiān)測信息發(fā)送到第二通信模塊6。
在本發(fā)明實施例中,監(jiān)測裝置1可以根據(jù)第一終端3是否運行調(diào)試軟件來判斷是否發(fā)生調(diào)試事件,或者還可以根據(jù)第一終端3是否請求執(zhí)行與調(diào)試相關(guān)的特定操作或根據(jù)第一終端3請求執(zhí)行特定操作的間隔時間來判斷是否發(fā)生調(diào)試事件。
第二通信模塊6配置為從第一通信模塊4或具備通信功能的監(jiān)測裝置1接收包括監(jiān)測信息的數(shù)據(jù)。
狀態(tài)驗證模塊5配置為對數(shù)據(jù)中的監(jiān)測信息進行檢查。
本發(fā)明實施例中,狀態(tài)驗證模塊5可以進一步配置為對第二通信模塊6接收到的數(shù)據(jù)的有效性進行檢查,第二通信模塊6接收到的數(shù)據(jù)可以是包括監(jiān)測信息與業(yè)務(wù)信息的數(shù)據(jù)或者是僅包括監(jiān)測信息的數(shù)據(jù)。狀態(tài)驗證模塊5可以配置為對數(shù)據(jù)整體的有效性進行檢查,也可以對監(jiān)測信息和業(yè)務(wù)信息分別進行有效性檢查。狀態(tài)驗證模塊5可以具體配置為對數(shù)據(jù)的生成時間和/或數(shù)據(jù)的簽名信息進行檢查來確定數(shù)據(jù)的有效性。
通過采用本發(fā)明實施例的調(diào)試事件監(jiān)測系統(tǒng),當(dāng)?shù)谝唤K端3的用戶在第一終端3與第二終端2之間發(fā)生連接異?;驍嚅_連接期間,通過在第一終端3分析單側(cè)的交互的數(shù)據(jù)或協(xié)議,從而逐步探測第一終端3和第二終端2之間的數(shù)據(jù)交互方式時,能夠通過監(jiān)測裝置1監(jiān)測第一終端3上的調(diào)試事件并存儲監(jiān)測信息,當(dāng)?shù)谝唤K端3與第二終端2之間恢復(fù)正常連接時,能夠通過監(jiān)測裝置1或第一終端3向第二終端2發(fā)送該監(jiān)測信息。
應(yīng)用本發(fā)明實施例的以上系統(tǒng),可以有效的檢測第一終端3是否發(fā)生了本地調(diào)試事件,并可以在與第二終端2恢復(fù)連接后的第一時間執(zhí)行相應(yīng)措施,具有防止篡改和準(zhǔn)確懲罰的優(yōu)點。
在本發(fā)明實施例中,第一終端3可以是用作客戶端的pc機,也可以是帶有安全硬件設(shè)備的pc機,第二終端2可以是用作服務(wù)端的服務(wù)器,例如,云服務(wù)器。
圖3是本發(fā)明的另一實施例的調(diào)試事件監(jiān)測系統(tǒng)的示意性結(jié)構(gòu)框圖。
如圖3所示,本實施例中,第二終端2還包括執(zhí)行模塊7,其配置為在狀態(tài)驗證模塊5的檢查結(jié)果為第一終端3發(fā)生了調(diào)試事件時執(zhí)行預(yù)定措施。例如,當(dāng)監(jiān)測裝置1根據(jù)監(jiān)測信息中的ip信息確定第一終端3多次發(fā)生調(diào)試事件,執(zhí)行模塊7可以鎖定該第一終端3,通過例如屏蔽來自該ip地址的消息的方式使第一終端3無法與第二終端2進行數(shù)據(jù)交互。
因此,即使在第一通信模塊4在與第二通信模塊6之間發(fā)生連接異?;驍嚅_連接期間,第一終端3上存在調(diào)試事件時,第二終端2也能夠?qū)崿F(xiàn)對第一終端3執(zhí)行預(yù)定措施。也就是說,第二終端2一直能夠針對第一終端3發(fā)生的調(diào)試事件的行為執(zhí)行預(yù)定措施,該預(yù)定措施有可能是延時的。
以上實施例僅為本發(fā)明的示例性實施例,不用于限制本發(fā)明,本發(fā)明的保護范圍由權(quán)利要求書限定。本領(lǐng)域技術(shù)人員可以在本發(fā)明的實質(zhì)和保護范圍內(nèi),對本發(fā)明做出各種修改或等同替換,這種修改或等同替換也應(yīng)視為落在本發(fā)明的保護范圍內(nèi)。