漏洞非小事,金融服务机构如何对抗代码缺陷?
2020-01-01 16:00:47 Author: www.freebuf.com(查看原文) 阅读量:135 收藏

在全球金融行业数字化转型与升级的大趋势下,不论是传统银行业的联网业务和手机银行业务,还是移动支付、P2P金融乃至数字货币和区块链,金融行业新技术和新应用层出不穷,银行业、证券业、保险业纷纷都开始依赖应用软件进行业务的拓展及维护。面对日益激烈的商业竞争,市场不等待,也要求开发者缩短开发和创新的时间!而在快节奏的软件开发环境中,由于代码缺陷造成的软件系统漏洞却给推向市场的金融应用埋下了安全隐患。金融服务机构该如何应对这些威胁呢?

金融机构应用安全漏洞

2018年,金融行业漏洞数量增长趋势势头不减,不论是漏洞的规模、出现的速度还是整体数量都给企业漏洞管理带来极大挑战。以互联网金融为例,2018年,国家互联网应急中心(CNCERT)对430个互联网金融APP进行检测,共发现安全漏洞1,005个,其中高危漏洞240个,明文数据传输漏洞数量最多有50个(占高危漏洞数量的20.8%),其次是网页视图(Webview)明文存储密码漏洞有48个(占20.0%)和源代码反编译漏洞有31个(占12.9%)。这些安全漏洞可能威胁交易授权和数据保护,存在数据泄露风险,其中部分安全漏洞影响应用程序的文件保护,不能有效阻止应用程序被逆向或者反编译,进而使应用暴露出多种安全风险。

从业务发展的角度,安全漏洞带给金融机构,包括银行业、证券业、保险业及互联网金融等的风险不言而喻。以银行业为例,安全牛发布的《2018年第二季度中国银行业网络风险报告》发现,53%的银行机构存在安全漏洞,其中最为普遍的为CVE安全漏洞,其在整个软件开发生命周期(SDLC)内从设计、编码到上线运行各个环节都可能造成安全漏洞。这些漏洞—旦被利用,便可能会造成严重的信息泄露或者系统故障,给用户和银行机构带来不可挽回的经济损失,近期发生的Capital One 银行数据泄漏事件正是一个警钟!

除此以外,漏洞威胁的版图也在时时发生变化,这也给金融服务机构的信息安全带来了极大的挑战。Freebuf《2018金融行业应用安全态势报告》显示,“与去年相比,不论是漏洞类型、数量还是威胁程度都有了较大的变化……从漏洞数量来讲,互联网金融明显少于传统金融,但从漏洞利用难易度来看,互联网金融显得更为脆弱。金融机构遭遇的热门漏洞按照威胁程度排行,命令执行、SQL注入及弱口令排名靠前;从数量上来看,逻辑漏洞、命令执行和XSS漏洞分列前三。”

从理论上讲,任何计算机系统都有漏洞,它们存在于操作系统或组件中,这些漏洞一旦遭受病毒攻击或者黑客利用,便可能导致数据信息泄露等安全风险。而随着构建在信息系统之上的各种金融服务软件应用的不断丰富,软件和信息系统复杂程度的不断提高,系统代码中隐藏漏洞或者后门的各种安全隐患也越来越多,并且通常难以被及时发现修复。

金融服务机构该如何应对这些威胁?

我们看到,尽管所有企业都部署了大量的安全产品,例如EDR、ADS、IPS等等,攻击者依然能够轻易的突破层层防线,复杂的攻击每天都在上演。IPS规则可以检测并阻断已知攻击,但攻击者能够利用漏洞更改或绕过安全规则,攻击业务服务器或数据库服务器,防御新型攻击比以往更加艰难。单一的安全工具已无法解决金融机构当前复杂的威胁态势。

几乎所有金融机构从业人员都认同,面对如此严峻的安全形势,必须加强安全防范意识来保护企业及用户的信息和财产安全,他们同时承认,出于缺乏应用程序安全专业知识、对成本的担忧以及对软件开发生命周期早期安全流程可能会阻碍开发和市场响应速度的担心,大多数金融机构总是在软件发布后才进行漏洞评估。现实是,现阶段严格遵循安全开发流程的金融机构不超过10%。

但导致软件漏洞的最常见因素也正是在开发过程中过晚地执行漏洞测试!安全专家指出,面对漏洞威胁,最关键、最根本的举措之一就是改变金融机构现有的安全理念和措施,执行安全专家十多年来一直在建议的事情:“左移测试”。换个通俗的说法,也就是说“不要等到最后!”从一开始到整个开发过程都将安全性纳入软件开发中,将安全需求列为项目导入前期开发流程,从全局统筹,以安全赋能业务开发与实现。

事实上,正如我们之前一直所强调的:没有任何单一的方法、工具或服务可以确保任何银行等金融服务业的绝对安全,远离漏洞威胁。从软件开发生命周期的角度出发,这需要使用多个自动化工具,这些工具可以帮助开发人员在软件开发前期找到并修复错误,而不是在产品上线后花费大量时间和金钱进行修复,或者在市场上的产品由于被黑而需要紧急补丁时再亡羊补牢。重要的是我们必须认识到,战胜漏洞威胁没有“万能工具”,检测与防护漏洞需要多种自动化工具互相补充,每种工具寻找特定的软件缺陷(例如开源组件),或者以不同的状态(静态、动态和交互)测试软件代码。正如安全专家经常说的,或许我们不可能使得组织变得完全防弹,但通过更早地将安全需求集成于软件开发生命周期的整个流程中,辅以适当的自动化开发工具,我们能更容易检测到攻击者,使他们更难以破坏组织,从根本上增强软件的安全性。

关于作者

梁宇宁先生是鉴释的联合创始人兼首席执行官,他的技术背景包括嵌入式系统、平台APIs和计算机视觉(人工智能领域)等。鉴释成立于2018年,致力于通过使用高级静态分析技术帮助客户降低成本,提高生产力,并确保其软件开发人员具备相应的能力以开发更好、更可靠的软件。在创立鉴释前,梁宇宁先生在世界500强企业(包括三星、诺基亚、华为)和初创科技公司领导软件开发工作,他拥有超过二十年的软件开发和管理经验,对全球科技和软件安全行业有深刻的行业洞见。

*本文作者:梁宇宁,转载请注明来自FreeBuf.COM


文章来源: https://www.freebuf.com/articles/neopoints/223031.html
如有侵权请联系:admin#unsafe.sh