数字经济正在推动供给侧结构性改革和经济发展质量变革、效率变革、动力变革。而作为构建数字经济的核心——数字技术,正在以“透析”的方式改变着全世界的经济血脉。新兴信息技术的高速驱动下,数字应用正在实现全面在线化、智能化和数据化。某政府单位为贯彻党的十九大精神,全面助力数字经济建设,始终在积极推进“数字产业化、产业数字化”发展。在数字化推进过程中,由于数字技术的使用涉及全行业、全产业、全社会,如何解决新兴技术所带来的包括但不限于云原生、API、微服务等技术架构以及应用加密、带验签等应用场景的新型安全风险?如何提升和构建基于数字技术场景下的安全能力?如何解决数字应用的软件供应链安全问题,包括开源组件漏洞风险、许可风险、来源组织风险以及生态供应链管理风险?如何满足《网络安全法》、《数据安全法》、《个人信息保护法》、《网络安全等级保护》等政策法规要求?如何构建安全可信、自主可控业务应用安全能力?如何让安全与数字建设同步规划、同步建设、同步运行?该单位作为我国数字信息化建设重要的一员,解决以上问题是其首要职责和使命。
通过与网络安全监管部门、专业安全公司孝道科技的全力协作,在该单位共享交换平台、公共数据开放平台以及健康码系统进行了新一代数字应用安全平台的部署、实施和应用,该试点项目将为该单位的各个数字应用安全能力进行优化改进,并在此基础上构建数字应用安全管理系统。全面促进该单位数字安全与数字应用的创新融合,为其数字化安全转型实现新统筹、新布局。
二、建设内容
1.从数字应用传统运行时防护转向安全前置。数字皆需编程,安全源于代码,提升自身安全能力,才能增强抵抗力和抗攻击能力。
2.实现内生性安全,为数字化场景下的安全技术赋能。
该单位根据实际情况和方案设计、对应用安全建设流程梳理,以当前共享交换平台、公共数据开放平台以及健康码系统为平台建设切入项目。构建过程例如需求阶段,对项目进行全面安全评估;设计阶段,对系统开发涉及的所有“生产资料”进行进行采买评估;开发阶段,进行覆盖开发全生命周期阶段的漏洞检测活动;运营阶将交互式应用安全检测、开源软件供应链安全和应用安全免疫防御的一体化平台ASTP实现“All in one三合一”功能整合,既能确保数字应用上线即安全,避免应用带病运行,又可应用于生产环境,通过应用系统正常的业务使用即可同步完成安全检测,当发现漏洞或遇到异常攻击时立即激活自适应防护机制,实现“攻防结合”,赋予数字应用具备“自我检测与自我免疫”安全能力。
该单位的业务系统在引入交互式应用检测系统和自适应应用安全防护系统后,以“安全左移”思路为主要安全指导,让安全覆盖需求、设计、实现、验证、运行、停用下线阶段的全生命周期,搭建完整安全体系,形成解决安全问题的闭环,进一步发现系统当中存在的漏洞隐患并进行防护。
基于应用整生命个周期的的安全需求,平台将几个方面的的功能来实现对一体化的构建。
图1(系统结构图)
(1)实现在线全面精确可视化的动态代码检测、应用漏洞检测、可利用漏洞验证与溯源和代码免疫防御能力,同时具备包括漏洞代码片段、传播路径、修复示例、可利用漏洞的验证溯源过程以及受攻击事件过程等定位和分析能力;
(2)基于运行时开源软件供应链安全的漏洞检测与许可分析、漏洞自动化验证和自适应防护能力
(3)具备全量API发现、漏洞检测和自适应防护能力
(4)具备敏感信息检测和应用数据安全合规性检测分析(个人信息保护法、GDPR、PCI DSS等)
(5)自定义算法引擎和漏洞风险全生命周期管理
(6)全面精确可视化的实时风险感知,包括代码漏洞、应用漏洞、开源软件供应链漏洞与许可分析、全量API发现和漏洞检测以及可利用漏洞验证和受攻击事件过程。
在实际的项目实施过程中,通过在开发阶段接入交互式应用检测系统的检测,将安全风险在开发阶段提前发现,使安全问题解决成本降低,减少因安全风险带来的损失。通过在业务上线时接入自适应应用安全防护系统,实施监测存在的攻击行为并进行拦截防护,使应用具备自主防护能力,将安全风险降到最低。
1.交互式应用检测系统
IAST整体框架包括两个部分:第一部分为嵌入在线检测功能的Agent;第二部分为安全管理中心。由嵌入到Web应用系统中的在线检测功能模块以及安全管理中心共同组成整体框架,形成一个包括多个客户端和一个管理中心的客户机/服务器模式框架,从而实现对Web应用在线安全检测。
内嵌在Web应用程序中的在线检测功能通过获取到Web运行时的状态信息,能够精确地识别出安全漏洞,从而实现对Web应用系统实时精确的在线检测。同时,对检测出的安全漏洞进行管理。安全管理中心是整个Web应用交互式安全检测框架的大脑,它通过与内嵌在Web应用系统的功能模块通信,负责为所管理的Web应用系统的在线检测模块定制、下发各自的策略和规则,以及收集由在线检测模块上报的漏洞数据,并进行综合分析、数据展示等。
2.应用系统漏洞检测
针对被检测应用程序能有效检测出代码层漏洞和WEB应用漏洞,如:弱加密、代码中存在硬编码密码、SQL注入、命令注入、目录遍历、不安全的反序列化、JAVA反射注入、LDAP注入、跨站请求伪造、EL表达式注入、NoSQL注入,反序列化漏洞等六十余种漏洞类别,覆盖了OWASP Top 10、CWE/SANS Top 25、PCI-DSS、GDPR在内的主要漏洞类型,并根据这些标准对应用系统的漏洞情况进行分类统计。
基于漏洞检测过程输出包含来源参数、传播途径、漏洞代码片段和HTTP信息等内容的详细结果,并给出修复建议与相关代码示例。有助于用户对系统检测出的漏洞进行手动重现,加深用户对漏洞的理解,帮助用户对应用系统漏洞代码进行定位及修复。
3.第三方开源组件漏洞检测
软件团队往往专注于业务功能的实现,却忽视了对开源组件中已知漏洞的检查。而开源漏洞的风险往往更大,因为其漏洞信息以及如何利用漏洞都是公开的。幸而87%的开源漏洞都得到了开源维护者们的修补,所以它们又是比较容易被修正的。安全玻璃盒IAST产品能在安全软件开发生命周期(SDLC)中做出实时提醒,以便用户能积极主动地提前修复所有安全问题。
向左移(Shift Left)是在软件开发过程早期尽可能多地检测问题的核心理念,有研究表明,开展安全问题的早期检测可以减少90%的修复成本。问题组件在功能测试时就进行了检查,并根据检测结果对组件漏洞进行统计。能够展示检测到的三方组件的所有CNNVD/CVE的漏洞信息,包括其官方漏洞细节描述及修复建议。另外,系统还会罗列出组件的所有版本,方便用户修复或替换存在漏洞的组件版本。
4.自适应应用安全检测系统
RASP整体框架包括两个部分:第一部分为嵌入自适应防护功能的Secpoint;第二部分为安全管理中心。由嵌入到Web应用系统中的防护功能模块以及安全管理中心共同组成整体框架,形成一个包括多个客户端和一个管理中心的客户机/服务器模式框架,从而实现对Web应用在线实时安全防护。
内嵌在Web应用程序中的Secpoint通过获取到Web应用程序运行时的状态信息,能够精确地检测到攻击行为,从而实现对Web应用系统实时精确的在线攻击检测和防护。安全管理中心通过与内嵌在Web应用系统Secpoint通信,负责为所管理的Web应用系统的下发各自的策略和规则,以及收集Web应用程序收到的攻击等信息,并进行综合分析、数据展示等。
图3(RASP产品架构图)
四、实践效果
1.案例运行状态
新一代数字应用安全平台已在该单位业务系统上运行数月,期间在2021年12月份Apache Log4j2 远程代码执行漏洞安全事件中,帮助该单位相关部门安全人员快速响应安全威胁,定位有使用该组件的系统,并有效及时的进行了系统修复,很大程度上避免了该漏洞可能导致的数据安全威胁和经济损失。
平台对该单位的共享交换平台、公共数据开放平台以及健康码系统进行了试点运用,涉及所有应用中存在的安全风险进行梳理和排查,使安全风险提前暴露出来,从很大程度上降低了由于安全缺陷可能导致的影响。
2.案例实践效果
新一代数字应用安全平台主要实践效果体现在汇聚“攻、防、新、视”于一体。
1. 攻:具备在线无风险、全面精确可视化的代码层漏洞、应用漏洞、开源软件漏洞与许可分析、全量API发现和漏洞检测、可利用漏洞自动化验证和溯源以及敏感信息检测分析等安全能力。
2. 防:实现攻防结合、事前主动的免疫防御,让数字应用及开源软件供应链具备自我免疫防御能力和执行类0Day漏洞的实时防护;
3. 新:完全适应云原生环境下的API、微服务等技术架构,具备全量API发现和安全检测、微服务全链路漏洞检测以及流动性敏感信息检测和应用数据安全合规性检测分析;
4. 视:全面精确可视化的实时风险感知,包括代码与应用漏洞、开源软件供应链漏洞与许可分析、全量API发现和漏洞风险以及可利用漏洞验证和受攻击事件溯源。
由于其建设和部署都是基于数字应用核心底层架构的特点,对于应用的上层业务,无论是金融、医疗、公共服务和平台服务以及数据活动都能实现源头的安全赋能、全生命周期的安全防护。帮助数字应用开发团队安全生产、安全开发。此外,通过帮助安全人员精确获取缺陷和威胁的详细信息和修复建议,减少漏洞从发现到修复所花费的时间,提高开发人员的全体应急响应能力。
通过持续性对业务的安全赋能与保障,减少或避免了大量数据安全泄露隐患,持续为多种场景的业务应用提供安全支撑,增加了组织服务的安全保障能力,增强了社会认可度。
通过平台的能力与之前进行对比:
表1(平台实施前后时效对比)
平台实施前后时效对比 |
||||
事项 |
传统方式 |
系统管理 |
||
过程 |
耗时 |
过程 |
耗时 |
|
应用系统的开发安全评估 |
漏洞扫描,人工渗透测试,人工验证 |
5-7天 |
运行时检测 |
1天 |
应用系统的开发安全持续评估 |
阶段性应用中所有引入的开源项目逐一核查 |
3-4天 |
持续发现 |
0.5天 |
发现修复漏洞 |
安全人员获取漏洞信息,开发人员被告知漏洞给出解决方案 |
1-3天 |
通过DevSevOps工具链,发现漏洞并给出修复方案 |
10分钟 |
项目安全的持续跟踪 |
通过不同部门人员不同阶段定期排查 |
10天以上 |
系统自动持续跟踪 |
自动 |