CN115904605A - 软件防御方法以及相关设备 - Google Patents
软件防御方法以及相关设备 Download PDFInfo
- Publication number
- CN115904605A CN115904605A CN202111161950.9A CN202111161950A CN115904605A CN 115904605 A CN115904605 A CN 115904605A CN 202111161950 A CN202111161950 A CN 202111161950A CN 115904605 A CN115904605 A CN 115904605A
- Authority
- CN
- China
- Prior art keywords
- software
- target
- abnormal
- virtual machine
- behavior
- 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
-
- 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
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种软件防御方法以及相关设备,相关实施例可应用于云技术、云安全、人工智能、智慧交通等各种场景。该防御方法涉及云安全领域中的网络攻击防护,可以通过在目标设备上创建宿主机的目标虚拟机执行目标软件的数据处理,并通过所述宿主机获取目标虚拟机在数据处理过程中的行为数据;根据异常软件监控策略对所述行为数据进行异常识别;基于异常识别结果触发宿主机执行针对所述目标软件的目标防御响应行为。本申请实施例可以从宿主机层面对虚拟机进行监控,当虚拟机中异常软件触发了异常软件监控策略时,通过宿主机层面进行防御响应,不需要提前设置诱饵文件,能够有效防范异常软件的攻击,提高了计算机网络应用的安全性。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种软件防御方法以及相关设备。
背景技术
随着互联网技术的飞速发展,网络攻击方式呈现多样化发展的势头,恶意软件攻击等威胁网络安全的事件时有发生。勒索软件是一类采用加密用户文件或进行原文件删除等破坏性的行为方式,使用户数据资产或计算资源无法正常使用,并以此为条件向用户勒索钱财的一种恶意软件。为了保障网络环境的安全,避免可能发生的数据丢失或者经济损失,需要对这些恶意软件进行防范。
在目前的相关技术中,一般通过构建符合勒索软件加密类型的诱饵文件,并***到欲保护磁盘原有的文件序列中;通过监控诱饵文件是否发生变化来起到预警勒索软件和保护磁盘其它文件的作用。但是,这样需要提前在操作***中设置诱饵文件,且当勒索软件变更扫描顺序时,会导致诱饵文件失效,即加密多个文件后依然没有加密到诱饵文件,从而导致防范失效。
发明内容
本申请实施例提供一种软件防御方法以及相关设备,相关设备可以包括软件防御装置、电子设备、计算机可读存储介质和计算机程序产品,能够有效防范异常软件的攻击,提高了计算机网络应用的安全性。
本申请实施例提供一种软件防御方法,包括:
在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理;
通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息;
根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果;
基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。
相应的,本申请实施例提供一种软件防御装置,包括:
创建单元,用于在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理;
获取单元,用于通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息;
识别单元,用于根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果;
防御单元,用于基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。
可选的,在本申请的一些实施例中,所述获取单元可以包括管理器识别子单元、发送子单元和行为获取子单元,如下:
所述管理器识别子单元,用于识别所述宿主机中管理所述目标虚拟机的虚拟机管理器;
发送子单元,用于通过所述虚拟机管理器向所述目标虚拟机发送监控指令;
行为获取子单元,用于根据所述监控指令,获取所述目标虚拟机在所述数据处理过程中的行为数据。
可选的,在本申请的一些实施例中,所述识别单元可以包括策略获取子单元、识别子单元和获取子单元,如下:
所述策略获取子单元,用于获取异常软件对应的监控策略集合,所述监控策略集合包括至少一个异常软件监控策略;
识别子单元,用于识别所述行为数据是否命中所述监控策略集合中任意的异常软件监控策略;
获取子单元,用于根据策略命中结果,获取针对所述目标软件的异常识别结果。
可选的,在本申请的一些实施例中,所述获取子单元具体可以用于当策略命中结果为所述行为数据没有命中所述监控策略集合中任意的异常软件监控策略时,获取组合异常软件监控策略;识别所述行为数据是否命中所述组合异常软件监控策略;根据组合策略命中结果,获取针对所述目标软件的异常识别结果。
可选的,在本申请的一些实施例中,步骤“获取组合异常软件监控策略”,可以包括:
确定异常软件的监控时间段;
根据所述监控时间段以及目标行为信息,获取组合异常软件监控策略,所述目标行为信息为所述异常软件针对数据读写的行为信息。
可选的,在本申请的一些实施例中,所述行为数据包括当前行为数据和历史行为数据;
步骤“识别所述行为数据是否命中所述组合异常软件监控策略”,可以包括:
对所述当前行为数据和所述历史行为数据进行统计分析,得到行为分析结果;
识别所述行为分析结果是否命中所述组合异常软件监控策略。
可选的,在本申请的一些实施例中,所述策略获取子单元还可以用于对异常软件对应的至少一个异常行为进行分析,得到异常分析结果;根据所述异常分析结果进行异常软件监控策略的构建处理;根据构建得到的异常软件监控策略,对所述监控策略集合进行更新。
可选的,在本申请的一些实施例中,所述行为数据包括所述目标软件中子进程对应的父进程;所述识别子单元具体可以用于对所述目标软件中子进程对应的父进程进行识别;对识别得到的父进程是否为预设***进程进行判断。
可选的,在本申请的一些实施例中,所述防御单元可以包括设置识别子单元和第一执行子单元,如下:
所述设置识别子单元,用于当所述异常识别结果为所述行为数据命中所述异常软件监控策略时,对所述异常软件监控策略进行防御响应行为设置的识别;
第一执行子单元,用于当识别到所述异常软件监控策略设置了相应的针对所述目标软件的目标防御响应行为时,触发所述宿主机执行所述目标防御响应行为。
可选的,在本申请的一些实施例中,所述防御单元可以包括重要指标识别子单元、防御级别确定子单元和第二执行子单元,如下:
所述重要指标识别子单元,用于识别所述目标虚拟机中数据的重要指标;
防御级别确定子单元,用于从预设防御响应级别中确定与所述重要指标匹配的目标防御响应级别;
第二执行子单元,用于基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的所述目标防御响应级别下的目标防御响应行为。
本申请实施例提供的一种电子设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令,以执行本申请实施例提供的软件防御方法中的步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本申请实施例提供的软件防御方法中的步骤。
此外,本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现本申请实施例提供的软件防御方法中的步骤。
本申请实施例提供了一种软件防御方法以及相关设备,可以在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理;通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息;根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果;基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。本申请实施例可以从宿主机层面对虚拟机进行监控,当虚拟机中异常软件触发了异常软件监控策略时,通过宿主机层面进行防御响应,不需要提前设置诱饵文件,也可以应对异常软件的扫描规则变更行为的情况,能够有效防范异常软件的攻击,提高了计算机网络应用的安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的软件防御方法的场景示意图;
图1b是本申请实施例提供的软件防御方法的流程图;
图1c是本申请实施例提供的软件防御方法的说明图;
图1d是本申请实施例提供的软件防御方法的另一流程图;
图1e是本申请实施例提供的软件防御方法的***架构图;
图1f是本申请实施例提供的软件防御方法的另一流程图;
图2是本申请实施例提供的软件防御方法的另一流程图;
图3是本申请实施例提供的软件防御装置的结构示意图;
图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种软件防御方法以及相关设备,相关设备可以包括软件防御装置、电子设备、计算机可读存储介质和计算机程序产品。该软件防御装置具体可以集成在电子设备中,该电子设备可以是终端或服务器等设备。
可以理解的是,本实施例的软件防御方法可以是在终端上执行的,也可以是在服务器上执行,还可以由终端和服务器共同执行的。以上举例不应理解为对本申请的限制。
如图1a所示,以终端和服务器共同执行软件防御方法为例。本申请实施例提供的软件防御***包括终端10和服务器11等;终端10与服务器11之间通过网络连接,比如,通过有线或无线网络连接等,其中,软件防御装置可以集成在服务器中。
其中,服务器11,可以用于:在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理;通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息;根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果;基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。其中,服务器11可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云计算服务的云服务器。本申请所公开的软件防御方法或装置,其中多个服务器可组成为一区块链,而服务器为区块链上的节点。
其中,终端10可以用于接收服务器11发送的:目标软件对应的行为数据所触发的异常软件监控策略、针对目标软件的防御响应行为、以及收集到的恶意软件的攻击次数等信息,以便将这些信息汇总到软件防御过程展示平台进行展示,从而对恶意软件的攻击和防御响应的整体情况进行呈现。其中,终端10可以包括智能手机、智能电视、平板电脑、笔记本电脑、台式计算机、智能语音交互设备、智能家电、智能手表、车载终端等,但并不局限于此。终端10上还可以设置客户端,该客户端可以是应用程序客户端或浏览器客户端等等。
上述服务器11进行软件防御的步骤,也可以由终端10执行。
本申请实施例提供的软件防御方法涉及云技术领域中的云安全方向。
其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
其中,云安全(Cloud Security)是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,并发送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。云安全主要研究方向包括:1.云计算安全,主要研究如何保障云自身及云上各种应用的安全,包括云计算机***安全、用户数据的安全存储与隔离、用户接入认证、信息传输安全、网络攻击防护、合规审计等;2.安全基础设施的云化,主要研究如何采用云计算新建与整合安全基础设施资源,优化安全防护机制,包括通过云计算技术构建超大规模安全事件、信息采集与处理平台,实现对海量信息的采集与关联分析,提升全网安全事件把控能力及风险控制能力;3.云安全服务,主要研究各种基于云计算平台为用户提供的安全服务,如防病毒服务等。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从软件防御装置的角度进行描述,该软件防御装置具体可以集成在电子设备中,该电子设备可以是服务器或终端等设备。
如图1b所示,该软件防御方法的具体流程可以如下:
101、在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理。
其中,目标设备可以是计算机设备等。宿主机具体即主机,这个概念是相对于子机(虚拟机)而言的。虚拟机是安装在主机上的,主机就是一个“宿主”。目标设备上可以包括一个或者多个虚拟机。虚拟机(Virtual Machine,VM)是宿主机所实现的虚拟化场景,或者说,虚拟机是运行于宿主机通过虚拟化工具而构建的虚拟化环境中的。例如,该虚拟化工具可以为kvm,宿主机构建了kvm虚拟化架构这一虚拟化环境,将为虚拟机实现了内存虚拟化和CPU(central processing unit,中央处理器)虚拟化。其中,kvm,全称为Kernel-basedVirtual Machine,即基于内核的虚拟计算机,它是一个开源的***虚拟化模块。
虚拟机是通过软件模拟的具有完整硬件***功能的、运行在物理机的一个完全隔离环境中的完整计算机***。其上可以安装操作***和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。
本实施例中,目标虚拟机具体可以是需要进行恶意软件行为检测以及防范的虚拟机。目标软件为在目标虚拟机上运行的软件。
其中,恶意软件具体可以为勒索软件,勒索软件(ransomware)是一种流行的木马,通过骚扰、恐吓甚至采用绑架用户文件等方式,使用户数据资产或计算资源无法正常使用,并以此为条件向用户勒索钱财。这类用户数据资产包括文档、邮件、数据库、源代码、图片、压缩文件等多种文件。赎金形式可以包括真实货币、比特币或其它虚拟货币。
此外,需要说明的是,宿主机将为虚拟机提供可供使用的物理资源,例如,各种硬件的调用。因此,虚拟机所产生内存操作的机器指令是在宿主机的物理内存上执行的,也就是说,虚拟机所进行的内存访问,是针对于宿主机的物理内存实现的。
对于虚拟机所产生内存操作的机器指令,将被所在虚拟化环境对应的虚拟化工具所捕获,通过虚拟化工具运行此机器指令,或者根据此机器指令所指示内存操作访问的虚拟地址进行物理地址的转换方能够完成此机器指令。
102、通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息。
具体地,一些实施例中,宿主机可以通过虚拟化技术基于预设的底层代码实现对目标虚拟机的监控,目标虚拟机没有感知,无需通过虚拟机管理器发送监控指令。虚拟机管理器可以用于查看虚拟机的资源分配,如内存分配等。
可选地,一些实施例中,步骤“通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据”,可以包括:
识别所述宿主机中管理所述目标虚拟机的虚拟机管理器;
通过所述虚拟机管理器向所述目标虚拟机发送监控指令;
根据所述监控指令,获取所述目标虚拟机在所述数据处理过程中的行为数据。
其中,虚拟机管理器(VMM,Virtual Machine Manager)可以提供设置和管理虚拟机的服务。当目标虚拟机接收到虚拟机管理器发送的监控指令时,目标虚拟机可以向虚拟机管理器发送其在目标软件的数据处理过程中的行为数据。
其中,行为数据具体可以包括通过目标虚拟机执行目标软件的过程中产生的数据,如读取文件数量、访问文件的时间等。通过对这些行为数据进行分析,可以获知目标虚拟机的内部状态信息,比如,若行为数据表明目标软件在短时间内读取文件的数量较高,则说明目标软件有较大概率存在异常,目标虚拟机可能存在被恶意软件攻击的风险。
本实施例中,可以通过虚拟机自省技术来实现对恶意软件的有效防范。虚拟机自省(VMI,Virtual Machine Introspection)技术具体可以依赖宿主机上的虚拟机管理器来获取虚拟机内部的信息。它是一种用于监视和获取虚拟机内部状态信息的方法,这些内部状态信息可以包括内存使用情况,磁盘空间的使用情况,以及操作***日志文件的数据等等。该方法具体可以是通过Hypervisor来获取运行在宿主机上虚拟机的内部二进制数据,利用预知操作***知识来桥接二进制数据和虚拟机***层次信息之间的语义隔离,从而进一步获取虚拟机内部状态的方法。简单来说,也就是在虚拟机无感知且不在虚拟机内部操作***额外安装应用或者驱动的情况下,利用已知的操作***信息,获知虚拟机内部状态信息的方法。
其中,Hypervisor为虚拟机监视器或虚拟机管理器,它是一种运行在物理服务器和操作***之间的中间层软件,允许多个操作***和应用共享一套基础物理硬件。具体地,可以将Hypervisor看作是虚拟环境中的元操作***,用于协调访问服务器上的所有物理设备和虚拟机;Hypervisor层可以负责管理目标虚拟机。
如图1c所示,为虚拟机自省技术对应的说明图,宿主机可以通过虚拟化技术构建虚拟化环境,以使得虚拟机在该虚拟化环境中运行,该虚拟化环境可以运行一个或者多个虚拟机。各虚拟机对应的操作***可以相同,也可以不同,本实施例对此不作限制;其操作***可以包括Windows和Linux平台等。其中,Linux具体可以包括CentOS以及Ubuntu等。此外,宿主机还可以通过虚拟机自省技术来获取各虚拟机的内部状态信息,以对虚拟机进行监控。
其中,该虚拟化技术可以有多种,本实施例对此不作限制。比如,该虚拟化技术可以是xen、kvm等。其中,xen是一个开放源代码虚拟机监视器,它无需特殊硬件支持,就能达到高性能的虚拟化。kvm一般可以和qemu配合使用,qemu(Quick EMUlator,快速模拟器)是一种虚拟操作***模拟器。
其中,在一具体实施例中,宿主机所构建的虚拟化环境上运行有四个被监控的虚拟机,分别记为vm1、vm2、vm3以及vm4,虚拟机vm1的操作***可以是Windows,虚拟机vm2的操作***可以是WinServer,虚拟机vm3的操作***可以是CentOS,虚拟机vm4的操作***可以是Ubuntu。
其中,CentOS的全称为Community Enterprise Operating System,即社区企业操作***,它是一种开源的、可以重新分发的开源操作***。Ubuntu是适用于企业服务器、桌面电脑、云、物联网(IoT,Internet of Things)的现代化开源Linux操作***。
勒索软件是目前频发的安全事件,其技术本身相对简单,具有分发复制简便、易于传播的特性,很容易造成数据丢失、数据损坏的情况。而绝大部分情况下,这些丢失或损坏的数据基本不可能找回来,因此对勒索软件的攻击防御以及处理恢复具有重大的意义。目前越来越多的企业使用私有云或者远程桌面的形式进行办公资产的集中管理,基于虚拟机自省技术的优势,本申请可以利用虚拟机自省技术来进行勒索软件的攻击防御以及处理恢复。本申请提供的虚拟机恶意软件行为检测方法可以适用于各种操作平台,如Linux平台、Windows平台等。因此,目标虚拟机既可以为Linux平台,也可以为Windows平台等。当目标虚拟机为Linux平台时,目标虚拟机的操作***可以是Ubuntu、CentOS、Fedora、Debian等,本实施例对此不做限制。其中,Fedora是一款面向日常应用的快速、稳定、强大的操作***。Debian是属于Linux的一种操作***。
103、根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果。
勒索软件在攻击感染***后,通常具有一些比较固定的异常行为,比如:短时间内多次调用***加密函数、短时间内大量读写文件数据等,通过对这些行为的预知,可以提前设置好策略,以便在目标虚拟机触发这些异常行为时进行下一步的响应。本实施例可以通过预设的异常软件监控策略,来对目标虚拟机的行为数据进行异常识别,从而确定目标虚拟机是否存在被恶意软件攻击的情况。
可选地,本实施例中,步骤“根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果”,可以包括:
获取异常软件对应的监控策略集合,所述监控策略集合包括至少一个异常软件监控策略;
识别所述行为数据是否命中所述监控策略集合中任意的异常软件监控策略;
根据策略命中结果,获取针对所述目标软件的异常识别结果。
其中,该异常软件监控策略具体可以是通过对恶意软件的异常行为进行分析得到的,它可以从加密函数调用、多个子进程、短时间内多个文件读写等各个方面进行设置。
其中,若该行为数据命中监控策略集合中的任意异常软件监控策略,则可以判断目标虚拟机中该目标软件存在异常。若该行为数据没有命中监控策略集合中的任意异常软件监控策略,则可以对行为数据进行进一步的异常识别,也可以判别目标虚拟机中运行的目标软件不存在异常,具体可根据实际情况进行设置,本实施例对此不作限制。如可以根据目标虚拟机中存储数据对应的安全级别进行设置。
可选地,本实施例中,该软件防御方法还可以包括:
对异常软件对应的至少一个异常行为进行分析,得到异常分析结果;
根据所述异常分析结果进行异常软件监控策略的构建处理;
根据构建得到的异常软件监控策略,对所述监控策略集合进行更新。
其中,异常软件具体可以是勒索软件等恶意软件。对异常软件的异常行为进行分析,比如勒索软件通常是以正常软件执行过程中以解压缩释放的方式生成的,因此可以得出“勒索软件会以子进程的形式运行”的异常分析结果,针对该异常分析结果,可以将异常软件监控策略设置为目标软件中子进程对应的父进程为非***进程。
又比如,勒索软件攻击时通常会对用户文件进行加密,因此可以得出“勒索软件会在短时间内多次调用加密函数”的异常分析结果,针对该异常分析结果,可以将异常软件监控策略设置为在预设时间内调用加密函数的次数超过预设次数,其中,预设时间和预设次数可以根据实际情况进行设置。
需要说明的是,本实施例所使用的异常软件监控策略包含但不限于上述列举,后续有新的异常软件行为时,可以根据新的异常软件行为构建新的异常软件监控策略,并将新构建的异常软件监控策略添加到监控策略集合中,即对监控策略集合进行更新。
可选地,本实施例中,所述行为数据包括所述目标软件中子进程对应的父进程;
步骤“识别所述行为数据是否命中所述监控策略集合中任意的异常软件监控策略”,可以包括:
对所述目标软件中子进程对应的父进程进行识别;
对识别得到的父进程是否为预设***进程进行判断。
其中,对目标软件中子进程对应的父进程进行识别,具体是识别该父进程是否为预设***进程。若为非预设***进程,则可以判断目标虚拟机中目标软件存在异常,可能存在被恶意软件攻击的情况。若该父进程属于预设***进程,则可以认为目标软件没有存在异常,也可以针对行为数据进行进一步的异常识别。预设***进程具体可以是该目标软件在正常情况下进行数据处理对应的程序或操作。
其中,根据对勒索软件的分析,一些勒索软件是以单独执行的程序运行的;也有一些勒索软件并非以直接的可执行程序运行,而是作为正常软件的一部分隐藏在正常软件中。当正常软件执行后,这些勒索软件在此过程中通过解压缩释放的方式生成,此时勒索软件对应的进程会以子进程的形式运行,也就是说其父进程为前一正常软件进程,因此可以将勒索软件的触发策略设置为新进程的创建父进程为非***进程。
可选地,本实施例中,步骤“根据策略命中结果,获取针对所述目标软件的异常识别结果”,可以包括:
当策略命中结果为所述行为数据没有命中所述监控策略集合中任意的异常软件监控策略时,获取组合异常软件监控策略;
识别所述行为数据是否命中所述组合异常软件监控策略;
根据组合策略命中结果,获取针对所述目标软件的异常识别结果。
其中,当该行为数据没有命中监控策略集合中的任意异常软件监控策略时,可以对行为数据进行进一步的异常识别,具体地,可以获取组合异常软件监控策略,通过判断行为数据是否命中该组合异常软件监控策略,来进一步确定目标虚拟机中目标软件是否存在异常。若行为数据命中组合异常软件监控策略,则可以认为目标软件存在异常,目标虚拟机可能存在被恶意软件攻击的风险。若行为数据没有命中组合异常软件监控策略,则可以认为目标软件未存在异常。
其中,组合异常软件监控策略具体可以是根据一定监控时长的异常行为制定的,本实施例对此不作限制。比如,组合异常软件监控策略可以是短时间(比如30s)内多个(比如指定10个)文档类型的文件读写。
可选地,本实施例中,步骤“获取组合异常软件监控策略”,可以包括:
确定异常软件的监控时间段;
根据所述监控时间段以及目标行为信息,获取组合异常软件监控策略,所述目标行为信息为所述异常软件针对数据读写的行为信息。
其中,上述实施例中的异常软件监控策略具体可以是实时基于行为数据进行目标软件的异常检测,而组合异常软件监控策略相比于异常软件监控策略,其对目标软件的异常行为检测是非实时的,相对存在一定的时间延迟;也就是说,组合异常软件监控策略需要获取一段时间的行为数据,即结合历史行为数据和当前行为数据,来判断目标软件是否存在异常。
其中,异常软件的监控时间段具体即进行异常行为分析所需要获取的行为数据的时长,它可以根据实际情况进行设置,组合异常软件监控策略可以根据所需监控时长进行相应的设置。目标行为信息可以包括异常软件读取文件的数量以及频次等行为信息。
比如,该监控时间段可以设置为30秒,目标行为信息为文件读写的数量,则组合异常软件监控策略可以设置为30秒内读写文件的数量超过10个。
一些实施例中,根据对勒索软件的分析,勒索软件的加密行为通常在极短时间内自动发生的。勒索软件进行***攻击的第一步即获取其需要进行加密的文件列表,这些文件列表可能是某些固定的文件类型,或者是非***文件夹文件等;当获取文件列表后,需要对文件进行频繁的读写从而进行文件加密。基于加密速度和文件大小的考虑,通常来说,一般正常用户的操作行为或者正常软件的操作行为,一次仅会对1个文件进行操作,因此如果在短时间内发生的文件读写数目或文件读写频次过高,则可以判断是属于勒索软件的异常行为,依此可制定针对该异常行为的组合异常软件监控策略。
可选地,本实施例中,所述行为数据包括当前行为数据和历史行为数据;
步骤“识别所述行为数据是否命中所述组合异常软件监控策略”,可以包括:
对所述当前行为数据和所述历史行为数据进行统计分析,得到行为分析结果;
识别所述行为分析结果是否命中所述组合异常软件监控策略。
其中,可以结合当前行为数据和历史行为数据,对目标软件进行异常行为检测。比如,当前行为数据和历史行为数据表征了目标软件在各时间点读取的文件信息(如文件数量),则可以结合当前行为数据和历史行为数据进行统计分析,确定目标软件在预设时间内读取文件的数量,若统计分析得到的行为分析结果为:目标软件在20秒内读取文件的数量超过10个,而组合异常软件监控策略为:30秒内读写文件的数量超过10个,则该行为分析结果命中组合异常软件监控策略,可以判断目标软件存在异常,目标虚拟机可能存在被恶意软件攻击的风险。
其中,宿主机获取到目标虚拟机在数据处理过程中的行为数据后,可以将收集到的行为数据存储到预设行为数据库中,以便后续基于组合异常软件监控策略进行目标软件的异常行为检测。预设行为数据库中存储的行为数据即历史行为数据。其中,该预设行为数据库可以是redis数据库、splunk数据库、ES数据库等,本实施例对此不作限制。
其中,Redis,即远程字典服务器Remote Dictionary Server,它是一种高性能的关键字-值(key-value)数据库,是一个内存存储***,通常被称为数据结构服务器。splunk是一个托管的日志文件管理工具,使用splunk可收集、索引和利用所有应用程序、服务器和设备生成的快速移动型计算机数据。ES,全称为Elasticsearch,是一种开源搜索框架,它提供了一个分布式多用户能力的全文搜索引擎,能够很方便的使大量数据具有搜索、分析和探索的能力。
104、基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。
其中,若该异常识别结果表明目标软件存在异常,目标虚拟机存在被恶意软件攻击的风险,则可以触发针对异常软件的防御响应行为,其中,该防御响应行为具体可以是预先设置好的,它可以是针对所触发的异常软件监控策略所设置的;也可以是默认统一的响应行为,即触发不同异常软件监控策略,所响应的防御行为是相同的。
其中,目标防御响应行为包括:将***硬盘变更为只读、终止对应的进程、针对指定类型的文件内存dump、关闭虚拟机等。可以理解的是,使用的目标防御响应行为包含但不限于上述列举,可根据实际情况进行定制。
可选地,本实施例中,步骤“基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为”,可以包括:
当所述异常识别结果为所述行为数据命中所述异常软件监控策略时,对所述异常软件监控策略进行防御响应行为设置的识别;
当识别到所述异常软件监控策略设置了相应的针对所述目标软件的目标防御响应行为时,触发所述宿主机执行所述目标防御响应行为。
比如,异常软件监控策略“目标软件中子进程对应的父进程为非***进程”,其设置了对应的触发响应行为:当命中该异常软件监控策略时,对目标虚拟机进行关闭。因此,在基于行为数据检测到目标软件中子进程对应的父进程为非***进程时,触发宿主机执行关闭目标虚拟机的目标防御响应行为。
在一些实施例中,若识别到异常软件监控策略没有设置相应的针对目标软件的防御响应行为时,可以将预设默认的防御响应行为作为目标防御响应行为,并触发宿主机执行该目标防御响应行为。比如,默认的防御响应行为可以设置为将硬盘修改为只读,也可以设置为终止对应的进程等,还可根据使用方的具体情况以及虚拟机内所存储数据的重要程度进行具体的设置,本实施例对此不作限制。
可选地,本实施例中,步骤“基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为”,可以包括:
识别所述目标虚拟机中数据的重要指标;
从预设防御响应级别中确定与所述重要指标匹配的目标防御响应级别;
基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的所述目标防御响应级别下的目标防御响应行为。
其中,重要指标越高,其对应的防御响应级别越高,以更好地对目标虚拟机中的数据进行保护。
比如,预设防御响应级别包括第一防御响应级别和第二防御响应级别,第一防御响应级别比第二防御响应级别的等级高,第一防御响应级别对应的防御响应行为可以设置为关闭虚拟机并设置内存读写dump,而第二防御响应级别对应的防御响应行为可以设置为将硬盘修改为只读,或者终止对应的进程等。若目标虚拟机中数据的重要指标较高,则可以触发宿主机执行第一防御响应级别下的防御响应行为;若目标虚拟机中数据的重要指标较低,则触发宿主机执行第二防御响应级别下的防御响应行为。
具体地,若目标虚拟机中存储的数据相对比较重要,就可以将防御响应行为设置的比较严格,并为后续的数据恢复做准备,比如可以设置为关闭虚拟机,设置内存读写dump,从而降低可能造成的数据损失以及进行数据损坏时的数据恢复。由于***在正常情况下也会发生内存读写的情况,因此设置内存读写dump,可能会对***性能有一定影响,只有当目标虚拟机中数据足够重要时,才会开启此功能。
其中,dump可以指将数据导出、转存成文件或静态形式,具体可以理解为:将内存某一时刻的内容,dump(转存,导出,保存)成文件,也即对数据进行备份。
本申请提供的软件防御方法可以用于当前私有云和企业内部远程桌面等的应用场景,它可以基于虚拟机自省技术从宿主机层面对虚拟机进行监控,当目标虚拟机中目标软件对应的行为数据触发了异常软件监控策略时,可以从宿主机层面进行行为拦截,同时根据使用者的需求,也可预先配置数据恢复相关策略,避免可能发生的数据丢失或者经济损失。
本申请不需要提前在虚拟机***中进行任何人为操作设置,比如设置可能被加密的指定文件作为诱饵等;同时本申请还能在最差情况(即加密多个文件后发现异常行为)出现时,采取提前设置好的防御响应行为恢复文件。而且,虚拟机层面的使用者没有任何感知,不影响其对***的正常使用。另外,通过多种异常软件监控策略的结合,能够快速发现恶意软件相关攻击,对于有新类型恶意软件的出现,也能及时设置新的异常软件监控策略,保持最新的针对恶意软件的应对方案。
在一具体实施例中,如图1d所示,为基于虚拟机自省技术进行软件防御的流程,具体步骤如下所述:
a)通过使用虚拟机自省技术,对目标虚拟机在执行目标软件的数据处理过程中的行为数据进行收集,该行为数据包含但不限于新进程创建、文件读写、内存读写、指定函数调用等行为,其中,指定函数可以是加密函数EncryptFile等,EncryptFile是从内核的级别上提供了对文件进行加密和解密的函数;行为数据可以包括通过目标虚拟机执行目标软件的过程中产生的数据,通过对这些行为数据进行分析,可以获知目标虚拟机的内部状态信息;
b)收集到行为数据后,可以将行为数据存储在预设行为数据库中,一方面用于后续对恶意软件攻击、防御和响应的整体情况展示;另一方面也可以用于后续的根据组合异常软件监控策略进一步进行异常识别的过程中;
c)在行为数据采集过程中,可以根据异常软件监控策略,直接对行为数据进行异常识别(通过虚拟机自省技术进行的数据收集,是通过类似于提前在预设函数上下断点的形式进行的,因此在收集数据的同时就能判定是否触发了异常软件监控策略),转到步骤d;
d)检测是否触发了监控策略集合中任一单条的异常软件监控策略(如目标软件中子进程对应的父进程为非***进程),若是,则可以判断目标虚拟机中该目标软件存在异常,转到步骤f;否则,则可以对行为数据进行进一步的异常识别,转到步骤e;其中,该异常软件监控策略具体可以是通过对恶意软件的异常行为进行分析得到的,它可以从加密函数调用、多个子进程、短时间内多个文件读写等各个方面进行设置;
e)结合当前行为数据以及预设行为数据库里的历史行为数据,检测是否触发了组合异常软件监控策略(如短时间读取文件数量超过预设数量),若是,则可以判断目标虚拟机中该目标软件存在异常,目标虚拟机可能存在被恶意软件攻击的风险,转到步骤f;其中,组合异常软件监控策略具体可以是根据一定监控时长的异常行为制定的;
f)检测行为数据所触发的异常软件监控策略是否设置有对应的防御响应行为,若有,则转到步骤g,若没有,则转到步骤h;
g)触发宿主机执行所触发的异常软件监控策略对应的目标防御响应行为,转到步骤i;
h)触发宿主机执行预设默认的防御响应行为,转i;其中,默认的防御响应行为可以设置为将硬盘修改为只读,也可以设置为终止对应的进程等,还可根据使用方的具体情况以及目标虚拟机内所存储数据的重要程度进行具体的设置;
i)将异常软件监控策略触发、防御响应行为以及收集到的恶意软件的攻击次数等信息统一汇总到软件防御过程展示平台进行信息展示,从而对恶意软件的攻击和防御响应的整体情况进行呈现。
具体地,如图1e所示,为本申请提供的软件防御方法对应的***架构图。该***主要由数据收集模块、数据存储模块、策略设置及响应模块、以及平台展示模块四个模块构成。
其中,数据收集模块可以用于利用虚拟机自省技术,通过宿主机上的虚拟机管理器获知虚拟机在执行目标软件的数据处理过程中的行为数据,该行为数据可以表征虚拟机的内部状态信息。比如,若行为数据表明目标软件在短时间内读取文件的数量较高,则说明目标软件有较大概率存在异常,目标虚拟机可能存在被恶意软件攻击的风险。其中,行为数据可以包括进程创建、指定函数调用、内存修改时dump内存等。数据收集模块在收集到行为数据后,可以将行为数据发送给数据存储模块,以对收集到的行为数据进行存储。
其中,数据存储模块可以用于将数据收集模块发送的行为数据上传至对应的预设行为数据库进行存储。
其中,对于策略设置及响应模块,该部分可以包括策略设置子模块以及行为响应子模块。
策略设置子模块可以用于对勒索软件异常行为分析,并设置异常软件监控策略,比如,异常软件监控策略可以从加密函数调用、多个子进程、短时间内多个文件读写等各个方面进行设置。当出现新的勒索软件种类时,也可以根据新的勒索软件种类的异常行为,构建新的异常软件监控策略;此外,策略设置子模块还可以检测行为数据是否命中异常软件监控策略,根据策略命中结果,获取针对目标软件的异常识别结果。
行为响应子模块可以用于当行为数据命中异常软件监控策略时,触发宿主机执行防御响应行为,以防止勒索软件继续进行加密文件的破坏活动,该防御响应行为可以包括拦截、快照建立、磁盘属性更改、关闭虚拟机、内存dump等。其中,具体地,防御响应行为可以根据使用方的具体情况以及虚拟机内所存储数据的重要程度进行设置。比如,若目标虚拟机中存储的数据相对比较重要,就可以将防御响应行为设置的比较严格,并为后续的数据恢复做准备,比如可以设置为关闭虚拟机,设置内存读写dump,从而降低可能造成的数据损失以及进行数据损坏时的数据恢复。
其中,平台展示模块可以用于将上述三个模块所收集到的数据、防御响应事件等汇集到该软件防御过程展示平台进行整体的展示,以便于***管理者可以直观的了解到整个勒索软件的入侵、防御、处置情况。其中,软件防御过程展示平台所展示的内容包括但不限于:攻击次数、攻击事件、触发的监控策略、防御响应行为、防御次数、整个云平台的受攻击情况地域分布等。
如图1f所示,展示的是在图1e的***设计的基础上,数据的流向过程,它表明了在数据流向过程中每个模块可能进行的操作,具体说明如下:
数据收集模块可以利用虚拟机自省技术,通过虚拟机管理器对虚拟机的内部状态信息进行获取,以便对虚拟机进行行为监控,所获取的内部状态信息包含但不限于函数调用、进程创建、文件读写、内存读写;
策略设置子模块可以对勒索软件进行异常行为分析,从而设置异常软件监控策略,它可以从加密函数调用、多个子进程、短时间内多个文件读写、针对指定类型的文件内存dump(转存)等各个方面进行设置。此外,策略设置子模块还可以基于异常软件监控策略,对数据收集模块所收集的行为数据进行异常识别,得到异常识别结果;
行为响应子模块可以针对异常软件监控策略设置对应的防御响应行为,当检测到行为数据命中异常软件监控策略时,执行目标防御响应行为,如进行拦截、关闭虚拟机、磁盘属性更改等。行为响应子模块还可以配置数据恢复相关策略以对被破坏的数据进行修复,比如可以在短时间内多次调用加密函数时设置“保存dump(导出)内存设置或者建立虚拟机镜像设置”的防御响应行为,用以在事后快速恢复丢失或者损坏的文件。
由上可知,本实施例可以在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理;通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息;根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果;基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。本申请实施例可以从宿主机层面对虚拟机进行监控,当虚拟机中异常软件触发了异常软件监控策略时,通过宿主机层面进行防御响应,不需要提前设置诱饵文件,也可以应对异常软件的扫描规则变更行为的情况,能够有效防范异常软件的攻击,提高了计算机网络应用的安全性。
根据前面实施例所描述的方法,以下将以该软件防御装置具体集成在服务器举例作进一步详细说明。
本申请实施例提供一种软件防御方法,如图2所示,该软件防御方法的具体流程可以如下:
201、服务器在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理。
本实施例中,目标虚拟机具体可以是需要进行恶意软件行为检测以及防范的虚拟机。目标软件为在目标虚拟机上运行的软件。
202、服务器通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息。
可选地,本实施例中,步骤“通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据”,可以包括:
识别所述宿主机中管理所述目标虚拟机的虚拟机管理器;
通过所述虚拟机管理器向所述目标虚拟机发送监控指令;
根据所述监控指令,获取所述目标虚拟机在所述数据处理过程中的行为数据。
其中,虚拟机管理器(VMM,Virtual Machine Manager)可以提供设置和管理创建虚拟机的服务,并将其部署到私有云所需的资源。当目标虚拟机接收到虚拟机管理器发送的监控指令时,目标虚拟机可以向虚拟机管理器发送其在目标软件的数据处理过程中的行为数据。
其中,行为数据具体可以包括通过目标虚拟机执行目标软件的过程中产生的数据,如读取文件数量、访问文件的时间等。
203、服务器获取异常软件对应的监控策略集合,所述监控策略集合包括至少一个异常软件监控策略;识别所述行为数据是否命中所述监控策略集合中任意的异常软件监控策略;若命中,执行步骤204;若没有命中,执行步骤205。
勒索软件在攻击感染***后,通常具有一些比较固定的异常行为,比如:短时间内多次调用***加密函数、短时间内大量读写文件数据等,通过对这些行为的预知,可以提前设置好策略,以便在目标虚拟机触发这些异常行为时进行下一步的响应。本实施例可以通过预设的异常软件监控策略,来对目标虚拟机的行为数据进行异常识别,从而确定目标虚拟机是否存在被恶意软件攻击的情况。
其中,该异常软件监控策略具体可以是通过对恶意软件的异常行为进行分析得到的,它可以从加密函数调用、多个子进程、短时间内多个文件读写等各个方面进行设置。
可选地,本实施例中,该软件防御方法还可以包括:
对异常软件对应的至少一个异常行为进行分析,得到异常分析结果;
根据所述异常分析结果进行异常软件监控策略的构建处理;
根据构建得到的异常软件监控策略,对所述监控策略集合进行更新。
可选地,本实施例中,所述行为数据包括所述目标软件中子进程对应的父进程;
步骤“识别所述行为数据是否命中所述监控策略集合中任意的异常软件监控策略”,可以包括:
对所述目标软件中子进程对应的父进程进行识别;
对识别得到的父进程是否为预设***进程进行判断。
204、服务器获取针对所述目标软件的异常识别结果,并进入步骤206。
205、服务器获取组合异常软件监控策略;识别所述行为数据是否命中所述组合异常软件监控策略;根据组合策略命中结果,获取针对所述目标软件的异常识别结果,并进入步骤206。
其中,当该行为数据没有命中监控策略集合中的任意异常软件监控策略时,可以对行为数据进行进一步的异常识别,具体地,可以获取组合异常软件监控策略,通过判断行为数据是否命中该组合异常软件监控策略,来进一步确定目标虚拟机中目标软件是否存在异常。若行为数据命中组合异常软件监控策略,则可以认为目标软件存在异常,目标虚拟机可能存在被恶意软件攻击的风险。若行为数据没有命中组合异常软件监控策略,则可以认为目标软件未存在异常。
其中,组合异常软件监控策略具体可以是根据一定监控时长的异常行为制定的,本实施例对此不作限制。比如,组合异常软件监控策略可以是短时间(比如30s)内多个(比如指定10个)文档类型的文件读写。
可选地,本实施例中,步骤“获取组合异常软件监控策略”,可以包括:
确定异常软件的监控时间段;
根据所述监控时间段以及目标行为信息,获取组合异常软件监控策略,所述目标行为信息为所述异常软件针对数据读写的行为信息。
可选地,本实施例中,所述行为数据包括当前行为数据和历史行为数据;
步骤“识别所述行为数据是否命中所述组合异常软件监控策略”,可以包括:
对所述当前行为数据和所述历史行为数据进行统计分析,得到行为分析结果;
识别所述行为分析结果是否命中所述组合异常软件监控策略。
其中,可以结合当前行为数据和历史行为数据,对目标软件进行异常行为检测。比如,当前行为数据和历史行为数据表征了目标软件在各时间点读取的文件信息(如文件数量),则可以结合当前行为数据和历史行为数据进行统计分析,确定目标软件在预设时间内读取文件的数量,若统计分析得到的行为分析结果为:目标软件在20秒内读取文件的数量超过10个,而组合异常软件监控策略为:30秒内读写文件的数量超过10个,则该行为分析结果命中组合异常软件监控策略,可以判断目标软件存在异常,目标虚拟机可能存在被恶意软件攻击的风险。
其中,宿主机获取到目标虚拟机在数据处理过程中的行为数据后,可以将收集到的行为数据存储到预设行为数据库中,以便后续基于组合异常软件监控策略进行目标软件的异常行为检测。预设行为数据库中存储的行为数据即历史行为数据。
206、服务器基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。
其中,若该异常识别结果表明目标软件存在异常,目标虚拟机存在被恶意软件攻击的风险,则可以触发针对异常软件的防御响应行为,其中,该防御响应行为具体可以是预先设置好的,它可以是针对所触发的异常软件监控策略所设置的;也可以是默认统一的响应行为,即触发不同异常软件监控策略,所响应的防御行为是相同的。
其中,目标防御响应行为包括:将***硬盘变更为只读、终止对应的进程、针对指定类型的文件内存dump、关闭虚拟机等。可以理解的是,使用的目标防御响应行为包含但不限于上述列举,可根据实际情况进行定制。
可选地,本实施例中,步骤“基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为”,可以包括:
当所述异常识别结果为所述行为数据命中所述异常软件监控策略时,对所述异常软件监控策略进行防御响应行为设置的识别;
当识别到所述异常软件监控策略设置了相应的针对所述目标软件的目标防御响应行为时,触发所述宿主机执行所述目标防御响应行为。
在一些实施例中,若识别到异常软件监控策略没有设置相应的针对目标软件的防御响应行为时,可以将预设默认的防御响应行为作为目标防御响应行为,并触发宿主机执行该目标防御响应行为。比如,默认的防御响应行为可以设置为将硬盘修改为只读,也可以设置为终止对应的进程等,还可根据使用方的具体情况以及虚拟机内所存储数据的重要程度进行具体的设置,本实施例对此不作限制。
可选地,本实施例中,步骤“基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为”,可以包括:
识别所述目标虚拟机中数据的重要指标;
从预设防御响应级别中确定与所述重要指标匹配的目标防御响应级别;
基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的所述目标防御响应级别下的目标防御响应行为。
由上可知,本实施例可以通过服务器在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理;通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息;获取异常软件对应的监控策略集合,所述监控策略集合包括至少一个异常软件监控策略;识别所述行为数据是否命中所述监控策略集合中任意的异常软件监控策略;若命中,获取针对所述目标软件的异常识别结果;若没有命中,获取组合异常软件监控策略;识别所述行为数据是否命中所述组合异常软件监控策略;根据组合策略命中结果,获取针对所述目标软件的异常识别结果。最后,基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。本申请实施例可以从宿主机层面对虚拟机进行监控,当虚拟机中异常软件触发了异常软件监控策略时,通过宿主机层面进行防御响应,不需要提前设置诱饵文件,也可以应对异常软件的扫描规则变更行为的情况,能够有效防范异常软件的攻击,提高了计算机网络应用的安全性。
为了更好地实施以上方法,本申请实施例还提供一种软件防御装置,如图3所示,该软件防御装置可以包括创建单元301、获取单元302、识别单元303以及防御单元304,如下:
(1)创建单元301;
创建单元301,用于在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理。
(2)获取单元302;
获取单元302,用于通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息。
可选的,在本申请的一些实施例中,所述获取单元可以包括管理器识别子单元、发送子单元和行为获取子单元,如下:
所述管理器识别子单元,用于识别所述宿主机中管理所述目标虚拟机的虚拟机管理器;
发送子单元,用于通过所述虚拟机管理器向所述目标虚拟机发送监控指令;
行为获取子单元,用于根据所述监控指令,获取所述目标虚拟机在所述数据处理过程中的行为数据。
(3)识别单元303;
识别单元303,用于根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果。
可选的,在本申请的一些实施例中,所述识别单元可以包括策略获取子单元、识别子单元和获取子单元,如下:
所述策略获取子单元,用于获取异常软件对应的监控策略集合,所述监控策略集合包括至少一个异常软件监控策略;
识别子单元,用于识别所述行为数据是否命中所述监控策略集合中任意的异常软件监控策略;
获取子单元,用于根据策略命中结果,获取针对所述目标软件的异常识别结果。
可选的,在本申请的一些实施例中,所述获取子单元具体可以用于当策略命中结果为所述行为数据没有命中所述监控策略集合中任意的异常软件监控策略时,获取组合异常软件监控策略;识别所述行为数据是否命中所述组合异常软件监控策略;根据组合策略命中结果,获取针对所述目标软件的异常识别结果。
可选的,在本申请的一些实施例中,步骤“获取组合异常软件监控策略”,可以包括:
确定异常软件的监控时间段;
根据所述监控时间段以及目标行为信息,获取组合异常软件监控策略,所述目标行为信息为所述异常软件针对数据读写的行为信息。
可选的,在本申请的一些实施例中,所述行为数据包括当前行为数据和历史行为数据;
步骤“识别所述行为数据是否命中所述组合异常软件监控策略”,可以包括:
对所述当前行为数据和所述历史行为数据进行统计分析,得到行为分析结果;
识别所述行为分析结果是否命中所述组合异常软件监控策略。
可选的,在本申请的一些实施例中,所述策略获取子单元还可以用于对异常软件对应的至少一个异常行为进行分析,得到异常分析结果;根据所述异常分析结果进行异常软件监控策略的构建处理;根据构建得到的异常软件监控策略,对所述监控策略集合进行更新。
可选的,在本申请的一些实施例中,所述行为数据包括所述目标软件中子进程对应的父进程;所述识别子单元具体可以用于对所述目标软件中子进程对应的父进程进行识别;对识别得到的父进程是否为预设***进程进行判断。
(4)防御单元304;
防御单元304,用于基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。
可选的,在本申请的一些实施例中,所述防御单元可以包括设置识别子单元和第一执行子单元,如下:
所述设置识别子单元,用于当所述异常识别结果为所述行为数据命中所述异常软件监控策略时,对所述异常软件监控策略进行防御响应行为设置的识别;
第一执行子单元,用于当识别到所述异常软件监控策略设置了相应的针对所述目标软件的目标防御响应行为时,触发所述宿主机执行所述目标防御响应行为。
可选的,在本申请的一些实施例中,所述防御单元可以包括重要指标识别子单元、防御级别确定子单元和第二执行子单元,如下:
所述重要指标识别子单元,用于识别所述目标虚拟机中数据的重要指标;
防御级别确定子单元,用于从预设防御响应级别中确定与所述重要指标匹配的目标防御响应级别;
第二执行子单元,用于基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的所述目标防御响应级别下的目标防御响应行为。
由上可知,本实施例可以通过创建单元301在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理;由获取单元302通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息;通过识别单元303根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果;通过防御单元304基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。本申请实施例可以从宿主机层面对虚拟机进行监控,当虚拟机中异常软件触发了异常软件监控策略时,通过宿主机层面进行防御响应,不需要提前设置诱饵文件,也可以应对异常软件的扫描规则变更行为的情况,能够有效防范异常软件的攻击,提高了计算机网络应用的安全性。
本申请实施例还提供一种电子设备,如图4所示,其示出了本申请实施例所涉及的电子设备的结构示意图,该电子设备可以是终端或者服务器等,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理***与处理器401逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,该电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理;通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息;根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果;基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本实施例可以在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理;通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息;根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果;基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。本申请实施例可以从宿主机层面对虚拟机进行监控,当虚拟机中异常软件触发了异常软件监控策略时,通过宿主机层面进行防御响应,不需要提前设置诱饵文件,也可以应对异常软件的扫描规则变更行为的情况,能够有效防范异常软件的攻击,提高了计算机网络应用的安全性。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种软件防御方法中的步骤。例如,该指令可以执行如下步骤:
在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理;通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息;根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果;基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种软件防御方法中的步骤,因此,可以实现本申请实施例所提供的任一种软件防御方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述软件防御方面的各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种软件防御方法以及相关设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (14)
1.一种软件防御方法,其特征在于,包括:
在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理;
通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息;
根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果;
基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。
2.根据权利要求1所述的方法,其特征在于,所述通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,包括:
识别所述宿主机中管理所述目标虚拟机的虚拟机管理器;
通过所述虚拟机管理器向所述目标虚拟机发送监控指令;
根据所述监控指令,获取所述目标虚拟机在所述数据处理过程中的行为数据。
3.根据权利要求1所述的方法,其特征在于,所述根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果,包括:
获取异常软件对应的监控策略集合,所述监控策略集合包括至少一个异常软件监控策略;
识别所述行为数据是否命中所述监控策略集合中任意的异常软件监控策略;
根据策略命中结果,获取针对所述目标软件的异常识别结果。
4.根据权利要求3所述的方法,其特征在于,所述根据策略命中结果,获取针对所述目标软件的异常识别结果,包括:
当策略命中结果为所述行为数据没有命中所述监控策略集合中任意的异常软件监控策略时,获取组合异常软件监控策略;
识别所述行为数据是否命中所述组合异常软件监控策略;
根据组合策略命中结果,获取针对所述目标软件的异常识别结果。
5.根据权利要求4所述的方法,其特征在于,所述获取组合异常软件监控策略,包括:
确定异常软件的监控时间段;
根据所述监控时间段以及目标行为信息,获取组合异常软件监控策略,所述目标行为信息为所述异常软件针对数据读写的行为信息。
6.根据权利要求4所述的方法,其特征在于,所述行为数据包括当前行为数据和历史行为数据;
所述识别所述行为数据是否命中所述组合异常软件监控策略,包括:
对所述当前行为数据和所述历史行为数据进行统计分析,得到行为分析结果;
识别所述行为分析结果是否命中所述组合异常软件监控策略。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对异常软件对应的至少一个异常行为进行分析,得到异常分析结果;
根据所述异常分析结果进行异常软件监控策略的构建处理;
根据构建得到的异常软件监控策略,对所述监控策略集合进行更新。
8.根据权利要求3所述的方法,其特征在于,所述行为数据包括所述目标软件中子进程对应的父进程;
所述识别所述行为数据是否命中所述监控策略集合中任意的异常软件监控策略,包括:
对所述目标软件中子进程对应的父进程进行识别;
对识别得到的父进程是否为预设***进程进行判断。
9.根据权利要求1所述的方法,其特征在于,所述基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为,包括:
当所述异常识别结果为所述行为数据命中所述异常软件监控策略时,对所述异常软件监控策略进行防御响应行为设置的识别;
当识别到所述异常软件监控策略设置了相应的针对所述目标软件的目标防御响应行为时,触发所述宿主机执行所述目标防御响应行为。
10.根据权利要求1所述的方法,其特征在于,所述基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为,包括:
识别所述目标虚拟机中数据的重要指标;
从预设防御响应级别中确定与所述重要指标匹配的目标防御响应级别;
基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的所述目标防御响应级别下的目标防御响应行为。
11.一种软件防御装置,其特征在于,包括:
创建单元,用于在目标设备上创建宿主机的目标虚拟机,并采用所述目标虚拟机执行目标软件的数据处理;
获取单元,用于通过所述宿主机获取所述目标虚拟机在所述数据处理过程中的行为数据,所述行为数据表征所述目标虚拟机的内部状态信息;
识别单元,用于根据异常软件监控策略,对所述行为数据进行异常识别,得到异常识别结果;
防御单元,用于基于所述异常识别结果,触发所述宿主机执行针对所述目标软件的目标防御响应行为。
12.一种电子设备,其特征在于,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至10任一项所述的软件防御方法中的操作。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至10任一项所述的软件防御方法中的步骤。
14.一种计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被处理器执行时实现权利要求1至10任一项所述的软件防御方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111161950.9A CN115904605A (zh) | 2021-09-30 | 2021-09-30 | 软件防御方法以及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111161950.9A CN115904605A (zh) | 2021-09-30 | 2021-09-30 | 软件防御方法以及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904605A true CN115904605A (zh) | 2023-04-04 |
Family
ID=86492085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111161950.9A Pending CN115904605A (zh) | 2021-09-30 | 2021-09-30 | 软件防御方法以及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904605A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150797A (zh) * | 2023-04-21 | 2023-05-23 | 深圳市科力锐科技有限公司 | 数据保护方法、***、设备及存储介质 |
CN116895046A (zh) * | 2023-07-21 | 2023-10-17 | 北京亿宇嘉隆科技有限公司 | 基于虚拟化的异常运维数据处理方法 |
CN117235760A (zh) * | 2023-09-19 | 2023-12-15 | 安徽诺中科技股份有限公司 | 企业数据的加密存储方法、装置、计算机设备及存储介质 |
-
2021
- 2021-09-30 CN CN202111161950.9A patent/CN115904605A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150797A (zh) * | 2023-04-21 | 2023-05-23 | 深圳市科力锐科技有限公司 | 数据保护方法、***、设备及存储介质 |
CN116895046A (zh) * | 2023-07-21 | 2023-10-17 | 北京亿宇嘉隆科技有限公司 | 基于虚拟化的异常运维数据处理方法 |
CN116895046B (zh) * | 2023-07-21 | 2024-05-07 | 北京亿宇嘉隆科技有限公司 | 基于虚拟化的异常运维数据处理方法 |
CN117235760A (zh) * | 2023-09-19 | 2023-12-15 | 安徽诺中科技股份有限公司 | 企业数据的加密存储方法、装置、计算机设备及存储介质 |
CN117235760B (zh) * | 2023-09-19 | 2024-04-02 | 安徽诺中科技股份有限公司 | 企业数据的加密存储方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10936717B1 (en) | Monitoring containers running on container host devices for detection of anomalies in current container behavior | |
US20190114426A1 (en) | Method of remediating operations performed by a program and system thereof | |
JP6356158B2 (ja) | 仮想化環境においてアプリケーション及びデバイスを制御する方法並びに技術 | |
US9251343B1 (en) | Detecting bootkits resident on compromised computers | |
CN100533334C (zh) | 通过沙箱技术改进计算机安全性的方法 | |
US9197662B2 (en) | Systems and methods for optimizing scans of pre-installed applications | |
Zhao et al. | Malicious executables classification based on behavioral factor analysis | |
Kumara et al. | Automated multi-level malware detection system based on reconstructed semantic view of executables using machine learning techniques at VMM | |
US10853489B2 (en) | Data-driven identification of malicious files using machine learning and an ensemble of malware detection procedures | |
CN115904605A (zh) | 软件防御方法以及相关设备 | |
EP3362937B1 (en) | Method of remediating a program and system thereof by undoing operations | |
US10242187B1 (en) | Systems and methods for providing integrated security management | |
CA2915068C (en) | Systems and methods for directing application updates | |
US9444829B1 (en) | Systems and methods for protecting computing resources based on logical data models | |
US11880458B2 (en) | Malware detection based on user interactions | |
Čeponis et al. | Towards a robust method of dataset generation of malicious activity for anomaly-based HIDS training and presentation of AWSCTD dataset | |
Harrison et al. | Constructing a cloud-based ids by merging vmi with fma | |
CN110659478B (zh) | 在隔离的环境中检测阻止分析的恶意文件的方法 | |
US10846405B1 (en) | Systems and methods for detecting and protecting against malicious software | |
US10546125B1 (en) | Systems and methods for detecting malware using static analysis | |
Wang et al. | IoT‐DeepSense: Behavioral Security Detection of IoT Devices Based on Firmware Virtualization and Deep Learning | |
Bisht et al. | HyperGuard: on designing out-VM malware analysis approach to detect intrusions from hypervisor in cloud environment | |
Gohel et al. | Design of virtualization framework to detect cyber threats in linux environment | |
CN110909349A (zh) | docker容器内反弹shell的检测方法和*** | |
Bai et al. | Malware detection method based on dynamic variable length API sequence |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40085623 Country of ref document: HK |