CN106650449A - 一种基于变量名混淆程度的脚本启发式检测方法及系统 - Google Patents

一种基于变量名混淆程度的脚本启发式检测方法及系统 Download PDF

Info

Publication number
CN106650449A
CN106650449A CN201611245850.3A CN201611245850A CN106650449A CN 106650449 A CN106650449 A CN 106650449A CN 201611245850 A CN201611245850 A CN 201611245850A CN 106650449 A CN106650449 A CN 106650449A
Authority
CN
China
Prior art keywords
frequency
script
variable
corpus
name
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
CN201611245850.3A
Other languages
English (en)
Other versions
CN106650449B (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.)
Antiy Technology Group Co Ltd
Original Assignee
Harbin Antiy 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 Harbin Antiy Technology Co Ltd filed Critical Harbin Antiy Technology Co Ltd
Priority to CN201611245850.3A priority Critical patent/CN106650449B/zh
Publication of CN106650449A publication Critical patent/CN106650449A/zh
Application granted granted Critical
Publication of CN106650449B publication Critical patent/CN106650449B/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/562Static detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出一种基于变量名混淆程度的脚本启发式检测方法及系统,通过收集英文单词语料库;并使用监督类型的机器学习方法对收集到的语料库进行分类模型训练;将待检测脚本中提取出的变量名输入分类模型,对输出结果进行统计,如果统计结果中有一项或多项大于预设值,则待检测脚本为恶意。通过本发明的方法解决了现有脚本检测维护复杂,资源占用高、运行速度慢的问题。

Description

