一種基于海量程序行為數(shù)據(jù)的終端防護(hù)系統(tǒng)及方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及計(jì)算機(jī)信息技術(shù)安全領(lǐng)域,具體涉及一種基于海量程序行為數(shù)據(jù)的終端防護(hù)系統(tǒng)及方法。【
背景技術(shù):
】[0002]隨著計(jì)算機(jī)的廣泛應(yīng)用,計(jì)算機(jī)病毒入侵造成的危害越來越大。眾多信息安全類廠商研制出許多相應(yīng)的防范產(chǎn)品。這些產(chǎn)品大致可以分為邊界安全產(chǎn)品和終端安全產(chǎn)品。邊界安全產(chǎn)品,如準(zhǔn)入網(wǎng)關(guān),通過對(duì)通訊端口、協(xié)議的管控來阻止入侵行為。終端安全產(chǎn)品,如殺毒軟件,通過掃描監(jiān)控范圍內(nèi)的文件,與病毒文件的代碼特征比對(duì),來清除有害文件。可見,邊界安全產(chǎn)品和終端安全產(chǎn)品相輔相成。在病毒入侵的網(wǎng)絡(luò)行為特征不明顯而導(dǎo)致邊界安全產(chǎn)品失效情況下,終端安全產(chǎn)品的作用就尤為重要。[0003]"CN200510007682-基于程序行為分析的計(jì)算機(jī)防護(hù)"和"CN201210129761--種API日志監(jiān)控方法及裝置"提出了兩種病毒檢測(cè)、保護(hù)終端的方法。其共同點(diǎn)都是對(duì)終端程序的動(dòng)態(tài)特征,尤其是API調(diào)用,進(jìn)行監(jiān)控,來實(shí)現(xiàn)終端保護(hù)功能。這種方法的優(yōu)點(diǎn)是病毒的行為特征相對(duì)于病毒的文件結(jié)構(gòu)更為穩(wěn)定,因此,程序動(dòng)態(tài)特征分析較之病毒文件靜態(tài)結(jié)構(gòu)分析,能更有效地應(yīng)對(duì)病毒發(fā)生變異的情況。然而,CN200510007682方法和CN201210129761方法也存在著不足之處。CN200510007682中的方法對(duì)包括已知系統(tǒng)服務(wù)在內(nèi)的所有的程序都進(jìn)行監(jiān)控并且使用鉤掛系統(tǒng)API(ApplicationProgrammingInterface:應(yīng)用程序編程接口)函數(shù)的方式,這樣會(huì)造成一定的系統(tǒng)負(fù)載。在CN201210129761中,其判斷程序是否安全的準(zhǔn)則是,程序有沒有調(diào)用過可信文件列表之外的模塊。這樣的判別準(zhǔn)則過于簡(jiǎn)單,病毒完全可能通過調(diào)用一系列可信模塊實(shí)現(xiàn)其攻擊。[0004]上述兩種方法都是對(duì)終端系統(tǒng)進(jìn)行實(shí)時(shí)保護(hù),其好處是能以最快的速度對(duì)可疑程序行為作出響應(yīng),其弊端是為了實(shí)現(xiàn)實(shí)時(shí)響應(yīng),就難以對(duì)已采集的API調(diào)用進(jìn)行充分地分析,因而需要更多的用戶干預(yù),來輔助處理可疑報(bào)警?!?br/>發(fā)明內(nèi)容】[0005]本發(fā)明針對(duì)上述技術(shù)存在的不足,提出一種基于海量程序行為數(shù)據(jù)的終端防護(hù)系統(tǒng)及方法,是一種異常行為的事后檢測(cè)方法,采用文件特征對(duì)比與程序的系統(tǒng)調(diào)用序列分析相結(jié)合的方式來識(shí)別程序異常行為,使得入侵者在其動(dòng)作行為暴露出固有的特點(diǎn)之后依然能被發(fā)現(xiàn)。本發(fā)明擴(kuò)大了可分析的終端程序API調(diào)用序列的規(guī)模,可分析長(zhǎng)時(shí)間跨度的API調(diào)用序列。[0006]本發(fā)明所述的一種基于海量程序行為數(shù)據(jù)的終端防護(hù)系統(tǒng),包括:文件特征提取模塊,用于建立知名的合法程序名單和攻擊程序名單,為這些程序建立文件特征庫(kù);程序API調(diào)用采集模塊,用于對(duì)應(yīng)用程序的系統(tǒng)調(diào)用進(jìn)行采集;程序行為序列分析模塊,負(fù)責(zé)從API調(diào)用日志文件中提取出各個(gè)程序的API調(diào)用序列;判別模塊,判斷終端上啟動(dòng)的程序是否具有安全威脅。[0007]所述的系統(tǒng)調(diào)用包括文件操作、系統(tǒng)信息操作、進(jìn)程操作、內(nèi)存操作、注冊(cè)表操作、網(wǎng)絡(luò)操作。[0008]所述的系統(tǒng)調(diào)用采集是在終端程序啟動(dòng)時(shí),終端防護(hù)系統(tǒng)即對(duì)其加載過程進(jìn)行攔截,然后在內(nèi)存映射文件中鉤掛上述系統(tǒng)調(diào)用,從而完成對(duì)終端程序的系統(tǒng)調(diào)用采集。[0009]所述的從API調(diào)用日志文件中提取各個(gè)程序的API調(diào)用序列是采用滑動(dòng)窗口的方式,以線程為單位,從線程的第一個(gè)系統(tǒng)調(diào)用記錄開始向后滑動(dòng),到線程的最后一個(gè)系統(tǒng)調(diào)用為止,根據(jù)滑動(dòng)窗口的尺寸,生成API調(diào)用序列的片段。[0010]所述的API調(diào)用序列的生成采用MapReduce(映射約簡(jiǎn))計(jì)算方法,以線程ID為鍵,以系統(tǒng)調(diào)用的時(shí)間為值,通過二次排序操作從API調(diào)用日志文件中提取各個(gè)程序的API調(diào)用序列。[0011]本發(fā)明還提供一種基于海量程序行為數(shù)據(jù)的終端防護(hù)方法,包括下列步驟:步驟a,文件特征提取模塊,建立知名的合法程序名單和攻擊程序名單,并對(duì)這些程序建立文件特征庫(kù);步驟b,通過自動(dòng)化工具,分析病毒的API調(diào)用序列,建立安全威脅行為庫(kù);步驟c,程序API調(diào)用采集模塊,對(duì)應(yīng)用程序的系統(tǒng)調(diào)用進(jìn)行采集,即在終端程序啟動(dòng)時(shí),終端防護(hù)系統(tǒng)對(duì)其加載過程進(jìn)行攔截,然后在內(nèi)存映射文件中鉤掛上述系統(tǒng)調(diào)用,從而完成對(duì)終端程序的系統(tǒng)調(diào)用采集;步驟d,判別模塊判斷終端上啟動(dòng)的程序是否正常,即將啟動(dòng)程序與文件特征庫(kù)對(duì)比,如果是文件特征庫(kù)中的知名攻擊程序,則終端上啟動(dòng)的程序不正常,直接發(fā)出安全威脅報(bào)警;如果啟動(dòng)程序是文件特征庫(kù)中的合法程序,即終端程序的文件特征顯示正常,則程序API調(diào)用采集模塊對(duì)該終端程序采集其系統(tǒng)API調(diào)用序列;程序行為序列分析模塊采用MapReduce技術(shù)和滑動(dòng)窗口的方式,從日志文件中提取并分析各終端程序的API調(diào)用序列;判別模塊將系統(tǒng)API調(diào)用短序列與安全威脅行為庫(kù)中的記錄對(duì)比,判斷終端程序是否與安全威脅行為庫(kù)中的記錄匹配,如果匹配,則直接發(fā)出安全警告;若無攻擊行為,則說明終端程序安全。[0012]所述的安全威脅行為庫(kù)包括:可疑蠕蟲報(bào)警規(guī)則:修改系統(tǒng)啟動(dòng)項(xiàng),無窗口,不斷獲取其他計(jì)算機(jī)的IP地址,然后將自身副本發(fā)送;可疑木馬報(bào)警規(guī)則:修改系統(tǒng)啟動(dòng)項(xiàng),無窗口,存在文件讀寫和上傳操作;可疑病毒報(bào)警規(guī)則:提升應(yīng)用程序的權(quán)限;出現(xiàn)緩存溢出;修改可執(zhí)行文件。[0013]本發(fā)明的有益效果:本發(fā)明的基于海量程序行為數(shù)據(jù)的終端防護(hù)系統(tǒng)及方法,使用文件特征對(duì)比與程序行為調(diào)用序列分析相結(jié)合的方式來識(shí)別程序異常行為,不僅使得入侵者在其動(dòng)作行為暴露出固有的特點(diǎn)之后,依然能被發(fā)現(xiàn),而且檢測(cè)效率有所提升;采用MapReduce技術(shù),可以處理海量的終端程序系統(tǒng)調(diào)用序列記錄,不僅可以捕捉單一程序的異常行為,而且能夠發(fā)現(xiàn)程序集的整體行為特點(diǎn),對(duì)用戶處置程序異常行為報(bào)警提供重要的參考依據(jù)?!靖綀D說明】[0014]圖IPE文件結(jié)構(gòu)圖;圖2本發(fā)明實(shí)施例的基于海量程序行為數(shù)據(jù)的終端防護(hù)方法流程圖?!揪唧w實(shí)施方式】[0015]本發(fā)明所提供的防護(hù)系統(tǒng)是在程序異常行為發(fā)生后產(chǎn)生報(bào)警,并為用戶采取有效的補(bǔ)救措施提供幫助。[0016]本發(fā)明所述的一種基于海量程序行為數(shù)據(jù)的終端防護(hù)系統(tǒng),包括文件特征提取模塊,用于建立知名的合法程序名單和攻擊程序名單,為這些程序建立文件特征庫(kù),所述的合法程序名單可以包括常用的軟件,如Windowsexe,MSOffice,QQ等,可以將其放入知名程序名單,并提取文件特征。文件特征從程序的PE(PortableExecutable:可移植的執(zhí)行體)文件頭部提取,PE文件格式如圖1所示,從PE文件頭的PE可選頭和節(jié)表中提取代碼段總尺寸和每節(jié)的實(shí)際字節(jié)數(shù)作為程序文件的特征值。從http://www.offensivecomputing,net上下載惡意程序,也如上所述,提取其文件特征,作為黑名單。[0017]程序API調(diào)用采集模塊,對(duì)應(yīng)用程序的系統(tǒng)調(diào)用進(jìn)行采集,需要采集的系統(tǒng)調(diào)用包括:【主權(quán)項(xiàng)】1.一種基于海量程序行為數(shù)據(jù)的終端防護(hù)系統(tǒng),其特征在于,該系統(tǒng)包括:文件特征提取模塊,用于建立知名的合法程序名單和攻擊程序名單,為這些程序建立文件特征庫(kù);程序API調(diào)用采集模塊,用于對(duì)應(yīng)用程序的系統(tǒng)調(diào)用進(jìn)行采集;程序行為序列分析模塊,負(fù)責(zé)從API調(diào)用日志文件中提取出各個(gè)程序的API調(diào)用序列;判別模塊,判斷終端上啟動(dòng)的程序是否具有安全威脅。2.根據(jù)權(quán)利要求1所述的一種基于海量程序行為數(shù)據(jù)的終端防護(hù)系統(tǒng),其特征在于所述的程序API調(diào)用采集模塊采集的應(yīng)用程序的系統(tǒng)調(diào)用包括文件操作、系統(tǒng)信息操作、進(jìn)程操作、內(nèi)存操作、注冊(cè)表操作、網(wǎng)絡(luò)操作。3.根據(jù)權(quán)利要求1所述的一種基于海量程序行為數(shù)據(jù)的終端防護(hù)系統(tǒng),其特征在于所述的系統(tǒng)調(diào)用采集是在終端程序啟動(dòng)時(shí),終端防護(hù)系統(tǒng)即對(duì)其加載過程進(jìn)行攔截,然后在內(nèi)存映射文件中鉤掛上述系統(tǒng)調(diào)用,從而完成對(duì)終端程序的系統(tǒng)調(diào)用采集。4.根據(jù)權(quán)利要求1所述的一種基于海量程序行為數(shù)據(jù)的終端防護(hù)系統(tǒng),其特征在于:所述的從API調(diào)用日志文件中提取各個(gè)程序的API調(diào)用序列是采用滑動(dòng)窗口的方式,以線程為單位,從線程的第一個(gè)系統(tǒng)調(diào)用記錄開始向后滑動(dòng),到線程的最后一個(gè)系統(tǒng)調(diào)用為止,根據(jù)滑動(dòng)窗口的尺寸,生成API調(diào)用序列的片段。5.根據(jù)權(quán)利要求1所述的一種基于海量程序行為數(shù)據(jù)的終端防護(hù)系統(tǒng),其特征在于:所述的API調(diào)用序列的生成采用MapReduce計(jì)算方法,以線程ID為鍵,以系統(tǒng)調(diào)用的時(shí)間為值,通過二次排序操作快速得到每個(gè)線程的系統(tǒng)調(diào)用序列技術(shù)從API調(diào)用日志文件中提取各個(gè)程序的API調(diào)用序列。6.-種基于海量程序行為數(shù)據(jù)的終端防護(hù)方法,其特征在于:該方法包括如下步驟:步驟a,文件特征提取模塊,建立知名的合法程序名單和攻擊程序名單,并對(duì)這些程序建立文件特征庫(kù);步驟b,通過自動(dòng)化工具,分析病毒的API調(diào)用序列,建立安全威脅行為庫(kù);步驟c,程序API調(diào)用采集模塊,對(duì)應(yīng)用程序的系統(tǒng)調(diào)用進(jìn)行采集,即在終端程序啟動(dòng)時(shí),終端防護(hù)系統(tǒng)對(duì)其加載過程進(jìn)行攔截,然后在內(nèi)存映射文件中鉤掛上述系統(tǒng)調(diào)用,從而完成對(duì)終端程序的系統(tǒng)調(diào)用采集;步驟d,判別模塊判斷終端上啟動(dòng)的程序是否正常,即將啟動(dòng)程序與文件特征庫(kù)對(duì)比,如果是文件特征庫(kù)中的知名攻擊程序,即終端上啟動(dòng)的程序不正常,直接發(fā)出安全威脅報(bào)警;如果啟動(dòng)程序是文件特征庫(kù)中的合法程序,即終端程序的文件特征顯示正常,則程序API調(diào)用采集模塊對(duì)該終端程序采集其系統(tǒng)API調(diào)用序列;程序行為序列分析模塊采用MapReduce技術(shù)和滑動(dòng)窗口的方式,從日志文件中提取并分析各終端程序的API調(diào)用序列;判別模塊將系統(tǒng)API調(diào)用短序列與安全威脅行為庫(kù)中的記錄對(duì)比,判斷終端程序是否與安全威脅行為庫(kù)中的記錄匹配,如果匹配,則直接發(fā)出安全警告;若無攻擊行為,則說明終端程序安全。7.根據(jù)權(quán)利要求6所述的一種基于海量程序行為數(shù)據(jù)的終端防護(hù)方法,其特征在于所述的步驟b中,所述的安全威脅行為庫(kù)包括:【專利摘要】本發(fā)明提供一種基于海量程序行為數(shù)據(jù)的終端防護(hù)系統(tǒng)和方法,其包含文件特征提取模塊,用于建立知名的合法程序名單和攻擊程序名單,為這些程序建立文件特征庫(kù);程序API調(diào)用采集模塊,用于對(duì)應(yīng)用程序的系統(tǒng)調(diào)用進(jìn)行采集;程序行為序列分析模塊,負(fù)責(zé)從API調(diào)用日志文件中提取出各個(gè)程序的API調(diào)用序列;判別模塊,判斷終端上啟動(dòng)的程序是否具有安全威脅。利用本發(fā)明的方法減少了需要進(jìn)行API調(diào)用分析的程序數(shù)量,提高了處理效率;擴(kuò)大了可分析的終端程序API調(diào)用序列的規(guī)模,不僅能捕捉單一程序的異常行為,而且能夠發(fā)現(xiàn)程序集的整體行為特點(diǎn),對(duì)用戶處置程序異常行為報(bào)警提供重要的參考依據(jù)?!綢PC分類】G06F21-56【公開號(hào)】CN104794399【申請(qǐng)?zhí)枴緾N201510195036【發(fā)明人】高曦,楊華,張宏宇【申請(qǐng)人】北京北信源軟件股份有限公司【公開日】2015年7月22日【申請(qǐng)日】2015年4月23日