CN108932430A - 一种基于软件基因技术的恶意软件检测方法 - Google Patents

一种基于软件基因技术的恶意软件检测方法 Download PDF

Info

Publication number
CN108932430A
CN108932430A CN201810708066.4A CN201810708066A CN108932430A CN 108932430 A CN108932430 A CN 108932430A CN 201810708066 A CN201810708066 A CN 201810708066A CN 108932430 A CN108932430 A CN 108932430A
Authority
CN
China
Prior art keywords
sample
detected
genome
gene
family
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810708066.4A
Other languages
English (en)
Inventor
文伟平
杨芳芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN201810708066.4A priority Critical patent/CN108932430A/zh
Publication of CN108932430A publication Critical patent/CN108932430A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection

Abstract

本发明公布了一种基于软件基因技术的恶意软件检测方法,对待检测样本进行基因提取,将提取得到的基因组与僵木蠕毒家族基因库进行比对,计算相似度,从而将待检测样本识别为是否是恶意软件。本发明可作为一种恶意软件的辅助检测手段,有效地减少现有恶意软件检测方法对恶意软件的漏报率。

Description

一种基于软件基因技术的恶意软件检测方法
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于软件基因技术的恶意软件检测方法。
背景技术
随着信息技术的飞速发展,数据毋庸置疑成为了一种宝贵的资源。与此同时,伴随而来的信息安全问题也日益突出。
近年来,恶意软件导致的数据丢失、信息泄露、系统瘫痪等信息安全事件层出不穷,极大地影响了个人隐私、企业信用、乃至国家安全。因此,对恶意软件进行检测识别愈发重要。而网络技术应用的越发普遍、软件多样性的爆炸式发展和大数据时代的到来,使得现有传统的依靠特征值检测的恶意软件检测方法不足以很好地对恶意软件进行识别。
发明内容
本发明的目的是提供一种基于软件基因技术的恶意软件检测方法,可作为一种辅助检测手段,减少依靠特征值识别恶意软件方法的漏报率。
软件基因如同生物的基因,可以表达出软件体的功能与信息。对于软件来说,比较关键的基因包括各模块依赖关系、典型的代码行、程序执行路径、行为模式、API调用信息等。本发明选择提取的软件基因有各模块依赖关系、API调用信息。在软件基因层次对恶意软件进行分析,可以很好地对恶意软件进行识别及归类。
本发明提供的技术方案如下:
一种基于软件基因技术的恶意软件检测方法,基于软件基因技术对待检测样本进行基因提取,将提取得到的基因组与僵木蠕毒家族基因库进行比对,计算相似度,从而对样本进行识别;包括如下步骤:
步骤一、在客户端,上传本地待检测样本到服务器端。
步骤二、在服务器端,对待检测样本进行基因提取;包括各模块依赖关系的提取和API调用信息的提取,得到待检测样本的基因组。
具体实施时,本发明利用Understand工具提取得到待检测样本各模块依赖关系,并将生成的程序各模块依赖关系数据整理导出为CSV文件,作为样本基因组的一部分。
本发明利用WinAPIOverride工具对样本的API调用信息进行监测,并将收集到的数据整理导出为CSV文件,作为样本基因组的一部分。
步骤三、在服务器端预设僵木蠕毒家族基因库;在服务器端加载预设的僵木蠕毒家族基因库,并通过模式匹配算法,将步骤二所提取的待检测样本的基因组分别与每一家族的基因库进行对比分析。模式匹配算法可采用KMP(Knuth-Morris-Pratt)算法。
僵木蠕毒分别代表僵尸病毒,木马病毒、蠕虫病毒,以及其它病毒。
具体实施时,执行如下操作:
31)在服务器端预设僵木蠕毒家族基因库;预设僵木蠕毒家族基因库具体通过下述方法
构建:
311)通过论坛或Github平台获取预设的僵木蠕毒样本库,得到归类好的样本;
312)依次对所获取的僵木蠕毒样本库中的样本,通过步骤二的基因提取方法进行软件基因提取,得到样本的软件基因组;
313)更新家族基因库:对步骤312)中提取得到的每一个样本的软件基因组进行检查,检查该样本所对应的恶意软件家族基因库中是否包含该样本的基因组。若未包含,则将所提取样本的基因组添加到其所对应的家族基因库中。若已包含,则不再将所提取样本的基因组添加到其所对应的家族基因库中。
32)通过KMP算法将所提取的待检测样本的基因组分别与僵木蠕毒家族基因库中每一家族的基因库进行对比分析,获得待检测样本与各恶意软件家族基因库的相似度;
33)设置相似度阈值,将所得相似度与相似度阈值进行比较,判断待检测样本是否为恶意软件及其所属恶意软件家族。
例如,可以预先设置若所述相似度大于70%,则根据相匹配的基因组对应的家族类型确定待检测样本的恶意软件类型。若所述相似度低于70%,则认为待检测样本非恶意软件。
步骤四、服务器将待检测样本的检测结果返回给客户端。
通过上述步骤,实现基于软件基因技术的恶意软件检测。
与现有技术相比,本发明的有益效果:
利用本发明提供的技术方案,基于软件基因技术对待检测样本进行基因提取,将提取得到的基因组与僵木蠕毒家族基因库进行比对,计算相似度,从而对样本进行识别;本发明可以作为一种恶意软件的辅助检测手段,有效地减少现有恶意软件检测方法对恶意软件的漏报率。
附图说明
图1是本发明提供方法的流程框图。
具体实施方式
本发明给出了一种基于软件基因技术的恶意软件检测方法,为了更好地理解本发明的技术方案,下面结合附图,通过实施例对本发明中技术方案作进一步详细的说明。
图1所示是本发明提供方法的流程,本发明的具体实施方式如下:
步骤一、在客户端,上传本地待检测样本。本地待检测样本可以为脚本文件、可执行文件等。
步骤二、在服务器端,对待检测样本进行基因提取,包括各模块依赖关系的提取和API调用信息的提取,得到待检测样本的基因组。
针对各模块依赖关系的提取,本发明借助Understand工具,Understand可自动生成程序各模块依赖关系信息,并将生成的程序各模块依赖关系的数据整理导出为CSV(Comma-Separated Values,逗号分隔值)文件,作为样本基因组的一部分。
针对API调用信息的提取,本发明借助WinAPIOverride工具对样本的API调用信息进行监测,并将收集到的数据整理导出为CSV文件,作为样本基因组的一部分。
以上基因提取方法,并不仅仅是针对本地上传的检测样本,服务器端预设的恶意软件家族基因库中的基因也通过此方法从预设的恶意软件样本库获取到。
步骤三、在服务器端加载预设的僵木蠕毒家族基因库,并通过KMP(Knuth-Morris-Pratt)算法(一种模式匹配算法)将所提取的待检测样本的基因组分别与各恶意软件家族的基因库(僵木蠕毒家族基因库)进行对比分析。KMP算法可以获得待检测样本与各恶意软件家族基因库的相似度,根据所得相似度来判断待检测样本是否为恶意软件及其所属恶意软件家族。KMP算法能够比较两个字符串之间的公共子串,通过公共子串的数量和长度,可以确定两个字符串的相识度。在这里也就是可以确定检测样本与对比样本的基因相似度。例如,可以预先设置若所述相似度大于70%,则根据相匹配的基因组对应的家族类型确定待检测样本的恶意软件类型。若所述相似度低于70%,则认为待检测样本非恶意软件。
所述预设僵木蠕毒家族基因库是通过下述方法构建的:
预设僵木蠕毒样本库可通过各大论坛(如卡饭论坛)或者Github获取。
Github是一个面向开源及私有软件项目的托管平台,支持git作为唯一的版本库格式进行托管。从卡饭论坛或Github上可直接下载得到按家族归类好的僵木蠕毒基因库,作为本发明预设的僵木蠕毒样本库。
对所获取的僵木蠕毒样本库中的样本依次进行软件基因提取,并对提取得到的每一个样本的软件基因组进行检查,检查该样本所对应的恶意软件家族基因库中是否包含该样本的基因组。若未包含,则将所提取样本的基因组添加到其所对应的家族基因库中。若已包含,则不再将所提取样本的基因组添加到其所对应的家族基因库中。
步骤四、服务器将待检测样本的检测结果返回给客户端。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (4)

