默默无闻的安全性被低估了

在信息安全方面,我们已经开发出许多不被接受与以下论点进行争论的公理:



  • 切勿实施自己的加密技术。

  • 始终使用TLS。

  • 默默无闻的安全性很差。


等等。他们中的大多数通常是正确的。但是,在我看来,人们盲目地遵循这些公理作为一种货运邪教。许多人并没有真正考虑该规则的例外。在本文中,我将提出反对,即通过模糊进行安全性不好的想法。



风险,分层防御和瑞士奶酪



信息安全的主要任务之一是降低风险。根据OWASP方法,使用以下公式计算问题风险:



风险=概率*影响


通过此公式,远程代码执行(RCE)的问题比跨站点脚本的问题具有更大的风险,因为RCE的影响更大。这里的一切都很简单。但是,概率度量呢? 根据OWASP,概率定义如下:



在最高级别上,它是对特定漏洞被攻击者披露和利用的机会的粗略估计。


因此,如果我们降低可能性,那么我们就降低了总体风险。很好。实际上,这与众所周知的“纵深防御”概念非常相似。它也被称为“瑞士奶酪模型”。







根据此模型,您需要在分层模型中构建防御机制,以使即使攻击者通过了第一级,攻击者也会被阻止。



默默无闻的安全



因此,让我们谈谈模糊性带来的安全性。将其用作唯一的保护层是一个坏主意。如果攻击者通过了它,那么没有其他东西可以保护您。但是,作为“额外”级别,它实际上是相当不错的。因为它的实施成本较低,而且通常效果很好。



让我们考虑几种情况:



  • 在我的服务器上,SSH在默认端口22和凭据上运行root:123456妥协的可能性是什么?


由于互联网上的黑客都是具有标准凭据的暴力服务,因此这种可能性几乎为100%。



  • SSH在端口22和凭据上运行utku:123456妥协的可能性是什么?


好吧,我们已经消除了使用标准凭据进行暴力破解的危险。降低了可能性和风险。但是,我们仍然面临大量针对性攻击。有人可能会猜出utku用户名,因为那是我的真实姓名。



  • SSH在端口64323和凭据上运行utku:123456妥协的可能性是什么?


我们更改了默认端口号。有帮助吗?首先,我们再次消除了标准暴力的危险,因为它仅扫描公共端口。其余的呢?我在Twitter上进行了一次小型民意测验,以了解人们在扫描端口时的行为。





如您所见,许多趋向于仅扫描标准端口和最受欢迎的端口。因此,如果将端口从22更改为64323,则将消除某些潜在的攻击。您将减少可能性和风险。



软件漏洞也是如此。如果在Microsoft远程桌面协议中发现了漏洞,则整个Internet都将开始扫描端口3389。您可以通过更改默认端口来减轻风险。



其他应用



当然,除了更改默认值之外,您还可以在其他区域使用相同的方法。在某些情况下(并非总是如此),可以应用以下想法。



  • 代码混淆:当然,这是常识。黑客也是人。如果您对代码进行了很好的混淆,他们将不得不花费更多的时间来查找问题。最终他们可能会放弃。

  • Web应用程序的随机变量名称:您可以使用随机字符代替友好的变量名称。它可以与代码混淆相同的方式提供帮助。

  • : encryption_algorithm(data, key). , — decryption_algorithm(data, key). , , , . - - , (, SQL-), .




通过隐蔽性进行的安全性广泛用于物理/真实安全性中。例如,总统驾着30辆汽车从A点驶向B点。但是他没有坐在总统车里,以免他成为一个容易成为目标的人。它可以位于元组中的任何计算机中,从而降低了遭受攻击的风险。







动物还通过掩盖来利用安全-这是伪装。隐形减少了被杀的可能性。因此,在进化过程中,他们获得了这种能力。







输出量



仅靠模糊性来保证安全是不够的。最佳做法应始终应用。但是,如果您可以以零成本降低风险,那么您应该这样做。模糊性是整个安全系统中的良好层。



All Articles