Appsec和技术债务

技术债务对于从事软件开发工作的任何人来说都是生活的事实:需要做的工作才能使系统在长期运行时更清洁,更简单,更便宜,但是企业不知道或看不到作为优先事项。 这是因为技术债务大部分是隐藏在使用该系统的人员面前的:即使设计中存在一些捷径,也使开发人员难以理解和更改系统,系统仍可以正常工作; 或难以阅读或已被复制太多的代码; 也许是客户不知道的一些错误 ,并且开发团队认为他们不必修复这些错误; 而且该平台在补丁方面落后了。
大多数应用程序安全漏洞都是相同的。 系统运行良好,客户看不到任何错误,但是有一些缺失或不正确 如果不及时解决这些问题,可能会发生不好的事情。

技术债务来自哪里?

技术债务是系统生命周期内许多决策的累积。 马丁·福勒(Martin Fowler)有一个很好的2×2矩阵 ,它解释了这些决策如何增加系统的债务负担:

我认为可以使用同一矩阵来了解有关应用程序安全性问题的根源以及如何处理它们的信息。

慎重的决定

许多应用安全问题来自象限的上半部分,在该区域中,人们在设计和开发软件时会做出有意识的,有意识的决定,以捷径完成安全工作。 这就是“债务”比喻正确适用的地方,因为某人正在为未来贷款,在时间与成本之间进行权衡–做出战略性决策以节省时间,知道自己承担了风险就把软件发布出去了以及以后必须偿还的费用。

这是技术初创公司始终做出的决定。 考虑精益 ,如果没有人使用过,那么系统是否安全真的没关系。 因此,首先建立重要的功能并让客户使用它们,然后如果公司持续了那么长的时间,请确保以后一切都安全。 做到这一点的公司通常会陷入被黑客入侵,修复漏洞并再次被黑客入侵的恶性循环,直到他们重写大量代码并最终改变他们对安全性和安全开发的看法。

您是鲁re行事(左上)还是审慎行事(右上)取决于您是否了解自己的安全和隐私义务,以及不履行这些义务所承担的风险。 您是否在需求,系统设计以及构建方式中考虑安全性? 您是否正在跟踪要做出的取舍? 您是否知道构建安全系统需要什么,并且准备在以后构建更多安全性,知道这将花费多少?

不幸的是,当涉及到应用程序安全性时,许多决策都是不负责任的。 但是在某些情况下,人们对应用程序安全性的了解不足,无法做出有意识的权衡决策,甚至是鲁re的决策。 他们位于该象限的下半部分,犯了错误并承担着巨大的风险,而无知。

疏忽大意

许多技术债务问题(以及许多应用程序安全漏洞)是无知的结果:由于开发人员对所构建的系统类型,所使用的语言或平台,甚至是使软件不懂的基础知识了解不足如果他们做错了什么,或者没有做应做的事情。 这是技术债务,即使对于团队内部人员也是如此。

对于appsec,有太多开发人员仍然不知道的简单事情,例如如何正确编写嵌入式SQL 以保护应用程序免受SQL注入 ,或者数据输入验证的重要性以及如何做到这一点。是的 ,甚至是如何做一个像“ 忘记密码”功能一样简单的事情,而不会弄乱它并造成安全漏洞。 当他们在不知道代码的情况下糟糕地编写代码时,他们就处在技术债务象限的左下角–鲁ck 无知。

但是对于试图负责(右下)的团队来说,错过事情或犯严重错误也很容易,因为他们不了解如何安全地存储密码的黑魔法,或者因为他们不了解Content Security针对 Web应用程序中的XSS的策略保护 ,或者如何使用令牌来保护会话免受CSRF的侵害 ,或者它们必须插入的许多针对平台和针对特定情况的安全漏洞。 大多数开发人员除非经过培训,或者直到他们未能通过审核或笔测试,或者直到系统被黑客入侵,否则他们可能永远都不知道这些问题,除非系统受到了黑客攻击。

Appsec漏洞作为债务

将应用程序安全漏洞视为债务提供了一些新的见解,并在与已经了解技术债务概念的开发人员和管理人员进行交谈时提供了新的词汇。 Veracode的Chris Wysopal走得更远,创建了一个明智的应用程序安全债务模型 ,该模型借鉴了现有的技术债务成本模型, 基于风险因素(违规概率和潜在违规成本) 计算潜在的应用安全隐患的成本。

这样的金融债务模型旨在帮助人们(尤其是经理)了解技术债务或应用程序安全债务的潜在成本,并使他们在管理债务方面采取负责任的态度。 但是不幸的是,追踪债务成本并没有帮助世界主要政府履行债务义务 ,而且似乎并没有影响到大多数个人处理个人债务的方式 。 而且我认为这种方法不会真正改变企业对应用程序安全性债务或技术性债务的看法,也不会为解决该问题付出多大的努力。

太多组织中的太多人已经不习惯债务负担,他们已经学会了接受债务作为工作方式的一部分。 偿还债务可以一直推迟到以后,即使以后再也没有到来。 在大多数经理和开发人员已经在处理的现有债务中添加appsec漏洞不会使漏洞得到更快的处理,即使这些漏洞具有很高的“利息成本”。 我们需要一种不同的方法来说服经理和开发人员必须认真对待应用程序安全性。

参考: Build Real Real博客中来自JCG合作伙伴 Jim Bird的Appsec和技术债务

翻译自: https://www.javacodegeeks.com/2013/02/appsec-and-technical-debt.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值