一種操作系統(tǒng)漏洞修復(fù)方法及裝置制造方法
【專利摘要】本申請(qǐng)?zhí)峁┮环N操作系統(tǒng)漏洞修復(fù)方法及裝置,通過接收攜帶包含若干個(gè)函數(shù)的函數(shù)列表,并利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新操作系統(tǒng)中的分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),以實(shí)現(xiàn)對(duì)操作系統(tǒng)的漏洞修復(fù)。本申請(qǐng)通過使用函數(shù)列表,及利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制更新操作系統(tǒng)中分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)的方式,避免了現(xiàn)有技術(shù)需下載較大的升級(jí)包(OTA包/刷機(jī)包)以及需重啟才可完成漏洞修復(fù)過程,而產(chǎn)生的漏洞修復(fù)效率低、用戶體驗(yàn)性差的問題。
【專利說明】一種操作系統(tǒng)漏洞修復(fù)方法及裝置
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及漏洞修復(fù)【技術(shù)領(lǐng)域】,特別是涉及一種操作系統(tǒng)漏洞修復(fù)方法及裝置。
【背景技術(shù)】
[0002]操作系統(tǒng)漏洞是指操作系統(tǒng)(如:智能機(jī)的Android系統(tǒng)等)本身所存在的問題或技術(shù)缺陷,操作系統(tǒng)產(chǎn)品提供商通常會(huì)定期對(duì)已知漏洞發(fā)布補(bǔ)丁程序進(jìn)而提供漏洞修復(fù)服務(wù)。
[0003]現(xiàn)有技術(shù)用戶雖然可通過下載0TA(0ver-the-Air,空中下載)包或者下載刷機(jī)包的方式來實(shí)現(xiàn)對(duì)操作系統(tǒng)的漏洞修復(fù)過程。但是,這兩種修復(fù)方式在漏洞修復(fù)過程中,不僅會(huì)因需下載較大的升級(jí)包(0TA包/刷機(jī)包),而產(chǎn)生漏洞修復(fù)效率低的問題,還會(huì)產(chǎn)生因這兩種修復(fù)方式自身屬性所導(dǎo)致的需重啟才可完成漏洞修復(fù)過程,而影響用戶體驗(yàn)的問題。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本申請(qǐng)?zhí)峁┮环N操作系統(tǒng)漏洞修復(fù)方法及裝置,以解決現(xiàn)有技術(shù)在漏洞修復(fù)過程中,所產(chǎn)生的漏洞修復(fù)效率低、用戶體驗(yàn)性差的問題。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供的技術(shù)方案如下:
[0006]一種操作系統(tǒng)漏洞修復(fù)方法,包括:
[0007]接收漏洞修復(fù)請(qǐng)求,所述漏洞修復(fù)請(qǐng)求攜帶包含若干個(gè)函數(shù)的函數(shù)列表;
[0008]利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新所述操作系統(tǒng)中的分別與所述函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),以實(shí)現(xiàn)對(duì)所述操作系統(tǒng)的漏洞修復(fù)。
[0009]優(yōu)選的,所述接收漏洞修復(fù)請(qǐng)求的過程為:
[0010]接收用戶輸入的應(yīng)用軟件更新請(qǐng)求,所述應(yīng)用軟件更新請(qǐng)求攜帶新版本應(yīng)用軟件信息;
[0011]向用戶展示所述新版本應(yīng)用軟件信息中攜帶的第一函數(shù)列表中包含的若干個(gè)函數(shù);
[0012]響應(yīng)用戶對(duì)所述函數(shù)的選擇操作,接收用戶輸入的漏洞修復(fù)請(qǐng)求,其中,所述漏洞修復(fù)請(qǐng)求中攜帶包含用戶選擇的各個(gè)所述函數(shù)的函數(shù)列表。
[0013]優(yōu)選的,所述利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新所述操作系統(tǒng)中的分別與所述函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)的過程為:
[0014]針對(duì)所述函數(shù)列表中的每個(gè)函數(shù),利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,查找所述操作系統(tǒng)中與其對(duì)應(yīng)的目標(biāo)函數(shù);以及,
[0015]利用所述函數(shù)替換查找到的所述操作系統(tǒng)中的目標(biāo)函數(shù)。
[0016]優(yōu)選的,還包括:保存被所述函數(shù)更新的所述操作系統(tǒng)中的目標(biāo)函數(shù)。
[0017]優(yōu)選的,還包括:
[0018]接收用戶輸入的第一漏洞修復(fù)回退請(qǐng)求;
[0019]向用戶展示當(dāng)前所述漏洞修復(fù)請(qǐng)求中攜帶的函數(shù)列表中包含的各個(gè)函數(shù);
[0020]響應(yīng)用戶對(duì)所述函數(shù)的選擇操作,接收第二漏洞修復(fù)回退請(qǐng)求,所述第二漏洞修復(fù)回退請(qǐng)求中攜帶包含用戶選擇的各個(gè)函數(shù)的第二函數(shù)列表;
[0021]針對(duì)所述第二函數(shù)列表中攜帶的各個(gè)函數(shù),利用與所述函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),替換通過所述HOOK機(jī)制查找到的所述操作系統(tǒng)中與所述函數(shù)對(duì)應(yīng)的第一目標(biāo)函數(shù)。
[0022]一種操作系統(tǒng)漏洞修復(fù)裝置,包括:
[0023]請(qǐng)求接收單元,用于接收漏洞修復(fù)請(qǐng)求,所述漏洞修復(fù)請(qǐng)求攜帶包含若干個(gè)函數(shù)的函數(shù)列表;
[0024]漏洞修復(fù)單元,用于利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新所述操作系統(tǒng)中的分別與所述函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),以實(shí)現(xiàn)對(duì)所述操作系統(tǒng)的漏洞修復(fù)。
[0025]優(yōu)選的,所述請(qǐng)求接收單元包括:
[0026]第一請(qǐng)求接收單元,用于接收用戶輸入的應(yīng)用軟件更新請(qǐng)求,所述應(yīng)用軟件更新請(qǐng)求攜帶新版本應(yīng)用軟件信息;
[0027]第一展示單元,用于向用戶展示所述新版本應(yīng)用軟件信息中攜帶的第一函數(shù)列表中包含的若干個(gè)函數(shù);
[0028]第二請(qǐng)求接收單元,用于響應(yīng)用戶對(duì)所述函數(shù)的選擇操作,接收用戶輸入的漏洞修復(fù)請(qǐng)求,其中,所述漏洞修復(fù)請(qǐng)求中攜帶包含用戶選擇的各個(gè)所述函數(shù)的函數(shù)列表。
[0029]優(yōu)選的,所述漏洞修復(fù)單元包括:
[0030]查找單元,用于針對(duì)所述函數(shù)列表中的每個(gè)函數(shù),利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,查找所述操作系統(tǒng)中與其對(duì)應(yīng)的目標(biāo)函數(shù);
[0031]替換單元,用于利用所述函數(shù)替換查找到的所述操作系統(tǒng)中的目標(biāo)函數(shù)。
[0032]優(yōu)選的,還包括:
[0033]保存單元,用于保存被所述函數(shù)更新的所述操作系統(tǒng)中的目標(biāo)函數(shù)。
[0034]優(yōu)選的,還包括:第三請(qǐng)求接收單元、第二展示單元、第四請(qǐng)求接收單元和漏洞修復(fù)回退單元,其中:
[0035]所述第三請(qǐng)求接收單元,用于接收用戶輸入的第一漏洞修復(fù)回退請(qǐng)求;
[0036]所述第二展示單元,用于向用戶展示當(dāng)前所述漏洞修復(fù)請(qǐng)求中攜帶的函數(shù)列表中包含的各個(gè)函數(shù);
[0037]所述第四請(qǐng)求接收單元,用于響應(yīng)用戶對(duì)所述函數(shù)的選擇操作,接收第二漏洞修復(fù)回退請(qǐng)求,所述第二漏洞修復(fù)回退請(qǐng)求中攜帶包含用戶選擇的各個(gè)函數(shù)的第二函數(shù)列表;
[0038]所述漏洞修復(fù)回退單元,用于針對(duì)所述第二函數(shù)列表中攜帶的各個(gè)函數(shù),利用與所述函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),替換通過所述HOOK機(jī)制查找到的所述操作系統(tǒng)中與所述函數(shù)對(duì)應(yīng)的第一目標(biāo)函數(shù)。
[0039]本申請(qǐng)?zhí)峁┮环N操作系統(tǒng)漏洞修復(fù)方法及裝置,通過接收攜帶包含若干個(gè)函數(shù)的函數(shù)列表,并利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新操作系統(tǒng)中的分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),以實(shí)現(xiàn)對(duì)操作系統(tǒng)的漏洞修復(fù)。本申請(qǐng)通過使用函數(shù)列表,及利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制更新操作系統(tǒng)中分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)的方式,避免了現(xiàn)有技術(shù)需下載較大的升級(jí)包(0TA包/刷機(jī)包)以及需重啟才可完成漏洞修復(fù)過程,而產(chǎn)生的漏洞修復(fù)效率低、用戶體驗(yàn)性差的問題。
【專利附圖】
【附圖說明】
[0040]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0041]圖1為本申請(qǐng)實(shí)施例一提供的一種操作系統(tǒng)漏洞修復(fù)方法流程圖;
[0042]圖2為本申請(qǐng)實(shí)施例二提供的一種接收漏洞修復(fù)請(qǐng)求的方法流程圖;
[0043]圖3為本申請(qǐng)實(shí)施例三提供的一種利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新操作系統(tǒng)中的分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)的方法流程圖;
[0044]圖4為本申請(qǐng)實(shí)施例四提供的一種操作系統(tǒng)漏洞修復(fù)回退方法流程圖;
[0045]圖5為本申請(qǐng)實(shí)施例五提供的一種操作系統(tǒng)漏洞修復(fù)裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0046]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0047]實(shí)施例一:
[0048]圖1為本申請(qǐng)實(shí)施例一提供的一種操作系統(tǒng)漏洞修復(fù)方法流程圖。
[0049]如圖1所示,該方法包括:
[0050]S101、接收漏洞修復(fù)請(qǐng)求,漏洞修復(fù)請(qǐng)求攜帶包含若干個(gè)函數(shù)的函數(shù)列表。
[0051]在本申請(qǐng)實(shí)施例中,優(yōu)選的,首先接收用戶輸入的漏洞修復(fù)請(qǐng)求,該漏洞修復(fù)請(qǐng)求中攜帶函數(shù)列表,該函數(shù)列表中包含若干個(gè)函數(shù)。
[0052]S102、利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新操作系統(tǒng)中的分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),以實(shí)現(xiàn)對(duì)操作系統(tǒng)的漏洞修復(fù)。
[0053]在本申請(qǐng)實(shí)施例中,優(yōu)選的,預(yù)先在操作系統(tǒng)中設(shè)置有HOOK機(jī)制,通過該HOOK機(jī)制可更新操作系統(tǒng)中的分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),進(jìn)而實(shí)現(xiàn)對(duì)操作系統(tǒng)的漏洞修復(fù)。
[0054]在本申請(qǐng)實(shí)施例中,優(yōu)選的,在操作系統(tǒng)中設(shè)置HOOK機(jī)制的方法為:將操作系統(tǒng)中原有虛擬機(jī)替換為帶有HOOK機(jī)制的虛擬機(jī)。
[0055]在本申請(qǐng)實(shí)施例中,優(yōu)選的,虛擬機(jī)為一個(gè)文件,將操作系統(tǒng)中原有虛擬機(jī)替換為帶有HOOK機(jī)制的虛擬機(jī)的過程為:在原有虛擬機(jī)的文件中插入HOOK機(jī)制程序代碼生成一個(gè)新文件,該新文件即為替換操作系統(tǒng)中原有虛擬機(jī)的帶有HOOK機(jī)制的虛擬機(jī)的文件。
[0056]在本申請(qǐng)實(shí)施例中,優(yōu)選的,虛擬機(jī)為一個(gè)文件,僅僅是本申請(qǐng)實(shí)施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求任意設(shè)定虛擬機(jī)的表現(xiàn)形式,在此不做限定。
[0057]具體的,Hook機(jī)制是一種用以替換DOS下“中斷”的系統(tǒng)機(jī)制,中文譯為“掛鉤”或“鉤子”。在對(duì)特定的系統(tǒng)事件進(jìn)行hook后,一旦發(fā)生已hook事件,對(duì)該事件進(jìn)行hook的程序就會(huì)受到系統(tǒng)的通知,這時(shí)程序就能在第一時(shí)間對(duì)該事件做出響應(yīng)。具體的,HOOK機(jī)制的工作原理請(qǐng)參見現(xiàn)有技術(shù),在此不做詳細(xì)介紹。
[0058]在本申請(qǐng)實(shí)施例中,優(yōu)選的,操作系統(tǒng)為安卓系統(tǒng)。
[0059]以上僅僅是本申請(qǐng)實(shí)施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求任意設(shè)置操作系統(tǒng)的具體表現(xiàn)形式,如:windows等,在此不做限定。
[0060]本申請(qǐng)?zhí)峁┮环N操作系統(tǒng)漏洞修復(fù)方法,通過接收攜帶包含若干個(gè)函數(shù)的函數(shù)列表,并利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新操作系統(tǒng)中的分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),以實(shí)現(xiàn)對(duì)操作系統(tǒng)的漏洞修復(fù)。本申請(qǐng)通過使用函數(shù)列表,及利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制更新操作系統(tǒng)中分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)的方式,避免了現(xiàn)有技術(shù)需下載較大的升級(jí)包(0TA包/刷機(jī)包)以及需重啟才可完成漏洞修復(fù)過程,而產(chǎn)生的漏洞修復(fù)效率低、用戶體驗(yàn)性差的問題。
[0061]實(shí)施例二:
[0062]為了使得本申請(qǐng)實(shí)施例提供的一種操作系統(tǒng)漏洞修復(fù)方法更加清晰、便于本領(lǐng)域技術(shù)人員理解,在此提供一種在操作系統(tǒng)漏洞修復(fù)過程中的接收漏洞修復(fù)請(qǐng)求的方法流程圖,請(qǐng)參見圖2。
[0063]如圖2所示,本申請(qǐng)實(shí)施例二提供的一種接收漏洞修復(fù)請(qǐng)求的方法包括:
[0064]S201、接收用戶輸入的應(yīng)用軟件更新請(qǐng)求,應(yīng)用軟件更新請(qǐng)求攜帶新版本應(yīng)用軟件信息。
[0065]在本申請(qǐng)實(shí)施例中,優(yōu)選的,將提供的操作系統(tǒng)漏洞修復(fù)方案綁定在應(yīng)用軟件更新上,當(dāng)操作系統(tǒng)運(yùn)維人員需要修復(fù)操作系統(tǒng)的漏洞時(shí),往往通過下發(fā)新版本應(yīng)用軟件的方式實(shí)現(xiàn),即:下發(fā)新版本應(yīng)用軟件,并將操作系統(tǒng)漏洞修復(fù)過程中需要修復(fù)的各個(gè)函數(shù)組成的第一函數(shù)列表作為該新版本應(yīng)用軟件的新版本應(yīng)用軟件信息。
[0066]當(dāng)用戶需輸入漏洞修復(fù)請(qǐng)求時(shí),首先需通過操作系統(tǒng)界面輸入相應(yīng)的應(yīng)用軟件更新請(qǐng)求,該應(yīng)用軟件更新請(qǐng)求中攜帶新版本應(yīng)用軟件信息。
[0067]S202、向用戶展示新版本應(yīng)用軟件信息中攜帶的第一函數(shù)列表中包含的若干個(gè)函數(shù)。
[0068]S203、響應(yīng)用戶對(duì)函數(shù)的選擇操作,接收用戶輸入的漏洞修復(fù)請(qǐng)求,其中,漏洞修復(fù)請(qǐng)求中攜帶包含用戶選擇的各個(gè)函數(shù)的函數(shù)列表。
[0069]在本申請(qǐng)實(shí)施例中,優(yōu)選的,當(dāng)向用戶展示新版本應(yīng)用軟件信息中攜帶的第一函數(shù)列表中包含的各個(gè)函數(shù)后,可響應(yīng)用戶對(duì)函數(shù)的選擇操作,接收用戶輸入的漏洞修復(fù)請(qǐng)求,在該漏洞修復(fù)請(qǐng)求中攜帶函數(shù)列表,該函數(shù)列表中包含用戶選擇的各個(gè)函數(shù)。
[0070]通過上述對(duì)接收漏洞修復(fù)請(qǐng)求的方式的介紹,使得本申請(qǐng)實(shí)施例提供的一種操作系統(tǒng)漏洞修復(fù)方法更加清晰、完整。但是,本領(lǐng)域技術(shù)人員應(yīng)用知道的是,以上僅僅是本申請(qǐng)實(shí)施例提供的一種接收漏洞修復(fù)請(qǐng)求的優(yōu)選方式,發(fā)明人還可根據(jù)自己的需求任意設(shè)置接收漏洞修復(fù)請(qǐng)求的方式,在此不做限定。
[0071]實(shí)施例三:
[0072]為了使得本申請(qǐng)實(shí)施例提供的一種操作系統(tǒng)漏洞修復(fù)方法更加清晰、便于本領(lǐng)域技術(shù)人員理解,在此提供一種在操作系統(tǒng)漏洞修復(fù)過程中的利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新操作系統(tǒng)中的分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)的方法流程圖,請(qǐng)參見圖3。
[0073]如圖3所示,本申請(qǐng)實(shí)施例提供的一種利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新操作系統(tǒng)中的分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)的方法包括:
[0074]S301、針對(duì)函數(shù)列表中的每個(gè)函數(shù),利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,查找操作系統(tǒng)中與其對(duì)應(yīng)的目標(biāo)函數(shù)。
[0075]在本申請(qǐng)實(shí)施例中,優(yōu)選的,在操作系統(tǒng)中預(yù)先設(shè)置有HOOK機(jī)制,利用該HOOK機(jī)制可以查找操作系統(tǒng)中與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)。
[0076]在本申請(qǐng)實(shí)施例中,優(yōu)選的,HOOK機(jī)制可通過函數(shù)名查找分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),即:針對(duì)函數(shù)列表中的每個(gè)函數(shù),通過HOOK機(jī)制查找操作系統(tǒng)中函數(shù)名與該函數(shù)的函數(shù)名相同的函數(shù)作為目標(biāo)函數(shù)。
[0077]S302、利用函數(shù)替換查找到的操作系統(tǒng)中的目標(biāo)函數(shù)。
[0078]在本申請(qǐng)實(shí)施例中,優(yōu)選的,當(dāng)查找到操作系統(tǒng)中與函數(shù)列表中的函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)后,將該函數(shù)列表中的函數(shù)替換該操作系統(tǒng)中的目標(biāo)函數(shù)。
[0079]在本申請(qǐng)實(shí)施例中,優(yōu)選的,針對(duì)函數(shù)列表中的每個(gè)函數(shù),利用HOOK機(jī)制查找出操作系統(tǒng)中與其對(duì)應(yīng)的目標(biāo)函數(shù)后,就將該函數(shù)替換操作系統(tǒng)中的目標(biāo)函數(shù);也可針對(duì)函數(shù)列表中的所有函數(shù),均利用HOOK機(jī)制查找出與其對(duì)應(yīng)的目標(biāo)函數(shù)后,在分別利用每個(gè)函數(shù)替換操作系統(tǒng)中與其對(duì)應(yīng)的目標(biāo)函數(shù),以上僅僅是本申請(qǐng)實(shí)施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求任意設(shè)定利用HOOK機(jī)制查找與函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),以及利用函數(shù)替換目標(biāo)函數(shù)的順序,在此不做限定。
[0080]通過上述對(duì)利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新操作系統(tǒng)中的分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)的方式的介紹,使得本申請(qǐng)實(shí)施例提供的一種操作系統(tǒng)漏洞修復(fù)方法更加清晰、完整。但是,本領(lǐng)域技術(shù)人員應(yīng)用知道的是,以上僅僅是本申請(qǐng)實(shí)施例提供的一種利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新操作系統(tǒng)中的分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)的優(yōu)選方式,發(fā)明人還可根據(jù)自己的需求任意設(shè)置利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新操作系統(tǒng)中的分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)的方式,在此不做限定。
[0081]實(shí)施例四:
[0082]本申請(qǐng)實(shí)施例四提供一種操作系統(tǒng)漏洞修復(fù)方法,其在上述實(shí)施例提供的漏洞修復(fù)方法的基礎(chǔ)上進(jìn)一步包括:保存被函數(shù)更新的操作系統(tǒng)中的目標(biāo)函數(shù)。
[0083]在本申請(qǐng)實(shí)施例中,優(yōu)選的,保存操作系統(tǒng)中被函數(shù)列表中的函數(shù)替換的目標(biāo)函數(shù)。
[0084]本申請(qǐng)實(shí)施例四提供的一種操作系統(tǒng)漏洞修復(fù)方法,在上述提供的漏洞修復(fù)方法的基礎(chǔ)上進(jìn)一步包括一種漏洞修復(fù)回退方法,請(qǐng)參見圖4。
[0085]如圖4所示,本申請(qǐng)實(shí)施例提供的一種操作系統(tǒng)漏洞修復(fù)回退方法包括:
[0086]S401、接收用戶輸入的第一漏洞修復(fù)回退請(qǐng)求。
[0087]在本申請(qǐng)實(shí)施例中,優(yōu)選的,當(dāng)完成上述實(shí)施例提供的漏洞修復(fù)過程后,若用戶對(duì)操作系統(tǒng)中某些進(jìn)行漏洞修復(fù)后的函數(shù)不滿意,還可通過本申請(qǐng)實(shí)施例提供的漏洞修復(fù)回退方法,將操作系統(tǒng)中修復(fù)后的函數(shù)回退到修復(fù)之前。
[0088]當(dāng)用戶需要進(jìn)行漏洞修復(fù)回退過程時(shí),首先需要輸入第一漏洞修復(fù)回退請(qǐng)求。
[0089]S402、向用戶展示當(dāng)前漏洞修復(fù)請(qǐng)求中攜帶的函數(shù)列表中包含的各個(gè)函數(shù)。
[0090]在本申請(qǐng)實(shí)施例中,優(yōu)選的,當(dāng)接收到用戶輸入的第一漏洞修復(fù)回退請(qǐng)求后,首先需向用戶展示當(dāng)前漏洞修復(fù)請(qǐng)求中攜帶的函數(shù)列表中包含的各個(gè)函數(shù),也即:最近一次漏洞修復(fù)請(qǐng)求中攜帶的函數(shù)列表中包含的各個(gè)函數(shù)。
[0091]S403、響應(yīng)用戶對(duì)函數(shù)的選擇操作,接收第二漏洞修復(fù)回退請(qǐng)求,第二漏洞修復(fù)回退請(qǐng)求中攜帶包含用戶選擇的各個(gè)函數(shù)的第二函數(shù)列表。
[0092]在本申請(qǐng)實(shí)施例中,優(yōu)選的,第二漏洞修復(fù)回退請(qǐng)求可以是執(zhí)彳丁完成S401-S402后,通過執(zhí)行S403接收到的;還可以是直接接收到的用戶輸入的第二漏洞修復(fù)回退請(qǐng)求,該第二漏洞修復(fù)回退請(qǐng)求中攜帶一個(gè)函數(shù)列表(該函數(shù)列表可看成步驟S403中的第二函數(shù)列表),并且在該函數(shù)列表中包含若干個(gè)函數(shù)(這里的函數(shù)可看成步驟S403中的第二函數(shù)列表中包含的用戶選擇的函數(shù))。
[0093]當(dāng)?shù)诙┒葱迯?fù)回退請(qǐng)求是直接接收到的用戶輸入的請(qǐng)求時(shí),可直接利用該第二漏洞修復(fù)回退請(qǐng)求執(zhí)行步驟S404。
[0094]S404、針對(duì)第二函數(shù)列表中攜帶的各個(gè)函數(shù),利用與函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),替換通過HOOK機(jī)制查找到的操作系統(tǒng)中與函數(shù)對(duì)應(yīng)的第一目標(biāo)函數(shù)。
[0095]在本申請(qǐng)實(shí)施例中,優(yōu)選的,針對(duì)第二函數(shù)列表中攜帶的各個(gè)函數(shù),利用HOOK機(jī)制查找操作系統(tǒng)中與其對(duì)應(yīng)的第一目標(biāo)函數(shù)(該第一目標(biāo)函數(shù)為:上述在進(jìn)行漏洞修復(fù)過程中,替換操作系統(tǒng)中的目標(biāo)函數(shù)的函數(shù)列表中的函數(shù)),進(jìn)而利用與該函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)(與該函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)為:上述進(jìn)行漏洞修復(fù)過程中,利用HOOK機(jī)制查找到的操作系統(tǒng)中與函數(shù)列表中的函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù))替換第一目標(biāo)函數(shù)。
[0096]通過上述對(duì)漏洞修復(fù)回退方法的介紹,使得本申請(qǐng)實(shí)施例提供的一種操作系統(tǒng)漏洞修復(fù)方法更加清晰、完整。但是,本領(lǐng)域技術(shù)人員應(yīng)用知道的是,以上僅僅是本申請(qǐng)實(shí)施例提供的一種漏洞修復(fù)回退方法的優(yōu)選方式,發(fā)明人還可根據(jù)自己的需求任意設(shè)置漏洞修復(fù)回退方法的具體方式,在此不做限定。
[0097]實(shí)施例五:
[0098]圖5為本申請(qǐng)實(shí)施例五提供的一種操作系統(tǒng)漏洞修復(fù)裝置的結(jié)構(gòu)示意圖。
[0099]如圖5所示,該裝置包括:
[0100]請(qǐng)求接收單元1,用于接收漏洞修復(fù)請(qǐng)求,漏洞修復(fù)請(qǐng)求攜帶包含若干個(gè)函數(shù)的函數(shù)列表;
[0101]漏洞修復(fù)單元2,用于利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新操作系統(tǒng)中的分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),以實(shí)現(xiàn)對(duì)操作系統(tǒng)的漏洞修復(fù)。
[0102]在本申請(qǐng)實(shí)施例中,優(yōu)選的,請(qǐng)求接收單元包括:第一請(qǐng)求接收單元,用于接收用戶輸入的應(yīng)用軟件更新請(qǐng)求,應(yīng)用軟件更新請(qǐng)求攜帶新版本應(yīng)用軟件信息;第一展示單元,用于向用戶展示新版本應(yīng)用軟件信息中攜帶的第一函數(shù)列表中包含的若干個(gè)函數(shù);第二請(qǐng)求接收單元,用于響應(yīng)用戶對(duì)函數(shù)的選擇操作,接收用戶輸入的漏洞修復(fù)請(qǐng)求,其中,漏洞修復(fù)請(qǐng)求中攜帶包含用戶選擇的各個(gè)函數(shù)的函數(shù)列表。
[0103]在本申請(qǐng)實(shí)施例中,優(yōu)選的,漏洞修復(fù)單元包括:查找單元,用于針對(duì)函數(shù)列表中的每個(gè)函數(shù),利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,查找操作系統(tǒng)中與其對(duì)應(yīng)的目標(biāo)函數(shù);替換單元,用于利用函數(shù)替換查找到的操作系統(tǒng)中的目標(biāo)函數(shù)。
[0104]進(jìn)一步的,在本申請(qǐng)實(shí)施例提供的一種漏洞修復(fù)裝置中,還包括:保存單元,用于保存被函數(shù)更新的操作系統(tǒng)中的目標(biāo)函數(shù)。
[0105]進(jìn)一步的,在本申請(qǐng)實(shí)施例提供的一種漏洞修復(fù)裝置中,還包括第三請(qǐng)求接收單元、第二展示單元、第四請(qǐng)求接收單元和漏洞修復(fù)回退單元,其中:
[0106]所述第三請(qǐng)求接收單元,用于接收用戶輸入的第一漏洞修復(fù)回退請(qǐng)求;
[0107]所述第二展示單元,用于向用戶展示當(dāng)前所述漏洞修復(fù)請(qǐng)求中攜帶的函數(shù)列表中包含的各個(gè)函數(shù);
[0108]所述第四請(qǐng)求接收單元,用于響應(yīng)用戶對(duì)所述函數(shù)的選擇操作,接收第二漏洞修復(fù)回退請(qǐng)求,所述第二漏洞修復(fù)回退請(qǐng)求中攜帶包含用戶選擇的各個(gè)函數(shù)的第二函數(shù)列表;
[0109]所述漏洞修復(fù)回退單元,用于針對(duì)所述第二函數(shù)列表中攜帶的各個(gè)函數(shù),利用與所述函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),替換通過所述HOOK機(jī)制查找到的所述操作系統(tǒng)中與所述函數(shù)對(duì)應(yīng)的第一目標(biāo)函數(shù)。
[0110]在本申請(qǐng)實(shí)施例中,優(yōu)選的,第四請(qǐng)求接收單元還可直接用于接收用戶輸入的第二漏洞修復(fù)回退請(qǐng)求,該第二漏洞修復(fù)回退請(qǐng)求中攜帶函數(shù)列表(該函數(shù)列表可看成第二函數(shù)列表),該函數(shù)列表中包含若干個(gè)函數(shù)(該函數(shù)可看成第二函數(shù)列表中包含的用戶選擇的函數(shù))。
[0111]本申請(qǐng)?zhí)峁┮环N操作系統(tǒng)漏洞修復(fù)裝置,通過接收攜帶包含若干個(gè)函數(shù)的函數(shù)列表,并利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新操作系統(tǒng)中的分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),以實(shí)現(xiàn)對(duì)操作系統(tǒng)的漏洞修復(fù)。本申請(qǐng)通過使用函數(shù)列表,及利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制更新操作系統(tǒng)中分別與函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)的方式,避免了現(xiàn)有技術(shù)需下載較大的升級(jí)包(0TA包/刷機(jī)包)以及需重啟才可完成漏洞修復(fù)過程,而產(chǎn)生的漏洞修復(fù)效率低、用戶體驗(yàn)性差的問題。
[0112]本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
[0113]以上僅是本申請(qǐng)的優(yōu)選實(shí)施方式,使本領(lǐng)域技術(shù)人員能夠理解或?qū)崿F(xiàn)本申請(qǐng)。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本申請(qǐng)的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本申請(qǐng)將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
【權(quán)利要求】
1.一種操作系統(tǒng)漏洞修復(fù)方法,其特征在于,包括: 接收漏洞修復(fù)請(qǐng)求,所述漏洞修復(fù)請(qǐng)求攜帶包含若干個(gè)函數(shù)的函數(shù)列表; 利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新所述操作系統(tǒng)中的分別與所述函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),以實(shí)現(xiàn)對(duì)所述操作系統(tǒng)的漏洞修復(fù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收漏洞修復(fù)請(qǐng)求的過程為: 接收用戶輸入的應(yīng)用軟件更新請(qǐng)求,所述應(yīng)用軟件更新請(qǐng)求攜帶新版本應(yīng)用軟件信息; 向用戶展示所述新版本應(yīng)用軟件信息中攜帶的第一函數(shù)列表中包含的若干個(gè)函數(shù);響應(yīng)用戶對(duì)所述函數(shù)的選擇操作,接收用戶輸入的漏洞修復(fù)請(qǐng)求,其中,所述漏洞修復(fù)請(qǐng)求中攜帶包含用戶選擇的各個(gè)所述函數(shù)的函數(shù)列表。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新所述操作系統(tǒng)中的分別與所述函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)的過程為: 針對(duì)所述函數(shù)列表中的每個(gè)函數(shù),利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,查找所述操作系統(tǒng)中與其對(duì)應(yīng)的目標(biāo)函數(shù);以及, 利用所述函數(shù)替換查找到的所述操作系統(tǒng)中的目標(biāo)函數(shù)。
4.根據(jù)權(quán)利要求1-3任意一項(xiàng)所述的方法,其特征在于,還包括:保存被所述函數(shù)更新的所述操作系統(tǒng)中的目標(biāo)函數(shù)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括: 接收用戶輸入的第一漏洞修復(fù)回退請(qǐng)求; 向用戶展示當(dāng)前所述漏洞修復(fù)請(qǐng)求中攜帶的函數(shù)列表中包含的各個(gè)函數(shù); 響應(yīng)用戶對(duì)所述函數(shù)的選擇操作,接收第二漏洞修復(fù)回退請(qǐng)求,所述第二漏洞修復(fù)回退請(qǐng)求中攜帶包含用戶選擇的各個(gè)函數(shù)的第二函數(shù)列表; 針對(duì)所述第二函數(shù)列表中攜帶的各個(gè)函數(shù),利用與所述函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),替換通過所述HOOK機(jī)制查找到的所述操作系統(tǒng)中與所述函數(shù)對(duì)應(yīng)的第一目標(biāo)函數(shù)。
6.一種操作系統(tǒng)漏洞修復(fù)裝置,其特征在于,包括: 請(qǐng)求接收單元,用于接收漏洞修復(fù)請(qǐng)求,所述漏洞修復(fù)請(qǐng)求攜帶包含若干個(gè)函數(shù)的函數(shù)列表; 漏洞修復(fù)單元,用于利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,更新所述操作系統(tǒng)中的分別與所述函數(shù)列表中的每個(gè)函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),以實(shí)現(xiàn)對(duì)所述操作系統(tǒng)的漏洞修復(fù)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述請(qǐng)求接收單元包括: 第一請(qǐng)求接收單元,用于接收用戶輸入的應(yīng)用軟件更新請(qǐng)求,所述應(yīng)用軟件更新請(qǐng)求攜帶新版本應(yīng)用軟件信息; 第一展示單元,用于向用戶展示所述新版本應(yīng)用軟件信息中攜帶的第一函數(shù)列表中包含的若干個(gè)函數(shù); 第二請(qǐng)求接收單元,用于響應(yīng)用戶對(duì)所述函數(shù)的選擇操作,接收用戶輸入的漏洞修復(fù)請(qǐng)求,其中,所述漏洞修復(fù)請(qǐng)求中攜帶包含用戶選擇的各個(gè)所述函數(shù)的函數(shù)列表。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述漏洞修復(fù)單元包括: 查找單元,用于針對(duì)所述函數(shù)列表中的每個(gè)函數(shù),利用預(yù)先設(shè)置在操作系統(tǒng)中的HOOK機(jī)制,查找所述操作系統(tǒng)中與其對(duì)應(yīng)的目標(biāo)函數(shù); 替換單元,用于利用所述函數(shù)替換查找到的所述操作系統(tǒng)中的目標(biāo)函數(shù)。
9.根據(jù)權(quán)利要求6-8任意一項(xiàng)所述的裝置,其特征在于,還包括: 保存單元,用于保存被所述函數(shù)更新的所述操作系統(tǒng)中的目標(biāo)函數(shù)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括:第三請(qǐng)求接收單元、第二展示單元、第四請(qǐng)求接收單元和漏洞修復(fù)回退單元,其中: 所述第三請(qǐng)求接收單元,用于接收用戶輸入的第一漏洞修復(fù)回退請(qǐng)求; 所述第二展示單元,用于向用戶展示當(dāng)前所述漏洞修復(fù)請(qǐng)求中攜帶的函數(shù)列表中包含的各個(gè)函數(shù); 所述第四請(qǐng)求接收單元,用于響應(yīng)用戶對(duì)所述函數(shù)的選擇操作,接收第二漏洞修復(fù)回退請(qǐng)求,所述第二漏洞修復(fù)回退請(qǐng)求中攜帶包含用戶選擇的各個(gè)函數(shù)的第二函數(shù)列表; 所述漏洞修復(fù)回退單元,用于針對(duì)所述第二函數(shù)列表中攜帶的各個(gè)函數(shù),利用與所述函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù),替換通過所述HOOK機(jī)制查找到的所述操作系統(tǒng)中與所述函數(shù)對(duì)應(yīng)的第一目標(biāo)函數(shù)。
【文檔編號(hào)】G06F21/57GK104504341SQ201510030642
【公開日】2015年4月8日 申請(qǐng)日期:2015年1月21日 優(yōu)先權(quán)日:2015年1月21日
【發(fā)明者】宋祎斐 申請(qǐng)人:聯(lián)想(北京)有限公司