1.一种基于软件基因技术的恶意软件检测方法,对待检测样本进行基因提取,将提取得到的基因组与僵木蠕毒家族基因库进行比对,计算相似度,从而将待检测样本识别为是否是恶意软件;包括如下步骤:
步骤一、在客户端,上传本地待检测样本到服务器端;
步骤二、在服务器端,对待检测样本进行基因提取,得到待检测样本的基因组;提取基因包括待检测样本各模块依赖关系和API调用信息;
步骤三、在服务器端预设僵木蠕毒家族基因库;加载服务器端预设的僵木蠕毒家族基因库,通过模式匹配算法,将步骤二提取得到的待检测样本的基因组分别与服务器端预设的僵木蠕毒家族基因库中每一家族的基因进行对比分析;具体执行如下操作:
31)在服务器端预设僵木蠕毒家族基因库;
32)通过KMP算法将所提取的待检测样本的基因组分别与僵木蠕毒家族基因库中每一家族的基因库进行对比分析,获得待检测样本与各恶意软件家族基因库的相似度;
33)设置相似度阈值,将所得相似度与相似度阈值进行比较,判断待检测样本是否为恶意软件及其所属恶意软件家族;
步骤四、服务器将待检测样本的检测结果返回给客户端;
通过上述步骤,实现基于软件基因技术的恶意软件检测。
2.如权利要求1所述基于软件基因技术的恶意软件检测方法,其特征是,步骤二对待检测样本进行基因提取,具体执行如下操作:
21)利用Understand工具提取得到待检测样本各模块依赖关系,并将生成的程序各模块依赖关系数据整理导出为CSV文件,作为样本基因组的一部分;
22)利用WinAPIOverride工具对样本的API调用信息进行监测,并将收集到的数据整理导出为CSV文件,作为样本基因组的一部分;
合成步骤21)、22)得到的CSV文件,即得到待检测样本的基因组。
3.如权利要求1所述基于软件基因技术的恶意软件检测方法,其特征是,步骤31)预设僵木蠕毒家族基因库具体通过下述方法构建:
311)通过论坛或Github平台获取预设的僵木蠕毒样本库,整理得到按家族归类好的僵木蠕毒样本库;
312)依次对所获取的僵木蠕毒样本库中的样本,通过步骤二的基因提取方法进行软件基因提取,得到样本的软件基因组;
313)更新家族基因库:对步骤312)中提取得到的每一个样本的软件基因组进行检查,检查该样本所对应的恶意软件家族基因库中是否包含该样本的基因组;若未包含,则将所提取样本的基因组添加到其所对应的家族基因库中。若已包含,则不再将所提取样本的基因组添加到其所对应的家族基因库中。
4.如权利要求1所述基于软件基因技术的恶意软件检测方法,其特征是,步骤33)设置相似度阈值为70%;当相似度大于70%时,识别待检测样本为恶意软件,进一步根据相匹配的基因组对应的家族类型确定待检测样本的恶意软件类型;若相似度低于等于70%,则识别待检测样本为非恶意软件。
CN201810708066.4A 2018-07-02 2018-07-02 一种基于软件基因技术的恶意软件检测方法 Pending CN108932430A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810708066.4A CN108932430A (zh) 2018-07-02 2018-07-02 一种基于软件基因技术的恶意软件检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810708066.4A CN108932430A (zh) 2018-07-02 2018-07-02 一种基于软件基因技术的恶意软件检测方法

