CN112925529B - 基于分布式云平台的应用安全分发方法、系统、装置及介质 - Google Patents
基于分布式云平台的应用安全分发方法、系统、装置及介质 Download PDFInfo
- Publication number
- CN112925529B CN112925529B CN202110167951.8A CN202110167951A CN112925529B CN 112925529 B CN112925529 B CN 112925529B CN 202110167951 A CN202110167951 A CN 202110167951A CN 112925529 B CN112925529 B CN 112925529B
- Authority
- CN
- China
- Prior art keywords
- application
- security
- deployment
- distributed cloud
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000013439 planning Methods 0.000 claims abstract description 52
- 238000012549 training Methods 0.000 claims abstract description 31
- 238000012550 audit Methods 0.000 claims abstract description 21
- 238000002407 reforming Methods 0.000 claims abstract description 7
- 230000002787 reinforcement Effects 0.000 claims description 56
- 230000008859 change Effects 0.000 claims description 52
- 238000004891 communication Methods 0.000 claims description 29
- 238000007726 management method Methods 0.000 claims description 25
- 238000005457 optimization Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 24
- 238000001514 detection method Methods 0.000 claims description 20
- 238000012986 modification Methods 0.000 claims description 20
- 230000004048 modification Effects 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 4
- 230000003014 reinforcing effect Effects 0.000 claims description 4
- 238000013070 change management Methods 0.000 description 10
- 238000012423 maintenance Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 244000035744 Hura crepitans Species 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供的基于分布式云平台的应用安全分发方法、系统、装置及存储介质,方法包括:获取应用变更申请,根据所述应用变更申请更新所述应用;对更新后的所述应用进行安全审核,确定所述应用为安全应用;将所述安全应用进行优化改造;根据所述部署文件训练得到部署规划模型,通过所述部署规划模型生成部署方案,根据所述部署方案将所述应用部署文件发布至分布式云平台。本申请的技术方案能够更为全面、安全、灵活地实现在分布式云上的应用分发工作,并且分发的应用更广,不仅限于个别类型的应用,可广泛应用于计算机网络技术领域。
Description
技术领域
本发明涉及计算机网络技术领域,尤其是基于分布式云平台的应用安全分发方法、系统装置及存储介质。
背景技术
分布式云是下一代云计算的发展趋势,其组成包括公有云、混合云、边缘云。分布式云将云服务分布到不同物理位置的地方,但是操作、治理和演进仍然是公共云提供商的责任。分布式云为具有低延迟、降低数据成本需求和数据驻留要求的企业机构方案提供了一个灵活的环境,同时还使用户的云计算资源能够更靠近发生数据和业务活动的物理位置。
与此同时,随着企业业务的持续扩张和个人消费场景的不断扩大,应用的功能更复杂、应用场景更广泛。如何将一个应用快速、高效、安全的分发到异构的环境中并保证应用服务质量,这成为了当前急需解决的问题。因为应用的分发需要考虑应用部署至平台的兼容性和安全性问题,组织应考虑应用分发的高效性和分发成本和考虑应用部署方案能否满足应用服务开启后的性能、安全要求。
当前的分发方案大多是应用开发商根据预定发布平台的参数和预估应用量,简单调整代码编译进行静态的匹配;在应用服务开启后直接托付给部署平台根据业务量进行调整,或面对多个部署平台进行人工调整;难以全面、安全、灵活的实现在分布式云上的应用分发工作。
发明内容
有鉴于此,为至少部分解决上述技术问题之一,本发明实施例目的在于提供一种基于分布式云平台的全面、安全并且灵活的应用分发方法;同时本申请还提供了对应的实现该方法的系统、装置及计算机可读的存储介质。
第一方面,本申请的技术方案提供了基于分布式云平台的应用安全分发方法,其步骤包括:
获取应用变更申请,根据所述应用变更申请更新所述应用;
对更新后的所述应用进行安全审核,确定所述应用为安全应用;
将所述安全应用进行优化改造;
所述优化改造的过程包括以下步骤:获取所述安全应用的应用源代码;对所述应用源代码进行兼容性改造,并将改造后的所述应用源代码进行安全加固;根据安全加固后的所述应用源代码进行编译,生成应用部署文件;
根据所述部署文件训练得到部署规划模型,通过所述部署规划模型生成部署方案,根据所述部署方案将所述应用部署文件发布至分布式云平台;
所述根据所述部署文件训练得到部署规划模型的过程,包括以下步骤:获取所述安全应用的用户参数以及应用参数;根据所述用户参数确定应用部署要求、安全性要求以及应用使用需求;根据所述应用参数确定部署环境的资源、部署环境资源使用的成本和网络通信成本;根据所述应用部署要求、所述安全性要求、所述应用使用需求、所述部署环境的资源、所述部署环境资源使用的成本以及所述网络通信成本训练得到所述部署规划模型。
在本申请方案的一种可行的实施例中,所述获取应用变更申请,根据所述应用变更申请更新所述应用这一步骤,其包括:
确定所述应用变更申请的请求为提交新应用或更新应用,获取所述应用的应用参数、用户参数以及应用源代码;
确定所述应用变更申请的请求为应用下架,在所述分布式云平台中关闭所述应用的虚机和容器,并删除所述虚机以及所述容器,删除所述应用的存储数据。
在本申请方案的一种可行的实施例中,所述对更新后的所述应用进行安全审核,确定所述应用为安全应用这一步骤,其包括:
获取所述应用的开发商信息,根据所述开发商信息以及所述应用参数确定应用权威评分;
根据所述应用参数解析得到构架组件列表,确定应用构建因素评分;
根据所述应用权威评分以及所述应用构建因素评分进行加权计算得到安全评分,当所述安全评分不小于第一预设值,确定所述应用为安全应用。
在本申请方案的一种可行的实施例中,所述将所述安全应用进行优化改造这一步骤,其还包括:
根据所述应用参数生成应用安全指纹;
所述生成应用安全指纹的过程包括:
从所述应用参数中解析得到特征信息、发布平台信息以及应用版本号,根据所述特征信息、所述发布平台信息以及所述应用版本号通过哈希函数得到哈希值,根据所述哈希值确定所述应用安全指纹。
在本申请方案的一种可行的实施例中,所述根据所述应用部署要求、所述安全性要求、所述应用使用需求、所述部署环境的资源以及所述网络通信成本训练得到所述部署规划模型这一步骤,其包括:
根据所述安全性要求、所述部署环境资源使用成本、网络通信成本,结合应用未来资源变量以及优化建议集,组合得到应用要求集;其中,所述优化建议集根据所述应用部署要求以及所述用户参数所确定;
根据所述应用部署要求确定可部署分布式云集合,从所述可部署分布式云集合中,获取分布式云内部资源信息、分布式云之间资源信息、云端之间资源信息以及安全风险,确定部署环境综合集;
确定分布式云上应用占用资源情况;
根据所述应用要求集、所述部署环境综合集以及所述分布式云上应用占用资源情况构建所述部署规划模型。
在本申请方案的一种可行的实施例中,所述对所述应用源代码进行兼容性改造,并将改造后的所述应用源代码进行安全加固,其包括以下步骤至少之一:
对接口进行安全加固;对通信进行安全加固;对输出信息以及输出信息进行安全加固,将所述应用源代码进行混淆;对所述应用的数据及日志加密;对安全密钥管理进行加固;生成容灾备份。
在本申请方案的一种可行的实施例中,所述应用分发方法还包括以下步骤:
监测分布式云平台上所述应用的资源使用情况;
监测所述应用的下载情况;
监测所述应用的安全评分变化;
监测所述分布式云平台的节点安全风险变化;
根据所述资源使用情况、所述下载情况、所述安全评分变化以及所述节点安全风险变化,通过所述部署规划模型生成部署方案。
第二方面,本发明的技术方案还提供基于分布式云平台的应用安全分发系统,包括:
平台用户交互管理模块,用于获取应用变更申请,根据所述应用变更申请更新所述应用;
应用安全检测模块,用于对更新后的所述应用进行安全审核,确定所述应用为安全应用;
应用安全加固模块,用于将所述安全应用进行优化改造;所述优化改造的过程包括以下步骤:获取所述安全应用的应用源代码;对所述应用源代码进行兼容性改造,并将改造后的所述应用源代码进行安全加固;根据安全加固后的所述应用源代码进行编译,生成应用部署文件;
应用服务器端编排部署模块,用于根据所述部署文件训练得到部署规划模型,通过所述部署规划模型生成部署方案,并根据所述部署方案完成自动编排部署;所述根据所述部署文件训练得到部署规划模型的过程,包括以下步骤:获取所述安全应用的用户参数以及应用参数;根据所述用户参数确定应用部署要求、安全性要求以及应用使用需求;根据所述应用参数确定部署环境的资源、部署环境的资源使用收费成本和网络通信成本;根据所述应用部署要求、所述安全性要求、所述应用使用需求、所述部署环境的资源、所述部署环境的资源使用收费成本以及所述网络通信成本训练得到所述部署规划模型;
应用客户端分发模块,用于根据所述部署方案将所述应用部署文件发布至分布式云平台。
第三方面,本发明的技术方案还提供基于分布式云平台的应用安全分发装置,其包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当至少一个程序被至少一个处理器执行,使得至少一个处理器运行第一方面中的基于分布式云平台的应用安全分发方法。
第四方面,本发明的技术方案还提供了一种存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于运行第一方面中的方法。
本发明的优点和有益效果将在下面的描述中部分给出,其他部分可以通过本发明的具体实施方式了解得到:
本申请的技术方案针对应用进行安全检测、安全加固、应用优化后;再以应用的应用部署要求、应用使用需求、部署环境的资源、安全性要求、各类分布式云的收费和云间网络通信成本因素为基础,智能规划应用部署方案;并通过安全的方式将应用服务器端发布到分布式云上以提供应用服务;本技术方案能够更为全面、安全、灵活地实现在分布式云上的应用分发工作,并且分发的应用更广,不仅限于个别些类型的应用。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种可实现分布式云平台上应用安全分发的方法的网络拓扑图;
图2为本发明提供的一种基于分布式云平台的应用安全分发系统的结构示意图;
图3为本发明提供的一种基于分布式云平台的应用安全分发方法的概要步骤流程图;
图4为本发明实施例中应用分发的流程图;
图5为本发明实施例中分布式云平台优化改造的流程图;
图6为本发明实施例中应用服务器端编排部署的流程图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
本申请的技术方案其主要是为了实现将应用安全地分发到分布式云节点,通过对应用开发商提交的应用进行安全检测、安全加固、应用优化后;基于应用部署要求、应用使用需求、部署环境的资源、安全性要求、各类分布式云的收费和云间网络通信计费的成本等因素的考虑,智能规划应用部署方案;并通过安全的方式将应用服务器端发布到分布式云上以提供应用服务,将应用客户端发布到可信应用商店以推送给用户。此外,本申请的技术方案在应用部署后还持续对应用使用资源的情况和应用市场上应用下载的情况和部署平台的安全情况进行监控,在应用使用状况和安全风险发生变化时快速调整部署规划并重新进行应用部署。
首先,本申请技术方案中的网络拓扑图如图1所示,本申请技术方案的实施例均基于图1中的网络拓扑,该网络拓扑的环境主要包括应用安全分发平台、分布式云、可信应用商店、应用开发商自有环境组成,其中分布式云包括核心云和边缘云;应用安全分发平台可部署在指定的分布式云上。
在第一方面,如图2所示,为本申请的一种基于分布式云平台的应用分发系统,基于该系统能够完成应用安全分发以及对部署平台的安全情况进行监控,在发生变化时调整部署规划并重新进行应用部署。
该系统主要包括:
平台用户交互管理模块:用于获取应用变更申请,根据所述应用变更申请更新所述应用,对平台用户与应用安全分发平台的输入和输出进行管理。
应用安全检测模块,用于对更新后的应用进行安全审核,确定应用为安全应用;负责对应用的源代码进行检测和安全审核,并对应用进行安全评分工作,其中对源代码进行检测和安全审核的内容包括但不限于代码安全审计,漏洞扫描,内容检测,沙箱检测。可以理解的是,本申请的实施例中的更新可以是应用的初次上线或者是已上线应用的版本更新。
应用安全加固模块,用于将安全应用进行优化改造;对应用的服务器端软件和客户端软件进行优化,优化主要包括安全加固和兼容性改造;其中安全加固包括接口加固、通信安全加固、输入/输出信息加固、源代码混淆、存储加密、日志加密、安全密钥管理加固以及进行容灾备份等;而其中优化改造过程包括:获取安全应用的应用源代码;对应用源代码进行兼容性改造,并将改造后的应用源代码进行安全加固;根据安全加固后的应用源代码进行编译,生成应用部署文件。
应用服务器端编排部署模块,用于根据部署文件训练得到部署规划模型,通过部署规划模型生成部署方案,并根据生成的部署方案完成自动编排部署;其中,根据部署文件训练得到部署规划模型的过程,包括获取安全应用的用户参数以及应用参数;根据用户参数确定应用部署要求、安全性要求以及应用使用需求;根据应用参数确定部署环境的资源和网络通信成本;根据应用部署要求、安全性要求、应用使用需求、部署环境的资源、分布式云的收费成本以及网络通信成本训练得到部署规划模型。更进一步地,应用服务其端编排部署模块包括智能规划部署和自动编排模块,其中,智能部署规划是调用智能部署规划算法,计算得出服务器端应用的部署计划方案,即{(拟部署的分布式云平台i,部署信息i)};
自动编排模块:用于根据服务器端应用的部署计划方案,对接待部署的云平台的云管平台通过开启或关闭相关的虚拟机和容器、执行策略同步来开启或关闭应用。
应用客户端分发模块,用于根据部署方案将应用部署文件发布至分布式云平台;该模块还可以基于工信部、知名权威机构所列名单(其中包括可信的应用对应厂商的官方下载方式),认证得出平台认证的可信应用商店;然后对指定应用进行客户端软件推送、应用下架工作。
在实施例系统中,除上述的主要模块之外,基于分布式云平台的应用分发系统还可以包括更多功能模块,以满足更多的功能需求,包括:
接口管理模块,负责应用安全分发平台与分布式云的云管平台、可信应用商店的接口对接管理工作。
厂商注册及变更管理模块:用于通过平台用户交互管理模块获取厂商提交的注册或变更信息,在调用厂商审核模块完成应用开发商资料的审核通过后将厂商信息存入厂商数据库。
应用注册及变更管理模块:用于获取应用开发商因新发布新应用、更新应用、下架应用时提交的应用审核信息,调用应用安全检测模块对源代码进行检测和安全审核,通知应用安全分发平台的应用安全加固模块对应用软件进行优化,通知应用安全分发平台的应用信息维护模块将应用变更事件记录到应用信息数据库。
厂商审核模块:用于根据厂商提交的信息,通过查询工商管理局及其他权威机构的企业黑名单,判断是否通过审核,同时结合爬虫搜索企业信誉,综合计算得到安全评分。
应用信息维护模块:用于将应用变更事件记录到应用信息库,查询指定应用的应用参数和用户参数。
环境资源收集模块:用于收集应用部署相关的环境资源信息,并将其保存至环境资源信息数据库;其中,环境资源信息中应用风险变化和部署所在的分布式云的风险变化的收集是实时获取。
应用监管模块:对于指定应用,该模块通过云管平台和网络控制器监管其部署平台及相关网络的应用使用资源的情况、以及通过应用市场上获取应用下载的情况、定期通过应用安全检测模块追踪应用的安全评分的变化情况并将以上信息存入应用信息数据库;并且当应用使用资源和安全风险发生变化时通知应用服务器端编排部署模块重新规划并调整此应用的部署。
应用编译模块,用于将优化改造后的客户端部署环境的源代码和服务器端部署环境的源代码编译生成对应部署环境的发布格式的应用部署文件。
平台安全运维管理模块,用于对平台中的已经部署的应用进行运维管理,其进一步细分为以下模块:安全保护模块,用于提供应用安全分发平台的整体安全保护服务;安全传输模块:用于对应用安全分发平台传输的内容进行安全加密;日志分析模块,用于记录并分析应用安全分发平台生成的所有日志;态势感知模块,用于通过平台安全运维管理模块的日志分析模块记录和生成的信息进行整理并以可视化的方式展示安全态势;工单管理模块,用于对应用安全分发平台的工单进入管理;计费管理模块,用于对应用安全分发平台进行服务计费。
除此之外,本实施例的系统还包括三个数据库,分别为:厂商数据库,用于保存各个应用开发商的信息,每个应用开发商的信息包括注册名、统一社会信用代码、应用开发商评分;应用信息数据库,用于存储所有分发应用的应用参数;环境资源信息数据库:存储环境资源信息。
进一步说明的是,本实施例中的环境资源信息EnvInfo记录着所有应用可部署环境的资源信息,包括:
(1)所有分布式云内部的资源信息IntraDCloud,包括应用使用资源的情况、资源弹性变化时相关的时间参数和成本参数变化的情况;
(2)分布式云之间的资源信息InterDCloud,包括网络性能变化的情况、资源弹性变化时相关的时间参数和成本参数变化的情况;
(3)云端之间的资源信息InterCC,包括网络性能变化的情况、资源弹性变化时相关的时间参数和成本参数变化的情况;
(4)环境资源中安全风险SecRisk,包括分布式云内部的安全风险、连接各分布式云和连接分布式云与端的网络的安全风险。
在第二方面,如图3所示,本申请的技术方案提供了一种能够基于第一方面中的系统所实现的基于分布式云平台的应用安全分发方法,其中,该实施例方法包括步骤S01-S04:
S01、获取应用变更申请,根据应用变更申请更新应用。
如图4所示,具体在实施例中,该应用变更申请,是由应用开发商访问应用安全分发平台,向厂商注册及变更管理子模块注册或提交得到的。在进行应用更新前,先判断应用开发商是否注册,如应用开发商未注册,通过应用分发平台的厂商注册及变更管理模块提交厂家资料进行注册,应用安全分发平台调用厂商审核模块审核应用开发商资料,审核通过,将应用开发商信息包括注册名和统一社会信用代码存放入厂商数据库,若审核未通过,则需要重新进行注册。
若已经注册或注册通过后,则可以通过安全的方式登录应用安全分发平台,向应用注册及变更管理子模块提交应用变更申请;其中,应用变更可以包括新应用提交、应用更新、应用下架。
S02、对更新后的应用进行安全审核,确定应用为安全应用。
如图4所示,具体在本实施例中,已经注册或注册通过后,应用安全分发平台的应用注册及变更管理模块调用应用安全检测模块对源代码进行检测和安全审核,并对应用进行安全评分核算;其中,应用安全审核包括代码安全审计,漏洞扫描,内容检测,沙箱检测。若应用安全审核不通过,应用安全分发平台的应用安全检测模块通知进行修改并重新提交应用审核信息,重新进行注册。
若应用安全审核通过,应用安全分发平台通过分布式云平台优化改造流程对此应用的服务器端软件和客户端软件进行优化,优化主要包括安全加固和兼容性改造;优化完成后通知应用安全分发平台的应用信息维护模块将此次的应用变更事件记录到应用信息数据库;应用安全分发平台的应用客户端分发模块通知经平台认证的可信应用商店,可信应用商店将此应用的客户端软件推送到用户侧;进而后续将此应用的服务器端软件部署至分布式云上。
在实施例中,可信应用商店指的是经平台认证的应用客户端软件的可信应用分发源,包括移动端客户端软件的可信应用分发源和非移动端客户端软件的可信应用分发源。对于每个应用的可信应用商店包括公共可信应用商店和应用独立可信商店,其中,公共可信应用商店是指工信部、网信办以及知名权威机构所推荐的应用商店名单;应用独立可信商店是指定应用的应用开发商提供的并经平台安全验证的官方应用分发源。其中,对于所有应用来说公共可信应用商店都是相同的,而且应用独立可信商店是每个应用独有的;一个应用的可信应用商店是以上两者的合集。
S03、将安全应用进行优化改造。其中,优化改造的过程包括:
S031、获取安全应用的应用源代码;
S032、对应用源代码进行兼容性改造,并将改造后的应用源代码进行安全加固;
S033、根据安全加固后的应用源代码进行编译,生成应用部署文件。
如图5所示,具体在实施例中,应用安全分发平台的应用注册及变更管理模块获取经平台审核的应用源代码,并通知应用安全分发平台的应用安全加固模块对应用的服务器端软件和客户端软件进行优化;其中用源代码包含应用的服务器端软件和客户端代码。进而,应用安全分发平台的应用安全加固模块调用应用信息维护模块查询该应用的应用参数和用户参数。应用安全分发平台的应用安全加固模块根据应用参数中记录的所有客户端部署环境,对客户端的应用源代码进行兼容性改造,并生成适应每类客户端部署环境的源代码版本;根据应用参数和用户参数信息,对以上兼容性改造后的每类客户端部署环境的源代码进行安全加固。同时,应用安全分发平台的应用安全加固模块还根据应用参数中记录的所有服务器端部署环境,对服务器端的应用源代码进行兼容性改造,并生成适应每类服务器端部署环境的源代码版本;根据应用参数和用户参数信息,对以上兼容性改造后的每类服务器端部署环境的源代码进行安全加固。随后,应用安全分发平台的应用安全加固模块调用应用编译模块将优化改造后的每类客户端部署环境的源代码和优化改造后的每类服务器端部署环境的源代码进入编译,生成对应部署环境的发布格式的应用部署文件。最后,应用安全分发平台的应用安全加固模块通知应用安全分发平台的应用客户端分发模块将改造后的客户端应用进行部署,同时也通知应用安全分发平台的应用服务器端编排部署模块将改造后的服务器端应用进行部署。
需要进一步说明的是,在本实施例中,应用参数记录着应用安全分发平台上分发的所有应用的相关信息,其包括但不限于:
(1)应用名AppName;
(2)应用版本AppVer;
(3)发布时间Time;
(4)应用开发商信息DevComInfo,其中DevComInfo=(注册名DevComInfo_Name,统一社会信用代码DevComInfo_ID);
(5)应用源码消息摘要AppCM;
(6)应用安全指纹集{(AppPrint,部署平台标识,应用版本)}
(7)应用的安全评分Score_App;
(8)应用变更事件历史日志AppCELog;
(9)应用部署要求AppReq;
(10)用户参数UsrDms:用户参数UsrDms指的是使用应用的用户需求参数,包括性能要求参数和安全要求;其中用户需求参数包含期待性能参数和最低性能参数;
(11)应用使用情况AppUs,包括用户注册量、访问量、应用市场上应用下载的情况、
(12)应用包含的构建组件列表{构建组件AppStructSoucej,构建组件权重wSecOSj};
(13)应用所有的客户端部署环境信息AppCDeviceInfo,AppCDeviceInfo={(客户端设备,系统环境)};
(14)发布平台信息DPPlatfom:a)对于应用客户端分发,发布平台信息为可信应用商店的名称;b)对于应用服务器端分发,指待发布平台的服务商名称、应用环境信息;其中如果是虚拟机部署,应用环境信息包括虚拟化平台信息、操作系统类型及版本以及虚拟机;如果是容器,应用环境信息包括操作系统类型及版本、容器引擎类型及版本以及容器;
(15)所有分布式云上应用使用资源的情况AppDPCInfo,AppDPCInfo={(应用部署平台,虚拟机资源使用情况,容器资源使用情况,网络,策略,应用相关数据存放信息)}。
S04、根据部署文件训练得到部署规划模型,通过部署规划模型生成部署方案,根据部署方案将应用部署文件发布至分布式云平台。其中,训练得到部署规划模型的过程,包括步骤S041-S044:
S041、获取安全应用的用户参数以及应用参数;
S042、根据用户参数确定应用部署要求、安全性要求以及应用使用需求;
S043、根据应用参数确定部署环境的资源和网络通信成本;
S044、根据应用部署要求、安全性要求、应用使用需求、部署环境的资源以及网络通信成本训练得到部署规划模型。
如图6所示,具体在本实施例中,应用安全分发平台的应用安全加固模块通知应用服务器端编排部署模块将改造后的服务器端应用进行部署。应用服务器端编排部署模块调用其子模块智能部署规划模块,通过部署规划模型得出服务器端应用的部署计划方案;尔后,应用服务器端编排部署模块调用其子模块自动编排模块开始对部署计划方案中的每个拟部署的分布式云平台进行服务器端应用的部署工作。
自动编排模块逐一对接待部署的云平台的云管平台,判断是否需要关闭此云平台上的应用服务:如需要关闭此云平台上的应用服务,自动编排模块调用此云平台的云管平台,根据部署计划方案关闭应用服务,关闭相关的虚拟机和容器,执行策略同步。关闭相关的虚拟机和容器后或者确定不需要关闭此云平台上的应用服务,自动编排模块进入到开启判断流程,即判断是否需要开启此云平台上的应用服务:如需要开启此云平台上的应用服务,自动编排模块调用此云平台的云管平台,根据部署计划方案部署虚拟机和容器,执行策略同步,开启对应的应用服务;如不需要开启此云平台上的应用服务,则判断自动编排模块是否完成所有分布式云平台的部署,均已完成部署后,则所有分布式云上的部署完成,根据部署计划方案,完成分布式云之间的网络设计、网络策略、安全策略的部署。
在一些可行的实施例中,获取应用变更申请,根据应用变更申请更新应用这一步骤S01,可以进一步细分得到步骤S011和S012:
S011、确定应用变更申请的请求为提交新应用或更新应用,获取应用的应用参数、用户参数以及应用源代码;
S012、确定应用变更申请的请求为应用下架,在分布式云平台中关闭应用的虚机和容器,并删除虚机以及容器,删除应用的存储数据。
具体在实施例中,系统中厂商注册及变更管理模块将判断应用变更的情况,其中应用变更包括新应用提交、应用更新、应用下架。
若应用变更的情况为“新应用提交”或“应用更新”,应用安全分发平台的应用注册及变更管理模块获取得到应用审核信息,包括:应用参数、用户参数、源代码;后续进行应用的安全审核。
若应用变更的情况为“应用下架”,应用安全分发平台的应用信息维护模块将此次的应用变更事件记录到应用信息库;应用安全分发平台的应用注册及变更管理子模块查找应用信息库此应用的部署信息和数据存储信息,并通知应用安全分发平台的应用服务器端编排部署模块和应用客户端分发模块进行应用下架此应用的处理;应用安全分发平台的应用服务器端编排部署模块通知此应用的服务器商战部署所在分布式云的云管平台以关闭并删除此应用相关开启的虚机和容器、更新相关策略、删除此应用所有的数据存储;应用安全分发平台的应用客户端分发模块通知可信应用商店下架此应用的客户端软件。
在一些可行的实施例中,对更新后的应用进行安全审核,确定应用为安全应用这一步骤S02可以进一步细分得到步骤S021-S023:
S021、获取应用的开发商信息,根据开发商信息以及应用参数确定应用权威评分;
S022、根据应用参数解析得到构架组件列表,确定应用构建因素评分;
S023、根据应用权威评分以及应用构建因素评分进行加权计算得到安全评分,当安全评分不小于第一预设值,确定应用为安全应用。
其中,第一预设值即为预先设定的安全应用的最低安全评分。具体在实施例中,安全评分计算的方法是根据应用信息,通过查询工信部、网信办、工商管理局及其他安全权威机构的黑名单,并爬虫搜索应用信誉,最后通过综合得出应用的安全评分。
首先,获取指定应用的应用参数中的以下信息:应用开发商信息DevComInfo、应用名AppName、应用版本AppVer、应用包含的构建组件列表{构建组件AppStructSoucej,构建组件权重wSecOSj}。然后,获取应用开发商信息DevComInfo=(注册名DevComInfo_Name,统一社会信用代码DevComInfo_ID);根据DevComInfo查询工商管理局黑名单,计算应用开发商评分Score_Com_Indus,若在黑名单中则Score_Com_Indus=0,否则Score_Com_Indus=100。再根据应用开发商信息DevComInfo,应用名AppName,应用版本AppVer查询工信部、网信办及其他安全权威机构的软件黑名单,计算应用权威评分Score_App_Auth;若在黑名单中则Score_App_Auth=0,否则Score_App_Auth=100。然后,根据应用包含的构建组件列表{构建组件AppStructSoucej,构建组件权重wSecOSj},通过爬虫搜索权威安全机构列表{(权威安全机构SecGk,机构权重wSecGPk},,获取权威安全机构SecGk对于构建组件AppStructSoucej的安全评分Score_App_Assemjk,由此综合加权得出应用构建因素评分Score_App_SO=WeightedSUM(WeightedSUM(Score_App_Assemjk,wSecGPk,K),wSecOSj,J),其中WeightedSUM为加权求和计算函数,K为权威安全机构总数,J为构建组件总数。最后,综合计算得出应用的安全评分:Score_App=SecSocreCompute(Score_Com_Indus,Score_App_Auth,Score_App_SO);其中SecSocreCompute函数完成对应用开发商评分Score_Com_Indus、应用权威评分Score_App_Auth、应用构建因素评分Score_App_SO的加权求和计算。若计算得到的安全评分大于或等于预先设定的安全应用的最低安全评分,则确定该应用为安全应用。
在一些可行的实施例中,将安全应用进行优化改造这一步骤S03,可以进一步细分得到步骤S031、根据应用参数生成应用安全指纹。其中,生成应用安全指纹的过程包括:从应用参数中解析得到特征信息、发布平台信息以及应用版本号,根据特征信息、发布平台信息以及应用版本号通过哈希函数得到哈希值,根据哈希值确定应用安全指纹。
具体在实施例中,在生成对应部署环境的发布格式的应用部署文件的同时,根据应用部署文件和应用信息生成唯一的应用安全指纹,存入应用信息数据库。其中,应用安全指纹的目的在于:在客户下载时验证客户端应用安全指纹,服务器端部署完成应用开通服务时验证服务器端应用安全指纹。
更为具体地,应用在每个发布平台的每个版本都拥有唯一的应用安全指纹,该应用安全指纹是通过哈希函数将应用参数中的特征信息、此发布平台信息、应用版本号而生成的能作为唯一标识的哈希值,其生成的过程为:
应用安全指纹AppPrint=Hash(应用开发商信息DevComInfo,分发类型DPKind,发布平台信息DPPlatfom,应用名AppName,应用版本AppVer,应用源码消息摘要AppCM,发布时间Time)
其中,应用开发商信息DevComInfo=(注册名DevComInfo_Name,统一社会信用代码DevComInfo_ID)。分发类型DPKind包括应用客户端分发DPKind_C和应用服务器端分发DPKind_S这两种分发类型。发布平台信息DPPlatfom:a)对于应用客户端分发,发布平台信息为可信应用商店的名称;b)对于应用服务器端分发,指待发布平台的服务商名称、应用环境信息;其中如果是虚拟机部署,应用环境信息包括虚拟化平台信息、操作系统类型及版本、虚拟机;如果是容器部署,应用环境信息包括操作系统类型及版本、容器引擎类型及版本、容器。应用源码消息摘要AppCM为通过散列函数可获得应用源代码对应的散列值。
在一些可行的实施例中,根据应用部署要求、安全性要求、应用使用需求、部署环境的资源、部署环境资源使用的成本以及网络通信成本训练得到部署规划模型这一步骤S044,可以进一步细分得到步骤S044a-S044d:
S044a、根据安全性要求、部署环境资源使用成本、网络通信成本,结合应用未来资源变量以及优化建议集,组合得到应用要求集;其中,优化建议集根据应用部署要求以及用户参数所确定;
S044b、根据应用部署要求确定可部署分布式云集合,从所述可部署分布式云集合中,获取分布式云内部资源信息、分布式云之间资源信息、云端之间资源信息以及安全风险,确定部署环境综合集;
S044c、确定分布式云上应用占用资源情况;
S044d、根据所述应用要求集、所述部署环境综合集以及所述分布式云上应用占用资源情况训练部署规划模型。
具体在实施例中,部署规划模型是基于应用部署要求、应用使用需求、部署环境的资源、安全性要求、各类分布式云的收费和通信网络通信计费的成本(包括部署环境资源使用成本和网络通信成本)等因素的考量;根据在所有模拟部署环境中对应用进行智能部署优化训练后得出的模型,并后续能够自动规划生成应用部署方案。智能部署规划算法输出服务器端应用的部署计划方案,即{(拟部署的分布式云平台i,部署信息i),云间策略};其中部署信息包含了虚拟机、容器、网络以及策略;其中,云间策略为分布式云之间的网络设计、网络策略、安全策略。此外,其中的应用要求集是根据应用部署要求所构建得到的条件集;优化建议集是根据应用部署要求和用户参数通过智能部署优化训练或者通过应用与部署环境反复测试所得到优化建议所组成的集合;部署环境综合集是根据应用部署要求所确定可部署的分布式云集合,例如可部署的分布式云集合中包括有Amazon云、阿里云等。
确定部署方案的具体过程为:
(1)根据应用开发商信息DevComInfo,查询应用安全分发平台对此应用的安全性要求AppSecRqm:若应用开发商被拉入黑名单(应用开发商评分Score_Com_Indus=0),应用安全分发平台不部署此应用,并通知应用开发商整改,本算法结束;否则进入步骤(2);
(2)根据应用名AppName、应用版本AppVer、应用开发商信息DevComInfo,查询获取成本要求AppCstRqm,成本要求AppCstRqm包括应用开发商、用户、分发平台的成本要求;
(3)根据应用名AppName、应用版本AppVer、应用开发商信息DevComInfo,通过访问应用信息数据库,提取应用参数信息中的应用部署要求AppReq、应用的安全评分Score_App用户参数UsrDms、应用使用情况AppUs、所有分布式云上应用使用资源的情况AppDPCInfo;其中,若应用的安全评分Score_App低于标准分,则应用安全分发平台不部署此应用,并通知应用开发商整改,本流程结束;否则进入步骤(4);
(4)根据应用部署要求AppReq,确定可部署的分布式云集合DCloudG,其中DCloudG={DCloudm};
(5)根据可部署的分布式云集合DCloudG,查询环境资源信息数据库,提取每个分布式云平台的分布式云内部的资源信息IntraDCloud,分布式云集合DCloudG相关的分布式云之间的资源信息InterDCloud,分布式云集合DCloudG相关的云端之间的资源信息InterCC,分布式云集合DCloudG相关的环境资源中安全风险SecRisk;
(6)此应用如未经过智能部署优化训练,应用安全分发平台在所有可部署环境中分配资源对应用进行智能部署优化训练,得出优化建议集AppEvol;
(7)使用函数AppDevSup(应用使用情况AppUs、所有分布式云上应用使用资源的情况AppDPCInfo)预估应用未来资源使用变化量;
(8)生成应用要求集AppReqG,应用要求整理函数FAppReqG(安全性要求AppSecRqm,成本要求AppCstRqm,智能部署优化训练优化建议集AppEvol,应用未来资源变量AppDevSup);
(9)生成部署环境综合集AppEnvG:部署环境综合集整理函数FAppEnvG(分布式云内部的资源信息IntraDCloud,分布式云之间的资源信息InterDCloud,云端之间的资源信息InterCC,安全风险SecRisk);
(10)根据步骤(1)-(9)中的信息进行分析计算,(10)输入服务器端应用的部署计划方案AppDpmPlan:FAppDpmPlan(应用要求集AppReqG,部署环境综合集AppEnvG,应用使用资源的情况AppDPCInfo);
(11)若服务器端应用的部署计划方案AppDpmPlan被抽查以进行人工复查纠正,则根据人工纠正方案进行AI训练,最终完成部署规划模型训练。
在一些可行的实施例中,对应用源代码进行兼容性改造,并将改造后的应用源代码进行安全加固,其中,安全加固的过程包括以下步骤至少之一:
对接口进行安全加固;对通信进行安全加固;对输出信息以及输出信息进行安全加固,将应用源代码进行混淆;对应用的数据及日志加密;对安全密钥管理进行加固;生成容灾备份。
具体在实施例中,实施安全加固就是消除信息系统上存在的已知漏洞,提升关键服务器、核心网络设备等重点保护对象的安全等级。安全加固主要是针对网络与应用系统的加固,是在系统的各个层次以及功能模块中建立符合安全需求的安全状态。
在一些可行的实施例中,应用分发方法还包括步骤S05、对分布式云平台进行实时监测:其中,检测主要包括S051-S055:
S051、监测分布式云平台上应用的资源使用情况;
S052、监测应用的下载情况;
S053、监测应用的安全评分变化;
S054、监测分布式云平台的节点安全风险变化;
S055、根据资源使用情况、下载情况、安全评分变化以及节点安全风险变化,通过所述通过规划模型生成部署方案。
具体在实施例中,系统的自动编排模块通知应用安全分发平台的应用监管模块监管所有分布式云上应用使用资源的情况、应用市场上应用下载的情况、应用的安全评分的变化情况、所部署节点的安全风险的变化情况,并将应用使用资源的情况、应用市场上应用下载的情况、应用的安全评分的变化情况记录至应用信息数据库;其中应用监管模块监管内容通过云管平台监控的应用使用资源的情况和调用环境资源收集模块实时获取的应用开发商/分布式云的风险变化,其中应用使用资源的监控内容包括信息存储、现用户注册量、访问量、业务规模;判断该应用是否下架。
如应用下架,则本流程结束;如应用未下架,当应用监管模块发现平台情况发生变化时,流程跳转至应用服务器端编排部署模块调用其子模块智能部署规划模块,重新生成服务器端应用的部署计划方案;如无发现变化,则应用监管模块持续监控;其中,平台情况指的是所有分布式云上应用使用资源的情况、应用市场上应用下载的情况、应用的安全评分的变化情况、所部署节点的安全风险的变化情况。
第三方面,本申请的技术方案还提供基于分布式云平台的应用分发装置的实施例,其包括至少一个处理器;至少一个存储器,用于存储至少一个程序;当至少一个程序被至少一个处理器执行,使得至少一个处理器运行如第一方面中的基于分布式云平台的应用安全分发方法。
本发明实施例还提供了一种存储介质内存储有程序,程序被处理器执行,实现如第一方面中的方法。
从上述具体的实施过程,可以总结出,本发明所提供的技术方案相较于现有技术存在以下优点或优势:
1)本申请的技术方案中,智能部署规划基于应用部署要求、应用使用需求、部署环境的资源、安全性要求、各类分布式云的收费和云间网络通信计费的成本这五大因素的考虑,根据在所有模拟部署环境中对应用进行智能部署优化训练后得出的模型,自动规划应用部署方案,并根据方案在各分布式云平台上快速部署应用且同步策略。
2)本申请的技术方案在应用部署后还持续对应用使用资源的情况和应用市场上应用下载的情况和部署平台的安全情况进行监控,在发生变化时调整部署规划并重新进行应用部署;这样的设计能应对应用部署环境快速变化的情况,即在出现安全问题、成本变化、应用使用的资源变化时自动将应用服务部署到其他云上,并快速切换;其中安全问题不仅限于脱机或网络故障还包括云平台受到安全攻击的情况。
3)本申请的技术方案为应用分发提供了全面完整的安全保障,主要包括部署规划时考虑待部署分布式云节点的安全状况、应用运行中根据服务器端所部署节点的安全风险进行重新规则部署、对应用开发商提供应用安全检测和应用安全加固、客户端应用安全分发;其中应用安全检测包括代码安全审计,漏洞扫描,内容检测,沙箱检测这四重检测审计;其中应用安全加固对应用软件提供接口加固、通信安全加固、输入/输出信息加固、源代码混淆、存储加密、日志加密、安全密钥管理加固、容错/备份多达九项的安全加固服务;其中部署节点的安全风险包括实时的环境资源信息中分布式云的风险变化、应用的安全评分变化;客户端应用安全分发指的是通过平台维护的可信应用商店清单进行分发,并且用户下载时验证应用安全指纹。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (9)
1.基于分布式云平台的应用安全分发方法,其特征在于,包括以下步骤:
获取应用变更申请,根据所述应用变更申请,更新所述应用;
对更新后的所述应用进行安全审核,确定所述应用为安全应用;
将所述安全应用进行优化改造;
所述优化改造的过程包括以下步骤:获取所述安全应用的应用源代码;对所述应用源代码进行兼容性改造,并将改造后的所述应用源代码进行安全加固;根据安全加固后的所述应用源代码进行编译,生成应用部署文件;
根据所述应用部署文件训练得到部署规划模型,通过所述部署规划模型生成部署方案,根据所述部署方案将所述应用部署文件发布至分布式云平台;
所述根据所述应用部署文件训练得到部署规划模型的过程,包括以下步骤:获取所述安全应用的用户参数以及应用参数;根据所述用户参数确定应用部署要求、安全性要求以及应用使用需求;根据所述应用参数确定部署环境的资源、部署环境资源使用的成本和网络通信成本;根据所述应用部署要求、所述安全性要求、所述应用使用需求、所述部署环境的资源、所述部署环境资源使用的成本以及所述网络通信成本训练得到所述部署规划模型;
所述将所述安全应用进行优化改造这一步骤,其还包括:
根据所述应用参数生成应用安全指纹;所述生成应用安全指纹的过程包括:
从所述应用参数中解析得到特征信息、发布平台信息以及应用版本号,根据所述特征信息、所述发布平台信息以及所述应用版本号通过哈希函数得到哈希值,根据所述哈希值确定所述应用安全指纹。
2.根据权利要求1所述的基于分布式云平台的应用安全分发方法,其特征在于,所述获取应用变更申请,根据所述应用变更申请,更新所述应用这一步骤,其包括:
确定所述应用变更申请的请求为提交新应用或更新应用,获取所述应用的应用参数、用户参数以及应用源代码;
确定所述应用变更申请的请求为应用下架,在所述分布式云平台中关闭所述应用的虚机和容器,并删除所述虚机以及所述容器,删除所述应用的存储数据。
3.根据权利要求2所述的基于分布式云平台的应用安全分发方法,其特征在于,所述对更新后的所述应用进行安全审核,确定所述应用为安全应用这一步骤,其包括:
获取所述应用的开发商信息,根据所述开发商信息以及所述应用参数确定应用权威评分;
根据所述应用参数解析得到构架组件列表,确定应用构建因素评分;
根据所述应用权威评分以及所述应用构建因素评分进行加权计算得到安全评分,当所述安全评分不小于第一预设值,确定所述应用为安全应用。
4.根据权利要求1所述的基于分布式云平台的应用安全分发方法,其特征在于,所述根据所述应用部署要求、所述安全性要求、所述应用使用需求、所述部署环境的资源、所述部署环境资源使用的成本和所述网络通信成本训练得到所述部署规划模型这一步骤,其包括:
根据所述安全性要求、所述部署环境资源使用的成本、所述网络通信成本,结合应用未来资源变量以及优化建议集,组合得到应用要求集;其中,所述优化建议集根据所述应用部署要求以及所述用户参数所确定;
根据所述应用部署要求确定可部署分布式云集合,从所述可部署分布式云集合,获取分布式云内部资源信息、分布式云之间资源信息、云端之间资源信息以及安全风险,确定部署环境综合集;
确定分布式云上应用占用资源情况;
根据所述应用要求集、所述部署环境综合集以及所述分布式云上应用占用资源情况构建所述部署规划模型。
5.根据权利要求1所述的基于分布式云平台的应用安全分发方法,其特征在于,所述对所述应用源代码进行兼容性改造,并将改造后的所述应用源代码进行安全加固,其包括以下步骤至少之一:
对接口进行安全加固;对通信进行安全加固;对输入信息以及输出信息进行安全加固,将所述应用源代码进行混淆;对所述应用的数据及日志加密;对安全密钥管理进行加固;生成容灾备份。
6.根据权利要求1-5任一项所述的基于分布式云平台的应用安全分发方法,其特征在于,所述应用安全分发方法还包括以下步骤:
监测分布式云平台上所述应用的资源使用情况;
监测所述应用的下载情况;
监测所述应用的安全评分变化;
监测所述分布式云平台的节点安全风险变化;
根据所述资源使用情况、所述下载情况、所述安全评分变化以及所述节点安全风险变化,通过所述部署规划模型生成部署方案。
7.基于分布式云平台的应用安全分发系统,其特征在于,包括:
平台用户交互管理模块,用于获取应用变更申请,根据所述应用变更申请,更新所述应用;
应用安全检测模块,用于对更新后的所述应用进行安全审核,确定所述应用为安全应用;
应用安全加固模块,用于将所述安全应用进行优化改造;所述优化改造的过程包括以下步骤:获取所述安全应用的应用源代码;对所述应用源代码进行兼容性改造,并将改造后的所述应用源代码进行安全加固;根据安全加固后的所述应用源代码进行编译,生成应用部署文件;
应用服务器端编排部署模块,用于根据所述部署文件训练得到部署规划模型,通过所述部署规划模型生成部署方案,并根据所述部署方案完成自动编排部署;所述根据所述部署文件训练得到部署规划模型的过程,包括以下步骤:获取所述安全应用的用户参数以及应用参数;根据所述用户参数确定应用部署要求、安全性要求以及应用使用需求;根据所述应用参数确定部署环境的资源、部署环境资源使用的成本和网络通信成本;根据所述应用部署要求、所述安全性要求、所述应用使用需求、所述部署环境的资源、所述部署环境资源使用的成本以及所述网络通信成本训练得到所述部署规划模型;
应用客户端分发模块,用于根据所述部署方案将所述应用部署文件发布至分布式云平台;
所述将所述安全应用进行优化改造这一步骤,其还包括:
根据所述应用参数生成应用安全指纹;所述生成应用安全指纹的过程包括:
从所述应用参数中解析得到特征信息、发布平台信息以及应用版本号,根据所述特征信息、所述发布平台信息以及所述应用版本号通过哈希函数得到哈希值,根据所述哈希值确定所述应用安全指纹。
8.基于分布式云平台的应用安全分发装置,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器运行如权利要求1-6任一项所述的基于分布式云平台的应用安全分发方法。
9.一种存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于运行如权利要求1-6中任一项所述的基于分布式云平台的应用安全分发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110167951.8A CN112925529B (zh) | 2021-02-07 | 2021-02-07 | 基于分布式云平台的应用安全分发方法、系统、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110167951.8A CN112925529B (zh) | 2021-02-07 | 2021-02-07 | 基于分布式云平台的应用安全分发方法、系统、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112925529A CN112925529A (zh) | 2021-06-08 |
CN112925529B true CN112925529B (zh) | 2023-10-27 |
Family
ID=76170997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110167951.8A Active CN112925529B (zh) | 2021-02-07 | 2021-02-07 | 基于分布式云平台的应用安全分发方法、系统、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112925529B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114371853B (zh) * | 2022-01-10 | 2022-09-20 | 柏科数据技术(深圳)股份有限公司 | 一种分布式系统部署方法、装置、终端设备及存储介质 |
CN114401183A (zh) * | 2022-01-17 | 2022-04-26 | 杭州瑞网广通信息技术有限公司 | 一种基于分布式云平台的边缘云灾备系统、方法和装置 |
CN115277404B (zh) * | 2022-05-13 | 2023-06-02 | 清华大学 | 云网络大规模变更发布编排方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012142310A1 (en) * | 2011-04-12 | 2012-10-18 | Vmware, Inc. | Deployment system for multi-node applications |
CN105487908A (zh) * | 2015-12-22 | 2016-04-13 | 中软信息系统工程有限公司 | 一种安全的应用软件生态服务方法 |
CN107992724A (zh) * | 2017-12-14 | 2018-05-04 | 四川大学 | 一种软件安全加固方法 |
CN108429754A (zh) * | 2018-03-19 | 2018-08-21 | 深信服科技股份有限公司 | 一种云端分布式检测方法、系统及相关装置 |
US10235527B1 (en) * | 2016-08-11 | 2019-03-19 | Pivotal Software, Inc. | Vulnerability notification for live applications |
-
2021
- 2021-02-07 CN CN202110167951.8A patent/CN112925529B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012142310A1 (en) * | 2011-04-12 | 2012-10-18 | Vmware, Inc. | Deployment system for multi-node applications |
CN105487908A (zh) * | 2015-12-22 | 2016-04-13 | 中软信息系统工程有限公司 | 一种安全的应用软件生态服务方法 |
US10235527B1 (en) * | 2016-08-11 | 2019-03-19 | Pivotal Software, Inc. | Vulnerability notification for live applications |
CN107992724A (zh) * | 2017-12-14 | 2018-05-04 | 四川大学 | 一种软件安全加固方法 |
CN108429754A (zh) * | 2018-03-19 | 2018-08-21 | 深信服科技股份有限公司 | 一种云端分布式检测方法、系统及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112925529A (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112925529B (zh) | 基于分布式云平台的应用安全分发方法、系统、装置及介质 | |
CN110288307B (zh) | 基于Fabric区块链的智能合约协同开发系统及数据处理方法 | |
US8869142B2 (en) | Secure content publishing and distribution | |
US7178144B2 (en) | Software distribution via stages | |
US9171053B2 (en) | Method and device for automatic migration of system configuration item | |
CN112602076A (zh) | 分布式分类账中基于dag的交易处理方法和系统 | |
WO2019147732A1 (en) | Trusted verification of cybersecurity remediation | |
US10379894B1 (en) | Lineage-based trust for virtual machine images | |
CN112527912B (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
Anisetti et al. | A certification framework for cloud-based services | |
CN110083604A (zh) | 一种数据确权方法及装置 | |
Torres-Arias et al. | On omitting commits and committing omissions: Preventing git metadata tampering that (re) introduces software vulnerabilities | |
CN110199283A (zh) | 用于在网络功能虚拟化环境中认证平台信任的系统和方法 | |
CN109522042A (zh) | 一种补丁更新方法、系统及相关组件 | |
Ardagna et al. | Certification-based cloud adaptation | |
CN113886841A (zh) | 一种面向云数据操作行为的可信溯源方法 | |
Hof et al. | Software distribution transparency and auditability | |
CN113572619B (zh) | 一种基于notary的容器云镜像可信实现方法及系统 | |
CN116915516B (zh) | 软件跨云交付方法、中转服务器、目标云及存储介质 | |
CN115499442B (zh) | 一种基于容器编排的快速部署型云计算架构 | |
US20210391998A1 (en) | Scalable, Secure, And Broad-Spectrum Mechanism For Enforcement Of Protocols Over Multi-Agent Systems | |
CN108881338B (zh) | 网络功能虚拟化镜像文件升级的方法及装置 | |
CN115378605A (zh) | 基于区块链的数据处理方法及装置 | |
US20230336367A1 (en) | Blockchain twin architecture for secure management of multi-cloud computing environment | |
Sato et al. | Operations smart contract to realize decentralized system operations workflow for consortium blockchain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |