近年来,数字钱包安全事件频发。
2019年11月19日,Ars Technica报道称两个加密货币钱包数据遭泄露,220万账户信息被盗。安全研究员Troy Hunt证实,被盗数据来自加密货币钱包GateHub和RuneScape机器人提供商EpicBot的账户。
这已经不是Gatehub第一次遭遇数据泄露了。据报道,去年6月,黑客入侵了大约100 个XRP Ledger钱包,导致近1000万美元的资金被盗。
2019年3月29日,Bithumb失窃事件闹得沸沸扬扬。据猜测,这次事件起因为Bithumb拥有的g4ydomrxhege帐户的私钥被黑客盗取。
随即,黑客将窃取的资金分散到各个交易所,包括火币,HitBTC,WB和EXmo。根据非官方数据和用户估计,Bithumb遭受的损失高达300万个EOS币(约1300万美元)和2000万个XRP币(约600万美元)以上。
由于数字货币的匿名性及去中心化,导致被盗资产在一定程度上难以追回。因此,钱包的安全性至关重要。
2020年8月9日,CertiK的安全工程师在DEF CON区块链安全大会上发表了演讲主题为:Exploit Insecure Crypto Wallet(加密钱包漏洞利用与分析)的主题报告,分享了对于加密钱包安全的见解。
加密钱包是一种帮助用户管理帐户和简化交易过程的应用程序。
有些区块链项目发布加密钱包应用程序来支持本链的发展——比如用于CertiK Chain的Deepwallet。
此外,还有像Shapeshift这样的公司,其构建了支持不同区块链协议的钱包。
从安全的角度来看,加密钱包最需重视的问题是防止攻击者窃取用户钱包的助记词和私钥等信息。
近一年来,CertiK技术团队对多个加密钱包进行了测试和研究,并在此分享针对基于软件不同类型的加密钱包进行安全评估的方法及流程。
加密钱包基础审计清单
要对一个应用程序进行评估,首先需要了解其工作原理→代码实现是否遵循最佳安全标准→如何对安全性不足的部分进行修正及提高。
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)来保存重要数字货币。除此之外,需要聘请专业的安全团队进行网络层面的测试,并通过远程模拟攻击来寻找漏洞。
从我的理解而言,区块链是一种“共识”实现技术,通过区块链可以记录网际间所有的交易,供区块链的用户见证实现“共识”,且链上信息内容“不可篡改”。而这种“不可篡改”性是通过系统内多个副本的存在增加了内容被恶意篡改的成本。以比特币系统而言,下图中的所有亮点代表一套内容一致的账本。因此,当所有的记录得到公示,就解决了现实生活中的“两表不可测”问题。两表不可测的原因是没有中心,两表数值各异观者无从可知。但中心不是必须,当存在多只表,且多数指针指向一个时间,少数服从多数,观者也就心知肚明。所以区块链要解决的一个问题就是“少数服从多数”,少数的存在有可能是数据生成的错误或者是恶意篡改的内容。也就是说你要篡改成功,就必须要改变系统中51%的副本[ 即51%攻击],由少数成为多数。可想而知,篡改成本从技术难度、时间消耗、人员使用上都是巨大的。同时,区块链的另一个关键结合,是同智能合约的结合。通过程序执行合约,因为前者已经做到了合约内容的“原汁原味”,后者成为“观察者”用机器执行杜绝了合约双方的违约和执行中断。金融活动从最早的支付到金融衍生品的高度发展,背后都是一个个合约的签订和执行。同时各种金融创新绝大多数也是保证合约的执行和违约偿付。如果合约的达成变得扁平且执行贯彻,那么整个流程将更为简洁和高效,这便是区块链亦将提出就被金融领域重视的一个前提。
区块链是一种“共识”实现技术,通过区块链可以记录网际间所有的交易,供区块链的用户见证实现“共识”,且链上信息内容“不可篡改”。而这种“不可篡改”性是通过系统内多个副本的存在增加了内容被恶意篡改的成本。“区块链不是一个隐私解决方案。它是一个验证解决方案。了解这一点非常重要。区块链完全可以与其他技术组合,创造出各种系统,帮助用户更好地管理他们的数据,但是这些系统不能阻止数据泄露。”区块链技术可以解决身份黑客袭击问题,因为如果你的身份由一个私钥控制,而你自己保存着那把私钥,那么就没有方法去黑客你的身份,或者至少与传统数据库系统相比,袭击发生的可能性很低”。区块链都基于一种机制,而区块链上的信息是不可改变的。“区块链的最大价值之一是你不能以管理员身份随意改变价值,没人控制区块链,这是短期的。”从技术上来讲,单独的区块链也许不会成为数据黑客攻击和身份窃取的解决方案,但它依然是个人信息安全的一大技术飞跃,信息安全从网络空间变为常规。
区块链技术将如何影响制造业
谈到区块链,很多人都是云里雾外的。不过,它已经成为各大新闻门户的头条,并在金融领域崭露头角。作为一种分布式记帐技术,区块链正在改变金融业,而且它也有可能彻底改变其他行业。
区块链具有去中心化的特点,不依赖于第三方公证机构,任何一个分布式节点发生故障都不会影响到系统整体工作,且它具有不可私自修改、造假等优点,成为一种全新的数据存储和记帐模式。
众所周知,比特币的出现改变了许多人处理财务的方式,不过这只是众多加密货币中的一种,比特币实际是区块链技术的一种体现。区块链技术允许比特币所有者在没有银行即中间人的情况下安全完成交易,这种方式带来了极大的好处。现在,其它行业也开始意识到区块链的作用,在制造领域它有助于实现工业4.0模式。
工业4.0也称作第四次工业革命,是一场数字化革命,其主要目的是推动虚拟世界与物理世界的连接,例如通过数字化双胞胎将工厂设备与计算机里的虚拟模型连接,实现高度可视化生产。而区块链可以促进这种联接,使人类和机器更容易连接和相互理解。
那么,对于制造业来说,区块链能产生什么样的价值?这种分布式数据存储技术又将带来什么影响?
降低制造业的成本
由于区块链是一个无法改变的点对点的数据储存系统,它可以确保数据不会因某个节点故障而丢失。所以,当制造商将重要文件通过区块链技术进行传输和保存时,就不用担心中途会丢失。当文档共享时,系统会重新创建一个块,并加到以前的块上,以形成易于跟踪的链。每个人都可以看到信息的去向,这将改善供应链的可追溯性。
由于制造业的供应链往往是分布在全球各地,且他们发货交易处于不同的时间阶段,这样会造成产品的研发、制造和交付过程的每个组件难以被跟踪。那么通过区块链可以创建更智能、更安全的供应链,因为它提供了实时可见的可靠路径。
透明的实时供应链系统可以使制造商能够快速检测并解决突发问题,无论是产品错误还是安全漏洞,都可以通过区块链找出问题原因,这样可以减少产品召回的可能性,从而进一步降低产品制造服务的成本。
防止数据操纵和篡改
随着数字化和工业物联网的发展,制造业已经成为黑客攻击的第二大目标。所以,在现代制造业中,网络攻击显然已经成为一种常见的威胁。区块链提供了一种创新的方法来提高网络安全和保护组织免受网络攻击,由于区块链采用了全新的方法来存储信息,可以防止数据操纵和篡改,进一步提升了数据的安全性。
区块链技术可以看到文档和流程链,供应链合作伙伴可以在任何阶段检查产品和流程的真实性。而且每一个交易都可以进行审计和跟踪,黑客想要攻击分布式网络比传统的集中式网络要难得多,因为分布式网络攻击单个节点是没有意义的,除非全部节点都入侵才能修改数据。每一次数据存储或插入时都会创建一个新的块,当黑客入侵某个区块时,也会创建新的区块,并容易给追踪到。
自主性机器维护保养
工业4.0时代将大量使用先进的自动化设备、传感器和执行器,这些机器的维护将是一项艰巨的任务,工厂管理者可能需要掌握更先进的技术来满足维护设备的要求。还有,如果是一数量的设备,维护起来是具有挑战性。
有些工厂正在尝试新的方法来维护设备,例如基于状态的维护、预测性维护等,利用人工智能技术自动诊断,并在发现问题时提醒员工维护,从而减少昂贵停机时间。在这个过程,区块链可以使机器更加自主,当机器在损坏之前,可以自动下单更换零部件,制造商和零件供应商之间通过区块链紧密连接。
目前区块链在制造业的应用范围并不是很明确,不过,区块链确实有可以简化企业和保护供应链中的许多流程,最终使企业、供应商和客户都受益。
让我们假设村民老王和小李两个人。老王从小李那里借了一些钱,小李把它写在一张由双方共同签名的借条。几天后,老王否认存在借钱这一回事,并声称小李伪造了这张纸。小李百口莫辩,因为他发现很难证明老王实际上欠他钱。
在此示例中,老王和小李是两个节点。
现在假设相同的情景,村里有很多对人互相交易。每一对的唯一证据就是借条。如果有一方赖掉,就很难办。看到这个场景,村长想出了一个解决方案。他建议为整个村使用一个共同的笔记本,把交易都记在上面。由于村长德高望重,村民一致决定由村长保管这个重要的交易本。每次交易时,村民都到村长家,让村长见证并记录,每一次交易都写入笔记本,然后安全地保存。那个笔记本可以称为数据库。
由于这个笔记本至关重要,村长把锁在保险柜里。但是,这里总存在一些问题。有时候,村长会不小心把墨水洒在纸上,使部分交易记录难以辨认,这叫单点故障。小偷知道村长家的保险柜有一本重要的笔记本,费尽心思去偷,这叫黑客入侵。
直到有一天,村长的儿子欠了别人很多钱,于是村长偷偷地删除儿子的欠款条目。这样,村长的儿子就“不欠钱”了。
当村民知道这件事后,他们开始质疑村长的公平权威性。于是有个人提出新的主意:
废除村长的权力,这叫去中心化。让所有村民各自保留一个笔记本,交易记录复制并分散开了,这叫分布式数据库。因此,如果村里有n个人,则有n个笔记本,也就是n个节点。每次在任何两个人之间进行交易时,村里的所有人都聚集在一起并在各自的笔记本中记录。并且没有一个人能一手遮天。这叫 权力下放。
他们还决定永远不会从笔记本中删除已提及的交易,这是不可逆转性。例如,老王之前借了小李一笔钱,但转眼间他又想退还这笔钱,那么交易本不会删除之前的借钱记录,而是新写入一个还钱记录,这样就有两条记录。
接下来让我们尝试攻破这一规则。假如我们贿赂老王,让他更改他的笔记本的记录?不可行,因为下次村民集会时,发现老王的笔记本写的东西和其他所有人不一样,因此村民注意到老王可能正在进行不可描述的交易,决定废除老王的交易记录,并把老王踢出组织。
如果尝试贿赂所有村民呢?代价太大了。
这个模式的特点在于,贪婪的人需要付出很多代价去攻击规则。他会发现遵守规则更有利可图。
村里一个聪明的孩子建议,将每一笔交易数据称为“块”,并按时间顺序串成“链”,即称为区块链。
隐私保护手段可以分为三类:
一是对交易信息的隐私保护,对交易的发送者、交易接受者以及交易金额的隐私保护,有混币、环签名和机密交易等。
二是对智能合约的隐私保护,针对合约数据的保护方案,包含零知识证明、多方安全计算、同态加密等。
三是对链上数据的隐私保护,主要有账本隔离、私有数据和数据加密授权访问等解决方案。
拓展资料:
一、区块链加密算法隔离身份信息与交易数据
1、区块链上的交易数据,包括交易地址、金额、交易时间等,都公开透明可查询。但是,交易地址对应的所用户身份,是匿名的。通过区块链加密算法,实现用户身份和用户交易数据的分离。在数据保存到区块链上之前,可以将用户的身份信息进行哈希计算,得到的哈希值作为该用户的唯一标识,链上保存用户的哈希值而非真实身份数据信息,用户的交易数据和哈希值进行捆绑,而不是和用户身份信息进行捆绑。
2、由此,用户产生的数据是真实的,而使用这些数据做研究、分析时,由于区块链的不可逆性,所有人不能通过哈希值还原注册用户的姓名、电话、邮箱等隐私数据,起到了保护隐私的作用。
二、区块链“加密存储+分布式存储”
加密存储,意味着访问数据必须提供私钥,相比于普通密码,私钥的安全性更高,几乎无法被暴力破解。分布式存储,去中心化的特性在一定程度上降低了数据全部被泄漏的风险,而中心化的数据库存储,一旦数据库被黑客攻击入侵,数据很容易被全部盗走。通过“加密存储+分布式存储”能够更好地保护用户的数据隐私。
三、区块链共识机制预防个体风险
共识机制是区块链节点就区块信息达成全网一致共识的机制,可以保障最新区块被准确添加至区块链、节点存储的区块链信息一致不分叉,可以抵御恶意攻击。区块链的价值之一在于对数据的共识治理,即所有用户对于上链的数据拥有平等的管理权限,因此首先从操作上杜绝了个体犯错的风险。通过区块链的全网共识解决数据去中心化,并且可以利用零知识证明解决验证的问题,实现在公开的去中心化系统中使用用户隐私数据的场景,在满足互联网平台需求的同时,也使部分数据仍然只掌握在用户手中。
四、区块链零知识证明
零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的,即证明者既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄漏出去,即给外界的“知识”为“零”。应用零知识证明技术,可以在密文情况下实现数据的关联关系验证,在保障数据隐私的同时实现数据共享。
请滑动进行人机验证是什么意思 就是让你按住滑动检验是否是你本人由于计算机网络在某个时点上不够稳定,出现异常,谷歌为了验证到底是真人在操作还是计算机自动程序的操作而进行验证,一般只要通过了人机验证即可正...
封神演义中封神大战的进程是否有人操纵? 封神演义中,封神大战其实一直在天庭的至尊昊天上帝的掌控之中。谈及《封神演义》这部神魔小说,这可是我国数百年文坛中,名声最响亮,影响力最大的通俗文学之一。除了“四...
黑客怎么来的 黑客是对人的称呼,最初的由来是 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与黑客分家。黑客队伍在...
亏求,心动女友的破解版 女人心 海底针 作为我们男人 别去期望自己能想透那些女生的想法 有的时候 女孩的想法笨的让你没想法 而且她们还以为自己的思路很正确 这时候 要慢慢的引导 不过我们男生 思路必须...
office for mac 2016破解补丁怎么用 我可以给您mac破解补丁附加破解教程点击下载office2016mac中文破解版officeformac破解教程1、当你安装完成准备使用的时候,会...
韩版开心农场求破解下载地址 你好,为方便大多人想玩手机游戏,但又舍不的花钱的状态下,我向大家推荐个好网站,无病毒,在那里你可以下载你所需要的游戏,全是破解的,如果你在网站上没有找到你所需要的游戏,你可...