扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
根据知名科技博客TechCrunch报道,2012年丢失和被盗手机将给消费者造成数十亿美元的损失。这篇文章主要集中报道重置成本方面,是我非常想要了解的。但是,我更加关注手机上所存储的数据——例如,密码。
毫无疑问,我可以使用手机安全服务对手机上所存储的数据进行定位,锁定,甚至删除。并且,另一种方式——我可以使用手机密码管理。也就是说,如果我的手机丢失或被盗取,敏感密码能够被保护直到我找到手机。无论哪种方式,我都能对它进行管理。
也不完全正确
我有一个新闻网页搜索爬虫,当它发现密码和智能手机的文字组合时,就会提醒我。同时考虑到TechCrunch的文章,我的笔记本会发出警示音。智能手机上使用的是安全密码管理和军用级别加密,这是一个谎言。显然,作者Elcomsoft公司的Andrey Belenko和Dmitry Sklyarov知道一些我所不知道的事情。
他们有大量的接受度很高的iOS取证工具包,该软件能够消弱ISO数据的保护。因此,我认为我能够更好检查该观点。
我阅读了该文本----类似一种帮助文本。至少对于我来说,关于高级别加密看上去很神秘:
Read EncryptedDatabaseKey and EncryptedValidator from Database
KEK := MD5 (Password + Salt)
IV := MD5 (KEK + Password + Salt)
7DatabaseKey := AES-128-CBC (KEK, IV, EncryptedDatabaseKey)
Validator := AES-128-CBC (DatabaseKey, NULL, EncryptedValidator)
If Validator = DatabaseKey Then password is correct
我觉得联系两位作者并看看他们能否有时间回答我的几点问题。他们同意了,尽管当时Dimitry在德国,而Andrey在中国。
Kassner: 你们的研究主要集中在“静态数据安全”,也就是在移动设备上用户密码的存储。为了获取密码,攻击者需要对下列内容之一进行操作:
• 设备占有
• 该设备上所存储数据的备份
• 访问密码管理数据库
你在文章中提到了苹果公司iOS系统和RIM公司Blackberry系统,你可以详细的介绍一下如果对它们进行密码保护吗?
Belenko: 两个平台都提供了安全机制保护设备上所存储的数据(不仅仅是密码):
• 设备密码(iOS平台上叫解锁码):它们限制访问设备上的用户界面和数据。
• 备份加密:一旦你在iTunes设置了加密备份,iOS设备将总会对备份进行加密。BlackBerry平台你能够控制每台设备加密,因为加密是通过桌面应用程序完成,而不是通过设备本身。
• Keychain服务(仅限于iOS):该服务对密码,密钥,证书等提供一个广泛的存储方式——这些信息需要额外的保护。
操作系统通常可以实现更好的安全措施,因为它们在一个较低级别上进行操作----更接近硬件。例如,保护苹果iOS keychain 是iOS数据保护不可分割的一部分(其它部分包括存储/内容加密以及密码保护)。
在BlackBerry平台上,没有类似iOS keychain的服务,因此,安全性取决于设备密码,。值得庆幸的是,想绕过设备密码并不是很容易或没有可靠的方法。
在我们的研究中,我们想去分析密码管理应用程序是否能提供额外的安全层面的保护----也可以说是深度保护。
Kassner: 你将操作系统安全和密码管理安全区别对待。为什么要区分开呢?这会有什么问题吗?
Sklyarov: 这个不同在于操作系统通常可以访问设备的所有功能,但是仅限于通过操作系统应用程序编程接口(API)所提供的应用程序。设备固件提供了许多保护机制,但是大部分是为正在运行环境下的应用程序提供保护。
大部分固件和应用程序开发人员认为应用程序应该对安全负责。但是一些应用开发人员通常更关注于改善软件的实用性而不是增加其安全,因为实用性功能要增加安全性看上去更明显。
Kassner: iOS平台下的加密软件DataVault Password Manager可以在iOS加密钥匙链下存储密码---使操作系统和加密应用程序一起工作。这似乎是最好的解决办法。为什么没有更多的开发者开发类似DataVault的软件呢??
Belenko:我想可能以下两个原因:
• 应用程序必须是便携式的(适用于iOS和Andriod系统)并且开发人员不想对特定平台功能过多的投入。因此,他们会利用这些功能的共同特性去开发不同平台。
• 开发人员不了解设备的安全模式,并且没有花费大量时间去研究所要支持的平台的安全服务。
DataVault是一个有趣的例子。它并没有使用适合的钥匙链,但是它们努力去尝试做到这点。
Kassner: 这份研究报告着眼于17中不同的密码管理软件并对每种应用的缺点做出了详细的解释。我使用的是1Password Pro密码管理软件。我试图按照解释去做,但是失败了。你就可以用外行人的话解释以下为什么1Password 软件容易受到攻击吗?
Sklyarov:首先,不存在无懈可击的解决方案。任何软件都有可能被破解;仅仅是时间问题。如果这个时间需要几个世纪,那么我们就会认为这个解决方案足够好。但是,如果你的密码几分钟内就能被发现----那它就是不够好。
首先我们假设攻击者访问1Password数据库。对于我们来说如何访问并不是很重要。对于我来说重要的是所有可能的密码组合被测试出来的速度有多快。
对于1Password来说,每秒超过 一千万组密码被测试出来。理论上,仅使用字符密码或一组七位密码能在不到一秒钟的时间内被测试出来,一组八位密码需要10秒时间,一组九位密码仅需要100秒。
包含字母,数字,标点符号和特殊字符(包括95个常用字符)的6位字符密码可以在24小时之内破解。但是,这种密码组合很到被用到智能手机上。因为,每次键入这些字符太麻烦。
Kassner:我的同事---一个RIM公司产品的狂热粉丝---使用一款黑莓官方发布的钱包保管程序Blackberry Wallet。虽然在我印象中RIM公司在保存密码方面的工作做得很好,但是这篇报道指出,恢复密码是可能的。再次对于外行人来说,你能解释一下Blackberry Wallet这个程序的漏洞吗。
Belenko: 与1Password Pro软件同样的方法:如果你能够获得你同事BlackBerry 设备中的数据备份,你就可以通过运行恢复密码攻击他的Wallet 主密码,尽管有可能比破解1Password Pro程序稍微慢一些---我假设他使用的是针对BlackBerry OS 6+系统的Wallet 1.2 程序。
是什么使得在移动平台上密码破解变得更容易---是小型化或受限制的键盘造成的。输入过长的或复杂的密码非常困难。
Kassner: 很高兴给我解释了这么多。在文章中我读到一些段落,请帮我解释一下:
“如今大部分移动设备没有使用机械键盘,使得利用机运动方式记住复杂的密码变得很困难。因此,平均来说,我们相信日常输入一个复杂密码的安全性,对于移动设备而言要比使用机械键盘的设备安全性要低。”
真是这样的吗?
Sklyarov: 许多人(包括我自己)能够很容易的在标准键盘上输入很复杂的句子,但是当我们一个字母一个字母的输入密码时就会出现问题。我们管它叫做运动记忆。
现在我补充说明一下,事实上虚拟键盘很小,并不能产生身体上的反馈,这种反馈你可以感触到键盘的关键部分---中心,边角或一些边缘。因此,在一个虚拟屏幕键盘上输入过长的密码变得相当麻烦---简单密码变得很普遍。
Kassner: 有如此多的密码管理应用程序可以使用,有什么建议给那些正在寻找它们的用户一些建议吗?
Belenko:听起来可能有点偏执,但是我认为最好的方法是根本不依靠密码管理软件进行保护。相反,用户可以利用移动设备和它们自身的操作系统所提供的安全机制:
iOS平台
• 使用设备的密码应用程序。
• 设置备份密码并使用复杂的密码。
• 不要将iOS设备连接到不可信的电脑或电源。
Blackberry平台
• 设置设备密码(这是对主要数据保护)。
• 如果你正在对存储卡进行加密,使用设备密钥进行加密,设备密码会让一个攻击者恢复数据。
• 不要存储加密备份。
结语
我不止一次的听到这种看法。我们所能做的做好的办法就是使用我们的手机上的设备锁。一个确凿的证据就是,FBI无法破解Android平台的屏幕锁。并且,现在你听到世界级专家的阐述。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者