Publications (1)

Publication Number Publication Date
CN108932430A true CN108932430A (zh) 2018-12-04

Family

ID=64447205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810708066.4A Pending CN108932430A (zh) 2018-07-02 2018-07-02 一种基于软件基因技术的恶意软件检测方法

Country Status (1)

Country Link
CN (1) CN108932430A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362968A (zh) * 2019-07-16 2019-10-22 腾讯科技(深圳)有限公司 信息检测方法、装置及服务器
CN110618930A (zh) * 2019-08-12 2019-12-27 上海戎磐网络科技有限公司 全球软件基因数据库系统、软件基因的处理方法及介质
CN110704103A (zh) * 2019-09-04 2020-01-17 中国人民解放军战略支援部队信息工程大学 基于软件基因的二进制文件语义相似性比较方法及装置
CN110866249A (zh) * 2018-12-11 2020-03-06 北京安天网络安全技术有限公司 一种动态检测恶意代码的方法、装置及电子设备
CN111291372A (zh) * 2020-01-21 2020-06-16 上海戎磐网络科技有限公司 一种基于软件基因技术对终端设备文件检测的方法及装置
CN114064005A (zh) * 2021-11-18 2022-02-18 上海戎磐网络科技有限公司 基于软件基因的编程语言类型识别方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020072862A1 (en) * 2000-08-22 2002-06-13 Christophe Person Creation of a unique sequence file
CN101930517A (zh) * 2010-10-13 2010-12-29 四川通信科研规划设计有限责任公司 一种僵尸程序的检测方法
CN104331436A (zh) * 2014-10-23 2015-02-04 西安交通大学 基于家族基因码的恶意代码快速归类方法
CN107679403A (zh) * 2017-10-11 2018-02-09 北京理工大学 一种基于序列比对算法的勒索软件变种检测方法
CN108063768A (zh) * 2017-12-26 2018-05-22 河南信息安全研究院有限公司 基于网络基因技术的网络恶意行为识别方法及装置
CN108171059A (zh) * 2017-12-26 2018-06-15 中国人民解放军战略支援部队信息工程大学 基于软件基因的恶意代码检测与识别方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020072862A1 (en) * 2000-08-22 2002-06-13 Christophe Person Creation of a unique sequence file
CN101930517A (zh) * 2010-10-13 2010-12-29 四川通信科研规划设计有限责任公司 一种僵尸程序的检测方法
CN104331436A (zh) * 2014-10-23 2015-02-04 西安交通大学 基于家族基因码的恶意代码快速归类方法
CN107679403A (zh) * 2017-10-11 2018-02-09 北京理工大学 一种基于序列比对算法的勒索软件变种检测方法
CN108063768A (zh) * 2017-12-26 2018-05-22 河南信息安全研究院有限公司 基于网络基因技术的网络恶意行为识别方法及装置
CN108171059A (zh) * 2017-12-26 2018-06-15 中国人民解放军战略支援部队信息工程大学 基于软件基因的恶意代码检测与识别方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
冯亚玲等: "基于系统调用的恶意软件检测技术研究", 《信息安全研究》 *
杨洪深等: "基于中间代码的恶意软件检测技术研究", 《四川大学学报(自然科学版)》 *
顾小琪等: "基于网络行为基因序列的恶意代码识别", 《技术天地》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110866249A (zh) * 2018-12-11 2020-03-06 北京安天网络安全技术有限公司 一种动态检测恶意代码的方法、装置及电子设备
CN110362968A (zh) * 2019-07-16 2019-10-22 腾讯科技(深圳)有限公司 信息检测方法、装置及服务器
CN110618930A (zh) * 2019-08-12 2019-12-27 上海戎磐网络科技有限公司 全球软件基因数据库系统、软件基因的处理方法及介质
CN110704103A (zh) * 2019-09-04 2020-01-17 中国人民解放军战略支援部队信息工程大学 基于软件基因的二进制文件语义相似性比较方法及装置
CN111291372A (zh) * 2020-01-21 2020-06-16 上海戎磐网络科技有限公司 一种基于软件基因技术对终端设备文件检测的方法及装置
CN111291372B (zh) * 2020-01-21 2024-04-30 上海戎磐网络科技有限公司 一种基于软件基因技术对终端设备文件检测的方法及装置
CN114064005A (zh) * 2021-11-18 2022-02-18 上海戎磐网络科技有限公司 基于软件基因的编程语言类型识别方法和装置

