CN108932430A - 一种基于软件基因技术的恶意软件检测方法 - Google Patents
一种基于软件基因技术的恶意软件检测方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static 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%,则识别待检测样本为非恶意软件。
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)
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)
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 | 中国人民解放军战略支援部队信息工程大学 | 基于软件基因的恶意代码检测与识别方法及装置 |
-
2018
- 2018-07-02 CN CN201810708066.4A patent/CN108932430A/zh active Pending
Patent Citations (6)
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)
Title |
---|
冯亚玲等: "基于系统调用的恶意软件检测技术研究", 《信息安全研究》 * |
杨洪深等: "基于中间代码的恶意软件检测技术研究", 《四川大学学报(自然科学版)》 * |
顾小琪等: "基于网络行为基因序列的恶意代码识别", 《技术天地》 * |
Cited By (7)
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 |