見出し画像

ENSのセキュリティ問題

はじめに

この記事では、Ethereum 上に構築された名前解決サービス、Ethereum Name Service(ENS)におけるセキュリティ問題や不正行為を体系的にまとめている論文をもとに、ENS のセキュリティ問題についてまとめています。

確認されたセキュリティ問題のキーワードとして

  • ドメイン不法占拠

  • 不正行為のある Web サイト

  • 詐欺アドレス

  • レコード持続性

があります。それでは、順番に紹介します。

ドメイン不法占拠

ドメンス不法占拠とは、有名なランドマークと同一または紛らわしい名前のドメイン名を登録する行為で、通常、悪意を持って利用されます。ドメイン不法占拠の問題は、従来の DNS で広く研究されています。この一般的な悪意ある行為が ENS で流行しているかどうかを理解するために、登録された ENS のドメイン名を 3 つの観点から分析します。まず、ほとんどの TLD で有名なブランド名がブランド所有者によって登録されている DNS のドメイン占拠とは異なり、ENS が導入した .eth TLD は新しいネームスペースです。.eth 名を登録しているブランドはほとんどないため、明示的なドメイン占拠の余地を残しています、また、DNS に関する先行研究で観察されているように、攻撃者は、よく知られたドメイン名に類似した名前を登録するために、ドメイン名のタイポスクワッティング手法を使用する傾向があります。

同じ手法が ENS 名を登録するために悪用される可能性があります。最後に、ENS が新しい .eth TLD を導入したため、スクワッターは Alexa リストの上位ドメイン名以外に、より多くの ENS 名を登録する可能性が高くなりました。

有名ブランドの明示的な占拠

Alexa トップ 100K 名前リストを利用して、ENS の各レベルの名前を照合しています。つまり、Alexa のリストにある各 2LD のラベルハッシュ(名前の keccak256 ハッシュ)を計算し、ENS 名の各ラベルハッシュとマッチングさせています。Alexa のトップ 10 万件のうち、ENS のネイティブ 2LD と一致するものは 18,233 件、つまり、18,233 件の ENS .eth 名(うち 31 件はショートネーム請求期間での請求)が、Alexa リストの名前と同じ名前を持っていることがわかりました。ただし、実際の所有者によって登録された名前である可能性があるため、一致する ENS 名がすべて不法占拠の名前であるとは限りません。ここで、1 つの Ethereum アドレスが、DNS ドメイン名において異なる所有者に属する複数の既知の ENS 名(例えば、google.eth と facebook.eth)を所有している場合、これらの既知のブランドの .eth 名は、明示的に不法占拠された名前と見なします。例えば、0x782cf6b6e735496f7e608489b0c57ee27f407e7d というアドレスには google.eth、mcdonalds.eth、redbull.eth などの登録があり、これらのブランドは同じオーナーに属しているわけではありません。したがって、このアドレスは明示的な ENS 名不法占拠に関与していると考えられます。

このようにして、1,532 のイーサリアムアドレスが管理する 15,179 の ENS .eth スクワッティングネームが発見されました。有名ブランドが不法占拠のために多く登録されていることがわかりました。これらの明示的な不法占拠の ENS .eth 名のうち、42.7% 以上が現在アクティブであり、一部の攻撃者はこれらの明示的な不法占拠名を長期間保持する傾向があることが示唆されました。

タイポスクワッティングENS名

タイポスクワッティングされた ENS 名を検出するために、Alexa のトップ 10 万件の名前のタイポスクワッティング変種を生成するツールとして広く利用されている dnstwist を活用しました。

ドメイン google.com を例にとると、dnstwist はこのドメインに、

  • 加算(例:googlea.com)

  • ビットスクワッティング (例:ggogle.com)

  • ホモグリフ(例:goglë.com)

  • ハイフネーション(例:, g-oogle.com )

  • 挿入(例:g0oogle.com)

  • 省略(例:goge.com)

  • 繰り返し(例:goggle.com)

  • 置換(例:gogl4.com)

  • 転置(例:goolge.com)

  • 母音置換(例:geogle.com)

  • 各種(例:googlecom.com)

などがあります。Alexa トップ 100K に含まれる全てのドメインを dnstwist に与え、755,908,096 の変種を得ることができます。同様に、その 2LD のラベルハッシュを計算し、これらの不法占拠名がすでに ENS に登録されているかどうかをチェックします。

その結果、13,450 の Alexa ドメイン名をターゲットとした 18,483 の ENS タイポスクワッティング .eth 名を特定し、その例を付録の表に示しています。下の図(左)は、変種タイプの分布を示しています。およそ 5K の ビットスクワッティングの変種と 1,270 のホモグリフドメインがありました。タイポスクワッティングの ENS .eth 名の 52% 以上が、調査の時点までにアクティブになっています。

不法占拠名前分析

合計で 33,662 件の不法占拠 ENS .eth の名前を過去のヒューリスティックに基づいて収集しています。次に、これらの不法占拠ドメイン名のレコードと所有者を調査し、「guilt-by-association(関連付けの誤謬)」展開法に基づき、より疑わしい名前を特定することを目指します。

不法占拠されたドメイン名のレコード

不法占拠された ENS .eth 名は 4,474 件(有効なものは 3,775 件)しかレコードが設定されておらず、そのほとんど(85%)はブロックチェーンアドレスのレコードのみが設定されています。イーサリアムアドレス以外のレコードは、Opensea のリンクや IPFS のサイトがセール情報を掲載しているなど、セールに関するものがほとんどです。これらの特定された名前の不法占拠性を示しています。

アドレス間の関係

特定された ENS .eth の不法占拠名について、名前-所有者間および所有者-所有者間の関係をさらに調査しています。全体として、これらの 33,662 の名前は、6,548 のアドレスによって所有されたことがあります。下図は、名前と所有者の関係を、所有期間の長さに応じて示しています(ENS ドメイン名は所有者を変更できることに注意してください)。興味深いのは、いくつかの名前が複数のアドレスによって所有されていることです。さらに調べると、いくつかのアドレスは、名前を譲渡したこともあることがわかりました。たとえば、0xbd21109e2bdcb24c4fbcdc16a4c90f34e81228e2 というアドレスは、図中の 3 つのアドレスから ENS .eth 名を受け取りました。また、いくつかのアドレスが大量の ENS .eth 名を保持していることがわかりました。上図(右)に示すように、10% 以上のアドレスが 10 個以上の不法占拠 ENS .eth 名を保持しており、これらの名前は不法占拠 ENS 名全体の 70% を占めています。

「関連付けの誤謬」の拡大

この論文の著者らのヒューリスティックは、不法占拠ドメイン名を登録する不法占拠者については、これまでの探索で最も人気のある Alexa ドメインしか考慮していないので、特定したよりも多くの不法占拠ドメイン名を保有している可能性が十分にあるということです。著者らはこれを「関連付けの誤謬」の原理と呼んでおり、これまでの研究で悪意のあるドメインやマルウェアを特定するために使われてきました。そこで、特定された不法占拠者が保有するすべての ENS 名を分析します。

合計で 279,193 件の疑わしい不法占拠 .eth 名が見つかり、これらも不法占拠名である疑いが高いと判断されました。上図(Fig12)は、これらのアドレスの分布を示しています。不法占拠者の 40% 以上が 10 個以上の ENS .eth 名を保有したことがあり、これは疑わしい名前全体の 96% 以上を占めます。不法占拠名が多い上位 10 名の保有者を以下の表に示します。これらが所有する ENS 名の多くは、中国語のピンイン(例:jianshu.eth)や数字(例:8062222.eth)を含んでいます。トップのアドレス 0xbd21109e2bdcb24c4fbcdc16a4c90f34e81228e2 は、これまでに 1,276 件の ENS 不法占拠名を取得し、合計で 40K 件以上の名前を保有していることがわかります。これらの上位 10 アドレスは、これまで全名前の約 17% を占めており、無視できる数ではありません。これらのことから、不法占拠者は、Alexa リストの上位にランクインしない場合でも、他の ENS 名をより多く登録する可能性があることがわかります。

