CN108875362A - 一种样本行为获取方法、装置、存储介质及电子设备 - Google Patents

一种样本行为获取方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN108875362A
CN108875362A CN201711471140.7A CN201711471140A CN108875362A CN 108875362 A CN108875362 A CN 108875362A CN 201711471140 A CN201711471140 A CN 201711471140A CN 108875362 A CN108875362 A CN 108875362A
Authority
CN
China
Prior art keywords
sample
function
behavior
port
connection
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.)
Granted
Application number
CN201711471140.7A
Other languages
English (en)
Other versions
CN108875362B (zh
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.)
Beijing Ahtech Network Safe Technology Ltd
Original Assignee
Beijing Ahtech Network Safe Technology 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 Beijing Ahtech Network Safe Technology Ltd filed Critical Beijing Ahtech Network Safe Technology Ltd
Priority to CN201711471140.7A priority Critical patent/CN108875362B/zh
Publication of CN108875362A publication Critical patent/CN108875362A/zh
Application granted granted Critical
Publication of CN108875362B publication Critical patent/CN108875362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明的实施例公开一种样本行为获取方法、装置、计算机可读存储介质及电子设备,涉及信息安全技术,能够提升样本行为检测精度。所述样本行为获取方法包括:监测样本对端口的监听行为;若监测到所述样本对所述端口具有监听行为,构建与所述端口的连接;获取所述样本对截取的基于所述连接传输至所述端口的数据的样本行为。本发明适用于提升对执行过程中有端口监听行为的样本的行为采集能力。

Description

