CN103049701A - 基于内存搜索的shellcode的检测系统及方法 - Google Patents

基于内存搜索的shellcode的检测系统及方法 Download PDF

Info

Publication number
CN103049701A
CN103049701A CN2012105028184A CN201210502818A CN103049701A CN 103049701 A CN103049701 A CN 103049701A CN 2012105028184 A CN2012105028184 A CN 2012105028184A CN 201210502818 A CN201210502818 A CN 201210502818A CN 103049701 A CN103049701 A CN 103049701A
Authority
CN
China
Prior art keywords
shellcode
module
internal memory
memory search
detection
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
CN2012105028184A
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.)
Alibaba China Co Ltd
Original Assignee
Nanjing Vulnhunt Inc
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 Nanjing Vulnhunt Inc filed Critical Nanjing Vulnhunt Inc
Priority to CN2012105028184A priority Critical patent/CN103049701A/zh
Publication of CN103049701A publication Critical patent/CN103049701A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于内存搜索的shellcode的检测系统,包括被检测样本调度模块;内存搜索算法模块;shellcode检测模块和日志模块。其检测方法,包括以下步骤:调度模块调度被测试应用打开被检测文档样本;内存搜索算法模块转储被测试应用内存至文件或者直接内存搜索;Shellcode检测模块扫描转储的文件来发现shellcode;日志输出模块输出有关shellcode信息。本发明具有以下积极进步效果:本发明基于内存搜索然后进行shellcode检测,能够有效的检测复杂的应用文档格式中编码、加密藏匿的shellcode。大大的提高了恶意攻击样本的检测率,见效误报率和漏报率。

Description

基于内存搜索的shellcode的检测系统及方法
技术领域
本发明涉及网络安全入侵检测防御领域,具体是指一种基于内存搜索的shellcode的检测系统及方法。
背景技术
利用缓冲区溢出安全漏洞以及其他内存内存安全漏洞是进行网络攻击、获取系统控制权的重要手段,因此,针对该类型漏洞攻击的防御技术是网络安全领域研究的重要内容。
由于上述主要的漏洞攻击中具体的功能实现必须要通过shellcode来完成,因此攻击者发生的漏洞载体数据中一定保护shellcode,当前将检测是否存在shellcode作为判断漏洞攻击的主要手段。
当前主流的攻击软件载体主要是微软office文档、adobe pdf 、adobe flash、ie browser等最流行的软件。因此这些主流的文档是漏洞攻击的主要目标,shellcode也主要存在该类文档中。目前常规的IDS/IPS/Anti AV网络安全防御设备都是采用基于格式解析从而检测shellcode的技术,对于该类shellcode检测都必须要先对具体的文档格式进行解析,解析出原始的数据流之后,在进行相应的shellcode检测。
该类技术主要优点在于:
可以部署在网关层,直接解析网络数据包中相应的文件格式,从而直接扫描shellcode。
速度快,在要求实时性网络安全防御中具有较大的优势。
同时该类技术存在相应的缺点:主流的文档格式其中office、pdf、flash等文档格式,该类格式非常复杂,虽然office、pdf等格式已有公开的格式文档说明,但是按照对应格式实现相应的格式解析工具非常耗时、耗人力成本。同时这些公开的格式文档只是提供了该类文档格式的标准规范,对于不按照此类标准规范的一些文档,其相应的发布厂商能有较好的兼容性解决方案,具有很好的容错能力。而第三方据此格式文档实现的格式解析工具往往不能很好的兼容各种不规范的格式文件,容错能力差。从而造成了漏洞攻击的空隙,攻击者构造特殊的格式文档,使得其漏洞触发的程序可以正常解析,但是第三方的解析工具确无法解析,从而绕过各种防御的检测。
发明内容
本发明所要解决的技术问题是提供一种基于内存搜索的shellcode的检测系统及方法。它能够不通过解析相应的文档格式从而直接进行shellcode检测识别。
本发明是通过下述技术方案来解决上述技术问题的:
一种基于内存搜索的shellcode的检测系统,包括:
被检测样本调度模块,用于调度每个样本被相应的宿主程序打开并解析内容;
内存搜索算法模块,用于搜索被检测应用的所有可读可写堆块;
shellcode检测模块,用于对搜索出来的每块内存进行shellcode扫描;
日志模块,用于输出有关检测信息的结果。
所述内存搜索算法模块包括堆栈内存搜索模块和堆内存搜索模块。
本发明的重点是如何通过不解析文档格式进行shellcode检测识别的思路方法。主要通过被测试应用的内存搜索实现检测。
当shellcode被编码成各种形态存于文档中时,当被测试应用程序解析该文档时,会自动进行解码操作,并将真实的shellcode形态还原于内存当中。由于无论shellcode多么复杂的文档格式编码、加密、转换,但是最终都必须要能被测试应用程序正常解析,否则会导致该攻击无效化。因此采用直接搜索内存的方式无须应对各种复杂的文档格式、编码,也不会造成和被测试应用程序解析文档的差异造成的无法解出真正的shellcode,造成检测防御系统的漏报。
内存搜索主要搜索被测试应用的堆、堆栈。通过解析堆、堆栈的内存结构,从而搜索出有效的内存区域,加快检测的速度。
一种基于内存搜索的shellcode的检测方法,包括以下步骤:
(1)调度模块调度被测试应用打开被检测文档样本;
(2)内存搜索算法模块转储被测试应用内存至文件或者直接内存搜索;
(3)Shellcode检测模块扫描转储的文件来发现shellcode;
(4)日志输出模块输出有关shellcode信息。
本发明具有以下积极进步效果:本发明基于内存搜索然后进行shellcode检测,能够有效的检测复杂的应用文档格式中编码、加密藏匿的shellcode。大大的提高了恶意攻击样本的检测率,见效误报率和漏报率。对于pdf复杂文档格式中,如FlateDecode压缩编码、stream 关键字#转义对抗、内嵌javascript中含有shellcode等等其他各种对抗检测手法都可以完美解决,且不存在新的对抗问题。当然本发明的技术不限于检测上述应用的复杂格式藏匿shellcode,因为漏洞触发的最终形态必然决定了shellcode必须以原始形态存放于内存中,从而可以从根本上解决该类问题。   
附图说明
图1是本发明基于内存搜索的shellcode的检测系统的方框图;
图2是本发明基于内存搜索的shellcode检测的防御检测方法的流程图。
具体实施方式
下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
参考图1,其中示出根据本发明一个实施实例的基于内存搜索的shellcode的检测系统的方框图。请注意,在整个说明书和权利要求书中,“应用程序”和“软件”表示相同的含义,并且能够互换地进行使用。在本发明的实施例中,所述基于内存搜索的shellcode的检测系统运行在Windows操作系统中。然而,作为一种通用的检测测试系统,所述基于内存搜索的shellcode的检测系统能够运行在任何操作系统中。
所述基于内存搜索的shellcode的检测系统包括堆栈内存搜索模块104、堆内存搜索模块106、调度模块108、shellcode检测模块110,日志输出模块112,堆栈内存搜索模块104和堆内存搜索模块106一起构成了内存搜索算法模块102。
调度模块108主要调度被测试应用打开要检测的文档样本。内存搜索算法模块102通过堆内存搜索模块106和堆栈内存搜索模块104实现有效的内存转储至文件中。Shellcoed检测模块110扫描转储的文件来发现shellcode。日志输出模块112输出最终的检测结果,shellcode具体的一些信息。
图2示出根据本发明一个实施例的基于内存搜索的shellcode的检测方法的流程图。下面结合图1的基于内存搜索的shellcode的检测系统来详细说明图2的检测方法的流程图。
在步骤202中,调度模块108调度被测试应用打开要检测的样本文档。在本发明的实施例中,调度模块108可以调度adobe reader、office文档所有应用等等,包括但不限于以上所列应用程序。
在步骤204中,内存搜索算法模块102 搜索有效的内存块转储文件中。该内存搜索102模块分为2个部分,一部分是堆栈内存搜索模块104,另一部分是堆内存搜索模块106。
其中堆栈内存搜索模块104通过分析相应线程的TEB结构,获取相应offset所在的StackBase字段,来获取线程堆栈的起始地址和大小。
其中堆内存搜索模块106通过分析进程的PEB结构,获取相应offset所在的ProcessHeaps字段和NumberOfHeaps字段来获取堆的范围地址,在进一步分析具体堆块的结构从而搜索出有效的堆内存。
在步骤206中,调用shellcode检测模块110去扫描已经转储至文件的内存,从而检测shellcode。
在步骤208中,shellcode检测模块110在检测到内存中包含shellcode时输出有关shellcode的一些具体信息供人工进一步确认分析等。
以上参考附图示出并描述了本发明的实施例,但是本发明不限于此。显然,本领域的技术人员可以对本发明进行各种修改、变型和替换而不脱离本发明的精神范围。因此,只要本发明的这些修改、变型和替换属于本发明的权利要求书及其等同技术方案的范围之内,则本发明也意图包含这些修改、变型和替换。

Claims (3)

1.一种基于内存搜索的shellcode的检测系统,其特征在于:包括:
被检测样本调度模块,用于调度每个样本被相应的宿主程序打开并解析内容;
内存搜索算法模块,用于搜索被检测应用的所有可读可写堆块;
shellcode检测模块,用于对搜索出来的每块内存进行shellcode扫描;
日志模块,用于输出有关检测信息的结果。
2.根据权利要求1所述的一种基于内存搜索的shellcode的检测系统,其特征在于:所述内存搜索算法模块包括堆栈内存搜索模块和堆内存搜索模块。
3.一种基于内存搜索的shellcode的检测方法,其特征在于:包括以下步骤:
(1)调度模块调度被测试应用打开被检测文档样本;
(2)内存搜索算法模块转储被测试应用内存至文件或者直接内存搜索;
(3)Shellcode检测模块扫描转储的文件来发现shellcode;
(4)日志输出模块输出有关shellcode信息。
CN2012105028184A 2012-11-30 2012-11-30 基于内存搜索的shellcode的检测系统及方法 Pending CN103049701A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012105028184A CN103049701A (zh) 2012-11-30 2012-11-30 基于内存搜索的shellcode的检测系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012105028184A CN103049701A (zh) 2012-11-30 2012-11-30 基于内存搜索的shellcode的检测系统及方法

