本發(fā)明涉及信息安全技術(shù),尤其涉及一種截屏的處理的方法、裝置及電子設(shè)備。
背景技術(shù):
隨著Windows操作系統(tǒng)內(nèi)核層技術(shù)細節(jié)的逐漸公開,越來越多的木馬病毒等惡意應(yīng)用程序開始使用內(nèi)核層驅(qū)動程序來保護自身的進程,受內(nèi)核層驅(qū)動程序保護的惡意應(yīng)用程序的進程,可以結(jié)束(殺死)Windows操作系統(tǒng)中的其它進程,從而使得惡意應(yīng)用程序的進程可以根據(jù)惡意應(yīng)用程序提供者的意圖,對用戶的進程或系統(tǒng)進程進行惡意攻擊,可能造成計算機運行不穩(wěn)定,甚至造成用戶信息的泄露,給用戶帶來非常大的經(jīng)濟損失,例如,利用應(yīng)用程序惡意對用戶使用電子設(shè)備的操作系統(tǒng)環(huán)境,例如,對用戶的注冊應(yīng)用程序或登錄應(yīng)用程序的進行截屏,可以獲取用戶信息,導(dǎo)致用戶信息泄露。其中,進程(Process)是計算機中的應(yīng)用程序關(guān)于數(shù)據(jù)集合上的一次運行活動,是Windows操作系統(tǒng)進行資源分配和調(diào)度的基本單位,是Windows操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ)。在早期面向進程設(shè)計的計算機結(jié)構(gòu)中,進程是應(yīng)用程序的基本執(zhí)行實體;在當(dāng)代面向線程設(shè)計的計算機結(jié)構(gòu)中,進程是線程的容器。也就是說,應(yīng)用程序是指令、數(shù)據(jù)及其組織形式的描述,進程是應(yīng)用程序的實體。
目前,在操作系統(tǒng)中,截屏應(yīng)用程序進程進行截屏操作通過調(diào)用截屏函數(shù)來實現(xiàn)。其中,截屏函數(shù)位于應(yīng)用層上,包括:位塊轉(zhuǎn)換函數(shù)(BitBlt函數(shù))以及位圖復(fù)制函數(shù)(StretchBlt函數(shù))。
由于位塊轉(zhuǎn)換函數(shù)(BitBlt函數(shù))對應(yīng)于操作系統(tǒng)內(nèi)核的函數(shù)是內(nèi)核調(diào)用位塊轉(zhuǎn)換函數(shù)(內(nèi)核NtGdiBitBlt函數(shù)),位圖復(fù)制函數(shù)(StretchBlt函數(shù))對應(yīng)于操作系統(tǒng)內(nèi)核的函數(shù)是內(nèi)核調(diào)用位圖復(fù)制函數(shù)(內(nèi)核NtGdiStretchBlt函數(shù)),因而,在應(yīng)用層進程(截屏應(yīng)用程序進程)調(diào)用截屏函數(shù)對操作系統(tǒng)環(huán)境進行截屏?xí)r,截屏函數(shù)需要再調(diào)用內(nèi)核NtGdiBitBlt函數(shù)或內(nèi)核NtGdiStretchBlt函數(shù)來完成截屏操作,從而使得惡意應(yīng)用程序可以通過直接調(diào)用內(nèi)核NtGdiBitBlt函數(shù)或內(nèi)核NtGdiStretchBlt函數(shù)來實現(xiàn)對操作系統(tǒng)環(huán)境的截屏,導(dǎo)致用戶信息的泄露,使得操作系統(tǒng)的安全防護效率較低,安全性不高。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供一種截屏的處理的方法、裝置及電子設(shè)備,能夠提升操作系統(tǒng)的安全防護效率,以解決現(xiàn)有的截屏的處理的方法中,通過直接調(diào)用內(nèi)核NtGdiBitBlt函數(shù)或內(nèi)核NtGdiStretchBlt函數(shù)來實現(xiàn)對操作系統(tǒng)環(huán)境的截屏,導(dǎo)致操作系統(tǒng)的安全防護效率較低的問題。
第一方面,本發(fā)明實施例提供一種截屏的處理的方法,包括:
在預(yù)先注入的鉤子函數(shù)監(jiān)測到調(diào)用內(nèi)核截屏調(diào)用函數(shù)時,鉤住所述內(nèi)核截屏調(diào)用函數(shù);
獲取調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用層進程的進程路徑信息,提取所述進程路徑信息映射的待驗證應(yīng)用程序;
如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序相同,拒絕所述待驗證應(yīng)用程序調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)。
結(jié)合第一方面,在第一方面的第一種實施方式中,所述方法還包括:
如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序不相同,通知所述內(nèi)核截屏調(diào)用函數(shù)執(zhí)行對操作系統(tǒng)環(huán)境的截屏操作。
結(jié)合第一方面,在第一方面的第二種實施方式中,在所述如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序相同之后,拒絕所述待驗證應(yīng)用程序調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)之前,所述方法還包括:
展示所述待驗證應(yīng)用程序,并提示所述待驗證應(yīng)用程序?qū)Σ僮飨到y(tǒng)環(huán)境進行截屏;
接收用戶選取的指令,如果所述指令為允許指令,通知所述內(nèi)核截屏調(diào)用函數(shù)執(zhí)行對操作系統(tǒng)環(huán)境的截屏操作;如果所述指令為拒絕指令,執(zhí)行拒絕所述待驗證應(yīng)用程序調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的步驟。
結(jié)合第一方面、第一方面的第一種實施方式或第二種實施方式,在第一方面的第三種實施方式中,所述內(nèi)核截屏調(diào)用函數(shù)包括:內(nèi)核調(diào)用位塊轉(zhuǎn)換函數(shù)以及內(nèi)核調(diào)用位圖復(fù)制函數(shù)。
結(jié)合第一方面、第一方面的第一種實施方式或第二種實施方式,在第一方面的第四種實施方式中,所述在預(yù)先注入的鉤子函數(shù)監(jiān)測到調(diào)用內(nèi)核截屏調(diào)用函數(shù)時包括:
在預(yù)先注入的鉤子函數(shù)監(jiān)測到應(yīng)用層進程調(diào)用操作系統(tǒng)截屏函數(shù),所述操作系統(tǒng)截屏函數(shù)調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)。
第二方面,本發(fā)明實施例提供一種截屏的處理的裝置,包括:鉤住模塊、應(yīng)用程序獲取模塊以及截屏處理模塊,其中,
鉤住模塊,用于在預(yù)先注入的鉤子函數(shù)監(jiān)測到調(diào)用內(nèi)核截屏調(diào)用函數(shù)時,鉤住所述內(nèi)核截屏調(diào)用函數(shù);
應(yīng)用程序獲取模塊,用于獲取調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用層進程的進程路徑信息,提取所述進程路徑信息映射的待驗證應(yīng)用程序;
截屏處理模塊,如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序相同,拒絕所述待驗證應(yīng)用程序調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)。
結(jié)合第二方面,在第二方面的第一種實施方式中,所述截屏處理模塊還用于如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序不相同,通知所述內(nèi)核截屏調(diào)用函數(shù)執(zhí)行對操作系統(tǒng)環(huán)境的截屏操作。
結(jié)合第二方面,在第二方面的第二種實施方式中,所述截屏處理模塊包括:匹配單元、展示單元、指令接收單元、截屏通知單元以及截屏拒絕單元,其中,
匹配單元,如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序相同,通知展示單元;
展示單元,用于展示所述待驗證應(yīng)用程序,并提示所述待驗證應(yīng)用程序?qū)Σ僮飨到y(tǒng)環(huán)境進行截屏;
指令接收單元,用于接收用戶選取的指令,如果所述指令為允許指令,通知截屏通知單元;如果所述指令為拒絕指令,通知截屏拒絕單元;
截屏通知單元,用于允許所述待驗證應(yīng)用程序調(diào)用內(nèi)核截屏調(diào)用函數(shù)執(zhí)行對操作系統(tǒng)環(huán)境的截屏操作;
截屏拒絕單元,用于拒絕所述待驗證應(yīng)用程序調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)。
結(jié)合第二方面、第二方面的第一種實施方式或第二種實施方式,在第二方面的第三種實施方式中,所述內(nèi)核截屏調(diào)用函數(shù)包括:內(nèi)核調(diào)用位塊轉(zhuǎn)換函數(shù)以及內(nèi)核調(diào)用位圖復(fù)制函數(shù)。
結(jié)合第二方面、第二方面的第一種實施方式或第二種實施方式,在第二方面的第四種實施方式中,所述鉤住模塊包括:監(jiān)測單元以及鉤住單元,其中,
監(jiān)測單元,用于在預(yù)先注入的鉤子函數(shù)監(jiān)測到應(yīng)用層進程調(diào)用操作系統(tǒng)截屏函數(shù)時,通過所述操作系統(tǒng)截屏函數(shù)調(diào)用所述內(nèi)核截屏調(diào)用函數(shù),通知鉤住單元;
鉤住單元,用于鉤住所述內(nèi)核截屏調(diào)用函數(shù)。
第三方面,本發(fā)明實施例提供一種電子設(shè)備,所述電子設(shè)備包括:殼體、處理器、存儲器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲器設(shè)置在電路板上;電源電路,用于為上述電子設(shè)備的各個電路或器件供電;存儲器用于存儲可執(zhí)行程序代碼;處理器通過讀取存儲器中存儲的可執(zhí)行程序代碼來運行與可執(zhí)行程序代碼對應(yīng)的程序,用于執(zhí)行如下操作:
在預(yù)先注入的鉤子函數(shù)監(jiān)測到調(diào)用內(nèi)核截屏調(diào)用函數(shù)時,鉤住所述內(nèi)核截屏調(diào)用函數(shù);
獲取調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用層進程的進程路徑信息,提取所述進程路徑信息映射的待驗證應(yīng)用程序;
如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序相同,拒絕所述待驗證應(yīng)用程序調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)。
第四方面,本發(fā)明實施例還提供了一種存儲介質(zhì),用于存儲應(yīng)用程序,所述應(yīng)用程序用于執(zhí)行本發(fā)明實施例所提供的一種截屏的處理的方法。
第五方面,本發(fā)明實施例還提供了一種應(yīng)用程序,用于執(zhí)行本發(fā)明實施例所提供的一種截屏的處理的方法。
本發(fā)明實施例提供的一種截屏的處理的方法、裝置及電子設(shè)備,通過在預(yù)先注入的鉤子函數(shù)監(jiān)測到調(diào)用內(nèi)核截屏調(diào)用函數(shù)時,鉤住所述內(nèi)核截屏調(diào)用函數(shù);獲取調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用層進程的進程路徑信息,提取所述進程路徑信息映射的待驗證應(yīng)用程序;如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序相同,拒絕所述待驗證應(yīng)用程序調(diào)用所述內(nèi)核截屏調(diào)用函數(shù),能夠提升操作系統(tǒng)的安全防護效率,以解決現(xiàn)有的截屏的處理的方法中,通過直接調(diào)用內(nèi)核NtGdiBitBlt函數(shù)或內(nèi)核NtGdiStretchBlt函數(shù)來實現(xiàn)對操作系統(tǒng)環(huán)境的截屏,導(dǎo)致操作系統(tǒng)的安全防護效率較低的問題。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明的實施例一截屏的處理的方法流程示意圖;
圖2為本發(fā)明的實施例二截屏的處理的裝置結(jié)構(gòu)示意圖;
圖3為本發(fā)明電子設(shè)備一個實施例的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明實施例進行詳細描述。
應(yīng)當(dāng)明確,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
實施例一
圖1為本發(fā)明的實施例一截屏的處理的方法流程示意圖,如圖1所示,本實施例的方法可以包括:
步驟101,在預(yù)先注入的鉤子函數(shù)監(jiān)測到調(diào)用內(nèi)核截屏調(diào)用函數(shù)時,鉤住所述內(nèi)核截屏調(diào)用函數(shù);
本步驟中,作為一可選實施例,內(nèi)核截屏調(diào)用函數(shù)包括:內(nèi)核調(diào)用位塊轉(zhuǎn)換函數(shù)(內(nèi)核NtGdiBitBlt函數(shù))以及內(nèi)核調(diào)用位圖復(fù)制函數(shù)(內(nèi)核NtGdiStretchBlt函數(shù))。
本實施例中,作為一可選實施例,所述鉤子函數(shù)位于操作系統(tǒng)的內(nèi)核層中。
本發(fā)明實施例中,注入的鉤子函數(shù)用于監(jiān)聽?wèi)?yīng)用層進程,即監(jiān)聽位于應(yīng)用層的應(yīng)用程序進程的函數(shù)調(diào)用相關(guān)操作,并在應(yīng)用層進程調(diào)用的相關(guān)函數(shù)與預(yù)先設(shè)置的任一函數(shù)相匹配時,攔截被調(diào)用的函數(shù),轉(zhuǎn)由自身(該鉤子函數(shù))進行處理,并返回相應(yīng)處理結(jié)果。
作為一可選實施例,可在病毒清理等防御驅(qū)動應(yīng)用程序加載時注入鉤子函數(shù)。
其中,鉤子函數(shù)是Windows操作系統(tǒng)中消息處理機制的一段程序代碼段,驅(qū)動應(yīng)用程序可以通過該程序代碼段,設(shè)置子程序代碼段以監(jiān)視指定窗口的某種消息(操作),而且所監(jiān)視的指定窗口可以是其他進程所創(chuàng)建的。鉤子函數(shù)具有的鉤子機制通過Windows操作系統(tǒng)調(diào)用,將具有優(yōu)先控制權(quán)的鉤子函數(shù)掛入Windows操作系統(tǒng),允許鉤子函數(shù)截獲Windows操作系統(tǒng)發(fā)出的消息或特定事件,每當(dāng)Windows操作系統(tǒng)中消息或特定事件發(fā)出,在沒有到達目的窗口前,鉤子函數(shù)能夠先捕獲該消息或特定事件,從而可以加工處理(改變)該消息或特定事件,也可以不作處理而繼續(xù)傳遞,還可以強制結(jié)束消息或特定事件的傳遞。
本發(fā)明實施例中,通過在防御驅(qū)動應(yīng)用程序中注入鉤子函數(shù)以鉤住內(nèi)核截屏調(diào)用函數(shù),如果應(yīng)用程序通過向操作系統(tǒng)發(fā)送截屏請求,操作系統(tǒng)依據(jù)接收的截屏請求創(chuàng)建相應(yīng)的應(yīng)用層進程,該應(yīng)用層進程調(diào)用內(nèi)核截屏調(diào)用函數(shù)以對操作系統(tǒng)環(huán)境進行截屏?xí)r,就會先調(diào)用本發(fā)明實施例的鉤子函數(shù),從而依據(jù)鉤子函數(shù)的攔截規(guī)則進行相應(yīng)處理。
本發(fā)明實施例中,作為一可選實施例,所述應(yīng)用層進程為一應(yīng)用程序向操作系統(tǒng)發(fā)送截屏請求時,所述操作系統(tǒng)在應(yīng)用層依據(jù)所述截屏請求創(chuàng)建的截屏進程。
作為一可選實施例,(應(yīng)用層進程)調(diào)用內(nèi)核截屏調(diào)用函數(shù)包括:
應(yīng)用層進程直接調(diào)用內(nèi)核截屏調(diào)用函數(shù)。
作為另一可選實施例,在預(yù)先注入的鉤子函數(shù)監(jiān)測到調(diào)用內(nèi)核截屏調(diào)用函數(shù)時包括:
在預(yù)先注入的鉤子函數(shù)監(jiān)測到應(yīng)用層進程調(diào)用操作系統(tǒng)截屏函數(shù)時,通過所述操作系統(tǒng)截屏函數(shù)調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)。
步驟102,獲取調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用層進程的進程路徑信息,提取所述進程路徑信息映射的待驗證應(yīng)用程序;
本步驟中,作為一可選實施例,獲取調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用層進程的進程路徑信息包括:
A1,獲取調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)時的內(nèi)存地址;
A2,解析所述內(nèi)存地址,得到調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用層進程的進程句柄;
A3,利用所述進程句柄的內(nèi)核對象獲取進程路徑信息。
本發(fā)明實施例中,步驟A1至步驟A3為公知技術(shù),在此略去詳述。
本發(fā)明實施例中,通過獲取進行截屏操作的內(nèi)核截屏調(diào)用函數(shù)的進程路徑信息,可以獲知應(yīng)用層進程對應(yīng)的應(yīng)用程序,從而獲知向操作系統(tǒng)發(fā)送截屏請求的應(yīng)用程序信息。
步驟103,如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序相同,拒絕所述待驗證應(yīng)用程序調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)。
本步驟中,將所述待驗證應(yīng)用程序在待攔截應(yīng)用程序庫中進行搜索匹配,判斷調(diào)用內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用層進程對應(yīng)的待驗證應(yīng)用程序是否是待攔截應(yīng)用程序,如果與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序不相同,則可以確定發(fā)起截屏請求的待驗證應(yīng)用程序是正常應(yīng)用程序。
因而,作為一可選實施例,該方法還可以包括:
如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序不相同,通知所述內(nèi)核截屏調(diào)用函數(shù)執(zhí)行對操作系統(tǒng)環(huán)境的截屏操作。
本發(fā)明實施例中,如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序相同,則認為該應(yīng)用層進程為惡意應(yīng)用程序進程,需要進行攔截,則結(jié)束本次操作,返回拒絕,從而拒絕該待驗證應(yīng)用程序的截屏請求,使得待驗證應(yīng)用程序?qū)Σ僮飨到y(tǒng)環(huán)境進行截屏的請求失敗。例如,在用戶電子設(shè)備中,存在一應(yīng)用程序A,假設(shè)通過在金山毒霸的防御驅(qū)動中注入鉤子函數(shù),鉤住用以執(zhí)行對操作系統(tǒng)環(huán)境進行截屏的內(nèi)核截屏調(diào)用函數(shù),這樣,當(dāng)應(yīng)用程序A調(diào)用內(nèi)核截屏調(diào)用函數(shù),以對操作系統(tǒng)進行截屏?xí)r,注入在金山毒霸的防御驅(qū)動中的鉤子函數(shù)對該截屏行為進行攔截,并返回拒絕,使得應(yīng)用程序A不能實現(xiàn)對操作系統(tǒng)環(huán)境的截屏,從而更好地保護用戶信息不被泄露,提升操作系統(tǒng)的安全性。
本發(fā)明實施例中,作為一可選實施例,待攔截應(yīng)用程序庫可通過相關(guān)技術(shù)人員在網(wǎng)絡(luò)服務(wù)器通過對各應(yīng)用程序運行的分析,選取能夠自動對操作系統(tǒng)環(huán)境進行截屏且對用戶信息造成潛在安全威脅的的應(yīng)用程序形成待攔截應(yīng)用程序庫,并將形成的待攔截應(yīng)用程序庫下發(fā)至各電子設(shè)備,電子設(shè)備接收網(wǎng)絡(luò)服務(wù)器下發(fā)的待攔截應(yīng)用程序庫進行保存。當(dāng)然,實際應(yīng)用中,也可以由用戶在本地設(shè)置待攔截應(yīng)用程序庫,本發(fā)明實施例對此不作限定。
作為另一可選實施例,如果由用戶在本地設(shè)置待攔截應(yīng)用程序庫,該方法還可以包括:
將拒絕調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用程序信息上報至預(yù)先設(shè)置的網(wǎng)絡(luò)服務(wù)器。
本步驟中,用戶設(shè)置或由操作系統(tǒng)自動將拒絕調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用程序的相關(guān)信息進行上報,可以便于網(wǎng)絡(luò)服務(wù)器統(tǒng)計各電子設(shè)備上報的應(yīng)用程序信息,并依據(jù)統(tǒng)計,確定哪些應(yīng)用程序為惡意應(yīng)用程序,并設(shè)置該惡意應(yīng)用程序的風(fēng)險提示,從而在用戶下載該惡意應(yīng)用程序時,提示相應(yīng)的風(fēng)險,例如,提示該應(yīng)用程序會自動進行操作系統(tǒng)環(huán)境截屏,使得用戶能夠慎重考慮是否下載該應(yīng)用程序,以避免對電子設(shè)備帶來的安全隱患。
作為一可選實施例,在所述如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序相同之后,拒絕所述待驗證應(yīng)用程序調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)之前,該方法還包括:
展示所述待驗證應(yīng)用程序,并提示所述待驗證應(yīng)用程序?qū)Σ僮飨到y(tǒng)環(huán)境進行截屏;
接收用戶選取的指令,如果所述指令為允許指令,通知所述內(nèi)核截屏調(diào)用函數(shù)執(zhí)行對操作系統(tǒng)環(huán)境的截屏操作;如果所述指令為拒絕指令,執(zhí)行拒絕所述待驗證應(yīng)用程序調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的步驟。
由上述可見,本發(fā)明實施例截屏的處理的方法,在預(yù)先注入的鉤子函數(shù)監(jiān)測到調(diào)用內(nèi)核截屏調(diào)用函數(shù)時,鉤住所述內(nèi)核截屏調(diào)用函數(shù);獲取調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用層進程的進程路徑信息,提取所述進程路徑信息映射的待驗證應(yīng)用程序;如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序相同,拒絕所述待驗證應(yīng)用程序調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)。這樣,通過鉤住內(nèi)核截屏調(diào)用函數(shù),當(dāng)應(yīng)用程序?qū)Σ僮飨到y(tǒng)進行截屏操作時,能夠及時攔截應(yīng)用程序通過內(nèi)核的方式對操作系統(tǒng)進行截屏的行為,從而更好地保護操作系統(tǒng)的安全,避免了應(yīng)用程序可以通過直接調(diào)用內(nèi)核截屏調(diào)用函數(shù)來實現(xiàn)對操作系統(tǒng)
實施例二
圖2為本發(fā)明的實施例二截屏的處理的裝置結(jié)構(gòu)示意圖,如圖2所示,本實施例的裝置可以包括:鉤住模塊21、應(yīng)用程序獲取模塊22以及截屏處理模塊23,其中,
鉤住模塊21,用于在預(yù)先注入的鉤子函數(shù)監(jiān)測到調(diào)用內(nèi)核截屏調(diào)用函數(shù)時,鉤住所述內(nèi)核截屏調(diào)用函數(shù);
本實施例中,作為一可選實施例,可在金山毒霸防御驅(qū)動應(yīng)用程序加載時注入鉤子函數(shù)。
本發(fā)明實施例中,作為一可選實施例,所述應(yīng)用層進程為一應(yīng)用程序向操作系統(tǒng)發(fā)送截屏請求時,所述操作系統(tǒng)在應(yīng)用層依據(jù)所述截屏請求創(chuàng)建的截屏進程。
本實施例中,作為一可選實施例,鉤住模塊21包括:監(jiān)測單元以及鉤住單元(圖中未示出),其中,
監(jiān)測單元,用于在預(yù)先注入的鉤子函數(shù)監(jiān)測到應(yīng)用層進程直接調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)時,通知鉤住單元;
鉤住單元,用于鉤住所述內(nèi)核截屏調(diào)用函數(shù)。
作為另一可選實施例,鉤住模塊21包括:監(jiān)測單元以及鉤住單元,其中,
監(jiān)測單元,用于在預(yù)先注入的鉤子函數(shù)監(jiān)測到應(yīng)用層進程調(diào)用操作系統(tǒng)截屏函數(shù)時,通過所述操作系統(tǒng)截屏函數(shù)調(diào)用所述內(nèi)核截屏調(diào)用函數(shù),通知鉤住單元;
鉤住單元,用于鉤住所述內(nèi)核截屏調(diào)用函數(shù)。
應(yīng)用程序獲取模塊22,用于獲取調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用層進程的進程路徑信息,提取所述進程路徑信息映射的待驗證應(yīng)用程序;
本發(fā)明實施例中,作為一可選實施例,應(yīng)用程序獲取模塊22包括:內(nèi)存地址獲取單元、進程句柄獲取單元、進程路徑獲取單元以及應(yīng)用程序獲取單元(圖中未示出),其中,
內(nèi)存地址獲取單元,用于獲取調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)時的內(nèi)存地址;
進程句柄獲取單元,用于解析所述內(nèi)存地址,得到調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用層進程的進程句柄;
進程路徑獲取單元,用于利用所述進程句柄的內(nèi)核對象獲取進程路徑信息;
應(yīng)用程序獲取單元,用于提取所述進程路徑信息映射的待驗證應(yīng)用程序。
截屏處理模塊23,如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序相同,拒絕所述待驗證應(yīng)用程序調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)。
本發(fā)明實施例中,如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序相同,則認為該應(yīng)用層進程為惡意應(yīng)用程序進程,需要進行攔截,則結(jié)束本次操作,返回拒絕,從而拒絕該應(yīng)用程序的截屏請求,使得應(yīng)用程序?qū)Σ僮飨到y(tǒng)環(huán)境進行截屏的請求失敗。
本發(fā)明實施例中,作為一可選實施例,待攔截應(yīng)用程序庫可通過相關(guān)技術(shù)人員在網(wǎng)絡(luò)服務(wù)器通過對各應(yīng)用程序運行的分析,選取能夠自動對操作系統(tǒng)環(huán)境進行截屏且對用戶信息造成潛在安全威脅的的應(yīng)用程序形成待攔截應(yīng)用程序庫,并將形成的待攔截應(yīng)用程序庫下發(fā)至各電子設(shè)備,電子設(shè)備接收網(wǎng)絡(luò)服務(wù)器下發(fā)的待攔截應(yīng)用程序庫進行保存。
本實施例中,作為一可選實施例,截屏處理模塊23包括:匹配單元、展示單元、指令接收單元、截屏通知單元以及截屏拒絕單元(圖中未示出),其中,
匹配單元,如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序相同,通知展示單元;
展示單元,用于展示所述待驗證應(yīng)用程序,并提示所述待驗證應(yīng)用程序?qū)Σ僮飨到y(tǒng)環(huán)境進行截屏;
指令接收單元,用于接收用戶選取的指令,如果所述指令為允許指令,通知截屏通知單元;如果所述指令為拒絕指令,通知截屏拒絕單元;
截屏通知單元,用于允許所述待驗證應(yīng)用程序調(diào)用內(nèi)核截屏調(diào)用函數(shù)執(zhí)行對操作系統(tǒng)環(huán)境的截屏操作;
截屏拒絕單元,用于拒絕所述待驗證應(yīng)用程序調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)。
本實施例中,作為一可選實施例,截屏處理模塊23還可以用于如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序不相同,通知所述內(nèi)核截屏調(diào)用函數(shù)執(zhí)行對操作系統(tǒng)環(huán)境的截屏操作。
作為另一可選實施例,截屏處理模塊23還可以用于將拒絕調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用程序信息上報至預(yù)先設(shè)置的網(wǎng)絡(luò)服務(wù)器。
本實施例的裝置,可以用于執(zhí)行圖1所示方法實施例的技術(shù)方案,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。
尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計算機的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,″計算機可讀介質(zhì)″可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計算機可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(RAM),只讀存儲器(ROM),可擦除可編輯只讀存儲器(EPROM或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(CDROM)。另外,計算機可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因為可以例如通過對紙或其他介質(zhì)進行光學(xué)掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。
在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
本發(fā)明實施例還提供一種電子設(shè)備,所述電子設(shè)備包含前述任一實施例所述的裝置。
圖3為本發(fā)明電子設(shè)備一個實施例的結(jié)構(gòu)示意圖,可以實現(xiàn)本發(fā)明圖1-2所示實施例的流程,如圖3所示,上述電子設(shè)備可以包括:殼體31、處理器32、存儲器33、電路板34和電源電路35,其中,電路板34安置在殼體31圍成的空間內(nèi)部,處理器32和存儲器33設(shè)置在電路板34上;電源電路35,用于為上述電子設(shè)備的各個電路或器件供電;存儲器33用于存儲可執(zhí)行程序代碼;處理器32通過讀取存儲器33中存儲的可執(zhí)行程序代碼來運行與可執(zhí)行程序代碼對應(yīng)的程序,用于執(zhí)行如下操作:
在預(yù)先注入的鉤子函數(shù)監(jiān)測到調(diào)用內(nèi)核截屏調(diào)用函數(shù)時,鉤住所述內(nèi)核截屏調(diào)用函數(shù);
獲取調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)的應(yīng)用層進程的進程路徑信息,提取所述進程路徑信息映射的待驗證應(yīng)用程序;
如果所述待驗證應(yīng)用程序與預(yù)先設(shè)置的待攔截應(yīng)用程序庫中的任一待攔截應(yīng)用程序相同,拒絕所述待驗證應(yīng)用程序調(diào)用所述內(nèi)核截屏調(diào)用函數(shù)。
處理器32對上述步驟的具體執(zhí)行過程以及處理器32通過運行可執(zhí)行程序代碼來進一步執(zhí)行的步驟,可以參見本發(fā)明圖1-2所示實施例的描述,在此不再贅述。
該電子設(shè)備以多種形式存在,包括但不限于:
(1)移動通信設(shè)備:這類設(shè)備的特點是具備移動通信功能,并且以提供話音、數(shù)據(jù)通信為主要目標(biāo)。這類終端包括:智能手機(例如iPhone)、多媒體手機、功能性手機,以及低端手機等。
(2)超移動個人計算機設(shè)備:這類設(shè)備屬于個人計算機的范疇,有計算和處理功能,一般也具備移動上網(wǎng)特性。這類終端包括:PDA、MID和UMPC設(shè)備等,例如iPad。
(3)便攜式娛樂設(shè)備:這類設(shè)備可以顯示和播放多媒體內(nèi)容。該類設(shè)備包括:音頻、視頻播放器(例如iPod),掌上游戲機,電子書,以及智能玩具和便攜式車載導(dǎo)航設(shè)備。
(4)服務(wù)器:提供計算服務(wù)的設(shè)備,服務(wù)器的構(gòu)成包括處理器、硬盤、內(nèi)存、系統(tǒng)總線等,服務(wù)器和通用的計算機架構(gòu)類似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴展性、可管理性等方面要求較高。
(5)其他具有數(shù)據(jù)交互功能的電子設(shè)備。
本發(fā)明實施例還提供了一種存儲介質(zhì),用于存儲應(yīng)用程序,所述應(yīng)用程序用于執(zhí)行本發(fā)明實施例所提供的一種截屏的處理的方法。
本發(fā)明實施例還提供了一種應(yīng)用程序,用于執(zhí)行本發(fā)明實施例所提供的一種截屏的處理的方法。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
為了描述的方便,描述以上裝置是以功能分為各種單元/模塊分別描述。當(dāng)然,在實施本發(fā)明時可以把各單元/模塊的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本
發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以權(quán)利要求的保護范圍為準。