2月19日(土)、OpenSeaユーザーの間で複数の犠牲者を出すハッキングが発生しました。窃盗犯は、フィッシング操作により、NFT(non-fungible token)を無料で盗むことができました。何が起こったのかを見てみましょう。
A new hack for OpenSea
前回のハッキングからわずか1ヶ月で、ノンファンジブル・トークン(NFT)プラットフォームのOpenSeaが再び話題になっています。今回は関係ありませんが、土曜日の夜、何人かのユーザーがNFTを無料で配布されるという不愉快な思いをしました。
OpenSea社のCEOであるDevin Finzer氏によると、マーケットプレイスの32人のユーザーが、スマートコントラクトによる貴重なコレクションの譲渡を許可したことで、詐欺に遭ったとのことです。使われたフィッシングの方法はまだ不明ですが、ここでの欠陥は人間のものであり、プラットフォームの責任ではありません :
我々が知る限りでは、これはフィッシング攻撃です。OpenSeaのサイトとはつながっていないと考えています。これまでに32人のユーザーが攻撃者からの悪意のあるペイロードに署名し、一部のNFTが盗まれたようです。
– Devin Finzer (dfinzer.eth) (@dfinzer) 2022年2月20日
この作戦を成功させるために、ハッカーは約1ヶ月前にスマートコントラクトを展開しました。これにより、将来の被害者が知らないうちに「半取引」にサインする時間ができ、泥棒は戦利品を無料で受け取ることができるのです。窃盗犯は、最終的に自分の好きなタイミングで「売上」を検証すればよかったので、1回の取引で複数のNFTを回収することができたのです。
より専門的な知識をお持ちの方には、このスレッドでプロセスを詳しく説明しています:
OSの件で混乱があったので。
攻撃者は人々に有効なワイバーンオーダーの半分に署名させ、オーダーはターゲット(攻撃者の契約)とコールデータ以外は基本的に空で、攻撃者はオーダーの残り半分に署名した。
– Neso (@Nesotual) 2022年2月20日
作戦を成功させたハッカーは、獲物を売ってトルネード・キャッシュ・ブレンダーで全てをロンダリングするだけだった。そのため、訴訟は170万ドルにもなります。
OpenSeaでは、今回のハッキングに関連したNFTの一つをランダムに取り上げてみると、確かに履歴を見ると、犯人のアドレスに無償で最初の取引が行われ、1時間後に13.5ETHで転売されていることがわかります。
人間はやはり一番の脆弱性
皮肉なことに、これはプラットフォームのNFTが新しいスマートコントラクトに移行する24時間前に行われます。今回の契約は、市場価格を大幅に下回る価格での販売を可能にしたOpenSeaの最新ハッキングを修正したものです。
犯人は誰なのかという憶測もありますが、あくまでも憶測であり、本稿執筆時点では明確なことは言えません。
いずれにしても、今回のハッキングは、私たちが署名した取引や与えた権限について警戒することがいかに必要であるかを思い出させてくれます。ソーシャルネットワーク上には、偽のプロジェクトアカウントが数多く存在し、フィッシングメールやプライベートメッセージもあります。非常に多くの場合、最初の欠陥は人間自身です。誰もがミスをしないわけではありません。だからこそ、肉体的・精神的な状態が100%でないときには、「急いで」取引をしたり、資産を操作したりしないことが望ましいのです。