IBM安全研究高级架构师Ryan Berg表示,金融服务业在推动安全编码实现上远远领先于其他产业,而其它的公司,包括一些规模较小的独立软件供应商,并没有为此做出努力。Berg表示,一个公司的首席执行官可以改变这种状况。Berg强调,如果首席执行官承诺大幅改善软件开发,并且有一定的预算支持,这将给整个软件开发过程带来更多积极有利的变化。在此次采访中,Berg列出了一些可能导致安全威胁的领域,并解释了公司如何才能逐步提升自己的软件开发过程,以及从哪些发展模式中可获得指导。
我们了解到大多数公司都把重点放在安全软件开发上。为什么要优先考虑软件的安全性呢?
Ryan Berg:大约12年前,我在一家名为BBN的公司工作, 那时BBN是第一家管理防火墙服务器的公司,被人们所熟知。在12年前,对一个公司来说最大的威胁之一是来自网络的访问,这是每个人都在关心的问题。于是防火墙孕育而生,你只需要一个高层次的管理员来配置防火墙。然而,我们的网络运营中心最大的需求之一是:“你能为我打开这个端口吗?”随着越来越多的应用程序移植到网络上,为了保证人们正常工作,试图打开防火墙的需求越来越多。当时的应用程序和网络应用程序都相当糟糕。那时的威胁来自于网页置换,随后网络开始演变。大约在5年前,我们看到越来越多的动态信息被放到了网络上,同时网络也增加了一些更为实际的业务功能。虽然防火墙还规定了一个安全基准,但是用户可以通过允许开启80端口,免费、快速地访问网络。曾经人们所理解的内网和外网概念已经被彻底打破。大多数公司一旦在互联网上开展业务,都会开放80端口允许访问他们的网络,这样他们基本上也为来自外界的访问打开了方便之门。
很多应用程序已经放在网络了,攻击者似乎不再通过操作系统漏洞,而是通过浏览器的漏洞以及一些其他面向网络应用程序的漏洞来发动攻击,是这样的吗?
Berg:由于操作系统厂商在操作系统安全防范上做的很好,人们逐渐意识到攻击者想得到的只是数据。这是一个数据经济时代。商务分析人士希望获得这些数据来推动自己的业务发展,黑客也想得到这些数据来推动自己的业务发展。获得数据的方式将不再是通过网络和入侵操作系统。黑客正尝试让应用程序本身去访问这些数据,然后直接摧毁这些应用程序。黑客试图用一种邪恶的方式来合法的获取数据。这就是为什么类似于SQL注入和跨站点脚本攻击(XSS)这样的攻击成为主流的原因。这些都只是攻击者用来破坏应用程序正常功能的方式。软件缺陷、不良设计或编码质量低下都是客观存在的。
如果一家公司要把软件安全列为优先项目,那么它该从哪入手?公司里谁应该起带头作用?
Berg:我认为应该从首席执行官开始。你必须改变你对软件制造的思维方式。公司改变其软件制造方式的唯一途径就是通过首席执行官的领导。我接触过很多公司,并不是开发人员不想做正确的事情。他们也并不希望编写出糟糕的代码。但开发人员没有被告知,这是我们业务的一个基本职能。软件交付使用时一定要具备安全性。为了使这成为一个标准以及让开发人员能够坚持自己的开发理念,必须从公司最高管理层开始贯彻落实。我从来没有告诉过任何公司不要关心他们的软件质量。如果你关心软件质量,那么你必须关注它的安全性,因为不可能存在缺乏安全性的高质量软件。公司花费了太多的精力在质量上。有专门的质量检测工程师负责产品的测试。但是,还需要专门的工程师来测试软件的安全性。质量检测工程师不能进行这个测试,因为这是另外一门技术。所以需要有一个企业承诺需求和一个企业提供这样的职能。
一旦做出这种承诺,将会产生许多种不同的模式,我们可以以此作为指南。比如成熟度模型(BSIMM)中的建筑安全就很管用。微软也将它的SDL广泛应用。您对这些不同的模式怎么看?这会是一个很好的起步平台吗?
相关阅读