本申請(qǐng)實(shí)施例涉及計(jì)算機(jī)安全領(lǐng)域,特別涉及一種安全防護(hù)方法、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、安全訪問(wèn)服務(wù)邊緣(secure?access?service?edge,sase)是一種基于實(shí)體的身份、實(shí)時(shí)上下文、企業(yè)安全/合規(guī)策略,以及在整個(gè)會(huì)話中持續(xù)評(píng)估風(fēng)險(xiǎn)/信任的服務(wù)。其中,零信任作為安全訪問(wèn)服務(wù)邊緣的核心技術(shù)能力,將會(huì)影響到安全訪問(wèn)服務(wù)邊緣的實(shí)現(xiàn),而數(shù)據(jù)安全又是零信任架構(gòu)中的重要一環(huán),也會(huì)影響到安全訪問(wèn)服務(wù)邊緣的實(shí)現(xiàn)。
2、目前,作為一種用于隔離應(yīng)用程序或進(jìn)程的安全機(jī)制,沙箱技術(shù)被廣泛地應(yīng)用到了各種計(jì)算機(jī)系統(tǒng)中以保障數(shù)據(jù)安全,具體的,其通過(guò)在計(jì)算機(jī)系統(tǒng)中創(chuàng)建一個(gè)隔離受限的環(huán)境(即“沙箱”),并在該受限的環(huán)境中運(yùn)行應(yīng)用程序或進(jìn)程,實(shí)現(xiàn)敏感數(shù)據(jù)的安全隔離,達(dá)到防止該應(yīng)用程序或進(jìn)程對(duì)系統(tǒng)或其它應(yīng)用程序造成潛在的威脅的效果。
3、然而,沙箱雖然能夠?yàn)橛?jì)算機(jī)系統(tǒng)提供安全保護(hù),但是沙箱自身的安全性也面臨著嚴(yán)峻的挑戰(zhàn),這也會(huì)影響計(jì)算機(jī)系統(tǒng)的安全性,從而影響了零信任框架的實(shí)現(xiàn)以及安全訪問(wèn)服務(wù)邊緣的實(shí)現(xiàn)。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供了一種安全防護(hù)方法、電子設(shè)備及存儲(chǔ)介質(zhì),至少有利于提高沙箱自身的安全性,進(jìn)而提高了沙箱所在系統(tǒng)的安全性,便于實(shí)現(xiàn)零信任框架以及安全訪問(wèn)服務(wù)邊緣。
2、根據(jù)本申請(qǐng)一些實(shí)施例,本申請(qǐng)實(shí)施例第一方面提供了一種安全防護(hù)方法,包括:周期性檢測(cè)目標(biāo)api的地址首字節(jié)是否為防護(hù)指令,其中,所述目標(biāo)api包括沙箱中通過(guò)探針和/或hook進(jìn)行防護(hù)的api,所述防護(hù)指令包括跳轉(zhuǎn)指令或探針指令;對(duì)檢測(cè)到的地址首字節(jié)不是所述防護(hù)指令的所述目標(biāo)api重新進(jìn)行對(duì)應(yīng)的防護(hù)操作,所述防護(hù)操作包括:插入探針和/或進(jìn)行hook。
3、在一些實(shí)施例中,所述方法還包括:監(jiān)控沙箱內(nèi)外的進(jìn)程創(chuàng)建操作;在監(jiān)控到所述進(jìn)程創(chuàng)建操作的情況下,獲取所述進(jìn)程創(chuàng)建操作對(duì)應(yīng)的進(jìn)程名;根據(jù)所述進(jìn)程名檢測(cè)是否為工具創(chuàng)建的進(jìn)程;在檢測(cè)到所述工具創(chuàng)建的進(jìn)程的情況下,結(jié)束所述工具創(chuàng)建的進(jìn)程。
4、在一些實(shí)施例中,所述監(jiān)控沙箱內(nèi)外的進(jìn)程創(chuàng)建操作,包括:在沙箱啟動(dòng)后,調(diào)用沙箱驅(qū)動(dòng)注冊(cè)進(jìn)程創(chuàng)建回調(diào)消息,其中,沙箱內(nèi)外出現(xiàn)所述進(jìn)程創(chuàng)建操作時(shí),將會(huì)觸發(fā)所述進(jìn)程創(chuàng)建回調(diào)消息,所述進(jìn)程創(chuàng)建回調(diào)消息攜帶進(jìn)程創(chuàng)建的標(biāo)識(shí)信息和/或進(jìn)程名;所述獲取所述進(jìn)程創(chuàng)建操作對(duì)應(yīng)的進(jìn)程名,包括:解析所述進(jìn)程創(chuàng)建回調(diào)消息,得到所述進(jìn)程創(chuàng)建操作對(duì)應(yīng)的進(jìn)程名。
5、在一些實(shí)施例中,所述監(jiān)控沙箱內(nèi)外的進(jìn)程創(chuàng)建操作,包括:在沙箱啟動(dòng)后,在應(yīng)用層監(jiān)控沙箱內(nèi)外的所述進(jìn)程創(chuàng)建操作;所述獲取所述進(jìn)程創(chuàng)建操作對(duì)應(yīng)的進(jìn)程名,包括:在應(yīng)用層,將目標(biāo)組件注入沙箱內(nèi)外的所有進(jìn)程中,以通過(guò)所述目標(biāo)組件從各進(jìn)程的進(jìn)程空間中獲取進(jìn)程名。
6、在一些實(shí)施例中,所述方法還包括:周期性根據(jù)沙箱目錄下的原始組件對(duì)沙箱目錄下的所有組件進(jìn)行檢測(cè);在至少一個(gè)所述原始組件未在沙箱目錄下檢測(cè)到的情況下,將未檢測(cè)到所述原始組件拷貝到當(dāng)前的沙箱目錄下。
7、在一些實(shí)施例中,所述周期性根據(jù)沙箱目錄下的原始組件對(duì)沙箱目錄下的所有組件進(jìn)行檢測(cè)之前,所述方法包括:在安裝包釋放沙箱組件目錄時(shí),讀取目錄下的所有組件的二進(jìn)制數(shù)據(jù)和組件信息,并對(duì)獲取的二進(jìn)制數(shù)據(jù)進(jìn)行加密,其中,所述組件信息至少包括以下信息中的一項(xiàng)或組合:組件數(shù)量、各組件的偏移位置、組件大小、加密方式;將加密的數(shù)據(jù)以及所述組件信息寫入沙箱目錄下的文件中;所述周期性根據(jù)沙箱目錄下的原始組件對(duì)沙箱目錄下的所有組件進(jìn)行檢測(cè),包括:周期性獲取沙箱目錄下的所述組件信息以及二進(jìn)制數(shù)據(jù),對(duì)獲取的二進(jìn)制數(shù)據(jù)進(jìn)行加密,以與沙箱目錄中寫入的所述加密的數(shù)據(jù)以及所述加密數(shù)據(jù)對(duì)應(yīng)的組件信息進(jìn)行一致性檢驗(yàn)。
8、在一些實(shí)施例中,所述對(duì)檢測(cè)到的地址首字節(jié)不是所述防護(hù)指令的所述目標(biāo)api重新進(jìn)行對(duì)應(yīng)的防護(hù)操作,包括:在檢測(cè)到地址首字節(jié)不是所述防護(hù)指令的所述目標(biāo)api已發(fā)生預(yù)設(shè)次數(shù)的情況下,結(jié)束當(dāng)前進(jìn)程并退出沙箱;在檢測(cè)到地址首字節(jié)不是所述防護(hù)指令的所述目標(biāo)api未超過(guò)預(yù)設(shè)次數(shù)的情況下,對(duì)檢測(cè)到的地址首字節(jié)不是所述防護(hù)指令的所述目標(biāo)api重新進(jìn)行對(duì)應(yīng)的所述防護(hù)操作。
9、在一些實(shí)施例中,所述目標(biāo)api至少包括以下api中的一項(xiàng)或組合:文件操作api、注冊(cè)表操作api、進(jìn)程操作api;所述方法還包括以下至少一項(xiàng)操作:對(duì)所述文件操作api進(jìn)行hook,以在未授信進(jìn)程調(diào)用時(shí),隱藏沙箱目錄,阻斷對(duì)沙箱文件進(jìn)行寫操作,和/或,阻斷對(duì)沙箱文件進(jìn)行讀寫;基于注冊(cè)表過(guò)濾驅(qū)動(dòng)技術(shù),監(jiān)聽(tīng)并阻斷未授信進(jìn)程對(duì)所述注冊(cè)表操作api的調(diào)用;基于對(duì)象過(guò)濾驅(qū)動(dòng)技術(shù),監(jiān)聽(tīng)并阻斷未授信進(jìn)程對(duì)所述進(jìn)程操作api的調(diào)用。
10、根據(jù)本申請(qǐng)一些實(shí)施例,本申請(qǐng)實(shí)施例第二方面還提供了一種電子設(shè)備,包括:至少一個(gè)處理器;以及,與所述至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)處理器執(zhí)行的指令,所述指令被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠執(zhí)行如本申請(qǐng)實(shí)施例第一方面任一項(xiàng)所述的安全防護(hù)方法。
11、根據(jù)本申請(qǐng)一些實(shí)施例,本申請(qǐng)實(shí)施例第三方面還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如本申請(qǐng)實(shí)施例第一方面任一項(xiàng)所述的安全防護(hù)方法。
12、本申請(qǐng)實(shí)施例中提供的技術(shù)方案,至少具有以下優(yōu)點(diǎn):
13、在沙箱中對(duì)已經(jīng)通過(guò)探針和/或hook進(jìn)行防護(hù)的目標(biāo)api進(jìn)行周期性檢測(cè),以確定其地址首字節(jié)是否為跳轉(zhuǎn)指令或探針指令這類具有防護(hù)作用的防護(hù)指令,使得能夠及時(shí)檢測(cè)到探針和/或hook是否被消除,即及時(shí)檢測(cè)到目標(biāo)api的防護(hù)是否失效,從而在目標(biāo)api防護(hù)失效的情況下,通過(guò)重新進(jìn)行對(duì)應(yīng)的防護(hù)操作,如插入探針和/或進(jìn)行hook,及時(shí)恢復(fù)對(duì)沙箱的防護(hù),避免了沙箱防護(hù)失效帶來(lái)的隱患,提高了沙箱的安全性。
1.一種安全防護(hù)方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的安全防護(hù)方法,其特征在于,所述方法還包括:
3.根據(jù)權(quán)利要求2中所述的安全防護(hù)方法,其特征在于,所述監(jiān)控沙箱內(nèi)外的進(jìn)程創(chuàng)建操作,包括:
4.根據(jù)權(quán)利要求2所述的安全防護(hù)方法,其特征在于,所述監(jiān)控沙箱內(nèi)外的進(jìn)程創(chuàng)建操作,包括:
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的安全防護(hù)方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求5所述的安全防護(hù)方法,其特征在于,所述周期性根據(jù)沙箱目錄下的原始組件對(duì)沙箱目錄下的所有組件進(jìn)行檢測(cè)之前,所述方法包括:
7.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的安全防護(hù)方法,其特征在于,所述對(duì)檢測(cè)到的地址首字節(jié)不是所述防護(hù)指令的所述目標(biāo)api重新進(jìn)行對(duì)應(yīng)的防護(hù)操作,包括:
8.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的安全防護(hù)方法,其特征在于,所述目標(biāo)api至少包括以下api中的一項(xiàng)或組合:文件操作api、注冊(cè)表操作api、進(jìn)程操作api;
9.一種電子設(shè)備,其特征在于,包括:
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至8中任一項(xiàng)所述的安全防護(hù)方法。