.:. 草榴社區 » 技術討論區 » [Gentle Violence]区块链钱包漏洞可窃取加密货币
--> 本頁主題: [Gentle Violence]区块链钱包漏洞可窃取加密货币 字體大小 寬屏顯示 只看樓主 最新點評 熱門評論 時間順序
温柔施暴


級別:精靈王 ( 12 )
發帖:1106
威望:190 點
金錢:414 USD
貢獻:58888 點
註冊:2007-11-20


[Gentle Violence]区块链钱包漏洞可窃取加密货币



Check Point 研究人员在 Everscale 区块链钱包中发现安全漏洞,可以窃取用户加密货币。
Ever Surf
Ever Surf 是一个跨平台的消息应用,一个区块链浏览器,也是 Everscale 区块链的加密货币钱包。使用 React Native 开发框架编写,同时上传到了 Google Play Market 和 Apple Store 应用市场。同时,还有一个可运行在任意平台的 Ever Surf web 版本。

 


图 1 Ever Surf web 版
漏洞分析
Surf 钱包中用于对交易进行签名的密钥只保存在用户设备上。所有对区块链的操作都是在客户端来实现的。因此,与其他非托管钱包类似,无需注册过程。
用户首次运行应用时,会被建议创建一个新的钱包。Surf 会生成一个 seed 词组和公私钥对。此外,用户会被要求创建一个 6 位数字的 PIN 码:

 


图 2 Ever Surf 中的 PIN 码设置
然后该 PIN 码被用于登入应用和确认交易。Surf 有应对暴力破解 PIN 码的保护机制:

 


图 3 Ever Surf 预防暴力破解 PIN 码
即使没有这类保护机制,创建的密钥和 seed 词组都保存在浏览器的本地存储中。本地存储是使用 localstorage 特征从 JS 访问的 key-value 存储,比如:
//   Store   value   on   the   browser   beyond   the   duration   of   the   session localStorage.setItem ( 'key',   'value' ) ; //   Retrieve   value   ( persists   even   after   closing   and   re-opening   the   browser ) alert ( localStorage.getItem ( 'key' ) ) ;
Surf 以下面的格式将密钥和 seed 词组保存在本地存储的 "surf.ton.wallet" key 中:

 


图 4 保存在浏览器 localStorage 中的加密的钱包数据
本地存储在 web 浏览器中并不是受保护的。比如,在 Firefox 中本地存储以非加密的 SQLite 数据库的形式存储:
MozillaFirefoxProfiles{profile_name}webappstore.sqlite
Chrome 将 local storage 以非加密的 levelDB 数据库的形式存储:
GoogleChromeUser   DataDefaultLocal   Storageleveldb
也就是可以通过物理或恶意软件访问用户计算机的用户就可以获得这些数据。
此外,本地存储还可以被浏览器扩展访问,然后浏览器扩展可以泄露保存的数据。研究人员创建了一个简单的 Chrome web 扩展实现了该功能:
alert ( localStorage.getItem ( "surf.ton.wallet" ) ) ;
安装该扩展后,打开 Surf 网站后,就可以看到包含加密的 keystone 的消息:

 


图 5 使用浏览器扩展从 localStorage 中提取加密的钱包数据
因为控制用户钱包的数据是保存在用户计算机上的,因此对用户资金的唯一保护就是强加密。
Keystore 加密
Surf 应用会在用户输入正确 PIN 码后加密 seed 词语并向用户显示:

 


图 6 Surf 要求用户输入 PIN 码
研究人员分析发现 askForPassword 函数会被调用,并接收加密的 keystore。

 


图 7 负责取回 seed 词语的函数
askForPassword 函数会调用 validatePassword 函数来执行 PIN 码验证。

 


图 8 askForPassword 函数读取和验证 PIN 码
最重要的动作是 PIN 码验证。通过调用 deriveKeyFromPasswordAndSalt 函数,Surf 会生成派生密钥,用于解密 keystore。然后在 isDerivedKeyCorrect 函数中使用 nacl_secret_box_open 执行解密过程:
图 9    Surf 使用 nacl_secret_box_open 解密密钥
在 deriveKeyFromPasswordAndSalt 函数中,Surf 会使用使用 Scrypt 密钥派生函数从 PIN 码中派生出解密密钥:

 


