本申請(qǐng)屬于計(jì)算機(jī),具體涉及一種程序篡改檢測(cè)方法、裝置及電子設(shè)備。
背景技術(shù):
1、隨著電子技術(shù)的高速發(fā)展,電子設(shè)備得到了廣泛的使用。電子設(shè)備上可以安裝各種各樣的應(yīng)用程序,用戶可以點(diǎn)擊應(yīng)用程序的圖標(biāo)控件,相應(yīng)的,電子設(shè)備可以通過(guò)應(yīng)用程序的執(zhí)行代碼來(lái)實(shí)現(xiàn)應(yīng)用程序的運(yùn)行。
2、目前,存在一種熱更新技術(shù)來(lái)對(duì)應(yīng)用程序的執(zhí)行代碼進(jìn)行更新,熱更新也稱為運(yùn)行時(shí)代碼篡改,指的是應(yīng)用程序在運(yùn)行期間,改變應(yīng)用程序的執(zhí)行代碼的技術(shù),其特征在于改變后的代碼并不存在于應(yīng)用程序的安裝包中,而是通過(guò)下載或者其他方式獲得。應(yīng)用程序運(yùn)行時(shí)代碼篡改可能會(huì)帶來(lái)惡意篡改應(yīng)用程序代碼的行為,從而帶來(lái)不良影響,因此,需要對(duì)應(yīng)用程序運(yùn)行時(shí)執(zhí)行代碼的篡改行為進(jìn)行檢測(cè)。
3、目前,程序代碼篡改的檢測(cè)方式通常是通過(guò)識(shí)別應(yīng)用程序運(yùn)行時(shí)程序文件的調(diào)用路徑來(lái)實(shí)現(xiàn)的,這種檢測(cè)方式只能檢測(cè)到從程序語(yǔ)言層面對(duì)程序文件的加載進(jìn)行改變的篡改行為,如只能檢測(cè)到應(yīng)用程序使用java鉤子(hook)方式的程序篡改行為,其檢測(cè)的適用范圍受限。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例的目的是提供一種程序篡改檢測(cè)方法、裝置及電子設(shè)備,可以檢測(cè)到應(yīng)用程序運(yùn)行過(guò)程中程序方法的執(zhí)行代碼被篡改的行為,從而可以提高程序篡改檢測(cè)的適用范圍。
2、第一方面,本申請(qǐng)實(shí)施例提供了一種程序篡改檢測(cè)方法,由電子設(shè)備執(zhí)行,所述方法包括:
3、在應(yīng)用程序的運(yùn)行過(guò)程中,獲取所述應(yīng)用程序的程序方法的第一索引信息,所述第一索引信息包括:所述應(yīng)用程序運(yùn)行時(shí),所述程序方法的執(zhí)行代碼在所述應(yīng)用程序的執(zhí)行文件的索引信息;
4、將所述第一索引信息和第二索引信息進(jìn)行比對(duì),得到比對(duì)結(jié)果,所述第二索引信息包括:所述應(yīng)用程序啟動(dòng)時(shí),所述程序方法的執(zhí)行代碼在所述應(yīng)用程序的執(zhí)行文件的索引信息;
5、基于所述比對(duì)結(jié)果,確定所述應(yīng)用程序的執(zhí)行代碼的篡改行為檢測(cè)結(jié)果。
6、第二方面,本申請(qǐng)實(shí)施例提供了一種程序篡改檢測(cè)裝置,應(yīng)用于電子設(shè)備,所述裝置包括:
7、獲取模塊,用于在應(yīng)用程序的運(yùn)行過(guò)程中,獲取所述應(yīng)用程序的程序方法的第一索引信息,所述第一索引信息包括:所述應(yīng)用程序運(yùn)行時(shí),所述程序方法的執(zhí)行代碼在所述應(yīng)用程序的執(zhí)行文件的索引信息;
8、比對(duì)模塊,用于將所述第一索引信息和第二索引信息進(jìn)行比對(duì),得到比對(duì)結(jié)果,所述第二索引信息包括:所述應(yīng)用程序啟動(dòng)時(shí),所述程序方法的執(zhí)行代碼在所述應(yīng)用程序的執(zhí)行文件的索引信息;
9、確定模塊,用于基于所述比對(duì)結(jié)果,確定所述應(yīng)用程序的執(zhí)行代碼的篡改行為檢測(cè)結(jié)果。
10、第三方面,本申請(qǐng)實(shí)施例提供了一種電子設(shè)備,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)可在所述處理器上運(yùn)行的程序或指令,所述程序或指令被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面所述的程序篡改檢測(cè)方法的步驟。
11、第四方面,本申請(qǐng)實(shí)施例提供了一種可讀存儲(chǔ)介質(zhì),所述可讀存儲(chǔ)介質(zhì)上存儲(chǔ)程序或指令,所述程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面所述的程序篡改檢測(cè)方法的步驟。
12、第五方面,本申請(qǐng)實(shí)施例提供了一種芯片,所述芯片包括處理器和通信接口,所述通信接口和所述處理器耦合,所述處理器用于運(yùn)行程序或指令,實(shí)現(xiàn)如第一方面所述的程序篡改檢測(cè)方法的步驟。
13、第六方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,該程序產(chǎn)品被存儲(chǔ)在存儲(chǔ)介質(zhì)中,該程序產(chǎn)品被至少一個(gè)處理器執(zhí)行以實(shí)現(xiàn)如第一方面所述的程序篡改檢測(cè)方法的步驟。
14、在本申請(qǐng)實(shí)施例中,通過(guò)預(yù)先存儲(chǔ)應(yīng)用程序啟動(dòng)時(shí)程序方法的執(zhí)行代碼在應(yīng)用程序的執(zhí)行文件的第二索引信息,并在應(yīng)用程序運(yùn)行時(shí)獲取應(yīng)用程序的程序方法的執(zhí)行代碼在應(yīng)用程序的執(zhí)行文件的第一索引信息,通過(guò)比對(duì)第一索引信息和第二索引信息,來(lái)確定應(yīng)用程序運(yùn)行時(shí)應(yīng)用程序的程序方法的執(zhí)行代碼在應(yīng)用程序的執(zhí)行文件的索引信息是否發(fā)生變化,從而可以根據(jù)變化情況,來(lái)檢測(cè)應(yīng)用程序運(yùn)行過(guò)程中是否發(fā)生程序方法的執(zhí)行代碼被篡改的行為,從而可以提高程序篡改檢測(cè)的適用范圍。
1.一種程序篡改檢測(cè)方法,其特征在于,由電子設(shè)備執(zhí)行,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述比對(duì)結(jié)果,確定所述應(yīng)用程序的執(zhí)行代碼的篡改行為檢測(cè)結(jié)果,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述基于所述行為信息,確定所述應(yīng)用程序的執(zhí)行代碼的篡改行為檢測(cè)結(jié)果之前,所述方法還包括:
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在應(yīng)用程序的運(yùn)行過(guò)程中,獲取所述應(yīng)用程序的程序方法的第一索引信息,包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在應(yīng)用程序的運(yùn)行過(guò)程中,獲取所述應(yīng)用程序的程序方法的第一索引信息之前,所述方法還包括以下至少一項(xiàng):
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在應(yīng)用程序的運(yùn)行過(guò)程中,獲取所述應(yīng)用程序的程序方法的第一索引信息,包括:
8.一種程序篡改檢測(cè)裝置,其特征在于,應(yīng)用于電子設(shè)備,所述裝置包括:
9.一種電子設(shè)備,其特征在于,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)可在所述處理器上運(yùn)行的程序或指令,所述程序或指令被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-7任一項(xiàng)所述的程序篡改檢測(cè)方法的步驟。
10.一種可讀存儲(chǔ)介質(zhì),其特征在于,所述可讀存儲(chǔ)介質(zhì)上存儲(chǔ)程序或指令,所述程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-7任一項(xiàng)所述的程序篡改檢測(cè)方法的步驟。