操作防御方法、装置、设备及计算机可读介质与流程

文档序号:16249941发布日期:2018-12-11 23:55阅读:134来源:国知局
操作防御方法、装置、设备及计算机可读介质与流程

本发明涉及业务安全技术领域,尤其涉及一种操作防御方法及装置、设备和计算机可读介质。

背景技术

近年来,随着机器规模以及服务规模的不断扩大,形成了一个多地域、多机房、多租户且拥有复杂业务的基础架构体系。在这个复杂体系中,机器规模达到百万量级,实例达到亿规模。非预期的自动化变更、人工误操作、新上线程序bug(漏洞)等异常不断困扰着各个业务。

为了防止误操作等带来的风险,现有采用的防御机制主要在人为关注后,通过人工配置和开发防御规则。然而当增加了新业务、新系统时,则需要重新配置全部防御规则。另外,现有的防御机制并非同一的防御机制,而是分别在不同的业务系统单独配置。

因此,现有的防御机制存在以下的缺陷:

1.需要为各个业务系统单独配置,人力成本高。

2.增加新业务系统时,需要单独重新开发防御机制,形成重复劳动。

3.当防御机制需要调整时,所有系统需要同步修改,后期维护成本较高。

4.人工防御机制的配置比较依赖于人员经验和人员对防御的重视度,无法积累经验,无法保证防御机制的覆盖率和有效率。



技术实现要素:

本发明实施例提供一种操作防御方法、装置、设备及计算机可读介质,以解决或缓解现有技术中的一个或多个技术问题。

第一方面,本发明实施例提供了一种操作防御方法,包括:

通过共用的接口接收来自业务系统的操作请求;

根据所述操作请求中的参数,从共用的算法规则库中,为所述操作请求选择至少一种风险评估算法;所述共用的算法规则库为各个业务系统共用的算法规则库;

利用选择的风险评估算法对所述操作请求进行风险评估;

根据风险评估的结果确定是否允许执行所述操作请求。

结合第一方面,本发明实施例在第一方面的第一种实施方式中,通过共用的接口接收来自业务系统的操作请求,包括:

调用所述业务系统的应用程序编程接口以接收所述操作请求,所述操作请求包括操作对象、操作发起身份和操作参数中的一种或多种。

结合第一方面的第一种实施方式,本发明实施例在第一方面的第二种实施方式中,根据所述操作请求中的参数,从共用的算法规则库中,为所述操作请求选择至少一种风险评估算法;所述共用的算法规则库为各个业务系统共用的算法规则库,包括:

根据所述操作请求中的操作对象、操作发起身份和操作参数中的一种或多种,以及结合操作请求中的操作对象的情况和该操作对象的操作历史进行分析,根据分析结果从风险评估算法规则库中选择至少一种风险评估算法。

结合第一方面、第一方面的第一种实施方式和第二种实施方式中的任一种,本发明实施例在第一方面的第三种实施方式中,所述风险评估算法包括权限评估算法、封禁评估算法、配额评估算法、限速评估算法、slo评估算法以及不同操作对象对应的风险评估算法中的一种或多种。

结合第一方面,本发明实施例在第一方面的第四种实施方式中,根据风险评估的结果确定是否允许执行所述操作请求,包括:

如果为所述操作请求选择多种风险评估算法,则根据不同风险评估算法的权重和风险评估的结果进行加权计算,以确定是否允许操作;

当操作请求评估结果为不允许操作时,返回不允许操作的原因。

第二方面,本发明实施例还提供了一种操作防御装置,包括:

接收模块,用于通过共用的接口接收来自业务系统的操作请求;

算法选择模块,用于根据所述操作请求中的参数,从共用的算法规则库中,为所述操作请求选择至少一种风险评估算法;所述共用的算法规则库为各个业务系统共用的算法规则库;

风险评估模块,用于利用选择的风险评估算法对所述操作请求进行风险评估;

操作确认模块,用于根据风险评估的结果确定是否允许执行所述操作请求。

结合第二方面,本发明实施例在第二方面的第一种实施方式中,所述接收模块包括:

调用子模块,用于调用所述业务系统的应用程序编程接口以接收所述操作请求,所述操作请求包括操作对象、操作发起身份和操作参数中的一种或多种。

结合第二方面的第一种实施方式,本发明实施例在第二方面的第二种实施方式中,所述算法选择模块具体用于根据所述操作请求中的操作对象、操作发起身份和操作参数中的一种或多种,以及结合操作请求中的操作对象的情况和该操作对象的操作历史进行分析,根据分析结果从风险评估算法规则库中选择至少一种风险评估算法。

结合第二方面、第二方面的第一种实施方式和第二种实施方式中的任一种,本发明实施例在第二方面的第三种实施方式中,所述风险评估算法包括权限评估算法、封禁评估算法、配额评估算法、限速评估算法、slo评估算法以及不同操作对象对应的风险评估算法中的一种或多种。

结合第二方面,本发明实施例在第二方面的第四种实施方式中,所述操作确认模块包括:

评估结果整合子模块,用于如果为所述操作请求选择多种风险评估算法,则根据不同风险评估算法的权重和风险评估的结果进行加权计算,以确定是否允许操作;

原因返回子模块,用于当操作请求评估结果为不允许操作时,返回不允许操作的原因。

所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

第三方面,在一个可能的设计中,操作防御装置的结构中包括处理器和存储器,所述存储器用于存储支持操作防御装置执行上述第一方面中操作防御方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述操作防御装置还可以包括通信接口,用于操作防御装置与其他设备或通信网络通信。

第四方面,本发明实施例提供了一种计算机可读介质,用于存储操作防御装置所用的计算机软件指令,其包括用于执行上述第一方面的操作防御方法所涉及的程序。

本发明实施例采用中心化操作防御机制,通过不同业务系统的操作请求进行分析,并选择适当的风险评估算法计算出其风险系数,从而可以拦截高风险操作,缩小异常扩散范围,保证服务的高可用性和稳定性。

上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。

附图说明

在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。

图1为本发明一实施例的操作防御方法的流程图;

图2为本发明一实施例的步骤s400的具体步骤流程图;

图3为本发明一实施例的操作防御方法的整体实现流程图;

图4为本发明另一实施例的操作防御装置的框图;

图5为本发明另一实施例的接收模块的内部框图;

图6为本发明另一实施例的操作确认模块的内部框图;

图7为本发明另一实施例的操作防御设备框图。

具体实施方式

在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。本发明实施例主要提供了一种通操作防御的方法及装置,下面分别通过以下实施例进行技术方案的展开描述。

本发明提供了一种操作防御方法和装置,以下详细介绍本发明实施例的操作防御方法和装置的具体处理流程和原理。

如图1所示,其为本发明实施例的操作防御方法的流程图。本发明实施例的操作防御方法可以包括以下步骤:

s100:通过共用的接口接收来自业务系统的操作请求。

在一个实施例中,可以采用中心操作评估系统同时对接多个业务系统。其中所述中心操作评估系统设有一个共用的接口,每个业务系统中各自设有一个接口,所述中心操作评估系统通过这个共用的接口与每个业务系统的接口进行对接,以接收每个业务系统上传的操作请求,然后再返回评估结果。所述步骤s100中,可以包括:调用所述业务系统的应用程序编程接口(api,applicationprogramminginterface)以接收所述操作请求。其中,若同时存在不同的业务系统,则可以分别调用每个业务系统的api,然后再通过各自的api输入操作请求。所述操作请求的类型可以包括:程序、配置、数据的发布和变更操作;机器类的操作(比如包括:上架、重装、重启、初始化、下架等);实例类操作(比如包括:创建、更新、销毁、迁移和重建等);服务类操作(比如包括:启动、停止、扩容、缩容等);业务类操作(比如包括:封禁、降级、进出安全模式设置等)。

