CN110147671A - 一种程序内字符串提取方法及装置 - Google Patents

一种程序内字符串提取方法及装置 Download PDF

Info

Publication number
CN110147671A
CN110147671A CN201910459267.XA CN201910459267A CN110147671A CN 110147671 A CN110147671 A CN 110147671A CN 201910459267 A CN201910459267 A CN 201910459267A CN 110147671 A CN110147671 A CN 110147671A
Authority
CN
China
Prior art keywords
string
program
target
target program
character string
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
CN201910459267.XA
Other languages
English (en)
Other versions
CN110147671B (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 Qianxin Technology Co Ltd
Original Assignee
Beijing Qianxin 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 Beijing Qianxin Technology Co Ltd filed Critical Beijing Qianxin Technology Co Ltd
Priority to CN201910459267.XA priority Critical patent/CN110147671B/zh
Publication of CN110147671A publication Critical patent/CN110147671A/zh
Application granted granted Critical
Publication of CN110147671B publication Critical patent/CN110147671B/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)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供一种程序内字符串提取方法及装置,所述程序内字符串提取方法包括:在目标程序的动态执行过程中提取所述目标程序中包含的字符串。本发明实施例提供的程序内字符串提取方法及装置,不再像现有技术那样,提取静态程序文件中包含的字符串,而是在目标程序的动态执行过程中提取所述目标程序中包含的字符串,因此可以将所述目标程序在各个执行阶段包含的字符串提取出来,从而提取得到的字符串较为全面。

Description

