以太坊清扫器盯上你了,如何预防与恢复资产

[复制链接]
查看8665 | 回复13 | 2022-1-7 02:34:26 | 显示全部楼层 |阅读模式
什么是清扫器4 M/ p4 C, g, C$ d# T$ b7 a

1 ]/ a! i' Y* h% e% ~" S2 Q清扫器是 sweeper 的直译,它主要工作在以太坊网络上(包括 EVM 兼容链,比如 BSC、Heco等),sweeper 持有一个私钥,这个私钥对应的钱包中有大量的 ERC20 通证,但是没有足够的 ETH 当 gas 费,所以无法直接从中转走 ERC20 通证。 为了从中取出价值连城的 ERC20 通证,你不得不往里面转 ETH,但有趣的是,一旦你往里面转 ETH,立刻会被 sweeper 卷走。
: g* q- a3 e, x$ v5 w  ?5 p这个泄漏私钥的账户看起来像是这样:7 ~0 k+ D' V9 W' u
9 R8 Y9 Y, s8 B1 r9 W7 M4 w
以太坊清扫器盯上你了,如何预防与恢复资产-1.jpg . l/ v- r' p) ?" M, [0 \, U8 v

; K" h3 ?* R* G8 W- Q9 l9 [这个私钥可能是一个黑客故意以看起来无意的方式暴露给你的,激发你的贪婪,让你试图从中取出资产。: |3 p; H  e1 |8 O6 e
也可能是由于你在参与一些空投时进入了钓鱼网站,它要求最终输入你的私钥,一旦这么做了,账户中的所有 ETH 会被瞬间转走,并为你挂上一个 sweeper。# \2 k4 ]; j" o: T, d" i; ^/ n7 f
一个 demo6 b; B. j/ I. `+ z' h' p
0 D% A. @) A1 [- o9 \+ \
在 Goerli 测试网络上(chainId 为 5,它是测试网络,因此你只需要到对应的 faucet 领取 token,即可测试),我设置了一个简单的 sweeper 去模拟你的困境,sweeper 会占用较多资源,我可能随时会关。如果你需要发起测试时,发现 sweeper 没工作,可以联系我开启。
5 f: Z! d  [( u1 L1 _4 V6 v$ U) m被盗私钥的地址:0x166d78FE7a9e1De11aF1ef8aE5919fbBf3E81245
' Z; p$ U- Q  e* C5 K0 {" V对应私钥就暂时不公布了,我可不想到时候你们使用我的解决方案来干掉我的 sweeper。$ N' f, u. A9 @! r5 f3 \8 n( F& a
模拟的 USDT 地址:0x4734C809Cd59C87753Ebe95B494C0056513ceF85 ,这上面有 1000 USDT 你可以尽你最大的努力将它取出来。+ m/ |% C% K; G9 h0 j! ?+ A6 D& A$ G
但你会发现,一旦你转 ETH 到该地址,所有的 ETH 都会被立刻转移到黑客的地址中,就像下图这样:
# D2 H; y7 B5 b6 f( A1 z8 h; t6 y* E# T  n
以太坊清扫器盯上你了,如何预防与恢复资产-2.jpg 7 K/ \( E9 R" B1 I' g
* ^) S6 L. \% t8 C& d% t3 B
工作原理/ x! i8 h8 W  o9 Y+ s  v; ^- ?. {

4 N3 @7 h( V) ~9 K$ X' {4 Q目前的 sweeper 主要基于以太坊的交易池(也称 txpool、mempool)发现你发起的交易与新块产生调用 eth.getBalance() 获取你的余额。
3 B% B7 ]% F: o5 O4 E! N5 C" X交易池中包含了所有未被包含进区块的交易,当你试图直接将 ETH 通过转账发送到被盗账户时,你的交易就会被送入交易池,时刻监听交易池的 sweeper 就能够发现你的行为。
: a7 z6 B& p" z  B
3 h$ w! W: b& [0 O6 Y$ T* X 以太坊清扫器盯上你了,如何预防与恢复资产-3.jpg ; e( ~6 x) H) ~4 w& z

8 ^- O  p& a/ g1 H" z9 L并等到你的交易被执行后,立刻发起新的交易,这个新的交易将你转入的 ETH 扣除掉 gas 费后的剩余数量转入到黑客的地址中。
8 |8 K" Z1 d* t5 x2 E  b9 N5 B2 q* H, p8 `
以太坊清扫器盯上你了,如何预防与恢复资产-4.jpg % X/ |' ~; O/ l1 |7 B% b
; W# ]8 _- W2 m/ S  u4 U- u
然而根据公共交易池获取信息并不总是有效,很多方法可以规避交易进入交易池。
4 c2 r2 [5 A% y  n+ O0 `5 u0 s

    ; E+ N  Q- {( |+ ?
  • 选择私有交易池。如果其中没有黑客,那么你的交易不会被黑客发现' }& S6 l% p, c0 \5 b2 e
  • 选择内部交易(internal transaction)。简单的理解就是合约内部的逻辑调用,就是内部交易。对于外部来说,他们只能发现你调用了合约,无法获知合约内部具体的执行情况。例如,为了避免进入交易池,你只要对一个合约发起交易,执行合约的代码,而合约去将 ETH 转入你的被盗钱包即可。
    8 a8 w( ?7 v0 p5 c) P
sweeper 可能没有足够的成本去成为一个私有交易池的参与方,但有的 sweeper 会对内部交易进行预防。因为不论一笔交易会不会进入公共交易池,交易最终出现在链上的时候,一定会有状态的改变。也就是说通过内部交易转入的 ETH,会在新块产生时,能够被 sweeper 通过调用 eth.getBalance() 发现。, G! a2 |. R$ Y  @2 p  k7 c9 t
这是简单的工作原理,实际的 sweeper 拥有很复杂的逻辑,会让黑客的收益最大化,让你的损失最大化。更深的细节就不过多讲解,避免出现更加棘手的 sweeper 不是吗?
, X. [# D  `7 z9 M8 }: w如何恢复你的资产
6 w& |, C. R! A0 c' U  y# y$ S2 X7 P  |) i' h
讲了原理,就容易理解如何应对它们了。6 p$ o: {7 ^9 Q' x
如果你的私钥已经泄漏,那么目前最有效的方案是通过私有交易池进行交易,而且是进行“批处理”交易,也就是说你可以将一批交易提交到私有交易池中,这个交易池中的矿工为你做以下担保:2 y" {( c! S! D
    7 N& C7 u; Q" Y% w: J7 R
  • 如果决定在区块中包含你的交易,就一定将你的一批交易全部包含
    ! q  w/ q* Q* z
  • 你的一批交易全被包含进区块链后,才会广播到公共网络中
    7 B+ G% \* d( P/ E/ P
而矿工是根据利益关系做决定的,你需要更多的 gas price 支付,才能让矿工愿意打包你的交易,否则它为什么不直接打包公共交易池中的交易呢?: I/ o& e5 l1 e6 L
flashbots 是能够做到以上几点,但它目前只在以太坊主网与 Goerli 测试网络上工作,所以如果你的资产不在以太坊主网,将无法通过这种方式找回。
  n5 z" _' ~' [) V1 Z9 U如何预防
# d' r9 I' q) o( P9 z: A, A' }" x% l8 h: v; d
    8 }3 Y5 J" ]0 i" m( r4 m
  • 不要随意将你的私钥泄漏,在任何时间,任何地点. i$ R2 u9 x+ L# z- D% A! J
  • 考虑使用硬件钱包
    5 b3 l) I, N! `% N# R, F1 \# v
  • 有远见的批准一个“安全”的账户去能够转移你的 ERC20 通证,这样安全账户可以直接通过 transferFrom 转移你被盗账户中的 ERC20 通证! l% C; e3 B1 ~9 I* ^: `2 ^6 h
  • 参与空头、活动等行为的账户与拥有大量存款的账户独立开
    1 E' F; D; j6 |9 q' A; P
纬道 | 2022-1-7 11:01:26 | 显示全部楼层
大佬讲的很棒
yfzghls | 2022-1-7 18:10:03 | 显示全部楼层
请问下,进入过诈骗网站但是没有输入私钥是不是就代表是安全的?
旅游的专家铣 | 2022-1-8 02:36:13 | 显示全部楼层
我对安全方面的研究没有深入哈,不过没有以任何形式泄露过的话,应该是没问题的。如果有大量的资金建议还是花钱买个硬件钱包
悦颜轩柯 | 2022-1-8 13:08:28 | 显示全部楼层
谢谢你
虽然不能转走  但可以把私钥到进自己手机  用来装逼啊  哈哈
红字捍 | 2022-1-9 02:07:44 | 显示全部楼层
意外得到这个私钥倒是可以[思考]
路79 | 2022-1-9 12:12:32 | 显示全部楼层
你敢泄漏私钥,不管你用什么方式都不能阻挡我构建2笔tx 把你所有余额转走,不管你是打算调整gas outbid我,还是在私有矿工池插监控。还有你的截图两笔交易都掉块了,我第一笔转入和用你私钥给自己转,做一个bundle,你怎么预防?
摩羯座羯o | 2022-1-9 23:20:51 | 显示全部楼层
所以这也是 bundle 好用的地方,不过现在并不是所有网络都支持 bundle
阳光刺痛了眼 | 2022-1-10 09:06:20 | 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

254

金钱

0

收听

0

听众
性别

新手上路

金钱
254 元