手机:15966888888
电话:010-8888999
邮箱:imtoken@mail.com
地址:青岛润科翔电气有限公司
imtoken钱包是安卓平台上面那种非常流行的不由交易所控制的钱包, 每一次遇到大的版本更新的时候, 都必须把所有的测试流程再完...
24小时咨询热线:4006666888
产品详情
imtoken钱包是安卓平台上面那种非常流行的不由交易所控制的钱包, 每一次遇到大的版本更新的时候, 都必须把所有的测试流程再完整地走一遍。
我在进行钱包安全测试这个方向的工作上花费了五六年以上的时间, 现在把在具体的操作过程当中反复出现的一些误区以及那些非常重要的验证关键点进行了详细的整理和总结, 希望这样做可以为你节省掉一些不必要的弯路时间。
做钱包测试这个核心的事儿, 并不是说你把各个功能点都运行得通顺了就可以, 而是要重点看私钥隔离和签名链路这个东西是不是形成了一个完整的闭环。
所以每次进行版本升级之后的时候, 我都会固定地使用一笔数额比较小的TRC20代币来走完整个的流程过程, 具体的步骤包括发起转账的行为、接收代币的动作、查看nonce数值, 以及最后确认交易哈希已经上链的情况。
在这个过程中, 需要重点去密切注意签名字段有没有受到中间这些环节的影响而发生被篡改的现象, 如果哪怕只是发生了一个字节的偏移情况的话, 那么也是必须要通过复现的方式来最终定位到具体是哪一处函数代码的问题所在。
在冷启动的这个路径上面,特别容易发生漏掉测试的情况。因为关于锁屏恢复、指纹解锁以及助记词导入这三条入口来说, 它们在底层的逻辑方面完全是完全不同的存在。所以在进行回归测试的时候, 必须对每一条都单独地进行运行和检查, 不能够为了图省事, 仅仅只去走其中的一条。
进行安全验证的时候, 不能只是按照正常的流程去走一下, 还必须要刻意地构造出一些异常情况出来以进行测试, 当处于网络信号较弱的情况下时, 把断点卡在签名确认的那一步上面, 去观察钱包软件会不会把半签名的交易记录直接发送出去, 还有时候需要快速双击发送按钮几下, 去看幂等校验这个功能有没有兜底住, 从而起到防止同一笔交易被重复提交到区块链上去的作用。
在多账户完成切换之后, 余额出现错误的现象也是非常容易造成失败的情况。我个人通常会建立五个子账户, 然后在每一个账户里放置不同的代币, 在来回进行切换操作之后, 会按照具体的细节与链式网络上实际存在的余额信息进行逐笔对照工作, 即使存在一分钱的差异也一定要追查到底。

关于私钥链路验证还有幂等兜底这两项事情, 永远都不可能从测试清单里把它删掉。
相关推荐
鲁公安备11017697号 Powered:Z-BlogPHP Thems:GebiLaoli