CN110135156B - 一种基于沙盒动态行为识别可疑攻击代码的方法 - Google Patents
一种基于沙盒动态行为识别可疑攻击代码的方法 Download PDFInfo
- Publication number
- CN110135156B CN110135156B CN201910264929.8A CN201910264929A CN110135156B CN 110135156 B CN110135156 B CN 110135156B CN 201910264929 A CN201910264929 A CN 201910264929A CN 110135156 B CN110135156 B CN 110135156B
- Authority
- CN
- China
- Prior art keywords
- program
- sandbox
- suspicious
- node
- api
- 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.)
- Active
Links
Images
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
- G06F21/563—Static detection by source code analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于沙盒动态行为识别可疑攻击代码的方法,包括:建立沙盒系统;根据常见恶意程序的API调用序列构建攻击树模型;判断可疑程序的PE文件是否经过加壳、变形等;将存在加壳变形行为的可疑程序引入沙盒,分析API调用序列;计算可疑代码在攻击树中的危险指数,如果达到规定的阈值,则识别告警。本发明的优点是通过将程序引入沙盒中,获取未知程序的API行为序列,减少了未知程序可能对系统造成的危害,构建攻击树模型,通过计算程序的静态危险指数来判断是否可能为恶意代码,提高了对未知程序检测的敏感度。
Description
技术领域
发明涉及计算机网络安全技术领域,特别是一种基于沙盒动态行为识别可疑攻击代码的方法。
技术背景
恶意代码是一类恶意程序,主要包括计算机病毒、特洛伊木马、网络蠕虫、电子邮件病毒、后门程序、恶意网站脚本等。恶意攻击代码经过多年的演变,其破坏性和感染性都有了很大的提高。360互联网安全中心发布的《2017年Android恶意软件专题报告》显示,2014年至2017年的四年时间,我国Android平台恶意软件感染量均达到2亿人次以上,危害非常广泛。此外,2017年新增了757.3万个安卓恶意软件,漏洞同比增长61%,恶意代码进入高发期。由此可见,我国有相当多的终端设备被恶意代码程序感染过,这些恶意代码可能会造成用户账户密码被盗、受到远程控制、网路无法使用、机密数据被盗等严重后果。此外,据安全机构Panda Labs的安全报告显示,近几年中国大陆PC感染恶意代码的概率都超过50%,居全球第一,恶意代码对国内计算机安全构成了严重的威胁,同时恶意代码的多样化对病毒检测工具的要求也越来越高。
基于特征的静态检测方法在恶意代码检测领域已经得到了深入的研究,大部分的杀毒软件都是利用此方法进行检测的,此方法能够快速检测出已知特征的恶意代码,但是无法检测出未知病毒的入侵。随着0day威胁的快速增长,各种恶意代码层出不穷、种类繁多,其攻击手段也更加复杂和隐蔽,基于特征的病毒检测技术已不能有效地检测出某些恶意程序,而引入沙盒技术能改善对未知恶意程序的检测效果,基于沙盒动态行为识别可疑攻击代码的方法是将程序操作的资源重新定向到沙盒中,通过监视程序操作虚拟资源的动态行为来检测未知可疑代码。
发明内容
为了提高识别可疑攻击代码的准确性与敏感性,本发明提供了将可疑代码引入沙盒,通过获取其API调用序列监视其动态行为的一种基于沙盒动态行为识别可疑攻击代码的方法。
一种基于沙盒动态行为识别可疑攻击代码的方法,包括以下步骤:
1)、建立沙盒,沙盒系统包括沙盒子系统,行为获取系统,行为分析系统,系统界面。
2)、构建攻击树模型,对大量恶意代码行为进行分析,根据恶意代码最常用的API序列构建攻击树模型的特征库。
3)、判断可疑程序的PE文件是否经过加壳、变形等,如果是则可以引入沙盒中,没有则可以静态解析PE文件提取API调用序列。
4)、将存在加壳、变形的可疑攻击行为的代码引入沙盒,模拟应用程序的执行以及可疑代码的执行,监视执行代码的所有动作,包括API调用序列。
5)、如有目标进程下载外部文件行为,则可判别为可疑代码,计算可疑代码在攻击树中的静态危险指数,如果达到规定的阈值,则识别告警。
进一步,步骤2)中构建攻击树模型,在传统攻击树的基础上,对每个节点加入了权值集合,于是攻击树T可表示为一个三元组:T=(V,E,Weight),其中V为以节点为集合元素的非空有限集合;E为树中边的集合;Weight为节点权值集合。
根据恶意程序中常见的API行为序列及序列间的关系,构建攻击树,并作为匹配依据。每一个程序T都对应一个静态危险指数,记作danger(T),通过对程序的计算得出,此值可以量化程序T与恶意程序的相似程度,值越高代表危险系数越大,越接近恶意程序。节点危险指数的计算公式为:
其中叶节点的初始danger值为1,非叶结点的初始danger值为0,非叶结点实际值由子节点计算得来;weight(parent)为当前parent节点的权重值,weight(child)为当前节点下所有子节点的权重值,两者皆由其调用的API及参数决定;danger(parent)为当前parent节点的危险值;danger(child)为当前节点下所有子节点的危险值;n为当前节点API调用序列的总数;m为在攻击树中匹配到的API调用序列数。
目前,在恶意代码检测领域,已经有成熟的技术来获取恶意行为的函数调用序列,例如SSDT(System Services Descriptor Table)Hook技术,通过修改SSDT(系统服务描述符表)中函数地址可以对常用的Windows函数和API进行Hook,从而对可疑代码的函数调用情况进行监控。
本发明通过对引入沙盒中的可疑代码进行扫描,获得其调用的系统函数集合,并将其调用函数的静态危险指数与攻击树中规定的阈值比较,判断是否为恶意代码。
本发明的优点是:通过将程序引入沙盒中,获取未知程序的API行为序列,减少了未知程序可能对系统造成的危害,构建攻击树模型,通过计算程序的静态危险指数来判断是否可能为恶意代码,提高了对未知程序检测的敏感度。
附图说明
图1是本发明方法的流程图。
具体实施方式
参照附图,进一步说明本发明:
一种基于沙盒动态行为识别可疑攻击代码的方法,包括以下步骤:
1)、建立沙盒,沙盒系统包括沙盒子系统,行为获取系统,行为分析系统,系统界面。
2)、攻击树模型的构建,对大量恶意代码行为进行分析,根据恶意代码最常用的API序列构建攻击树模型的特征库。
3)、判断可疑程序的PE文件是否经过加壳、变形等,如果是则可以引入沙盒中,没有则可以静态解析PE文件提取API调用序列。
4)、将存在加壳、变形的可疑攻击行为的代码引入沙盒,模拟应用程序的执行以及可疑代码的执行,监视执行代码的所有动作,包括API调用序列。
5)、如有目标进程下载外部文件行为,则可判别为可疑代码,计算可疑代码在攻击树中的静态危险指数,如果达到规定的阈值,则识别告警。
进一步,步骤2)中构建攻击树模型,在传统攻击树的基础上,对每个节点加入了权值集合,于是攻击树T可表示为一个三元组:T=(V,E,Weight),其中V为以节点为集合元素的非空有限集合;E为树中边的集合;Weight为节点权值集合。
根据恶意程序中常见的API行为序列及序列间的关系,构建攻击树,并作为匹配依据。每一个程序T都对应一个静态危险指数,记作danger(T),通过对程序的计算得出,此值可以量化程序T与恶意程序的相似程度,值越高代表危险系数越大,越接近恶意程序。节点静态危险指数的计算公式为:
其中叶节点的初始danger值为1,非叶结点的初始danger值为0,非叶结点实际值由子节点计算得来;weight(parent)为当前parent节点的权重值,weight(child)为当前节点下所有子节点的权重值,两者皆由其调用的API及参数决定;danger(parent)为当前parent节点的危险值;danger(child)为当前节点下所有子节点的危险值;n为当前节点API调用序列的总数;m为在攻击树中匹配到的API调用序列数。
目前,在恶意代码检测领域,已经有成熟的技术来获取恶意行为的函数调用序列,例如SSDT(System Services Descriptor Table)Hook技术,通过修改SSDT(系统服务描述符表)中函数地址可以对常用的Windows函数和API进行Hook,从而对可疑代码的函数调用情况进行监控。
本发明通过将可疑程序引入搭建好的沙盒系统,扫描其动态行为,并根据程序的API调用行为计算静态危险指数,从而与阈值对比判断是否为恶意代码,有助于提高对未知恶意代码的检测准确度,提高了检测系统对恶意代码感知的本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
Claims (1)
1.一种基于沙盒动态行为识别可疑攻击代码的方法,包括以下步骤:
1)、建立沙盒,沙盒系统包括沙盒子系统,行为获取系统,行为分析系统,系统界面;
2)、构建攻击树模型,对大量恶意代码行为进行分析,根据恶意代码最常用的API序列构建攻击树模型的特征库;具体包括:
以传统攻击树为基础,对每个节点加入了权值集合,于是攻击树T可表示为一个三元组:T=(V,E,Weight),其中V为以节点为集合元素的非空有限集合;E为树中边的集合;Weight为节点权值集合;
根据恶意程序中常见的API行为序列及序列间的关系,构建攻击树,并作为匹配依据。每一个未知程序都对应一个静态危险指数,记作danger(T),通过对程序的计算得出,此值可以量化未知程序与恶意程序的相似程度,值越高代表危险系数越大,越接近恶意程序,节点静态危险指数的计算公式为:
其中叶节点的初始danger值为1,非叶结点的初始danger值为0,非叶结点实际值由子节点计算得来;weight(parent)为当前parent节点的权重值,weight(child)为当前节点下所有子节点的权重值,两者皆由其调用的API及参数决定;danger(parent)为当前parent节点的危险值;danger(child)为当前节点下所有子节点的危险值;n为当前节点API调用序列的总数;m为在攻击树中匹配到的API调用序列数;
3)、判断可疑程序的PE文件是否经过加壳和/或变形,如果是则可以引入沙盒中,没有则可以静态解析PE文件提取API调用序列;
4)、将存在加壳、变形的可疑攻击行为的代码引入沙盒,模拟应用程序的执行以及可疑代码的执行,监视执行代码的所有动作,包括API调用序列;
5)、如有目标进程下载外部文件行为,则可判别为可疑代码,计算可疑代码在攻击树中的静态危险指数,如果达到规定的阈值,则识别告警。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910264929.8A CN110135156B (zh) | 2019-04-03 | 2019-04-03 | 一种基于沙盒动态行为识别可疑攻击代码的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910264929.8A CN110135156B (zh) | 2019-04-03 | 2019-04-03 | 一种基于沙盒动态行为识别可疑攻击代码的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110135156A CN110135156A (zh) | 2019-08-16 |
CN110135156B true CN110135156B (zh) | 2020-10-09 |
Family
ID=67568878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910264929.8A Active CN110135156B (zh) | 2019-04-03 | 2019-04-03 | 一种基于沙盒动态行为识别可疑攻击代码的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110135156B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543760A (zh) * | 2019-08-28 | 2019-12-06 | 南京市晨枭软件技术有限公司 | 一种软件管理系统及其软件保护方法 |
CN110830483B (zh) * | 2019-11-13 | 2022-03-22 | 杭州安恒信息技术股份有限公司 | 网页日志攻击信息检测方法、系统、设备及可读存储介质 |
CN111090858B (zh) * | 2019-11-25 | 2022-02-11 | 北京理工大学 | 一种基于拓展攻击树模型的木马检测方法 |
CN111797400B (zh) * | 2020-07-08 | 2023-09-01 | 国家计算机网络与信息安全管理中心 | 一种车联网恶意应用动态检测方法及装置 |
CN116663005B (zh) * | 2023-08-01 | 2023-10-13 | 长扬科技(北京)股份有限公司 | 复合型勒索病毒的防御方法、装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682229B (zh) * | 2011-03-11 | 2015-04-01 | 北京市国路安信息技术有限公司 | 一种基于虚拟化技术的恶意代码行为检测方法 |
US9324034B2 (en) * | 2012-05-14 | 2016-04-26 | Qualcomm Incorporated | On-device real-time behavior analyzer |
KR20180068268A (ko) * | 2016-12-13 | 2018-06-21 | 경희대학교 산학협력단 | 보안 위험 평가 기반 보안 투자 방법 및 장치 |
CN107194586B (zh) * | 2017-05-23 | 2020-05-19 | 广州中国科学院工业技术研究院 | 储罐动态风险分析方法、装置及系统 |
CN107294982B (zh) * | 2017-06-29 | 2021-12-21 | 深信服科技股份有限公司 | 网页后门检测方法、装置及计算机可读存储介质 |
-
2019
- 2019-04-03 CN CN201910264929.8A patent/CN110135156B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110135156A (zh) | 2019-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110135156B (zh) | 一种基于沙盒动态行为识别可疑攻击代码的方法 | |
US10872151B1 (en) | System and method for triggering analysis of an object for malware in response to modification of that object | |
CN108280350B (zh) | 一种面向Android的移动网络终端恶意软件多特征检测方法 | |
US10043001B2 (en) | Methods and apparatus for control and detection of malicious content using a sandbox environment | |
Aslan et al. | Investigation of possibilities to detect malware using existing tools | |
KR101574652B1 (ko) | 모바일 침해사고 분석시스템 및 방법 | |
EP2788912B1 (en) | Predictive heap overflow protection | |
Singhal et al. | Malware detection module using machine learning algorithms to assist in centralized security in enterprise networks | |
US9479357B1 (en) | Detecting malware on mobile devices based on mobile behavior analysis | |
CN111460445B (zh) | 样本程序恶意程度自动识别方法及装置 | |
US20140181805A1 (en) | System and method for establishing rules for filtering insignificant events for analysis of software program | |
JP6277224B2 (ja) | 仮想スタックマシンで実行可能な有害なファイルを検出するためのシステムおよび方法 | |
US20170061126A1 (en) | Process Launch, Monitoring and Execution Control | |
KR101851233B1 (ko) | 파일 내 포함된 악성 위협 탐지 장치 및 방법, 그 기록매체 | |
CN108399336B (zh) | 一种安卓应用恶意行为的检测方法及装置 | |
CN108369541B (zh) | 用于安全威胁的威胁风险评分的系统和方法 | |
CN102208002A (zh) | 一种新型计算机病毒查杀装置 | |
CN105447388A (zh) | 一种基于权重的安卓恶意代码检测系统及方法 | |
CN110362995A (zh) | 一种基于逆向与机器学习的恶意软件检测及分析系统 | |
TWI470468B (zh) | 惡意程式及行為偵測的方法及系統 | |
Rohith et al. | A comprehensive study on malware detection and prevention techniques used by anti-virus | |
JP7031438B2 (ja) | 情報処理装置、制御方法、及びプログラム | |
CN115544503A (zh) | 一种无文件攻击检测方法、装置、设备及存储介质 | |
WO2023121862A1 (en) | Identification of.net malware with "unmanaged imphash" | |
Kim et al. | Malware application classification based on feature extraction and machine learning for malicious behavior analysis in Android platform |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |