CN105989286A - 一种分析可执行文件判断高危文件的方法及系统 - Google Patents
一种分析可执行文件判断高危文件的方法及系统 Download PDFInfo
- Publication number
- CN105989286A CN105989286A CN201510538094.2A CN201510538094A CN105989286A CN 105989286 A CN105989286 A CN 105989286A CN 201510538094 A CN201510538094 A CN 201510538094A CN 105989286 A CN105989286 A CN 105989286A
- Authority
- CN
- China
- Prior art keywords
- file
- dynamic library
- executable file
- risk
- executable
- 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
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)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种分析可执行文件判断高危文件的方法及系统,该方法在Linux系统下对可执行文件或者动态库文件进行分析,通过检测可执行文件或者动态库文件中的mmap系统调用和mprotect系统调用来判断该可执行文件或者动态库文件是否在用户空间申请内存并修改了默认权限,即Linux中定义了PROT_EXEC权限,若是则认为可执行文件或者动态库文件为高危文件。通过本方法解决了在传统的漏洞环境下文件检测效率低范围窄的技术问题。
Description
技术领域
本发明涉及计算机网络安全技术领域,尤其涉及一种分析可执行文件判断高危文件的方法及系统。
背景技术
目前针对各种利用漏洞的程序进行检测的方法通常是等待一个漏洞的利用方法或者分析报告出现后,对其进行分析,提取出其关键步骤作为检测手段。但是这种方法存在诸多问题,例如:1、形成检测手段需要等到该漏洞完全披露后,可能在形成检测能力后漏洞利用已经很广泛了;2、需要对网上披露的漏洞利用代码或者报告进行一定深度的分析,占用人力较大;3、检测目标单一,针对上述方法提取的特征只能针对单一漏洞利用手段,目前漏洞形式千奇百怪,该方式启发性低。
发明内容
针对上述技术问题,本发明提供了一种分析可执行文件判断高危文件的方法及系统,该方法在Linux系统下对可执行文件或者动态库文件进行分析,通过检测可执行文件或者动态库文件中的mmap系统调用和mprotect系统调用来判断该可执行文件或者动态库文件是否在用户空间申请内存并修改了默认权限,即Linux中定义了PROT_EXEC权限,若是则认为可执行文件或者动态库文件为高危文件。
一种分析可执行文件判断高危文件的方法,包括:
分析可执行文件或者动态库文件;
检测可执行文件或者动态库文件中的mmap系统调用,若发现其在用户空间映射了带有执行权限的内存区域,则可执行文件或者动态库文件为高危文件;
检测可执行文件或者动态库文件中的mprotect系统调用,若发现其赋予了内存空间执行权限,则可执行文件或者动态库文件为高危文件。
进一步的,所述可执行文件或者动态库文件为ELF文件,还包括:所述系统为Linux系统。
进一步的,所述检测可执行文件或者动态库文件中的mmap系统调用,若发现其在用户空间映射了带有执行权限的内存区域,则可执行文件或者动态库文件为高危文件,具体为:提取所述可执行文件或者动态库文件的TEXT代码段数据,进行反汇编处理,判断其权限参数是否存在PROT_EXEC值,若存在,则所述可执行文件或者动态库文件为高危文件。
进一步的,所述检测可执行文件或者动态库文件中的mprotect系统调用,若发现其赋予了内存空间执行权限,则可执行文件或者动态库文件为高危文件,具体为:提取所述可执行文件或者动态库文件的TEXT代码段数据,进行反汇编处理,判断其权限参数是否存在PROT_EXEC值,若存在,则所述可执行文件或者动态库文件为高危文件。
一种分析可执行文件判断高危文件的系统,包括:
分析模块,用于分析可执行文件或者动态库文件;
系统检测第一模块,用于检测可执行文件或者动态库文件中的mmap系统调用,若发现其在用户空间映射了带有执行权限的内存区域,则可执行文件或者动态库文件为高危文件;
系统检测第二模块,用于检测可执行文件或者动态库文件中的mprotect系统调用,若发现其赋予了内存空间执行权限,则可执行文件或者动态库文件为高危文件。
进一步的,所述可执行文件或者动态库文件为ELF文件,还包括:所述系统为Linux系统。
进一步的,所述系统检测第一模块具体用于:提取所述可执行文件或者动态库文件的TEXT代码段数据,进行反汇编处理,判断其权限参数是否存在PROT_EXEC值,若存在,则所述可执行文件或者动态库文件为高危文件。
进一步的,所述系统检测第二模块具体用于:提取所述可执行文件或者动态库文件的TEXT代码段数据,进行反汇编处理,判断其权限参数是否存在PROT_EXEC值,若存在,则所述可执行文件或者动态库文件为高危文件。
本发明涉及一种分析可执行文件判断高危文件的方法,本方法利用漏洞这一常见的利用场景,通过对可执行文件或者动态库文件进行检测,判断是否开辟了一块具有执行权限的内存空间,即具有PROT_EXEC权限的内存空间,若有则认为可执行文件或者动态库文件为高危文件,通过本方法克服了利用Linux漏洞获取root权限进行恶意操作的问题,进而提高了查找高危文件的能力。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种分析可执行文件判断高危文件的方法中检测mmap系统调用实施例流程图;
图2为本发明提供的一种分析可执行文件判断高危文件的方法中检测mprotect系统调用实施例流程图;
图3为本发明提供的一种分析可执行文件判断高危文件的系统实施例结构图。
具体实施方式
本发明给出了一种分析可执行文件判断高危文件的方法及系统,为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明:
本发明首先提供了一种分析可执行文件判断高危文件的方法中检测mmap系统调用实施例,如图1所示,包括:
S101分析可执行文件或者动态库文件;
可执行文件或者动态库文件为ELF文件,系统为Linux系统;
S102检测可执行文件或者动态库文件中的mmap系统调用;
提取所述可执行文件或者动态库文件的TEXT代码段数据,进行反汇编处理,判断其权限参数是否存在PROT_EXEC值;
mmap为Linux系统提供的系统调用,PROT_EXEC为系统定义的一个常量,在mmap系统调用的参数中代表该块内存可执行;
mmap是一个使用程度一般的系统调用,但用户一般不会使用其映射一个带有执行权限的内存区域;
S103若发现其在用户空间映射了带有执行权限的内存区域,则可执行文件或者动态库文件为高危文件。
本发明其次提供了一种分析可执行文件判断高危文件的方法中检测mprotect系统调用实施例,如图2所示,包括:
S201分析可执行文件或者动态库文件;
可执行文件或者动态库文件为ELF文件,系统为Linux系统;
S202检测可执行文件或者动态库文件中的mprotect系统调用;
提取所述可执行文件或者动态库文件的TEXT代码段数据,进行反汇编处理,判断其权限参数是否存在PROT_EXEC值;
mprotect为Linux系统提供的系统调用,PROT_EXEC为系统定义的一个常量,在mprotect系统调用的参数中代表该块内存可执行;
mprotect为较罕见的系统调用,使用了该调用的可执行文件或者动态库文件都是高可疑文件,不仅仅是漏洞利用时可能用到,一些Hook操作也需要使用到该调用。
S203若发现其赋予了内存空间执行权限,则可执行文件或者动态库文件为高危文件。
本发明还提供了一种分析可执行文件判断高危文件的系统,如图3所示,包括:
分析模块301,用于分析可执行文件或者动态库文件;
系统检测第一模块302,用于通过检测可执行文件或者动态库文件中的mmap系统调用,若发现其在用户空间映射了带有执行权限的内存区域,则可执行文件或者动态库文件为高危文件;
系统检测第二模块303,用于通过检测可执行文件或者动态库文件中的mprotect系统调用,若发现其赋予了内存空间执行权限,则可执行文件或者动态库文件为高危文件。
综上所述,本发明涉及一种分析可执行文件判断高危文件的方法。本方法是在Linux系统的基础上,对可执行文件或者动态库文件进行检测,当检测到文件中的mmap系统调用或者mprotect系统调用的权限参数存在PROT_EXEC值时,则文件为高危文件。传统的利用漏洞分析文件的方法通常是等待一个漏洞的分析报告出现后,对其进行分析,提取出其关键步骤作为检测手段,这种方法效率较低、范围较窄。本发明克服了这些缺点,通过mmap系统调用、mprotect系统调用这些罕见的高级调用,利用PROT_EXEC执行权限的特点,简单方便的分析出已知或者未知的高危文件。
以上实施例用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。
Claims (8)
1.一种分析可执行文件判断高危文件的方法,其特征在于:
分析可执行文件或者动态库文件;
检测可执行文件或者动态库文件中的mmap系统调用,若发现其在用户空间映射了带有执行权限的内存区域,则可执行文件或者动态库文件为高危文件;
检测可执行文件或者动态库文件中的mprotect系统调用,若发现其赋予了内存空间执行权限,则可执行文件或者动态库文件为高危文件。
2.如权利要求1所述的方法,其特征在于,所述可执行文件或者动态库文件为ELF文件,还包括:所述系统为Linux系统。
3.如权利要求1所述的方法,其特征在于,所述检测可执行文件或者动态库文件中的mmap系统调用,若发现其在用户空间映射了带有执行权限的内存区域,则可执行文件或者动态库文件为高危文件,具体为:提取所述可执行文件或者动态库文件的TEXT代码段数据,进行反汇编处理,判断其权限参数是否存在PROT_EXEC值,若存在,则所述可执行文件或者动态库文件为高危文件。
4.如权利要求1所述的方法,其特征在于,所述检测可执行文件或者动态库文件中的mprotect系统调用,若发现其赋予了内存空间执行权限,则可执行文件或者动态库文件为高危文件,具体为:提取所述可执行文件或者动态库文件的TEXT代码段数据,进行反汇编处理,判断其权限参数是否存在PROT_EXEC值,若存在,则所述可执行文件或者动态库文件为高危文件。
5.一种分析可执行文件判断高危文件的系统,其特征在于:
分析模块,用于分析可执行文件或者动态库文件;
系统检测第一模块,用于检测可执行文件或者动态库文件中的mmap系统调用,若发现其在用户空间映射了带有执行权限的内存区域,则可执行文件或者动态库文件为高危文件;
系统检测第二模块,用于检测可执行文件或者动态库文件中的mprotect系统调用,若发现其赋予了内存空间执行权限,则可执行文件或者动态库文件为高危文件。
6.如权利要求5所述的系统,其特征在于,所述可执行文件或者动态库文件为ELF文件,还包括:所述系统为Linux系统。
7.如权利要求5所述的系统,其特征在于,所述系统检测第一模块具体用于:提取所述可执行文件或者动态库文件的TEXT代码段数据,进行反汇编处理,判断其权限参数是否存在PROT_EXEC值,若存在,则所述可执行文件或者动态库文件为高危文件。
8.如权利要求5所述的系统,其特征在于,所述系统检测第二模块具体用于:提取所述可执行文件或者动态库文件的TEXT代码段数据,进行反汇编处理,判断其权限参数是否存在PROT_EXEC值,若存在,则所述可执行文件或者动态库文件为高危文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510538094.2A CN105989286A (zh) | 2015-08-28 | 2015-08-28 | 一种分析可执行文件判断高危文件的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510538094.2A CN105989286A (zh) | 2015-08-28 | 2015-08-28 | 一种分析可执行文件判断高危文件的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105989286A true CN105989286A (zh) | 2016-10-05 |
Family
ID=57040556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510538094.2A Pending CN105989286A (zh) | 2015-08-28 | 2015-08-28 | 一种分析可执行文件判断高危文件的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105989286A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829579A (zh) * | 2018-05-03 | 2018-11-16 | 广州金山安全管理系统技术有限公司 | 可执行文件的分析方法、装置、存储介质和处理器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101924760A (zh) * | 2010-08-17 | 2010-12-22 | 优视科技有限公司 | 可执行文件的安全下载方法及系统 |
CN101984409A (zh) * | 2010-11-10 | 2011-03-09 | 南京南瑞继保电气有限公司 | 一种用于Linux系统测试代码注入的方法 |
US7962959B1 (en) * | 2010-12-01 | 2011-06-14 | Kaspersky Lab Zao | Computer resource optimization during malware detection using antivirus cache |
CN103077333A (zh) * | 2013-01-22 | 2013-05-01 | 北京理工大学 | 一种Linux系统下软件代码保护方法 |
CN104850775A (zh) * | 2014-02-14 | 2015-08-19 | 北京奇虎科技有限公司 | 一种应用程序安全性的鉴定方法和装置 |
-
2015
- 2015-08-28 CN CN201510538094.2A patent/CN105989286A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101924760A (zh) * | 2010-08-17 | 2010-12-22 | 优视科技有限公司 | 可执行文件的安全下载方法及系统 |
CN101984409A (zh) * | 2010-11-10 | 2011-03-09 | 南京南瑞继保电气有限公司 | 一种用于Linux系统测试代码注入的方法 |
US7962959B1 (en) * | 2010-12-01 | 2011-06-14 | Kaspersky Lab Zao | Computer resource optimization during malware detection using antivirus cache |
CN103077333A (zh) * | 2013-01-22 | 2013-05-01 | 北京理工大学 | 一种Linux系统下软件代码保护方法 |
CN104850775A (zh) * | 2014-02-14 | 2015-08-19 | 北京奇虎科技有限公司 | 一种应用程序安全性的鉴定方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829579A (zh) * | 2018-05-03 | 2018-11-16 | 广州金山安全管理系统技术有限公司 | 可执行文件的分析方法、装置、存储介质和处理器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xiao et al. | Malware detection based on deep learning of behavior graphs | |
Han et al. | Malware analysis using visualized image matrices | |
CN106203113B (zh) | 安卓应用文件的隐私泄露监控方法 | |
US9928369B2 (en) | Information technology vulnerability assessment | |
US20170286692A1 (en) | Vulnerability finding device, vulnerability finding method, and vulnerability finding program | |
CN101593253B (zh) | 一种恶意程序判断方法及装置 | |
CN103365699B (zh) | 基于apk的系统api和运行时字符串的提取方法及系统 | |
CN112005532B (zh) | 用于对可执行文件进行分类的方法、系统和存储介质 | |
WO2013159607A1 (zh) | 一种安全检测的方法和系统 | |
US8256000B1 (en) | Method and system for identifying icons | |
RU2014104582A (ru) | Система среды выполнения | |
US20180018460A1 (en) | Inferential exploit attempt detection | |
KR20160046640A (ko) | 시각화 유사도 기반 악성 어플리케이션 감지 장치 및 감지 방법 | |
WO2014190802A1 (en) | Method,system and terminal device for scanning virus | |
CN103268449B (zh) | 一种手机恶意代码的高速检测方法和系统 | |
CN105574146A (zh) | 网址拦截方法及装置 | |
CN103793649A (zh) | 通过云安全扫描文件的方法和装置 | |
CN105975858A (zh) | 安卓系统下基于虚拟技术的恶意代码检测方法及系统 | |
Xu et al. | SoProtector: Safeguard privacy for native SO files in evolving mobile IoT applications | |
CN108182363B (zh) | 嵌入式office文档的检测方法、系统及存储介质 | |
US10296743B2 (en) | Method and device for constructing APK virus signature database and APK virus detection system | |
CN106709350B (zh) | 一种病毒检测方法及装置 | |
CN105488409A (zh) | 一种检测恶意代码家族变种及新家族的方法及系统 | |
CN103902906A (zh) | 基于应用图标的移动终端恶意代码检测方法及系统 | |
CN106682493B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161005 |