今年ISC大会的主题是“安全从0开始”,对此主题,各位大佬均给出了自己的看法和解释。
ISC联席主席,360集团董事长兼CEO周鸿祎在致辞中表示:从0开始,即描绘了今天面临的一个窘境,也描述了未来巨量智能设备连接到网上,设备不可信任,网络流量不可信任,人也不可信;
ISC联席主席、360企业安全集团董事长齐向东在首日的战略峰会上指出:“我们必须回到安全的本源和原点思考,让安全从0开始。新形势下,网络被彻底打开,传统边界属性改变,传统的IT安全架构已经跟不上时代发展,构建一个包含安全大脑、安全管理中心和软硬件安全设备在内的低、中、高‘三位能力’系统,是安全从0开始的最佳实践”;
360企业安全集团总裁吴云坤在产业峰会也指出“‘关口前移,防患于未然’的本质是回到安全本源问题,从0开始加入到信息化的规划当中,将安全嵌入到信息化和业务系统中,从信息化角度做安全,真正让安全成为‘内生’”。
ISC联席主席,360集团董事长兼CEO周鸿祎
ISC联席主席、360企业安全集团董事长齐向东
360企业安全集团总裁吴云坤
不难看出,无论是“三位能力”系统的构建,还是信息化安全防御系统建设,都是基于攻防技术展开的,而这其中的根本性的手段和资源就是漏洞。
近年来一系列的安全事件,背后无不隐含着漏洞身影,从震网病毒到WannaCry病毒,从乌克兰电力系统遭攻击到数百万德国网民断网,从CSDN用户信息泄露到十亿蓝牙设备可在不知情的情况下被打开并控制,从心脏出血到Struts2服务器提权,从美知名信用机构Equifax用户数泄露到华住旗下酒店入住信息外泄,各个领域的安全事件都有漏洞如影随形,特别现在针对物联网、车联网、区块链等新型设施的攻击更加频繁,这从本次大会“漏洞挖掘与源代码安全”和“区块链安全”两个论坛场面火爆,门口排起长队的情况中也可见一斑。
代码和设计架构是软件的原始形态,其缺陷是导致众多漏洞的直接根源,无数案例证明,尽早发现设计或编码阶段的缺陷,能够大大降低安全问题的修复成本,减少漏洞的发生,防患于未然,这正符合“安全从0开始”所提倡的从源头上尽早地发现产品安全问题的理念。
因此,针对源码和设计架构安全性的分析、检测和保障渐渐成为学术界和产业界研究的热点,并受到国家和企业的高度重视。
美英印等信息技术较为发达的国家均将源码安全审查作为网络安全审查的重要组成部分,我国现行的信息安全等级保护等制度也将源码审计作为一项重要的安全要求。产业界更是推出了安全开发生命周期SDL、DevSecOps等框架,以全面获取安全方面的反馈。
从漏洞这一安全的根源出发,为了能够实现将安全尽早融入到信息化的规划和建设中,使得安全成为信息化的“内生”元素,可以考虑将安全前置到信息化建设或软件开发的设计、编码和测试阶段,达到“早、快、全”发现安全漏洞的目的。
具体较为有效的做法包括以下六个方面:
1.威胁模型分析:对开发人员进行安全编码、编写能够拦截常见攻击的代码等方面的培训;开发简单的自动化威胁和风险建模评估工具,并在安全设计中使用,特别针对处理敏感数据或者直接访问互联网的软件应进行深入的、多层次的建模分析。
2.源码缺陷分析:基于CWE、OWASP Top10、CWE/SANS Top25等标准提取检测规则,并利用自动化静态分析工具发现源代码中的缓冲区溢出、SQL注入、跨站脚本等安全缺陷,当前静态分析工具主要的问题仍然是误报较多,因此需要进行人工审计,该项工作需要一定的背景知识,一般由安全人员辅助开发人员来完成。
3.源码合规检查:利用自动化静态分析工具发现代码中不符合安全编程规范的内容,目前国际上比较主流的安全编程标准包括CERT C/C++/Java、MISRA C/C++等。软件开发企业应该根据主管部门监管要求和自身的开发现状,总结归纳符合自身特点的企业安全编程规范,并采用合适的工具,通过规则定制,实现自动化检查。
4.源码溯源检测:面向复杂的供应链现状,基于开源代码库,自动化检测软件中是否引用了开源代码模块,引用的开源代码模块是否存在已知的安全漏洞,以及软件使用授权(License)问题。可在很大程度上规避和降低开源代码引入的法律和安全风险。完善的开源代码库是溯源检测的基础。
5.安全漏洞分析:采用模糊测试技术,结合基于机器学习、基于结构模板等的测试用例自动生成和变异方法,快速发现和定位异常问题,并结合人工分析确认安全漏洞;对软件系统进行渗透测试,对软件系统进行全面的漏洞扫描,发现的安全漏洞须在上线发布前修补。
6.开发流程对接:分析测试工具以最小代价透明地融入开发和测试流程中。例如,分析测试工具以插件的方式嵌入开发者使用的IDE中,支持从SVN、Git等代码管理系统中自动获取代码进行检测,检测结果与Bugzilla、Jira等缺陷管理系统进行整合等。