织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 区块链

加密钱包安全审计清单:你的钱包是否安全?(2)

时间:2020-12-18 17:13来源:未知 作者:admin 点击:
加密钱包基础审计清单 要对一个应用程序进行评估,首先需要了解其工作原理→代码实现是否遵循最佳安全标准→如何对安全性不足的部分进行修正及提

加密钱包基础审计清单

要对一个应用程序进行评估,首先需要了解其工作原理→代码实现是否遵循最佳安全标准→如何对安全性不足的部分进行修正及提高。 CertiK技术团队针对加密钱包制作了一个基础审计清单,这份清单反映了所有形式的加密钱包应用(手机、web、扩展、桌面),尤其是手机和web钱包是如何生产和储存用户私钥的。 •应用程序如何生成私钥? •应用程序如何以及在何处存储原始信息和私钥? •钱包连接到的是否是值得信任的区块链节点? •应用程序允许用户配置自定义区块链节点吗?如果允许,恶意区块链节点会对应用程序造成什么影响? •应用程序是否连接了中心化服务器?如果是,客户端应用会向服务器发送哪些信息? •应用程序是否要求用户设置一个安全性高的密码? •当用户试图访问敏感信息或转账时,应用程序是否要求二次验证? •应用程序是否使用了存在漏洞且可被攻击的第三方库? •有没有秘密(比如:API密钥,AWS凭证)在源代码存储库中泄漏? •有没有明显的不良代码实现(例如对密码学的错误理解)在程序源代码中出现? •应用服务器是否强制TLS连接? 手机钱包 相比于笔记本电脑,手机等移动设备更容易丢失或被盗。 在分析针对移动设备的威胁时,必须考虑攻击者可以直接访问用户设备的情况。 在评估过程中,如果攻击者获得访问用户设备的权限,或者用户设备感染恶意软件,我们需要设法识别导致账户和密码资产受损的潜在问题。 除了基础清单以外,以下是在评估手机钱包时要增加检查的审计类目: •应用程序是否警告用户不要对敏感数据进行截屏——在显示敏感数据时,安卓应用是否会阻止用户截屏?iOS应用是否警告用户不要对敏感数据进行截屏? •应用程序是否在后台截图中泄漏敏感信息? •应用程序是否检测设备是否越狱/root? •应用程序是否锁定后台服务器的证书? •应用程序是否在程序的log中记录了敏感信息? •应用程序是否包含配置错误的deeplink和intent,它们可被利用吗? •应用程序包是否混淆代码? •应用程序是否实现了反调试功能? •应用程序是否检查应用程序重新打包? •(iOS)储存在iOS Keychain中的数据是否具有足够安全的属性? •应用程序是否受到密钥链数据持久性的影响? •当用户输入敏感信息时,应用程序是否禁用自定义键盘? •应用程序是否安全使用“webview”来加载外部网站? Web钱包 对于一个完全去中心化的钱包来说,Web应用程序逐渐成为不太受欢迎的选择。MyCrypto不允许用户在web应用程序中使用密钥库/助记词/私钥访问钱包,MyEtherWallet也同样建议用户不要这样做。 与在其他三种平台上运行的钱包相比,以web应用程序的形式对钱包进行钓鱼攻击相对来说更容易;如果攻击者入侵了web服务器,他可以通过向web页面注入恶意的JavaScript,轻松窃取用户的钱包信息。 然而,一个安全构建并经过彻底测试的web钱包依旧是用户管理其加密资产的不二之选。 除了上面常规的基础审计类目之外,我们在评估客户端web钱包时,还列出了以下需要审计的类目列表: •应用程序存在跨站点脚本XSS漏洞吗? •应用程序存在点击劫持漏洞吗? •应用程序有没有有效的Content Security Policy? •应用程序存在开放式重定向漏洞吗? •应用程序存在HTML注入漏洞吗? •现在网页钱包使用cookie的情况很少见,但如果有的话,应检查: Cookie属性 跨站请求伪造(CSRF) 跨域资源共享(CORS)配置错误 •该应用程序是否包含除基本钱包功能之外的其他功能? 这些功能存在可被利用的漏洞吗? •OWASP Top 10中未在上文提到的漏洞。 扩展钱包 Metamask是最有名和最常用的加密钱包之一,它以浏览器扩展的形式出现。 扩展钱包在内部的工作方式与web应用程序非常相似。 不同之处在于它包含被称为content script和background script的独特组件。 网站通过content script和background script传递事件或消息来与扩展页面进行交流。 在扩展钱包评估期间,最重要的事情之一就是测试一个恶意网站是否可以在未经用户同意的情况下读取或写入属于扩展钱包的数据。 除了基础清单以外,以下是在评估扩展钱包时要增加检查的审计类目: •扩展要求了哪些权限? •扩展应用如何决定哪个网站允许与扩展钱包进行交流? •扩展钱包如何与web页面交互? •恶意网站是否可以通过扩展中的漏洞来攻击扩展本身或浏览器中其他的页面? •恶意网站是否可以在未经用户同意的情况下读取或修改属于扩展的数据? •扩展钱包存在点击劫持漏洞吗? •扩展钱包(通常是background script)在处理消息之前是否已检查消息来源? •应用程序是否实现了有效的内容安全策略? Electron桌面钱包 在编写了web应用程序的代码之后,为什么不用这些代码来建造一个Electron中桌面应用程序呢? 在以往测试过的桌面钱包中,大约80%的桌面钱包是基于Electron框架的。在测试基于Electron的桌面应用程序时,不仅要寻找web应用程序中可能存在的漏洞,还要检查Electron配置是否安全。 CertiK曾针对Electron的桌面应用程序漏洞进行了分析,你可以点击访问此文章了解详情。 以下是基于Electron的桌面钱包受评估时要增加检查的审计类目: •应用程序使用什么版本的Electron? •应用程序是否加载远程内容? •应用程序是否禁用“nodeIntegration”和“enableRemoteModule”? •应用程序是否启用了“contextisolation”, “sandbox” and “webSecurity”选项? •应用程序是否允许用户在同一窗口中从当前钱包页面跳转到任意的外部页面? •应用程序是否实现了有效的内容安全策略? •preload script是否包含可能被滥用的代码? •应用程序是否将用户输入直接传递到危险函数中(如“openExternal”)? •应用程序会使不安全的自定义协议吗? 服务器端漏洞检查列表 在我们测试过的加密钱包应用程序中,有一半以上是没有中心化服务器的,他们直接与区块链节点相连。 CertiK技术团队认为这是减少攻击面和保护用户隐私的方法。 但是,如果应用程序希望为客户提供除了帐户管理和令牌传输之外的更多功能,那么该应用程序可能需要一个带有数据库和服务器端代码的中心化服务器。 服务器端组件要测试的项目高度依赖于应用程序特性。 根据在研究以及与客户接触中发现的服务器端漏洞,我们编写了下文的漏洞检查表。当然,它并不包含所有可能产生的服务器端漏洞。 •认证和授权 •KYC及其有效性 •竞赛条件 •云端服务器配置错误 •Web服务器配置错误 •不安全的直接对象引用(IDOR) •服务端请求伪造(SSRF) •不安全的文件上传 •任何类型的注入(SQL,命令,template)漏洞 •任意文件读/写 •业务逻辑错误 •速率限制 •拒绝服务 •信息泄漏 总结 随着技术的发展,黑客们实施的欺诈和攻击手段也越来越多样化。 CertiK安全技术团队希望通过对加密钱包安全隐患的分享让用户更清楚的认识和了解数字货币钱包的安全性问题、提高警惕。 现阶段,许多开发团队对于安全的问题重视程度远远低于对于业务的重视程度,对自身的钱包产品并未做到足够的安全防护。通过分享加密钱包的安全审计类目,CertiK期望加密钱包项目方对于产品的安全标准拥有清晰的认知,从而促进产品安全升级,共同保护用户资产的安全性。 数字货币攻击是多技术维度的综合攻击,需要考虑到在数字货币管理流通过程中所有涉及到的应用安全,包括电脑硬件、区块链软件,钱包等区块链服务软件,智能合约等。 加密钱包需要重视对于潜在攻击方式的检测和监视,避免多次受到同一方式的攻击,并且加强数字货币账户安全保护方法,使用物理加密的离线冷存储(cold storage)来保存重要数字货币。除此之外,需要聘请专业的安全团队进行网络层面的测试,并通过远程模拟攻击来寻找漏洞。 (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容