CN104392174A - 应用程序动态行为的特征向量的生成方法及装置 - Google Patents

应用程序动态行为的特征向量的生成方法及装置 Download PDF

Info

Publication number
CN104392174A
CN104392174A CN201410570820.4A CN201410570820A CN104392174A CN 104392174 A CN104392174 A CN 104392174A CN 201410570820 A CN201410570820 A CN 201410570820A CN 104392174 A CN104392174 A CN 104392174A
Authority
CN
China
Prior art keywords
dynamic behaviour
feature
application program
feature vector
vector
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
CN201410570820.4A
Other languages
English (en)
Other versions
CN104392174B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410570820.4A priority Critical patent/CN104392174B/zh
Publication of CN104392174A publication Critical patent/CN104392174A/zh
Application granted granted Critical
Publication of CN104392174B publication Critical patent/CN104392174B/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/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)
  • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种应用程序动态行为的特征向量的生成方法,包括:获取多个应用程序的动态行为记录数据,根据该动态行为记录数据获取该应用程序的动态行为特征,并为该动态行为特征生成对应的原始特征向量;根据该原始特征向量,建立用于预测该应用程序的动态行为特征的预测模型,求解该预测模型得到特征向量变换矩阵;根据该特征向量变换矩阵以及该原始特征向量获得该动态行为特征的目标特征向量,并输出。此外,本发明还提供一种应用程序动态行为的特征向量的生成装置。上述应用程序动态行为的特征向量的生成方法及装置,可减少应用程序动态行为的特征向量的表示长度,并使得相近似的动态行为特征他们的向量表示也相近。

Description

