CEO必须重视软件开发安全和安全编码

安全
本文IBM安全研究高级架构师Ryan Berg列出了一些可能导致安全威胁的领域,并解释了公司如何才能逐步提升自己的软件开发过程,以及从哪些发展模式中可获得指导。

IBM安全研究高级架构师Ryan Berg表示,金融服务业在推动安全编码实现上远远领先于其他产业,而其它的公司,包括一些规模较小的独立软件供应商,并没有为此做出努力。Berg表示,一个公司的首席执行官可以改变这种状况。Berg强调,如果首席执行官承诺大幅改善软件开发,并且有一定的预算支持,这将给整个软件开发过程带来更多积极有利的变化。在此次采访中,Berg列出了一些可能导致安全威胁的领域,并解释了公司如何才能逐步提升自己的软件开发过程,以及从哪些发展模式中可获得指导。

我们了解到大多数公司都把重点放在安全软件开发上。为什么要优先考虑软件的安全性呢?

Ryan Berg:大约12年前,我在一家名为BBN的公司工作, 那时BBN是第一家管理防火墙服务器的公司,被人们所熟知。在12年前,对一个公司来说最大的威胁之一是来自网络的访问,这是每个人都在关心的问题。于是防火墙孕育而生,你只需要一个高层次的管理员来配置防火墙。然而,我们的网络运营中心最大的需求之一是:“你能为我打开这个端口吗?”随着越来越多的应用程序移植到网络上,为了保证人们正常工作,试图打开防火墙的需求越来越多。当时的应用程序和网络应用程序都相当糟糕。那时的威胁来自于网页置换,随后网络开始演变。大约在5年前,我们看到越来越多的动态信息被放到了网络上,同时网络也增加了一些更为实际的业务功能。虽然防火墙还规定了一个安全基准,但是用户可以通过允许开启80端口,免费、快速地访问网络。曾经人们所理解的内网和外网概念已经被彻底打破。大多数公司一旦在互联网上开展业务,都会开放80端口允许访问他们的网络,这样他们基本上也为来自外界的访问打开了方便之门。

很多应用程序已经放在网络了,攻击者似乎不再通过操作系统漏洞,而是通过浏览器的漏洞以及一些其他面向网络应用程序的漏洞来发动攻击,是这样的吗?

Berg:由于操作系统厂商在操作系统安全防范上做的很好,人们逐渐意识到攻击者想得到的只是数据。这是一个数据经济时代。商务分析人士希望获得这些数据来推动自己的业务发展,黑客也想得到这些数据来推动自己的业务发展。获得数据的方式将不再是通过网络和入侵操作系统。黑客正尝试让应用程序本身去访问这些数据,然后直接摧毁这些应用程序。黑客试图用一种邪恶的方式来合法的获取数据。这就是为什么类似于SQL注入和跨站点脚本攻击(XSS)这样的攻击成为主流的原因。这些都只是攻击者用来破坏应用程序正常功能的方式。软件缺陷、不良设计或编码质量低下都是客观存在的。

如果一家公司要把软件安全列为优先项目,那么它该从哪入手?公司里谁应该起带头作用?

Berg:我认为应该从首席执行官开始。你必须改变你对软件制造的思维方式。公司改变其软件制造方式的唯一途径就是通过首席执行官的领导。我接触过很多公司,并不是开发人员不想做正确的事情。他们也并不希望编写出糟糕的代码。但开发人员没有被告知,这是我们业务的一个基本职能。软件交付使用时一定要具备安全性。为了使这成为一个标准以及让开发人员能够坚持自己的开发理念,必须从公司最高管理层开始贯彻落实。我从来没有告诉过任何公司不要关心他们的软件质量。如果你关心软件质量,那么你必须关注它的安全性,因为不可能存在缺乏安全性的高质量软件。公司花费了太多的精力在质量上。有专门的质量检测工程师负责产品的测试。但是,还需要专门的工程师来测试软件的安全性。质量检测工程师不能进行这个测试,因为这是另外一门技术。所以需要有一个企业承诺需求和一个企业提供这样的职能。

一旦做出这种承诺,将会产生许多种不同的模式,我们可以以此作为指南。比如成熟度模型(BSIMM)中的建筑安全就很管用。微软也将它的SDL广泛应用。您对这些不同的模式怎么看?这会是一个很好的起步平台吗?

Berg:我喜欢BSIMM的唯一原因是其实它并不是一个模式。BSIMM概述了一些公司正在做的事情。我们可以从中得到顶尖公司共同在做事情的相关数据统计。BSIMM不会告诉你该做什么或不应该做什么,它只是告诉你这些顶尖的软件公司在做什么。微软的SDL就是围绕微软做的工作而设计的。微软有自己开发的一些应用程序。最初的SDL主要集中在他们的操作系统中:如封装和套装软件。如果你不打算开发这种软件,也许这种模式并不一定合适。但是,这并不意味着你不能使用这种模式或者这种模式中的一些模块。要完成一个大项目,你就应该要有一个模式。如果没有,你就是做无用功。

根据目前您了解到的信息,大部分公司的大体模式是正确的吗?这些公司有没有意识到这个问题,并着手建立更好的软件开发流程呢?

Berg:这取决于市场的需求。有些纵向市场,像金融市场,处处充满风险。在安全应用开发问题上,他们始终走在前列。他们有风险管理人、安全工程师,还有一个安全项目。大多数金融组织都设有这些职位。但在美国之外的其他国家就不同了。美国的金融公司走在其他国家的金融组织之前。有一部分原因就在于美国的规章制度。毋庸置疑,PCI对金融市场起到决定性和强制性的作用。金融服务业之后就是零售业。PCI和金融服务业一同向零售业施压。如果你接触独立软件制造商,他们只会敷衍了事。大规模的独立软件制造商很有优势,一旦你跻身财富1000强,利益就多了。除非有重大事情发生,大多数的时候他们并没有真正在做什么。

其中一些改变是根据用户的要求进行的吗?是否需要监管来改善小规模的独立软件制造商的软件安全性?

Berg:我不希望看到有更多的规则条例出现。大家都知道条规并不总能保证事情朝正确的方向发展,人们只会循规蹈矩,用最少的工作来达到其中的要求。我更希望看到的是,有更多的软件用户与软件制造商互动起来。现在这种情况越来越多了。具有购买能力的大客户在他们定购的软件的安全问题上有更多的发言权。如果你拥有财富500强或者财富1000强那样的购买力,那么你就可以提出具体的要求,对软件的开发方式也有一定的决定权。

【编辑推荐】

  1. 应用程序开发:使用第三方代码是否安全?
  2. 企业难题之落实应用程序开发安全性
责任编辑:许凤丽 来源: TechTarget中国
相关推荐

2024-11-07 12:14:36

2012-07-17 09:36:45

2012-07-16 14:35:19

2012-08-06 11:08:14

2022-08-30 18:46:24

安全软件开发测试软件

2016-09-28 19:16:36

软件开发安全CISSPSDLC

2016-09-28 19:26:31

2024-09-23 15:02:40

2013-01-17 09:28:27

2010-06-24 16:18:13

2024-02-23 11:13:35

2016-10-18 10:57:03

2024-02-21 17:25:58

2022-01-25 10:57:47

自动驾驶智能汽车

2014-02-10 09:22:41

2012-10-19 09:22:54

2012-01-16 10:41:25

安全互联网IT部门

2024-08-09 13:44:06

2012-11-08 17:33:00

网络安全谷歌

2022-09-20 07:31:40

CISOAPI安全安全基础设施
点赞
收藏

51CTO技术栈公众号