1.3 业界理念最佳实践
不同的公司对安全理念有不同的理解。这里先谈谈阿里云7年安全实践总结出的“1+3”安全运营管控理念,即通过“安全融入设计、自动化监控与响应、红蓝对抗与持续改进”这3个安全手段,实现保障用户数据安全这个核心目标。阿里云设计之初就充分考虑了安全架构,将安全基因融入了整个云平台和各个云产品中。而很多公司都是在出现安全问题后才开始重视安全,这导致后期安全的切入成本比较高,难以将安全深入到业务中。这好比一栋楼房在经历地震后才考虑加固,这时再加入钢筋,采取减震措施等就困难了。老子言:“合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。”早打基础的安全架构更牢固。同时,当公司达到一定规模时,安全的自动化监控与响应就显得尤为重要,我们不可能纯靠人力去处理上万台服务器的监控日志,必须通过大数据处理平台辅以AI等技术将绝大部分安全威胁固化成可以自动化响应的流程,比如SOAR(Security Orchestration&Automation and Response,安全编排与自动化响应)相关技术,便可以凭借较少的安全人员应对大规模的安全风险。最后,安全是一个需要不断积累经验和攻防对抗的领域,安全技术随着互联网技术的演进而演进。早期的Web漏洞基本上都是CGI(Common Gateway Interface,公共网关接口)相关的漏洞,后来Java兴起后又出现了Struts2等漏洞,现在云计算出现我们又面对虚拟机逃逸、Docker容器安全、微服务架构安全等新方向的漏洞。面对不断出现的安全问题,我们需要通过红蓝对抗来持续提升防护水平、改进防护技术、建立安全评估方法,让安全防御系统成为持续迭代更新的良性循环系统。
再来看一看安全界的另一个标杆——Google。首先,Google强调安全文化,包括对员工进行背景调查、进行全员安全培训、组织内部安全与隐私活动、组建专职安全团队和专职隐私团队、对安全进行内部审核、向法律专家咨询、与安全社区进行合作。安全文化的熏陶可以让几万甚至几十万名员工具备统一的安全价值观和行为准则,从而可以保障安全措施的顺利推行和有效落实。其次,Google强调安全运营,包括漏洞管理、恶意软件防护、安全监控、安全事件管理。安全运营是公司整体运营不可或缺的一部分,需要持续运作,而不是事后考虑或偶尔进行一次聚焦倡议。Google建立了一整套漏洞管理流程体系以确保漏洞的有效发现、快速修复,并与安全研究社区保持良好的合作关系。恶意软件通常会带来很大威胁,Google通过在Chrome浏览器中植入Google's Safe Browsing技术,每天拦截成千上万个恶意网址,并运营着集成了众多杀毒引擎的VirusTotal免费杀毒平台来改进杀毒产品的查杀率,让使用Chrome浏览器浏览网页更安全。在公司内部,Google通过安全监控程序收集内部网络流量、员工系统操作活动、外部漏洞知识来发现异常行为和未知威胁,例如Botnet、非法用户数据访问、产品漏洞等。在安全事件管理方面,Google建立了严格的安全事件管理系统,根据NIST SP 800-61指导一系列行动,包括事件定级、取证、通知、恢复、归档等。再次,Google强调以安全为核心的技术驱动,包括领先的数据中心、定制化的服务器软硬件、硬件追踪与处置(对所采购的硬件建立了完整的来源跟踪链,以避免供应链污染造成的安全风险)、独特安全收益的全球网络(利用云技术建立的高可靠、高DDoS防御能力的全球性网络)、安全传输、低延迟且高可用的系统、服务可用性展示,并以纵深防御为原则,通过在硬件、软件、网络、系统管理技术方面进行安全创新来建设比传统技术更安全和易于管理的IT基础设施,比如具备生物识别技术的多因素认证访问控制的机房、自然水冷的服务器、无外设和显卡的定制化服务器、裁剪和加固过的定制化Linux系统、全盘加密的数据、具备全球化恶意请求拦截能力的GFE(GoogleFront End),以及DDoS。最后采用独立的第三方认证,并严格执行监管要求,比如专门建立安全隐私审计团队、定期公开发布执法数据请求报告。正是由于Google强调安全文化和创新精神,因此才使得Google的安全能力得到了大家的普遍认可,例如Google的Project Zero团队挖掘的零日漏洞常年占据全球漏洞发布榜榜首。
结合笔者十几年的安全从业经验,这里提出“以安全文化建设为中心,将安全融于体系,建立自动化监控与响应系统,持续进行攻防对抗与安全创新”的新安全建设理念。一个企业有良好的企业文化才能基业长青,比如,华为的“成就客户、艰苦奋斗、自我批判、开放进取、至诚守信、团队合作”,阿里巴巴的“客户第一、团队合作、拥抱变化、诚信、激情、敬业”等。一个公司不断会有人离开和进入,文化和价值观可以保证企业的凝聚力和一致性。这一条在安全领域同样适用,好的安全文化和价值观建设有利于安全工作的推行和有效落实,不会因为人员变动而受到影响,上面介绍的Google在这方面就做得比较好。
将安全融于体系,即将安全植入企业的方方面面,从人员管理到产品开发,从物理安全到网络安全,从组织架构到制度规范。很多公司的安全团队甚至被归并在运维下面,只负责日常的漏洞扫描和应急响应,这种游离于公司架构和产品设计之外的安全团队所负责的只是真正意义上的安全体系工作的很小一部分,很难保证安全的有效性。例如被称为漏洞之王的微软IE浏览器和Adobe公司的Flash Player产品由于早期缺乏安全工程建设能力,产品的漏洞层出不穷,补也补不完,极大地影响了产品的体验,最终微软不得不花费很大的成本重构IE浏览器,进而开发了Edge浏览器,但此时在开发之初就引入安全设计的Chrome浏览器已经占据了绝对的市场份额,同样Adobe不得不放弃Flash Player产品,HTML5由此取而代之。
建立自动化监控与响应系统,即通过安全技术来实现可以收集和分析安全威胁并自动进行防护响应的平台,通过建立纵深防御安全感知能力来收集数据,通过建立基于大数据和AI的分析决策能力来处理数据并动态响应。漏洞是无法完全避免的,比如以检测APT(Advanced Persistent Threat,高级持续性威胁)攻击闻名遐迩的FireEye公司,自己的安全产品却败在了很低级的PHP任意文件读取漏洞上。即使Chrome浏览器拥有强大的安全工程能力,我们也经常可以在版本升级公告中看到漏洞修复信息。安全圈有句名言叫“世界上只有两种公司,知道自己被黑的和不知道自己被黑的”。在提升安全工程能力的同时,我们需要建立快速的监控发现响应能力,尽量将安全威胁限制在可控范围内,并能够在受到安全威胁时快速恢复,即韧性(resilient)安全架构。
持续进行攻防对抗与安全创新,即建立自己的红蓝团队,通过相互对抗来不断提升自己的防护水平,在这个过程中通过持续创新来解决业界普遍面临的安全难题,改变安全防护技术滞后于安全攻击技术的现状。例如,Intel通过在CPU中引入CET技术来解决ROP(Return-Oriented Programming,面向返回的编程)攻击的问题,Google使用BeyondCorp技术来解决安全边界模糊的问题,微软云的Cerberus项目使用安全处理器劫持SPI总线后通过签名校验来保障主板上硬件设备的可信问题,我国使用墨子号量子通信卫星密钥分发技术来解决保密通信的问题,等等。不少企业由于缺乏对攻击团队的建设,自以为安全做得很到位,实际在安全众测后才发现原以为固若金汤的防御措施在黑客的攻击下显得十分脆弱。在这方面,很多业界安全标杆纷纷建立了SRC(Security Response Center,安全响应中心)和攻防实验室,比如Google有Project Zero和千万美金的漏洞悬赏项目、阿里巴巴有潘多拉等8大安全实验室和先知众测平台、腾讯有科恩等7大安全实验室等。