スマートコントラクトで初期段階のマルウェア(ステージャー?)やC2サーバを指定するマルウェアが確認されている。
スマートコントラクトってブロックチェーン上で使われるアレでしょ?ってくらいの理解。
これをデータ配信、もしくはC2サーバリストとして使用するなんて驚き。
ぶっちゃけ細かいところまで理解しきれていないので、以下は現在の個人的な認識に基づいた記述。
EtherHiding
スマートコントラクトを攻撃チェーンの基盤として使用する手法を「EtherHiding」というらしい。(Ether系が攻撃に使われたから?)
スマートコントラクトでは関数や変数を定義できて、それらを外部から利用することも可能。
スマートコントラクトを更新することで、既に活動・潜伏しているマルウェアのコードを書き換えずに機能の更新が可能。スマートコントラクトの関数をアップデートすれば、潜伏しているマルウェアの機能が更新される。スマートコントラクトの変数をアップデートすれば、まだブロックされていない新しいC2サーバにアクセスできる。
えッ(゚Д゚;)凄くね!? ヤバすぎでは?
スマートコントラクトを介してブロックチェーンに保存された情報は削除できない
ブロックチェーンに書き込まれた情報は削除できないので、一旦見つかったら追跡され続けてしまい手法が暴かれる。
しかし逆を言えば、削除できないというのはマルウェアやC2サーバリストの配信を止めることができないということ。
まぁでも、スマートコントラクトが攻撃に使われてるなんて、マルウェアの詳細解析しないと分からないから、マルウェアの内部解析がされないならとんでもなく見つかりにくよなぁ。
スマートコントラクトが攻撃に使われるという意識をどこかに持っておかなければいけない。
参考
・Smargaft Harnesses EtherHiding for Stealthy C2 Hosting
https://blog.xlab.qianxin.com/smargaft_abusing_binance-smart-contracts_en/
・Smart Contract Scams | Ethereum Drainers Pose as Trading Bots to Steal Crypto | SentinelOne
https://www.sentinelone.com/labs/smart-contract-scams-ethereum-drainers-pose-as-trading-bots-to-steal-crypto/
・DPRK Adopts EtherHiding: Nation-State Malware Hiding on Blockchains | Google Cloud Blog
https://cloud.google.com/blog/topics/threat-intelligence/dprk-adopts-etherhiding?hl=en
・New Group on the Block: UNC5142 Leverages EtherHiding to Distribute Malware | Google Cloud Blog
https://cloud.google.com/blog/topics/threat-intelligence/unc5142-etherhiding-distribute-malware?hl=en
・SharkStealer Implements EtherHiding to Manage and Hide C2 Channel Traffic
https://cyberpress.org/sharkstealer-etherhiding/
・SleepyDuck malware invades Cursor through Open VSX | Secure Annex
https://secureannex.com/blog/sleepyduck-malware/
・The Tsundere botnet uses the Ethereum blockchain to infect its targets | Securelist
https://securelist.com/tsundere-node-js-botnet-uses-ethereum-blockchain/117979/
・EtherHiding: Fake CAPTCHAs, Click-Fix Lures, and Blockchain-Backed Payload Delivery
https://censys.com/blog/etherhiding-fake-captchas-click-fix-lures-blockchain-backed-payload-delivery