インターネット技術は急速に進化しています。World Wide Web(WWW または Web)は今や、一般に「Web 3.0」と呼ばれるステージへ移行しています。「Web 3.0」には明確な定義がなく、Google で検索すれば多くの解釈が見つかります。ただし一般論として、Web 3.0 という用語が生まれた主な背景には暗号通貨、ブロックチェーン技術、分散型アプリケーション、分散型ファイルストレージがあります。
Web 3.0 に含まれる先端技術の一つは、「メタバース」と呼ばれる没入型 3D 体験です。メタバースとは仮想世界であり、この中では探索や買い物、ゲームをはじめ、遠距離の友人との交流や、コンサートやビジネス会議への出席などが可能です。メタバースは次世代の形態のソーシャルメディアだと言えます。メタバースの ID は、接続に使う暗号通貨ウォレットと直接紐付けられています。この暗号通貨ウォレットには、すべてのデジタル資産(収集品、暗号通貨など)に加え、仮想世界での履歴が保存されます。暗号通貨のユーザーは今や世界中で 3 億人以上に達しており、時価総額は数兆ドルにも及ぶため、サイバー犯罪者が Web 3.0 空間に引き寄せられているのも不思議ではありません。
Web 3.0 には、多くの固有の課題とセキュリティリスクが伴います。Web 3.0 における脅威の一部は、古くからあるフィッシング攻撃(ソーシャルエンジニアリング)の進化形です。その目的は、ユーザーを暗号通貨ウォレットのコンテンツから切り離すことにあります。他のセキュリティ課題は、Web 3.0 を実現する特定のテクノロジーに固有のものです。たとえば、ブロックチェーン上におけるデータの保管・識別方法を巧みに悪用した手口などです。
WEB 3.0 に至った経緯
Web は世界最大で、最も価値のある情報源です。しかし当初の構築目的は完全に異なるものでした。1990 年代に初期の Web(Web 1.0)を利用していた方なら、覚えておられるでしょう。当時は Web サイトのアクセスカウンターや「工事中」イラストを至る所で見かけたものです。
そして 2000 年代初頭には「Web 2.0」に移行していました。Web 2.0 の特徴は「Web をプラットフォームとして使用する」ことです。つまり Web 2.0 では、PC 上にあるアプリケーションではなく、Web 上に構築されたアプリケーションを操作することになります。これにより、ソーシャルメディア、オークションサイトやブログといった、ユーザー主導のコンテンツ共有サイトが誕生したのです。Web 2.0 の原動力となった技術の進歩では結果として、Facebook、Google、Amazon などの大企業が集中型アプリケーションにより圧倒的な市場シェアを握ることになりました。Web 2.0 におけるビジネスモデルは非常によく知られています。まず多数のユーザーを獲得し、それらのユーザーから(またはユーザーに関する)情報を収集し、その情報をマーケティングや「その他」の目的で販売する、というものです。
もちろんテクノロジーは進化しており、私たちの個人的な利用方法も変化を続けています。そこで登場したのが Web 3.0 です。
ブロックチェーンを基盤とする Web 3.0
Web 3.0 への移行の原動力となった技術的進歩の一つが、暗号通貨を実現したブロックチェーン技術です。暗号通貨におけるブロックチェーンは、すべての取引履歴の分散型公開台帳として機能します。取引のハッシュ、または暗号通貨ウォレットのアドレスがあれば、誰でも以前に発生した取引を確認できるのが特徴です。
暗号通貨では、ウォレットのアドレスに加えて、「スマートコントラクト」に属するコントラクトアドレスも使われます。スマートコントラクトは、ブロックチェーン上に展開されたコンピュータープログラムです。デプロイされると初期状態を確立します。スマートコントラクトはその後、ユーザーの操作に応じてブロックチェーン上で契約を自動的に実行します。たとえば、Ethereum のブロックチェーンにはチューリング完全性のプログラミング言語が組み込まれています。現在のスマートコントラクトの大半は、この中に展開されています。
スマートコントラクトが Ethereum のブロックチェーンに展開されると、取引内でコンパイルされたコードとして送信されます。コンパイルされたコードは、参照して読み取り可能なソースコードに逆コンパイルすることができますが、多くの正規のスマートコントラクトでは親切にもソースコードが公開されています。
コードの作成では高確率でミスが混入します。これはプログラムのバグにつながります。巧妙な攻撃者はこれらのバグを悪用することで、貴重な情報を盗んだり、サイバー攻撃を仕掛けたりすることがあります。Web 3.0 スペースで発生した最大規模の被害の一部は、これらのバグが悪用されたことで起きていおます。
非代替性トークン(NFT)と永続性
スマートコントラクトを利用した非代替性トークン(NFT)は、言わば「独自アイテムの所有権を証明するトークン」です。 Decentraland や The Sandboxなどの多くのメタバースプロジェクトでは、NFT はメタバース内のアイテムまたは特定ユーザーに属するアイテムを表します。たとえばメタバースの参加者は、メタバースのアバターに使える衣類/アクセサリ、イベントチケット、ゲーム内アセットなどを NFT で所有します。メタバースの ID は通常、ユーザーが接続する暗号通貨ウォレットに紐付けられています。
代替性とは「価値を失うことなく、資産を同じタイプの別の資産と交換できること」を指します。たとえばドル紙幣は代替可能です。財布にあるドル紙幣ならば、どれでも価値を完全に保ったまま別のドル紙幣と交換できるからです。対照的に非代替資産は「一意であり、価値を失わず別の資産と交換することはできない」資産のことで、その一例が不動産です。代替不可能な資産の価値は、その細部と固有の特性に基づいて決まります。
NFT はブロックチェーンに記録されますが、ブロックチェーン自体が永久的な記録であるため、NFT にも永続性があると誤解しがちです。確かに、以前に記録されたブロックチェーン取引を変更することは不可能です。しかし残念ながら、NFT のアートワークは一般にブロックチェーン自体には保存されません。実際のコンテンツをブロックチェーンに保存するには、一般に莫大なコストがかかることがその理由です。そこで大半の NFT クリエーターは次善策として、NFT に関するメタデータをブロックチェーンに記録します。典型的な NFT のメタデータには、NFT の希少性/特性に関する情報や、プロジェクトのアートワークの参照先リンクなどが含まれます。
たとえば「Beeple」として知られるデジタルアーティストの Mike Winkelmann 氏は最近、Christie’s で自身の作品の NFT を 6,900 万ドルで販売しました。Etherscan でこの NFT のスマート コントラクト アドレスを検索し、特定の NFT トークン ID を挿入すると、NFT の InterPlanetary Filesystem リンクが得られます。
InterPlanetary File System(IPFS)は、データの保存と取得にピアツーピア(P2P)ネットワークを利用する分散型ファイルシステムプロトコルです。IPFS のファイルは、コンテンツのハッシュに基づいて参照されます。IPFS ネットワークのノードは、特定のコンテンツアドレスに対応するファイルを見つけ、それを持つ任意のノードから要求することができます。ただし、ガベージコレクションによって消去されるのを避けるには、ネットワーク内の少なくとも一つの IPFS ノードによって対象ファイルが意図的にホスト(別名「ピン留め」)されている必要があります。
その IPFS リンクにアクセスすると、以下のような NFT のコンテンツが表示されます。ただしここではグラフィックはなく、メタデータのみであることに注意してください。
上のメタデータには、NFT 画像を誰でも見つけられる URL が含まれています。NFT 画像の URL は次のとおりです。
https://ipfsgateway.makersplace.com/ipfs/QmXkxpwAHCtDXbbZHUwqtFucG1RMS6T87vi1CdvadfL7qA
この NFT の URL には、生の IPFS リンクが含まれておらず、代わりに標準の Web サーバーである「makersplace.com」を指しています。この Web サーバーに通信障害や運営会社の倒産などが起きると、6,900 万ドルの NFT のホスティングに悪影響を及ぼします。
今回のケースでは、IPFS コンテンツハッシュ QmXkxpwAHCtDXbbZHUwqtFucG1RMS6T87vi1CdvadfL7qA が NFT URL のパスに含まれています。このハッシュには、調査員を別の IPFS ゲートウェイに誘導する可能性があります(最終的には本来のコンテンツにたどり着ける場合もあります)。しかし ERC-721 NFT の仕様自体には、NFT メタデータで正確なリンクを提供するための、ハッシュなどに関する取り決めは何もありません。さらに、コントラクトを作成した開発者が NFT メタデータを後日更新できるように、多くの NFT スマートコントラクトが乱立しています。これには NFT のコンテンツにつながる URL も含まれます。たとえば、多くのユーザーが「ラクーン シークレット ソサエティ」プロジェクトから NFT をミントした後、プロジェクトの開発者は全員の NFT の URL を変更し、参照先を死骨の山の画像にしました。
実際の非代替性
実のところ、NFT に一般に考えられているほどの「非代替性」はありません。NFT が作成されると、消去不可能な形でブロックチェーンに配置されることは事実ですが、アートワークを取得して別のブロックチェーン上にミントしたり、完全に同一のブロックチェーン上で別のスマートコントラクトを介してミントしたりすることを妨げる水組みは皆無なのです。下の図は、Ethereum ブロックチェーンでミントされ、現在ほぼ 2 ETH の価値がある実際の「Lazy Lions」プロジェクトからの NFT です。
別の問題は、NFT の元となるコンテンツの著作権を誰が所有するのか、必ずしも明確ではない点です。NFT を購入しても、ブロックチェーン上で公開されたメタデータのごく一部を所有しているのか、それとも NFT コンテンツ自体に対する権利を所有しているのか判断できないのです。NFT プロジェクトにおける著作権の問題はすでに物議を醸しています。問題をさらに複雑化させているのが、ブロックチェーンに配置された NFT は「取り下げる」ことができず、NFT の作成者は大半が匿名の暗号通貨ウォレットアドレスを通じてのみ特定できる点です。
WEB 3.0 への移行に伴うセキュリティ上の懸念
最新技術である Web 3.0 は魅力的かつ刺激的であり、莫大な資金がこの分野に注がれています。その結果、Web 3.0 は、開発者やユーザーだけでなく、サイバー犯罪者の注目も集めています。Web 3.0 では、NFT や暗号通貨に関わる固有のリスク以外にも、いくつかの注目すべきセキュリティ問題があります。メタバースは発展途上であり、荒れ狂う海のような性質も併せ持っています。Web 3.0 をすでに使い始めている場合、今回ご紹介する発見内容は Web 3.0 を安全に利用するための注意情報としてご覧ください。
暗号通貨ウォレットで DNS に相当する ENS ドメイン
パブリック型のブロックチェーンは透明性が高いことが特徴ですが、その副作用の一つがウォレットアドレスの内容を検査できることです。Ethereum におけるウォレットアドレスは、0xce90a7949bb78892f159f428d0dc23a8e3584d75 のような 42 文字の文字列です。
ウォレットアドレスの内容は誰でも公的台帳で調べることができますが、そこからウォレットの所有者を簡単に割り出せることは稀です。つまり一種の「隠蔽によるセキュリティ(security through obscurity)」で、大部分のウォレットアドレスはある程度匿名に保たれているのです。しかしウォレットアドレスを覚えておくことは現実的に不可能です。そこで登場したのが Ethereum ネームサービス(ENS)です。
ドメイン名(例:cisco.com)とは、インターネット上におけるシスコの位置(IP アドレス)を見つけるために便利な省略形です。ENS ドメインもこれと同様で、関連付けられた暗号通貨ウォレットアドレスを探す際に便利な、覚えやすい省略形の名前です。
たとえば、ENS ドメイン名「yournamehere.eth」を登録し、それを特定のウォレットアドレスに割り当てることができます。ENS ドメイン対応アプリのユーザーは、普段からウォレットアドレスを入力する場所であればどこでも、ENS ドメイン名「yournamehere.eth」に置き換えることができます。その後に続いた出来事は、1990 年代後半に発生したドメイン名不法占拠と似ています。当時、貴重な .com および .net ドメイン名を転売目的で登録することが横行していました。同様に、ENS 名の転売により稼げると見越して .eth のドメイン名を登録する動きが出ています。ただし ENS ドメインは、いくつかの興味深い点でインターネットドメイン名とはまったく異なります。
cisco.com などのインターネットドメイン名は、中央の非営利組織 ICANN によって管理されています。「商標ベースのドメイン名紛争」には、同組織の統一ドメイン名の紛争解決ポリシーが適用されます。しかし ENS ドメイン空間には、そのような仕組みが存在しません。ENS ドメイン名が登録されるとブロックチェーンに配置されるため、削除することはできません。この問題は ENS ドメインの公式 FAQ でも言及されています。
cisco.eth、wellsfargo.eth、foxnews.eth などの ENS ドメインについても、これらの商標を所有する各社が実際の所有者でないことは驚くに値しません。意図は不明ですが、いずれのドメインも早期から第三者が登録して所有しています。ここでのリスクは明らかです。たとえば ENS ドメイン「mufj.eth」を所有する第三者が、疑いを持たないユーザーを騙して、実際の銀行と取引していると信じ込ませることさえ可能だからです。こうした行為を妨げる仕組みは皆無です。
ENS ドメインを取り巻く別の興味深い現象は、暗号通貨の取引や NFT の購入の際に、グループメンバーであることのサインとして ENS ドメインが使われることです。たとえば Twitter で検索すると、ENS ドメイン名を Twitter のユーザー名や略歴に誇らしげに表示する多くのユーザーが見つかります。これらの ENS 名はウォレットアドレスを指すため、それを基にすれば、関連付けられたウォレットの中身を誰でも検査できます。これは言わば、自分の資産を皆に公開しているようなものです。
選択した ENS 名によっては、ウォレットアドレスの所有者が匿名でなくなることもあります。多くのユーザーは自分の名前を ENS アドレスとして登録しているため、DebbieSmith.eth のような ENS 名も珍しくありません。
また、ENS ドメイン名を公表すると、ウォレットに残っている暗号通貨の額と NFT の保有コンテンツを公開していることにもなります。最大の利益を狙うサイバー犯罪者は、当然、残高が最も高いユーザーを狙います。ここでのリスクはサイバー犯罪に限定されません。ENS ドメインの所有者の素性が特定されている場合、物理的な脅迫や攻撃(ゴムホース暗号解読)によりウォレットの中身を奪われる危険性さえあります。暗号通貨の保有者を狙った物理攻撃はすでに発生しています。
手短に Twitter で検索しただけでも、Twitter 名または略歴のいずれかで .eth のドメイン名を宣伝しているアカウントが数百(約 750 件)も見つかりました。そこで、これらの ENS ドメイン名をリストアップし、ウォレットの中身を調べることで、どれだけの「クジラ」が簡単に見つかるか試してみました。その結果、.eth のドメイン名の 4% 弱で 100,000 ドル以上の Ethereum 残高を確認できたのです。同アドレスの約 9% には、30,000 ドル以上の残高が含まれていました。これらのユーザーの一部は、極めて高額な NFT コレクションさえも所有しています。
ENS 名を表示する、約 5 万人の Twitter ユーザーをデータベース化(リーダーボード)したケースもあります。約 500 ページから成るリスト全体の入手はできないようですが、いずれにせよ、リストをくまなく確認することはそれほど難しくありません。
では、ENS ドメインから所有者の身元を特定することはどれほど難しいのでしょうか?ENS ドメイン名を Twitter で公開しているユーザーの多くは、本名に加えて、Twitter の公開プロフィールに出身地や他の SNS アカウント(LinkedIn や Facebook など)へのリンクも含めています。アカウントからのツイートにより、参加予定のイベントなど、ユーザーの居住地の手掛かりが見つかることさえあります。多くのケースでは、ENS ドメインと Twitter アカウントを基にするだけで、身元や居住エリアを簡単に特定できたのです。
Web 3.0 で蔓延するソーシャル エンジニアリング攻撃
最新テクノロジーに飛びつく最大のリスクの一つは、ソーシャルエンジニアリングの脅威です。新技術では多くのユーザーが不慣れなため、決定を誤ることも往々にしてあります。Web 3.0 も例外ではありません。Web 3.0 ユーザーを狙ったセキュリティインシデントの大部分は、ソーシャル エンジニアリング攻撃に起因しています。
ウォレットの複製
「上手すぎる話は恐らく罠である」という格言がありますが、これに従うことで多くのソーシャルエンジニアリング攻撃を回避できます。たとえば、以下は私が実際に受け取ったダイレクトメッセージです。NFT プロジェクトの「Cool Cats」が 50 ETH 相当の Cool Cats を無償で提供している、という内容です。(偽の)Cool Cats Discord サーバーへのリンクさえ掲載されています。
この Discord コミュニティに参加すると #verify チャンネルが表示され、多くの身分確認済みユーザーがいるように見えます。しかし後述する !join コマンド以外は、何を入力してもチャットログから消去されます(「scam(詐欺)」という単語を入力すると、このグループから完全に締め出されます)。
ここで !join コマンドを入力すると、身分確認用の URL を含むダイレクトメッセージが攻撃者から届きます。彼らの最終的な狙いは、ユーザーを騙して「シードフレーズ」を放棄させることです。実際に多くのユーザーは、同じような手口によってかなりの金額を失っています。
暗号通貨ウォレットのセキュリティは、公開鍵と秘密鍵の暗号化にかかっています。暗号通貨ウォレットを紛失した場合や、破壊された場合でも、秘密鍵である 12 または 24 ワードの「シードフレーズ」を使えば、通常はウォレットとその中身全体を復元できます。しかしシードフレーズ(秘密鍵)を知っている人なら誰でも、暗号通貨ウォレットを複製して自分のウォレットとして使用できます。暗号通貨または NFT を盗み出そうとするサイバー犯罪者の多くがシードフレーズを標的にするのは、こうした背景があります。
シードフレーズは、決して誰にも教えないでください!
MetaMask のサポートを名乗る攻撃者
シードフレーズを被害者から切り離す別の手口は、カスタマーサポート エージェントに偽装することです。質問がある場合や、サポートが必要な場合は、Twitter に投稿するか、(偽の)Discord サーバーの「ヘルプ」チャネルを使うことができます。攻撃者はこれらのチャネルを監視しており、ユーザーに役立つアドバイスを提供してきます。実際、何らかのトラブルについてツイートし、そのツイートに「MetaMask」という単語を含めると、明らかに詐欺目的のサポートボットから返信が届きます。
このアドバイスに従い、リンク先の MetaMask サポートフォーム(下図)を開くと、12 ワードから成るメタマスクシードフレーズの入力が求められます。
逆手に取った新たな手口まで登場
ほとんどのユーザーは最終的に、シードフレーズを他人と共有する危険性に気付きます。しかし少数の巧妙なサイバー犯罪者は逆の手口を使います。悪意のあるユーザーを(逆手に取って)騙す目的で、暗号通貨ウォレットのシードフレーズを意図的に漏洩させる手口が確認されているのです。
手口の概念はかなりシンプルです。攻撃者はまず暗号通貨ウォレットを作成し、USDT(テザー)などの暗号通貨トークンをロードします。その後、攻撃者は 12 ワードの暗号通貨ウォレットシードフレーズをわざと漏洩させます。悪意のあるユーザーがこれらのシードフレーズを発見すると、それを基に攻撃者の暗号通貨ウォレットをクローンします。その過程で、数百ドル相当の暗号通貨トークンの残高がウォレットにあることを発見します。
Ethereum ベースの暗号通貨トークン(USDT など)の場合、Ethereum で「ガス代」を支払わずにウォレットアドレス間を移動させることはできません。この「ガス代」は、Ethereum ブロックチェーンでの取引の処理・検証コストをカバーするために、第三者に支払われるものです。攻撃者のウォレットに保存されている USDT を削除するには、まず少額の Ethereum をウォレットに転送して、必要な「ガス代」を支払う必要があります。しかし攻撃者は鋭い目を光らせています。ウォレットアドレスに関連するアクティビティについて、ブロックチェーンを常に監視しているのです。誰かが Ethereum をウォレットに転送すると、攻撃者はすぐにそれを察知します。そして USDT トークンが転送可能になる前に、「ガス代」を支払うための少額の Ethereum を別のウォレットに移動します。このような攻撃の例はこちらで解説されています。特筆すべきなのは、少額の Ethereum がアドレスに入ってきたわずか数秒後に、別のウォレットに転送されていることです。
「クジラ」のウォレットに誘導する詐欺手口
暗号通貨の世界では、暗号通貨や NFT を大量に保有する有名アカウントがあります。これらは総称として「クジラ」と呼ばれます。複数の見積もりによると、約 40,000 件の「クジラ」が金額ベースで NFT 全体の約 80% を所有しています。NFT 市場はこれらの「クジラ」アカウントが中心となって動かしているといっても過言ではありません。一部の小規模な投資家は、「クジラ」アカウントの暗号通貨ウォレットの活動を監視しています。「クジラ」が新しい NFT を購入またはミントすると、これらの投資家もそれに追従することで利益を得てきました。簡単に儲けられる戦略のように思えますが、リスクも伴います。
巧妙な詐欺犯は、多くの小規模な投資家が「クジラ」のウォレットを注視していることを逆手に取ります。ソーシャルエンジニアリングによりこれらの投資家を騙し、自分たちのプロジェクトに投資するよう仕向けるのです。彼らの手口は非常に単純です。「Bored Ape Mirror Club」などの NFT プロジェクトを立ち上げ、そこから NFT をミントするように一部のユーザーに呼びかけます。騙されたユーザーが新しい NFT を作成するたびに、スマートコントラクトがプロジェクトから複数の追加 NFT をミントし、それらの NFT を「クジラ」の口座に預け入れます。「クジラ」のウォレットを注視している投資家は、NFT がミントされるのに気付いて追従し、同じプロジェクトから NFT をミントします。
しかし Bored Ape Mirror Club のスマートコントラクト アドレスを調べると、スマートコントラクトのソースコードは公開されていないことがわかります。正規の NFT プロジェクトの大部分は、スマートコントラクトのソースコードを公開しています。これは投資家にとって危険信号です。そこで、バイトコードを逆コンパイルできるツールによりソースコードを復元すると、「クジラ」のウォレットアドレスを参照する値の配列が見つかります。
スマートコントラクトに関連するミント取引の一部に注目しましょう。コントラクトはまず、買い手が購入した NFT をミントしますが、さらにいくつかの NFT をミントし、それらを「クジラ」ウォレットに預けていることがわかります。以下の例では、買い手が 2 つの NFT をミントした後、スマートコントラクトがさらに 5 つの NFT をミントし、「Cozomo de’ Medici」 (別名 Snoop Dogg) に属するウォレットアドレス(0xce90a7949bb78892f159f428d0dc23a8e3584d75)にそれらを預け入れています。
悪意のあるスマートコントラクト
上記のような、正規のスマートコントラクトのバグを狙った手口の他に、独自のマルウェアを作成し、それを悪意のあるスマートコントラクトのコードに潜ませてブロックチェーンに展開する手口も確認されています。悪意のあるスマートコントラクトは、通常見受けられるスマートコントラクトの関数とパラメーターもすべて備えています。ただしそれらは予期しない方法で動作します。
NFT の出所を偽造する「Sleepminting」手口
ERC-721 NFT 仕様では、関数名と関数パラメーターは規定されていますが、関数自体の内容については何も記述がありません。実際、多くの NFT は同じスマートコントラクトを使用しています。基になっているスマートコントラクトのテンプレートは、特定の NFT プロジェクトのニーズに応じて若干変更されています。しかし攻撃者は独自の ERC-721 スマートコントラクトコードを自由に作成できます。それを阻止する仕組みが一切存在しないからです。
2021 年 4 月には、「Monsieur Personne」を名乗るハッカーが悪意のあるスマートコントラクトを作成し、それを利用してアーティスト「Beeple」による NFT を偽造するという事件も起きています。「Sleepminting」と呼ばれる手口では、ERC-721 NFT スマートコントラクトを作成します。このスマートコントラクトにより、攻撃者が NFT を他人のウォレットにミントし、ミントされた NFT をそこから転送できるため、疑いを持たない購入者に偽の NFT を販売可能になります。以下の画面は、「Beeple」に属するアカウントから転送された NFT トークンの取引です。
攻撃者は、取引を Ethereum ネットワークに送信するための暗号化アドレス(上記の「From」アドレス、0x87f6ca7862fea6411de6c0afc1b4b23dd802bf00)を制御することはできませんが、悪意のあるスマートコントラクトを介して作成された NFT に関するデータの内容は制御できます。この例では、「Tokens Transferred」セクションで、攻撃者は「Tokens Transferred From」および「To」の各アドレスを自分で設定しています。攻撃者はこのようにして、Ethereum ブロックチェーン上で NFT の出所を偽造するのです。疑いを持たない購入者はブロックチェーンを調べるだけで、問題の NFT が本当にアーティスト「Beeple」によって作成されたものだと信じ込む可能性があります。ブロックチェーンのデータを見る限り、一見本物に思えるからです。
詐欺手口:ウォレットへのアクセスを許可するようユーザーを騙す
一部のケースでは、暗号通貨ウォレット内のトークンに関連する取引を実行するために、サードパーティにアクセスを許可する必要があります。たとえば暗号通貨スワップ(例:Uniswap)や NFT マーケットプレイス(例:OpenSea)などのアプリケーションでは、暗号通貨ウォレットの中身にアクセス/変更する許可をユーザーに要求します。サードパーティにアクセスを許可すると、毎回追加の「ガス代」を支払うことなく、トークンを交換したり、販売する NFT をリストしたりできます。
しかし抜け目ない攻撃者は、この仕組みに欠陥があることに気付きました。被害者を騙して、暗号通貨ウォレットの中身に対するサードパーティアクセスを攻撃者が入手できれば、ウォレットの中身を盗み出せるのです。
たとえば 2022 年 1 月 31 日には、@iloveponzi というハンドル名の Twitter ユーザーが、非常に貴重な NFT をいくつか失ったと投稿しました。
Larry の Twitter で公開されている ENS ドメイン名を検索すると、ウォレットアドレス0x6d0267156f1c6ce44caa4bf129b76009d3d41830 が見つかりました。このウォレットアドレスに関連付けられた取引を確認すると、多くの「SetApprovalForAll」取引と、いくつかの転送が表示されます。
SetApproval 取引とほぼ同時に発生した転送を詳しく調べると、Larry が NFT を失った経緯について垣間見えてきます。事件の引き金になったのは、NFT Discord サーバーの「Moshi Mochi」が最近ハッキングされ、1,000 個の追加の Mochi NFT をミントできるリンクを攻撃者が投稿したことです。Larry は自分のウォレットを攻撃者の Web サイトに接続し、さらにいくつかの Mochi NFT をミントしようとしたようですが、代わりに、悪意のあるスマートコントラクトに騙されたことで、自分の NFT を自分のウォレットから移動できる許可を誤って攻撃者に与えていたのです。
ここでの教訓は、シードフレーズ以外にも、犯罪者が暗号ウォレットの中身を盗める手口があるという点です。保留中の暗号通貨取引を確認するときは、必ず注意してください。また、第三者にウォレット/トークンへのアクセスを許可する取引では、承認する前に特に警戒する必要があります。
WEB 3.0 を安全に使用するためのヒント
Web 3.0 は、まだ機能面でメタバースを完成できるほど進化してはいません。しかし、Web 3.0 関連の技術発展はすでに多くあります。Web 3.0 を利用する際は、次の注意事項を常に念頭に置いておきましょう。
- セキュリティの基礎をよく守る:安全で強力なパスワードを設定し、可能な限り Cisco Duo などの多要素認証(MFA)を使用します。また、パスワードマネージャーを使用し、ネットワークをセグメント化し、ネットワークアクティビティをログに記録して確認することも必要です。さらに、インターネット、ENS ドメイン、暗号通貨ウォレットのアドレスをよく調べ、巧妙に誤字が隠されていないか確認します。SNS や電子メールを介して突然受け取ったリンクは決してクリックしないでください。
- シードフレーズを保護する:シードフレーズ(QR コードの形式で提供される場合もある)を誰にも決して教えないでください。メタバースコンテンツの識別と個人化では暗号通貨ウォレットの使用がますます拡大しているため、シードフレーズを紛失すると、ID と個人的なデジタル所有物全体を管理できなくなります。
- ハードウェアウォレットの使用を検討する:最も堅牢なセキュリティシステムを構築するヒントは、セキュリティレイヤーを幾層にも重ねることです。ハードウェアウォレットの使用は、保有する暗号通貨/NFT にセキュリティレイヤーを追加することになります。デバイスを接続し、PIN を入力し、ウォレットアドレスに関連する取引を承認/拒否する必要があるからです。
- 購入する前に、よく調査する:NFT の購入/ミントを考えている場合、スマートコントラクトのアドレスを調べて、ソースコードが公開されているかどうかを確認します。ソースコードが未公開の場合、危険信号です。また、プロジェクトの開発者に関する情報を調べます。匿名の開発者は、短期間でサポートを中止する可能性が否めないからです。さらに、適切なブロックチェーンの上で、正しいプロジェクトから購入していることを確認してください。暗号通貨ウォレットを接続して NFT を購入・作成する場合は、ウォレットアドレスを新しく生成し、購入費用を賄うのに最低限の資金をそこに保管することもできます。これなら、サイバー犯罪などの被害に遭っても、メインの暗号通貨ウォレットの中身全体を失うことはありません。
メタバースセキュリティに関する追加情報については、ブログ著者による Cisco Newsroom Q&A をご覧ください。
本稿は 2022 年 03 月 22 日に Talos Group のブログに投稿された「On the Radar: Securing Web 3.0, the Metaverse and beyond」の抄訳です。