一种基于变量名混淆程度的脚本启发式检测方法及系统
技术领域
本发明涉及计算机网络安全领域,特别涉及一种基于变量名混淆程度的脚本启发式检测方法及系统。
背景技术
近年来,恶意脚本呈爆炸趋势增加,其中大量脚本使用了种类繁多的混淆手段,以避免反病毒引擎的查杀,增加了分析人员的时间成本和反病毒引擎的检测难度。因此对于混淆脚本的检测能力,成为了对抗恶意脚本的一项关键能力。
传统的脚本检测方式是,检测程序模拟脚本的解释执行,得到其可能的执行路径。这种方法需要针对每种脚本需要开发专门的虚拟执行引擎,实现较为复杂,具有很高的开发和维护成本;并且在检测过程中,还可能消耗大量存储空间与计算资源,通常运行效率也不高。
发明内容
本发明就是要解决以上问题,提出一种基于变量名称混淆程度的脚本启发式检测方法及系统,根据变量名称的混淆程度,高效快速判断恶意脚本。
一种基于变量名混淆程度的脚本启发式检测方法,包括:
收集英文单词语料库;
整合收集到的语料库,使用监督类型的机器学习方法对收集到的语料库进行分类模型训练;
解析待检测脚本,提取出所有变量名称;
将变量名称逐一通过分类模型,判断是否为随机字符串;
对待检测脚本中的随机字符串进行统计;所述统计内容至少包括随机字符串数量及平均长度;
若所述统计内容中有至少一项超过预设值,则所述待检测脚本为恶意。
所述的方法中,所述监督类型的机器学习方法为马尔科夫链法。
所述的方法中,马尔科夫链法对收集到的语料库进行分类模型训练方式具体为:
对语料库中的所有单词进行分割,产生多个由两个字母组成的片段,生成状态转移矩阵,对片段进行频率统计;
选取常规单词,以上述相同方式分割,利用上述生成的状态转移矩阵,计算常规单词的出现频率均值,作为常规单词频率;
选取随机非单词字符串,以上述相同方式分割,利用上述生成的状态转移矩阵,计算随机非单词字符串的出现频率均值,作为随机字符串频率;上述常规单词频率应大于随机字符串频率;
根据常规单词频率及随机字符串频率计算分类频率阈值。
所述的方法中,将变量名称逐一通过分类模型,判断是否为随机字符串,具体为:将变量名传入分类模型,所述变量名将按照上述方式分割为片段,利用上述生成的状态转移矩阵,计算变量名的出现频率,并与分类频率阈值比较,若大于分类频率阈值,则所述变量名为正常,若小于分类频率阈值,则所述变量名为随机字符串。
一种基于变量名混淆程度的脚本启发式检测系统中,包括:
语料库收集模块,用于收集英文单词语料库;
模型训练模块,用于整合收集到的语料库,使用监督类型的机器学习方法对收集到的语料库进行分类模型训练;
脚本解析模块,用于解析待检测脚本,提取出所有变量名称;
判断模块,用于将变量名称逐一通过分类模型,判断是否为随机字符串;
统计模块,用于对待检测脚本中的随机字符串进行统计;所述统计内容至少包括随机字符串数量及平均长度;若所述统计内容中有至少一项超过预设值,则所述待检测脚本为恶意。
所述的系统中,所述监督类型的机器学习方法为马尔科夫链法。
所述的系统中,马尔科夫链法对收集到的语料库进行分类模型训练方式具体为:
对语料库中的所有单词进行分割,产生多个由两个字母组成的片段,生成状态转移矩阵,对片段进行频率统计;
选取常规单词,以上述相同方式分割,利用上述生成的状态转移矩阵,计算常规单词的出现频率均值,作为常规单词频率;
选取随机非单词字符串,以上述相同方式分割,利用上述生成的状态转移矩阵,计算随机非单词字符串的出现频率均值,作为随机字符串频率;上述常规单词频率应大于随机字符串频率;
根据常规单词频率及随机字符串频率计算分类频率阈值。
所述的系统中,将变量名称逐一通过分类模型,判断是否为随机字符串,具体为:将变量名传入分类模型,所述变量名将按照上述方式分割为片段,利用上述生成的状态转移矩阵,计算变量名的出现频率,并与分类频率阈值比较,若大于分类频率阈值,则所述变量名为正常,若小于分类频率阈值,则所述变量名为随机字符串。
本发明所提出的方法,解决了脚本检测实现及维护复杂,高资源占用及运行速度慢的问题,使开发和维护更加容易,且资源占用低,运行效率高。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种基于变量名称混淆程度的恶意脚本启发式检测方法实施例流程图;
图2位本发明一种基于变量名称混淆程度的恶意脚本启发式检测系统实施例结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
本发明就是要解决以上问题,提出一种基于变量名称混淆程度的脚本启发式检测方法及系统,根据变量名称的混淆程度,高效快速判断恶意脚本。
实施例一给出一种基于变量名混淆程度的脚本启发式检测方法,如图1所示,包括:
S101:收集英文单词语料库;
S102:整合收集到的语料库,使用监督类型的机器学习方法对收集到的语料库进行分类模型训练;
如马尔科夫链法:利用bigram方式对语料库中的所有单词进行分割,产生多个由两个字母组成的片段,生成状态转移矩阵T,对片段进行频率统计;
选取常规单词,以上述相同方式分割,利用上述生成的状态转移矩阵T,计算常规单词的出现频率均值,作为常规单词频率Pgood
选取随机非单词字符串,以上述相同方式分割,利用上述生成的状态转移矩阵T,计算随机非单词字符串的出现频率均值,作为随机字符串频率Pbad;上述Pgood>Pbad
根据常规单词频率及随机字符串频率计算分类频率阈值:Pthreshold=(Pgood>Pbad)/2
S103:解析待检测脚本,提取出所有变量名称;
S104:将变量名称逐一通过分类模型,判断是否为随机字符串;依然以上述方法为例,用bigram方式对变量名进行分割,利用转移矩阵T,计算分割后字符串出现频率P,如果P>Pthreshold,则所述变量为正常,否则所述变量为随机字符串;
S105:对待检测脚本中的随机字符串进行统计;所述统计内容至少包括随机字符串数量及平均长度;
S106:若所述统计内容中有至少一项超过预设值,则所述待检测脚本为恶意。
该方法仅仅是通过马尔科夫链进行举例,在实际应用中,还可以通过其他监督类型的机器学习方法进行模型训练。且模型训练只需要进行一次即可,若语料库发生变化,则可以在进行训练。
一种基于变量名混淆程度的脚本启发式检测系统中,如图2所示,包括:
语料库收集模块201,用于收集英文单词语料库;
模型训练模块202,用于整合收集到的语料库,使用监督类型的机器学习方法对收集到的语料库进行分类模型训练;
脚本解析模块203,用于解析待检测脚本,提取出所有变量名称;
判断模块204,用于将变量名称逐一通过分类模型,判断是否为随机字符串;
统计模块205,用于对待检测脚本中的随机字符串进行统计;所述统计内容至少包括随机字符串数量及平均长度;若所述统计内容中有至少一项超过预设值,则所述待检测脚本为恶意。
所述的系统中,所述监督类型的机器学习方法为马尔科夫链法。
所述的系统中,马尔科夫链法对收集到的语料库进行分类模型训练方式具体为:
对语料库中的所有单词进行分割,产生多个由两个字母组成的片段,生成状态转移矩阵,对片段进行频率统计;
选取常规单词,以上述相同方式分割,利用上述生成的状态转移矩阵,计算常规单词的出现频率均值,作为常规单词频率;
选取随机非单词字符串,以上述相同方式分割,利用上述生成的状态转移矩阵,计算随机非单词字符串的出现频率均值,作为随机字符串频率;上述常规单词频率应大于随机字符串频率;
根据常规单词频率及随机字符串频率计算分类频率阈值。
所述的系统中,将变量名称逐一通过分类模型,判断是否为随机字符串,具体为:将变量名传入分类模型,所述变量名将按照上述方式分割为片段,利用上述生成的状态转移矩阵,计算变量名的出现频率,并与分类频率阈值比较,若大于分类频率阈值,则所述变量名为正常,若小于分类频率阈值,则所述变量名为随机字符串。
本发明所提出的方法,解决了脚本检测实现及维护复杂,高资源占用及运行速度慢的问题,使开发和维护更加容易,且资源占用低,运行效率高。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。

Claims (8)

1.一种基于变量名混淆程度的脚本启发式检测方法,其特征在于,包括:
收集英文单词语料库;
整合收集到的语料库,使用监督类型的机器学习方法对收集到的语料库进行分类模型训练;
解析待检测脚本,提取出所有变量名称;
将变量名称逐一通过分类模型,判断是否为随机字符串;
对待检测脚本中的随机字符串进行统计;所述统计内容至少包括随机字符串数量及平均长度;
若所述统计内容中有至少一项超过预设值,则所述待检测脚本为恶意。
2.如权利要求1所述的方法,其特征在于,所述监督类型的机器学习方法为马尔科夫链法。
3.如权利要求2所述的方法,其特征在于,马尔科夫链法对收集到的语料库进行分类模型训练方式具体为:
对语料库中的所有单词进行分割,产生多个由两个字母组成的片段,生成状态转移矩阵,对片段进行频率统计;
选取常规单词,以上述相同方式分割,利用上述生成的状态转移矩阵,计算常规单词的出现频率均值,作为常规单词频率;
选取随机非单词字符串,以上述相同方式分割,利用上述生成的状态转移矩阵,计算随机非单词字符串的出现频率均值,作为随机字符串频率;上述常规单词频率应大于随机字符串频率;
根据常规单词频率及随机字符串频率计算分类频率阈值。
4.如权利要求3所述的方法,其特征在于,将变量名称逐一通过分类模型,判断是否为随机字符串,具体为:将变量名传入分类模型,所述变量名将按照上述方式分割为片段,利用上述生成的状态转移矩阵,计算变量名的出现频率,并与分类频率阈值比较,若大于分类频率阈值,则所述变量名为正常,若小于分类频率阈值,则所述变量名为随机字符串。
5.一种基于变量名混淆程度的脚本启发式检测系统,其特征在于,包括:
语料库收集模块,用于收集英文单词语料库;
模型训练模块,用于整合收集到的语料库,使用监督类型的机器学习方法对收集到的语料库进行分类模型训练;
脚本解析模块,用于解析待检测脚本,提取出所有变量名称;
判断模块,用于将变量名称逐一通过分类模型,判断是否为随机字符串;
统计模块,用于对待检测脚本中的随机字符串进行统计;所述统计内容至少包括随机字符串数量及平均长度;若所述统计内容中有至少一项超过预设值,则所述待检测脚本为恶意。
6.如权利要求5所述的系统,其特征在于,所述监督类型的机器学习方法为马尔科夫链法。
7.如权利要求6所述的系统,其特征在于,马尔科夫链法对收集到的语料库进行分类模型训练方式具体为:
对语料库中的所有单词进行分割,产生多个由两个字母组成的片段,生成状态转移矩阵,对片段进行频率统计;
选取常规单词,以上述相同方式分割,利用上述生成的状态转移矩阵,计算常规单词的出现频率均值,作为常规单词频率;
选取随机非单词字符串,以上述相同方式分割,利用上述生成的状态转移矩阵,计算随机非单词字符串的出现频率均值,作为随机字符串频率;上述常规单词频率应大于随机字符串频率;
根据常规单词频率及随机字符串频率计算分类频率阈值。
8.如权利要求7所述的系统,其特征在于,将变量名称逐一通过分类模型,判断是否为随机字符串,具体为:将变量名传入分类模型,所述变量名将按照上述方式分割为片段,利用上述生成的状态转移矩阵,计算变量名的出现频率,并与分类频率阈值比较,若大于分类频率阈值,则所述变量名为正常,若小于分类频率阈值,则所述变量名为随机字符串。
CN201611245850.3A 2016-12-29 2016-12-29 一种基于变量名混淆程度的脚本启发式检测方法及系统 Active CN106650449B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611245850.3A CN106650449B (zh) 2016-12-29 2016-12-29 一种基于变量名混淆程度的脚本启发式检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611245850.3A CN106650449B (zh) 2016-12-29 2016-12-29 一种基于变量名混淆程度的脚本启发式检测方法及系统

