软件安全漏洞测试报告
现在,我们生活中最重要的方面,包括财务,身份和医疗保健,都取决于代码。 现在,软件安全不仅对于公司而且对于个人而言都是至关重要的方面。
任何使用现代软件产品和服务的人都希望了解基本的软件安全性概念,以保持生活的幸福。 对于致力于设计,创建或维护这些产品和服务的任何开发人员,必须全面了解安全漏洞和安全最佳做法,以避免可能导致安全损失甚至数百人,数千人甚至数百万人死亡的安全漏洞。
在大多数情况下,安全漏洞在我们看来并不陌生。 对我们来说,它们是潜在的问题,并非完全切实; 因此容易被忽视。 想象一下,一个实际的攻击者使用您从未假设过的过时的邮件服务器插件进入您的系统,而实际上您从未想过需要更新,或者黑客通过您公司刚刚带入办公室的智能鱼缸进入了您的系统; 直到您以面对面的方式体验它们。 处理我们严格的截止日期和对新功能的要求不断流,也无法帮助我们考虑软件安全性。
一种流行的软件安全方法。
为什么要写这篇文章?
我先说一下:我不是软件安全专业人员。
我对软件安全的了解可以追溯到我的童年时代,即使用一些随机获得的二手编程书籍来修改代码。 从那时起,我一直喜欢阅读有关黑客和加密技术的文章,但是我现在的主要工作领域是软件工程。
是什么让我进行研究并撰写本文,这是我几年前的思考片刻。 我打算将服务部署到云中,因为它知道该服务将为高度敏感的数据提供服务,希望该服务仅适用于我们想要的用户。
那一刻,我不确定。 我为服务器做了基本的加固,在数据库中进行了哈希和加盐处理,使用了TLS,基于令牌的身份验证,并使用了我所知道的所有最佳实践。 但是,如果我犯了一个错误或者留下了空缺怎么办? 很高兴知道攻击者将如何进入我们的系统。 如果我有一个针对开发人员的简单清单,也很不错,这样我可以确保自己没有犯明显的错误。
在本文中,我的目的是向您提供我当时想要的东西。 我无法确切告诉您攻击者将如何进入您的系统,但是我可以提供一些成功的攻击破坏了系统的示例。 我无法提供完美的清单,但是至少可以共享一份清单,其中涵盖了这些攻击中看到的大多数漏洞。 我希望它会有用,也希望您能在这段漫长的旅程中与我同在。 谢谢。
提示: 通过我的开发经验,我发现了解现实中的软件安全漏洞非常有帮助,因此,如果您阅读整篇文章,我将很高兴。 但是,即使由于迫在眉睫的外星人绑架而没有时间这样做,您也可以查看清单的最后一个快速的想法。 首先是第一件事,对此一点都不难。
计划
在本文中,我将通过一些真实的示例来介绍一些已知的软件漏洞和利用,并将它们分为不同的类别(例如“ 应用程序 ”,“ 库 ”或“ 系统 ”漏洞),以便能够将安全漏洞分类为简单的方法,通过它们驻留的层。 这不是正式的区别。
我将介绍的这些示例和类别绝不是详尽的列表,也不是详尽的类别列表。 如果深入探讨,漏洞数据库,文章,讨论媒介甚至您的服务器中还有很多其他发现。
众所周知的事实是,安全漏洞并非纯粹是技术问题。 它们通常是由于多个组件(包括技术问题,流程,管理和人为错误)相互作用的结果而产生的。 研究安全漏洞的真实示例对于了解这些组件如何相互作用以导致安全灾难非常有用。
系好安全带,因为这会很长。 但是如果有时间,请在示例中接受我的看法,并尽量不要直接跳到本文结尾处建议的解决方法,因为我将建议的用于更安全的软件开发的方法密切相关对于这些现实生活中的安全事件,我还认为,从技术和人员角度检查这些事件,需要学习一些重要的知识。
应用程序漏洞
/ u / rowealdo37189正在使用您的密码。
实际上,很难猜测您刚刚添加到正在使用的产品中的功能是否可以使互联网上的任何人执行服务器上的任意代码作为附加功能。 在开发的热潮中,我们向代码中注入了许多可能会变成漏洞的错误,在实际看到它们起作用之前,我们可能永远不会将它们视为漏洞。 以下是一些实际的应用程序代码违规情形的示例:
潘纳拉面包事件
正如Dylan Houlihan于2017年8月报道的那样,他发送了一封电子邮件,通知Panera Bread信息安全总监其交付API中的漏洞,该漏洞使任何人都能获得全名,家庭住址,电子邮件地址,食物/饮食偏好,用户名,电话号码,生日以及登录帐户的任何Panera Bread客户的已保存信用卡的最后四位数字,只需增加URI中的索引即可。
访问控制漏洞非常普遍,它们可能会严重损害公司的声誉。 关于漏洞的有趣部分到此结束。 更有趣的是,据报道Panera Bread如何处理这种情况:
..Houlihan仅简短地提到了此漏洞,没有任何细节,并建议如果提供了导演提供的PGP密钥(可使Dylan Houlihan对其报告进行加密以便只能对其解密的公共密钥),则他可以发送报告,而没有任何其他实体窃听/阅读电子邮件并了解此漏洞。
显然,他遭到信息安全总监的拒绝,被指控将电子邮件作为“销售策略”发送,并指出“要求PGP密钥不是开始的好方法”和“任何拥有安全实践永远不会像他发送的请求那样响应该请求。”
PGP是由Phil Zimmermann于1991年首先开发的工具。它采用非对称加密,其中密钥可用于加密,但不能用于解密,因此称为非对称。 这允许一个人拥有一个“公钥”和一个“私钥”,该公钥只能用于加密数据,因此您可以自由分发它; 您可以将其放在您的网站上,或将其写在纸上并放在桌子上,这是完全安全的; 由于人们只能使用它来加密数据,因此只有拥有私钥的人才能解密和读取它们。 在这种情况下,他建议Panera Bread向他发送一个公钥(可以在不到一分钟的时间内为该对话生成一个全新的公钥,然后将其删除),以此作为一种安全措施,因此没有人会知道该公钥的详细信息。漏洞,并且Panera Bread将是安全的,直到问题得到Swift解决。 或那是他认为会发生的事情。
长话短说,Panera Bread似乎在随后的八个月中都没有修复此漏洞。 此后,一些不愿继续告知Panera Bread的安全专家决定将其公开。 该漏洞公开暴露后,Panera Bread宣布损害仅限于10.000个用户,他们正在纠正这种情况。 貌似,他们没有,直到必须这样做 。
Fiserv事件
据KrebsOnSecurity报道,2018年8月,安全顾问Kristian Erik Hermansen在Fiserv银行平台中发现了一个漏洞 。 该漏洞使用户可以查看其他用户的交易相关数据,包括他们的电子邮件地址,电话号码和完整的银行帐号。 只需增加一个称