CN105989286A - 一种分析可执行文件判断高危文件的方法及系统 - Google Patents

一种分析可执行文件判断高危文件的方法及系统 Download PDF

Info

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
Application number
CN201510538094.2A
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.)
Wuhan Antian Information Technology Co Ltd
Original Assignee
Wuhan Antian Information Technology Co Ltd
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 Wuhan Antian Information Technology Co Ltd filed Critical Wuhan Antian Information Technology Co Ltd
Priority to CN201510538094.2A priority Critical patent/CN105989286A/zh
Publication of CN105989286A publication Critical patent/CN105989286A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer 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值,若存在,则所述可执行文件或者动态库文件为高危文件。
CN201510538094.2A 2015-08-28 2015-08-28 一种分析可执行文件判断高危文件的方法及系统 Pending CN105989286A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829579A (zh) * 2018-05-03 2018-11-16 广州金山安全管理系统技术有限公司 可执行文件的分析方法、装置、存储介质和处理器

Citations (5)

* Cited by examiner, † Cited by third party
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 北京奇虎科技有限公司 一种应用程序安全性的鉴定方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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