一种样本行为获取方法、装置、存储介质及电子设备
技术领域
本发明涉及信息安全技术,尤其涉及一种样本行为获取方法、装置、存储介质及电子设备。
背景技术
随着互联网技术的快速发展,网络上的数据流量越来越多,使得一些恶意软件通过网络攻击,能够非法获取用户的数据流量,从而给用户的网络信息安全带来极大的危害,并严重危害了网络安全环境。
为了维护互联网络安全,需要对恶意软件的网络攻击行为进行有效防范。目前,通常采用动态沙箱的方法对疑似恶意软件(样本)行为进行检测及分析,由于恶意软件在运行过程中存在端口监听的行为,端口监听行为是指恶意软件在运行过程中监听某一端口等待客户端连接的行为。通过监听端口,在等待到客户端的连接后,可以接收传输至该端口的数据,从而对来自该端口的数据进行截取,通过获取并分析该恶意软件对截取数据的处理行为,可以最终确定该疑似恶意软件是否为恶意软件。
但该样本行为获取方法,由于网络环境的局限,例如,当动态沙箱所处的网络环境不能够访问外网(公网/互联网),或者,动态沙箱系统操作系统的限制,例如,由于操作系统中防火墙限制或IP地址配置存在问题时,将导致样本处于一孤立的网络环境中,样本监听的端口无法与外界进行通信,使得样本监听的端口接收不到来自外界的任何数据,进而不会触发样本对截取数据的后续处理流程,无法获取该样本的样本行为,例如,对截取数据的操作行为,而这些数据操作行为有可能是危险的,从而在动态沙箱的样本行为获取方法中,该相关数据操作危险行为被遗漏,降低了动态沙箱的检测精度,影响动态沙箱的行为检测能力。
发明内容
有鉴于此,本发明实施例提供一种样本行为获取方法、装置、存储介质及电子设备,能够提升样本行为检测精度,以解决现有的样本行为获取方法中,由于网络环境的局限或操作系统的限制不能采集样本行为导致的样本行为检测精度低的技术问题。
第一方面,本发明实施例提供一种样本行为获取方法,包括:
监测样本对端口的监听行为;
若监测到所述样本对所述端口具有监听行为,构建与所述端口的连接;
获取所述样本对截取的基于所述连接传输至所述端口的数据的样本行为。
结合第一方面,在第一方面的第一种实施方式中,所述监测样本对端口的监听行为包括:
向listen()函数注册预先设置的hook函数,以使所述hook函数监测对所述listen()函数的调用行为。
结合第一方面,在第一方面的第二种实施方式中,所述监测样本对端口的监听行为包括:
利用注入方法将预先设置的hook函数注入到样本进程中,以监测所述样本进程对端口的监听行为。
结合第一方面的第一种实施方式或第二种实施方式,在第一方面的第三种实施方式中,所述若监测到所述样本对所述端口具有监听行为包括:
若注册或注入的所述hook函数监测到调用所述listen()函数的行为,解析获取调用所述listen()函数的参数列表中包含的端口信息,确定所述样本对所述端口信息映射的端口具有监听行为。
结合第一方面的第一种实施方式或第二种实施方式,在第一方面的第四种实施方式中,所述构建与所述端口的连接包括:
向accept()函数注册所述预先设置的hook函数;
在确定所述样本对所述端口具有监听行为后,触发所述hook函数取消对所述accept()函数的阻塞状态;
向所述accept()函数返回一新套接字标识号,以使所述accept()函数依据所述新套接字标识号,构建所述端口和所述hook函数的连接。
结合第一方面的第四种实施方式,在第一方面的第五种实施方式中,所述触发所述hook函数取消对所述accept()函数的阻塞状态包括:
触发所述hook函数构建一虚拟客户端;
依据所述hook函数中的自定义逻辑,通过所述虚拟客户端向所述accept()函数发送连接请求,以使所述accept()函数接收到所述连接请求后,取消阻塞状态。
结合第一方面的第四种实施方式,在第一方面的第六种实施方式中,所述触发所述hook函数取消对所述accept()函数的阻塞状态包括:
触发所述hook函数中的自定义逻辑,向所述accept()函数返回表征连接的返回值,以使所述accept()函数依据所述返回值取消阻塞状态。
结合第一方面的第一种实施方式或第二种实施方式,在第一方面的第七种实施方式中,所述构建与所述端口的连接包括:
向accept()函数注册所述预先设置的hook函数;
利用所述hook函数调用预先设置的虚拟客户端中的客户端模拟程序,并将监听的端口信息传递给所述客户端模拟程序;
基于所述虚拟客户端以及所述端口信息建立连接。
结合第一方面、第一方面的第一种实施方式或第二种实施方式,在第一方面的第八种实施方式中,在所述若监测到所述样本对所述端口具有监听行为之后,构建与所述端口的连接之前,所述方法还包括:
判断所述样本的网络环境能否访问外网,若所述样本的网络环境不能访问外网,执行所述构建与所述端口的连接的步骤。
结合第一方面、第一方面的第一种实施方式或第二种实施方式,在第一方面的第九种实施方式中,所述方法还包括:
对获取的样本行为进行分析,以确定所述样本的安全性。
第二方面,本发明实施例提供一种样本行为获取装置,包括:监测模块、连接构建模块以及样本行为获取模块,其中,
监测模块,用于监测样本对端口的监听行为;
连接构建模块,若监测到所述样本对所述端口具有监听行为,构建与所述端口的连接;
样本行为获取模块,用于获取所述样本对截取的基于所述连接传输至所述端口的数据的样本行为。
结合第二方面,在第二方面的第一种实施方式中,所述监测模块包括:第一注册单元以及第一监测单元,其中,
第一注册单元,用于向listen()函数注册预先设置的hook函数;
第一监测单元,用于使所述hook函数监测对所述listen()函数的调用行为。
结合第二方面,在第二方面的第二种实施方式中,所述监测模块包括:注入单元以及第二监测单元,其中,
注入单元,用于利用注入方法将预先设置的hook函数注入到样本进程中;
第二监测单元,用于监测所述样本进程对端口的监听行为。
结合第二方面的第一种实施方式或第二种实施方式,在第二方面的第三种实施方式中,所述连接构建模块包括:监听行为确定单元以及连接构建单元,其中,
监听行为确定单元,若注册或注入的所述hook函数监测到调用所述listen()函数的行为,解析获取调用所述listen()函数的参数列表中包含的端口信息,确定所述样本对所述端口信息映射的端口具有监听行为,通知连接构建单元;
连接构建单元,用于构建与所述端口的连接。
结合第二方面的第三种实施方式,在第二方面的第四种实施方式中,所述连接构建单元包括:第二注册子单元、触发子单元以及连接构建子单元,其中,
第二注册子单元,用于向accept()函数注册所述预先设置的hook函数;
触发子单元,用于在确定所述样本对所述端口具有监听行为后,触发所述hook函数取消对所述accept()函数的阻塞状态;
连接构建子单元,用于向所述accept()函数返回一新套接字标识号,以使所述accept()函数依据所述新套接字标识号,构建所述端口和所述hook函数的连接。
结合第二方面的第四种实施方式,在第二方面的第五种实施方式中,所述触发所述hook函数取消对所述accept()函数的阻塞状态包括:
触发所述hook函数构建一虚拟客户端;
依据所述hook函数中的自定义逻辑,通过所述虚拟客户端向所述accept()函数发送连接请求,以使所述accept()函数接收到所述连接请求后,取消阻塞状态。
结合第二方面的第四种实施方式,在第二方面的第六种实施方式中,所述触发所述hook函数取消对所述accept()函数的阻塞状态包括:
触发所述hook函数中的自定义逻辑,向所述accept()函数返回表征连接的返回值,以使所述accept()函数依据所述返回值取消阻塞状态。
结合第二方面的第一种实施方式或第二种实施方式,在第二方面的第七种实施方式中,所述连接构建模块包括:第三注册单元、客户端模拟程序调用单元以及连接单元,其中,
第三注册单元,用于向accept()函数注册所述预先设置的hook函数;
客户端模拟程序调用单元,用于利用所述hook函数调用预先设置的虚拟客户端中的客户端模拟程序,并将监听的端口信息传递给所述客户端模拟程序;
连接单元,用于基于所述虚拟客户端以及所述端口信息建立连接。
结合第二方面的第七种实施方式,在第二方面的第八种实施方式中,所述连接构建模块还包括:
网络环境判断单元,用于判断所述样本的网络环境能否访问外网,若所述样本的网络环境不能访问外网,通知连接单元。
结合第二方面的第一种实施方式或第二种实施方式,在第二方面的第九种实施方式中,所述装置还包括:
样本分析模块,用于对获取的样本行为进行分析,以确定所述样本的安全性。
第三方面,本发明实施例提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行前述任一实施方式所述的方法。
第四方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施方式所述的方法。
本发明实施例提供的一种样本行为获取方法、装置、计算机可读存储介质及电子设备,通过监测样本对端口的监听行为;若监测到所述样本对所述端口具有监听行为,构建与所述端口的连接;获取所述样本对截取的基于所述连接传输至所述端口的数据的样本行为。能够提升样本行为检测精度,以解决现有的样本行为获取方法中,由于网络环境的局限或操作系统的限制不能采集样本行为导致的样本行为检测精度低的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例一样本行为获取方法流程示意图;
图2为本发明的实施例二样本行为获取装置结构示意图;
图3为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明的实施例一样本行为获取方法流程示意图。如图1所示,该样本行为获取方法包括:
步骤101,监测样本对端口的监听行为;
本实施例中,样本在进行端口监听行为时,需要调用操作系统中一些特定的API去实现监听的动作,因此,作为一可选实施例,在对样本运行过程的监控中,通过检测是否有特定的API调用,可以确定样本是否有端口监听行为。
本实施例中,通过统计分析发现,无论是Windows操作系统还是Linux操作系统,使用的是标准的套接字函数调用listen()函数实现对端口的监听,因而,上述特定的API可以为listen()函数,作为一可选实施例,监测样本对端口的监听行为包括:
向listen()函数注册预先设置的hook函数,以使所述hook函数监测对所述listen()函数的调用行为。
本实施例中,可以利用操作系统提供的hook操作接口,向listen()函数注册hook函数,hook函数中包含具体的用于实现对端口的监听(对调用listen()函数的监听)、构建连接以及监测样本对截取的数据的样本行为的自定义逻辑。通过向listen()函数注册hook函数,这样,注册的hook函数监测调用listen()函数的行为,当样本通过操作系统调用了listen()函数时,表明样本具有对端口的监听行为,从而触发注册的hook函数执行相应的流程。
本实施例中,在hook函数监测到调用listen()函数的行为后,通过获取调用的listen()函数的调用信息,例如,调用该listen()函数的参数列表中,可以获取样本具体监控的端口信息,例如端口号。
本实施例中,还可以针对样本进行预处理,作为另一可选实施例,监测样本对端口的监听行为包括:
利用注入方法将预先设置的hook函数注入到样本进程中,以监测所述样本进程对端口的监听行为。
本实施例中,注入样本进程中的hook函数包含有实现对端口的监听、构建连接以及监测样本对截取的数据的样本行为的自定义逻辑,从而对样本通过操作系统调用相关函数(listen()函数)监听端口的过程进行干预和记录样本的日志信息。
本实施例中,在样本进程中钩住(hook)特定的API,例如,listen()函数,如果该特定API被调用,则可以触发hook函数的执行,如果触发了hook函数的执行,则说明该样本存在端口监听行为,如果没有触发hook函数,则认为该样本中不存在端口监听行为。
本实施例中,关于将hook函数注入到样本进程中的注入方法,具体可参见相关技术文献,在此略去详述。
步骤102,若监测到所述样本对所述端口具有监听行为,构建与所述端口的连接;
本实施例中,作为一可选实施例,若监测到所述样本对所述端口具有监听行为包括:
若注册或注入的所述hook函数监测到调用所述listen()函数的行为,解析获取调用所述listen()函数的参数列表中包含的端口信息,确定所述样本对所述端口信息映射的端口具有监听行为。
本实施例中,在监测到有调用listen()函数的调用行为后,获取调用的listen()函数的调用信息,解析调用信息来得到监听的端口,再通过调用其他相关函数来创建连接。因而,作为一可选实施例,构建与所述端口的连接包括:
A11,向accept()函数注册所述预先设置的hook函数;
本实施例中,向accept()函数注册所述预先设置的hook函数的流程在本实施例中只需执行一次,无需每次构建与端口的连接都需要执行。
本实施例中,操作系统调用listen()函数监听端口后,再调用accept()函数来接收与端口的连接请求,在accept()函数接收到连接请求前,accept函数处于阻塞状态,直到接收到连接请求后,取消自身的阻塞状态,并在接收到新套接字标识号后,accept()函数依据新套接字标识号与发送连接请求的发送方建立连接关系,从而实现实时通信。
A12,在确定所述样本对所述端口具有监听行为后,触发所述hook函数取消对所述accept()函数的阻塞状态;
本实施例中,作为一可选实施例,触发所述hook函数取消对所述accept()函数的阻塞状态包括:
A121,触发所述hook函数构建一虚拟客户端;
A122,依据所述hook函数中的自定义逻辑,通过所述虚拟客户端向所述accept()函数发送连接请求,以使所述accept()函数接收到所述连接请求后,取消阻塞状态。
本实施例中,作为另一可选实施例,触发所述hook函数取消对所述accept()函数的阻塞状态包括:
触发所述hook函数中的自定义逻辑,向所述accept()函数返回表征连接的返回值,以使所述accept()函数依据所述返回值取消阻塞状态。
本实施例中,通过修改调用的accept()函数返回值,即通过捕获accept()函数调用,如果捕获到accept()函数调用的动作发生在accept()函数被调用之前,例如,在路径上拦截到调用accept()函数,则通过预先设置的自定义逻辑返回一个值以构建连接,跳过调用accept()函数的流程;如果捕获到accept()函数调用的动作发生在accept()函数被调用之后,例如,步骤A121所描述的示例,在该accept()函数被调用完成后,通过预先设置的自定义逻辑返回自定义值以构建新连接。
A13,向所述accept()函数返回一新套接字标识号,以使所述accept()函数依据所述新套接字标识号,构建所述端口和所述hook函数的连接。
本实施例中,通过注册在accept()函数中的hook函数建立模拟连接,即利用hook函数直接取消accept()函数的阻塞状态,这样,通过取消对accept()函数的阻塞状态,表明有客户端发起需要与端口建立通信连接的连接请求,并通过hook函数向accept()函数返回一新套接字(socket)标识号,以使accept()函数依据新socket标识号,构建端口和连接请求发起方的连接,以便进行数据传输,这样,样本可以对传输的数据进行截取,hook函数内置的自定义逻辑可以获取样本对截取数据的操作行为,从而基于操作行为(样本行为)进行安全性分析。
本实施例中,作为另一可选实施例,构建与所述端口的连接包括:
A21,向accept()函数注册所述预先设置的hook函数;
A22,利用所述hook函数调用预先设置的虚拟客户端中的客户端模拟程序,并将监听的端口信息传递给所述客户端模拟程序;
本实施例中,可以在accept()函数中内置的hook函数外部进行模拟连接,即预先设置一虚拟客户端,该虚拟客户端中内置有客户端模拟程序,其中,客户端模拟程序具备传递参数,传递参数为被监听的端口信息,例如端口号。在构建模拟连接时,利用accept()函数中注册的hook函数调用客户端模拟程序,并且将被监控的端口号传递给客户端模拟程序,当客户端模拟程序启动后,会请求连接被监听的端口信息对应的端口,从而基于虚拟客户端以及端口号,可以建立两者之间的模拟连接。
本实施例中,利用hook函数获取调用listen()函数的参数列表中包含的端口信息,可以直接获得被监听的端口号,其中,参数列表中的第二个参数,即套接字地址(sockaddr)参数中包含有端口信息。
A23,基于所述虚拟客户端以及所述端口信息建立连接。
本实施例中,作为一可选实施例,在所述若监测到所述样本对所述端口具有监听行为之后,构建与所述端口的连接之前,该方法还可以包括:
判断所述样本的网络环境能否访问外网,若所述样本的网络环境不能访问外网,执行所述构建与所述端口的连接的步骤。
本实施例中,样本的网络环境不能访问外网是指由于网络环境的局限,例如,当动态沙箱所处的网络环境由于网络信号差,或没有网络信号,或连接线故障或断开,不能够访问外网(公网/互联网),或者,由于动态沙箱系统操作系统的限制,例如,网络信号良好,但由于操作系统中防火墙限制或IP地址配置存在问题,使得样本的网络环境不能与外网有效连接,导致样本处于一孤立的网络环境中,造成样本监听的端口无法与外网进行通信。
本实施例中,若所述样本的网络环境能够访问外网,则可以采用现有技术进行处理,当然,实际应用中,在采用现有技术进行处理的同时,也可以执行所述构建与所述端口的连接的步骤,以构建一新连接辅助采集样本行为,本实施例对此不做限定。
步骤103,获取所述样本对截取的基于所述连接传输至所述端口的数据的样本行为。
本实施例中,在连接成功后,操作系统开启一子进程来接收端口发送的数据,在父进程中向端口发送随机数据或接收到的数据响应,样本既可以截取端口发送的数据,也可以截取发送至端口的数据,还可以劫持端口直接向虚拟客户端发送相关指令或数据。
本实施例中,作为一可选实施例,该方法还包括:
对获取的样本行为进行分析,以确定所述样本的安全性。
本实施例中,作为一可选实施例,对获取的样本行为进行分析,以确定所述样本的安全性包括:
将所述获取的样本行为与预先设置的恶意行为库进行匹配,若确定所述获取的样本行为所述恶意行为库中的任一恶意行为相匹配,确定所述样本为危险样本。
本实施例中,在模拟连接后,可以获取样本的一些样本行为。作为一可选实施例,可以在获取样本的一样本行为后,可以与恶意行为库进行匹配;作为另一可选实施例,也可以在获取样本的多个样本行为后,再与恶意行为库进行匹配。
本实施例中,可以逐条或者按照预先设置的组合方式组合样本行为后,与行为检测规则,例如,恶意行为库或白名单行为库进行匹配,如果能匹配上,则确定与行为检测规则相匹配。
本实施例的样本行为获取方法,通过监测样本对端口的监听行为;若监测到所述样本对所述端口具有监听行为,构建与所述端口的连接;获取所述样本对截取的基于所述连接传输至所述端口的数据的样本行为。这样,通过获取样本监听的端口后,通过模拟客户端(client)与该样本监听的端口建立连接,例如,通过模拟客户端向该样本监听的端口发送数据,或者修改调用的API返回值,从而触发端口监听返回成功后的执行逻辑,避免了由于网络环境的局限或操作系统的限制导致的样本处于孤立的网络环境中,样本监听的端口无法与外界进行通信,使得样本监听的端口接收不到来自外界的任何数据的情形出现,使得样本能够截取传输至该端口的数据,从而触发样本对截取的数据操作行为,提升了对运行过程中有端口监听行为的样本的行为采集能力,有效降低样本对数据的危险操作行为的遗漏率,有效提升样本行为检测精度。同时,能够依据样本的数据操作行为确定该样本是否为恶意软件,并对恶意软件进行相应处理,提升了数据传输的安全性。而且,本实施例通过模拟触发端口监听返回成功后,逻辑执行采集后续样本行为的方法,对于样本中有端口监听行为的行为采集提供了一种解决方案,可以应用于动态沙箱方法中,增强动态沙箱的行为检出能力,丰富动态沙箱的检出行为,减小样本行为漏检的概率,也可应用于监控审计系统中,实现对端口监听行为的监控与审计。
图2为本发明的实施例二样本行为获取装置结构示意图。如图2所示,该样本行为获取装置包括:监测模块21、连接构建模块22以及样本行为获取模块23,其中,
监测模块21,用于监测样本对端口的监听行为;
本实施例中,作为一可选实施例,监测模块21包括:第一注册单元以及第一监测单元(图中未示出),其中,
第一注册单元,用于向listen()函数注册预先设置的hook函数;
本实施例中,可以利用操作系统提供的hook操作接口,向listen()函数注册hook函数,hook函数中包含具体的用于实现对端口的监听(对调用listen()函数的监听)、构建连接以及监测样本对截取的数据的样本行为的自定义逻辑。
第一监测单元,用于使所述hook函数监测对所述listen()函数的调用行为。
本实施例中,注册的hook函数监测调用listen()函数的行为,当样本通过操作系统调用了listen()函数时,表明样本具有对端口的监听行为,从而触发注册的hook函数执行相应的流程。
本实施例中,作为另一可选实施例,监测模块21包括:注入单元以及第二监测单元,其中,
注入单元,用于利用注入方法将预先设置的hook函数注入到样本进程中;
第二监测单元,用于监测所述样本进程对端口的监听行为。
连接构建模块22,若监测到所述样本对所述端口具有监听行为,构建与所述端口的连接;
本实施例中,作为一可选实施例,连接构建模块22包括:监听行为确定单元以及连接构建单元(图中未示出),其中,
监听行为确定单元,若注册或注入的所述hook函数监测到调用所述listen()函数的行为,解析获取调用所述listen()函数的参数列表中包含的端口信息,确定所述样本对所述端口信息映射的端口具有监听行为,通知连接构建单元;
连接构建单元,用于构建与所述端口的连接。
本实施例中,在监测到有调用listen()函数的调用行为后,获取调用的listen()函数的调用信息,解析调用信息来得到监听的端口,再通过调用其他相关函数来创建连接。
本实施例中,作为另一可选实施例,连接构建单元包括:第二注册子单元、触发子单元以及连接构建子单元,其中,
第二注册子单元,用于向accept()函数注册所述预先设置的hook函数;
触发子单元,用于在确定所述样本对所述端口具有监听行为后,触发所述hook函数取消对所述accept()函数的阻塞状态;
本实施例中,作为一可选实施例,所述触发所述hook函数取消对所述accept()函数的阻塞状态包括:
触发所述hook函数构建一虚拟客户端;
依据所述hook函数中的自定义逻辑,通过所述虚拟客户端向所述accept()函数发送连接请求,以使所述accept()函数接收到所述连接请求后,取消阻塞状态。
本实施例中,作为另一可选实施例,所述触发所述hook函数取消对所述accept()函数的阻塞状态包括:
触发所述hook函数中的自定义逻辑,向所述accept()函数返回表征连接的返回值,以使所述accept()函数依据所述返回值取消阻塞状态。
连接构建子单元,用于向所述accept()函数返回一新套接字标识号,以使所述accept()函数依据所述新套接字标识号,构建所述端口和所述hook函数的连接。
本实施例中,作为另一可选实施例,连接构建模块22包括:第三注册单元、客户端模拟程序调用单元以及连接单元,其中,
第三注册单元,用于向accept()函数注册所述预先设置的hook函数;
客户端模拟程序调用单元,用于利用所述hook函数调用预先设置的虚拟客户端中的客户端模拟程序,并将监听的端口信息传递给所述客户端模拟程序;
连接单元,用于基于所述虚拟客户端以及所述端口信息建立连接。
本实施例中,利用accept()函数中注册的hook函数调用客户端模拟程序,并且将被监控的端口号传递给客户端模拟程序,当客户端模拟程序启动后,会请求连接被监听的端口信息对应的端口,从而基于虚拟客户端以及端口号,可以建立两者之间的模拟连接。
本实施例中,作为再一可选实施例,连接构建模块22还包括:
网络环境判断单元,用于判断所述样本的网络环境能否访问外网,若所述样本的网络环境不能访问外网,通知连接单元。
样本行为获取模块23,用于获取所述样本对截取的基于所述连接传输至所述端口的数据的样本行为。
本实施例中,在连接成功后,样本既可以截取端口发送的数据,也可以截取发送至端口的数据,还可以劫持端口直接向虚拟客户端发送相关指令或数据。
本实施例中,作为一可选实施例,该装置还包括:
样本分析模块(图中未示出),用于对获取的样本行为进行分析,以确定所述样本的安全性。
本实施例中,作为一可选实施例,对获取的样本行为进行分析,以确定所述样本的安全性包括:
将所述获取的样本行为与预先设置的恶意行为库进行匹配,若确定所述获取的样本行为所述恶意行为库中的任一恶意行为相匹配,确定所述样本为危险样本。
本发明实施例还提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行图1所示方法实施例的技术方案。
本发明实施例还提供了一种应用程序,用于执行本发明实施例所提供的一种样本行为获取方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。
在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
图3为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-2所示实施例的流程,如图3所示,上述电子设备可以包括:壳体31、处理器32、存储器33、电路板34和电源电路35,其中,电路板34安置在壳体31围成的空间内部,处理器32和存储器33设置在电路板34上;电源电路35,用于为上述电子设备的各个电路或器件供电;存储器33用于存储可执行程序代码;处理器32通过读取存储器33中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的样本行为获取方法。
处理器32对上述步骤的具体执行过程以及处理器32通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-2所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (22)

