CN116961977A - 安全检测方法、装置、设备及计算机程序产品 - Google Patents

安全检测方法、装置、设备及计算机程序产品 Download PDF

Info

Publication number
CN116961977A
CN116961977A CN202211511273.3A CN202211511273A CN116961977A CN 116961977 A CN116961977 A CN 116961977A CN 202211511273 A CN202211511273 A CN 202211511273A CN 116961977 A CN116961977 A CN 116961977A
Authority
CN
China
Prior art keywords
security
state
client
module
executed
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
Application number
CN202211511273.3A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211511273.3A priority Critical patent/CN116961977A/zh
Publication of CN116961977A publication Critical patent/CN116961977A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

本申请提供了一种安全检测方法、装置、设备及计算机程序产品;方法包括:获取安全客户端的当前执行业务,其中,所述当前执行业务包含至少一个目标节点;确定所述当前执行业务中的当前待执行节点;如果所述当前待执行节点为所述目标节点,获取所述安全客户端当前所处的第一状态;执行所述当前待执行节点,并获取执行所述当前待执行节点之后所述安全客户端所处的第二状态;基于所述第一状态和所述第二状态,确定所述安全客户端的实时安全检测结果。通过本申请,能够提高安全检测的实时性。

Description

安全检测方法、装置、设备及计算机程序产品
技术领域
本申请涉及网络安全技术,尤其涉及一种安全检测方法、装置、设备及计算机程序产品。
背景技术
针对网络安全事件,相关技术通常采用事前系统安全加固与事后溯源的应对方案。
事前系统安全加固的防护重心侧重于通过包括开启安全终端管控模块与反病毒软件在内的系统安全防御体系,阻止攻击者利用漏洞、钓鱼邮件等攻击企业内网主机,继而防止继续利用跳板攻击内网其他软硬件资产,避免扩大攻击面。事后溯源是在检测出攻击行为后,进入事后分析和溯源环节,如此难以捕捉到正在发生的针对零信任网路及安全管控产品的破坏和致盲操作,无法及时处置。无论采用事前系统安全加固方案,还是采用事后溯源方案,均存在安全检测实时性差的问题。
发明内容
本申请实施例提供一种安全检测方法、装置、设备及计算机程序产品,能够提高安全检测的实时性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种安全检测方法,所述方法包括:
获取安全客户端的当前执行业务,其中,所述当前执行业务包含至少一个目标节点;
确定所述当前执行业务中的当前待执行节点;
如果所述当前待执行节点为所述目标节点,获取所述安全客户端当前所处的第一状态;
执行所述当前待执行节点,并获取执行所述当前待执行节点之后所述安全客户端所处的第二状态;
基于所述第一状态和所述第二状态,确定所述安全客户端的实时安全检测结果。
本申请实施例提供一种安全检测装置,所述装置包括:
第一获取模块,用于获取安全客户端的当前执行业务,其中,所述当前执行业务包含至少一个目标节点;
第一确定模块,用于确定所述当前执行业务中的当前待执行节点;
第二获取模块,用于如果所述当前待执行节点为所述目标节点,获取所述安全客户端当前所处的第一状态;
第三获取模块,用于执行所述当前待执行节点,并获取执行所述当前待执行节点之后所述安全客户端所处的第二状态;
第二确定模块,用于基于所述第一状态和所述第二状态,确定所述安全客户端的实时安全检测结果。
在一些实施例中,所述第二确定模块还用于:
获取所述当前待执行节点执行之前所述安全客户端对应的预期执行前状态,和执行所述当前待执行节点之后所述安全客户端对应的预期执行后状态;
当所述第一状态和所述预期执行前状态不一致,或者所述第二状态和所述预期执行后状态不一致,确定所述实时安全检测结果为异常;
当所述第一状态和所述预期执行前状态一致,且所述第二状态和所述预期执行后状态一致,确定所述实时安全检测结果为正常。
在一些实施例中,所述装置还包括:
第四获取模块,用于当所述至少一个目标节点包含具备双向检测的第一目标节点和第二目标节点时,获取所述第一目标节点中第一进程的第一参考执行过程和所述第二目标节点中第二进程的第二参考执行过程;
第三确定模块,用于确定所述第一参考执行过程对应的第一校验标准,和所述第二参考执行过程对应的第二校验标准;
第一校验模块,用于利用所述第二目标节点基于所述第一校验标准对所述第一进程进行校验,得到第一校验结果;
第二校验模块,用于利用所述第一目标节点基于所述第二校验标准对所述第二进程进行校验,得到第二校验结果;
第四确定模块,用于当所述第一校验结果和所述第二校验结果至少之一为校验失败时,确定所述实时安全检测结果为异常;
第五确定模块,用于当所述第一校验结果和所述第二校验结果均为校验成功时,确定所述实时安全检测结果为正常。
在一些实施例中,所述装置还包括:
第五获取模块,用于当所述当前执行业务执行完成之后,获取执行所述当前执行业务的实际执行路径;
第六确定模块,用于如果所述实际执行路径不包含任一目标节点,确定所述安全客户端的第一安全检测结果为异常。
在一些实施例中,所述装置还包括:
第一发送模块,用于当所述业务逻辑为目标业务逻辑时,向服务器发送标记数据包,以使得所述服务器在预设时长内接收到所述标记数据包;
第二发送模块,用于当接收到所述服务器发送的重发请求时,响应于所述重发请求再次向所述服务器发送所述标记数据包。
在一些实施例中,所述装置还包括:
第六获取模块,用于周期性从所述安全客户端的安装目录下获取可执行文件的签名信息;
第七获取模块,用于当所述可执行文件的签名信息包含于白名单信息集合时,获取所述可执行文件中预设的目标模块的待检测属性信息,其中,所述待检测属性信息至少包括所述目标模块的标识信息和所述目标模块的信息摘要;
第一检测模块,用于基于参考属性信息和所述待检测属性信息对所述安全客户端进行安全检测,得到所述安全客户端的第二安全检测结果。
在一些实施例中,所述第一检测模块还用于:
获取所述可执行文件的当前版本信息;
基于所述当前版本信息确定所述参考属性信息,其中,所述参考属性信息为执行所述可执行文件所需的参考模块的属性信息,所述参考属性信息至少包括所述参考模块的参考标识信息和所述参考模块的参考信息摘要;
当所述参考标识信息包含于所述目标模块的标识信息,且所述参考信息摘要与所述目标模块的信息摘要一致时,确定所述第二安全检测结果为正常。
在一些实施例中,所述装置还包括:
第七确定模块,用于当满足以下条件至少之一时,确定所述第二安全检测结果为异常:
所述可执行文件的签名信息不包含于所述白名单集合;
所述可执行文件的签名信息为空;
所述参考标识信息不包含于所述目标模块的标识信息;
所述参考信息摘要与所述目标模块的信息摘要不一致。
在一些实施例中,所述装置还包括:
响应模块,用于响应于安全客户端的安装指令,安装所述安全客户端,并将所述安全客户端的参考模块和服务组件备份于持久化数据库,其中,所述服务组件为所述安全客户端的可执行文件所包含的服务组件;
替换模块,用于当所述实时安全检测结果、所述第一安全检测结果、所述第二安全检测结果中至少之一为异常时,利用所述持久化数据库中安全模块和服务组件替换安装目录下的安全模块和服务组件;
运行模块,用于再次运行所述当前执行业务,得到第三安全检测结果。
在一些实施例中,所述装置还包括:
调整模块,用于如果所述第三安全检测结果为异常,将所述安全客户端由登录状态调整为非登陆状态;
生成模块,用于基于所述第三安全检测结果生成提示消息,其中,所述提示消息用于提示重新安装所述安全客户端;
输出模块,用于输出所述提示消息。
本申请实施例提供一种电子设备,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本申请实施例提供的安全检测方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于引起被处理器执行时,实现本申请实施例提供的安全检测方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或计算机可执行指令,所述计算机程序或计算机可执行指令被处理器执行时,实现本申请实施例提供的安全检测方法。
本申请实施例具有以下有益效果:
首先,获取安全客户端的当前执行业务,并确定该当前执行业务中的当前待执行节点,其中,当前执行业务包含至少一个目标节点,该目标节点可认为是当前执行业务中重要、关键、必不可少、与核心功能密切相关的节点;接着,当前待执行节点是否为目标节点,在当前待执行节点为目标节点的情况下,会获取安全客户端当前所处的第一状态,再执行当前待执行节点,并获取执行当前待执行节点之后安全客户端所处的第二状态;最后,基于第一状态和第二状态来确定安全客户端的实时安全检测结果。而如果当前待执行节点并不是目标节点的情况下,直接执行该当前待执行节点即可。在本申请实施例中,在安全客户端即将运行当前执行业务中的目标节点的时候,会先获取安全客户端当前的第一状态,再执行目标节点,并获取执行目标节点之后安全客户端的第二状态,如此能够基于第一状态和第二状态及时确定目标节点是否按照预期执行,进而确定出安全客户端的实时安全检测结果,也即能够及时获知安全客户端的安全情况,从而在对安全客户端进行安全检测的时候,能够提高安全检测的实时性。
附图说明
图1是本申请实施例提供的安全检测系统100的一种网络架构示意图;
图2A是本申请实施例提供的安全检测系统100的另一种网络架构示意图;
图2B是本申请实施例提供的安全检测系统100的再一种网络架构示意图;
图3是本申请实施例提供的终端400的结构示意图;
图4是本申请实施例提供的安全检测方法的一种实现流程示意图;
图5为本申请实施例提供的确定实时安全检测结果的一种实现流程示意图;
图6为本申请实施例提供的安全检测方法的另一种实现流程示意图;
图7为本申请实施例提供的终端与服务器交互方法的一种实现流程示意图;
图8为本申请实施例提供的安全检测方法的再一种实现流程示意图;
图9为本申请实施例提供的安全检测方法的又一种显示界面示意图;
图10为本申请实施例提供的关键路径节点的一种状态分示意图;
图11A为本申请实施例提供的业务逻辑的第一种组成结构示意图;
图11B为本申请实施例提供的业务逻辑的第二种组成结构示意图;
图11C为本申请实施例提供的业务逻辑的第三种组成结构示意图;
图11D为本申请实施例提供的业务逻辑的第四种组成结构示意图;
图12为本申请实施例提供的输出提示消息的一种界面显示示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)可信应用,管理端授信的,终端可访问内部业务系统的应用载体,包括应用名,应用消息摘要算法第五版(Message-Digest Algorithm 5,MD5),签名信息等。
2)可达区域,终端用户可以通过零信任网络访问企业设置的内部站点列表。
3)登录凭证,是用户成功登录安全客户端后,安全服务端为该用户指定的一个加密串,表示该用户的登录授权信息,包括用户信息和授权有效期。加密存储在客户端。
4)网络请求凭证,安全服务端为单个网络请求发放的授权信息,用于标识该网络请求的授权状态。
5)零信任访问控制策略,由用户可使用的进程信息(可信应用)以及可访问的业务站点(可达区域)组成,在权限开通的情况下,用户可通过任何一个可信应用访问到任一个可达区域。零信任访问控制策略的粒度为登录用户,允许为不同的登录用户制定不同的零信任策略。
6)零信任网关,部署在企业应用程序和数据资源的入口,负责对每一个访问企业资源的会话请求进行验证和请求转发。
7)访问代理,终端访问代理是部署于受控设备的发起安全访问的终端代理,负责访问主体可信身份验证的请求发起,验证身份可信,即可与访问网关建立加密的访问连接,同时也是访问控制的策略执行点。
8)直连访问,在零信任网络访问架构中,某个应用对站点发起网络访问请求,由全流量代理劫持到流量后,经由全流量代理向该目标站点发起网络访问,即发起直接连接的访问,由全流量代理将该目标站点的网络响应发送给该应用,这种访问模式称为直连访问。
9)代理访问,在零信任网络访问架构中,某个应用对站点发起网络访问请求,由全流量代理劫持到流量后,由全流量代理向智能网关发起流量转发,经由智能网关代理针对目标业务站点的访问,访问后由智能网关将该目标站点的网络响应发送给全流量代理,由全流量代理将目标站点的网络响应转发至该应用,这种访问模式称为代理访问。
10)访问主体,在网络中,发起访问的一方,访问内网业务资源的人、设备、应用,是由人、设备、应用等因素单一组成或者组合形成的一种数字实体。
11)访问客体,在网络中,被访问的一方,即企业内网业务资源,包括应用、系统、数据、接口、功能等,其中,系统包括开发测试环境、运维环境、生产环境等。
12)业务模块,由多个文件组成的完成某些特定功能的集合。模块的概念除了可以更清晰的描述产品,还可以更方便的指定要安装卸载的内容。如可以指定仅安装一个“威胁响应”模块或者“应用软件管理”模块。
13)持久化库,数据持久化就是将内存中的数据结构或对象模型转换为关系模型、可扩展标记语言(Extensible Markup Language,XML)、JavaScript对象简谱(JavaScriptObject Notation,JSON)、二进制流等,以及将存储模型转换为内存中的数据模型的统称,持久化库就是存储在设备本地的磁盘文件或数据文件中的由内存中数据结构或对象模型转换而来的关系模型、XML、JSON、二进制流等内容的存储介质,可以使用加密文件、嵌入型数据库等实现。
14)内网横向攻击,在恶意攻击者成功控制部分目标内网的设备后,以被攻陷的机器为跳板,攻击其他内网主机,获取包括凭证信息,共享文件夹等敏感信息,利用这些敏感信息进一步达成控制整个目标内网、拥有最高访问控制权限等目的。
15)策略,管理员在管理端下发的用于企业终端管理的一系列规则集合。包括补丁修复、零信任网络管控、安全加固策略等。策略可能包含票据、时效、有效次数等敏感信息。
16)网络会话,用户与业务系统执行一次信息交互的过程,例如客户端与服务器建立网络链接后数据发送或接收的过程,包括连接建立和结束,或者数据的发送和接收。
17)访问会话,基于网络会话,且包含一组相关的特征。访问会话是针对每一个访问企业内网业务资源的网络会话与设备、人员、网络属性、进程属性、端点属性组合绑定的一种抽象概念,其中,企业内网业务资源包括业务应用、核心系统、资产数据、功能接口等。
18)五元组,是一种通信术语,由网络访问流量的源互联网协议(InternetProtocol,IP)地址、源端口、目标IP地址、目标端口和传输层协议这五个量组成的一个集合。
19)内存签名(memory signature),传统的防病毒(Anti Virus,AV)软件很大程度上依赖于签名来识别恶意软件。当恶意软件样本到达防病毒公司手中时,它由恶意软件研究人员做静态或动态分析一旦确定是恶意软件,则提取文件的适当签名并将其添加到反病毒软件的签名数据库中。
20)挂钩应用程序编程接口(Application Programming Interface Hook,APIHook),用于拦截或者控制某些应用程序编程接口(Application Programming Interface,API)函数的调用,用于改变API执行结果的技术,API钩子是拦截目标程序中调用的函数,替换或者修改调用函数的功能。
21)无文件落地攻击,指恶意程序文件不直接落地到目标系统的磁盘空间中的一种攻击手法,常用于逃避传统的AV产品的安全检测机制。
高级持续性威胁(Advanced Persistent Threat,APT)具有攻击者组织严密、隐蔽性强、针对性强和持续时间长等特点,通常利用定制的恶意软件、零日(0Day)漏洞或相关逃逸技术,突破进程间通信(Inter-Process Communication,IPC)、防火墙,AV等基于文件特征的传统防御检测设备,针对系统中未知漏洞以及未能及时修复的已知漏洞进行攻击。经过统计研究发现,APT的攻击链路大体分为探测、横向移动以及数据窃取这三个阶段。首先通过水坑攻击、钓鱼邮件等方式成功获取目标主机的访问权限。当攻击者获取到内网某台机器的控制权后,接下来攻击者尝试对企业内网的安全管控产品的进行破坏,致盲操作。破坏安全管控产品的安全能力,通过冒用数据,伪装合法用户尝试执行内网渗透,尝试以被攻陷的主机为跳板,通过包括收集域内凭证等各种方法,访问域内其他机器,进一步扩大攻击范围。
相关技术更多地的进行事后溯源,未能针对探测、横向移动和数据窃取过程中执行实时检测和处置。
基于此相关技术存在的问题,本申请实施例提供一种安全检测方法、装置、设备、计算机可读存储介质和计算机程序产品,能够解决安全检测实时性差的问题,下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。
参见图1,图1是本申请实施例提供的安全检测系统100的网络架构示意图,为实现支撑一个安全检测应用,终端(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
终端400用于先获取安全客户端的当前执行业务,并确定该当前执行业务中的当前待执行节点,其中,当前执行业务包含至少一个目标节点,该目标节点可认为是当前执行业务中重要、关键、必不可少、与核心功能密切相关的节点;接着,当前待执行节点是否为目标节点,在当前待执行节点为目标节点的情况下,会获取安全客户端当前所处的第一状态,再执行当前待执行节点,并获取执行当前待执行节点之后安全客户端所处的第二状态;最后,可将检测请求发送至服务器200,该检测请求携带第一状态和第二状态,最后接收服务器200返回的安全客户端的实时安全检测结果。而如果当前待执行节点并不是目标节点的情况下,终端400直接执行该当前待执行节点即可,在图形界面410(示例性示出了图形界面410-1和图形界面410-2)显示实时安全检测结果;服务器200将基于第一状态和第二状态来对安全客户端进行安全检测,得到实时安全检测结果,还将实时安全检测结果返回给终端400。以使得终端400获得自身安全客户端的实时安全检测结果。
在一些实施例中,在终端400运行当前执行业务之前,终端400用于向服务器200发送目标节点的标记请求,以获得当前执行业务中包含的目标节点;终端400还用于获取安全客户端的当前执行业务,并确定该当前执行业务中的当前待执行节点,其中,当前执行业务包含至少一个目标节点,该目标节点可认为是当前执行业务中重要、关键、必不可少、与核心功能密切相关的节点;接着,当前待执行节点是否为目标节点,在当前待执行节点为目标节点的情况下,会获取安全客户端当前所处的第一状态,再执行当前待执行节点,并获取执行当前待执行节点之后安全客户端所处的第二状态;最后,基于第一状态和第二状态确定安全客户端的实时安全检测结果。而如果当前待执行节点并不是目标节点的情况下,终端400直接执行该当前待执行节点即可。相对应地,服务器200用于向终端400发送目标节点的标记信息。
在本申请实施例中,在安全客户端即将运行当前执行业务中的目标节点的时候,会先获取安全客户端当前的第一状态,再执行目标节点,并获取执行目标节点之后安全客户端的第二状态,如此能够基于第一状态和第二状态及时确定目标节点是否按照预期执行,进而确定出安全客户端的实时安全检测结果,也即能够及时获知安全客户端的安全情况,从而在对安全客户端进行安全检测的时候,能够提高安全检测的实时性。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载智能终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图2A,图2A是本申请实施例提供的安全检测系统100的又一网络架构示意图,如图2A所示,该网络架构包括零信任网络安全服务提供方201A、访问主体202A以及访问客体203A。
在本申请实施例中,可通过零信任网络安全服务提供方201A的零信任代理和访问网关,为访问主体202A通过网络请求访问客体203A的资源提供统一入口,零信任网络安全服务提供方201A为统一入口提供鉴权操作,只有通过鉴权的网络请求才能由零信任代理转发给访问网关,通过访问网关代理实际业务系统的访问。
参见图2B,图2B是本申请实施例提供的安全检测系统100的再一网络架构示意图,如图2B所示,该网络架构包括终端201B、安全服务端202B、智能网关203B和业务服务器集群204B。其中,在终端201B上部署有安全客户端2011、访问代理(proxy)2012和应用程序2013,业务服务器集群204B包括业务服务器A、业务服务器B和业务服务器C。
安全客户端2011,是安装在员工工作设备上的安全代理(Agent),负责验证设备上的用户可信身份、验证设备以及应用是否可信;还会将未知的进程向安全服务端202B申请进程送检。
Proxy 2012,通过操作系统内核中的虚拟网络设备(TUN/TAP)获取设备流量,通过安全客户端2011鉴权后负责将请求转发给智能网关203B,如果没有通过鉴权则走直连或中断连接。
智能网关203B,部署在企业应用程序和数据资源的入口,负责每一个访问企业资源的会话请求的验证,授权和转发。
安全服务端202B,通过策略控制引擎对业务流量进行安全调度,按照人、设备、软件、应用颗粒度授权。其中,身份验证模块对用户身份进行验证,设备可信模块来验证设备硬件信息和设备安全状态,应用检测模块来检测应用进程是否安全,如是否有漏洞,是否有病毒木马等。安全服务端202B定期向威胁情报云查服务安知或者TAV定期发起文件送检,如果识别出恶意进程,则通知安全客户端2011执行异步阻断操作。
总体流程包括,访问主体通过应用程序2013发起针对访问客体的网络请求,安全客户端2011通过代理客户端获取到网络请求,代理客户端向安全客户端2011发起鉴权请求,也即代理客户端向安全客户端2011申请当次网络请求的凭证,请求参数包括源IP(或者域名)、源端口、目的IP(或者域名)、目的端口以及应用对应的进程识别号(ProcessIdentification,PID),其中代理客户端对应上述Proxy 2012。安全客户端2011通过代理客户端发送的PID采集进程的MD5、进程路径、进程最近修改时间、版权信息、签名信息等,连同代理客户端传递过来的网络请求的源IP(或者域名)、源端口、目的IP(或者域名)、目的端口,向安全服务端202B申请票据,如果申请成功,则将票据、票据最大使用次数、票据有效时间作为响应发送给代理客户端。代理客户端首先向访问网关发起超文本传输安全协议(Hypertext Transfer Protocol Secure,Https)请求,其中在授权(Authorization)首部字段中带上安全客户端2011传递过来的网络请求凭证(票据),访问网关收到代理客户端的请求后,解析出首部字段中的票据,向安全服务端202B校验票据,如果校验成功,则访问网关跟代理客户端成功建立连接,之后代理客户端将原始网络请求发送给访问网关,由网关转发至到对应的业务服务器,代理实际的应用网络访问;如果访问网关校验票据失败,则代理客户端与访问网关的连接中断,针对零信任策略以外的应用访问特定站点的流量,则通过代理客户端直接向目标业务服务器发起网络访问请求实现直连访问,其中,访问网关对应上述智能网关203B。
代理客户端是通过TUN/TAP虚拟网卡获取设备流量的,如果经过零信任访问控制策略判定是代理访问的类型,则代理客户端向安全客户端2011请求网络访问票据,安全客户端2011进而向安全服务端202B申请票据,安全客户端2011成功申请到票据后将票据响应给代理客户端,代理客户端将实际的网络访问流量通过物理网卡发送给智能网关203B,由智能网关203B代理实际的业务访问;如果经零信任访问控制策略判定是直连访问类型,则代理客户端获取到原始网络访问流量后,直接通过物理网卡与业务服务器集群204B对应的目的业务站点进行网络访问和响应过程,实现直连访问。
参见图3,图3为本申请实施例提供的终端400的结构示意图,图3所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器450中的安全检测装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块4551、第一确定模块4552、第二获取模块4553、第三获取模块4554和第二确定模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的安全检测方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specif ic Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic De vice)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
将结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的安全检测方法。
下面,说明本申请实施例提供的安全检测方法,如前所述,实现本申请实施例的安全检测方法的电子设备可以是终端、服务器,又或者是二者的结合。因此下文中不再重复说明各个步骤的执行主体。
需要说明的是,下文中的安全检测的示例中,是以对象为安全客户端为例说明的,本领域技术人员根据对下文的理解,可以将本申请实施例提供的安全检测方法应用于包括其他类型对象的安全检测。
参见图4,图4是本申请实施例提供的安全检测方法的一种实现流程示意图,以下将结合图4示出的步骤对本申请实施例提供的安全检测方法进行说明。
在步骤S101中,获取安全客户端的当前执行业务。
在本申请实施例中,当前执行业务是由多个节点组成,不同的节点表征不同的事件、动作或者操作。该当前执行业务还包含至少一个目标节点,其中,目标节点是提前标记的节点,是将当前执行业务中重要、关键、必不可少、与核心功能密切相关的节点标记为目标节点。该目标节点个数可以为2个、3个、4个等。
在一些实施例中,客户端当前执行的指令与当前执行业务之间存在对应关系,则可通过获取客户端当前所执行的指令,来确定出客户端的当前执行业务。
在一些实施例中,各个执行业务可对应有业务编码,也即各个执行业务对应有业务标识,基于此,可通过获取当前执行业务编码来确定当前执行业务。
通过步骤S101,可实时获取到安全客户端正在执行的当前执行业务,以便后续基于当前执行业务的执行情况确定安全客户端的实时安全检测结果。
在步骤S102中,确定当前执行业务中的当前待执行节点。
在该步骤中,各个节点可对应有节点编码,基于此,可通过获取节点编码来确定当前待执行节点,该当前待执行节点是指客户端即将要执行的节点。
通过步骤S102,可实时确定出当前执行业务中的当前待执行节点,再基于当前待执行节点的执行情况来实时确定当前待执行节点的安全性,从而提高安全检测的实时性。
在步骤S103中,如果当前待执行节点为目标节点,获取安全客户端当前所处的第一状态。
该步骤在实现时,先判断当前待执行节点是否为目标节点,可判断当前待执行节点是否包含于目标节点集合,其中,目标节点集合中包括当前执行业务包含的所有目标节点;如果判断出当前待执行节点是目标节点,示例性的,当前待执行节点可以为获取登录票据,表征安全客户端即将执行一个重要、关键、必不可少、与核心功能密切相关的节点,则获取安全客户端当前实际所处的第一状态。示例性的,如果当前用户A登录了客户端,则第一状态可以为用户A登录客户端状态。
在一些实施例中,如果判断出当前待执行节点不是目标节点,表征安全客户端即将执行的并不是一个重要或者关键的节点,则直接执行当前待执行节点而无需获取安全客户端当前所处的第一状态。
通过步骤S103,如果当前待执行节点为目标节点,则会获取当前待执行节点执行之前安全客户端所处的第一状态,为后续及时判断实时安全检测结果提供依据。
在步骤S104中,执行当前待执行节点,并获取执行当前待执行节点之后安全客户端所处的第二状态。
在该步骤中,先执行当前待执行节点,再获取执行当前待执行节点之后安全客户端所处的第二状态,由于执行了当前待执行节点,则安全客户端所处的第二状态相较于第一状态会发生变化,例如,在执行当前待执行节点之后,安全客户端可接收到安全服务端返回的证书、票据等信息。
通过步骤S104,先执行当前待执行节点,而且还再次获取执行当前待执行节点之后客户端所处的第二状态。
在步骤S105中,基于第一状态和所述第二状态,确定安全客户端的实时安全检测结果。
在该步骤中,当前待执行节点执行前后客户端均对应有预期的状态,如果第一状态满足当前执行节点执行之前客户端对应的预期状态,且第二状态也满足当前执行节点执行之后客户端对应的预期状态,也即当前待执行节点执行前后客户端的状态均满足预期,则确定安全客户端的实时安全检测结果为正常。
在一些实施例中,如果第一状态和第二状态中至少一个不满足对应的预期状态,则确定安全客户端的实时安全检测结果为异常,其中,该实时安全检测结果为动态的、实时的检测结果。
在一些实施例中,参见图5,图4示出的步骤S105可以通过以下步骤S1051至步骤S10511实现,下面具体说明。
在步骤S1051中,获取当前待执行节点执行之前安全客户端对应的预期执行前状态,和执行当前待执行节点之后安全客户端对应的预期执行后状态。
这里,针对当前执行业务中当前待执行节点,提前设定有执行当前待执行节点之前客户端所处的预期执行前状态,示例性的,假设当前待执行节点为获取登录票据,则预期执行前状态可以为客户端为登录状态。相类似地,也提前设定有执行当前待执行节点之后客户端所处的预期执行前状态,示例性的,假设当前待执行节点为获取登录票据,则预期执行后状态可以为客户端获得格式合规的票据。
在步骤S1052中,判断第一状态和预期执行前状态是否一致。
在一些实施例中,比对第一状态和预期执行前状态,来判断两者是否一致,示例性的,如果第一状态为用户A登录客户端状态,预期执行前状态为登录状态,由于第一状态这也表征客户端处于登录状态,则第一状态和预期状态均为登录状态,也即两者一致,则进入步骤S1053,继续进行状态一致性的判断。
而如果第一状态为非登录状态,预期执行前状态依旧为登录状态,由于两者不一致,表征安全客户端出现了异常,则进行步骤S10510。
在步骤S1053中,判断第二状态和预期执行后状态是否一致。
此时,表征第一状态和预期执行前状态是一致的,则继续判断第二状态和预期执行后状态是否一致,如果第二状态为客户端获取到格式合规的票据,预期执行后状态为获取到格式合规的票据,则两者一致,进入步骤S1054;而如果第二状态为客户端获取到乱码的票据,预期执行后状态依旧为获取到格式合规的票据,则两者不一致,表征安全客户端出现了异常,进入步骤S10510。
在步骤S1054中,判断至少一个目标节点包含具备双向检测的第一目标节点和第二目标节点。
此时,第一状态与预期执行前状态一致,且第二状态与预期执行后状态也一致,也即,当前待执行节点执行前后客户端所处的状态符合预期。基于此,还判断至少一个目标节点中是否包含具备双向检测的第一目标节点和第二目标节点,其中,双向检测可以为相邻的第一目标节点和第二目标节点之间主动发起接口的调用和网络的探测。
在本申请实施例中,如果至少一个目标节点包含第一目标节点和第二目标节点,其中第一目标节点和第二目标节点是具备双向检测的两个相邻节点,在第一目标节点和第二目标节点执行前后客户端所处的状态均符合预期之后,则进入步骤S1055,开始分别对第一目标节点和第二目标节点进行节点检测。
在一些实施例中,如果至少一个目标节点并不包含第一目标节点和第二目标节点,在至少一个目标节点执行前后客户端所处的状态均符合预期之后,则无须再进行节点检测,进入步骤S10511。
在步骤S1055中,获取第一目标节点中第一进程的第一参考执行过程和第二目标节点中第二进程的第二参考执行过程。
示例性的,第一进程的第一参考执行过程可以为从域名A查询数据D1,第二进程的第二参考执行过程可以为从同一域名A查询数据D2。
在步骤S1056中,确定第一参考执行过程对应的第一校验标准,和第二参考执行过程对应的第二校验标准。
在该步骤中,承接上述举例,可将第一参考执行过程对应的第一校验标准确定为第一进程和域名A的连通性;可将第二参考执行过程对应的第二校验标准确定为第二进程和域名A的连通性。
在一些实施例中,第一校验标准是用于校验第一进程实际是否基于第一参考执行过程进行执行,第二校验标准是用于校验第二进程实际是否基于第二参考执行过程进行执行。
在步骤S1057中,利用第二目标节点基于第一校验标准对第一进程进行校验,得到第一校验结果。
在该步骤中,承接上面的举例,第一校验标准为第一进程和域名A的连通性,则可利用第二目标节点通过接口来触发第一进程和域名A的连通性测试,得到第一校验结果。
在步骤S1058中,利用第一目标节点基于第二校验标准对第二进程进行校验,得到第二校验结果。
在该步骤中,承接上面的举例,第二校验标准为第二进程和域名A的连通性,则可利用第一目标节点通过接口来触发第二进程和域名A的连通性测试,得到第二校验结果。
在步骤S1059,判断第一校验结果和第二校验结果中是否至少之一为校验失败。
在该步骤中,承接上面的举例,如果第一校验结果为第一进程和域名A连通,这与第一进程的第一参考执行过程相符,则第一校验结果为校验成功。同理,如果第二校验结果为第二进程和域名A连通,这与第二进程的第二参考执行过程相符,则第二校验结果为校验成功。
在一些实施例中,继续承接上面的举例,如果第一校验结果为第一进程和域名A不连通,这与第一进程的第一参考执行过程不相符,则第一校验结果为校验失败。同理,如果第二校验结果为第二进程和域名A不连通,这与第二进程的第二参考执行过程不相符,则第二校验结果为校验失败。
在本申请实施例中,如果第一校验结果和第二校验结果中至少一个为校验失败,表征第一进程或者第二进程发生异常,则进入步骤S10510;而如果第一校验结果和第二校验结果均为校验成功,表征第一进程和第二进程均运行正常,则进入步骤S10511。
在步骤S10510中,确定实时安全检测结果为异常。
此时,存在以下两种情况,情况一,第一状态和第二状态中至少一个与对应的预期状态不一致,表征安全客户端出现了异常;情况二,第一校验结果和第二校验结果中至少一个为校验失败,表征第一进程或者第二进程发生异常,则在上述任一情况下确定实时安全检测结果为异常。
在步骤S10511中,确定实时安全检测结果为正常。
此时,存在以下两种情况,情况三,如果至少一个目标节点并不包含第一目标节点和第二目标节点,且在至少一个目标节点执行前后客户端所处的状态均符合预期,表征目标节点运行正常;情况四,第一校验结果和第二校验结果均为校验成功时,表征第一进程和第二进程均运行正常,则在上述任一情况下确定实时安全检测结果为正常。
通过步骤S105,一方面,会获取当前待执行节点执行前后客户端对应的预期执行前状态以及预期执行后状态,如果第一状态和预期执行前状态不一致,或者第二状态和预期执行后状态不一致,则确定客户端的实时安全检测结果为异常。另一方面,还会判断至少一个目标节点是否包含具备双向检测的第一目标节点和第二目标节点,如果不包含第一目标节点和第二目标节点,则在至少一个目标节点执行前后客户端所处的状态均符合预期之后,则确定客户端的实时安全检测结果为正常;如果包含第一目标节点和第二目标节点,则获取第一目标节点中第一进程的第一参考执行过程和第二目标节点中第二进程的第二参考执行过程,基于此,还确定第一参考执行过程对应的第一校验标准和第二参考执行过程对应的第二校验标准,并基于第一校验标准和第二校验标准分别对第一进程和第二进程进行校验,得到第一校验结果和第二校验结果,在第一校验结果和第二校验结果均为校验成功的情况下,确定安全客户端的实时安全检测结果为正常,否则确定安全客户端的实时安全检测结果为异常。如此,便能够在执行当前执行业务中当前待执行节点的过程中,便能够确定出安全客户端的安全情况,也即能够及时得到安全客户端的实时安全检测结果,从而提升安全检测的实时性。
通过步骤S101至步骤S105,首先,获取安全客户端的当前执行业务,并确定该当前执行业务中的当前待执行节点,其中,当前执行业务包含至少一个目标节点,该目标节点可认为是当前执行业务中重要、关键、必不可少、与核心功能密切相关的节点;接着,当前待执行节点是否为目标节点,在当前待执行节点为目标节点的情况下,会获取安全客户端当前所处的第一状态,再执行当前待执行节点,并获取执行当前待执行节点之后安全客户端所处的第二状态;最后,基于第一状态和第二状态来确定安全客户端的实时安全检测结果。而如果当前待执行节点并不是目标节点的情况下,直接执行该当前待执行节点即可。在本申请实施例中,在安全客户端即将运行当前执行业务中的目标节点的时候,会先获取安全客户端当前的第一状态,再执行目标节点,并获取执行目标节点之后安全客户端的第二状态,如此能够基于第一状态和第二状态及时确定目标节点是否按照预期执行,进而确定出安全客户端的实时安全检测结果,也即能够及时获知安全客户端的安全情况,从而在对安全客户端进行安全检测的时候,能够提高安全检测的实时性。
参见图6,在图4示出的步骤S105之后,还可执行步骤S106至步骤S109,下面具体说明。
在步骤S106中,当前执行业务执行完成之后,获取执行当前业务的实际执行路径。
在本申请实施例中,步骤S106的执行前提可以为基于步骤S105确定的实时安全检测结果为正常的时候,当前执行业务才有可能执行完成。基于此,获取执行当前业务的实际执行路径,该实际执行路径包括实际执行节点。
在一些实施例中,如果基于步骤S105确定的实时安全检测结果为异常,则会处理该异常,而并不会继续执行当前执行业务,因而当前执行业务并未执行完成。
在步骤S107中,判断实际执行路径是否不包含任一目标节点。
在该步骤中,可判断实际执行路径中是否包含所有目标节点,如果实际执行路径中没有包含所有目标节点,也即实际执行路径不包含任一目标节点,表征在执行当前执行业务的时候,遗漏了目标节点,进入步骤S108;而如果实际执行路径中包含所有目标节点,也即实际执行路径包含所有目标节点,表征在执行当前执行业务的时候,执行了所有目标节点,则进入步骤S109。
在步骤S108中,确定安全客户端的第一安全检测结果为异常。
此时,实际执行路径不包含任一目标节点,表征在执行当前执行业务的时候,遗漏了目标节点,会带来安全隐患,则确定安全客户端的第一安全检测结果为异常,该第一异常检测结果为静态的检测结果。
在步骤S109中,确定安全客户端的第一安全检测结果为正常。
此时,实际执行路径包含所有目标节点,表征在执行当前执行业务的时候,执行了所有目标节点,则确定安全客户端的第一安全检测结果为正常。
通过步骤S106至步骤S109,在当前执行业务执行完成之后,会获取执行当前执行路径的实际执行路径,并判断实际执行路径是否不包含任一目标节点,如果实际执行路径不包含任一目标节点,则确定安全客户端的第一安全检测结果为异常;而如果实际执行路径包含所有目标节点,则确定安全客户端的第一安全检测结果为正常,从而增加安全检测的途径,以利于及时发现异常情况。
参见图7,在图4示出的步骤S101之后,还可执行以下交互步骤S102A至步骤S109A,下面具体说明。
在步骤S102A中,当当前执行业务为目标业务时,终端400向服务器200发送标记数据包,以使得服务器200在预设时长内接收到标记数据包。
在一些实施例中,在终端400执行目标业务之前或者之后,为确保终端400处于安全、正常的状态,会向服务器200发送标记数据包,该标记数据包包括登录用户、设备标识、软硬件信息等。基于此,服务器200能够基于标记数据包来确定终端400当前所处的状态。其中,目标业务可以为申请零信任网络访问票据、数据上报等。
在本申请实施例中,服务器200中部署有服务端,该服务端可以为安全服务端。终端400上部署有安全客户端,其中,安全客户端和安全服务端两者之间相互对应。
在步骤S103A中,服务器200在预设时长内是否接收到标记数据包。
在本申请实施例中,预设时长可以为1分钟、3分钟、5分钟,该预设时长可以为设置值。如果服务器200在预设时长内没有接收到标记数据包,则进入步骤S104A,进入重发流程;而如果服务器200在预设时长内接收标记数据包,则进入步骤S109A,也即确定终端400处于正常状态。
在步骤S104A中,服务器200获取重发次数,并判断重发次数是否达到次数阈值。
在本申请实施例中,次数阈值可以为3次、4次、5次等,该次数阈值为设置值。重发次数是指服务器200发送重发请求的次数,如果重发次数小于次数阈值,则表征服务器200还可继续发送重发请求,进入步骤A105A;而如果重发次数达到次数阈值,则表征服务器200的重发次数已达到上限值,则进入步骤S108A,也即确定终端400处于异常状态。
在步骤S105A中,服务器200获取间隔时长。
在本申请实施例中,服务器200获取的是距离上次发送重发请求的时长,记为间隔时长。
在步骤S106A中,服务器200判断间隔时长是否达到间隔阈值。
在本申请实施例中,为了提升检测的准确性,服务器200并不会实时发送重发请求,而是在间隔时长达到间隔阈值的时候,才向终端400发送重发请求,其中间隔阈值可以为设置值,示例性的,间隔阈值可以为0.5分钟、1分钟、1.5分钟等。
如果间隔时长达到间隔阈值,则进入步骤S107A;而如果间隔时长小于间隔阈值,则继续等待,也即返回步骤S105A。
在步骤S107A中,服务器200向终端400发送重发请求,并将重发次数累加1。
此时,重发次数小于次数阈值,而且间隔时长达到间隔阈值,服务器200则向终端400发送重发请求,还将重发次数累加1,其中,重发次数的初始值为0。
在一些实施例中,终端400会基于重发请求再次向服务器200发送标记数据包,也即返回步骤S102A。
在步骤S108A中,服务器200确定终端400处于异常状态。
在一些实施例中,如果服务器200在预设时长内没有接收标记数据包,且重发次数达到次数阈值,则确定终端400处于异常状态。
在步骤S109A中,服务器200确定终端400处于正常状态。
在一些实施例中,如果服务器200在预设时长内接收标记数据包,则确定终端400处于正常状态。
通过步骤S102A至步骤S109A,能够通过动态交互的方式来确定终端400所处的状态,也即实现对终端400的安全检测,从而丰富安全检测的手段;此外,通过次数阈值及间隔阈值能够排除网络抖动及自身缺陷的原因,从而提升安全检测的准确性。
参见图8,在图4示出的步骤S101之前,还可执行步骤S001至步骤S005,下面具体说明。
在步骤S001中,周期性从安全客户端的安装目录下获取可执行文件的签名信息。
这里,可实时、周期性来获取可执行文件的签名信息,其中,可执行文件在安装客户端的安装目录下,该安装目录可以位于自身磁盘中,也可位于自身以外其他设备的磁盘中。
在步骤S002中,可执行文件的签名信息是否包含于白名单信息集合。
在本申请实施例中,白名单信息集合为提前设定好的签名信息,白名单信息集合中的签名信息是指安全的签名信息,相对应的白名单信息集合以外的签名信息是指不安全的签名信息。
如果可执行文件的签名信息包含于白名单信息集合,则进入步骤S003;而如果可执行文件的签名信息不包含于白名单信息集合,则进入步骤S005。
在步骤S003中,获取可执行文件中预设的目标模块的待检测属性信息。
其中这里,待检测属性信息至少包括目标模块的标识信息和目标模块的信息摘要。
在一些实施例中,待检测属性信息还可以包括位置信息、类型信息、状态信息、哈希值、与第三方服务的依赖关系等。
在步骤S004中,基于参考属性信息和待检测属性信息对安全客户端进行安全检测,得到安全客户端的第二安全检测结果。
在一些实施例中,图8示出的步骤S004可以通过以下步骤S0041至步骤S0043实现,下面具体说明。
在步骤S0041中,获取可执行文件的当前版本信息。
在一些实施例中,为了对安全客户端的漏洞进行完善,或者添加新的功能,会对安全客户端的版本进行升级。此时所获取的是可执行文件的当前版本信息。
在步骤S0042中,基于当前版本信息确定参考属性信息。
这里,不同的版本信息对应不同的参考属性信息,其中,参考属性信息为执行可执行文件所需的参考模块的属性信息,参考属性信息至少包括参考模块的参考标识信息和参考模块的参考信息摘要。
在一些实施例中,参考属性信息与上述步骤S003中待检测属性信息所包含的类型相同,也即,参考属性信息还可以包括位置信息、类型信息、状态信息、哈希值、与第三方服务的依赖关系等。
在步骤S0043中,当参考标识信息包含于目标模块的标识信息,且参考信息摘要与目标模块的信息摘要一致时,确定第二安全检测结果为正常。
在本申请实施例中,如果参考标识信息包含于目标模块的标识信息,且参考信息摘要与目标模块的信息摘要一致的情况下,表征可执行文件中预设的目标模块包括执行该可执行文件所需的所有参考模块,并且两者的内容一致,则认为可执行文件为安全可靠的文件,确定该安全客户端的第二安全检测结果为正常,该第二安全检测结果与上述第一安全检测结果相类似,也为静态的检测结果。
在一些实施例中,如果确定出第二安全检测结果为正常,则进入步骤S101,而如果确定出第二安全检测结果为异常,则可直接得到异常的检测结果,结束流程即可。
继续参见图8,接续上文的步骤S004进行说明。
在步骤S005中,当满足以下条件至少之一时,确定第二安全检测结果为异常。
在本申请实施例中,可以包括以下四个条件,条件1,可执行文件的签名信息不包含于白名单集合;条件2,可执行文件的签名信息为空;条件3,参考标识信息不包含于目标模块的标识信息;条件4,参考信息摘要与目标模块的信息摘要不一致。
当满足上述四个条件中至少一个的时候,则确定第二安全检测结果为异常,其中,针对条件1,可执行文件的签名信息不包含于白名单信息集合,表征可执行文件为不安全、不可靠或者已被篡改的文件。针对条件2,可执行文件的签名信息为空,表征可执行文件的签名信息丢失或者安全性未知,为了确保安全性,此时也会确定第二安全检测结果为异常。条件3,参考标识信息不包含于目标模块的标识信息,表征可执行文件中预设的目标模块并不包括执行该可执行文件所需的所有参考模块,也即,可执行文件存在缺失模块的问题。针对条件4,参考信息摘要与目标模块的信息摘要不一致,表征可执行文件中的目标模块的内容与参考模块的内容不同,则可执行文件无法正常完成相应的功能,存在安全隐患。
通过上述步骤S001至步骤S005,如果可执行文件的签名信息不包含于白名单集合信息,则直接确定静态的第二安全检测结果为异常,而如果可执行文件的签名信息包含于白名单集合信息,则进一步基于可执行文件中预设的目标模块的待检测属性信息与参考属性信息,来确定第二安全检测结果,从而丰富安全检测手段,提升安全检测的多样性以及准确性。
基于上述实施例,在图8示出的步骤S001之前,还可执行步骤S01,下面具体说明。
在步骤S01中,响应于安全客户端的安装指令,安装安全客户端,并将安全客户端的参考模块和服务组件备份于持久化数据库。
在一些实施例中,在基于安装指令安装安全客户端的时候,还会将该安全客户端的参考模块及服务组件备份在本地的持久化数据库中,如此,在安全客户端受损的时候,可从出就花数据库中获取参考模块和服务组件。其中,服务组件为安全客户端的可执行文件所包含的服务组件。
基于此,参见图9,在图6示出的步骤S109之后,还可执行以下步骤S110至步骤S115,下面具体说明。
在步骤S110中,当实时安全检测结果、第一安全检测结果、第二安全检测结果中至少之一为异常时,利用持久化数据库中安全模块和服务组件替换安装目录下的安全模块和服务组件。
在本申请实施例中,如果上述步骤S105中确定的实时安全检测结果为异常,或者上述步骤S108中确定的第一安全检测结果为异常,或者上述步骤S005中确定的第二安全检测结果为异常,则表征安全客户端收到攻击,无法正常运行,则利用自身持久化数据库中安全模块和服务组件替换安装目录下的安全模块和服务组件,以实现自动修复安全客户端的目的。
在步骤S111中,再次运行当前执行业务,得到第三安全检测结果。
在一些实施例中,在对存在异常的安全客户端修复之后,还会再次运行当前执行业务,得到第三安全检测结果,与第一次运行当前执行业务的时候相类似,该第三安全检测结果的类型可以与上述实时安全检测结果的类型相同,为实时的、动态的检测结果;第三安全检测结果的类型也可以与上述第一安全检测结果的类型相同,为静态的检测结果;第三安全检测结果的类型也可以与上述第二安全检测结果的类型相同,为静态的检测结果。
在步骤S112中,判断第三安全检测结果是否为异常。
在本申请实施例中,如果第三安全检测结果仅包含一个实时的、动态的检测结果,该实时的、动态的检测结果为异常时,则确定第三安全检测结果为异常;而该实时的、动态的检测结果为正常时,则确定第三安全检测结果为异常正常。如果第三安全检测结果既包括实时的、动态的检测结果,又包括静态的检测结果时,在存在任一个异常检测结果的情况下,则确定第三安全检测结果为异常;在所有检测结果均为正常的情况下,则确定第三安全检测结果为正常。
如果第三安全检测结果为异常,则进入步骤S113,强制退出安全客户端,并禁止登录安全客户端;而如果第三安全检测结果为正常,则返回步骤S101,继续进行安全检测。
在步骤S113中,将安全客户端由登录状态调整为非登陆状态。
此时,第三安全检测结果为异常,则强制退出登录,禁止用户登录安全客户端。
在步骤S114中,基于第三安全检测结果生成提示消息。
这里,提示消息用于提示重新安装安全客户端,该提示消息可以为语音类型的消息、字符类型的消息或者光线类型的消息。
在步骤S115中,输出提示消息。
示例性的,提示消息可以为在显示界面上显示“为确保安全,请重新安装安全客户端”。
通过上述步骤S110至步骤S115,在安全客户端存在异常的情况下,会利用持久化数据库备份的安全模块和服务组件来替换安装目录下的安全模块和服务组件,以达到修复安全客户端的目的。如果修复后的安全客户端依旧存在异常,则强制退出安全客户端,生成并输出提示消息,以提示重新安装安全客户端。如此实现自动修复、及时提示的目的。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供一种安全检测方法,一方面,将安装的当前版本各关键安全模块和服务组件存储一份在终端加密的持久化库中,便于后续执行自动修复,其中,持久化库对应上述持久化数据库。另一方面,通过基础对抗措施提高攻击者拦截和篡改数据包的门槛,通过引入关键执行路径标记和组件双向检测机制提高组件致盲的检测能力,经检测被恶意破坏或致盲后,本申请实施例自动从本地加密持久化库中获取对应的服务和安全模块组件,替换现有组件。经检测自动修复仍然不能达到合规状态后,强制退出登录态,禁止终端用户登录,同时提醒用户重新安装版本以恢复合规的产品状态。包括以下步骤一至步骤四,下面具体说明。
在步骤一中,安全客户端安装后,将当前版本各关键安全模块和服务组件存储一份在终端加密的持久化库中,便于后续执行自动修复。
安全客户端安装时,除了在指定的安装目录中释放文件外,还将关键安全模块和服务的可执行PE文件拷贝至加密持久化库中,同时记录各模块的哈希信息,便于后续替换至安装目录,执行自动修复。其中,关键安全模块对应上述目标模块。
在步骤二中,通过基础对抗措施提高攻击者拦截和篡改数据包的门槛。
通过执行如下三种基础加固措施提高攻击者拦截和篡改数据包的门槛:
第一种,周期性检测目录下可执行文件的签名,在服务启动时检测关键模块是否存在缺失。
通过管理端设置检测规则,周期性检测安装目录和第三方相关目录内可执行文件的签名。如果出现没有签名或者出现白名单以外的签名,则标记为异常。在服务启动前检测关键模块是否存在缺失,如果存在缺失,则从加密的持久化库中获取备份的文件,再启动服务,检测是否对应模块的功能是否生效。如果未生效,则标记异常。
第二种,实时检测安全服务加载的模块,检测模块是否存在异常。
在驱动层,通过调用操作系统提供的内核函数接口实现自身安全服务或关键进程的模块加载的检测操作。示例性的,操作系统可以为Windows,内核接口函数可以为PsSetLoadImageNotifyRoutine,原理是在内核下实时检测用户层上模块加载的情况,即通过设置一个回调函数,同时将指向回调函数的指针作为参数调用PsSetLoadImageNotifyRoutine内核函数,其中,回调函数的类型是PLOAD_IMAGE_NOTIFY_ROUTINE。当安全客户端自定义的模块检测到回调函数接收到模块加载信息的时候,用户层上的模块已经加载完成。在自定义回调函数中,可以获取已加载完成的模块的全路径,以及加载该模块的进程PID或特定驱动模块。一方面,本地检测特定的模块是否具备合法的数字签名,且将哈希,版本信息与持久化库中的版本执行对比,检测是否出现不一致的情况。示例性的,存在组件升级版本修复产品漏洞,而攻击者通过手段禁止组件升级,或者攻击者将新版本回退至以前的旧版本,虽然文件合法,但是新版本的安全防护功能失效。另一方面,通过采集到模块全路径和包括文件哈希等特征信息,上报至服务端送检执行常态化检测,其中,服务端可部署于上述服务器中。
第三种,终端和服务端约定标记数据包,由服务端检测在指定的时间窗口内是否收到终端上报的标记数据包
标记数据包包括登录用户、当前设备标识、软硬件信息等数据,由终端在特定业务之前或者之后的时机上报至服务端,例如在登录后立即发起,或者在第一次申请零信任网络访问票据时发起。服务端以此为基准判定终端服务是否被恶意篡改或替换。若规定时间内未收到数据包,则服务端触发终端重试上报,按照约定的规则重试达到最大次数,且间隔时间达到最大约定时间后,若仍未收到指定的数据包,则排除了网络抖动和程序自身缺陷的原因,服务端认定是被安全服务被攻击者篡改或替换,将此设备标记为异常。其中,指定的时间窗口和规定时长对应上述预设时长,最大次数对应上述次数阈值,最大约定时间对应上述间隔阈值。
经过上述逻辑以提高攻击者恶意替换客户端模块文件,拦截和篡改数据包的门槛。
这里,接续上文的步骤二进行说明。
步骤三,引入关键执行路径标记和组件双向检测机制提高组件致盲的检测能力,经检测被恶意破坏或致盲后,本申请实施例自动从本地加密持久化库中获取对应的服务和安全模块组件,替换现有组件。
安全客户端核心组件引入关键执行路径,在关键执行路径之间设置1个或多个双向检测机制,在执行某一个业务逻辑时,如果包含关键执行路径,则检测关键执行路径中的前后状态,以及检测执行路径中是否覆盖关键路径节点。其中,业务逻辑对应上述当前执行业务。
以图10所示的关键路径节点d为例,节点包括逻辑概念上的标识,例如从服务端拉取联网证书的操作。这个业务逻辑包含一个关键路径节点,该关键节点为获取登录票据,在正常获取登录票据的时候,是要求当前状态是登录态,在登录状态的前提下才允许拉取证书,关键路径节点d执行前状态记为d1,表示进程连网是成功的,且终端登录态是正常的,但如果当前是非登录态,却能获取到登录票据,这是非预期的异常状态;关键路径节点d执行后的状态是成功获取到格式合规的票据。
参见图11A至图11D,展示了关键执行路径标记和组件双向检测机制以提高组件致盲的检测能力的四种可能的场景。
场景1,如图11A所示,执行一个业务逻辑需要至少一个安全模块的参与,也可能有超出2个模块,可能由客户端和服务端的接口的调用,如果是一个模块,则是该模块内不同的线程执行体组合操作完成某个业务逻辑,图11A的路径节点表示逻辑执行体。完成此业务逻辑需要经过路径节点a至路径节点f的串行链接才能够完成,其中包括三个关键路径节点b、c和d。在执行每个关键路径前,先检测执行前状态是否符合预设状态,执行完每个关键路径后,还检测执行后的状态是否符合预设状态。如果有其中一项不符合,则标记异常,且中断业务逻辑的执行。
场景2,如图11B所示,与上述场景1类似,同样是经过路径节点a至路径节点f,且包括4个关键路径,与场景1不同的是,关键路径b,c之间组成一个关联性较强的路径组合,两者属于同一进程,不进行组件双向检测,关键路径d与e之间同理组成一个关联性较强的路径组合,不进行组件双向检测,两者属于另一进程。而关键路径c与d之间进行双向检测。除了关键路径之间检测执行前状态和执行后状态,c和d相互之间还主动发起接口的调用和网络的探测。例如关键路径c表示进程1从域名A查询数据D1,关键路径d表示进程2从同一个域名A查询数据D2。c探测到进程1针对域名A的联通性是正常的,而c触发关键路径节点d执行域名A的联通性探测,发现进程2联通域名A失败,经过重试后仍然联通失败,则标记为异常。有可能是攻击者针对单个进程执行联网阻断操作,干扰正常逻辑的执行或通过禁止某个安全服务尝试找出产品的漏洞。
场景3,如图11C所示,与场景2类似,由关键路径c和d构成双向探测;示例性的,某个关键的终端审计需要上报至服务端,关键路径c可代表终端生成审计日志并成功送入发送队列,关键路径d表示数据上报服务运行正常,将该数据成功送往服务端。有一种攻击者干扰的场景是将数据上报服务阻断,导致数据上报异常。关键路径c通过探测数据上报服务是否正常,可与负责上报服务的终端进程执行本地通信,确认数据上报的最终状态,如果异常,则自动执行修复操作
场景4,如图11D所示,与场景1类似,没有双向探测的关键路径,而且关键路径是零散分布,非连续分布的。完成这个业务逻辑一定要包含离散的关键路径b和e,否则即使执行了路径a,c,d和f,漏掉了其中某一个或全部关键路径,业务逻辑均执行不成功。以此可以规避某些恶意代码或模块注入到安全服务中,冒用身份,绕过检测机制,实现正常访问资源或数据的行为。
这里,接续上文的步骤三进行说明。
步骤四,自动从本地加密持久化库中获取对应的服务和安全模块组件,替换现有组件。经检测自动修复仍然不能达到合规状态后,强制退出登录态,禁止终端用户登录,同时提醒用户重新安装版本以恢复合规的产品状态。
在本申请实施例中,经检测某关键服务或进程启动异常,或本地可执行模块对应的PE文件出现异常时,终端自动从本地加密持久化库中获取对应的服务和安全模块组件,执行PE文件替换和模块卸载,并重新装载操作,再测试业务是否正常运行。如果仍运行失败,且文件出现损坏、权限被恶意更改、关键服务启动失败等自动修复失败的场景,安全客户端将执行强制退登操作,禁止终端用户登录,参见图12,同时提醒用户重新安装版本,以获取正常通过零信任网络访问网络以及接入企业内网的权限。
一方面,本申请实施例将安装的当前版本各关键安全模块和服务组件存储一份在终端加密的持久化库中,便于后续执行自动修复。另一方面,通过基础对抗措施提高攻击者拦截和篡改数据包的门槛,通过引入关键执行路径标记和组件双向检测机制提高组件致盲的检测能力,经检测被恶意破坏或致盲后,本申请实施例自动从本地加密持久化库中获取对应的服务和安全模块组件,替换现有组件。经检测自动修复仍然不能达到合规状态后,强制退出登录态,禁止终端用户登录,同时提醒用户重新安装版本以恢复合规的产品状态。本发明可降低企业内设备感染0Day的风险,提升抵御攻击的能力,提高终端零信任网络的安全性和企业办公的安全性。
可以理解的是,在本申请实施例中,涉及到用户信息、目标模块、业务逻辑等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的安全检测装置455的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器450的安全检测装置455中的软件模块可以包括:
第一获取模块4551,用于获取安全客户端的当前执行业务,其中,所述当前执行业务包含至少一个目标节点;
第一确定模块4552,用于确定所述当前执行业务中的当前待执行节点;
第二获取模块4553,用于如果所述当前待执行节点为所述目标节点,获取所述安全客户端当前所处的第一状态;
第三获取模块4554,用于执行所述当前待执行节点,并获取执行所述当前待执行节点之后所述安全客户端所处的第二状态;
第二确定模块4555,用于基于所述第一状态和所述第二状态,确定所述安全客户端的实时安全检测结果。
在一些实施例中,所述第二确定模块4555还用于:
获取所述当前待执行节点执行之前所述安全客户端对应的预期执行前状态,和执行所述当前待执行节点之后所述安全客户端对应的预期执行后状态;
当所述第一状态和所述预期执行前状态不一致,或者所述第二状态和所述预期执行后状态不一致,确定所述实时安全检测结果为异常;
当所述第一状态和所述预期执行前状态一致,且所述第二状态和所述预期执行后状态一致,确定所述实时安全检测结果为正常。
在一些实施例中,所述装置还包括:
第四获取模块,用于当所述至少一个目标节点包含具备双向检测的第一目标节点和第二目标节点时,获取所述第一目标节点中第一进程的第一参考执行过程和所述第二目标节点中第二进程的第二参考执行过程;
第三确定模块,用于确定所述第一参考执行过程对应的第一校验标准,和所述第二参考执行过程对应的第二校验标准;
第一校验模块,用于利用所述第二目标节点基于所述第一校验标准对所述第一进程进行校验,得到第一校验结果;
第二校验模块,用于利用所述第一目标节点基于所述第二校验标准对所述第二进程进行校验,得到第二校验结果;
第四确定模块,用于当所述第一校验结果和所述第二校验结果至少之一为校验失败时,确定所述实时安全检测结果为异常;
第五确定模块,用于当所述第一校验结果和所述第二校验结果均为校验成功时,确定所述实时安全检测结果为正常。
在一些实施例中,所述装置还包括:
第五获取模块,用于当所述当前执行业务执行完成之后,获取执行所述当前执行业务的实际执行路径;
第六确定模块,用于如果所述实际执行路径不包含任一目标节点,确定所述安全客户端的第一安全检测结果为异常。
在一些实施例中,所述装置还包括:
第一发送模块,用于当所述业务逻辑为目标业务逻辑时,向服务器发送标记数据包,以使得所述服务器在预设时长内接收到所述标记数据包;
第二发送模块,用于当接收到所述服务器发送的重发请求时,响应于所述重发请求再次向所述服务器发送所述标记数据包。
在一些实施例中,所述装置还包括:
第六获取模块,用于周期性从所述安全客户端的安装目录下获取可执行文件的签名信息;
第七获取模块,用于当所述可执行文件的签名信息包含于白名单信息集合时,获取所述可执行文件中预设的目标模块的待检测属性信息,其中,所述待检测属性信息至少包括所述目标模块的标识信息和所述目标模块的信息摘要;
第一检测模块,用于基于参考属性信息和所述待检测属性信息对所述安全客户端进行安全检测,得到所述安全客户端的第二安全检测结果。
在一些实施例中,所述第一检测模块还用于:
获取所述可执行文件的当前版本信息;
基于所述当前版本信息确定所述参考属性信息,其中,所述参考属性信息为执行所述可执行文件所需的参考模块的属性信息,所述参考属性信息至少包括所述参考模块的参考标识信息和所述参考模块的参考信息摘要;
当所述参考标识信息包含于所述目标模块的标识信息,且所述参考信息摘要与所述目标模块的信息摘要一致时,确定所述第二安全检测结果为正常。
在一些实施例中,所述装置还包括:
第七确定模块,用于当满足以下条件至少之一时,确定所述第二安全检测结果为异常:
所述可执行文件的签名信息不包含于所述白名单集合;
所述可执行文件的签名信息为空;
所述参考标识信息不包含于所述目标模块的标识信息;
所述参考信息摘要与所述目标模块的信息摘要不一致。
在一些实施例中,所述装置还包括:
响应模块,用于响应于安全客户端的安装指令,安装所述安全客户端,并将所述安全客户端的参考模块和服务组件备份于持久化数据库,其中,所述服务组件为所述安全客户端的可执行文件所包含的服务组件;
替换模块,用于当所述实时安全检测结果、所述第一安全检测结果、所述第二安全检测结果中至少之一为异常时,利用所述持久化数据库中安全模块和服务组件替换安装目录下的安全模块和服务组件;
运行模块,用于再次运行所述当前执行业务,得到第三安全检测结果。
在一些实施例中,所述装置还包括:
调整模块,用于如果所述第三安全检测结果为异常,将所述安全客户端由登录状态调整为非登陆状态;
生成模块,用于基于所述第三安全检测结果生成提示消息,其中,所述提示消息用于提示重新安装所述安全客户端;
输出模块,用于输出所述提示消息。
需要说明的是,本申请实施例针对安全检测装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本申请实施例上述的安全检测方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的安全检测方法,例如,如图4、图5、图6、图7、图8至图9示出的安全检测方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (14)

