不可小觑的软件安全问题

经常有人戏称数据是新金矿、新石油、新货币,甚至是宝石,确实,数据正逐渐成为人们进行商业交易的重要新媒介。我们知道,黄金通常是通过高安全性的运输车辆进行运送的,并且对于货币人们也都不遗余力地保护着,然而,数据却没有受到同等待遇,数据是通过软件来处理的,这些软件也许是20年前为密闭房间内的主机编写的软件;也许是由聪明但却名不见经传的开源程序员编写的低成本高性能的软件;又或许是没有经过正规安全编程培训,期望以此改善用户体验和企业盈利模式的个人编写的软件。但是几乎所有的大型企业、组织和政府都依赖于软件,对于软件安全以及如何解决现有的不安全软件问题,甚至何谓"安全"等问题,都不得而知。鉴于软件的安全性决定着我们的购物和通信等网络行为,现在是时候认真考虑软件安全问题了,而不是盲目的认为软件完全不存在安全问题。

在目前这种不安全状态下,必须进行全面检查并实行责任制。很多企业的倒闭会对公众和市场造成直接影响,然而人们却很难对于数据保护失效的影响进行衡量,因为无法查出其原因和最终成本。市场和公众认为这些保护失效主要出于隐私保护方面的问题,其中最常见的例子就是信用卡数据盗窃。消费者们主要从信用卡发行商处获得保护以免收欺诈性收费的危害,而这些机构常常因缺乏具体的实用的最佳做法而无法对消费者起到保护作用。信用卡发行商们都急于最大限度的扩大信用卡的使用量和交易数量,让很多消费者在实际消费中成为受害者。因此,利用信用卡费用和利息建立起来的交易系统必须承担责任,采取有力的措施不让类似的事件再次放生。

人们对于软件的依赖越来越明显,医疗保健、通讯、运输、基本服务的获取等,都需要软件来进行。每天都有新的应用程序在建立,以满足新的重要的需求,但这些软件却都是建立在不安全的应用基础上的,没有考虑基本的安全问题。现有的应用程序并不适应于现有环境,一些新软件(如面向服务架构)也进一步暴露了现有功能的内部漏洞。

应该怎么做?

软件,尤其是软件评估和软件采购,在严谨性和透明度方面,必须像其他大多数重要组件一样对待。政府或者行业领导者不可能在没有看到某组件安全运行的详细分析说明前就采购该组件。不管是喷气式飞机,还是生产车间的新机器,又或者是食品的成分,都是需要进行严格的安全检查才能使用的。软件也是同样如此的,如果不安全的话,将会对客户、员工和股东造成非常坏的影响。

同时也应该对现有软件进行评估,负责任的企业绝不会在不确定老化机器的安全性的情况下将旧机器运用到新进程中。软件也同样也会面临老化和过时的问题,在受保护环境中使用的应用程序不太可能在网络环境下受到适当保护,重新定位用途的应用程序需要付出很多努力,因为新用途可能带来新风险,或者涉及需要保护的数据类型。

成本问题

提高软件安全性的成本必须通过衡量维持现有状态的有形成本以及无形成本来考虑,而不安全软件在其中占了不小比重。另外,违规造成的有形成本也很重要,这包括:发送成千上万的通知信,信用监控服务,罚款和罚金,以及潜在的声誉损失。另一个较少考虑到的因素就是清理费用,包括:系统的修复、恢复和重新配置,对所有软件访问点的必要更新,对违规原因和风险的调查产生的费用等。企业在购置新软件时,特别是在购买定制软件时,如果事先没有部署适当的安全控制,对软件漏洞的鉴定、修复和调整等问题可能增加预算。

与此同时,那些依赖于技术进行快速简单的商务交易的消费者和企业的信心开始逐渐减退,这带来最大的成本问题。近年来,交易过程曝光事件不断增加,越来越多的私人信息被盗窃,这些都成为扩大软件应用的障碍。

保护软件安全的实际费用可以通过进行评估来管理,优先考虑最容易受攻击和最有价值的软件,选择合适的供应商,至少要能保证其产品的安全性以及安全使用性。另外,在于外包合作伙伴签订合同时也必须明确安全要求和标准。

这可能吗?

所有企业都有可能完全保护他们的应用程序吗?这不太可能,因为没有哪个企业可以保证其工作环境是百分之百的安全。并且经验告诉我们几乎所有的软件都存在安全漏洞,我们无法确定企业、开源程序或者某些类型的软件是不安全的,这也不能解决任何问题。

唯一的解决办法就是要认识到软件逐渐开始作为大多数企业发展的重要核心,因此,软件需要承担安全和隐私问题的责任。这也要求企业开始意识到风险的存在,必须开始发现存在的问题并解决问题。必须从现在就开始行动,因为每天、每个应用程序、每个新功能产品,都可能扩大问题的严重性,而这个问题最终将需要解决,否则企业将无法继续前行。

现在是时候承认问题的存在,并承担相应责任,不管问题多么严重。总之,没有看到问题并不说明问题不存在。