1.一种样本行为获取方法,其特征在于,包括:
监测样本对端口的监听行为;
若监测到所述样本对所述端口具有监听行为,构建与所述端口的连接;
获取所述样本对截取的基于所述连接传输至所述端口的数据的样本行为。
2.根据权利要求1所述的样本行为获取方法,其特征在于,所述监测样本对端口的监听行为包括:
向listen()函数注册预先设置的hook函数,以使所述hook函数监测对所述listen()函数的调用行为。
3.根据权利要求1所述的样本行为获取方法,其特征在于,所述监测样本对端口的监听行为包括:
利用注入方法将预先设置的hook函数注入到样本进程中,以监测所述样本进程对端口的监听行为。
4.根据权利要求2或3所述的样本行为获取方法,其特征在于,所述若监测到所述样本对所述端口具有监听行为包括:
若注册或注入的所述hook函数监测到调用所述listen()函数的行为,解析获取调用所述listen()函数的参数列表中包含的端口信息,确定所述样本对所述端口信息映射的端口具有监听行为。
5.根据权利要求2或3所述的样本行为获取方法,其特征在于,所述构建与所述端口的连接包括:
向accept()函数注册所述预先设置的hook函数;
在确定所述样本对所述端口具有监听行为后,触发所述hook函数取消对所述accept()函数的阻塞状态;
向所述accept()函数返回一新套接字标识号,以使所述accept()函数依据所述新套接字标识号,构建所述端口和所述hook函数的连接。
6.根据权利要求5所述的样本行为获取方法,其特征在于,所述触发所述hook函数取消对所述accept()函数的阻塞状态包括:
触发所述hook函数构建一虚拟客户端;
依据所述hook函数中的自定义逻辑,通过所述虚拟客户端向所述accept()函数发送连接请求,以使所述accept()函数接收到所述连接请求后,取消阻塞状态。
7.根据权利要求5所述的样本行为获取方法,其特征在于,所述触发所述hook函数取消对所述accept()函数的阻塞状态包括:
触发所述hook函数中的自定义逻辑,向所述accept()函数返回表征连接的返回值,以使所述accept()函数依据所述返回值取消阻塞状态。
8.根据权利要求2或3所述的样本行为获取方法,其特征在于,所述构建与所述端口的连接包括:
向accept()函数注册所述预先设置的hook函数;
利用所述hook函数调用预先设置的虚拟客户端中的客户端模拟程序,并将监听的端口信息传递给所述客户端模拟程序;
基于所述虚拟客户端以及所述端口信息建立连接。
9.根据权利要求1至3任一项所述的样本行为获取方法,其特征在于,在所述若监测到所述样本对所述端口具有监听行为之后,构建与所述端口的连接之前,所述方法还包括:
判断所述样本的网络环境能否访问外网,若所述样本的网络环境不能访问外网,执行所述构建与所述端口的连接的步骤。
10.根据权利要求1至3任一项所述的样本行为获取方法,其特征在于,所述方法还包括:
对获取的样本行为进行分析,以确定所述样本的安全性。
11.一种样本行为获取装置,其特征在于,包括:监测模块、连接构建模块以及样本行为获取模块,其中,
监测模块,用于监测样本对端口的监听行为;
连接构建模块,若监测到所述样本对所述端口具有监听行为,构建与所述端口的连接;
样本行为获取模块,用于获取所述样本对截取的基于所述连接传输至所述端口的数据的样本行为。
12.根据权利要求11所述的样本行为获取装置,其特征在于,所述监测模块包括:第一注册单元以及第一监测单元,其中,
第一注册单元,用于向listen()函数注册预先设置的hook函数;
第一监测单元,用于使所述hook函数监测对所述listen()函数的调用行为。
13.根据权利要求11所述的样本行为获取装置,其特征在于,所述监测模块包括:注入单元以及第二监测单元,其中,
注入单元,用于利用注入方法将预先设置的hook函数注入到样本进程中;
第二监测单元,用于监测所述样本进程对端口的监听行为。
14.根据权利要求12或13所述的样本行为获取装置,其特征在于,所述连接构建模块包括:监听行为确定单元以及连接构建单元,其中,
监听行为确定单元,若注册或注入的所述hook函数监测到调用所述listen()函数的行为,解析获取调用所述listen()函数的参数列表中包含的端口信息,确定所述样本对所述端口信息映射的端口具有监听行为,通知连接构建单元;
连接构建单元,用于构建与所述端口的连接。
15.根据权利要求14所述的样本行为获取装置,其特征在于,所述连接构建单元包括:第二注册子单元、触发子单元以及连接构建子单元,其中,
第二注册子单元,用于向accept()函数注册所述预先设置的hook函数;
触发子单元,用于在确定所述样本对所述端口具有监听行为后,触发所述hook函数取消对所述accept()函数的阻塞状态;
连接构建子单元,用于向所述accept()函数返回一新套接字标识号,以使所述accept()函数依据所述新套接字标识号,构建所述端口和所述hook函数的连接。
16.根据权利要求15所述的样本行为获取装置,其特征在于,所述触发所述hook函数取消对所述accept()函数的阻塞状态包括:
触发所述hook函数构建一虚拟客户端;
依据所述hook函数中的自定义逻辑,通过所述虚拟客户端向所述accept()函数发送连接请求,以使所述accept()函数接收到所述连接请求后,取消阻塞状态。
17.根据权利要求15所述的样本行为获取装置,其特征在于,所述触发所述hook函数取消对所述accept()函数的阻塞状态包括:
触发所述hook函数中的自定义逻辑,向所述accept()函数返回表征连接的返回值,以使所述accept()函数依据所述返回值取消阻塞状态。
18.根据权利要求12或13所述的样本行为获取装置,其特征在于,所述连接构建模块包括:第三注册单元、客户端模拟程序调用单元以及连接单元,其中,
第三注册单元,用于向accept()函数注册所述预先设置的hook函数;
客户端模拟程序调用单元,用于利用所述hook函数调用预先设置的虚拟客户端中的客户端模拟程序,并将监听的端口信息传递给所述客户端模拟程序;
连接单元,用于基于所述虚拟客户端以及所述端口信息建立连接。
19.根据权利要求18所述的样本行为获取装置,其特征在于,所述连接构建模块还包括:
网络环境判断单元,用于判断所述样本的网络环境能否访问外网,若所述样本的网络环境不能访问外网,通知连接单元。
20.根据权利要求11至13任一项所述的样本行为获取装置,其特征在于,所述装置还包括:
样本分析模块,用于对获取的样本行为进行分析,以确定所述样本的安全性。
21.一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-10任一项所述的方法。
22.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一权利要求1-10所述的样本行为获取方法。
CN201711471140.7A 2017-12-28 2017-12-28 一种样本行为获取方法、装置、存储介质及电子设备 Active CN108875362B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711471140.7A CN108875362B (zh) 2017-12-28 2017-12-28 一种样本行为获取方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711471140.7A CN108875362B (zh) 2017-12-28 2017-12-28 一种样本行为获取方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN108875362A true CN108875362A (zh) 2018-11-23
CN108875362B CN108875362B (zh) 2021-03-23

