谈论源码
大多数人1并没有完全意识到安全性是多么有趣,或者没有什么安全性专业知识可以使您对其他人了解。 2 我们知道这令人着迷,引人入胜并且很酷, 但事实并非如此。 因此,当安全人员去找其他人(在本文中,我们称其为“普通人”),并告诉他们做错了什么,他们无法发布他们的产品,或部署他们的应用程序,或者他们必须立即停止销售订单,并且有可能在接下来的几天内停止销售订单,直到问题解决为止,然后那些正常的人并不总是会对我们认为合适的感恩水平做出React。
个人的负面回应-对这些建议。问题是这样的:安全人员知道事情应该怎样做,并且那是安全的。 他们接受了培训,参加了会议,阅读了文章,浏览了沉重的书籍, 3所有这些资料都很清楚:一切都必须安全。 安全通常意味着“封闭”,尤其是在安全人员没有充分参与设计,实施和操作流程的情况下。 另一方面,普通人通常只是希望事情正常。 在这两种观点之间存在根本的脱节,即直到安全是从开始到结束的任何项目的最高要求,我们都将无法解决。 4
现在,普通人并不傻。 5他们知道事情不可能总是完美的进行; 但是他们希望他们尽力而为。 这是我们需要克服的差距7 。 我之前曾将管理降级作为一个概念进行过讨论,这是故事的一部分。 我们保证安全人员应做好的一件事就是解释存在可以减轻的风险。
对于安全人员来说, 应该通过“失败关闭”来减轻这些风险。 风险防范很容易:您只需停止系统运行,就不会存在滥用风险的风险。 但是对于很多人来说,还有其他风险:一个例子是,该组织实际上可能去完全歇业,因为一些 _____ 8安全的人变成了订购系统关闭。 如果他们让我选择在停止下订单的风险与丢失公司内部数据的风险之间取得平衡,我会接受吗? 好吧,我可能有。 但是,如果没有为我提供选择权,并且没有说明风险,那么我别无选择。 如果我经营一家公司,这些是我想听到的。
但是,不仅仅这种风险。 在启动前两周参加一个项目会议,并宣布该项目“因为对该API的调用未得到验证”而无法部署,这根本没有好处。 对任何人。 但是,作为一名开发人员,我与企业主的词汇和关注点不同。 安全人员问,而不是说:“您需要在此API上使用身份验证,否则您将无法继续进行操作”,如果在此API上提供的数据不正确,或者是由想要提供此信息的人提供的,将会发生什么情况?干扰系统运行?” 以我的经验,大多数开发人员都对他们正在运行的系统及其处理的数据的正确运行感兴趣,并对其进行了投资。 提出表明缺乏安全性可能产生的影响的问题,比起最初的“讨论”(基本上等于“否”)更有可能获得积极的React。
不要误会我的意思; 有时候,我们作为安全人员需要坚定并坚持不懈。 9但最终,是系统,组织,业务部门或资源的所有者做出最终决定。 用他们能够理解的语言与他们交谈是我们的工作,并确保他们尽可能地了解他们。 不只是说“不”。
1.我的意思是“那些不懂这些可怜的不幸的人,不像您,亲爱的和聪明的读者。”
5.虽然我们都遇到了应有的愚蠢的普通人,但我敢打赌您也遇到了应有的愚蠢的安全人员,所以这可以平衡。 6
本文最初出现在安全博客Alice,Eve和Bob上 ,经许可重新发布。
接下来要读什么
翻译自: https://opensource.com/article/18/2/talking-about-security
谈论源码