密码学是否达到了社会工程是唯一可靠的攻击方法的发展水平?

信息安全 加密 社会工程学
2021-08-10 01:11:19

请注意,就本问题而言,“社会工程”意味着从人类那里提取信息,无论您的方法是否符合日内瓦公约。

简而言之:是否存在如此强大且易于使用的加密方法,以至于攻击者(无论是个人还是组织)都没有尝试破解它们,而是立即专注于将人类链接作为唯一可能的攻击媒介?

更通俗地说,是否有任何加密方案可以随时使用(生成起来不会超级慢)并且一旦检测到会让 NSA 举手并说“好吧,搞砸了”?

4个回答

强:是的;易于使用:没有。

加密算法提供了精确的功能,对于大多数功能,我们确实知道算法在正确实施时足够强大(这意味着:没有人知道如何用非科幻硬件破解它们)。然而:

  • 事实证明,要“正确”实现任何给定的加密算法是相当困难的。
  • 将密码算法组装协议仍然很困难。通过将 AES、HMAC/SHA-256 和 RSA 组合在一起,您不会自动获得安全的传输协议;你仍然需要处理很多棘手的细节。从1.2 版开始, SSL/TLS被认为“相当强大”,但它花了 12 年多的时间进行中断和修复。
  • 即使算法非常强大,它的范围仍然有限。例如,如果您使用 2048 位 RSA 签名,没有人知道如何破解它;但是签名仅将已签名的内容绑定到“与给定公钥对应的私钥”;而系统的安全性需要绑定到“特定的人类用户”。密码学并不能完成全部工作,只是其中的一部分。

由于给定的系统最终会在某个时候包含一个人,因此它必然有些弱。当一个三字母机构想要破解密码时,最多花费大约一百万美元:要么资助一些利用密码算法实施或使用中的弱点的硬件工作,要么贿赂运营商。哪个更便宜。

现代密码和散列算法实际上不可能在合理的时间内破解。但是还有其他攻击向量,例如在实际系统中集成密码、块模式、随机数生成器、密钥管理。然后是与密码无关的攻击向量,它们是危害系统的最常用向量,例如不正确的权限检查、XSS、CSRF、点击劫持、SQL 注入等等。如果所有使用此攻击向量访问系统/信息的尝试都失败了,那么具有恶意意图的机构(如 NSA)可能会诉诸社会工程学,而橡胶软管密码分析则失败了。

现代密码,如 AES,几乎不可能在没有密钥的情况下破译。我没有确切的数字,但是使用当前可用的硬件,尝试破解密钥将花费太长时间。

这并不意味着相同的密码在未来是安全的。摩尔定律开始发挥作用。硬件会变得更好,这将减少破解密钥所需的时间。人们还可能会发现密码中的弱点,这将使其更容易被破解。

然而,任何加密方案最紧迫的问题是它的实施。实现是棘手的。诸如密钥管理、使用加密不安全的 RNG 等方面是许多可能容易出现弱点的实现细节中的两个。这就是为什么您应该始终使用经过良好测试的实现,该实现经受住了破坏它的尝试,而不是自己编写。请参阅:我们为什么不自己滚动?

简而言之,按照今天的标准,现代密码是足够安全的——只要实现是正确的。我不会说人类向量是唯一可能的攻击向量,但是通过正确实施的加密系统,加密方面是您最不必担心的。

我想说社会工程是攻击者试图获取密码信息的最后一种方式,并且通常首先尝试技术手段。在尝试“破解人类”之前,他们会尝试利用操作系统、Java 和 adobe 产品中的漏洞,因为这些方法更隐蔽、更快且通常有效。我将鱼叉式网络钓鱼包括在技术攻击中,因为尽管这确实使用了一些社会工程来让您单击指向受感染站点的链接,但实际利用的是受感染站点。

那里有一些真正有才华的社会工程师,他们可能会立即选择社会工程选项,但大多数破解者在任何方面都没有社交天赋,并且会竭尽全力避免这种选择,让我们面对现实吧,那里有足够的技术方法来获取他们不需要的信息。