CN114254313A - Java恶意命令执行的防护方法及装置 - Google Patents
Java恶意命令执行的防护方法及装置 Download PDFInfo
- Publication number
- CN114254313A CN114254313A CN202111305796.8A CN202111305796A CN114254313A CN 114254313 A CN114254313 A CN 114254313A CN 202111305796 A CN202111305796 A CN 202111305796A CN 114254313 A CN114254313 A CN 114254313A
- Authority
- CN
- China
- Prior art keywords
- code
- execution
- command
- target program
- deployment
- 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
Images
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
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
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)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种Java恶意命令执行的防护方法及装置,Java虚拟机执行目标程序发出的命令,并触发监控点对目标程序进行监控;监控点获取目标程序发出的命令的执行线程,并对执行线程的堆栈进行检测,得到命令的执行代码的类别;若执行代码的类别不存于预设的白名单上,监控点通过动态告警模块发出告警。在Java虚拟机上设置少量监控点即对目标程序进行监控,减小Java虚拟机性能损耗;通过判断执行代码的类别不在预设的白名单上,可以对未知漏洞进行防护。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种Java恶意命令执行的防护方法及装置。
背景技术
Java脚本攻击可以对操作系统执行任意命令,危害极大。
目前,Java恶意命令执行的防护方法主要对常见漏洞设置监控点,获取执行命令的代码,对执行命令的代码进行黑规则匹配,对命中黑规则的代码进行告警。
基于黑规则匹配只能针对已知漏洞进行防护,且监控点设置量大影响性能。
发明内容
针对现有技术中的问题,本发明实施例提供一种Java恶意命令执行的防护方法及装置。
具体地,本发明实施例提供了以下技术方案:
第一方面,本发明实施例提供了一种Java恶意命令执行的防护方法,包括:Java虚拟机执行目标程序发出的命令,并触发监控点对所述目标程序进行监控;所述监控点获取所述目标程序发出的命令的执行线程,并对所述执行线程的堆栈进行检测,得到所述命令的执行代码的类别;若所述执行代码的类别不存于预设的白名单上,所述监控点通过动态告警模块发出告警。
进一步地,所述执行目标程序发出的命令,并触发监控点对所述目标程序进行监控之前,还包括:静态收集模块对所述目标程序的部署代码进行扫描,判断所述部署代码是否为业务代码;若所述部署代码为所述业务代码,将所述业务代码的类别进行记录,得到所述预设的白名单。
进一步地,所述部署代码包括:源码和中间件代码,所述判断所述部署代码是否为业务代码,包括:对所述部署代码中的源码和中间件代码,进行解析,得到解析的部署代码;根据所述解析的部署代码,判断所述部署代码是否为所述业务代码。
进一步地,所述根据所述解析的部署代码,判断所述部署代码是否为所述业务代码,包括:将所述解析的部署代码与业务代码库中的业务代码进行匹配;若匹配成功,则确定所述解析的部署代码为所述业务代码。
进一步地,所述监控点获取所述目标程序发出的命令的执行线程,并对所述执行线程的堆栈进行检测,得到所述命令的执行代码的类别之后,还包括:所述监控点加载所述预设的白名单。
第二方面,本发明实施例还提供了一种Java恶意命令执行的防护装置,包括:监控模块,用于Java虚拟机执行目标程序的命令,并触发监控点对所述目标程序进行监控;检测模块,用于所述监控点获取所述目标程序发出的命令的执行线程,并对所述执行线程的堆栈进行检测,得到所述命令的执行代码的类别;告警模块,用于若所述执行代码的类别不存于预设的白名单上,所述监控点通过动态告警模块发出告警。
进一步地,所述防护装置,还包括:判断模块,用于静态收集模块对所述目标程序的部署代码进行扫描,判断所述部署代码是否为业务代码;生成模块,用于若所述部署代码为所述业务代码,将所述业务代码的类别进行记录,得到所述预设的白名单。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述Java恶意命令执行的防护方法的步骤。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述Java恶意命令执行的防护方法的步骤。
第五方面,本发明实施例还提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现第一方面所述Java恶意命令执行的防护方法的步骤。
本发明实施例提供的Java恶意命令执行的防护方法,Java虚拟机执行目标程序发出的命令,并触发监控点对所述目标程序进行监控;监控点获取目标程序发出的命令的执行线程,并对执行线程的堆栈进行检测,得到命令的执行代码的类别;若执行代码的类别不存于预设的白名单上,监控点通过动态告警模块发出告警。在Java虚拟机上设置少量监控点即对目标程序进行监控,减小Java虚拟机性能损耗;通过判断执行代码的类别不在预设的白名单上,可以对未知漏洞进行防护。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种Java恶意命令执行的防护方法实施例流程图;
图2为本发明获取预设的白名单方法实施例流程图;
图3为本发明的一种判断业务代码方法实施例流程图;
图4为本发明的另一种判断业务代码方法实施例流程图
图5为本发明的另一种Java恶意命令执行的防护方法实施例流程图;
图6为本发明的又一种Java恶意命令执行的防护方法实施例流程图
图7为本发明的再一种Java恶意命令执行的防护方法实施例流程图;
图8为本发明的另一种获取预设的白名单方法实施例流程图;
图9为本发明的应用场景示意图;
图10为本发明Java恶意命令执行的防护装置实施例结构示意图;
图11为本发明电子设备实体实施例结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明的一种Java恶意命令执行的防护方法实施例流程图。如图1所示,本发明实施例的Java恶意命令执行的防护方法包括:
S101,Java虚拟机执行目标程序发出的命令,并触发监控点对目标程序进行监控。
在本发明实施例中,Java虚拟机(Java Virtual Machine,简称JVM)是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。当运行目标程序的时候,该程序可能有恶意代码,恶意代码可能删除系统文件或者重启系统等,为了防止运行恶意代码对系统产生影响,需要对运行的恶意代码的权限进行控制,需要启用安全管理器(SecurityManager)。JVM上设置有监控点,本发明实施例对监控点的数目不作限定。JVM在执行目标程序发出的命令时,会触发安全管理器的checkExec命令,checkExec命令可以令监控点执行对目标程序的监控。目标程序可以是发出命令的程序或者漏洞等,本发明实施例对此不作限定。
S102,监控点获取目标程序发出的命令的执行线程,并对执行线程的堆栈进行检测,得到命令的执行代码的类别。
在本发明实施例中,线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。堆栈是一种数据项按序排列的数据结构,只能在一端,即栈顶(top)对数据项进行插入和删除。由于监控点可以对目标程序进行监控,可以获取监控点内目标程序对JVM发出的命令的执行线程,并对执行线程的堆栈进行遍历检测。对执行线程的堆栈进行遍历检测的过程是对命令的执行代码的类别进行溯源的过程。通过溯源,可以得到命令的执行代码的类别。
S103,若执行代码的类别不存于预设的白名单上,监控点通过动态告警模块发出告警。
在本发明实施例中,动态告警模块存在于监控点内。预设的白名单中记载的类别代表安全的代码类别,执行该代码不会威胁JVM所在的操作系统的安全。执行代码的类别不存在于预设的白名单中,代表该执行代码不是业务代码,而是第三方库代码,第三方库代码可以是框架或者容器组件等,本发明实施例对此不作限定,通常情况下,第三方库代码不会对操作系统执行命令,此时需要发出告警提醒用户或者开发人员,该代码对JVM所在的操作系统存在威胁。
本发明实施例提供的Java恶意命令执行的防护方法,Java虚拟机执行目标程序发出的命令,并触发监控点对所述目标程序进行监控;监控点获取目标程序发出的命令的执行线程,并对执行线程的堆栈进行检测,得到命令的执行代码的类别;若执行代码的类别不存于预设的白名单上,监控点通过动态告警模块发出告警。在Java虚拟机上设置少量监控点即对目标程序进行监控,减小Java虚拟机性能损耗;通过判断执行代码的类别不在预设的白名单上,可以对未知漏洞进行防护。
图2为本发明的一种获取预设的白名单方法实施例流程图。如图2所示,本发明实施例的获取预设的白名单方法,包括:
S201,静态收集模块对目标程序的部署代码进行扫描,判断部署代码是否为业务代码。
在本发明实施例中,部署代码是目标程序运行代码,部署代码是以字节码的形式呈现的,其中,部署代码可以包括:源码和中间件代码。静态收集模块独立于JVM,可以是一个程序,本发明实施例对此不作限定。业务代码是对系统执行命令的代码。
S202,若部署代码为业务代码,将业务代码的类别进行记录,得到预设的白名单。
在本发明实施例中,部署代码是业务代码,将业务代码的类别进行记录,记录的业务代码的类别的集合构成预设的白名单。
在本发明实施例提供的获取预设的白名单方法,通过将业务代码的类别进行记录,得到预设的白名单。根据类别确定预设的白名单可以其包括的业务代码更全面。
图3为本发明的一种判断业务代码方法实施例流程图。如图3所示,本发明实施例的判断业务代码方法,包括:
S301,对部署代码进行解析,得到解析的部署代码。S302,根据解析的部署代码,判断部署代码是否为业务代码。
在本发明实施例中,部署代码是以字节码的形式存在的,通过对字节码进行解析可以判断部署代码是否为业务代码。
需要说明的是,部署代码可以包括:源码和中间件代码,通过对部署代码中的源码和中间件代码进行解析,可以完整获取目标程序运行所涉及的代码,进而判断执行相应命令的代码属于业务代码,还是第三方类库代码,从而有效防止利用第三方类库漏洞执行Java恶意命令。
本发明实施例提供的判断业务代码方法,通过对部署代码进行解析,可以快速判断部署代码是否为业务代码。
图4为本发明的另一种判断业务代码方法实施例流程图。如图4所示,本发明实施例的判断业务代码方法,包括:
S401,将解析的部署代码与业务代码库中的业务代码进行匹配。
S402,若匹配成功,则确定解析的部署代码为业务代码。
在本发明实施例中,业务代码库是预先建立好的,业务代码库中包括业务代码及业务代码的类别。将部署代码的类别与业务代码库中业务代码的类别进行匹配,若二者类别一致,则视为匹配成功,认为该部署代码为业务代码。
本发明实施例提供的判断业务代码方法,通过将部署代码与业务代码库进行匹配,能够准确且快速地确定部署代码为业务代码。
在一些可选的实施例中,监控点获取目标程序发出的命令的执行线程,并对执行线程的堆栈进行检测,得到命令的执行代码的类别之后,还包括:监控点加载预设的白名单。在本发明实施例中,加载预设的白名单就是把预设的白名单调到内存的过程。
图5为本发明的另一种Java恶意命令执行的防护方法实施例流程图。如图5所示,本发明实施例的Java恶意命令执行的防护方法包括:
S501,静态收集模块对目标程序的部署代码进行扫描,判断部署代码是否为业务代码。
S502,若部署代码为业务代码,将业务代码的类别进行记录,得到预设的白名单。
S503,Java虚拟机执行目标程序发出的命令,并触发监控点对目标程序进行监控。
S504,监控点获取目标程序发出的命令的执行线程,并对执行线程的堆栈进行检测,得到命令的执行代码的类别。
S505,若执行代码的类别不存于预设的白名单上,监控点通过动态告警模块发出告警。
在本发明实施例中,对上述步骤的说明详见对图1和图2中步骤的说明,在此不再赘述。
本发明实施例提供的Java恶意命令执行的防护方法,通过采集业务代码的类别得到预设的白名单,根据预设的白名单确定部署代码是都为业务代码。通过判断执行代码的类别不在预设的白名单上,可以对未知漏洞进行防护。
图6本发明的又一种Java恶意命令执行的防护方法实施例流程图。如图5所示,本发明实施例的Java恶意命令执行的防护方法包括:
S601,Java虚拟机执行目标程序发出的命令,并触发监控点对目标程序进行监控。
S602,监控点获取目标程序发出的命令的执行线程,并对执行线程的堆栈进行检测,得到命令的执行代码的类别。
S603,监控点加载预设的白名单。
S604,若执行代码的类别不存于预设的白名单上,监控点通过动态告警模块发出告警。
在本发明实施例中,对上述步骤的说明详见对图1中步骤的说明,在此不再赘述。
本发明实施例提供的Java恶意命令执行的防护方法,通过加载预设的白名单,根据预设的白名单确定部署代码是都为业务代码。通过判断执行代码的类别不在预设的白名单上,可以对未知漏洞进行防护。
图7为本发明的再一种Java恶意命令执行的防护方法实施例流程图。如图7所示,本发明实施例的Java恶意命令执行的防护方法包括:
S701,静态收集模块对目标程序的部署代码进行扫描,判断部署代码是否为业务代码。
S702,若部署代码为业务代码,将业务代码的类别进行记录,得到预设的白名单。
S703,Java虚拟机执行目标程序发出的命令,并触发监控点对目标程序进行监控。
S704,监控点获取目标程序发出的命令的执行线程,并对执行线程的堆栈进行检测,得到命令的执行代码的类别。
S705,监控点加载预设的白名单。
S706,若执行代码的类别不存于预设的白名单上,监控点通过动态告警模块发出告警。
在本发明实施例中,对上述步骤的说明详见对图1和图2中步骤的说明,在此不再赘述。
本发明实施例提供的Java恶意命令执行的防护方法,通过预先建立预设的白名单,加载预设的白名单,根据预设的白名单确定部署代码是都为业务代码。通过判断执行代码的类别不在预设的白名单上,可以对未知漏洞进行防护。
图8本发明的另一种获取预设的白名单方法实施例流程图。如图8所示,本发明实施例的获取预设的白名单方法,包括:
S801,将解析的部署代码与业务代码库中的业务代码进行匹配。
S802,若匹配成功,则确定解析的部署代码为业务代码。
S803,将业务代码的类别进行记录,得到预设的白名单。
在本发明实施例中,对上述步骤的说明详见对图2和图4中步骤的说明,在此不再赘述。
在本发明实施例提供的获取预设的白名单方法,通过将部署代码与业务代码库中的业务代码进行匹配,确定部署代码为业务代码,将业务代码的类别进行记录,得到预设的白名单。根据类别确定预设的白名单可以其包括的业务代码更全面。
图9为本发明的应用场景示意图。如图9所示,本发明实施例的应用场景包括以下步骤:
步骤1,静态收集模块对目标程序的中间件和源码进行扫描,获取目标程序的部署代码。步骤2,通过将部署代码与业务代码库中的业务代码尽匹配,判断部署代码是否为业务代码,若匹配成功,则确定部署代码是业务代码,将其写入白名单中。步骤3,JVM接收并执行目标程序的命令,JVM在执行目标程序的指令的过程中,触发安全管理器的checkExec命令,checkExec命令可以用于令监控点执行对目标程序的监控。步骤4,加载白名单。步骤5,获取监控点内目标程序的命令的执行代码,并判断执行代码的类别是否存在于白名单中,若不存在,动态告警模块将发出告警。
图10本发明Java恶意命令执行的防护装置实施例结构示意图。如图10所示,该Java恶意命令执行的防护装置,包括:
监控模块1001,用于Java虚拟机执行目标程序的命令,并触发监控点对目标程序进行监控;
检测模块1002,用于监控点获取目标程序发出的命令的执行线程,并对执行线程的堆栈进行检测,得到命令的执行代码的类别;
告警模块1003,用于若执行代码的类别不存于预设的白名单上,监控点通过动态告警模块发出告警。
可选地,该Java恶意命令执行的防护装置,还包括:
判断模块,用于静态收集模块对目标程序的部署代码进行扫描,判断部署代码是否为业务代码;
生成模块,用于若部署代码为业务代码,将业务代码的类别进行记录,得到预设的白名单。
可选地,判断模块,包括:
解析单元,用于对部署代码进行解析,得到解析的部署代码;
判断单元,用于根据解析的部署代码,判断部署代码是否为业务代码。
可选地,判断单元,包括:
匹配子单元,用于将解析的部署代码与业务代码库中的业务代码进行匹配;
确定子单元,用于若匹配成功,则确定解析的部署代码为业务代码。
可选地,该Java恶意命令执行的防护装置,还包括:
加载模块,用于监控点加载预设的白名单。
图11示例了一种电子设备的实体结构示意图,如图11示,该电子设备可以包括:处理器(processor)1101、通信接口(Communications Interface)1102、存储器(memory)1103和通信总线1104,其中,处理器1101,通信接口1002,存储器1103通过通信总线1104完成相互间的通信。处理器1101可以调用存储器1103中的逻辑指令,以执行如下方法:Java虚拟机执行目标程序发出的命令,并触发监控点对所述目标程序进行监控;监控点获取目标程序发出的命令的执行线程,并对执行线程的堆栈进行检测,得到命令的执行代码的类别;若执行代码的类别不存于预设的白名单上,监控点通过动态告警模块发出告警。
此外,上述的存储器1103中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各实施例提供的Java恶意命令执行的防护方法,例如包括:Java虚拟机执行目标程序发出的命令,并触发监控点对所述目标程序进行监控;监控点获取目标程序发出的命令的执行线程,并对执行线程的堆栈进行检测,得到命令的执行代码的类别;若执行代码的类别不存于预设的白名单上,监控点通过动态告警模块发出告警。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的Java恶意命令执行的防护方法,例如包括:Java虚拟机执行目标程序发出的命令,并触发监控点对所述目标程序进行监控;监控点获取目标程序发出的命令的执行线程,并对执行线程的堆栈进行检测,得到命令的执行代码的类别;若执行代码的类别不存于预设的白名单上,监控点通过动态告警模块发出告警。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种Java恶意命令执行的防护方法,其特征在于,包括:
Java虚拟机执行目标程序发出的命令,并触发监控点对所述目标程序进行监控;
所述监控点获取所述目标程序发出的命令的执行线程,并对所述执行线程的堆栈进行检测,得到所述命令的执行代码的类别;
若所述执行代码的类别不存于预设的白名单上,所述监控点通过动态告警模块发出告警。
2.根据权利要求1所述的Java恶意命令执行的防护方法,其特征在于,所述执行目标程序发出的命令,并触发监控点对所述目标程序进行监控之前,还包括:
静态收集模块对所述目标程序的部署代码进行扫描,判断所述部署代码是否为业务代码;
若所述部署代码为所述业务代码,将所述业务代码的类别进行记录,得到所述预设的白名单。
3.根据权利要求2所述的Java恶意命令执行的防护方法,其特征在于,所述部署代码包括:源码和中间件代码,所述判断所述部署代码是否为业务代码,包括:
对所述部署代码中的源码和中间件代码分别进行解析,得到解析的部署代码;
根据所述解析的部署代码,判断所述部署代码是否为所述业务代码。
4.根据权利要求3所述的Java恶意命令执行的防护方法,其特征在于,所述根据所述解析的部署代码,判断所述部署代码是否为所述业务代码,包括:
将所述解析的部署代码与业务代码库中的业务代码进行匹配;
若匹配成功,则确定所述解析的部署代码为所述业务代码。
5.根据权利要求1所述的Java恶意命令执行的防护方法,其特征在于,所述监控点获取所述目标程序发出的命令的执行线程,并对所述执行线程的堆栈进行检测,得到所述命令的执行代码的类别之后,还包括:
所述监控点加载所述预设的白名单。
6.一种Java恶意命令执行的防护装置,其特征在于,包括:
监控模块,用于Java虚拟机执行目标程序的命令,并触发监控点对所述目标程序进行监控;
检测模块,用于所述监控点获取所述目标程序发出的命令的执行线程,并对所述执行线程的堆栈进行检测,得到所述命令的执行代码的类别;
告警模块,用于若所述执行代码的类别不存于预设的白名单上,所述监控点通过动态告警模块发出告警。
7.根据权利要求6所述的Java恶意命令执行的防护装置,其特征在于,还包括:
判断模块,用于静态收集模块对所述目标程序的部署代码进行扫描,判断所述部署代码是否为业务代码;
生成模块,用于若所述部署代码为所述业务代码,将所述业务代码的类别进行记录,得到所述预设的白名单。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5中任一项所述Java恶意命令执行的防护方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述Java恶意命令执行的防护方法的步骤。
10.一种计算机程序产品,其上存储有可执行指令,其特征在于,该指令被处理器执行时使处理器实现如权利要求1至5中任一项所述Java恶意命令执行的防护方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111305796.8A CN114254313A (zh) | 2021-11-05 | 2021-11-05 | Java恶意命令执行的防护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111305796.8A CN114254313A (zh) | 2021-11-05 | 2021-11-05 | Java恶意命令执行的防护方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114254313A true CN114254313A (zh) | 2022-03-29 |
Family
ID=80790510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111305796.8A Pending CN114254313A (zh) | 2021-11-05 | 2021-11-05 | Java恶意命令执行的防护方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114254313A (zh) |
-
2021
- 2021-11-05 CN CN202111305796.8A patent/CN114254313A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10169585B1 (en) | System and methods for advanced malware detection through placement of transition events | |
US9686303B2 (en) | Web page vulnerability detection method and apparatus | |
US8443449B1 (en) | Silent detection of malware and feedback over a network | |
RU2506638C2 (ru) | Система и способ аппаратного обнаружения и лечения неизвестного вредоносного программного обеспечения, установленного на персональном компьютере | |
RU2514140C1 (ru) | Система и способ увеличения качества обнаружений вредоносных объектов с использованием правил и приоритетов | |
US11438349B2 (en) | Systems and methods for protecting devices from malware | |
US9372991B2 (en) | Detecting malicious computer code in an executing program module | |
US9811356B2 (en) | Automated software configuration management | |
US20130247190A1 (en) | System, method, and computer program product for utilizing a data structure including event relationships to detect unwanted activity | |
WO2019072008A1 (zh) | 小程序的安全扫描方法、装置以及电子设备 | |
CN102663288A (zh) | 病毒查杀方法及装置 | |
US11880458B2 (en) | Malware detection based on user interactions | |
CN110362994B (zh) | 恶意文件的检测方法、设备和系统 | |
JP6734481B2 (ja) | コールスタック取得装置、コールスタック取得方法、および、コールスタック取得プログラム | |
RU2724790C1 (ru) | Система и способ формирования журнала при исполнении файла с уязвимостями в виртуальной машине | |
US9330260B1 (en) | Detecting auto-start malware by checking its aggressive load point behaviors | |
US11797676B2 (en) | Exception handlers in a sandbox environment for malware detection | |
CN104361285A (zh) | 移动设备应用程序的安全检测方法及装置 | |
KR101974989B1 (ko) | 위험 파일에 대응하는 행위 정보를 결정하는 방법 및 장치 | |
CN110505246B (zh) | 客户端网络通讯检测方法、装置及存储介质 | |
CN109472135B (zh) | 一种检测进程注入的方法、装置及存储介质 | |
CN103679024B (zh) | 病毒的处理方法及设备 | |
CN110955894B (zh) | 一种恶意内容检测方法、装置、电子设备及可读存储介质 | |
CN114254313A (zh) | Java恶意命令执行的防护方法及装置 | |
CN113918933A (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 |