CN112527691B - 程序安全检测防护方法、中间件系统及安全中间件系统 - Google Patents

程序安全检测防护方法、中间件系统及安全中间件系统 Download PDF

Info

Publication number
CN112527691B
CN112527691B CN202110186807.9A CN202110186807A CN112527691B CN 112527691 B CN112527691 B CN 112527691B CN 202110186807 A CN202110186807 A CN 202110186807A CN 112527691 B CN112527691 B CN 112527691B
Authority
CN
China
Prior art keywords
security
program
attack
weakness
middleware system
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.)
Active
Application number
CN202110186807.9A
Other languages
English (en)
Other versions
CN112527691A (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.)
Shenzhen Kaiyuan Internet Security Technology Co Ltd
Original Assignee
Shenzhen Kaiyuan Internet Security 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 Shenzhen Kaiyuan Internet Security Technology Co Ltd filed Critical Shenzhen Kaiyuan Internet Security Technology Co Ltd
Priority to CN202110186807.9A priority Critical patent/CN112527691B/zh
Publication of CN112527691A publication Critical patent/CN112527691A/zh
Application granted granted Critical
Publication of CN112527691B publication Critical patent/CN112527691B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及一种基于中间件系统的程序安全检测防护方法、中间件系统及保护程序安全的安全中间件系统,属于软件系统技术的领域,安全检测防护方法包括动态插桩中间件系统上运行的程序的字节码,采集程序运行时的上下文信息;检测程序及程序中引用的第三方程序的安全弱点;对根据检测到的针对安全弱点的攻击,采取防护手段;中间件系统上部署有安全代理模块,安全代理模块包括采集子模块、检测子模块和防护及输出子模块;保护程序安全的安全中间件系统,包括安全处理模块、中间件系统和安全处理模块。本申请具有改善运行在中间件系统上的程序的安全性较低的问题的效果。

Description

