我们应该阻止访问非敏感信息吗?

信息安全 Web应用程序 api
2021-08-13 03:20:25

当我们构建一个涉及用户、用户生成内容、管理区域、api 和静态内容的 web 应用程序时,我正在与开发人员进行讨论。

任何人都可以访问大部分模板信息,例如用户帐户模板,用户可以在其中查看和更新​​他们的信息,模板 url 只需很少挖掘即可找到,也无需身份验证即可请求。大多数管理模板也是如此,如果没有正确的身份验证,它们都无法正常工作,但仍然可以阅读。

这使任何人(尤其是经过身份验证的用户)都可以深入了解 Web 应用程序和 API 的功能。阻止对这些信息的访问只会提供一层模糊性,因为 API 方法和内部函数的运行方式仍然相同——人们只需要做出更多假设。

目前我们的推理是,

是的,我们应该阻止访问:仅根据需要提供资源,否则会鼓励恶意行为。

不,我们不应该阻止访问:这是很多额外的工作,它增加了复杂性,如果我们有安全问题,这只会提供模糊性。

所以我的问题是:

我们(以及其他人)是否应该阻止访问此类非敏感信息?


经过进一步讨论,有人提出了这个噩梦般的政策:

图形资源,例如退出图标,应该只对经过身份验证的用户和预期显示图标的来源可用。

2个回答

不要阻止访问。不要为你的团队制造困难。不要引入无缘无故的复杂性,它是安全的敌人,也是通往技术债务的必由之路。不要指望混淆,对于攻击者来说,这是一个明显的迹象,表明更明显的防御措施被忽视了。

这基本上归结为您对实施安全的信心。

如果通过检查这些“非敏感信息”可以发现漏洞,那么在进行修复时隐藏它是明智的。

但是,如果您已经对您的实现进行了审计、渗透测试、安全评估或其他安全测试,并且没有涉及漏洞,那么为了它而掩盖它是不值得的。