各种操作类型的操作请求主要包括操作对象、操作发起身份和操作参数中的一种或多种。例如,操作对象可以包括物理机、虚拟机、实例或域名等特定操作对象。操作发起身份可以包括管理员、普通用户等等具备不同权限的操作身份。操作参数可以包括可传输速度大小、内存容量大小等与操作有关的参数大小。

s200:根据所述操作请求中的参数,从共用的算法规则库中,为所述操作请求选择至少一种风险评估算法;所述共用的算法规则库为各个业务系统共用的算法规则库。

在一种实施方式中,所述步骤s200可以包括:根据所述操作请求中的操作对象、操作发起身份和操作参数中的一种或多种,以及结合操作请求中的操作对象的情况和该操作对象的操作历史进行分析,根据分析结果从风险评估算法规则库中选择至少一种风险评估算法。其中,所述风险评估算法包括权限评估算法、封禁评估算法、配额评估算法、限速评估算法、slo(servicelevelobjection,服务等级目标)评估算法以及不同操作对象对应的风险评估算法中的一种或多种。

根据操作请求中包含的内容,可以采用合适的评估算法。比如,如果操作请求中包含操作发起身份,可以采用权限评估算法。如果操作请求中包含操作对象,可以选取与操作对象相对应的评估算法,比如:物理机操作评估算法、虚拟机操作评估算法、实例操作评估算法、域名操作评估算法等。如果操作请求中包含操作参数,可以采用封禁评估算法、配额评估算法、限速评估算法、slo评估算法等。另外,还可以结合当前操作对象的情况和操作历史进行分析,比如:若当前的操作对象为虚拟机,获取当前虚拟机的状态情况以及之前的操作历史。比如,当前虚拟机是否处于正常运行状态,之前是否存在异常操作等,从而获取对应的评估算法。

s300:利用选择的风险评估算法对所述操作请求进行风险评估。

在选择评估算法后,由选择的风险评估算法进行相应的评估计算,获得对应的计算结果。在一种实施方式中,这个计算结果可以采用概率值来表示,比如0为完全无风险,100%表示存在绝对风险。此外,如果根据操作请求选择了一种风险评估算法,可以将该风险评估算法的评估结果,作为本次风险评估的最终结果。如果根据操作请求选择了多种风险评估算法,可以对这多种风险评估算法的评估结果进行综合计算,再得到本次风险评估的最终结果。

s400:根据风险评估的结果确定是否允许执行所述操作请求。

例如,风险评估的结果为符合操作规范的情况下,允许执行所述操作请求;风险评估的结果为存在操作风险的情况下,不允许执行所述操作请求。

在一种实施方式中,如图2所示,所述步骤s400可以包括:

s410:如果为所述操作请求选择多种风险评估算法,则根据不同风险评估算法的权重和风险评估的结果进行加权计算,以确定是否允许操作。

比如,根据操作请求中包括的操作这身份、操作参数和操作对象,选择了权限评估算法、限速评估算法和虚拟机评估算法。接着,根据这三种算法分别获得的对应评估结果,比如:50%、20%和60%。然后,根据不同算法对应的权重进行加权,得到风险评估结果。例如这三种算法的权重分别为0.3、0.3和0.4,则加权求和后的评估结果为:50%*0.3+20%*0.3+60%*0.4=45%,即获得的评估结果为45%的概率存在风险,该概率作为评估当前操作风险大小的风险系数。然后,可以根据设定的风险阈值判断是否允许执行该操作请求。例如,假设设定的风险阈值为50%,则根据上述风险评估结果45%小于50%判定为允许操作。假设设定的风险阈值为40%,则风险评估结果45%大于40%判定为不允许操作。

s420:当操作请求评估结果为不允许操作时,返回不允许操作的原因。

当用户的操作请求被确定为不允许操作时,可以返回拒绝的原因,比如:操作者权限不够、输入参数超过设定阈值等。