程序安全检测防护方法、中间件系统及安全中间件系统
技术领域
本申请涉及软件系统漏洞检测技术领域,尤其是涉及基于中间件系统的程序安全检测防护方法、中间件系统及保护程序安全的安全中间件系统。
背景技术
中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
插桩技术,是在保证被测程序原有逻辑完整性的基础上在程序中插入探针,通过探针的执行并抛出程序运行的特征数据,通过毒地这些数据的分析,可以获得程序的控制流和数据流信息,进而达到逻辑覆盖等动态信息,实现测试目的的方法。
但是,普通的中间件系统只能进行资源共享和功能共享,不能感知到运行在中间件系统上的程序是否有安全漏洞,开源软件协议合规性和知识产权合规性等风险,也不能防范这些风险,导致程序的这些风险可能会被攻击者利用,导致程序的安全性较低。
发明内容
为了改善运行在中间件系统上的程序的安全性较低的问题,本申请提供一种基于中间件系统的程序安全检测防护方法、中间件系统及保护程序安全的安全中间件系统。
第一方面,本申请提供一种基于中间件系统的程序安全检测防护方法,采用如下的技术方案:
一种基于中间件系统的程序安全检测防护方法,所述中间件系统上部署有安全代理模块,所述安全代理模块在中间件系统上运行的程序的字节码中动态插桩检测探针,所述安全检测防护方法包括,
采集程序运行时的上下文信息;
根据接收的安全策略和规则,对采集到的上下文信息进行分析,检测程序及程序中引用的第三方程序的安全弱点;以及,
对利用安全弱点攻击程序及第三方程序的行为进行防护,并输出检测到的安全弱点的安全弱点信息和防护的攻击记录,所述安全弱点信息用于在可视化界面上显示;
其中,所述安全弱点包括安全漏洞,开源软件的开源许可合规性和知识产权合规性;所述安全策略和规则包括安全弱点的特征,安全弱点的行为,针对安全弱点的攻击特征和行为;所述上下文信息包括字节码数据流、第三方软件、配置数据和后端连接信息。
通过采用上述技术方案,采集到程序运行时的上下文信息,并根据安全策略和规则对上下文信息进行分析,以能够检测出程序及程序中引用的第三方程序的安全弱点,并根据安全弱点进行防护,同时将安全弱点信息和防护的攻击记录输出使维护人员能够进行查看,即能够实现程序的安全漏洞检测、安全防护攻击,实现检查开源软件许可合规性和知识产权合规性,程序的安全漏洞以及第三方程序已披露漏洞的功能,进而有助于改善运行在中间件系统上的程序的安全性较低的问题。
可选的,对利用安全弱点攻击程序及第三方程序的行为进行防护的方法包括,
根据检测到的针对安全弱点的攻击,获取攻击对应的字节码数据流;以及,
根据攻击对应的字节码数据流,采取防护手段;
其中,所述防护手段包括丢弃字节码数据流,去除攻击字节码数据流的攻击特征,破坏攻击字节码数据流的攻击特征等使攻击失效的手段中的任意一种或几种。
通过采用上述技术方案,检测到安全弱点后,获取针对安全弱点的攻击对应的字节码数据流,并采取防护手段,破坏攻击功能的完整性,在一定程度上使攻击失去攻击能力,从而使攻击失效,保护程序,以实现防护攻击的功能。
可选的,检测安全弱点的方法包括,
接收安全策略和规则;
将采集到的上下文信息与安全策略和规则进行对比,判断上下文信息中是否存在安全弱点;以及,
若上下文信息符合安全策略和规则中至少一个特征及行为,则程序和/或程序引用的第三方程序存在安全弱点,否则,不存在安全弱点。
通过采用上述技术方案,将上下文信息与安全策略和规则进行对比,并判断上下文信息是否符合安全策略和规则中至少一个特征及行为,若是,则存在安全弱点,以实现检查开源软件许可合规性和知识产权合规性,程序的安全漏洞以及第三方程序已披露漏洞的功能。
可选的,所述安全弱点信息包括安全弱点发生的时间、安全弱点的类型及安全弱点的位置。
通过采用上述技术方案,维护人员能够根据安全弱点信息获知安全弱点发生的时间、类型和位置等信息,以便于进行维护。
第二方面,本申请提供一种中间件系统,采用如下的技术方案:
一种中间件系统,所述中间件系统上部署有安全代理模块,所述安全代理模块包括采集子模块、检测子模块和防护及输出子模块:其中,
所述采集子模块,采用程序插桩技术,在中间件系统上运行的程序的字节码中动态插桩检测探针,来采集程序运行时的上下文信息;
所述检测子模块,用于根据接收的安全策略和规则,对采集到的上下文信息进行分析,检测程序及程序中引用的第三方程序的安全弱点;
所述防护及输出子模块,用于对利用安全弱点攻击程序及第三方程序的行为进行防护,并输出检测到的安全弱点的安全弱点信息和防护的攻击记录,所述安全弱点信息用于在可视化界面上显示;
其中,所述安全弱点包括安全漏洞,开源软件的开源许可合规性和知识产权合规性;所述安全策略和规则包括安全弱点的特征,安全弱点的行为,针对安全弱点的攻击特征和行为;所述上下文信息包括字节码数据流、第三方软件、配置数据和后端连接信息。
通过采用上述技术方案,采集子模块采集到在中间件系统上的程序运行时的上下文信息,检测子模块将安全策略和规则对上下文信息进行对比,以能够检测出程序及程序引用的第三方程序的安全弱点,防护及输出子模块根据安全弱点进行防护,同时将安全弱点信息和防护的攻击记录输出使维护人员能够进行查看,即能够实现程序的安全漏洞检测、安全防护攻击,以及检查开源软件的许可合规性、知识产权合规性和第三方程序已披露漏洞的功能,进而能够改善运行在中间件系统上的程序的安全性较低的问题。
可选的,所述检测子模块包括接收单元、对比单元和判断单元;其中,
所述接收单元,用于接收安全策略和规则;
所述对比单元,用于将采集到的上下文信息与安全策略和规则进行对比;
所述判断单元,用于判断上下文信息中是否存在安全弱点,若上下文信息中符合安全策略和规则中至少一个特征及行为,则程序和/或程序引用的第三方程序存在安全弱点,否则,不存在安全弱点。
通过采用上述技术方案,对比单元将上下文信息与接收单元接收的安全策略和规则进行对比,判断单元判断上下文信息是否符合安全策略和规则中至少一个特征及行为,若是,则存在安全弱点,以实现检查开源软件合规性和第三方软件已披露漏洞的功能。
可选的,所述防护及输出子模块包括防护单元和输出单元;其中,
所述防护单元,用于根据检测到的针对安全弱点的攻击,获取攻击对应的字节码数据流,并对攻击对应的字节码数据流采取防护手段;
所述输出单元,用于根据检测到的安全弱点,获取并输出安全弱点对应的安全弱点信息和防护的攻击记录;
其中,所述安全弱点信息包括安全弱点发生的时间、安全弱点的类型及安全弱点的位置;所述防护手段包括丢弃字节码数据流,去除攻击字节码数据流的攻击特征,破坏攻击字节码数据流的攻击特征等使攻击失效的手段中的任意一种或几种。
通过采用上述技术方案,防护单元对攻击对应的字节码数据流并采取防护手段,破坏攻击功能的完整性,在一定程度上使攻击失去攻击能力,以使针对程序的攻击失效,从而实现防护攻击的功能,输出单元将安全弱点信息和防护的攻击记录输出,以供在可视化界面上显示。
第三方面,本申请提供一种保护程序安全的安全中间件系统,采用如下的技术方案:
一种保护程序安全的安全中间件系统,包括安全处理模块和如第二方面所述的中间件系统;其中,
所述安全处理模块,用于给中间件系统发送安全策略和规则,并接收和展示安全代理模块输出的安全弱点信息和防护的攻击记录。
通过采用上述技术方案,安全处理模块给中间件系统发送安全策略和规则,中间件系统上的安全代理模块根据接收的安全策略和规则采集在中间件系统上运行的程序的上下文信息,并根据上下文信息进行安全弱点检测,检测到安全弱点之后,安全处理模块接收并展示中间件系统输出的信息,供维护人员进行查看,以能够实现程序的安全漏洞检测、安全防护攻击,以及检查开源软件的许可合规性、知识产权合规性和第三方程序已披露漏洞的功能,进而能够改善运行在中间件系统上的程序的安全性较低的问题。
可选的,安全处理模块包括信息处理子模块、可视化界面、方案存储子模块、报表展示子模块和配置存储子模块;其中,
方案存储子模块,用于存储有各种类型的安全弱点的解决方案;
信息处理子模块,用于接收输出的安全弱点信息,并根据安全弱点信息从方案存储模块中选择并调出安全弱点对应的解决方案;
可视化界面,用于将接收到的安全弱点信息和防护的攻击记录进行显示;
报表展示子模块,用于根据安全弱点信息,以报表的形式展现被测程序及程序依赖的第三方软件的安全状态;
配置存储子模块,用于配置并存储安全策略和规则。
通过采用上述技术方案,维护人员可以在可视化界面查看在中间件系统上运行的程序及程序引用的第三方程序的安全弱点,并能够进行安全策略和规则的配置和存储,同时能够根据安全弱点信息提供安全弱点对应的解决方案,从而能够进一步改善运行在中间件系统上的程序的安全性较低的问题。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,存储有能够被处理器加载并执行如第一方面中任一种方法的计算机程序。
附图说明
图1是本申请实施例的基于中间件系统的程序安全检测防护方法的第一流程图。
图2是本申请实施例的中间件系统的结构示意图。
图3是本申请实施例的基于中间件系统的程序安全检测防护方法的第二流程图。
图4是本申请实施例的基于中间件系统的程序安全检测防护方法的第三流程图。
图5是本申请实施例的安全代理模块的结构示意图。
图6是本申请实施例的检测子模块的结构示意图。
图7是本申请实施例的防护及输出子模块的结构示意图。
图8是本申请实施例的保护程序安全的安全中间件系统的第一结构示意图。
图9是安全处理模块的结构示意图。
图10是本申请实施例的保护程序安全的安全中间件系统的第二结构示意图。
图11是本申请实施例的保护程序安全的安全中间件系统的第三结构示意图。
图12是本申请实施例的实施过程的流程图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
以下结合附图1-图12对本申请作进一步详细说明。
中间件是介于应用系统和系统软件之间的一类软件,实用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够资源共享、功能共享的目的。
本申请实施例公开一种基于中间件系统的程序安全检测防护方法。参照图1和图2,中间件系统上部署有安全代理模块,安全代理模块在中间件系统上运行的程序的字节码中动态插桩检测探针,安全检测防护方法包括如下步骤:
101、采集程序运行时的上下文信息。
其中,上下文信息基于部署在中间件系统上的安全代理模块来进行采集。中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
字节码(Byte-code)是一种包含执行程序,由一序列op代码/数据对组成的二进制文件,是一种中间码。op代码,即操作代码。
插桩,即程序插桩,是在保证被测程序原有逻辑完整性的基础上在程序中插入一些检测探针,通过检测探针的执行并抛出程序运行的特征数据,通过对这些数据的分析,获得程序的控制流和数据流信息,进而得到逻辑覆盖等动态信息,从而实现测试目的的方法。检测探针,本质上就是进行信息采集的代码段,可以是赋值语句或采集覆盖信息的函数调用。
以 Java (Java instrumentation)为例,Java 字节码插桩是 JDK 1.5 引入的一项功能,开发人员可以构建一个独立于程序的代理程序(Agent),通过插桩检测探针来监测运行在 JVM 上的程序。插桩技术适用于所有编程语言,并不局限于java。
上下文信息包括但不限于字节码数据流、第三方软件、配置数据和后端连接信息。
102、根据接收的安全策略和规则,对采集到的上下文信息进行分析,检测程序及程序中引用的第三方程序的安全弱点。
安全弱点包括安全漏洞,开源软件的开源许可合规性和知识产权合规性。安全策略和规则包括安全弱点的特征,安全弱点的行为,针对安全弱点的攻击特征和行为。因此,检测安全弱点时,安全漏洞、知识产权合规性和开源软件许可合规性一并考虑进去。
需要说明的是,安全漏洞是指受限的计算机、组件、程序或其他联机资源的无意中留下的不受保护的入口点。安全漏洞包括并不限于web漏洞、移动app漏洞、越权等逻辑漏洞,以及Java软件漏洞、c/c++软件漏洞、以及其它语言的软件漏洞,即包括sql注入、命令注入、越权和缓冲区溢出等网络攻击。
第三方程序,即第三方软件、第三方组件或第三方应用程序等的程序。
103、对利用安全弱点攻击程序及第三方程序的行为进行防护,并输出检测到的安全弱点的安全弱点信息和防护的攻击记录。
其中,安全弱点信息用于在可视化界面上显示。安全弱点信息包括但不限于安全弱点发生的时间、安全弱点的类型及安全弱点的位置。输出的安全弱点信息和防护的攻击记录,以报文的形式输出。
上述基于中间件系统的程序安全检测防护方法的实施方式中,采集到程序运行时的上下文信息,并根据安全策略和规则对上下文信息进行分析,以能够检测出程序及程序中引用的第三方程序的安全弱点,并根据安全弱点进行防护,同时将安全弱点信息和防护的攻击记录输出使维护人员能够进行查看,即能够实现程序的安全漏洞检测、安全防护攻击,以及检查开源软件的许可合规性和第三方软件已披露漏洞的功能,进而有助于改善运行在中间件系统上的程序的安全性较低的问题。
参照图3,作为检测安全弱点的一种实施方式,检测安全弱点的步骤包括:
201、接收安全策略和规则。
202、将采集到的上下文信息与安全策略和规则进行对比,判断上下文信息中是否存在安全弱点。
203、若上下文信息符合安全策略和规则中至少一个特征及行为,则程序和/或程序引用的第三方程序存在安全弱点,否则,不存在安全弱点。
需要说明的是,程序和第三方程序可能同时存在安全弱点,也可能单独存在安全弱点。而是程序还是第三方程序存在安全弱点,则由安全弱点的位置及类型等进行决定。特征及行为,指的是安全弱点的特征及行为,或针对安全弱点的攻击及行为。
上述检测安全弱点的实施方式中,将上下文信息与安全策略和规则进行对比,以检测上下文信息是否符合安全策略和规则中至少一个特征及行为,若是,则存在安全弱点,以实现检查开源软件许可合规性和知识产权合规性,程序的安全漏洞以及第三方程序已披露漏洞的功能。
参照图4,作为进行防护攻击的一种实施方式,进行防护攻击的步骤包括:
301、根据检测到的针对安全弱点的攻击,获取攻击对应的字节码数据流。
检测到安全弱点后,能够快速检测到针对安全弱点的攻击。
302、根据攻击对应的字节码数据流,采取防护手段。
其中,防护手段包括丢弃字节码数据流,去除攻击字节码数据流的攻击特征,破坏攻击字节码数据流的攻击特征等使攻击失效的手段中的任意一种或几种。
上述进行防护攻击的实施方式中,检测到安全弱点后,获取针对安全弱点的攻击对应的字节码数据流,并采取防护手段,破坏攻击功能的完整性,在一定程度上使攻击失去攻击能力,从而使攻击失效,保护程序,以实现防护攻击的功能。
本申请实施例还公开一种中间件系统,参照图2和图5,中间件系统上部署有安全代理模块,安全代理模块包括采集子模块、检测子模块和防护及输出子模块:其中,
采集子模块,采用程序插桩技术,在中间件系统上运行的程序的字节码中动态插桩检测探针,来采集程序运行时的上下文信息;
检测子模块,用于根据接收的安全策略和规则,对采集到的上下文信息进行分析,检测程序及程序中引用的第三方程序的安全弱点;
防护及输出子模块,用于对利用安全弱点攻击程序及第三方程序的行为进行防护,并输出检测到的安全弱点的安全弱点信息和防护的攻击记录;
其中,安全弱点信息用于在可视化界面上显示。安全弱点包括安全漏洞,开源软件的开源许可合规性和知识产权合规性。安全策略和规则包括安全弱点的特征,安全弱点的行为,针对安全弱点的攻击特征和行为。上下文信息包括但不限于字节码数据流、第三方软件、配置数据和后端连接信息。
上述一种中间件系统的实施方式中,采集子模块采集到在中间件系统上的程序运行时的上下文信息,检测子模块将安全策略和规则对上下文信息进行对比,以能够检测出程序及程序引用的第三方程序的安全弱点,防护及输出子模块根据安全弱点进行防护,同时将安全弱点信息和防护的攻击记录输出使维护人员能够进行查看,即能够实现程序的安全漏洞检测、安全防护攻击,以及检查开源软件的许可合规性、知识产权合规性和第三方程序已披露漏洞的功能,进而能够改善运行在中间件系统上的程序的安全性较低的问题。
参照图6,作为检测子模块的一种实施方式,检测子模块包括接收单元、对比单元和判断单元;其中,
接收单元,用于接收安全策略和规则;
对比单元,用于将采集到的上下文信息与安全策略和规则进行对比;
判断单元,用于判断上下文信息中是否存在安全弱点,若上下文信息中符合安全策略和规则中至少一个特征及行为,则程序和/或程序引用的第三方程序存在安全弱点,否则,不存在安全弱点。
上述检测子模块的实施方式中,对比单元将上下文信息与接收单元接收的安全策略和规则进行对比,判断单元判断上下文信息是否符合安全策略和规则中至少一个安全弱点的特征及行为,若是,则存在安全弱点,以实现检查开源软件合规性,知识产权合规性,安全漏洞和第三方程序已披露漏洞的功能。
参照图7,作为防护及输出子模块的一种实施方式,防护及输出子模块包括防护单元和输出单元;其中,
防护单元,用于根据检测到的针对安全弱点的攻击,获取攻击对应的字节码数据流,并对攻击对应的字节码数据流采取防护手段;
输出单元,用于根据检测到的安全弱点,获取并输出安全弱点对应的安全弱点信息和防护的攻击记录。
其中,全弱点信息包括但不限于安全弱点发生的时间、安全弱点的类型及安全弱点的位置。防护手段包括丢弃字节码数据流,去除攻击字节码数据流的攻击特征,破坏攻击字节码数据流的攻击特征等使攻击失效的手段中的任意一种或几种。
上述防护及输出子模块的实施方式中,防护单元对攻击对应的字节码数据流并采取防护手段,破坏攻击功能的完整性,在一定程度上使攻击失去攻击能力,以使针对程序的攻击失效,从而实现防护攻击的功能,输出单元将安全弱点信息和防护的攻击记录输出,以供在可视化界面上显示。
本申请实施例还公开一种保护程序安全的安全中间件系统,参照图8,所述安全中间件系统包括安全处理模块和中间件系统;其中,
安全处理模块,用于给中间件系统发送安全策略和规则,并接收和展示安全代理模块输出的安全弱点信息和防护的攻击记录。
上述安全中间件系统的实施方式中,安全处理模块给中间件系统发送安全策略和规则,中间件系统上的安全代理模块根据接收的安全策略和规则采集在中间件系统上运行的程序的上下文信息,并根据上下文信息进行安全弱点检测,检测到安全弱点之后,安全处理模块接收并展示中间件系统输出的信息,供维护人员进行查看,以能够实现程序的安全漏洞检测、安全防护攻击,以及检查开源软件的许可合规性、知识产权合规性和第三方程序已披露漏洞的功能,进而能够改善运行在中间件系统上的程序的安全性较低的问题。
参照图8和图9,作为安全处理模块的一种实施方式,安全处理模块包括信息处理子模块、可视化界面、方案存储子模块、报表展示子模块和配置存储子模块;其中,
方案存储子模块,用于存储有各种类型的安全弱点的解决方案;
信息处理子模块,用于接收输出的安全弱点信息,并根据安全弱点信息从方案存储模块中选择并调出安全弱点对应的解决方案;
可视化界面,用于将接收到的安全弱点信息和防护的攻击记录进行显示;
报表展示子模块,用于根据安全弱点信息,以报表的形式展现被测程序及程序依赖的第三方软件的安全状态;
配置存储子模块,用于配置并存储安全策略和规则。
上述安全处理模块的实施方式中,维护人员可以在可视化界面查看在中间件系统上运行的程序及程序引用的第三方程序的安全弱点,并能够进行安全策略和规则的配置和存储,同时能够根据安全弱点信息提供安全弱点对应的解决方案,从而能够进一步改善运行在中间件系统上的程序的安全性较低的问题。
参照图8和图10,作为保护程序安全的安全中间件系统的进一步实施方式,安全中间件系统包括一个及一个以上的中间件系统,安全处理模块支持一个及一个以上的中间件系统上的安全代理模块,即一个安全处理模块给一个或一个以上的中间件系统上的安全代理模块发送安全策略和规则,以及接收一个或一个以上的中间件系统上的安全防护工具发出的安全弱点信息和防护的攻击记录。
参照图8和图11,作为保护程序安全的安全中间件系统的另一种进一步实时方式,安全中间件系统包括多个中间件系统和多个安全处理模块,中间件系统和安全处理模块一一对应,即一个安全处理模块支持一个中间件系统的安全代理模块。同时,也可以一个安全处理模块支持多个中间件系统,即若有两个安全处理模块,五个中间件系统,其中一个安全处理模块支持两个中间件系统,另一个安全处理模块支持上下的三个中间件系统。
本申请提供的一种保护程序安全的安全中间件系统,在一定程度上解决了普通的中间件系统无法防护和检测部署在中间件系统之上的程序的安全漏洞,检查程序内的开源软件的许可合规性,知识产权合规性,以及检查程序内包含的第三方程序的已公开披露漏洞的问题,即实现了普通中间件系统不具备的安全攻击防护,安全漏洞检测,检查开源软件许可合规性,知识产权合规性和检测第三方程序已披露软件漏洞的功能。
本申请实施例的一种保护程序安全的安全中间件系统的实施原理为:参照图12,检测子模块的接收单元事先接收安全处理模块发送的安全策略和规则,中间件系统上的程序运行时,中间件系统接收操作系统传送过来的数据,安全代理模块的采集子模块从中间件系统插桩程序的字节码数据流,采集程序的上下文信息,检测子模块的对比单元将接收的安全策略和规则与上下文信息进行对比,判断单元判断是否存在安全弱点,以进行安全漏洞检测,开源软件许可合规性,知识产权合规性和第三方程序的已披露漏洞的检查,若存在安全弱点,则防护单元对针对安全弱点的攻击进行防护,并将安全弱点信息和防护的攻击记录报送给安全处理模块。安全处理模块将接收到的安全弱点信息和攻击记录以报表的形式在可视化界面进行显示,以供维护人员查看。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,故:凡依本申请的结构、形状、原理所做的等效变化,均应涵盖于本申请的保护范围之内。