Family

ID=64325630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711471140.7A Active CN108875362B (zh) 2017-12-28 2017-12-28 一种样本行为获取方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN108875362B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101227528A (zh) * 2007-01-18 2008-07-23 管嫣 一种基于互联网平台的信息化通讯名片系统及其工作方法
CN101753377A (zh) * 2009-12-29 2010-06-23 吉林大学 一种p2p_botnet实时检测方法及系统
CN106549808A (zh) * 2016-11-17 2017-03-29 北京安天电子设备有限公司 一种网络环境模拟方法及系统
CN106650425A (zh) * 2016-12-06 2017-05-10 中国联合网络通信集团有限公司 一种安全沙箱的控制方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101227528A (zh) * 2007-01-18 2008-07-23 管嫣 一种基于互联网平台的信息化通讯名片系统及其工作方法
CN101753377A (zh) * 2009-12-29 2010-06-23 吉林大学 一种p2p_botnet实时检测方法及系统
CN106549808A (zh) * 2016-11-17 2017-03-29 北京安天电子设备有限公司 一种网络环境模拟方法及系统
CN106650425A (zh) * 2016-12-06 2017-05-10 中国联合网络通信集团有限公司 一种安全沙箱的控制方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张灿岩: "《用于恶意代码检测的沙箱技术研究》", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *

Also Published As

Publication number Publication date
CN108875362B (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
WO2020019484A1 (zh) 一种模拟器识别方法、识别设备及计算机可读介质
CN104767713B (zh) 账号绑定的方法、服务器及系统
CN106778260A (zh) 攻击检测方法和装置
CN103581185B (zh) 对抗免杀测试的云查杀方法、装置及系统
CN108965296A (zh) 一种用于智能家居设备的漏洞检测方法及检测装置
CN105512045A (zh) 一种应用程序的测试方法、装置及测试设备
CN106201468A (zh) 一种截屏的处理方法、装置及电子设备
CN107493378A (zh) 应用程序登录的方法和装置、计算机设备及可读存储介质
CN110348213A (zh) 一种Hook攻击检测方法、存储介质及移动终端
CN108073499A (zh) 应用程序的测试方法及装置
CN108965251A (zh) 一种云端结合的安全手机防护系统
CN109921960B (zh) 一种idc机房网络异常测试方法及装置
CN105528546B (zh) 一种挖掘漏洞的方法、装置及电子设备
CN112235300B (zh) 云虚拟网络漏洞检测方法、系统、装置及电子设备
CN103281288B (zh) 一种手机防火墙系统及方法
CN106650281B (zh) 一种数据处理方法、系统、服务器和客户端
CN106203119B (zh) 隐藏光标的处理方法、装置及电子设备
CN108875362A (zh) 一种样本行为获取方法、装置、存储介质及电子设备
CN104320766A (zh) 垃圾短信识别方法、装置及设备
CN104660480B (zh) 一种帐号异常处理的方法、装置及系统
CN113904828B (zh) 接口的敏感信息检测方法、装置、设备、介质和程序产品
CN111030977A (zh) 一种攻击事件追踪方法、装置及存储介质
CN106685796B (zh) 一种信息识别方法、装置和系统
CN108874462A (zh) 一种浏览器行为获取方法、装置、存储介质及电子设备
CN110233818A (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
GR01 Patent grant
GR01 Patent grant