一种程序内字符串提取方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种程序内字符串提取方法及装置。
背景技术
在现有的恶意代码分析方法中,采用沙箱分析恶意代码样本程序已经成为目前对恶意代码进行动态分析的一个主要手段。
在采用沙箱进行恶意代码样本程序的分析过程中,提取样本程序内包含的字符串是一项非常重要的工作,通过提取样本程序内包含的字符串可以帮助实现对样本程序功能和实现方式的理解。
目前在进行样本程序内包含的字符串提取时,一般都是直接用工具提取静态样本程序文件中包含的字符串,这种字符串提取方式存在字符串提取不全面的问题。
发明内容
针对现有技术中的问题,本发明实施例提供一种程序内字符串提取方法及装置。
第一方面,本发明实施例提供了一种程序内字符串提取方法,包括:
在目标程序的动态执行过程中提取所述目标程序中包含的字符串。
进一步地,所述在目标程序的动态执行过程中提取所述目标程序中包含的字符串,具体包括下面四种情况中的一种或多种:
在目标程序开始执行时,提取所述目标程序中包含的字符串;
在所述目标程序执行至预设位置时,提取所述目标程序中包含的字符串;
在所述目标程序退出时,提取所述目标程序中包含的字符串;
在所述目标程序的动态执行过程中的每个预设时间点,提取所述目标程序中包含的字符串。
进一步地,所述程序内字符串提取方法,还包括:
对提取得到的字符串进行字符串去重处理以形成字符串集合。
进一步地,所述程序内字符串提取方法,还包括:
利用预设正则表达式对所述字符串集合中的字符串进行识别,将所述字符串集合中的IP地址、URL、域名、电子邮件、手机号和电子钱包提取出来作为第一目标字符串集合,并将所述字符串集合中剩下的字符串作为第二目标字符串集合;
将所述第二目标字符串集合中的合法字符串和乱码字符串剔除,得到第三目标字符串集合;
将所述第一目标字符串集合和所述第三目标字符串集合作为待分析的字符串集合。
进一步地,所述将所述第二目标字符串集合中的合法字符串和乱码字符串剔除,得到第三目标字符串集合,包括:
利用预设合法字符串集合中的合法字符串对所述第二目标字符串集合进行字符串匹配处理,找到并剔除所述第二目标字符串集合中的合法字符串;
以及,将所述第二目标字符串集合中字母数字占比少于预设阈值的字符串剔除,得到第三目标字符串集合。
第二方面,本发明实施例还提供了一种程序内字符串提取装置,包括:
提取模块,用于在目标程序的动态执行过程中提取所述目标程序中包含的字符串。
进一步地,所述提取模块,具体用于执行下面四种情况中的一种或多种:
在目标程序开始执行时,提取所述目标程序中包含的字符串;
在所述目标程序执行至预设位置时,提取所述目标程序中包含的字符串;
在所述目标程序退出时,提取所述目标程序中包含的字符串;
在所述目标程序的动态执行过程中的每个预设时间点,提取所述目标程序中包含的字符串。
进一步地,所述程序内字符串提取装置,还包括:
去重模块,用于对提取得到的字符串进行字符串去重处理以形成字符串集合。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述程序内字符串提取方法的步骤。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述程序内字符串提取方法的步骤。
由上面技术方案可知,本发明实施例提供的程序内字符串提取方法及装置,不再像现有技术那样,提取静态程序文件中包含的字符串,而是在目标程序的动态执行过程中提取所述目标程序中包含的字符串,因此可以将所述目标程序在各个执行阶段包含的字符串提取出来,从而提取得到的字符串较为全面。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的程序内字符串提取方法的流程图;
图2是本发明一实施例提供的沙箱(虚拟化分析引擎)的部署结构示意图;
图3为本发明一实施例提供的程序内字符串提取装置的结构示意图;
图4为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明实施例提供的程序内字符串提取方法的流程图。如图1所示,本发明实施例提供的程序内字符串提取方法包括如下步骤:
步骤101:在目标程序的动态执行过程中提取所述目标程序中包含的字符串。
在本步骤中,所述目标程序可以指待进行分析的恶意代码样本程序。
在本步骤中,沙箱在检测到待进行安全分析的目标程序启动(开始执行)时,开始执行上述步骤101的处理过程。也即沙箱在所述目标程序的动态执行过程中提取所述目标程序中包含的字符串。需要说明的是,目前在进行目标程序内包含的字符串提取时,一般都是直接用工具提取静态程序文件中包含的字符串,这种字符串提取方式存在字符串提取不全面的问题,例如对于目标程序内加密或动态拼接的字符串将无法提取出来。针对该问题,本实施例不再像现有技术那样,提取静态程序文件中包含的字符串,而是在目标程序的动态执行过程中提取所述目标程序中包含的字符串,因此可以将所述目标程序在各个执行阶段包含的字符串提取出来,从而提取得到的字符串较为全面。例如,采用本发明实施例提供的程序内字符串提取方法除了可以将程序内包含的正常未加密的字符串提取出来以外,还可以将目标程序内包含的加密字符串或在程序动态执行过程中动态拼装的字符串提取出来。
需要说明的是,目标程序在动态执行过程中其内的数据是动态变化的,例如,当在目标程序开始执行时,由于在加载程序和执行程序时,会引入一些系统相关的字符串,如系统环境变量等,因此,在目标程序开始执行时,相对于目标程序静态文件已经有了增加。此外,对于一般的加壳加密目标程序来说,当目标程序运行至OEP(Original Entry Point),也就是程序的原始入口点时,此时目标程序基本已经全部解密了,故此时可以提取到解密后的有效字符串。又如,对于复杂的加壳加密程序来说,其可能是分段加密的,比如一部分字符串是在目标程序运行至OEP时解密,另一其余字符串是在目标程序运行至特定位置的时候解密,故需要在目标程序运行至OEP时以及目标程序运行到特定位置的时候分别去提取。比如,在目标程序运行至OEP时进行一次字符串的提取,在目标程序执行到某个阶段(如让输入序列号之类的)或某个功能(如某个API调用)时,再执行一次提取,以提取跟这个阶段或功能相关的字符串(此时可以是全程序范围内的提取,也可以是跟这个阶段或功能相关的部分程序段内字符串的提取)。此外,需要说明的是,对于采用更复杂加密机制的目标程序,可能没办法找到特定的位置、功能的情况,那可以在所述目标程序的动态执行过程中的每个预设时间点,提取所述目标程序中包含的字符串。例如可以每隔10或20秒提取一次。此外,在目标程序执行到退出点时,也是一个很好的提取点,如果目标程序没有对之前解密的内容进行清除、再加密,那这时候可以提取到动态执行时解密、释放的各种字符串。
此外,需要说明的是,对于加壳加密程序来说,其程序的入口点OEP不太好找,因为很多加壳加密程序会隐藏OEP或采用假的OEP,因此需要采用一定的技术手段(这部分可以采用现有技术中的一些手段)找到程序真正的OEP。此外,对于复杂的加壳加密程序来说,需要预先设定一些提取位置点,比如,设定程序中的一些比较重要或比较关心的功能作为提取字符串的预设提取位置点,这样当程序执行到这些功能处时,开始进行字符串提取工作。
此外,需要说明的是,由于本实施例在目标程序开始执行时提取所述目标程序中包含的字符串,而开始执行时所述目标程序内的字符串为在原目标程序的字符串基础上增加了一些系统相关的字符串(如系统环境变量等),因此,采用本实施例提供的字符串提取方法,不需要在静态程序文件中再单独提取一遍字符串。
根据上面分析可知,由于在目标程序的动态执行过程中,字符串数据是不断变化的(如原来加密的字符串解密后会发生变化,此外,也会出现一些动态拼接生成的字符串),因此,在目标程序不同执行阶段或不同执行时间点提取的字符串是不一样的,因此,本实施例提供的在目标程序的动态执行过程中提取所述目标程序中包含的字符串的方式,可以使得提取得到的字符串较为全面。
此外,需要说明的是,在进行程序内字符串提取时,可以利用标准的string工具提取程序内存中的字符串。
此外,结合图2对本发明实施例提供的程序内字符串提取方法的执行主体沙箱进行简单说明。如图2所示,待进行安全分析的终端设备上部署有物理硬件、宿主机操作系统和VM1-VM3共3个虚拟机,所述终端设备上还部署有沙箱(图2中的虚拟化分析引擎),所述沙箱与虚拟机VM1-VM3分离,从而能够实现一种较为独立的分析系统。所述沙箱用于对虚拟机VM1-VM3中运行的程序进行安全检测和安全分析,用于及时发现网络安全问题,因此可以将所述沙箱看作是部署在终端设备上的且独立于终端设备虚拟机的一个安全分析系统。其中,所述沙箱在对虚拟机VM1-VM3中运行的程序进行安全检测和安全分析时,需要提取程序中的字符串,在进行字符串提取时,为了能够得到较为全面的字符串,故可以采用本发明实施例提供的程序内字符串提取方法,如在目标程序的动态执行过程中提取所述目标程序中包含的字符串。
由上面技术方案可知,本发明实施例提供的程序内字符串提取方法及装置,不再像现有技术那样,提取静态程序文件中包含的字符串,而是在目标程序的动态执行过程中提取所述目标程序中包含的字符串,因此可以将所述目标程序在各个执行阶段包含的字符串提取出来,从而提取得到的字符串较为全面。例如,采用本发明实施例提供的程序内字符串提取方法及装置除了可以提取程序内包含的正常未加密的字符串以外,还可以将目标程序中的加密字符串或动态拼装的字符串提取出来。
基于上述实施例的内容,在本实施例中,上面步骤101的实现过程包括下面四种情况中的一种或多种:
在目标程序开始执行时,提取所述目标程序中包含的字符串;
在所述目标程序执行至预设位置时,提取所述目标程序中包含的字符串;
在所述目标程序退出时,提取所述目标程序中包含的字符串;
在所述目标程序的动态执行过程中的每个预设时间点,提取所述目标程序中包含的字符串。
在本实施例中,正如上面实施例的介绍,在目标程序开始执行时,由于在加载程序和执行程序时,会自动引入一些系统相关的字符串,如系统环境变量等,因此,在目标程序开始执行时,相对于目标程序静态文件已经有了增加,因此,在目标程序开始执行时,提取所述目标程序中包含的字符串,可以得到比目标程序静态文件更为全面的字符串。
在本实施例中,所述预设位置可以为目标程序的入口点OEP,也可以为目标程序的特定运行位置,如运行至某个特定阶段或某个特定功能处。正如上面实施例的介绍,对于一般的加壳加密目标程序来说,当目标程序运行至OEP(Original Entry Point),也就是程序的入口点时,此时目标程序基本已经全部解密了,故此时可以提取到解密后的有效字符串。又如,对于复杂的加壳加密程序来说,其可能是分段加密的,比如一部分字符串是在目标程序运行至OEP时解密,另一其余字符串是在目标程序运行至特定位置的时候解密,故需要在目标程序运行至OEP时以及目标程序运行到特定位置的时候分别去提取。比如,在目标程序运行至OEP时进行一次字符串的提取,在目标程序执行到某个阶段(如让输入序列号之类的)或某个功能(如某个API调用)时,再执行一次提取,以提取跟这个阶段或功能相关的字符串(此时可以是全程序范围内的提取,也可以是跟这个阶段或功能相关的部分程序段内字符串的提取)。
在本实施例中,正如上面实施例的介绍,在目标程序执行到退出点时,也是一个很好的提取点,如果目标程序没有对之前解密的内容进行清除、再加密,那这时候可以提取到动态执行时解密、释放的各种字符串。
在本实施例中,正如上面实施例的介绍,对于采用更复杂加密机制的目标程序,可能没办法找到特定的位置、功能等情况,那可以在所述目标程序的动态执行过程中的每个预设时间点,提取所述目标程序中包含的字符串。例如可以每隔10或20秒提取一次,或者,可以在几个特定的指定时间点提取所述目标程序中包含的字符串。
根据上面分析可知,由于在目标程序的动态执行过程中,字符串数据是不断变化的(如程序开始执行时会加载一些系统字符串,又如原来加密的字符串解密后会生成一些新的字符串,又如在程序执行到某些功能时会动态拼接生成一些新的字符串),因此,在目标程序不同执行阶段或不同执行时间点提取的字符串是不一样的,因此,本实施例提供的在目标程序的动态执行过程中的不同阶段或不同时间点提取所述目标程序中包含的字符串的方式,可以使得提取得到的字符串较为全面。
基于上述实施例的内容,在本实施例中,所述程序内字符串提取方法,还包括:
步骤102:对提取得到的字符串进行字符串去重处理以形成字符串集合。
在本实施例中,不管是在目标程序的动态执行过程中提取一次所述目标程序中包含的字符串,还是在目标程序的动态执行过程中多次提取所述目标程序中包含的字符串,得到的字符串中均有可能存在字符串重复的情况,因此,在提取字符串后,对提取得到的字符串进行字符串去重处理以形成字符串集合,以便于后续字符串安全分析,简化不必要的重复分析过程。
基于上述实施例的内容,在本实施例中,所述程序内字符串提取方法,还包括:
步骤103:利用预设正则表达式对所述字符串集合中的字符串进行识别,将所述字符串集合中的IP地址、URL、域名、电子邮件、手机号和电子钱包提取出来作为第一目标字符串集合,并将所述字符串集合中剩下的字符串作为第二目标字符串集合。
在本步骤中,所述预设正则表达式为需要和IP地址、URL、域名、电子邮件、手机号和电子钱包等字符串格式分别对应的正则表达式。由于这些正则表达式为本领域的公知内容,故此处不再详述。
步骤104:将所述第二目标字符串集合中的合法字符串和乱码字符串剔除,得到第三目标字符串集合。
步骤105:将所述第一目标字符串集合和所述第三目标字符串集合作为待分析的字符串集合。
在本实施例中,需要说明的是,由于最后得到的待分析的字符串集合中的字符串需要是对安全分析有用的字符串,因此,在采用上面实施例的字符串提取方式提取得到字符串之后,需要把一些乱码和一些已知为合法字符串的字符串排除,以减少这些无意义的字符串对分析人员的干扰。
基于上述实施例的内容,在本实施例中,上述步骤103可通过如下方式实现:
利用预设合法字符串集合中的合法字符串对所述第二目标字符串集合进行字符串匹配处理,找到并剔除所述第二目标字符串集合中的合法字符串;
以及,将所述第二目标字符串集合中字母数字占比少于预设阈值的字符串剔除,得到第三目标字符串集合。
在本实施例中,所述预设合法字符串集合中的合法字符串是预先经过人工确认的合法字符串。
在本实施例中,将字母数字占比少于预设阈值的字符串作为乱码进行剔除。这里的预设阈值可以为50%或40%。
图3示出了本发明实施例提供的程序内字符串提取装置的结构示意图。如图3所示,本发明实施例提供的程序内字符串提取装置包括:
提取模块21,用于在目标程序的动态执行过程中提取所述目标程序中包含的字符串。
基于上述实施例的内容,在本实施例中,所述提取模块21,具体用于执行下面四种情况中的一种或多种:
在目标程序开始执行时,提取所述目标程序中包含的字符串;
在所述目标程序执行至预设位置时,提取所述目标程序中包含的字符串;
在所述目标程序退出时,提取所述目标程序中包含的字符串;
在所述目标程序的动态执行过程中的每个预设时间点,提取所述目标程序中包含的字符串。
基于上述实施例的内容,在本实施例中,所述程序内字符串提取装置,还包括:
去重模块,用于对提取得到的字符串进行字符串去重处理以形成字符串集合。
由于本发明实施例提供的程序内字符串提取装置,可以用于执行上述实施例所述的程序内字符串提取方法,其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述实施例的介绍。
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图4,所述电子设备具体包括如下内容:处理器301、存储器302、通信接口303和总线304;
其中,所述处理器301、存储器302、通信接口303通过所述总线304完成相互间的通信;
所述处理器301用于调用所述存储器302中的计算机程序,所述处理器执行所述计算机程序时实现上述网络服务模拟方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:在目标程序的动态执行过程中提取所述目标程序中包含的字符串。
基于相同的发明构思,本发明又一实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述网络服务模拟方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:在目标程序的动态执行过程中提取所述目标程序中包含的字符串。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的网络服务模拟方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种程序内字符串提取方法,其特征在于,包括:
在目标程序的动态执行过程中提取所述目标程序中包含的字符串。
2.根据权利要求1所述的程序内字符串提取方法,其特征在于,所述在目标程序的动态执行过程中提取所述目标程序中包含的字符串,具体包括下面四种情况中的一种或多种:
在目标程序开始执行时,提取所述目标程序中包含的字符串;
在所述目标程序执行至预设位置时,提取所述目标程序中包含的字符串;
在所述目标程序退出时,提取所述目标程序中包含的字符串;
在所述目标程序的动态执行过程中的每个预设时间点,提取所述目标程序中包含的字符串。
3.根据权利要求1或2所述的程序内字符串提取方法,其特征在于,还包括:
对提取得到的字符串进行字符串去重处理以形成字符串集合。
4.根据权利要求3所述的程序内字符串提取方法,其特征在于,还包括:
利用预设正则表达式对所述字符串集合中的字符串进行识别,将所述字符串集合中的IP地址、URL、域名、电子邮件、手机号和电子钱包提取出来作为第一目标字符串集合,并将所述字符串集合中剩下的字符串作为第二目标字符串集合;
将所述第二目标字符串集合中的合法字符串和乱码字符串剔除,得到第三目标字符串集合;
将所述第一目标字符串集合和所述第三目标字符串集合作为待分析的字符串集合。
5.根据权利要求4所述的程序内字符串提取方法,其特征在于,所述将所述第二目标字符串集合中的合法字符串和乱码字符串剔除,得到第三目标字符串集合,包括:
利用预设合法字符串集合中的合法字符串对所述第二目标字符串集合进行字符串匹配处理,找到并剔除所述第二目标字符串集合中的合法字符串;
以及,将所述第二目标字符串集合中字母数字占比少于预设阈值的字符串剔除,得到第三目标字符串集合。
6.一种程序内字符串提取装置,其特征在于,包括:
提取模块,用于在目标程序的动态执行过程中提取所述目标程序中包含的字符串。
7.根据权利要求6所述的程序内字符串提取装置,其特征在于,所述提取模块,具体用于执行下面四种情况中的一种或多种:
在目标程序开始执行时,提取所述目标程序中包含的字符串;
在所述目标程序执行至预设位置时,提取所述目标程序中包含的字符串;
在所述目标程序退出时,提取所述目标程序中包含的字符串;
在所述目标程序的动态执行过程中的每个预设时间点,提取所述目标程序中包含的字符串。
8.根据权利要求6或7所述的程序内字符串提取装置,其特征在于,还包括:
去重模块,用于对提取得到的字符串进行字符串去重处理以形成字符串集合。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述程序内字符串提取方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述程序内字符串提取方法的步骤。
CN201910459267.XA 2019-05-29 2019-05-29 一种程序内字符串提取方法及装置 Active CN110147671B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910459267.XA CN110147671B (zh) 2019-05-29 2019-05-29 一种程序内字符串提取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910459267.XA CN110147671B (zh) 2019-05-29 2019-05-29 一种程序内字符串提取方法及装置