不法占拠名の進化

下図に示すように、これら疑わしい ENS の不法占拠名の変遷も調査しています。最初の不法占拠名(例えば、zhifubao.eth、Alipayのピンイン)は、最初のオークション開始とほぼ同時の 2017 年 5 月 9 日頃に登録されています。さらに、全体の不法占拠の傾向は、一般名称の傾向を踏襲しており、ENS の各期間において一定の不法占拠行動があったことがある程度示唆されています。しかし、ENS チームが永久レジストラを立ち上げた後、ほとんどの期限切れの名前はこれらの不法占拠者によって手放されましたが、67,614 件の疑わしい ENS 不法占拠名(調査時点で有効な ENS .eth 名の 75%)がまだ保持されています。例えば、2018 年 11 月に大規模な不法占拠行為が起こったとき、0xbd21109e2bdcb24c4fbcdc16a4c90f34e81228e2 というアドレスは 40K 以上の名前を登録しましたが、調査時間までに彼は 1 つの名前のみしか所有していません。

不正行為のある Web サイト

ENS は、URL 情報を「TextRecord(テキストレコード)」や「DNSRecord(DNS レコード)」に、分散型 Web 識別子やオニオンサイトハッシュを「ContentHash」に格納する機能を提供しているため、悪意のある事業者がこれらの機能を利用して悪質・不正な Web コンテンツを配信する可能性があります。そこで、ENS に格納されたことのあるウェブサイトの対象に分析を試みました。

まず、70 以上のアンチウイルスエンジンを提供する有名なアンチウイルスサービスである VirusTotal に全 URL をアップロードし、悪意のある Web サイトをスキャンしています。先行研究に従い、ある URL が 2 つ以上のアンチウイルスエンジンによって報告された場合、その URL は悪意ある URL と してマークされます。次に、Eyewitness を使って、これらすべてのウェブサイトのスクリーンショットとソースコードを取得し、Google Cloud Natural Language API と Vision API にアップロードして、検閲対象(成人や賭博など)コンテンツが含まれているかどうかをチェックします。そのほか、名前やコンテンツに「カジノ」や「ジェネレーター」などのキーワードが含まれる URL は、怪しい URL としてマークしています。疑わしい URL はすべて手動で検査し、誤検出を減らしています。

合計で 19 件(第 2 レベルの ENS 名 17 件)の悪質な dWeb URL を取得しました。発見された悪意のある Web サイトは、ギャンブル(7)、アダルト(5)、詐欺行為(7)に関与していました。なお、dWeb はオンライン上にデータを永続的に保存しない場合があるため、分析期間中に到達できないコンテンツがあります。したがって、実際の悪質な dWebs の数は、今回確認した数よりも多いはずです。分散型であるがゆえに、これらの悪意のあるdWebは、長期間にわたってオンライン上に存在し、ユーザに一定の損失を与える能力を有しています。テキストレコード内の従来型 URL については、ENS 上で悪意のある従来型 DNS ウェブサイトは見つかっておらず、ENS を通じて DNS ドメインにアクセスする便利な方法も今のところありませんが、将来的にこの機能が悪用される危険性はあります。

詐欺アドレス

ENS は主にブロックチェーンのアドレスレコードを保存するために使用されています。したがって、さらに悪意のある目的で使用されるアドレスがあるかどうかを分析します。

詐欺ブロックチェーンアドレスの利用可能な包括的データセットがないことを考慮し、様々なソースから詐欺アドレスリストを作成します。Etherscan と Bloxy は、「フィッシング」または「ハッキング」されたイーサリアムアドレスのリストをラベリングしています。BitcoinAbuse と CryptoScamDB は、悪意のあるブロックチェーンアドレスを追跡するためのホスティングサイトです。上記のすべてのアドレスをクロールし、合計で 58K 以上の詐欺アドレスを取得します。そして、ENS に保存されているアドレスと詐欺アドレスのリストを照合します。

下図(Table 6)に示すように、ENS に登録されている詐欺アドレスは 3 件であることがわかりました。手作業による検査では、2 番目のアドレスは詐欺のアドレスではない可能性がありますが、その ENS 名はネズミ講のようなウェブサイトにリンクされていました。このような事例は少ないものの、悪意のある行為者は、ENS を悪意のある活動に悪用する方法を見つけ出しています。

レコード持続性

攻撃シナリオ

ENS 名が期限切れになったとき、その名前とそのサブドメイン名のレコードは保持され、一部の ENS サポートウォレットはそれらをブロックチェーンアドレスや他のレコードに名前解決できることが分かっています。これにより、以前のユーザがこれらの期限切れの ENS 名をまだ使用している場合、詐欺に遭う可能性があります。想定される攻撃の一例を上図(左)に示します。レコードを持っている期限切れの名前を攻撃者が再登録し、名前のレコードをあらかじめ自分のアドレスに変更しておくと、この変更に気づかず受取人アドレスを確認しない人が、最終的に攻撃者に送金してしまいます。

脆弱 ENS 名

このような攻撃に対して脆弱な ENS 名、つまり、レコード期限切れの ENS 名がどのくらいあるのかを探ります。履歴レコードに頼った結果、16,017 の期限切れ .eth 名が、その中またはそのサブドメイン(3,116 のサブドメイン)にレコードを持っています。これらの名前には、ブロックチェーンアドレスだけでなく、悪用されるとユーザーをフィッシング/悪意のあるウェブサイトに誘導する可能性のある dWeb ハッシュも含まれています。特に、ENS 名 thisisme.eth は 706 のサブドメイン名を持ち、その全てにイーサリアムのアドレスレコードがあります。これらは enslisting.com に無料登録で掲載されており、この名前のサブドメイン名のレコードが簡単に変更されないようにスマートコントラクトに移行されました。また、ENSListing チームは、毎年の更新費用を負担すると主張していた。しかし、この名前は 2020 年 5 月 4 日に有効期限が切れていたため、保護のために著者らが再登録しました。なお、この名前のサブドメイン名を使っている人がまだいるようです。上図(右)はその例で、thisisme.eth の名前でエアドロップの活動に参加していた人がいました。このように、攻撃者は脆弱な ENS 名を特定し、再登録することで利益を得ることが可能です。ENS チームでは、2020 年 6 月に更新を促すメール通知機能を新たに提案していますが、ENS 名のセキュリティ上の懸念は依然として深刻です。

結論

ENS の動作メカニズムは進化の過程で大きく改善されましたが、攻撃者がシステムを悪用する余地はまだ残っています。私たちは、従来の DNS のセキュリティ問題や ENS のスマートコントラクトによってもたらされた新しい問題など、いくつかのセキュリティ問題や不正行為を確認しています。少数の不法占拠者が有名ブランド名とその亜種を大量に保有していることが判明し、悪用される可能性があります。いくつかの悪意のある分散型ウェブサイトや詐欺のアドレスが ENS の名前のレコードで発見されています。さらに、潜在的な攻撃を引き起こす可能性のあるレコードの永続性の問題が発見され、ユーザーに経済的損失をもたらす可能性があります。

まとめ

レコード持続性についての調査結果は驚きですね。「期限切れ」という仕組みはあるものの、レコードが自動的に無効になり名前解決ができないような仕組みがなければ、この危険性は残ったままでしょう。

いやー・・・これ、ENS 流行っちゃダメでしょ。笑

危なすぎ。

この記事が気に入ったらサポートをしてみませんか?