Similar Documents

Publication Publication Date Title
CN108932430A (zh) 一种基于软件基因技术的恶意软件检测方法
CN111639337B (zh) 一种面向海量Windows软件的未知恶意代码检测方法及系统
CN106951780B (zh) 重打包恶意应用的静态检测方法和装置
CN106503558B (zh) 一种基于社团结构分析的Android恶意代码检测方法
Bao et al. {BYTEWEIGHT}: Learning to recognize functions in binary code
KR101162051B1 (ko) 문자열 비교 기법을 이용한 악성코드 탐지 및 분류 시스템 및 그 방법
CN101924761B (zh) 一种依据白名单进行恶意程序检测的方法
CN103839003B (zh) 恶意文件检测方法及装置
Crussell et al. Andarwin: Scalable detection of android application clones based on semantics
US9454658B2 (en) Malware detection using feature analysis
RU2427890C2 (ru) Система и способ сравнения файлов на основе шаблонов функциональности
Gandotra et al. Zero-day malware detection
CN103761481A (zh) 一种恶意代码样本自动处理的方法及装置
CN109753800A (zh) 融合频繁项集与随机森林算法的Android恶意应用检测方法及系统
CN109271788B (zh) 一种基于深度学习的Android恶意软件检测方法
RU91213U1 (ru) Система автоматического составления описания и кластеризации различных, в том числе и вредоносных, объектов
CN104933364B (zh) 一种基于调用行为的恶意代码自动化同源判定方法及系统
CN106529294B (zh) 一种用于手机病毒判定与过滤的方法
CN107679403A (zh) 一种基于序列比对算法的勒索软件变种检测方法
CN103810428B (zh) 一种宏病毒检测方法及装置
CN103475671B (zh) 恶意程序检测方法
KR101520671B1 (ko) 실행코드 유사도 분석 시스템 및 방법
CN103607381A (zh) 白名单生成及恶意程序检测方法、客户端和服务器
CN113935033A (zh) 特征融合的恶意代码家族分类方法、装置和存储介质
CN108959922B (zh) 一种基于贝叶斯网的恶意文档检测方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20181204