Publications (2)

Publication Number Publication Date
CN110147671A true CN110147671A (zh) 2019-08-20
CN110147671B CN110147671B (zh) 2022-04-29

Family

ID=67592134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910459267.XA Active CN110147671B (zh) 2019-05-29 2019-05-29 一种程序内字符串提取方法及装置

Country Status (1)

Country Link
CN (1) CN110147671B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659490A (zh) * 2019-09-20 2020-01-07 哈尔滨安天科技集团股份有限公司 恶意样本的处理方法、装置、电子设备及存储介质

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040158725A1 (en) * 2003-02-06 2004-08-12 Peter Szor Dynamic detection of computer worms
CN103020525A (zh) * 2012-12-20 2013-04-03 北京奇虎科技有限公司 虚拟机系统的反检测方法和装置
CN103365699A (zh) * 2012-12-21 2013-10-23 北京安天电子设备有限公司 基于apk的系统api和运行时字符串提取方法及系统
CN103761475A (zh) * 2013-12-30 2014-04-30 北京奇虎科技有限公司 检测智能终端中恶意代码的方法及装置
CN103927481A (zh) * 2013-12-17 2014-07-16 哈尔滨安天科技股份有限公司 一种基于字符串调整权值的恶意代码检测方法及系统
CN103955449A (zh) * 2014-04-21 2014-07-30 安一恒通(北京)科技有限公司 定位目标样本的方法和装置
CN104102881A (zh) * 2014-07-07 2014-10-15 杭州电子科技大学 一种基于内核对象链接关系的内存取证方法
US20150242626A1 (en) * 2014-02-27 2015-08-27 National Chiao Tung University Method of generating in-kernel hook point candidates to detect rootkits and the system thereof
US20160246960A1 (en) * 2015-02-25 2016-08-25 International Business Machines Corporation Programming code execution management
CN106022132A (zh) * 2016-05-30 2016-10-12 南京邮电大学 一种基于动态内容分析的网页木马实时检测方法
CN106096394A (zh) * 2016-06-16 2016-11-09 北京奇虎科技有限公司 一种安卓应用的广告拦截方法和装置
CN106203117A (zh) * 2016-07-12 2016-12-07 国家计算机网络与信息安全管理中心 一种基于机器学习的恶意移动应用程序判定方法
CN106529294A (zh) * 2016-11-15 2017-03-22 广东华仝九方科技有限公司 一种用于手机病毒判定与过滤的方法
CN106845227A (zh) * 2016-12-27 2017-06-13 哈尔滨安天科技股份有限公司 一种基于ragel状态机的恶意脚本检测方法及系统
US20180227314A1 (en) * 2017-02-08 2018-08-09 AO Kaspersky Lab System and method for performing antivirus scan of a web page
CN108959925A (zh) * 2018-06-22 2018-12-07 珠海市君天电子科技有限公司 一种恶意脚本的检测方法、装置、电子设备及存储介质
CN108959922A (zh) * 2018-05-31 2018-12-07 北京大学 一种基于贝叶斯网的恶意文档检测方法及装置
CN110377499A (zh) * 2019-06-06 2019-10-25 北京奇安信科技有限公司 一种对应用程序进行测试的方法及装置

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040158725A1 (en) * 2003-02-06 2004-08-12 Peter Szor Dynamic detection of computer worms
CN103020525A (zh) * 2012-12-20 2013-04-03 北京奇虎科技有限公司 虚拟机系统的反检测方法和装置
CN103365699A (zh) * 2012-12-21 2013-10-23 北京安天电子设备有限公司 基于apk的系统api和运行时字符串提取方法及系统
CN103927481A (zh) * 2013-12-17 2014-07-16 哈尔滨安天科技股份有限公司 一种基于字符串调整权值的恶意代码检测方法及系统
CN103761475A (zh) * 2013-12-30 2014-04-30 北京奇虎科技有限公司 检测智能终端中恶意代码的方法及装置
US20150242626A1 (en) * 2014-02-27 2015-08-27 National Chiao Tung University Method of generating in-kernel hook point candidates to detect rootkits and the system thereof
CN103955449A (zh) * 2014-04-21 2014-07-30 安一恒通(北京)科技有限公司 定位目标样本的方法和装置
CN104102881A (zh) * 2014-07-07 2014-10-15 杭州电子科技大学 一种基于内核对象链接关系的内存取证方法
US20160246960A1 (en) * 2015-02-25 2016-08-25 International Business Machines Corporation Programming code execution management
CN106022132A (zh) * 2016-05-30 2016-10-12 南京邮电大学 一种基于动态内容分析的网页木马实时检测方法
CN106096394A (zh) * 2016-06-16 2016-11-09 北京奇虎科技有限公司 一种安卓应用的广告拦截方法和装置
CN106203117A (zh) * 2016-07-12 2016-12-07 国家计算机网络与信息安全管理中心 一种基于机器学习的恶意移动应用程序判定方法
CN106529294A (zh) * 2016-11-15 2017-03-22 广东华仝九方科技有限公司 一种用于手机病毒判定与过滤的方法
CN106845227A (zh) * 2016-12-27 2017-06-13 哈尔滨安天科技股份有限公司 一种基于ragel状态机的恶意脚本检测方法及系统
US20180227314A1 (en) * 2017-02-08 2018-08-09 AO Kaspersky Lab System and method for performing antivirus scan of a web page
CN108959922A (zh) * 2018-05-31 2018-12-07 北京大学 一种基于贝叶斯网的恶意文档检测方法及装置
CN108959925A (zh) * 2018-06-22 2018-12-07 珠海市君天电子科技有限公司 一种恶意脚本的检测方法、装置、电子设备及存储介质
CN110377499A (zh) * 2019-06-06 2019-10-25 北京奇安信科技有限公司 一种对应用程序进行测试的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
企鹅号: ""警惕利用Linux预加载型恶意动态链接库的后门"", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/NEWS/105209》 *
周汝成: "虚拟机式加壳技术在网银软件上的应用", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659490A (zh) * 2019-09-20 2020-01-07 哈尔滨安天科技集团股份有限公司 恶意样本的处理方法、装置、电子设备及存储介质
CN110659490B (zh) * 2019-09-20 2023-02-24 安天科技集团股份有限公司 恶意样本的处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110147671B (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
US11188650B2 (en) Detection of malware using feature hashing
Sharmeen et al. Avoiding future digital extortion through robust protection against ransomware threats using deep learning based adaptive approaches
US9553889B1 (en) System and method of detecting malicious files on mobile devices
CN106919555B (zh) 用于日志流内包含的数据的字段提取的系统和方法
EP3499364B1 (en) Method and device for loading kernel module
CN109873804A (zh) 基于行为的服务识别方法、装置、设备及可读存储介质
CN109983464B (zh) 检测恶意脚本
US11023576B2 (en) Detecting malicious activity on a computer system
CN113961919B (zh) 恶意软件检测方法和装置
Kanwal et al. An app based on static analysis for android ransomware
CN107979581A (zh) 僵尸特征的检测方法和装置
CN109558207A (zh) 在虚拟机中形成用于进行文件的防病毒扫描的日志的系统和方法
US11847223B2 (en) Method and system for generating a list of indicators of compromise
Carlin et al. Dynamic analysis of malware using run-time opcodes
WO2018177602A1 (en) Malware detection in applications based on presence of computer generated strings
EP3113065B1 (en) System and method of detecting malicious files on mobile devices
CN108229168B (zh) 一种嵌套类文件的启发式检测方法、系统及存储介质
CN110147671A (zh) 一种程序内字符串提取方法及装置
US8418170B2 (en) Method and system for assessing deployment and un-deployment of software installations
Gonzalez et al. Measuring code reuse in Android apps
WO2015010453A1 (en) Systems and methods for spam interception
US10331902B2 (en) Data loss prevention
CN105592105B (zh) 保证安全的异步式网络访问方法及装置
CN114491528A (zh) 恶意软件的检测方法、装置和设备
EP3470999B1 (fr) Sécurisation d'instructions de branchement conditionnel composé dans un programme informatique en code intermédiaire

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
CB02 Change of applicant information

Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant after: Qianxin Technology Group Co.,Ltd.

Address before: 100015 15, 17 floor 1701-26, 3 building, 10 Jiuxianqiao Road, Chaoyang District, Beijing.

Applicant before: BEIJING QIANXIN TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant