CN110502897A - 一种基于混合分析的网页恶意JavaScript代码识别和反混淆方法 - Google Patents
一种基于混合分析的网页恶意JavaScript代码识别和反混淆方法 Download PDFInfo
- Publication number
- CN110502897A CN110502897A CN201810485760.4A CN201810485760A CN110502897A CN 110502897 A CN110502897 A CN 110502897A CN 201810485760 A CN201810485760 A CN 201810485760A CN 110502897 A CN110502897 A CN 110502897A
- Authority
- CN
- China
- Prior art keywords
- code
- dynamic
- malice
- analysis
- antialiasing
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012544 monitoring process Methods 0.000 claims abstract description 15
- 238000007637 random forest analysis Methods 0.000 claims abstract description 14
- 230000003068 static effect Effects 0.000 claims abstract description 13
- 239000000284 extract Substances 0.000 claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 9
- 238000000605 extraction Methods 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 3
- 230000003542 behavioural effect Effects 0.000 claims description 17
- 238000012549 training Methods 0.000 claims description 11
- 230000006399 behavior Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 7
- 230000002596 correlated effect Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 claims description 5
- 238000003066 decision tree Methods 0.000 claims description 3
- 230000009977 dual effect Effects 0.000 claims description 2
- 238000001514 detection method Methods 0.000 description 14
- 230000000840 anti-viral effect Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000000877 morphologic effect Effects 0.000 description 3
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic 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)
- Devices For Executing Special Programs (AREA)
Abstract
本发明为一种基于混合分析的网页恶意JavaScript代码识别和反混淆方法:首先收集相关网页源码,对于源码中的恶意JS文件及内嵌在HTML文档中的恶意JS代码进行提取处理;接着,在语法分析阶段构建抽象语法树,将节点表示成常规JS对象进行程序分析和特征提取;接着,对JS代码进行插桩,对于想要监控的运行时基本操作进行覆写,动态监控JS执行时状态和信息,提取执行轨迹和运行时动态特征信息;接着,将动静态特征改写为特征向量,基于随机森林算法模型,训练出一个恶意JS代码识别模型;接着,基于动态插桩方法,通过对内存覆写相关操作进行监控和记录,对于混淆恶意JS代码进行有效的反混淆。
Description
技术领域
本发明属于计算机技术领域,尤其是软件技术领域。本发明提出了一种基于混合分析(动静态分析相结合)检测网页恶意JavaScript(JS)代码的方法及反混淆方法,能够有效识别并拦截当前网页中的恶意JS代码,同时对混淆恶意JS代码进行有效的反混淆。
背景技术
JS作为世界上最流行的脚本语言之一,在基于Web的应用和服务中起着重要作用,被数以百万计的网页用于优化界面设计、验证表单数据、检查浏览器信息、响应浏览器事件、控制Cookies等等。
JS的诸多特性给浏览器客户端和服务器端的开发都带来了极大的便利。首先,作为一种典型的动态编程语言,JS文法简单、灵活多变、小巧快捷,非常适用于需求多变的Web应用。其次,作为一种解释型的脚本语言,JS不需要预编译,可以在程序执行的过程中逐步进行解释执行。另外,JS具有跨平台性,仅需要浏览器的支持,不依赖操作系统,也不需要后台服务器端的支持,极大地减轻了服务器端的负担,被广泛应用为浏览器客户端脚本语言。虽然JS的跨平台性和动态性在Web应用和服务中具有极大优势,但同时也使其成为Web攻击的主要载体之一,如跨站脚本攻击(XSS),跨站请求伪造攻击(CSFR),Drive-by Download攻击等。这些恶意攻击窃取用户数据,制造能自我复制的恶意蠕虫,在用户之前传播恶意软件,对用户的信息安全造成了极大的威胁。为此,研究如何精准有效地检测出网页中所含的JS恶意代码成为一项重要的工作。
目前已有较多的检测方法被提出用来检测网页中的恶意JS代码,然而,随着混淆技术在JS代码中的广泛应用,很多传统的检测方法已经不再适用于检测恶意JS代码。例如,大部分的网络用户选择使用反病毒软件来监测恶意JS代码,但已有研究发现,由于大多数流行的反病毒软件使用基于签名的检测方案,其中一些甚至只使用精确匹配来检测恶意JS代码,对于混淆过的恶意JS代码,反病毒软件检测的平均正确性不足50%。此外,由于恶意JS代码被混淆过后可读性很差,即使被正确检测出来,人们也不知道代码究竟使用了什么方法进行攻击。
为此,本发明的主要目标是研究一种能够精准有效检测恶意JS代码的方法,并能够对于混淆过的代码进行针对性的反混淆操作,有效帮助查清混淆恶意代码具体的攻击手段。
发明内容
本发明的主要工作是提出一种基于混合分析的网页中恶意JS代码检测及反混淆的方法。首先,本发明关注的是JS代码程序分析和特征提取的问题,研究如何精确有效地确定恶意JS代码语义特征并进行提取。其次,考虑对JS进行动态分析,研究如何确定恶意JS代码的动态特征并进行提取。然后,对于提取出来的语义特征和动态特征进行训练,给出一种精确有效的分类器模型。最后,本发明考虑如何对混淆过的恶意JS进行反混淆,从而帮助找出恶意代码的攻击手段,对于混淆恶意代码进行调查统计,研究不同的混淆技术在恶意JS代码中的应用分布情况。针对以上问题,本发明的内容如下:
1.程序分析和特征提取。通过对1500个网页样本进行分析,本发明共总结出27个恶意JS代码的语义特征。本发明将JS代码转换为抽象语法树(AST),通过遍历AST提取需要的特征。通过语义分析,本发明可以耗费极小的运行开销,得到一个初步的分析报告。
2.动态插桩和程序运行监控。为了获取JS代码动态特征,本发明对需要分析的JS进行插桩,通过虚拟运行,获取运行时的状态信息,并对获取的信息实时进行记录和更新。为了确定与恶意JS代码有关联的动态特征,本发明对于采集到的恶意样本空间中的每一个样本进行统计分析。具体的做法为,对于JS代码中的每一个变量以及与该变量有关的每一条语句都进行插桩,统计每一个动态特征出现的次数,通过大量的统计分析,最终确定出有效的动态特征。
3.基于机器学习的分类器模型。结合提取出的静态特征和动态特征,本发明基于随机森林算法,最终训练出一种能有效检测恶意JS代码的分类器模型,分类器的精确度达94.6%。为了验证该分类器模型在现实环境具体应用时的可行性,本发明搜集了100个最新更新的恶意JS样本和350个随机下载的良性JS样本,对该分类器进行性能评估。实验结果显示,对于训练集以外的样本,分类器的查准率为97.60%,召回率为78.00%,能较为准确地检测恶意JS代码。
4.有针对性的部分反混淆。在动态特征提取部分,本发明介绍了通过动态插桩对程序的运行时状态进行监控并提取动态特征的方法。在该方法的基础上,本发明通过对关键变量的最终值以及对与数据覆写相关的操作进行实时监控和数据记录,可以实现对数据混淆和编码混淆的恶意JS代码有效的反混淆,从而能得知该恶意代码具体的攻击手段。通过对 25个混淆恶意JS代码进行统计,本发明提出的反混淆方法能有效地针对经过数据混淆和编码混淆的恶意代码进行反混淆,从而得出具体的攻击手段,而对于经过随机化混淆和逻辑结构混淆的恶意代码,能有效检测出来。
附图说明
图1为采用混合分析方法识别网页恶意JS代码,本发明采用混合分析方法对于当前网页中恶意JS代码进行识别,并对于混淆恶意代码进行有效反混淆,具体过程如下:1)MD5 匹配:对于待检查的JS代码文件,首先采用一个实时更新的MD5黑名单对该JS文件做MD5匹配,若能匹配到,则直接将该恶意JS拦截,若不能匹配到,则进行后续的检测操作;若检测模型判断该JS文件为恶意,则将该JS文件更新到MD5黑名单中;在一开始,MD5 黑名单为空,随着检测系统的不断运行,可以进行实时更新,从而获得一个较为完备的黑名单库;2)特征提取:若未能被MD5黑名单匹配到,则将其投入到混合分析模型中进行分析,并将分析的结果输出到特征向量;3)分类模型:将特征向量输入到训练好的随机森林分类模型进行分类,对于检测结果为恶意的文件进行拦截,并将该文件更新到MD5黑名单中。图2为将本发明提出的分析方法以插件形式具体实现的核心步骤,该插件插件分为前端和后端两部分,具体实现过程如下:当插件被启动,后端服务器同时随之运行,监听前端信号,前端使用Chrome浏览器API chrome.webRequest.onBeforeRequest.addListener() 监听网络请求;当前端捕获到HTML或JS文件请求时,使用xmlhttp.open/send()函数将该文件发送到后端服务器;后端服务器使用get()函数获取该文件并将其投放到恶意JS检测系统中,接着,将检测结果通过res.end()返回给前端;前端根据后端返回的结果进行拦截或放行,同时更新MD5黑名单。
具体实施方式
本发明具体包括以下步骤:
1)首先搜集大量包含恶意JS的网站源文件以及大量不包含恶意JS的良性网页,将内嵌于HTML文档中的JS脚本与存储在JS文件中的JS代码全部提取出来,作为数据集。
2)对于步骤1)提取出的数据集进行程序分析和特征识别,在语义分析阶段构建抽象语法树,进行语义级别分析。
3)对JS代码进行动态插桩,监控运行时状态,提取执行路径及其它运行时特征。将语义特征与执行特征结合成特征向量。
4)使用基于随机森林算法的分类模型,通过训练出一个高精度的分类器模型构成一个恶意JS的检测系统。
5)在步骤3)动态插桩分析的基础上,通过对内存读写相关操作进行监控和覆写,针对于混淆恶意JS代码进行有效的反混淆。
步骤1)中的样本采集,恶意网页样本需保证源代码中含恶意JS文件或含内嵌恶意JS脚本的HTML文档,可从一些恶意Web端攻击代码公布网站(如VirusShare.com等)上进行下载。对于搜集到的样本,需将其放到如VirusToal等检测网站进行检测,确保其被70个左右的恶意JS识别工具或脚本等鉴定为恶意,方可作为已确定性质样本放入数据集。对于良性JS样本,同样需经过鉴定方可放入数据集。数据集需保证足够大,方法全面并相对准确地对网页中的恶意JS代码进行研究。
步骤2)对于步骤1)提取出的数据集进行程序分析和特征识别,在语义分析阶段构建抽象语法树,进行语义级别分析。基于程序分析和特征识别方法,在JS语法分析阶段构建抽象语法树,将节点表示成常规JS对象进行程序分析和特征提取。其中,所有的JS对象都使用TypeScript进行定义,且都实现一个包含type属性的接口。
JS作为一种解释型的语言,执行时主要经过以下步骤:词法分析、语法分析构建抽象语法树(AST),然后便可被解释执行。词法分析将字符流(char stream)转换为记号流(token stream),将JS代码中的关键token识别出来并进行词法检查,语法分析将代码转换为抽象语法树,便于解释器根据AST解释执行。通过在语法分析构建抽象语法树阶段增加遍历操作,记录可能与恶意JS有关的对象及其属性,从而获取相关特征,包括:编码、重定向、文件执行等相关操作;字符串、可执行文件、空格、注释、代码总行数、特殊字符、特殊进制等相关特征。
步骤2)具体的方法如下:
Input:JSFile:原始JS代码文件
staticFeatures:需要提取出的恶意JS相关静态特征集合
Output:x:静态特征向量
/*Stage 1-词法分析*/
1:jsScript←fs.readFileSync(PATH,″utf-8″)
2:tokenFlow←Lexical(jsScript)
/*Stage 2-语法分析*/
3:ast←esprima.parse(tokenFlow)
/*Stage 3-特征提取*/
4:ret←{}
5:recordTables←BFS(ast)
6:for each feature∈staticFeaturesdo
7:individualOut←recordTables.search(feature)
8:ret←ret∪{indicidualOut}
9:end for
/*Stage 4-特征向量*/
10:x←changeToVector(ret)
11:returnx
步骤3)对JS代码进行动态插桩,监控运行时状态,提取执行路径及其它运行时特征。将语义特征与执行特征结合成特征向量。基于JS代码动态插桩技术,对于想要监控的运行时基本操作进行覆写,动态监控JS执行时状态和信息,提取执行轨迹和运行时动态特征信息。
由于JS的高动态性以及混淆技术在JS恶意代码中的广泛使用,仅仅依靠语义上的静态分析并不足以对JS进行全面分析,还需对其进行动态分析。为了获取JS代码动态特征,本发明对需要分析的JS进行插桩,通过虚拟运行,获取运行时的状态信息,并对获取的信息实时进行记录和更新。对于想要监控的运行时基本操作进行覆写,动态监控JS执行时状态和信息,提取执行轨迹和运行时动态特征信息,包括:函数调用、函数主体执行、参数传递、一元操作、二元操作、读写操作等相关操作及运行时节点监控;状态语句、循环结构、异常抛出等相关特征。
为了更加精准有效地监控JS的执行过程,本发明基于JS动态分析框架Jalangi对源代码进行插桩。具体的做法为对于源代码中的每一个变量val,提供一个对象存储其初始值和执行时信息:{actual:val,shadow:”tainted”},其中actual属性记录初始属性,shadow记录执行过程中与val相关的重要信息,如数值更新记录等。根据actual和shadow两个属性记录的信息,可以做到对JS代码进行有选择性的回放。
基于该框架,本发明对于JS程序各重要的运行时结点如函数调用前后、参数传递前后、读写操作前后等结点进行插桩监控,监控执行轨迹和运行时动态特征信息,并覆写一些基本操作来获得额外信息。
步骤4)使用基于随机森林算法的分类模型,通过训练出一个高精度的分类器模型构成一个恶意JS的检测系统。
随机森林(RF)是Bagging的一个扩展变种,它使用许多决策树构造Bagging集合,并在训练过程中加入随机特征选择。结合提取出的静态特征和动态特征,本发明基于随机森林算法,最终训练出一种能有效检测恶意JS代码的高精度分类器模型。
对于一段待评估的JS代码,该分类器模型输出分类结果,判断其是否恶意。训练具体过程为:先从初始训练集训练出基学习器DT,再根据基学习器的表现对训练样本分布进行调整,使先前学习器做错的训练样本在后续收到更多关注,然后基于调整后的样本分布训练下一个基学习器,同时在每一轮的训练过程中加入随机属性选择,最终得到训练好的分类器模型。
步骤5)在步骤3)动态插桩分析的基础上,通过对内存读写相关操作进行监控和覆写,针对于混淆恶意JS代码进行有效的反混淆。
混淆技术将源代码转变为功能上等价但难以让人阅读和理解的形式,当前常见的混淆技术主要有以下四种:数据混淆、编码混淆、随机化混淆和逻辑结构混淆。
在动态特征提取部分,本发明介绍了通过动态插桩对程序的运行时状态进行监控并提取动态特征的方法。在该方法的基础上,本发明通过对关键变量的最终值以及对与数据覆写相关的操作进行实时监控和数据记录,可以实现对数据混淆和编码混淆的恶意JS代码有效的反混淆,从而能得知该恶意代码具体的攻击手段。对于随机化混淆和逻辑结构混淆两类混淆方法,由于其方法大多与变量终值及数据覆写等操作关联较小,故本发明暂时不对这两类混淆进行反混淆处理,但仍能准确进行检测。
下面给出反混淆操作具体示例。下述代码为VirusShare公布的一段混淆恶意JS代码,其中,数组x存储四段字符串Unicode编码,使用编码混淆逃避反病毒软件检测。
本发明对关键变量x、m、t、z的最终值以及对Wire、read、return等相关的操作进行实时监控和数据记录,最终监控出以下结果:
writeValue:
″t″
″ty″
″typ″
…
″type=’text/css’″
…
″p″
″po″
…
″position:absolute;top:-9999px″
putFieldValue:
″type=’text/css’″
″nemonn″
″position:absolute;top:-9999px″
″style″
得出结论,原始代码为<div style=”position:absolute;top:-999px;left:-999px;”>,作用为通过调整CSS隐藏黑链。
Claims (6)
1.一种基于混合分析(静态分析与动态分析相结合)的网页恶意JavaScript(JS)代码识别和反混淆方法,其特征是在JS语法分析阶段构建抽象语法树,将节点表示成常规JS对象,对其进行程序分析和特征提取;接着,对JS代码进行插桩,对于想要监控的运行时基本操作进行覆写,动态监控JS执行时状态和信息,提取执行轨迹和运行时动态特征信息;接着,将动静态特征改写为特征向量,基于随机森林算法模型,训练出一个恶意JS代码识别模型;最后,基于动态插桩方法,通过对内存读写相关操作进行监控和记录,对于混淆恶意JS代码进行有效的反混淆。
2.根据权利要求1所描述的一种基于混合分析的网页恶意JS代码识别和反混淆方法,其特征包括以下几个步骤:
1)基于程序分析和特征识别方法,在JS语法分析阶段构建抽象语法树并进行遍历操作,将节点表示成常规JS对象进行程序分析和特征提取;
2)基于JS代码动态插桩技术,对于想要监控的运行时基本操作进行覆写,动态监控JS执行时状态和信息,提取执行轨迹和运行时动态特征信息;
3)将提取到的动静态特征改写为特征向量,基于随机森林算法模型,训练出一个恶意JS代码识别模型;
4)基于插桩的动态分析方法,通过对内存读写相关操作进行监控和记录,对于混淆恶意JS代码进行有针对性的反混淆。
3.根据权利要求2所述的基于混合分析的网页恶意JS代码识别和反混淆方法,其特征是步骤1)中基于程序分析和特征识别方法,在JS语法分析阶段构建抽象语法树,将节点表示成常规JS对象进行程序分析和特征提取,其中,所有的JS对象都使用TypeScript进行定义,且都实现一个包含type属性的接口;通过在语法分析构建AST阶段增加遍历操作,记录可能与恶意JS有关的对象及其属性,从而获取相关特征,包括:编码、重定向、文件执行等相关操作;字符串、可执行文件、空格、注释、代码总行数、特殊字符、特殊进制等相关特征。
4.根据权利要求2所述的基于混合分析的网页恶意JS代码识别和反混淆方法,其特征是步骤2)中,基于JS代码动态插桩技术,对于监控的运行时基本操作进行覆写,动态监控JS执行时状态和信息,提取执行轨迹和运行时动态特征信息,由于JS的高动态性以及混淆技术在JS恶意代码中的广泛使用,仅依靠语义上的静态分析并不足以对JS进行全面分析,还需对其进行动态分析,为获取JS代码动态特征,本发明对需要分析的JS进行插桩,通过虚拟运行,获取运行时状态信息,并对获取的信息实时进行记录和更新;对监控的运行时基本操作进行覆写,动态监控JS执行时状态和信息,提取执行轨迹和运行时动态特征信息,包括:函数调用、函数主体执行、参数传递、一元操作、二元操作、读写操作等相关操作及运行时节点监控;状态语句、循环结构、异常抛出等相关特征。
5.根据权利要求2所述的基于混合分析的网页恶意JS代码识别和反混淆方法,其特征是步骤3)中,将提取到的动静态特征改写为特征向量,基于随机森林算法模型,训练出一个恶意JS代码识别模型,随机森林(RF)使用多个基学习器决策树(DT)构造Bagging集合,并在训练过程中加入随机特征选择,结合提取出的静态特征和动态特征,本发明基于RF算法,训练出一种能有效检测恶意JS代码的高精度分类器模型,对于一段待评估的JS代码,该分类器模型输出分类结果,判断其是否恶意。
6.根据权利要求2所述的基于混合分析的网页恶意JS代码识别和反混淆方法,其特征是步骤4)中,基于插桩的动态分析方法,通过对内存读写相关操作进行监控和记录,对于混淆恶意JS代码进行有针对性的反混淆,混淆技术将源代码转变为功能上等价但难以让人阅读和理解的形式,当前常见的混淆技术主要有:数据混淆、编码混淆、随机化混淆和逻辑结构混淆,本发明通过动态插桩对程序的运行时状态进行监控并能够提取动态特征,在此基础上,本发明通过对关键变量的最终值以及数据覆写等相关操作进行实时监控和数据记录,可以实现对数据混淆和编码混淆的恶意JS代码有效的反混淆,对于随机化混淆和逻辑结构混淆两类混淆方法,由于其方法大多与变量终值及数据覆写等操作关联较小,故本发明不对这两类混淆进行反混淆处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810485760.4A CN110502897A (zh) | 2018-05-16 | 2018-05-16 | 一种基于混合分析的网页恶意JavaScript代码识别和反混淆方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810485760.4A CN110502897A (zh) | 2018-05-16 | 2018-05-16 | 一种基于混合分析的网页恶意JavaScript代码识别和反混淆方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110502897A true CN110502897A (zh) | 2019-11-26 |
Family
ID=68584898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810485760.4A Pending CN110502897A (zh) | 2018-05-16 | 2018-05-16 | 一种基于混合分析的网页恶意JavaScript代码识别和反混淆方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110502897A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955606A (zh) * | 2019-12-16 | 2020-04-03 | 湘潭大学 | 一种基于随机森林的c语言源代码静态评分方法 |
CN111723371A (zh) * | 2020-06-22 | 2020-09-29 | 上海斗象信息科技有限公司 | 构建恶意文件的检测模型以及检测恶意文件的方法 |
CN111814120A (zh) * | 2020-07-10 | 2020-10-23 | 北京嘀嘀无限科技发展有限公司 | 程序反混淆处理方法、装置、设备及存储介质 |
CN112052451A (zh) * | 2020-08-17 | 2020-12-08 | 北京兰云科技有限公司 | 一种webshell检测方法和装置 |
CN112115428A (zh) * | 2020-08-14 | 2020-12-22 | 咪咕文化科技有限公司 | 代码文件的混淆方法、装置、电子设备和存储介质 |
CN112231068A (zh) * | 2020-12-18 | 2021-01-15 | 浙江太美医疗科技股份有限公司 | 使用领域专用语言的自定义逻辑方法、系统和可读介质 |
CN112632447A (zh) * | 2021-01-13 | 2021-04-09 | 西安博达软件股份有限公司 | 网站动态应用安全防护方法 |
CN112685738A (zh) * | 2020-12-29 | 2021-04-20 | 武汉大学 | 一种基于多级投票机制的恶意混淆脚本静态检测方法 |
CN112883372A (zh) * | 2019-11-29 | 2021-06-01 | 中国电信股份有限公司 | 跨站脚本攻击检测方法和装置 |
CN113609246A (zh) * | 2021-08-04 | 2021-11-05 | 上海犇众信息技术有限公司 | 一种网页相似性检测方法及系统 |
CN113918951A (zh) * | 2021-12-16 | 2022-01-11 | 北京微步在线科技有限公司 | 基于抽象语法树的恶意代码检测方法、装置及电子设备 |
CN113971284A (zh) * | 2020-07-24 | 2022-01-25 | 中国电信股份有限公司 | 基于JavaScript的恶意网页检测方法、设备及计算机可读存储介质 |
CN115952411A (zh) * | 2023-03-14 | 2023-04-11 | 北京有生博大软件股份有限公司 | 一种前端界面的动态语言反混淆特征提取方法及提取系统 |
CN117708813A (zh) * | 2023-11-30 | 2024-03-15 | 四川大学 | 一种软件开发环境的安全性检测方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105303109A (zh) * | 2015-09-22 | 2016-02-03 | 电子科技大学 | 一种恶意代码情报检测分析方法及系统 |
CN107180191A (zh) * | 2017-05-03 | 2017-09-19 | 北京理工大学 | 一种基于半监督学习的恶意代码分析方法和系统 |
CN107516041A (zh) * | 2017-08-17 | 2017-12-26 | 北京安普诺信息技术有限公司 | 基于深度神经网络的WebShell检测方法及其系统 |
-
2018
- 2018-05-16 CN CN201810485760.4A patent/CN110502897A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105303109A (zh) * | 2015-09-22 | 2016-02-03 | 电子科技大学 | 一种恶意代码情报检测分析方法及系统 |
CN107180191A (zh) * | 2017-05-03 | 2017-09-19 | 北京理工大学 | 一种基于半监督学习的恶意代码分析方法和系统 |
CN107516041A (zh) * | 2017-08-17 | 2017-12-26 | 北京安普诺信息技术有限公司 | 基于深度神经网络的WebShell检测方法及其系统 |
Non-Patent Citations (1)
Title |
---|
马洪亮等: "混淆恶意JavaScript代码的检测与反混淆方法研究", 《计算机学报》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112883372A (zh) * | 2019-11-29 | 2021-06-01 | 中国电信股份有限公司 | 跨站脚本攻击检测方法和装置 |
CN112883372B (zh) * | 2019-11-29 | 2024-02-09 | 中国电信股份有限公司 | 跨站脚本攻击检测方法和装置 |
CN110955606A (zh) * | 2019-12-16 | 2020-04-03 | 湘潭大学 | 一种基于随机森林的c语言源代码静态评分方法 |
CN111723371A (zh) * | 2020-06-22 | 2020-09-29 | 上海斗象信息科技有限公司 | 构建恶意文件的检测模型以及检测恶意文件的方法 |
CN111723371B (zh) * | 2020-06-22 | 2024-02-20 | 上海斗象信息科技有限公司 | 构建恶意文件的检测模型以及检测恶意文件的方法 |
CN111814120A (zh) * | 2020-07-10 | 2020-10-23 | 北京嘀嘀无限科技发展有限公司 | 程序反混淆处理方法、装置、设备及存储介质 |
CN113971284A (zh) * | 2020-07-24 | 2022-01-25 | 中国电信股份有限公司 | 基于JavaScript的恶意网页检测方法、设备及计算机可读存储介质 |
CN113971284B (zh) * | 2020-07-24 | 2024-03-05 | 中国电信股份有限公司 | 基于JavaScript的恶意网页检测方法、设备及计算机可读存储介质 |
CN112115428A (zh) * | 2020-08-14 | 2020-12-22 | 咪咕文化科技有限公司 | 代码文件的混淆方法、装置、电子设备和存储介质 |
CN112115428B (zh) * | 2020-08-14 | 2024-04-09 | 咪咕文化科技有限公司 | 代码文件的混淆方法、装置、电子设备和存储介质 |
CN112052451A (zh) * | 2020-08-17 | 2020-12-08 | 北京兰云科技有限公司 | 一种webshell检测方法和装置 |
CN112231068A (zh) * | 2020-12-18 | 2021-01-15 | 浙江太美医疗科技股份有限公司 | 使用领域专用语言的自定义逻辑方法、系统和可读介质 |
CN112231068B (zh) * | 2020-12-18 | 2021-03-16 | 浙江太美医疗科技股份有限公司 | 使用领域专用语言的自定义逻辑方法、系统和可读介质 |
CN112685738B (zh) * | 2020-12-29 | 2022-10-14 | 武汉大学 | 一种基于多级投票机制的恶意混淆脚本静态检测方法 |
CN112685738A (zh) * | 2020-12-29 | 2021-04-20 | 武汉大学 | 一种基于多级投票机制的恶意混淆脚本静态检测方法 |
CN112632447A (zh) * | 2021-01-13 | 2021-04-09 | 西安博达软件股份有限公司 | 网站动态应用安全防护方法 |
CN113609246A (zh) * | 2021-08-04 | 2021-11-05 | 上海犇众信息技术有限公司 | 一种网页相似性检测方法及系统 |
CN113609246B (zh) * | 2021-08-04 | 2024-04-12 | 奇安盘古(上海)信息技术有限公司 | 一种网页相似性检测方法及系统 |
CN113918951A (zh) * | 2021-12-16 | 2022-01-11 | 北京微步在线科技有限公司 | 基于抽象语法树的恶意代码检测方法、装置及电子设备 |
CN115952411A (zh) * | 2023-03-14 | 2023-04-11 | 北京有生博大软件股份有限公司 | 一种前端界面的动态语言反混淆特征提取方法及提取系统 |
CN117708813A (zh) * | 2023-11-30 | 2024-03-15 | 四川大学 | 一种软件开发环境的安全性检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502897A (zh) | 一种基于混合分析的网页恶意JavaScript代码识别和反混淆方法 | |
CN108347430A (zh) | 基于深度学习的网络入侵检测和漏洞扫描方法及装置 | |
CN109922052A (zh) | 一种结合多重特征的恶意url检测方法 | |
CN110233849A (zh) | 网络安全态势分析的方法及系统 | |
CN102945347A (zh) | 一种检测Android恶意软件的方法、系统及设备 | |
CN109005145A (zh) | 一种基于自动特征抽取的恶意url检测系统及其方法 | |
JPWO2018235252A1 (ja) | 分析装置、ログの分析方法及び分析プログラム | |
CN104766014A (zh) | 用于检测恶意网址的方法和系统 | |
CN110765459A (zh) | 一种恶意脚本检测方法、装置和存储介质 | |
CN107944274A (zh) | 一种基于宽度学习的Android平台恶意应用离线检测方法 | |
CN112989348B (zh) | 攻击检测方法、模型训练方法、装置、服务器及存储介质 | |
CN110365691B (zh) | 基于深度学习的钓鱼网站判别方法及装置 | |
CN108664791B (zh) | 一种超文本预处理器代码中的网页后门检测方法及装置 | |
CN108229170B (zh) | 利用大数据和神经网络的软件分析方法和装置 | |
CN110460612A (zh) | 安全测试方法、设备、存储介质及装置 | |
CN111159012A (zh) | 一种基于深度学习的智能合约漏洞检测方法 | |
CN109740347A (zh) | 一种针对智能设备固件的脆弱哈希函数的识别与破解方法 | |
CN107665164A (zh) | 安全数据检测方法和装置 | |
CN106874760A (zh) | 一种基于层次式SimHash的Android恶意代码分类方法 | |
CN107808095A (zh) | 用于检测网页的异常元素的系统和方法 | |
CN112685738A (zh) | 一种基于多级投票机制的恶意混淆脚本静态检测方法 | |
CN107018152A (zh) | 消息拦截方法、装置和电子设备 | |
CN112817877B (zh) | 异常脚本检测方法、装置、计算机设备和存储介质 | |
CN111784360B (zh) | 一种基于网络链接回溯的反欺诈预测方法及系统 | |
CN113971284B (zh) | 基于JavaScript的恶意网页检测方法、设备及计算机可读存储介质 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191126 |
|
WD01 | Invention patent application deemed withdrawn after publication |