1.一种安全检测方法,其特征在于,所述方法包括:
获取安全客户端的当前执行业务,其中,所述当前执行业务包含至少一个目标节点;
确定所述当前执行业务中的当前待执行节点;
如果所述当前待执行节点为所述目标节点,获取所述安全客户端当前所处的第一状态;
执行所述当前待执行节点,并获取执行所述当前待执行节点之后所述安全客户端所处的第二状态;
基于所述第一状态和所述第二状态,确定所述安全客户端的实时安全检测结果。
2.根据权利要求1中所述的方法,其特征在于,所述基于所述第一状态和所述第二状态,确定所述安全客户端的实时安全检测结果,包括:
获取所述当前待执行节点执行之前所述安全客户端对应的预期执行前状态,和执行所述当前待执行节点之后所述安全客户端对应的预期执行后状态;
当所述第一状态和所述预期执行前状态不一致,或者所述第二状态和所述预期执行后状态不一致,确定所述实时安全检测结果为异常;
当所述第一状态和所述预期执行前状态一致,且所述第二状态和所述预期执行后状态一致,确定所述实时安全检测结果为正常。
3.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
当所述至少一个目标节点包含具备双向检测的第一目标节点和第二目标节点时,获取所述第一目标节点中第一进程的第一参考执行过程和所述第二目标节点中第二进程的第二参考执行过程;
确定所述第一参考执行过程对应的第一校验标准,和所述第二参考执行过程对应的第二校验标准;
利用所述第二目标节点基于所述第一校验标准对所述第一进程进行校验,得到第一校验结果;
利用所述第一目标节点基于所述第二校验标准对所述第二进程进行校验,得到第二校验结果;
当所述第一校验结果和所述第二校验结果至少之一为校验失败时,确定所述实时安全检测结果为异常;
当所述第一校验结果和所述第二校验结果均为校验成功时,确定所述实时安全检测结果为正常。
4.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
当所述当前执行业务执行完成之后,获取执行所述当前执行业务的实际执行路径;
如果所述实际执行路径不包含任一目标节点,确定所述安全客户端的第一安全检测结果为异常。
5.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
当所述当前执行业务为目标业务时,向服务器发送标记数据包,以使得所述服务器在预设时长内接收到所述标记数据包;
当接收到所述服务器发送的重发请求时,响应于所述重发请求再次向所述服务器发送所述标记数据包。
6.根据权利要求4中所述的方法,其特征在于,所述方法还包括:
周期性从所述安全客户端的安装目录下获取可执行文件的签名信息;
当所述可执行文件的签名信息包含于白名单信息集合时,获取所述可执行文件中预设的目标模块的待检测属性信息,其中,所述待检测属性信息至少包括所述目标模块的标识信息和所述目标模块的信息摘要;
基于参考属性信息和所述待检测属性信息对所述安全客户端进行安全检测,得到所述安全客户端的第二安全检测结果。
7.根据权利要求6中所述的方法,其特征在于,所述基于参考属性信息和所述待检测属性信息对所述安全客户端进行安全检测,得到所述安全客户端的第二安全检测结果,包括:
获取所述可执行文件的当前版本信息;
基于所述当前版本信息确定所述参考属性信息,其中,所述参考属性信息为执行所述可执行文件所需的参考模块的属性信息,所述参考属性信息至少包括所述参考模块的参考标识信息和所述参考模块的参考信息摘要;
当所述参考标识信息包含于所述目标模块的标识信息,且所述参考信息摘要与所述目标模块的信息摘要一致时,确定所述第二安全检测结果为正常。
8.根据权利要求7中所述的方法,其特征在于,所述方法还包括:
当满足以下条件至少之一时,确定所述第二安全检测结果为异常:
所述可执行文件的签名信息不包含于所述白名单集合;
所述可执行文件的签名信息为空;
所述参考标识信息不包含于所述目标模块的标识信息;
所述参考信息摘要与所述目标模块的信息摘要不一致。
9.根据权利要求6至8中任一项所述的方法,其特征在于,所述方法还包括:
响应于安全客户端的安装指令,安装所述安全客户端,并将所述安全客户端的参考模块和服务组件备份于持久化数据库,其中,所述服务组件为所述安全客户端的可执行文件所包含的服务组件;
当所述实时安全检测结果、所述第一安全检测结果、所述第二安全检测结果中至少之一为异常时,利用所述持久化数据库中安全模块和服务组件替换安装目录下的安全模块和服务组件;
再次运行所述当前执行业务,得到第三安全检测结果。
10.根据权利要求9中所述的方法,其特征在于,所述方法还包括:
如果所述第三安全检测结果为异常,将所述安全客户端由登录状态调整为非登陆状态;
基于所述第三安全检测结果生成提示消息,其中,所述提示消息用于提示重新安装所述安全客户端;
输出所述提示消息。
11.一种安全检测装置,其特征在于,所述装置包括:
第一获取模块,用于获取安全客户端的当前执行业务,其中,所述当前执行业务包含至少一个目标节点;
第一确定模块,用于确定所述当前执行业务中的当前待执行节点;
第二获取模块,用于如果所述当前待执行节点为所述目标节点,获取所述安全客户端当前所处的第一状态;
第三获取模块,用于执行所述当前待执行节点,并获取执行所述当前待执行节点之后所述安全客户端所处的第二状态;
第二确定模块,用于基于所述第一状态和所述第二状态,确定所述安全客户端的实时安全检测结果。
12.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现权利要求1至10任一项所述的安全检测方法。
13.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时实现权利要求1至10任一项所述的安全检测方法。
14.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时实现权利要求1至10任一项所述的安全检测方法。
CN202211511273.3A 2022-11-29 2022-11-29 安全检测方法、装置、设备及计算机程序产品 Pending CN116961977A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211511273.3A CN116961977A (zh) 2022-11-29 2022-11-29 安全检测方法、装置、设备及计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211511273.3A CN116961977A (zh) 2022-11-29 2022-11-29 安全检测方法、装置、设备及计算机程序产品

Publications (1)

Publication Number Publication Date
CN116961977A true CN116961977A (zh) 2023-10-27

Family

ID=88447985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211511273.3A Pending CN116961977A (zh) 2022-11-29 2022-11-29 安全检测方法、装置、设备及计算机程序产品

Country Status (1)

Country Link
CN (1) CN116961977A (zh)

Similar Documents

Publication Publication Date Title
US11489855B2 (en) System and method of adding tags for use in detecting computer attacks
US10447730B2 (en) Detection of SQL injection attacks
JP6019484B2 (ja) サーバで結合されたマルウェア防止のためのシステムと方法
US9973531B1 (en) Shellcode detection
US7870242B2 (en) Flexible compliance agent with integrated remediation
US7437766B2 (en) Method and apparatus providing deception and/or altered operation in an information system operating system
US7296274B2 (en) Method and apparatus providing deception and/or altered execution of logic in an information system
US8219496B2 (en) Method of and apparatus for ascertaining the status of a data processing environment
US20080320583A1 (en) Method for Managing a Virtual Machine
US20090271863A1 (en) Identifying unauthorized privilege escalations
US20140181972A1 (en) Preventive intrusion device and method for mobile devices
KR101414084B1 (ko) 모바일 단말의 악성 어플리케이션 탐지 시스템 및 방법
US11580230B2 (en) System and method for assessing software containers for vulnerabilities
US10771477B2 (en) Mitigating communications and control attempts
RU2661533C1 (ru) Система и способ обнаружения признаков компьютерной атаки
Wong et al. On the security of containers: Threat modeling, attack analysis, and mitigation strategies
CN115701019A (zh) 零信任网络的访问请求处理方法、装置及电子设备
Xing et al. Unauthorized cross-app resource access on mac os x and ios
Zeng et al. Full-stack vulnerability analysis of the cloud-native platform
Ravindran et al. A Review on Web Application Vulnerability Assessment and Penetration Testing.
CN110086812B (zh) 一种安全可控的内网安全巡警系统及方法
CN116415300A (zh) 基于eBPF的文件保护方法、装置、设备和介质
US20230319112A1 (en) Admission control in a containerized computing environment
CN116961977A (zh) 安全检测方法、装置、设备及计算机程序产品
CN113868670A (zh) 一种漏洞检测流程检验方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication