例如,在Web应用程序中,密码和其他敏感信息甚至可以在散列并保存到数据库之前以其他方式记录或访问。
Soemtimes,对于非常大的应用程序,可能无法始终检查所有代码以防止这种情况发生。恶意程序员可以轻松地在日志文件中打印用户的私人信息。
我想知道这是否是真正的威胁,是否存在防止此类信息泄露的标准方法。
我是网络新手,如果这听起来像一个微不足道的问题,请原谅我。
答案 0 :(得分:2)
在银行和保险公司等大型企业环境中,开发人员不应该有权登录实时服务器,数据库等。
开发人员应该只能拥有对测试环境的完全访问权限。这实际上构成了年度外部审计的一部分,以检查谁有权访问生产数据。
我认为,只有代码审查才能真正解决这些问题,因为聪明的开发人员可以解决这个问题。
答案 1 :(得分:1)
您需要信任您的开发人员。如果你不相信他们,你就会遇到比这更大的问题。
最终你无法阻止它,但如果它发生了,应该有办法追索他们以追回损害赔偿,并且在某些情况下可能会发生刑事诉讼。
有点像'防裂软件'问题。你可以把所有安全警卫都安置到位,但最终一个才华横溢的开发人员会找到一种方法来以足够的动力来规避他们。
公司文化也起着重要作用,如果员工承诺并感受到大局的一部分,那么为了不影响公司未来的成功,这符合他们的利益。
答案 2 :(得分:0)
一个简单的解决方案是输入您的用户名和密码,然后grep所有服务器日志以获取该密码。
如果某些程序员有恶意,那么你的团队就会遇到问题。
编写大型应用程序需要程序员的信任,当我说信任时,我的意思是:“你相信你的团队不会犯大错”。
答案 3 :(得分:0)
不要让程序员不相信对敏感应用程序中使用的任何代码的写访问权。或者在部署之前查看所有代码。我认为你还有别的办法。
确保所有代码更改都通过版本控制,这样有罪的程序员可能会留下痕迹。但即使这样也不是很安全。他可以从另一个程序员工作站检查更改。或者他可以以一种无法与诚实错误区分开来的方式在应用程序中添加安全漏洞。然后只是利用那个安全漏洞。
答案 4 :(得分:0)
如果存在恶意访问,那么您无能为力。程序员总会找到另一种方法来解决你所采取的预防措施。
通过测试可以发现无意的访问。 避免在屏幕上或文件上打印调试信息。 通常会在部署时不删除调试行。 使用库作为LOG4J和其他库可以防止这种情况发生。