Publications (2)

Publication Number Publication Date
CN106650449A true CN106650449A (zh) 2017-05-10
CN106650449B CN106650449B (zh) 2020-05-22

Family

ID=58836156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611245850.3A Active CN106650449B (zh) 2016-12-29 2016-12-29 一种基于变量名混淆程度的脚本启发式检测方法及系统

Country Status (1)

Country Link
CN (1) CN106650449B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108875378A (zh) * 2018-06-12 2018-11-23 珠海市君天电子科技有限公司 脚本病毒检测方法、装置、电子设备及存储介质
CN109657469A (zh) * 2018-12-07 2019-04-19 腾讯科技(深圳)有限公司 一种脚本检测方法及装置
CN112016088A (zh) * 2020-08-13 2020-12-01 北京兰云科技有限公司 生成文件检测模型的方法、装置、检测文件的方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230123632A1 (en) * 2021-10-15 2023-04-20 Microsoft Technology Licensing, Llc. Random strings classification for detecting suspicious network activities

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1924866A (zh) * 2006-09-28 2007-03-07 北京理工大学 基于统计特征的网页恶意脚本检测方法
US20100024033A1 (en) * 2008-07-23 2010-01-28 Kang Jung Min Apparatus and method for detecting obfuscated malicious web page
CN103221960A (zh) * 2012-12-10 2013-07-24 华为技术有限公司 恶意代码的检测方法及装置
CN103927481A (zh) * 2013-12-17 2014-07-16 哈尔滨安天科技股份有限公司 一种基于字符串调整权值的恶意代码检测方法及系统
CN106156120A (zh) * 2015-04-07 2016-11-23 阿里巴巴集团控股有限公司 对字符串进行分类的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1924866A (zh) * 2006-09-28 2007-03-07 北京理工大学 基于统计特征的网页恶意脚本检测方法
US20100024033A1 (en) * 2008-07-23 2010-01-28 Kang Jung Min Apparatus and method for detecting obfuscated malicious web page
CN103221960A (zh) * 2012-12-10 2013-07-24 华为技术有限公司 恶意代码的检测方法及装置
CN103927481A (zh) * 2013-12-17 2014-07-16 哈尔滨安天科技股份有限公司 一种基于字符串调整权值的恶意代码检测方法及系统
CN106156120A (zh) * 2015-04-07 2016-11-23 阿里巴巴集团控股有限公司 对字符串进行分类的方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108875378A (zh) * 2018-06-12 2018-11-23 珠海市君天电子科技有限公司 脚本病毒检测方法、装置、电子设备及存储介质
CN109657469A (zh) * 2018-12-07 2019-04-19 腾讯科技(深圳)有限公司 一种脚本检测方法及装置
CN112016088A (zh) * 2020-08-13 2020-12-01 北京兰云科技有限公司 生成文件检测模型的方法、装置、检测文件的方法及装置