应用程序动态行为的特征向量的生成方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用程序动态行为的特征向量的生成方法及装置。 
背景技术
应用程序的动态行为是指应用程序在运行时发生的一系列行为,例如:创建新文件进程、进程退出、创建本地线程、枚举进程、隐藏窗口创建进程、创建可执行文件、打开文件等等。在恶意程序分析中,通常需要获取程序的动态行为,并通过这些行为去判断该程序是否为恶意程序。随着机器学习技术的发展,机器学习技术也被应用到恶意程序分析领域。为使用机器学习技术对恶意软件进行分析,需要将获取的程序的动态行为特征转换为机器学习模型可以进行识别和计算的向量。 
现有技术在处理这些动态行为特征时,会把每一个特征表示为一个很长的向量,这个向量的维度是特征总数大小,其中只有一个维度的值是1,这个维度代表了当前的动态行为特征,其他维度的值是0。 
例如:假设共有V种不同特征,然后为每一个动态行为分配一个特征标识,则“创建新文件进程”,可以被表示为:“创建本地线程”,可以被表示为:在获取到这些特征点后,可以将其进行拼接或相加或进行其他处理,作为该程序的向量表示。例如:将上述两个特征拼接为:或者,将上述两个特征进行相加为:
通过上述向量表示方式可以发现,现有技术存在着以下问题:1、向量维度较大,影响后续的存储和计算的性能;2、没有考虑到动态行为特征之 间的上下文关系和相互联系。 
发明内容
有鉴于此,本发明提供一种应用程序动态行为的特征向量的生成方法及装置,可减小应用程序动态行为的特征向量的表示长度,并使得相近似的动态行为特征他们的向量表示也相近。 
本发明实施例提供的一种应用程序动态行为的特征向量的生成方法,包括:获取多个应用程序的动态行为记录数据,根据所述动态行为记录数据获取所述应用程序的动态行为特征,并为所述动态行为特征生成对应的原始特征向量;根据所述原始特征向量,建立用于预测所述应用程序的动态行为特征的预测模型,求解所述预测模型得到特征向量变换矩阵;根据所述特征向量变换矩阵以及所述原始特征向量获得所述动态行为特征的目标特征向量,并输出。 
本发明实施例提供的一种应用程序动态行为的特征向量的生成装置,包括:获取模块,用于获取多个应用程序的动态行为记录数据,根据所述动态行为记录数据获取所述应用程序的动态行为特征;生成模块,用于为所述获取模块获取的所述动态行为特征生成对应的原始特征向量;建模模块,用于根据所述原始特征向量,建立用于预测所述应用程序的动态行为特征的预测模型;运算模块,用于求解所述建模模块建立的所述预测模型得到特征向量变换矩阵;所述运算模块,还用于根据所述特征向量变换矩阵以及所述原始特征向量获得所述动态行为特征的目标特征向量;输出模块,用于输出所述目标特征向量。 
本发明实施例提供的应用程序动态行为的特征向量的生成方法及装置,通过建立用于预测应用程序的动态行为特征的预测模型,求解该预测模型得到特征向量变换矩阵,并根据该特征向量变换矩阵以及该动态行为特征的原始特征向量获得该动态行为特征的目标特征向量,由于使用一个 预先设定好的可远小于特征向量维数的K维向量表示动态行为特征,因此可极大地减小应用程序动态行为的特征向量的表示长度。 
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。 
附图说明
图1示出了一种终端设备的结构示意图; 
图2为本发明第一实施例提供的应用程序动态行为的特征向量的生成方法的流程图; 
图3为本发明第二实施例提供的应用程序动态行为的特征向量的生成方法的流程图; 
图4为本发明第二实施例提供的应用程序动态行为的特征向量的生成方法中Skip-Gram模型的示意图; 
图5为本发明第二实施例提供的应用程序动态行为的特征向量的生成方法中窗口的示例图; 
图6为本发明第二实施例提供的应用程序动态行为的特征向量的生成方法中Continues bag of words模型的示意图; 
图7为本发明第三实施例提供的应用程序动态行为的特征向量的生成装置的结构示意图; 
图8为图7的存储环境示意图; 
图9为本发明第四实施例提供的应用程序动态行为的特征向量的生成装置的结构示意图。 
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、 特征及其功效,详细说明如后。 
本发明实施例提供的应用程序动态行为的特征向量的生成方法可应用于如图1所示的终端设备100中,实现对应用程序动态行为的特征向量的生成。 
图1示出了一种终端设备的结构框图。如图1所示,终端设备100包括存储器102、存储控制器104,一个或多个(图中仅示出一个)处理器106、外设接口108、射频模块110、显示模块112、按键模块114。这些组件通过一条或多条通讯总线/信号线116相互通讯。 
可以理解,图1所示的结构仅为示意,终端设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。 
存储器102可用于存储软件程序以及模块,如本发明实施例中的应用程序动态行为的特征向量的生成方法及装置对应的程序指令/模块,处理器106通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序动态行为的特征向量的生成方法。 
存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理器106远程设置的存储器,这些远程存储器可以通过网络连接至终端设备100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。 
处理器106运行存储器102内的各种软件、指令以执行终端设备100的各种功能以及进行数据处理。 
外设接口108用于将各种外部设备耦合至CPU以及存储器102。 
在一些实施例中,存储控制器104、处理器106以及外设接口108可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。 
射频模块110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通信网络或者其他设备进行通讯。射频模块110可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。射频模块110可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for Mobile Communication,GSM)、增强型移动通信技术(Enhanced Data GSM Environment,EDGE),宽带码分多址技术(wideband code division multiple access,W-CDMA),码分多址技术(Code division access,CDMA)、时分多址技术(time division multiple access,TDMA),蓝牙,无线保真技术(Wireless,Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE802.11a,IEEE802.11b,IEEE802.11g和/或IEEE802.11n)、网络电话(Voice over internet protocol,VoIP)、全球微波互联接入(Worldwide Interoperability for Microwave Access,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。 
显示模块112在终端设备100与用户之间提供一个输出界面,向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。可以理解的,显示模块112还可以在终端设备100与用户之间同时提供一个输出及输入界面。具体地,除了向用户显示视频输出之外,显示模块112还接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做 出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。显示模块112的具体实例包括但并不限于液晶显示器或发光聚合物显示器。 
按键模块114同样提供用户向终端设备100进行输入的接口,用户可以通过按下不同的按键以使终端设备100执行不同的功能。 
第一实施例 
请参阅图2,图2为本发明第一实施例提供的应用程序动态行为的特征向量的生成方法的流程图。如图2所示,本实施例提供的应用程序动态行为的特征向量的生成方法包括: 
步骤S101,获取多个应用程序的动态行为记录数据,根据该动态行为记录数据获取该应用程序的动态行为特征,并为该动态行为特征生成对应的原始特征向量; 
具体地,终端设备100接收用户的获取指令,根据该获取指令的指示,获取对应的海量应用程序,并通过沙箱或虚拟机模拟运行上述海量应用程序,以获取上述海量应用程序在运行过程中产生的动态行为的记录数据。然后,根据该动态行为的记录数据获取各应用程序的动态行为,并根据预置的划分规则,对获取的动态行为进行划分,将划分的每一组动态行为作为该应用程序的一种动态行为特征并为其分配一个对应的特征标识,并根据预置的生成规则,为每一种动态行为特征生成一个对应的原始特征向量。 
上述应用程序可以包括:可执行的恶意程序和非恶意程序。 
步骤S102,根据该原始特征向量,建立用于预测该应用程序的动态行为特征的预测模型,求解该预测模型得到特征向量变换矩阵; 
本步骤也可以理解为将上述各动态行为特征的原始特征向量输入用于预测该应用程序的动态行为特征的预测模型进行训练,以获得模型参数特征向量变换矩阵。该预测模型的原理是将位于高维离散空间(维数为动态行为的特征数目)中的每个动态行为的特征映射到低维(K维)连续空间 的实数向量。具体地,该预测模型可以为Skip-Gram模型或Continues bag of words模型。 
步骤S103,根据该特征向量变换矩阵以及该原始特征向量获得该动态行为特征的目标特征向量,并输出。 
对于每一种动态行为特征来说,该动态行为特征的原始特征向量与特征向量变换矩阵的乘积就为其目标特征向量。 
本发明实施例提供的应用程序动态行为的特征向量的生成方法,通过建立用于预测应用程序的动态行为特征的预测模型,求解该预测模型得到特征向量变换矩阵,并根据该特征向量变换矩阵以及该动态行为特征的原始特征向量获得该动态行为特征的目标特征向量,由于使用一个预先设定好的可远小于特征向量维数的K维向量表示动态行为特征,因此可极大地减小应用程序动态行为的特征向量的表示长度,进而减小为存储上述特征向量所占用的存储空间,提高运算速度。 
第二实施例 
请参阅图3,图3为本发明第二实施例提供的应用程序动态行为的特征向量的生成方法的流程图。如图3所示,本实施例提供的应用程序动态行为的特征向量的生成方法包括: 
步骤S201,获取多个应用程序的动态行为记录数据; 
具体地,终端设备100接收用户的获取指令,根据该获取指令的指示,获取对应的海量应用程序。该应用程序可以包括:可执行的恶意程序和非恶意程序。 
于本实施例中,终端设备100可通过启动沙箱或虚拟机,在虚拟环境下运行上述海量应用程序,并通过调用监控程序获取上述海量应用程序在运行过程中产生的动态行为的记录数据。 
步骤S202,根据该记录数据获取该应用程序的动态行为特征,并为该动态行为特征生成对应的原始特征向量。 
具体地,终端设备100根据上述多个应用程序的动态行为记录数据,获取各应用程序的动态行为,并根据预置的划分规则,对获取的动态行为进行划分,以获取各应用程序的动态行为特征;然后将划分的每一组动态行为作为该应用程序的一种动态行为特征并为其分配一个对应的特征标识,并根据预置的生成规则,为每一种动态行为特征生成一个对应的原始特征向量。 
于本实施例中,可按照提取的动态行为在应用程序运行时出现的时间先后顺序,将每B个动态行为划分为一种动态行为特征,然后为划分的每一种动态行为特征分配一个特征标识。 
举例来说,假设提取出应用程序A按照出现的时间先后,依次具有以下8个动态行为:创建新文件进程,进程退出,创建本地线程,枚举进程,隐藏窗口,创建进程,创建可执行文件,打开文件。 
当B等于1时,可将每一个动态行为视为一种动态行为特征,其中重复的动态行为视为一个动态行为。定义V为划分的每一种动态行为特征的原始特征向量的维度,也就是对上述8个动态行为进行划分后,获得的动态行为特征的种数。这里,当B=1时,V=8,也就是说应用程序A具有8种动态行为特征,于是可以取第一个划分是“创建新文件进程”,为其分配一个特征标识并为其生成一个对应的原始特征向量,该特征标识可用符号w1表示,该原始特征向量可表示为:第二个划分取“进程退出”,为其分配一个特征标识并为其生成一个对应的原始特征向量,该特征标识可用符号w2表示,该原始特征向量可表示为:以此类推,直至为所有的应用程序的所有种动态行为特征分配完对应的特征标识,并为其生成对应的原始特征向量。 
当B等于2时,可按出现的时间先后顺序,将上述8个动态行为划分 为:“创建新文件进程,进程退出”;“创建本地线程,枚举进程”;“隐藏窗口,创建进程”;“创建可执行文件,打开文件”四组,并将每一组动态行为视为一种动态行为特征,此时V=4。而为每一种动态行为特征分配对应的特征标识并为其生成一个对应的原始特征向量的方法与B=1时相同,此处不再赘述。 
像这样,按照出现的时间先后顺序对提取的动态行为进行分组,由于每一分组中包含至少一个动态行为,因此能够丰富动态行为特征的内容,获得更多特征信息,使得最终获得的计算结果更为精确。 
步骤S203,根据该原始特征向量,建立用于预测该应用程序的动态行为特征的Skip-Gram模型或Continues bag of words模型,求解Skip-Gram模型或Continues bag of words模型得到特征向量变换矩阵; 
本步骤也可以理解为将上述各动态行为特征的原始特征向量输入用于预测该应用程序的动态行为特征的Skip-Gram模型或Continues bag of words模型进行训练,以获得模型参数特征向量变换矩阵。 
具体地,终端设备100可根据上述各动态行为特征的原始特征向量建立用于预测该应用程序的动态行为特征的Skip-Gram模型。Skip-Gram模型的目标为通过已知动态行为特征,预测未出现的动态行为特征。假设共有V种不同的动态行为特征,共获得N个应用程序,每个应用程序可以提取出Mj(0≤j≤N)种动态行为特征。取定窗口大小c,即窗口内包含有c组特征,目标函数为: 
min - Σ j N Σ i M j Σ - c ≤ k ≤ c , k ≠ 0 log p ( w i + k | w i )
其中, 
p ( w i + k | w i ) = exp ( v w i T S v ′ w i + k ) Σ j = 1 v exp ( v w i T S v ′ w j )
上述公式中,(K×1大小的向量,0≤i≤V)和特征向量变换矩阵S(V×K大小的矩阵)为待求解值。S表示线性隐层。可以理解地,于 其他实施例中,也可以使用其他隐层,例如tanh、sigmoid等。是Softmax的参数,为了得到概率表示,需要使用Softmax。 
表示动态行为特征wi的原始特征向量。p(wi+k|wi)的含义为:已知出现动态行为特征wi,下一个动态行为特征是wi+k的概率。 
V表示上述获取到的所有海量应用程序中所包含的所有动态行为特征的数量。 
举例来说,请参考图4与图5,假设B=1,窗口大小c=2,若wi表示出现“枚举进程”,则p(wi-2|wi)表示当出现“枚举进程”时,前面第2个动态行为特征是“进程退出”的概率;p(wi+2|wi)表示当出现“枚举进程”时,后面第2个动态行为特征是“创建可执行文件”的概率。 
具体地,或者终端设备100还可根据上述各动态行为特征的原始特征向量建立用于预测该应用程序的动态行为特征的Continues bag of words模型。Continues bag of words模型的目标为通过已知动态行为特征,预测未出现的动态行为特征。假设共有V种不同的动态行为特征,共获得N个应用程序,每个应用程序可以提取出Mj(0≤j≤N)种动态行为特征。取定窗口大小c,即窗口内包含有c组特征,目标函数为: 
min - Σ j N Σ i M j log p ( w i | w i - c , . . . , w i - 1 , w i + 1 , . . . , w i + c )
其中, 
p ( w i | w i - c , . . . , w i - 1 , w i + 1 , . . . , w i + c ) = exp ( v ^ w i T S v ′ w i ) Σ k = 1 V exp ( v ^ w i T S v ′ w k )
上述公式中,(K×1大小的向量,0≤i≤V)和特征向量变换矩阵S(V×K大小的矩阵)为待求解值。S表示线性隐层。可以理解地,于其他实施例中,也可以使用其他隐层,例如tanh、sigmoid等。是Softmax 的参数,为了得到概率表示,需要使用Softmax。 
表示动态行为特征wi的原始特征向量。为输入的具有上下文关系的动态行为特征的原始特征向量的加和:
p(wi|wi-c,...,wi-1,wi+1,...,wi+c)的含义为: 
已知出现特征wi-c,...,wi-1,wi+1,...,wi+c,中间是特征wi的概率。 
举例来说,请参考图5与图6,假设B=1,窗口大小c=2,p(wi|wi-c,...,wi-1,wi+1,...,wi+c)表示当动态行为特征wi前出现动态行为特征“进程退出”、“创建本地进程”,wi后出现动态行为特征“隐藏窗口创建进程”、“创建可执行文件”时,wi表示动态行为特征“枚举进程”的概率。 
步骤S204,根据该特征向量变换矩阵以及该原始特征向量获得该动态行为特征的目标特征向量,并输出。 
终端设备100求解上述Skip-Gram模型或Continues Bag-of-words模型,得到特征向量变换矩阵S,则对于每一种动态行为特征wi就为其目标特征向量表示。表示原始特征向量通过线性隐层后的输出。 
从上述公式不难发现,通过上述两个模型获得的目标特征向量能够考 虑到应用程序的各动态行为特征的上下文关系和相互联系,从而使得最终获得的动态行为特征的目标特征向量表示相较于原始特征向量表示而言,更为合理和紧凑,因此可以用作深度学习模型的输入。 
终端设备100将求得的上述目标特征向量输出至存储器存储。由于上述目标特征向量是使用一个预先设定好的可远小于特征向量维数的K维向量表示动态行为特征,因此可极大地减小应用程序动态行为的特征向量的表示长度,进而减小为存储上述特征向量所占用的存储空间。 
进一步地,终端设备100还可根据用户的输入指令,将上述目标特征向量输入机器学习模型,以用于检测恶意程序。 
于本实施例中,应用程序动态行为的目标特征向量的生成原理是将位于高维离散空间(维数为动态行为的特征数目)中的每个动态行为的特征映射到低维(K维)连续空间的实数向量,从而可减少应用程序动态行为的特征向量的表示长度,并且相近似的动态行为特征他们的向量表示也相近。举例来说,假定取K=3;B=1,则经过计算,动态行为特征“在cmd中调用taskkill”可表示为:[0.1,0.3,0.6],动态行为特征“调用系统函数TerminateProcess”可表示为[0.1,0.2,0.6],V在cmd中调用taskkill TS≈V调用系统函数TerminateProcess TS,两者是有相关性的,都表示结束一个进程。但是按照原有的表示方法, ,两者是正交无相关性的。因此,相较于现有技术,通过本实施例提供的方法,更可检测出具有相似动态行为特征的恶意程序,从而可提高恶意程序检测的准确性。 
此外,本发明实施例提供的应用程序动态行为的特征向量的生成方法的目标在于学习到每个动态行为的特征的向量表示,并将这种向量表示用于不同的恶意程序检测任务,学习到的动态行为的特征向量既可以作为完全的动态行为的特征输入到某些特定任务的有监督学习算法中,也可以作为依赖于不同任务所特定提取特征的有益扩充。 
本发明实施例提供的应用程序动态行为的特征向量的生成方法,通过建立用于预测应用程序的动态行为特征的预测模型,求解该预测模型得到特征向量变换矩阵,并根据该特征向量变换矩阵以及该动态行为特征的原始特征向量获得该动态行为特征的目标特征向量,由于使用一个预先设定好的可远小于特征向量维数的K维向量表示动态行为特征,因此可极大地减小应用程序动态行为的特征向量的表示长度,进而减小为存储上述特征向量所占用的存储空间,提高运算速度。 
第三实施例 
图7为本发明第三实施例提供的应用程序动态行为的特征向量的生成装置的结构示意图。本实施例提供的应用程序动态行为的特征向量的生成装置可运行于图1所示的终端设备100中,用于实现上述实施例中的应用程序动态行为的特征向量的生成方法。如图7所示,应用程序动态行为的特征向量的生成装置30包括: 
获取模块31,用于获取多个应用程序的动态行为记录数据,根据该动态行为记录数据获取该应用程序的动态行为特征; 
生成模块32,用于为获取模块31获取的该动态行为特征生成对应的原始特征向量; 
建模模块33,用于根据该原始特征向量,建立用于预测该应用程序的动态行为特征的预测模型; 
运算模块34,用于求解建模模块33建立的该预测模型得到特征向量变换矩阵; 
运算模块34,还用于根据该特征向量变换矩阵以及该原始特征向量获得该动态行为特征的目标特征向量; 
输出模块35,用于输出该目标特征向量。 
以上各模块可以是由软件代码实现,此时,上述的各模块可存储于存储器102内,如图8所示。以上各模块同样可以由硬件例如集成电路芯片实现。 
本实施例对应用程序动态行为的特征向量的生成装置30的各功能模块实现各自功能的具体过程,请参见上述图1至图6所示实施例中描述的具体内容,此处不再赘述。 
本发明实施例提供的应用程序动态行为的特征向量的生成装置,通过建立用于预测应用程序的动态行为特征的预测模型,求解该预测模型得到特征向量变换矩阵,并根据该特征向量变换矩阵以及该动态行为特征的原始特征向量获得该动态行为特征的目标特征向量,由于使用一个预先设定好的可远小于特征向量维数的K维向量表示动态行为特征,因此可极大地减小应用程序动态行为的特征向量的表示长度。 
第四实施例 
图9为本发明第四实施例提供的应用程序动态行为的特征向量的生成装置的结构示意图。本实施例提供的应用程序动态行为的特征向量的生成装置可运行于图1所示的终端设备100中,用于实现上述实施例中的应用程序动态行为的特征向量的生成方法。如图9所示,应用程序动态行为的特征向量的生成装置40包括: 
获取模块31,用于获取多个应用程序的动态行为记录数据,根据该动态行为记录数据获取该应用程序的动态行为特征; 
生成模块32,用于为获取模块31获取的该动态行为特征生成对应的原始特征向量; 
建模模块33,用于根据该原始特征向量,建立用于预测该应用程序的动态行为特征的预测模型; 
运算模块34,用于求解建模模块33建立的该预测模型得到特征向量变换矩阵; 
运算模块34,还用于根据该特征向量变换矩阵以及该原始特征向量获得该动态行为特征的目标特征向量; 
输出模块35,用于输出该目标特征向量。 
优选地,获取模块31还用于根据该动态行为记录数据,获取该应用程序的动态行为; 
生成模块32,包括: 
划分单元321,用于根据预置的划分规则,对获取的动态行为进行划分; 
分配单元322,用于将划分的每一组动态行为作为该应用程序的一种动态行为特征并为其分配一个对应的特征标识; 
生成单元323,用于根据预置的生成规则,为每一种动态行为特征生成一个对应的原始特征向量。 
优选地,建模模块33包括:第一建模单元331,用于根据该原始特征向量建立用于预测该应用程序的动态行为特征的Skip-Gram模型。 
优选地,运算模块34还用于求解该Skip-Gram模型得到特征向量变换矩阵S; 
该Skip-Gram模型的目标函数为: 
min - Σ j N Σ i M j Σ - c ≤ k ≤ c , k ≠ 0 log p ( w i + k | w i ) ;
其中, 
p ( w i + k | w i ) = exp ( v w i T S v ′ w i + k ) Σ j = 1 V exp ( v w i T S v ′ w j ) ,
V表示获取到的所有该应用程序中所包含的所有动态行为特征的数量,N表示该应用程序的数量,Mj(0≤j≤N)表示获取到的每个该应用程序中所包含的动态行为特征的数量,c表示窗口大小,表示动态行为特征wi的原始特征向量。p(wi+k|wi)表示已知出现动态行为特征wi,下一个动态行为特征是wi+k的概率。 
优选地,建模模块33还包括:第二建模单元332,用于根据该原始特征向量建立用于预测该应用程序的动态行为特征的Continues Bag-of-words模型。 
优选地,运算模块34还用于求解该Continues Bag-of-words模型得到特征向量变换矩阵S; 
该Continues Bag-of-words模型的目标函数为: 
min - Σ j N Σ i M j log p ( w i | w i - c , . . . , w i - 1 , w i + 1 , . . . , w i + c ) ;
其中, 
p ( w i | w i - c , . . . , w i - 1 , w i + 1 , . . . , w i + c ) = exp ( v ^ w i T S v ′ w i ) Σ k = 1 V exp ( v ^ w i T S v ′ w k ) ,
V表示获取到的所有该应用程序中所包含的所有动态行为特征的数量,N表示该应用程序的数量,Mj(0≤j≤N)表示获取到的每个该应用程序中所包含的动态行为特征的数量,c表示窗口大小,表示动态行为特征wi的原始特征向量。为输入的具有上下文关系的动态行为特征的原始特征向量的加和: v ^ w i = Σ j = 1 , j ≠ i c v w j , p ( w i | w i - c , . . . , w i - 1 , w i + 1 , . . . , w i + c ) 表示已知出现特征wi-c,...,wi-1,wi+1,...,wi+c,中间是特征wi的概率。 
优选地,运算模块34还用于根据以及S计算作为该动态行为特征的目标特征向量。 
本实施例对应用程序动态行为的特征向量的生成装置40的各功能模块实现各自功能的具体过程,请参见上述图1至图6所示实施例中描述的具体内容,此处不再赘述。 
本发明实施例提供的应用程序动态行为的特征向量的生成装置,通过建立用于预测应用程序的动态行为特征的预测模型,求解该预测模型得到特征向量变换矩阵,并根据该特征向量变换矩阵以及该动态行为特征的原始特征向量获得该动态行为特征的目标特征向量,由于使用一个预先设定好的可远小于特征向量维数的K维向量表示动态行为特征,因此可极大地减小应用程序动态行为的特征向量的表示长度。 
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。 
本领域技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。 
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可 利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。 

Claims (14)

1.一种应用程序动态行为的特征向量的生成方法,其特征在于,包括: 
获取多个应用程序的动态行为记录数据,根据所述动态行为记录数据获取所述应用程序的动态行为特征,并为所述动态行为特征生成对应的原始特征向量; 
根据所述原始特征向量,建立用于预测所述应用程序的动态行为特征的预测模型,求解所述预测模型得到特征向量变换矩阵; 
根据所述特征向量变换矩阵以及所述原始特征向量获得所述动态行为特征的目标特征向量,并输出。 
2.如权利要求1所述的方法,其特征在于,所述根据所述动态行为记录数据获取所述应用程序的动态行为特征,并为所述动态行为特征生成对应的原始特征向量,包括: 
根据所述动态行为记录数据,获取所述应用程序的动态行为; 
根据预置的划分规则,对获取的动态行为进行划分; 
将划分的每一组动态行为作为所述应用程序的一种动态行为特征并为其分配一个对应的特征标识; 
根据预置的生成规则,为每一种动态行为特征生成一个对应的原始特征向量。 
3.如权利要求2所述的方法,其特征在于,所述根据所述原始特征向量,建立用于预测所述应用程序的动态行为特征的预测模型包括: 
根据所述原始特征向量建立用于预测所述应用程序的动态行为特征的Skip-Gram模型。 
4.如权利要求3所述的方法,其特征在于,所述求解所述预测模型得到特征向量变换矩阵包括: 
求解所述Skip-Gram模型得到特征向量变换矩阵S; 
所述Skip-Gram模型的目标函数为: 
其中, 
V表示获取到的所有所述应用程序中所包含的所有动态行为特征的数量,N表示所述应用程序的数量,Mj(0≤j≤N)表示获取到的每个所述应用程序中所包含的动态行为特征的数量,c表示窗口大小,表示动态行为特征wi的原始特征向量。p(wi+k|wi)表示已知出现动态行为特征wi,下一个动态行为特征是wi+k的概率。 
5.如权利要求1所述的方法,其特征在于,所述根据所述原始特征向量,建立用于预测所述应用程序的动态行为特征的预测模型包括: 
根据所述原始特征向量建立用于预测所述应用程序的动态行为特征的Continues Bag-of-words模型。 
6.如权利要求5所述的方法,其特征在于,所述求解所述预测模型得到特征向量变换矩阵包括: 
求解所述Continues Bag-of-words模型得到特征向量变换矩阵S; 
所述Continues Bag-of-words模型的目标函数为: 
其中, 
V表示获取到的所有所述应用程序中所包含的所有动态行为特征的数 量,N表示所述应用程序的数量,Mj(0≤j≤N)表示获取到的每个所述应用程序中所包含的动态行为特征的数量,c表示窗口大小,表示动态行为特征wi的原始特征向量。为输入的具有上下文关系的动态行为特征的原始特征向量的加和:表示已知出现特征wi-c,...,wi-1,wi+1,...,wi+c,中间是特征wi的概率。 
7.如权利要求4或6所述的方法,其特征在于,所述根据所述特征向量变换矩阵以及所述原始特征向量获得所述动态行为特征的目标特征向量,包括: 
根据以及S计算S作为所述动态行为特征的目标特征向量。 
8.一种应用程序动态行为的特征向量的生成装置,其特征在于,包括: 
获取模块,用于获取多个应用程序的动态行为记录数据,根据所述动态行为记录数据获取所述应用程序的动态行为特征; 
生成模块,用于为所述获取模块获取的所述动态行为特征生成对应的原始特征向量; 
建模模块,用于根据所述原始特征向量,建立用于预测所述应用程序的动态行为特征的预测模型; 
运算模块,用于求解所述建模模块建立的所述预测模型得到特征向量变换矩阵; 
所述运算模块,还用于根据所述特征向量变换矩阵以及所述原始特征向量获得所述动态行为特征的目标特征向量; 
输出模块,用于输出所述目标特征向量。 
9.如权利要求8所述的装置,其特征在于,所述获取模块还用于根据所述动态行为记录数据,获取所述应用程序的动态行为; 
所述生成模块,包括: 
划分单元,用于根据预置的划分规则,对获取的动态行为进行划分; 
分配单元,用于将划分的每一组动态行为作为所述应用程序的一种动态行为特征并为其分配一个对应的特征标识; 
生成单元,用于根据预置的生成规则,为每一种动态行为特征生成一个对应的原始特征向量。 
10.如权利要求9所述的装置,其特征在于,所述建模模块包括: 
第一建模单元,用于根据所述原始特征向量建立用于预测所述应用程序的动态行为特征的Skip-Gram模型。 
11.如权利要求10所述的装置,其特征在于,所述运算模块还用于求解所述Skip-Gram模型得到特征向量变换矩阵S; 
所述Skip-Gram模型的目标函数为: 
其中, 
V表示获取到的所有所述应用程序中所包含的所有动态行为特征的数量,N表示所述应用程序的数量,Mj(0≤j≤N)表示获取到的每个所述应用程序中所包含的动态行为特征的数量,c表示窗口大小,表示动态行为特征wi的原始特征向量。p(wi+k|wi)表示已知出现动态行为特征wi,下一个动态行为特征是wi+k的概率。 
12.如权利要求8所述的装置,其特征在于,所述建模模块还包括: 
第二建模单元,用于根据所述原始特征向量建立用于预测所述应用程序的动态行为特征的Continues Bag-of-words模型。 
13.如权利要求12所述的装置,其特征在于,所述运算模块还用于求解所述Continues Bag-of-words模型得到特征向量变换矩阵S; 
所述Continues Bag-of-words模型的目标函数为: 
其中, 
V表示获取到的所有所述应用程序中所包含的所有动态行为特征的数量,N表示所述应用程序的数量,Mj(0≤j≤N)表示获取到的每个所述应用程序中所包含的动态行为特征的数量,c表示窗口大小,表示动态行为特征wi的原始特征向量。为输入的具有上下文关系的动态行为特征的原始特征向量的加和:表示已知出现特征wi-c,...,wi-1,wi+1,...,wi+c,中间是特征wi的概率。 
14.如权利要求11或13所述的装置,其特征在于,所述运算模块还用于根据以及S计算S作为所述动态行为特征的目标特征向量。 
CN201410570820.4A 2014-10-23 2014-10-23 应用程序动态行为的特征向量的生成方法及装置 Active CN104392174B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410570820.4A CN104392174B (zh) 2014-10-23 2014-10-23 应用程序动态行为的特征向量的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410570820.4A CN104392174B (zh) 2014-10-23 2014-10-23 应用程序动态行为的特征向量的生成方法及装置

Publications (2)

Publication Number Publication Date
CN104392174A true CN104392174A (zh) 2015-03-04
CN104392174B CN104392174B (zh) 2016-04-06

Family

ID=52610076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410570820.4A Active CN104392174B (zh) 2014-10-23 2014-10-23 应用程序动态行为的特征向量的生成方法及装置

Country Status (1)

Country Link
CN (1) CN104392174B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105956469A (zh) * 2016-04-27 2016-09-21 百度在线网络技术(北京)有限公司 文件安全性识别方法和装置
CN106997367A (zh) * 2016-01-26 2017-08-01 华为技术有限公司 程序文件的分类方法、分类装置和分类系统
CN107194251A (zh) * 2017-04-01 2017-09-22 中国科学院信息工程研究所 Android平台恶意应用检测方法及装置
CN109464803A (zh) * 2018-11-05 2019-03-15 腾讯科技(深圳)有限公司 虚拟对象控制、模型训练方法、装置、存储介质和设备
CN109948336A (zh) * 2019-01-29 2019-06-28 北京中安兴坤科技有限公司 恶意代码检测方法以及装置
CN109992514A (zh) * 2019-04-01 2019-07-09 国家计算机网络与信息安全管理中心 基于可视化内容的移动应用动态分析方法
CN111832787A (zh) * 2019-04-23 2020-10-27 北京新唐思创教育科技有限公司 教师风格预测模型的训练方法及计算机存储介质
CN113709134A (zh) * 2021-08-24 2021-11-26 中国电子科技集团公司第二十八研究所 一种基于N-gram和机器学习的恶意软件检测方法及系统
CN113742184A (zh) * 2020-06-05 2021-12-03 国家计算机网络与信息安全管理中心 构建用户历史行为表示向量、用户行为异常检测方法及装置
WO2022199292A1 (zh) * 2021-03-26 2022-09-29 支付宝(杭州)信息技术有限公司 小程序恶意行为检测

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103646213A (zh) * 2013-09-26 2014-03-19 北京神州绿盟信息安全科技股份有限公司 一种恶意软件的分类方法和装置
CN103902897A (zh) * 2012-12-26 2014-07-02 腾讯科技(深圳)有限公司 计算机病毒的判别方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902897A (zh) * 2012-12-26 2014-07-02 腾讯科技(深圳)有限公司 计算机病毒的判别方法及系统
CN103646213A (zh) * 2013-09-26 2014-03-19 北京神州绿盟信息安全科技股份有限公司 一种恶意软件的分类方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张程: "基于行为检测的恶意代码查杀引擎技术研究", 《中国优秀硕士学位论文全文数据库》 *
黄馥妃: "静态和动态相结合的病毒检测方法研究", 《大家谈》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106997367A (zh) * 2016-01-26 2017-08-01 华为技术有限公司 程序文件的分类方法、分类装置和分类系统
US10762194B2 (en) 2016-01-26 2020-09-01 Huawei Technologies Co., Ltd. Program file classification method, program file classification apparatus, and program file classification system
CN106997367B (zh) * 2016-01-26 2020-05-08 华为技术有限公司 程序文件的分类方法、分类装置和分类系统
CN105956469A (zh) * 2016-04-27 2016-09-21 百度在线网络技术(北京)有限公司 文件安全性识别方法和装置
CN107194251B (zh) * 2017-04-01 2020-02-14 中国科学院信息工程研究所 Android平台恶意应用检测方法及装置
CN107194251A (zh) * 2017-04-01 2017-09-22 中国科学院信息工程研究所 Android平台恶意应用检测方法及装置
CN109464803B (zh) * 2018-11-05 2022-03-04 腾讯科技(深圳)有限公司 虚拟对象控制、模型训练方法、装置、存储介质和设备
CN109464803A (zh) * 2018-11-05 2019-03-15 腾讯科技(深圳)有限公司 虚拟对象控制、模型训练方法、装置、存储介质和设备
CN109948336A (zh) * 2019-01-29 2019-06-28 北京中安兴坤科技有限公司 恶意代码检测方法以及装置
CN109992514A (zh) * 2019-04-01 2019-07-09 国家计算机网络与信息安全管理中心 基于可视化内容的移动应用动态分析方法
CN109992514B (zh) * 2019-04-01 2023-04-07 国家计算机网络与信息安全管理中心 基于可视化内容的移动应用动态分析方法
CN111832787A (zh) * 2019-04-23 2020-10-27 北京新唐思创教育科技有限公司 教师风格预测模型的训练方法及计算机存储介质
CN111832787B (zh) * 2019-04-23 2022-12-09 北京新唐思创教育科技有限公司 教师风格预测模型的训练方法及计算机存储介质
CN113742184A (zh) * 2020-06-05 2021-12-03 国家计算机网络与信息安全管理中心 构建用户历史行为表示向量、用户行为异常检测方法及装置
CN113742184B (zh) * 2020-06-05 2024-03-26 国家计算机网络与信息安全管理中心 构建用户历史行为表示向量、用户行为异常检测方法及装置
WO2022199292A1 (zh) * 2021-03-26 2022-09-29 支付宝(杭州)信息技术有限公司 小程序恶意行为检测
CN113709134A (zh) * 2021-08-24 2021-11-26 中国电子科技集团公司第二十八研究所 一种基于N-gram和机器学习的恶意软件检测方法及系统

Also Published As

Publication number Publication date
CN104392174B (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
CN104392174B (zh) 应用程序动态行为的特征向量的生成方法及装置
Xu et al. Hadm: Hybrid analysis for detection of malware
US11558176B2 (en) Apparatus and method for generating ciphertext data with maintained structure for analytics capability
TWI682304B (zh) 基於圖結構模型的異常帳號防控方法、裝置以及設備
Ham et al. Analysis of android malware detection performance using machine learning classifiers
US20180248879A1 (en) Method and apparatus for setting access privilege, server and storage medium
Gao et al. Android malware detection via graphlet sampling
CN113315742B (zh) 攻击行为检测方法、装置及攻击检测设备
CN109214404A (zh) 基于隐私保护的训练样本生成方法和装置
CN111160624B (zh) 一种用户意向预测方法、用户意向预测装置及终端设备
Narayanan et al. Contextual weisfeiler-lehman graph kernel for malware detection
Khan et al. A neutrosophic WPM-based machine learning model for device trust in industrial internet of things
CN111198967A (zh) 基于关系图谱的用户分组方法、装置及电子设备
CN110780955B (zh) 一种用于处理表情消息的方法与设备
CN111931707A (zh) 基于对抗补丁的人脸图像预测方法、装置、设备和介质
CN110929260A (zh) 一种恶意软件检测的方法、装置、服务器及可读存储介质
CN114358319A (zh) 基于机器学习框架的分类方法及相关装置
CN110580171A (zh) App分类方法、相关装置及产品
CN111488574B (zh) 恶意软件分类方法、系统、计算机设备和存储介质
KR101878213B1 (ko) 가중치 그래프를 요약하는 방법, 장치 및 컴퓨터 프로그램
CN113127730A (zh) 一种基于重叠社区的社区检测方法、终端设备及存储介质
CN112307477A (zh) 代码检测方法、装置、存储介质以及终端
Zhang et al. Automatic detection of Android malware via hybrid graph neural network
CN115270163B (zh) 数据处理方法、相关装置及存储介质
US20230244783A1 (en) Systems and methods for automated rule-based detection

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant