网络安全 频道

提高警惕:及时发现应用程序的安全漏洞

发布网站或软件前,你需要用这些工具来扫描一下代码,确保它们没有漏洞。

保护参数的严密的安全措施使罪犯越来越难得手。总的来说,我们的防护措施还是有一定效果的,应当将这个成果在PC和其他终端上继续发扬。如果说在预防方面投入一盎司的努力,就可以避免发生事故后补救需要投入的一磅的努力,那么应用程序扫描就相当于一顿的补救努力。

我们在安全攻防战中永远也不能丢了根本,但是要保护好参数和即时层。防火墙、入侵检测、杀毒软件、lock down软件、网络传输控制、SIM/SEM-这些都代表了能够提升抵御黑客攻击的能力。

问题是网络罪犯具备了攻击下一道防线的资源和意愿:应用程序。等哪天黑客们成功了,那就是你该付钱的时候了。

通常来说,我们都是把安全扫描工具与端口、补丁以及系统漏洞联系在一起。那些扫描工具扮演着重要角色:通知我们哪些端口打开了,哪些组件的设置不正确,还有那些软件丢失了,帮助我们识别有可能被恶意用户攻击的漏洞等等。

但是,这些安全扫描工具并不能阻止两类其他的威胁。

第一种就是承包商或者雇员对你的背叛,他们可以把恶意代码放到已经开发好的软件中。

第二种就是编写代码或者脚本的人创造出漏洞,然后再针对漏洞攻击,这样的话,我们的安全措施完全起不了什么作用。

随着现在人们越来越多地选择外包或者合同承包完成编程工作,任何CISO都知道被攻击了的代码有多危险。某些情况下,潜在的负面影响都经不起仔细推敲。有些程序确实是太重要了,无论是由于在线事务的影响或者是国家安全(比如武器系统或者空中管制),都由不得半点马虎。

大部分应用程序都有数百万行代码。但人们只需要几分钟就可以开启后门或者安放定时炸弹。尽管人眼可以分析错误的实例,但对于这样的任务,人眼毕竟是不够用的。真个过程需要自动化。

第二个例子是,优秀的程序员做了蠢事。看看微软:他们遇到无数的缓存溢出问题。他们不核查上限,不屏蔽函数值,也不测试默认情况,并且那些黑客们会紧紧抓住他们找到的最轻微的漏洞,进行攻击。

多年来,我们有程序开发工具来帮助我们优化代码,从源代码格式程序到编译器诊断再到语义库调用校正程序。代码校对已经超出了现实生活中使用的语言的规则了。

Ounce防护

Ounce实验室研发了Ounce5.0扫描程序。该软件支持很多微软的技术,包括VB.Net、C、C++和C#,还支持Java。它可以扫描到恶意代码还有“哑”代码,也就是那些使程序容易受攻击的代码。它不仅仅是针对缓存一处问题;它会注意每一个数据I/O的每一个入口和出口。

事实上,很多Ounce 5的分析都是跟PCI联系在一起的,并且用通用漏洞枚举(CWE)模型把漏洞列出来。根据CWE,扫描报告会确认双方是否符合契约要求(比如,“无任何漏洞”)。

此类产品的用户人数有限,都是某个组织的成员,比如验收审计,开发组的安全成员,安全公司承包商,或者全球服务公司的成员等到呢个。Ounce的客户包括以上所有类型。

在分析源代码方面,该产品工作效率非常高,它能在4小时内扫描4800万行代码。在这种情况下,速度非常重要。

尽管Ounce是网络安全应用项目的成员之一,而且也使用JAVA,但是Ounce并不扫描所有的东西。我最近发现一个运行PHP的无害网站。由于该网站编码方式的问题,俄罗斯的一名攻击者往该URL中加了一段JAVAScript程序,使之能下载有威胁的程序。尽管没有丢失什么机密信息,但是该站点被用作清洗信用卡交易的网络代理。

简单的网站,5行劣质的代码,那么它就是骗子的囊中之物了。在搜寻一些500强企业的网站的时候,我发现一些站点非常容易受到攻击。

但是Google搜索引擎就能为网站代码启动很多放源码的扫描工具,其中有一个是PHP的。众所周知,确实存在这样的扫描工具并且这种预设的检查是必要的,无论网站是多么地微不足道,它正在消失中。

应用程序漏洞扫描工具以及网站都应当是我们的安全DNA的一部分。显然,赌注是不一样的。后门木马进入系统后,在错误设置的系统中的,它跟500强的人力资源系统中的漏洞不一定一样,但是它相应的影响也是巨大的。在任何网站中留下漏洞,都是在赌博,在冒被黑客攻击的危险。公司和研究机构应当对应用程序安全扫描给与足够的重视了。
0
相关文章