图 10 – Surf 派生 keystore 解密密钥
攻击场景
Checkpoint 研究人员重新实现了 nodeJS 的密钥派生和 keystore 解密,并对 PIN 码执行了暴力破解攻击。在 4 核 Intel i7 处理器上每秒钟可以破解 95 个密码。虽然效率不高,但是足以对 6 位 PIN 码发起攻击了。在最坏情况下,检查 10^6 个可能的表中只需要 175 分钟。
研究人员在测试中,在 Surf 中创建了一个新的密钥,并从浏览器的本地存储上复制出了 keystore:
{      "encSeed":   {          "encStr":"6rjkbh88WXkrJWl4os3cjRzvZkQGlnV39U3YvLYUrM7yzf6h79XxXX/VziNde2bkPeSnJZ11Yi4T8CFgPJMyI1W+EN0Yzw+FDdtTq5gaKHjk5nF60CSHZ4qKXObIQ7zBbped",          "nonce":"2Tdr9FFP0RcpjecwcS8XtcC5M2/FRY+I"      } }
攻击过程只花费了 38 分钟。最后成功获得了派生密钥,并解密了 seed 词组,可以用于恢复另一个设备上的密钥。

 


图 11 PIN 码暴力破解结果
漏洞修复
Checkpoint 研究人员将该漏洞提交给了 Ever Surf 开发者,开发团队通过发布桌面版的方式修复了该漏洞。目前,该 web 版本只用于开发用途。账户的 seed 词组不再 Ever Surf web 版中使用。

赞(5)
TOP Posted:2022-05-03 16:03 樓主 引用 | 發表評論
来嘛来种菜


級別:俠客 ( 9 )
發帖:1274
威望:142 點
金錢:44266 USD
貢獻:0 點
註冊:2021-12-24


加密货币再安全,钱包不安全也不行


點評

    TOP Posted:2022-05-03 16:06 #1樓 引用 | 點評
    日松梅雪


    級別:聖騎士 ( 11 )
    發帖:1000
    威望:101 點
    金錢:1116 USD
    貢獻:40000 點
    註冊:2022-02-22

    谢谢分享勿忘提肛
    TOP Posted:2022-05-03 16:07 #2樓 引用 | 點評
    二硫碘化钾


    級別:俠客 ( 9 )
    發帖:2899
    威望:290 點
    金錢:112 USD
    貢獻:0 點
    註冊:2022-01-07

    技术流。

    货币有,但是还不能交易。
    会有人偷吗
    TOP Posted:2022-05-03 16:08 #3樓 引用 | 點評
    中原拒绝


    級別:新手上路 ( 8 )
    發帖:225
    威望:33 點
    金錢:618 USD
    貢獻:0 點
    註冊:2022-04-09

    1024
    TOP Posted:2022-05-03 16:09 #4樓 引用 | 點評
    Aquapee


    級別:精靈王 ( 12 )
    發帖:3863
    威望:381 點
    金錢:359 USD
    貢獻:31314 點
    註冊:2021-12-26

    那岂不是说没就没了
    ------------------------
    V
    TOP Posted:2022-05-03 16:10 #5樓 引用 | 點評
    小石头真硬


    級別:聖騎士 ( 11 )
    發帖:3853
    威望:380 點
    金錢:32723 USD
    貢獻:11362 點
    註冊:2021-06-06

    感谢分享
    TOP Posted:2022-05-03 16:11 #6樓 引用 | 點評
    yiguo2015


    級別:新手上路 ( 8 )
    發帖:431
    威望:44 點
    金錢:1562 USD
    貢獻:0 點
    註冊:2015-04-17

    如果网络像阳光空气一样普及和坚不可摧 加密货币将会替代纸币成为最主要货币
    TOP Posted:2022-05-03 16:14 #7樓 引用 | 點評
    zengge


    級別:新手上路 ( 8 )
    發帖:573
    威望:50 點
    金錢:6878 USD
    貢獻:129 點
    註冊:2011-09-05

    感谢分享
    TOP Posted:2022-05-03 16:16 #8樓 引用 | 點評
    胡作非为777


    級別:俠客 ( 9 )
    發帖:990
    威望:100 點
    金錢:9850 USD
    貢獻:0 點
    註冊:2013-03-20

    1024感谢分享
    TOP Posted:2022-05-03 16:22 #9樓 引用 | 點評
    gaoshoulyd


    級別:騎士 ( 10 )
    發帖:2371
    威望:240 點
    金錢:12313 USD
    貢獻:6708 點
    註冊:2008-10-01

    感谢分享
    TOP Posted:2022-05-03 16:23 #10樓 引用 | 點評
    新建文件夾


    級別:新手上路 ( 8 )
    發帖:37
    威望:4 點
    金錢:43 USD
    貢獻:0 點
    註冊:2022-05-01


    1024
    TOP Posted:2022-05-03 16:30 #11樓 引用 | 點評
    深渊两腿之间


    級別:新手上路 ( 8 )
    發帖:924
    威望:93 點
    金錢:1473 USD
    貢獻:16 點
    註冊:2022-03-13

    谢谢分享
    TOP Posted:2022-05-03 16:32 #12樓 引用 | 點評
    qyshnll1


    級別:精靈王 ( 12 )
    發帖:5756
    威望:176 點
    金錢:407200 USD
    貢獻:217577 點
    註冊:2009-05-01

    虚拟的,可能会说没就没
    ------------------------
    Q
    TOP Posted:2022-05-03 16:33 #13樓 引用 | 點評
    游方道人


    級別:新手上路 ( 8 )
    發帖:842
    威望:85 點
    金錢:1647 USD
    貢獻:0 點
    註冊:2022-01-20

    1024
    TOP Posted:2022-05-03 16:43 #14樓 引用 | 點評
    黄离


    級別:精靈王 ( 12 )
    發帖:9293
    威望:1066 點
    金錢:29357 USD
    貢獻:22222 點
    註冊:2022-02-22

    貌似好深奥,感谢分享
    TOP Posted:2022-05-03 18:29 #15樓 引用 | 點評
    zhao502


    級別:聖騎士 ( 11 )
    發帖:4434
    威望:333 點
    金錢:224043463 USD
    貢獻:33333 點
    註冊:2010-03-14

    谢谢分享
    TOP Posted:2022-05-03 21:03 #16樓 引用 | 點評
    祝融峰


    級別:精靈王 ( 12 )
    發帖:12108
    威望:1214 點
    金錢:145 USD
    貢獻:4368 點
    註冊:2020-05-18


    论韭菜叶是怎么消失的
    TOP Posted:2022-05-03 22:21 #17樓 引用 | 點評
    佐佐木希


    級別:精靈王 ( 12 )
    發帖:1374
    威望:141 點
    金錢:634296609 USD
    貢獻:99999 點
    註冊:2009-07-25

    感谢分享
    TOP Posted:2022-05-03 22:40 #18樓 引用 | 點評
    公和玉


    級別:新手上路 ( 8 )
    發帖:742
    威望:75 點
    金錢:742 USD
    貢獻:0 點
    註冊:2022-04-02

    感谢作者的分享
    TOP Posted:2022-05-04 00:06 #19樓 引用 | 點評
    abc无识


    級別:新手上路 ( 8 )
    發帖:736
    威望:74 點
    金錢:741 USD
    貢獻:0 點
    註冊:2022-04-02

    勿忘提肛 感谢分享
    TOP Posted:2022-05-04 04:33 #20樓 引用 | 點評
    疯狂的搬运工


    級別:聖騎士 ( 11 )
    發帖:345
    威望:450 點
    金錢:10134 USD
    貢獻:25000 點
    註冊:2022-05-03

    1024
    TOP Posted:2022-05-04 05:43 #21樓 引用 | 點評
    诱尺


    級別:新手上路 ( 8 )
    發帖:820
    威望:83 點
    金錢:827 USD
    貢獻:0 點
    註冊:2022-04-05

    谢谢聚聚分享
    TOP Posted:2022-05-04 08:19 #22樓 引用 | 點評
    IOUGIRLS


    級別:新手上路 ( 8 )
    發帖:74
    威望:8 點
    金錢:86 USD
    貢獻:0 點
    註冊:2014-05-19


    人生何处不韭菜
    TOP Posted:2022-05-04 08:24 #23樓 引用 | 點評
    迷眼


    級別:新手上路 ( 8 )
    發帖:810
    威望:82 點
    金錢:825 USD
    貢獻:0 點
    註冊:2022-04-06

    内容精彩
    TOP Posted:2022-05-04 09:17 #24樓 引用 | 點評

    .:. 草榴社區 -> 技術討論區

    快速回帖 頂端
    內容
    HTML 代碼不可用

    使用簽名
    Wind Code自動轉換

    按 Ctrl+Enter 直接提交