本公開(kāi)涉及終端設(shè)備安全技術(shù)領(lǐng)域,具體而言,涉及一種處理鎖屏的方法、裝置及終端設(shè)備。
背景技術(shù):
現(xiàn)有的終端設(shè)備(尤其是移動(dòng)設(shè)備)均具有鎖屏功能,不僅可以保證移動(dòng)設(shè)備上用戶數(shù)據(jù)的安全性,還可以防止誤操作(主要是針對(duì)觸摸屏),而且還能在較長(zhǎng)時(shí)間不操作的情況下節(jié)省電量。
通常,鎖屏之后需要通過(guò)輸入預(yù)設(shè)的密碼或繪制預(yù)設(shè)的手勢(shì)等方式解鎖之后才能進(jìn)入移動(dòng)設(shè)備的操作界面進(jìn)行下一步操作,也就是如果解鎖不成功只能停留在解鎖界面。但是現(xiàn)有技術(shù)中卻存在一些通過(guò)覆蓋、替換、殺掉或者以攻擊鎖屏方式繞過(guò)移動(dòng)設(shè)備上當(dāng)前系統(tǒng)的安全防護(hù)。
可見(jiàn),現(xiàn)有技術(shù)中對(duì)于鎖屏的設(shè)計(jì)方式還存在安全漏洞,需要一種新的處理鎖屏的方法、裝置及終端設(shè)備。
在所述背景技術(shù)部分公開(kāi)的上述信息僅用于加強(qiáng)對(duì)本公開(kāi)的背景的理解,因此它可以包括不構(gòu)成對(duì)本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本公開(kāi)提供一種處理鎖屏的方法、裝置及終端設(shè)備,以解決現(xiàn)有技術(shù)中通過(guò)覆蓋、替換、殺掉或者以攻擊鎖屏方式繞過(guò)移動(dòng)設(shè)備上當(dāng)前系統(tǒng)的安全防護(hù),降低系統(tǒng)安全性能的問(wèn)題。
本公開(kāi)的其他特性和優(yōu)點(diǎn)將通過(guò)下面的詳細(xì)描述變得顯然,或部分地通過(guò)本公開(kāi)的實(shí)踐而習(xí)得。
根據(jù)本公開(kāi)的一方面,提供了一種處理鎖屏的方法,采用以下至少一種方式:
設(shè)定顯示層級(jí)對(duì)預(yù)添加的進(jìn)程的窗口進(jìn)行限制;
對(duì)窗口移出事件進(jìn)行監(jiān)聽(tīng);
將多條鎖屏請(qǐng)求合并為一條鎖屏請(qǐng)求進(jìn)行處理。
在本公開(kāi)的一種示例性實(shí)施例中,所述設(shè)定顯示層級(jí)對(duì)預(yù)添加的進(jìn)程的窗口進(jìn)行限制包括:
預(yù)先針對(duì)指定窗口設(shè)定顯示層級(jí)的屬性;
當(dāng)接收到進(jìn)程窗口添加請(qǐng)求時(shí),判斷預(yù)添加的進(jìn)程的窗口是否為指定窗口;
如果預(yù)添加的進(jìn)程的窗口是指定窗口,則響應(yīng)所述進(jìn)程窗口添加請(qǐng)求,將所述預(yù)添加的進(jìn)程的窗口在鎖屏窗口的上一層的顯示層級(jí)進(jìn)行顯示。
在本公開(kāi)的一種示例性實(shí)施例中,還包括:
如果預(yù)添加的進(jìn)程的窗口不是指定窗口,則直接結(jié)束進(jìn)程。
在本公開(kāi)的一種示例性實(shí)施例中,所述對(duì)窗口移出事件進(jìn)行監(jiān)聽(tīng)包括:
通過(guò)窗口管理器對(duì)窗口移出事件進(jìn)行監(jiān)聽(tīng),如果被移出的窗口為鎖屏窗口或桌面窗口,則利用預(yù)設(shè)黑屏對(duì)顯示畫面進(jìn)行遮擋。
在本公開(kāi)的一種示例性實(shí)施例中,所述將多條鎖屏請(qǐng)求合并為一條鎖屏請(qǐng)求進(jìn)行處理包括:
當(dāng)在一個(gè)預(yù)設(shè)周期內(nèi)監(jiān)聽(tīng)到多條鎖屏請(qǐng)求時(shí),僅對(duì)所述預(yù)設(shè)周期內(nèi)最后一條鎖屏請(qǐng)求進(jìn)行響應(yīng)。
在本公開(kāi)的一種示例性實(shí)施例中,還包括:
對(duì)所述預(yù)添加的進(jìn)程的窗口的二進(jìn)制簽名進(jìn)行判斷,如果所述預(yù)添加的進(jìn)程的窗口不具有系統(tǒng)預(yù)設(shè)的二進(jìn)制簽名,則直接結(jié)束進(jìn)程。
根據(jù)本公開(kāi)的另一個(gè)方面,還提供一種處理鎖屏的裝置,包括以下至少一個(gè)模塊:
層級(jí)限制模塊,用于設(shè)定顯示層級(jí)對(duì)預(yù)添加的進(jìn)程的窗口進(jìn)行限制;
監(jiān)聽(tīng)處理模塊,用于對(duì)窗口移出事件進(jìn)行監(jiān)聽(tīng);
合并請(qǐng)求模塊,用于將多條鎖屏請(qǐng)求合并為一條鎖屏請(qǐng)求進(jìn)行處理。
在本公開(kāi)的一種示例性實(shí)施例中,所述層級(jí)限制模塊包括:
設(shè)定單元,用于預(yù)先針對(duì)指定窗口設(shè)定顯示層級(jí)的屬性;
判斷單元,用于當(dāng)接收到進(jìn)程窗口添加請(qǐng)求時(shí),判斷預(yù)添加的進(jìn)程的窗口是否為指定窗口;
第一操作單元,用于如果預(yù)添加的進(jìn)程的窗口是指定窗口,則響應(yīng)所述進(jìn)程窗口添加請(qǐng)求,將所述預(yù)添加的進(jìn)程的窗口在鎖屏窗口的上一層的顯示層級(jí)進(jìn)行顯示。
在本公開(kāi)的一種示例性實(shí)施例中,所述層級(jí)限制模塊還包括:
第二操作單元,用于如果預(yù)添加的進(jìn)程的窗口不是指定窗口,則直接結(jié)束進(jìn)程。
在本公開(kāi)的一種示例性實(shí)施例中,所述監(jiān)聽(tīng)處理模塊用于通過(guò)窗口管理器對(duì)窗口移出事件進(jìn)行監(jiān)聽(tīng),如果被移出的窗口為鎖屏窗口或桌面窗口,則利用預(yù)設(shè)黑屏對(duì)顯示畫面進(jìn)行遮擋。
在本公開(kāi)的一種示例性實(shí)施例中,所述合并請(qǐng)求模塊用于當(dāng)在一個(gè)預(yù)設(shè)周期內(nèi)監(jiān)聽(tīng)到多條鎖屏請(qǐng)求時(shí),僅對(duì)所述預(yù)設(shè)周期內(nèi)最后一條鎖屏請(qǐng)求進(jìn)行響應(yīng)。
在本公開(kāi)的一種示例性實(shí)施例中,還包括:
簽名認(rèn)證模塊,用于對(duì)所述預(yù)添加的進(jìn)程的窗口的二進(jìn)制簽名進(jìn)行判斷,如果所述預(yù)添加的進(jìn)程的窗口不具有系統(tǒng)預(yù)設(shè)的二進(jìn)制簽名,則直接結(jié)束進(jìn)程。
根據(jù)本公開(kāi)的再一個(gè)方面,還提供一種終端設(shè)備,包括:
處理器;以及
存儲(chǔ)器,存儲(chǔ)用于所述處理器控制以下至少一種操作的指令:
設(shè)定顯示層級(jí)對(duì)預(yù)添加的進(jìn)程的窗口進(jìn)行限制;
對(duì)窗口移出事件進(jìn)行監(jiān)聽(tīng);
將多條鎖屏請(qǐng)求合并為一條鎖屏請(qǐng)求進(jìn)行處理。
基于本公開(kāi)的技術(shù)方案,可以實(shí)現(xiàn)以下技術(shù)效果:
通過(guò)增加顯示層級(jí)的限制,防止鎖屏窗口被惡意覆蓋以繞過(guò)系統(tǒng)安全防護(hù);或者通過(guò)對(duì)被移除窗口進(jìn)行監(jiān)聽(tīng),防止有人惡意將鎖屏窗口或桌面窗口替換掉;或者優(yōu)化鎖屏進(jìn)程間服務(wù)的處理流程,當(dāng)收到多條鎖屏請(qǐng)求時(shí)僅做一次鎖屏處理,提高鎖屏進(jìn)程間服務(wù)的處理能力。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本公開(kāi)。
附圖說(shuō)明
通過(guò)參照附圖詳細(xì)描述其示例實(shí)施例,本公開(kāi)的上述和其它目標(biāo)、特征及優(yōu)點(diǎn)將變得更加顯而易見(jiàn)。
圖1A-圖1D是根據(jù)一示例性實(shí)施方式示出的一種處理鎖屏的方法的流程圖。
圖2是根據(jù)一示例性實(shí)施方式示出的處理鎖屏的方法中步驟S10的步驟流程圖。
圖3是根據(jù)一示例性實(shí)施方式示出的處理鎖屏的方法中步驟S10的原理框圖。
圖4是根據(jù)一示例性實(shí)施方式示出的一種處理鎖屏的裝置的組成示意圖圖。
圖5是根據(jù)一示例性實(shí)施方式示出的處理鎖屏的裝置中層級(jí)限制模塊的組成示意圖。
圖6是根據(jù)一示例性實(shí)施方式示出的一種終端設(shè)備的組成示意圖。
具體實(shí)施方式
現(xiàn)在將參考附圖更全面地描述示例實(shí)施方式。然而,示例實(shí)施方式能夠以多種形式實(shí)施,且不應(yīng)被理解為限于在此闡述的范例;相反,提供這些實(shí)施方式使得本公開(kāi)將更加全面和完整,并將示例實(shí)施方式的構(gòu)思全面地傳達(dá)給本領(lǐng)域的技術(shù)人員。附圖僅為本公開(kāi)的示意性圖解,并非一定是按比例繪制。圖中相同的附圖標(biāo)記表示相同或類似的部分,因而將省略對(duì)它們的重復(fù)描述。
此外,所描述的特征、結(jié)構(gòu)或特性可以以任何合適的方式結(jié)合在一個(gè)或更多實(shí)施方式中。在下面的描述中,提供許多具體細(xì)節(jié)從而給出對(duì)本公開(kāi)的實(shí)施方式的充分理解。然而,本領(lǐng)域技術(shù)人員將意識(shí)到,可以實(shí)踐本公開(kāi)的技術(shù)方案而省略所述特定細(xì)節(jié)中的一個(gè)或更多,或者可以采用其它的方法、組元、裝置、步驟等。在其它情況下,不詳細(xì)示出或描述公知結(jié)構(gòu)、方法、裝置、實(shí)現(xiàn)或者操作以避免喧賓奪主而使得本公開(kāi)的各方面變得模糊。
根據(jù)本發(fā)明的一示例實(shí)施方式,一種處理鎖屏的方法包括:設(shè)定顯示層級(jí)對(duì)預(yù)添加的進(jìn)程的窗口進(jìn)行限制。
根據(jù)本發(fā)明的另一示例實(shí)施方式,一種處理鎖屏的方法包括:對(duì)窗口移出事件進(jìn)行監(jiān)聽(tīng)。
根據(jù)本發(fā)明的又一示例實(shí)施方式,一種處理鎖屏的方法包括:將多條鎖屏請(qǐng)求合并為一條鎖屏請(qǐng)求進(jìn)行處理。
圖1A-圖1D是根據(jù)一示例性實(shí)施方式示出的一種處理鎖屏的方法的流程圖。如圖1A-圖1D所示,該方法采用以下其中至少一種方式:
步驟S10、設(shè)定顯示層級(jí)對(duì)預(yù)添加的進(jìn)程的窗口進(jìn)行限制。
步驟S20、對(duì)窗口移出事件進(jìn)行監(jiān)聽(tīng)。
步驟S30、將多條鎖屏請(qǐng)求合并為一條鎖屏請(qǐng)求進(jìn)行處理。
需要說(shuō)明的是,本公開(kāi)中圖1A-圖1D所示僅為示意性示出處理鎖屏的方法中幾種可選的組合,并未限制各種方式之間的先后順序。
針對(duì)現(xiàn)有技術(shù)中常有利用層級(jí)覆蓋的方式來(lái)繞過(guò)當(dāng)前系統(tǒng)的鎖屏步驟,達(dá)到破解鎖屏的目的,本實(shí)施例中提供步驟S10的方式來(lái)解決上述問(wèn)題。圖2示出其中步驟S10中設(shè)定顯示層級(jí)對(duì)預(yù)添加的進(jìn)程的窗口進(jìn)行限制的步驟流程圖,如圖2所示,包括:
步驟S11、預(yù)先針對(duì)指定窗口設(shè)定顯示層級(jí),其中,本實(shí)施例中的指定窗口可以為但不限定來(lái)電窗口、鬧鐘窗口或日歷窗口。指定窗口是在系統(tǒng)具有一個(gè)顯示層級(jí)權(quán)限對(duì)應(yīng)的應(yīng)用列表,在該應(yīng)用列表中對(duì)每個(gè)應(yīng)用或進(jìn)程窗口的層級(jí)顯示權(quán)限進(jìn)行設(shè)定,但是該應(yīng)用列表中的應(yīng)用的顯示層級(jí)會(huì)隨著系統(tǒng)版本以及產(chǎn)品的定制而發(fā)生變動(dòng)。
步驟S12、當(dāng)接收到進(jìn)程窗口添加請(qǐng)求時(shí),判斷預(yù)添加的進(jìn)程的窗口是否為指定窗口。其中該進(jìn)程窗口添加請(qǐng)求就是指請(qǐng)求將一個(gè)進(jìn)程的窗口添加到比鎖屏窗口的顯示層級(jí)較高的顯示層級(jí),或者將一個(gè)進(jìn)程的窗口添加到與鎖屏窗口的顯示層級(jí)屬于同一顯示層級(jí)的顯示層級(jí)。
步驟S13、如果預(yù)添加的進(jìn)程的窗口是指定窗口,則響應(yīng)進(jìn)程窗口添加請(qǐng)求,將預(yù)添加的進(jìn)程的窗口在鎖屏窗口的上一層的顯示層級(jí)進(jìn)行顯示。
步驟S14、如果預(yù)添加的進(jìn)程的窗口不是指定窗口,則直接結(jié)束進(jìn)程。
通常,在鎖屏狀態(tài)下,鎖屏窗口的顯示層級(jí)最高。由于現(xiàn)有技術(shù)中會(huì)有非法程序通過(guò)惡意設(shè)定窗口屬性的方式(例如通過(guò)setWindowProperty的形式),隨意將一個(gè)進(jìn)程窗口顯示在鎖屏窗口的顯示層級(jí)之上,窗口管理器就按照設(shè)定的顯示層級(jí)屬性進(jìn)行顯示,以致造成對(duì)不該顯示在鎖屏窗口或桌面窗口的顯示層級(jí)之上的進(jìn)程窗口對(duì)鎖屏窗口形成覆蓋,以繞過(guò)系統(tǒng)安全防護(hù)。
本實(shí)施例中通過(guò)對(duì)顯示層級(jí)屬性加以限制,例如定義一些具有特殊顯示層級(jí)的應(yīng)用,并設(shè)定這些應(yīng)用的顯示層級(jí)可以高于鎖屏窗口的顯示層級(jí)。當(dāng)窗口管理器收到進(jìn)程窗口添加請(qǐng)求時(shí),根據(jù)進(jìn)程信息判斷其是否有添加到對(duì)應(yīng)顯示層級(jí)的能力,如果有則接收添加請(qǐng)求,將預(yù)添加的進(jìn)程的窗口添加在對(duì)應(yīng)的顯示層級(jí)上,否則直接結(jié)束進(jìn)程,原理框圖如圖3所示。
參見(jiàn)圖3,通過(guò)判斷預(yù)添加的進(jìn)程窗口是不是指定窗口來(lái)決定其能否添加,根據(jù)判斷結(jié)果,只有這些指定窗口的顯示層級(jí)可以在鎖屏窗口的顯示層級(jí)之上,而其他進(jìn)程如果想要顯示在鎖屏窗口或的顯示層級(jí)之上,則會(huì)直接結(jié)束進(jìn)程,也就是不響應(yīng)該請(qǐng)求,這樣就可以達(dá)到防止非法程序惡意覆蓋鎖屏窗口來(lái)繞過(guò)系統(tǒng)安全防護(hù)(即破解鎖屏)的目的。
另外,針對(duì)現(xiàn)有技術(shù)中常有利用替換的方式來(lái)繞過(guò)當(dāng)前系統(tǒng)的鎖屏步驟,達(dá)到破解鎖屏的目的,本實(shí)施例中提供步驟S20的方式來(lái)解決上述問(wèn)題。其中步驟S20中對(duì)窗口移出事件進(jìn)行監(jiān)聽(tīng)的步驟包括:通過(guò)窗口管理器對(duì)窗口移出事件進(jìn)行監(jiān)聽(tīng),如果被移出的窗口為鎖屏窗口或桌面窗口,則利用預(yù)設(shè)黑屏對(duì)顯示畫面進(jìn)行遮擋。
例如,在本實(shí)施例中,在窗口管理器處理WindowRemove事件時(shí),添加對(duì)鎖屏窗口和桌面窗口的處理,如果被移除的窗口為鎖屏窗口或者桌面窗口,則在鎖屏層上用系統(tǒng)logo黑屏(也可以其他預(yù)設(shè)黑屏),以防止非法程序利用強(qiáng)制移出鎖屏窗口或桌面窗口來(lái)替換鎖屏窗口或桌面窗口,避免繞過(guò)系統(tǒng)安全防護(hù)。這樣,利用該方法只容許來(lái)電、鬧鐘以及日歷等系統(tǒng)級(jí)窗口顯示,通過(guò)對(duì)窗口移出事件的監(jiān)聽(tīng),不允許窗口管理器隨意利用其它窗口(例如與鎖屏窗口相同的圖片)來(lái)替換系統(tǒng)設(shè)定的鎖屏,防止非法程序以此繞過(guò)系統(tǒng)安全防護(hù),并能進(jìn)一步防止不法程序利用與鎖屏窗口相同的圖片來(lái)套取用戶的解鎖密碼或手勢(shì)等。
在本實(shí)施例中還可以設(shè)定如果有人想要強(qiáng)制利用其它窗口替換鎖屏窗口或桌面窗口時(shí)利用系統(tǒng)logo黑屏一固定時(shí)間,例如5秒,10秒等,等待鎖屏窗口或桌面窗口恢復(fù)后,取消黑屏logo遮罩,如果超過(guò)固定時(shí)間還沒(méi)有恢復(fù)鎖屏窗口或桌面窗口則繼續(xù)利用系統(tǒng)logo黑屏,或者進(jìn)一步加固系統(tǒng)的鎖定。
除了利用步驟S20的方式來(lái)解決繞過(guò)鎖屏的問(wèn)題,還可以根據(jù)需要采用步驟S10和步驟S20分別對(duì)覆蓋和替換鎖屏的方式來(lái)解決繞過(guò)鎖屏的問(wèn)題,如果兩種方式結(jié)合可以進(jìn)一步提供更加全面的安全防護(hù)。
最后,除了上述兩種方式之外,針對(duì)現(xiàn)有技術(shù)中還會(huì)進(jìn)行惡意攻擊,例如重復(fù)發(fā)送請(qǐng)求使服務(wù)器失去響應(yīng)能力進(jìn)而將進(jìn)程統(tǒng)統(tǒng)殺掉的方式來(lái)繞過(guò)當(dāng)前系統(tǒng)的鎖屏步驟,達(dá)到破解鎖屏的目的,本實(shí)施例中提供步驟S30的方式來(lái)解決上述問(wèn)題。其中步驟S30中將多條鎖屏請(qǐng)求合并為一條鎖屏請(qǐng)求進(jìn)行處理的方式包括:
當(dāng)在一個(gè)預(yù)設(shè)周期內(nèi)監(jiān)聽(tīng)到多條鎖屏請(qǐng)求時(shí),則僅對(duì)預(yù)設(shè)周期內(nèi)最后一條鎖屏請(qǐng)求進(jìn)行響應(yīng)。
其中為避免請(qǐng)求堆積造成系統(tǒng)癱瘓,在預(yù)設(shè)的一段時(shí)間內(nèi)對(duì)這段時(shí)間內(nèi)的鎖屏請(qǐng)求進(jìn)行處理,這個(gè)預(yù)設(shè)的時(shí)間就是預(yù)設(shè)周期。在該步驟中通過(guò)優(yōu)化鎖屏dbus服務(wù)(一種進(jìn)程間服務(wù))處理流程,在收到大量服務(wù)請(qǐng)求后仍具有響應(yīng)能力。具體的,可能在一個(gè)動(dòng)作周期內(nèi)接收到很多條鎖屏請(qǐng)求,如果一條一條來(lái)處理,必然會(huì)影響進(jìn)程的處理和對(duì)后來(lái)的請(qǐng)求的響應(yīng)能力。因此對(duì)于很多冗余請(qǐng)求可以進(jìn)行合并,如調(diào)用鎖屏的請(qǐng)求,如果連續(xù)接收到多個(gè)鎖屏請(qǐng)求,即使這些請(qǐng)求來(lái)源不同,但一個(gè)處理可以滿足所有這些請(qǐng)求,則認(rèn)為這些請(qǐng)求冗余,將其合并成一條,提高鎖屏dbus服務(wù)的處理能力。
另外,本實(shí)施例中還會(huì)將鎖屏dbus服務(wù)的相關(guān)處理會(huì)放到單獨(dú)的線程上,不會(huì)對(duì)數(shù)據(jù)處理等線程的進(jìn)行造成影響,鎖屏請(qǐng)求在后臺(tái)線程中得到處理,可以提高界面的響應(yīng)速度,也不會(huì)因?qū)τ陬l繁的鎖屏請(qǐng)求,阻塞界面,導(dǎo)致界面一直沒(méi)有對(duì)請(qǐng)求響應(yīng)而被窗口管理器殺掉。
除了利用步驟S30的方式來(lái)解決繞過(guò)鎖屏的問(wèn)題,還可以根據(jù)需要采用步驟S10和步驟S30分別對(duì)覆蓋和殺掉鎖屏的方式來(lái)解決繞過(guò)鎖屏的問(wèn)題,如果兩種方式結(jié)合可以進(jìn)一步提供更加全面的安全防護(hù),保證dbus服務(wù)響應(yīng)能力。其中步驟S10的方式技術(shù)效果如前所述,此處不再贅述。
另外,除了利用步驟S30的方式來(lái)解決繞過(guò)鎖屏的問(wèn)題,還可以根據(jù)需要采用步驟S20和步驟S30分別對(duì)替換和殺掉鎖屏的方式來(lái)解決繞過(guò)鎖屏的問(wèn)題,如果兩種方式結(jié)合可以進(jìn)一步提供更加全面的安全防護(hù)。其中步驟S20的方式技術(shù)效果如前所述,此處不再贅述。
還可以根據(jù)需要采用步驟S10、步驟S20和步驟S30分別對(duì)覆蓋、替換和殺掉鎖屏的方式來(lái)解決繞過(guò)鎖屏的問(wèn)題,如果三種方式結(jié)合可以進(jìn)一步提供更加全面的安全防護(hù)。其中步驟S10和步驟S20的方式技術(shù)效果均如前所述,此處不再贅述。
本實(shí)施例提供的處理鎖屏的方法中除了包括圖1A-圖1D所示的:設(shè)定顯示層級(jí)對(duì)預(yù)添加的進(jìn)程的窗口進(jìn)行限制;對(duì)窗口移出事件進(jìn)行監(jiān)聽(tīng);將多條鎖屏請(qǐng)求合并為一條鎖屏請(qǐng)求進(jìn)行處理;還可以更進(jìn)一步的包括:對(duì)預(yù)添加的進(jìn)程的窗口的二進(jìn)制簽名進(jìn)行判斷。如果預(yù)添加的進(jìn)程的窗口不具有系統(tǒng)預(yù)設(shè)的二進(jìn)制簽名,則直接結(jié)束進(jìn)程。
本實(shí)施例中還通過(guò)二進(jìn)制簽名保證執(zhí)行程序完整性,沒(méi)有經(jīng)過(guò)二進(jìn)制簽名的程序不能被執(zhí)行,如果其替換了鎖屏窗口或桌面窗口,則系統(tǒng)的顯示畫面被黑屏logo遮擋。如果對(duì)每個(gè)程序或進(jìn)程均設(shè)定并簽發(fā)相應(yīng)的二進(jìn)制簽名,因此可以有效保障應(yīng)用的可靠性、完整性。需要說(shuō)明的是,本實(shí)施例圖1中所示的步驟S10至S40并不限定其先后順序,可以根據(jù)應(yīng)用場(chǎng)景選擇相應(yīng)的方式處理跳過(guò)鎖屏的問(wèn)題,當(dāng)然,還可以根據(jù)需要選擇其中兩種或兩種以上的方式(例如,可以以其中一種方式作為補(bǔ)充手段)來(lái)共同解決跳過(guò)鎖屏的問(wèn)題,提升安全性。
綜上所述,本實(shí)施例提供的處理鎖屏的方法,不僅可以通過(guò)增加顯示層級(jí)的限制,防止鎖屏窗口被惡意覆蓋以繞過(guò)系統(tǒng)安全防護(hù);還可以通過(guò)對(duì)被移除窗口進(jìn)行監(jiān)聽(tīng),防止有人惡意將鎖屏窗口或桌面窗口替換掉;也可以通過(guò)優(yōu)化鎖屏進(jìn)程間服務(wù)的處理流程,當(dāng)收到多條鎖屏請(qǐng)求時(shí)僅做一次鎖屏處理,提高鎖屏進(jìn)程間服務(wù)的處理能力。
因此該方法考慮不同的應(yīng)用場(chǎng)景提供具有針對(duì)性的保護(hù),還可以從防止覆蓋、替換或惡意攻擊等多個(gè)角度來(lái)防止跳過(guò)鎖屏而進(jìn)入系統(tǒng),通過(guò)這幾種保護(hù)方式的結(jié)合可以對(duì)現(xiàn)有技術(shù)中繞過(guò)鎖屏的幾種常用技術(shù)提供具有針對(duì)性的保護(hù),從而對(duì)鎖屏安全進(jìn)行全方位的防護(hù),避免造成用戶數(shù)據(jù)的泄露,提升系統(tǒng)的總體安全防護(hù)能力。
圖4還示出本實(shí)施例中提供的一種處理鎖屏的裝置的組成示意圖,該裝置100包括以下至少一個(gè)模塊:層級(jí)限制模塊110、監(jiān)聽(tīng)處理模塊120、合并請(qǐng)求模塊130以及簽名認(rèn)證模塊140。
其中層級(jí)限制模塊110用于設(shè)定顯示層級(jí)對(duì)預(yù)添加的進(jìn)程的窗口進(jìn)行限制;監(jiān)聽(tīng)處理模塊120用于對(duì)窗口移出事件進(jìn)行監(jiān)聽(tīng);合并請(qǐng)求模塊130用于將多條鎖屏請(qǐng)求合并為一條鎖屏請(qǐng)求進(jìn)行處理。
針對(duì)現(xiàn)有技術(shù)中常有利用層級(jí)覆蓋的方式來(lái)繞過(guò)當(dāng)前系統(tǒng)的鎖屏步驟,達(dá)到破解鎖屏的目的,本實(shí)施例中提供層級(jí)限制模塊110,其中圖5還示出本實(shí)施例中層級(jí)限制模塊110的組成示意圖,包括:設(shè)定單元111、判斷單元112、第一操作單元113和第二操作單元114。
設(shè)定單元111用于預(yù)先針對(duì)指定窗口設(shè)定顯示層級(jí)的屬性,其中本實(shí)施例中的指定窗口可以為但不限定來(lái)電窗口、鬧鐘窗口或日歷窗口。指定窗口是在系統(tǒng)具有一個(gè)顯示層級(jí)權(quán)限對(duì)應(yīng)的應(yīng)用列表,在該應(yīng)用列表中對(duì)每個(gè)應(yīng)用或進(jìn)程窗口的層級(jí)顯示權(quán)限進(jìn)行設(shè)定,但是該應(yīng)用列表中的應(yīng)用的顯示層級(jí)會(huì)隨著系統(tǒng)版本以及產(chǎn)品的定制而發(fā)生變動(dòng)。
判斷單元112用于當(dāng)接收到進(jìn)程窗口添加請(qǐng)求時(shí),判斷預(yù)添加的進(jìn)程的窗口是否為指定窗口。其中該進(jìn)程窗口添加請(qǐng)求就是指請(qǐng)求將一個(gè)進(jìn)程的窗口添加到比鎖屏窗口的顯示層級(jí)較高的顯示層級(jí),或者將一個(gè)進(jìn)程的窗口添加到與鎖屏窗口的顯示層級(jí)屬于同一顯示層級(jí)的顯示層級(jí)。
第一操作單元113用于如果預(yù)添加的進(jìn)程的窗口是指定窗口,則響應(yīng)進(jìn)程窗口添加請(qǐng)求,將預(yù)添加的進(jìn)程的窗口在鎖屏窗口的上一層的顯示層級(jí)進(jìn)行顯示;第二操作單元114用于如果預(yù)添加的進(jìn)程的窗口不是指定窗口,則直接結(jié)束進(jìn)程。
本實(shí)施例中通過(guò)層級(jí)限制模塊110對(duì)顯示層級(jí)屬性加以限制,例如定義一些具有特殊顯示層級(jí)的應(yīng)用,并設(shè)定這些應(yīng)用的顯示層級(jí)可以高于鎖屏窗口的顯示層級(jí)。當(dāng)窗口管理器收到進(jìn)程窗口添加請(qǐng)求時(shí),根據(jù)進(jìn)程信息判斷其是否有添加到對(duì)應(yīng)顯示層級(jí)的能力,如果有則接收添加請(qǐng)求,將預(yù)添加的進(jìn)程的窗口添加在對(duì)應(yīng)的顯示層級(jí)上,否則直接結(jié)束進(jìn)程。這樣,通過(guò)判斷預(yù)添加的進(jìn)程窗口是不是指定窗口來(lái)決定其能否添加,根據(jù)判斷結(jié)果,只有這些指定窗口的顯示層級(jí)可以在鎖屏窗口的顯示層級(jí)之上,而其他進(jìn)程如果想要顯示在鎖屏窗口或的顯示層級(jí)之上,則會(huì)直接結(jié)束進(jìn)程,也就是不響應(yīng)該請(qǐng)求,這樣就可以達(dá)到防止非法程序惡意覆蓋鎖屏窗口來(lái)繞過(guò)系統(tǒng)安全防護(hù)(即破解鎖屏)的目的。
針對(duì)現(xiàn)有技術(shù)中常有利用替換的方式來(lái)繞過(guò)當(dāng)前系統(tǒng)的鎖屏步驟,達(dá)到破解鎖屏的目的,本實(shí)施例中提供監(jiān)聽(tīng)處理模塊120,用于對(duì)移出窗口的事件進(jìn)行監(jiān)聽(tīng),如果被移出的窗口為鎖屏窗口或桌面窗口,則利用預(yù)設(shè)黑屏對(duì)顯示畫面進(jìn)行遮擋。
在本實(shí)施例中,在窗口管理器處理WindowRemove事件時(shí),添加對(duì)鎖屏窗口和桌面窗口的處理,如果被移除的窗口為鎖屏窗口或者桌面窗口,則在鎖屏層上用系統(tǒng)logo黑屏(也可以其他預(yù)設(shè)黑屏),以防止非法程序利用強(qiáng)制移出鎖屏窗口或桌面窗口來(lái)替換鎖屏窗口或桌面窗口,避免繞過(guò)系統(tǒng)安全防護(hù)。這樣,利用該方法只容許來(lái)電、鬧鐘以及日歷等系統(tǒng)級(jí)窗口顯示,通過(guò)對(duì)窗口移出事件的監(jiān)聽(tīng),不允許窗口管理器隨意利用其它窗口(例如與鎖屏窗口相同的圖片)來(lái)替換系統(tǒng)設(shè)定的鎖屏,防止非法程序以此繞過(guò)系統(tǒng)安全防護(hù),并能進(jìn)一步防止不法程序利用與鎖屏窗口相同的圖片來(lái)套取用戶的解鎖密碼或手勢(shì)等。
在本實(shí)施例中還可以設(shè)定如果有人想要強(qiáng)制利用其它窗口替換鎖屏窗口或桌面窗口時(shí)利用系統(tǒng)logo黑屏一固定時(shí)間,例如5秒,10秒等,等待鎖屏窗口或桌面窗口恢復(fù)后,取消黑屏logo遮罩,如果超過(guò)固定時(shí)間還沒(méi)有恢復(fù)鎖屏窗口或桌面窗口則繼續(xù)利用系統(tǒng)logo黑屏,或者進(jìn)一步加固系統(tǒng)的鎖定。
該裝置還可以既包括層級(jí)限制模塊110,同時(shí)又包括監(jiān)聽(tīng)處理模塊120,以解決對(duì)覆蓋和替換鎖屏的方式繞過(guò)鎖屏的問(wèn)題,每一模塊的技術(shù)效果如前所述,此處不再贅述。
針對(duì)現(xiàn)有技術(shù)中還會(huì)進(jìn)行惡意攻擊,例如重復(fù)發(fā)送請(qǐng)求使服務(wù)器失去響應(yīng)能力進(jìn)而將進(jìn)程統(tǒng)統(tǒng)殺掉的方式來(lái)繞過(guò)當(dāng)前系統(tǒng)的鎖屏步驟,達(dá)到破解鎖屏的目的,在本實(shí)施例中還提供合并請(qǐng)求模塊130,用于當(dāng)在一個(gè)預(yù)設(shè)周期內(nèi)監(jiān)聽(tīng)到多條鎖屏請(qǐng)求時(shí),則僅對(duì)預(yù)設(shè)周期內(nèi)最后一條鎖屏請(qǐng)求進(jìn)行響應(yīng)。
通過(guò)優(yōu)化鎖屏dbus服務(wù)(一種進(jìn)程間服務(wù))處理流程,在收到大量服務(wù)請(qǐng)求后仍具有響應(yīng)能力。具體的,可能在一個(gè)動(dòng)作周期內(nèi)接收到很多條鎖屏請(qǐng)求,如果一條一條來(lái)處理,必然會(huì)影響進(jìn)程的處理和對(duì)后來(lái)的請(qǐng)求的響應(yīng)能力。因此對(duì)于很多冗余請(qǐng)求可以進(jìn)行合并,如調(diào)用鎖屏的請(qǐng)求,如果連續(xù)接收到多個(gè)鎖屏請(qǐng)求,即使這些請(qǐng)求來(lái)源不同,但一個(gè)處理可以滿足所有這些請(qǐng)求,則認(rèn)為這些請(qǐng)求冗余,將其合并成一條,提高鎖屏dbus服務(wù)的處理能力。
另外,本實(shí)施例中還會(huì)將鎖屏dbus服務(wù)的相關(guān)處理會(huì)放到單獨(dú)的線程上,不會(huì)對(duì)數(shù)據(jù)處理等線程的進(jìn)行造成影響,鎖屏請(qǐng)求在后臺(tái)線程中得到處理,可以提高界面的響應(yīng)速度。也不會(huì)因?qū)τ陬l繁的鎖屏請(qǐng)求,阻塞界面,導(dǎo)致界面一直沒(méi)有對(duì)請(qǐng)求響應(yīng)而被窗口管理器殺掉。
該裝置還可以既包括合并請(qǐng)求模塊130,同時(shí)又包括監(jiān)聽(tīng)處理模塊120,以解決對(duì)殺掉和替換鎖屏的方式繞過(guò)鎖屏的問(wèn)題,每一模塊的技術(shù)效果如前所述,此處不再贅述。另外,該裝置還可以既包括合并請(qǐng)求模塊130,同時(shí)又包括層級(jí)限制模塊110,以解決對(duì)殺掉和覆蓋鎖屏的方式繞過(guò)鎖屏的問(wèn)題,每一模塊的技術(shù)效果如前所述,此處不再贅述。除此之外,該裝置還可以既包括合并請(qǐng)求模塊130,同時(shí)又包括層級(jí)限制模塊110和監(jiān)聽(tīng)處理模塊120,以解決對(duì)殺掉、覆蓋和替換鎖屏的方式繞過(guò)鎖屏的問(wèn)題,每一模塊的技術(shù)效果如前所述,此處不再贅述。
最后,本實(shí)施例中的簽名認(rèn)證模塊140用于對(duì)預(yù)添加的進(jìn)程的窗口的二進(jìn)制簽名進(jìn)行判斷,如果預(yù)添加的進(jìn)程的窗口不具有系統(tǒng)預(yù)設(shè)的二進(jìn)制簽名,則直接結(jié)束進(jìn)程。通過(guò)二進(jìn)制簽名保證執(zhí)行程序完整性,沒(méi)有經(jīng)過(guò)二進(jìn)制簽名的程序不能被執(zhí)行,如果其替換了鎖屏窗口或桌面窗口,則系統(tǒng)被黑屏logo遮罩。如果對(duì)每個(gè)程序或進(jìn)程均設(shè)定并簽發(fā)相應(yīng)的二進(jìn)制簽名,因此可以有效保障應(yīng)用的可靠性、完整性。
本實(shí)施例提供的裝置可以分別從通過(guò)增加顯示層級(jí)的限制,防止鎖屏窗口被惡意覆蓋以繞過(guò)系統(tǒng)安全防護(hù),通過(guò)對(duì)被移除窗口進(jìn)行監(jiān)聽(tīng),防止有人惡意將鎖屏窗口或桌面窗口替換掉;通過(guò)優(yōu)化鎖屏進(jìn)程間服務(wù)的處理流程,當(dāng)收到多條鎖屏請(qǐng)求時(shí)僅做一次鎖屏處理,提高鎖屏進(jìn)程間服務(wù)的處理能力等不同的角度克服現(xiàn)有技術(shù)中通過(guò)覆蓋、替換、殺掉等方式繞過(guò)鎖屏避開(kāi)系統(tǒng)安全防護(hù),其技術(shù)效果同上述實(shí)施例提供的方法的技術(shù)效果,此處不再贅述。
最終,本實(shí)施例中還提供了一種終端設(shè)備,圖6示出該終端設(shè)備的組成示意圖,該終端設(shè)備1000包括:處理器1100;以及存儲(chǔ)器1200,存儲(chǔ)用于所述處理器控制以下至少一種操作的指令:
設(shè)定顯示層級(jí)對(duì)預(yù)添加的進(jìn)程的窗口進(jìn)行限制;
對(duì)窗口移出事件進(jìn)行監(jiān)聽(tīng);
將多條鎖屏請(qǐng)求合并為一條鎖屏請(qǐng)求進(jìn)行處理。
其中存儲(chǔ)器1200可以由任何類型的易失性或非易失性存儲(chǔ)設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM),電可擦除可編程只讀存儲(chǔ)器(EEPROM),可擦除可編程只讀存儲(chǔ)器(EPROM),可編程只讀存儲(chǔ)器(PROM),只讀存儲(chǔ)器(ROM),磁存儲(chǔ)器,快閃存儲(chǔ)器,磁盤或光盤。
相應(yīng)的,本公開(kāi)還提供一種非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器,上述指令可由裝置的處理器執(zhí)行以完成上述方法。例如,所述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是ROM、隨機(jī)存取存儲(chǔ)器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲(chǔ)設(shè)備等。當(dāng)所述存儲(chǔ)介質(zhì)中的指令由終端的處理器執(zhí)行時(shí),使得終端能夠執(zhí)行一種處理鎖屏的方法,所述方法包括:設(shè)定顯示層級(jí)對(duì)預(yù)添加的進(jìn)程的窗口進(jìn)行限制;對(duì)窗口移出事件進(jìn)行監(jiān)聽(tīng);將多條鎖屏請(qǐng)求合并為一條鎖屏請(qǐng)求進(jìn)行處理。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員易于理解,這里描述的示例實(shí)施方式可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)軟件結(jié)合必要的硬件的方式來(lái)實(shí)現(xiàn)。因此,根據(jù)本公開(kāi)實(shí)施方式的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是CD-ROM,U盤,移動(dòng)硬盤等)中或網(wǎng)絡(luò)上,包括若干指令以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、移動(dòng)終端、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行根據(jù)本公開(kāi)實(shí)施方式的方法。
以上具體地示出和描述了本公開(kāi)的示例性實(shí)施方式。應(yīng)可理解的是,本公開(kāi)不限于這里描述的詳細(xì)結(jié)構(gòu)、設(shè)置方式或?qū)崿F(xiàn)方法;相反,本公開(kāi)意圖涵蓋包含在所附權(quán)利要求的精神和范圍內(nèi)的各種修改和等效設(shè)置。