Publications (1)

Publication Number Publication Date
CN103049701A true CN103049701A (zh) 2013-04-17

Family

ID=48062334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012105028184A Pending CN103049701A (zh) 2012-11-30 2012-11-30 基于内存搜索的shellcode的检测系统及方法

Country Status (1)

Country Link
CN (1) CN103049701A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107168706A (zh) * 2017-05-12 2017-09-15 北京理工大学 一种Windows Shellcode自动构建方法
CN112395600A (zh) * 2019-08-15 2021-02-23 奇安信安全技术(珠海)有限公司 恶意行为的去误报方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015760A1 (en) * 2003-07-16 2005-01-20 Oleg Ivanov Automatic detection and patching of vulnerable files
US20090300764A1 (en) * 2008-05-28 2009-12-03 International Business Machines Corporation System and method for identification and blocking of malicious code for web browser script engines
CN102567200A (zh) * 2011-12-14 2012-07-11 北京航空航天大学 基于函数调用图的并行化安全漏洞检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015760A1 (en) * 2003-07-16 2005-01-20 Oleg Ivanov Automatic detection and patching of vulnerable files
US20090300764A1 (en) * 2008-05-28 2009-12-03 International Business Machines Corporation System and method for identification and blocking of malicious code for web browser script engines
CN102567200A (zh) * 2011-12-14 2012-07-11 北京航空航天大学 基于函数调用图的并行化安全漏洞检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王颖等: "shellcode攻击与防范技术", 《计算机工程》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107168706A (zh) * 2017-05-12 2017-09-15 北京理工大学 一种Windows Shellcode自动构建方法
CN112395600A (zh) * 2019-08-15 2021-02-23 奇安信安全技术(珠海)有限公司 恶意行为的去误报方法、装置及设备
CN112395600B (zh) * 2019-08-15 2023-08-01 奇安信安全技术(珠海)有限公司 恶意行为的去误报方法、装置及设备

Similar Documents

Publication Publication Date Title
CN101593253B (zh) 一种恶意程序判断方法及装置
WO2015120752A1 (zh) 网络威胁处理方法及设备
CN112685737A (zh) 一种app的检测方法、装置、设备及存储介质
CN111191243B (zh) 一种漏洞检测方法、装置和存储介质
CN104766011A (zh) 基于主机特征的沙箱检测告警方法和系统
EP3028203A1 (en) Signal tokens indicative of malware
CN106295333A (zh) 用于检测恶意代码的方法和系统
KR101132197B1 (ko) 악성 코드 자동 판별 장치 및 방법
CN114760106B (zh) 网络攻击的确定方法、系统、电子设备及存储介质
CN108718307B (zh) 一种IaaS云环境下面向内部威胁的行为追溯检测方法
Lubuva et al. A review of static malware detection for Android apps permission based on deep learning
CN103902906A (zh) 基于应用图标的移动终端恶意代码检测方法及系统
Pandey et al. A framework for producing effective and efficient secure code through malware analysis
CN103049701A (zh) 基于内存搜索的shellcode的检测系统及方法
CN105740709A (zh) 一种基于权限组合的安卓恶意软件检测方法
CN113378161A (zh) 一种安全检测方法、装置、设备及存储介质
CN107885489A (zh) 一种快速检测实名登记数据指标的方法和系统
CN112632538A (zh) 一种基于混合特征的安卓恶意软件检测方法及系统
CN108427882B (zh) 基于行为特征抽取的安卓软件动态分析检测法
CN114491530B (zh) 基于抽象流图和图神经网络的安卓应用程序分类方法
CN116595523A (zh) 基于动态编排的多引擎文件检测方法、系统、设备及介质
CN113225343B (zh) 一种基于身份特征信息的风险网站识别方法及系统
KR101725399B1 (ko) 호스트 레벨 기반 악성 스크립트 탐지 및 실행 방지 장치와 악성 스크립트 탐지 및 실행 방지 방법
CN114547628A (zh) 漏洞检测方法及装置
CN109271781B (zh) 一种基于内核的应用程序获取超级权限行为检测方法与系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: ALIBABA GROUP HOLDING LTD.

Free format text: FORMER OWNER: NANJING VULNHUNT INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20150707

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150707

Address after: 310012 G building, 10 floor, A building, Paradise Software Park, 3 West Road, Hangzhou, Xihu District, Zhejiang

Applicant after: Alibaba (China) Co., Ltd.

Address before: Building No. 20 Yuhuatai Avenue flora read City District of Nanjing City, Jiangsu province 210000 floor

Applicant before: Nanjing Vulnhunt Information Technology Co., Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20130417