Also Published As

Publication number Publication date
CN106650449B (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN110572362B (zh) 针对多类不均衡异常流量的网络攻击检测方法及装置
CN109005145A (zh) 一种基于自动特征抽取的恶意url检测系统及其方法
CN106650449A (zh) 一种基于变量名混淆程度的脚本启发式检测方法及系统
CN106709345A (zh) 基于深度学习方法推断恶意代码规则的方法、系统及设备
CN107085730A (zh) 一种字符验证码识别的深度学习方法及装置
CN103336766A (zh) 短文本垃圾识别以及建模方法和装置
CN109525595A (zh) 一种基于时间流特征的黑产账号识别方法及设备
CN103166802B (zh) 一种确定有限自动机的构建方法及装置
CN104601556A (zh) 一种面向web的攻击检测方法及系统
CN109040081A (zh) 一种基于bwt的协议字段逆向分析系统及方法
CN103324745A (zh) 基于贝叶斯模型的文本垃圾识别方法和系统
CN103679030B (zh) 一种基于动态语义特征的恶意代码分析检测方法
CN104504151B (zh) 微信舆情监测系统
CN110266675A (zh) 一种基于深度学习的xss攻击自动化检测方法
CN105373800A (zh) 分类方法及装置
CN111259397B (zh) 一种基于马尔科夫图和深度学习的恶意软件分类方法
CN112422531A (zh) 基于CNN和XGBoost的网络流量异常行为检测方法
CN101119373B (zh) 一种网关级流式病毒扫描方法及其系统
WO2022227535A1 (zh) 一种挖矿恶意软件的识别方法、系统和存储介质
CN105550170A (zh) 一种中文分词方法及装置
CN109462575A (zh) 一种webshell检测方法及装置
CN106681980B (zh) 一种垃圾短信分析方法和装置
CN107679069A (zh) 基于新闻数据及相关评论信息的一种特定群体发现方法
CN112883730B (zh) 相似文本匹配方法、装置、电子设备及存储介质
CN107404487A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 150028 Building 7, Innovation Plaza, Science and Technology Innovation City, Harbin Hi-tech Industrial Development Zone, Harbin, Heilongjiang Province (838 Shikun Road)

Applicant after: Harbin antiy Technology Group Limited by Share Ltd

Address before: 150090 Room 506, No. 162 Hongqi Street, Nangang District, Harbin Development Zone, Heilongjiang Province

Applicant before: Harbin Antiy Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 150028 building 7, innovation and entrepreneurship square, science and technology innovation city, Harbin high tech Industrial Development Zone, Heilongjiang Province (No. 838, Shikun Road)

Patentee after: Antan Technology Group Co.,Ltd.

Address before: 150028 building 7, innovation and entrepreneurship square, science and technology innovation city, Harbin high tech Industrial Development Zone, Harbin, Heilongjiang Province (No. 838, Shikun Road)

Patentee before: Harbin Antian Science and Technology Group Co.,Ltd.