另外,在一种实施方式中,操作请求方根据返回的评估结果以及原因,进行相对应的动作,这部分操作逻辑可以由请求方自定义,比如:被拒绝后可以直接中止操作返回原因,也可以自动发起审批流程,也即可以将当前操作发给权限更高的人员进行审批,是否允许该操作继续执行等。

如图3所示,其为本发明实施例的操作防御方法的整体实现流程图。

本发明实施例的操作防御方法主要设定一个中心化操作防御机制,这个防御机制可以设置在某一个服务器中,由该服务器对各个业务系统的操作进行判断。

首先,接收业务系统的操作请求,包括操作对象、参数、操作者身份。

然后,对操作数据进行分析,再挑选对应的风险评估算法,分别由对应的风险评估算法获得各自的评估结果。

最后,将不同的风险评估算法获得的评估结果进行整合处理,然后返回拒绝操作或允许操作的评估结果及其原因。

本发明实施例采用中心化操作防御机制,通过对不同业务系统的操作请求进行分析,并选择适当的风险评估算法计算出各风险评估算法对应的风险系数,从而可以拦截高风险操作,缩小异常扩散范围,保证服务的高可用性和稳定性。

在另一种实施例中,如图4所示,本发明实施例还提供了一种操作防御装置,其包括:

接收模块100,用于通过共用的接口接收来自业务系统的操作请求;

算法选择模块200,用于根据所述操作请求中的参数,从共用的算法规则库中,为所述操作请求选择至少一种风险评估算法;所述共用的算法规则库为各个业务系统共用的算法规则库;

风险评估模块300,用于利用选择的风险评估算法对所述操作请求进行风险评估;

操作确认模块400,用于根据风险评估的结果确定是否允许执行所述操作请求。

在一种实施方式中,如图5所示,所述接收模块100包括:

调用子模块110,用于调用所述业务系统的应用程序编程接口以接收所述操作请求,所述操作请求包括操作对象、操作发起身份和操作参数中的一种或多种。

所述算法选择模块200具体用于根据所述操作请求中的操作对象、操作发起身份和操作参数中的一种或多种,以及结合操作请求中的操作对象的情况和该操作对象的操作历史进行分析,根据分析结果从风险评估算法规则库中选择至少一种风险评估算法。

所述风险评估算法包括权限评估算法、封禁评估算法、配额评估算法、限速评估算法、slo评估算法以及不同操作对象对应的风险评估算法中的一种或多种。

在一种实施方式中,如图6所示,所述操作确认模块400包括:

评估结果整合子模块410,用于如果为所述操作请求选择多种风险评估算法,则根据不同风险评估算法的权重和风险评估的结果进行加权计算,以确定是否允许操作。

原因返回子模块420,用于当操作请求评估结果为不允许操作时,返回不允许操作的原因。

本实施例的操作防御装置与上述实施例的操作防御方法的原理和功能相似,故不再赘述。

在另一个实施例中,本发明还提供一种操作防御设备,如图7所示,该设备包括:存储器510和处理器520,存储器510内存储有可在处理器520上运行的计算机程序。所述处理器520执行所述计算机程序时实现上述实施例中的操作防御方法。所述存储器510和处理器520的数量可以为一个或多个。

该设备还包括:

通信接口530,用于与外界设备进行通信,进行数据交互传输。

存储器510可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

如果存储器510、处理器520和通信接口530独立实现,则存储器510、处理器520和通信接口530可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(isa,industrystandardarchitecture)总线、外部设备互连(pci,peripheralcomponent)总线或扩展工业标准体系结构(eisa,extendedindustrystandardcomponent)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器510、处理器520及通信接口530集成在一块芯片上,则存储器510、处理器520及通信接口530可以通过内部接口完成相互间的通信。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

本发明实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质的更具体的示例至少(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式只读存储器(cdrom)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

在本发明实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于指令执行系统、输入法或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(radiofrequency,rf)等等,或者上述的任意合适的组合。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1