本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,特別涉及一種可執(zhí)行文件的控制方法和裝置。
背景技術(shù):
隨著科學(xué)技術(shù)的發(fā)展,計算機(jī)越來越普及,應(yīng)用程序的種類越來越多,并且越來越復(fù)雜。但是,應(yīng)用程序的質(zhì)量良莠不齊,某些惡意的應(yīng)用程序嵌入非法代碼、執(zhí)行文件被篡改等,對系統(tǒng)服務(wù)器進(jìn)行惡意攻擊。
目前,為了防止惡意程序的攻擊,通常需要對待執(zhí)行的應(yīng)用程序(即,可執(zhí)行文件)進(jìn)行控制,以禁止執(zhí)行惡意應(yīng)用程序。具體地,可通過防火墻、殺毒軟件等來實(shí)現(xiàn)對待執(zhí)行的應(yīng)用程序進(jìn)行控制。
但是,隨著惡意應(yīng)用程序的復(fù)雜性越來越高,且攻擊方式不斷變化,防火墻、殺毒軟件等也就很難實(shí)現(xiàn)對惡意應(yīng)用程序進(jìn)行控制無法有效防止惡意可執(zhí)行文件的攻擊。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種可執(zhí)行文件的控制方法和裝置,能更為有效地防止惡意可執(zhí)行文件的攻擊。
第一方面,本發(fā)明實(shí)施例提供了一種可執(zhí)行文件的控制方法,該控制方法包括:確定至少一個可執(zhí)行文件,并計算每一個所述可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值;
在接收到待執(zhí)行文件的執(zhí)行請求時,判斷確定的所述至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同;
當(dāng)存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同時,計算所述待執(zhí)行文件的訪問摘要值;
根據(jù)所述目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值,以及所述訪問摘要值,確定是否允許執(zhí)行所述待執(zhí)行文件。
優(yōu)選地,所述根據(jù)所述目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值,以及所述訪問摘要值,確定是否執(zhí)行所述待執(zhí)行文件,包括:
判斷所述目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值和所述訪問摘要值是否相同,若是,則允許執(zhí)行所述待執(zhí)行文件;否則,禁止執(zhí)行所述待執(zhí)行文件。
優(yōu)選地,在所述確定至少一個可執(zhí)行文件,并計算每一個所述可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值之后,進(jìn)一步包括:
確定每一個所述可執(zhí)行文件對應(yīng)的文件名;
將每一個所述可執(zhí)行文件對應(yīng)的文件名,以及每一個所述可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值進(jìn)行存儲;
所述判斷確定的所述至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同,包括:
解析接收的所述執(zhí)行請求,以獲取所述待執(zhí)行文件對應(yīng)的文件名;
判斷確定的所述至少一個可執(zhí)行文件對應(yīng)的每一個文件名中是否存在一個目標(biāo)文件名與所述待執(zhí)行文件對應(yīng)的文件名相同。
優(yōu)選地,預(yù)先設(shè)置緩存模塊;
在所述待執(zhí)行文件被允許執(zhí)行時,利用所述緩存模塊記錄所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)為0;
在所述待執(zhí)行文件被禁止執(zhí)行時,利用所述緩存模塊記錄所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)加1。
優(yōu)選地,在所述判斷確定的所述至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同之前,還包括:
確定所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù);
當(dāng)所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)小于預(yù)設(shè)閾值時,執(zhí)行所述判斷確定的所述至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同。
優(yōu)選地,禁止修改確定的所述至少一個可執(zhí)行文件、以及禁止重命名確定的所述至少一個可執(zhí)行文件對應(yīng)的文件名。
第二方面,本發(fā)明實(shí)施例提供了一種可執(zhí)行文件的控制裝置,該控制裝置包括:確定單元、判斷單元、計算單元和處理單元,其中,
所述確定單元,用于確定至少一個可執(zhí)行文件,并計算每一個所述可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值;
所述判斷單元,用于在接收到待執(zhí)行文件的執(zhí)行請求時,判斷確定的所述至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同;
所述計算單元,用于當(dāng)存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同時,計算所述待執(zhí)行文件的訪問摘要值;
所述處理單元,用于根據(jù)所述目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值,以及所述訪問摘要值,確定是否允許執(zhí)行所述待執(zhí)行文件。
優(yōu)選地,所述處理單元,用于判斷所述目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值和所述訪問摘要值是否相同,若是,則允許執(zhí)行所述待執(zhí)行文件;否則,禁止執(zhí)行所述待執(zhí)行文件。
優(yōu)選地,該可執(zhí)行文件的控制裝置進(jìn)一步包括:命名單元和存儲單元,其中,
所述命名單元,用于確定每一個所述可執(zhí)行文件對應(yīng)的文件名;
所述存儲單元,用于將每一個所述可執(zhí)行文件對應(yīng)的文件名,以及每一個所述可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值進(jìn)行存儲;
所述判斷單元,用于解析接收的所述執(zhí)行請求,以獲取所述待執(zhí)行文件對應(yīng)的文件名;判斷確定的所述至少一個可執(zhí)行文件對應(yīng)的每一個文件名中是否存在一個目標(biāo)文件名與所述待執(zhí)行文件對應(yīng)的文件名相同。
優(yōu)選地,該可執(zhí)行文件的控制裝置進(jìn)一步包括:緩存單元,用于在所述待執(zhí)行文件被允許執(zhí)行時,利用所述緩存模塊記錄所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)為0;在所述待執(zhí)行文件被禁止執(zhí)行時,利用所述緩存模塊記錄所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)加1。
優(yōu)選地,該可執(zhí)行文件的控制裝置進(jìn)一步包括:篩選單元,用于確定所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù);當(dāng)所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)小于預(yù)設(shè)閾值時,執(zhí)行所述判斷確定的所述至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同。
優(yōu)選地,該可執(zhí)行文件的控制裝置進(jìn)一步包括:禁止單元,用于禁止修改確定的所述至少一個可執(zhí)行文件、以及禁止重命名確定的所述至少一個可執(zhí)行文件對應(yīng)的文件名。
本發(fā)明實(shí)施例提供了一種可執(zhí)行文件的控制方法和裝置,通過確定至少一個可執(zhí)行文件,并計算每一個可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值,在接收到待執(zhí)行文件的執(zhí)行請求時,判斷確定的至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與待執(zhí)行文件相同,當(dāng)存在一個目標(biāo)可執(zhí)行文件與待執(zhí)行文件相同時,計算待執(zhí)行文件的訪問摘要值,根據(jù)目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值,以及訪問摘要值,確定是否允許執(zhí)行待執(zhí)行文件。由于不采用傳統(tǒng)的防火墻、殺毒軟件等對待執(zhí)行文件進(jìn)行控制,而是直接與可執(zhí)行文件,以及可執(zhí)行文件對應(yīng)的摘要值進(jìn)行對比,從而能夠準(zhǔn)確的判斷待執(zhí)行文件是可執(zhí)行文件,還是惡意程序文件。因此,能更為有效地防止惡意可執(zhí)行文件的攻擊。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個實(shí)施例提供的一種可執(zhí)行文件的控制方法;
圖2是本發(fā)明一個實(shí)施例提供的另一種可執(zhí)行文件的控制方法;
圖3是本發(fā)明一個實(shí)施例提供的一種可執(zhí)行文件的控制裝置;
圖4是本發(fā)明一個實(shí)施例提供的另一種可執(zhí)行文件的控制裝置;
圖5是本發(fā)明一個實(shí)施例提供的又一種可執(zhí)行文件的控制裝置;
圖6是本發(fā)明一個實(shí)施例提供的再一種可執(zhí)行文件的控制裝置。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,本發(fā)明實(shí)施例提供了一種可執(zhí)行文件的控制方法,該方法可以包括以下步驟:
步驟101:確定至少一個可執(zhí)行文件,并計算每一個所述可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值。
步驟102:在接收到待執(zhí)行文件的執(zhí)行請求時,判斷確定的所述至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同。
步驟103:當(dāng)存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同時,計算所述待執(zhí)行文件的訪問摘要值。
步驟104:根據(jù)所述目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值,以及所述訪問摘要值,確定是否允許執(zhí)行所述待執(zhí)行文件。
在上述實(shí)施例中,通過確定至少一個可執(zhí)行文件,并計算每一個可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值,在接收到待執(zhí)行文件的執(zhí)行請求時,判斷確定的至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與待執(zhí)行文件相同,當(dāng)存在一個目標(biāo)可執(zhí)行文件與待執(zhí)行文件相同時,計算待執(zhí)行文件的訪問摘要值,根據(jù)目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值,以及訪問摘要值,確定是否允許執(zhí)行待執(zhí)行文件。由于不采用傳統(tǒng)的防火墻、殺毒軟件等對待執(zhí)行文件進(jìn)行控制,而是直接與可執(zhí)行文件,以及可執(zhí)行文件對應(yīng)的摘要值進(jìn)行對比,從而能夠準(zhǔn)確的判斷待執(zhí)行文件是可執(zhí)行文件,還是惡意程序文件。因此,能更為有效地防止惡意可執(zhí)行文件的攻擊。
值得說明的是,可執(zhí)行文件和待執(zhí)行文件可以代表同一個應(yīng)用程序也可以代表不同的應(yīng)用程序。標(biāo)準(zhǔn)摘要值和訪問摘要值可以是MD(Message-Digest Algorithm,消息摘要算法)值,也可以是RIPEMD(RACE Integrity Primitives Evaluation Message Digest,RACE原始完整性校驗消息摘要)值和SHA(Secure Hash Algorithm,安全散列算法)值等等。在確定是否允許執(zhí)行待執(zhí)行文件后,可以發(fā)送相應(yīng)的指令給服務(wù)器,使服務(wù)器完成相應(yīng)的處理。
在本發(fā)明一個實(shí)施例中,為了實(shí)現(xiàn)防止惡意待執(zhí)行文件的攻擊,所述根據(jù)所述目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值,以及所述訪問摘要值,確定是否執(zhí)行所述待執(zhí)行文件,包括:
判斷所述目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值和所述訪問摘要值是否相同,若是,則允許執(zhí)行所述待執(zhí)行文件;否則,禁止執(zhí)行所述待執(zhí)行文件。
在該實(shí)施例中,對于MD5算法具有以下優(yōu)點(diǎn),任意長度的原數(shù)據(jù),算出的MD5值長度都是固定的、從原數(shù)據(jù)計算出MD5值很容易、對原數(shù)據(jù)進(jìn)行任何改動,小到對1個字節(jié)的改動,所得到的MD5值都有很大區(qū)別、已知原數(shù)據(jù)和其MD5值,想找到一個具有相同MD5值的數(shù)據(jù)(即偽造數(shù)據(jù))是非常困難的。因此,標(biāo)準(zhǔn)摘要值和訪問摘要值使用MD5值。由于對原數(shù)據(jù)進(jìn)行任何改動,小到對1個字節(jié)的改動,所得到的MD5值都有很大區(qū)別,所以通過判斷目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值和訪問摘要值是否相同就可以知道待執(zhí)行文件是否被改動,換句話說,判斷文件包含的內(nèi)容是否相同。
在本發(fā)明一個實(shí)施例中,在所述確定至少一個可執(zhí)行文件,并計算每一個所述可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值之后,進(jìn)一步包括:
確定每一個所述可執(zhí)行文件對應(yīng)的文件名;
將每一個所述可執(zhí)行文件對應(yīng)的文件名,以及每一個所述可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值進(jìn)行存儲;
所述判斷確定的所述至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同,包括:
解析接收的所述執(zhí)行請求,以獲取所述待執(zhí)行文件對應(yīng)的文件名;
判斷確定的所述至少一個可執(zhí)行文件對應(yīng)的每一個文件名中是否存在一個目標(biāo)文件名與所述待執(zhí)行文件對應(yīng)的文件名相同。
在該實(shí)施例中,將可執(zhí)行文件的文件名、以及可執(zhí)行文件對應(yīng)的MD5值組成策略下發(fā)到內(nèi)核中,內(nèi)核接收到策略以后做Hash存儲,形成策略庫。當(dāng)要執(zhí)行待執(zhí)行文件時,計算其MD5值,并與下發(fā)的策略進(jìn)行匹配,如果發(fā)現(xiàn)待執(zhí)行文件的MD5值發(fā)生改變或策略庫里查詢不到該待執(zhí)行文件的文件名,則禁止程序運(yùn)行。例如,待執(zhí)行文件的文件名為A,在可執(zhí)行文件中有文件名為A的可執(zhí)行文件,則計算待執(zhí)行文件的MD5值,若待執(zhí)行文件的MD5值與文件名為A的可執(zhí)行文件的MD5值相同,則允許執(zhí)行該待執(zhí)行文件,否則禁止執(zhí)行該待執(zhí)行文件。
值得說明的是,待執(zhí)行文件的MD5值也可以與可執(zhí)行文件對應(yīng)的所有MD5值進(jìn)行一一對比。
在本發(fā)明一個實(shí)施例中,為了加快系統(tǒng)運(yùn)行速度,可以預(yù)先設(shè)置緩存模塊;
在所述待執(zhí)行文件被允許執(zhí)行時,利用所述緩存模塊記錄所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)為0;
在所述待執(zhí)行文件被禁止執(zhí)行時,利用所述緩存模塊記錄所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)加1。
在該實(shí)施例中,通過設(shè)置緩存模塊可以對待執(zhí)行文件的執(zhí)行請求進(jìn)行記錄,能夠通過緩存中記錄加快判斷速度。并且可以將緩存中的記錄生成日志,用戶可以通過查看日志判斷被禁止執(zhí)行的待執(zhí)行文件是否合法,從而決定是否將該待執(zhí)行文件視為可執(zhí)行文件。例如,待執(zhí)行文件C被禁止執(zhí)行,此時記錄待執(zhí)行文件C為1次被禁止執(zhí)行,當(dāng)待執(zhí)行文件C再次進(jìn)行執(zhí)行請求,若此次待執(zhí)行文件C再次被禁止執(zhí)行,則此時記錄待執(zhí)行文件C為2次被禁止執(zhí)行,若此次待執(zhí)行文件C被允許執(zhí)行,則此時記錄待執(zhí)行文件C為0次被禁止執(zhí)行。再如,待執(zhí)行文件D已經(jīng)連續(xù)被禁止執(zhí)行4次,當(dāng)待執(zhí)行文件D再次進(jìn)行執(zhí)行請求,若此次待執(zhí)行文件D再次被禁止執(zhí)行,則記錄待執(zhí)行文件D為5次被禁止執(zhí)行;若此次待執(zhí)行文件D被允許執(zhí)行,則此時記錄待執(zhí)行文件D為0次被禁止執(zhí)行。
在本發(fā)明一個實(shí)施例中,在所述判斷確定的所述至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同之前,還包括:
確定所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù);
當(dāng)所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)小于預(yù)設(shè)閾值時,執(zhí)行所述判斷確定的所述至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同。
在該實(shí)施例中,通過緩存模塊中的記錄,可以確定待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù),并且述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)大于預(yù)設(shè)閾值,則可能是惡意待執(zhí)行文件進(jìn)行攻擊,就直接禁止該待執(zhí)行文件執(zhí)行。預(yù)設(shè)閾值可以根據(jù)用戶需求自行設(shè)定。例如,預(yù)設(shè)閾值為10,在緩存中記錄待執(zhí)行文件B被連續(xù)禁止執(zhí)行的次數(shù)為15,則認(rèn)為待執(zhí)行文件B為惡意攻擊,直接禁止待執(zhí)行文件B執(zhí)行。
在本發(fā)明一個實(shí)施例中,為了保證可執(zhí)行文件的安全性,該可執(zhí)行文件的控制方法還可以進(jìn)一步包括:
禁止修改確定的所述至少一個可執(zhí)行文件、以及禁止重命名確定的所述至少一個可執(zhí)行文件對應(yīng)的文件名。
在該實(shí)施例中,通過禁止修改可執(zhí)行文件可以有效的避免可執(zhí)行文件本惡意篡改,而禁止重命名則可以有效避免判斷文件名是否相同時出現(xiàn)誤差。
如圖2所示,本發(fā)明一個實(shí)施例提供了一種可執(zhí)行文件的控制方法,該方法可以包括以下步驟:
步驟201:確定至少一個可執(zhí)行文件,并計算每一個可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值。
在該步驟中,通過掃描系統(tǒng)上所有執(zhí)行文件,確定可執(zhí)行文件,并計算每一個確定的可執(zhí)行文件的MD5值。
步驟202:確定每一個可執(zhí)行文件對應(yīng)的文件名。
步驟203:將每一個可執(zhí)行文件對應(yīng)的文件名,以及每一個可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值進(jìn)行存儲。
在該步驟中,將可執(zhí)行文件的文件名、以及可執(zhí)行文件對應(yīng)的MD5值組成策略下發(fā)到內(nèi)核中,內(nèi)核接收到策略以后做Hash存儲,形成策略庫。
步驟204:在接收到待執(zhí)行文件的執(zhí)行請求時,解析接收的執(zhí)行請求,以獲取待執(zhí)行文件對應(yīng)的文件名。
步驟205:確定待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)是否小于預(yù)設(shè)閾值,若是,則執(zhí)行步驟206;否則,執(zhí)行步驟210。
在該步驟中,通過緩存模塊中的記錄,確定待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù),并且與預(yù)設(shè)閾值進(jìn)行比較。預(yù)設(shè)閾值可以自行設(shè)定。
步驟206:判斷確定的至少一個可執(zhí)行文件對應(yīng)的每一個文件名中是否存在一個目標(biāo)文件名與待執(zhí)行文件對應(yīng)的文件名相同,若是,則執(zhí)行步驟207,否則,執(zhí)行步驟210
在該步驟中,在策略庫中進(jìn)行查詢,是否與待執(zhí)行文件對應(yīng)的文件名相同的文件名,則該文件名對應(yīng)的就是目標(biāo)文件名。
步驟207:計算待執(zhí)行文件的訪問摘要值。
在該步驟中,策略庫中具有與待執(zhí)行文件對應(yīng)的文件名相同的文件名,則需要計算待執(zhí)行文件的訪問摘要值進(jìn)行進(jìn)一步判斷。
步驟208:判斷目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值和訪問摘要值是否相同,若是,則執(zhí)行步驟209;否則,執(zhí)行步驟210。
在該步驟中,將計算得到的訪問摘要值與策略庫中和目標(biāo)文件名對應(yīng)的標(biāo)準(zhǔn)摘要值進(jìn)行比較。
步驟209:允許執(zhí)行待執(zhí)行文件,并結(jié)束當(dāng)前流程。
步驟210:禁止執(zhí)行待執(zhí)行文件。
如圖3所示,本發(fā)明實(shí)施例提供了一種可執(zhí)行文件的控制裝置,該控制裝置可以包括:確定單元301、判斷單元302、計算單元303和處理單元304,其中,
所述確定單元301,用于確定至少一個可執(zhí)行文件,并計算每一個所述可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值;
所述判斷單元302,用于在接收到待執(zhí)行文件的執(zhí)行請求時,判斷所述確定單元301確定的所述至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同;
所述計算單元303,用于當(dāng)存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同時,計算所述待執(zhí)行文件的訪問摘要值;
所述處理單元304,用于根據(jù)所述目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值,以及所述訪問摘要值,確定是否允許執(zhí)行所述待執(zhí)行文件。
在本發(fā)明一個實(shí)施例中,為了實(shí)現(xiàn)防止惡意待執(zhí)行文件的攻擊,所述處理單元,用于判斷所述目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值和所述訪問摘要值是否相同,若是,則允許執(zhí)行所述待執(zhí)行文件;否則,禁止執(zhí)行所述待執(zhí)行文件。
如圖4所示,在本發(fā)明一個實(shí)施例中,該可執(zhí)行文件的控制裝置可以進(jìn)一步包括:命名單元401和存儲單元402,其中,
所述命名單元401,用于確定每一個所述可執(zhí)行文件對應(yīng)的文件名;
所述存儲單元402,用于將每一個所述可執(zhí)行文件對應(yīng)的文件名,以及每一個所述可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值進(jìn)行存儲;
所述判斷單元302,用于解析接收的所述執(zhí)行請求,以獲取所述待執(zhí)行文件對應(yīng)的文件名;判斷確定的所述至少一個可執(zhí)行文件對應(yīng)的每一個文件名中是否存在一個目標(biāo)文件名與所述待執(zhí)行文件對應(yīng)的文件名相同。
如圖5所示,在本發(fā)明一個實(shí)施例中,該可執(zhí)行文件的控制裝置可以進(jìn)一步包括:緩存單元501,用于在所述待執(zhí)行文件被允許執(zhí)行時,利用所述緩存模塊記錄所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)為0;在所述待執(zhí)行文件被禁止執(zhí)行時,利用所述緩存模塊記錄所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)加1。
如圖6所示,在本發(fā)明一個實(shí)施例中,該可執(zhí)行文件的控制裝置可以進(jìn)一步包括:篩選單元601,用于確定所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù);當(dāng)所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)小于預(yù)設(shè)閾值時,執(zhí)行所述判斷確定的所述至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與所述待執(zhí)行文件相同。
在本發(fā)明一個實(shí)施例中,該可執(zhí)行文件的控制裝置可以進(jìn)一步包括:禁止單元(圖中未示出),用于禁止修改確定的所述至少一個可執(zhí)行文件、以及禁止重命名確定的所述至少一個可執(zhí)行文件對應(yīng)的文件名。
上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
綜上,本發(fā)明的各實(shí)施例,至少具有如下有益效果:
1、在本發(fā)明的實(shí)施例中,通過確定至少一個可執(zhí)行文件,并計算每一個可執(zhí)行文件對應(yīng)的標(biāo)準(zhǔn)摘要值,在接收到待執(zhí)行文件的執(zhí)行請求時,判斷確定的至少一個可執(zhí)行文件中是否存在一個目標(biāo)可執(zhí)行文件與待執(zhí)行文件相同,當(dāng)存在一個目標(biāo)可執(zhí)行文件與待執(zhí)行文件相同時,計算待執(zhí)行文件的訪問摘要值,根據(jù)目標(biāo)可執(zhí)行文件的標(biāo)準(zhǔn)摘要值,以及訪問摘要值,確定是否允許執(zhí)行待執(zhí)行文件。由于不采用傳統(tǒng)的防火墻、殺毒軟件等對待執(zhí)行文件進(jìn)行控制,而是直接與可執(zhí)行文件,以及可執(zhí)行文件對應(yīng)的摘要值進(jìn)行對比,從而能夠準(zhǔn)確的判斷待執(zhí)行文件是可執(zhí)行文件,還是惡意程序文件。因此,能更為有效地防止惡意待執(zhí)行文件的攻擊。
2、在本發(fā)明的實(shí)施例中,由于使用MD5算法或其他算法,對可執(zhí)行文件進(jìn)行標(biāo)準(zhǔn)摘要值的計算,對可執(zhí)行文件進(jìn)行任何改動,小到對1個字節(jié)的改動,所得到的摘要值都有很大區(qū)別,從而能夠有效避免經(jīng)過篡改的可執(zhí)行文件的執(zhí)行。
3、在本發(fā)明的實(shí)施例中,通過設(shè)置緩存模塊,記錄所述待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù),當(dāng)待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)小于預(yù)設(shè)閾值時,才繼續(xù)執(zhí)行后續(xù)流程;而當(dāng)待執(zhí)行文件被連續(xù)禁止執(zhí)行的次數(shù)大于預(yù)設(shè)閾值時,直接禁止該待執(zhí)行文件執(zhí)行,不必進(jìn)行后續(xù)計算判斷等流程,從而有效的加快了運(yùn)行速度。
4、在本發(fā)明的實(shí)施例中,通過禁止修改可執(zhí)行文件可以有效的避免可執(zhí)行文件本惡意篡改,而禁止重命名則可以有效避免判斷文件名是否相同時出現(xiàn)誤差。
需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計算機(jī)可讀取的存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)中。
最后需要說明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。