CN113835698A - 一种安全控制方法及系统 - Google Patents
一种安全控制方法及系统 Download PDFInfo
- Publication number
- CN113835698A CN113835698A CN202010579919.6A CN202010579919A CN113835698A CN 113835698 A CN113835698 A CN 113835698A CN 202010579919 A CN202010579919 A CN 202010579919A CN 113835698 A CN113835698 A CN 113835698A
- Authority
- CN
- China
- Prior art keywords
- control script
- service
- safety control
- security
- script
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000013515 script Methods 0.000 claims abstract description 187
- 238000007619 statistical method Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 14
- 206010000117 Abnormal behaviour Diseases 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 18
- 238000013461 design Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 239000000843 powder Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101100102504 Caenorhabditis elegans ver-4 gene Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及计算机技术领域,尤其涉及一种安全控制方法及系统,获取到业务的业务数据时,获得所述业务的安全控制脚本,所述安全控制脚本通过配置界面配置,所述安全控制脚本用于描述安全策略规则;解析所述安全控制脚本获得可执行安全控制脚本;调用所述可执行安全控制脚本,根据所述安全策略规则和所述业务数据,对所述业务执行相应的业务控制,这样,只需输入安全策略的安全控制脚本即可,可以提高安全策略整体实现的速度和效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种安全控制方法及系统。
背景技术
目前,在进行安全策略制定时,经常需要快速适应业务的变化,以能够及时有效的打击恶意行为。相关技术中,针对不同的业务制定安全策略时,需要定制c++代码,但是这种方法需要针对不同的业务,都重新设计集成、开发、调试、以及其他管理配置等操作,变更速度较慢,无法及时打击到相关恶意行为。
发明内容
本申请实施例提供一种安全控制方法及系统,以提高安全策略实现的速度和效率。
本申请实施例提供的具体技术方案如下:
本申请一个实施例中提供了一种安全控制方法,包括:
获取到业务的业务数据时,获得所述业务的安全控制脚本,所述安全控制脚本通过配置界面配置,所述安全控制脚本用于描述安全策略规则;
解析所述安全控制脚本获得可执行安全控制脚本;
调用所述可执行安全控制脚本,根据所述安全策略规则和所述业务数据,对所述业务执行相应的业务控制。
本申请另一个实施例中提供了一种安全控制系统,包括,核心模块,所述核心模块至少包括策略调度器、策略解析器和预设脚本引擎,具体地:
所述策略调度器,用于获取到业务的业务数据时,获得所述业务的安全控制脚本,所述安全控制脚本通过配置界面配置,所述安全控制脚本用于描述安全策略规则;
所述策略解析器,用于解析所述安全控制脚本;
所述预设脚本引擎,用于将所述安全控制脚本翻译获得可执行安全控制脚本,并调用所述可执行安全控制脚本,根据所述安全策略规则和所述业务数据,对所述业务执行相应的业务控制。
本申请另一个实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一种安全控制方法的步骤。
本申请另一个实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种安全控制方法的步骤。
本申请实施例中,提供了一种业务控制系统,并基于该业务控制系统提供了一种业务控制方法,通过配置界面输入安全控制脚本,获取到业务的业务数据时,获取业务的安全控制脚本,并解析安全控制脚本获得可执行安全控制脚本,进而调用运行可执行安全控制脚本,根据安全策略规则和业务数据,对业务执行相应的业务控制,这样,通过脚本实现安全策略,不需要重新设计相关功能,只需通过配置界面输入安全控制脚本即可,从而实现对业务的策略决策,实现了安全策略逻辑的快速落地,提高了安全策略制定的便利性和效率。
附图说明
图1为本申请实施例中安全控制方法的应用环境架构示意图;
图2为本申请实施例中规则引擎架构设计示意图;
图3为本申请实施例中统计模块架构设计示意图;
图4为本申请实施例中安全控制方法流程图;
图5为本申请实施例中一种安全控制系统结构示意图;
图6为本申请实施例中电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于对本申请实施例的理解,下面先对几个概念进行简单介绍:
安全控制脚本:本申请实施例中不采用C++代码制定业务的安全策略,而是采用更加轻量、简单并且能够满足表达所需的脚本语言来制定安全策略,安全控制脚本用于描述安全策略规则,并且可以很便捷地接入到本申请实施例中设计的系统架构中。
安全策略:例如检测某公众号的增粉数据是否有异常,并对异常进行处理的策略规则,当然也可以是其它策略,本申请实施例中并不进行限制。
用户界面(User Interface,UI):通常UI设计是指对软件的人机交互、操作逻辑、界面美观的整体设计,本申请实施例中用户界面可以表示配置界面。
lua:是一个小巧的脚本语言,其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能,例如,本申请实施例中可以采用lua作为脚本语言,并使用lua引擎实现对安全控制脚本的翻译,翻译成可执行的机器语言,也可以采用lua接口,对接第三方应用服务器,实现对第三方应用的业务进行策略决策。
远程过程调用(Remote Procedure Call,RPC):其调用的原理主要是第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。
redis:是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、键-值(key-value)数据库,并提供多种语言的应用程序接口(Application ProgramInterface,API):1)支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。2)redis不仅仅支持简单的key-value类型的数据,同时还提供列表(list),集合(set),有序集合(Sorted Set,zset),字典(hash)等数据结构的存储。3)redis支持数据的备份,即主从(master-slave)模式的数据备份,本申请实施例中的统计模块可以采用redis数据库作为底层统计数据库。
单机(standalone):redis的部署可以采用standalone方式,部署简单,无论是部署成本还是运维成本都很低,因此本申请实施例中可以基于standalone方式部署统计模块并进行管理。
目前,在进行安全策略制定时,经常需要快速适应业务的变化,以能够及时有效的打击恶意行为,相关技术中,针对不同的业务制定安全策略时,需要制定安全策略的C++代码,过于臃肿,并且C++代码编码速度慢,每次都需要重新设计集成、开发等操作,速度和效率较慢,无法及时打击到相关恶意行为。
因此,为解决上述问题,本申请实施例中设计了一种安全控制系统和方法,接收通过配置界面输入的针对业务配置的安全控制脚本,进而可以基于该安全控制脚本对该业务进行策略决策,获取到该业务的业务数据时,获得该业务的安全控制脚本,并解析该安全控制脚本获得可执行安全控制脚本,调用该可执行安全控制脚本,根据安全控制脚本描述的安全策略规则和业务数据,对业务执行相应的业务控制,这样,针对不同的业务只需要获得相应的安全控制脚本,而不需要重新设计相关功能,就可以使用系统架构提供的相关功能和安全控制脚本进行安全控制,加速了脚本的制定和上线,更加便利,提高了安全策略的整体实现效率,并且基于安全控制脚本来实现,实现更加简单方便。
参阅图1所示,为本申请实施例中安全控制方法的应用环境架构示意图,包括策略引擎服务器100、统计服务器200、第三方应用客户端300、第三方应用服务器400。
其中,策略引擎服务器100和统计服务器200构成本申请实施例中安全控制系统的工作环境,该系统可以与第三方应用客户端300、第三方应用服务器400联动,对第三方应用的业务进行策略决策,例如,获取第三方应用的支付相关数据,进行支付安全检测,并确定异常时进行相应处理。
第三方应用客户端300可以安装并运行在终端上,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱等任何智能设备,但并不局限于此,第三方应用客户端300可以接入本申请实施例中的系统,进而策略引擎服务器100和统计服务器200可以从第三方应用客户端300获取其所监控的业务的业务数据。
统计服务器200与策略引擎服务器100可以通信连接,统计服务器200主要是用于部署统计模块,对业务数据进行统计分析,并作为策略引擎服务器100的基础能力模块,提供基础数据,例如,业务数据为一定时间段内某账号的增粉数据,统计服务器200对增粉数据进行统计分析,如以一小时为单位,统计这个时间段内每小时增加的粉丝数量,进而策略引擎服务器100可以从统计服务器200中获取统计分析结果,并按照安全控制脚本中描述的策略规则,对统计分析结果进行处理,判断是否出现异常,并可以进行相应业务控制操作。
策略引擎服务器100可以分别与统计服务器200、第三方应用服务器400、第三方应用客户端300通信连接,并且策略引擎服务器100还可以提供配置界面,配置界面可以提供编辑策略、调试策略、业务管理、上/下线等功能,进而开发人员可以通过配置界面输入安全控制脚本、输入策略调试指令等操作。
例如,本申请实施例中,策略引擎服务器100获取通过配置界面输入的安全控制脚本,对该安全控制脚本进行调试并上线后,若从第三方应用客户端300获取到业务的业务数据时,可以调度该业务的安全控制脚本,进而可以根据该安全控制脚本描述的安全策略规则,对该业务进行策略决策,即对该业务的业务数据进行处理,确定是否存在异常,进而可以通过调用业务对应的服务接口,即通过第三方应用服务器400提供的服务接口,对业务执行相应的业务控制。
其中,统计服务器200、策略引擎服务器100和第三方应用服务器400可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器,例如较佳的,本申请实施例中统计服务器200为多个并且构成分布式系统。
值得说明的是,本申请实施例中的应用环境架构图是为了更加清楚地说明本发明实施例中的技术方案,并不构成对本申请实施例提供的技术方案的限制,并且本申请实施例中主要是针对安全策略,但是对于其它的应用架构和策略应用,本申请实施例提供的技术方案对于类似的问题,同样适用。
需要说明的是,本申请各个实施例中,以安全控制方法应用于图1所示的应用环境架构为例进行示意性说明。
基于上述实施例,为便于理解本申请实施例中的安全控制方法,下面先对本申请实施例中的安全控制系统进行说明,该安全控制系统的架构设计,可以分为两部分,分别为规则引擎架构设计和统计模块架构设计,其中,规则引擎架构设计部署在策略引擎服务器上,统计模块架构设计部署在统计服务器上。
第一部分:规则引擎架构设计。
参阅图2所示,为本申请实施例中规则引擎架构设计示意图。如图2所示,规则引擎架构中主要包括生命周期管理模块、版本管理模块、核心模块、通用安全能力模块、外部业务模块,具体地:
1)配置界面,本申请实施例中配置界面可以提供编辑策略、调试策略、业务管理、上/下线等功能。
基于配置界面提供的不同功能,开发人员可以执行不同的操作,具体可以分为以下几种操作实现:
a、编辑策略:接收通过配置界面输入的安全控制脚本。
b、调试策略:接收通过配置界面输入的策略调试指令。
c、业务管理:接收通过配置界面输入的业务选择、添加、删除等指令。
d、上/下线:接收通过配置界面输入的策略上线指令或下线指令。
例如,开发人员可以点击业务管理功能,选择某业务,或者添加某业务,目的是后续针对该业务输入安全控制脚本,并对该业务进行监控处理,选择业务后,点击编辑策略功能,输入针对该业务的安全控制脚本,其中,开发人员可以直接在系统中编写,也可以支持开发人员直接上传编写完成的安全控制脚本,这样,本申请实施例中,通过业务管理和针对该业务的安全控制脚本的编辑,可以建立并获得安全控制脚本与业务之间的关联关系。
然后,开发人员可以点击调试策略功能,进而系统可以对该安全控制脚本进行调试,并可以在配置界面上显示调试结果,这时,若确定调试结果为调试通过,无错误,开发人员可以点击上/下线功能,进而可以上线该安全控制脚本,将该安全控制脚本的版本状态更新为线上版本状态。
并且对于某个业务的安全控制脚本或同一业务的某个版本的安全控制脚本,也可以通过上/下线功能,将安全控制脚本下线,这时就不能再使用该下线的安全控制脚本进行安全控制处理了。
2)外部业务模块,可以与第三方应用客户端通信连接,用于从第三方应用客户端获取业务的业务数据。
本申请实施例中,可以同时对多个业务进行监控和安全控制,本申请实施例中并不进行限制。
3)生命周期管理模块,主要是负责管理一个安全控制脚本的完整生命,例如从草稿->灰度->线上->历史,其中,草稿版本状态、灰度版本状态和历史版本状态可以统称为线下版本状态,灰度版本状态表示只针对部分用户的业务进行测试的版本,需要灰度一部分范围的业务数据流量进行测试。
例如,获得通过配置界面输入的安全控制脚本,并将安全控制脚本的版本状态配置为线下版本状态,具体地一个安全控制脚本在输入阶段,先处于草稿版本状态,开发人员可以对处于草稿版本状态的安全控制脚本进行多次编辑操作,安全控制脚本编辑完成后,由于通常对于一个新的安全策略上线,需要对其进行测试,若直接面向所有用户很可能出现一些问题,因此在上线之前,可以先对该安全控制脚本进行测试,先只对部分用户开放,这时的安全控制脚本的版本状态即是灰度版本状态,进而还可以根据测试结果,对安全控制脚本进行修改调整等处理。
进而测试通过后,可以发布上线,将安全控制脚本的版本状态更新为线上版本状态,并且本申请实施例中,还支持版本的回滚,同一业务可以输入多个版本的安全控制脚本,这样,新的版本输入后,可以将之前的版本状态更新为历史版本状态。
这样,通过生命周期管理模块,可以实现对安全控制脚本的完整生命状态进行管理。
4)版本管理模块,主要负责一个安全控制脚本的历史追溯和回滚,在版本管理模块中,安全控制脚本对应维护多个版本,每个版本对应一个版本信息,并将当前版本信息配置为最新版本的版本信息。
例如,版本信息为版本编号,并根据版本上线顺序,其对应的版本编号按照设定步长依次递增,则当前版本即为版本编号最大的版本。
例如,安全控制脚本有四个版本,分别为版本(version,ver)1、version2、version3和version4,ver1->ver2->ver3->ver4,version4为最新版本,则当前版本(curversion)指向version4。
5)核心模块,包括策略调度器、策略解析器和脚本引擎(例如lua引擎)、策略更新模块、策略调试器。
其中,a、策略调度器用于获取到业务的业务数据时,获得业务的安全控制脚本,具体地,根据当前版本信息对应的版本信息,获取当前版本的安全控制脚本。
即策略调度器确定获取到业务的业务数据时,就可以根据业务和安全控制脚本的关联关系,调度当前版本的安全控制脚本。
b、策略解析器,主要是解析安全控制脚本,获得安全控制脚本的逻辑编排,确定安全控制脚本的执行顺序。
c、lua引擎,主要是将安全控制脚本翻译成机器可执行的语言,并运行可执行安全控制脚本,根据安全策略规则和业务数据,对业务执行相应的业务控制。
例如,针对业务是否异常进行策略决策,具体地,可以从统计模块中获得业务数据的统计分析结果;调用所述可执行安全控制脚本,根据所述安全策略规则和所述业务数据的统计分析结果,确定业务是否存在异常行为;确定业务存在异常行为时,对业务执行相应的业务控制。
其中,lua引擎也可以采用其它方式,本申请实施例中并不进行限制。
也就是说,调度获得业务关联的安全控制脚本后,也通过策略解析器和lua引擎,解析安全控制脚本获得可执行安全控制脚本。
d、策略调试器,用于对安全控制脚本进行调试。
具体地,该策略调试器可以与配置界面的调试策略功能进行联动,开发人员点击配置界面的调试策略功能,然后策略调试器就对该安全控制脚本进行调试。
e、策略更新模块,用于更新安全控制脚本版本。
本申请实施例中,策略更新模块与版本管理模块可以进行联动,策略更新模块执行具体更新步骤,例如策略更新模块可以根据输入的安全控制脚本,更新安全控制脚本的版本。
又例如,本申请实施例中在进行回滚时,开发人员可以通过配置界面选择指定版本,则策略更新模块可以将当前版本更新为选择的指定版本,具体地本申请实施例中提供了一种可能的实施方式:响应通过配置界面输入的从安全控制脚本的各个历史版本中选择当前版本的选择指令,生成最新版本信息并配置到当前版本信息中;从安全控制脚本的历史版本中,复制选择指令对应的安全控制脚本;将复制的安全控制脚本存储为生成的最新版本信息对应的安全控制脚本。
也就是说,在回滚时是将选择指令对应的安全控制脚本,复制并存储为最新版本信息对应的安全控制脚本,例如,安全控制脚本有4个版本,从历史版本中选择ver2指定为当前版本,则将ver2版本的安全控制脚本,复制为ver5,当前版本即指向ver5,进一步地,这时也可以删除该ver2版本,这样可以减少内存占用,并且还可以记录版本更新信息,例如ver5是从ver2变更获得的。
这样,通过核心模块进行调度、调试、运行等安全控制脚本,可以实现高并发实时触发安全策略规则执行。
6)通用安全能力模块,主要负责打通周边的一些安全能力,与第三方应用服务器进行对接,可以强化安全策略规则的基础能力。
例如,通用安全能力模块可以扩展的安全能力,包括推送微信群、打击、机器学习、关键词系统等。
这样,本申请实施例中的安全控制系统通过通用安全能力模块,调用业务相应的服务接口,直接对业务执行相应的业务控制。
第二部分:统计模块架构设计。参阅图3所示,为本申请实施例中统计模块架构设计示意图,统计模块架构中主要包括多个统计模块的分布式节点和监控模块,以部署三个节点为例,每个节点均包括统计业务模块和数据库,具体地:
1)节点。统计模块作为规则引擎的基础能力模块,为安全策略规则提供基础数据能力,具有请求量大、响应快等特性,因此本申请实施例中在设计统计模块时,可以使用内存型数据库,例如,可以使用memcahced(一种分布式的高速缓存系统)、redis等,本申请实施例中并不进行限制,较佳的,可以使用redis,这是由于redis的社区活跃度高、统计属性强,并与业务更为贴切,因此可以选用redis作为底层统计设计,并为了提高可靠性,可以采用分布式方式部署。
例如,如图3所示是以redis为例进行说明,实际中redis的部署方式可以包括cluster集群方式和standalone方式,但是考虑到cluster集群方式部署复杂难以管理,且扩容比较容易失败,而相对来说standalone方式更容易管理,且稳定性强,因此,本申请实施例中可以采用standalone部署方式,具体部署方式如图3所示,但是本申请实施例中对于具体部署方式,并不进行限制。
例如,如图3所示,统计模块采用redis数据库,并采用standalone部署方式,采用多节点,例如包括节点(Node)A、Node B、Node C等,可以部署在一个服务器或多个服务器上,不同节点可以存储不同数据。
这样,采用分布式standalone部署方式,该方式可以线性增长,并且单点故障不影响整体服务,可靠性高。
2)监控模块,用于监控统计模块的性能、健康情况等。
例如,如图3所示,可以对redis的性能指标进行监控,例如服务器(server)信息、与客户端(clients)连接情况信息、记忆(memory)信息、持久化(persistence)信息、统计(stats)信息、复制(replication)信息等,本申请实施例中并不进行限制,这样,可以便于对统计模块的管理,提高统计模块的可靠性和性能。
另外,需要说明的是,规则引擎可以获取其所需的统计分析结果,存储在哪个节点,并且规则引擎可以通过RPC接入层,从统计模块获取业务数据的统计分析结果。
本申请实施例中,由于安全策略的频繁上下线,因此本申请实施例中提供了一种安全控制系统,包括规则引擎架构和统计模块架构设计,并且还提供了安全控制脚本的版本管理、生命周期管理、策略引擎、统计分析等多个技术方案的设计,这样,针对不同的业务,只需要输入相应的安全控制脚本即可,无需重新设计其它功能操作,加速了安全控制脚本的制定和上线,提升了安全策略的整体实现效率。
基于上述实施例,对本申请实施例中的安全控制方法进行说明,参阅图4所示,为本申请实施例中安全控制方法流程图,主要应用于本申请实施例中的安全控制系统,该方法包括:
步骤400:获取到业务的业务数据时,获得业务的安全控制脚本。
其中,安全控制脚本通过配置界面配置,安全控制脚本用于描述安全策略规则。
本申请实施例中,基于安全控制脚本实现安全策略规则,并且本申请实施例中,根据业务的特性,需要选择一款轻量、表达能力足够强的脚本语言,例如,python、lua、javascript等,其中python的速度过慢,javasctipt需要的v8引擎过重,相对而言lua最为轻量,且满足业务特性,并且lua与C++互通性好(通过虚拟栈),因此较佳的,可以选择lua作为脚本语言。
进一步地,在执行步骤400之前,开发人员可以通过配置界面输入安全控制脚本,并进行调试、上线等操作,具体本申请实施例中提供了一种可能的实施方式:1)获得通过配置界面输入的安全控制脚本,并将安全控制脚本的版本状态配置为线下版本状态。
2)响应通过配置界面输入的策略调试指令,对安全控制脚本进行调试,并在配置界面显示调试结果。
3)响应通过配置界面输入的策略上线指令,将安全控制脚本的版本状态更新为线上版本状态。
这样,开发人员将安全控制脚本调试通过并上线后,系统就可以基于该安全控制脚本对相应业务进行策略决策。
并且,本申请实施例中,安全控制脚本可以对应维护多个版本,每个版本对应一个版本信息,并将当前版本信息配置为最新版本的版本信息。
则执行步骤400时,具体包括:根据当前版本信息对应的版本信息,获取当前版本的安全控制脚本。
步骤410:解析安全控制脚本获得可执行安全控制脚本。
具体地,可以基于策略解析器和lua引擎,对安全控制脚本进行解析翻译等,获得机器可执行文件,即可执行安全控制脚本。
步骤420:调用可执行安全控制脚本,根据安全策略规则和业务数据,对业务执行相应的业务控制。
执行步骤420时,具体包括:
S1、获取业务数据的统计分析结果。
例如,对某应用的访问量或下载量进行监控,以访问量为例,获取该应用一段时间内的访问量数据,并通过统计模块对该访问量数据进行统计分析,获取统计分析结果,例如按天为单位,统计每天的访问量。
S2、调用可执行安全控制脚本,根据安全策略规则和业务数据的统计分析结果,确定业务是否存在异常行为。
S3、确定业务存在异常行为时,对业务执行相应的业务控制。
例如,可以根据安全控制脚本中描述的安全策略规则,判断是否有异常,例如可以通过计算分析,确定该应用的平均访问量或标准访问量,进而根据该平均访问量,判断该应用每天的访问量是否存在异常,若确定存在异常,则可以对该应用进行相应的业务控制,例如对异常访问量进行追踪、报警等,还可以调用相关服务接口直接关闭或下架该应用等决策和处理。
本申请实施例中,基于安全控制系统提供了一种安全控制方法,获取到业务的业务数据时,获取业务的安全控制脚本,并解析安全控制脚本获得可执行安全控制脚本,进而调用运行可执行安全控制脚本,根据安全策略规则和业务数据,对业务执行相应的业务控制,这样,通过脚本实现安全策略,并且不需要重新设计功能,只需通过配置界面输入安全控制脚本,就可以通过执行该安全控制脚本,实现对业务的策略决策,实现了安全策略逻辑的快速落地,并且执行效率高,极大的提升了安全策略制定的便利性和效率。
基于同一发明构思,本申请实施例中还提供了一种安全控制系统,该安全控制系统可以是硬件结构、软件模块、或硬件结构加软件模块。基于上述实施例,参阅图5所示,本申请实施例中一种安全控制系统,具体包括:核心模块50,所述核心模块至少包括策略调度器51、策略解析器52和预设脚本引擎53,具体地:
所述策略调度器51,用于获取到业务的业务数据时,获得所述业务的安全控制脚本,所述安全控制脚本通过配置界面配置,所述安全控制脚本用于描述安全策略规则;
所述策略解析器52,用于解析所述安全控制脚本;
所述预设脚本引擎53,用于将所述安全控制脚本翻译获得可执行安全控制脚本,并调用所述可执行安全控制脚本,根据所述安全策略规则和所述业务数据,对所述业务执行相应的业务控制。
可选的,所述系统还包括生命周期管理模块60,所述核心模块还包括策略调试器54;
所述策略调试器54,用于响应通过所述配置界面输入的策略调试指令,对所述安全控制脚本进行调试,并在所述配置界面显示调试结果;
所述生命周期管理模块60,用于获得通过所述配置界面输入的所述安全控制脚本,并将所述安全控制脚本的版本状态配置为线下版本状态;以及响应通过所述配置界面输入的策略上线指令,将所述安全控制脚本的版本状态更新为线上版本状态。
可选的,所述系统还包括版本管理模块70,版本管理模块70用于维护所述安全控制脚本对应的多个版本,每个版本对应一个版本信息,并将当前版本信息配置为最新版本的版本信息;
所述获得所述业务的安全控制脚本时,所述策略调度器51具体用于:根据当前版本信息对应的版本信息,获取当前版本的安全控制脚本。
可选的,所述核心模块还包括策略更新模块55,所述策略更新模块55用于:
响应通过所述配置界面输入的从所述安全控制脚本的各个历史版本中选择当前版本的选择指令,生成最新版本信息并配置到当前版本信息中;
从所述安全控制脚本的历史版本中,复制所述选择指令对应的安全控制脚本;
将复制的安全控制脚本存储为生成的最新版本信息对应的安全控制脚本。
可选的,所述系统还包括统计模块80,所述统计模块采用分布式方式部署;所述统计模块80,用于对所述业务数据进行统计分析,获得所述业务数据的统计分析结果;
则所述预设脚本引擎53具体用于:
从所述统计模块80获取所述业务数据的统计分析结果;
调用所述可执行安全控制脚本,根据所述安全策略规则和所述业务数据的统计分析结果,确定所述业务是否存在异常行为;
确定所述业务存在异常行为时,对所述业务执行相应的业务控制。
基于上述实施例,参阅图6所示为本申请实施例中电子设备的结构示意图。
本申请实施例提供了一种电子设备,该电子设备可以包括处理器610(CenterProcessing Unit,CPU)、存储器620、输入设备630和输出设备640等,输入设备630可以包括键盘、鼠标、触摸屏等,输出设备640可以包括显示设备,如液晶显示器(Liquid CrystalDisplay,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器620可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器610提供存储器620中存储的程序指令和数据。在本申请实施例中,存储器620可以用于存储本申请实施例中任一种安全控制方法的程序。
处理器610通过调用存储器620存储的程序指令,处理器610用于按照获得的程序指令执行本申请实施例中任一种安全控制方法。
基于上述实施例,本申请实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的安全控制方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种安全控制方法,其特征在于,包括:
获取到业务的业务数据时,获得所述业务的安全控制脚本,所述安全控制脚本通过配置界面配置,所述安全控制脚本用于描述安全策略规则;
解析所述安全控制脚本获得可执行安全控制脚本;
调用所述可执行安全控制脚本,根据所述安全策略规则和所述业务数据,对所述业务执行相应的业务控制。
2.如权利要求1所述的方法,其特征在于,进一步包括:
获得通过所述配置界面输入的所述安全控制脚本,并将所述安全控制脚本的版本状态配置为线下版本状态;
响应通过所述配置界面输入的策略调试指令,对所述安全控制脚本进行调试,并在所述配置界面显示调试结果;
响应通过所述配置界面输入的策略上线指令,将所述安全控制脚本的版本状态更新为线上版本状态。
3.如权利要求1所述的方法,其特征在于,所述安全控制脚本对应维护多个版本,每个版本对应一个版本信息,并将当前版本信息配置为最新版本的版本信息;
所述获得所述业务的安全控制脚本,具体包括:根据当前版本信息对应的版本信息,获取当前版本的安全控制脚本。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
响应通过所述配置界面输入的从所述安全控制脚本的各个历史版本中选择当前版本的选择指令,生成最新版本信息并配置到当前版本信息中;
从所述安全控制脚本的历史版本中,复制所述选择指令对应的安全控制脚本;
将复制的安全控制脚本存储为生成的最新版本信息对应的安全控制脚本。
5.如权利要求1-4任一项所述的方法,其特征在于,调用所述可执行安全控制脚本,根据所述安全策略规则和所述业务数据,对所述业务执行相应的业务控制,具体包括:
获取所述业务数据的统计分析结果;
调用所述可执行安全控制脚本,根据所述安全策略规则和所述业务数据的统计分析结果,确定所述业务是否存在异常行为;
确定所述业务存在异常行为时,对所述业务执行相应的业务控制。
6.一种安全控制系统,其特征在于,包括,核心模块,所述核心模块至少包括策略调度器、策略解析器和预设脚本引擎,具体地:
所述策略调度器,用于获取到业务的业务数据时,获得所述业务的安全控制脚本,所述安全控制脚本通过配置界面配置,所述安全控制脚本用于描述安全策略规则;
所述策略解析器,用于解析所述安全控制脚本;
所述预设脚本引擎,用于将所述安全控制脚本翻译获得可执行安全控制脚本,并调用所述可执行安全控制脚本,根据所述安全策略规则和所述业务数据,对所述业务执行相应的业务控制。
7.如权利要求6所述的系统,其特征在于,所述系统还包括生命周期管理模块,所述核心模块还包括策略调试器;
所述策略调试器,用于响应通过所述配置界面输入的策略调试指令,对所述安全控制脚本进行调试,并在所述配置界面显示调试结果;
所述生命周期管理模块,用于获得通过所述配置界面输入的所述安全控制脚本,并将所述安全控制脚本的版本状态配置为线下版本状态;以及响应通过所述配置界面输入的策略上线指令,将所述安全控制脚本的版本状态更新为线上版本状态。
8.如权利要求6或7所述的系统,其特征在于,所述系统还包括统计模块,所述统计模块采用分布式方式部署;所述统计模块,用于对所述业务数据进行统计分析,获得所述业务数据的统计分析结果;
则所述预设脚本引擎具体用于:
从所述统计模块获取所述业务数据的统计分析结果;
调用所述可执行安全控制脚本,根据所述安全策略规则和所述业务数据的统计分析结果,确定所述业务是否存在异常行为;
确定所述业务存在异常行为时,对所述业务执行相应的业务控制。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-5任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010579919.6A CN113835698A (zh) | 2020-06-23 | 2020-06-23 | 一种安全控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010579919.6A CN113835698A (zh) | 2020-06-23 | 2020-06-23 | 一种安全控制方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113835698A true CN113835698A (zh) | 2021-12-24 |
Family
ID=78964010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010579919.6A Pending CN113835698A (zh) | 2020-06-23 | 2020-06-23 | 一种安全控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113835698A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101156156A (zh) * | 2005-02-09 | 2008-04-02 | 惠普开发有限公司 | 补救不希望有的应用程序的影响 |
US20130104100A1 (en) * | 2011-10-21 | 2013-04-25 | Sap Ag | Scripting Language for Business Applications |
CN103795580A (zh) * | 2012-10-29 | 2014-05-14 | 腾讯科技(深圳)有限公司 | 一种数据监控方法、系统及相关设备 |
CN104468546A (zh) * | 2014-11-27 | 2015-03-25 | 微梦创科网络科技(中国)有限公司 | 一种网络信息处理方法及防火墙装置、系统 |
EP2998897A1 (en) * | 2014-09-20 | 2016-03-23 | Kaspersky Lab, ZAO | System and method for configuring a computer system according to security policies |
CN106487542A (zh) * | 2015-08-26 | 2017-03-08 | 北京京东尚科信息技术有限公司 | 一种利用配置中心管理动态脚本的方法和系统 |
CN110059110A (zh) * | 2019-04-12 | 2019-07-26 | 北京百度网讯科技有限公司 | 业务数据安全处理方法、装置、计算机设备和存储介质 |
CN111078637A (zh) * | 2019-10-12 | 2020-04-28 | 中国平安财产保险股份有限公司 | 脚本文件上线方法、装置、计算机设备及存储介质 |
-
2020
- 2020-06-23 CN CN202010579919.6A patent/CN113835698A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101156156A (zh) * | 2005-02-09 | 2008-04-02 | 惠普开发有限公司 | 补救不希望有的应用程序的影响 |
US20130104100A1 (en) * | 2011-10-21 | 2013-04-25 | Sap Ag | Scripting Language for Business Applications |
CN103795580A (zh) * | 2012-10-29 | 2014-05-14 | 腾讯科技(深圳)有限公司 | 一种数据监控方法、系统及相关设备 |
EP2998897A1 (en) * | 2014-09-20 | 2016-03-23 | Kaspersky Lab, ZAO | System and method for configuring a computer system according to security policies |
CN104468546A (zh) * | 2014-11-27 | 2015-03-25 | 微梦创科网络科技(中国)有限公司 | 一种网络信息处理方法及防火墙装置、系统 |
CN106487542A (zh) * | 2015-08-26 | 2017-03-08 | 北京京东尚科信息技术有限公司 | 一种利用配置中心管理动态脚本的方法和系统 |
CN110059110A (zh) * | 2019-04-12 | 2019-07-26 | 北京百度网讯科技有限公司 | 业务数据安全处理方法、装置、计算机设备和存储介质 |
CN111078637A (zh) * | 2019-10-12 | 2020-04-28 | 中国平安财产保险股份有限公司 | 脚本文件上线方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7209034B2 (ja) | エッジコンピューティングテスト方法、装置、機器及び読み取り可能な記憶媒体 | |
US11163731B1 (en) | Autobuild log anomaly detection methods and systems | |
US10621068B2 (en) | Software code debugger for quick detection of error root causes | |
US9009183B2 (en) | Transformation of a system change set from machine-consumable form to a form that is readily consumable by a human | |
US10489274B2 (en) | Using emulation to disassociate verification from stimulus in functional test | |
US8584079B2 (en) | Quality on submit process | |
CN110741354B (zh) | 呈现代码实体调用之间的差异 | |
US9823994B2 (en) | Dynamically identifying performance anti-patterns | |
US20150007156A1 (en) | Injecting patch code at runtime | |
US9652220B2 (en) | Zero down-time deployment of new application versions | |
EP3030969A1 (en) | Automated application test system | |
US8924932B2 (en) | Using stack data and source code to rank program changes | |
CN110489310B (zh) | 一种记录用户操作的方法、装置、存储介质及计算机设备 | |
CN111159301A (zh) | 一种基于智能合约的数据创建方法、装置、设备及存储介质 | |
US10185647B2 (en) | Debugging remote vertex code on test machine | |
US11263115B2 (en) | Problem diagnosis technique of memory corruption based on regular expression generated during application compiling | |
US9104573B1 (en) | Providing relevant diagnostic information using ontology rules | |
CN113835698A (zh) | 一种安全控制方法及系统 | |
CN117707917A (zh) | 业务测试方法、装置及设备、介质、产品 | |
CN111459547B (zh) | 一种函数调用链路的展示方法和装置 | |
CN113220586A (zh) | 一种自动化的接口压力测试执行方法、装置和系统 | |
CN113110846A (zh) | 一种环境变量的获取方法及装置 | |
Fördős et al. | CRDTs for the configuration of distributed Erlang systems | |
CN107632934B (zh) | 一种C-sharp中函数复制方法及装置 | |
Das | Investigating performance issues in mobile apps |
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 |