您现在的位置是:首页 > 头条新闻 >
[独家]解决软件安全问题的治标与治本
2009-08-12 16:52:00作者:郝峥嵘来源:
摘要“如果把有安全漏洞的系统比作一个白血病人,那给系统装上防火墙就相当于让白血病人住进无菌病房。住进无菌病房后,白血病患者不会自动康复,需要医生给找出病因并采取合适的治疗手段,病人才能康复。同样,系统有了防火墙,漏洞不会自动消失,还需要安全工程师利用源代码安...
“如果把有安全漏洞的系统比作一个白血病人,那给系统装上防火墙就相当于让白血病人住进无菌病房。住进无菌病房后,白血病患者不会自动康复,需要医生给找出病因并采取合适的治疗手段,病人才能康复。同样,系统有了防火墙,漏洞不会自动消失,还需要安全工程师利用源代码安全分析工具自动找出安全漏洞,并有针对性地修复,系统才能拥有真正的健康。这就是源代码分析工具的价值所在。”在接受中国信息主管网独家采访时,Fortify公司中国区首席代表冷虹用了这个浅显易懂的比喻来形容源代码安全分析工具。
从根源解决软件安全问题
Fortify公司是何方神圣?源代码安全扫描工具真能解决软件安全这个IT业界长期没有解决的难题?冷虹介绍,Fortify公司总部位于硅谷,是著名风险投资公司Kleiner Perkins Caufield & Byers(简称KPCB)专为解决软件安全而投资设立的公司。能吸引KPCB投资的是,Fortify创始人之一的Roger Thornton有一个创意。
Roger Thornton注意到一个现象:企业每年在IT系统安全上花很多的钱,用户购买防火墙、杀毒软件等安全产品和服务。这种设立围墙的方法,在一定程度上能挡住企图进入系统的攻击者。但是黑客群体越来越多,应用的被封闭越来越阻碍业务的发展,事实上防火墙被攻破的事件也是时有发生的。Roger Thornton就想,为什么不从软件源头上解决安全问题呢?把源代码里的安全漏洞都解决了,不就从源头上解决了安全问题。
冷虹介绍,系统有了防火墙,漏洞不会自动消失,还需要安全工程师利用源代码安全分析工具自动找出安全漏洞,并有针对性地修复,系统才能拥有真正的健康。这就是源代码分析工具的价值所在。
KPCB认同Roger Thornton的这个观点,并投资给了Fortify公司。后来的事实证明,这个决定是正确的。Fortify公司经过五年的发展全球大客户有600家, 其中包括金融, 电子商务, 政府,电信运营商, 公共事业部门,国防以及软件公司。自2003年成立以来,Fortify公司的业务增长一直保持着高速增长。2008年,尽管也受到了金融危机的影响,却依然保持着两位数的高速增长。已经成为应用安全市场提供安全解决方案领先的企业。
代码安全扫描之所以有比较巨大的市场,是因为黑客的攻击方式正在改变,信息交互的方式在改变,防火墙等传统安全保障方式的局限性日益显现。冷虹认为,除带有政治目的的攻击外,现在的黑客很少会去把网络攻击瘫痪。黑客不会让你发现,只会偷偷地拿走你的资料,比如商业秘密、客户资料、银行账号密码等。黑客是利用系统里的一些漏洞,伪装成合法的访问,秘密侵入系统。从源代码层面减少软件安全漏洞,可以有效地减少系统被侵入的概率,因此应用层面的安全日益受到了业界的重视。
在中国,要拥有第一批吃螃蟹者,是不容易的。我国银行、电信等行业的技术决策者轻易不会尝试新IT技术,倾向于使用已在一些公司得到成熟应用的技术。冷虹说:“以前,要卖东西给银行,他得问问有别的银行用过这东西没,用的情况怎么样啊。现在,中国人对新技术不惧怕,对于有用的新技术不怕。” Fortify中国自2008年4月份成立以来,在短短一年多的时间里面已经拥有20多家重量级的客户,其中包括中国建设银行、上海浦东发展银行、中信银行、民生银行、平安保险、海关总署、中远集团等。
软件漏洞一扫光
检查代码并找出期间的安全漏洞并不是一件痛苦的事情。2009年6月,中国证券业协会发布《证券公司网上交易信息系统技术指引》要求,证券公司应定期对网站程序代码进行全面检查和评估,并及时修补,避免各种漏洞的存在。一位证券公司信息技术部负责人在接受采访时就说:“把代码检查一遍?要把漏洞都找出来?这几乎不可能。这是一个多大工作量的事情啊!”
的确,依靠人工检查代码,要想把一个有一定规模的企业网站的代码都查一遍,确实是一个不小的工程。但君子善假于物也。借助工具,软件漏洞一扫光不是不可能的。冷虹介绍,源代码漏洞扫描工具即Fortify SCA 是一个静态的、白盒的软件源代码安全测试工具。它通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等对应用软件的源代码进行静态的分析,分析的过程中与它特有的软件安全漏洞规则集进行全面地匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并给予整理报告。扫描的结果中不但包括详细的安全漏洞的信息,还会有相关的安全知识的说明,以及修复意见的提供。
其优势在于,安全工程师不只是知道有问题,还能知道代码的那一行造成了问题。借助这个工具,一分钟可以扫描一万行代码,而且可以很准确地发现漏洞源自哪一行代码,不仅大量地节省人力,其准确度也是人工没法比的。
这样的工具的出现对于众多的系统开发者、代码编写者和测试人员来说的无疑是一个喜讯,而且。冷虹介绍,把代码扫描工具嵌入到开发系统中,开发人员在编译一段代码后,通过工具扫描会开发人员哪一行代码存在漏洞。对于有特定要求的系统,还可以设置需要特别检测的漏洞类型以及可以忽视的漏洞类型,以满足各类研发机构的个性化需求。
完整的安全解决方案
要开发一个安全的应用系统需要把安全开发的理念和做法贯穿于整个软件开发生命周期中去。Fortify 360 的产品就是贯穿在整个开发生命周期主要关节中。除了源代码安全扫描工具外,还有动态跟踪分析器、和实时分析器--实时的查看IT应用是否正遭受攻击。冷虹介绍,在任何时间点上,用户都可以基于IP地址和域名看到是谁在发动攻击,攻击是如何进行的,应用程序的哪一部分正受到攻击。工具可让安全管理人员看到应用程序软件在现实世界中是如何被攻击的。为积极保护应用程序免遭黑客攻击、欺诈和数据窃取,还可以把应用程序切换到保护模式。
FORTIFY的360产品是一种自动化的辅助手段, 客户还需要更多安全咨询服务,从需求分析, 架构设计阶段着手解决。这就需要领导的重视,执行者的负责从而构建每一个安全强健的应用最大限度的减少被攻击和破坏的发生。
(本文不涉密)
责任编辑: