本發明涉及計算機安全技術領域,特別是涉及一種應用于計算機文件的加密病毒的攔截方法及系統。
背景技術:
興起于20世紀中期的計算機技術,經過數幾十年時間的發展,已經被普及到現代社會的各個領域,計算機系統作為一種信息存儲、傳輸及處理的載體,其具有信息存儲量大、傳輸速度快、處理效率高等優點,因此,越來越多的信息是以電子數據文件的形式存儲于計算機系統,但是,由于計算機病毒及黑客入侵等因素的存在,如何防止電子數據文件被入侵始終是計算機安全技術的重要研究課題。
勒索者病毒是一類會針對用戶電腦中特定后綴的文件進行加密的病毒,要想解密被勒索者病毒所加密的文件,受害者往往需要向黑客支付高額的贖金;因此,這種病毒的存在對計算機的使用形成了極大的安全隱患。
傳統的病毒查殺技術大多是將疑似勒索者病毒程序的特征與病毒數據庫中的已有特征相匹配,以作為判斷程序是否為勒索者病毒程序的依據,但是當勒索者病毒程序存在新變種時,病毒數據庫往往并不能及時更新對應的特征,影響了對病毒的攔截操作,因此,常規的病毒查殺方式會對勒索者病毒的檢測和攔截構成限制。
技術實現要素:
本發明所要解決的技術問題是:提供一種應用于計算機文件的加密病毒的攔截方法及系統,以解決現有病毒技術中利用特征匹配來判斷病毒的方式所存在的弊端。
本發明解決上述技術問題所采用的技術方案是:
本發明提供了一種應用于計算機文件的加密病毒的攔截方法,包括:預置防御輔助文件,防御輔助文件為加密病毒對應加密的文件類型;預置文件路徑與文件類型的第一關聯表,以及文件句柄與文件類型的第二關聯表;實時監測包括防御輔助文件在內的所有計算機文件,在計算機被執行操作時,獲取計算機文件在調用過程中被執行的操作行為、計算機文件的文件路徑及文件句柄;根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作;若操作行為為病毒的加密操作,則攔截加密操作。
進一步的,攔截方法還包括:在獲取計算機文件在調用過程中被執行的操作行為后,確定操作行為的類型,其中,操作行為的類型為以下類型的一種或幾種:文件創建行為、文件打開行為、文件移動行為、文件寫入行為和文件刪除行為。
進一步的,在操作行為的類型為文件創建行為和文件打開行為的其中一種時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作的過程包括:判斷去除文件后綴的計算機文件的文件路徑是否為第一關聯表中的文件路徑,若是,則將計算機文件的文件句柄添加至第二關聯表;若否,則判斷計算機文件的文件后綴是否為doc、xls、ppt、pdf中的其中一種;在計算機文件的文件后綴為doc、xls、ppt、pdf中的其中一種時,判斷計算機文件的文件大小是否大于8;若計算機文件的文件大小大于8,根據計算機文件的內容重新確定計算機文件是否為doc、xls、ppt、pdf中的其中一種文件類型;在計算機文件為doc、xls、ppt、pdf中的其中一種文件類型時,將計算機文件的文件類型添加至第一關聯表中。
進一步的,操作行為的類型為文件移動行為時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作的過程包括:獲取scr文件和dest文件,其中,scr文件為計算機文件在被執行文件移動行為之前的文件路徑,dest文件為計算機文件在被執行文件移動行為之后的文件路徑;判斷被執行操作行為的scr文件是否為防御輔助文件,若是,則操作行為為病毒的加密操作;否則,從第一關聯表中查找scr文件的文件路徑,在第一關聯表中查找到scr文件的文件路徑時,根據scr文件的內容確定其文件類型;將scr文件的文件類型與第一關聯表中的文件類型相匹配,若未匹配成功,則操作行為為病毒的加密操作;在第一關聯表中未查找到scr文件的文件路徑時,從第一關聯表中查找去除文件后綴的dest文件的文件路徑;若在第一關聯表中查找到dest文件的文件路徑,則根據scr文件的內容確定其文件類型;將scr文件的文件類型與第一關聯表中的文件類型相匹配,若未匹配成功,則操作行為為病毒的加密操作;若在第一關聯表中未查找到dest文件的文件路徑,則根據scr文件的文件后綴和文件內容,確定scr文件是否為doc、xls、ppt、pdf中的其中一種文件類型;在scr文件的文件內容為doc、xls、ppt、pdf中的其中一種文件類型時,將scr文件的文件類型和文件路徑添加至第一關聯表中。
進一步的,在操作行為的類型為文件寫入行為時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作的過程包括:在被執行文件寫入行為的計算機文件為防御輔助文件時,則獲取文件寫入行為的寫入內容,判斷寫入內容是否為修改文件類型,若是,則操作行為為病毒的加密操作;在被執行文件寫入行為的計算機文件不為防御輔助文件時,則從第二關聯表中查找計算機文件的文件句柄;若在第二關聯表中查找到計算機文件的文件句柄,則獲取文件寫入行為的寫入內容,判斷寫入內容是否為修改文件類型,若是,則操作行為為病毒的加密操作。
進一步的,在操作行為的類型為文件刪除行為時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作的過程包括:在被執行文件刪除行為的計算機文件為防御輔助文件時,操作行為為病毒的加密操作。
根據本發明的第二個方面,還提供了了一種攔截系統,包括:第一單元,用于預置防御輔助文件,防御輔助文件為加密病毒對應加密的文件類型;以及預置文件路徑與文件類型的第一關聯表,以及文件句柄與文件類型的第二關聯表;第二單元,用于實時監測包括防御輔助文件在內的所有計算機文件,在計算機被執行操作時,獲取計算機文件在調用過程中被執行的操作行為、計算機文件的文件路徑及文件句柄;第三單元,用于根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作;第四單元,用于在操作行為為病毒的加密操作,則攔截加密操作。
進一步的,第二單元還用于:在獲取計算機文件在調用過程中被執行的操作行為后,確定操作行為的類型,其中,操作行為的類型為以下類型的一種或幾種:文件創建行為、文件打開行為、文件移動行為、文件寫入行為和文件刪除行為。
進一步的,第三單元還用于:在操作行為的類型為文件創建行為和文件打開行為的其中一種時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作,過程包括:判斷去除文件后綴的計算機文件的文件路徑是否為第一關聯表中的文件路徑,若是,則將計算機文件的文件句柄添加至第二關聯表;若否,則判斷計算機文件的文件后綴是否為doc、xls、ppt、pdf中的其中一種;在計算機文件的文件后綴為doc、xls、ppt、pdf中的其中一種時,判斷計算機文件的文件大小是否大于8;若計算機文件的文件大小大于8,根據計算機文件的內容重新確定計算機文件是否為doc、xls、ppt、pdf中的其中一種文件類型;在計算機文件為doc、xls、ppt、pdf中的其中一種文件類型時,將計算機文件的文件類型添加至第一關聯表中。
進一步的,第三單元還用于:在操作行為的類型為文件移動行為時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作,過程包括:獲取scr文件和dest文件,其中,scr文件為計算機文件在被執行文件移動行為之前的文件路徑,dest文件為計算機文件在被執行文件移動行為之后的文件路徑;判斷被執行操作行為的scr文件是否為防御輔助文件,若是,則操作行為為病毒的加密操作;否則,從第一關聯表中查找scr文件的文件路徑,在第一關聯表中查找到scr文件的文件路徑時,根據scr文件的內容確定其文件類型;將scr文件的文件類型與第一關聯表中的文件類型相匹配,若未匹配成功,則操作行為為病毒的加密操作;在第一關聯表中未查找到scr文件的文件路徑時,從第一關聯表中查找去除文件后綴的dest文件的文件路徑;若在第一關聯表中查找到dest文件的文件路徑,則根據scr文件的內容確定其文件類型;將scr文件的文件類型與第一關聯表中的文件類型相匹配,若未匹配成功,則操作行為為病毒的加密操作;若在第一關聯表中未查找到dest文件的文件路徑,則根據scr文件的文件后綴和文件內容,確定scr文件是否為doc、xls、ppt、pdf中的其中一種文件類型;在scr文件的文件內容為doc、xls、ppt、pdf中的其中一種文件類型時,將scr文件的文件類型和文件路徑添加至第一關聯表中。
進一步的,第三單元還用于:在操作行為的類型為文件寫入行為時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作,過程包括:在被執行文件寫入行為的計算機文件為防御輔助文件時,則獲取文件寫入行為的寫入內容,判斷寫入內容是否為修改文件類型,若是,則操作行為為病毒的加密操作;在被執行文件寫入行為的計算機文件不為防御輔助文件時,則從第二關聯表中查找計算機文件的文件句柄;若在第二關聯表中查找到計算機文件的文件句柄,則獲取文件寫入行為的寫入內容,判斷寫入內容是否為修改文件類型,若是,則操作行為為病毒的加密操作。
進一步的,第三單元還用于:在操作行為的類型為文件刪除行為時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作,過程包括:在被執行文件刪除行為的計算機文件為防御輔助文件時,操作行為為病毒的加密操作。
本發明采用上述技術方案所具有的技術效果是:
本發明的攔截方法改變了傳統病毒查殺技術中所采用的病毒特征匹配的方式,考慮到病毒對計算機文件加密時必然要對計算機文件進行相應的操作行為,因此本發明通過監測計算機文件被執行的操作行為以及計算機文件本身的特征,可以快捷、高效的判斷出是否為病毒被執行的加密行為,克服了傳統病毒查殺技術所存在的局限性。
附圖說明
圖1為本發明的一個實施例中攔截方法的整體流程圖;
圖2為本發明的一個實施例中計算機文件被執行文件創建行為時的攔截方法流程圖;
圖3為本發明的一個實施例中計算機文件被執行文件移動行為時的攔截方法流程圖;
圖4為本發明的一個實施例中計算機文件被執行文件寫入行為時的攔截方法流程圖;
圖5為本發明的一個實施例中計算機文件被執行文件刪除行為時的攔截方法流程圖。
具體實施方式
為清楚的說明本發明中的方案,下面給出優選的實施例并結合附圖詳細說明。以下的說明本質上僅僅是示例性的而并不是為了限制本公開的應用或用途。應當理解的是,在全部的附圖中,對應的附圖標記表示相同或對應的部件和特征。
如圖1所示的一實施例,本發明公開了一種應用于計算機文件的加密病毒的攔截方法,其步驟包括:
S101、預置防御輔助文件,防御輔助文件為加密病毒對應加密的文件類型;在一些實施例中,由于現有的大部分加密病毒都是會對doc類型的文件加密,因此本發明所預置的也為doc類型的文件;
S102、預置文件路徑與文件類型的第一關聯表,以及文件句柄與文件類型的第二關聯表;例如,某一doc類型的文件的文件路徑為C:\abc\123\test.doc、文件句柄為0x886699B0,則在第一關聯表中預置文件路徑C:\abc\123\test.doc與doc文件類型的關聯關系,在第二關聯表中預置句柄0x886699B0與doc文件類型的關聯關系;另外,第一關聯表中預置的文件路徑內容、以及第二關聯表中預置的文件句柄內容為已預先確定其安全性的文件路徑、文件句柄;
S103、實時監測包括防御輔助文件在內的所有計算機文件,在計算機被執行操作時,獲取計算機文件在調用過程中被執行的操作行為、計算機文件的文件路徑及文件句柄;
S104、根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作;在一實施例中,將獲取的計算機文件的文件路徑與第一關聯表中的預置內容相匹配,將計算機文件的文件句柄與第二關聯表中的預置內容相匹配,從而可以對比該計算機文件在被執行其操作行為后,判斷其文件路徑和文件句柄是否有變化,若匹配成功,則確認為為非病毒的操作行為,若匹配不成功,則確認為病毒被執行的加密操作;
S105、若操作行為為病毒的加密操作,則攔截加密操作,從而可以在計算機文件被調用的過程中,實現實時監測及攔截病毒的操作,提高了計算機系統的整體安全性。
在上述步驟S101中,考慮到加密病毒在加密前會遍歷所有的計算機文件,為了能實現對病毒提前檢測判斷以保護其它計算機文件的目的,本發明所預置的防御輔助文件的文件命名選用ASCII表中排名靠前的字符,例如,某一防御輔助文件的文件名為“!!!防御輔助文件,請勿刪除”,該命名中選用了在ASCII表中排名靠前“!”字符,從而可以優先被加密病毒所遍歷到,并在防御輔助文件被執行相應的操作行為時,檢測判斷是否為加密病毒的加密操作。
在本發明的一實施例中,攔截方法的步驟還包括:
在獲取計算機文件在調用過程中被執行的操作行為后,確定操作行為的類型,其中,操作行為的類型為以下類型的一種或幾種:文件創建行為、文件讀取行為、文件打開行為、文件移動行為、文件寫入行為和文件刪除行為。
由于病毒程序在對計算機文件的加密過程中,可以會對計算機文件被執行上述的一種或幾種操作行為,例如,常見的病毒加密文件的過程有:(1)文件創建-文件讀取-加密-寫入文件;(2)文件創建-文件讀取-加密-文件創建-文件寫入-文件刪除;(3)文件移動-文件創建-文件讀取-加密-文件創建-文件寫入;(4)文件移動-文件創建-加密-文件創建-文件寫入;(5)文件移動-文件創建-加密-文件寫入-文件移動。而部分操作行為的被執行過程中,可能與安全程序調用計算機文件的操作行為一致或類似,因此為了提高對病毒程序判斷的精確性,防止將安全程序錯誤判定為病毒程序,因此需要根據第一關聯表和第二關聯表分別對加密前后的不同操作行為進行相應的判斷。下面結合一些實施例對上述涉及文件創建行為、文件移動行為、文件寫入行為和文件刪除行為等主要操作行為的判斷過程進行說明。
在本發明一實施例中,如圖2所示,在操作行為的類型為文件創建行為和文件打開行為的其中一種時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作的過程包括:
S201、判斷去除文件后綴的計算機文件的文件路徑是否為第一關聯表中的文件路徑;
S202、若是,則將計算機文件的文件句柄handle添加至第二關聯表;在執行文件寫入行為時,可以通過查詢第二關聯表獲取對應文件的文件句柄;
S203、若否,則判斷計算機文件的文件后綴是否為doc、xls、ppt、pdf中的其中一種;
S204、在計算機文件的文件后綴為doc、xls、ppt、pdf中的其中一種時,判斷計算機文件的文件大小是否大于8;
S205、若計算機文件的文件大小大于8,根據計算機文件的內容重新確定計算機文件是否為doc、xls、ppt、pdf中的其中一種文件類型;
S206、在計算機文件為doc、xls、ppt、pdf中的其中一種文件類型時,將計算機文件的文件類型添加至第一關聯表中。
在本發明一實施例中,如圖3所示,在操作行為的類型為文件移動行為時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作的過程包括:
S301、獲取scr文件和dest文件,其中,scr文件為計算機文件在被執行文件移動行為之前的文件路徑,dest文件為計算機文件在被執行文件移動行為之后的文件路徑;
S302、判斷被執行操作行為的scr文件是否為防御輔助文件;
S303、若是,則操作行為為病毒的加密操作;
S304、若否,從第一關聯表中查找scr文件的文件路徑;
S305、在第一關聯表中查找到scr文件的文件路徑時,根據scr文件的內容確定其文件類型;
S306、將scr文件的文件類型與第一關聯表中的文件類型相匹配,若未匹配成功,則操作行為為病毒的加密操作;
S307、在第一關聯表中未查找到scr文件的文件路徑時,從第一關聯表中查找去除文件后綴的dest文件的文件路徑;
若在第一關聯表中查找到dest文件的文件路徑,則執行上述S305和S306步驟中的相關流程,包括根據scr文件的內容確定其文件類型;將scr文件的文件類型與第一關聯表中的文件類型相匹配,若未匹配成功,則操作行為為病毒的加密操作;
S308、若在第一關聯表中未查找到dest文件的文件路徑,則根據scr文件的文件后綴和文件內容,確定scr文件是否為doc、xls、ppt、pdf中的其中一種文件類型;在scr文件的文件內容為doc、xls、ppt、pdf中的其中一種文件類型時,將scr文件的文件類型和文件路徑添加至第一關聯表中。
在本發明一實施例中,如圖4所示,在操作行為的類型為文件寫入行為時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作的過程包括:
S401、判斷被執行文件寫入行為的計算機文件是否為防御輔助文件;
S402、在被執行文件寫入行為的計算機文件為防御輔助文件時,則獲取文件寫入行為的寫入內容,判斷寫入內容是否為修改文件類型;
S403、若是,則操作行為為病毒的加密操作;
S404、在被執行文件寫入行為的計算機文件不為防御輔助文件時,則從第二關聯表中查找計算機文件的文件句柄;
若在第二關聯表中查找到計算機文件的文件句柄,則執行S402步驟中的相關流程,獲取文件寫入行為的寫入內容,判斷寫入內容是否為修改文件類型,若是,則操作行為為病毒的加密操作。
在本發明一實施例中,如圖5所示,在操作行為的類型為文件刪除行為時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作的過程包括:
S501、判斷被執行文件刪除行為的計算機文件是否為防御輔助文件;
S502、在被執行文件刪除行為的計算機文件為防御輔助文件時,操作行為為病毒的加密操作。
為了使本領域技術人員了解本發明攔截方法的攔截過程,下面結合一實施例的攔截流程進行詳細說明:
某一個正常文件的路徑為C:\abc\123\test.doc,加密病毒要加密該文件,首先會以至少包含讀取權限的方式執行創建文件行為;
經由S201-S205的流程,將路徑“C:\abc\123\test.doc”和文件類型“doc”保存在第一個表中;
加密病毒讀取完該文件的內容后,會加密文件的內容,加密完之后會再次寫入文件中,因為加密之后它的后綴可能會改變,例如有一種勒索者病毒加密后就會變成“C:\abc\123\test.doc.vvv”,所以寫入時會首先以至少包含寫入權限的方式CreateFile“C:\abc\123\test.doc.vvv”,假設創建文件行為后所返回的文件句柄為0x886699B0,這個文件路徑去除后綴后為“C:\abc\123\test.doc”,第一個表中存在這個文件路徑,類型為doc,所以把句柄0x886699B0和文件類型doc加入到第二個表中;
當執行寫入文件行為進行寫入文件內容時,文件句柄為0x886699B0,在第二個表中可以找到此句柄,也知道它的類型是doc,根據寫入的文件內容判斷是否修改了文件類型,由于文件被加密過,通過內容識別肯定不是doc文件了,所以會進行攔截。
本發明還提供了一種攔截系統,該攔截系統采用上述實施例中所公開的攔截方法對病毒程序進行監測和攔截,以保護計算機所存儲的文件;攔截系統包括:
第一單元,用于預置防御輔助文件,防御輔助文件為加密病毒對應加密的文件類型;以及預置文件路徑與文件類型的第一關聯表,以及文件句柄與文件類型的第二關聯表;
第二單元,用于實時監測包括防御輔助文件在內的所有計算機文件,在計算機被執行操作時,獲取計算機文件在調用過程中被執行的操作行為、計算機文件的文件路徑及文件句柄;
第三單元,用于根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作;
第四單元,用于在操作行為為病毒的加密操作,則攔截加密操作。
在本發明的一些實施例中,第二單元還用于:在獲取計算機文件在調用過程中被執行的操作行為后,確定操作行為的類型,其中,操作行為的類型為以下類型的一種或幾種:文件創建行為、文件打開行為、文件移動行為、文件寫入行為和文件刪除行為。
在本發明的一些實施例中,第三單元還用于:在操作行為的類型為文件創建行為和文件打開行為的其中一種時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作,過程包括:判斷去除文件后綴的計算機文件的文件路徑是否為第一關聯表中的文件路徑,若是,則將計算機文件的文件句柄添加至第二關聯表;若否,則判斷計算機文件的文件后綴是否為doc、xls、ppt、pdf中的其中一種;在計算機文件的文件后綴為doc、xls、ppt、pdf中的其中一種時,判斷計算機文件的文件大小是否大于8;若計算機文件的文件大小大于8,根據計算機文件的內容重新確定計算機文件是否為doc、xls、ppt、pdf中的其中一種文件類型;在計算機文件為doc、xls、ppt、pdf中的其中一種文件類型時,將計算機文件的文件類型添加至第一關聯表中。
在本發明的一些實施例中,第三單元還用于:在操作行為的類型為文件移動行為時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作,過程包括:獲取scr文件和dest文件,其中,scr文件為計算機文件在被執行文件移動行為之前的文件路徑,dest文件為計算機文件在被執行文件移動行為之后的文件路徑;判斷被執行操作行為的scr文件是否為防御輔助文件,若是,則操作行為為病毒的加密操作;否則,從第一關聯表中查找scr文件的文件路徑,在第一關聯表中查找到scr文件的文件路徑時,根據scr文件的內容確定其文件類型;將scr文件的文件類型與第一關聯表中的文件類型相匹配,若未匹配成功,則操作行為為病毒的加密操作;在第一關聯表中未查找到scr文件的文件路徑時,從第一關聯表中查找去除文件后綴的dest文件的文件路徑;若在第一關聯表中查找到dest文件的文件路徑,則根據scr文件的內容確定其文件類型;將scr文件的文件類型與第一關聯表中的文件類型相匹配,若未匹配成功,則操作行為為病毒的加密操作;若在第一關聯表中未查找到dest文件的文件路徑,則根據scr文件的文件后綴和文件內容,確定scr文件是否為doc、xls、ppt、pdf中的其中一種文件類型;在scr文件的文件內容為doc、xls、ppt、pdf中的其中一種文件類型時,將scr文件的文件類型和文件路徑添加至第一關聯表中。
在本發明的一些實施例中,第三單元還用于:在操作行為的類型為文件寫入行為時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作,過程包括:在被執行文件寫入行為的計算機文件為防御輔助文件時,則獲取文件寫入行為的寫入內容,判斷寫入內容是否為修改文件類型,若是,則操作行為為病毒的加密操作;在被執行文件寫入行為的計算機文件不為防御輔助文件時,則從第二關聯表中查找計算機文件的文件句柄;若在第二關聯表中查找到計算機文件的文件句柄,則獲取文件寫入行為的寫入內容,判斷寫入內容是否為修改文件類型,若是,則操作行為為病毒的加密操作。
在本發明的一些實施例中,第三單元還用于:在操作行為的類型為文件刪除行為時,根據第一關聯表和第二關聯表,判斷操作行為是否為病毒的加密操作,過程包括:在被執行文件刪除行為的計算機文件為防御輔助文件時,操作行為為病毒的加密操作。
綜上所述,以上所述內容僅為本發明的實施例,僅用于說明本發明的原理,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。