Claims (6)

1.一种基于中间件系统的程序安全检测防护方法,其特征在于:所述中间件系统上部署有安全代理模块,所述安全代理模块在中间件系统上运行的程序的字节码中动态插桩检测探针,所述安全检测防护方法包括,
采集程序运行时的上下文信息;
根据接收的安全策略和规则,对采集到的上下文信息进行分析,检测程序及程序中引用的第三方程序的安全弱点;以及,
对利用安全弱点攻击程序及第三方程序的行为进行防护,并输出检测到的安全弱点的安全弱点信息和防护的攻击记录,所述安全弱点信息用于在可视化界面上显示;
其中,所述安全弱点包括安全漏洞,开源软件的开源许可合规性和知识产权合规性;所述安全策略和规则包括安全弱点的特征,安全弱点的行为,针对安全弱点的攻击特征和行为;所述上下文信息包括字节码数据流、第三方软件、配置数据和后端连接信息;
对利用安全弱点攻击程序及第三方程序的行为进行防护的方法包括,
根据检测到的针对安全弱点的攻击,获取攻击对应的字节码数据流;以及,
根据攻击对应的字节码数据流,采取防护手段;
其中,所述防护手段包括丢弃字节码数据流,去除攻击字节码数据流的攻击特征,破坏攻击字节码数据流的攻击特征使攻击失效的手段中的任意一种或几种;
检测安全弱点的方法包括,
接收安全策略和规则;
将采集到的上下文信息与安全策略和规则进行对比,判断上下文信息中是否存在安全弱点;以及,
若上下文信息符合安全策略和规则中至少一个特征及行为,则程序和/或程序引用的第三方程序存在安全弱点,否则,不存在安全弱点。
2.根据权利要求1中所述的基于中间件系统的程序安全检测防护方法,其特征在于:所述安全弱点信息包括安全弱点发生的时间、安全弱点的类型及安全弱点的位置。
3.一种中间件系统,其特征在于:所述中间件系统上部署有安全代理模块,所述安全代理模块包括采集子模块、检测子模块和防护及输出子模块:其中,
所述采集子模块,采用程序插桩技术,在中间件系统上运行的程序的字节码中动态插桩检测探针,来采集程序运行时的上下文信息;
所述检测子模块,用于根据接收的安全策略和规则,对采集到的上下文信息进行分析,检测程序及程序中引用的第三方程序的安全弱点;
所述防护及输出子模块,用于对利用安全弱点攻击程序及第三方程序的行为进行防护,并输出检测到的安全弱点的安全弱点信息和防护的攻击记录,所述安全弱点信息用于在可视化界面上显示;
其中,所述安全弱点包括安全漏洞,开源软件的开源许可合规性和知识产权合规性;所述安全策略和规则包括安全弱点的特征,安全弱点的行为,针对安全弱点的攻击特征和行为;所述上下文信息包括字节码数据流、第三方软件、配置数据和后端连接信息;
所述检测子模块包括接收单元、对比单元和判断单元;其中,
所述接收单元,用于接收安全策略和规则;
所述对比单元,用于将采集到的上下文信息与安全策略和规则进行对比;
所述判断单元,用于判断上下文信息中是否存在安全弱点,若上下文信息中符合安全策略和规则中至少一个特征及行为,则程序和/或程序引用的第三方程序存在安全弱点,否则,不存在安全弱点;
所述防护及输出子模块包括防护单元和输出单元;其中,
所述防护单元,用于根据检测到的针对安全弱点的攻击,获取攻击对应的字节码数据流,并对攻击对应的字节码数据流采取防护手段;
所述输出单元,用于根据检测到的安全弱点,获取并输出安全弱点对应的安全弱点信息和防护的攻击记录;
其中,所述安全弱点信息包括安全弱点发生的时间、安全弱点的类型及安全弱点的位置;所述防护手段包括丢弃字节码数据流,去除攻击字节码数据流的攻击特征,破坏攻击字节码数据流的攻击特征使攻击失效的手段中的任意一种或几种。
4.一种保护程序安全的安全中间件系统,其特征在于:包括安全处理模块和如权利要求3所述的中间件系统;其中,
所述安全处理模块,用于给中间件系统发送安全策略和规则,并接收和展示安全代理模块输出的安全弱点信息和防护的攻击记录。
5.根据权利要求4所述的保护程序安全的安全中间件系统,其特征在于:所述安全处理模块包括信息处理子模块、可视化界面、方案存储子模块、报表展示子模块和配置存储子模块;其中,
方案存储子模块,用于存储有各种类型的安全弱点的解决方案;
信息处理子模块,用于接收输出的安全弱点信息,并根据安全弱点信息从方案存储模块中选择并调出安全弱点对应的解决方案;
可视化界面,用于将接收到的安全弱点信息和防护的攻击记录进行显示;
报表展示子模块,用于根据安全弱点信息,以报表的形式展现被测程序及程序依赖的第三方软件的安全状态;
配置存储子模块,用于配置并存储安全策略和规则。
6.一种计算机可读存储介质,其特征在于:存储有能够被处理器加载并执行如权利要求1至2中任一种方法的计算机程序。
CN202110186807.9A 2021-02-18 2021-02-18 程序安全检测防护方法、中间件系统及安全中间件系统 Active CN112527691B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110186807.9A CN112527691B (zh) 2021-02-18 2021-02-18 程序安全检测防护方法、中间件系统及安全中间件系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110186807.9A CN112527691B (zh) 2021-02-18 2021-02-18 程序安全检测防护方法、中间件系统及安全中间件系统

Publications (2)

Publication Number Publication Date
CN112527691A CN112527691A (zh) 2021-03-19
CN112527691B true CN112527691B (zh) 2021-06-11

Family

ID=74975677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110186807.9A Active CN112527691B (zh) 2021-02-18 2021-02-18 程序安全检测防护方法、中间件系统及安全中间件系统

Country Status (1)

Country Link
CN (1) CN112527691B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113343244B (zh) * 2021-05-18 2024-03-19 广东电网有限责任公司 基于探针注入的电力信息系统健康度预测方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699480A (zh) * 2013-11-29 2014-04-02 杭州安恒信息技术有限公司 一种基于java的web动态安全漏洞检测方法
CN106603572A (zh) * 2017-01-16 2017-04-26 深圳市九州安域科技有限公司 一种基于探针的漏洞检测方法及其装置
CN108256322A (zh) * 2018-01-26 2018-07-06 平安科技(深圳)有限公司 安全测试方法、装置、计算机设备和存储介质
CN110266669A (zh) * 2019-06-06 2019-09-20 武汉大学 一种Java Web框架漏洞攻击通用检测与定位的方法及系统
CN112001376A (zh) * 2020-10-29 2020-11-27 深圳开源互联网安全技术有限公司 基于开源组件的指纹识别方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10460112B2 (en) * 2014-02-07 2019-10-29 Northwestern University System and method for privacy leakage detection and prevention system without operating system modification
CN110225029B (zh) * 2019-06-10 2021-08-17 北京达佳互联信息技术有限公司 注入攻击检测方法、装置、服务器及存储介质
CN111427792A (zh) * 2020-03-27 2020-07-17 中国工商银行股份有限公司 测试方法、装置、电子设备和可读存储介质
CN111859375B (zh) * 2020-07-20 2023-08-29 百度在线网络技术(北京)有限公司 漏洞检测方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699480A (zh) * 2013-11-29 2014-04-02 杭州安恒信息技术有限公司 一种基于java的web动态安全漏洞检测方法
CN106603572A (zh) * 2017-01-16 2017-04-26 深圳市九州安域科技有限公司 一种基于探针的漏洞检测方法及其装置
CN108256322A (zh) * 2018-01-26 2018-07-06 平安科技(深圳)有限公司 安全测试方法、装置、计算机设备和存储介质
CN110266669A (zh) * 2019-06-06 2019-09-20 武汉大学 一种Java Web框架漏洞攻击通用检测与定位的方法及系统
CN112001376A (zh) * 2020-10-29 2020-11-27 深圳开源互联网安全技术有限公司 基于开源组件的指纹识别方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112527691A (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
Gao et al. On gray-box program tracking for anomaly detection
CN107368417B (zh) 一种漏洞挖掘技术测试模型的测试方法
RU2522019C1 (ru) Система и способ обнаружения угроз в коде, исполняемом виртуальной машиной
CN103699480B (zh) 一种基于java的web动态安全漏洞检测方法
US20130305373A1 (en) Method and apparatus for inspecting non-portable executable files
CN108664793B (zh) 一种检测漏洞的方法和装置
CN103699844B (zh) 安全保护系统及方法
US20070067623A1 (en) Detection of system compromise by correlation of information objects
CN111984975B (zh) 基于拟态防御机制的漏洞攻击检测系统、方法及介质
US20070266434A1 (en) Protecting Applications Software Against Unauthorized Access, Reverse Engineering or Tampering
CN113158197B (zh) 一种基于主动iast的sql注入漏洞检测方法、系统
CN110516448A (zh) 一种灰盒测试方法、装置、设备及可读存储介质
CN114268452A (zh) 一种网络安全防护方法及系统
CN112527691B (zh) 程序安全检测防护方法、中间件系统及安全中间件系统
CN111625821A (zh) 一种基于云平台的应用攻击检测系统
CN113886814A (zh) 一种攻击检测方法及相关装置
CN116257848A (zh) 一种内存马检测方法
CN111291377A (zh) 一种应用漏洞的检测方法及系统
CN112347484A (zh) 软件漏洞检测方法、装置、设备及计算机可读存储介质
CN112861141B (zh) 一种数据导出安全检测方法及检测系统
CN115865494A (zh) 一种安全测试系统及方法
KR101880689B1 (ko) 악성코드 진단장치 및 방법
US11108800B1 (en) Penetration test monitoring server and system
Viljanen A survey on application level intrusion detection
Meghanathan Source code analysis to remove security vulnerabilities in java socket programs: A case study

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
GR01 Patent grant
GR01 Patent grant