区块链技术的迅速发展,使得加密资产逐渐成为大众的投资方式之一。全球加密资产规模的高速增长使得钱包成为每一个加密资产拥有者不可或缺的资产管理工具。加密领域里,数字钱包和资金息息相关,越来越多的人意识到了数字钱包安全的至关重要性。2020年8月9日,CertiK的安全工程师王沛宇与何敏之在DEFCON区块链安全大会上发表了演讲主题为:ExploitInsecureCryptoWallet的主题报告。加密钱包是一种存储私钥和/或公钥的设备、程序或服务。因为加密货币是虚拟的,所以加密钱包不能用来存放现实中的钱币。但当我们进行交易时,加密钱包可以使用用户的私钥来为交易签名,并在区块链上进行广播。加密钱包有不同的种类,比如软件钱包和硬件钱包。本次演讲将重点关注网页钱包和桌面钱包。点击链接观看加密钱包科普演讲视频:https://v.qq.com/x/page/v3135cz0g73.html网页钱包
这是一个典型的网页钱包界面,它就是我们CertiK的Deepwallet钱包。用户可以在这个界面中看到账户余额以及发送货币的选项,因为这是一个基于COSMOS的钱包,所以具有委托功能。
当谈论到网页应用安全问题时,我们最先想到的就是“开放式Web应用程序安全项目”的十大安全漏洞。以下是CertiK安全工程师调查的27款网页钱包中“OWASPTop10”的十大安全漏洞的一些统计数据。CertiK安全工程师在3款钱包中发现了跨站脚本攻击,在此选取2例进行案例研究。
动态 | 报告:区块链等热点词促使童书科普百科类成交额同比增速最高:近日,京东图书与艾瑞咨询联合发布了《2019中国图书市场报告》。报告指出,AI、5G、区块链、机器人、VR、智能家居、AR这些热点词,不断点燃科技热潮,科技在改变大众生活的同时,也吸引了越来越多家长的关注,从小培养孩子对科技的兴趣和热爱。因此童书中科普百科类成交额同比增速最高,占比将近40%。[2020/1/8]
我们在一个去中心化钱包里发现了一个SqI注入漏洞。但是它的数据库只包含了交易数据,由于区块链中的交易数据已经公开,利用Sql注入来偷取数据并没有什么意义。由于也没有办法利用SqI注入实现后台代码执行,在这种情况下,这个SqI注入攻击是没有多少实际影响的。此外,这个去中心化钱包内的某个API的访问权限存在漏洞,未经授权的用户可以篡改其他人的2FA设置,但是没办法利用这个漏洞去盗取别人的账户里面的资产。有很多网页钱包都缺少安全标头(header),例如ContentSecurityPolicy(CSP)和“X-Frame-Options”的标头,这会使得钱包容易遭到点击劫持攻击。一些钱包还在用早已过时的JavaScript库和存在CVE的Nginx/Apache服务器,这些漏洞同样无法直接被利用。CertiK安全工程师暂未发现任何处理XML格式数据的钱包,也没有发现有钱包进行了任何反序列化操作,所以没有发现XXE以及反序列相关的漏洞。关于日志和监控方面,也暂时没有更多信息。①案例一:去中心化网页钱包的DOMXSS漏洞这是一个去中心化的网页钱包的DOMXSS漏洞案例。这个钱包支持单一协议,并拥有网页钱包的所有基本功能。存在漏洞的功能此应用程序会保存上次的访问位置:用户用密码解锁钱包后,会重新跳转到解锁之前的页面,下图是实现此功能的代码。如果你有测试网页应用程序的经验,就知道这种情况很有可能存在DOMXSS漏洞,本案例就是如此。
动态 | 新浪财经:官媒针对区块链的报道从科普宣传转向打假监管:据新浪财经今日消息,“1025新政”满月,一个月间,官媒对区块链的态度风向已转。据11月初的一项统计,七家党媒在新政一周内发布了65篇直接相关报道,当时文章中的关键词是数据、产业、安全、创新等,大量文章偏向于科普区块链的概念以及应用介绍,提醒警惕虚拟货币炒作的仅有3篇。近期,官媒的批评焦点则纷纷指向借区块链之名进行的虚拟货币发行和炒作行为。据统计,新华网、人民网收录转载的,以打击虚拟货币或揭露假借区块链行为主题的文章,自10月25日到11月25日午间,共28篇;其中,11月19日至11月25日的一周内就高达15篇。这些文章主要围绕三个观点展开:厘清区块链和虚拟货币的关系,说明二者概念不等;打击伪“区块链”局,或是虚拟货币局揭露;提醒民众,区块链不能成为炒作的噱头,更不是行的招牌,需警惕此类活动,理性投资。[2019/11/26]
DOMXSSDOMXSS需要Source和Sink。Source是应用程序收到非可信数据的位置,然后会将其传递给Sink。当用户访问此链接时,“window.location.search”将返回"?returnTo=/validators",然后“{returnTo}”会包含"/validators"。
Sink是处理来自Source的非可信数据的地方,因此Sink在这里是:“window.location.href”,如果用户输入“returnTo=/validators”。钱包返回到“/validators”,即转到验证者页面。如果输入“returnTo=javascript:alert(1)”,将在浏览器中弹出alert窗口。
动态 | 美国演说家Anthony Robbins开始科普什么是比特币:美国演说家安东尼·罗宾(Anthony Robbins)在自己的网站上发布了一篇比特币的科普文章,并在推特上向自己的粉丝介绍什么是比特币,目前他的推特账户共有粉丝304万人。[2019/1/1]
Keystore和Password
这个钱包属于去中心化的网页钱包。用户创建帐户或导入帐户后,Keystore和Password都存储在本地存储中。使用JavaScript读取本地存储JavaScript能够读取本地存储中的信息。在本案例中,键值数据显示为存储在本地存储中的“HelloWorld”。JavaScript就可以执行LocalStorage.getItem获取“World”。
利用DOMXSS那如何利用所发现的DOMXSS漏洞来窃取本地存储中的Keystore和Password呢?在下面的这个URL中,它可以读取Keystore和Password的内容,并将其发送到黑客的服务器。在黑客的服务器日志中,可以直接看到Keystore内容和Password。一旦掌握了这些信息,就相当于控制了用户的账户,可以登录到他们的钱包并将钱转出。
声音 | 火星人朋友圈科普RAM:火星人在朋友圈发文称,“什么是RAM?简单来说就是EOS这个国家的土地,所有的经济行为都离不开土地。只要EOS的BP们能投票形成一个稳定的供给预期,并且不改变目前的Bancor算法,那么RAM后续的价格有可能会像北上广深的房价走势。房价下跌不行,房价过快上涨也不行,EOS的生态越来越像某国了,真有意思。”[2018/7/6]
修复方法该网页钱包厂商的修复方法为,每当用户解锁钱包,网页钱包总会重定向到个人主页,从而不给攻击者任何插入恶意代码的机会。
②案例二:托管网页钱包中的反射型XSS漏洞第二个案例研究是关于某个托管网页钱包中的反射型XSS漏洞。托管网页钱包是由服务器管理所有私钥。如果要登录钱包应用,用户要通过电子邮件接收一次性密码。此案例中的钱包支持16种不同货币,具备所有钱包的基础功能以及一个附加功能,称作“推特赠送”。API操作API的URL格式类似于“/API/{endpoint}”,例如获取用户交易信息的API即为“/apiUser/cloudTrans”。如果访问一个不存在的API端点,如“/api/test”,服务器将返回带有错误消息的页面,如下图“无法解析请求”。此外,我们发现链接中的内容出现在了服务器返回的页面中。这代表着一个信号:如果后台不对用户输入进行任何处理或编码,就有可能遭到反射型跨站点脚本(ReflectedXSS)攻击。
alert(document.domain)在此钱包的API请求后面加上以下内容:<svg+onload=alert(document.domain)>”应用程序会弹出窗口。这是一个托管的的网页钱包,私钥归服务器管理,因此无法像第一个案例那样直接窃取用户信息。在这个案例中,我们的计划是尝试利用这个漏洞来劫持用户账户。
金色财经独家分析 监管机构、媒体、业界提示风险 区块链科普道阻且长:新华社今日发文表示,近来“区块链”类案件频发,不法分子以“投资虚拟货币周期短、收益高、风险低”为借口,取用户信任并诱使其转账进行投资。无独有偶,同日消息,腾讯手机管家安全专家也提醒此类风险,并从技术上提出防建议。在美国,监管机构警示加密货币欺诈现象普遍承诺高收益而不披露潜在风险。金色财经独家分析,不法分子假借新技术之名进行,一方面是抓住民众趋利的心理,一方面反映出区块链科普的欠缺。区块链是新兴科技和底层技术并有改变社会生产关系的潜力,应该进行系统性的科普教育,当前,部分大学已经开始设置了区块链课程,但对于普通民众仍然有科普的需求,人们应该了解到系统和正确的知识,不仅要了解区块链的好,也要明确局限和弊端,以在高收益的诱惑下,保持清醒客观。[2018/4/11]
Cookie用户登录后,其会话令牌存储在“PHPSESSID”cookie中,而这个钱包的特殊之处在于这个令牌并没有“HttpOnly”。如果Cookie设置了HttpOnly,浏览器将阻止JavaScript访问这个cookie。换句话说,它可以抵御攻击者通过跨站点脚本攻击(XSS)窃取cookie中的会话令牌。
获取会话令牌由于本案例的会话令牌中没有HttpOnly,所以可以通过跨站脚本攻击,读取cookie内容并且发送到自己的服务器。获取会话令牌后,就可以用它来登录受害者的帐户。既然有了会话令牌,就是时候来一波洗劫一空了。
入侵钱包的最终目标大部分情况下是窃取用户资金,但还存在一个问题,因为在进行货币交易时还需要2FA验证。在这一点上,黑客既不能重置2FA,也不能禁用2FA,因此,攻击者需要想办法绕过2FA验证。
绕过2FA验证前面提到,这个钱包有一个推特赠送功能:当用户进入此功能界面时,它会询问用户想要赠送什么类型的货币、赠送多少货币以及赠送多少人。通过这个截图可以看到,用户最多可以赠送2个比特币。
当用户设置好了赠送活动,其他人需要先点击关注,艾特3个朋友并转发此赠送推文,只要完成这些步骤,就可以去领奖了。
但问题就出在这个功能不需要2FA!攻击者可以通过反射型XSS,盗取受害者会话,登录受害者账户,创建很多赠送活动,然后自己去申领奖励。这样就可以把受害者的账户余额全部取出。修复方法厂商对输出进行HTML编码,这样解决了XSS漏洞。同时为含有会话令牌的“PHPSESSID”Cookie设置“HttpOnly”。这样一来,即便应用程序受到跨站点脚本攻击,攻击者也无法直接窃取账户的会话令牌。桌面钱包
桌面钱包是一种在苹果操作系统、Windows和Linux上运行的应用程序。桌面钱包都使用了什么框架呢?CertiK安全工程师研究了18款桌面钱包,其中QT、DotNet,Java各一个,其余15个使用了Electron框架。这部分的案例研究将探讨DotNet桌面钱包的服务器远程代码执行漏洞,以及Electron钱包的客户端远程代码执行漏洞。
①案例一:DotNet桌面钱包的服务器远程代码执行漏洞下文分析在桌面钱包中发现的一个远程代码执行漏洞。首先介绍一下背景:这个钱包是一个去中心化的单一协议钱包,用C#语言编写,使用了DotNet框架。它包含许多常见的钱包功能,如帐户管理、交易转账和部署/调用智能合约等。比较有趣的是,它还允许用户上传文件到服务器。这功能在钱包中并不常见,所以我们决定进一步研究这个功能。如前所述,这个钱包是基于DotNet的,如果没有对代码进行混淆,就很容易通过反编译来获取源代码。此案例钱包正是这种情况,因此我们能够恢复其源代码来进行进一步的分析。静态源码分析在对可执行文件进行反编译之后,我们找到了实现文件上传的源代码,如下面的代码片段所示。
钱包向服务器发送一个HTTPPOST请求并返回文件上传URL,“upload.php”是服务器上的处理文件上传的代码。现在我们知道服务器后台使用了PHP,因此,如果可以上传一个PHPWebshell到服务器并在浏览器中打开它,我们可能就能够在服务器上远程执行代码。文件上传在成功地用钱包上传了一个PHPwebshell文件之后,CertiK安全工程师尝试着在浏览器访问上传的文件。成功的访问了上传的Webshell,并能在Webshell中执行命令。我们同时发现该钱包的服务器是在“administrator”用户下运行的,因此能够以“administrator”权限执行命令。在这种情况下攻击者能够完全地控制这台服务器,并且能够操纵其他用户上传的文件。但是,由于这是一个去中心化的钱包,服务器不会存储任何用户私钥,所以此漏洞无法被利用来直接危害用户帐户。
修复方法修复是非常简单的,开发人员直接删除了文件上传功能,这样就不必再担心这个安全问题了。这是一个很好的办法,因为加密钱包应该尽可能地保持功能上的简洁,以此来避免安全问题。接下来,再来谈谈Electron钱包的安全问题。②案例二:桌面钱包客户端远程代码执行漏洞Electron是什么?为什么要用Electron?Electron是一个开源软件框架,它让开发人员能够使用HTML、CSS和JavaScrip来构建跨平台的桌面应用程序。使用Electron的好处是开发人员可以重复利用网页应用程序代码来构建桌面应用程序,也就是说不需要找另外的代码库,也不需要学习新的编程语言。在调试Electron应用程序时,使用谷歌浏览器的DevTools会非常容易。Electron应用程序可直接在操作系统上运行,因为它可以访问Node.js模块,所以也就可以构建比网页应用程序更强大的桌面应用程序。今年六月,CertiK安全团队在Symbol桌面钱包中发现了一个远程执行代码漏洞,并将该漏洞提交到了Symbol漏洞赏金计划。详情请点击https://mp.weixin.qq.com/s?总结
无论是由内部安全团队还是第三方公司执行安全审计和渗透测试,对于确保系统的安全性都是至关重要的。专业的安全人员会试图从“恶意黑客”的角度来破坏系统,帮助在真正的黑客利用漏洞之前识别和补救漏洞。
编者按:本文来自小吒闲谈,Odaily星球日报经授权转载。YAM,这个红薯,上线即高潮。高潮过后,就是一阵空虚。YAM的币价,从最高166美元跌落到0.44美元,跌幅达99.7%.
编者按:本文来自蓝狐笔记,Odaily星球日报经授权转载。从借贷聚合开始,YFI开启了其DeFi“帝国”的扩张之路。YFI除提供稳定币聚合、挖矿聚合之外,开始把目光投向DeFi保险.
V神曾经说过:未来能够打败以太坊的,只会是以太坊2.0。但是鉴叔认为,波卡将会是打败以太坊的大杀器。为什么呢?因为以太坊2.0只是单个分片的区块链.
编者按:本文来自十八铺路,作者:广庚,星球日报经授权发布。我这个年纪,大多喜欢Beyond的歌,其中我唱最好的,莫过于《农民》:“忘掉远方是否可有出路忘掉夜里月黑风高踏雪过山双脚虽渐老但靠两手一.
编者按:本文来自蜂巢财经News,作者:凯尔,Odaily星球日报经授权转载。赶潮DeFi,Uniswap的波场版Justswap迎来首秀.
编者按:本文来自蜂巢财经News,作者:JXkin,Odaily星球日报经授权转载。主打「链上聚合收益」功能的DeFi协议Yearn.Finance推出不到一个月,就遭遇了轮番「分叉」,市场上接.