CN108804922A - 一种未知代码的属性判断方法 - Google Patents
一种未知代码的属性判断方法 Download PDFInfo
- Publication number
- CN108804922A CN108804922A CN201810539155.0A CN201810539155A CN108804922A CN 108804922 A CN108804922 A CN 108804922A CN 201810539155 A CN201810539155 A CN 201810539155A CN 108804922 A CN108804922 A CN 108804922A
- Authority
- CN
- China
- Prior art keywords
- sample
- unknown
- daily record
- api calls
- code
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种未知代码的属性判断方法,基于相似性哈希算法,具体包括以下方法:搜集不同类别的恶意代码样本;对所搜集的样本进行沙盒分析,生成所搜集样本的API调用序列日志;计算所搜集样本的API调用序列日志的相似性哈希值;对未知样本进行沙盒分析,生成未知样本的API调用序列日志;计算未知样本的API调用序列日志的相似性哈希值,量化与各类恶意代码的平均相似程度;实现对未知代码的分析和判定,可视化判断结果。
Description
技术领域
本发明涉及系统安全技术领域,具体地说是一种未知代码的属性判断方法。
背景技术
主机安全保护的关键在于对恶意代码攻击的检测与识别能力。现有的恶意代码属性判断,大多通过静态特征码匹配的方式,即使用特征库匹配后的表项标签,对未知样本进行打标。例如,Trojan/Win32.TSGeneric就标记了Windows操作系统下的一类木马软件。然而,特征库的更新速度常常落后于恶意代码爆发式的变异速度,导致对于未知代码的判定具有滞后性和高误判率。此外,不同杀毒软件厂商对同一样本的标记不仅命名格式大相径庭,分类结果也往往不尽相同;同时,随着如WannaCry等混合型攻击的出现,病毒、蠕虫、木马之间的界限已不再明显,单一的恶意代码属性标记很难准确反映或定义代码的整体行为。
发明内容
本发明实施例中提供了一种未知代码的属性判断方法,以解决现有技术对于未知代码的判定具有滞后性和高误判率,单一的恶意代码属性标记很难准确反映或定义代码的整体行为的问题
为了解决上述技术问题,本发明实施例公开了如下技术方案:
一种未知代码的属性判断方法,基于相似性哈希算法,具体包括以下方法:
对未知样本进行沙盒分析,生成未知样本的API调用序列日志;
计算未知样本的API调用序列日志的相似性哈希值,量化与各类恶意代码的平均相似程度。
在第一种可能实现的方式中,在上述步骤之前还需要生成未知样本的对照标准值,具体包括以下步骤:
搜集不同类别的恶意代码样本;
对所搜集的样本进行沙盒分析,生成所搜集样本的API调用序列日志;
计算所搜集样本的API调用序列日志的相似性哈希值。
在第二种可能实现的方式中,样本的搜集包括以下方法:
在每种恶意代码下选择典型的样本N个,N为正整数;N值的选取由判断精度的本地策略决定。
在第三种可能实现的方式中,对所搜集的样本进行沙盒分析,生成所搜集样本的API调用序列日志包括以下方法:
使用开源沙盒Cuckoo环境对恶意样本进行批量化分析;
将选定样本上传至配置好的虚拟机中运行,得到样本的行为数据,样本的行为数据即API调用序列日志。
在第四种可能实现的方式中,对未知样本进行沙盒分析,生成未知样本的API调用序列日志包括以下方法:
对于选定的未知代码程序,上传至Cuckoo沙盒进行行为分析,得到未知样本的API调用序列日志。
在第五种可能实现的方式中,计算未知样本的API调用序列日志的相似性哈希值,量化与各类恶意代码的平均相似程度包括以下方法:
对未知样本的行为日志文件,计算其哈希值Hash未;
比较Hash未与所搜集样本的API调用序列日志哈希值的相似度,得到相似度分数M,M介于0与100之间;
对于每一类恶意代码,便可以得到相似度分数M1,M2,…,MN;
计算未知代码与该类恶意代码的平均相似程度A=(M1+M2+…+MN)/N。
在第六种可能实现的方式中,所述相似度分数M为0表示Hash未与所搜集样本的API调用序列日志哈希值完全不同;
相似度分数M为100表示Hash未与所搜集样本的API调用序列日志哈希值完全相同。
在第七种可能实现的方式中,还包括根据预设的两类威胁门限值T1、T2进行对未知样本的分析和判定,具体包括以下方法:
平均相似度低于第一类门限值T1的未知代码视作正常,平均相似度介于第一类门限值T1和第二类门限值T2之间的未知代码视作可疑,平均相似度高于第二类门限值T2的未知代码视作高危。
在第八种可能实现的方式中,还包括可视化判断结果,具体包括以下方法:以恶意代码的类别为极坐标系极轴方向,均匀划分整个二维极坐标平面,使用雷达图的方式呈现对未知代码属性判断的结果,各个极轴方向上的极径长度即为每个类别下的平均相似度分数。
由以上技术方案可见,本发明通过相似性哈希算法的未知代码属性判断方法,可以有效、快速、准确地识别和判定在主机中运行的未知代码,具有多重恶意属性的蠕虫、木马、勒索病毒等均可检测,显著提升了终端主机系统的安全性和对潜在威胁的感知能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种未知代码的属性判断方法的流程示意图;
图2为本发明实施例计算未知样本的API调用序列日志的相似性哈希值,量化与各类恶意代码的平均相似程度的方法流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,一种未知代码的属性判断方法,基于相似性哈希算法,具体包括以下方法:
S1、搜集不同类别的恶意代码样本;
S2、对所搜集的样本进行沙盒分析,生成所搜集样本的API调用序列日志;
S3、计算所搜集样本的API调用序列日志的相似性哈希值;
S4、对未知样本进行沙盒分析,生成未知样本的API调用序列日志;
S5、计算未知样本的API调用序列日志的相似性哈希值,量化与各类恶意代码的平均相似程度;
S6、实现对未知代码的分析和判定,可视化判断结果。
恶意代码包括勒索病毒、木马/僵尸软件、蠕虫、银行账号窃取软件、广告软件、间谍软件、钓鱼软件、漏洞利用提权软件、沙盒逃逸软件。
S1中样本的搜集包括以下方法:
在每种恶意代码下选择典型的样本N个,N为正整数;
N值的选取由判断精度的本地策略决定,N值越大,可以更准确地描述特定的恶意代码类别。
S2中对所搜集的样本进行沙盒分析,生成所搜集样本的API调用序列日志包括以下方法:
使用开源沙盒Cuckoo环境对恶意样本进行批量化分析;
将选定样本上传至配置好的虚拟机中运行,得到样本的行为数据,样本的行为数据即API调用序列日志。
S3中计算API调用序列日志的相似性哈希值包括以下方法:
使用相似性摘要哈希算法sdhash,对API调用序列日志进行哈希值的计算,并存储哈希值于本地
S4中对未知样本进行沙盒分析,生成未知样本的API调用序列日志包括以下方法:
对于选定的未知代码程序,上传至Cuckoo沙盒进行行为分析,得到未知样本的API调用序列日志。
如图2所示,S5中计算未知样本的API调用序列日志的相似性哈希值,量化与各类恶意代码的平均相似程度包括以下方法:
S51、对未知样本的行为日志文件,使用sdhash计算其哈希值Hash未;
S52、根据sdhash算法,比较Hash未与所搜集样本的API调用序列日志哈希值的相似度,得到一个得到介于0与100之间的相似度分数M;
S53、对于每一类恶意代码,便可以得到相似度分数M1,M2,…,MN;
S54、进一步计算未知代码与该类恶意代码的平均相似程度A=(M1+M2+…+MN)/N。
相似度分数M为0表示Hash未与所搜集样本的API调用序列日志哈希值完全不同;相似度分数M为100表示Hash未与所搜集样本的API调用序列日志哈希值完全相同。
S6中实现对未知代码的分析和判定包括以下方法:
根据预设的两类威胁门限值T1、T2;
低于第一类门限值T1的平均相似度视作正常,介于第一类门限值T1和第二类门限值T2之间的相似度视作可疑,高于第二类门限值T2的相似度视作高危。
不同级别的相似度显示不同的颜色,如:对于正常级别的相似度,相应的类别名称显示为绿色;对于可疑级别的相似度,相应的类别名称显示为橙色;而对于可疑级别的相似度,相应的类别名称显示为红色。
可视化判断结果包括以下方法:以恶意代码的类别为极坐标系极轴方向,均匀划分整个二维极坐标平面,使用雷达图的方式呈现对未知代码属性判断的结果,各个极轴方向上的极径长度即为每个类别下的平均相似度分数。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种未知代码的属性判断方法,其特征是,基于相似性哈希算法,具体包括以下方法:
对未知样本进行沙盒分析,生成未知样本的API调用序列日志;
计算未知样本的API调用序列日志的相似性哈希值,量化与各类恶意代码的平均相似程度。
2.根据权利要求1所述的方法,其特征是,在上述步骤之前还需要生成未知样本的对照标准值,具体包括以下步骤:
搜集不同类别的恶意代码样本;
对所搜集的样本进行沙盒分析,生成所搜集样本的API调用序列日志;
计算所搜集样本的API调用序列日志的相似性哈希值。
3.根据权利要求2所述的方法,其特征是,样本的搜集包括以下方法:
在每种恶意代码下选择典型的样本N个,N为正整数;N值的选取由判断精度的本地策略决定。
4.根据权利要求2所述的方法,其特征是,对所搜集的样本进行沙盒分析,生成所搜集样本的API调用序列日志包括以下方法:
使用开源沙盒Cuckoo环境对恶意样本进行批量化分析;
将选定样本上传至配置好的虚拟机中运行,得到样本的行为数据,样本的行为数据即API调用序列日志。
5.根据权利要求1所述的方法,其特征是,对未知样本进行沙盒分析,生成未知样本的API调用序列日志包括以下方法:
对于选定的未知代码程序,上传至Cuckoo沙盒进行行为分析,得到未知样本的API调用序列日志。
6.根据权利要求1所述的方法,其特征是,计算未知样本的API调用序列日志的相似性哈希值,量化与各类恶意代码的平均相似程度包括以下方法:
对未知样本的行为日志文件,计算其哈希值Hash未;
比较Hash未与所搜集样本的API调用序列日志哈希值的相似度,得到相似度分数M,M介于0与100之间;
对于每一类恶意代码,便可以得到相似度分数M1,M2,…,MN;
计算未知代码与该类恶意代码的平均相似程度A=(M1+M2+…+MN)/N。
7.根据权利要求6所述的方法,其特征是,所述相似度分数M为0表示Hash未与所搜集样本的API调用序列日志哈希值完全不同;
相似度分数M为100表示Hash未与所搜集样本的API调用序列日志哈希值完全相同。
8.根据权利要求1所述的方法,其特征是,还包括根据预设的两类威胁门限值T1、T2进行对未知样本的分析和判定,具体包括以下方法:
平均相似度低于第一类门限值T1的未知代码视作正常,平均相似度介于第一类门限值T1和第二类门限值T2之间的未知代码视作可疑,平均相似度高于第二类门限值T2的未知代码视作高危。
9.根据权利要求8所述的方法,其特征是,还包括可视化判断结果,具体包括以下方法:以恶意代码的类别为极坐标系极轴方向,均匀划分整个二维极坐标平面,使用雷达图的方式呈现对未知代码属性判断的结果,各个极轴方向上的极径长度即为每个类别下的平均相似度分数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810539155.0A CN108804922A (zh) | 2018-05-30 | 2018-05-30 | 一种未知代码的属性判断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810539155.0A CN108804922A (zh) | 2018-05-30 | 2018-05-30 | 一种未知代码的属性判断方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108804922A true CN108804922A (zh) | 2018-11-13 |
Family
ID=64089440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810539155.0A Pending CN108804922A (zh) | 2018-05-30 | 2018-05-30 | 一种未知代码的属性判断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108804922A (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989283A (zh) * | 2015-02-06 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种识别病毒变种的方法及装置 |
-
2018
- 2018-05-30 CN CN201810539155.0A patent/CN108804922A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989283A (zh) * | 2015-02-06 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种识别病毒变种的方法及装置 |
Non-Patent Citations (1)
Title |
---|
龚琪等: "基于序列比对的勒索病毒同源性分析", 《计算机与现代化》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908963B (zh) | 一种自动化检测恶意代码核心特征的方法 | |
CN110958220B (zh) | 一种基于异构图嵌入的网络空间安全威胁检测方法及系统 | |
Makandar et al. | Malware class recognition using image processing techniques | |
Vikram | Anomaly detection in network traffic using unsupervised machine learning approach | |
CN105247532B (zh) | 使用硬件特征的对异常进程的无监督的检测 | |
US9292688B2 (en) | System and method for automated machine-learning, zero-day malware detection | |
Gadal et al. | Anomaly detection approach using hybrid algorithm of data mining technique | |
KR101654099B1 (ko) | 악성 프로세스들의 비서명 기반 검출을 위한 시스템 및 방법 | |
US9100425B2 (en) | Method and apparatus for detecting malicious software using generic signatures | |
US20160182545A1 (en) | Methods, systems, and media for masquerade attack detection by monitoring computer user behavior | |
RU2708356C1 (ru) | Система и способ двухэтапной классификации файлов | |
Ugarte-Pedrero et al. | Countering entropy measure attacks on packed software detection | |
Xiao et al. | From patching delays to infection symptoms: Using risk profiles for an early discovery of vulnerabilities exploited in the wild | |
CN110362996B (zh) | 一种离线检测PowerShell恶意软件的方法与系统 | |
US11544575B2 (en) | Machine-learning based approach for malware sample clustering | |
WO2018066221A1 (ja) | 分類装置、分類方法及び分類プログラム | |
CN106599688A (zh) | 一种基于应用类别的安卓恶意软件检测方法 | |
CN112784269B (zh) | 恶意软件检测方法、装置和计算机存储介质 | |
Pathak et al. | Study on decision tree and KNN algorithm for intrusion detection system | |
Park et al. | Antibot: Clustering common semantic patterns for bot detection | |
CN110020532B (zh) | 一种信息过滤方法、系统、设备及计算机可读存储介质 | |
Harbola et al. | Improved intrusion detection in DDoS applying feature selection using rank & score of attributes in KDD-99 data set | |
CN112287345B (zh) | 基于智能风险检测的可信边缘计算系统 | |
Aswani et al. | Topic modeling of SSH logs using latent dirichlet allocation for the application in cyber security | |
CN108804922A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181113 |
|
RJ01 | Rejection of invention patent application after publication |