(DPAPI)是在Windows系统上存储机密的建议方法(如ASP.Net应用程序所需的数据库密码)。
DPAPick是在BlackHat DC 2010和WOOT'10上发布的,重点是恢复过去的密码和加密的文件系统证书。表示摘要要求对所有DPAPI加密数据进行解密。由于它是脱机攻击,Windows注册表访问控制也是无效的。
DPAPick的有效性有哪些限制,如何利用它的盲点和弱点来更好地保护我正在为我的应用程序存储在工作站上的数据?
发布于 2011-03-01 13:27:18
@nealmcb问我(谢谢!)关于这一点,这确实是一个很大的问题,在我们的文件中没有提到。我同意,对于如何处理DPAPI安全性,我们没有给出足够的建议。我将通过写一篇博客文章来解决这个问题,但与此同时,我将概述一下您可以做些什么:
总的来说,DPAPI是一个黑匣子API,允许您将任何秘密数据(如firefox密码数据库)绑定到windows帐户密码。要解密任何DPAPI秘密,您需要一个用户密码的散列(在SHA1 (16_LE)中,而不是NTLM中)。
因此,在离线攻击设置中,攻击者首先需要强制(或猜测)用户密码才能获得此哈希,因此“强”密码肯定是第一道好的防线。但是请记住,我们有用于NTLM的彩虹表,因此DPAPI的安全性也受到了影响。
磁盘加密(如位锁和truecrypt )是防止这种情况的第一道防线,因为攻击者在试图恢复DPAPI数据之前显然需要对硬盘进行解密。
不太好的是相信EFS会解决这个问题,因为解密文件所需的证书是用类似于DPAPI的系统加密的。因此,一旦知道用户密码,攻击者所要做的就是首先通过恢复证书来解密EFS文件,然后解密DPAPI数据。
我希望这能澄清情况。对于CREDHIST问题,我正在考虑编写一个工具来清除它(至少是第一个N个旧密码)。
如果你有其他问题,请告诉我
发布于 2011-02-25 06:28:27
这主要是该算法的反向工程,因为API使用了不透明的安全性,没有提供完整的原语集。
因此,这似乎首先放大了使用一个真正好的登录密码,抵抗字典攻击的需要。
此外,不要使用弱密码,因为它会使您的其他密码容易破解。
要时刻警惕后门的可能性,正如论文中所描述的:Elie -逆转DPAPI并脱机窃取Windows机密。
并游说微软接受那些为他们做免费分析的更有资格的密码人的提议。即固定其断裂的CREDHIST机构。或者切换到另一个秘密存储方案..。
发布于 2013-02-03 14:55:16
我给您展示A,一个安装了Windows操作系统的PC,一个配置好的用户帐户,以及一些代表用户使用DPAPI“保护”的数据。
然后展示B,使用者本人。
我们把这两个实体放在一个房间里,有一些电力,但没有外部网络。用户B启动机器A,然后开始输入密码并登录。然后用户B访问受保护的数据。
因此,机器状态(即硬盘)的整体内容和用户密码的知识足以恢复数据。推论:如果攻击者能够掌握计算机状态(例如,他偷了整台笔记本),那么他就可以对用户的密码运行一个离线字典攻击,通过向它扔更多的硬件,他可以任意地快速运行它。
其余的只是通常的安全马戏团通过默默无闻,逆向工程,并发表了一长串严肃的首字母缩写,以驱除邪恶黑客™的威胁。离线字典攻击情况可以通过通常的密码散列铃铛和哨声来缓解(请参阅bcrypt)。更彻底的方法是使用抗篡改设备,例如外部智能卡或TPM,这在概念上剥夺了攻击者在机器状态中的一个关键部分;但这更昂贵,并且在硬件故障时对数据恢复产生影响。
https://security.stackexchange.com/questions/2243
复制相似问题