基于文件字符串聚類的劃分同源家族和變種的方法及系統的制作方法
【技術領域】
[0001]本發明涉及網絡安全領域,特別涉及一種基于文件字符串聚類的二級劃分同源家族方法及系統。
【背景技術】
[0002]隨著網絡和計算技術的快速發展,惡意代碼的種類、傳播速度、感染數量和影響范圍都在逐漸增強,同時互聯網的開發性也加快了惡意代碼的傳播,特別是人們可以直接從網站獲得惡意代碼源碼或通過網絡交流代碼。因此,隨著越來越多的惡意代碼軟件的開源代碼和生成器在網絡上公開發布,所以目前網絡上流行的惡意代碼及其變種層次不窮,種類繁多,特點多樣化。
[0003]那么,如何從這些眾多的惡意代碼樣本中,獲取其共性及差異,從而進一步來劃分其同源家族及其變種演化關系,并形成檢測規則來對抗惡意代碼,保障網絡安全。
[0004]目前的病毒樣本的生成方式主要分為生成器生成和源碼編譯生成。生成器能夠對惡意代碼的域名、IP、文件名、服務名、啟動方式、版本等配置信息進行修改設定,這樣生成的就是一個新的病毒樣本,但實質上是屬于一個家族,甚至同一個變種類型。而對源碼的修改來截取器部分功能或增加其他功能,然后編譯生成新的病毒樣本,有可能是生成相同家族或變種,也可能是不同的家族。
【發明內容】
[0005]基于上述情況,本發明提出了一種基于文件字符串聚類的劃分同源家族及變種的方法及系統,能夠利用樣本的同源關系及共性特征進行家族歸類,并發現新的病毒家族,利用同家族變種樣本的演化關系及差異特征,進行增量劇烈劃分變種的類型。
[0006]—種基于文件字符串聚類的劃分同源家族及變種的方法,包括:
對目標文件進行動態分析及靜態分析,獲取目標文件中的dump文件及API調用記錄文件;
提取所述dump文件中的指定字符串,形成字符串向量文件;
計算所述字符串向量文件中向量的simhash值,并比較所述simhash值與家族特征向量庫中各已知惡意代碼家族中心值的距離,若距離小于預設值,則所述目標文件屬于距離小于預設值的對應惡意代碼家族,并進行下一步;否則所述目標文件為新的惡意代碼家族,并將所述目標文件及其向量信息作為新的惡意代碼家族添加到家族特征向量庫中;
提取所述目標文件的API調用記錄文件中的API及其參數信息,形成API向量文件;計算所述API向量文件中API向量的simhash值,并比較所述simhash值與目標文件所屬對應惡意代碼家族中各已知家族變種中心值的距離,若距離小于預設值,則所述目標文件屬于距離小于預設值的家族變種,并將所述目標文件及其向量信息添加到家族特征向量庫中;否則所述目標文件為當前惡意代碼家族的新家族變種,并將所述目標文件及其向量信息作為新家族變種,添加到家族特征向量庫中。
[0007]所述的方法中,所述的將所述目標文件及其向量信息作為新的惡意代碼家族添加到家族特征向量庫中,還包括:將所述目標文件的字符串向量文件中向量的simhash值為所述目標文件的中心值。
[0008]所述的方法中,所述將所述目標文件及其向量信息作為新家族變種,添加到家族特征向量庫中,還包括:將所述目標文件的API向量文件中API向量的simhash值為所述目標文件家族變種的中心值。
[0009]—種基于文件字符串聚類的劃分同源家族及變種的系統,包括:
動靜態分析模塊,用于對目標文件進行動態分析及靜態分析,獲取目標文件中的dump文件及API調用記錄文件;
字符串向量提取模塊,用于提取所述dump文件中的指定字符串,形成字符串向量文件;
字符串向量比較模塊,用于計算所述字符串向量文件中向量的simhash值,并比較所述simhash值與家族特征向量庫中各已知惡意代碼家族中心值的距離,若距離小于預設值,則所述目標文件屬于距離小于預設值的對應惡意代碼家族,并進行下一步;否則所述目標文件為新的惡意代碼家族,并將所述目標文件及其向量信息作為新的惡意代碼家族添加到家族特征向量庫中;
API向量提取模塊,用于提取所述目標文件的API調用記錄文件中的API及其參數信息,形成API向量文件;
API向量比較模塊,用于計算所述API向量文件中API向量的simhash值,并比較所述simhash值與目標文件所屬對應惡意代碼家族中各已知家族變種中心值的距離,若距離小于預設值,則所述目標文件屬于距離小于預設值的家族變種,并將所述目標文件及其向量信息添加到家族特征向量庫中;否則所述目標文件為當前惡意代碼家族的新家族變種,并將所述目標文件及其向量信息作為新家族變種,添加到家族特征向量庫中。
[0010]所述的系統中,所述的將所述目標文件及其向量信息作為新的惡意代碼家族添加到家族特征向量庫中,還包括:將所述目標文件的字符串向量文件中向量的simhash值為所述目標文件的中心值。
[0011]所述的系統中,所述的將所述目標文件及其向量信息作為新家族變種,添加到家族特征向量庫中,還包括:將所述目標文件的API向量文件中API向量的simhash值為所述目標文件家族變種的中心值。
[0012]本發明的優勢在于,利用了家族樣本的同源關系及共性特征進行家族歸類,利用同家族變種樣本的演化關系及差異特征,進行增量中心點聚類劃分變種類型。
[0013]本發明提出了一種基于文件字符串聚類的劃分同源家族和變種的方法及系統,本發明通過獲取目標文件的dump文件及API調用記錄文件,并提取其字符串和API及參數信息,形成向量文件,計算器simhash值,與家族特征向量庫中的已知家族及家族變種的中心距離相比較,如果小于預設值,則所述目標文件屬于對應家族或家族變種,否則為新增的家族或家族變種。通過本發明,能夠對大批量的未知目標文件進行家族歸類,并能進一步對其變種進行劃分,同時其形成的家族向量特征庫可以用來對樣本的家族及其變種進行判別。
【附圖說明】
[0014]為了更清楚地說明本發明或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明中記載的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0015]圖1為本發明基于文件字符串聚類的劃分同源家族及變種方法的實施例流程圖;圖2為本發明基于文件字符串聚類的劃分同源家族及變種系統的實施例示意圖。
【具體實施方式】
[0016]為了使本技術領域的人員更好地理解本發明實施例中的技術方案,并使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖對本發明中技術方案作進一步詳細的說明。
[0017]基于上述情況,本發明提出了一種基于文件字符串聚類的二級劃分同源家族及變種的方法及系統,能夠利用樣本的同源關系及共性特征進行家族歸類,并發現新的病毒家族,利用同家族變種樣本的演化關系及差異特征,進行增量劇烈劃分變種的類型。
[0018]—種基于文件字符串聚類的劃分同源家族及變種的方法,如圖1所示,包括:
5101:對目標文件進行動態分析及靜態分析,獲取目標文件中的dump文件及API調用記錄文件;dump文件是病毒樣本運行時的內存信息文件,病毒樣本大多進行了加殼等加密保護,可以通過沙箱技術運行樣本,獲取dump文件;
5102:提取所述dump文件中的指定字符串,形成字符串向量文件;
5103:計算所述字符串向量文件中向量的simhash值,并比較所述simhash值與家族特征向量庫中各已知惡意代碼家族中心值的距離,若距離小于預設值,則執行S104;否則所述目標文件為新的惡意代碼家族,并將所述目標文件及其向量信息作為新的惡意代碼家族添加到家族特征向量庫中;
如若與家族中心點的距離小于8,則目標樣本分類到該家族;若與家族特征向量庫中各家族中心點距離均大于8,則為新家族,目標樣本的字符串向量的simhash值為新家族中心點;
5104:所述目標文件屬于距離小于預設值的對應惡意代碼家族,并進行下一步;
5105:提取所述目標文件的API調用記錄文件中的API及其參數信息,形成API向量文件;
5106:計算所述API向量文件中API向量的simhash值,并比較所述simhash值與目標文件所屬對應惡意代碼家族中各已知家族變種中心值的距離,若距離小于預設值,則執行S107;否則所述目標文件為當前惡意代碼家族的新家族變種,并將所述目標文件及其向量信息作為新家族變種,添加到家族特征向量庫中;目標文件的API向量的simhash值為新家族變種的中心值;
5107:所述目標文件屬于距離小于預設值的家族變種。
[0019]所述的方法中,所述的將所述目標文件及其向量信息作為新的惡意代碼家族添加到家族特征向量庫中,還包括:將所述目標文件的字符串向量文件中向量的simhash值為所述目標文件的中心值。
[0020]所述的方法中,所