企业应用安全
应用安全的保护对象是应用系统,应用系统有各种表现形式,如Web、APP、小程序、客户端、系统等。应用安全就是围绕着这些应用的安全建设工作。通常状态下,特别是C端的应用,公司业务跟应用都呈现了非常大的绑定关系。应用能够直接影响公司业务,所以应用的安全性,也越来越受到企业重视,其重要程度也往往排在安全方面的首要位置。随着互联网产业对人民的影响,国家层次上的好多基础服务业务也有了互联网应用。因为黑灰产的危害,导致着国家立法去应对互联网犯罪行为,立法又导致着企业进行应用的安全建设。比如《网络安全法》规定了等级保护制度,国内所有系统都必须做等保。
应用安全的理念,经历了从 SDL-DevSecOps 的演变过程。
SDL理念:微软提出的体系化的应用安全理念,符合长周期性、一次性、变更少,有足够的时间去做前置的工作的项目。
DevSecOps理念:符合应用越来越跟业务高度相关,本身就有快速更新,抢占市场的需求的项目。
企业应用安全落地
1、应急跟需求:处理应急跟公司需求。
2、应用梳理:梳理所有的应用,评估各应用的应用安全的高优先级内容。建设应用发现机制跟能力。
3、状态调研及评估:调研安全建设状态,评估建设完成度。
4、决策工作内容:结合应用调研结果,结合公司整体的建设方案,以SDL内核为指导思想,来决定工作内容,内容顺序,落地方案。
具体到单个应用
立项阶段:理解这个产品,知道功能,面向C端还是B端。知道app还是web,提出安全需求。目的:制作安全预案,方便后续工作展开。痛点:需要知道有项目在立项。
技术选型:安全开发框架选择,安全开发培训。比如Struts框架漏洞就很多。目的:提高安全水平,减少漏洞发生。痛点:开发语言太多,技术栈要求全面。
功能设计阶段:功能的安全设计及实现。目的:提高功能安全性。比如百度网盘的分享功能设计造成用户隐私泄露。痛点:不知道添加新功能。
开发阶段:代码审计。目的:白盒角度检查漏洞。0day都是代码审计发现的。痛点:开发语言太多,技术栈要求全面。
测试阶段:渗透测试。目的:黑盒角度检查漏洞。痛点:全面性,测试生产一致性。
发布阶段:发布行为控制与审计。目的:控制发版。比如拼多多测试卷自动上架生产环境,被大量薅羊毛。痛点:流程建设。
应用商城:加壳加固。没壳的APK,或客户端,破解起来太容易了。盗版问题。痛点:上架流程建设
持续运营:安全监控,日志审计。网马后门问题。痛点:系统建设。
企业应用安全与其他安全方面的耦合
基础安全:
1、对应用关联域名、IP及服务器、数据库、OSS、配置文件等的关联关系。
2、运行环境安全,组件有问题导致应用不可用。例如F5漏洞。
办公安全:
1、后台支持类系统,相关工作流程的安全。
2、行为控制及审计,日志记录。
3、不安全的办公行为导致应用故障。各种误删库比如gitlab。内鬼泄密等。
数据安全:
1、密级数据与应用的关联关系。
2、行为审计,日志记录,系统脱敏,数据加解密。
3、各种内鬼泄密,未授权泄密,网马泄密。
业务安全:
1、业务系统,相关业务流程的安全。
2、风控管理,审计等。爬虫问题,功能设计问题。
总结
1、SDL是应用安全理念,不是整体公司安全理念,只针对单个应用。
2、落地要灵活要适配企业,不要本本主义。