CN116318946A - 一种内存式网页后门攻击的检测方法、装置及电子设备 - Google Patents
一种内存式网页后门攻击的检测方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116318946A CN116318946A CN202310225071.0A CN202310225071A CN116318946A CN 116318946 A CN116318946 A CN 116318946A CN 202310225071 A CN202310225071 A CN 202310225071A CN 116318946 A CN116318946 A CN 116318946A
- Authority
- CN
- China
- Prior art keywords
- byte code
- class
- suspicious
- code file
- called
- 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
- 238000000034 method Methods 0.000 title claims abstract description 153
- 238000001514 detection method Methods 0.000 claims abstract description 33
- 230000006870 function Effects 0.000 claims description 41
- 238000012544 monitoring process Methods 0.000 claims description 31
- 238000000605 extraction Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000003068 static effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种内存式网页后门攻击的检测方法、装置及电子设备,其中,方法包括针对每次用户请求的发生,识别该用户请求所调用的所有方法中是否存在敏感方法;若识别到敏感方法被调用,则确定调用该敏感方法的目标类名称为可疑类名称,并将可疑类名称存储到消息队列中;根据消息队列中的可疑类名称,提取出可疑类的字节码文件;将字节码文件输入污点分析模型,以输出字节码文件的分析结果,分析结果用于指示字节码文件对应的可疑类是否为内存式网页后门攻击所调用的类,通过动态方式识别出可疑类,再以静态方式对可疑类进行分析,实现了对内存式网页后门攻击的精确检测。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种内存式网页后门攻击的检测方法、装置及电子设备。
背景技术
随着互联网技术的飞速发展,Web应用被广泛开发使用,针对Web应用的网络攻击也越来越多,Webshell作为最为常见的攻击手段之一,给Web应用的安全性造成严重威胁。内存Webshell作为一种无文件攻击手段,克服了前者的弱点,它将恶意代码写入到内存中,隐蔽性更强,危害性更高,更容易躲过安全防护设备的检测,给检测带来极大的难度。
同时,Java作为一项成熟且稳定的技术体系,始终在互联网中占有优势地位,是开发Web应用最主流的语言。Java内存Webshell作为新型无文件攻击手段,存在样本匮乏的特点,基于机器学习的方法虽然可以保证检测的准确率,但前期需要大量样本训练模型,建模存在困难。
发明内容
有鉴于此,本申请的目的在于提供一种内存式网页后门攻击的检测方法、装置及电子设备,通过动态监控的方式有效筛选可疑类,通过静态污点分析对可疑类做进一步Webshell检测,从整体上解决内存型Webshell无文件落地导致检测困难的问题。
第一方面,本申请提供了一种内存式网页后门攻击的检测方法,方法包括:针对每次用户请求的发生,识别该用户请求所调用的所有方法中是否存在敏感方法;若识别到敏感方法被调用,则确定调用该敏感方法的目标类名称为可疑类名称,并将可疑类名称存储到消息队列中;根据消息队列中的可疑类名称,提取出可疑类的字节码文件;将字节码文件输入污点分析模型,以输出字节码文件的分析结果,分析结果用于指示字节码文件对应的可疑类是否为内存式网页后门攻击所调用的类。
优选的,针对每次用户请求的发生,识别该用户请求所调用的所有方法中是否存在敏感方法的步骤,具体包括:遍历Java虚拟机中所有已加载的类,以确定出其中包含敏感方法的目标类及对应的字节码文件;针对每个目标类,基于该目标类对应的字节码文件,确定出其中所有敏感方法,并在每个敏感方法的函数中插入监控点,监控点用于在敏感方法被调用时,输出监控到的调用信息,调用信息至少包括被调用的敏感方法的名称以及调用敏感方法的可疑类名称;当获取到至少一个监控点所输出的调用信息时,则确定识别到敏感方法被调用。
优选的,将字节码文件输入污点分析模型,以输出字节码文件的分析结果的步骤,具体包括:对字节码文件进行格式转换,以获取与字节码文件对应的中间代码;通过预先构建好的污点分析模型对中间代码进行污点源识别,并对识别到的污点源进行跟踪,确定污点源是否传播至污点汇聚点,当有污点源传播至污点汇聚点时,则将字节码文件对应的可疑类确定为内存式网页后门攻击所调用的类。
优选的,污点分析模型通过以下方式进行污点源识别:遍历中间代码中的每条语句,确定该语句类型是否为赋值语句;针对确定出的每条赋值语句,确定该赋值语句中是否包含预设危险函数,若是,则将该预设危险函数所获取到的参数值确定为一个污点源;其中,预设危险函数的作用为获取非本地的参数值。
优选的,还包括根据分析结果,执行对应的安全管理措施。
优选的,根据分析结果,执行对应的安全管理措施的步骤,具体包括:当分析结果为是时,确定出污点源的传播路径,并生成报警信息,报警信息至少包括所提取的可疑类的字节码文件的地址、所确定出的传播路径上的所有语句以及攻击类型;基于报警信息,对所确定出的传播路径上的所有语句进行修正;当分析结果为否时,确定字节码文件的地址,并生成预警信息,预警信息至少包括所提取的可疑类的字节码文件的地址;基于预警信息,对可疑类名称进行记录。
优选的,还包括:响应用户在浏览器的目标界面中的编辑操作,生成对应的用户请求;报警信息还包括用户请求对应的用户标识。
第二方面,本申请提供了一种内存式网页后门攻击的检测装置,装置包括:
实时监控模块,用于针对每次用户请求的发生,识别该用户请求所调用的所有方法中是否存在敏感方法;
名称提取模块,用于若识别到敏感方法被调用,则确定调用该敏感方法的目标类名称为可疑类名称,并将可疑类名称存储到消息队列中;
文件提取模块,用于根据消息队列中的可疑类名称,提取出可疑类的字节码文件;
污点分析模块,用于将字节码文件输入污点分析模型,以输出字节码文件的分析结果,分析结果用于指示字节码文件对应的可疑类是否为内存式网页后门攻击所调用的类。
第三方面,本申请还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的内存式网页后门攻击的检测方法的步骤。
第四方面,本申请还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的内存式网页后门攻击的检测方法的步骤。
本申请提供的内存式网页后门攻击的检测方法、装置及电子设备,针对每次用户请求的发生,识别该用户请求所调用的所有方法中是否存在敏感方法;若识别到敏感方法被调用,则确定调用该敏感方法的目标类名称为可疑类名称,并将可疑类名称存储到消息队列中;根据消息队列中的可疑类名称,提取出可疑类的字节码文件;将字节码文件输入污点分析模型,以输出字节码文件的分析结果,分析结果用于指示字节码文件对应的可疑类是否为内存式网页后门攻击所调用的类。从内存式网页后门攻击的行为特征出发,通过动态监控的方式有效筛选可疑类,通过静态污点分析对可疑类做进一步Webshell检测,从整体上解决内存型Webshell无文件落地导致检测困难的问题,实现了对内存式网页后门攻击的精确检测。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例所提供的一种内存式网页后门攻击的检测方法的流程图;
图2为本申请实施例所提供的敏感方法的识别步骤的流程图;
图3为本申请实施例所提供的另一种内存式网页后门攻击的检测方法的流程图;
图4为本申请实施例所提供的一种检测系统的结构示意图;
图5为本申请实施例所提供的一种内存式网页后门攻击的检测装置的结构示意图;
图6为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
首先,对本申请可适用的应用场景进行介绍。本申请可应用于对Java内存Webshell的检测。
随着互联网技术的飞速发展,Web应用被广泛开发使用,针对Web应用的网络攻击也越来越多,Webshell(网页后门攻击)作为最为常见的攻击手段之一,给Web应用的安全性造成严重威胁。内存Webshell作为一种无文件攻击手段,克服了前者的弱点,它将恶意代码写入到内存中,隐蔽性更强,危害性更高,更容易躲过安全防护设备的检测,给检测带来极大的难度。
同时,Java作为一项成熟且稳定的技术体系,始终在互联网中占有优势地位,是开发Web应用最主流的语言。Java内存Webshell作为新型无文件攻击手段,存在样本匮乏的特点,基于机器学习的方法虽然可以保证检测的准确率,但前期需要大量样本训练模型,建模存在困难。
基于此,本申请实施例提供了一种内存式网页后门攻击的检测方法装置、及电子设备。
请参阅图1,图1为本申请实施例所提供的一种内存式网页后门攻击的检测方法的流程图。如图1中所示,本申请实施例提供的内存式网页后门攻击的检测方法,包括:
S101、针对每次用户请求的发生,识别该用户请求所调用的所有方法中是否存在敏感方法。
这里,可以获取运行了目标Web应用的Java虚拟机中的所有类,检测这些类是否为包含敏感方法的目标类。如果当前类为目标类,则对该目标类中的敏感方法进行监控。其中,敏感方法是指动态注册组件时会调用的函数。
这里的敏感方法包括动态注册Servlet、Filter、Listener、Controller、Interceptor这些Web服务组件时调用的方法,例如注册Filter组件时会调用addFilterDef方法,该方法用于将封装了Filter实现及相关信息的FilterDef对象添加到Web容器中;注册Servlet组件会调用addServletMapping方法,该方法用于将请求URL和对应的Servlet进行绑定;注册Listener组件会调用addApplicationEventListener方法,该方法用于将Listener对象添加到应用程序的Listener列表中;注册Controller组件会调用registerMapping方法,该方法用于将Controller对象添加到Spring容器中;注册Interceptor组件通常会调用java.lang.reflect.Field类下的get方法来反射获取Interceptor列表。
图2为本申请实施例所提供的一种敏感方法的识别步骤的流程图。如图2所示,该步骤中,针对每次用户请求的发生,识别该用户请求所调用的所有方法中是否存在敏感方法的步骤,具体包括:
S1010、遍历Java虚拟机中所有已加载的类,以确定出其中包含敏感方法的目标类及对应的字节码文件。
S1012、针对每个目标类,基于该目标类对应的字节码文件,确定出其中所有敏感方法,并在每个敏感方法的函数中插入监控点,监控点用于在敏感方法被调用时,输出监控到的调用信息,调用信息至少包括被调用的敏感方法的名称以及调用敏感方法的可疑类名称。
S1014、当获取到至少一个监控点所输出的调用信息时,则确定识别到敏感方法被调用。
在步骤S1010和S1012中,这里需要获取Java虚拟机中所有已加载的类,通过遍历判断当前类是否为包含敏感方法的目标类,若是,则需对该目标类所包含的敏感方法进行监控。这里利用字节码增强技术将监控逻辑插入到敏感方法的函数中。具体实现方式可以是通过Java Agent和字节码增强技术开发agent程序,将agent程序加载到虚拟机中执行,获取敏感方法对应的字节码文件并进行修改加入监控逻辑。
当某个用户的请求导致敏感方法被执行时,已插入的监控逻辑会自动收集调用了该敏感方法的目标类的名称,以作为可疑类。
具体的,在步骤S101之前,还包括:
响应用户在浏览器的目标界面中的编辑操作,生成对应的用户请求。
S102、若识别到敏感方法被调用,则确定调用该敏感方法的目标类名称为可疑类名称,并将所述可疑类名称存储到消息队列中。
该步骤中,当某个用户的请求导致敏感方法被执行时,则获取调用该敏感方法的类,作为可疑类,并利用消息中间件将所识别到的可疑类名称存储到消息队列中。
S103、根据消息队列中的所述可疑类名称,提取出可疑类的字节码文件。
在本实施例中,将上一步存储的可疑类名称从消息队列中取出,循环遍历Java虚拟机中所有已加载类,将可疑类对应的字节码文件从Java虚拟机中提取出来。
S104、将所述字节码文件输入污点分析模型,以输出所述字节码文件的分析结果,所述分析结果用于指示字节码文件对应的可疑类是否为内存式网页后门攻击所调用的类。
具体的,将字节码文件输入污点分析模型,以输出字节码文件的分析结果的步骤,具体包括:
对字节码文件进行格式转换,以获取与字节码文件对应的中间代码。通过预先构建好的污点分析模型对中间代码进行污点源识别,并对识别到的污点源进行跟踪,确定污点源是否传播至污点汇聚点,当有污点源传播至污点汇聚点时,则将字节码文件对应的可疑类确定为内存式网页后门攻击所调用的类。
该步骤中,需要对获取的可疑类字节码文件进行基于污点分析的Webshell检测。首先将字节码转换成Jimple中间代码,再根据Jimple中间代码进行污点分析。这里可以利用soot框架将字节码转换为Jimple中间代码,基于Jimple中间代码跟踪污点传播过程,检测数据是否从污点源进入污点汇聚点。
进一步的,污点分析模型通过以下方式进行污点源识别:
遍历所述中间代码中的每条语句,确定该语句类型是否为赋值语句;
针对确定出的每条赋值语句,确定该赋值语句中是否包含预设危险函数,若是,则将该预设危险函数所获取到的参数值确定为一个污点源;其中,所述预设危险函数的作用为获取非本地的参数值。在污点分析模型的生成步骤主要包括定义污点源、污点汇聚点、污点传播规则等。具体的,可以基于待检测类的中间代码进行分析,循环遍历类中方法体的每条语句,判断语句类型,若为赋值语句,检查右侧部分是否包含函数调用。如果调用的函数名包含在预设的污点源函数中,则认为识别到污点源,并将左侧变量加入污点集合。污点汇聚点的识别原理类似,如果函数名包含在预设的污点汇聚点函数中,检查函数参数或者调用函数的对象是否在污点集合中,是则认为污点变量达到汇聚点,存在污点传播路径。
这里将外界变量视为污点源,外界变量为通过函数获取到的非本地参数,例如HttpServletRequest类的函数。例如getParameter,该函数用于从浏览器请求中获取指定的参数值;getParameterValues,该函数用于从浏览器请求中获取一组参数值;getParameterMap,该函数返回浏览器请求中参数名和参数值的映射关系。
这里的污点汇聚点设置为用于执行系统命令、文件操作、数据库操作的函数中的一个或多个。其中,执行系统命令函数可以为java.lang.Runtime.exec、java.lang.ProcessBuilder.start等;文件操作相关函数可以为java.io.File.delete删除文件、java.io.File.listFiles获取目录下所有文件等;数据库操作相关函数可以为java.sql.Statement.executeQuery执行数据库查询操作等。
如果进入汇聚点则认为该文件是Java内存Webshell文件,并产生相关告警信息。
本申请实施例提供的内存式网页后门攻击的检测方法,从内存式网页后门攻击的行为特征出发,通过动态监控的方式有效筛选可疑类,通过静态污点分析对可疑类做进一步Webshell检测,从整体上解决内存型Webshell无文件落地导致检测困难的问题,具有较好的检测效果。
请参阅图3,图3为本申请实施例所提供的另一种内存式网页后门攻击的检测方法的流程图。如图3中所示,在本申请的一个实施例中,检测方法还包括:
S105、根据分析结果,执行对应的安全管理措施。
具体的,根据分析结果,执行对应的安全管理措施,具体包括:
当所述分析结果为是时,确定出所述污点源的传播路径,并生成报警信息,所述报警信息至少包括所提取的可疑类的字节码文件的地址、所确定出的传播路径上的所有语句以及攻击类型;基于所述报警信息,对所确定出的传播路径上的所有语句进行修正。
当所述分析结果为否时,确定所述字节码文件的地址,并生成预警信息,所述预警信息至少包括所提取的可疑类的字节码文件的地址;基于所述预警信息,对可疑类名称进行记录。
这里当分析结果为是时,则可以对所识别出的代码进行改写修正,与事后检测的方式相比,可以实时监测出Webshell攻击,克服了现有技术存在的滞后性。此时的报警信息用于指示存在污点传播路径的可疑类名称以及具体的污点传播路径信息,即从污点源传递到汇聚点的每条语句。当分析结果为否时,也可以记录对应的字节代码信息,若某段时间内某一可疑类被频繁记录,也可能是潜在的Webshell攻击所产生的,或是其他问题,为工作人员的后续分析提供了数据支持。
这里的报警信息还包括用户请求对应的用户标识。根据用户标识可以进一步确定出攻击源用户,并拒绝该攻击源用户的用户请求。
图4为本申请实施例所提供的一种检测系统的结构示意图。如图4所示,在本申请的一个实施例中,提供基于污点分析的Java内存Webshell的检测系统,该系统包括:
监控单元:负责监控敏感方法,筛选可疑类,并将可疑类名称存储到消息中间件;
提取单元:负责从消息中间件中取出类名称,然后和Java虚拟机交互从而获取字节码文件;
检测单元:负责通过污点分析技术对获取的字节码文件做进一步检测,如果存在污点传播路径则认为是Java内存Webshell文件并产生相关告警信息。
这里的监控单元可以通过以下流程实现:基于JVM提供的Instrumentation API开发用于监控的agent程序。利用字节码操作框架Javassist对包含敏感方法的目标类的字节码文件进行修改,加入监控逻辑。监控逻辑主要指获取调用敏感方法的可疑类名称并将收集到的可疑类名称存储到消息队列。接着通过attach方式在Web服务启动后根据其进程ID将agent程序注入到JVM中执行,完成监控。
这里的提取单元可以通过以下流程实现:基于JVM提供的Instrumentation API开发用于提取字节码文件的agent程序。首先从消息队列中获取可疑类的类名称。然后通过Instrumentation API和JVM进行交互,获取对应类的字节码,并保存至文件。将开发的agent程序根据Web服务的进程ID注入到JVM中执行,从而获取可疑类的字节码文件。
这里的检测单元可以通过以下流程实现:利用soot框架构建基于污点分析的检测模型,包括定义污点源、污点汇聚点、污点传播规则等。污点源是指可以获取外界所传递参数的函数,污点汇聚点是指系统命令、文件操作等函数。污点传播规则主要包括赋值语句、调用语句等。将提取的字节码文件转为Jimple中间代码,并输入上述检测模型,跟踪污点变量传播过程。判断污点变量最终是否进入汇聚点,如是,则认为当前文件为Java内存Webshell,并产生相关告警信息。
现有的攻击检测方式中,往往基于黑名单机制进行可疑类筛选,攻击者可以通过更换内存Webshell的编写方式来绕过黑名单机制,导致筛选效果一般,很大程度上存在漏报的可能。而本申请所提供的检测系统,通过监控敏感方法可以减小漏报情况的发生,因为无论代码如何变形混淆,其行为是不变的,都不可避免的会调用一些敏感方法。此外,利用污点分析技术对可疑类的字节码文件进行进一步的检测,降低了误报率。相较于其他利用机器学习构建的检测模型,污点分析不需要大量数据样本,适合于缺少数据集的情况,并且污点分析检测结果的可解释性更强。本申请所提供的检测系统,可以较好的解决内存式Webshell缺少针对性检测工具的问题,同时较于现有工具提升了检测准确性,为安全管理人员提供了可靠的检测结果。
基于同一发明构思,本申请实施例中还提供了与内存式网页后门攻击的检测方法对应的内存式网页后门攻击的检测装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述内存式网页后门攻击的检测方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图5,图5为本申请实施例所提供的一种内存式网页后门攻击的检测装置的结构示意图。如图5中所示,所述内存式网页后门攻击的检测装置500包括:
实时监控模块510,用于针对每次用户请求的发生,识别该用户请求所调用的所有方法中是否存在敏感方法;
名称提取模块520,用于若识别到敏感方法被调用,则确定调用该敏感方法的目标类名称为可疑类名称,并将所述可疑类名称存储到消息队列中;
文件提取模块530,用于根据消息队列中的所述可疑类名称,提取出可疑类的字节码文件;
污点分析模块540,用于将所述字节码文件输入污点分析模型,以输出所述字节码文件的分析结果,所述分析结果用于指示字节码文件对应的可疑类是否为内存式网页后门攻击所调用的类。
优选的,实时监控模块510具体用于遍历Java虚拟机中所有已加载的类,以确定出其中包含敏感方法的目标类及对应的字节码文件;针对每个目标类,基于该目标类对应的字节码文件,确定出其中所有敏感方法,并在每个敏感方法的函数中插入监控点,监控点用于在敏感方法被调用时,输出监控到的调用信息,调用信息至少包括被调用的敏感方法的名称以及调用敏感方法的可疑类名称;当获取到至少一个监控点所输出的调用信息时,则确定识别到敏感方法被调用。
优选的,污点分析模块540具体用于对字节码文件进行格式转换,以获取与字节码文件对应的中间代码;通过预先构建好的污点分析模型对中间代码进行污点源识别,并对识别到的污点源进行跟踪,确定污点源是否传播至污点汇聚点,当有污点源传播至污点汇聚点时,则将字节码文件对应的可疑类确定为内存式网页后门攻击所调用的类。
优选的,污点分析模型通过以下方式进行污点源识别:遍历中间代码中的每条语句,确定该语句类型是否为赋值语句;针对确定出的每条赋值语句,确定该赋值语句中是否包含预设危险函数,若是,则将该预设危险函数所获取到的参数值确定为一个污点源;其中,预设危险函数的作用为获取非本地的参数值。
优选的,还包括根据告警执行模块(图中未示出),用于分析结果,执行对应的安全管理措施。
优选的,告警执行模块具体用于当分析结果为是时,确定出污点源的传播路径,并生成报警信息,报警信息至少包括所提取的可疑类的字节码文件的地址、所确定出的传播路径上的所有语句以及攻击类型;基于报警信息,对所确定出的传播路径上的所有语句进行修正;当分析结果为否时,确定字节码文件的地址,并生成预警信息,预警信息至少包括所提取的可疑类的字节码文件的地址;基于预警信息,对可疑类名称进行记录。
优选的,还包括请求响应模块(图中未示出),用于响应用户在浏览器的目标界面中的编辑操作,生成对应的用户请求;报警信息还包括用户请求对应的用户标识。
请参阅图6,图6为本申请实施例所提供的一种电子设备的结构示意图。如图6中所示,所述电子设备600包括处理器610、存储器620和总线630。
所述存储器620存储有所述处理器610可执行的机器可读指令,当电子设备600运行时,所述处理器610与所述存储器620之间通过总线630通信,所述机器可读指令被所述处理器610执行时,可以执行如上述图1以及图3所示方法实施例中的内存式网页后门攻击的检测方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1以及图3所示方法实施例中的内存式网页后门攻击的检测方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种内存式网页后门攻击的检测方法,其特征在于,所述方法包括:
针对每次用户请求的发生,识别该用户请求所调用的所有方法中是否存在敏感方法;
若识别到敏感方法被调用,则确定调用该敏感方法的目标类名称为可疑类名称,并将所述可疑类名称存储到消息队列中;
根据消息队列中的所述可疑类名称,提取出可疑类的字节码文件;
将所述字节码文件输入污点分析模型,以输出所述字节码文件的分析结果,所述分析结果用于指示字节码文件对应的可疑类是否为内存式网页后门攻击所调用的类。
2.根据权利要求1所述的方法,其特征在于,所述针对每次用户请求的发生,识别该用户请求所调用的所有方法中是否存在敏感方法的步骤,具体包括:
遍历Java虚拟机中所有已加载的类,以确定出其中包含敏感方法的目标类及对应的字节码文件;
针对每个目标类,基于该目标类对应的字节码文件,确定出其中所有敏感方法,并在每个敏感方法的函数中插入监控点,所述监控点用于在敏感方法被调用时,输出监控到的调用信息,所述调用信息至少包括被调用的敏感方法的名称以及调用敏感方法的可疑类名称;
当获取到至少一个监控点所输出的调用信息时,则确定识别到敏感方法被调用。
3.根据权利要求1所述的方法,其特征在于,所述将所述字节码文件输入污点分析模型,以输出所述字节码文件的分析结果的步骤,具体包括:
对所述字节码文件进行格式转换,以获取与所述字节码文件对应的中间代码;
通过预先构建好的污点分析模型对所述中间代码进行污点源识别,并对识别到的污点源进行跟踪,确定污点源是否传播至污点汇聚点,当有污点源传播至污点汇聚点时,则将字节码文件对应的可疑类确定为内存式网页后门攻击所调用的类。
4.根据权利要求3所述的方法,其特征在于,所述污点分析模型通过以下方式进行污点源识别:
遍历所述中间代码中的每条语句,确定该语句类型是否为赋值语句;
针对确定出的每条赋值语句,确定该赋值语句中是否包含预设危险函数,若是,则将该预设危险函数所获取到的参数值确定为一个污点源;
其中,所述预设危险函数的作用为获取非本地的参数值。
5.根据权利要求3所述的方法,其特征在于,还包括:
根据所述分析结果,执行对应的安全管理措施。
6.根据权利要求5所述的方法,其特征在于,所述根据所述分析结果,执行对应的安全管理措施的步骤,具体包括:
当所述分析结果为是时,确定出所述污点源的传播路径,并生成报警信息,所述报警信息至少包括所提取的可疑类的字节码文件的地址、所确定出的传播路径上的所有语句以及攻击类型;基于所述报警信息,对所确定出的传播路径上的所有语句进行修正;
当所述分析结果为否时,确定所述字节码文件的地址,并生成预警信息,所述预警信息至少包括所提取的可疑类的字节码文件的地址;基于所述预警信息,对可疑类名称进行记录。
7.根据权利要求6所述的方法,其特征在于,还包括:
响应用户在浏览器的目标界面中的编辑操作,生成对应的用户请求;
所述报警信息还包括所述用户请求对应的用户标识。
8.一种内存式网页后门攻击的检测装置,其特征在于,所述装置包括:
实时监控模块,用于针对每次用户请求的发生,识别该用户请求所调用的所有方法中是否存在敏感方法;
名称提取模块,用于若识别到敏感方法被调用,则确定调用该敏感方法的目标类名称为可疑类名称,并将所述可疑类名称存储到消息队列中;
文件提取模块,用于根据消息队列中的所述可疑类名称,提取出可疑类的字节码文件;
污点分析模块,用于将所述字节码文件输入污点分析模型,以输出所述字节码文件的分析结果,所述分析结果用于指示字节码文件对应的可疑类是否为内存式网页后门攻击所调用的类。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7任一所述内存式网页后门攻击的检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述内存式网页后门攻击的检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310225071.0A CN116318946A (zh) | 2023-03-09 | 2023-03-09 | 一种内存式网页后门攻击的检测方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310225071.0A CN116318946A (zh) | 2023-03-09 | 2023-03-09 | 一种内存式网页后门攻击的检测方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116318946A true CN116318946A (zh) | 2023-06-23 |
Family
ID=86831927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310225071.0A Pending CN116318946A (zh) | 2023-03-09 | 2023-03-09 | 一种内存式网页后门攻击的检测方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116318946A (zh) |
-
2023
- 2023-03-09 CN CN202310225071.0A patent/CN116318946A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2018502351A (ja) | スクリプト言語用のrasp | |
CN107483510B (zh) | 一种提高Web应用层攻击检测准确率的方法及装置 | |
WO2013026320A1 (zh) | 一种网页挂马检测方法及系统 | |
US10482240B2 (en) | Anti-malware device, anti-malware system, anti-malware method, and recording medium in which anti-malware program is stored | |
CN110728575A (zh) | 一种电力交易平台web安全深度监控方法 | |
CN110516448A (zh) | 一种灰盒测试方法、装置、设备及可读存储介质 | |
JP6282217B2 (ja) | 不正プログラム対策システムおよび不正プログラム対策方法 | |
CN113190839A (zh) | 一种基于SQL注入的web攻击防护方法及系统 | |
CN107135199B (zh) | 网页后门的检测方法和装置 | |
CN116324773A (zh) | 用于保护智能合约免受攻击的方法和装置 | |
CN114036526A (zh) | 漏洞测试方法、装置、计算机设备和存储介质 | |
CN114091031A (zh) | 基于白规则的类加载防护方法及装置 | |
CN113127862B (zh) | 一种xxe攻击检测方法、装置、电子设备及存储介质 | |
CN111241547B (zh) | 一种越权漏洞的检测方法、装置及系统 | |
CN116932381A (zh) | 小程序安全风险自动化评估方法及相关设备 | |
CN116361793A (zh) | 代码检测方法、装置、电子设备及存储介质 | |
CN116318946A (zh) | 一种内存式网页后门攻击的检测方法、装置及电子设备 | |
CN114610577A (zh) | 一种目标资源的锁定方法、装置、设备和介质 | |
CN107204958A (zh) | 网页资源元素的检测方法及装置、终端设备 | |
CN116450533B (zh) | 用于应用程序的安全检测方法、装置、电子设备和介质 | |
CN113391873B (zh) | 基于虚拟机的行为采集方法、虚拟机、装置及存储介质 | |
CN114003902A (zh) | 网络漏洞的检测方法、装置、存储介质及电子设备 | |
CN114896596A (zh) | 安全防护方法及装置 | |
CN115130103A (zh) | 风险处理方法、装置、电子设备及存储介质 | |
CN116488872A (zh) | JavaWeb应用的攻击行为的识别和防御方法及其装置 |
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 |